diff --git a/client/src/stubs.c b/client/src/stubs.c index a289a97..9b38075 100644 --- a/client/src/stubs.c +++ b/client/src/stubs.c @@ -151,6 +151,21 @@ int _Stub_close(int fd) { return 0; } +/**************************************************************************** +* Name: _Stub_lseek +* +* Description: +* Change position in a file +* +* Returns the new position in the file in bytes from the beginning of the +* file, or -1 on failure. +* +****************************************************************************/ + +long _Stub_lseek(int fd, long offset, int whence) { + return 0; +} + /**************************************************************************** * Name: _Stub_read * diff --git a/samples/imageview/Makefile b/samples/imageview/Makefile new file mode 100644 index 0000000..9b9962c --- /dev/null +++ b/samples/imageview/Makefile @@ -0,0 +1,68 @@ +# VPATH=.:../../module/Calypsi-remote-debug/src +DEBUGGER=../module/Calypsi-remote-debug/src + +UNIT := F256K +MEMORY := RAM + +# Define OS-dependent variables + +ifeq ($(OS),Windows_NT) + RM = del /F/Q +else + RM = rm -f +endif + +# Define model-specific variables, including tools, source files, compiler flags, etc. + +ifeq ($(UNIT),F256K) + CPU=w65816 + C_SRCS_DEBUGGER=$(DEBUGGER)/agent.c $(DEBUGGER)/c256-uart.c $(DEBUGGER)/low_level_WDC65816.s + SRCS_FOR_UNIT= + CFLAGS_FOR_UNIT=-DMODEL=17 -DCPU=255 --code-model large --data-model large + + ifeq ($(MEMORY),ROM) + LDFLAGS_FOR_UNIT=clib-lc-ld.a --rtattr printf=medium --target=f256 # C256/f256-flash.scm + else + LDFLAGS_FOR_UNIT=f256-plain.scm clib-lc-ld.a --rtattr printf=medium --target=f256 + endif +endif + +ifeq ($(CPU),w65816) + CC=cc65816 + AS=as65816 + LD=ln65816 + AR=nlib +endif + +INCLUDES=-I. -I./include +CFLAGS=$(INCLUDES) $(CFLAGS_FOR_UNIT) -l # -l -D_CALYPSI_MCP_DEBUGGER +ASFLAGS=$(INCLUDES) --data-model large --code-model large + +ifeq ($(MEMORY),ROM) + LDFLAGS=--rom-code $(LDFLAGS_FOR_UNIT) --list-file toolbox.map +else + LDFLAGS=$(LDFLAGS_FOR_UNIT) --list-file toolbox.map +endif + +SRCS = imageview.c header.s $(SRCS_FOR_UNIT) # $(C_SRCS_DEBUGGER) ram-startup.s +OBJS = $(patsubst %.s,%.o,$(patsubst %.c,%.o,$(SRCS))) +OBJS4RM = $(subst /,\\,$(OBJS)) +LIBS = ../../client/src/toolbox.a + +.PHONY: clean + +imageview.s37: $(OBJS) $(LIBS) + $(LD) $(LDFLAGS) --output-format s37 -o $@ $^ + +# Build the object files from C +%.o: %.c + $(CC) $(CFLAGS) -o $@ $^ + +# Build the object files from assembly +%.o: %.s + $(AS) $(ASFLAGS) -o $@ $^ + +# Clean up after a build +clean: + $(RM) $(OBJS4RM) *.s37 *.o *.a *.lst + diff --git a/samples/imageview/README.md b/samples/imageview/README.md new file mode 100644 index 0000000..25e6f21 --- /dev/null +++ b/samples/imageview/README.md @@ -0,0 +1,3 @@ +# Sample: ImageView + +This example demonstrates connecting to the Toolbox to read the directory on the SD card, look for BMP files, and display them on the bitmap. It compiles under the Calypsi C compiler for 65816 and uses some of its F256 support. diff --git a/samples/imageview/f256-plain.scm b/samples/imageview/f256-plain.scm new file mode 100644 index 0000000..18da992 --- /dev/null +++ b/samples/imageview/f256-plain.scm @@ -0,0 +1,19 @@ +(define memories + '( + (memory LoMem + (address (#xa000 . #xcfff)) + (type ANY)) + (memory Vector (address (#xffe4 . #xffff))) + (memory Banks + (address (#x10000 . #x7ffff)) + (type ANY) + (section (header #x10000))) + (memory DirectPage + (address (#x000100 . #x0001ff)) + (section (registers ztiny))) + + (block stack (size #x1000)) + (block heap (size #x1000)) + (base-address _DirectPageStart DirectPage 0) + (base-address _NearBaseAddress LoMem 0) + )) diff --git a/samples/imageview/header.s b/samples/imageview/header.s new file mode 100644 index 0000000..49487d8 --- /dev/null +++ b/samples/imageview/header.s @@ -0,0 +1,10 @@ + .extern __program_start + + .section header + +signature: .byte 0xf8, 0x16 +version: .byte 0 +start: .long __program_start +icon: .long 0 +clut: .long 0 +name: .asciz "imageview" diff --git a/samples/imageview/imageview.c b/samples/imageview/imageview.c new file mode 100644 index 0000000..b06932e --- /dev/null +++ b/samples/imageview/imageview.c @@ -0,0 +1,49 @@ +#include "../../client/src/include/toolbox.h" + +#include +#include +#include +#include + +t_file_info file_info; + +void myprint(const char * text) { + int length = strlen(text); + sys_chan_write(0, (const uint8_t *)text, length); +} + +int main(int c, char * argv[]) { + char line[80]; + + myprint("BMP ImageViewer for the Foenix F256\n"); + + short dir = sys_fsys_opendir("/sd0"); + if (dir >= 0) { + bool keep_looping = true; + while (keep_looping) { + short result = sys_fsys_readdir(dir, &file_info); + if (result == 0) { + if (file_info.name[0] != 0) { + sprintf(line, "%s\n", file_info.name); + myprint(line); + + } else { + keep_looping = false; + } + + } else { + sprintf(line, "Could not read directory: %d\n", dir); + myprint(line); + keep_looping = false; + } + } + sys_fsys_closedir(dir); + + + } else { + sprintf(line, "Could not open directory: %d\n", dir); + myprint(line); + } + + while (1) ; +} \ No newline at end of file diff --git a/samples/imageview/macros.h b/samples/imageview/macros.h new file mode 100644 index 0000000..5f1cd4f --- /dev/null +++ b/samples/imageview/macros.h @@ -0,0 +1,86 @@ +#ifndef __MACROS_H +#define __MACROS_H + +#ifdef __CALYPSI_ASSEMBLER__ + +#ifdef __CALYPSI_CODE_MODEL_SMALL__ + +#define libcode code + +call .macro dest + jsr \dest + .endm + +return .macro + rts + .endm + +jump .macro dest + jmp \dest + .endm + +#elif defined(__CALYPSI_CODE_MODEL_COMPACT__) + +#define libcode compactcode + +call .macro dest + jsr .kbank \dest + .endm + +return .macro + rts + .endm + +jump .macro dest + jmp .kbank \dest + .endm + +#else + +#define libcode farcode + +call .macro dest + jsl \dest + .endm + +return .macro + rtl + .endm + +jump .macro dest + jmp long:\dest + .endm + +#endif // __CALYPSI_CODE_MODEL_SMALL__ + +// ---------------------------------------------------------------------- +// +// Define code and data model used. This is to add a bit of safety in +// case the way a file is assembled is combined with the wrong run-time. +// +// ---------------------------------------------------------------------- + +#if defined(__CALYPSI_DATA_MODEL_SMALL__) + .rtmodel dataModel,"small" +#elif defined (__CALYPSI_DATA_MODEL_MEDIUM__) + .rtmodel dataModel,"medium" +#elif defined(__CALYPSI_DATA_MODEL_LARGE__) + .rtmodel dataModel,"large" +#elif defined(__CALYPSI_DATA_MODEL_HUGE__) + .rtmodel dataModel,"huge" +#else +#pragma GCC error "unexpected data model" +#endif + +#if defined(__CALYPSI_CODE_MODEL_SMALL__) + .rtmodel codeModel,"small" +#elif defined(__CALYPSI_CODE_MODEL_COMPACT__) + .rtmodel codeModel,"compact" +#elif defined(__CALYPSI_CODE_MODEL_LARGE__) + .rtmodel codeModel,"large" +#else +#pragma GCC error "unexpected code model" +#endif + +#endif // __CALYPSI_ASSEMBLER__ +#endif // __MACROS_H diff --git a/src/boot.c b/src/boot.c index 26c2389..5e38c69 100644 --- a/src/boot.c +++ b/src/boot.c @@ -310,6 +310,22 @@ void boot_from(enum boot_src_e device, boot_record_p boot_record) { } break; + case BOOT_SRC_SD1: + if (fsys_stat("/sd1/fnxboot.pgz", &file_info) >= 0) { + printf("Booting: /sd1/fnxboot.pgz\n"); + boot_reset_screen(); + proc_run("/sd0/fnxboot.pgz", 0, boot_args); + + } else if (fsys_stat("/sd1/fnxboot.pgx", &file_info) >= 0) { + printf("Booting: /sd1/fnxboot.pgx\n"); + boot_reset_screen(); + result = proc_run("/sd1/fnxboot.pgx", 0, boot_args); + if (result != 0) { + printf("proc_run error: %d\n", result); + } + } + break; + case BOOT_SRC_CARTRIDGE: case BOOT_SRC_ROM: case BOOT_SRC_RAM: @@ -399,6 +415,7 @@ void boot_screen() { } boot_chain[i++] = BOOT_SRC_CARTRIDGE; boot_chain[i++] = BOOT_SRC_SD0; + boot_chain[i++] = BOOT_SRC_SD1; boot_chain[i++] = BOOT_SRC_ROM; boot_src_cnt += 3; diff --git a/src/dev/sdc_f256.c b/src/dev/sdc_f256.c index 75e2bd6..31f6765 100644 --- a/src/dev/sdc_f256.c +++ b/src/dev/sdc_f256.c @@ -47,6 +47,7 @@ #define CMD58 (58) /* READ_OCR */ static t_sd_card_info sd0_card_info; +static t_sd_card_info sd1_card_info; /** * @brief Transmit Busy Flag Check @@ -552,10 +553,14 @@ short sdc_install() { // int_register(INT_SDC_INS, sdc_handler); // int_enable(INT_SDC_INS); - sd0_card_info.reg = SD1_REG; + sd0_card_info.reg = SD0_REG; sd0_card_info.status = 0; sd0_card_info.type = 0; + sd1_card_info.reg = SD1_REG; + sd1_card_info.status = 0; + sd1_card_info.type = 0; + dev.number = BDEV_SD0; dev.name = "SD0"; dev.data = &sd0_card_info; @@ -566,5 +571,14 @@ short sdc_install() { dev.status = sdc_status; dev.ioctrl = sdc_ioctrl; - return bdev_register(&dev); + short result = bdev_register(&dev); + if (result == 0) { + dev.number = BDEV_SD1; + dev.name = "SD1"; + dev.data = &sd1_card_info; + + result = bdev_register(&dev); + } + + return result; } diff --git a/src/fatfs/ffconf.h b/src/fatfs/ffconf.h index 0df44dc..e0feaf8 100644 --- a/src/fatfs/ffconf.h +++ b/src/fatfs/ffconf.h @@ -166,7 +166,7 @@ / Drive/Volume Configurations /---------------------------------------------------------------------------*/ -#define FF_VOLUMES 1 +#define FF_VOLUMES 2 /* Number of volumes (logical drives) to be used. (1-10) */ diff --git a/src/include/F256/sdc_spi.h b/src/include/F256/sdc_spi.h index e214d26..f6e3e5f 100644 --- a/src/include/F256/sdc_spi.h +++ b/src/include/F256/sdc_spi.h @@ -20,10 +20,10 @@ typedef struct s_sdc_spi { #define SDx_SLOW 0x02 // 1 = Slow 400Khz, 0 = 25Mhz #define SDx_BUSY 0x80 // 1 = Busy -#define SD0_REG ((volatile __attribute__((far)) p_sdc_spi)0xf016a0) -#define SD1_REG ((volatile __attribute__((far)) p_sdc_spi)0xf01d80) +#define SD0_REG ((volatile __attribute__((far)) p_sdc_spi)0xf01d00) +#define SD1_REG ((volatile __attribute__((far)) p_sdc_spi)0xf01d20) -#define SD0_STAT (*(volatile __far uint8_t *)0xf016a0) +#define SD0_STAT (*(volatile __far uint8_t *)0xf01d00) #define SD0_STAT_CD 0x40 // When 1 = No Card, 0 = Card is Present #define SD0_STAT_WP 0x80 // When 0 = Writeable, 1 = Card is Protected diff --git a/src/toolbox-20.bin b/src/toolbox-20.bin new file mode 100644 index 0000000..631f42b Binary files /dev/null and b/src/toolbox-20.bin differ diff --git a/src/toolbox-21.bin b/src/toolbox-21.bin new file mode 100644 index 0000000..7b19057 Binary files /dev/null and b/src/toolbox-21.bin differ diff --git a/src/toolbox-22.bin b/src/toolbox-22.bin new file mode 100644 index 0000000..12a67fd Binary files /dev/null and b/src/toolbox-22.bin differ diff --git a/src/toolbox-23.bin b/src/toolbox-23.bin new file mode 100644 index 0000000..c173390 Binary files /dev/null and b/src/toolbox-23.bin differ diff --git a/src/toolbox-24.bin b/src/toolbox-24.bin new file mode 100644 index 0000000..b2be0b4 Binary files /dev/null and b/src/toolbox-24.bin differ diff --git a/src/toolbox-25.bin b/src/toolbox-25.bin new file mode 100644 index 0000000..43b7afa Binary files /dev/null and b/src/toolbox-25.bin differ diff --git a/src/toolbox-26.bin b/src/toolbox-26.bin new file mode 100644 index 0000000..3cdc97f Binary files /dev/null and b/src/toolbox-26.bin differ diff --git a/src/toolbox-27.bin b/src/toolbox-27.bin new file mode 100644 index 0000000..e838e31 Binary files /dev/null and b/src/toolbox-27.bin differ diff --git a/src/toolbox-28.bin b/src/toolbox-28.bin new file mode 100644 index 0000000..49a6bfb Binary files /dev/null and b/src/toolbox-28.bin differ diff --git a/src/toolbox-29.bin b/src/toolbox-29.bin new file mode 100644 index 0000000..7db4db2 Binary files /dev/null and b/src/toolbox-29.bin differ diff --git a/src/toolbox-2A.bin b/src/toolbox-2A.bin new file mode 100644 index 0000000..e88b7f6 Binary files /dev/null and b/src/toolbox-2A.bin differ diff --git a/src/toolbox-2B.bin b/src/toolbox-2B.bin new file mode 100644 index 0000000..85944de Binary files /dev/null and b/src/toolbox-2B.bin differ diff --git a/src/toolbox-2C.bin b/src/toolbox-2C.bin new file mode 100644 index 0000000..b931c34 Binary files /dev/null and b/src/toolbox-2C.bin differ diff --git a/src/toolbox-2D.bin b/src/toolbox-2D.bin new file mode 100644 index 0000000..74e8ab4 Binary files /dev/null and b/src/toolbox-2D.bin differ diff --git a/src/toolbox-2E.bin b/src/toolbox-2E.bin new file mode 100644 index 0000000..0871d09 Binary files /dev/null and b/src/toolbox-2E.bin differ diff --git a/src/toolbox-2F.bin b/src/toolbox-2F.bin new file mode 100644 index 0000000..86e0c7c Binary files /dev/null and b/src/toolbox-2F.bin differ diff --git a/src/toolbox-30.bin b/src/toolbox-30.bin new file mode 100644 index 0000000..85cc6f4 Binary files /dev/null and b/src/toolbox-30.bin differ diff --git a/src/toolbox-31.bin b/src/toolbox-31.bin new file mode 100644 index 0000000..5916b54 Binary files /dev/null and b/src/toolbox-31.bin differ diff --git a/src/toolbox-3F.bin b/src/toolbox-3F.bin new file mode 100644 index 0000000..575f35b Binary files /dev/null and b/src/toolbox-3F.bin differ diff --git a/src/toolbox.bin b/src/toolbox.bin new file mode 100644 index 0000000..e094680 --- /dev/null +++ b/src/toolbox.bin @@ -0,0 +1,2182 @@ + +9;<=>?@AB /,123456ABCD + +> OK.*111213141517181920212324303132OVsd0sd1 RAMROM%d:/fd38668K86088K960ARMELFM32PGXPGZPPCRCESPU 0ODDSD0SD1INFNaN %s +None%02XGenXEVID/sd0FILEFR20MIPSNONEPGXRH32S370S390V800COM1COM2EVENMARK %s/ +%02X %04X /sd0/%s%s +%04X:%d:%sIAMCUPPC64SPARCSPACE %4ld Done. +%s%08XC256 UF256 PGenX32M68020M68030M68040(null)dev = PARISCVPP500SCREEN+,;=[]%s%s%s +%s: %s +%024lX:A2560 KA2560 MA2560 XC256 U+F256 JRF256 K2F256 KeM68040VUNKNOWNi486DX4*float*CONSOLE%s: #%d +no mediaA2560 U+C256 FMXF256 JReF256 K2cF256 K2eM680EC30M68EC020M68EC040ReservedWDC65816rtc_init*:<>|"?FAT32 Sector: +not foundCartridgeNKӿӣӇk~hvhnhfh^h<<|\"?;$CODEC initialized.Console installed.Interrupts enabledTimers initializedbad channel numberCommand not found.Mounting drive #%dPGZ 24-bit count: PGZ 32-bit count: fsys_mkdir error: directory not foundfile system timeoutoperation timed outtoo many open filesproc_run error: %d +chan_read(%d,%p,%d)chan_seek error: %dFile system error: fchan_write error: fsys_delete error: fsys_load_ext ext: fsys_open error: %dR  + NO NAME FAT NO NAME FAT32 low level disk errorno file system foundchan_get_records 1: chan_get_records 2: chan_write error: %dchan_write(%d,%p,%x)PGZ 24-bit address: PGZ 32-bit address: fsys_set_cwd error: +Directory for /sd0/ +Foenix Retro Systems +SDC driver installed.Wrote %d characters. +chan_status error: %dCould not load file: Could not open file: uart_open: Bad parity +Trying to create: %s +Indicators initializedInterrupts initializedToolbox v%d.%02d.%04d +file is not executableCouldn't load file: %dchan_write_b error: %dFPGA %04X %04X.%04X +volume has no work area #+v-g0XJXopux9Setting default loader.uart_open: no BPS tokenCould not open file: %d +File system initialized.Text system initialized.drive is write protected +Select a boot source: + +Default boot source: %s +Error while printing: %dCouldn't get channel: %dfsys_open out of handlesCould not find screen %duart_open: Bad stop bits +Creating /sd0/hello.txt +%04d-%02d-%02d %02d:%02d could not write to devicedevice is write protectedCouldn't execute file: %dfsys_open out of channelsBlock device system ready.Could not create file: %d +could not read from deviceBooting: /sd0/fnxboot.pgx +Booting: /sd0/fnxboot.pgz +Booting: /sd1/fnxboot.pgx +Booting: /sd1/fnxboot.pgz +Returning a bad extension.uart_open: no parity tokenCould not open directory %dv"e~ԏٍ΍*6:[\tChannel device system ready.FAILED: Console installationfile system assertion faileduart_open: no stop bit tokenfile system invalid parameterCould not mount device %d: %dfsys_mount called f_mount: %dInitializing the text system...FOENIX DEBUG OUTPUT------------creation of file system aborteddevice could not be initializedNo bootable device is present. +uart_open: Bad data word lengthuart_open: no data length token +fsys_delete("/sd0/renamed.txt")Scanning for bootable devices... +FAILED: SDC driver installation %dFAILED: file system initializationtxt_get_device: number mismatch %dyyyyzyeyOy9y#yA valid boot record was not found. + AAA 22222 55555 6 00000 X XA A 2 5 6 0 0 X X A A 2 5 6 6 0 0 X X A A 22222 55555 66666 00000 X XAAAAA 22222 55555 66666 0 0 X K4>424&444 4@33444444 |4@p4d4W515%55 55 4@44 PC: %08X Address: %08X +Press SPACE for default. + _________ ___________ __ __ / ____/__ \ / ____/ ___/ / / / / / / __/ //___ \/ __ \ / / / / / /___ / __/____/ / /_/ / / /_/ / \____//____/_____/\____/ \____/ PC: %08X       _________ ___________ __ __ / ____/__ \ / ____/ ___/ / / / / __ / / __/ //___ \/ __ \ / / / /_/ /_/ /___ / __/____/ / /_/ / / /_/ /_ __/\____//____/_____/\____/ \____/ /_/ Unable to mount drive %s, FatFS Error: %d ___ ___ ___________ ____ __ __ / | |__ \ / ____/ ___// __ \ / //_/ / /| | __/ //___ \/ __ \/ / / / / ,< / ___ |/ __/____/ / /_/ / /_/ / / /| | /_/ |_/____/_____/\____/\____/ /_/ |_| f9f;f<f= f>f?f@e;e=e?e ___ ___ ___________ ____ __ __ / | |__ \ / ____/ ___// __ \ / / / / / /| | __/ //___ \/ __ \/ / / / / / / / / ___ |/ __/____/ / /_/ / /_/ / / /_/ / /_/ |_/____/_____/\____/\____/ \____/ Address Error Bus Error Division by Zero Error Illegal Instruction Error Oh dear, something has gone wrong... Overflow Exception Privilege Exception Range Check Exception Spurious Interrupt Unknown Exception Ŀ + Foenix Toolbox v%d.%02d.%04d starting up... ___ ___ ___________ ____ __ __ / | |__ \ / ____/ ___// __ \ / / / / __ / /| | __/ //___ \/ __ \/ / / / / / / /_/ /_ / ___ |/ __/____/ / /_/ / /_/ / / /_/ /_ __//_/ |_/____/_____/\____/\____/ \____/ /_/ +TEUX"bcdefosux _________ ___________ ________ ____ __ / ____/__ \ / ____/ ___/ / ____/ |/ / |/ / / / __/ //___ \/ __ \ / /_ / /|_/ /| / / /___ / __/____/ / /_/ / / __/ / / / // | \____//____/_____/\____/ /_/ /_/ /_//_/|_| +fsys_rename("/sd0/hello.txt", "/sd0/renamed.txt") kYG5#چdž +[!] Incompatible CPU arch: expected %s, but found %s + !#{*i-W<D>1@[ ]{|} GGGGGG EEEEEEE NN NN XX XXX 3333333 2222222 GG EE NNN NN XX XXX 33 22 GG GGGG EEEEE NN NN NN XXX 33333 22222 GG GG EE NN NNN XXX XX 33 22 GGGGGG EEEEEEE NN NN XXX XX 3333333 2222222 ,\U` NG%<K1&@OcAvBCDhGJbKcPgHɖmveiA;=?hj,* .!-" 0#/ +$ 2%1 &:4'3 (c6\5k9[aEAAEEEIIIOOUUYAIOU~r% +KKKKKx*KKKKKKKKKKKK/  }c,Z 0@QYR[T]V_`pN!2!p!!!$0,/`,g,u,,d-&A (((( AAAAAABBBBBB #%%%%$%a%b%V%U%c%Q%W%]%\%[%%%4%,%%%<%^%_%Z%T%i%f%`%P%l%g%h%d%e%Y%X%R%S%k%j%% %%%%%%")"a"e"d" #!#H""" %ax029J.yMC= (": e,;;=f,?@AAF +S@UXZ\]^_abdefgjb,lmnpqstvwxyz{|d,~DE{ +0 P`"6Da&`l@N# +bz@c`[WOؓhG'${jJ۝uW~:g5^-Q'E1ڨˆyk\Q?I9?05(~#swVlN^EP;6*ԁO)шwWހM&Լd`ˀM&{ky\i@MrrAB++$% +~ +oS ծe̜JËB|8h/Ui3uW93+$wvX;5-%O(oM&|lQeCp"WQJC 6cnHUyALm7@].4N#'>uuuaaaBBB!!!žx}`znTdZEOG782&1234567890-= qwertyuiop[] asdfghjkl;'`\zxcvbnm,./* -5+/ !@#$%^&*()_+ QWERTYUIOP{} +ASDFGHJKL:"~|ZXCVBNM<>? -5+/ 123457890=   + + ;"`\ ,. -5+/ !@#$%^&*()_+   + + ;"`\ ,. -5+/ 1234567890-= QWERTYUIOP[] ASDFGHJKL;'`\ZXCVBNM,./ 789-456+1230./ !@#$%^&*()_+ qwertyuiop{} +asdfghjkl:"zxcvbnm<>? 789-456+1230./ 12356~`|\-= qwertyuiop[] asdfghjkl;'zxcvbnm,./* -5+/ ;Kc{;Kc{;Kc{;Kc{;Kc{dIdIdIdIdIdIdIdIddIdIdIdIdIdIdIdIddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd~~~~l|88||888T|8|8|<<$BB$۽?0($$( <$<$$T((T 08<80  < 8||8HHHHHH>JJ: + + + $$8~~8||88TT8 @@ @@|$BB$8||8(((((|(|((P(8DDD8(8DDD8 8DDD8(HHH4 HHH4(DDL48(8DDDD8(DDDD88TPT8$ x "|DD(||8D@D8$ p 8DDD8HHHHp4X|(D(|8DD|DD88DDD((l< DDD8ll$JR"\@<@8@<8DDDDDD|||||  8 8 `| T T(P 8$$$8 <<<<< +  !kkk::kkkkkkkkkkkkkkk>k`>k"WUk"gkAkkkk k8k +.Bk +Ak"Onk"Onk? )k"\k)"}k)"k kkkc8k k +k k%'kikb>d>kH"hk +kk)!8kH"hkH"whkik + kki-k +H :Hkwwk:k)k)k i +k +"]k +"]k +kH"lhk,.kkk  k"YU"^)k"("@["" +wk:00k'' ɀ k:k 8k8[dH )"Ukk )"Ukk ) "Ukk )"Ukk )"Ukk )"Ukk )"Ukk )"Ukk )"Ukk )"Ukk )D"Ukk )"Ukk  8 k [𫫯d>b>+kM"Elk [𫫘`>"2X+k [ h )X+k [ h )x+k)kkZ"Y: czkZ"X:czk)8kZ$"*a7ezkZ"Zj:zk8PI"`Ukk"[k"Za"W#"Xk  " " )kZ)))zkwk    k"l"}WT'"&kHHHH"zhhhhk  IiIKiKk +7k"[k)k)k) + + + + #e  kZ   ;",zk"x0HzzkkZZ  "YUH"]hzzk:   / k +   "akHHFf ee&hk0246k/ JJJJ /  kz"Y:z"6kZ8PIzk"mk + + +H +H"Vhh`>"2Xz +zk [𫫘"g+k)  +  k"W   k"W  J kZ) :8zk"W  k   "Zd"Zk(*kZ  HH )H )"hhhh"@`zk88(PI + +LHLky= y= + +{=}=y=y=kk "El"Elk:     )  k"U" hk>>",k:% +    kZ   yy I /yy zk# k +  +"? + + + + "? z z +zk","z  )   k"W  J:kkdHHJee&hzk)8PI&"*a?ekZ  )  zk!ɀ8 +ek [𫫘8b>b>d>d>d>b>+kZZ JJJJ JzzkZZ;"X  zzkZ   +)HHHHH )"+;i +"@`zkZ   +)HHHHH )";i +"@`zk + +8PI"oz +zk + +8PI"z +zk + +8PI"z +zkHZ H $  + +()h  zhhhk + +"r|z +zk   ):kH +&H) +H)*EJ&h)jh)jhkZ"W"    zk=""[8^>kkZ  A )8 +"Z J ) "Zzk"Z*"Z#"Z,"Z"Z"ZE"Z"dkZ  8     գI)8zk +   +  ) zz z +zk4"h"ʿ" ) H"h"V:1"hk"Ġ !  kH)ɀ))ɀ)zh @zzkhk +"Bs"NPHP +Nh"Vz +zk +BBBB +"Vz +zk4"h"]:HT"hh"V:1"hk + +8PId " +z +zkZ  ) + + +/ e) + + +e"#pzkZZc, +" +"*a8 + + + + zzk +ZZ +; +" zzz +zk +Z"W + +!"qH"Zdh  zz +zk:0 +#H`a&Tk + +;iHH +>="|hhz +zk + +) +H"]h H"]hz +zkH"]hZ  )Ȉ +I  )/) +Izk +Z +d"Z'  ; +"zzz +zkH + )+' + ) + + h((kZ  i  " H"hzzk +  + )"X: zz z +zk +i +)" )  z +zk +  + H +"El zz z +zk + [𫫘ZZ +)  H"hzz+z +zkZ8PI0zk + + +/ e"El"QgZ" X18 PI"e  zzk [𫫘ZZ"U"U ` )%zz+k +) +H"]h +ک H"]h +H"]hz +zk +ZZZ +: +  ڦzzzz +zk + [𫫘"Bs":< H< +:h"V+z +zkOr|Uȗȗȗȗ:ȗ  k + [𫫘 + +"   +"JQ:"X+z +zk;8J  ;"j;"?;";iJk"VU"/"rnj<"K"W\y [𫫘Z & )4"*aw$e"g & z+kZ  CC UU CC U* CC UU zk + [𫫘"Bs +  + +"V+z +zk + [𫫘"Bs# +"V+z +zk + [𫫘"Bs& H +h"V+z +zk + [𫫘"Bs&>@ H@ +>h"V+z +zk + [𫫘"Bs&BD  D +B"V+z +zk + Z +:d  + ئzzz z +zkZ8PI08$"*a7!7$"*aezk + [𫫘"Bs$ H +h"V+z +zkZZ"W4   ))   7 zzk +  "`$% + + + + + % zz z +zk/):#):k +   + )"ZH)"Zh8 ) Պzz z +zk +Z )"W  w"W  zz +zkW>,>>>>%>A>==(>=>>>>~Z>\>k [𫫘Z"8" +"r|"Xz+kZ8PI9V"*aMeH",hzk +  "Bs&JL HL +Jh"Vzz z +zkZ     J  jj) ec  :  ȈǣzkZZ   JJJJ ))#) 8PI0 8PI0 +"*aczzk7 Z |UȗȗȗȗkZZ:2    zzzk + [𫫘"Bs* HHH +h"Vhh+z +zk + [𫫘"Bs*68H H8 +6h"Vh+z +zkZZ8PI0zzk8PI0Ӣ"_qZ  CC  CC    :zkZZ  "Za7  ;iH;i"êhh +"Xzzk + [𫫘"Bs( H +h"V+z +zk + [𫫘"Bs(&(  ( +&"V+z +zk + [𫫘"Bs(*,  , +*"V+z +zkZ    A) + + +?/   # +  ) + + + /  "Qgzk +Z"Bs  +"VHd ",hzz +zk + ["q4"On"On"gi +"g +PI0+z +zkH) H +)87IJj(hk( +*(zzk + [𫫘 + +" +"Ahh"X+z +zk + [𫫘"Bs*24 H H4 +2h"Vh+z +zk +ZZZ>\>\> +Z>"Vy=:"Uzzz +zk + +}= +{="V:Ӌ [𫫘ZZZ"U"U'  l    l zzz+k [𫫘ZZZ"U"U'  `    ` zzz+kZZJJJJJ)?HJJJ))H#H JJJJJ)H J))iH "h;i +zzkZ"ZaC  )zk:,:#02460246kZZZ  ,o0.o2 "*ac @ ` .,"ήzzzk +;8 +;"tHH +;i"][hh;iz +zk;8T>8PI0:HHH;i "6~hhh;i",;iTkZd;  )H)h8   :zzk;8 +#JJJJ  #   ;i"7;i +k +;8 +;"lHH +;i"][hh;iz +zk +ZZ8PI6""*a;e + +"Vzzz +zk +;8 +;"l;iH +;i"][hh;iz +zk +"d > +> +E>"}Z,>"}Z>"}Zz +zk"`U +;8  i "a  i "a;i k;8T>8PI0>HHHH`;i "6~ hhhh;i",;iTk + ZZ + +  "  w ^>zzzz z +zkZ8PI0zk""*a;;""*ae [𫫘ZZZ"U"U.' l I%   l zzz+k + [𫫘Z + +" +"]"r|"Xz+z +zk + [𫫘Z + +" +"c5m "r|"Xz+z +zk + Z  +  "W +  ::zzz z +zk + + ?  2)(d"hhz +zk +Z +Hn"Zh +"2ZH +HH"hhhک ",hzz +zk + Z + + +"2Z e  + ) zzz z +zk  +  [𫫘"Bs .. 0 "0 +. "V+zz z +zk +  [𫫘"Bs .R T "T +R "V+zz z +zk +ZZ +"YU"`: "YU"Y^:zzz +zk +ZZZ + +"W#/;i +" zzzz +zk +;8J +;"j)  ;"?;";iJz +zkZ    N#) + + +/ e  !) + + +/ e ' "Qgzk + + +"Y:<w + +eɀz +zkZ    P') "*ae  %) "*ae ' zkZRM$&H)h8PI0 "'e zzk;8T>8PI0FZHZHHHHH;i"6~ ;i ;i",;iTk +ZZ + +"[:<w + +eɀzzz +zk +  [𫫘"Bs 0" $ $H$ +" h"V+zz z +zk + ZZ    +   "W: +:оzzzz z +zk +Z +0B;H +i"êhhzz +zk + [𫫘ZZ8PI2""*a;e +"Vzz+z +zkZi  8PI0  zzke  Z    NH/ ) + + +ehH/ ) + + +eh"Qgzzk +ZZ +%;i +"z zzz +zkd"V:Z&"z   )  6HH"3hh    "azkZV            I%  zk +Z +"Z  ; +"z +": +"Qizz +zkZ    PH) "*aehH) "*aeh +zzk + [𫫘ZZ8PI6""*a;e +"Vzz+z +zk +8ʆ8ʆ + +$2 +0 +d"\eHe +hz +zk [ Y )d Z )Ȉ +& [ )+k +ZZ8PIG6"*a:e% +"Vzzz +zkZ   0 P9  E a 0f  % A F  )i)i )80zk +ZZ +"ZaC;iH +"êhh Y "r|"Xzzz +zk;8 + "r|"r|`>HH  "h]hh;i +k + Z "Za + +< + " "2Z)"Xzzz z +zk P X Y Z [ ] ^ _ X \ X k +ZZ +{", +"Za/;H;i"Ehh) +"Xzzz +zk + [𫫘Z"KZ +)&"*a?e" +"c o$ z+z +zk + Z  +0 2  " + "zzz z +zk +ZZZ +8PI + ;iH"ohhH:H"ohhzzzz +zk + ZZZ  +8PI0zzzzz z +zk "YU +cH"]h8PI0/8PI0    .      "k + [𫫘 +HH$"Zhh8PI+ +6"*a:e6"#p+z +zk +ZZ"`N8,"% + + + + + ) ) JJJJ zzz +zk +ZZ\ + +C7 +"d0 +zzz +zk +ZZZ +8PI + ;iH"ohh8HH"ohhzzzz +zk +ZZZ +8PI + ;iH"ohhcHH"ohhzzzz +zk +ZZZ +8PI + ;iH"ohh8HH"ohhzzzz +zk +ZZZ +8PI + ;iH"ohhcHH"ohhzzzz +zk + ;8R >8PI0B;i^H ;i"}hh;i> +>"V;iRzz z +zk +ZZZZ + + +"2Ze) +     zzzzz +zk + ZZ  "0< "[0* "U%zzzz z +zkZZ8PI*8PI Ȉ :H:H"ohhzzk +Z +8 +PI0@ "*a  4 + "*ae":e: zz +zk + [𫫘ZZZZ;i;":;$ +"Vzzzz+z +zk + ZZZ + 8PI c   zzzzz z +zk +"i + Z + _"r|H H"hhh8PI  e ӊzzz z +zkZ  ) + +  ) + +   ) + +e) + +e  zzk + [𫫘ZZ8PII""*a;e%HH +h"Vhzz+z +zk + ;8R >8PI0B;i^H ;i"}hh;i> +>"V;iRzz z +zk +ZZZ +   +;"&8PI2 +'7) +"[zzzz +zk + ZZ  +", "Za*;iH +"Ehh +"Xzzzz z +zk"_*"hi"#mhh"__"hi""_ "h""_"5"5kZi:] +KH`"^WM"^WD? ' 0 @ ! '   zk + Z!ɀJ=ɵ6% + + e 8 ֊i)zz z +zk + [𫫘ZZ8PIN""*a;e*HH +h"Vhzz+z +zk + [𫫘ZZ8PIN""*a;e*HH +h"Vhzz+z +zk +  +   +L       "#pȷ   "El i + zz z +zk + Z  + + "@ +:)0 +i2 0 "-hzzz z +zk +ZZ + +HH5"hhh +"h0/"H"h"F):ܣ"H "hhzzz +zk;88PI0! ;i"7;ik%ک8;ie  FfFfFfFfZ  )az8 ʆɀ8)zk;8 +cJ iH + +he +  ;i +k:  ;8 +JJJJ))  ))  JJJJ)  )  ;i"7;i +k + ZZ + 8PI0 +"zzzz z +zk8PIH ch  [𫫘;8RZ;i"6~h ;i"hh""r|"X;iR+kZZZZ  86PI0zzzzko2 "*a84PI0 0ce @  `  +Z +"Zaf +""XW% +eHeh""X+ eHe +h""Xzz +zk + ZZZZ  +8PI0zzzzzz z +zk "YU"^H +c h  +ZZZ ++   zzzz +zk +cH"h + Z + + i  )     "    @' ) +"i)zzz z +zkZZZi0  :  ;8"*a&e"Ha",h)H;iH",hhh"Xzzzk +  [𫫘ZZZZ;i;":G0H   + h"Vzzzz+zz z +zk +ZZZZ + +i"Z  7i +"ZHhzzzzz +zk + Z  + "7O +)  + $ + zzz z +zk + [𫫘ZZZZ +CC"qQ +G +="On +  "gi +"g +PI0zzzz+z +zk;8 8 PIx;i H"o;iH"w c c 8;i H"mw d8"s;iH!"mw;i;ik + Z  +H "2Zh+ "2Ze  zzz z +zk c)"ZH +ch  [𫫘;8T"L hhhh]H]HHl;i "6~hhh;i"nY"r|"X;iT+k +;8: +;i;i":O;i"/+1  + +;i"ѯ;i:z +zk +;8T +>8PI/"_H +HH;i "6~ hhhh&ڥ +HHk;i "6~hhh;iH"hh;iTz +zk [𫫘ZZZ;H"C[hhhhF&HH"hh1H ",hH ",hzzz+k + [𫫘;8 +;i;" >&("( +&"V H +",h ;i ++z +zk + [𫫘;8 +;i;" >*,", +*"V H9",h ;i ++z +zk + +  +ȈFj +  +ȈFj +  +ȈFj +  z +zk + Z + 4  6 +g "O + i8 "bh +4 +6 zzz z +zkZZZ -84PI0086PI086"h6:,.o0o2zzzk [𫫯CLC"!v:#"!v:4"!v: CV"UCC ɿ 4CC    C"UC+k + [𫫘;8 +H"Zh;i;i":B "  +"V"c;i ++z +zk + [𫫘;8 +;i;" B"$&H $ +"h"V H ",h ;i ++z +zk + ZZZZ  +8PIV "YU"^   + 5 + +c  zzzzzz z +zk +)Ȉ +&)d + +Ȉ +&)d + +Ȉ +&)dz +zk + ^>LU~ f8ʆ +8ʊ +"Nz +zk + Z + + i e )8PIF cH"h c   zzz z +zk;8 8PI0L;iH"ohh;iH"whh8PI +cc8  ;iH"mwhhd "s;iH"mwhh;ik8HHH +**** * * * 8Hh hhhzzz****Jh;i(khhhhhzzzz(k + ZZ +."  v 8PI0\    +)"ZH +ch c  zzzz z +zk + Z  +  W  N  )<   !  "VJ    zzz z +zk + ZZZ + %;i +"z S 4  +"z;i +"zzzzzz z +zkd"V:L + ZZ + )"W::   "W:S))e:"a  zzzz z +zkZ?8PI@8PI0PG"*8 A"*:P8PI0"PG"4c A"4zk +  [𫫘;8 +;i;" K.0/H  0 +. h"V H1 ",h ;i ++zz z +zk +  [𫫘;8 +;i;" N243HH  4 +2 h"Vh H1 ",h ;i ++zz z +zk +"Uix +d" ""dd"_q"_q"_q"U +PI0d"_q"_q"_qz +zkZ"Z8PI0T8PI0zk$"*a77$"*ae6"*a::6"*aeLA;864 K aW(!B\#%+-/1')35;":9;";i6k + ZZZ +##"DV"OWʆ""OWʆ" 8PI00c +7cWc  +    +"DVЁzzz\;8 cD           ;ik  + ZZ   +  +":L  ; +" [  +"; +"z; +"z#  zzzz z +zk/)$(*"Lɿ+&(*"c@+&(*"3@+&(*"k;8 +      ;i +k"i) +_vH) +hT#:.#:  )".JJ   L +;8T + +HHR "hhh + +"h8PInH"h;i"6~;i"2ZH;i H "ک +"h ;i +"ӏHM"hh;iTz +zk +;8 cJ + +cic + +   Ȁ ;iz +zk:L;8"         e AUY=!;":"  ;";i"kZsBBBB8 PI0_ h i j l m n ` a b zzk + +eL^ + Z + V + 0 E X + x $ȷ )":  E% 0 6 X + x ! 8PI08PI0 zzz z +zk +Z8PI0Lţ$"*a7e +r +8PI/ +6"*a:eE +"r|$ +"r|zz +zk + Z  +"b + + +c i +c + + +c i +  c   +' ȷ ϥ +ȗȗȗȗ ȗ +ȗzzz z +zk;8  + ;"X Lcǣ + + + + + 4  +   +  + + +   ;i +;i";ik           y "_8 PI0Pz"}Wʿ"3hh @     "ak +Z A"SPG""PG"4c A"4?"Sń'7""PG"*8 A"*:zk + Zi + +)) +eHeh)) 8g +ȗ +i8 8ʠȗ +Hȷ +h"z\ +  [𫫘;8 + +H +HHHN +",hhhh;i;i"J  . +H  + h"VH9 +",h;i ++zz z +zk +ZZ +)L64 +i8"bhL  84(H6*h "H  ;4 wH6"wh +i8"bhzzz +zk;8;"l8 +) + + + + +ʪʠ Ȉ +& ʠȈ +& ʆFj;ik + Z   +     L͠  L  w   +) e    @ Z   a "z   +"C  H"hzz z +zk [𫫘8PI0LΘ""*a;e + +  +kZ H Lϯ(ʆ$ʆ". *ʆ&ʆ"."  s  i) +ʆ$ʆ".) +ʆ&ʆ". 8"8 "zk + ZZZ + ; +" LWХ  +"Lt +"8c A  +"ѯ +"=V zzzzz z +zkIIڅd*8&zzkHCh"mH"mIk$8$8 + +ddd d & +&&8& & zz +z zkEH"z8kk;8  L5үH h 8PI0j ) + +     '  ) + +e  %  ) + +e  4e  e  L;izk +;8 +   + +  + "?L"Ӡ +ic  8<PI0S;iH +i "êhh  ;i +z +zkZZZZX + + + + + c  :Lӣ +H`HH> "hhnHH: "hhRHH* "hh6HH6 "hhHH2 "hhH "wh)"%"Մzzzzk;8V', U q΃#[!#%_79e\;=\')l{+-\/1[35ή?AmWCE{GIhKM颃OQ^SU;";iVk;8 +;H"mwd"Q"3HHH";i dd"*d""! 8PI0""o"ohh;i +kHH "hhdd "%d "Մ  ZZH"Zh0V8PII$"*a77$"*ae$"*a7ew8PI0Y$"*a7J$"*a77$"*ae$"*a7ezzk + ZZZ  +   , .7  . , "L t +  ",I      "=Vzzzzz z +zk;8 / ;i"g;i"gH;i"2Zh?;i"|:"Lhhhh;ik;ic   A +Z  )"ZH;ich LM + ;8 +  + +":L٥ + " 46 +i8"El +i8 +6H c "bh c  + ;i +zz z +zk + ZZZ  +  "LLک +  ",j    ) " "=VL>ڣ zzzzz z +zkZZZ: +8PI0.80PI0/")VPI0 +80L۩$8PILۊ80PI09",VPI080^8aPI0V")VPI0i28API06")VPI0izzzk +  [𫫘;8 + +H +HHH "Zhhhh;i;i"q HH=",hh . +H   + h"VH2 ",h;i ++zz z +zk +;8   + 8PIL +ޣ"*a 8PI0L +ޣ8 :8PI0m + "78 PI02 c + +jChC "7 +H "h  H "h H "h:Lw;i z +zk +  [𫫘ZZZU"Z"r|8PI0Lߣ6"*a:eLߣ" + n ` + E H  + +h"c"V  zzz+zz z +zk [𫫘Z8PI0 +z+zke  ie  ie  ie  ie  ie  ie  L=;8@;i ;i":LB ;i "/_7  ;/+)  "ͦH h 7  + +  :  ;i@k + ;8 +  +  "*W"El ) + "3;i +zz z +zk: + + +c + + +c i +cH""Wchȗ + + +c : + + +c i +cH""Wchȗ LZZ +"hZ"'8PI0Le:",@"hhLL @ LL @ LL㯜@e@@"z@H@H"hhh@@H"hhh@"hhh@"hhL"n",H%",hzzk + ZZZZ)* +  ϧ) L)*  ϧ) +!   +zzzzzz z +zk + ;8$8PI0L8PI0L$"*a7e +$"*a7e    +i;i "#p i +i "#p;i i "#p;i$zz z +zk + [𫫘;8;i# + & L;i4"*aw$e" "XL   8PIL;ic +i c   +i c);i+z +zk + [𫫘;8;i# + & L;i4"*aw$e" "XL   8PIL;ic +i c   +i c);i+z +zk + ZZZZ    L) + +)oHoh8PIL/ ) + + +e  ) + + +?/   # + + + + +  # + + +  ) + + + /  "Qg4e + e   LNzzzzz z +zk + [𫫘;8 + +"8PI & LI & L8)B;i"]h;i4"*aw$e"* +4"*aw$e"HI",h"X & ;i+z +zkL] +  [𫫘;8! +CC +  "qLk +Lk#eHe +h + Lk8#PIcHcheHe +h + "On  +  "gi "g PI0L;i+zz z +zkH + )&" + ) + )0 8 + +hk ڥH + )2. + )! +8  +ж0 8 +𚰥hkH88HdR8W)) +*)(j)J(j zzkJjfȀ( +  [𫫘ZZZ"Bs LF H L )"ĠL;iH"ohhH"ohhL;iH"ohhHJJJI)8 + + +H"ohht;iH"ohh8PI=H:H"ohh HH F  +h"VH:H"ohhHH +F h"Vzzz+zz z +zkZZZZP8<8;H"mw +"hAHAH"hAHAH"hAA"Hz"hAHAhZJJJJH"h;iAHAHAH "hAHAHAH "h ;i H"mw"o;izzzzk@"$f"#dH̢:dFfc c  e + * &ؘ8ce~hhhhhh/FffF8&/y$0&&ddZddQH)hF8&H)h)H)h) +J Jȥ +Z먊JjzkZZZZLo >  +"LfLf)#cLS~ +H`8`f8P\cR8H80>8 48*8)88 +e  +eLzzzzzk + ;8 +  + +i"Z:L~'): "*a  1@')" ɀL~ + e j +)e"Z; ɀ9    +e';i +zz z +zk  L +;8;i H"ohh;iH"whhLQL c ;iH"mw H"_f;iH"mw;i +L c  ;iH"mw H"_f;iH"mw;i +L c c8  ;iH"mw H"_f;iH"mw;i +;iz +zk + ;8 + +:  8PI0L;iH;i "Ehh ] ) E      +E L$  +;izz z +zk +;8 + +"]*LL   : + +;i e / + + +;i e"]*;iz +zk +iH + + + +he" H + +;i ehLn + [𫫘;8 + +      JJ +              #   "5td"*a "5te "5t"5t# "5t0   "5t"5t +;i ++z z +zk +;8 + + + L;i;i"L  +"/L+ 0G7)+ "ͦ + ,  +"L  ;i +z +zkZ"Y:"6LZ"]LW):LO))  )  <)H"n  hLZ )H"n  hLZ@)H"n  hLZ)H"n  hm?)H"n  hC)H"n  h')H"n  h "]L4zk"$f"kI"$f"k"#dHhڥ +E\8~FfjJ8 +Fl$ zzzku +**Ji +Jȣ +fjhhzkFeeJjj8j +ЧгH +JhȈkЗF@ + ;8   +       +i"a ): "*a)  +e +)e"a    L/ + e : +  @    ;i zz z +zk + ZZZZ + :8PI0LJ +"LL8PI0L?) c q +W = c  c ] c ] c J8PI": c L,zzzzzz z +zk +ZZZZ +  Lt;i"j"V - "V +  "V  "V   +"V"m9 - N"^>D +.8"^>    +%  "V  "Vzzzzz +zkA(A +@ +ZhhJjhzkک"$f"#dHҘ8i0 +*$ &$8 &ccd&8&&&8j$Ff19Ffj  +,&JȀJ dd +ZhhhhJjzzk + ZZ  L7 L  L    L  L  L"CYȷ   + + "  L +e8 +d    5  ȷ +  +ȗ  :"CYzzzz z +zk + ;8  + +i"Z:L?'): "*a  4@')$  +e:LL +)e"Z ] ɀQ   "B  +e"B  , + ;izz z +zk  L;8:c U Uա!;#%i')\/1U35dZ+-)79;i":Lf U Uա!;#%i')\/1U35dZ+-)79;i""hhh;i:k +;8;i H"ohh;iH"whhLAL H"_fhL ;iH"mw H"_f c  ;i H"mw H"_f;iH"mw;iL c c8  ;iH"mw H"_f c  8:;i H"mw H"_f;iH"mw;i;iz +zk + ZZZZ<L87g0f +g +  ȷ   ȷ g7 +80] +"tVȷ"tVȷg7H h"zzzzzz z +zkZZZ "*aec  )"Ġ "`\@"`O1 Oyy y  "_"` "`  L + ~ + ~     ~   a  . ywz"[:"zy)))"ņzzzk + ;8  + " 7)L +7)$ + Ȉ +& +8 PI0     ")_ +  + "Ӷ:i:У    " "Qi;i zz z +zk +ZZ + +"LO   L)   L)  +i8"El +i6U"a +i8RRaA" +irrAa" +i " +i$"&$4664 +i8"bh  H"^hzzz +zk + ;8 <L c)   "b + + +ci +e + + ȷ + +L +ȷȷ8 Y +g  +c    7 H  h" +i;i zz z +zk + [𫫘ZZZ +8 +PI0L "*a  L& "*a  8PI0L8PI` +c   A)"ZH "*aech  "*aezzz+z +zk "*aec L.L  + ZZZZ  + L L& +"{L "r` LE L %L +"{p8ʆ'   Lzzzzzz z +zk +  [𫫘ZZZ + +"8PI% o$ L o$ K ",L" + L H",h  +&"*a?e"  WH ",h o$ "c"X!", o$ zzz+zz z +zkL +;8 +"h + +8PI0';i H"hhh;iz +zk8 +PI= +":0  ;i H"hhhLs8 +PI0Lk +c +  )HN"hh)"\X:3)"X:&;i c . $;i c   + +LF +ZZZ +  ) +zzzz +zk)"Ġ   L   L ڃ  L ك  L   L   L Ã  L   L ă  y ۃ  g Ń  U ƒ  CH"h [ [H"h     H"h  L + ;8   :L^ +H`L^;i H" Hhh ;i H" HhhL^LaH} + +"c: + LaL^{Hy + +"c: + oj"YYEH + +"c: + ouow;izz z +zk + ZZZ  +   ;iH;i +H "hhhh8PI0!HH "gyhhzzzzz z +zk + +e8PI0%8PI08  L8ZPI0a8PI08R  L8(PI0/8PI0 8(  [8dPI0k8PI0 8\  3 +   # # L + ZZ    LbH))"*a8PIL() "*ae  ) "*ae  ) "*ae   ') "*ae ' %) "*ae  : + + e H + + e hL%zzz z +zk + ZZZ   ɀ L  L)8 + +BB  )"X: ["ņ6)8 + +B +B))"ņx;"ņ JJJ ))"g  (#)JJJJI)8i0"ņ#)i0"ņ )"ņ~"ņ!  "ņzzzzz z +zk +  [𫫘;8 +;i-  +"8PI & L & Lo;i)HH +HH;i  4"*aw$e"Dhhhh"XLo     8PIL;ic i c  i c);i+zz z +zkL[ + " X + +L4 ) )  )       `  "Ui "U PI01   "Ui "U PI0驇!  "Ui "U PI0  "Ui "U PI0   "Ui "U PI0   zz z +zk + ;8    "7)L7)%  Ȉ +& ? ")   ",:L 7)ʆ " ")^ +  + ",:i:Щ ",: "Qi;izz z +zk + ;8 +   +C #  7"    L!     " "Qi "Š:L!@   +                  ; " ;i  "z +  ;i  "z:  )ӣ ;i +zz z +zkZ  ) "*ae) "*ae  ) "*ae) "*ae  ) "*ae) "*ae  ) "*aeH) "*aeh) "*ae +H) "*aeh +) "*aH) "*ah  zzk + ;8 +;i +" L$@7)L$ K +i&   "bhL$ 7 "  ",L$$"      +"~ i " i" i"a   " + 7 ;izz z +zk + ;8 + +L&7 +"d^>   == + => +>> +  L&=eL& +L& ȷ   ȷ ȗ"}Z ^>  7)" +"(  L% ^>;izz z +zk + ;8  + + ^>L(7 ^>Lk(& " ^>Lk( +"Lg(   L`( 8 8 ȷ  ?ȗ + +"[ b L|'       :   L'8    ;izz z +zk"_"U",hhhA"="_V","pY    """x ","^i "," ","us","B]"e",")","2",""r|","4","Y!","E:H",h +","N:"r| ",k +ZZZ +  46 +",:L, +i6"Z8  L,U+ +i"t:L, +iC"Z E :#:L,L,L,  L,)):%:L, +iF"Z:L,H):r +iI"Z:Z +iK"Zɀ$ +iX" iN +"Z:Uzzzz +zk;8 +(*$& H 8:BBDF<B>@LY-"q"H"[hB"Hd"_hd"HH"#[hh H " ;i"l{ "d"ή;i +k + +eH + +eh + + + + + +eH@ + +eh + + + +@L, + ;8 + # :';i">L/ : Ч) + L/ +   ? _ * M;i"> ;i ">  L/ L/L/   ?   ?  * :H  "-h4  ) ;i"> Lb.;izz z +zk + ZZZ  +  / : \ (   + : / L1 \ L1 +  & + "LLM1;i "n "+ 8* L1 +  7 )zzzzz z +zk +i8H7 he +"ͦ + L0LE0 + [𫫘;8 + +d" H d"*ah8 "g  "g  "g  "g  "g  "g  +"g  :0 :        "g  +"g                   :     #   ;i ++z +zk [𫫘ZZ"U"U:L4LU4 L^5"ĠRF:#.'"+/ +3L<5L^5+"Ġ7R;F?:C.G"KO +SwL^5O"ĠWR[F_:c.g"ko +s  zz+k +;8r +;i;i"LR7? A;i?"/ +j LI7i  EJL6][ "ͦ +EL6  + x  +;i "LD;i "8c  h;i?", +&;i? +"2 " +;irz +zk + ;8 8PILJ98PI0-;iH"hhh;izz z +zk c  ":L8;iH"hhh8PI0L$Hf"hh$$ H"hhh&;ic )"X:&;ic  $;ic . ":"h)H"hhL7;ic L7 + ;8" V  +  L;;"V"j"V - "V +  "V  "V" V  ;"V"^>L ;"Wʆ" "Wʆ" +;i )":y  +]  + 8PI0E +"Wʆ"\eHeh"V" V +L;:"^> - II +    5  "V  +"V" V  +;izz z +zk +;8  +:Le= +-H`;iH" Hhh0*"h"f>"hhhZ;iH" Hhh0="h"f>"hhhک "hhLs=;iH" Hhh0*"h"f>"hhhZ;iH" Hhh0="h"f>"hhhک "hhLs="MhH"hhh +J >  1)'"f>d"hh/"h"h;i z +zk + ;8  +7)Lv?LT?Lg?  Lg? + ")LR?; +"Ӷ:LR? ***)  v ) +)Ȉ +&e?# )ʪeHeh +Ȉ +&  LO?## **) e# + e  + ***) ) ) + +e#) + +)eH)8 hȈ +&   +"Š: +"Qi;izz z +zk + ZZZZ +;i +" LA)LA7)LA LA: + +"2 +L@ +"r`  % E  > & + "2  @ j [ +i&   "bh  7    +zzzzzz z +zk + ;8F +TR ;i;"LC +LC;i"LLB;i"8c LB C1/c)   +c    +e : +e ţ   LC LC&$",_      'd Ci8c"  ;iFzz z +zk + ;8  +8 +PILE  LE [ LE):8PIL +E +):e  "*a V  "\LE"*a V MV"*ae + +;i "VLELxD +c  )"X:I +;ie +"*a)80eH +;i eh ; L*D "\;izz z +zk +;ieLC + ;8 + + "#pLF:d&#eHehJ))  II! #i0  JJJJ9  c      :;ic    А;ic ~ S +c : +c"W::    '   ;ic)  +c  ;iz z +zk +  [𫫘;8, +;i;  +"8PILAI;i +"dL8I     8PIL;i-c i c  i c)LFJ"XLFJ;i "te + +hjfj;i "ԕ;i ;i"te;i"ԕ;i  +"q:(;i +"q: LpH      + +hjfj i "te;i,+zz z +zk +;8     "J  ) LK  + 8 +PILK +A%S ", +",u +"h0;"V"ӏ "r|& "r|;iz +zk "*a  LL   "*ae":e:f "*ae "*ae +"J + +   +LJ + ;8   +  LN ) )LN   +  "  .,Z ȈFjdLN, .  L]N + Ȉ +&   g "r`%LN3#8 H h  LN +"       _ ȈFj eH eh  +i8H%he  ;i zz z +zkZZ"te8PIL:Q8PIL*Q8PILP8 +PILGPy̩" t" S" ;i    UU;=)c#%!')tv+-t79{/1Z35 "zzk "*a   "*ae8PILPO "*aec "D09Hm",h"ڣHC",hhL7O o$ LO & L O +;8 ;i"X;i ;i":LS / 1;i/"/ +ZLSMK;i "#p;i/;ic4"#p ;ic"/: 7k9m?s AuLS;ic"qLS +;i +i "#p    7)     7)LSk7 m9LS +  "ͦ  " X  ", iX1 . $  mk"~   : ;i/":  " +;iz +zk +;8  +"4;i{H" ;i s  L+Vt E L+Vu L L+Vv F L+V= + +HHHH;i"6~hhhhL.VL.VL.V   ßLV "*acHHc" ;iH" ;i  LV  +YH`L.VL.VHH"HHHH" ;i û㽰8㷅Hc"El dcHch c d c    LT;iz +zk +;8 + i  LX ) )LzXN ȈFj dLXLzX ȈFj  +:d%%LzX +"r`LX%LX LHXLX +"/LXCLX#LX ":o "   i8H#he;iz +zk + ;8   L.[   +    + : ʣ : p 0 7 9 (    +)808PI + L.[ / L'[ / ߩ + + +hjfj  +  + + +  + + + +   +   a !z  8      a !z  8       + + +  LY   / + 8PILY8PI + );izz z +zk +  [𫫘;8T +;ic 8PI0L];i +"mL`] L`] +;i?"te:;i?"ԕ;i?H;iG;i"DhhhhL\;iU)|;i;iU"m;i"D:';iU;i?"te%;i?;i "L9\;i "g"E "r|L]9;igHH;i ;iC "]JhhIZ",6;igHH;i  + "]Jhh;iT+zz z +zk;ic L[ +;8V ;i;i":Lc`#% ;i#"/: +N Lb`;i"/ + +E +% + " L_ +"L_ i8 "El .8  C iN "i8 +"~i8iX "#p .Y +-iX"~  ;i#"qrA?i "A? +"~A?    " +";i +"2;iVz +zk + ;8  +  Lc  Lc    L b  La  Lc ȈFj +(cH*ch",:  Lc +i8H + +)he" %H%hLc +*(  ȈF j eHeh",:  Lc +i8H +)he"ZLc Jc +*(H J)he",:  Lc +i8#e) +*(H J)he",: + Mi8#e)) ) ))JJJJ;iz z +zk + ;8 +  +         Le +  ",Le  + + Le  ? 7   + Le + . Le#   Le  LRe +@Z   # +    ,  .     +     M   2   "x:):     P    "s  , . J    "=V   Lc  ;i +zz z +zk + ZZZZ  + '"V  +   Lh   +"  LGh +"  L~g;i +"z  L{g ɪ L{g@ +")e_ +:")A;i +"z@    "V:LfL3h +"          +")/ +")  "V: '  )     +"Qi )zzzzzz z +zk;i +"z:   LEf;8&!!062!c6o28!66o2:!c2:8!060c4o0 8 #64o0:c0: 8 # "*a% "*a8% "*a! "*ae8%  Lkw "*a8%U%c  cԣc @ c ` #c!w "*a8%U%c cԣc @ c ` #c;i&k%c%cc8#cc8# c  L j#c#c @  @  `  ` #c +ZBBBB +"VLn `   LmJsuu +s"VJJoqq +o"Vkmm +k"Vgii +g"Vcee +c"V _aa +_"V@[]] +["VWYY +W"V ` a   Ln  J1SU'  U +S"VCEE +C"V ?AA +?"V@;== +;"V799 +7"V a b   LnJ355 +3"VJJ/11 +/"VJJ+-- ++"VJJ+-) +'"V b zz +zk;8X;i ;i":Lq ;i "El Lp;i" "B" Lo "[y   +X &;ic  ;ic LoLq Lq%:;ie :ף % '-/;i%"LLq;i%"8cY;iCA "#pCA    " +LqLqLq;i%"i CA"ElCA  ;iCA "#p    " +;iXk + ;8  + +7 )Lt  +e:Lt i ;i  "#pJLr @+ dFH H;i i "Ehh "*dLtLt + LOrJJ  c " "Lt:Lt   H + + + + +h8"LLs i "s   +  ",[H   "h  "=V  : ЂLt +  ",k   "El i   "#p+7 H  h  ;izz z +zkLq +;8*    "Z + +LwLw +HH "hhh 8 PI0LKw&("$8 PIF&(PIg +c;i c (&("$Lw"$Lw&(PIM$"Ȉ +&H +c)henC&($H$h +c  "$(&&("$Lu  + E ;Lau +  +";i*z +zk;8b "x"9o ;iH"mw HH"gy H"}u;i"o   HH"o"j  HH"o"jH#H"o;i"jHH"o"j  HH"o;i >"Ġ3"jhhLy"jhhLy"jhhLy"jhhq%"jhh\R"jhhG"jhh-"jhh`"jhh  HH"ohh"jhhY   HH"o>H>Hs;i"6~ ;iH"j;i  R   HH"o>Hv;i"6~;iH"j;i +   HH"o"j HH"o"j;i + ;8 +  L6~L6~  L|  LK|  L0~ȈFj +(cH*ch",L0~ ) ) +i8H + +)he" ))  +i8H + +)he"  L0~ +*( ȈF j eHeh",L0~ +i8H +)he "a  L0~Jc +*(HJ)he",L0~ +i8H#he )) +  ') + + + +     +*(HJ)he",y +i8H#he))')# ) FjFjFjFj   ;izz z +zkHπ)hkH)hkH hkHπ)hkH)hkH hkHπ)hkH)hkH hkHπ)hkH)hkH hkH)hkH @hkڢkڢ"k"""k"*"*"*\"7"~"~"n~"~"7"7"7"P~ "{~"7k8k"~"~"k""~""""~"~k"~"~"~"7"~\\~"\k, H"hk"*"~""~,"~N""ڢ"~"J"~"~"""~""~"~"~k"~"~"~ +"~ i0"~"""8kڢ"~"~"~j""~"""", kx0"G(k(kx0 @""~(kx0""~"~"~"~(kx0 ""~(kx0""~(kx0_"~"(kx0?""(kx0"T()k0(k(kx0, H"h(kx0"~"7" (k + ;8  + +"LLՄ   ,.   ",Lӄ Lӄ? 7   L   L  L߃@+7)L @Z  #   ,.         U  :   ": ):          Lm  !"s Lӄ+7)0 +i  "t:Lӄ  ,.     (  ,.    +"=V    L;i zz z +zk +ZZZZ +&"@$  ))*(,. " $Ll +H`8L|L|Pà|@j耠XaF N47"p]"ĠL|SL|L|L|L|C|jXF4"KKL+9 + +C +C K + LD+ + 4! + " +  + V:@) + 4/ + " +  + zzzzz +zk +;84;i!;"L:><!##!8ʆ#!&#!L8#!  LB!%#' +;i%"r`%  +L4E  +i + + + #!L{ L#!#!*(   +  I  #! ",   + Lꋣ     #!  8#!i8c"Z: + +  + Z#!i8c" )) + +c # : +     L  >#!#!  ;i4z +zk + ;8X  + "YU" h +;i P"g;i ;iH;i "}hhL"@W"p J?(4Q)G | "YU"q;iH;i "}hhL"1Wʆy"p ;iH;i "}hhL"1WʆE +EL;iH;i "} +hh +L +":e: Lc +":e: {> +":e: PC +":e: (% +":e:08 "YUH"ZdhL< ",L +",q} ",[",E",/?",k ",;iXzz z +zk + ;8   R    + +_ "r` L +%L +  L + +  L +LB +LB +   "r`EL;%L;h  "   + +  L + + L  ii  '   L + + + +"r`?E'%  + L + +LkL + +  +"{'! + "{e +   8ʆ    :     +=;izz z +zkZ8PI0L=HV"*ahMMV"*aeMV"*aeMV"*ae + + MV"*aeMV"*aeMV"*aeMV"*aeMV"*ae MV"*ae""$$MV"*ae6688MV"*ae::<<MV"*ae&&((MV"*ae**,,MV"*ae..00MV"*ae2244MV"*ae>>@@MV"*aeBBDDMV"*aeFFHHMV"*aeJJLLMV"*aeNNPPMV"*aeRRTTzzk + ;8 + &$;i +"  L)  L7)L8 Hhd +  L77L ȈFj +:d%%z + +"r`  L%  L"  LcJ)L- +c +8H   "bh  L X8Hhd2 +i&8 +) e"#p +) LO L웠 W +i&  "bh  L 7  +i&  "bh  L78 + +i&H7he  "#p 8 &$ g c c   L;izz z +zk +;8|n> p Jz>n>n>     +z>    +z>   +z>  +z>n>n>" hhhh7    8PIL "\_"'kXD"Q"3H H*HJ"dd"*""!D4;iH"mw ;i "h 8n>PIL 8 PI0L, "h8n>PIm +p>X +z>"MhHH;i3"6~;i3"2ZH;i5H" ;i ;i-"6~;i-"2ZH;i/H"hhh"gi +"g +PIR"]C"e +,8PI: +p>: +z> + +;ie"v;;i|z +zk +p> +z>"/ + +;ie +z>":L砣"V +p> 8 +z>"MhH "hhh +z> + +;ie   Ly$ 0 $ JJ 4 L + ;8"  H;i"^hLڥ ?"    S )"")" +         "Eli") +  + + L +L + L + +ed`dC5 d""\  +cHc +h % +cHc +h + +8H" +hL i +" i " .  +")")" + +")")"   +")"   +JJ))  + +cHch:")")" + +cHch:")")"  +cHch:")"   +JJ))  +  i  + +cHch + + L\iU"a"bh;i"zz z +zk + ;8b  + ;i;i"L;i/ ;i7 ;i7LϨ;i/ "LLϨ;iG",LϨ;iK"ͦH;i;h;i/"LLϨ;i/"8cV;iK"ͦ ;i/"=V LϨ;i;i/"ѯ;i/c)Lè  y :::;i/cc  £:c /  LL&Lv " :c /  ) + +hjfj  c )Lj Lש + + /    H c   +  Z    +c       L. +  + ;ibzz z +zk + ;8 + &$;i +"  L)  L7)Lc8  LA77LȮ ȈFj +:%L, + +"/ +"/ @ LE  L%  L + + W +i&  "bh  L 7 "  LcJ)LN +c +8H   "bh  L8Hhd?8 +) e +i&"#p 7  +) L* Z D +i&  "bh  L78 +   +i&H7he"#p   8 &$ g c c      L;izz z +zk + ;8 +  Lണ,.7Lz  +  +e:LM   +  +e!ؐ Lf8ic + d + "a c Lfie  L\c) +  5 .i c . i c  Li c )L -ic ? B    i c)Zie  ) L i c).     A@Z9 ))%: cic    Lⲣ? 7  i" Hhi"Zi"Z;izz z +zk + ;8  +;i +" )   Lo  %7)      LK + Ȉ +&L :" :" x::II%%8 HhLW +` +"/E  Lo%  Lo +  L9      L8 HhcHch7)C +"/L +"r`%  Lo9!  Lp  LocHch))b"  Lo ȈFjeHeh !  @ 77Lm Lm U +i&  "bh  _ 7  +i&  "bh   ;izz z +zk + ;8N   +  + L. ?# ;i;i "L ;i"/DLּ8;i"q   !  +  LļLļ" 86i "86i "86"ͦ 86 86"~86i"  L64;i "29", :Hh  ) JJ J  W @    46 6"8$    L 86"ͦ +86i"     +i&"El L L  + Ȉ +& +  + + x n +"r` + + # +  8Hh + L) )L" } ȈFjeHeh +i&  "bh  ;iNzz z +zk + ;8 +    .  + +"i%     L'ţ  +"1 +"\ -    +  +  "iLã"iLã& f L8">@"4"c"y"O c8 PI0 j Lã"iL£"O8">@"4"c"y + +"Oc8PI0\c8 PIK8PI  +H">h"4j +   "  Lţ - $           "> + +"4" \" +"*"\  0cH  h  :  88PI0Lã& f Lĥ & $8 -  +  +"i0   +"i0        L  ,           )Е ;izz z +zk + ;8     "X Ld̊ + + + + Ld̥ + # )/"V  J   +Ld̩Ld  "U  JLd   +Ld̥ +"$Lḍ Ld̠64 +iC"Z Ld̥ +iN"Z# +i\"  " H      Ld̠)"\ +E) + +:La̠ +: +7:Lḁ +iI"Z7: Ld̥ +iK"Z# +iX"  +iF"Z  Lḍ +c JJJJeHeh   Ld8 Hh +" Ld̩    Ld̦i$&c (* cHch02e +ib"Z: Ld̠: Ld̥ +id" ,.&&Lʠ: Ld(cH*c h,.G"\Fj77eHeh&i ȈFj " Ld̩  L"̥ +ih"ZL"̥ +",:L"   +i6"ZUL"̥ +i8" RRkaAd +i" rrEAa> +i "  +i$"     ;izz z +zk +;8@-/ 1"Z + +Lӣ)+% ' ! # 1L +HH"hhh8PI0Lө))++%%''!;#=79 53??8PI07))++%%'';!=#79 53L*ͣ%'LΥ +c? Z   4 +c? z J  )!+#;=79 LxөLӣ=L +У5ʆ;=PI0L +У7 9 A=;"p +c?))9H9hx +"r|  Lϥ +c?)9H9hc +"r|  x +c?))ʆ9H9h  5 +c?)    )+ Lң5ʆ;=PILѣ3ʆ;=PI0Lѣ)+ ]5ʆ8;H?h"p +c?))Hh/-79"r|)+ Lѥ +c?)Hh/-79"r|)+ x +c?))ʆHh)+ 59H9h +c?)    Lxң3ʆ8;H?hPIC)++)  +c?   )+  7 9 =;L4ӣ3eHehPI08     ! #   53?%i%'i'!)#+%%'';=79 53?Lͣ1;i@z +zk + ;8   + ;i"%Liۥ)H + + e h   f/_\Xɀ"[Liۣ Liۣ   + +eL9ԣ    f / Lܣ \ L            + : +e.I L֥ + : +e.L֥ + :: +e.L֣ +e , Hi eh Liۊ  .i e   2 +: +e . :ʦ + +eLi۩  + +e L۩ % + +e. +     ' +: +e. :Ң i  "El  )       + +e  Lqڣ Lۣ.  Lۣ L!ڣ L!ڣɀK  "#:#)    } :.      Lۣ   i c     L٣L٩"[{AZ     a'z  8        $_         i c     Lۣ    4       L{      + +     # #  +     JJNJ              + ;iz z +zk  + +     '         Lף  L֣L + ;8   ;iO"j;i +    Lmߣ % ;iO"? Lo + +      0 0 0     " O - %         "  * . +   %  n +   0 D9  9 +"*a)e80      +%   . L    * 4 +     s   0 D9  9 +"*a)e80      +     +   l d    l '            %;iO";izz z +zk)"ĠL#i + + ;c)L0 +# :#%;iO""?ԣ +)/:"  ;iO"?ʣ%;iO "?إ  + +LoLߩELV +7;iO"? Lo # :Gi + + -+)'L# :LA d EiGiʃL d 7;ʃ + + -+)' d L-H;i;i'8  -+)' ;i;i;i +"  ;i;i;i +"  3 x  'c      #0cH;i1ch # # Lx#:&##;i/c - ##:#%;iO""?ԣ:;iO;i/c"?ң%;iO "?إ  + +LoiH +;i1"Ch;i/"2Z +# :# +%;iO""? + +ԩ;i/c)6 +%;iO "?إ J;iO;i/c"?;iO"?  L^ + ;88"DVDF HJ "U "U  L % LK "U "U    % L;  +  +) '+@a#  )"Ġ+";V6+";V'++";V ";V )L+L + 0 {9 p 80  #+-' + + +c)c";V+ )L) + + +c)c+";V L * L#+3 +  +)L + + 8  ' L . .#+;i8zz z +zk+";VL z  t  . ";V+L l h   j +#";Ve l *#+ ++#";V3 h Lm#+ ++#";V )'"U "U   +   +)'"$ &   L=& p :#&"$ + & +)'ǩ & E G & & e 7g & ,"V"VV[ LE &  S L c L: s L& d L: i L# &"V"VV L # # )   # "$ ; &)"Ġ#  +"MV L$""U $""U  V ;  # @ LHh HH"2V"][hhL6"MV%# `  "MV #   $;"V "H;i/h8  #    L"2V%H"Vh"V"2V&)H"Vh"V"$ L6# "ViNʆ# (# +I)8ʆ# "8  +  #   % +;"V "H;i/h8  "$    #NJ + )8PI)  # @# #      # c):;i-e 0 #  %   @#     "#     # L.# E) )8PI "Vc      +    )8PI' "2V H"Vh"V  ȣ     )8PI0  "V # Q "2V0H"Vh"V@# .  # xX"2VH"Vh"V  [# N #  +  #  -  "2V )H"Vh"V  )8PI#"2V0H"Vh"V:    = : "2V );i-e)H"Vh"V    L - ;"V ]"V"VV   #  "/^  # 1  "2V H"Vh"V : ۣ    L  "2V)H"Vh"V: :  "$ "2V H"Vh"V:ݣ L    "2V)H"Vh"V L + ;8N +;i"X L: + + + + G  G"U  JL: +L: + +i +CECEH;iEI"^hCE(CEEC:E%C% +CEH' 4   " ) 52$HJJJJJJh":  "8:77 +H"H"7979L:\ +Z +L:JLJ +L H;iLI"^hL:4??JL!?8JJLL +  + + +? A +? AJɀLL: +  + 4JJ4J   4JL:   "cJHcNh$&  +; ==;  L|LHLhZJ h  +u= +ud + '&LJ"(**(&& +  +i + i Hd +e + e +:H" + (*7(*+    +, .(*LpL:LNLJ ȈFj +  +g= +gd + '&LJ" +  + .  +& + +i  <   +"\Fji  cH:H" + "Ȉ +&H"    +, .(*?cHCch.,5"\cHchc(Hc,h020cCH4cGh + +:EC:II%%80H4h  9cHch + cc + ,,..L5"F: + iiii +  +  + 5"c,Hc0h + ,. &&&& + 0c +H4ch + 8 +?HChJLL:8JHNhH209"\h8Hh8(H,h " +   - + !;=Ff   L} L:  L + r;=& &@ &  p4JJ   =; P;= &  +  0L: + 7;=+ &    ;=LPL:   + L:H +"El. + "#p +i H"a   +i"a 5   +"  +i"aJL +iJ"a +i LJ"   +i?"a +i"a +iA?"  L  +iC&$" +i$.," +i," +i0"a +i2"a @ )B  +iG"#pf +i'&$" +i,"a $ )&  +i+"#p +iU"aCA +I"bhL:  LH CAi +I"bhH +"El +RRaA" +irrAa" +i +:" +i" +iU"aCAi +I"bhCA +I"bh7H"*a +"El +  + 5L8  ( +* + +  + + + + + + 79 + + + 7 +9 + + + H +I"bhL:cHch + 8Hh + L      ZJL   4          49JL H +;iI"3hL:HI"^hL:L:  H +" +i" +i"A   + + +  + + +  + +", +. + 79 + + + 7 +9 + + + H +I"bh;iNzz z +zkH +"ElcHch + 8Hh + L + L{  @!#%')+-/=@CFILORUX[^adg@@+#} 7A3;5f,Q8qClEuSwFr@k'''''''''######''# ##'# '# '# ##'## ##'''# #''''''''''######## ########'''''''''''##'# ''''''''######## ''''''''######## gcJ''##'; #''# '''# ### ### '''# '#                                                                      gcJ gcJ; gcJ; gcJ; gcJ; gcJ; gcJ; gcJ; ; #' #''' ### ### #''' #''''''''''######'## #' #' #'## #''## ##'''# #'''# '##'' ########''''''''gcJ; ########'''''''' #'##''''# #''# #''# #''# #''# #''# #''# #''# #''# #''# #''# #''# #''# #''# #''# #''# #'''# #'''## ##''# ##'# '# '# ##'## ##'''# #''''''''''######## ########''''''''''# #'''## ##'## #' #' #'## #''## ##'''# #''''# #'''## ##''# ##'# '# '# ##'######'''''''''''''''''######## ########''''''''''# #'''## ##'## #' #' #'## #''######'''''''''7Gh t G~}  Yk  )%GR+R(R$R +R S UWYZ ] acgkmmmmmmigc_ +] [YX V T +S"R%R)R+R 0R0R0R0R0R0R0R0R0R0a0R0R0R0v trponnnmnnnnnmnnnnnnprt v0R0R0R0~R(R(R(RRRRRRRRRRRRRRRR0R0R0R0R0R0R0R0R0R0mphc!_$]&[(Y*W,U-U.S  S R%Q(Q*P*P,P,P,P,P,P*P*P(Q&R R  S.T.U,W*Y([&]$` cho~~~iiiiiiiiiiiiiii0R0R0R0R0R0R0R0R0R0^O:3P:2Q:1R:~:~:~:~:q  BK:o BL:mBM:lBN:k:j:i:h:gBG:fBH:eBI:dBJ:c:b:a:`:_BC:^BD:] BE:\ BF:[:Z:Y:X:WB?:VB@:U BA:T  BB:S +:R +:Q :P :O:N:Md1ru6:Lb]f:Ka?|Q:J_f u6:J_J f:J  +  ^$liPzQ:TnYX0Pzu6:6xp[X0Pzf: `t\X0PzQ:Cy_X0Pzu6:g}b X +0Pzf:Qe X 0PzQ: X0: X0:  X0::M X0::M X0::M X0::M X0 X0 X0  X0! X0"ǝM X0#ƝM XU7, 0$ŝM +XK  0%ĝMXV> * 0&XN&/0'XWD'0(eXR/-0Pz)}M Gz*ˠMV*! +!+^+ʠMs8*) +!*=s,ɠMwA*' +!*Ew-ȠMh2*' +!*7k. R*% "*/a /L q< *S O0 `d, *Ew ]2(j}H*7kf5ϞRB{m4*/al.8ΞTQXV u9;͞Uc~I>̞W3o T@,F| +cC,Zg#F-fr5I.;vx@LӟҟџПi  + +      !#%&' ())*+%'./0 *12 3 4!5$/"6#6&1$8(3)>,8-9+@,A/<0>.C/E1G4B6D4J7E7F5K7N:I8O;R>N>N>VAQ@XAYDVB[EVD\E]H[F_G`HaIaIbL_KdLfOcNgOhSgQkRlUjTnUoXn[qZt[u^u]w`x_z`{c{c~de~fghhhijklmmnnopqqqrrssstttuuvvvvwwwwxxyyz{mq\Y\\\;\\\F\\\\\\\rp\\+\\\Y\\\ӏ\'\n\\\\\\#m\r\]\C[\ \ H\YY\a\_\\n\p\n\o\o\w\mw\gy\\l\*\U\9o\+u\\j0HZ +  + [dH"k+z +zzz z +zzzzzzh@0HZ +  + [dH"f+z +zzz z +zzzzzzh@8[dH\mP \ No newline at end of file diff --git a/src/toolbox.c b/src/toolbox.c index 7f1a088..9c9089f 100644 --- a/src/toolbox.c +++ b/src/toolbox.c @@ -67,7 +67,7 @@ #include "rsrc/font/MSX_CP437_8x8.h" #include "rsrc/bitmaps/splash_c256_u.h" -const char* VolumeStr[FF_VOLUMES] = { "sd0" }; +const char* VolumeStr[FF_VOLUMES] = { "sd0", "sd1" }; extern unsigned long __memory_start; diff --git a/src/version.h b/src/version.h index 03f0bdd..38f2432 100644 --- a/src/version.h +++ b/src/version.h @@ -7,6 +7,6 @@ #define VER_MAJOR 1 #define VER_MINOR 0 -#define VER_BUILD 16 +#define VER_BUILD 17 #endif