From 7f260814dff5fc49fdd38e03de347c3617804ed3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B4=BA=E5=AD=90=E7=84=B6?= Date: Fri, 9 Jul 2021 01:40:02 +0800 Subject: [PATCH] upload --- .gitignore | 53 + 18组实验报告(栗端宇、贺子然).pdf | Bin 0 -> 1098752 bytes LICENSE | 35 + README.md | 19 + linux-0.11-lab/0.gdb | 5 + linux-0.11-lab/0/README | 6 + .../0/Source-Insight/Linux-0.11.IAB | Bin 0 -> 102400 bytes .../0/Source-Insight/Linux-0.11.IAD | Bin 0 -> 1328 bytes .../0/Source-Insight/Linux-0.11.IMB | Bin 0 -> 81920 bytes .../0/Source-Insight/Linux-0.11.IMD | Bin 0 -> 1128 bytes .../0/Source-Insight/Linux-0.11.PFI | Bin 0 -> 412 bytes linux-0.11-lab/0/Source-Insight/Linux-0.11.PO | Bin 0 -> 776 bytes linux-0.11-lab/0/Source-Insight/Linux-0.11.PR | Bin 0 -> 32648 bytes .../0/Source-Insight/Linux-0.11.PRI | Bin 0 -> 208984 bytes linux-0.11-lab/0/Source-Insight/Linux-0.11.PS | Bin 0 -> 623496 bytes .../0/Source-Insight/Linux-0.11.SearchResults | 2 + .../0/Source-Insight/Linux-0.11.WK3 | Bin 0 -> 8851 bytes linux-0.11-lab/0/linux/Image | Bin 0 -> 136900 bytes linux-0.11-lab/0/linux/Image.bkp | Bin 0 -> 131556 bytes linux-0.11-lab/0/linux/Makefile | 125 ++ linux-0.11-lab/0/linux/System.map | 588 +++++++++ linux-0.11-lab/0/linux/System.map.2 | 1085 +++++++++++++++++ linux-0.11-lab/0/linux/boot/bootsect | Bin 0 -> 544 bytes linux-0.11-lab/0/linux/boot/bootsect.o | Bin 0 -> 923 bytes linux-0.11-lab/0/linux/boot/bootsect.s | 260 ++++ linux-0.11-lab/0/linux/boot/head.o | Bin 0 -> 27012 bytes linux-0.11-lab/0/linux/boot/head.s | 240 ++++ linux-0.11-lab/0/linux/boot/setup | Bin 0 -> 344 bytes linux-0.11-lab/0/linux/boot/setup.o | Bin 0 -> 596 bytes linux-0.11-lab/0/linux/boot/setup.s | 231 ++++ linux-0.11-lab/0/linux/execve2.patch | 41 + linux-0.11-lab/0/linux/fs/Makefile | 101 ++ linux-0.11-lab/0/linux/fs/bitmap.c | 168 +++ linux-0.11-lab/0/linux/fs/bitmap.o | Bin 0 -> 10276 bytes linux-0.11-lab/0/linux/fs/block_dev.c | 73 ++ linux-0.11-lab/0/linux/fs/block_dev.o | Bin 0 -> 7292 bytes linux-0.11-lab/0/linux/fs/buffer.c | 384 ++++++ linux-0.11-lab/0/linux/fs/buffer.o | Bin 0 -> 13344 bytes linux-0.11-lab/0/linux/fs/char_dev.c | 104 ++ linux-0.11-lab/0/linux/fs/char_dev.o | Bin 0 -> 8284 bytes linux-0.11-lab/0/linux/fs/exec.c | 539 ++++++++ linux-0.11-lab/0/linux/fs/exec.o | Bin 0 -> 19476 bytes linux-0.11-lab/0/linux/fs/fcntl.c | 75 ++ linux-0.11-lab/0/linux/fs/fcntl.o | Bin 0 -> 6744 bytes linux-0.11-lab/0/linux/fs/file_dev.c | 90 ++ linux-0.11-lab/0/linux/fs/file_dev.o | Bin 0 -> 7824 bytes linux-0.11-lab/0/linux/fs/file_table.c | 9 + linux-0.11-lab/0/linux/fs/file_table.o | Bin 0 -> 2640 bytes linux-0.11-lab/0/linux/fs/fs.o | Bin 0 -> 148841 bytes linux-0.11-lab/0/linux/fs/inode.c | 340 ++++++ linux-0.11-lab/0/linux/fs/inode.o | Bin 0 -> 14068 bytes linux-0.11-lab/0/linux/fs/ioctl.c | 46 + linux-0.11-lab/0/linux/fs/ioctl.o | Bin 0 -> 5824 bytes linux-0.11-lab/0/linux/fs/namei.c | 839 +++++++++++++ linux-0.11-lab/0/linux/fs/namei.o | Bin 0 -> 22212 bytes linux-0.11-lab/0/linux/fs/open.c | 208 ++++ linux-0.11-lab/0/linux/fs/open.o | Bin 0 -> 11180 bytes linux-0.11-lab/0/linux/fs/pipe.c | 111 ++ linux-0.11-lab/0/linux/fs/pipe.o | Bin 0 -> 8100 bytes linux-0.11-lab/0/linux/fs/read_write.c | 103 ++ linux-0.11-lab/0/linux/fs/read_write.o | Bin 0 -> 7516 bytes linux-0.11-lab/0/linux/fs/select.c | 10 + linux-0.11-lab/0/linux/fs/select.o | Bin 0 -> 1772 bytes linux-0.11-lab/0/linux/fs/stat.c | 66 + linux-0.11-lab/0/linux/fs/stat.o | Bin 0 -> 7208 bytes linux-0.11-lab/0/linux/fs/super.c | 282 +++++ linux-0.11-lab/0/linux/fs/super.o | Bin 0 -> 12280 bytes linux-0.11-lab/0/linux/fs/truncate.c | 65 + linux-0.11-lab/0/linux/fs/truncate.o | Bin 0 -> 6844 bytes linux-0.11-lab/0/linux/include/a.out.h | 220 ++++ linux-0.11-lab/0/linux/include/asm/io.h | 24 + linux-0.11-lab/0/linux/include/asm/memory.h | 15 + linux-0.11-lab/0/linux/include/asm/segment.h | 65 + linux-0.11-lab/0/linux/include/asm/system.h | 66 + linux-0.11-lab/0/linux/include/const.h | 15 + linux-0.11-lab/0/linux/include/ctype.h | 34 + linux-0.11-lab/0/linux/include/errno.h | 60 + linux-0.11-lab/0/linux/include/fcntl.h | 55 + linux-0.11-lab/0/linux/include/linux/config.h | 48 + linux-0.11-lab/0/linux/include/linux/fdreg.h | 71 ++ linux-0.11-lab/0/linux/include/linux/fs.h | 202 +++ linux-0.11-lab/0/linux/include/linux/hdreg.h | 65 + linux-0.11-lab/0/linux/include/linux/head.h | 20 + linux-0.11-lab/0/linux/include/linux/kernel.h | 22 + linux-0.11-lab/0/linux/include/linux/mm.h | 10 + linux-0.11-lab/0/linux/include/linux/sched.h | 239 ++++ linux-0.11-lab/0/linux/include/linux/sys.h | 119 ++ linux-0.11-lab/0/linux/include/linux/tty.h | 77 ++ linux-0.11-lab/0/linux/include/new.h | 30 + linux-0.11-lab/0/linux/include/signal.h | 68 ++ linux-0.11-lab/0/linux/include/stdarg.h | 28 + linux-0.11-lab/0/linux/include/stddef.h | 19 + linux-0.11-lab/0/linux/include/string.h | 405 ++++++ linux-0.11-lab/0/linux/include/sys/stat.h | 60 + linux-0.11-lab/0/linux/include/sys/times.h | 15 + linux-0.11-lab/0/linux/include/sys/types.h | 46 + linux-0.11-lab/0/linux/include/sys/utsname.h | 16 + linux-0.11-lab/0/linux/include/sys/wait.h | 23 + linux-0.11-lab/0/linux/include/termios.h | 228 ++++ linux-0.11-lab/0/linux/include/time.h | 42 + linux-0.11-lab/0/linux/include/unistd.h | 277 +++++ linux-0.11-lab/0/linux/include/utime.h | 13 + linux-0.11-lab/0/linux/init/main.c | 216 ++++ linux-0.11-lab/0/linux/init/main.c.rej | 12 + linux-0.11-lab/0/linux/init/main.o | Bin 0 -> 12208 bytes linux-0.11-lab/0/linux/kernel/Makefile | 83 ++ linux-0.11-lab/0/linux/kernel/asm.o | Bin 0 -> 1740 bytes linux-0.11-lab/0/linux/kernel/asm.s | 146 +++ .../0/linux/kernel/blk_drv/Makefile | 58 + linux-0.11-lab/0/linux/kernel/blk_drv/blk.h | 140 +++ .../0/linux/kernel/blk_drv/blk_drv.a | Bin 0 -> 52196 bytes .../0/linux/kernel/blk_drv/floppy.c | 463 +++++++ .../0/linux/kernel/blk_drv/floppy.o | Bin 0 -> 16608 bytes linux-0.11-lab/0/linux/kernel/blk_drv/hd.c | 351 ++++++ linux-0.11-lab/0/linux/kernel/blk_drv/hd.o | Bin 0 -> 15516 bytes .../0/linux/kernel/blk_drv/ll_rw_blk.c | 165 +++ .../0/linux/kernel/blk_drv/ll_rw_blk.o | Bin 0 -> 8736 bytes .../0/linux/kernel/blk_drv/ramdisk.c | 126 ++ .../0/linux/kernel/blk_drv/ramdisk.o | Bin 0 -> 10660 bytes .../0/linux/kernel/chr_drv/Makefile | 68 ++ .../0/linux/kernel/chr_drv/chr_drv.a | Bin 0 -> 68886 bytes .../0/linux/kernel/chr_drv/console.c | 710 +++++++++++ .../0/linux/kernel/chr_drv/console.o | Bin 0 -> 20892 bytes .../0/linux/kernel/chr_drv/keyboard.2.o | Bin 0 -> 6024 bytes .../0/linux/kernel/chr_drv/keyboard.2.s | 466 +++++++ .../0/linux/kernel/chr_drv/keyboard.S | 588 +++++++++ linux-0.11-lab/0/linux/kernel/chr_drv/rs_io.o | Bin 0 -> 1320 bytes linux-0.11-lab/0/linux/kernel/chr_drv/rs_io.s | 147 +++ .../0/linux/kernel/chr_drv/serial.c | 59 + .../0/linux/kernel/chr_drv/serial.o | Bin 0 -> 6748 bytes .../0/linux/kernel/chr_drv/tty_io.c | 349 ++++++ .../0/linux/kernel/chr_drv/tty_io.o | Bin 0 -> 22500 bytes .../0/linux/kernel/chr_drv/tty_ioctl.c | 204 ++++ .../0/linux/kernel/chr_drv/tty_ioctl.o | Bin 0 -> 10644 bytes linux-0.11-lab/0/linux/kernel/exit.c | 197 +++ linux-0.11-lab/0/linux/kernel/exit.o | Bin 0 -> 11160 bytes linux-0.11-lab/0/linux/kernel/fork.c | 148 +++ linux-0.11-lab/0/linux/kernel/fork.o | Bin 0 -> 9636 bytes linux-0.11-lab/0/linux/kernel/kernel.o | Bin 0 -> 88148 bytes linux-0.11-lab/0/linux/kernel/math/Makefile | 43 + linux-0.11-lab/0/linux/kernel/math/math.a | Bin 0 -> 6624 bytes .../0/linux/kernel/math/math_emulate.c | 42 + .../0/linux/kernel/math/math_emulate.o | Bin 0 -> 6460 bytes linux-0.11-lab/0/linux/kernel/mktime.c | 58 + linux-0.11-lab/0/linux/kernel/mktime.o | Bin 0 -> 2868 bytes linux-0.11-lab/0/linux/kernel/panic.c | 24 + linux-0.11-lab/0/linux/kernel/panic.o | Bin 0 -> 5420 bytes linux-0.11-lab/0/linux/kernel/printk.c | 41 + linux-0.11-lab/0/linux/kernel/printk.o | Bin 0 -> 2420 bytes linux-0.11-lab/0/linux/kernel/sched.c | 412 +++++++ linux-0.11-lab/0/linux/kernel/sched.o | Bin 0 -> 23040 bytes linux-0.11-lab/0/linux/kernel/signal.c | 129 ++ linux-0.11-lab/0/linux/kernel/signal.o | Bin 0 -> 8956 bytes linux-0.11-lab/0/linux/kernel/sys.c | 440 +++++++ linux-0.11-lab/0/linux/kernel/sys.o | Bin 0 -> 17008 bytes linux-0.11-lab/0/linux/kernel/system_call.o | Bin 0 -> 2640 bytes linux-0.11-lab/0/linux/kernel/system_call.s | 298 +++++ .../0/linux/kernel/system_call.s.rej | 14 + linux-0.11-lab/0/linux/kernel/traps.c | 208 ++++ linux-0.11-lab/0/linux/kernel/traps.o | Bin 0 -> 12968 bytes linux-0.11-lab/0/linux/kernel/vsprintf.c | 233 ++++ linux-0.11-lab/0/linux/kernel/vsprintf.o | Bin 0 -> 6152 bytes linux-0.11-lab/0/linux/lib/Makefile | 73 ++ linux-0.11-lab/0/linux/lib/_exit.c | 13 + linux-0.11-lab/0/linux/lib/_exit.o | Bin 0 -> 1988 bytes linux-0.11-lab/0/linux/lib/close.c | 10 + linux-0.11-lab/0/linux/lib/close.o | Bin 0 -> 2220 bytes linux-0.11-lab/0/linux/lib/ctype.c | 35 + linux-0.11-lab/0/linux/lib/ctype.o | Bin 0 -> 1904 bytes linux-0.11-lab/0/linux/lib/dup.c | 10 + linux-0.11-lab/0/linux/lib/dup.o | Bin 0 -> 2196 bytes linux-0.11-lab/0/linux/lib/errno.c | 7 + linux-0.11-lab/0/linux/lib/errno.o | Bin 0 -> 1468 bytes linux-0.11-lab/0/linux/lib/execve.c | 10 + linux-0.11-lab/0/linux/lib/execve.o | Bin 0 -> 2336 bytes linux-0.11-lab/0/linux/lib/lib.a | Bin 0 -> 34122 bytes linux-0.11-lab/0/linux/lib/malloc.c | 232 ++++ linux-0.11-lab/0/linux/lib/malloc.o | Bin 0 -> 4876 bytes linux-0.11-lab/0/linux/lib/open.c | 25 + linux-0.11-lab/0/linux/lib/open.o | Bin 0 -> 2364 bytes linux-0.11-lab/0/linux/lib/setsid.c | 10 + linux-0.11-lab/0/linux/lib/setsid.o | Bin 0 -> 2240 bytes linux-0.11-lab/0/linux/lib/string.c | 14 + linux-0.11-lab/0/linux/lib/string.o | Bin 0 -> 6376 bytes linux-0.11-lab/0/linux/lib/wait.c | 16 + linux-0.11-lab/0/linux/lib/wait.o | Bin 0 -> 2580 bytes linux-0.11-lab/0/linux/lib/write.c | 10 + linux-0.11-lab/0/linux/lib/write.o | Bin 0 -> 2372 bytes linux-0.11-lab/0/linux/mm/Makefile | 38 + linux-0.11-lab/0/linux/mm/memory.c | 468 +++++++ linux-0.11-lab/0/linux/mm/memory.c.rej | 12 + linux-0.11-lab/0/linux/mm/memory.o | Bin 0 -> 13824 bytes linux-0.11-lab/0/linux/mm/mm.o | Bin 0 -> 13950 bytes linux-0.11-lab/0/linux/mm/page.o | Bin 0 -> 640 bytes linux-0.11-lab/0/linux/mm/page.s | 40 + linux-0.11-lab/0/linux/new.patch | 11 + linux-0.11-lab/0/linux/oscomp_syscalls.md | 109 ++ linux-0.11-lab/0/linux/tools/build | Bin 0 -> 15140 bytes linux-0.11-lab/0/linux/tools/build.c | 171 +++ linux-0.11-lab/0/linux/tools/system | Bin 0 -> 296749 bytes linux-0.11-lab/b/clone.c | 66 + linux-0.11-lab/b/echo.c | 12 + linux-0.11-lab/b/execve.c | 21 + linux-0.11-lab/b/execve2.c | 24 + linux-0.11-lab/b/getcwd.c | 39 + linux-0.11-lab/b/getdents.c | 42 + linux-0.11-lab/b/mmap.c | 62 + linux-0.11-lab/b/munmap.c | 70 ++ linux-0.11-lab/b/pipe.c | 44 + linux-0.11-lab/b/sleep.c | 36 + linux-0.11-lab/bochsout.txt | 337 +++++ linux-0.11-lab/conf/0.11-gdbstub.bxrc | 33 + linux-0.11-lab/conf/0.11.bxrc | 31 + linux-0.11-lab/cur/README | 6 + .../cur/Source-Insight/Linux-0.11.IAB | Bin 0 -> 102400 bytes .../cur/Source-Insight/Linux-0.11.IAD | Bin 0 -> 1328 bytes .../cur/Source-Insight/Linux-0.11.IMB | Bin 0 -> 81920 bytes .../cur/Source-Insight/Linux-0.11.IMD | Bin 0 -> 1128 bytes .../cur/Source-Insight/Linux-0.11.PFI | Bin 0 -> 412 bytes .../cur/Source-Insight/Linux-0.11.PO | Bin 0 -> 776 bytes .../cur/Source-Insight/Linux-0.11.PR | Bin 0 -> 32648 bytes .../cur/Source-Insight/Linux-0.11.PRI | Bin 0 -> 208984 bytes .../cur/Source-Insight/Linux-0.11.PS | Bin 0 -> 623496 bytes .../Source-Insight/Linux-0.11.SearchResults | 2 + .../cur/Source-Insight/Linux-0.11.WK3 | Bin 0 -> 8851 bytes linux-0.11-lab/cur/linux/Image | Bin 0 -> 136900 bytes linux-0.11-lab/cur/linux/Image.bkp | Bin 0 -> 131556 bytes linux-0.11-lab/cur/linux/Makefile | 125 ++ linux-0.11-lab/cur/linux/System.map | 588 +++++++++ linux-0.11-lab/cur/linux/System.map.2 | 1085 +++++++++++++++++ linux-0.11-lab/cur/linux/boot/bootsect | Bin 0 -> 544 bytes linux-0.11-lab/cur/linux/boot/bootsect.o | Bin 0 -> 923 bytes linux-0.11-lab/cur/linux/boot/bootsect.s | 260 ++++ linux-0.11-lab/cur/linux/boot/head.o | Bin 0 -> 27012 bytes linux-0.11-lab/cur/linux/boot/head.s | 240 ++++ linux-0.11-lab/cur/linux/boot/setup | Bin 0 -> 344 bytes linux-0.11-lab/cur/linux/boot/setup.o | Bin 0 -> 596 bytes linux-0.11-lab/cur/linux/boot/setup.s | 231 ++++ linux-0.11-lab/cur/linux/execve2.patch | 41 + linux-0.11-lab/cur/linux/fs/Makefile | 101 ++ linux-0.11-lab/cur/linux/fs/bitmap.c | 168 +++ linux-0.11-lab/cur/linux/fs/bitmap.o | Bin 0 -> 10276 bytes linux-0.11-lab/cur/linux/fs/block_dev.c | 73 ++ linux-0.11-lab/cur/linux/fs/block_dev.o | Bin 0 -> 7292 bytes linux-0.11-lab/cur/linux/fs/buffer.c | 384 ++++++ linux-0.11-lab/cur/linux/fs/buffer.o | Bin 0 -> 13344 bytes linux-0.11-lab/cur/linux/fs/char_dev.c | 104 ++ linux-0.11-lab/cur/linux/fs/char_dev.o | Bin 0 -> 8284 bytes linux-0.11-lab/cur/linux/fs/exec.c | 539 ++++++++ linux-0.11-lab/cur/linux/fs/exec.o | Bin 0 -> 19476 bytes linux-0.11-lab/cur/linux/fs/fcntl.c | 75 ++ linux-0.11-lab/cur/linux/fs/fcntl.o | Bin 0 -> 6744 bytes linux-0.11-lab/cur/linux/fs/file_dev.c | 90 ++ linux-0.11-lab/cur/linux/fs/file_dev.o | Bin 0 -> 7824 bytes linux-0.11-lab/cur/linux/fs/file_table.c | 9 + linux-0.11-lab/cur/linux/fs/file_table.o | Bin 0 -> 2640 bytes linux-0.11-lab/cur/linux/fs/fs.o | Bin 0 -> 148841 bytes linux-0.11-lab/cur/linux/fs/inode.c | 340 ++++++ linux-0.11-lab/cur/linux/fs/inode.o | Bin 0 -> 14068 bytes linux-0.11-lab/cur/linux/fs/ioctl.c | 46 + linux-0.11-lab/cur/linux/fs/ioctl.o | Bin 0 -> 5824 bytes linux-0.11-lab/cur/linux/fs/namei.c | 893 ++++++++++++++ linux-0.11-lab/cur/linux/fs/namei.o | Bin 0 -> 22212 bytes linux-0.11-lab/cur/linux/fs/open.c | 208 ++++ linux-0.11-lab/cur/linux/fs/open.o | Bin 0 -> 11180 bytes linux-0.11-lab/cur/linux/fs/pipe.c | 111 ++ linux-0.11-lab/cur/linux/fs/pipe.o | Bin 0 -> 8100 bytes linux-0.11-lab/cur/linux/fs/read_write.c | 103 ++ linux-0.11-lab/cur/linux/fs/read_write.o | Bin 0 -> 7516 bytes linux-0.11-lab/cur/linux/fs/select.c | 10 + linux-0.11-lab/cur/linux/fs/select.o | Bin 0 -> 1772 bytes linux-0.11-lab/cur/linux/fs/stat.c | 66 + linux-0.11-lab/cur/linux/fs/stat.o | Bin 0 -> 7208 bytes linux-0.11-lab/cur/linux/fs/super.c | 282 +++++ linux-0.11-lab/cur/linux/fs/super.o | Bin 0 -> 12280 bytes linux-0.11-lab/cur/linux/fs/truncate.c | 65 + linux-0.11-lab/cur/linux/fs/truncate.o | Bin 0 -> 6844 bytes linux-0.11-lab/cur/linux/include/a.out.h | 220 ++++ linux-0.11-lab/cur/linux/include/asm/io.h | 24 + linux-0.11-lab/cur/linux/include/asm/memory.h | 15 + .../cur/linux/include/asm/segment.h | 65 + linux-0.11-lab/cur/linux/include/asm/system.h | 66 + linux-0.11-lab/cur/linux/include/const.h | 15 + linux-0.11-lab/cur/linux/include/ctype.h | 34 + linux-0.11-lab/cur/linux/include/errno.h | 60 + linux-0.11-lab/cur/linux/include/fcntl.h | 55 + .../cur/linux/include/linux/config.h | 48 + .../cur/linux/include/linux/fdreg.h | 71 ++ linux-0.11-lab/cur/linux/include/linux/fs.h | 202 +++ .../cur/linux/include/linux/hdreg.h | 65 + linux-0.11-lab/cur/linux/include/linux/head.h | 20 + .../cur/linux/include/linux/kernel.h | 22 + linux-0.11-lab/cur/linux/include/linux/mm.h | 10 + .../cur/linux/include/linux/sched.h | 239 ++++ linux-0.11-lab/cur/linux/include/linux/sys.h | 119 ++ linux-0.11-lab/cur/linux/include/linux/tty.h | 77 ++ linux-0.11-lab/cur/linux/include/new.h | 30 + linux-0.11-lab/cur/linux/include/signal.h | 68 ++ linux-0.11-lab/cur/linux/include/stdarg.h | 28 + linux-0.11-lab/cur/linux/include/stddef.h | 19 + linux-0.11-lab/cur/linux/include/string.h | 405 ++++++ linux-0.11-lab/cur/linux/include/sys/stat.h | 60 + linux-0.11-lab/cur/linux/include/sys/times.h | 15 + linux-0.11-lab/cur/linux/include/sys/types.h | 46 + .../cur/linux/include/sys/utsname.h | 16 + linux-0.11-lab/cur/linux/include/sys/wait.h | 23 + linux-0.11-lab/cur/linux/include/termios.h | 228 ++++ linux-0.11-lab/cur/linux/include/time.h | 42 + linux-0.11-lab/cur/linux/include/unistd.h | 277 +++++ linux-0.11-lab/cur/linux/include/utime.h | 13 + linux-0.11-lab/cur/linux/init/main.c | 216 ++++ linux-0.11-lab/cur/linux/init/main.c.rej | 12 + linux-0.11-lab/cur/linux/init/main.o | Bin 0 -> 12208 bytes linux-0.11-lab/cur/linux/kernel/Makefile | 83 ++ linux-0.11-lab/cur/linux/kernel/asm.o | Bin 0 -> 1740 bytes linux-0.11-lab/cur/linux/kernel/asm.s | 146 +++ .../cur/linux/kernel/blk_drv/Makefile | 58 + linux-0.11-lab/cur/linux/kernel/blk_drv/blk.h | 140 +++ .../cur/linux/kernel/blk_drv/blk_drv.a | Bin 0 -> 52196 bytes .../cur/linux/kernel/blk_drv/floppy.c | 463 +++++++ .../cur/linux/kernel/blk_drv/floppy.o | Bin 0 -> 16608 bytes linux-0.11-lab/cur/linux/kernel/blk_drv/hd.c | 351 ++++++ linux-0.11-lab/cur/linux/kernel/blk_drv/hd.o | Bin 0 -> 15516 bytes .../cur/linux/kernel/blk_drv/ll_rw_blk.c | 165 +++ .../cur/linux/kernel/blk_drv/ll_rw_blk.o | Bin 0 -> 8736 bytes .../cur/linux/kernel/blk_drv/ramdisk.c | 126 ++ .../cur/linux/kernel/blk_drv/ramdisk.o | Bin 0 -> 10660 bytes .../cur/linux/kernel/chr_drv/Makefile | 68 ++ .../cur/linux/kernel/chr_drv/chr_drv.a | Bin 0 -> 68886 bytes .../cur/linux/kernel/chr_drv/console.c | 710 +++++++++++ .../cur/linux/kernel/chr_drv/console.o | Bin 0 -> 20892 bytes .../cur/linux/kernel/chr_drv/keyboard.2.o | Bin 0 -> 6024 bytes .../cur/linux/kernel/chr_drv/keyboard.2.s | 466 +++++++ .../cur/linux/kernel/chr_drv/keyboard.S | 588 +++++++++ .../cur/linux/kernel/chr_drv/rs_io.o | Bin 0 -> 1320 bytes .../cur/linux/kernel/chr_drv/rs_io.s | 147 +++ .../cur/linux/kernel/chr_drv/serial.c | 59 + .../cur/linux/kernel/chr_drv/serial.o | Bin 0 -> 6748 bytes .../cur/linux/kernel/chr_drv/tty_io.c | 349 ++++++ .../cur/linux/kernel/chr_drv/tty_io.o | Bin 0 -> 22500 bytes .../cur/linux/kernel/chr_drv/tty_ioctl.c | 204 ++++ .../cur/linux/kernel/chr_drv/tty_ioctl.o | Bin 0 -> 10644 bytes linux-0.11-lab/cur/linux/kernel/exit.c | 197 +++ linux-0.11-lab/cur/linux/kernel/exit.o | Bin 0 -> 11160 bytes linux-0.11-lab/cur/linux/kernel/fork.c | 148 +++ linux-0.11-lab/cur/linux/kernel/fork.o | Bin 0 -> 9636 bytes linux-0.11-lab/cur/linux/kernel/kernel.o | Bin 0 -> 88148 bytes linux-0.11-lab/cur/linux/kernel/math/Makefile | 43 + linux-0.11-lab/cur/linux/kernel/math/math.a | Bin 0 -> 6624 bytes .../cur/linux/kernel/math/math_emulate.c | 42 + .../cur/linux/kernel/math/math_emulate.o | Bin 0 -> 6460 bytes linux-0.11-lab/cur/linux/kernel/mktime.c | 58 + linux-0.11-lab/cur/linux/kernel/mktime.o | Bin 0 -> 2868 bytes linux-0.11-lab/cur/linux/kernel/panic.c | 24 + linux-0.11-lab/cur/linux/kernel/panic.o | Bin 0 -> 5420 bytes linux-0.11-lab/cur/linux/kernel/printk.c | 41 + linux-0.11-lab/cur/linux/kernel/printk.o | Bin 0 -> 2420 bytes linux-0.11-lab/cur/linux/kernel/sched.c | 412 +++++++ linux-0.11-lab/cur/linux/kernel/sched.o | Bin 0 -> 23040 bytes linux-0.11-lab/cur/linux/kernel/signal.c | 129 ++ linux-0.11-lab/cur/linux/kernel/signal.o | Bin 0 -> 8956 bytes linux-0.11-lab/cur/linux/kernel/sys.c | 440 +++++++ linux-0.11-lab/cur/linux/kernel/sys.o | Bin 0 -> 17008 bytes linux-0.11-lab/cur/linux/kernel/system_call.o | Bin 0 -> 2640 bytes linux-0.11-lab/cur/linux/kernel/system_call.s | 298 +++++ .../cur/linux/kernel/system_call.s.rej | 14 + linux-0.11-lab/cur/linux/kernel/traps.c | 208 ++++ linux-0.11-lab/cur/linux/kernel/traps.o | Bin 0 -> 12968 bytes linux-0.11-lab/cur/linux/kernel/vsprintf.c | 233 ++++ linux-0.11-lab/cur/linux/kernel/vsprintf.o | Bin 0 -> 6152 bytes linux-0.11-lab/cur/linux/lib/Makefile | 73 ++ linux-0.11-lab/cur/linux/lib/_exit.c | 13 + linux-0.11-lab/cur/linux/lib/_exit.o | Bin 0 -> 1988 bytes linux-0.11-lab/cur/linux/lib/close.c | 10 + linux-0.11-lab/cur/linux/lib/close.o | Bin 0 -> 2220 bytes linux-0.11-lab/cur/linux/lib/ctype.c | 35 + linux-0.11-lab/cur/linux/lib/ctype.o | Bin 0 -> 1904 bytes linux-0.11-lab/cur/linux/lib/dup.c | 10 + linux-0.11-lab/cur/linux/lib/dup.o | Bin 0 -> 2196 bytes linux-0.11-lab/cur/linux/lib/errno.c | 7 + linux-0.11-lab/cur/linux/lib/errno.o | Bin 0 -> 1468 bytes linux-0.11-lab/cur/linux/lib/execve.c | 10 + linux-0.11-lab/cur/linux/lib/execve.o | Bin 0 -> 2336 bytes linux-0.11-lab/cur/linux/lib/lib.a | Bin 0 -> 34122 bytes linux-0.11-lab/cur/linux/lib/malloc.c | 232 ++++ linux-0.11-lab/cur/linux/lib/malloc.o | Bin 0 -> 4876 bytes linux-0.11-lab/cur/linux/lib/open.c | 25 + linux-0.11-lab/cur/linux/lib/open.o | Bin 0 -> 2364 bytes linux-0.11-lab/cur/linux/lib/setsid.c | 10 + linux-0.11-lab/cur/linux/lib/setsid.o | Bin 0 -> 2240 bytes linux-0.11-lab/cur/linux/lib/string.c | 14 + linux-0.11-lab/cur/linux/lib/string.o | Bin 0 -> 6376 bytes linux-0.11-lab/cur/linux/lib/wait.c | 16 + linux-0.11-lab/cur/linux/lib/wait.o | Bin 0 -> 2580 bytes linux-0.11-lab/cur/linux/lib/write.c | 10 + linux-0.11-lab/cur/linux/lib/write.o | Bin 0 -> 2372 bytes linux-0.11-lab/cur/linux/mm/Makefile | 38 + linux-0.11-lab/cur/linux/mm/memory.c | 468 +++++++ linux-0.11-lab/cur/linux/mm/memory.c.rej | 12 + linux-0.11-lab/cur/linux/mm/memory.o | Bin 0 -> 13824 bytes linux-0.11-lab/cur/linux/mm/mm.o | Bin 0 -> 13950 bytes linux-0.11-lab/cur/linux/mm/page.o | Bin 0 -> 640 bytes linux-0.11-lab/cur/linux/mm/page.s | 40 + linux-0.11-lab/cur/linux/new.patch | 11 + linux-0.11-lab/cur/linux/oscomp_syscalls.md | 109 ++ linux-0.11-lab/cur/linux/tools/build | Bin 0 -> 15140 bytes linux-0.11-lab/cur/linux/tools/build.c | 171 +++ linux-0.11-lab/cur/linux/tools/system | Bin 0 -> 296749 bytes linux-0.11-lab/images/rootimage-0.11 | Bin 0 -> 10485760 bytes linux-0.11-lab/mygdb | 3 + linux-0.11-lab/oscomp_syscalls.md | 109 ++ linux-0.11-lab/run | 3 + linux-0.11-lab/rundbg | 2 + linux-0.11-lab/rungdb | 3 + linux-0.11-lab/runtest | 3 + 415 files changed, 34786 insertions(+) create mode 100644 .gitignore create mode 100644 18组实验报告(栗端宇、贺子然).pdf create mode 100644 LICENSE create mode 100644 README.md create mode 100644 linux-0.11-lab/0.gdb create mode 100644 linux-0.11-lab/0/README create mode 100644 linux-0.11-lab/0/Source-Insight/Linux-0.11.IAB create mode 100644 linux-0.11-lab/0/Source-Insight/Linux-0.11.IAD create mode 100644 linux-0.11-lab/0/Source-Insight/Linux-0.11.IMB create mode 100644 linux-0.11-lab/0/Source-Insight/Linux-0.11.IMD create mode 100644 linux-0.11-lab/0/Source-Insight/Linux-0.11.PFI create mode 100644 linux-0.11-lab/0/Source-Insight/Linux-0.11.PO create mode 100644 linux-0.11-lab/0/Source-Insight/Linux-0.11.PR create mode 100644 linux-0.11-lab/0/Source-Insight/Linux-0.11.PRI create mode 100644 linux-0.11-lab/0/Source-Insight/Linux-0.11.PS create mode 100644 linux-0.11-lab/0/Source-Insight/Linux-0.11.SearchResults create mode 100644 linux-0.11-lab/0/Source-Insight/Linux-0.11.WK3 create mode 100644 linux-0.11-lab/0/linux/Image create mode 100644 linux-0.11-lab/0/linux/Image.bkp create mode 100644 linux-0.11-lab/0/linux/Makefile create mode 100644 linux-0.11-lab/0/linux/System.map create mode 100644 linux-0.11-lab/0/linux/System.map.2 create mode 100644 linux-0.11-lab/0/linux/boot/bootsect create mode 100644 linux-0.11-lab/0/linux/boot/bootsect.o create mode 100644 linux-0.11-lab/0/linux/boot/bootsect.s create mode 100644 linux-0.11-lab/0/linux/boot/head.o create mode 100644 linux-0.11-lab/0/linux/boot/head.s create mode 100644 linux-0.11-lab/0/linux/boot/setup create mode 100644 linux-0.11-lab/0/linux/boot/setup.o create mode 100644 linux-0.11-lab/0/linux/boot/setup.s create mode 100644 linux-0.11-lab/0/linux/execve2.patch create mode 100644 linux-0.11-lab/0/linux/fs/Makefile create mode 100644 linux-0.11-lab/0/linux/fs/bitmap.c create mode 100644 linux-0.11-lab/0/linux/fs/bitmap.o create mode 100644 linux-0.11-lab/0/linux/fs/block_dev.c create mode 100644 linux-0.11-lab/0/linux/fs/block_dev.o create mode 100644 linux-0.11-lab/0/linux/fs/buffer.c create mode 100644 linux-0.11-lab/0/linux/fs/buffer.o create mode 100644 linux-0.11-lab/0/linux/fs/char_dev.c create mode 100644 linux-0.11-lab/0/linux/fs/char_dev.o create mode 100644 linux-0.11-lab/0/linux/fs/exec.c create mode 100644 linux-0.11-lab/0/linux/fs/exec.o create mode 100644 linux-0.11-lab/0/linux/fs/fcntl.c create mode 100644 linux-0.11-lab/0/linux/fs/fcntl.o create mode 100644 linux-0.11-lab/0/linux/fs/file_dev.c create mode 100644 linux-0.11-lab/0/linux/fs/file_dev.o create mode 100644 linux-0.11-lab/0/linux/fs/file_table.c create mode 100644 linux-0.11-lab/0/linux/fs/file_table.o create mode 100644 linux-0.11-lab/0/linux/fs/fs.o create mode 100644 linux-0.11-lab/0/linux/fs/inode.c create mode 100644 linux-0.11-lab/0/linux/fs/inode.o create mode 100644 linux-0.11-lab/0/linux/fs/ioctl.c create mode 100644 linux-0.11-lab/0/linux/fs/ioctl.o create mode 100644 linux-0.11-lab/0/linux/fs/namei.c create mode 100644 linux-0.11-lab/0/linux/fs/namei.o create mode 100644 linux-0.11-lab/0/linux/fs/open.c create mode 100644 linux-0.11-lab/0/linux/fs/open.o create mode 100644 linux-0.11-lab/0/linux/fs/pipe.c create mode 100644 linux-0.11-lab/0/linux/fs/pipe.o create mode 100644 linux-0.11-lab/0/linux/fs/read_write.c create mode 100644 linux-0.11-lab/0/linux/fs/read_write.o create mode 100644 linux-0.11-lab/0/linux/fs/select.c create mode 100644 linux-0.11-lab/0/linux/fs/select.o create mode 100644 linux-0.11-lab/0/linux/fs/stat.c create mode 100644 linux-0.11-lab/0/linux/fs/stat.o create mode 100644 linux-0.11-lab/0/linux/fs/super.c create mode 100644 linux-0.11-lab/0/linux/fs/super.o create mode 100644 linux-0.11-lab/0/linux/fs/truncate.c create mode 100644 linux-0.11-lab/0/linux/fs/truncate.o create mode 100644 linux-0.11-lab/0/linux/include/a.out.h create mode 100644 linux-0.11-lab/0/linux/include/asm/io.h create mode 100644 linux-0.11-lab/0/linux/include/asm/memory.h create mode 100644 linux-0.11-lab/0/linux/include/asm/segment.h create mode 100644 linux-0.11-lab/0/linux/include/asm/system.h create mode 100644 linux-0.11-lab/0/linux/include/const.h create mode 100644 linux-0.11-lab/0/linux/include/ctype.h create mode 100644 linux-0.11-lab/0/linux/include/errno.h create mode 100644 linux-0.11-lab/0/linux/include/fcntl.h create mode 100644 linux-0.11-lab/0/linux/include/linux/config.h create mode 100644 linux-0.11-lab/0/linux/include/linux/fdreg.h create mode 100644 linux-0.11-lab/0/linux/include/linux/fs.h create mode 100644 linux-0.11-lab/0/linux/include/linux/hdreg.h create mode 100644 linux-0.11-lab/0/linux/include/linux/head.h create mode 100644 linux-0.11-lab/0/linux/include/linux/kernel.h create mode 100644 linux-0.11-lab/0/linux/include/linux/mm.h create mode 100644 linux-0.11-lab/0/linux/include/linux/sched.h create mode 100644 linux-0.11-lab/0/linux/include/linux/sys.h create mode 100644 linux-0.11-lab/0/linux/include/linux/tty.h create mode 100644 linux-0.11-lab/0/linux/include/new.h create mode 100644 linux-0.11-lab/0/linux/include/signal.h create mode 100644 linux-0.11-lab/0/linux/include/stdarg.h create mode 100644 linux-0.11-lab/0/linux/include/stddef.h create mode 100644 linux-0.11-lab/0/linux/include/string.h create mode 100644 linux-0.11-lab/0/linux/include/sys/stat.h create mode 100644 linux-0.11-lab/0/linux/include/sys/times.h create mode 100644 linux-0.11-lab/0/linux/include/sys/types.h create mode 100644 linux-0.11-lab/0/linux/include/sys/utsname.h create mode 100644 linux-0.11-lab/0/linux/include/sys/wait.h create mode 100644 linux-0.11-lab/0/linux/include/termios.h create mode 100644 linux-0.11-lab/0/linux/include/time.h create mode 100644 linux-0.11-lab/0/linux/include/unistd.h create mode 100644 linux-0.11-lab/0/linux/include/utime.h create mode 100644 linux-0.11-lab/0/linux/init/main.c create mode 100644 linux-0.11-lab/0/linux/init/main.c.rej create mode 100644 linux-0.11-lab/0/linux/init/main.o create mode 100644 linux-0.11-lab/0/linux/kernel/Makefile create mode 100644 linux-0.11-lab/0/linux/kernel/asm.o create mode 100644 linux-0.11-lab/0/linux/kernel/asm.s create mode 100644 linux-0.11-lab/0/linux/kernel/blk_drv/Makefile create mode 100644 linux-0.11-lab/0/linux/kernel/blk_drv/blk.h create mode 100644 linux-0.11-lab/0/linux/kernel/blk_drv/blk_drv.a create mode 100644 linux-0.11-lab/0/linux/kernel/blk_drv/floppy.c create mode 100644 linux-0.11-lab/0/linux/kernel/blk_drv/floppy.o create mode 100644 linux-0.11-lab/0/linux/kernel/blk_drv/hd.c create mode 100644 linux-0.11-lab/0/linux/kernel/blk_drv/hd.o create mode 100644 linux-0.11-lab/0/linux/kernel/blk_drv/ll_rw_blk.c create mode 100644 linux-0.11-lab/0/linux/kernel/blk_drv/ll_rw_blk.o create mode 100644 linux-0.11-lab/0/linux/kernel/blk_drv/ramdisk.c create mode 100644 linux-0.11-lab/0/linux/kernel/blk_drv/ramdisk.o create mode 100644 linux-0.11-lab/0/linux/kernel/chr_drv/Makefile create mode 100644 linux-0.11-lab/0/linux/kernel/chr_drv/chr_drv.a create mode 100644 linux-0.11-lab/0/linux/kernel/chr_drv/console.c create mode 100644 linux-0.11-lab/0/linux/kernel/chr_drv/console.o create mode 100644 linux-0.11-lab/0/linux/kernel/chr_drv/keyboard.2.o create mode 100644 linux-0.11-lab/0/linux/kernel/chr_drv/keyboard.2.s create mode 100644 linux-0.11-lab/0/linux/kernel/chr_drv/keyboard.S create mode 100644 linux-0.11-lab/0/linux/kernel/chr_drv/rs_io.o create mode 100644 linux-0.11-lab/0/linux/kernel/chr_drv/rs_io.s create mode 100644 linux-0.11-lab/0/linux/kernel/chr_drv/serial.c create mode 100644 linux-0.11-lab/0/linux/kernel/chr_drv/serial.o create mode 100644 linux-0.11-lab/0/linux/kernel/chr_drv/tty_io.c create mode 100644 linux-0.11-lab/0/linux/kernel/chr_drv/tty_io.o create mode 100644 linux-0.11-lab/0/linux/kernel/chr_drv/tty_ioctl.c create mode 100644 linux-0.11-lab/0/linux/kernel/chr_drv/tty_ioctl.o create mode 100644 linux-0.11-lab/0/linux/kernel/exit.c create mode 100644 linux-0.11-lab/0/linux/kernel/exit.o create mode 100644 linux-0.11-lab/0/linux/kernel/fork.c create mode 100644 linux-0.11-lab/0/linux/kernel/fork.o create mode 100644 linux-0.11-lab/0/linux/kernel/kernel.o create mode 100644 linux-0.11-lab/0/linux/kernel/math/Makefile create mode 100644 linux-0.11-lab/0/linux/kernel/math/math.a create mode 100644 linux-0.11-lab/0/linux/kernel/math/math_emulate.c create mode 100644 linux-0.11-lab/0/linux/kernel/math/math_emulate.o create mode 100644 linux-0.11-lab/0/linux/kernel/mktime.c create mode 100644 linux-0.11-lab/0/linux/kernel/mktime.o create mode 100644 linux-0.11-lab/0/linux/kernel/panic.c create mode 100644 linux-0.11-lab/0/linux/kernel/panic.o create mode 100644 linux-0.11-lab/0/linux/kernel/printk.c create mode 100644 linux-0.11-lab/0/linux/kernel/printk.o create mode 100644 linux-0.11-lab/0/linux/kernel/sched.c create mode 100644 linux-0.11-lab/0/linux/kernel/sched.o create mode 100644 linux-0.11-lab/0/linux/kernel/signal.c create mode 100644 linux-0.11-lab/0/linux/kernel/signal.o create mode 100644 linux-0.11-lab/0/linux/kernel/sys.c create mode 100644 linux-0.11-lab/0/linux/kernel/sys.o create mode 100644 linux-0.11-lab/0/linux/kernel/system_call.o create mode 100644 linux-0.11-lab/0/linux/kernel/system_call.s create mode 100644 linux-0.11-lab/0/linux/kernel/system_call.s.rej create mode 100644 linux-0.11-lab/0/linux/kernel/traps.c create mode 100644 linux-0.11-lab/0/linux/kernel/traps.o create mode 100644 linux-0.11-lab/0/linux/kernel/vsprintf.c create mode 100644 linux-0.11-lab/0/linux/kernel/vsprintf.o create mode 100644 linux-0.11-lab/0/linux/lib/Makefile create mode 100644 linux-0.11-lab/0/linux/lib/_exit.c create mode 100644 linux-0.11-lab/0/linux/lib/_exit.o create mode 100644 linux-0.11-lab/0/linux/lib/close.c create mode 100644 linux-0.11-lab/0/linux/lib/close.o create mode 100644 linux-0.11-lab/0/linux/lib/ctype.c create mode 100644 linux-0.11-lab/0/linux/lib/ctype.o create mode 100644 linux-0.11-lab/0/linux/lib/dup.c create mode 100644 linux-0.11-lab/0/linux/lib/dup.o create mode 100644 linux-0.11-lab/0/linux/lib/errno.c create mode 100644 linux-0.11-lab/0/linux/lib/errno.o create mode 100644 linux-0.11-lab/0/linux/lib/execve.c create mode 100644 linux-0.11-lab/0/linux/lib/execve.o create mode 100644 linux-0.11-lab/0/linux/lib/lib.a create mode 100644 linux-0.11-lab/0/linux/lib/malloc.c create mode 100644 linux-0.11-lab/0/linux/lib/malloc.o create mode 100644 linux-0.11-lab/0/linux/lib/open.c create mode 100644 linux-0.11-lab/0/linux/lib/open.o create mode 100644 linux-0.11-lab/0/linux/lib/setsid.c create mode 100644 linux-0.11-lab/0/linux/lib/setsid.o create mode 100644 linux-0.11-lab/0/linux/lib/string.c create mode 100644 linux-0.11-lab/0/linux/lib/string.o create mode 100644 linux-0.11-lab/0/linux/lib/wait.c create mode 100644 linux-0.11-lab/0/linux/lib/wait.o create mode 100644 linux-0.11-lab/0/linux/lib/write.c create mode 100644 linux-0.11-lab/0/linux/lib/write.o create mode 100644 linux-0.11-lab/0/linux/mm/Makefile create mode 100644 linux-0.11-lab/0/linux/mm/memory.c create mode 100644 linux-0.11-lab/0/linux/mm/memory.c.rej create mode 100644 linux-0.11-lab/0/linux/mm/memory.o create mode 100644 linux-0.11-lab/0/linux/mm/mm.o create mode 100644 linux-0.11-lab/0/linux/mm/page.o create mode 100644 linux-0.11-lab/0/linux/mm/page.s create mode 100644 linux-0.11-lab/0/linux/new.patch create mode 100644 linux-0.11-lab/0/linux/oscomp_syscalls.md create mode 100644 linux-0.11-lab/0/linux/tools/build create mode 100644 linux-0.11-lab/0/linux/tools/build.c create mode 100644 linux-0.11-lab/0/linux/tools/system create mode 100644 linux-0.11-lab/b/clone.c create mode 100644 linux-0.11-lab/b/echo.c create mode 100644 linux-0.11-lab/b/execve.c create mode 100644 linux-0.11-lab/b/execve2.c create mode 100644 linux-0.11-lab/b/getcwd.c create mode 100644 linux-0.11-lab/b/getdents.c create mode 100644 linux-0.11-lab/b/mmap.c create mode 100644 linux-0.11-lab/b/munmap.c create mode 100644 linux-0.11-lab/b/pipe.c create mode 100644 linux-0.11-lab/b/sleep.c create mode 100644 linux-0.11-lab/bochsout.txt create mode 100644 linux-0.11-lab/conf/0.11-gdbstub.bxrc create mode 100644 linux-0.11-lab/conf/0.11.bxrc create mode 100644 linux-0.11-lab/cur/README create mode 100644 linux-0.11-lab/cur/Source-Insight/Linux-0.11.IAB create mode 100644 linux-0.11-lab/cur/Source-Insight/Linux-0.11.IAD create mode 100644 linux-0.11-lab/cur/Source-Insight/Linux-0.11.IMB create mode 100644 linux-0.11-lab/cur/Source-Insight/Linux-0.11.IMD create mode 100644 linux-0.11-lab/cur/Source-Insight/Linux-0.11.PFI create mode 100644 linux-0.11-lab/cur/Source-Insight/Linux-0.11.PO create mode 100644 linux-0.11-lab/cur/Source-Insight/Linux-0.11.PR create mode 100644 linux-0.11-lab/cur/Source-Insight/Linux-0.11.PRI create mode 100644 linux-0.11-lab/cur/Source-Insight/Linux-0.11.PS create mode 100644 linux-0.11-lab/cur/Source-Insight/Linux-0.11.SearchResults create mode 100644 linux-0.11-lab/cur/Source-Insight/Linux-0.11.WK3 create mode 100644 linux-0.11-lab/cur/linux/Image create mode 100644 linux-0.11-lab/cur/linux/Image.bkp create mode 100644 linux-0.11-lab/cur/linux/Makefile create mode 100644 linux-0.11-lab/cur/linux/System.map create mode 100644 linux-0.11-lab/cur/linux/System.map.2 create mode 100644 linux-0.11-lab/cur/linux/boot/bootsect create mode 100644 linux-0.11-lab/cur/linux/boot/bootsect.o create mode 100644 linux-0.11-lab/cur/linux/boot/bootsect.s create mode 100644 linux-0.11-lab/cur/linux/boot/head.o create mode 100644 linux-0.11-lab/cur/linux/boot/head.s create mode 100644 linux-0.11-lab/cur/linux/boot/setup create mode 100644 linux-0.11-lab/cur/linux/boot/setup.o create mode 100644 linux-0.11-lab/cur/linux/boot/setup.s create mode 100644 linux-0.11-lab/cur/linux/execve2.patch create mode 100644 linux-0.11-lab/cur/linux/fs/Makefile create mode 100644 linux-0.11-lab/cur/linux/fs/bitmap.c create mode 100644 linux-0.11-lab/cur/linux/fs/bitmap.o create mode 100644 linux-0.11-lab/cur/linux/fs/block_dev.c create mode 100644 linux-0.11-lab/cur/linux/fs/block_dev.o create mode 100644 linux-0.11-lab/cur/linux/fs/buffer.c create mode 100644 linux-0.11-lab/cur/linux/fs/buffer.o create mode 100644 linux-0.11-lab/cur/linux/fs/char_dev.c create mode 100644 linux-0.11-lab/cur/linux/fs/char_dev.o create mode 100644 linux-0.11-lab/cur/linux/fs/exec.c create mode 100644 linux-0.11-lab/cur/linux/fs/exec.o create mode 100644 linux-0.11-lab/cur/linux/fs/fcntl.c create mode 100644 linux-0.11-lab/cur/linux/fs/fcntl.o create mode 100644 linux-0.11-lab/cur/linux/fs/file_dev.c create mode 100644 linux-0.11-lab/cur/linux/fs/file_dev.o create mode 100644 linux-0.11-lab/cur/linux/fs/file_table.c create mode 100644 linux-0.11-lab/cur/linux/fs/file_table.o create mode 100644 linux-0.11-lab/cur/linux/fs/fs.o create mode 100644 linux-0.11-lab/cur/linux/fs/inode.c create mode 100644 linux-0.11-lab/cur/linux/fs/inode.o create mode 100644 linux-0.11-lab/cur/linux/fs/ioctl.c create mode 100644 linux-0.11-lab/cur/linux/fs/ioctl.o create mode 100644 linux-0.11-lab/cur/linux/fs/namei.c create mode 100644 linux-0.11-lab/cur/linux/fs/namei.o create mode 100644 linux-0.11-lab/cur/linux/fs/open.c create mode 100644 linux-0.11-lab/cur/linux/fs/open.o create mode 100644 linux-0.11-lab/cur/linux/fs/pipe.c create mode 100644 linux-0.11-lab/cur/linux/fs/pipe.o create mode 100644 linux-0.11-lab/cur/linux/fs/read_write.c create mode 100644 linux-0.11-lab/cur/linux/fs/read_write.o create mode 100644 linux-0.11-lab/cur/linux/fs/select.c create mode 100644 linux-0.11-lab/cur/linux/fs/select.o create mode 100644 linux-0.11-lab/cur/linux/fs/stat.c create mode 100644 linux-0.11-lab/cur/linux/fs/stat.o create mode 100644 linux-0.11-lab/cur/linux/fs/super.c create mode 100644 linux-0.11-lab/cur/linux/fs/super.o create mode 100644 linux-0.11-lab/cur/linux/fs/truncate.c create mode 100644 linux-0.11-lab/cur/linux/fs/truncate.o create mode 100644 linux-0.11-lab/cur/linux/include/a.out.h create mode 100644 linux-0.11-lab/cur/linux/include/asm/io.h create mode 100644 linux-0.11-lab/cur/linux/include/asm/memory.h create mode 100644 linux-0.11-lab/cur/linux/include/asm/segment.h create mode 100644 linux-0.11-lab/cur/linux/include/asm/system.h create mode 100644 linux-0.11-lab/cur/linux/include/const.h create mode 100644 linux-0.11-lab/cur/linux/include/ctype.h create mode 100644 linux-0.11-lab/cur/linux/include/errno.h create mode 100644 linux-0.11-lab/cur/linux/include/fcntl.h create mode 100644 linux-0.11-lab/cur/linux/include/linux/config.h create mode 100644 linux-0.11-lab/cur/linux/include/linux/fdreg.h create mode 100644 linux-0.11-lab/cur/linux/include/linux/fs.h create mode 100644 linux-0.11-lab/cur/linux/include/linux/hdreg.h create mode 100644 linux-0.11-lab/cur/linux/include/linux/head.h create mode 100644 linux-0.11-lab/cur/linux/include/linux/kernel.h create mode 100644 linux-0.11-lab/cur/linux/include/linux/mm.h create mode 100644 linux-0.11-lab/cur/linux/include/linux/sched.h create mode 100644 linux-0.11-lab/cur/linux/include/linux/sys.h create mode 100644 linux-0.11-lab/cur/linux/include/linux/tty.h create mode 100644 linux-0.11-lab/cur/linux/include/new.h create mode 100644 linux-0.11-lab/cur/linux/include/signal.h create mode 100644 linux-0.11-lab/cur/linux/include/stdarg.h create mode 100644 linux-0.11-lab/cur/linux/include/stddef.h create mode 100644 linux-0.11-lab/cur/linux/include/string.h create mode 100644 linux-0.11-lab/cur/linux/include/sys/stat.h create mode 100644 linux-0.11-lab/cur/linux/include/sys/times.h create mode 100644 linux-0.11-lab/cur/linux/include/sys/types.h create mode 100644 linux-0.11-lab/cur/linux/include/sys/utsname.h create mode 100644 linux-0.11-lab/cur/linux/include/sys/wait.h create mode 100644 linux-0.11-lab/cur/linux/include/termios.h create mode 100644 linux-0.11-lab/cur/linux/include/time.h create mode 100644 linux-0.11-lab/cur/linux/include/unistd.h create mode 100644 linux-0.11-lab/cur/linux/include/utime.h create mode 100644 linux-0.11-lab/cur/linux/init/main.c create mode 100644 linux-0.11-lab/cur/linux/init/main.c.rej create mode 100644 linux-0.11-lab/cur/linux/init/main.o create mode 100644 linux-0.11-lab/cur/linux/kernel/Makefile create mode 100644 linux-0.11-lab/cur/linux/kernel/asm.o create mode 100644 linux-0.11-lab/cur/linux/kernel/asm.s create mode 100644 linux-0.11-lab/cur/linux/kernel/blk_drv/Makefile create mode 100644 linux-0.11-lab/cur/linux/kernel/blk_drv/blk.h create mode 100644 linux-0.11-lab/cur/linux/kernel/blk_drv/blk_drv.a create mode 100644 linux-0.11-lab/cur/linux/kernel/blk_drv/floppy.c create mode 100644 linux-0.11-lab/cur/linux/kernel/blk_drv/floppy.o create mode 100644 linux-0.11-lab/cur/linux/kernel/blk_drv/hd.c create mode 100644 linux-0.11-lab/cur/linux/kernel/blk_drv/hd.o create mode 100644 linux-0.11-lab/cur/linux/kernel/blk_drv/ll_rw_blk.c create mode 100644 linux-0.11-lab/cur/linux/kernel/blk_drv/ll_rw_blk.o create mode 100644 linux-0.11-lab/cur/linux/kernel/blk_drv/ramdisk.c create mode 100644 linux-0.11-lab/cur/linux/kernel/blk_drv/ramdisk.o create mode 100644 linux-0.11-lab/cur/linux/kernel/chr_drv/Makefile create mode 100644 linux-0.11-lab/cur/linux/kernel/chr_drv/chr_drv.a create mode 100644 linux-0.11-lab/cur/linux/kernel/chr_drv/console.c create mode 100644 linux-0.11-lab/cur/linux/kernel/chr_drv/console.o create mode 100644 linux-0.11-lab/cur/linux/kernel/chr_drv/keyboard.2.o create mode 100644 linux-0.11-lab/cur/linux/kernel/chr_drv/keyboard.2.s create mode 100644 linux-0.11-lab/cur/linux/kernel/chr_drv/keyboard.S create mode 100644 linux-0.11-lab/cur/linux/kernel/chr_drv/rs_io.o create mode 100644 linux-0.11-lab/cur/linux/kernel/chr_drv/rs_io.s create mode 100644 linux-0.11-lab/cur/linux/kernel/chr_drv/serial.c create mode 100644 linux-0.11-lab/cur/linux/kernel/chr_drv/serial.o create mode 100644 linux-0.11-lab/cur/linux/kernel/chr_drv/tty_io.c create mode 100644 linux-0.11-lab/cur/linux/kernel/chr_drv/tty_io.o create mode 100644 linux-0.11-lab/cur/linux/kernel/chr_drv/tty_ioctl.c create mode 100644 linux-0.11-lab/cur/linux/kernel/chr_drv/tty_ioctl.o create mode 100644 linux-0.11-lab/cur/linux/kernel/exit.c create mode 100644 linux-0.11-lab/cur/linux/kernel/exit.o create mode 100644 linux-0.11-lab/cur/linux/kernel/fork.c create mode 100644 linux-0.11-lab/cur/linux/kernel/fork.o create mode 100644 linux-0.11-lab/cur/linux/kernel/kernel.o create mode 100644 linux-0.11-lab/cur/linux/kernel/math/Makefile create mode 100644 linux-0.11-lab/cur/linux/kernel/math/math.a create mode 100644 linux-0.11-lab/cur/linux/kernel/math/math_emulate.c create mode 100644 linux-0.11-lab/cur/linux/kernel/math/math_emulate.o create mode 100644 linux-0.11-lab/cur/linux/kernel/mktime.c create mode 100644 linux-0.11-lab/cur/linux/kernel/mktime.o create mode 100644 linux-0.11-lab/cur/linux/kernel/panic.c create mode 100644 linux-0.11-lab/cur/linux/kernel/panic.o create mode 100644 linux-0.11-lab/cur/linux/kernel/printk.c create mode 100644 linux-0.11-lab/cur/linux/kernel/printk.o create mode 100644 linux-0.11-lab/cur/linux/kernel/sched.c create mode 100644 linux-0.11-lab/cur/linux/kernel/sched.o create mode 100644 linux-0.11-lab/cur/linux/kernel/signal.c create mode 100644 linux-0.11-lab/cur/linux/kernel/signal.o create mode 100644 linux-0.11-lab/cur/linux/kernel/sys.c create mode 100644 linux-0.11-lab/cur/linux/kernel/sys.o create mode 100644 linux-0.11-lab/cur/linux/kernel/system_call.o create mode 100644 linux-0.11-lab/cur/linux/kernel/system_call.s create mode 100644 linux-0.11-lab/cur/linux/kernel/system_call.s.rej create mode 100644 linux-0.11-lab/cur/linux/kernel/traps.c create mode 100644 linux-0.11-lab/cur/linux/kernel/traps.o create mode 100644 linux-0.11-lab/cur/linux/kernel/vsprintf.c create mode 100644 linux-0.11-lab/cur/linux/kernel/vsprintf.o create mode 100644 linux-0.11-lab/cur/linux/lib/Makefile create mode 100644 linux-0.11-lab/cur/linux/lib/_exit.c create mode 100644 linux-0.11-lab/cur/linux/lib/_exit.o create mode 100644 linux-0.11-lab/cur/linux/lib/close.c create mode 100644 linux-0.11-lab/cur/linux/lib/close.o create mode 100644 linux-0.11-lab/cur/linux/lib/ctype.c create mode 100644 linux-0.11-lab/cur/linux/lib/ctype.o create mode 100644 linux-0.11-lab/cur/linux/lib/dup.c create mode 100644 linux-0.11-lab/cur/linux/lib/dup.o create mode 100644 linux-0.11-lab/cur/linux/lib/errno.c create mode 100644 linux-0.11-lab/cur/linux/lib/errno.o create mode 100644 linux-0.11-lab/cur/linux/lib/execve.c create mode 100644 linux-0.11-lab/cur/linux/lib/execve.o create mode 100644 linux-0.11-lab/cur/linux/lib/lib.a create mode 100644 linux-0.11-lab/cur/linux/lib/malloc.c create mode 100644 linux-0.11-lab/cur/linux/lib/malloc.o create mode 100644 linux-0.11-lab/cur/linux/lib/open.c create mode 100644 linux-0.11-lab/cur/linux/lib/open.o create mode 100644 linux-0.11-lab/cur/linux/lib/setsid.c create mode 100644 linux-0.11-lab/cur/linux/lib/setsid.o create mode 100644 linux-0.11-lab/cur/linux/lib/string.c create mode 100644 linux-0.11-lab/cur/linux/lib/string.o create mode 100644 linux-0.11-lab/cur/linux/lib/wait.c create mode 100644 linux-0.11-lab/cur/linux/lib/wait.o create mode 100644 linux-0.11-lab/cur/linux/lib/write.c create mode 100644 linux-0.11-lab/cur/linux/lib/write.o create mode 100644 linux-0.11-lab/cur/linux/mm/Makefile create mode 100644 linux-0.11-lab/cur/linux/mm/memory.c create mode 100644 linux-0.11-lab/cur/linux/mm/memory.c.rej create mode 100644 linux-0.11-lab/cur/linux/mm/memory.o create mode 100644 linux-0.11-lab/cur/linux/mm/mm.o create mode 100644 linux-0.11-lab/cur/linux/mm/page.o create mode 100644 linux-0.11-lab/cur/linux/mm/page.s create mode 100644 linux-0.11-lab/cur/linux/new.patch create mode 100644 linux-0.11-lab/cur/linux/oscomp_syscalls.md create mode 100644 linux-0.11-lab/cur/linux/tools/build create mode 100644 linux-0.11-lab/cur/linux/tools/build.c create mode 100644 linux-0.11-lab/cur/linux/tools/system create mode 100644 linux-0.11-lab/images/rootimage-0.11 create mode 100644 linux-0.11-lab/mygdb create mode 100644 linux-0.11-lab/oscomp_syscalls.md create mode 100644 linux-0.11-lab/run create mode 100644 linux-0.11-lab/rundbg create mode 100644 linux-0.11-lab/rungdb create mode 100644 linux-0.11-lab/runtest diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0b8c959 --- /dev/null +++ b/.gitignore @@ -0,0 +1,53 @@ +# ---> Eagle +# Ignore list for Eagle, a PCB layout tool + +# Backup files +*.s#? +*.b#? +*.l#? +*.b$? +*.s$? +*.l$? + +# Eagle project file +# It contains a serial number and references to the file structure +# on your computer. +# comment the following line if you want to have your project file included. +eagle.epf + +# Autorouter files +*.pro +*.job + +# CAM files +*.$$$ +*.cmp +*.ly2 +*.l15 +*.sol +*.plc +*.stc +*.sts +*.crc +*.crs + +*.dri +*.drl +*.gpi +*.pls +*.ger +*.xln + +*.drd +*.drd.* + +*.s#* +*.b#* + +*.info + +*.eps + +# file locks introduced since 7.x +*.lck + diff --git a/18组实验报告(栗端宇、贺子然).pdf b/18组实验报告(栗端宇、贺子然).pdf new file mode 100644 index 0000000000000000000000000000000000000000..ba595222f945b08552f535e52763c9a1a4913050 GIT binary patch literal 1098752 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

  • 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

    BL8Zz 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%0AZ0x!XA zp0%g)qcL1Ro4jn~W1lHI-I~JWwD|&RgLd?5usd|V{jR(*HwzFrn2-ba)TCDStUo1D z_DJ{g7udIJgWgqjm_v=>+!!zS@I+QEqB#&9MRCb$<^r2>?r7}z^><@MKSpO`g)9bl zBhG+iu9H&QW078)J6Xik)GJ^n<|=_UZ%8$k=84RK@gmOJP)3KPoDB~! zLf5iBG^$fiGjKLBDqe@?pb0fh(s=;om99_n){%N>y1117gyU5ettzT4B*a|LQPT_W z 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%0DDEINF~xw2+`P; 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 S_HKFv1bISGP)SSq#Qy+)J+1Hn literal 0 HcmV?d00001 diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..2172f86 --- /dev/null +++ b/LICENSE @@ -0,0 +1,35 @@ +GCC RUNTIME LIBRARY EXCEPTION + +Version 3.1, 31 March 2009 + +General information: http://www.gnu.org/licenses/gcc-exception.html + +Copyright (C) 2009 Free Software Foundation, Inc. + +Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. + +This GCC Runtime Library Exception ("Exception") is an additional permission under section 7 of the GNU General Public License, version 3 ("GPLv3"). It applies to a given file (the "Runtime Library") that bears a notice placed by the copyright holder of the file stating that the file is governed by GPLv3 along with this Exception. + +When you use GCC to compile a program, GCC may combine portions of certain GCC header files and runtime libraries with the compiled program. The purpose of this Exception is to allow compilation of non-GPL (including proprietary) programs to use, in this way, the header files and runtime libraries covered by this Exception. + + 0. Definitions. + + A file is an "Independent Module" if it either requires the Runtime Library for execution after a Compilation Process, or makes use of an interface provided by the Runtime Library, but is not otherwise based on the Runtime Library. + + "GCC" means a version of the GNU Compiler Collection, with or without modifications, governed by version 3 (or a specified later version) of the GNU General Public License (GPL) with the option of using any subsequent versions published by the FSF. + + "GPL-compatible Software" is software whose conditions of propagation, modification and use would permit combination with GCC in accord with the license of GCC. + + "Target Code" refers to output from any compiler for a real or virtual target processor architecture, in executable form or suitable for input to an assembler, loader, linker and/or execution phase. Notwithstanding that, Target Code does not include data in any format that is used as a compiler intermediate representation, or used for producing a compiler intermediate representation. + + The "Compilation Process" transforms code entirely represented in non-intermediate languages designed for human-written code, and/or in Java Virtual Machine byte code, into Target Code. Thus, for example, use of source code generators and preprocessors need not be considered part of the Compilation Process, since the Compilation Process can be understood as starting with the output of the generators or preprocessors. + + A Compilation Process is "Eligible" if it is done using GCC, alone or with other GPL-compatible software, or if it is done without using any work based on GCC. For example, using non-GPL-compatible Software to optimize any GCC intermediate representations would not qualify as an Eligible Compilation Process. + + 1. Grant of Additional Permission. + + You have permission to propagate a work of Target Code formed by combining the Runtime Library with Independent Modules, even if such propagation would otherwise violate the terms of GPLv3, provided that all Target Code was generated by Eligible Compilation Processes. You may then convey such a combination under terms of your choice, consistent with the licensing of the Independent Modules. + + 2. No Weakening of GCC Copyleft. + +The availability of this Exception does not imply any general presumption that third-party software is unaffected by the copyleft requirements of the license of GCC. diff --git a/README.md b/README.md new file mode 100644 index 0000000..1f42d72 --- /dev/null +++ b/README.md @@ -0,0 +1,19 @@ +#### 从命令行创建一个新的仓库 + +```bash +touch README.md +git init +git add README.md +git commit -m "first commit" +git remote add origin https://bdgit.educoder.net/pus9vag7m/hzr.git +git push -u origin master + +``` + +#### 从命令行推送已经创建的仓库 + +```bash +git remote add origin https://bdgit.educoder.net/pus9vag7m/hzr.git +git push -u origin master + +``` diff --git a/linux-0.11-lab/0.gdb b/linux-0.11-lab/0.gdb new file mode 100644 index 0000000..6c2dbf1 --- /dev/null +++ b/linux-0.11-lab/0.gdb @@ -0,0 +1,5 @@ +target remote localhost:1234 +handle SIGSEGV nostop noprint ignore +b main +display current->pid +c diff --git a/linux-0.11-lab/0/README b/linux-0.11-lab/0/README new file mode 100644 index 0000000..2e56a37 --- /dev/null +++ b/linux-0.11-lab/0/README @@ -0,0 +1,6 @@ +revision history: + +版本0: 这是oldlinux.org网站上的linux-0.11-lab.rar中的版本。可能是赵博士在原始0.11版本的基础上修改而成。我做了如下改动: + a) 对一些Makefile做了修改,生成调试信息; + b) 将其移植到ubuntu和debian下,主要修改的地方用 "by wyj"标注。 + diff --git a/linux-0.11-lab/0/Source-Insight/Linux-0.11.IAB b/linux-0.11-lab/0/Source-Insight/Linux-0.11.IAB new file mode 100644 index 0000000000000000000000000000000000000000..27c23b6e1f3379c54bfea8c6c805c76fa235fa7c GIT binary patch literal 102400 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 X+E}E5VH>Ng(M~HVI#}YIPA>QZN3SCK literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/Source-Insight/Linux-0.11.PO b/linux-0.11-lab/0/Source-Insight/Linux-0.11.PO new file mode 100644 index 0000000000000000000000000000000000000000..de8db453c6bceca6363a1974df88a64caed7c9e8 GIT binary patch literal 776 zcmXpMXJD{mFk6?N=;F4%g;$kEh>&F zjma;DNb4Ht85-*5BqqfeK-HrgG(`Cem>3u`hN#=AMghW6P0t*OaK_o&D42vit4+V@ySY2jkdUo5L$7Z^hhl&|u zLCVUjB7&tw0+p(y2$Dk4GO>~$VAP_F$U{kK5X)F#Fe!r=l2D0+d}rqN(kwj<` z&h+l>{nH=kbL7Xk3p9j>Y!Ny!~dYDh6pfP5-C7Tlk zwdQ85y)A-SGfcXoj|j0u(xq$xH%C8 zjWNqDoy_?ewcxD1t%ci6n0yi4LVP1Nn6YS-1l-(=qux)uRU5MaNPW;r7nZqAje^El zn46zy%s3j2&f42$aFZO`7rnm%uVC16b94EWN@OJt54^nkJ>uI1_~sqNH$t0n`x!HZ ziljfkM@hgfpZqMo^@Ce2kZRC9*q+pJ662!8a?2&Mj;ql{g-LP4&|hAKy{)2f6JMRc z*dL}C^DV9qk}IOba?7_mIjz`CP`^C~x7|Sc8hVWW!$7W2qETYGwYsf(!&|^@58Pxv zIvJfyg6Pe4VH7mREVqJ_NHr`exV}nyHlGfr_K@Dz6!a4&3sT43f<}qu<~bQB>1*{= z%Wa&UTipaG;U_}4i-g6rbE!v+neV$$ZenukGK1xIJMm5C z^>?E?&^YO6Z!)#l%56Q35LtI_Kx;Zv_hN5tz9(zYx?I)T+ZzNomQ76~`d2hgI@;Tk zgsV2b4WWS~b9(80kLg4ml5ulwOY7-grd?gL25WC=YLGE7W9igf+=;wU=9W$s99`Ig zy7wR0*mRg(f&Pr#8Yf{twcOODg@D_1dX=vNOZMM4$|i>xIg?wnT6^0Dw>nr|g+9%m zhd7Dg##Rws=`^sn-EfoX{6KUJu`W)|Jy;T|`F>)q1-(RN9Q7yL%F|OILsz;Y&dvOxxmhiImuEvFD%k5I~ zg4Dc2&;y;wr@}4kWb*}O23PDh^RYqnd;beJ=_7p={iu`NJf|t^1Kh^q zn{_aohTduCr#1W>B^~{gp0Dp{t3<4y&Lb~O1=1bpmUCLKcm4Wo!qxf)Lvd2`>%EWe zsalMU?S*=H+m^@9f;NEv0opg%%goZ^X2TaJmlt zJ3cEdU)c*6B_VrjP2^miFN<4lFTzdgH(3kZMjayDDwV%sZtSY@ReI{uqfgGoPY=LN za>5PhI|2=n{Yg<0;#Qu}D|FMK|F)c78sV-qD|ZZtv^LW7Fs_6BP)L$I%T3^kDuJc3w|e@$_WS zUIWs-s7GEH&UIZBG{!>Q8Z(@nM||U|Yk{Ho$gKZJeEStVzK>R;kFzc#*K_dGfLl6~ zZ*5(s$WM!tf4t@(+!g|A7k=6gUfV_)GmP13HwkhP5@B!6DMidmNUnWqp{y@F%07n% zI1ONM2Ol+XI}pK4h9bCSG7W_#4dSg@QiF|eGs&Sphl#{B*?ZZO`Kcq2A|!%aA(2hF zo*rtZxMJ;2>05q6Kja}8eI0$5`Dr)oP4-AfNr+oE;Wx9);5Roo*|v{Q`R% z0i9wTCJC2pm6>$L>54nQoo zKf-M=w+L-!D>))g0&b}`t*1pp$8r3VlcO%&r||t#{+Jq z_W*TLYtIYSK$99Ig`Ti{&XyO{o~0^$ti9F1P5d;CZb0Ki>}__U#YuA@e%#-k&-aR( z+>OC`gAeeaBhdF`Q7cA-Tef{Wv{FYMarF83sY8xahioB9zkvowYYv%aZ*K$1CK~0HtuV?=O^Jm1#)Q8PSEXIDBRGjh35ypUj=W zS#l2cX1N9XxLTZLjrl|&RXaa`d!Ap5b6$8N;5LgoWEju;!8P#@9kRE8Tfvj>`BXKw;;{Mq0(%<@GYM@il^RIg6A8sPUU$|M)ymIb`aG09Ebq%m z{q`sWQi2?%_Zuf6Zfb3=c;xxt1okF11Y6(C@osU{PP4aQ-=I2v#VLpW9dMI1nXjPh zWpW=QA$tqz5Ov(l;nm3!99q91oGU@D1DZlX#5LK5 zVx}7^aB-%k(Qs%Kh5S)ksl*NrL37&3d{GXAWEh05H4tVQL8 zRLoaEstrL3Pzgs>jIl!K22RMeZ`}bhR!l~iq;{qHL_Z1@@I3-MELsT)AV?%Q3vFT@ zdJ}`z#x`E|crXxaP~;>jB2W>6`3VcjrH(0MMNN_`htz50wSdOK5oQawL}}kl_nlT* zR%Qb-P8aM5YZ_M2VUSb{b|!BFflaZ$YTipg!A*6das$bIQo{|2&LU$xfuTK6k&j|6 zS?pe!+EBD+EufN<<;l_ZbZcdT=qr$Of_*V|Pi1bs@0lNcXubLu=4HhLtJ5eD1VbJN zf3e_$Ww(=!f#C{EE71RcB%`q92i&LSsVr`gH3~ zVc!2*E=n`e?igh~6{fT>8%O`E00P1m4c8J2X@VG+7RUkqh>;js@yt{hhNLKvgk)dJ zu4e>`K!P=fmKE9(pkX%gCN*A2vw~;R_Y}$qzF}>skaT<^42srCsAN}$FM-}uO|9Xu zrky6gQC9J}rsoPYtS+-Cbx-TA3=yp<1OeISuc0kZ >LdwT?$NcJnp;7Il?Z10x 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 ZnP<(9Ox^sRyj^ZyQ^(&fr!Q^I{{xPUk!%0} literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/Source-Insight/Linux-0.11.PS b/linux-0.11-lab/0/Source-Insight/Linux-0.11.PS new file mode 100644 index 0000000000000000000000000000000000000000..2c515c4dd3f2da9176ef09bd338843664bd433cf GIT binary patch literal 623496 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

    gTMo^M<*{ia#Sx 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 Cri=yv literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/Makefile b/linux-0.11-lab/0/linux/Makefile new file mode 100644 index 0000000..ecbcf30 --- /dev/null +++ b/linux-0.11-lab/0/linux/Makefile @@ -0,0 +1,125 @@ +# +# if you want the ram-disk device, define this to be the +# size in blocks. +# +RAMDISK = #-DRAMDISK=512 + +AS86 =as86 -0 -a +LD86 =ld86 -0 + +AS =as +LD =ld +LDFLAGS =-m elf_i386 -Ttext 0 -e startup_32 -Map=System.map.2 -N +CC =gcc -march=i386 $(RAMDISK) +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -fno-stack-protector -mcld +CPP =cpp -nostdinc -Iinclude + +# +# ROOT_DEV specifies the default root-device when making the image. +# This can be either FLOPPY, /dev/xxxx or empty, in which case the +# default of /dev/hd6 is used by 'build'. +# +ROOT_DEV= + +ARCHIVES=kernel/kernel.o mm/mm.o fs/fs.o +DRIVERS =kernel/blk_drv/blk_drv.a kernel/chr_drv/chr_drv.a +MATH =kernel/math/math.a +LIBS =lib/lib.a + +.c.s: + $(CC) $(CFLAGS) \ + -nostdinc -Iinclude -S -o $*.s $< +.s.o: + $(AS) -o $*.o $< +.c.o: + $(CC) $(CFLAGS) \ + -nostdinc -Iinclude -c -o $*.o $< + +all: Image + +Image: boot/bootsect boot/setup tools/system tools/build + cp -f tools/system system.tmp + strip system.tmp + tools/build boot/bootsect boot/setup system.tmp $(ROOT_DEV) > Image + rm -f system.tmp + sync + +disk: Image + dd bs=8192 if=Image of=/dev/PS0 + +tools/build: tools/build.c + $(CC) $(CFLAGS) \ + -o tools/build tools/build.c + +boot/head.o: boot/head.s + +tools/system: boot/head.o init/main.o \ + $(ARCHIVES) $(DRIVERS) $(MATH) $(LIBS) + $(LD) $(LDFLAGS) boot/head.o init/main.o \ + $(ARCHIVES) \ + $(DRIVERS) \ + $(MATH) \ + $(LIBS) \ + -o tools/system + nm tools/system | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw]\)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort >System.map + +kernel/math/math.a: FORCE + (cd kernel/math; make) + +kernel/blk_drv/blk_drv.a: FORCE + (cd kernel/blk_drv; make) + +kernel/chr_drv/chr_drv.a: FORCE + (cd kernel/chr_drv; make) + +kernel/kernel.o: FORCE + (cd kernel; make) + +mm/mm.o: FORCE + (cd mm; make) + +fs/fs.o: FORCE + (cd fs; make) + +lib/lib.a: FORCE + (cd lib; make) + +FORCE: + +boot/setup: boot/setup.s + $(AS86) -o boot/setup.o boot/setup.s + $(LD86) -s -o boot/setup boot/setup.o + +boot/bootsect: boot/bootsect.s + $(AS86) -o boot/bootsect.o boot/bootsect.s + $(LD86) -s -o boot/bootsect boot/bootsect.o + +tmp.s: boot/bootsect.s tools/system + (echo -n "SYSSIZE = (";ls -l tools/system | grep system \ + | cut -c25-31 | tr '\012' ' '; echo "+ 15 ) / 16") > tmp.s + cat boot/bootsect.s >> tmp.s + +clean: + rm -f Image System.map tmp_make core System.map.2 + rm -f boot/bootsect boot/setup + rm -f init/*.o tools/system tools/build boot/*.o + (cd mm;make clean) + (cd fs;make clean) + (cd kernel;make clean) + (cd lib;make clean) + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in init/*.c;do echo -n "init/";$(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + (cd fs; make dep) + (cd kernel; make dep) + (cd mm; make dep) + +### Dependencies: +init/main.o : init/main.c include/unistd.h include/sys/stat.h \ + include/sys/types.h include/sys/times.h include/sys/utsname.h \ + include/utime.h include/time.h include/linux/tty.h include/termios.h \ + include/linux/sched.h include/linux/head.h include/linux/fs.h \ + include/linux/mm.h include/signal.h include/asm/system.h include/asm/io.h \ + include/stddef.h include/stdarg.h include/fcntl.h diff --git a/linux-0.11-lab/0/linux/System.map b/linux-0.11-lab/0/linux/System.map new file mode 100644 index 0000000..d6d5630 --- /dev/null +++ b/linux-0.11-lab/0/linux/System.map @@ -0,0 +1,588 @@ +00000000 T pg_dir +00000000 T startup_32 +0000005a t check_x87 +00000073 t setup_idt +00000090 t rp_sidt +000000a3 t setup_gdt +00001000 t pg0 +00002000 t pg1 +00003000 t pg2 +00004000 t pg3 +00005000 T tmp_floppy_area +00005412 t L6 +00005414 t int_msg +00005428 t ignore_int +00005450 t setup_paging +000054ae t idt_descr +000054b6 t gdt_descr +000054c0 T idt +00005cc0 T gdt +000064c0 T fork +000064ef T pause +0000651e T setup +00006555 T sync +00006584 t time_init +00006799 T main +0000690c t printf +0000695b T init +00006bd3 T print_nr +00006c04 T show_task +00006c89 T show_stat +00006ccf T math_state_restore +00006d2d T schedule +00006edf T sys_pause +00006ef5 T sleep_on +00006f54 T interruptible_sleep_on +0000700f T ticks_to_floppy_on +000070da T floppy_on +00007109 T floppy_off +00007119 T do_floppy_timer +00007311 T do_timer +00007400 T sys_alarm +0000747f T sys_getpid +0000748b T sys_getppid +00007497 T sys_getuid +000074a6 T sys_geteuid +000074b6 T sys_getgid +000074c6 T sys_getegid +000074d5 T sys_nice +00007500 T sched_init +00007690 t bad_sys_call +00007698 t reschedule +000076a4 T system_call +000076df t ret_from_sys_call +00007728 T coprocessor_error +0000774a T device_not_available +00007784 T timer_interrupt +000077bc T sys_execve +000077cc T sys_execve2 +000077dc T sys_fork +000077f4 T hd_interrupt +00007830 T floppy_interrupt +00007866 T parallel_interrupt +0000786d t _get_base +0000789f t die +00007a81 T do_double_fault +00007aa4 T do_general_protection +00007ac7 T do_divide_error +00007aea T do_int3 +00007bb2 T do_nmi +00007bd5 T do_debug +00007bf8 T do_overflow +00007c1b T do_bounds +00007c3e T do_invalid_op +00007c61 T do_device_not_available +00007c84 T do_coprocessor_segment_overrun +00007ca7 T do_invalid_TSS +00007cca T do_segment_not_present +00007ced T do_stack_segment +00007d10 T do_coprocessor_error +00007d44 T do_reserved +00007d67 T trap_init +0000804b T divide_error +00008050 t no_error_code +00008080 T debug +00008087 T nmi +0000808e T int3 +00008095 T overflow +0000809c T bounds +000080a3 T invalid_op +000080aa T coprocessor_segment_overrun +000080b1 T reserved +000080b8 T irq13 +000080cd T double_fault +000080d2 t error_code +00008104 T invalid_TSS +0000810b T segment_not_present +00008112 T stack_segment +00008119 T general_protection +00008120 t _get_base +00008152 T verify_area +000081b9 T copy_mem +00008313 T copy_process +000087c0 T find_empty_process +00008854 T panic +0000888f T printk +000088e0 t skip_atoi +0000893b t number +00008bac T vsprintf +00009038 t get_fs_long +0000904e t put_fs_byte +00009066 t put_fs_long +00009072 T sys_ftime +00009078 T sys_break +0000907e T sys_ptrace +00009084 T sys_stty +0000908a T sys_gtty +00009090 T sys_rename +00009096 T sys_prof +0000909c T sys_setregid +00009155 T sys_setgid +000091ec T sys_acct +000091f2 T sys_phys +000091f8 T sys_lock +000091fe T sys_mpx +00009204 T sys_ulimit +0000920a T sys_time +00009266 T sys_setreuid +00009348 T sys_setuid +000093dd T sys_stime +00009433 T sys_times +000094d3 T sys_brk +00009515 T sys_setpgid +000095ee T sys_getpgrp +000095fa T sys_setsid +00009674 T sys_getgroups +0000967a T sys_setgroups +00009680 T sys_uname +000096e9 T sys_sethostname +000096ef T sys_getrlimit +000096f5 T sys_setrlimit +000096fb T sys_getrusage +00009701 T sys_gettimeofday +00009707 T sys_settimeofday +0000970d T sys_umask +00009740 T sys_getdents +000098d5 T sys_pipe2 +00009ad7 T sys_sleep +00009b10 T sys_mmap +00009b16 T sys_munmap +00009b1c T sys_clone +00009b22 t _get_base +00009b54 t put_fs_long +00009b60 T release +00009bc4 t send_sig +00009c43 t kill_session +00009c9d T sys_kill +00009e4d t tell_father +00009ed7 T do_exit +0000a10b T sys_exit +0000a124 T sys_waitpid +0000a34a t get_fs_byte +0000a358 t put_fs_byte +0000a370 t put_fs_long +0000a37c T sys_sgetmask +0000a388 T sys_ssetmask +0000a3b4 T sys_sigpending +0000a3ba T sys_sigsuspend +0000a3c0 t save_old +0000a413 t get_new +0000a453 T sys_signal +0000a4d7 T sys_sigaction +0000a5e1 T do_signal +0000a7cd T kernel_mktime +0000a912 t oom +0000a931 T get_free_page +0000a96d T free_page +0000a9dc T free_page_tables +0000aadb T copy_page_tables +0000ac5c T put_page +0000ad48 T un_wp_page +0000ae00 T do_wp_page +0000ae8b T get_empty_page +0000aecb t try_to_share +0000b05d t share_page +0000b111 T do_no_page +0000b2a6 T do_no_page_myself +0000b408 T mem_init +0000b47c T calc_mem +0000b571 T page_fault +0000b5a8 t get_fs_long +0000b5be T sys_ustat +0000b5c4 T sys_utime +0000b671 T sys_access +0000b74d T sys_chdir +0000b7c1 T sys_chroot +0000b835 T sys_chmod +0000b8cf T sys_chown +0000b94a T sys_open +0000bbed T sys_creat +0000bc10 T sys_close +0000bcdf T sys_lseek +0000bdf6 T sys_read +0000bfe9 T sys_write +0000c197 t lock_inode +0000c1c4 t unlock_inode +0000c1e2 T invalidate_inodes +0000c251 T sync_inodes +0000c2a8 t _bmap +0000c694 T bmap +0000c6b7 T create_block +0000c6da T iput +0000c849 T get_empty_inode +0000c99e T get_pipe_inode +0000ca13 T iget +0000cbd8 t read_inode +0000ce0e T sys_sync +0000ce71 T sync_dev +0000cf6a T invalidate_buffers +0000cfdc T check_disk_change +0000d086 t remove_from_queues +0000d17d t insert_into_queues +0000d242 t find_buffer +0000d2aa T get_hash_table +0000d32c T getblk +0000d4ca T brelse +0000d513 T bread +0000d598 T bread_page +0000d6ba T breada +0000d7af T buffer_init +0000d8de t lock_super +0000d90b t free_super +0000d950 T get_super +0000d9bf T put_super +0000da92 t read_super +0000ddd5 T sys_umount +0000df36 T sys_mount +0000e0a7 T mount_root +0000e2b5 t get_fs_byte +0000e2c3 t put_fs_byte +0000e2db T block_write +0000e42d T block_read +0000e558 t get_fs_byte +0000e566 t put_fs_byte +0000e57e t rw_ttyx +0000e5c6 t rw_tty +0000e616 t rw_ram +0000e61c t rw_mem +0000e622 t rw_kmem +0000e628 t rw_port +0000e6c2 t rw_memory +0000e798 T rw_char +0000e802 t get_fs_byte +0000e810 t put_fs_byte +0000e828 T file_read +0000e9d3 T file_write +0000ebcd t put_fs_byte +0000ebe5 t cp_stat +0000ecbc T sys_stat +0000ed06 T sys_lstat +0000ed21 T sys_fstat +0000ed7e T sys_readlink +0000ed84 t _get_base +0000edb6 t get_fs_byte +0000edc4 t get_fs_long +0000edda t put_fs_byte +0000edf2 t put_fs_long +0000edfe t get_fs +0000ee12 t get_ds +0000ee26 t set_fs +0000ee2d T sys_uselib +0000ee33 t create_tables +0000ef7e t count +0000efbd t copy_strings +0000f179 t change_ldt +0000f2fc T do_execve +0000fd7e T do_execve2 +00010858 t get_fs_byte +00010866 t put_fs_byte +0001087e t put_fs_long +0001088a T read_pipe +00010b5f T sys_pipe +00010d61 t get_fs_byte +00010d6f t put_fs_byte +00010d87 t permission +00010e28 t match +00010e90 t find_entry +000112ea t get_dir +000114d7 t dir_namei +00011556 T namei +0001166c T open_namei +000119bf T sys_mknod +00011bef T sys_mkdir +00011fa0 t empty_dir +0001217e T sys_rmdir +000124d6 T sys_unlink +00012777 T sys_symlink +0001277d T sys_link +000129d7 T sys_getcwd +00012c68 T free_block +00012dda T new_block +00012f7e T free_inode +000130e5 T new_inode +000132bf t dupfd +00013399 T sys_dup2 +000133c0 T sys_dup +000133db T sys_fcntl +0001351a T sys_ioctl +000135eb t free_ind +0001368a t free_dind +00013729 T truncate +0001385e T sys_select +00013864 t lock_buffer +00013891 t unlock_buffer +00013a83 t make_request +00013c27 T ll_rw_block +00013c80 T blk_dev_init +00013cce t unlock_buffer +00013d03 t end_request +00013db4 T floppy_deselect +00013deb T floppy_change +00013e71 t setup_DMA +00013f27 t output_byte +00013f9d t result +0001405a t bad_flp_intr +000140b9 t rw_interrupt +000141a8 T setup_rw_floppy +00014269 t seek_interrupt +000142c2 t transfer +000143f7 t recal_interrupt +00014441 T unexpected_floppy_interrupt +00014486 t recalibrate_floppy +000144e8 t reset_interrupt +0001452d t reset_floppy +000145aa t floppy_on_interrupt +00014615 t do_fd_request +00014819 T floppy_init +0001486b t unlock_buffer +000148a0 t end_request +0001493f T sys_setup +00014cf2 t controller_ready +00014d86 t hd_out +00014e73 t drive_busy +00014ed9 t reset_controller +00014f56 t reset_hd +00014fee T unexpected_hd_interrupt +00015001 t bad_rw_intr +0001503f t read_intr +00015165 t recal_intr +0001517f t do_hd_request +00015480 T hd_init +000154fa t unlock_buffer +0001552f t end_request +000155ce t do_rd_request +00015704 T rd_init +0001575a T rd_load +00015a06 t get_fs_byte +00015a14 t put_fs_byte +00015a2c T tty_init +00015a3d T tty_intr +00015ab1 t sleep_if_empty +00015ae9 t sleep_if_full +00015b5d T copy_to_cooked +00016118 T tty_read +00016486 T tty_write +00016698 T do_tty_interrupt +000166c0 T chr_dev_init +000166c1 t gotoxy +0001670f t set_origin +00016775 t scrup +00016965 t scrdown +00016a5c t lf +00016a92 t ri +00016ac8 t cr +00016ae9 t del +00016b1b t csi_J +00016bac t csi_K +00016c5e T csi_m +00016cc5 t set_cursor +00016d2b t respond +00016d83 t insert_char +00016de6 t insert_line +00016e2a t delete_char +00016e88 t delete_line +00016ecc t csi_at +00016f0a t csi_L +00016f48 t csi_P +00016f86 t csi_M +00016fc4 t save_cur +00016fd9 t restore_cur +00016ff8 T con_write +00017686 T con_init +000178bd T sysbeepstop +000178e6 t sysbeep +00017944 t mode +00017945 t leds +00017946 t e0 +00017947 T keyboard_interrupt +00017970 t e0_e1 +0001799b t set_e0 +000179a4 t set_e1 +000179ad t put_queue +000179e6 t ctrl +000179fe t unctrl +00017a02 t unalt +00017a18 t lshift +00017a20 t unlshift +00017a28 t rshift +00017a30 t unrshift +00017a38 t caps +00017a5a t set_leds +00017a70 t uncaps +00017a78 t scroll +00017a81 t num +00017a8a t cursor +00017aaa t cur2 +00017ad3 t cur +00017adf t ok_cur +00017aed t num_table +00017afa t cur_table +00017b07 t func +00017b24 t ok_func +00017b37 t end_func +00017b38 t func_table +00017b68 t key_map +00017bc9 t shift_map +00017c8b t do_self +00017cf3 t none +00017cf4 t minus +00017d09 t key_table +00018109 t kb_wait +00018112 t reboot +00018124 t die +00018126 t init +0001819b T rs_init +0001821e T rs_write +0001826c T rs1_interrupt +00018274 T rs2_interrupt +00018279 t rs_int +00018290 t rep_int +000182ad t end +000182bb t jmp_table +000182cc t modem_status +000182d4 t line_status +000182dc t read_char +00018363 t get_fs_byte +00018371 t get_fs_long +00018387 t put_fs_byte +0001839f t put_fs_long +000183ab t change_speed +00018429 t flush +0001843b t send_break +0001843c t get_termios +00018498 t set_termios +000184e8 t get_termio +000185b0 t set_termio +00018674 T tty_ioctl +00018972 t get_fs_byte +00018980 T math_emulate +00018a63 T math_error +00018a83 T _exit +00018a93 T open +00018adc T close +00018b50 T dup +00018b87 T setsid +00018bb6 T execve +00018c53 T strcpy +00018c6f T strncpy +00018c94 T strcat +00018cbf T strncat +00018cf4 T strcmp +00018d1b T strncmp +00018d49 T strchr +00018d76 T strrchr +00018da5 T strspn +00018de2 T strcspn +00018e1f T strpbrk +00018e56 T strstr +00018e8f T strlen +00018eb2 T strtok +00018f35 T memcpy +00018f55 T memmove +00018fa9 T memcmp +00018fd3 T memchr +0001900b T memset +0001d008 d envp_rc +0001d01c d envp +0001d040 D sys_call_table +0001d1bc D NR_syscalls +0001d1c0 d init_task +0001e1c0 D current +0001e1e0 D task +0001e2e0 D stack_start +0001e2e8 D current_DOR +0001e300 d thisname.2124 +0001e340 d month +0001e380 d last_inode.1935 +0001e384 D start_buffer +0001e3a0 d crw_table +0001e3c0 d ioctl_table +0001e3e0 d floppy_type +0001e4a0 d cur_spec1 +0001e4a4 d cur_rate +0001e4a8 d floppy +0001e4ac d current_track +0001e4b0 d callable.1844 +0001e4c0 D tty_table +000209e0 D table_list +00020a00 d quotient +00020a20 D _ctype +00020b21 B __bss_start +00020b21 D _edata +00020b40 b printbuf +00020f40 b memory_end +00020f44 b buffer_memory_end +00020f48 b main_memory_start +00020f60 B jiffies +00020f64 B startup_time +00020f68 B last_task_used_math +00020f7c b mon_timer +00020f8c b moff_timer +00020fa0 b timer_list +000212a0 b next_timer +000212a4 B last_pid +000212c0 b buf +000216c0 b HIGH_MEMORY +000216e0 b mem_map +000225e0 B inode_table +00022ce0 B nr_buffers +00022ce4 b free_list +00022ce8 b buffer_wait +00022cec B ROOT_DEV +00022d20 B blk_dev +00022d58 B do_floppy +00022d5c B selected +00022d64 b recalibrate +00022d68 b reset +00022d6c b seek +00022d70 b reply_buffer +00022d77 b current_drive +00022d78 b sector +00022d79 b head +00022d7a b track +00022d7b b seek_track +00022d7c b command +00022d80 B do_hd +00022da0 B hd_info +00022dd0 b recalibrate +00022dd4 b reset +00022dd8 b NR_HD +00022de0 b hd +00022e30 B rd_length +00022e34 b cr_flag.1923 +00022e40 B beepcount +00022e44 b video_type +00022e48 b video_num_columns +00022e4c b video_size_row +00022e50 b video_num_lines +00022e54 b video_page +00022e58 b video_mem_start +00022e5c b video_mem_end +00022e60 b video_port_reg +00022e62 b video_port_val +00022e64 b video_erase_char +00022e68 b origin +00022e6c b scr_end +00022e70 b pos +00022e74 b x +00022e78 b y +00022e7c b top +00022e80 b bottom +00022e84 b state +00022e88 b npar +00022ea0 b par +00022ee0 b ques +00022ee4 b saved_x +00022ee8 b saved_y +00022f00 B drive_info +00022f20 B user_stack +00023f20 B hash_table +00024400 B super_block +00024760 B file_table +00024b60 B request +00024fe0 B rd_start +00024fe4 B _ctmp +00024fe8 B errno +00024fec B ___strtok +00024ff0 B end +00024ff0 B _end diff --git a/linux-0.11-lab/0/linux/System.map.2 b/linux-0.11-lab/0/linux/System.map.2 new file mode 100644 index 0000000..90adbbb --- /dev/null +++ b/linux-0.11-lab/0/linux/System.map.2 @@ -0,0 +1,1085 @@ +Archive member included to satisfy reference by file (symbol) + +kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + fs/fs.o (ll_rw_block) +kernel/blk_drv/blk_drv.a(floppy.o) + kernel/kernel.o (do_floppy) +kernel/blk_drv/blk_drv.a(hd.o) + kernel/kernel.o (do_hd) +kernel/blk_drv/blk_drv.a(ramdisk.o) + kernel/blk_drv/blk_drv.a(hd.o) (rd_load) +kernel/chr_drv/chr_drv.a(tty_io.o) + kernel/kernel.o (tty_table) +kernel/chr_drv/chr_drv.a(console.o) + kernel/chr_drv/chr_drv.a(tty_io.o) (con_write) +kernel/chr_drv/chr_drv.a(keyboard.2.o) + kernel/chr_drv/chr_drv.a(console.o) (keyboard_interrupt) +kernel/chr_drv/chr_drv.a(serial.o) + kernel/chr_drv/chr_drv.a(tty_io.o) (rs_init) +kernel/chr_drv/chr_drv.a(rs_io.o) + kernel/chr_drv/chr_drv.a(serial.o) (rs1_interrupt) +kernel/chr_drv/chr_drv.a(tty_ioctl.o) + fs/fs.o (tty_ioctl) +kernel/math/math.a(math_emulate.o) + kernel/kernel.o (math_emulate) +lib/lib.a(ctype.o) kernel/chr_drv/chr_drv.a(tty_io.o) (_ctmp) +lib/lib.a(_exit.o) init/main.o (_exit) +lib/lib.a(open.o) init/main.o (open) +lib/lib.a(close.o) init/main.o (close) +lib/lib.a(errno.o) init/main.o (errno) +lib/lib.a(write.o) init/main.o (write) +lib/lib.a(dup.o) init/main.o (dup) +lib/lib.a(setsid.o) init/main.o (setsid) +lib/lib.a(execve.o) init/main.o (execve) +lib/lib.a(wait.o) init/main.o (wait) +lib/lib.a(string.o) fs/fs.o (strncpy) + +分配公共符号 +公共符号 大小 文件 + +errno 0x4 lib/lib.a(errno.o) +hash_table 0x4cc fs/fs.o +___strtok 0x4 lib/lib.a(string.o) +rd_start 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) +request 0x480 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) +user_stack 0x1000 kernel/kernel.o +_ctmp 0x1 lib/lib.a(ctype.o) +super_block 0x360 fs/fs.o +drive_info 0x20 init/main.o +file_table 0x400 fs/fs.o + +Discarded input sections + + .note.GNU-stack + 0x0000000000000000 0x0 init/main.o + .note.GNU-stack + 0x0000000000000000 0x0 kernel/kernel.o + .note.GNU-stack + 0x0000000000000000 0x0 mm/mm.o + .note.GNU-stack + 0x0000000000000000 0x0 fs/fs.o + .note.GNU-stack + 0x0000000000000000 0x0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/blk_drv/blk_drv.a(floppy.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/blk_drv/blk_drv.a(hd.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/blk_drv/blk_drv.a(ramdisk.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/chr_drv/chr_drv.a(tty_io.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/chr_drv/chr_drv.a(console.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/chr_drv/chr_drv.a(serial.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/math/math.a(math_emulate.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(ctype.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(_exit.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(open.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(close.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(errno.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(write.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(dup.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(setsid.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(execve.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(wait.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(string.o) + +内存配置 + +名称 来源 长度 属性 +*default* 0x0000000000000000 0xffffffffffffffff + +Linker script and memory map + +段 .text 的地址设置为 0x0 +LOAD boot/head.o +LOAD init/main.o +LOAD kernel/kernel.o +LOAD mm/mm.o +LOAD fs/fs.o +LOAD kernel/blk_drv/blk_drv.a +LOAD kernel/chr_drv/chr_drv.a +LOAD kernel/math/math.a +LOAD lib/lib.a + 0x0000000008048000 PROVIDE (__executable_start, 0x8048000) + 0x0000000008048074 . = (0x8048000 + SIZEOF_HEADERS) + +.interp + *(.interp) + +.note.gnu.build-id + *(.note.gnu.build-id) + +.hash + *(.hash) + +.gnu.hash + *(.gnu.hash) + +.dynsym + *(.dynsym) + +.dynstr + *(.dynstr) + +.gnu.version + *(.gnu.version) + +.gnu.version_d + *(.gnu.version_d) + +.gnu.version_r + *(.gnu.version_r) + +.rel.init + *(.rel.init) + +.rel.text 0x0000000008048074 0x0 + *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) + .rel.text 0x0000000000000000 0x0 boot/head.o + +.rel.fini + *(.rel.fini) + +.rel.rodata + *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) + +.rel.data.rel.ro + *(.rel.data.rel.ro .rel.data.rel.ro.* .rel.gnu.linkonce.d.rel.ro.*) + +.rel.data 0x0000000008048074 0x0 + *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) + .rel.data 0x0000000000000000 0x0 boot/head.o + +.rel.tdata + *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) + +.rel.tbss + *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) + +.rel.ctors + *(.rel.ctors) + +.rel.dtors + *(.rel.dtors) + +.rel.got + *(.rel.got) + +.rel.bss + *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) + +.rel.ifunc + *(.rel.ifunc) + +.rel.plt 0x0000000008048074 0x0 + *(.rel.plt) + 0x0000000008048074 PROVIDE (__rel_iplt_start, .) + *(.rel.iplt) + .rel.iplt 0x0000000000000000 0x0 boot/head.o + 0x0000000008048074 PROVIDE (__rel_iplt_end, .) + +.init + *(SORT(.init)) + +.plt 0x0000000008048080 0x0 + *(.plt) + *(.iplt) + .iplt 0x0000000000000000 0x0 boot/head.o + +.text 0x0000000000000000 0x1902f + *(.text.unlikely .text.*_unlikely .text.unlikely.*) + *(.text.exit .text.exit.*) + *(.text.startup .text.startup.*) + *(.text.hot .text.hot.*) + *(.text .stub .text.* .gnu.linkonce.t.*) + .text 0x0000000000000000 0x64c0 boot/head.o + 0x0000000000000000 startup_32 + 0x0000000000000000 pg_dir + 0x0000000000005000 tmp_floppy_area + 0x00000000000054c0 idt + 0x0000000000005cc0 gdt + .text 0x00000000000064c0 0x744 init/main.o + 0x00000000000064c0 fork + 0x00000000000064ef pause + 0x000000000000651e setup + 0x0000000000006555 sync + 0x0000000000006799 main + 0x000000000000695b init + 0x0000000000006bd3 print_nr + .text 0x0000000000006c04 0x3d0e kernel/kernel.o + 0x0000000000006c04 show_task + 0x0000000000006c89 show_stat + 0x0000000000006ccf math_state_restore + 0x0000000000006d2d schedule + 0x0000000000006edf sys_pause + 0x0000000000006ef5 sleep_on + 0x0000000000006f54 interruptible_sleep_on + 0x0000000000006fe7 wake_up + 0x000000000000700f ticks_to_floppy_on + 0x00000000000070da floppy_on + 0x0000000000007109 floppy_off + 0x0000000000007119 do_floppy_timer + 0x00000000000071ed add_timer + 0x0000000000007311 do_timer + 0x0000000000007400 sys_alarm + 0x000000000000747f sys_getpid + 0x000000000000748b sys_getppid + 0x0000000000007497 sys_getuid + 0x00000000000074a6 sys_geteuid + 0x00000000000074b6 sys_getgid + 0x00000000000074c6 sys_getegid + 0x00000000000074d5 sys_nice + 0x0000000000007500 sched_init + 0x00000000000076a4 system_call + 0x0000000000007728 coprocessor_error + 0x000000000000774a device_not_available + 0x0000000000007784 timer_interrupt + 0x00000000000077bc sys_execve + 0x00000000000077cc sys_execve2 + 0x00000000000077dc sys_fork + 0x00000000000077f4 hd_interrupt + 0x0000000000007830 floppy_interrupt + 0x0000000000007866 parallel_interrupt + 0x0000000000007a81 do_double_fault + 0x0000000000007aa4 do_general_protection + 0x0000000000007ac7 do_divide_error + 0x0000000000007aea do_int3 + 0x0000000000007bb2 do_nmi + 0x0000000000007bd5 do_debug + 0x0000000000007bf8 do_overflow + 0x0000000000007c1b do_bounds + 0x0000000000007c3e do_invalid_op + 0x0000000000007c61 do_device_not_available + 0x0000000000007c84 do_coprocessor_segment_overrun + 0x0000000000007ca7 do_invalid_TSS + 0x0000000000007cca do_segment_not_present + 0x0000000000007ced do_stack_segment + 0x0000000000007d10 do_coprocessor_error + 0x0000000000007d44 do_reserved + 0x0000000000007d67 trap_init + 0x000000000000804b divide_error + 0x0000000000008080 debug + 0x0000000000008087 nmi + 0x000000000000808e int3 + 0x0000000000008095 overflow + 0x000000000000809c bounds + 0x00000000000080a3 invalid_op + 0x00000000000080aa coprocessor_segment_overrun + 0x00000000000080b1 reserved + 0x00000000000080b8 irq13 + 0x00000000000080cd double_fault + 0x0000000000008104 invalid_TSS + 0x000000000000810b segment_not_present + 0x0000000000008112 stack_segment + 0x0000000000008119 general_protection + 0x0000000000008152 verify_area + 0x00000000000081b9 copy_mem + 0x0000000000008313 copy_process + 0x00000000000087c0 find_empty_process + 0x0000000000008854 panic + 0x000000000000888f printk + 0x0000000000008bac vsprintf + 0x0000000000009072 sys_ftime + 0x0000000000009078 sys_break + 0x000000000000907e sys_ptrace + 0x0000000000009084 sys_stty + 0x000000000000908a sys_gtty + 0x0000000000009090 sys_rename + 0x0000000000009096 sys_prof + 0x000000000000909c sys_setregid + 0x0000000000009155 sys_setgid + 0x00000000000091ec sys_acct + 0x00000000000091f2 sys_phys + 0x00000000000091f8 sys_lock + 0x00000000000091fe sys_mpx + 0x0000000000009204 sys_ulimit + 0x000000000000920a sys_time + 0x0000000000009266 sys_setreuid + 0x0000000000009348 sys_setuid + 0x00000000000093dd sys_stime + 0x0000000000009433 sys_times + 0x00000000000094d3 sys_brk + 0x0000000000009515 sys_setpgid + 0x00000000000095ee sys_getpgrp + 0x00000000000095fa sys_setsid + 0x0000000000009674 sys_getgroups + 0x000000000000967a sys_setgroups + 0x0000000000009680 sys_uname + 0x00000000000096e9 sys_sethostname + 0x00000000000096ef sys_getrlimit + 0x00000000000096f5 sys_setrlimit + 0x00000000000096fb sys_getrusage + 0x0000000000009701 sys_gettimeofday + 0x0000000000009707 sys_settimeofday + 0x000000000000970d sys_umask + 0x0000000000009740 sys_getdents + 0x00000000000098d5 sys_pipe2 + 0x0000000000009ad7 sys_sleep + 0x0000000000009b10 sys_mmap + 0x0000000000009b16 sys_munmap + 0x0000000000009b1c sys_clone + 0x0000000000009b60 release + 0x0000000000009c9d sys_kill + 0x0000000000009ed7 do_exit + 0x000000000000a10b sys_exit + 0x000000000000a124 sys_waitpid + 0x000000000000a37c sys_sgetmask + 0x000000000000a388 sys_ssetmask + 0x000000000000a3b4 sys_sigpending + 0x000000000000a3ba sys_sigsuspend + 0x000000000000a453 sys_signal + 0x000000000000a4d7 sys_sigaction + 0x000000000000a5e1 do_signal + 0x000000000000a7cd kernel_mktime + .text 0x000000000000a912 0xc96 mm/mm.o + 0x000000000000a931 get_free_page + 0x000000000000a96d free_page + 0x000000000000a9dc free_page_tables + 0x000000000000aadb copy_page_tables + 0x000000000000ac5c put_page + 0x000000000000ad48 un_wp_page + 0x000000000000ae00 do_wp_page + 0x000000000000ae32 write_verify + 0x000000000000ae8b get_empty_page + 0x000000000000b111 do_no_page + 0x000000000000b2a6 do_no_page_myself + 0x000000000000b408 mem_init + 0x000000000000b47c calc_mem + 0x000000000000b571 page_fault + .text 0x000000000000b5a8 0x82bc fs/fs.o + 0x000000000000b5be sys_ustat + 0x000000000000b5c4 sys_utime + 0x000000000000b671 sys_access + 0x000000000000b74d sys_chdir + 0x000000000000b7c1 sys_chroot + 0x000000000000b835 sys_chmod + 0x000000000000b8cf sys_chown + 0x000000000000b94a sys_open + 0x000000000000bbed sys_creat + 0x000000000000bc10 sys_close + 0x000000000000bcdf sys_lseek + 0x000000000000bdf6 sys_read + 0x000000000000bfe9 sys_write + 0x000000000000c1e2 invalidate_inodes + 0x000000000000c251 sync_inodes + 0x000000000000c694 bmap + 0x000000000000c6b7 create_block + 0x000000000000c6da iput + 0x000000000000c849 get_empty_inode + 0x000000000000c99e get_pipe_inode + 0x000000000000ca13 iget + 0x000000000000ce0e sys_sync + 0x000000000000ce71 sync_dev + 0x000000000000cf6a invalidate_buffers + 0x000000000000cfdc check_disk_change + 0x000000000000d2aa get_hash_table + 0x000000000000d32c getblk + 0x000000000000d4ca brelse + 0x000000000000d513 bread + 0x000000000000d598 bread_page + 0x000000000000d6ba breada + 0x000000000000d7af buffer_init + 0x000000000000d950 get_super + 0x000000000000d9bf put_super + 0x000000000000ddd5 sys_umount + 0x000000000000df36 sys_mount + 0x000000000000e0a7 mount_root + 0x000000000000e2db block_write + 0x000000000000e42d block_read + 0x000000000000e798 rw_char + 0x000000000000e828 file_read + 0x000000000000e9d3 file_write + 0x000000000000ecbc sys_stat + 0x000000000000ed06 sys_lstat + 0x000000000000ed21 sys_fstat + 0x000000000000ed7e sys_readlink + 0x000000000000ee2d sys_uselib + 0x000000000000f2fc do_execve + 0x000000000000fd7e do_execve2 + 0x000000000001088a read_pipe + 0x00000000000109e0 write_pipe + 0x0000000000010b5f sys_pipe + 0x0000000000011556 namei + 0x000000000001166c open_namei + 0x00000000000119bf sys_mknod + 0x0000000000011bef sys_mkdir + 0x000000000001217e sys_rmdir + 0x00000000000124d6 sys_unlink + 0x0000000000012777 sys_symlink + 0x000000000001277d sys_link + 0x00000000000129d7 sys_getcwd + 0x0000000000012c68 free_block + 0x0000000000012dda new_block + 0x0000000000012f7e free_inode + 0x00000000000130e5 new_inode + 0x0000000000013399 sys_dup2 + 0x00000000000133c0 sys_dup + 0x00000000000133db sys_fcntl + 0x000000000001351a sys_ioctl + 0x0000000000013729 truncate + 0x000000000001385e sys_select + .text 0x0000000000013864 0x46a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x0000000000013c27 ll_rw_block + 0x0000000000013c80 blk_dev_init + .text 0x0000000000013cce 0xb9d kernel/blk_drv/blk_drv.a(floppy.o) + 0x0000000000013db4 floppy_deselect + 0x0000000000013deb floppy_change + 0x00000000000141a8 setup_rw_floppy + 0x0000000000014441 unexpected_floppy_interrupt + 0x0000000000014819 floppy_init + .text 0x000000000001486b 0xc8f kernel/blk_drv/blk_drv.a(hd.o) + 0x000000000001493f sys_setup + 0x0000000000014fee unexpected_hd_interrupt + 0x0000000000015480 hd_init + .text 0x00000000000154fa 0x50c kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x0000000000015704 rd_init + 0x000000000001575a rd_load + .text 0x0000000000015a06 0xcbb kernel/chr_drv/chr_drv.a(tty_io.o) + 0x0000000000015a2c tty_init + 0x0000000000015a3d tty_intr + 0x0000000000015b4a wait_for_keypress + 0x0000000000015b5d copy_to_cooked + 0x0000000000016118 tty_read + 0x0000000000016486 tty_write + 0x0000000000016698 do_tty_interrupt + 0x00000000000166c0 chr_dev_init + .text 0x00000000000166c1 0x1283 kernel/chr_drv/chr_drv.a(console.o) + 0x0000000000016c5e csi_m + 0x0000000000016ff8 con_write + 0x0000000000017686 con_init + 0x00000000000178bd sysbeepstop + .text 0x0000000000017944 0x7e2 kernel/chr_drv/chr_drv.a(keyboard.2.o) + 0x0000000000017947 keyboard_interrupt + .text 0x0000000000018126 0x145 kernel/chr_drv/chr_drv.a(serial.o) + 0x000000000001819b rs_init + 0x000000000001821e rs_write + *fill* 0x000000000001826b 0x1 + .text 0x000000000001826c 0xf7 kernel/chr_drv/chr_drv.a(rs_io.o) + 0x000000000001826c rs1_interrupt + 0x0000000000018274 rs2_interrupt + .text 0x0000000000018363 0x60f kernel/chr_drv/chr_drv.a(tty_ioctl.o) + 0x0000000000018674 tty_ioctl + .text 0x0000000000018972 0x111 kernel/math/math.a(math_emulate.o) + 0x0000000000018980 math_emulate + 0x0000000000018a63 math_error + .text 0x0000000000018a83 0x0 lib/lib.a(ctype.o) + .text 0x0000000000018a83 0x10 lib/lib.a(_exit.o) + 0x0000000000018a83 _exit + .text 0x0000000000018a93 0x49 lib/lib.a(open.o) + 0x0000000000018a93 open + .text 0x0000000000018adc 0x37 lib/lib.a(close.o) + 0x0000000000018adc close + .text 0x0000000000018b13 0x0 lib/lib.a(errno.o) + .text 0x0000000000018b13 0x3d lib/lib.a(write.o) + 0x0000000000018b13 write + .text 0x0000000000018b50 0x37 lib/lib.a(dup.o) + 0x0000000000018b50 dup + .text 0x0000000000018b87 0x2f lib/lib.a(setsid.o) + 0x0000000000018b87 setsid + .text 0x0000000000018bb6 0x3d lib/lib.a(execve.o) + 0x0000000000018bb6 execve + .text 0x0000000000018bf3 0x60 lib/lib.a(wait.o) + 0x0000000000018bf3 waitpid + 0x0000000000018c30 wait + .text 0x0000000000018c53 0x3dc lib/lib.a(string.o) + 0x0000000000018c53 strcpy + 0x0000000000018c6f strncpy + 0x0000000000018c94 strcat + 0x0000000000018cbf strncat + 0x0000000000018cf4 strcmp + 0x0000000000018d1b strncmp + 0x0000000000018d49 strchr + 0x0000000000018d76 strrchr + 0x0000000000018da5 strspn + 0x0000000000018de2 strcspn + 0x0000000000018e1f strpbrk + 0x0000000000018e56 strstr + 0x0000000000018e8f strlen + 0x0000000000018eb2 strtok + 0x0000000000018f35 memcpy + 0x0000000000018f55 memmove + 0x0000000000018fa9 memcmp + 0x0000000000018fd3 memchr + 0x000000000001900b memset + *(.gnu.warning) + +.fini + *(SORT(.fini)) + 0x000000000001902f PROVIDE (__etext, .) + 0x000000000001902f PROVIDE (_etext, .) + 0x000000000001902f PROVIDE (etext, .) + +.rodata 0x0000000000019030 0x140e + *(.rodata .rodata.* .gnu.linkonce.r.*) + .rodata 0x0000000000019030 0xc9 init/main.o + *fill* 0x00000000000190f9 0x3 + .rodata 0x00000000000190fc 0x438 kernel/kernel.o + .rodata 0x0000000000019534 0x1b5 mm/mm.o + *fill* 0x00000000000196e9 0x3 + .rodata 0x00000000000196ec 0x62c fs/fs.o + .rodata 0x0000000000019d18 0x7a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + *fill* 0x0000000000019d92 0x2 + .rodata 0x0000000000019d94 0x133 kernel/blk_drv/blk_drv.a(floppy.o) + *fill* 0x0000000000019ec7 0x1 + .rodata 0x0000000000019ec8 0x19b kernel/blk_drv/blk_drv.a(hd.o) + *fill* 0x000000000001a063 0x1 + .rodata 0x000000000001a064 0x188 kernel/blk_drv/blk_drv.a(ramdisk.o) + .rodata 0x000000000001a1ec 0x17d kernel/chr_drv/chr_drv.a(console.o) + *fill* 0x000000000001a369 0x3 + .rodata 0x000000000001a36c 0x80 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .rodata 0x000000000001a3ec 0x52 kernel/math/math.a(math_emulate.o) + +.rodata1 + *(.rodata1) + +.eh_frame_hdr + *(.eh_frame_hdr) + +.eh_frame 0x000000000001a440 0x2ba8 + *(.eh_frame) + .eh_frame 0x000000000001a440 0x108 init/main.o + .eh_frame 0x000000000001a548 0xba0 kernel/kernel.o + 0xc90 (size before relaxing) + .eh_frame 0x000000000001b0e8 0x1b0 mm/mm.o + 0x1c8 (size before relaxing) + .eh_frame 0x000000000001b298 0xe44 fs/fs.o + 0xfdc (size before relaxing) + .eh_frame 0x000000000001c0dc 0x98 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0xb0 (size before relaxing) + .eh_frame 0x000000000001c174 0x23c kernel/blk_drv/blk_drv.a(floppy.o) + 0x254 (size before relaxing) + .eh_frame 0x000000000001c3b0 0x1e8 kernel/blk_drv/blk_drv.a(hd.o) + 0x200 (size before relaxing) + .eh_frame 0x000000000001c598 0xac kernel/blk_drv/blk_drv.a(ramdisk.o) + 0xc4 (size before relaxing) + .eh_frame 0x000000000001c644 0x12c kernel/chr_drv/chr_drv.a(tty_io.o) + 0x144 (size before relaxing) + .eh_frame 0x000000000001c770 0x2c0 kernel/chr_drv/chr_drv.a(console.o) + 0x2d8 (size before relaxing) + .eh_frame 0x000000000001ca30 0x54 kernel/chr_drv/chr_drv.a(serial.o) + 0x6c (size before relaxing) + .eh_frame 0x000000000001ca84 0x148 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + 0x160 (size before relaxing) + .eh_frame 0x000000000001cbcc 0x5c kernel/math/math.a(math_emulate.o) + 0x74 (size before relaxing) + .eh_frame 0x000000000001cc28 0x1c lib/lib.a(_exit.o) + 0x34 (size before relaxing) + .eh_frame 0x000000000001cc44 0x24 lib/lib.a(open.o) + 0x3c (size before relaxing) + .eh_frame 0x000000000001cc68 0x20 lib/lib.a(close.o) + 0x38 (size before relaxing) + .eh_frame 0x000000000001cc88 0x20 lib/lib.a(write.o) + 0x38 (size before relaxing) + .eh_frame 0x000000000001cca8 0x20 lib/lib.a(dup.o) + 0x38 (size before relaxing) + .eh_frame 0x000000000001ccc8 0x18 lib/lib.a(setsid.o) + 0x30 (size before relaxing) + .eh_frame 0x000000000001cce0 0x20 lib/lib.a(execve.o) + 0x38 (size before relaxing) + .eh_frame 0x000000000001cd00 0x38 lib/lib.a(wait.o) + 0x50 (size before relaxing) + .eh_frame 0x000000000001cd38 0x2b0 lib/lib.a(string.o) + 0x2c8 (size before relaxing) + +.gcc_except_table + *(.gcc_except_table .gcc_except_table.*) + +.exception_ranges + *(.exception_ranges .exception_ranges*) + 0x000000000001cfe8 . = . + +.eh_frame + *(.eh_frame) + +.gcc_except_table + *(.gcc_except_table .gcc_except_table.*) + +.exception_ranges + *(.exception_ranges .exception_ranges*) + +.tdata + *(.tdata .tdata.* .gnu.linkonce.td.*) + +.tbss + *(.tbss .tbss.* .gnu.linkonce.tb.*) + *(.tcommon) + +.preinit_array 0x000000000001cfe8 0x0 + 0x000000000001cfe8 PROVIDE (__preinit_array_start, .) + *(.preinit_array) + 0x000000000001cfe8 PROVIDE (__preinit_array_end, .) + +.init_array 0x000000000001cfe8 0x0 + 0x000000000001cfe8 PROVIDE (__init_array_start, .) + *(SORT(.init_array.*) SORT(.ctors.*)) + *(.init_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .ctors) + 0x000000000001cfe8 PROVIDE (__init_array_end, .) + +.fini_array 0x000000000001cfe8 0x0 + 0x000000000001cfe8 PROVIDE (__fini_array_start, .) + *(SORT(.fini_array.*) SORT(.dtors.*)) + *(.fini_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .dtors) + 0x000000000001cfe8 PROVIDE (__fini_array_end, .) + +.ctors + *crtbegin.o(.ctors) + *crtbegin?.o(.ctors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) + *(SORT(.ctors.*)) + *(.ctors) + +.dtors + *crtbegin.o(.dtors) + *crtbegin?.o(.dtors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) + *(SORT(.dtors.*)) + *(.dtors) + +.jcr + *(.jcr) + +.data.rel.ro + *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) + *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) + +.dynamic + *(.dynamic) + +.got + *(.got) + *(.igot) + +.got.plt 0x000000000001cfe8 0x0 + *(.got.plt) + *(.igot.plt) + .igot.plt 0x0000000000000000 0x0 boot/head.o + +.data 0x000000000001d000 0x3b21 + *(.data .data.* .gnu.linkonce.d.*) + .data 0x000000000001d000 0x0 boot/head.o + .data 0x000000000001d000 0x28 init/main.o + *fill* 0x000000000001d028 0x18 + .data 0x000000000001d040 0x1330 kernel/kernel.o + 0x000000000001d040 sys_call_table + 0x000000000001d1bc NR_syscalls + 0x000000000001e1c0 current + 0x000000000001e1e0 task + 0x000000000001e2e0 stack_start + 0x000000000001e2e8 current_DOR + .data 0x000000000001e370 0x0 mm/mm.o + *fill* 0x000000000001e370 0x10 + .data 0x000000000001e380 0x60 fs/fs.o + 0x000000000001e384 start_buffer + .data 0x000000000001e3e0 0x0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .data 0x000000000001e3e0 0xcd kernel/blk_drv/blk_drv.a(floppy.o) + *fill* 0x000000000001e4ad 0x3 + .data 0x000000000001e4b0 0x4 kernel/blk_drv/blk_drv.a(hd.o) + .data 0x000000000001e4b4 0x0 kernel/blk_drv/blk_drv.a(ramdisk.o) + *fill* 0x000000000001e4b4 0xc + .data 0x000000000001e4c0 0x2538 kernel/chr_drv/chr_drv.a(tty_io.o) + 0x000000000001e4c0 tty_table + 0x00000000000209e0 table_list + .data 0x00000000000209f8 0x1 kernel/chr_drv/chr_drv.a(console.o) + .data 0x00000000000209f9 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) + .data 0x00000000000209f9 0x0 kernel/chr_drv/chr_drv.a(serial.o) + .data 0x00000000000209f9 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) + *fill* 0x00000000000209f9 0x7 + .data 0x0000000000020a00 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .data 0x0000000000020a20 0x0 kernel/math/math.a(math_emulate.o) + .data 0x0000000000020a20 0x101 lib/lib.a(ctype.o) + 0x0000000000020a20 _ctype + .data 0x0000000000020b21 0x0 lib/lib.a(_exit.o) + .data 0x0000000000020b21 0x0 lib/lib.a(open.o) + .data 0x0000000000020b21 0x0 lib/lib.a(close.o) + .data 0x0000000000020b21 0x0 lib/lib.a(errno.o) + .data 0x0000000000020b21 0x0 lib/lib.a(write.o) + .data 0x0000000000020b21 0x0 lib/lib.a(dup.o) + .data 0x0000000000020b21 0x0 lib/lib.a(setsid.o) + .data 0x0000000000020b21 0x0 lib/lib.a(execve.o) + .data 0x0000000000020b21 0x0 lib/lib.a(wait.o) + .data 0x0000000000020b21 0x0 lib/lib.a(string.o) + +.data1 + *(.data1) + 0x0000000000020b21 _edata = . + 0x0000000000020b21 PROVIDE (edata, .) + 0x0000000000020b21 . = . + 0x0000000000020b21 __bss_start = . + +.bss 0x0000000000020b40 0x44b0 + *(.dynbss) + *(.bss .bss.* .gnu.linkonce.b.*) + .bss 0x0000000000020b40 0x0 boot/head.o + .bss 0x0000000000020b40 0x40c init/main.o + *fill* 0x0000000000020f4c 0x14 + .bss 0x0000000000020f60 0x760 kernel/kernel.o + 0x0000000000020f60 jiffies + 0x0000000000020f64 startup_time + 0x0000000000020f68 last_task_used_math + 0x00000000000212a4 last_pid + .bss 0x00000000000216c0 0xf20 mm/mm.o + .bss 0x00000000000225e0 0x710 fs/fs.o + 0x00000000000225e0 inode_table + 0x0000000000022ce0 nr_buffers + 0x0000000000022cec ROOT_DEV + *fill* 0x0000000000022cf0 0x10 + .bss 0x0000000000022d00 0x58 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x0000000000022d00 wait_for_request + 0x0000000000022d20 blk_dev + .bss 0x0000000000022d58 0x25 kernel/blk_drv/blk_drv.a(floppy.o) + 0x0000000000022d58 do_floppy + 0x0000000000022d5c selected + 0x0000000000022d60 wait_on_floppy_select + *fill* 0x0000000000022d7d 0x3 + .bss 0x0000000000022d80 0xb0 kernel/blk_drv/blk_drv.a(hd.o) + 0x0000000000022d80 do_hd + 0x0000000000022da0 hd_info + .bss 0x0000000000022e30 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x0000000000022e30 rd_length + .bss 0x0000000000022e34 0x4 kernel/chr_drv/chr_drv.a(tty_io.o) + *fill* 0x0000000000022e38 0x8 + .bss 0x0000000000022e40 0xac kernel/chr_drv/chr_drv.a(console.o) + 0x0000000000022e40 beepcount + .bss 0x0000000000022eec 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) + .bss 0x0000000000022eec 0x0 kernel/chr_drv/chr_drv.a(serial.o) + .bss 0x0000000000022eec 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) + .bss 0x0000000000022eec 0x0 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .bss 0x0000000000022eec 0x0 kernel/math/math.a(math_emulate.o) + .bss 0x0000000000022eec 0x0 lib/lib.a(ctype.o) + .bss 0x0000000000022eec 0x0 lib/lib.a(_exit.o) + .bss 0x0000000000022eec 0x0 lib/lib.a(open.o) + .bss 0x0000000000022eec 0x0 lib/lib.a(close.o) + .bss 0x0000000000022eec 0x0 lib/lib.a(errno.o) + .bss 0x0000000000022eec 0x0 lib/lib.a(write.o) + .bss 0x0000000000022eec 0x0 lib/lib.a(dup.o) + .bss 0x0000000000022eec 0x0 lib/lib.a(setsid.o) + .bss 0x0000000000022eec 0x0 lib/lib.a(execve.o) + .bss 0x0000000000022eec 0x0 lib/lib.a(wait.o) + .bss 0x0000000000022eec 0x0 lib/lib.a(string.o) + *(COMMON) + *fill* 0x0000000000022eec 0x14 + COMMON 0x0000000000022f00 0x20 init/main.o + 0x0000000000022f00 drive_info + COMMON 0x0000000000022f20 0x1000 kernel/kernel.o + 0x0000000000022f20 user_stack + COMMON 0x0000000000023f20 0xc40 fs/fs.o + 0x0000000000023f20 hash_table + 0x0000000000024400 super_block + 0x0000000000024760 file_table + COMMON 0x0000000000024b60 0x480 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x0000000000024b60 request + COMMON 0x0000000000024fe0 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x0000000000024fe0 rd_start + COMMON 0x0000000000024fe4 0x1 lib/lib.a(ctype.o) + 0x0000000000024fe4 _ctmp + *fill* 0x0000000000024fe5 0x3 + COMMON 0x0000000000024fe8 0x4 lib/lib.a(errno.o) + 0x0000000000024fe8 errno + COMMON 0x0000000000024fec 0x4 lib/lib.a(string.o) + 0x0000000000024fec ___strtok + 0x0000000000024ff0 . = ALIGN ((. != 0x0)?0x4:0x1) + 0x0000000000024ff0 . = ALIGN (0x4) + 0x0000000000024ff0 . = SEGMENT_START ("ldata-segment", .) + 0x0000000000024ff0 . = ALIGN (0x4) + 0x0000000000024ff0 _end = . + 0x0000000000024ff0 PROVIDE (end, .) + +.stab + *(.stab) + +.stabstr + *(.stabstr) + +.stab.excl + *(.stab.excl) + +.stab.exclstr + *(.stab.exclstr) + +.stab.index + *(.stab.index) + +.stab.indexstr + *(.stab.indexstr) + +.comment 0x0000000000000000 0x29 + *(.comment) + .comment 0x0000000000000000 0x29 init/main.o + 0x2a (size before relaxing) + .comment 0x0000000000000000 0x1a4 kernel/kernel.o + .comment 0x0000000000000000 0x2a mm/mm.o + .comment 0x0000000000000000 0x2f4 fs/fs.o + .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(floppy.o) + .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(hd.o) + .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(ramdisk.o) + .comment 0x0000000000000000 0x2a kernel/chr_drv/chr_drv.a(tty_io.o) + .comment 0x0000000000000000 0x2a kernel/chr_drv/chr_drv.a(console.o) + .comment 0x0000000000000000 0x2a kernel/chr_drv/chr_drv.a(serial.o) + .comment 0x0000000000000000 0x2a kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .comment 0x0000000000000000 0x2a kernel/math/math.a(math_emulate.o) + .comment 0x0000000000000000 0x2a lib/lib.a(ctype.o) + .comment 0x0000000000000000 0x2a lib/lib.a(_exit.o) + .comment 0x0000000000000000 0x2a lib/lib.a(open.o) + .comment 0x0000000000000000 0x2a lib/lib.a(close.o) + .comment 0x0000000000000000 0x2a lib/lib.a(errno.o) + .comment 0x0000000000000000 0x2a lib/lib.a(write.o) + .comment 0x0000000000000000 0x2a lib/lib.a(dup.o) + .comment 0x0000000000000000 0x2a lib/lib.a(setsid.o) + .comment 0x0000000000000000 0x2a lib/lib.a(execve.o) + .comment 0x0000000000000000 0x2a lib/lib.a(wait.o) + .comment 0x0000000000000000 0x2a lib/lib.a(string.o) + +.debug + *(.debug) + +.line + *(.line) + +.debug_srcinfo + *(.debug_srcinfo) + +.debug_sfnames + *(.debug_sfnames) + +.debug_aranges 0x0000000000000000 0x628 + *(.debug_aranges) + .debug_aranges + 0x0000000000000000 0x20 init/main.o + .debug_aranges + 0x0000000000000020 0x140 kernel/kernel.o + .debug_aranges + 0x0000000000000160 0x20 mm/mm.o + .debug_aranges + 0x0000000000000180 0x238 fs/fs.o + .debug_aranges + 0x00000000000003b8 0x20 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_aranges + 0x00000000000003d8 0x20 kernel/blk_drv/blk_drv.a(floppy.o) + .debug_aranges + 0x00000000000003f8 0x20 kernel/blk_drv/blk_drv.a(hd.o) + .debug_aranges + 0x0000000000000418 0x20 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_aranges + 0x0000000000000438 0x20 kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_aranges + 0x0000000000000458 0x20 kernel/chr_drv/chr_drv.a(console.o) + .debug_aranges + 0x0000000000000478 0x20 kernel/chr_drv/chr_drv.a(serial.o) + .debug_aranges + 0x0000000000000498 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_aranges + 0x00000000000004b8 0x20 kernel/math/math.a(math_emulate.o) + .debug_aranges + 0x00000000000004d8 0x18 lib/lib.a(ctype.o) + .debug_aranges + 0x00000000000004f0 0x20 lib/lib.a(_exit.o) + .debug_aranges + 0x0000000000000510 0x20 lib/lib.a(open.o) + .debug_aranges + 0x0000000000000530 0x20 lib/lib.a(close.o) + .debug_aranges + 0x0000000000000550 0x18 lib/lib.a(errno.o) + .debug_aranges + 0x0000000000000568 0x20 lib/lib.a(write.o) + .debug_aranges + 0x0000000000000588 0x20 lib/lib.a(dup.o) + .debug_aranges + 0x00000000000005a8 0x20 lib/lib.a(setsid.o) + .debug_aranges + 0x00000000000005c8 0x20 lib/lib.a(execve.o) + .debug_aranges + 0x00000000000005e8 0x20 lib/lib.a(wait.o) + .debug_aranges + 0x0000000000000608 0x20 lib/lib.a(string.o) + +.debug_pubnames + *(.debug_pubnames) + +.debug_info 0x0000000000000000 0x17b3f + *(.debug_info .gnu.linkonce.wi.*) + .debug_info 0x0000000000000000 0xb73 init/main.o + .debug_info 0x0000000000000b73 0x5101 kernel/kernel.o + .debug_info 0x0000000000005c74 0xba8 mm/mm.o + .debug_info 0x000000000000681c 0xa5c4 fs/fs.o + .debug_info 0x0000000000010de0 0x932 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_info 0x0000000000011712 0xc9f kernel/blk_drv/blk_drv.a(floppy.o) + .debug_info 0x00000000000123b1 0xd5f kernel/blk_drv/blk_drv.a(hd.o) + .debug_info 0x0000000000013110 0xad5 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_info 0x0000000000013be5 0xacd kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_info 0x00000000000146b2 0xdb0 kernel/chr_drv/chr_drv.a(console.o) + .debug_info 0x0000000000015462 0x85c kernel/chr_drv/chr_drv.a(serial.o) + .debug_info 0x0000000000015cbe 0xb47 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_info 0x0000000000016805 0x7b5 kernel/math/math.a(math_emulate.o) + .debug_info 0x0000000000016fba 0x66 lib/lib.a(ctype.o) + .debug_info 0x0000000000017020 0x77 lib/lib.a(_exit.o) + .debug_info 0x0000000000017097 0xd0 lib/lib.a(open.o) + .debug_info 0x0000000000017167 0x97 lib/lib.a(close.o) + .debug_info 0x00000000000171fe 0x36 lib/lib.a(errno.o) + .debug_info 0x0000000000017234 0xc9 lib/lib.a(write.o) + .debug_info 0x00000000000172fd 0x97 lib/lib.a(dup.o) + .debug_info 0x0000000000017394 0x95 lib/lib.a(setsid.o) + .debug_info 0x0000000000017429 0xcb lib/lib.a(execve.o) + .debug_info 0x00000000000174f4 0xed lib/lib.a(wait.o) + .debug_info 0x00000000000175e1 0x55e lib/lib.a(string.o) + +.debug_abbrev 0x0000000000000000 0x4557 + *(.debug_abbrev) + .debug_abbrev 0x0000000000000000 0x237 init/main.o + .debug_abbrev 0x0000000000000237 0x101d kernel/kernel.o + .debug_abbrev 0x0000000000001254 0x20b mm/mm.o + .debug_abbrev 0x000000000000145f 0x1a71 fs/fs.o + .debug_abbrev 0x0000000000002ed0 0x169 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_abbrev 0x0000000000003039 0x27d kernel/blk_drv/blk_drv.a(floppy.o) + .debug_abbrev 0x00000000000032b6 0x23c kernel/blk_drv/blk_drv.a(hd.o) + .debug_abbrev 0x00000000000034f2 0x1a8 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_abbrev 0x000000000000369a 0x279 kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_abbrev 0x0000000000003913 0x26b kernel/chr_drv/chr_drv.a(console.o) + .debug_abbrev 0x0000000000003b7e 0x175 kernel/chr_drv/chr_drv.a(serial.o) + .debug_abbrev 0x0000000000003cf3 0x18d kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_abbrev 0x0000000000003e80 0x163 kernel/math/math.a(math_emulate.o) + .debug_abbrev 0x0000000000003fe3 0x3e lib/lib.a(ctype.o) + .debug_abbrev 0x0000000000004021 0x51 lib/lib.a(_exit.o) + .debug_abbrev 0x0000000000004072 0x97 lib/lib.a(open.o) + .debug_abbrev 0x0000000000004109 0x75 lib/lib.a(close.o) + .debug_abbrev 0x000000000000417e 0x2c lib/lib.a(errno.o) + .debug_abbrev 0x00000000000041aa 0xa1 lib/lib.a(write.o) + .debug_abbrev 0x000000000000424b 0x75 lib/lib.a(dup.o) + .debug_abbrev 0x00000000000042c0 0x73 lib/lib.a(setsid.o) + .debug_abbrev 0x0000000000004333 0x85 lib/lib.a(execve.o) + .debug_abbrev 0x00000000000043b8 0xb6 lib/lib.a(wait.o) + .debug_abbrev 0x000000000000446e 0xe9 lib/lib.a(string.o) + +.debug_line 0x0000000000000000 0x48da + *(.debug_line .debug_line.* .debug_line_end) + .debug_line 0x0000000000000000 0x1e5 init/main.o + .debug_line 0x00000000000001e5 0xf41 kernel/kernel.o + .debug_line 0x0000000000001126 0x2b4 mm/mm.o + .debug_line 0x00000000000013da 0x1e58 fs/fs.o + .debug_line 0x0000000000003232 0x197 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_line 0x00000000000033c9 0x24c kernel/blk_drv/blk_drv.a(floppy.o) + .debug_line 0x0000000000003615 0x2bf kernel/blk_drv/blk_drv.a(hd.o) + .debug_line 0x00000000000038d4 0x160 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_line 0x0000000000003a34 0x33b kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_line 0x0000000000003d6f 0x3ab kernel/chr_drv/chr_drv.a(console.o) + .debug_line 0x000000000000411a 0xd9 kernel/chr_drv/chr_drv.a(serial.o) + .debug_line 0x00000000000041f3 0x1db kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_line 0x00000000000043ce 0xe1 kernel/math/math.a(math_emulate.o) + .debug_line 0x00000000000044af 0x28 lib/lib.a(ctype.o) + .debug_line 0x00000000000044d7 0x39 lib/lib.a(_exit.o) + .debug_line 0x0000000000004510 0x62 lib/lib.a(open.o) + .debug_line 0x0000000000004572 0x5c lib/lib.a(close.o) + .debug_line 0x00000000000045ce 0x28 lib/lib.a(errno.o) + .debug_line 0x00000000000045f6 0x76 lib/lib.a(write.o) + .debug_line 0x000000000000466c 0x5a lib/lib.a(dup.o) + .debug_line 0x00000000000046c6 0x77 lib/lib.a(setsid.o) + .debug_line 0x000000000000473d 0x5d lib/lib.a(execve.o) + .debug_line 0x000000000000479a 0x7a lib/lib.a(wait.o) + .debug_line 0x0000000000004814 0xc6 lib/lib.a(string.o) + +.debug_frame + *(.debug_frame) + +.debug_str 0x0000000000000000 0x2141 + *(.debug_str) + .debug_str 0x0000000000000000 0x3bd init/main.o + 0x460 (size before relaxing) + .debug_str 0x00000000000003bd 0x9e6 kernel/kernel.o + 0x2484 (size before relaxing) + .debug_str 0x0000000000000da3 0x193 mm/mm.o + 0x4ee (size before relaxing) + .debug_str 0x0000000000000f36 0x898 fs/fs.o + 0x49b7 (size before relaxing) + .debug_str 0x00000000000017ce 0xec kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x48d (size before relaxing) + .debug_str 0x00000000000018ba 0x1cf kernel/blk_drv/blk_drv.a(floppy.o) + 0x66f (size before relaxing) + .debug_str 0x0000000000001a89 0x15e kernel/blk_drv/blk_drv.a(hd.o) + 0x5e4 (size before relaxing) + .debug_str 0x0000000000001be7 0x43 kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x586 (size before relaxing) + .debug_str 0x0000000000001c2a 0xf7 kernel/chr_drv/chr_drv.a(tty_io.o) + 0x4df (size before relaxing) + .debug_str 0x0000000000001d21 0x1b9 kernel/chr_drv/chr_drv.a(console.o) + 0x5b3 (size before relaxing) + .debug_str 0x0000000000001eda 0x1a kernel/chr_drv/chr_drv.a(serial.o) + 0x3f8 (size before relaxing) + .debug_str 0x0000000000001ef4 0x8b kernel/chr_drv/chr_drv.a(tty_ioctl.o) + 0x4a3 (size before relaxing) + .debug_str 0x0000000000001f7f 0x65 kernel/math/math.a(math_emulate.o) + 0x38e (size before relaxing) + .debug_str 0x0000000000001fe4 0x89 lib/lib.a(ctype.o) + 0xb2 (size before relaxing) + .debug_str 0x000000000000206d 0x8 lib/lib.a(_exit.o) + 0xde (size before relaxing) + .debug_str 0x0000000000000000 0x8 lib/lib.a(open.o) + 0xee (size before relaxing) + .debug_str 0x0000000000002075 0x8 lib/lib.a(close.o) + 0xe0 (size before relaxing) + .debug_str 0x000000000000207d 0x8 lib/lib.a(errno.o) + 0x8f (size before relaxing) + .debug_str 0x0000000000000000 0x8 lib/lib.a(write.o) + 0xec (size before relaxing) + .debug_str 0x0000000000002085 0x6 lib/lib.a(dup.o) + 0xd8 (size before relaxing) + .debug_str 0x000000000000208b 0x9 lib/lib.a(setsid.o) + 0xe8 (size before relaxing) + .debug_str 0x0000000000002094 0x9 lib/lib.a(execve.o) + 0xf1 (size before relaxing) + .debug_str 0x000000000000209d 0x11 lib/lib.a(wait.o) + 0xfe (size before relaxing) + .debug_str 0x00000000000020ae 0x93 lib/lib.a(string.o) + 0x143 (size before relaxing) + +.debug_loc + *(.debug_loc) + +.debug_macinfo + *(.debug_macinfo) + +.debug_weaknames + *(.debug_weaknames) + +.debug_funcnames + *(.debug_funcnames) + +.debug_typenames + *(.debug_typenames) + +.debug_varnames + *(.debug_varnames) + +.debug_pubtypes + *(.debug_pubtypes) + +.debug_ranges 0x0000000000000000 0x18 + *(.debug_ranges) + .debug_ranges 0x0000000000000000 0x18 init/main.o + +.debug_macro + *(.debug_macro) + +.gnu.attributes + *(.gnu.attributes) + +/DISCARD/ + *(.note.GNU-stack) + *(.gnu_debuglink) + *(.gnu.lto_*) +OUTPUT(tools/system elf32-i386) diff --git a/linux-0.11-lab/0/linux/boot/bootsect b/linux-0.11-lab/0/linux/boot/bootsect new file mode 100644 index 0000000000000000000000000000000000000000..4fbb8f823afe23687f1887d48deeb19fdcf83049 GIT binary patch literal 544 zcmZQ%7GP0e00JfufdrZ$>>UT#`)=%Dn9z4%Cj+DAH_iW_m%fre~uHUSwNXN9*i=ymehGJ;Ln!ff#WtiVnQ zhTZH8d+ix_Fbba)*ufysci@E)!;7N~dJF$B+A=VditBaD0d;UNHUH)>;o2bsq=ibD zUjNfu{D<)s1B1c@RhzFW-(_8 zyWs)N8wX!-zAym_G6SXbtl4ZCONDkYGHA2SVkl+#&o+l)@hk?z1B+)cfHa*h-qdq| z733tt+pm`g1P2Cni_Kx^=9|Ib*m1R6Y!*YuwM`6-j~E!Y0DW7;8WkBGaTw@dps&vg zgE+6x1nv67yn*3e)L{k&UM`>f#FWgubcN!|;*!){1wB1IUM^lPq<|j0Og84wRRH+h BgWdoD literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/boot/bootsect.o b/linux-0.11-lab/0/linux/boot/bootsect.o new file mode 100644 index 0000000000000000000000000000000000000000..e35422ec017a165928bfcbec5f9f0363b4a9e75c GIT binary patch literal 923 zcmYjPe@GKy7=FH+PB$=@gOrLGSb;@HGl?KZQ#V8qHK&qRjLn^EOg*`~_2a*bAQEj2 z`bR7R8DjO1Ax5YD;D!W64T2~X>5mFT9P~#*1c~eYW`BB3fn$y+MeVjqc)FB7D{5ZwQc zlnx;W9UDX^enV$llvLXoyfYO9Z}$=84ic;$V`O7tS=LmkPeZ`p+0`EKHzCjy2sHQl zw}lpeD-uHysXwTY5sDOw1Y=|-4_TXAn>%^rd%=iw84Yc11;O9ydW>fq~$ltjP-a7_y>584mLI>~!sq4M`D5Ly@qm@(>AWA%vwU zr%{<_+X|nde;^cvTBwf1Bxp*gFV1T;>8i$^g?NcKSG5q0@!xcE+`au;IbOSyoY+a~ z{!PR`f4ixx+SO^8CCMcNsiZj%R`aVSzcIBg=v7dW8hevmN}95U=#^i zr)no|09j{lb(WIStn(?vkzMq|I|{AlEXVU%$9xr@m*6E`j|&EKW*r6`Npr0hYp)?r zZZZ#$s1!#JP?cts3OD|gYj$Hl#R^TxZHehkwhp*b#dJ@BG4oNrJhA0o88bcbDr`}l zq`HQqR(%{jBbm%s8(UUwT8Z1NS<0;0*6J{lvGC1C@wAnkO^FJFf$S6TC5rM^{XXi` zL>k>@nq232gLmrem|4t+bg$&5+XH7iM)#1fVRRQc{Pnj!5uJed*5_GV{{}WkC!rMg z_MAVrNM}JOl67*Dd*89})A9sAdKZB*dkfv2*ih7^UQ;z`&?SnZugqR%-#z8CTDl%r F<1c(7E-?TA literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/boot/bootsect.s b/linux-0.11-lab/0/linux/boot/bootsect.s new file mode 100644 index 0000000..711f103 --- /dev/null +++ b/linux-0.11-lab/0/linux/boot/bootsect.s @@ -0,0 +1,260 @@ +! +! SYS_SIZE is the number of clicks (16 bytes) to be loaded. +! 0x3000 is 0x30000 bytes = 196kB, more than enough for current +! versions of linux +! +SYSSIZE = 0x3000 +! +! bootsect.s (C) 1991 Linus Torvalds +! +! bootsect.s is loaded at 0x7c00 by the bios-startup routines, and moves +! iself out of the way to address 0x90000, and jumps there. +! +! It then loads 'setup' directly after itself (0x90200), and the system +! at 0x10000, using BIOS interrupts. +! +! NOTE! currently system is at most 8*65536 bytes long. This should be no +! problem, even in the future. I want to keep it simple. This 512 kB +! kernel size should be enough, especially as this doesn't contain the +! buffer cache as in minix +! +! The loader has been made as simple as possible, and continuos +! read errors will result in a unbreakable loop. Reboot by hand. It +! loads pretty fast by getting whole sectors at a time whenever possible. + +.globl begtext, begdata, begbss, endtext, enddata, endbss +.text +begtext: +.data +begdata: +.bss +begbss: +.text + +SETUPLEN = 4 ! nr of setup-sectors +BOOTSEG = 0x07c0 ! original address of boot-sector +INITSEG = 0x9000 ! we move boot here - out of the way +SETUPSEG = 0x9020 ! setup starts here +SYSSEG = 0x1000 ! system loaded at 0x10000 (65536). +ENDSEG = SYSSEG + SYSSIZE ! where to stop loading + +! ROOT_DEV: 0x000 - same type of floppy as boot. +! 0x301 - first partition on first drive etc +ROOT_DEV = 0x306 + +entry start +start: + mov ax,#BOOTSEG + mov ds,ax + mov ax,#INITSEG + mov es,ax + mov cx,#256 + sub si,si + sub di,di + rep + movw + jmpi go,INITSEG +go: mov ax,cs + mov ds,ax + mov es,ax +! put stack at 0x9ff00. + mov ss,ax + mov sp,#0xFF00 ! arbitrary value >>512 + +! load the setup-sectors directly after the bootblock. +! Note that 'es' is already set up. + +load_setup: + mov dx,#0x0000 ! drive 0, head 0 + mov cx,#0x0002 ! sector 2, track 0 + mov bx,#0x0200 ! address = 512, in INITSEG + mov ax,#0x0200+SETUPLEN ! service 2, nr of sectors + int 0x13 ! read it + jnc ok_load_setup ! ok - continue + mov dx,#0x0000 + mov ax,#0x0000 ! reset the diskette + int 0x13 + j load_setup + +ok_load_setup: + +! Get disk drive parameters, specifically nr of sectors/track + + mov dl,#0x00 + mov ax,#0x0800 ! AH=8 is get drive parameters + int 0x13 + mov ch,#0x00 + seg cs + mov sectors,cx + mov ax,#INITSEG + mov es,ax + +! Print some inane message + + mov ah,#0x03 ! read cursor pos + xor bh,bh + int 0x10 + + mov cx,#24 + mov bx,#0x0007 ! page 0, attribute 7 (normal) + mov bp,#msg1 + mov ax,#0x1301 ! write string, move cursor + int 0x10 + +! ok, we've written the message, now +! we want to load the system (at 0x10000) + + mov ax,#SYSSEG + mov es,ax ! segment of 0x010000 + call read_it + call kill_motor + +! After that we check which root-device to use. If the device is +! defined (!= 0), nothing is done and the given device is used. +! Otherwise, either /dev/PS0 (2,28) or /dev/at0 (2,8), depending +! on the number of sectors that the BIOS reports currently. + + seg cs + mov ax,root_dev + cmp ax,#0 + jne root_defined + seg cs + mov bx,sectors + mov ax,#0x0208 ! /dev/ps0 - 1.2Mb + cmp bx,#15 + je root_defined + mov ax,#0x021c ! /dev/PS0 - 1.44Mb + cmp bx,#18 + je root_defined +undef_root: + jmp undef_root +root_defined: + seg cs + mov root_dev,ax + +! after that (everyting loaded), we jump to +! the setup-routine loaded directly after +! the bootblock: + + jmpi 0,SETUPSEG + +! This routine loads the system at address 0x10000, making sure +! no 64kB boundaries are crossed. We try to load it as fast as +! possible, loading whole tracks whenever we can. +! +! in: es - starting address segment (normally 0x1000) +! +sread: .word 1+SETUPLEN ! sectors read of current track +head: .word 0 ! current head +track: .word 0 ! current track + +read_it: + mov ax,es + test ax,#0x0fff +die: jne die ! es must be at 64kB boundary + xor bx,bx ! bx is starting address within segment +rp_read: + mov ax,es + cmp ax,#ENDSEG ! have we loaded all yet? + jb ok1_read + ret +ok1_read: + seg cs + mov ax,sectors + sub ax,sread + mov cx,ax + shl cx,#9 + add cx,bx + jnc ok2_read + je ok2_read + xor ax,ax + sub ax,bx + shr ax,#9 +ok2_read: + call read_track + mov cx,ax + add ax,sread + seg cs + cmp ax,sectors + jne ok3_read + mov ax,#1 + sub ax,head + jne ok4_read + inc track +ok4_read: + mov head,ax + xor ax,ax +ok3_read: + mov sread,ax + shl cx,#9 + add bx,cx + jnc rp_read + mov ax,es + add ax,#0x1000 + mov es,ax + xor bx,bx + jmp rp_read + +read_track: + push ax + push bx + push cx + push dx + mov dx,track + mov cx,sread + inc cx + mov ch,dl + mov dx,head + mov dh,dl + mov dl,#0 + and dx,#0x0100 + mov ah,#2 + int 0x13 + jc bad_rt + pop dx + pop cx + pop bx + pop ax + ret +bad_rt: mov ax,#0 + mov dx,#0 + int 0x13 + pop dx + pop cx + pop bx + pop ax + jmp read_track + +/* + * This procedure turns off the floppy drive motor, so + * that we enter the kernel in a known state, and + * don't have to worry about it later. + */ +kill_motor: + push dx + mov dx,#0x3f2 + mov al,#0 + outb + pop dx + ret + +sectors: + .word 0 + +msg1: + .byte 13,10 + .ascii "Loading system ..." + .byte 13,10,13,10 + +.org 508 +root_dev: + .word ROOT_DEV +boot_flag: + .word 0xAA55 + +.text +endtext: +.data +enddata: +.bss +endbss: diff --git a/linux-0.11-lab/0/linux/boot/head.o b/linux-0.11-lab/0/linux/boot/head.o new file mode 100644 index 0000000000000000000000000000000000000000..a4c55649c84336692e2f017e7d3b9dc5fd3082ba GIT binary patch literal 27012 zcmeI5O=ule7>2)-rn#v$OwS%uL!8 z6a%qn7P*Sc3jRisn&iB4& z&iUrdGdG*FIOn4m54>cIk-Qk$Ah(^!ke}VzorWRlmW`=8*Nf1++Dw|)n=8(lL2X<) zq}4H0_qtn3hEHg(eMrzN@gL4WGWd|l-26`+&h}(Q)Bb+)4UucVe)-Gw{Sx<}!~D%I z+*?{aEZ2TpTI?Ts6R8Drs4QHmT#)ACbDHqHPI#fPaIkZJx%=grzZ~<#59qk$nEtaG zwGRskkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@ zkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg z011!)36KB@kN^pg011!)36KB@{I3YSFZx$|7#nQXbmBLjzwysojfuwek;Xv15&K~{ z6T}bn$jEE2Z|!ovS+gN%tq)^XR$HyssPk=M+o88dFJpht^U^0$N=mKOKTj>|UZ7II z4x`H(J5>#+>Q=Qw)n--0B9~TQ#eSfLn=SeK)YI5gR6e{_N}TOiv2kb*y3Aqg&{f?# zRHRiv)sBntlbK~r0wh2JBtQZrur3L-9K81NMAG<0vMw3$rAdGUNPq-LVBHWXMn|V& zZ%m3&9A>eWtI(e;#{O(9#j+QBQXGq-`^K^jJ@x#QE<0i`Vp6sSL02)fJdSHqsHM(blD3iP(3Pv78q7&_8 zM*5-k_?fI2(eEHwXv&I_5`-Qfll%P;pXV0YUx3zAW3po86$m{&CikN%^o7%6cM$*qTtc_Ysx=5yrWmz#Y0Wq@1&%*1%SXPY8K_u4qV*JPI(}(IbjC`7P zOl$R@sT#=|)qkDIv{wK99Ukv?m%n(Im&lK20=Hg{t*Sze*ZlDbcXsa{@hVv2a|5sH zyZGms^dqTP8`GihV(m}Dz>RbuF1PGQ!HL`fm@lJ4uYeu7y6z=u@~z6cI{M&Nu>=k<<%P!gh--%^>djmB1Ic# zG~x&OiAMa0zq0GKeRF1UbBAE`q28r)_-9Aob|_S NJgpJWKc}%z4Mb on a 4Mb machine). + * + * NOTE! Although all physical memory should be identity + * mapped by this routine, only the kernel page functions + * use the >1Mb addresses directly. All "normal" functions + * use just the lower 1Mb, or the local data space, which + * will be mapped to some other place - mm keeps track of + * that. + * + * For those with more memory than 16 Mb - tough luck. I've + * not got it, why should you :-) The source is here. Change + * it. (Seriously - it shouldn't be too difficult. Mostly + * change some constants etc. I left it at 16Mb, as my machine + * even cannot be extended past that (ok, but it was cheap :-) + * I've tried to show which constants to change by having + * some kind of marker at them (search for "16Mb"), but I + * won't guarantee that's all :-( ) + */ +.align 4 +setup_paging: + movl $1024*5,%ecx /* 5 pages - pg_dir+4 page tables */ + xorl %eax,%eax + xorl %edi,%edi /* pg_dir is at 0x000 */ + cld;rep;stosl + movl $pg0+7,pg_dir /* set present bit/user r/w */ + movl $pg1+7,pg_dir+4 /* --------- " " --------- */ + movl $pg2+7,pg_dir+8 /* --------- " " --------- */ + movl $pg3+7,pg_dir+12 /* --------- " " --------- */ + movl $pg3+4092,%edi + movl $0xfff007,%eax /* 16Mb - 4096 + 7 (r/w user,p) */ + std +1: stosl /* fill pages backwards - more efficient :-) */ + subl $0x1000,%eax + jge 1b + xorl %eax,%eax /* pg_dir is at 0x0000 */ + movl %eax,%cr3 /* cr3 - page directory start */ + movl %cr0,%eax + orl $0x80000000,%eax + movl %eax,%cr0 /* set paging (PG) bit */ + cld /* by wyj */ + ret /* this also flushes prefetch-queue */ + +.align 4 +.word 0 +idt_descr: + .word 256*8-1 # idt contains 256 entries + .long idt +.align 4 +.word 0 +gdt_descr: + .word 256*8-1 # so does gdt (not that that's any + .long gdt # magic number, but it works for me :^) + + .align 8 +idt: .fill 256,8,0 # idt is uninitialized + +gdt: .quad 0x0000000000000000 /* NULL descriptor */ + .quad 0x00c09a0000000fff /* 16Mb */ + .quad 0x00c0920000000fff /* 16Mb */ + .quad 0x0000000000000000 /* TEMPORARY - don't use */ + .fill 252,8,0 /* space for LDT's and TSS's etc */ diff --git a/linux-0.11-lab/0/linux/boot/setup b/linux-0.11-lab/0/linux/boot/setup new file mode 100644 index 0000000000000000000000000000000000000000..0e70f4846819f560fb2e22a8eb1e7186c7956ab0 GIT binary patch literal 344 zcmZQ%7GP0eU|_Id1QJNVq7lN`!7!ok#ujFS|7Qg{#TXd2bet7k%*3#TAIOzsVOY$@ zutjLIz*&LC91NXuTnwFjJPbP+82WA;HDh4}X+5yNfnlcr!{;SXQ3*l_<@!izwL4T8@UUNgLAc(wpUZcuop2&OfjEda<7{%Xg;=gL$t<~Tutazx3hbYqSrLZVca%ibUp9b?$HkVw;4TnF?Rz@46w`UObliF2LrIX1l zD$%Xa$Sgt^u2&7@|GQ@O1M(N{a&->*XRca94ek$5^Qt@KbHx4WGu-r2)9WkibQgy407%ZoGynhq literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/boot/setup.s b/linux-0.11-lab/0/linux/boot/setup.s new file mode 100644 index 0000000..2329d00 --- /dev/null +++ b/linux-0.11-lab/0/linux/boot/setup.s @@ -0,0 +1,231 @@ +! +! setup.s (C) 1991 Linus Torvalds +! +! setup.s is responsible for getting the system data from the BIOS, +! and putting them into the appropriate places in system memory. +! both setup.s and system has been loaded by the bootblock. +! +! This code asks the bios for memory/disk/other parameters, and +! puts them in a "safe" place: 0x90000-0x901FF, ie where the +! boot-block used to be. It is then up to the protected mode +! system to read them from there before the area is overwritten +! for buffer-blocks. +! + +! NOTE! These had better be the same as in bootsect.s! + +INITSEG = 0x9000 ! we move boot here - out of the way +SYSSEG = 0x1000 ! system loaded at 0x10000 (65536). +SETUPSEG = 0x9020 ! this is the current segment + +.globl begtext, begdata, begbss, endtext, enddata, endbss +.text +begtext: +.data +begdata: +.bss +begbss: +.text + +entry start +start: + +! ok, the read went well so we get current cursor position and save it for +! posterity. + + mov ax,#INITSEG ! this is done in bootsect already, but... + mov ds,ax + mov ah,#0x03 ! read cursor pos + xor bh,bh + int 0x10 ! save it in known place, con_init fetches + mov [0],dx ! it from 0x90000. + +! Get memory size (extended mem, kB) + + mov ah,#0x88 + int 0x15 + mov [2],ax + +! Get video-card data: + + mov ah,#0x0f + int 0x10 + mov [4],bx ! bh = display page + mov [6],ax ! al = video mode, ah = window width + +! check for EGA/VGA and some config parameters + + mov ah,#0x12 + mov bl,#0x10 + int 0x10 + mov [8],ax + mov [10],bx + mov [12],cx + +! Get hd0 data + + mov ax,#0x0000 + mov ds,ax + lds si,[4*0x41] + mov ax,#INITSEG + mov es,ax + mov di,#0x0080 + mov cx,#0x10 + rep + movsb + +! Get hd1 data + + mov ax,#0x0000 + mov ds,ax + lds si,[4*0x46] + mov ax,#INITSEG + mov es,ax + mov di,#0x0090 + mov cx,#0x10 + rep + movsb + +! Check that there IS a hd1 :-) + + mov ax,#0x01500 + mov dl,#0x81 + int 0x13 + jc no_disk1 + cmp ah,#3 + je is_disk1 +no_disk1: + mov ax,#INITSEG + mov es,ax + mov di,#0x0090 + mov cx,#0x10 + mov ax,#0x00 + rep + stosb +is_disk1: + +! now we want to move to protected mode ... + + cli ! no interrupts allowed ! + +! first we move the system to it's rightful place + + mov ax,#0x0000 + cld ! 'direction'=0, movs moves forward +do_move: + mov es,ax ! destination segment + add ax,#0x1000 + cmp ax,#0x9000 + jz end_move + mov ds,ax ! source segment + sub di,di + sub si,si + mov cx,#0x8000 + rep + movsw + jmp do_move + +! then we load the segment descriptors + +end_move: + mov ax,#SETUPSEG ! right, forgot this at first. didn't work :-) + mov ds,ax + lidt idt_48 ! load idt with 0,0 + lgdt gdt_48 ! load gdt with whatever appropriate + +! that was painless, now we enable A20 + + call empty_8042 + mov al,#0xD1 ! command write + out #0x64,al + call empty_8042 + mov al,#0xDF ! A20 on + out #0x60,al + call empty_8042 + +! well, that went ok, I hope. Now we have to reprogram the interrupts :-( +! we put them right after the intel-reserved hardware interrupts, at +! int 0x20-0x2F. There they won't mess up anything. Sadly IBM really +! messed this up with the original PC, and they haven't been able to +! rectify it afterwards. Thus the bios puts interrupts at 0x08-0x0f, +! which is used for the internal hardware interrupts as well. We just +! have to reprogram the 8259's, and it isn't fun. + + mov al,#0x11 ! initialization sequence + out #0x20,al ! send it to 8259A-1 + .word 0x00eb,0x00eb ! jmp $+2, jmp $+2 + out #0xA0,al ! and to 8259A-2 + .word 0x00eb,0x00eb + mov al,#0x20 ! start of hardware int's (0x20) + out #0x21,al + .word 0x00eb,0x00eb + mov al,#0x28 ! start of hardware int's 2 (0x28) + out #0xA1,al + .word 0x00eb,0x00eb + mov al,#0x04 ! 8259-1 is master + out #0x21,al + .word 0x00eb,0x00eb + mov al,#0x02 ! 8259-2 is slave + out #0xA1,al + .word 0x00eb,0x00eb + mov al,#0x01 ! 8086 mode for both + out #0x21,al + .word 0x00eb,0x00eb + out #0xA1,al + .word 0x00eb,0x00eb + mov al,#0xFF ! mask off all interrupts for now + out #0x21,al + .word 0x00eb,0x00eb + out #0xA1,al + +! well, that certainly wasn't fun :-(. Hopefully it works, and we don't +! need no steenking BIOS anyway (except for the initial loading :-). +! The BIOS-routine wants lots of unnecessary data, and it's less +! "interesting" anyway. This is how REAL programmers do it. +! +! Well, now's the time to actually move into protected mode. To make +! things as simple as possible, we do no register set-up or anything, +! we let the gnu-compiled 32-bit programs do that. We just jump to +! absolute address 0x00000, in 32-bit protected mode. + + mov ax,#0x0001 ! protected mode (PE) bit + lmsw ax ! This is it! + jmpi 0,8 ! jmp offset 0 of segment 8 (cs) + +! This routine checks that the keyboard command queue is empty +! No timeout is used - if this hangs there is something wrong with +! the machine, and we probably couldn't proceed anyway. +empty_8042: + .word 0x00eb,0x00eb + in al,#0x64 ! 8042 status port + test al,#2 ! is input buffer full? + jnz empty_8042 ! yes - loop + ret + +gdt: + .word 0,0,0,0 ! dummy + + .word 0x07FF ! 8Mb - limit=2047 (2048*4096=8Mb) + .word 0x0000 ! base address=0 + .word 0x9A00 ! code read/exec + .word 0x00C0 ! granularity=4096, 386 + + .word 0x07FF ! 8Mb - limit=2047 (2048*4096=8Mb) + .word 0x0000 ! base address=0 + .word 0x9200 ! data read/write + .word 0x00C0 ! granularity=4096, 386 + +idt_48: + .word 0 ! idt limit=0 + .word 0,0 ! idt base=0L + +gdt_48: + .word 0x800 ! gdt limit=2048, 256 GDT entries + .word 512+gdt,0x9 ! gdt base = 0X9xxxx + +.text +endtext: +.data +enddata: +.bss +endbss: diff --git a/linux-0.11-lab/0/linux/execve2.patch b/linux-0.11-lab/0/linux/execve2.patch new file mode 100644 index 0000000..7d99d4f --- /dev/null +++ b/linux-0.11-lab/0/linux/execve2.patch @@ -0,0 +1,41 @@ +diff -Naur 0/linux/init/main.c 4/linux/init/main.c +--- 0/linux/init/main.c 2016-08-08 09:40:13.000000000 +0800 ++++ 4/linux/init/main.c 2021-07-06 14:16:56.000000000 +0800 +@@ -208,3 +208,9 @@ + } + _exit(0); /* NOTE! _exit, not exit() */ + } ++ ++void print_nr(int sid) ++{ ++ if (sid > 86) ++ printk(" --syscall: sid=%d, pid=%d\n", sid, current->pid); ++} +diff -Naur 0/linux/kernel/system_call.s 4/linux/kernel/system_call.s +--- 0/linux/kernel/system_call.s 2015-09-03 20:21:09.000000000 +0800 ++++ 4/linux/kernel/system_call.s 2021-07-06 14:18:56.000000000 +0800 +@@ -91,6 +91,11 @@ + mov %dx,%es + movl $0x17,%edx # fs points to local data space + mov %dx,%fs ++ ++ pushl %eax #by wyj ++ call print_nr ++ popl %eax ++ + call sys_call_table(,%eax,4) + pushl %eax + movl current,%eax +diff -Naur 0/linux/mm/memory.c 4/linux/mm/memory.c +--- 0/linux/mm/memory.c 2015-09-04 15:24:20.000000000 +0800 ++++ 4/linux/mm/memory.c 2021-07-06 14:21:45.000000000 +0800 +@@ -370,6 +370,9 @@ + unsigned long page; + int block,i; + ++ if (current->pid > 5) ++ printk(" --do_no_page: address=%x, pid=%d\n", address, current->pid); ++ + address &= 0xfffff000; + tmp = address - current->start_code; + if (!current->executable || tmp >= current->end_data) { diff --git a/linux-0.11-lab/0/linux/fs/Makefile b/linux-0.11-lab/0/linux/fs/Makefile new file mode 100644 index 0000000..970acd4 --- /dev/null +++ b/linux-0.11-lab/0/linux/fs/Makefile @@ -0,0 +1,101 @@ +AR =ar +AS =as +LD =ld +LDFLAGS =-s -x +CC =gcc -march=i386 +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -mcld \ + -finline-functions -nostdinc -fno-stack-protector -I../include +CPP =gcc -E -nostdinc -I../include + +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< +.s.o: + $(AS) -o $*.o $< + +OBJS= open.o read_write.o inode.o file_table.o buffer.o super.o \ + block_dev.o char_dev.o file_dev.o stat.o exec.o pipe.o namei.o \ + bitmap.o fcntl.o ioctl.o truncate.o select.o + +fs.o: $(OBJS) + $(LD) -r -o fs.o $(OBJS) + +clean: + rm -f core *.o *.a tmp_make + for i in *.c;do rm -f `basename $$i .c`.s;done + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +bitmap.o : bitmap.c ../include/string.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h +block_dev.o : block_dev.c ../include/errno.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/segment.h ../include/asm/system.h +buffer.o : buffer.c ../include/stdarg.h ../include/linux/config.h \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/sys/types.h ../include/linux/mm.h ../include/signal.h \ + ../include/linux/kernel.h ../include/asm/system.h ../include/asm/io.h +char_dev.o : char_dev.c ../include/errno.h ../include/sys/types.h \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/segment.h ../include/asm/io.h +exec.o : exec.c ../include/errno.h ../include/string.h \ + ../include/sys/stat.h ../include/sys/types.h ../include/a.out.h \ + ../include/linux/fs.h ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/segment.h +fcntl.o : fcntl.c ../include/string.h ../include/errno.h \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/sys/types.h ../include/linux/mm.h ../include/signal.h \ + ../include/linux/kernel.h ../include/asm/segment.h ../include/fcntl.h \ + ../include/sys/stat.h +file_dev.o : file_dev.c ../include/errno.h ../include/fcntl.h \ + ../include/sys/types.h ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/linux/mm.h ../include/signal.h \ + ../include/linux/kernel.h ../include/asm/segment.h +file_table.o : file_table.c ../include/linux/fs.h ../include/sys/types.h +inode.o : inode.c ../include/string.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/linux/mm.h ../include/signal.h \ + ../include/linux/kernel.h ../include/asm/system.h +ioctl.o : ioctl.c ../include/string.h ../include/errno.h \ + ../include/sys/stat.h ../include/sys/types.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/linux/mm.h \ + ../include/signal.h +namei.o : namei.c ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/sys/types.h ../include/linux/mm.h \ + ../include/signal.h ../include/linux/kernel.h ../include/asm/segment.h \ + ../include/string.h ../include/fcntl.h ../include/errno.h \ + ../include/const.h ../include/sys/stat.h +open.o : open.c ../include/string.h ../include/errno.h ../include/fcntl.h \ + ../include/sys/types.h ../include/utime.h ../include/sys/stat.h \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/tty.h \ + ../include/termios.h ../include/linux/kernel.h ../include/asm/segment.h +pipe.o : pipe.c ../include/signal.h ../include/sys/types.h \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/linux/mm.h ../include/asm/segment.h +read_write.o : read_write.c ../include/sys/stat.h ../include/sys/types.h \ + ../include/errno.h ../include/linux/kernel.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/linux/mm.h \ + ../include/signal.h ../include/asm/segment.h +stat.o : stat.c ../include/errno.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/linux/fs.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/mm.h ../include/signal.h \ + ../include/linux/kernel.h ../include/asm/segment.h +super.o : super.c ../include/linux/config.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/system.h ../include/errno.h ../include/sys/stat.h +truncate.o : truncate.c ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/sys/types.h ../include/linux/mm.h \ + ../include/signal.h ../include/sys/stat.h diff --git a/linux-0.11-lab/0/linux/fs/bitmap.c b/linux-0.11-lab/0/linux/fs/bitmap.c new file mode 100644 index 0000000..2b74dbb --- /dev/null +++ b/linux-0.11-lab/0/linux/fs/bitmap.c @@ -0,0 +1,168 @@ +/* + * linux/fs/bitmap.c + * + * (C) 1991 Linus Torvalds + */ +// +/* bitmap.c contains the code that handles the inode and block bitmaps */ +#include + +#include +#include + +#define clear_block(addr) \ +__asm__ __volatile__ ("cld\n\t" \ + "rep\n\t" \ + "stosl" \ + ::"a" (0),"c" (BLOCK_SIZE/4),"D" ((long) (addr))) + +#define set_bit(nr,addr) ({\ +register int res __asm__("ax"); \ +__asm__ __volatile__("btsl %2,%3\n\tsetb %%al": \ +"=a" (res):"0" (0),"r" (nr),"m" (*(addr))); \ +res;}) + +#define clear_bit(nr,addr) ({\ +register int res __asm__("ax"); \ +__asm__ __volatile__("btrl %2,%3\n\tsetnb %%al": \ +"=a" (res):"0" (0),"r" (nr),"m" (*(addr))); \ +res;}) + +#define find_first_zero(addr) ({ \ +int __res; \ +__asm__ __volatile__ ("cld\n" \ + "1:\tlodsl\n\t" \ + "notl %%eax\n\t" \ + "bsfl %%eax,%%edx\n\t" \ + "je 2f\n\t" \ + "addl %%edx,%%ecx\n\t" \ + "jmp 3f\n" \ + "2:\taddl $32,%%ecx\n\t" \ + "cmpl $8192,%%ecx\n\t" \ + "jl 1b\n" \ + "3:" \ + :"=c" (__res):"c" (0),"S" (addr)); \ +__res;}) + +void free_block(int dev, int block) +{ + struct super_block * sb; + struct buffer_head * bh; + + if (!(sb = get_super(dev))) + panic("trying to free block on nonexistent device"); + if (block < sb->s_firstdatazone || block >= sb->s_nzones) + panic("trying to free block not in datazone"); + bh = get_hash_table(dev,block); + if (bh) { + if (bh->b_count != 1) { + printk("trying to free block (%04x:%d), count=%d\n", + dev,block,bh->b_count); + return; + } + bh->b_dirt=0; + bh->b_uptodate=0; + brelse(bh); + } + block -= sb->s_firstdatazone - 1 ; + if (clear_bit(block&8191,sb->s_zmap[block/8192]->b_data)) { + printk("block (%04x:%d) ",dev,block+sb->s_firstdatazone-1); + panic("free_block: bit already cleared"); + } + sb->s_zmap[block/8192]->b_dirt = 1; +} + +int new_block(int dev) +{ + struct buffer_head * bh; + struct super_block * sb; + int i,j; + + if (!(sb = get_super(dev))) + panic("trying to get new block from nonexistant device"); + j = 8192; + for (i=0 ; i<8 ; i++) + if (bh=sb->s_zmap[i]) + if ((j=find_first_zero(bh->b_data))<8192) + break; + if (i>=8 || !bh || j>=8192) + return 0; + if (set_bit(j,bh->b_data)) + panic("new_block: bit already set"); + bh->b_dirt = 1; + j += i*8192 + sb->s_firstdatazone-1; + if (j >= sb->s_nzones) + return 0; + if (!(bh=getblk(dev,j))) + panic("new_block: cannot get block"); + if (bh->b_count != 1) + panic("new block: count is != 1"); + clear_block(bh->b_data); + bh->b_uptodate = 1; + bh->b_dirt = 1; + brelse(bh); + return j; +} + +void free_inode(struct m_inode * inode) +{ + struct super_block * sb; + struct buffer_head * bh; + + if (!inode) + return; + if (!inode->i_dev) { + memset(inode,0,sizeof(*inode)); + return; + } + if (inode->i_count>1) { + printk("trying to free inode with count=%d\n",inode->i_count); + panic("free_inode"); + } + if (inode->i_nlinks) + panic("trying to free inode with links"); + if (!(sb = get_super(inode->i_dev))) + panic("trying to free inode on nonexistent device"); + if (inode->i_num < 1 || inode->i_num > sb->s_ninodes) + panic("trying to free inode 0 or nonexistant inode"); + if (!(bh=sb->s_imap[inode->i_num>>13])) + panic("nonexistent imap in superblock"); + if (clear_bit(inode->i_num&8191,bh->b_data)) + printk("free_inode: bit already cleared.\n\r"); + bh->b_dirt = 1; + memset(inode,0,sizeof(*inode)); +} + +struct m_inode * new_inode(int dev) +{ + struct m_inode * inode; + struct super_block * sb; + struct buffer_head * bh; + int i,j; + + if (!(inode=get_empty_inode())) + return NULL; + if (!(sb = get_super(dev))) + panic("new_inode with unknown device"); + j = 8192; + for (i=0 ; i<8 ; i++) + if (bh=sb->s_imap[i]) + if ((j=find_first_zero(bh->b_data))<8192) + break; + if (!bh || j >= 8192 || j+i*8192 > sb->s_ninodes) { + iput(inode); + return NULL; + } + if (set_bit(j,bh->b_data)) + panic("new_inode: bit already set"); + bh->b_dirt = 1; + inode->i_count=1; + inode->i_nlinks=1; + inode->i_dev=dev; + inode->i_uid=current->euid; + inode->i_gid=current->egid; + inode->i_dirt=1; + inode->i_num = j + i*8192; + inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; + return inode; +} diff --git a/linux-0.11-lab/0/linux/fs/bitmap.o b/linux-0.11-lab/0/linux/fs/bitmap.o new file mode 100644 index 0000000000000000000000000000000000000000..e2ff6c81c16c1eb4d774536e968d9c30d54d4546 GIT binary patch literal 10276 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/fs/block_dev.c b/linux-0.11-lab/0/linux/fs/block_dev.c new file mode 100644 index 0000000..a50ae3f --- /dev/null +++ b/linux-0.11-lab/0/linux/fs/block_dev.c @@ -0,0 +1,73 @@ +/* + * linux/fs/block_dev.c + * + * (C) 1991 Linus Torvalds + */ + +#include + +#include +#include +#include +#include + +int block_write(int dev, long * pos, char * buf, int count) +{ + int block = *pos >> BLOCK_SIZE_BITS; + int offset = *pos & (BLOCK_SIZE-1); + int chars; + int written = 0; + struct buffer_head * bh; + register char * p; + + while (count>0) { + chars = BLOCK_SIZE - offset; + if (chars > count) + chars=count; + if (chars == BLOCK_SIZE) + bh = getblk(dev,block); + else + bh = breada(dev,block,block+1,block+2,-1); + block++; + if (!bh) + return written?written:-EIO; + p = offset + bh->b_data; + offset = 0; + *pos += chars; + written += chars; + count -= chars; + while (chars-->0) + *(p++) = get_fs_byte(buf++); + bh->b_dirt = 1; + brelse(bh); + } + return written; +} + +int block_read(int dev, unsigned long * pos, char * buf, int count) +{ + int block = *pos >> BLOCK_SIZE_BITS; + int offset = *pos & (BLOCK_SIZE-1); + int chars; + int read = 0; + struct buffer_head * bh; + register char * p; + + while (count>0) { + chars = BLOCK_SIZE-offset; + if (chars > count) + chars = count; + if (!(bh = breada(dev,block,block+1,block+2,-1))) + return read?read:-EIO; + block++; + p = offset + bh->b_data; + offset = 0; + *pos += chars; + read += chars; + count -= chars; + while (chars-->0) + put_fs_byte(*(p++),buf++); + brelse(bh); + } + return read; +} diff --git a/linux-0.11-lab/0/linux/fs/block_dev.o b/linux-0.11-lab/0/linux/fs/block_dev.o new file mode 100644 index 0000000000000000000000000000000000000000..cdf73318e1c2982d43e13f2b6bfecf1c6b439a14 GIT binary patch literal 7292 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 + +#include +#include +#include +#include +#include + +extern void put_super(int dev); +extern void invalidate_inodes(int dev); + +extern int end; +struct buffer_head * start_buffer = (struct buffer_head *) &end; +struct buffer_head * hash_table[NR_HASH]; +static struct buffer_head * free_list; +static struct task_struct * buffer_wait = NULL; +int NR_BUFFERS = 0; + +static inline void wait_on_buffer(struct buffer_head * bh) +{ + cli(); + while (bh->b_lock) + sleep_on(&bh->b_wait); + sti(); +} + +int sys_sync(void) +{ + int i; + struct buffer_head * bh; + + sync_inodes(); /* write out inodes into buffers */ + bh = start_buffer; + for (i=0 ; ib_dirt) + ll_rw_block(WRITE,bh); + } + return 0; +} + +int sync_dev(int dev) +{ + int i; + struct buffer_head * bh; + + bh = start_buffer; + for (i=0 ; ib_dev != dev) + continue; + wait_on_buffer(bh); + if (bh->b_dev == dev && bh->b_dirt) + ll_rw_block(WRITE,bh); + } + sync_inodes(); + bh = start_buffer; + for (i=0 ; ib_dev != dev) + continue; + wait_on_buffer(bh); + if (bh->b_dev == dev && bh->b_dirt) + ll_rw_block(WRITE,bh); + } + return 0; +} + +void inline invalidate_buffers(int dev) +{ + int i; + struct buffer_head * bh; + + bh = start_buffer; + for (i=0 ; ib_dev != dev) + continue; + wait_on_buffer(bh); + if (bh->b_dev == dev) + bh->b_uptodate = bh->b_dirt = 0; + } +} + +/* + * This routine checks whether a floppy has been changed, and + * invalidates all buffer-cache-entries in that case. This + * is a relatively slow routine, so we have to try to minimize using + * it. Thus it is called only upon a 'mount' or 'open'. This + * is the best way of combining speed and utility, I think. + * People changing diskettes in the middle of an operation deserve + * to loose :-) + * + * NOTE! Although currently this is only for floppies, the idea is + * that any additional removable block-device will use this routine, + * and that mount/open needn't know that floppies/whatever are + * special. + */ +void check_disk_change(int dev) +{ + int i; + + if (MAJOR(dev) != 2) + return; + if (!floppy_change(dev & 0x03)) + return; + for (i=0 ; ib_next) + bh->b_next->b_prev = bh->b_prev; + if (bh->b_prev) + bh->b_prev->b_next = bh->b_next; + if (hash(bh->b_dev,bh->b_blocknr) == bh) + hash(bh->b_dev,bh->b_blocknr) = bh->b_next; +/* remove from free list */ + if (!(bh->b_prev_free) || !(bh->b_next_free)) + panic("Free block list corrupted"); + bh->b_prev_free->b_next_free = bh->b_next_free; + bh->b_next_free->b_prev_free = bh->b_prev_free; + if (free_list == bh) + free_list = bh->b_next_free; +} + +static inline void insert_into_queues(struct buffer_head * bh) +{ +/* put at end of free list */ + bh->b_next_free = free_list; + bh->b_prev_free = free_list->b_prev_free; + free_list->b_prev_free->b_next_free = bh; + free_list->b_prev_free = bh; +/* put the buffer in new hash-queue if it has a device */ + bh->b_prev = NULL; + bh->b_next = NULL; + if (!bh->b_dev) + return; + bh->b_next = hash(bh->b_dev,bh->b_blocknr); + hash(bh->b_dev,bh->b_blocknr) = bh; + bh->b_next->b_prev = bh; +} + +static struct buffer_head * find_buffer(int dev, int block) +{ + struct buffer_head * tmp; + + for (tmp = hash(dev,block) ; tmp != NULL ; tmp = tmp->b_next) + if (tmp->b_dev==dev && tmp->b_blocknr==block) + return tmp; + return NULL; +} + +/* + * Why like this, I hear you say... The reason is race-conditions. + * As we don't lock buffers (unless we are readint them, that is), + * something might happen to it while we sleep (ie a read-error + * will force it bad). This shouldn't really happen currently, but + * the code is ready. + */ +struct buffer_head * get_hash_table(int dev, int block) +{ + struct buffer_head * bh; + + for (;;) { + if (!(bh=find_buffer(dev,block))) + return NULL; + bh->b_count++; + wait_on_buffer(bh); + if (bh->b_dev == dev && bh->b_blocknr == block) + return bh; + bh->b_count--; + } +} + +/* + * Ok, this is getblk, and it isn't very clear, again to hinder + * race-conditions. Most of the code is seldom used, (ie repeating), + * so it should be much more efficient than it looks. + * + * The algoritm is changed: hopefully better, and an elusive bug removed. + */ +#define BADNESS(bh) (((bh)->b_dirt<<1)+(bh)->b_lock) +struct buffer_head * getblk(int dev,int block) +{ + struct buffer_head * tmp, * bh; + +repeat: + if (bh = get_hash_table(dev,block)) + return bh; + tmp = free_list; + do { + if (tmp->b_count) + continue; + if (!bh || BADNESS(tmp)b_next_free) != free_list); + if (!bh) { + sleep_on(&buffer_wait); + goto repeat; + } + wait_on_buffer(bh); + if (bh->b_count) + goto repeat; + while (bh->b_dirt) { + sync_dev(bh->b_dev); + wait_on_buffer(bh); + if (bh->b_count) + goto repeat; + } +/* NOTE!! While we slept waiting for this block, somebody else might */ +/* already have added "this" block to the cache. check it */ + if (find_buffer(dev,block)) + goto repeat; +/* OK, FINALLY we know that this buffer is the only one of it's kind, */ +/* and that it's unused (b_count=0), unlocked (b_lock=0), and clean */ + bh->b_count=1; + bh->b_dirt=0; + bh->b_uptodate=0; + remove_from_queues(bh); + bh->b_dev=dev; + bh->b_blocknr=block; + insert_into_queues(bh); + return bh; +} + +void brelse(struct buffer_head * buf) +{ + if (!buf) + return; + wait_on_buffer(buf); + if (!(buf->b_count--)) + panic("Trying to free free buffer"); + wake_up(&buffer_wait); +} + +/* + * bread() reads a specified block and returns the buffer that contains + * it. It returns NULL if the block was unreadable. + */ +struct buffer_head * bread(int dev,int block) +{ + struct buffer_head * bh; + + if (!(bh=getblk(dev,block))) + panic("bread: getblk returned NULL\n"); + if (bh->b_uptodate) + return bh; + ll_rw_block(READ,bh); + wait_on_buffer(bh); + if (bh->b_uptodate) + return bh; + brelse(bh); + return NULL; +} + +#define COPYBLK(from,to) \ +__asm__("cld\n\t" \ + "rep\n\t" \ + "movsl\n\t" \ + ::"c" (BLOCK_SIZE/4),"S" (from),"D" (to) \ + ) + +/* + * bread_page reads four buffers into memory at the desired address. It's + * a function of its own, as there is some speed to be got by reading them + * all at the same time, not waiting for one to be read, and then another + * etc. + */ +void bread_page(unsigned long address,int dev,int b[4]) +{ + struct buffer_head * bh[4]; + int i; + + for (i=0 ; i<4 ; i++) + if (b[i]) { + if (bh[i] = getblk(dev,b[i])) + if (!bh[i]->b_uptodate) + ll_rw_block(READ,bh[i]); + } else + bh[i] = NULL; + for (i=0 ; i<4 ; i++,address += BLOCK_SIZE) + if (bh[i]) { + wait_on_buffer(bh[i]); + if (bh[i]->b_uptodate) + COPYBLK((unsigned long) bh[i]->b_data,address); + brelse(bh[i]); + } +} + +/* + * Ok, breada can be used as bread, but additionally to mark other + * blocks for reading as well. End the argument list with a negative + * number. + */ +struct buffer_head * breada(int dev,int first, ...) +{ + va_list args; + struct buffer_head * bh, *tmp; + + va_start(args,first); + if (!(bh=getblk(dev,first))) + panic("bread: getblk returned NULL\n"); + if (!bh->b_uptodate) + ll_rw_block(READ,bh); + while ((first=va_arg(args,int))>=0) { + tmp=getblk(dev,first); + if (tmp) { + if (!tmp->b_uptodate) + ll_rw_block(READA,bh); + tmp->b_count--; + } + } + va_end(args); + wait_on_buffer(bh); + if (bh->b_uptodate) + return bh; + brelse(bh); + return (NULL); +} + +void buffer_init(long buffer_end) +{ + struct buffer_head * h = start_buffer; + void * b; + int i; + + if (buffer_end == 1<<20) + b = (void *) (640*1024); + else + b = (void *) buffer_end; + while ( (b -= BLOCK_SIZE) >= ((void *) (h+1)) ) { + h->b_dev = 0; + h->b_dirt = 0; + h->b_count = 0; + h->b_lock = 0; + h->b_uptodate = 0; + h->b_wait = NULL; + h->b_next = NULL; + h->b_prev = NULL; + h->b_data = (char *) b; + h->b_prev_free = h-1; + h->b_next_free = h+1; + h++; + NR_BUFFERS++; + if (b == (void *) 0x100000) + b = (void *) 0xA0000; + } + h--; + free_list = start_buffer; + free_list->b_prev_free = h; + h->b_next_free = free_list; + for (i=0;iLB*g=Pj~f9OHX&(4<0T) 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 +#include + +#include +#include + +#include +#include + +extern int tty_read(unsigned minor,char * buf,int count); +extern int tty_write(unsigned minor,char * buf,int count); + +typedef (*crw_ptr)(int rw,unsigned minor,char * buf,int count,off_t * pos); + +static int rw_ttyx(int rw,unsigned minor,char * buf,int count,off_t * pos) +{ + return ((rw==READ)?tty_read(minor,buf,count): + tty_write(minor,buf,count)); +} + +static int rw_tty(int rw,unsigned minor,char * buf,int count, off_t * pos) +{ + if (current->tty<0) + return -EPERM; + return rw_ttyx(rw,current->tty,buf,count,pos); +} + +static int rw_ram(int rw,char * buf, int count, off_t *pos) +{ + return -EIO; +} + +static int rw_mem(int rw,char * buf, int count, off_t * pos) +{ + return -EIO; +} + +static int rw_kmem(int rw,char * buf, int count, off_t * pos) +{ + return -EIO; +} + +static int rw_port(int rw,char * buf, int count, off_t * pos) +{ + int i=*pos; + + while (count-->0 && i<65536) { + if (rw==READ) + put_fs_byte(inb(i),buf++); + else + outb(get_fs_byte(buf++),i); + i++; + } + i -= *pos; + *pos += i; + return i; +} + +static int rw_memory(int rw, unsigned minor, char * buf, int count, off_t * pos) +{ + switch(minor) { + case 0: + return rw_ram(rw,buf,count,pos); + case 1: + return rw_mem(rw,buf,count,pos); + case 2: + return rw_kmem(rw,buf,count,pos); + case 3: + return (rw==READ)?0:count; /* rw_null */ + case 4: + return rw_port(rw,buf,count,pos); + default: + return -EIO; + } +} + +#define NRDEVS ((sizeof (crw_table))/(sizeof (crw_ptr))) + +static crw_ptr crw_table[]={ + NULL, /* nodev */ + rw_memory, /* /dev/mem etc */ + NULL, /* /dev/fd */ + NULL, /* /dev/hd */ + rw_ttyx, /* /dev/ttyx */ + rw_tty, /* /dev/tty */ + NULL, /* /dev/lp */ + NULL}; /* unnamed pipes */ + +int rw_char(int rw,int dev, char * buf, int count, off_t * pos) +{ + crw_ptr call_addr; + + if (MAJOR(dev)>=NRDEVS) + return -ENODEV; + if (!(call_addr=crw_table[MAJOR(dev)])) + return -ENODEV; + return call_addr(rw,MINOR(dev),buf,count,pos); +} diff --git a/linux-0.11-lab/0/linux/fs/char_dev.o b/linux-0.11-lab/0/linux/fs/char_dev.o new file mode 100644 index 0000000000000000000000000000000000000000..c7f8402c1f0282705e51af77991c05336e864f2d GIT binary patch literal 8284 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 Qso-A-o)>&Y@EyVb1*ZoUcK`qY literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/fs/exec.c b/linux-0.11-lab/0/linux/fs/exec.c new file mode 100644 index 0000000..92ee741 --- /dev/null +++ b/linux-0.11-lab/0/linux/fs/exec.c @@ -0,0 +1,539 @@ +/* + * linux/fs/exec.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * #!-checking implemented by tytso. + */ +// +/* + * Demand-loading implemented 01.12.91 - no need to read anything but + * the header into memory. The inode of the executable is put into + * "current->executable", and page faults do the actual loading. Clean. + * + * Once more I can proudly say that linux stood up to being changed: it + * was less than 2 hours work to get demand-loading completely implemented. + */ + +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +extern int sys_exit(int exit_code); +extern int sys_close(int fd); + +/* + * MAX_ARG_PAGES defines the number of pages allocated for arguments + * and envelope for the new program. 32 should suffice, this gives + * a maximum env+arg of 128kB ! + */ +#define MAX_ARG_PAGES 32 + + +int sys_uselib() +{ + return -ENOSYS; +} + +/* + * create_tables() parses the env- and arg-strings in new user + * memory and creates the pointer tables from them, and puts their + * addresses on the "stack", returning the new stack pointer value. + */ +static unsigned long * create_tables(char * p,int argc,int envc) +{ + unsigned long *argv,*envp; + unsigned long * sp; + + sp = (unsigned long *) (0xfffffffc & (unsigned long) p); + sp -= envc+1; + envp = sp; + sp -= argc+1; + argv = sp; + put_fs_long((unsigned long)envp,--sp); + put_fs_long((unsigned long)argv,--sp); + put_fs_long((unsigned long)argc,--sp); + while (argc-->0) { + put_fs_long((unsigned long) p,argv++); + while (get_fs_byte(p++)) /* nothing */ ; + } + put_fs_long(0,argv); + while (envc-->0) { + put_fs_long((unsigned long) p,envp++); + while (get_fs_byte(p++)) /* nothing */ ; + } + put_fs_long(0,envp); + return sp; +} + +/* + * count() counts the number of arguments/envelopes + */ +static int count(char ** argv) +{ + int i=0; + char ** tmp; + + if (tmp = argv) + while (get_fs_long((unsigned long *) (tmp++))) + i++; + + return i; +} + +/* + * 'copy_string()' copies argument/envelope strings from user + * memory to free pages in kernel mem. These are in a format ready + * to be put directly into the top of new user memory. + * + * Modified by TYT, 11/24/91 to add the from_kmem argument, which specifies + * whether the string and the string array are from user or kernel segments: + * + * from_kmem argv * argv ** + * 0 user space user space + * 1 kernel space user space + * 2 kernel space kernel space + * + * We do this by playing games with the fs segment register. Since it + * it is expensive to load a segment register, we try to avoid calling + * set_fs() unless we absolutely have to. + */ +static unsigned long copy_strings(int argc,char ** argv,unsigned long *page, + unsigned long p, int from_kmem) +{ + char *tmp, *pag; + int len, offset = 0; + unsigned long old_fs, new_fs; + + if (!p) + return 0; /* bullet-proofing */ + new_fs = get_ds(); + old_fs = get_fs(); + if (from_kmem==2) + set_fs(new_fs); + while (argc-- > 0) { + if (from_kmem == 1) + set_fs(new_fs); + if (!(tmp = (char *)get_fs_long(((unsigned long *)argv)+argc))) + panic("argc is wrong"); + if (from_kmem == 1) + set_fs(old_fs); + len=0; /* remember zero-padding */ + do { + len++; + } while (get_fs_byte(tmp++)); + if (p-len < 0) { /* this shouldn't happen - 128kB */ + set_fs(old_fs); + return 0; + } + while (len) { + --p; --tmp; --len; + if (--offset < 0) { + offset = p % PAGE_SIZE; + if (from_kmem==2) + set_fs(old_fs); + if (!(pag = (char *) page[p/PAGE_SIZE]) && + !(pag = (char *) (page[p/PAGE_SIZE] = + (unsigned long *) get_free_page()))) + return 0; + if (from_kmem==2) + set_fs(new_fs); + + } + *(pag + offset) = get_fs_byte(tmp); + } + } + if (from_kmem==2) + set_fs(old_fs); + return p; +} + +static unsigned long change_ldt(unsigned long text_size,unsigned long * page) +{ + unsigned long code_limit,data_limit,code_base,data_base; + int i; + + code_limit = text_size+PAGE_SIZE -1; + code_limit &= 0xFFFFF000; + data_limit = 0x4000000; + code_base = get_base(current->ldt[1]); + data_base = code_base; + set_base(current->ldt[1],code_base); + set_limit(current->ldt[1],code_limit); + set_base(current->ldt[2],data_base); + set_limit(current->ldt[2],data_limit); +/* make sure fs points to the NEW data segment */ + __asm__("pushl $0x17\n\tpop %%fs"::); + data_base += data_limit; + for (i=MAX_ARG_PAGES-1 ; i>=0 ; i--) { + data_base -= PAGE_SIZE; + if (page[i]) + put_page(page[i],data_base); + } + return data_limit; +} + +/* + * 'do_execve()' executes a new program. + */ +int do_execve(unsigned long * eip,long tmp,char * filename, + char ** argv, char ** envp) +{ + struct m_inode * inode; + struct buffer_head * bh; + struct exec ex; + unsigned long page[MAX_ARG_PAGES]; + int i,argc,envc; + int e_uid, e_gid; + int retval; + int sh_bang = 0; + unsigned long p=PAGE_SIZE*MAX_ARG_PAGES-4; + + if ((0xffff & eip[1]) != 0x000f) + panic("execve called from supervisor mode"); + for (i=0 ; ii_mode)) { /* must be regular file */ + retval = -EACCES; + goto exec_error2; + } + i = inode->i_mode; + e_uid = (i & S_ISUID) ? inode->i_uid : current->euid; + e_gid = (i & S_ISGID) ? inode->i_gid : current->egid; + if (current->euid == inode->i_uid) + i >>= 6; + else if (current->egid == inode->i_gid) + i >>= 3; + if (!(i & 1) && + !((inode->i_mode & 0111) && suser())) { + retval = -ENOEXEC; + goto exec_error2; + } + if (!(bh = bread(inode->i_dev,inode->i_zone[0]))) { + retval = -EACCES; + goto exec_error2; + } + ex = *((struct exec *) bh->b_data); /* read exec-header */ + if ((bh->b_data[0] == '#') && (bh->b_data[1] == '!') && (!sh_bang)) { + /* + * This section does the #! interpretation. + * Sorta complicated, but hopefully it will work. -TYT + */ + + char buf[1023], *cp, *interp, *i_name, *i_arg; + unsigned long old_fs; + + strncpy(buf, bh->b_data+2, 1022); + brelse(bh); + iput(inode); + buf[1022] = '\0'; + if (cp = strchr(buf, '\n')) { + *cp = '\0'; + for (cp = buf; (*cp == ' ') || (*cp == '\t'); cp++); + } + if (!cp || *cp == '\0') { + retval = -ENOEXEC; /* No interpreter name found */ + goto exec_error1; + } + interp = i_name = cp; + i_arg = 0; + for ( ; *cp && (*cp != ' ') && (*cp != '\t'); cp++) { + if (*cp == '/') + i_name = cp+1; + } + if (*cp) { + *cp++ = '\0'; + i_arg = cp; + } + /* + * OK, we've parsed out the interpreter name and + * (optional) argument. + */ + if (sh_bang++ == 0) { + p = copy_strings(envc, envp, page, p, 0); + p = copy_strings(--argc, argv+1, page, p, 0); + } + /* + * Splice in (1) the interpreter's name for argv[0] + * (2) (optional) argument to interpreter + * (3) filename of shell script + * + * This is done in reverse order, because of how the + * user environment and arguments are stored. + */ + p = copy_strings(1, &filename, page, p, 1); + argc++; + if (i_arg) { + p = copy_strings(1, &i_arg, page, p, 2); + argc++; + } + p = copy_strings(1, &i_name, page, p, 2); + argc++; + if (!p) { + retval = -ENOMEM; + goto exec_error1; + } + /* + * OK, now restart the process with the interpreter's inode. + */ + old_fs = get_fs(); + set_fs(get_ds()); + if (!(inode=namei(interp))) { /* get executables inode */ + set_fs(old_fs); + retval = -ENOENT; + goto exec_error1; + } + set_fs(old_fs); + goto restart_interp; + } + brelse(bh); + if (N_MAGIC(ex) != ZMAGIC || ex.a_trsize || ex.a_drsize || + ex.a_text+ex.a_data+ex.a_bss>0x3000000 || + inode->i_size < ex.a_text+ex.a_data+ex.a_syms+N_TXTOFF(ex)) { + retval = -ENOEXEC; + goto exec_error2; + } + if (N_TXTOFF(ex) != BLOCK_SIZE) { + printk("%s: N_TXTOFF != BLOCK_SIZE. See a.out.h.", filename); + retval = -ENOEXEC; + goto exec_error2; + } + if (!sh_bang) { + p = copy_strings(envc,envp,page,p,0); + p = copy_strings(argc,argv,page,p,0); + if (!p) { + retval = -ENOMEM; + goto exec_error2; + } + } +/* OK, This is the point of no return */ + if (current->executable) + iput(current->executable); + current->executable = inode; + for (i=0 ; i<32 ; i++) + current->sigaction[i].sa_handler = NULL; + for (i=0 ; iclose_on_exec>>i)&1) + sys_close(i); + current->close_on_exec = 0; + free_page_tables(get_base(current->ldt[1]),get_limit(0x0f)); + free_page_tables(get_base(current->ldt[2]),get_limit(0x17)); + if (last_task_used_math == current) + last_task_used_math = NULL; + current->used_math = 0; + p += change_ldt(ex.a_text,page)-MAX_ARG_PAGES*PAGE_SIZE; + p = (unsigned long) create_tables((char *)p,argc,envc); + current->brk = ex.a_bss + + (current->end_data = ex.a_data + + (current->end_code = ex.a_text)); + current->start_stack = p & 0xfffff000; + current->euid = e_uid; + current->egid = e_gid; + i = ex.a_text+ex.a_data; + while (i&0xfff) + put_fs_byte(0,(char *) (i++)); + eip[0] = ex.a_entry; /* eip, magic happens :-) */ + eip[3] = p; /* stack pointer */ + return 0; +exec_error2: + iput(inode); +exec_error1: + for (i=0 ; ii_mode)) { /* must be regular file */ + retval = -EACCES; + goto exec_error2; + } + i = inode->i_mode; + e_uid = (i & S_ISUID) ? inode->i_uid : current->euid; + e_gid = (i & S_ISGID) ? inode->i_gid : current->egid; + if (current->euid == inode->i_uid) + i >>= 6; + else if (current->egid == inode->i_gid) + i >>= 3; + if (!(i & 1) && + !((inode->i_mode & 0111) && suser())) { + retval = -ENOEXEC; + goto exec_error2; + } + if (!(bh = bread(inode->i_dev,inode->i_zone[0]))) { + retval = -EACCES; + goto exec_error2; + } + ex = *((struct exec *) bh->b_data); /* read exec-header */ + if ((bh->b_data[0] == '#') && (bh->b_data[1] == '!') && (!sh_bang)) { + /* + * This section does the #! interpretation. + * Sorta complicated, but hopefully it will work. -TYT + */ + + char buf[1023], *cp, *interp, *i_name, *i_arg; + unsigned long old_fs; + + strncpy(buf, bh->b_data+2, 1022); + brelse(bh); + iput(inode); + buf[1022] = '\0'; + if (cp = strchr(buf, '\n')) { + *cp = '\0'; + for (cp = buf; (*cp == ' ') || (*cp == '\t'); cp++); + } + if (!cp || *cp == '\0') { + retval = -ENOEXEC; /* No interpreter name found */ + goto exec_error1; + } + interp = i_name = cp; + i_arg = 0; + for ( ; *cp && (*cp != ' ') && (*cp != '\t'); cp++) { + if (*cp == '/') + i_name = cp+1; + } + if (*cp) { + *cp++ = '\0'; + i_arg = cp; + } + /* + * OK, we've parsed out the interpreter name and + * (optional) argument. + */ + if (sh_bang++ == 0) { + p = copy_strings(envc, envp, page, p, 0); + p = copy_strings(--argc, argv+1, page, p, 0); + } + /* + * Splice in (1) the interpreter's name for argv[0] + * (2) (optional) argument to interpreter + * (3) filename of shell script + * + * This is done in reverse order, because of how the + * user environment and arguments are stored. + */ + p = copy_strings(1, &filename, page, p, 1); + argc++; + if (i_arg) { + p = copy_strings(1, &i_arg, page, p, 2); + argc++; + } + p = copy_strings(1, &i_name, page, p, 2); + argc++; + if (!p) { + retval = -ENOMEM; + goto exec_error1; + } + /* + * OK, now restart the process with the interpreter's inode. + */ + old_fs = get_fs(); + set_fs(get_ds()); + if (!(inode=namei(interp))) { /* get executables inode */ + set_fs(old_fs); + retval = -ENOENT; + goto exec_error1; + } + set_fs(old_fs); + goto restart_interp; + } + brelse(bh); + if (N_MAGIC(ex) != ZMAGIC || ex.a_trsize || ex.a_drsize || + ex.a_text+ex.a_data+ex.a_bss>0x3000000 || + inode->i_size < ex.a_text+ex.a_data+ex.a_syms+N_TXTOFF(ex)) { + retval = -ENOEXEC; + goto exec_error2; + } + if (N_TXTOFF(ex) != BLOCK_SIZE) { + printk("%s: N_TXTOFF != BLOCK_SIZE. See a.out.h.", filename); + retval = -ENOEXEC; + goto exec_error2; + } + if (!sh_bang) { + p = copy_strings(envc,envp,page,p,0); + p = copy_strings(argc,argv,page,p,0); + if (!p) { + retval = -ENOMEM; + goto exec_error2; + } + } +/* OK, This is the point of no return */ + if (current->executable) + iput(current->executable); + current->executable = inode; + for (i=0 ; i<32 ; i++) + current->sigaction[i].sa_handler = NULL; + for (i=0 ; iclose_on_exec>>i)&1) + sys_close(i); + current->close_on_exec = 0; + free_page_tables(get_base(current->ldt[1]),get_limit(0x0f)); + free_page_tables(get_base(current->ldt[2]),get_limit(0x17)); + if (last_task_used_math == current) + last_task_used_math = NULL; + current->used_math = 0; + p += change_ldt(ex.a_text,page)-MAX_ARG_PAGES*PAGE_SIZE; + p = (unsigned long) create_tables((char *)p,argc,envc); + current->brk = ex.a_bss + + (current->end_data = ex.a_data + + (current->end_code = ex.a_text)); + current->start_stack = p & 0xfffff000; + current->euid = e_uid; + current->egid = e_gid; + + + i = ex.a_text+ex.a_data; + while (i&0xfff) + put_fs_byte(0,(char *) (i++)); + eip[0] = ex.a_entry; /* eip, magic happens :-) */ + eip[3] = p; /* stack pointer */ + int k; + for(k=0;k<=((current->brk-1)&0xfffff000);k+=4096) + { + do_no_page_myself(5,k+current->start_code); + } + return 0; +exec_error2: + iput(inode); +exec_error1: + for (i=0 ; iYeaH&g1JmIjxj7Fu@yDM$6T*5;eOxV|LH0k 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 I;M0Qt8{Dr!=l}o! literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/fs/fcntl.c b/linux-0.11-lab/0/linux/fs/fcntl.c new file mode 100644 index 0000000..c201aa8 --- /dev/null +++ b/linux-0.11-lab/0/linux/fs/fcntl.c @@ -0,0 +1,75 @@ +/* + * linux/fs/fcntl.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include +#include +#include +#include + +#include +#include + +extern int sys_close(int fd); + +static int dupfd(unsigned int fd, unsigned int arg) +{ + if (fd >= NR_OPEN || !current->filp[fd]) + return -EBADF; + if (arg >= NR_OPEN) + return -EINVAL; + while (arg < NR_OPEN) + if (current->filp[arg]) + arg++; + else + break; + if (arg >= NR_OPEN) + return -EMFILE; + current->close_on_exec &= ~(1<filp[arg] = current->filp[fd])->f_count++; + return arg; +} + +int sys_dup2(unsigned int oldfd, unsigned int newfd) +{ + sys_close(newfd); + return dupfd(oldfd,newfd); +} + +int sys_dup(unsigned int fildes) +{ + return dupfd(fildes,0); +} + +int sys_fcntl(unsigned int fd, unsigned int cmd, unsigned long arg) +{ + struct file * filp; + + if (fd >= NR_OPEN || !(filp = current->filp[fd])) + return -EBADF; + switch (cmd) { + case F_DUPFD: + return dupfd(fd,arg); + case F_GETFD: + return (current->close_on_exec>>fd)&1; + case F_SETFD: + if (arg&1) + current->close_on_exec |= (1<close_on_exec &= ~(1<f_flags; + case F_SETFL: + filp->f_flags &= ~(O_APPEND | O_NONBLOCK); + filp->f_flags |= arg & (O_APPEND | O_NONBLOCK); + return 0; + case F_GETLK: case F_SETLK: case F_SETLKW: + return -1; + default: + return -1; + } +} diff --git a/linux-0.11-lab/0/linux/fs/fcntl.o b/linux-0.11-lab/0/linux/fs/fcntl.o new file mode 100644 index 0000000000000000000000000000000000000000..c82831d0ba1e338fe2c2cb69a13e2f6a93017d1a GIT binary patch literal 6744 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 +#include + +#include +#include +#include + +#define MIN(a,b) (((a)<(b))?(a):(b)) +#define MAX(a,b) (((a)>(b))?(a):(b)) + +int file_read(struct m_inode * inode, struct file * filp, char * buf, int count) +{ + int left,chars,nr; + struct buffer_head * bh; + + if ((left=count)<=0) + return 0; + while (left) { + if (nr = bmap(inode,(filp->f_pos)/BLOCK_SIZE)) { + if (!(bh=bread(inode->i_dev,nr))) + break; + } else + bh = NULL; + nr = filp->f_pos % BLOCK_SIZE; + chars = MIN( BLOCK_SIZE-nr , left ); + filp->f_pos += chars; + left -= chars; + if (bh) { + char * p = nr + bh->b_data; + while (chars-->0) + put_fs_byte(*(p++),buf++); + brelse(bh); + } else { + while (chars-->0) + put_fs_byte(0,buf++); + } + } + inode->i_atime = CURRENT_TIME; + return (count-left)?(count-left):-ERROR; +} + +int file_write(struct m_inode * inode, struct file * filp, char * buf, int count) +{ + off_t pos; + int block,c; + struct buffer_head * bh; + char * p; + int i=0; + +/* + * ok, append may not work when many processes are writing at the same time + * but so what. That way leads to madness anyway. + */ + if (filp->f_flags & O_APPEND) + pos = inode->i_size; + else + pos = filp->f_pos; + while (ii_dev,block))) + break; + c = pos % BLOCK_SIZE; + p = c + bh->b_data; + bh->b_dirt = 1; + c = BLOCK_SIZE-c; + if (c > count-i) c = count-i; + pos += c; + if (pos > inode->i_size) { + inode->i_size = pos; + inode->i_dirt = 1; + } + i += c; + while (c-->0) + *(p++) = get_fs_byte(buf++); + brelse(bh); + } + inode->i_mtime = CURRENT_TIME; + if (!(filp->f_flags & O_APPEND)) { + filp->f_pos = pos; + inode->i_ctime = CURRENT_TIME; + } + return (i?i:-1); +} diff --git a/linux-0.11-lab/0/linux/fs/file_dev.o b/linux-0.11-lab/0/linux/fs/file_dev.o new file mode 100644 index 0000000000000000000000000000000000000000..08829927f02514a0c6e50ae669391d73afe423ce GIT binary patch literal 7824 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 Sv(A7~$P&0s;h4gT!v6)R(Kq`5 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/fs/file_table.c b/linux-0.11-lab/0/linux/fs/file_table.c new file mode 100644 index 0000000..e0589ac --- /dev/null +++ b/linux-0.11-lab/0/linux/fs/file_table.c @@ -0,0 +1,9 @@ +/* + * linux/fs/file_table.c + * + * (C) 1991 Linus Torvalds + */ + +#include + +struct file file_table[NR_FILE]; diff --git a/linux-0.11-lab/0/linux/fs/file_table.o b/linux-0.11-lab/0/linux/fs/file_table.o new file mode 100644 index 0000000000000000000000000000000000000000..e0db34ec05f9b2a6ffb8b9969b8d07f9eb7314bd GIT binary patch literal 2640 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 Sj(lW{?!xb;G%iL1_WdtuC#8D; literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/fs/inode.c b/linux-0.11-lab/0/linux/fs/inode.c new file mode 100644 index 0000000..9bb10b3 --- /dev/null +++ b/linux-0.11-lab/0/linux/fs/inode.c @@ -0,0 +1,340 @@ +/* + * linux/fs/inode.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include + +#include +#include +#include +#include + +struct m_inode inode_table[NR_INODE]={{0,},}; + +static void read_inode(struct m_inode * inode); +static void write_inode(struct m_inode * inode); + +static inline void wait_on_inode(struct m_inode * inode) +{ + cli(); + while (inode->i_lock) + sleep_on(&inode->i_wait); + sti(); +} + +static inline void lock_inode(struct m_inode * inode) +{ + cli(); + while (inode->i_lock) + sleep_on(&inode->i_wait); + inode->i_lock=1; + sti(); +} + +static inline void unlock_inode(struct m_inode * inode) +{ + inode->i_lock=0; + wake_up(&inode->i_wait); +} + +void invalidate_inodes(int dev) +{ + int i; + struct m_inode * inode; + + inode = 0+inode_table; + for(i=0 ; ii_dev == dev) { + if (inode->i_count) + printk("inode in use on removed disk\n\r"); + inode->i_dev = inode->i_dirt = 0; + } + } +} + +void sync_inodes(void) +{ + int i; + struct m_inode * inode; + + inode = 0+inode_table; + for(i=0 ; ii_dirt && !inode->i_pipe) + write_inode(inode); + } +} + +static int _bmap(struct m_inode * inode,int block,int create) +{ + struct buffer_head * bh; + int i; + + if (block<0) + panic("_bmap: block<0"); + if (block >= 7+512+512*512) + panic("_bmap: block>big"); + if (block<7) { + if (create && !inode->i_zone[block]) + if (inode->i_zone[block]=new_block(inode->i_dev)) { + inode->i_ctime=CURRENT_TIME; + inode->i_dirt=1; + } + return inode->i_zone[block]; + } + block -= 7; + if (block<512) { + if (create && !inode->i_zone[7]) + if (inode->i_zone[7]=new_block(inode->i_dev)) { + inode->i_dirt=1; + inode->i_ctime=CURRENT_TIME; + } + if (!inode->i_zone[7]) + return 0; + if (!(bh = bread(inode->i_dev,inode->i_zone[7]))) + return 0; + i = ((unsigned short *) (bh->b_data))[block]; + if (create && !i) + if (i=new_block(inode->i_dev)) { + ((unsigned short *) (bh->b_data))[block]=i; + bh->b_dirt=1; + } + brelse(bh); + return i; + } + block -= 512; + if (create && !inode->i_zone[8]) + if (inode->i_zone[8]=new_block(inode->i_dev)) { + inode->i_dirt=1; + inode->i_ctime=CURRENT_TIME; + } + if (!inode->i_zone[8]) + return 0; + if (!(bh=bread(inode->i_dev,inode->i_zone[8]))) + return 0; + i = ((unsigned short *)bh->b_data)[block>>9]; + if (create && !i) + if (i=new_block(inode->i_dev)) { + ((unsigned short *) (bh->b_data))[block>>9]=i; + bh->b_dirt=1; + } + brelse(bh); + if (!i) + return 0; + if (!(bh=bread(inode->i_dev,i))) + return 0; + i = ((unsigned short *)bh->b_data)[block&511]; + if (create && !i) + if (i=new_block(inode->i_dev)) { + ((unsigned short *) (bh->b_data))[block&511]=i; + bh->b_dirt=1; + } + brelse(bh); + return i; +} + +int bmap(struct m_inode * inode,int block) +{ + return _bmap(inode,block,0); +} + +int create_block(struct m_inode * inode, int block) +{ + return _bmap(inode,block,1); +} + +void iput(struct m_inode * inode) +{ + if (!inode) + return; + wait_on_inode(inode); + if (!inode->i_count) + panic("iput: trying to free free inode"); + if (inode->i_pipe) { + wake_up(&inode->i_wait); + if (--inode->i_count) + return; + free_page(inode->i_size); + inode->i_count=0; + inode->i_dirt=0; + inode->i_pipe=0; + return; + } + if (!inode->i_dev) { + inode->i_count--; + return; + } + if (S_ISBLK(inode->i_mode)) { + sync_dev(inode->i_zone[0]); + wait_on_inode(inode); + } +repeat: + if (inode->i_count>1) { + inode->i_count--; + return; + } + if (!inode->i_nlinks) { + truncate(inode); + free_inode(inode); + return; + } + if (inode->i_dirt) { + write_inode(inode); /* we can sleep - so do again */ + wait_on_inode(inode); + goto repeat; + } + inode->i_count--; + return; +} + +struct m_inode * get_empty_inode(void) +{ + struct m_inode * inode; + static struct m_inode * last_inode = inode_table; + int i; + + do { + inode = NULL; + for (i = NR_INODE; i ; i--) { + if (++last_inode >= inode_table + NR_INODE) + last_inode = inode_table; + if (!last_inode->i_count) { + inode = last_inode; + if (!inode->i_dirt && !inode->i_lock) + break; + } + } + if (!inode) { + for (i=0 ; ii_dirt) { + write_inode(inode); + wait_on_inode(inode); + } + } while (inode->i_count); + memset(inode,0,sizeof(*inode)); + inode->i_count = 1; + return inode; +} + +struct m_inode * get_pipe_inode(void) +{ + struct m_inode * inode; + + if (!(inode = get_empty_inode())) + return NULL; + if (!(inode->i_size=get_free_page())) { + inode->i_count = 0; + return NULL; + } + inode->i_count = 2; /* sum of readers/writers */ + PIPE_HEAD(*inode) = PIPE_TAIL(*inode) = 0; + inode->i_pipe = 1; + return inode; +} + +struct m_inode * iget(int dev,int nr) +{ + struct m_inode * inode, * empty; + + if (!dev) + panic("iget with dev==0"); + empty = get_empty_inode(); + inode = inode_table; + while (inode < NR_INODE+inode_table) { + if (inode->i_dev != dev || inode->i_num != nr) { + inode++; + continue; + } + wait_on_inode(inode); + if (inode->i_dev != dev || inode->i_num != nr) { + inode = inode_table; + continue; + } + inode->i_count++; + if (inode->i_mount) { + int i; + + for (i = 0 ; i= NR_SUPER) { + printk("Mounted inode hasn't got sb\n"); + if (empty) + iput(empty); + return inode; + } + iput(inode); + dev = super_block[i].s_dev; + nr = ROOT_INO; + inode = inode_table; + continue; + } + if (empty) + iput(empty); + return inode; + } + if (!empty) + return (NULL); + inode=empty; + inode->i_dev = dev; + inode->i_num = nr; + read_inode(inode); + return inode; +} + +static void read_inode(struct m_inode * inode) +{ + struct super_block * sb; + struct buffer_head * bh; + int block; + + lock_inode(inode); + if (!(sb=get_super(inode->i_dev))) + panic("trying to read inode without dev"); + block = 2 + sb->s_imap_blocks + sb->s_zmap_blocks + + (inode->i_num-1)/INODES_PER_BLOCK; + if (!(bh=bread(inode->i_dev,block))) + panic("unable to read i-node block"); + __asm__ volatile ("cld"); /* by wyj */ + *(struct d_inode *)inode = + ((struct d_inode *)bh->b_data) + [(inode->i_num-1)%INODES_PER_BLOCK]; + brelse(bh); + unlock_inode(inode); +} + +static void write_inode(struct m_inode * inode) +{ + struct super_block * sb; + struct buffer_head * bh; + int block; + + lock_inode(inode); + if (!inode->i_dirt || !inode->i_dev) { + unlock_inode(inode); + return; + } + if (!(sb=get_super(inode->i_dev))) + panic("trying to write inode without device"); + block = 2 + sb->s_imap_blocks + sb->s_zmap_blocks + + (inode->i_num-1)/INODES_PER_BLOCK; + if (!(bh=bread(inode->i_dev,block))) + panic("unable to read i-node block"); + __asm__ volatile ("cld"); /* by wyj */ + ((struct d_inode *)bh->b_data) + [(inode->i_num-1)%INODES_PER_BLOCK] = + *(struct d_inode *)inode; + bh->b_dirt=1; + inode->i_dirt=0; + brelse(bh); + unlock_inode(inode); +} diff --git a/linux-0.11-lab/0/linux/fs/inode.o b/linux-0.11-lab/0/linux/fs/inode.o new file mode 100644 index 0000000000000000000000000000000000000000..37ed3bd7ff00fac837394067a5a9cfe2e204c68f GIT binary patch literal 14068 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 CH#8mq literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/fs/ioctl.c b/linux-0.11-lab/0/linux/fs/ioctl.c new file mode 100644 index 0000000..36fc976 --- /dev/null +++ b/linux-0.11-lab/0/linux/fs/ioctl.c @@ -0,0 +1,46 @@ +/* + * linux/fs/ioctl.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include +#include + +#include + +extern int tty_ioctl(int dev, int cmd, int arg); + +typedef int (*ioctl_ptr)(int dev,int cmd,int arg); + +#define NRDEVS ((sizeof (ioctl_table))/(sizeof (ioctl_ptr))) + +static ioctl_ptr ioctl_table[]={ + NULL, /* nodev */ + NULL, /* /dev/mem */ + NULL, /* /dev/fd */ + NULL, /* /dev/hd */ + tty_ioctl, /* /dev/ttyx */ + tty_ioctl, /* /dev/tty */ + NULL, /* /dev/lp */ + NULL}; /* named pipes */ + + +int sys_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg) +{ + struct file * filp; + int dev,mode; + + if (fd >= NR_OPEN || !(filp = current->filp[fd])) + return -EBADF; + mode=filp->f_inode->i_mode; + if (!S_ISCHR(mode) && !S_ISBLK(mode)) + return -EINVAL; + dev = filp->f_inode->i_zone[0]; + if (MAJOR(dev) >= NRDEVS) + return -ENODEV; + if (!ioctl_table[MAJOR(dev)]) + return -ENOTTY; + return ioctl_table[MAJOR(dev)](dev,cmd,arg); +} diff --git a/linux-0.11-lab/0/linux/fs/ioctl.o b/linux-0.11-lab/0/linux/fs/ioctl.o new file mode 100644 index 0000000000000000000000000000000000000000..c5a5b15f6dc28af173801b3e56682f611ec101d4 GIT binary patch literal 5824 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/fs/namei.c b/linux-0.11-lab/0/linux/fs/namei.c new file mode 100644 index 0000000..a403599 --- /dev/null +++ b/linux-0.11-lab/0/linux/fs/namei.c @@ -0,0 +1,839 @@ +/* + * linux/fs/namei.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * Some corrections by tytso. + */ +// +#include +#include +#include + +#include +#include +#include +#include +#include + +#define ACC_MODE(x) ("\004\002\006\377"[(x)&O_ACCMODE]) + +/* + * comment out this line if you want names > NAME_LEN chars to be + * truncated. Else they will be disallowed. + */ +/* #define NO_TRUNCATE */ + +#define MAY_EXEC 1 +#define MAY_WRITE 2 +#define MAY_READ 4 + +/* + * permission() + * + * is used to check for read/write/execute permissions on a file. + * I don't know if we should look at just the euid or both euid and + * uid, but that should be easily changed. + */ +static int permission(struct m_inode * inode,int mask) +{ + int mode = inode->i_mode; + +/* special case: not even root can read/write a deleted file */ + if (inode->i_dev && !inode->i_nlinks) + return 0; + else if (current->euid==inode->i_uid) + mode >>= 6; + else if (current->egid==inode->i_gid) + mode >>= 3; + if (((mode & mask & 0007) == mask) || suser()) + return 1; + return 0; +} + +/* + * ok, we cannot use strncmp, as the name is not in our data space. + * Thus we'll have to use match. No big problem. Match also makes + * some sanity tests. + * + * NOTE! unlike strncmp, match returns 1 for success, 0 for failure. + */ +static int match(int len,const char * name,struct dir_entry * de) +{ + register int same __asm__("ax"); + + if (!de || !de->inode || len > NAME_LEN) + return 0; + if (len < NAME_LEN && de->name[len]) + return 0; + __asm__("cld\n\t" + "fs ; repe ; cmpsb\n\t" + "setz %%al" + :"=a" (same) + :"0" (0),"S" ((long) name),"D" ((long) de->name),"c" (len) + ); + return same; +} + +/* + * find_entry() + * + * finds an entry in the specified directory with the wanted name. It + * returns the cache buffer in which the entry was found, and the entry + * itself (as a parameter - res_dir). It does NOT read the inode of the + * entry - you'll have to do that yourself if you want to. + * + * This also takes care of the few special cases due to '..'-traversal + * over a pseudo-root and a mount point. + */ +static struct buffer_head * find_entry(struct m_inode ** dir, + const char * name, int namelen, struct dir_entry ** res_dir) +{ + int entries; + int block,i; + struct buffer_head * bh; + struct dir_entry * de; + struct super_block * sb; + +#ifdef NO_TRUNCATE + if (namelen > NAME_LEN) + return NULL; +#else + if (namelen > NAME_LEN) + namelen = NAME_LEN; +#endif + entries = (*dir)->i_size / (sizeof (struct dir_entry)); + *res_dir = NULL; + if (!namelen) + return NULL; +/* check for '..', as we might have to do some "magic" for it */ + if (namelen==2 && get_fs_byte(name)=='.' && get_fs_byte(name+1)=='.') { +/* '..' in a pseudo-root results in a faked '.' (just change namelen) */ + if ((*dir) == current->root) + namelen=1; + else if ((*dir)->i_num == ROOT_INO) { +/* '..' over a mount-point results in 'dir' being exchanged for the mounted + directory-inode. NOTE! We set mounted, so that we can iput the new dir */ + sb=get_super((*dir)->i_dev); + if (sb->s_imount) { + iput(*dir); + (*dir)=sb->s_imount; + (*dir)->i_count++; + } + } + } + if (!(block = (*dir)->i_zone[0])) + return NULL; + if (!(bh = bread((*dir)->i_dev,block))) + return NULL; + i = 0; + de = (struct dir_entry *) bh->b_data; + while (i < entries) { + if ((char *)de >= BLOCK_SIZE+bh->b_data) { + brelse(bh); + bh = NULL; + if (!(block = bmap(*dir,i/DIR_ENTRIES_PER_BLOCK)) || + !(bh = bread((*dir)->i_dev,block))) { + i += DIR_ENTRIES_PER_BLOCK; + continue; + } + de = (struct dir_entry *) bh->b_data; + } + if (match(namelen,name,de)) { + *res_dir = de; + return bh; + } + de++; + i++; + } + brelse(bh); + return NULL; +} + +/* + * add_entry() + * + * adds a file entry to the specified directory, using the same + * semantics as find_entry(). It returns NULL if it failed. + * + * NOTE!! The inode part of 'de' is left at 0 - which means you + * may not sleep between calling this and putting something into + * the entry, as someone else might have used it while you slept. + */ +static struct buffer_head * add_entry(struct m_inode * dir, + const char * name, int namelen, struct dir_entry ** res_dir) +{ + int block,i; + struct buffer_head * bh; + struct dir_entry * de; + + *res_dir = NULL; +#ifdef NO_TRUNCATE + if (namelen > NAME_LEN) + return NULL; +#else + if (namelen > NAME_LEN) + namelen = NAME_LEN; +#endif + if (!namelen) + return NULL; + if (!(block = dir->i_zone[0])) + return NULL; + if (!(bh = bread(dir->i_dev,block))) + return NULL; + i = 0; + de = (struct dir_entry *) bh->b_data; + while (1) { + if ((char *)de >= BLOCK_SIZE+bh->b_data) { + brelse(bh); + bh = NULL; + block = create_block(dir,i/DIR_ENTRIES_PER_BLOCK); + if (!block) + return NULL; + if (!(bh = bread(dir->i_dev,block))) { + i += DIR_ENTRIES_PER_BLOCK; + continue; + } + de = (struct dir_entry *) bh->b_data; + } + if (i*sizeof(struct dir_entry) >= dir->i_size) { + de->inode=0; + dir->i_size = (i+1)*sizeof(struct dir_entry); + dir->i_dirt = 1; + dir->i_ctime = CURRENT_TIME; + } + if (!de->inode) { + dir->i_mtime = CURRENT_TIME; + for (i=0; i < NAME_LEN ; i++) + de->name[i]=(ib_dirt = 1; + *res_dir = de; + return bh; + } + de++; + i++; + } + brelse(bh); + return NULL; +} + +/* + * get_dir() + * + * Getdir traverses the pathname until it hits the topmost directory. + * It returns NULL on failure. + */ +static struct m_inode * get_dir(const char * pathname) +{ + char c; + const char * thisname; + struct m_inode * inode; + struct buffer_head * bh; + int namelen,inr,idev; + struct dir_entry * de; + + if (!current->root || !current->root->i_count) + panic("No root inode"); + if (!current->pwd || !current->pwd->i_count) + panic("No cwd inode"); + if ((c=get_fs_byte(pathname))=='/') { + inode = current->root; + pathname++; + } else if (c) + inode = current->pwd; + else + return NULL; /* empty name is bad */ + inode->i_count++; + while (1) { + thisname = pathname; + if (!S_ISDIR(inode->i_mode) || !permission(inode,MAY_EXEC)) { + iput(inode); + return NULL; + } + for(namelen=0;(c=get_fs_byte(pathname++))&&(c!='/');namelen++) + /* nothing */ ; + if (!c) + return inode; + if (!(bh = find_entry(&inode,thisname,namelen,&de))) { + iput(inode); + return NULL; + } + inr = de->inode; + idev = inode->i_dev; + brelse(bh); + iput(inode); + if (!(inode = iget(idev,inr))) + return NULL; + } +} + +/* + * dir_namei() + * + * dir_namei() returns the inode of the directory of the + * specified name, and the name within that directory. + */ +static struct m_inode * dir_namei(const char * pathname, + int * namelen, const char ** name) +{ + char c; + const char * basename; + struct m_inode * dir; + + if (!(dir = get_dir(pathname))) + return NULL; + basename = pathname; + while (c=get_fs_byte(pathname++)) + if (c=='/') + basename=pathname; + *namelen = pathname-basename-1; + *name = basename; + return dir; +} + +/* + * namei() + * + * is used by most simple commands to get the inode of a specified name. + * Open, link etc use their own routines, but this is enough for things + * like 'chmod' etc. + */ +struct m_inode * namei(const char * pathname) +{ + const char * basename; + int inr,dev,namelen; + struct m_inode * dir; + struct buffer_head * bh; + struct dir_entry * de; + + if (!(dir = dir_namei(pathname,&namelen,&basename))) + return NULL; + if (!namelen) /* special case: '/usr/' etc */ + return dir; + bh = find_entry(&dir,basename,namelen,&de); + if (!bh) { + iput(dir); + return NULL; + } + inr = de->inode; + dev = dir->i_dev; + brelse(bh); + iput(dir); + dir=iget(dev,inr); + if (dir) { + dir->i_atime=CURRENT_TIME; + dir->i_dirt=1; + } + return dir; +} + +/* + * open_namei() + * + * namei for open - this is in fact almost the whole open-routine. + */ +int open_namei(const char * pathname, int flag, int mode, + struct m_inode ** res_inode) +{ + const char * basename; + int inr,dev,namelen; + struct m_inode * dir, *inode; + struct buffer_head * bh; + struct dir_entry * de; + + if ((flag & O_TRUNC) && !(flag & O_ACCMODE)) + flag |= O_WRONLY; + mode &= 0777 & ~current->umask; + mode |= I_REGULAR; + if (!(dir = dir_namei(pathname,&namelen,&basename))) + return -ENOENT; + if (!namelen) { /* special case: '/usr/' etc */ + if (!(flag & (O_ACCMODE|O_CREAT|O_TRUNC))) { + *res_inode=dir; + return 0; + } + iput(dir); + return -EISDIR; + } + bh = find_entry(&dir,basename,namelen,&de); + if (!bh) { + if (!(flag & O_CREAT)) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EACCES; + } + inode = new_inode(dir->i_dev); + if (!inode) { + iput(dir); + return -ENOSPC; + } + inode->i_uid = current->euid; + inode->i_mode = mode; + inode->i_dirt = 1; + bh = add_entry(dir,basename,namelen,&de); + if (!bh) { + inode->i_nlinks--; + iput(inode); + iput(dir); + return -ENOSPC; + } + de->inode = inode->i_num; + bh->b_dirt = 1; + brelse(bh); + iput(dir); + *res_inode = inode; + return 0; + } + inr = de->inode; + dev = dir->i_dev; + brelse(bh); + iput(dir); + if (flag & O_EXCL) + return -EEXIST; + if (!(inode=iget(dev,inr))) + return -EACCES; + if ((S_ISDIR(inode->i_mode) && (flag & O_ACCMODE)) || + !permission(inode,ACC_MODE(flag))) { + iput(inode); + return -EPERM; + } + inode->i_atime = CURRENT_TIME; + if (flag & O_TRUNC) + truncate(inode); + *res_inode = inode; + return 0; +} + +int sys_mknod(const char * filename, int mode, int dev) +{ + const char * basename; + int namelen; + struct m_inode * dir, * inode; + struct buffer_head * bh; + struct dir_entry * de; + + if (!suser()) + return -EPERM; + if (!(dir = dir_namei(filename,&namelen,&basename))) + return -ENOENT; + if (!namelen) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EPERM; + } + bh = find_entry(&dir,basename,namelen,&de); + if (bh) { + brelse(bh); + iput(dir); + return -EEXIST; + } + inode = new_inode(dir->i_dev); + if (!inode) { + iput(dir); + return -ENOSPC; + } + inode->i_mode = mode; + if (S_ISBLK(mode) || S_ISCHR(mode)) + inode->i_zone[0] = dev; + inode->i_mtime = inode->i_atime = CURRENT_TIME; + inode->i_dirt = 1; + bh = add_entry(dir,basename,namelen,&de); + if (!bh) { + iput(dir); + inode->i_nlinks=0; + iput(inode); + return -ENOSPC; + } + de->inode = inode->i_num; + bh->b_dirt = 1; + iput(dir); + iput(inode); + brelse(bh); + return 0; +} + +int sys_mkdir(const char * pathname, int mode) +{ + const char * basename; + int namelen; + struct m_inode * dir, * inode; + struct buffer_head * bh, *dir_block; + struct dir_entry * de; + + if (!suser()) + return -EPERM; + if (!(dir = dir_namei(pathname,&namelen,&basename))) + return -ENOENT; + if (!namelen) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EPERM; + } + bh = find_entry(&dir,basename,namelen,&de); + if (bh) { + brelse(bh); + iput(dir); + return -EEXIST; + } + inode = new_inode(dir->i_dev); + if (!inode) { + iput(dir); + return -ENOSPC; + } + inode->i_size = 32; + inode->i_dirt = 1; + inode->i_mtime = inode->i_atime = CURRENT_TIME; + if (!(inode->i_zone[0]=new_block(inode->i_dev))) { + iput(dir); + inode->i_nlinks--; + iput(inode); + return -ENOSPC; + } + inode->i_dirt = 1; + if (!(dir_block=bread(inode->i_dev,inode->i_zone[0]))) { + iput(dir); + free_block(inode->i_dev,inode->i_zone[0]); + inode->i_nlinks--; + iput(inode); + return -ERROR; + } + de = (struct dir_entry *) dir_block->b_data; + de->inode=inode->i_num; + strcpy(de->name,"."); + de++; + de->inode = dir->i_num; + strcpy(de->name,".."); + inode->i_nlinks = 2; + dir_block->b_dirt = 1; + brelse(dir_block); + inode->i_mode = I_DIRECTORY | (mode & 0777 & ~current->umask); + inode->i_dirt = 1; + bh = add_entry(dir,basename,namelen,&de); + if (!bh) { + iput(dir); + free_block(inode->i_dev,inode->i_zone[0]); + inode->i_nlinks=0; + iput(inode); + return -ENOSPC; + } + de->inode = inode->i_num; + bh->b_dirt = 1; + dir->i_nlinks++; + dir->i_dirt = 1; + iput(dir); + iput(inode); + brelse(bh); + return 0; +} + +/* + * routine to check that the specified directory is empty (for rmdir) + */ +static int empty_dir(struct m_inode * inode) +{ + int nr,block; + int len; + struct buffer_head * bh; + struct dir_entry * de; + + len = inode->i_size / sizeof (struct dir_entry); + if (len<2 || !inode->i_zone[0] || + !(bh=bread(inode->i_dev,inode->i_zone[0]))) { + printk("warning - bad directory on dev %04x\n",inode->i_dev); + return 0; + } + de = (struct dir_entry *) bh->b_data; + if (de[0].inode != inode->i_num || !de[1].inode || + strcmp(".",de[0].name) || strcmp("..",de[1].name)) { + printk("warning - bad directory on dev %04x\n",inode->i_dev); + return 0; + } + nr = 2; + de += 2; + while (nr= (void *) (bh->b_data+BLOCK_SIZE)) { + brelse(bh); + block=bmap(inode,nr/DIR_ENTRIES_PER_BLOCK); + if (!block) { + nr += DIR_ENTRIES_PER_BLOCK; + continue; + } + if (!(bh=bread(inode->i_dev,block))) + return 0; + de = (struct dir_entry *) bh->b_data; + } + if (de->inode) { + brelse(bh); + return 0; + } + de++; + nr++; + } + brelse(bh); + return 1; +} + +int sys_rmdir(const char * name) +{ + const char * basename; + int namelen; + struct m_inode * dir, * inode; + struct buffer_head * bh; + struct dir_entry * de; + + if (!suser()) + return -EPERM; + if (!(dir = dir_namei(name,&namelen,&basename))) + return -ENOENT; + if (!namelen) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EPERM; + } + bh = find_entry(&dir,basename,namelen,&de); + if (!bh) { + iput(dir); + return -ENOENT; + } + if (!(inode = iget(dir->i_dev, de->inode))) { + iput(dir); + brelse(bh); + return -EPERM; + } + if ((dir->i_mode & S_ISVTX) && current->euid && + inode->i_uid != current->euid) { + iput(dir); + iput(inode); + brelse(bh); + return -EPERM; + } + if (inode->i_dev != dir->i_dev || inode->i_count>1) { + iput(dir); + iput(inode); + brelse(bh); + return -EPERM; + } + if (inode == dir) { /* we may not delete ".", but "../dir" is ok */ + iput(inode); + iput(dir); + brelse(bh); + return -EPERM; + } + if (!S_ISDIR(inode->i_mode)) { + iput(inode); + iput(dir); + brelse(bh); + return -ENOTDIR; + } + if (!empty_dir(inode)) { + iput(inode); + iput(dir); + brelse(bh); + return -ENOTEMPTY; + } + if (inode->i_nlinks != 2) + printk("empty directory has nlink!=2 (%d)",inode->i_nlinks); + de->inode = 0; + bh->b_dirt = 1; + brelse(bh); + inode->i_nlinks=0; + inode->i_dirt=1; + dir->i_nlinks--; + dir->i_ctime = dir->i_mtime = CURRENT_TIME; + dir->i_dirt=1; + iput(dir); + iput(inode); + return 0; +} + +int sys_unlink(const char * name) +{ + const char * basename; + int namelen; + struct m_inode * dir, * inode; + struct buffer_head * bh; + struct dir_entry * de; + + if (!(dir = dir_namei(name,&namelen,&basename))) + return -ENOENT; + if (!namelen) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EPERM; + } + bh = find_entry(&dir,basename,namelen,&de); + if (!bh) { + iput(dir); + return -ENOENT; + } + if (!(inode = iget(dir->i_dev, de->inode))) { + iput(dir); + brelse(bh); + return -ENOENT; + } + if ((dir->i_mode & S_ISVTX) && !suser() && + current->euid != inode->i_uid && + current->euid != dir->i_uid) { + iput(dir); + iput(inode); + brelse(bh); + return -EPERM; + } + if (S_ISDIR(inode->i_mode)) { + iput(inode); + iput(dir); + brelse(bh); + return -EPERM; + } + if (!inode->i_nlinks) { + printk("Deleting nonexistent file (%04x:%d), %d\n", + inode->i_dev,inode->i_num,inode->i_nlinks); + inode->i_nlinks=1; + } + de->inode = 0; + bh->b_dirt = 1; + brelse(bh); + inode->i_nlinks--; + inode->i_dirt = 1; + inode->i_ctime = CURRENT_TIME; + iput(inode); + iput(dir); + return 0; +} + +int sys_symlink() +{ + return -ENOSYS; +} + +int sys_link(const char * oldname, const char * newname) +{ + struct dir_entry * de; + struct m_inode * oldinode, * dir; + struct buffer_head * bh; + const char * basename; + int namelen; + + oldinode=namei(oldname); + if (!oldinode) + return -ENOENT; + if (S_ISDIR(oldinode->i_mode)) { + iput(oldinode); + return -EPERM; + } + dir = dir_namei(newname,&namelen,&basename); + if (!dir) { + iput(oldinode); + return -EACCES; + } + if (!namelen) { + iput(oldinode); + iput(dir); + return -EPERM; + } + if (dir->i_dev != oldinode->i_dev) { + iput(dir); + iput(oldinode); + return -EXDEV; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + iput(oldinode); + return -EACCES; + } + bh = find_entry(&dir,basename,namelen,&de); + if (bh) { + brelse(bh); + iput(dir); + iput(oldinode); + return -EEXIST; + } + bh = add_entry(dir,basename,namelen,&de); + if (!bh) { + iput(dir); + iput(oldinode); + return -ENOSPC; + } + de->inode = oldinode->i_num; + bh->b_dirt = 1; + brelse(bh); + iput(dir); + oldinode->i_nlinks++; + oldinode->i_ctime = CURRENT_TIME; + oldinode->i_dirt = 1; + iput(oldinode); + return 0; +} + +char *sys_getcwd(char *buf, size_t size) +{ + char *dir[20]; + char *rd; + struct buffer_head *bh = bread(current->root->i_dev, current->pwd->i_zone[0]); + struct dir_entry *dr = (struct dir_entry *)(bh->b_data); + struct m_inode *node = current->pwd; + int i = 0; + + while (i >= 0) + { + int last_node=dr->inode; + node = iget(current->root->i_dev, (dr + 1)->inode); + bh = bread(current->root->i_dev, node->i_zone[0]); + dr = (struct dir_entry *)(bh->b_data); + int j = 2; + while (dr->name[0] != '\0') + { + if ((dr + j)->inode == last_node) + break; + j++; + } + if ((dr + j)->name[0] == '\0') + break; + dir[i] = (dr + j)->name; + i++; + } + dir[i--] = NULL; + rd[0] = '/'; + + int k1 = 1; + int k2; + for (; i >= 0; i--) + { + k2 = 0; + while (dir[i][k2] != '\0') + { + rd[k1] = dir[i][k2]; + k1++; + k2++; + } + if (i == 0) + break; + rd[k1] = '/'; + k1++; + } + + char word; + for (i = 0; i <= k1; i++) + { + word = rd[i]; + put_fs_byte(word, (char *)(buf + i)); + } + return rd; +} diff --git a/linux-0.11-lab/0/linux/fs/namei.o b/linux-0.11-lab/0/linux/fs/namei.o new file mode 100644 index 0000000000000000000000000000000000000000..94e7e51f013e4bb0cc5d2d8dc32d84cb5badf095 GIT binary patch literal 22212 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 G@c#nqUe0v@ literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/fs/open.c b/linux-0.11-lab/0/linux/fs/open.c new file mode 100644 index 0000000..3695ff1 --- /dev/null +++ b/linux-0.11-lab/0/linux/fs/open.c @@ -0,0 +1,208 @@ +/* + * linux/fs/open.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +int sys_ustat(int dev, struct ustat * ubuf) +{ + return -ENOSYS; +} + +int sys_utime(char * filename, struct utimbuf * times) +{ + struct m_inode * inode; + long actime,modtime; + + if (!(inode=namei(filename))) + return -ENOENT; + if (times) { + actime = get_fs_long((unsigned long *) ×->actime); + modtime = get_fs_long((unsigned long *) ×->modtime); + } else + actime = modtime = CURRENT_TIME; + inode->i_atime = actime; + inode->i_mtime = modtime; + inode->i_dirt = 1; + iput(inode); + return 0; +} + +/* + * XXX should we use the real or effective uid? BSD uses the real uid, + * so as to make this call useful to setuid programs. + */ +int sys_access(const char * filename,int mode) +{ + struct m_inode * inode; + int res, i_mode; + + mode &= 0007; + if (!(inode=namei(filename))) + return -EACCES; + i_mode = res = inode->i_mode & 0777; + iput(inode); + if (current->uid == inode->i_uid) + res >>= 6; + else if (current->gid == inode->i_gid) + res >>= 6; + if ((res & 0007 & mode) == mode) + return 0; + /* + * XXX we are doing this test last because we really should be + * swapping the effective with the real user id (temporarily), + * and then calling suser() routine. If we do call the + * suser() routine, it needs to be called last. + */ + if ((!current->uid) && + (!(mode & 1) || (i_mode & 0111))) + return 0; + return -EACCES; +} + +int sys_chdir(const char * filename) +{ + struct m_inode * inode; + + if (!(inode = namei(filename))) + return -ENOENT; + if (!S_ISDIR(inode->i_mode)) { + iput(inode); + return -ENOTDIR; + } + iput(current->pwd); + current->pwd = inode; + return (0); +} + +int sys_chroot(const char * filename) +{ + struct m_inode * inode; + + if (!(inode=namei(filename))) + return -ENOENT; + if (!S_ISDIR(inode->i_mode)) { + iput(inode); + return -ENOTDIR; + } + iput(current->root); + current->root = inode; + return (0); +} + +int sys_chmod(const char * filename,int mode) +{ + struct m_inode * inode; + + if (!(inode=namei(filename))) + return -ENOENT; + if ((current->euid != inode->i_uid) && !suser()) { + iput(inode); + return -EACCES; + } + inode->i_mode = (mode & 07777) | (inode->i_mode & ~07777); + inode->i_dirt = 1; + iput(inode); + return 0; +} + +int sys_chown(const char * filename,int uid,int gid) +{ + struct m_inode * inode; + + if (!(inode=namei(filename))) + return -ENOENT; + if (!suser()) { + iput(inode); + return -EACCES; + } + inode->i_uid=uid; + inode->i_gid=gid; + inode->i_dirt=1; + iput(inode); + return 0; +} + +int sys_open(const char * filename,int flag,int mode) +{ + struct m_inode * inode; + struct file * f; + int i,fd; + + mode &= 0777 & ~current->umask; + for(fd=0 ; fdfilp[fd]) + break; + if (fd>=NR_OPEN) + return -EINVAL; + current->close_on_exec &= ~(1<f_count) break; + if (i>=NR_FILE) + return -EINVAL; + (current->filp[fd]=f)->f_count++; + if ((i=open_namei(filename,flag,mode,&inode))<0) { + current->filp[fd]=NULL; + f->f_count=0; + return i; + } +/* ttys are somewhat special (ttyxx major==4, tty major==5) */ + if (S_ISCHR(inode->i_mode)) + if (MAJOR(inode->i_zone[0])==4) { + if (current->leader && current->tty<0) { + current->tty = MINOR(inode->i_zone[0]); + tty_table[current->tty].pgrp = current->pgrp; + } + } else if (MAJOR(inode->i_zone[0])==5) + if (current->tty<0) { + iput(inode); + current->filp[fd]=NULL; + f->f_count=0; + return -EPERM; + } +/* Likewise with block-devices: check for floppy_change */ + if (S_ISBLK(inode->i_mode)) + check_disk_change(inode->i_zone[0]); + f->f_mode = inode->i_mode; + f->f_flags = flag; + f->f_count = 1; + f->f_inode = inode; + f->f_pos = 0; + return (fd); +} + +int sys_creat(const char * pathname, int mode) +{ + return sys_open(pathname, O_CREAT | O_TRUNC, mode); +} + +int sys_close(unsigned int fd) +{ + struct file * filp; + + if (fd >= NR_OPEN) + return -EINVAL; + current->close_on_exec &= ~(1<filp[fd])) + return -EINVAL; + current->filp[fd] = NULL; + if (filp->f_count == 0) + panic("Close: file count is 0"); + if (--filp->f_count) + return (0); + iput(filp->f_inode); + return (0); +} diff --git a/linux-0.11-lab/0/linux/fs/open.o b/linux-0.11-lab/0/linux/fs/open.o new file mode 100644 index 0000000000000000000000000000000000000000..23086fdba1f943e20967d4a70703d41490d069a2 GIT binary patch literal 11180 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/fs/pipe.c b/linux-0.11-lab/0/linux/fs/pipe.c new file mode 100644 index 0000000..dfc4480 --- /dev/null +++ b/linux-0.11-lab/0/linux/fs/pipe.c @@ -0,0 +1,111 @@ +/* + * linux/fs/pipe.c + * + * (C) 1991 Linus Torvalds + */ + +#include + +#include +#include /* for get_free_page */ +#include + +int read_pipe(struct m_inode * inode, char * buf, int count) +{ + int chars, size, read = 0; + + while (count>0) { + while (!(size=PIPE_SIZE(*inode))) { + wake_up(&inode->i_wait); + if (inode->i_count != 2) /* are there any writers? */ + return read; + sleep_on(&inode->i_wait); + } + chars = PAGE_SIZE-PIPE_TAIL(*inode); + if (chars > count) + chars = count; + if (chars > size) + chars = size; + count -= chars; + read += chars; + size = PIPE_TAIL(*inode); + PIPE_TAIL(*inode) += chars; + PIPE_TAIL(*inode) &= (PAGE_SIZE-1); + while (chars-->0) + put_fs_byte(((char *)inode->i_size)[size++],buf++); + } + wake_up(&inode->i_wait); + return read; +} + +int write_pipe(struct m_inode * inode, char * buf, int count) +{ + int chars, size, written = 0; + + while (count>0) { + while (!(size=(PAGE_SIZE-1)-PIPE_SIZE(*inode))) { + wake_up(&inode->i_wait); + if (inode->i_count != 2) { /* no readers */ + current->signal |= (1<<(SIGPIPE-1)); + return written?written:-1; + } + sleep_on(&inode->i_wait); + } + chars = PAGE_SIZE-PIPE_HEAD(*inode); + if (chars > count) + chars = count; + if (chars > size) + chars = size; + count -= chars; + written += chars; + size = PIPE_HEAD(*inode); + PIPE_HEAD(*inode) += chars; + PIPE_HEAD(*inode) &= (PAGE_SIZE-1); + while (chars-->0) + ((char *)inode->i_size)[size++]=get_fs_byte(buf++); + } + wake_up(&inode->i_wait); + return written; +} + +int sys_pipe(unsigned long * fildes) +{ + struct m_inode * inode; + struct file * f[2]; + int fd[2]; + int i,j; + + j=0; + for(i=0;j<2 && if_count++; + if (j==1) + f[0]->f_count=0; + if (j<2) + return -1; + j=0; + for(i=0;j<2 && ifilp[i]) { + current->filp[ fd[j]=i ] = f[j]; + j++; + } + if (j==1) + current->filp[fd[0]]=NULL; + if (j<2) { + f[0]->f_count=f[1]->f_count=0; + return -1; + } + if (!(inode=get_pipe_inode())) { + current->filp[fd[0]] = + current->filp[fd[1]] = NULL; + f[0]->f_count = f[1]->f_count = 0; + return -1; + } + f[0]->f_inode = f[1]->f_inode = inode; + f[0]->f_pos = f[1]->f_pos = 0; + f[0]->f_mode = 1; /* read */ + f[1]->f_mode = 2; /* write */ + put_fs_long(fd[0],0+fildes); + put_fs_long(fd[1],1+fildes); + return 0; +} diff --git a/linux-0.11-lab/0/linux/fs/pipe.o b/linux-0.11-lab/0/linux/fs/pipe.o new file mode 100644 index 0000000000000000000000000000000000000000..106606a8b562f82924a575b0a399c92a910bc50d GIT binary patch literal 8100 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 +#include +#include + +#include +#include +#include + +extern int rw_char(int rw,int dev, char * buf, int count, off_t * pos); +extern int read_pipe(struct m_inode * inode, char * buf, int count); +extern int write_pipe(struct m_inode * inode, char * buf, int count); +extern int block_read(int dev, off_t * pos, char * buf, int count); +extern int block_write(int dev, off_t * pos, char * buf, int count); +extern int file_read(struct m_inode * inode, struct file * filp, + char * buf, int count); +extern int file_write(struct m_inode * inode, struct file * filp, + char * buf, int count); + +int sys_lseek(unsigned int fd,off_t offset, int origin) +{ + struct file * file; + int tmp; + + if (fd >= NR_OPEN || !(file=current->filp[fd]) || !(file->f_inode) + || !IS_SEEKABLE(MAJOR(file->f_inode->i_dev))) + return -EBADF; + if (file->f_inode->i_pipe) + return -ESPIPE; + switch (origin) { + case 0: + if (offset<0) return -EINVAL; + file->f_pos=offset; + break; + case 1: + if (file->f_pos+offset<0) return -EINVAL; + file->f_pos += offset; + break; + case 2: + if ((tmp=file->f_inode->i_size+offset) < 0) + return -EINVAL; + file->f_pos = tmp; + break; + default: + return -EINVAL; + } + return file->f_pos; +} + +int sys_read(unsigned int fd,char * buf,int count) +{ + struct file * file; + struct m_inode * inode; + + if (fd>=NR_OPEN || count<0 || !(file=current->filp[fd])) + return -EINVAL; + if (!count) + return 0; + verify_area(buf,count); + inode = file->f_inode; + if (inode->i_pipe) + return (file->f_mode&1)?read_pipe(inode,buf,count):-EIO; + if (S_ISCHR(inode->i_mode)) + return rw_char(READ,inode->i_zone[0],buf,count,&file->f_pos); + if (S_ISBLK(inode->i_mode)) + return block_read(inode->i_zone[0],&file->f_pos,buf,count); + if (S_ISDIR(inode->i_mode) || S_ISREG(inode->i_mode)) { + if (count+file->f_pos > inode->i_size) + count = inode->i_size - file->f_pos; + if (count<=0) + return 0; + return file_read(inode,file,buf,count); + } + printk("(Read)inode->i_mode=%06o\n\r",inode->i_mode); + return -EINVAL; +} + +int sys_write(unsigned int fd,char * buf,int count) +{ + struct file * file; + struct m_inode * inode; + + if (fd>=NR_OPEN || count <0 || !(file=current->filp[fd])) + return -EINVAL; + if (!count) + return 0; + inode=file->f_inode; + if (inode->i_pipe) + return (file->f_mode&2)?write_pipe(inode,buf,count):-EIO; + if (S_ISCHR(inode->i_mode)) + return rw_char(WRITE,inode->i_zone[0],buf,count,&file->f_pos); + if (S_ISBLK(inode->i_mode)) + return block_write(inode->i_zone[0],&file->f_pos,buf,count); + if (S_ISREG(inode->i_mode)) + return file_write(inode,file,buf,count); + printk("(Write)inode->i_mode=%06o\n\r",inode->i_mode); + return -EINVAL; +} diff --git a/linux-0.11-lab/0/linux/fs/read_write.o b/linux-0.11-lab/0/linux/fs/read_write.o new file mode 100644 index 0000000000000000000000000000000000000000..b74e2a05827516e27ad7055b5197ab3d1de7f83d GIT binary patch literal 7516 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/fs/select.c b/linux-0.11-lab/0/linux/fs/select.c new file mode 100644 index 0000000..cef8b43 --- /dev/null +++ b/linux-0.11-lab/0/linux/fs/select.c @@ -0,0 +1,10 @@ +/* nothing , only the stub */ +/* gohigh */ + +#include + +int sys_select() +{ + return -ENOSYS; +} + diff --git a/linux-0.11-lab/0/linux/fs/select.o b/linux-0.11-lab/0/linux/fs/select.o new file mode 100644 index 0000000000000000000000000000000000000000..1bab67f11c0db7563888ab19a2ae6e6b6c816fb3 GIT binary patch literal 1772 zcma)7&1(};5TBP#Yc*|X8^x9irr<{vcavz)Qni*AEsFFY^x#3uCfR&ocDL+qq?Mw0 z^Wa5L1Sxp(FYw~stDxXbJb3UQ@T?Gjvu~%_o^)W|%=~8F%$v!ud2;>s4W$$bDKcna z5$$HQry7enD$qE6_}1_DKQ02v#%MOapzgy6Vt{Bkk(m}0HN235)vl2p>Ua_G33W1G z$Qk*W{Dhhu9zRNyvFO^gkzdGN&fP39xHR>8d78*LLAl&w&KNy0%_iDORm{t6DT&JE*s>b}r0c zgkJA9ie{^5Hhs4fna#j<9dpx14^9BE<8?cpV>WwUJ?i*g2*~rzFtY0p%+0`$P|yzs zmBa0DLqCH`ZQpfDUat|A{IG;9y)CnBRVrrJu9eCfC^bW()s>Zn;@o@&1J4x9(av^Oj(+;$_oMphUFTDC=toUMqg zh8@{t)xwah!0B2Ir`Bt2biAeySFGE$THriPd+osXTF$-;JRZ4#{AAUA*LAP~mWSzB zn7f{qPUEyU;tA`w{?9psAYMV~ix)t2z8|kA~!5v zsLOl6bq|20t_@x8K&7wXc~%k<-#ysreBY6e-_7|LmwYaCzQglj%E5S})%au|^Hw4y z?j69hafCi3?r9PyuFvd9k(jT5v93Q3L| +#include + +#include +#include +#include +#include + +static void cp_stat(struct m_inode * inode, struct stat * statbuf) +{ + struct stat tmp; + int i; + + verify_area(statbuf,sizeof (* statbuf)); + tmp.st_dev = inode->i_dev; + tmp.st_ino = inode->i_num; + tmp.st_mode = inode->i_mode; + tmp.st_nlink = inode->i_nlinks; + tmp.st_uid = inode->i_uid; + tmp.st_gid = inode->i_gid; + tmp.st_rdev = inode->i_zone[0]; + tmp.st_size = inode->i_size; + tmp.st_atime = inode->i_atime; + tmp.st_mtime = inode->i_mtime; + tmp.st_ctime = inode->i_ctime; + for (i=0 ; i= NR_OPEN || !(f=current->filp[fd]) || !(inode=f->f_inode)) + return -EBADF; + cp_stat(inode,statbuf); + return 0; +} + +int sys_readlink() +{ + return -ENOSYS; +} diff --git a/linux-0.11-lab/0/linux/fs/stat.o b/linux-0.11-lab/0/linux/fs/stat.o new file mode 100644 index 0000000000000000000000000000000000000000..3d976fc85e572d4c79b6b135ac0d16da32884718 GIT binary patch literal 7208 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/fs/super.c b/linux-0.11-lab/0/linux/fs/super.c new file mode 100644 index 0000000..6a4ccb1 --- /dev/null +++ b/linux-0.11-lab/0/linux/fs/super.c @@ -0,0 +1,282 @@ +/* + * linux/fs/super.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * super.c contains code to handle the super-block tables. + */ +#include +#include +#include +#include + +#include +#include + +int sync_dev(int dev); +void wait_for_keypress(void); + +/* set_bit uses setb, as gas doesn't recognize setc */ +#define set_bit(bitnr,addr) ({ \ +register int __res __asm__("ax"); \ +__asm__("bt %2,%3;setb %%al":"=a" (__res):"a" (0),"r" (bitnr),"m" (*(addr))); \ +__res; }) + +struct super_block super_block[NR_SUPER]; +/* this is initialized in init/main.c */ +int ROOT_DEV = 0; + +static void lock_super(struct super_block * sb) +{ + cli(); + while (sb->s_lock) + sleep_on(&(sb->s_wait)); + sb->s_lock = 1; + sti(); +} + +static void free_super(struct super_block * sb) +{ + cli(); + sb->s_lock = 0; + wake_up(&(sb->s_wait)); + sti(); +} + +static void wait_on_super(struct super_block * sb) +{ + cli(); + while (sb->s_lock) + sleep_on(&(sb->s_wait)); + sti(); +} + +struct super_block * get_super(int dev) +{ + struct super_block * s; + + if (!dev) + return NULL; + s = 0+super_block; + while (s < NR_SUPER+super_block) + if (s->s_dev == dev) { + wait_on_super(s); + if (s->s_dev == dev) + return s; + s = 0+super_block; + } else + s++; + return NULL; +} + +void put_super(int dev) +{ + struct super_block * sb; +/* struct m_inode * inode; */ + int i; + + if (dev == ROOT_DEV) { + printk("root diskette changed: prepare for armageddon\n\r"); + return; + } + if (!(sb = get_super(dev))) + return; + if (sb->s_imount) { + printk("Mounted disk changed - tssk, tssk\n\r"); + return; + } + lock_super(sb); + sb->s_dev = 0; + for(i=0;is_imap[i]); + for(i=0;is_zmap[i]); + free_super(sb); + return; +} + +static struct super_block * read_super(int dev) +{ + struct super_block * s; + struct buffer_head * bh; + int i,block; + + if (!dev) + return NULL; + check_disk_change(dev); + if (s = get_super(dev)) + return s; + for (s = 0+super_block ;; s++) { + if (s >= NR_SUPER+super_block) + return NULL; + if (!s->s_dev) + break; + } + s->s_dev = dev; + s->s_isup = NULL; + s->s_imount = NULL; + s->s_time = 0; + s->s_rd_only = 0; + s->s_dirt = 0; + lock_super(s); + if (!(bh = bread(dev,1))) { + s->s_dev=0; + free_super(s); + return NULL; + } + __asm__ volatile ("cld"); /* by wyj */ + *((struct d_super_block *) s) = + *((struct d_super_block *) bh->b_data); + brelse(bh); + if (s->s_magic != SUPER_MAGIC) { + s->s_dev = 0; + free_super(s); + return NULL; + } + for (i=0;is_imap[i] = NULL; + for (i=0;is_zmap[i] = NULL; + block=2; + for (i=0 ; i < s->s_imap_blocks ; i++) + if (s->s_imap[i]=bread(dev,block)) + block++; + else + break; + for (i=0 ; i < s->s_zmap_blocks ; i++) + if (s->s_zmap[i]=bread(dev,block)) + block++; + else + break; + if (block != 2+s->s_imap_blocks+s->s_zmap_blocks) { + for(i=0;is_imap[i]); + for(i=0;is_zmap[i]); + s->s_dev=0; + free_super(s); + return NULL; + } + s->s_imap[0]->b_data[0] |= 1; + s->s_zmap[0]->b_data[0] |= 1; + free_super(s); + return s; +} + +int sys_umount(char * dev_name) +{ + struct m_inode * inode; + struct super_block * sb; + int dev; + + if (!(inode=namei(dev_name))) + return -ENOENT; + dev = inode->i_zone[0]; + if (!S_ISBLK(inode->i_mode)) { + iput(inode); + return -ENOTBLK; + } + iput(inode); + if (dev==ROOT_DEV) + return -EBUSY; + if (!(sb=get_super(dev)) || !(sb->s_imount)) + return -ENOENT; + if (!sb->s_imount->i_mount) + printk("Mounted inode has i_mount=0\n"); + for (inode=inode_table+0 ; inodei_dev==dev && inode->i_count) + return -EBUSY; + sb->s_imount->i_mount=0; + iput(sb->s_imount); + sb->s_imount = NULL; + iput(sb->s_isup); + sb->s_isup = NULL; + put_super(dev); + sync_dev(dev); + return 0; +} + +int sys_mount(char * dev_name, char * dir_name, int rw_flag) +{ + struct m_inode * dev_i, * dir_i; + struct super_block * sb; + int dev; + + if (!(dev_i=namei(dev_name))) + return -ENOENT; + dev = dev_i->i_zone[0]; + if (!S_ISBLK(dev_i->i_mode)) { + iput(dev_i); + return -EPERM; + } + iput(dev_i); + if (!(dir_i=namei(dir_name))) + return -ENOENT; + if (dir_i->i_count != 1 || dir_i->i_num == ROOT_INO) { + iput(dir_i); + return -EBUSY; + } + if (!S_ISDIR(dir_i->i_mode)) { + iput(dir_i); + return -EPERM; + } + if (!(sb=read_super(dev))) { + iput(dir_i); + return -EBUSY; + } + if (sb->s_imount) { + iput(dir_i); + return -EBUSY; + } + if (dir_i->i_mount) { + iput(dir_i); + return -EPERM; + } + sb->s_imount=dir_i; + dir_i->i_mount=1; + dir_i->i_dirt=1; /* NOTE! we don't iput(dir_i) */ + return 0; /* we do that in umount */ +} + +void mount_root(void) +{ + int i,free; + struct super_block * p; + struct m_inode * mi; + + if (32 != sizeof (struct d_inode)) + panic("bad i-node size"); + for(i=0;is_dev = 0; + p->s_lock = 0; + p->s_wait = NULL; + } + if (!(p=read_super(ROOT_DEV))) + panic("Unable to mount root"); + if (!(mi=iget(ROOT_DEV,ROOT_INO))) + panic("Unable to read root i-node"); + mi->i_count += 3 ; /* NOTE! it is logically used 4 times, not 1 */ + p->s_isup = p->s_imount = mi; + current->pwd = mi; + current->root = mi; + free=0; + i=p->s_nzones; + while (-- i >= 0) + if (!set_bit(i&8191,p->s_zmap[i>>13]->b_data)) + free++; + printk("%d/%d free blocks\n\r",free,p->s_nzones); + free=0; + i=p->s_ninodes+1; + while (-- i >= 0) + if (!set_bit(i&8191,p->s_imap[i>>13]->b_data)) + free++; + printk("%d/%d free inodes\n\r",free,p->s_ninodes); +} diff --git a/linux-0.11-lab/0/linux/fs/super.o b/linux-0.11-lab/0/linux/fs/super.o new file mode 100644 index 0000000000000000000000000000000000000000..25ac49b6aea1170f1153f2279086249f062fde29 GIT binary patch literal 12280 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/fs/truncate.c b/linux-0.11-lab/0/linux/fs/truncate.c new file mode 100644 index 0000000..36f3ea2 --- /dev/null +++ b/linux-0.11-lab/0/linux/fs/truncate.c @@ -0,0 +1,65 @@ +/* + * linux/fs/truncate.c + * + * (C) 1991 Linus Torvalds + */ + +#include + +#include + +static void free_ind(int dev,int block) +{ + struct buffer_head * bh; + unsigned short * p; + int i; + + if (!block) + return; + if (bh=bread(dev,block)) { + p = (unsigned short *) bh->b_data; + for (i=0;i<512;i++,p++) + if (*p) + free_block(dev,*p); + brelse(bh); + } + free_block(dev,block); +} + +static void free_dind(int dev,int block) +{ + struct buffer_head * bh; + unsigned short * p; + int i; + + if (!block) + return; + if (bh=bread(dev,block)) { + p = (unsigned short *) bh->b_data; + for (i=0;i<512;i++,p++) + if (*p) + free_ind(dev,*p); + brelse(bh); + } + free_block(dev,block); +} + +void truncate(struct m_inode * inode) +{ + int i; + + if (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode))) + return; + for (i=0;i<7;i++) + if (inode->i_zone[i]) { + free_block(inode->i_dev,inode->i_zone[i]); + inode->i_zone[i]=0; + } + free_ind(inode->i_dev,inode->i_zone[7]); + free_dind(inode->i_dev,inode->i_zone[8]); + inode->i_zone[7] = inode->i_zone[8] = 0; + inode->i_size = 0; + inode->i_dirt = 1; + inode->i_mtime = inode->i_ctime = CURRENT_TIME; +} + diff --git a/linux-0.11-lab/0/linux/fs/truncate.o b/linux-0.11-lab/0/linux/fs/truncate.o new file mode 100644 index 0000000000000000000000000000000000000000..63af350a448e032c96a39ec52a400dfeb6fa8198 GIT binary patch literal 6844 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/include/a.out.h b/linux-0.11-lab/0/linux/include/a.out.h new file mode 100644 index 0000000..3e67974 --- /dev/null +++ b/linux-0.11-lab/0/linux/include/a.out.h @@ -0,0 +1,220 @@ +#ifndef _A_OUT_H +#define _A_OUT_H + +#define __GNU_EXEC_MACROS__ + +struct exec { + unsigned long a_magic; /* Use macros N_MAGIC, etc for access */ + unsigned a_text; /* length of text, in bytes */ + unsigned a_data; /* length of data, in bytes */ + unsigned a_bss; /* length of uninitialized data area for file, in bytes */ + unsigned a_syms; /* length of symbol table data in file, in bytes */ + unsigned a_entry; /* start address */ + unsigned a_trsize; /* length of relocation info for text, in bytes */ + unsigned a_drsize; /* length of relocation info for data, in bytes */ +}; + +#ifndef N_MAGIC +#define N_MAGIC(exec) ((exec).a_magic) +#endif + +#ifndef OMAGIC +/* Code indicating object file or impure executable. */ +#define OMAGIC 0407 +/* Code indicating pure executable. */ +#define NMAGIC 0410 +/* Code indicating demand-paged executable. */ +#define ZMAGIC 0413 +#endif /* not OMAGIC */ + +#ifndef N_BADMAG +#define N_BADMAG(x) \ + (N_MAGIC(x) != OMAGIC && N_MAGIC(x) != NMAGIC \ + && N_MAGIC(x) != ZMAGIC) +#endif + +#define _N_BADMAG(x) \ + (N_MAGIC(x) != OMAGIC && N_MAGIC(x) != NMAGIC \ + && N_MAGIC(x) != ZMAGIC) + +#define _N_HDROFF(x) (SEGMENT_SIZE - sizeof (struct exec)) + +#ifndef N_TXTOFF +#define N_TXTOFF(x) \ + (N_MAGIC(x) == ZMAGIC ? _N_HDROFF((x)) + sizeof (struct exec) : sizeof (struct exec)) +#endif + +#ifndef N_DATOFF +#define N_DATOFF(x) (N_TXTOFF(x) + (x).a_text) +#endif + +#ifndef N_TRELOFF +#define N_TRELOFF(x) (N_DATOFF(x) + (x).a_data) +#endif + +#ifndef N_DRELOFF +#define N_DRELOFF(x) (N_TRELOFF(x) + (x).a_trsize) +#endif + +#ifndef N_SYMOFF +#define N_SYMOFF(x) (N_DRELOFF(x) + (x).a_drsize) +#endif + +#ifndef N_STROFF +#define N_STROFF(x) (N_SYMOFF(x) + (x).a_syms) +#endif + +/* Address of text segment in memory after it is loaded. */ +#ifndef N_TXTADDR +#define N_TXTADDR(x) 0 +#endif + +/* Address of data segment in memory after it is loaded. + Note that it is up to you to define SEGMENT_SIZE + on machines not listed here. */ +#if defined(vax) || defined(hp300) || defined(pyr) +#define SEGMENT_SIZE PAGE_SIZE +#endif +#ifdef hp300 +#define PAGE_SIZE 4096 +#endif +#ifdef sony +#define SEGMENT_SIZE 0x2000 +#endif /* Sony. */ +#ifdef is68k +#define SEGMENT_SIZE 0x20000 +#endif +#if defined(m68k) && defined(PORTAR) +#define PAGE_SIZE 0x400 +#define SEGMENT_SIZE PAGE_SIZE +#endif + +#define PAGE_SIZE 4096 +#define SEGMENT_SIZE 1024 + +#define _N_SEGMENT_ROUND(x) (((x) + SEGMENT_SIZE - 1) & ~(SEGMENT_SIZE - 1)) + +#define _N_TXTENDADDR(x) (N_TXTADDR(x)+(x).a_text) + +#ifndef N_DATADDR +#define N_DATADDR(x) \ + (N_MAGIC(x)==OMAGIC? (_N_TXTENDADDR(x)) \ + : (_N_SEGMENT_ROUND (_N_TXTENDADDR(x)))) +#endif + +/* Address of bss segment in memory after it is loaded. */ +#ifndef N_BSSADDR +#define N_BSSADDR(x) (N_DATADDR(x) + (x).a_data) +#endif + +#ifndef N_NLIST_DECLARED +struct nlist { + union { + char *n_name; + struct nlist *n_next; + long n_strx; + } n_un; + unsigned char n_type; + char n_other; + short n_desc; + unsigned long n_value; +}; +#endif + +#ifndef N_UNDF +#define N_UNDF 0 +#endif +#ifndef N_ABS +#define N_ABS 2 +#endif +#ifndef N_TEXT +#define N_TEXT 4 +#endif +#ifndef N_DATA +#define N_DATA 6 +#endif +#ifndef N_BSS +#define N_BSS 8 +#endif +#ifndef N_COMM +#define N_COMM 18 +#endif +#ifndef N_FN +#define N_FN 15 +#endif + +#ifndef N_EXT +#define N_EXT 1 +#endif +#ifndef N_TYPE +#define N_TYPE 036 +#endif +#ifndef N_STAB +#define N_STAB 0340 +#endif + +/* The following type indicates the definition of a symbol as being + an indirect reference to another symbol. The other symbol + appears as an undefined reference, immediately following this symbol. + + Indirection is asymmetrical. The other symbol's value will be used + to satisfy requests for the indirect symbol, but not vice versa. + If the other symbol does not have a definition, libraries will + be searched to find a definition. */ +#define N_INDR 0xa + +/* The following symbols refer to set elements. + All the N_SET[ATDB] symbols with the same name form one set. + Space is allocated for the set in the text section, and each set + element's value is stored into one word of the space. + The first word of the space is the length of the set (number of elements). + + The address of the set is made into an N_SETV symbol + whose name is the same as the name of the set. + This symbol acts like a N_DATA global symbol + in that it can satisfy undefined external references. */ + +/* These appear as input to LD, in a .o file. */ +#define N_SETA 0x14 /* Absolute set element symbol */ +#define N_SETT 0x16 /* Text set element symbol */ +#define N_SETD 0x18 /* Data set element symbol */ +#define N_SETB 0x1A /* Bss set element symbol */ + +/* This is output from LD. */ +#define N_SETV 0x1C /* Pointer to set vector in data area. */ + +#ifndef N_RELOCATION_INFO_DECLARED + +/* This structure describes a single relocation to be performed. + The text-relocation section of the file is a vector of these structures, + all of which apply to the text section. + Likewise, the data-relocation section applies to the data section. */ + +struct relocation_info +{ + /* Address (within segment) to be relocated. */ + int r_address; + /* The meaning of r_symbolnum depends on r_extern. */ + unsigned int r_symbolnum:24; + /* Nonzero means value is a pc-relative offset + and it should be relocated for changes in its own address + as well as for changes in the symbol or section specified. */ + unsigned int r_pcrel:1; + /* Length (as exponent of 2) of the field to be relocated. + Thus, a value of 2 indicates 1<<2 bytes. */ + unsigned int r_length:2; + /* 1 => relocate with value of symbol. + r_symbolnum is the index of the symbol + in file's the symbol table. + 0 => relocate with the address of a segment. + r_symbolnum is N_TEXT, N_DATA, N_BSS or N_ABS + (the N_EXT bit may be set also, but signifies nothing). */ + unsigned int r_extern:1; + /* Four bits that aren't used, but when writing an object file + it is desirable to clear them. */ + unsigned int r_pad:4; +}; +#endif /* no N_RELOCATION_INFO_DECLARED. */ + + +#endif /* __A_OUT_GNU_H__ */ diff --git a/linux-0.11-lab/0/linux/include/asm/io.h b/linux-0.11-lab/0/linux/include/asm/io.h new file mode 100644 index 0000000..d5cc42a --- /dev/null +++ b/linux-0.11-lab/0/linux/include/asm/io.h @@ -0,0 +1,24 @@ +#define outb(value,port) \ +__asm__ ("outb %%al,%%dx"::"a" (value),"d" (port)) + + +#define inb(port) ({ \ +unsigned char _v; \ +__asm__ volatile ("inb %%dx,%%al":"=a" (_v):"d" (port)); \ +_v; \ +}) + +#define outb_p(value,port) \ +__asm__ ("outb %%al,%%dx\n" \ + "\tjmp 1f\n" \ + "1:\tjmp 1f\n" \ + "1:"::"a" (value),"d" (port)) + +#define inb_p(port) ({ \ +unsigned char _v; \ +__asm__ volatile ("inb %%dx,%%al\n" \ + "\tjmp 1f\n" \ + "1:\tjmp 1f\n" \ + "1:":"=a" (_v):"d" (port)); \ +_v; \ +}) diff --git a/linux-0.11-lab/0/linux/include/asm/memory.h b/linux-0.11-lab/0/linux/include/asm/memory.h new file mode 100644 index 0000000..51b69e7 --- /dev/null +++ b/linux-0.11-lab/0/linux/include/asm/memory.h @@ -0,0 +1,15 @@ +/* + * NOTE!!! memcpy(dest,src,n) assumes ds=es=normal data segment. This + * goes for all kernel functions (ds=es=kernel space, fs=local data, + * gs=null), as well as for all well-behaving user programs (ds=es= + * user data space). This is NOT a bug, as any user program that changes + * es deserves to die if it isn't careful. + */ +#define memcpy(dest,src,n) ({ \ +void * _res = dest; \ +__asm__ ("cld;rep;movsb" \ + ::"D" ((long)(_res)),"S" ((long)(src)),"c" ((long) (n)) \ + ); \ +_res; \ +}) + diff --git a/linux-0.11-lab/0/linux/include/asm/segment.h b/linux-0.11-lab/0/linux/include/asm/segment.h new file mode 100644 index 0000000..94dd102 --- /dev/null +++ b/linux-0.11-lab/0/linux/include/asm/segment.h @@ -0,0 +1,65 @@ +static inline unsigned char get_fs_byte(const char * addr) +{ + unsigned register char _v; + + __asm__ ("movb %%fs:%1,%0":"=r" (_v):"m" (*addr)); + return _v; +} + +static inline unsigned short get_fs_word(const unsigned short *addr) +{ + unsigned short _v; + + __asm__ ("movw %%fs:%1,%0":"=r" (_v):"m" (*addr)); + return _v; +} + +static inline unsigned long get_fs_long(const unsigned long *addr) +{ + unsigned long _v; + + __asm__ ("movl %%fs:%1,%0":"=r" (_v):"m" (*addr)); \ + return _v; +} + +static inline void put_fs_byte(char val,char *addr) +{ +__asm__ ("movb %0,%%fs:%1"::"r" (val),"m" (*addr)); +} + +static inline void put_fs_word(short val,short * addr) +{ +__asm__ ("movw %0,%%fs:%1"::"r" (val),"m" (*addr)); +} + +static inline void put_fs_long(unsigned long val,unsigned long * addr) +{ +__asm__ ("movl %0,%%fs:%1"::"r" (val),"m" (*addr)); +} + +/* + * Someone who knows GNU asm better than I should double check the followig. + * It seems to work, but I don't know if I'm doing something subtly wrong. + * --- TYT, 11/24/91 + * [ nothing wrong here, Linus ] + */ + +static inline unsigned long get_fs() +{ + unsigned short _v; + __asm__("mov %%fs,%%ax":"=a" (_v):); + return _v; +} + +static inline unsigned long get_ds() +{ + unsigned short _v; + __asm__("mov %%ds,%%ax":"=a" (_v):); + return _v; +} + +static inline void set_fs(unsigned long val) +{ + __asm__("mov %0,%%fs"::"a" ((unsigned short) val)); +} + diff --git a/linux-0.11-lab/0/linux/include/asm/system.h b/linux-0.11-lab/0/linux/include/asm/system.h new file mode 100644 index 0000000..0b5a21d --- /dev/null +++ b/linux-0.11-lab/0/linux/include/asm/system.h @@ -0,0 +1,66 @@ +#define move_to_user_mode() \ +__asm__ ("movl %%esp,%%eax\n\t" \ + "pushl $0x17\n\t" \ + "pushl %%eax\n\t" \ + "pushfl\n\t" \ + "pushl $0x0f\n\t" \ + "pushl $1f\n\t" \ + "iret\n" \ + "1:\tmovl $0x17,%%eax\n\t" \ + "movw %%ax,%%ds\n\t" \ + "movw %%ax,%%es\n\t" \ + "movw %%ax,%%fs\n\t" \ + "movw %%ax,%%gs" \ + :::"ax") + +#define sti() __asm__ ("sti"::) +#define cli() __asm__ ("cli"::) +#define nop() __asm__ ("nop"::) + +#define iret() __asm__ ("iret"::) + +#define _set_gate(gate_addr,type,dpl,addr) \ +__asm__ ("movw %%dx,%%ax\n\t" \ + "movw %0,%%dx\n\t" \ + "movl %%eax,%1\n\t" \ + "movl %%edx,%2" \ + : \ + : "i" ((short) (0x8000+(dpl<<13)+(type<<8))), \ + "o" (*((char *) (gate_addr))), \ + "o" (*(4+(char *) (gate_addr))), \ + "d" ((char *) (addr)),"a" (0x00080000)) + +#define set_intr_gate(n,addr) \ + _set_gate(&idt[n],14,0,addr) + +#define set_trap_gate(n,addr) \ + _set_gate(&idt[n],15,0,addr) + +#define set_system_gate(n,addr) \ + _set_gate(&idt[n],15,3,addr) + +#define _set_seg_desc(gate_addr,type,dpl,base,limit) {\ + *(gate_addr) = ((base) & 0xff000000) | \ + (((base) & 0x00ff0000)>>16) | \ + ((limit) & 0xf0000) | \ + ((dpl)<<13) | \ + (0x00408000) | \ + ((type)<<8); \ + *((gate_addr)+1) = (((base) & 0x0000ffff)<<16) | \ + ((limit) & 0x0ffff); } + +#define _set_tssldt_desc(n,addr,type) \ +__asm__ ("movw $104,%1\n\t" \ + "movw %%ax,%2\n\t" \ + "rorl $16,%%eax\n\t" \ + "movb %%al,%3\n\t" \ + "movb $" type ",%4\n\t" \ + "movb $0x00,%5\n\t" \ + "movb %%ah,%6\n\t" \ + "rorl $16,%%eax" \ + ::"a" (addr), "m" (*(n)), "m" (*(n+2)), "m" (*(n+4)), \ + "m" (*(n+5)), "m" (*(n+6)), "m" (*(n+7)) \ + ) + +#define set_tss_desc(n,addr) _set_tssldt_desc(((char *) (n)),addr,"0x89") +#define set_ldt_desc(n,addr) _set_tssldt_desc(((char *) (n)),addr,"0x82") diff --git a/linux-0.11-lab/0/linux/include/const.h b/linux-0.11-lab/0/linux/include/const.h new file mode 100644 index 0000000..7828e61 --- /dev/null +++ b/linux-0.11-lab/0/linux/include/const.h @@ -0,0 +1,15 @@ +#ifndef _CONST_H +#define _CONST_H + +#define BUFFER_END 0x200000 + +#define I_TYPE 0170000 +#define I_DIRECTORY 0040000 +#define I_REGULAR 0100000 +#define I_BLOCK_SPECIAL 0060000 +#define I_CHAR_SPECIAL 0020000 +#define I_NAMED_PIPE 0010000 +#define I_SET_UID_BIT 0004000 +#define I_SET_GID_BIT 0002000 + +#endif diff --git a/linux-0.11-lab/0/linux/include/ctype.h b/linux-0.11-lab/0/linux/include/ctype.h new file mode 100644 index 0000000..7acf55d --- /dev/null +++ b/linux-0.11-lab/0/linux/include/ctype.h @@ -0,0 +1,34 @@ +#ifndef _CTYPE_H +#define _CTYPE_H + +#define _U 0x01 /* upper */ +#define _L 0x02 /* lower */ +#define _D 0x04 /* digit */ +#define _C 0x08 /* cntrl */ +#define _P 0x10 /* punct */ +#define _S 0x20 /* white space (space/lf/tab) */ +#define _X 0x40 /* hex digit */ +#define _SP 0x80 /* hard space (0x20) */ + +extern unsigned char _ctype[]; +extern char _ctmp; + +#define isalnum(c) ((_ctype+1)[c]&(_U|_L|_D)) +#define isalpha(c) ((_ctype+1)[c]&(_U|_L)) +#define iscntrl(c) ((_ctype+1)[c]&(_C)) +#define isdigit(c) ((_ctype+1)[c]&(_D)) +#define isgraph(c) ((_ctype+1)[c]&(_P|_U|_L|_D)) +#define islower(c) ((_ctype+1)[c]&(_L)) +#define isprint(c) ((_ctype+1)[c]&(_P|_U|_L|_D|_SP)) +#define ispunct(c) ((_ctype+1)[c]&(_P)) +#define isspace(c) ((_ctype+1)[c]&(_S)) +#define isupper(c) ((_ctype+1)[c]&(_U)) +#define isxdigit(c) ((_ctype+1)[c]&(_D|_X)) + +#define isascii(c) (((unsigned) c)<=0x7f) +#define toascii(c) (((unsigned) c)&0x7f) + +#define tolower(c) (_ctmp=c,isupper(_ctmp)?_ctmp-('A'-'a'):_ctmp) +#define toupper(c) (_ctmp=c,islower(_ctmp)?_ctmp-('a'-'A'):_ctmp) + +#endif diff --git a/linux-0.11-lab/0/linux/include/errno.h b/linux-0.11-lab/0/linux/include/errno.h new file mode 100644 index 0000000..c282f69 --- /dev/null +++ b/linux-0.11-lab/0/linux/include/errno.h @@ -0,0 +1,60 @@ +#ifndef _ERRNO_H +#define _ERRNO_H + +/* + * ok, as I hadn't got any other source of information about + * possible error numbers, I was forced to use the same numbers + * as minix. + * Hopefully these are posix or something. I wouldn't know (and posix + * isn't telling me - they want $$$ for their f***ing standard). + * + * We don't use the _SIGN cludge of minix, so kernel returns must + * see to the sign by themselves. + * + * NOTE! Remember to change strerror() if you change this file! + */ + +extern int errno; + +#define ERROR 99 +#define EPERM 1 +#define ENOENT 2 +#define ESRCH 3 +#define EINTR 4 +#define EIO 5 +#define ENXIO 6 +#define E2BIG 7 +#define ENOEXEC 8 +#define EBADF 9 +#define ECHILD 10 +#define EAGAIN 11 +#define ENOMEM 12 +#define EACCES 13 +#define EFAULT 14 +#define ENOTBLK 15 +#define EBUSY 16 +#define EEXIST 17 +#define EXDEV 18 +#define ENODEV 19 +#define ENOTDIR 20 +#define EISDIR 21 +#define EINVAL 22 +#define ENFILE 23 +#define EMFILE 24 +#define ENOTTY 25 +#define ETXTBSY 26 +#define EFBIG 27 +#define ENOSPC 28 +#define ESPIPE 29 +#define EROFS 30 +#define EMLINK 31 +#define EPIPE 32 +#define EDOM 33 +#define ERANGE 34 +#define EDEADLK 35 +#define ENAMETOOLONG 36 +#define ENOLCK 37 +#define ENOSYS 38 +#define ENOTEMPTY 39 + +#endif diff --git a/linux-0.11-lab/0/linux/include/fcntl.h b/linux-0.11-lab/0/linux/include/fcntl.h new file mode 100644 index 0000000..a5bf9af --- /dev/null +++ b/linux-0.11-lab/0/linux/include/fcntl.h @@ -0,0 +1,55 @@ +#ifndef _FCNTL_H +#define _FCNTL_H + +#include + +/* open/fcntl - NOCTTY, NDELAY isn't implemented yet */ +#define O_ACCMODE 00003 +#define O_RDONLY 00 +#define O_WRONLY 01 +#define O_RDWR 02 +#define O_CREAT 00100 /* not fcntl */ +#define O_EXCL 00200 /* not fcntl */ +#define O_NOCTTY 00400 /* not fcntl */ +#define O_TRUNC 01000 /* not fcntl */ +#define O_APPEND 02000 +#define O_NONBLOCK 04000 /* not fcntl */ +#define O_NDELAY O_NONBLOCK + +/* Defines for fcntl-commands. Note that currently + * locking isn't supported, and other things aren't really + * tested. + */ +#define F_DUPFD 0 /* dup */ +#define F_GETFD 1 /* get f_flags */ +#define F_SETFD 2 /* set f_flags */ +#define F_GETFL 3 /* more flags (cloexec) */ +#define F_SETFL 4 +#define F_GETLK 5 /* not implemented */ +#define F_SETLK 6 +#define F_SETLKW 7 + +/* for F_[GET|SET]FL */ +#define FD_CLOEXEC 1 /* actually anything with low bit set goes */ + +/* Ok, these are locking features, and aren't implemented at any + * level. POSIX wants them. + */ +#define F_RDLCK 0 +#define F_WRLCK 1 +#define F_UNLCK 2 + +/* Once again - not implemented, but ... */ +struct flock { + short l_type; + short l_whence; + off_t l_start; + off_t l_len; + pid_t l_pid; +}; + +extern int creat(const char * filename,mode_t mode); +extern int fcntl(int fildes,int cmd, ...); +extern int open(const char * filename, int flags, ...); + +#endif diff --git a/linux-0.11-lab/0/linux/include/linux/config.h b/linux-0.11-lab/0/linux/include/linux/config.h new file mode 100644 index 0000000..c979fb3 --- /dev/null +++ b/linux-0.11-lab/0/linux/include/linux/config.h @@ -0,0 +1,48 @@ +#ifndef _CONFIG_H +#define _CONFIG_H + +/* + * The root-device is no longer hard-coded. You can change the default + * root-device by changing the line ROOT_DEV = XXX in boot/bootsect.s + */ + +/* + * define your keyboard here - + * KBD_FINNISH for Finnish keyboards + * KBD_US for US-type + * KBD_GR for German keyboards + * KBD_FR for Frech keyboard + */ +#define KBD_US +/*#define KBD_GR */ +/*#define KBD_FR */ +/*#define KBD_FINNISH */ + +/* + * Normally, Linux can get the drive parameters from the BIOS at + * startup, but if this for some unfathomable reason fails, you'd + * be left stranded. For this case, you can define HD_TYPE, which + * contains all necessary info on your harddisk. + * + * The HD_TYPE macro should look like this: + * + * #define HD_TYPE { head, sect, cyl, wpcom, lzone, ctl} + * + * In case of two harddisks, the info should be sepatated by + * commas: + * + * #define HD_TYPE { h,s,c,wpcom,lz,ctl },{ h,s,c,wpcom,lz,ctl } + */ +/* + This is an example, two drives, first is type 2, second is type 3: + +#define HD_TYPE { 4,17,615,300,615,8 }, { 6,17,615,300,615,0 } + + NOTE: ctl is 0 for all drives with heads<=8, and ctl=8 for drives + with more than 8 heads. + + If you want the BIOS to tell what kind of drive you have, just + leave HD_TYPE undefined. This is the normal thing to do. +*/ + +#endif diff --git a/linux-0.11-lab/0/linux/include/linux/fdreg.h b/linux-0.11-lab/0/linux/include/linux/fdreg.h new file mode 100644 index 0000000..01355af --- /dev/null +++ b/linux-0.11-lab/0/linux/include/linux/fdreg.h @@ -0,0 +1,71 @@ +/* + * This file contains some defines for the floppy disk controller. + * Various sources. Mostly "IBM Microcomputers: A Programmers + * Handbook", Sanches and Canton. + */ +#ifndef _FDREG_H +#define _FDREG_H + +extern int ticks_to_floppy_on(unsigned int nr); +extern void floppy_on(unsigned int nr); +extern void floppy_off(unsigned int nr); +extern void floppy_select(unsigned int nr); +extern void floppy_deselect(unsigned int nr); + +/* Fd controller regs. S&C, about page 340 */ +#define FD_STATUS 0x3f4 +#define FD_DATA 0x3f5 +#define FD_DOR 0x3f2 /* Digital Output Register */ +#define FD_DIR 0x3f7 /* Digital Input Register (read) */ +#define FD_DCR 0x3f7 /* Diskette Control Register (write)*/ + +/* Bits of main status register */ +#define STATUS_BUSYMASK 0x0F /* drive busy mask */ +#define STATUS_BUSY 0x10 /* FDC busy */ +#define STATUS_DMA 0x20 /* 0- DMA mode */ +#define STATUS_DIR 0x40 /* 0- cpu->fdc */ +#define STATUS_READY 0x80 /* Data reg ready */ + +/* Bits of FD_ST0 */ +#define ST0_DS 0x03 /* drive select mask */ +#define ST0_HA 0x04 /* Head (Address) */ +#define ST0_NR 0x08 /* Not Ready */ +#define ST0_ECE 0x10 /* Equipment chech error */ +#define ST0_SE 0x20 /* Seek end */ +#define ST0_INTR 0xC0 /* Interrupt code mask */ + +/* Bits of FD_ST1 */ +#define ST1_MAM 0x01 /* Missing Address Mark */ +#define ST1_WP 0x02 /* Write Protect */ +#define ST1_ND 0x04 /* No Data - unreadable */ +#define ST1_OR 0x10 /* OverRun */ +#define ST1_CRC 0x20 /* CRC error in data or addr */ +#define ST1_EOC 0x80 /* End Of Cylinder */ + +/* Bits of FD_ST2 */ +#define ST2_MAM 0x01 /* Missing Addess Mark (again) */ +#define ST2_BC 0x02 /* Bad Cylinder */ +#define ST2_SNS 0x04 /* Scan Not Satisfied */ +#define ST2_SEH 0x08 /* Scan Equal Hit */ +#define ST2_WC 0x10 /* Wrong Cylinder */ +#define ST2_CRC 0x20 /* CRC error in data field */ +#define ST2_CM 0x40 /* Control Mark = deleted */ + +/* Bits of FD_ST3 */ +#define ST3_HA 0x04 /* Head (Address) */ +#define ST3_TZ 0x10 /* Track Zero signal (1=track 0) */ +#define ST3_WP 0x40 /* Write Protect */ + +/* Values for FD_COMMAND */ +#define FD_RECALIBRATE 0x07 /* move to track 0 */ +#define FD_SEEK 0x0F /* seek track */ +#define FD_READ 0xE6 /* read with MT, MFM, SKip deleted */ +#define FD_WRITE 0xC5 /* write with MT, MFM */ +#define FD_SENSEI 0x08 /* Sense Interrupt Status */ +#define FD_SPECIFY 0x03 /* specify HUT etc */ + +/* DMA commands */ +#define DMA_READ 0x46 +#define DMA_WRITE 0x4A + +#endif diff --git a/linux-0.11-lab/0/linux/include/linux/fs.h b/linux-0.11-lab/0/linux/include/linux/fs.h new file mode 100644 index 0000000..7a90b10 --- /dev/null +++ b/linux-0.11-lab/0/linux/include/linux/fs.h @@ -0,0 +1,202 @@ +/* + * This file has definitions for some important file table + * structures etc. + */ + +#ifndef _FS_H +#define _FS_H + +#include + +/* devices are as follows: (same as minix, so we can use the minix + * file system. These are major numbers.) + * + * 0 - unused (nodev) + * 1 - /dev/mem + * 2 - /dev/fd + * 3 - /dev/hd + * 4 - /dev/ttyx + * 5 - /dev/tty + * 6 - /dev/lp + * 7 - unnamed pipes + */ + +#define IS_SEEKABLE(x) ((x)>=1 && (x)<=3) + +#define READ 0 +#define WRITE 1 +#define READA 2 /* read-ahead - don't pause */ +#define WRITEA 3 /* "write-ahead" - silly, but somewhat useful */ + +void buffer_init(long buffer_end); + +#define MAJOR(a) (((unsigned)(a))>>8) +#define MINOR(a) ((a)&0xff) + +#define NAME_LEN 14 +#define ROOT_INO 1 + +#define I_MAP_SLOTS 8 +#define Z_MAP_SLOTS 8 +#define SUPER_MAGIC 0x137F + +#define NR_OPEN 20 +#define NR_INODE 32 +#define NR_FILE 64 +#define NR_SUPER 8 +#define NR_HASH 307 +#define NR_BUFFERS nr_buffers +#define BLOCK_SIZE 1024 +#define BLOCK_SIZE_BITS 10 +#ifndef NULL +#define NULL ((void *) 0) +#endif + +#define INODES_PER_BLOCK ((BLOCK_SIZE)/(sizeof (struct d_inode))) +#define DIR_ENTRIES_PER_BLOCK ((BLOCK_SIZE)/(sizeof (struct dir_entry))) + +#define PIPE_HEAD(inode) ((inode).i_zone[0]) +#define PIPE_TAIL(inode) ((inode).i_zone[1]) +#define PIPE_SIZE(inode) ((PIPE_HEAD(inode)-PIPE_TAIL(inode))&(PAGE_SIZE-1)) +#define PIPE_EMPTY(inode) (PIPE_HEAD(inode)==PIPE_TAIL(inode)) +#define PIPE_FULL(inode) (PIPE_SIZE(inode)==(PAGE_SIZE-1)) +#define INC_PIPE(head) \ +__asm__("incl %0\n\tandl $4095,%0"::"m" (head)) + +typedef char buffer_block[BLOCK_SIZE]; + +struct buffer_head { + char * b_data; /* pointer to data block (1024 bytes) */ + unsigned long b_blocknr; /* block number */ + unsigned short b_dev; /* device (0 = free) */ + unsigned char b_uptodate; + unsigned char b_dirt; /* 0-clean,1-dirty */ + unsigned char b_count; /* users using this block */ + unsigned char b_lock; /* 0 - ok, 1 -locked */ + struct task_struct * b_wait; + struct buffer_head * b_prev; + struct buffer_head * b_next; + struct buffer_head * b_prev_free; + struct buffer_head * b_next_free; +}; + +struct d_inode { + unsigned short i_mode; + unsigned short i_uid; + unsigned long i_size; + unsigned long i_time; + unsigned char i_gid; + unsigned char i_nlinks; + unsigned short i_zone[9]; +}; + +struct m_inode { + unsigned short i_mode; + unsigned short i_uid; + unsigned long i_size; + unsigned long i_mtime; + unsigned char i_gid; + unsigned char i_nlinks; + unsigned short i_zone[9]; +/* these are in memory also */ + struct task_struct * i_wait; + unsigned long i_atime; + unsigned long i_ctime; + unsigned short i_dev; + unsigned short i_num; + unsigned short i_count; + unsigned char i_lock; + unsigned char i_dirt; + unsigned char i_pipe; + unsigned char i_mount; + unsigned char i_seek; + unsigned char i_update; +}; + +struct file { + unsigned short f_mode; + unsigned short f_flags; + unsigned short f_count; + struct m_inode * f_inode; + off_t f_pos; +}; + +struct super_block { + unsigned short s_ninodes; + unsigned short s_nzones; + unsigned short s_imap_blocks; + unsigned short s_zmap_blocks; + unsigned short s_firstdatazone; + unsigned short s_log_zone_size; + unsigned long s_max_size; + unsigned short s_magic; +/* These are only in memory */ + struct buffer_head * s_imap[8]; + struct buffer_head * s_zmap[8]; + unsigned short s_dev; + struct m_inode * s_isup; + struct m_inode * s_imount; + unsigned long s_time; + struct task_struct * s_wait; + unsigned char s_lock; + unsigned char s_rd_only; + unsigned char s_dirt; +}; + +struct d_super_block { + unsigned short s_ninodes; + unsigned short s_nzones; + unsigned short s_imap_blocks; + unsigned short s_zmap_blocks; + unsigned short s_firstdatazone; + unsigned short s_log_zone_size; + unsigned long s_max_size; + unsigned short s_magic; +}; + +struct dir_entry { + unsigned short inode; + char name[NAME_LEN]; +}; + +extern struct m_inode inode_table[NR_INODE]; +extern struct file file_table[NR_FILE]; +extern struct super_block super_block[NR_SUPER]; +extern struct buffer_head * start_buffer; +extern int nr_buffers; + +extern void check_disk_change(int dev); +extern int floppy_change(unsigned int nr); +extern int ticks_to_floppy_on(unsigned int dev); +extern void floppy_on(unsigned int dev); +extern void floppy_off(unsigned int dev); +extern void truncate(struct m_inode * inode); +extern void sync_inodes(void); +extern void wait_on(struct m_inode * inode); +extern int bmap(struct m_inode * inode,int block); +extern int create_block(struct m_inode * inode,int block); +extern struct m_inode * namei(const char * pathname); +extern int open_namei(const char * pathname, int flag, int mode, + struct m_inode ** res_inode); +extern void iput(struct m_inode * inode); +extern struct m_inode * iget(int dev,int nr); +extern struct m_inode * get_empty_inode(void); +extern struct m_inode * get_pipe_inode(void); +extern struct buffer_head * get_hash_table(int dev, int block); +extern struct buffer_head * getblk(int dev, int block); +extern void ll_rw_block(int rw, struct buffer_head * bh); +extern void brelse(struct buffer_head * buf); +extern struct buffer_head * bread(int dev,int block); +extern void bread_page(unsigned long addr,int dev,int b[4]); +extern struct buffer_head * breada(int dev,int block,...); +extern int new_block(int dev); +extern void free_block(int dev, int block); +extern struct m_inode * new_inode(int dev); +extern void free_inode(struct m_inode * inode); +extern int sync_dev(int dev); +extern struct super_block * get_super(int dev); +extern int ROOT_DEV; + +extern void mount_root(void); + +#endif diff --git a/linux-0.11-lab/0/linux/include/linux/hdreg.h b/linux-0.11-lab/0/linux/include/linux/hdreg.h new file mode 100644 index 0000000..e6c593f --- /dev/null +++ b/linux-0.11-lab/0/linux/include/linux/hdreg.h @@ -0,0 +1,65 @@ +/* + * This file contains some defines for the AT-hd-controller. + * Various sources. Check out some definitions (see comments with + * a ques). + */ +#ifndef _HDREG_H +#define _HDREG_H + +/* Hd controller regs. Ref: IBM AT Bios-listing */ +#define HD_DATA 0x1f0 /* _CTL when writing */ +#define HD_ERROR 0x1f1 /* see err-bits */ +#define HD_NSECTOR 0x1f2 /* nr of sectors to read/write */ +#define HD_SECTOR 0x1f3 /* starting sector */ +#define HD_LCYL 0x1f4 /* starting cylinder */ +#define HD_HCYL 0x1f5 /* high byte of starting cyl */ +#define HD_CURRENT 0x1f6 /* 101dhhhh , d=drive, hhhh=head */ +#define HD_STATUS 0x1f7 /* see status-bits */ +#define HD_PRECOMP HD_ERROR /* same io address, read=error, write=precomp */ +#define HD_COMMAND HD_STATUS /* same io address, read=status, write=cmd */ + +#define HD_CMD 0x3f6 + +/* Bits of HD_STATUS */ +#define ERR_STAT 0x01 +#define INDEX_STAT 0x02 +#define ECC_STAT 0x04 /* Corrected error */ +#define DRQ_STAT 0x08 +#define SEEK_STAT 0x10 +#define WRERR_STAT 0x20 +#define READY_STAT 0x40 +#define BUSY_STAT 0x80 + +/* Values for HD_COMMAND */ +#define WIN_RESTORE 0x10 +#define WIN_READ 0x20 +#define WIN_WRITE 0x30 +#define WIN_VERIFY 0x40 +#define WIN_FORMAT 0x50 +#define WIN_INIT 0x60 +#define WIN_SEEK 0x70 +#define WIN_DIAGNOSE 0x90 +#define WIN_SPECIFY 0x91 + +/* Bits for HD_ERROR */ +#define MARK_ERR 0x01 /* Bad address mark ? */ +#define TRK0_ERR 0x02 /* couldn't find track 0 */ +#define ABRT_ERR 0x04 /* ? */ +#define ID_ERR 0x10 /* ? */ +#define ECC_ERR 0x40 /* ? */ +#define BBD_ERR 0x80 /* ? */ + +struct partition { + unsigned char boot_ind; /* 0x80 - active (unused) */ + unsigned char head; /* ? */ + unsigned char sector; /* ? */ + unsigned char cyl; /* ? */ + unsigned char sys_ind; /* ? */ + unsigned char end_head; /* ? */ + unsigned char end_sector; /* ? */ + unsigned char end_cyl; /* ? */ + unsigned int start_sect; /* starting sector counting from 0 */ + unsigned int nr_sects; /* nr of sectors in partition */ +}; + +#endif diff --git a/linux-0.11-lab/0/linux/include/linux/head.h b/linux-0.11-lab/0/linux/include/linux/head.h new file mode 100644 index 0000000..db3dda2 --- /dev/null +++ b/linux-0.11-lab/0/linux/include/linux/head.h @@ -0,0 +1,20 @@ +#ifndef _HEAD_H +#define _HEAD_H + +typedef struct desc_struct { + unsigned long a,b; +} desc_table[256]; + +extern unsigned long pg_dir[1024]; +extern desc_table idt,gdt; + +#define GDT_NUL 0 +#define GDT_CODE 1 +#define GDT_DATA 2 +#define GDT_TMP 3 + +#define LDT_NUL 0 +#define LDT_CODE 1 +#define LDT_DATA 2 + +#endif diff --git a/linux-0.11-lab/0/linux/include/linux/kernel.h b/linux-0.11-lab/0/linux/include/linux/kernel.h new file mode 100644 index 0000000..cb40dd5 --- /dev/null +++ b/linux-0.11-lab/0/linux/include/linux/kernel.h @@ -0,0 +1,22 @@ +/* + * 'kernel.h' contains some often-used function prototypes etc + */ +void verify_area(void * addr,int count); +volatile void panic(const char * str); +int printf(const char * fmt, ...); +int printk(const char * fmt, ...); +int tty_write(unsigned ch,char * buf,int count); +void * malloc(unsigned int size); +void free_s(void * obj, int size); + +#define free(x) free_s((x), 0) + +/* + * This is defined as a macro, but at some point this might become a + * real subroutine that sets a flag if it returns true (to do + * BSD-style accounting where the process is flagged if it uses root + * privs). The implication of this is that you should do normal + * permissions checks first, and check suser() last. + */ +#define suser() (current->euid == 0) + diff --git a/linux-0.11-lab/0/linux/include/linux/mm.h b/linux-0.11-lab/0/linux/include/linux/mm.h new file mode 100644 index 0000000..5a160f3 --- /dev/null +++ b/linux-0.11-lab/0/linux/include/linux/mm.h @@ -0,0 +1,10 @@ +#ifndef _MM_H +#define _MM_H + +#define PAGE_SIZE 4096 + +extern unsigned long get_free_page(void); +extern unsigned long put_page(unsigned long page,unsigned long address); +extern void free_page(unsigned long addr); + +#endif diff --git a/linux-0.11-lab/0/linux/include/linux/sched.h b/linux-0.11-lab/0/linux/include/linux/sched.h new file mode 100644 index 0000000..772646a --- /dev/null +++ b/linux-0.11-lab/0/linux/include/linux/sched.h @@ -0,0 +1,239 @@ +#ifndef _SCHED_H +#define _SCHED_H + +#define NR_TASKS 64 +#define HZ 100 + +#define FIRST_TASK task[0] +#define LAST_TASK task[NR_TASKS-1] + +#include +#include +#include +#include + +#if (NR_OPEN > 32) +#error "Currently the close-on-exec-flags are in one word, max 32 files/proc" +#endif + +#define TASK_RUNNING 0 +#define TASK_INTERRUPTIBLE 1 +#define TASK_UNINTERRUPTIBLE 2 +#define TASK_ZOMBIE 3 +#define TASK_STOPPED 4 + +#ifndef NULL +#define NULL ((void *) 0) +#endif + +extern int copy_page_tables(unsigned long from, unsigned long to, long size); +extern int free_page_tables(unsigned long from, unsigned long size); + +extern void sched_init(void); +extern void schedule(void); +extern void trap_init(void); +extern void panic(const char * str); +extern int tty_write(unsigned minor,char * buf,int count); + +typedef int (*fn_ptr)(); + +struct i387_struct { + long cwd; + long swd; + long twd; + long fip; + long fcs; + long foo; + long fos; + long st_space[20]; /* 8*10 bytes for each FP-reg = 80 bytes */ +}; + +struct tss_struct { + long back_link; /* 16 high bits zero */ + long esp0; + long ss0; /* 16 high bits zero */ + long esp1; + long ss1; /* 16 high bits zero */ + long esp2; + long ss2; /* 16 high bits zero */ + long cr3; + long eip; + long eflags; + long eax,ecx,edx,ebx; + long esp; + long ebp; + long esi; + long edi; + long es; /* 16 high bits zero */ + long cs; /* 16 high bits zero */ + long ss; /* 16 high bits zero */ + long ds; /* 16 high bits zero */ + long fs; /* 16 high bits zero */ + long gs; /* 16 high bits zero */ + long ldt; /* 16 high bits zero */ + long trace_bitmap; /* bits: trace 0, bitmap 16-31 */ + struct i387_struct i387; +}; + +struct task_struct { +/* these are hardcoded - don't touch */ + long state; /* -1 unrunnable, 0 runnable, >0 stopped */ + long counter; + long priority; + long signal; + struct sigaction sigaction[32]; + long blocked; /* bitmap of masked signals */ +/* various fields */ + int exit_code; + unsigned long start_code,end_code,end_data,brk,start_stack; + long pid,father,pgrp,session,leader; + unsigned short uid,euid,suid; + unsigned short gid,egid,sgid; + long alarm; + long utime,stime,cutime,cstime,start_time; + unsigned short used_math; +/* file system info */ + int tty; /* -1 if no tty, so it must be signed */ + unsigned short umask; + struct m_inode * pwd; + struct m_inode * root; + struct m_inode * executable; + unsigned long close_on_exec; + struct file * filp[NR_OPEN]; +/* ldt for this task 0 - zero 1 - cs 2 - ds&ss */ + struct desc_struct ldt[3]; +/* tss for this task */ + struct tss_struct tss; +}; + +/* + * INIT_TASK is used to set up the first task table, touch at + * your own risk!. Base=0, limit=0x9ffff (=640kB) + */ +#define INIT_TASK \ +/* state etc */ { 0,15,15, \ +/* signals */ 0,{{},},0, \ +/* ec,brk... */ 0,0,0,0,0,0, \ +/* pid etc.. */ 0,-1,0,0,0, \ +/* uid etc */ 0,0,0,0,0,0, \ +/* alarm */ 0,0,0,0,0,0, \ +/* math */ 0, \ +/* fs info */ -1,0022,NULL,NULL,NULL,0, \ +/* filp */ {NULL,}, \ + { \ + {0,0}, \ +/* ldt */ {0x9f,0xc0fa00}, \ + {0x9f,0xc0f200}, \ + }, \ +/*tss*/ {0,PAGE_SIZE+(long)&init_task,0x10,0,0,0,0,(long)&pg_dir,\ + 0,0,0,0,0,0,0,0, \ + 0,0,0x17,0x17,0x17,0x17,0x17,0x17, \ + _LDT(0),0x80000000, \ + {} \ + }, \ +} + +extern struct task_struct *task[NR_TASKS]; +extern struct task_struct *last_task_used_math; +extern struct task_struct *current; +extern long volatile jiffies; +extern long startup_time; + +#define CURRENT_TIME (startup_time+jiffies/HZ) + +extern void add_timer(long jiffies, void (*fn)(void)); +extern void sleep_on(struct task_struct ** p); +extern void interruptible_sleep_on(struct task_struct ** p); +extern void wake_up(struct task_struct ** p); + +/* + * Entry into gdt where to find first TSS. 0-nul, 1-cs, 2-ds, 3-syscall + * 4-TSS0, 5-LDT0, 6-TSS1 etc ... + */ +#define FIRST_TSS_ENTRY 4 +#define FIRST_LDT_ENTRY (FIRST_TSS_ENTRY+1) +#define _TSS(n) ((((unsigned long) n)<<4)+(FIRST_TSS_ENTRY<<3)) +#define _LDT(n) ((((unsigned long) n)<<4)+(FIRST_LDT_ENTRY<<3)) +#define ltr(n) __asm__("ltr %%ax"::"a" (_TSS(n))) +#define lldt(n) __asm__("lldt %%ax"::"a" (_LDT(n))) +#define str(n) \ +__asm__("str %%ax\n\t" \ + "subl %2,%%eax\n\t" \ + "shrl $4,%%eax" \ + :"=a" (n) \ + :"a" (0),"i" (FIRST_TSS_ENTRY<<3)) +/* + * switch_to(n) should switch tasks to task nr n, first + * checking that n isn't the current task, in which case it does nothing. + * This also clears the TS-flag if the task we switched to has used + * tha math co-processor latest. + */ +#define switch_to(n) {\ +struct {long a,b;} __tmp; \ +__asm__("cmpl %%ecx,current\n\t" \ + "je 1f\n\t" \ + "movw %%dx,%1\n\t" \ + "xchgl %%ecx,current\n\t" \ + "ljmp *%0\n\t" \ + "cmpl %%ecx,last_task_used_math\n\t" \ + "jne 1f\n\t" \ + "clts\n" \ + "1:" \ + ::"m" (*&__tmp.a),"m" (*&__tmp.b), \ + "d" (_TSS(n)),"c" ((long) task[n])); \ +} + +#define PAGE_ALIGN(n) (((n)+0xfff)&0xfffff000) + +#define _set_base(addr,base) \ +__asm__ ("push %%edx\n\t" \ + "movw %%dx,%0\n\t" \ + "rorl $16,%%edx\n\t" \ + "movb %%dl,%1\n\t" \ + "movb %%dh,%2\n\t" \ + "pop %%edx" \ + ::"m" (*((addr)+2)), \ + "m" (*((addr)+4)), \ + "m" (*((addr)+7)), \ + "d" (base) \ + ) + +#define _set_limit(addr,limit) \ +__asm__ ("push %%edx\n\t" \ + "movw %%dx,%0\n\t" \ + "rorl $16,%%edx\n\t" \ + "movb %1,%%dh\n\t" \ + "andb $0xf0,%%dh\n\t" \ + "orb %%dh,%%dl\n\t" \ + "movb %%dl,%1\n\t" \ + "pop %%edx" \ + ::"m" (*(addr)), \ + "m" (*((addr)+6)), \ + "d" (limit) \ + ) + +#define set_base(ldt,base) _set_base( ((char *)&(ldt)) , (base) ) +#define set_limit(ldt,limit) _set_limit( ((char *)&(ldt)) , (limit-1)>>12 ) + +static inline unsigned long _get_base(char * addr) +{ + unsigned long __base; + __asm__("movb %3,%%dh\n\t" + "movb %2,%%dl\n\t" + "shll $16,%%edx\n\t" + "movw %1,%%dx" + :"=&d" (__base) + :"m" (*((addr)+2)), + "m" (*((addr)+4)), + "m" (*((addr)+7))); + return __base; +} + +#define get_base(ldt) _get_base( ((char *)&(ldt)) ) + +#define get_limit(segment) ({ \ +unsigned long __limit; \ +__asm__("lsll %1,%0\n\tincl %0":"=r" (__limit):"r" (segment)); \ +__limit;}) + +#endif diff --git a/linux-0.11-lab/0/linux/include/linux/sys.h b/linux-0.11-lab/0/linux/include/linux/sys.h new file mode 100644 index 0000000..7ff5fa7 --- /dev/null +++ b/linux-0.11-lab/0/linux/include/linux/sys.h @@ -0,0 +1,119 @@ +/* + * Why isn't this a .c file? Enquiring minds.... + */ + +extern int sys_setup(); +extern int sys_exit(); +extern int sys_fork(); +extern int sys_read(); +extern int sys_write(); +extern int sys_open(); +extern int sys_close(); +extern int sys_waitpid(); +extern int sys_creat(); +extern int sys_link(); +extern int sys_unlink(); +extern int sys_execve(); +extern int sys_chdir(); +extern int sys_time(); +extern int sys_mknod(); +extern int sys_chmod(); +extern int sys_chown(); +extern int sys_break(); +extern int sys_stat(); +extern int sys_lseek(); +extern int sys_getpid(); +extern int sys_mount(); +extern int sys_umount(); +extern int sys_setuid(); +extern int sys_getuid(); +extern int sys_stime(); +extern int sys_ptrace(); +extern int sys_alarm(); +extern int sys_fstat(); +extern int sys_pause(); +extern int sys_utime(); +extern int sys_stty(); +extern int sys_gtty(); +extern int sys_access(); +extern int sys_nice(); +extern int sys_ftime(); +extern int sys_sync(); +extern int sys_kill(); +extern int sys_rename(); +extern int sys_mkdir(); +extern int sys_rmdir(); +extern int sys_dup(); +extern int sys_pipe(); +extern int sys_times(); +extern int sys_prof(); +extern int sys_brk(); +extern int sys_setgid(); +extern int sys_getgid(); +extern int sys_signal(); +extern int sys_geteuid(); +extern int sys_getegid(); +extern int sys_acct(); +extern int sys_phys(); +extern int sys_lock(); +extern int sys_ioctl(); +extern int sys_fcntl(); +extern int sys_mpx(); +extern int sys_setpgid(); +extern int sys_ulimit(); +extern int sys_uname(); +extern int sys_umask(); +extern int sys_chroot(); +extern int sys_ustat(); +extern int sys_dup2(); +extern int sys_getppid(); +extern int sys_getpgrp(); +extern int sys_setsid(); +extern int sys_sigaction(); +extern int sys_sgetmask(); +extern int sys_ssetmask(); +extern int sys_setreuid(); +extern int sys_setregid(); +extern int sys_sigpending(); +extern int sys_sigsuspend(); +extern int sys_sethostname(); +extern int sys_setrlimit(); +extern int sys_getrlimit(); +extern int sys_getrusage(); +extern int sys_gettimeofday(); +extern int sys_settimeofday(); +extern int sys_getgroups(); +extern int sys_setgroups(); +extern int sys_select(); +extern int sys_symlink(); +extern int sys_lstat(); +extern int sys_readlink(); +extern int sys_uselib(); +extern int sys_execve2(); +extern int sys_getdents(); +extern int sys_pipe2(); +extern int sys_sleep(); +extern int sys_getcwd(); +extern int sys_mmap(); +extern int sys_munmap(); +extern int sys_clone(); +fn_ptr sys_call_table[] = { sys_setup, sys_exit, sys_fork, sys_read, +sys_write, sys_open, sys_close, sys_waitpid, sys_creat, sys_link, +sys_unlink, sys_execve, sys_chdir, sys_time, sys_mknod, sys_chmod, +sys_chown, sys_break, sys_stat, sys_lseek, sys_getpid, sys_mount, +sys_umount, sys_setuid, sys_getuid, sys_stime, sys_ptrace, sys_alarm, +sys_fstat, sys_pause, sys_utime, sys_stty, sys_gtty, sys_access, +sys_nice, sys_ftime, sys_sync, sys_kill, sys_rename, sys_mkdir, +sys_rmdir, sys_dup, sys_pipe, sys_times, sys_prof, sys_brk, sys_setgid, +sys_getgid, sys_signal, sys_geteuid, sys_getegid, sys_acct, sys_phys, +sys_lock, sys_ioctl, sys_fcntl, sys_mpx, sys_setpgid, sys_ulimit, +sys_uname, sys_umask, sys_chroot, sys_ustat, sys_dup2, sys_getppid, +sys_getpgrp, sys_setsid, sys_sigaction, sys_sgetmask, sys_ssetmask, +sys_setreuid,sys_setregid, sys_sigsuspend, sys_sigpending, sys_sethostname, +sys_setrlimit, sys_getrlimit, sys_getrusage, sys_gettimeofday, +sys_settimeofday, sys_getgroups, sys_setgroups, sys_select, sys_symlink, +sys_lstat, sys_readlink, sys_uselib , sys_execve2 ,sys_getdents ,sys_pipe2 , + sys_sleep , sys_getcwd , sys_mmap ,sys_munmap,sys_clone}; + +/* So we don't have to do any more manual updating.... */ +int NR_syscalls = sizeof(sys_call_table)/sizeof(fn_ptr); diff --git a/linux-0.11-lab/0/linux/include/linux/tty.h b/linux-0.11-lab/0/linux/include/linux/tty.h new file mode 100644 index 0000000..ad846b3 --- /dev/null +++ b/linux-0.11-lab/0/linux/include/linux/tty.h @@ -0,0 +1,77 @@ +/* + * 'tty.h' defines some structures used by tty_io.c and some defines. + * + * NOTE! Don't touch this without checking that nothing in rs_io.s or + * con_io.s breaks. Some constants are hardwired into the system (mainly + * offsets into 'tty_queue' + */ + +#ifndef _TTY_H +#define _TTY_H + +#include + +#define TTY_BUF_SIZE 1024 + +struct tty_queue { + unsigned long data; + unsigned long head; + unsigned long tail; + struct task_struct * proc_list; + char buf[TTY_BUF_SIZE]; +}; + +#define INC(a) ((a) = ((a)+1) & (TTY_BUF_SIZE-1)) +#define DEC(a) ((a) = ((a)-1) & (TTY_BUF_SIZE-1)) +#define EMPTY(a) ((a).head == (a).tail) +#define LEFT(a) (((a).tail-(a).head-1)&(TTY_BUF_SIZE-1)) +#define LAST(a) ((a).buf[(TTY_BUF_SIZE-1)&((a).head-1)]) +#define FULL(a) (!LEFT(a)) +#define CHARS(a) (((a).head-(a).tail)&(TTY_BUF_SIZE-1)) +#define GETCH(queue,c) \ +(void)({c=(queue).buf[(queue).tail];INC((queue).tail);}) +#define PUTCH(c,queue) \ +(void)({(queue).buf[(queue).head]=(c);INC((queue).head);}) + +#define INTR_CHAR(tty) ((tty)->termios.c_cc[VINTR]) +#define QUIT_CHAR(tty) ((tty)->termios.c_cc[VQUIT]) +#define ERASE_CHAR(tty) ((tty)->termios.c_cc[VERASE]) +#define KILL_CHAR(tty) ((tty)->termios.c_cc[VKILL]) +#define EOF_CHAR(tty) ((tty)->termios.c_cc[VEOF]) +#define START_CHAR(tty) ((tty)->termios.c_cc[VSTART]) +#define STOP_CHAR(tty) ((tty)->termios.c_cc[VSTOP]) +#define SUSPEND_CHAR(tty) ((tty)->termios.c_cc[VSUSP]) + +struct tty_struct { + struct termios termios; + int pgrp; + int stopped; + void (*write)(struct tty_struct * tty); + struct tty_queue read_q; + struct tty_queue write_q; + struct tty_queue secondary; + }; + +extern struct tty_struct tty_table[]; + +/* intr=^C quit=^| erase=del kill=^U + eof=^D vtime=\0 vmin=\1 sxtc=\0 + start=^Q stop=^S susp=^Z eol=\0 + reprint=^R discard=^U werase=^W lnext=^V + eol2=\0 +*/ +#define INIT_C_CC "\003\034\177\025\004\0\1\0\021\023\032\0\022\017\027\026\0" + +void rs_init(void); +void con_init(void); +void tty_init(void); + +int tty_read(unsigned c, char * buf, int n); +int tty_write(unsigned c, char * buf, int n); + +void rs_write(struct tty_struct * tty); +void con_write(struct tty_struct * tty); + +void copy_to_cooked(struct tty_struct * tty); + +#endif diff --git a/linux-0.11-lab/0/linux/include/new.h b/linux-0.11-lab/0/linux/include/new.h new file mode 100644 index 0000000..6d4902c --- /dev/null +++ b/linux-0.11-lab/0/linux/include/new.h @@ -0,0 +1,30 @@ +#ifndef _NEW_H +#define _NEW_H + +#include + +struct linux_dirent { + long d_ino; + off_t d_off; + unsigned short d_reclen; + char * d_name; +}; + +/* Return value of `mmap' in case of an error. */ +#define MAP_FAILED ((void *) -1) + +#define PROT_READ 0x1 /* page can be read */ +#define PROT_WRITE 0x2 /* page can be written */ +#define PROT_EXEC 0x4 /* page can be executed */ +#define PROT_SEM 0x8 /* page may be used for atomic ops */ +#define PROT_NONE 0x0 /* page can not be accessed */ + +/* compatibility flags */ +#define MAP_FILE 0 + +#define MAP_SHARED 0x01 /* Share changes */ +#define MAP_PRIVATE 0x02 /* Changes are private */ + +#define CLONE_VM 0x00000100 /* set if VM shared between processes */ + +#endif diff --git a/linux-0.11-lab/0/linux/include/signal.h b/linux-0.11-lab/0/linux/include/signal.h new file mode 100644 index 0000000..0eea9a3 --- /dev/null +++ b/linux-0.11-lab/0/linux/include/signal.h @@ -0,0 +1,68 @@ +#ifndef _SIGNAL_H +#define _SIGNAL_H + +#include + +typedef int sig_atomic_t; +typedef unsigned int sigset_t; /* 32 bits */ + +#define _NSIG 32 +#define NSIG _NSIG + +#define SIGHUP 1 +#define SIGINT 2 +#define SIGQUIT 3 +#define SIGILL 4 +#define SIGTRAP 5 +#define SIGABRT 6 +#define SIGIOT 6 +#define SIGUNUSED 7 +#define SIGFPE 8 +#define SIGKILL 9 +#define SIGUSR1 10 +#define SIGSEGV 11 +#define SIGUSR2 12 +#define SIGPIPE 13 +#define SIGALRM 14 +#define SIGTERM 15 +#define SIGSTKFLT 16 +#define SIGCHLD 17 +#define SIGCONT 18 +#define SIGSTOP 19 +#define SIGTSTP 20 +#define SIGTTIN 21 +#define SIGTTOU 22 + +/* Ok, I haven't implemented sigactions, but trying to keep headers POSIX */ +#define SA_NOCLDSTOP 1 +#define SA_NOMASK 0x40000000 +#define SA_ONESHOT 0x80000000 + +#define SIG_BLOCK 0 /* for blocking signals */ +#define SIG_UNBLOCK 1 /* for unblocking signals */ +#define SIG_SETMASK 2 /* for setting the signal mask */ + +#define SIG_DFL ((void (*)(int))0) /* default signal handling */ +#define SIG_IGN ((void (*)(int))1) /* ignore signal */ + +struct sigaction { + void (*sa_handler)(int); + sigset_t sa_mask; + int sa_flags; + void (*sa_restorer)(void); +}; + +void (*signal(int _sig, void (*_func)(int)))(int); +int raise(int sig); +int kill(pid_t pid, int sig); +int sigaddset(sigset_t *mask, int signo); +int sigdelset(sigset_t *mask, int signo); +int sigemptyset(sigset_t *mask); +int sigfillset(sigset_t *mask); +int sigismember(sigset_t *mask, int signo); /* 1 - is, 0 - not, -1 error */ +int sigpending(sigset_t *set); +int sigprocmask(int how, sigset_t *set, sigset_t *oldset); +int sigsuspend(sigset_t *sigmask); +int sigaction(int sig, struct sigaction *act, struct sigaction *oldact); + +#endif /* _SIGNAL_H */ diff --git a/linux-0.11-lab/0/linux/include/stdarg.h b/linux-0.11-lab/0/linux/include/stdarg.h new file mode 100644 index 0000000..fd79ec0 --- /dev/null +++ b/linux-0.11-lab/0/linux/include/stdarg.h @@ -0,0 +1,28 @@ +#ifndef _STDARG_H +#define _STDARG_H + +typedef char *va_list; + +/* Amount of space required in an argument list for an arg of type TYPE. + TYPE may alternatively be an expression whose type is used. */ + +#define __va_rounded_size(TYPE) \ + (((sizeof (TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int)) + +#ifndef __sparc__ +#define va_start(AP, LASTARG) \ + (AP = ((char *) &(LASTARG) + __va_rounded_size (LASTARG))) +#else +#define va_start(AP, LASTARG) \ + (__builtin_saveregs (), \ + AP = ((char *) &(LASTARG) + __va_rounded_size (LASTARG))) +#endif + +void va_end (va_list); /* Defined in gnulib */ +#define va_end(AP) + +#define va_arg(AP, TYPE) \ + (AP += __va_rounded_size (TYPE), \ + *((TYPE *) (AP - __va_rounded_size (TYPE)))) + +#endif /* _STDARG_H */ diff --git a/linux-0.11-lab/0/linux/include/stddef.h b/linux-0.11-lab/0/linux/include/stddef.h new file mode 100644 index 0000000..97f72ff --- /dev/null +++ b/linux-0.11-lab/0/linux/include/stddef.h @@ -0,0 +1,19 @@ +#ifndef _STDDEF_H +#define _STDDEF_H + +#ifndef _PTRDIFF_T +#define _PTRDIFF_T +typedef long ptrdiff_t; +#endif + +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned long size_t; +#endif + +#undef NULL +#define NULL ((void *)0) + +#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) + +#endif diff --git a/linux-0.11-lab/0/linux/include/string.h b/linux-0.11-lab/0/linux/include/string.h new file mode 100644 index 0000000..48b91e5 --- /dev/null +++ b/linux-0.11-lab/0/linux/include/string.h @@ -0,0 +1,405 @@ +#ifndef _STRING_H_ +#define _STRING_H_ + +#ifndef NULL +#define NULL ((void *) 0) +#endif + +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned int size_t; +#endif + +extern char * strerror(int errno); + +/* + * This string-include defines all string functions as inline + * functions. Use gcc. It also assumes ds=es=data space, this should be + * normal. Most of the string-functions are rather heavily hand-optimized, + * see especially strtok,strstr,str[c]spn. They should work, but are not + * very easy to understand. Everything is done entirely within the register + * set, making the functions fast and clean. String instructions have been + * used through-out, making for "slightly" unclear code :-) + * + * (C) 1991 Linus Torvalds + */ + +extern inline char * strcpy(char * dest,const char *src) +{ +__asm__("cld\n" + "1:\tlodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b" + ::"S" (src),"D" (dest)); +return dest; +} + +extern inline char * strncpy(char * dest,const char *src,int count) +{ +__asm__("cld\n" + "1:\tdecl %2\n\t" + "js 2f\n\t" + "lodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n\t" + "rep\n\t" + "stosb\n" + "2:" + ::"S" (src),"D" (dest),"c" (count)); +return dest; +} + +extern inline char * strcat(char * dest,const char * src) +{ +__asm__("cld\n\t" + "repne\n\t" + "scasb\n\t" + "decl %1\n" + "1:\tlodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b" + ::"S" (src),"D" (dest),"a" (0),"c" (0xffffffff)); +return dest; +} + +extern inline char * strncat(char * dest,const char * src,int count) +{ +__asm__("cld\n\t" + "repne\n\t" + "scasb\n\t" + "decl %1\n\t" + "movl %4,%3\n" + "1:\tdecl %3\n\t" + "js 2f\n\t" + "lodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n" + "2:\txorl %2,%2\n\t" + "stosb" + ::"S" (src),"D" (dest),"a" (0),"c" (0xffffffff),"g" (count) + ); +return dest; +} + +extern inline int strcmp(const char * cs,const char * ct) +{ +register int __res __asm__("ax"); +__asm__("cld\n" + "1:\tlodsb\n\t" + "scasb\n\t" + "jne 2f\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n\t" + "xorl %%eax,%%eax\n\t" + "jmp 3f\n" + "2:\tmovl $1,%%eax\n\t" + "jl 3f\n\t" + "negl %%eax\n" + "3:" + :"=a" (__res):"D" (cs),"S" (ct)); +return __res; +} + +extern inline int strncmp(const char * cs,const char * ct,int count) +{ +register int __res __asm__("ax"); +__asm__("cld\n" + "1:\tdecl %3\n\t" + "js 2f\n\t" + "lodsb\n\t" + "scasb\n\t" + "jne 3f\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n" + "2:\txorl %%eax,%%eax\n\t" + "jmp 4f\n" + "3:\tmovl $1,%%eax\n\t" + "jl 4f\n\t" + "negl %%eax\n" + "4:" + :"=a" (__res):"D" (cs),"S" (ct),"c" (count)); +return __res; +} + +extern inline char * strchr(const char * s,char c) +{ +register char * __res __asm__("ax"); +__asm__("cld\n\t" + "movb %%al,%%ah\n" + "1:\tlodsb\n\t" + "cmpb %%ah,%%al\n\t" + "je 2f\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n\t" + "movl $1,%1\n" + "2:\tmovl %1,%0\n\t" + "decl %0" + :"=a" (__res):"S" (s),"0" (c)); +return __res; +} + +extern inline char * strrchr(const char * s,char c) +{ +register char * __res __asm__("dx"); +__asm__("cld\n\t" + "movb %%al,%%ah\n" + "1:\tlodsb\n\t" + "cmpb %%ah,%%al\n\t" + "jne 2f\n\t" + "movl %%esi,%0\n\t" + "decl %0\n" + "2:\ttestb %%al,%%al\n\t" + "jne 1b" + :"=d" (__res):"0" (0),"S" (s),"a" (c)); +return __res; +} + +extern inline int strspn(const char * cs, const char * ct) +{ +register char * __res __asm__("si"); +__asm__("cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "movl %%ecx,%%edx\n" + "1:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 2f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "je 1b\n" + "2:\tdecl %0" + :"=S" (__res):"a" (0),"c" (0xffffffff),"0" (cs),"g" (ct) + ); +return __res-cs; +} + +extern inline int strcspn(const char * cs, const char * ct) +{ +register char * __res __asm__("si"); +__asm__("cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "movl %%ecx,%%edx\n" + "1:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 2f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "jne 1b\n" + "2:\tdecl %0" + :"=S" (__res):"a" (0),"c" (0xffffffff),"0" (cs),"g" (ct) + ); +return __res-cs; +} + +extern inline char * strpbrk(const char * cs,const char * ct) +{ +register char * __res __asm__("si"); +__asm__("cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "movl %%ecx,%%edx\n" + "1:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 2f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "jne 1b\n\t" + "decl %0\n\t" + "jmp 3f\n" + "2:\txorl %0,%0\n" + "3:" + :"=S" (__res):"a" (0),"c" (0xffffffff),"0" (cs),"g" (ct) + ); +return __res; +} + +extern inline char * strstr(const char * cs,const char * ct) +{ +register char * __res __asm__("ax"); +__asm__("cld\n\t" \ + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" /* NOTE! This also sets Z if searchstring='' */ + "movl %%ecx,%%edx\n" + "1:\tmovl %4,%%edi\n\t" + "movl %%esi,%%eax\n\t" + "movl %%edx,%%ecx\n\t" + "repe\n\t" + "cmpsb\n\t" + "je 2f\n\t" /* also works for empty string, see above */ + "xchgl %%eax,%%esi\n\t" + "incl %%esi\n\t" + "cmpb $0,-1(%%eax)\n\t" + "jne 1b\n\t" + "xorl %%eax,%%eax\n\t" + "2:" + :"=a" (__res):"0" (0),"c" (0xffffffff),"S" (cs),"g" (ct) + ); +return __res; +} + +extern inline int strlen(const char * s) +{ +register int __res ; +__asm__("cld\n\t" + "repne\n\t" + "scasb\n\t" + "notl %0\n\t" + "decl %0" + :"=c" (__res):"D" (s),"a" (0),"0" (0xffffffff)); +return __res; +} + +extern char * ___strtok; + +extern inline char * strtok(char * s,const char * ct) +{ +register char * __res __asm__("si"); +__asm__("testl %1,%1\n\t" + "jne 1f\n\t" + "testl %0,%0\n\t" + "je 8f\n\t" + "movl %0,%1\n" + "1:\txorl %0,%0\n\t" + "movl $-1,%%ecx\n\t" + "xorl %%eax,%%eax\n\t" + "cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "je 7f\n\t" /* empty delimeter-string */ + "movl %%ecx,%%edx\n" + "2:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 7f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "je 2b\n\t" + "decl %1\n\t" + "cmpb $0,(%1)\n\t" + "je 7f\n\t" + "movl %1,%0\n" + "3:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 5f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "jne 3b\n\t" + "decl %1\n\t" + "cmpb $0,(%1)\n\t" + "je 5f\n\t" + "movb $0,(%1)\n\t" + "incl %1\n\t" + "jmp 6f\n" + "5:\txorl %1,%1\n" + "6:\tcmpb $0,(%0)\n\t" + "jne 7f\n\t" + "xorl %0,%0\n" + "7:\ttestl %0,%0\n\t" + "jne 8f\n\t" + "movl %0,%1\n" + "8:" + :"=b" (__res),"=S" (___strtok) + :"0" (___strtok),"1" (s),"g" (ct) + ); +return __res; +} + +extern inline void * memcpy(void * dest,const void * src, int n) +{ +__asm__("cld\n\t" + "rep\n\t" + "movsb" + ::"c" (n),"S" (src),"D" (dest) + ); +return dest; +} + +extern inline void * memmove(void * dest,const void * src, int n) +{ +if (dest + +struct stat { + dev_t st_dev; + ino_t st_ino; + umode_t st_mode; + nlink_t st_nlink; + uid_t st_uid; + gid_t st_gid; + dev_t st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + +#define S_IFMT 00170000 +#define S_IFLNK 0120000 +#define S_IFREG 0100000 +#define S_IFBLK 0060000 +#define S_IFDIR 0040000 +#define S_IFCHR 0020000 +#define S_IFIFO 0010000 +#define S_ISUID 0004000 +#define S_ISGID 0002000 +#define S_ISVTX 0001000 + +#define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) +#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) +#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) +#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) +#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK) +#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) + +#define S_IRWXU 00700 +#define S_IRUSR 00400 +#define S_IWUSR 00200 +#define S_IXUSR 00100 + +#define S_IRWXG 00070 +#define S_IRGRP 00040 +#define S_IWGRP 00020 +#define S_IXGRP 00010 + +#define S_IRWXO 00007 +#define S_IROTH 00004 +#define S_IWOTH 00002 +#define S_IXOTH 00001 + +extern int chmod(const char *_path, mode_t mode); +extern int fstat(int fildes, struct stat *stat_buf); +extern int mkdir(const char *_path, mode_t mode); +extern int mkfifo(const char *_path, mode_t mode); +extern int stat(const char *filename, struct stat *stat_buf); +extern mode_t umask(mode_t mask); + +#endif diff --git a/linux-0.11-lab/0/linux/include/sys/times.h b/linux-0.11-lab/0/linux/include/sys/times.h new file mode 100644 index 0000000..68d5bfb --- /dev/null +++ b/linux-0.11-lab/0/linux/include/sys/times.h @@ -0,0 +1,15 @@ +#ifndef _TIMES_H +#define _TIMES_H + +#include + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; +}; + +extern time_t times(struct tms * tp); + +#endif diff --git a/linux-0.11-lab/0/linux/include/sys/types.h b/linux-0.11-lab/0/linux/include/sys/types.h new file mode 100644 index 0000000..557aa31 --- /dev/null +++ b/linux-0.11-lab/0/linux/include/sys/types.h @@ -0,0 +1,46 @@ +#ifndef _SYS_TYPES_H +#define _SYS_TYPES_H + +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned int size_t; +#endif + +#ifndef _TIME_T +#define _TIME_T +typedef long time_t; +#endif + +#ifndef _PTRDIFF_T +#define _PTRDIFF_T +typedef long ptrdiff_t; +#endif + +#ifndef NULL +#define NULL ((void *) 0) +#endif + +typedef int pid_t; +typedef unsigned short uid_t; +typedef unsigned char gid_t; +typedef unsigned short dev_t; +typedef unsigned short ino_t; +typedef unsigned short mode_t; +typedef unsigned short umode_t; +typedef unsigned char nlink_t; +typedef int daddr_t; +typedef long off_t; +typedef unsigned char u_char; +typedef unsigned short ushort; + +typedef struct { int quot,rem; } div_t; +typedef struct { long quot,rem; } ldiv_t; + +struct ustat { + daddr_t f_tfree; + ino_t f_tinode; + char f_fname[6]; + char f_fpack[6]; +}; + +#endif diff --git a/linux-0.11-lab/0/linux/include/sys/utsname.h b/linux-0.11-lab/0/linux/include/sys/utsname.h new file mode 100644 index 0000000..0a1c5a0 --- /dev/null +++ b/linux-0.11-lab/0/linux/include/sys/utsname.h @@ -0,0 +1,16 @@ +#ifndef _SYS_UTSNAME_H +#define _SYS_UTSNAME_H + +#include + +struct utsname { + char sysname[9]; + char nodename[9]; + char release[9]; + char version[9]; + char machine[9]; +}; + +extern int uname(struct utsname * utsbuf); + +#endif diff --git a/linux-0.11-lab/0/linux/include/sys/wait.h b/linux-0.11-lab/0/linux/include/sys/wait.h new file mode 100644 index 0000000..53190c2 --- /dev/null +++ b/linux-0.11-lab/0/linux/include/sys/wait.h @@ -0,0 +1,23 @@ +#ifndef _SYS_WAIT_H +#define _SYS_WAIT_H + +#include + +#define _LOW(v) ( (v) & 0377) +#define _HIGH(v) ( ((v) >> 8) & 0377) + +/* options for waitpid, WUNTRACED not supported */ +#define WNOHANG 1 +#define WUNTRACED 2 + +#define WIFEXITED(s) (!((s)&0xFF) +#define WIFSTOPPED(s) (((s)&0xFF)==0x7F) +#define WEXITSTATUS(s) (((s)>>8)&0xFF) +#define WTERMSIG(s) ((s)&0x7F) +#define WSTOPSIG(s) (((s)>>8)&0xFF) +#define WIFSIGNALED(s) (((unsigned int)(s)-1 & 0xFFFF) < 0xFF) + +pid_t wait(int *stat_loc); +pid_t waitpid(pid_t pid, int *stat_loc, int options); + +#endif diff --git a/linux-0.11-lab/0/linux/include/termios.h b/linux-0.11-lab/0/linux/include/termios.h new file mode 100644 index 0000000..8f55bfd --- /dev/null +++ b/linux-0.11-lab/0/linux/include/termios.h @@ -0,0 +1,228 @@ +#ifndef _TERMIOS_H +#define _TERMIOS_H + +#define TTY_BUF_SIZE 1024 + +/* 0x54 is just a magic number to make these relatively uniqe ('T') */ +// +#define TCGETS 0x5401 +#define TCSETS 0x5402 +#define TCSETSW 0x5403 +#define TCSETSF 0x5404 +#define TCGETA 0x5405 +#define TCSETA 0x5406 +#define TCSETAW 0x5407 +#define TCSETAF 0x5408 +#define TCSBRK 0x5409 +#define TCXONC 0x540A +#define TCFLSH 0x540B +#define TIOCEXCL 0x540C +#define TIOCNXCL 0x540D +#define TIOCSCTTY 0x540E +#define TIOCGPGRP 0x540F +#define TIOCSPGRP 0x5410 +#define TIOCOUTQ 0x5411 +#define TIOCSTI 0x5412 +#define TIOCGWINSZ 0x5413 +#define TIOCSWINSZ 0x5414 +#define TIOCMGET 0x5415 +#define TIOCMBIS 0x5416 +#define TIOCMBIC 0x5417 +#define TIOCMSET 0x5418 +#define TIOCGSOFTCAR 0x5419 +#define TIOCSSOFTCAR 0x541A +#define TIOCINQ 0x541B + +struct winsize { + unsigned short ws_row; + unsigned short ws_col; + unsigned short ws_xpixel; + unsigned short ws_ypixel; +}; + +#define NCC 8 +struct termio { + unsigned short c_iflag; /* input mode flags */ + unsigned short c_oflag; /* output mode flags */ + unsigned short c_cflag; /* control mode flags */ + unsigned short c_lflag; /* local mode flags */ + unsigned char c_line; /* line discipline */ + unsigned char c_cc[NCC]; /* control characters */ +}; + +#define NCCS 17 +struct termios { + unsigned long c_iflag; /* input mode flags */ + unsigned long c_oflag; /* output mode flags */ + unsigned long c_cflag; /* control mode flags */ + unsigned long c_lflag; /* local mode flags */ + unsigned char c_line; /* line discipline */ + unsigned char c_cc[NCCS]; /* control characters */ +}; + +/* c_cc characters */ +#define VINTR 0 +#define VQUIT 1 +#define VERASE 2 +#define VKILL 3 +#define VEOF 4 +#define VTIME 5 +#define VMIN 6 +#define VSWTC 7 +#define VSTART 8 +#define VSTOP 9 +#define VSUSP 10 +#define VEOL 11 +#define VREPRINT 12 +#define VDISCARD 13 +#define VWERASE 14 +#define VLNEXT 15 +#define VEOL2 16 + +/* c_iflag bits */ +#define IGNBRK 0000001 +#define BRKINT 0000002 +#define IGNPAR 0000004 +#define PARMRK 0000010 +#define INPCK 0000020 +#define ISTRIP 0000040 +#define INLCR 0000100 +#define IGNCR 0000200 +#define ICRNL 0000400 +#define IUCLC 0001000 +#define IXON 0002000 +#define IXANY 0004000 +#define IXOFF 0010000 +#define IMAXBEL 0020000 + +/* c_oflag bits */ +#define OPOST 0000001 +#define OLCUC 0000002 +#define ONLCR 0000004 +#define OCRNL 0000010 +#define ONOCR 0000020 +#define ONLRET 0000040 +#define OFILL 0000100 +#define OFDEL 0000200 +#define NLDLY 0000400 +#define NL0 0000000 +#define NL1 0000400 +#define CRDLY 0003000 +#define CR0 0000000 +#define CR1 0001000 +#define CR2 0002000 +#define CR3 0003000 +#define TABDLY 0014000 +#define TAB0 0000000 +#define TAB1 0004000 +#define TAB2 0010000 +#define TAB3 0014000 +#define XTABS 0014000 +#define BSDLY 0020000 +#define BS0 0000000 +#define BS1 0020000 +#define VTDLY 0040000 +#define VT0 0000000 +#define VT1 0040000 +#define FFDLY 0040000 +#define FF0 0000000 +#define FF1 0040000 + +/* c_cflag bit meaning */ +#define CBAUD 0000017 +#define B0 0000000 /* hang up */ +#define B50 0000001 +#define B75 0000002 +#define B110 0000003 +#define B134 0000004 +#define B150 0000005 +#define B200 0000006 +#define B300 0000007 +#define B600 0000010 +#define B1200 0000011 +#define B1800 0000012 +#define B2400 0000013 +#define B4800 0000014 +#define B9600 0000015 +#define B19200 0000016 +#define B38400 0000017 +#define EXTA B19200 +#define EXTB B38400 +#define CSIZE 0000060 +#define CS5 0000000 +#define CS6 0000020 +#define CS7 0000040 +#define CS8 0000060 +#define CSTOPB 0000100 +#define CREAD 0000200 +#define CPARENB 0000400 +#define CPARODD 0001000 +#define HUPCL 0002000 +#define CLOCAL 0004000 +#define CIBAUD 03600000 /* input baud rate (not used) */ +#define CRTSCTS 020000000000 /* flow control */ + +#define PARENB CPARENB +#define PARODD CPARODD + +/* c_lflag bits */ +#define ISIG 0000001 +#define ICANON 0000002 +#define XCASE 0000004 +#define ECHO 0000010 +#define ECHOE 0000020 +#define ECHOK 0000040 +#define ECHONL 0000100 +#define NOFLSH 0000200 +#define TOSTOP 0000400 +#define ECHOCTL 0001000 +#define ECHOPRT 0002000 +#define ECHOKE 0004000 +#define FLUSHO 0010000 +#define PENDIN 0040000 +#define IEXTEN 0100000 + +/* modem lines */ +#define TIOCM_LE 0x001 +#define TIOCM_DTR 0x002 +#define TIOCM_RTS 0x004 +#define TIOCM_ST 0x008 +#define TIOCM_SR 0x010 +#define TIOCM_CTS 0x020 +#define TIOCM_CAR 0x040 +#define TIOCM_RNG 0x080 +#define TIOCM_DSR 0x100 +#define TIOCM_CD TIOCM_CAR +#define TIOCM_RI TIOCM_RNG + +/* tcflow() and TCXONC use these */ +#define TCOOFF 0 +#define TCOON 1 +#define TCIOFF 2 +#define TCION 3 + +/* tcflush() and TCFLSH use these */ +#define TCIFLUSH 0 +#define TCOFLUSH 1 +#define TCIOFLUSH 2 + +/* tcsetattr uses these */ +#define TCSANOW 0 +#define TCSADRAIN 1 +#define TCSAFLUSH 2 + +typedef int speed_t; + +extern speed_t cfgetispeed(struct termios *termios_p); +extern speed_t cfgetospeed(struct termios *termios_p); +extern int cfsetispeed(struct termios *termios_p, speed_t speed); +extern int cfsetospeed(struct termios *termios_p, speed_t speed); +extern int tcdrain(int fildes); +extern int tcflow(int fildes, int action); +extern int tcflush(int fildes, int queue_selector); +extern int tcgetattr(int fildes, struct termios *termios_p); +extern int tcsendbreak(int fildes, int duration); +extern int tcsetattr(int fildes, int optional_actions, + struct termios *termios_p); + +#endif diff --git a/linux-0.11-lab/0/linux/include/time.h b/linux-0.11-lab/0/linux/include/time.h new file mode 100644 index 0000000..d0a765d --- /dev/null +++ b/linux-0.11-lab/0/linux/include/time.h @@ -0,0 +1,42 @@ +#ifndef _TIME_H +#define _TIME_H + +#ifndef _TIME_T +#define _TIME_T +typedef long time_t; +#endif + +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned int size_t; +#endif + +#define CLOCKS_PER_SEC 100 + +typedef long clock_t; + +struct tm { + int tm_sec; + int tm_min; + int tm_hour; + int tm_mday; + int tm_mon; + int tm_year; + int tm_wday; + int tm_yday; + int tm_isdst; +}; + +clock_t clock(void); +time_t time(time_t * tp); +double difftime(time_t time2, time_t time1); +time_t mktime(struct tm * tp); + +char * asctime(const struct tm * tp); +char * ctime(const time_t * tp); +struct tm * gmtime(const time_t *tp); +struct tm *localtime(const time_t * tp); +size_t strftime(char * s, size_t smax, const char * fmt, const struct tm * tp); +void tzset(void); + +#endif diff --git a/linux-0.11-lab/0/linux/include/unistd.h b/linux-0.11-lab/0/linux/include/unistd.h new file mode 100644 index 0000000..0323ef9 --- /dev/null +++ b/linux-0.11-lab/0/linux/include/unistd.h @@ -0,0 +1,277 @@ +#ifndef _UNISTD_H +#define _UNISTD_H + +/* ok, this may be a joke, but I'm working on it */ +#define _POSIX_VERSION 198808L + +#define _POSIX_CHOWN_RESTRICTED /* only root can do a chown (I think..) */ +#define _POSIX_NO_TRUNC /* no pathname truncation (but see in kernel) */ +#define _POSIX_VDISABLE '\0' /* character to disable things like ^C */ +/*#define _POSIX_SAVED_IDS */ /* we'll get to this yet */ +/*#define _POSIX_JOB_CONTROL */ /* we aren't there quite yet. Soon hopefully */ +// +#define STDIN_FILENO 0 +#define STDOUT_FILENO 1 +#define STDERR_FILENO 2 + +#ifndef NULL +#define NULL ((void *)0) +#endif + +/* access */ +#define F_OK 0 +#define X_OK 1 +#define W_OK 2 +#define R_OK 4 + +/* lseek */ +#define SEEK_SET 0 +#define SEEK_CUR 1 +#define SEEK_END 2 + +/* _SC stands for System Configuration. We don't use them much */ +#define _SC_ARG_MAX 1 +#define _SC_CHILD_MAX 2 +#define _SC_CLOCKS_PER_SEC 3 +#define _SC_NGROUPS_MAX 4 +#define _SC_OPEN_MAX 5 +#define _SC_JOB_CONTROL 6 +#define _SC_SAVED_IDS 7 +#define _SC_VERSION 8 + +/* more (possibly) configurable things - now pathnames */ +#define _PC_LINK_MAX 1 +#define _PC_MAX_CANON 2 +#define _PC_MAX_INPUT 3 +#define _PC_NAME_MAX 4 +#define _PC_PATH_MAX 5 +#define _PC_PIPE_BUF 6 +#define _PC_NO_TRUNC 7 +#define _PC_VDISABLE 8 +#define _PC_CHOWN_RESTRICTED 9 + +#include +#include +#include +#include + +#ifdef __LIBRARY__ + +#define __NR_setup 0 /* used only by init, to get system going */ +#define __NR_exit 1 +#define __NR_fork 2 +#define __NR_read 3 +#define __NR_write 4 +#define __NR_open 5 +#define __NR_close 6 +#define __NR_waitpid 7 +#define __NR_creat 8 +#define __NR_link 9 +#define __NR_unlink 10 +#define __NR_execve 11 +#define __NR_chdir 12 +#define __NR_time 13 +#define __NR_mknod 14 +#define __NR_chmod 15 +#define __NR_chown 16 +#define __NR_break 17 +#define __NR_stat 18 +#define __NR_lseek 19 +#define __NR_getpid 20 +#define __NR_mount 21 +#define __NR_umount 22 +#define __NR_setuid 23 +#define __NR_getuid 24 +#define __NR_stime 25 +#define __NR_ptrace 26 +#define __NR_alarm 27 +#define __NR_fstat 28 +#define __NR_pause 29 +#define __NR_utime 30 +#define __NR_stty 31 +#define __NR_gtty 32 +#define __NR_access 33 +#define __NR_nice 34 +#define __NR_ftime 35 +#define __NR_sync 36 +#define __NR_kill 37 +#define __NR_rename 38 +#define __NR_mkdir 39 +#define __NR_rmdir 40 +#define __NR_dup 41 +#define __NR_pipe 42 +#define __NR_times 43 +#define __NR_prof 44 +#define __NR_brk 45 +#define __NR_setgid 46 +#define __NR_getgid 47 +#define __NR_signal 48 +#define __NR_geteuid 49 +#define __NR_getegid 50 +#define __NR_acct 51 +#define __NR_phys 52 +#define __NR_lock 53 +#define __NR_ioctl 54 +#define __NR_fcntl 55 +#define __NR_mpx 56 +#define __NR_setpgid 57 +#define __NR_ulimit 58 +#define __NR_uname 59 +#define __NR_umask 60 +#define __NR_chroot 61 +#define __NR_ustat 62 +#define __NR_dup2 63 +#define __NR_getppid 64 +#define __NR_getpgrp 65 +#define __NR_setsid 66 +#define __NR_sigaction 67 +#define __NR_sgetmask 68 +#define __NR_ssetmask 69 +#define __NR_setreuid 70 +#define __NR_setregid 71 +#define __NR_sigsuspend 72 +#define __NR_sigpending 73 +#define __NR_sethostname 74 +#define __NR_setrlimit 75 +#define __NR_getrlimit 76 +#define __NR_getrusage 77 +#define __NR_gettimeofday 78 +#define __NR_settimeofday 79 +#define __NR_getgroups 80 +#define __NR_setgroups 81 +#define __NR_select 82 +#define __NR_symlink 83 +#define __NR_lstat 84 +#define __NR_readlink 85 +#define __NR_uselib 86 +#define __NR_execve2 87 +#define __NR_getdents 88 +#define __NR_pipe2 89 +#define __NR_sleep 90 +#define __NR_getcwd 91 +#define __NR_mmap 92 +#define __NR_munmap 93 +#define __NR_clone 94 +#define _syscall0(type,name) \ +type name(void) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name)); \ +if (__res >= 0) \ + return (type) __res; \ +errno = -__res; \ +return -1; \ +} + +#define _syscall1(type,name,atype,a) \ +type name(atype a) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name),"b" ((long)(a))); \ +if (__res >= 0) \ + return (type) __res; \ +errno = -__res; \ +return -1; \ +} + +#define _syscall2(type,name,atype,a,btype,b) \ +type name(atype a,btype b) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name),"b" ((long)(a)),"c" ((long)(b))); \ +if (__res >= 0) \ + return (type) __res; \ +errno = -__res; \ +return -1; \ +} + +#define _syscall3(type,name,atype,a,btype,b,ctype,c) \ +type name(atype a,btype b,ctype c) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name),"b" ((long)(a)),"c" ((long)(b)),"d" ((long)(c))); \ +if (__res>=0) \ + return (type) __res; \ +errno=-__res; \ +return -1; \ +} + +#endif /* __LIBRARY__ */ + +extern int errno; + +int access(const char * filename, mode_t mode); +int acct(const char * filename); +int alarm(int sec); +int brk(void * end_data_segment); +void * sbrk(ptrdiff_t increment); +int chdir(const char * filename); +int chmod(const char * filename, mode_t mode); +int chown(const char * filename, uid_t owner, gid_t group); +int chroot(const char * filename); +int close(int fildes); +int creat(const char * filename, mode_t mode); +int dup(int fildes); +int execve(const char * filename, char ** argv, char ** envp); +int execv(const char * pathname, char ** argv); +int execvp(const char * file, char ** argv); +int execl(const char * pathname, char * arg0, ...); +int execlp(const char * file, char * arg0, ...); +int execle(const char * pathname, char * arg0, ...); +volatile void exit(int status); +volatile void _exit(int status); +int fcntl(int fildes, int cmd, ...); +int fork(void); +int getpid(void); +int getuid(void); +int geteuid(void); +int getgid(void); +int getegid(void); +int ioctl(int fildes, int cmd, ...); +int kill(pid_t pid, int signal); +int link(const char * filename1, const char * filename2); +int lseek(int fildes, off_t offset, int origin); +int mknod(const char * filename, mode_t mode, dev_t dev); +int mount(const char * specialfile, const char * dir, int rwflag); +int nice(int val); +int open(const char * filename, int flag, ...); +int pause(void); +int pipe(int * fildes); +int read(int fildes, char * buf, off_t count); +int setpgrp(void); +int setpgid(pid_t pid,pid_t pgid); +int setuid(uid_t uid); +int setgid(gid_t gid); +void (*signal(int sig, void (*fn)(int)))(int); +int stat(const char * filename, struct stat * stat_buf); +int fstat(int fildes, struct stat * stat_buf); +int stime(time_t * tptr); +int sync(void); +time_t time(time_t * tloc); +time_t times(struct tms * tbuf); +int ulimit(int cmd, long limit); +mode_t umask(mode_t mask); +int umount(const char * specialfile); +int uname(struct utsname * name); +int unlink(const char * filename); +int ustat(dev_t dev, struct ustat * ubuf); +int utime(const char * filename, struct utimbuf * times); +pid_t waitpid(pid_t pid,int * wait_stat,int options); +pid_t wait(int * wait_stat); +int write(int fildes, const char * buf, off_t count); +int dup2(int oldfd, int newfd); +int getppid(void); +pid_t getpgrp(void); +pid_t setsid(void); + +#define __always_inline inline __attribute__((always_inline)) + +#endif diff --git a/linux-0.11-lab/0/linux/include/utime.h b/linux-0.11-lab/0/linux/include/utime.h new file mode 100644 index 0000000..83f07c7 --- /dev/null +++ b/linux-0.11-lab/0/linux/include/utime.h @@ -0,0 +1,13 @@ +#ifndef _UTIME_H +#define _UTIME_H + +#include /* I know - shouldn't do this, but .. */ + +struct utimbuf { + time_t actime; + time_t modtime; +}; + +extern int utime(const char *filename, struct utimbuf *times); + +#endif diff --git a/linux-0.11-lab/0/linux/init/main.c b/linux-0.11-lab/0/linux/init/main.c new file mode 100644 index 0000000..bd86a68 --- /dev/null +++ b/linux-0.11-lab/0/linux/init/main.c @@ -0,0 +1,216 @@ +/* + * linux/init/main.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include +#include + +/* + * we need this inline - forking from kernel space will result + * in NO COPY ON WRITE (!!!), until an execve is executed. This + * is no problem, but for the stack. This is handled by not letting + * main() use the stack at all after fork(). Thus, no function + * calls - which means inline code for fork too, as otherwise we + * would use the stack upon exit from 'fork()'. + * + * Actually only pause and fork are needed inline, so that there + * won't be any messing with the stack from main(), but we define + * some others too. + */ + +__always_inline _syscall0(int,fork) +__always_inline _syscall0(int,pause) +__always_inline _syscall1(int,setup,void *,BIOS) +__always_inline _syscall0(int,sync) + +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include + +static char printbuf[1024]; + +extern int vsprintf(); +extern void init(void); +extern void blk_dev_init(void); +extern void chr_dev_init(void); +extern void hd_init(void); +extern void floppy_init(void); +extern void mem_init(long start, long end); +extern long rd_init(long mem_start, int length); +extern long kernel_mktime(struct tm * tm); +extern long startup_time; + +/* + * This is set up by the setup-routine at boot-time + */ +#define EXT_MEM_K (*(unsigned short *)0x90002) +#define DRIVE_INFO (*(struct drive_info *)0x90080) +#define ORIG_ROOT_DEV (*(unsigned short *)0x901FC) + +/* + * Yeah, yeah, it's ugly, but I cannot find how to do this correctly + * and this seems to work. I anybody has more info on the real-time + * clock I'd be interested. Most of this was trial and error, and some + * bios-listing reading. Urghh. + */ + +#define CMOS_READ(addr) ({ \ +outb_p(0x80|addr,0x70); \ +inb_p(0x71); \ +}) + +#define BCD_TO_BIN(val) ((val)=((val)&15) + ((val)>>4)*10) + +static void time_init(void) +{ + struct tm time; + + do { + time.tm_sec = CMOS_READ(0); + time.tm_min = CMOS_READ(2); + time.tm_hour = CMOS_READ(4); + time.tm_mday = CMOS_READ(7); + time.tm_mon = CMOS_READ(8); + time.tm_year = CMOS_READ(9); + } while (time.tm_sec != CMOS_READ(0)); + BCD_TO_BIN(time.tm_sec); + BCD_TO_BIN(time.tm_min); + BCD_TO_BIN(time.tm_hour); + BCD_TO_BIN(time.tm_mday); + BCD_TO_BIN(time.tm_mon); + BCD_TO_BIN(time.tm_year); + time.tm_mon--; + startup_time = kernel_mktime(&time); +} + +static long memory_end = 0; +static long buffer_memory_end = 0; +static long main_memory_start = 0; + +struct drive_info { char dummy[32]; } drive_info; + +void main(void) /* This really IS void, no error here. */ +{ /* The startup routine assumes (well, ...) this */ +/* + * Interrupts are still disabled. Do necessary setups, then + * enable them + */ + ROOT_DEV = ORIG_ROOT_DEV; + __asm__ volatile ("cld"); /* by wyj */ + drive_info = DRIVE_INFO; + memory_end = (1<<20) + (EXT_MEM_K<<10); + memory_end &= 0xfffff000; + if (memory_end > 16*1024*1024) + memory_end = 16*1024*1024; + if (memory_end > 12*1024*1024) + buffer_memory_end = 4*1024*1024; + else if (memory_end > 6*1024*1024) + buffer_memory_end = 2*1024*1024; + else + buffer_memory_end = 1*1024*1024; + main_memory_start = buffer_memory_end; +#ifdef RAMDISK + main_memory_start += rd_init(main_memory_start, RAMDISK*1024); +#endif + mem_init(main_memory_start,memory_end); + trap_init(); + blk_dev_init(); + chr_dev_init(); + tty_init(); + time_init(); + sched_init(); + buffer_init(buffer_memory_end); + hd_init(); + floppy_init(); + sti(); + move_to_user_mode(); + if (!fork()) { /* we count on this going ok */ + init(); + } +/* + * NOTE!! For any other task 'pause()' would mean we have to get a + * signal to awaken, but task0 is the sole exception (see 'schedule()') + * as task 0 gets activated at every idle moment (when no other tasks + * can run). For task0 'pause()' just means we go check if some other + * task can run, and if not we return here. + */ + for(;;) pause(); +} + +static int printf(const char *fmt, ...) +{ + va_list args; + int i; + + va_start(args, fmt); + write(1,printbuf,i=vsprintf(printbuf, fmt, args)); + va_end(args); + return i; +} + +static char * argv_rc[] = { "/bin/sh", NULL }; +static char * envp_rc[] = { "HOME=/", NULL, NULL }; + +static char * argv[] = { "-/bin/sh",NULL }; +static char * envp[] = { "HOME=/usr/root", NULL, NULL }; + +void init(void) +{ + int pid,i; + + setup((void *) &drive_info); + (void) open("/dev/tty0",O_RDWR,0); + (void) dup(0); + (void) dup(0); + printf("%d buffers = %d bytes buffer space\n\r",NR_BUFFERS, + NR_BUFFERS*BLOCK_SIZE); + printf("Free mem: %d bytes\n\r",memory_end-main_memory_start); + if (!(pid=fork())) { + close(0); + if (open("/etc/rc",O_RDONLY,0)) + _exit(1); + execve("/bin/sh",argv_rc,envp_rc); + _exit(2); + } + if (pid>0) + while (pid != wait(&i)) + /* nothing */; + while (1) { + if ((pid=fork())<0) { + printf("Fork failed in init\r\n"); + continue; + } + if (!pid) { + close(0);close(1);close(2); + setsid(); + (void) open("/dev/tty0",O_RDWR,0); + (void) dup(0); + (void) dup(0); + _exit(execve("/bin/sh",argv,envp)); + } + while (1) + if (pid == wait(&i)) + break; + printf("\n\rchild %d died with code %04x\n\r",pid,i); + sync(); + } + _exit(0); /* NOTE! _exit, not exit() */ +} + +void print_nr(int sid) +{ + if (sid > 86) + printk(" --syscall: sid=%d, pid=%d\n", sid, current->pid); +} diff --git a/linux-0.11-lab/0/linux/init/main.c.rej b/linux-0.11-lab/0/linux/init/main.c.rej new file mode 100644 index 0000000..375d6cd --- /dev/null +++ b/linux-0.11-lab/0/linux/init/main.c.rej @@ -0,0 +1,12 @@ +--- init/main.c 2016-08-08 09:40:13.000000000 +0800 ++++ init/main.c 2021-07-06 14:16:56.000000000 +0800 +@@ -208,3 +208,9 @@ + } + _exit(0); /* NOTE! _exit, not exit() */ + } ++ ++void print_nr(int sid) ++{ ++ if (sid > 86) ++ printk(" --syscall: sid=%d, pid=%d\n", sid, current->pid); ++} diff --git a/linux-0.11-lab/0/linux/init/main.o b/linux-0.11-lab/0/linux/init/main.o new file mode 100644 index 0000000000000000000000000000000000000000..a02f483e035a7df6015471a87ca5a0786451c6d2 GIT binary patch literal 12208 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/kernel/Makefile b/linux-0.11-lab/0/linux/kernel/Makefile new file mode 100644 index 0000000..29b8f8d --- /dev/null +++ b/linux-0.11-lab/0/linux/kernel/Makefile @@ -0,0 +1,83 @@ +# +# Makefile for the FREAX-kernel. +# +# Note! Dependencies are done automagically by 'make dep', which also +# removes any old dependencies. DON'T put your own dependencies here +# unless it's something special (ie not a .c file). +# + +AR =ar +AS =as +LD =ld +LDFLAGS =-m elf_i386 -Ttext 0 -e startup_32 +CC =gcc -march=i386 +CFLAGS =-w -g -fomit-frame-pointer -finline-functions \ + -nostdinc -fno-stack-protector -mcld -I../include +CPP =gcc -E -nostdinc -I../include + +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< +.s.o: + $(AS) -o $*.o $< +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< + +OBJS = sched.o system_call.o traps.o asm.o fork.o \ + panic.o printk.o vsprintf.o sys.o exit.o \ + signal.o mktime.o + +kernel.o: $(OBJS) + $(LD) -r -o kernel.o $(OBJS) + sync + +clean: + rm -f core *.o *.a tmp_make keyboard.s + for i in *.c;do rm -f `basename $$i .c`.s;done + (cd chr_drv; make clean) + (cd blk_drv; make clean) + (cd math; make clean) + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + (cd chr_drv; make dep) + (cd blk_drv; make dep) + +### Dependencies: +exit.s exit.o : exit.c ../include/errno.h ../include/signal.h \ + ../include/sys/types.h ../include/sys/wait.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/linux/mm.h \ + ../include/linux/kernel.h ../include/linux/tty.h ../include/termios.h \ + ../include/asm/segment.h +fork.s fork.o : fork.c ../include/errno.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/segment.h ../include/asm/system.h +mktime.s mktime.o : mktime.c ../include/time.h +panic.s panic.o : panic.c ../include/linux/kernel.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h +printk.s printk.o : printk.c ../include/stdarg.h ../include/stddef.h \ + ../include/linux/kernel.h +sched.s sched.o : sched.c ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/sys/types.h ../include/linux/mm.h \ + ../include/signal.h ../include/linux/kernel.h ../include/linux/sys.h \ + ../include/linux/fdreg.h ../include/asm/system.h ../include/asm/io.h \ + ../include/asm/segment.h +signal.s signal.o : signal.c ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/sys/types.h ../include/linux/mm.h \ + ../include/signal.h ../include/linux/kernel.h ../include/asm/segment.h +sys.s sys.o : sys.c ../include/errno.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/tty.h \ + ../include/termios.h ../include/linux/kernel.h ../include/asm/segment.h \ + ../include/sys/times.h ../include/sys/utsname.h +traps.s traps.o : traps.c ../include/string.h ../include/linux/head.h \ + ../include/linux/sched.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/system.h ../include/asm/segment.h ../include/asm/io.h +vsprintf.s vsprintf.o : vsprintf.c ../include/stdarg.h ../include/string.h diff --git a/linux-0.11-lab/0/linux/kernel/asm.o b/linux-0.11-lab/0/linux/kernel/asm.o new file mode 100644 index 0000000000000000000000000000000000000000..a89ec75e6e7dea54ae5b8d9b94ba28158b48a77f GIT binary patch literal 1740 zcma)+O=uHQ5XWcRv}sSZ2!7VKN<_gLTB@F^9;`i75B*Zxid{F^*K{@67k4+Yil|sH zrv|)<7wbhmD2RBl?IjkWde90*5b+=$0#XkiyeY()eY^2xiRgpv|Nnb$W-{}d&9$S) z`xHe1e<@H4e+Zz*gMDtmZfJlym?EDGMTQ55PMti_THiEx4rWIp9YYK2@F4#&zm)${ zdN=d3q3K?@?aYKaK6ZL^#Z6j!Eo4c^qL61o9t*iIN>a0?YOGAXEIm;+mxxDna!+$#}~zPg>(|qFzDh#3ziNdZhm7_Gt$HGtt5$ zJb2(2L6$5XS6!9gLaHZMBo4WC>dM&)G@;K)yrt}^F9miX@AvkI_oDBSxC{Lei4UOf zm-sOHL5cg&k4j8uHzb}wuS$Fw{k+6C(HA7XgML}!hv?r*yy$rny5~3eqzG`)Jgcaa zE(!kRc@m2M7T_NN{u$t~^pB$a<^Z<^_)viR13VsJBf!@Kd@I0Ua+O&Yx70Y-8Aw() zvWCvYA?PfYNr0I$z%ZR|;8|u(Ciz8(@r %eax + xchgl %ebx,(%esp) # &function <-> %ebx + pushl %ecx + pushl %edx + pushl %edi + pushl %esi + pushl %ebp + push %ds + push %es + push %fs + pushl %eax # error code + lea 44(%esp),%eax # offset + pushl %eax + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + mov %ax,%fs + call *%ebx + addl $8,%esp + pop %fs + pop %es + pop %ds + popl %ebp + popl %esi + popl %edi + popl %edx + popl %ecx + popl %ebx + popl %eax + iret + +invalid_TSS: + pushl $do_invalid_TSS + jmp error_code + +segment_not_present: + pushl $do_segment_not_present + jmp error_code + +stack_segment: + pushl $do_stack_segment + jmp error_code + +general_protection: + pushl $do_general_protection + jmp error_code + diff --git a/linux-0.11-lab/0/linux/kernel/blk_drv/Makefile b/linux-0.11-lab/0/linux/kernel/blk_drv/Makefile new file mode 100644 index 0000000..1fb57f9 --- /dev/null +++ b/linux-0.11-lab/0/linux/kernel/blk_drv/Makefile @@ -0,0 +1,58 @@ +# +# Makefile for the FREAX-kernel block device drivers. +# +# Note! Dependencies are done automagically by 'make dep', which also +# removes any old dependencies. DON'T put your own dependencies here +# unless it's something special (ie not a .c file). +# + +AR =ar +AS =as +LD =ld +LDFLAGS =-s -x +CC =gcc -march=i386 +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -mcld \ + -finline-functions -nostdinc -fno-stack-protector -I../../include +CPP =gcc -E -nostdinc -I../../include + +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< +.s.o: + $(AS) -o $*.o $< +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< + +OBJS = ll_rw_blk.o floppy.o hd.o ramdisk.o + +blk_drv.a: $(OBJS) + $(AR) rcs blk_drv.a $(OBJS) + sync + +clean: + rm -f core *.o *.a tmp_make + for i in *.c;do rm -f `basename $$i .c`.s;done + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +floppy.s floppy.o : floppy.c ../../include/linux/sched.h ../../include/linux/head.h \ + ../../include/linux/fs.h ../../include/sys/types.h ../../include/linux/mm.h \ + ../../include/signal.h ../../include/linux/kernel.h \ + ../../include/linux/fdreg.h ../../include/asm/system.h \ + ../../include/asm/io.h ../../include/asm/segment.h blk.h +hd.s hd.o : hd.c ../../include/linux/config.h ../../include/linux/sched.h \ + ../../include/linux/head.h ../../include/linux/fs.h \ + ../../include/sys/types.h ../../include/linux/mm.h ../../include/signal.h \ + ../../include/linux/kernel.h ../../include/linux/hdreg.h \ + ../../include/asm/system.h ../../include/asm/io.h \ + ../../include/asm/segment.h blk.h +ll_rw_blk.s ll_rw_blk.o : ll_rw_blk.c ../../include/errno.h ../../include/linux/sched.h \ + ../../include/linux/head.h ../../include/linux/fs.h \ + ../../include/sys/types.h ../../include/linux/mm.h ../../include/signal.h \ + ../../include/linux/kernel.h ../../include/asm/system.h blk.h diff --git a/linux-0.11-lab/0/linux/kernel/blk_drv/blk.h b/linux-0.11-lab/0/linux/kernel/blk_drv/blk.h new file mode 100644 index 0000000..7a69b71 --- /dev/null +++ b/linux-0.11-lab/0/linux/kernel/blk_drv/blk.h @@ -0,0 +1,140 @@ +#ifndef _BLK_H +#define _BLK_H + +#define NR_BLK_DEV 7 +/* + * NR_REQUEST is the number of entries in the request-queue. + * NOTE that writes may use only the low 2/3 of these: reads + * take precedence. + * + * 32 seems to be a reasonable number: enough to get some benefit + * from the elevator-mechanism, but not so much as to lock a lot of + * buffers when they are in the queue. 64 seems to be too many (easily + * long pauses in reading when heavy writing/syncing is going on) + */ +#define NR_REQUEST 32 + +/* + * Ok, this is an expanded form so that we can use the same + * request for paging requests when that is implemented. In + * paging, 'bh' is NULL, and 'waiting' is used to wait for + * read/write completion. + */ +struct request { + int dev; /* -1 if no request */ + int cmd; /* READ or WRITE */ + int errors; + unsigned long sector; + unsigned long nr_sectors; + char * buffer; + struct task_struct * waiting; + struct buffer_head * bh; + struct request * next; +}; + +/* + * This is used in the elevator algorithm: Note that + * reads always go before writes. This is natural: reads + * are much more time-critical than writes. + */ +#define IN_ORDER(s1,s2) \ +((s1)->cmd<(s2)->cmd || (s1)->cmd==(s2)->cmd && \ +((s1)->dev < (s2)->dev || ((s1)->dev == (s2)->dev && \ +(s1)->sector < (s2)->sector))) + +struct blk_dev_struct { + void (*request_fn)(void); + struct request * current_request; +}; + +extern struct blk_dev_struct blk_dev[NR_BLK_DEV]; +extern struct request request[NR_REQUEST]; +extern struct task_struct * wait_for_request; + +#ifdef MAJOR_NR + +/* + * Add entries as needed. Currently the only block devices + * supported are hard-disks and floppies. + */ + +#if (MAJOR_NR == 1) +/* ram disk */ +#define DEVICE_NAME "ramdisk" +#define DEVICE_REQUEST do_rd_request +#define DEVICE_NR(device) ((device) & 7) +#define DEVICE_ON(device) +#define DEVICE_OFF(device) + +#elif (MAJOR_NR == 2) +/* floppy */ +#define DEVICE_NAME "floppy" +#define DEVICE_INTR do_floppy +#define DEVICE_REQUEST do_fd_request +#define DEVICE_NR(device) ((device) & 3) +#define DEVICE_ON(device) floppy_on(DEVICE_NR(device)) +#define DEVICE_OFF(device) floppy_off(DEVICE_NR(device)) + +#elif (MAJOR_NR == 3) +/* harddisk */ +#define DEVICE_NAME "harddisk" +#define DEVICE_INTR do_hd +#define DEVICE_REQUEST do_hd_request +#define DEVICE_NR(device) (MINOR(device)/5) +#define DEVICE_ON(device) +#define DEVICE_OFF(device) + +#elif (MAJOR_NR > 3) +/* unknown blk device */ +#error "unknown blk device" + +#endif + +#define CURRENT (blk_dev[MAJOR_NR].current_request) +#define CURRENT_DEV DEVICE_NR(CURRENT->dev) + +#ifdef DEVICE_INTR +void (*DEVICE_INTR)(void) = NULL; +#endif +static void (DEVICE_REQUEST)(void); + +static inline void unlock_buffer(struct buffer_head * bh) +{ + if (!bh->b_lock) + printk(DEVICE_NAME ": free buffer being unlocked\n"); + bh->b_lock=0; + wake_up(&bh->b_wait); +} + +static inline void end_request(int uptodate) +{ + DEVICE_OFF(CURRENT->dev); + if (CURRENT->bh) { + CURRENT->bh->b_uptodate = uptodate; + unlock_buffer(CURRENT->bh); + } + if (!uptodate) { + printk(DEVICE_NAME " I/O error\n\r"); + printk("dev %04x, block %d\n\r",CURRENT->dev, + CURRENT->bh->b_blocknr); + } + wake_up(&CURRENT->waiting); + wake_up(&wait_for_request); + CURRENT->dev = -1; + CURRENT = CURRENT->next; +} + +#define INIT_REQUEST \ +repeat: \ + if (!CURRENT) \ + return; \ + if (MAJOR(CURRENT->dev) != MAJOR_NR) \ + panic(DEVICE_NAME ": request list destroyed"); \ + if (CURRENT->bh) { \ + if (!CURRENT->bh->b_lock) \ + panic(DEVICE_NAME ": block not locked"); \ + } + +#endif + +#endif diff --git a/linux-0.11-lab/0/linux/kernel/blk_drv/blk_drv.a b/linux-0.11-lab/0/linux/kernel/blk_drv/blk_drv.a new file mode 100644 index 0000000000000000000000000000000000000000..029c613816f6aa08df75c2987a2ea966da7f90df GIT binary patch literal 52196 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/kernel/blk_drv/floppy.c b/linux-0.11-lab/0/linux/kernel/blk_drv/floppy.c new file mode 100644 index 0000000..b1a7f3a --- /dev/null +++ b/linux-0.11-lab/0/linux/kernel/blk_drv/floppy.c @@ -0,0 +1,463 @@ +/* + * linux/kernel/floppy.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * 02.12.91 - Changed to static variables to indicate need for reset + * and recalibrate. This makes some things easier (output_byte reset + * checking etc), and means less interrupt jumping in case of errors, + * so the code is hopefully easier to understand. + */ + +/* + * This file is certainly a mess. I've tried my best to get it working, + * but I don't like programming floppies, and I have only one anyway. + * Urgel. I should check for more errors, and do more graceful error + * recovery. Seems there are problems with several drives. I've tried to + * correct them. No promises. + */ + +/* + * As with hd.c, all routines within this file can (and will) be called + * by interrupts, so extreme caution is needed. A hardware interrupt + * handler may not sleep, or a kernel panic will happen. Thus I cannot + * call "floppy-on" directly, but have to set a special timer interrupt + * etc. + * + * Also, I'm not certain this works on more than 1 floppy. Bugs may + * abund. + */ + +#include +#include +#include +#include +#include +#include +#include + +#define MAJOR_NR 2 +#include "blk.h" + +static int recalibrate = 0; +static int reset = 0; +static int seek = 0; + +extern unsigned char current_DOR; + +#define immoutb_p(val,port) \ +__asm__("outb %0,%1\n\tjmp 1f\n1:\tjmp 1f\n1:"::"a" ((char) (val)),"i" (port)) + +#define TYPE(x) ((x)>>2) +#define DRIVE(x) ((x)&0x03) +/* + * Note that MAX_ERRORS=8 doesn't imply that we retry every bad read + * max 8 times - some types of errors increase the errorcount by 2, + * so we might actually retry only 5-6 times before giving up. + */ +#define MAX_ERRORS 8 + +/* + * globals used by 'result()' + */ +#define MAX_REPLIES 7 +static unsigned char reply_buffer[MAX_REPLIES]; +#define ST0 (reply_buffer[0]) +#define ST1 (reply_buffer[1]) +#define ST2 (reply_buffer[2]) +#define ST3 (reply_buffer[3]) + +/* + * This struct defines the different floppy types. Unlike minix + * linux doesn't have a "search for right type"-type, as the code + * for that is convoluted and weird. I've got enough problems with + * this driver as it is. + * + * The 'stretch' tells if the tracks need to be boubled for some + * types (ie 360kB diskette in 1.2MB drive etc). Others should + * be self-explanatory. + */ +static struct floppy_struct { + unsigned int size, sect, head, track, stretch; + unsigned char gap,rate,spec1; +} floppy_type[] = { + { 0, 0,0, 0,0,0x00,0x00,0x00 }, /* no testing */ + { 720, 9,2,40,0,0x2A,0x02,0xDF }, /* 360kB PC diskettes */ + { 2400,15,2,80,0,0x1B,0x00,0xDF }, /* 1.2 MB AT-diskettes */ + { 720, 9,2,40,1,0x2A,0x02,0xDF }, /* 360kB in 720kB drive */ + { 1440, 9,2,80,0,0x2A,0x02,0xDF }, /* 3.5" 720kB diskette */ + { 720, 9,2,40,1,0x23,0x01,0xDF }, /* 360kB in 1.2MB drive */ + { 1440, 9,2,80,0,0x23,0x01,0xDF }, /* 720kB in 1.2MB drive */ + { 2880,18,2,80,0,0x1B,0x00,0xCF }, /* 1.44MB diskette */ +}; +/* + * Rate is 0 for 500kb/s, 2 for 300kbps, 1 for 250kbps + * Spec1 is 0xSH, where S is stepping rate (F=1ms, E=2ms, D=3ms etc), + * H is head unload time (1=16ms, 2=32ms, etc) + * + * Spec2 is (HLD<<1 | ND), where HLD is head load time (1=2ms, 2=4 ms etc) + * and ND is set means no DMA. Hardcoded to 6 (HLD=6ms, use DMA). + */ + +extern void floppy_interrupt(void); +extern char tmp_floppy_area[1024]; + +/* + * These are global variables, as that's the easiest way to give + * information to interrupts. They are the data used for the current + * request. + */ +static int cur_spec1 = -1; +static int cur_rate = -1; +static struct floppy_struct * floppy = floppy_type; +static unsigned char current_drive = 0; +static unsigned char sector = 0; +static unsigned char head = 0; +static unsigned char track = 0; +static unsigned char seek_track = 0; +static unsigned char current_track = 255; +static unsigned char command = 0; +unsigned char selected = 0; +struct task_struct * wait_on_floppy_select = NULL; + +void floppy_deselect(unsigned int nr) +{ + if (nr != (current_DOR & 3)) + printk("floppy_deselect: drive not selected\n\r"); + selected = 0; + wake_up(&wait_on_floppy_select); +} + +/* + * floppy-change is never called from an interrupt, so we can relax a bit + * here, sleep etc. Note that floppy-on tries to set current_DOR to point + * to the desired drive, but it will probably not survive the sleep if + * several floppies are used at the same time: thus the loop. + */ +int floppy_change(unsigned int nr) +{ +repeat: + floppy_on(nr); + while ((current_DOR & 3) != nr && selected) + interruptible_sleep_on(&wait_on_floppy_select); + if ((current_DOR & 3) != nr) + goto repeat; + if (inb(FD_DIR) & 0x80) { + floppy_off(nr); + return 1; + } + floppy_off(nr); + return 0; +} + +#define copy_buffer(from,to) \ +__asm__("cld ; rep ; movsl" \ + ::"c" (BLOCK_SIZE/4),"S" ((long)(from)),"D" ((long)(to)) \ + ) + +static void setup_DMA(void) +{ + long addr = (long) CURRENT->buffer; + + cli(); + if (addr >= 0x100000) { + addr = (long) tmp_floppy_area; + if (command == FD_WRITE) + copy_buffer(CURRENT->buffer,tmp_floppy_area); + } +/* mask DMA 2 */ + immoutb_p(4|2,10); +/* output command byte. I don't know why, but everyone (minix, */ +/* sanches & canton) output this twice, first to 12 then to 11 */ + __asm__("outb %%al,$12\n\tjmp 1f\n1:\tjmp 1f\n1:\t" + "outb %%al,$11\n\tjmp 1f\n1:\tjmp 1f\n1:":: + "a" ((char) ((command == FD_READ)?DMA_READ:DMA_WRITE))); +/* 8 low bits of addr */ + immoutb_p(addr,4); + addr >>= 8; +/* bits 8-15 of addr */ + immoutb_p(addr,4); + addr >>= 8; +/* bits 16-19 of addr */ + immoutb_p(addr,0x81); +/* low 8 bits of count-1 (1024-1=0x3ff) */ + immoutb_p(0xff,5); +/* high 8 bits of count-1 */ + immoutb_p(3,5); +/* activate DMA 2 */ + immoutb_p(0|2,10); + sti(); +} + +static void output_byte(char byte) +{ + int counter; + unsigned char status; + + if (reset) + return; + for(counter = 0 ; counter < 10000 ; counter++) { + status = inb_p(FD_STATUS) & (STATUS_READY | STATUS_DIR); + if (status == STATUS_READY) { + outb(byte,FD_DATA); + return; + } + } + reset = 1; + printk("Unable to send byte to FDC\n\r"); +} + +static int result(void) +{ + int i = 0, counter, status; + + if (reset) + return -1; + for (counter = 0 ; counter < 10000 ; counter++) { + status = inb_p(FD_STATUS)&(STATUS_DIR|STATUS_READY|STATUS_BUSY); + if (status == STATUS_READY) + return i; + if (status == (STATUS_DIR|STATUS_READY|STATUS_BUSY)) { + if (i >= MAX_REPLIES) + break; + reply_buffer[i++] = inb_p(FD_DATA); + } + } + reset = 1; + printk("Getstatus times out\n\r"); + return -1; +} + +static void bad_flp_intr(void) +{ + CURRENT->errors++; + if (CURRENT->errors > MAX_ERRORS) { + floppy_deselect(current_drive); + end_request(0); + } + if (CURRENT->errors > MAX_ERRORS/2) + reset = 1; + else + recalibrate = 1; +} + +/* + * Ok, this interrupt is called after a DMA read/write has succeeded, + * so we check the results, and copy any buffers. + */ +static void rw_interrupt(void) +{ + if (result() != 7 || (ST0 & 0xf8) || (ST1 & 0xbf) || (ST2 & 0x73)) { + if (ST1 & 0x02) { + printk("Drive %d is write protected\n\r",current_drive); + floppy_deselect(current_drive); + end_request(0); + } else + bad_flp_intr(); + do_fd_request(); + return; + } + if (command == FD_READ && (unsigned long)(CURRENT->buffer) >= 0x100000) + copy_buffer(tmp_floppy_area,CURRENT->buffer); + floppy_deselect(current_drive); + end_request(1); + do_fd_request(); +} + +inline void setup_rw_floppy(void) +{ + setup_DMA(); + do_floppy = rw_interrupt; + output_byte(command); + output_byte(head<<2 | current_drive); + output_byte(track); + output_byte(head); + output_byte(sector); + output_byte(2); /* sector size = 512 */ + output_byte(floppy->sect); + output_byte(floppy->gap); + output_byte(0xFF); /* sector size (0xff when n!=0 ?) */ + if (reset) + do_fd_request(); +} + +/* + * This is the routine called after every seek (or recalibrate) interrupt + * from the floppy controller. Note that the "unexpected interrupt" routine + * also does a recalibrate, but doesn't come here. + */ +static void seek_interrupt(void) +{ +/* sense drive status */ + output_byte(FD_SENSEI); + if (result() != 2 || (ST0 & 0xF8) != 0x20 || ST1 != seek_track) { + bad_flp_intr(); + do_fd_request(); + return; + } + current_track = ST1; + setup_rw_floppy(); +} + +/* + * This routine is called when everything should be correctly set up + * for the transfer (ie floppy motor is on and the correct floppy is + * selected). + */ +static void transfer(void) +{ + if (cur_spec1 != floppy->spec1) { + cur_spec1 = floppy->spec1; + output_byte(FD_SPECIFY); + output_byte(cur_spec1); /* hut etc */ + output_byte(6); /* Head load time =6ms, DMA */ + } + if (cur_rate != floppy->rate) + outb_p(cur_rate = floppy->rate,FD_DCR); + if (reset) { + do_fd_request(); + return; + } + if (!seek) { + setup_rw_floppy(); + return; + } + do_floppy = seek_interrupt; + if (seek_track) { + output_byte(FD_SEEK); + output_byte(head<<2 | current_drive); + output_byte(seek_track); + } else { + output_byte(FD_RECALIBRATE); + output_byte(head<<2 | current_drive); + } + if (reset) + do_fd_request(); +} + +/* + * Special case - used after a unexpected interrupt (or reset) + */ +static void recal_interrupt(void) +{ + output_byte(FD_SENSEI); + if (result()!=2 || (ST0 & 0xE0) == 0x60) + reset = 1; + else + recalibrate = 0; + do_fd_request(); +} + +void unexpected_floppy_interrupt(void) +{ + output_byte(FD_SENSEI); + if (result()!=2 || (ST0 & 0xE0) == 0x60) + reset = 1; + else + recalibrate = 1; +} + +static void recalibrate_floppy(void) +{ + recalibrate = 0; + current_track = 0; + current_drive = 1; /* by wyj, ?? */ + do_floppy = recal_interrupt; + output_byte(FD_RECALIBRATE); + output_byte(head<<2 | current_drive); + if (reset) + do_fd_request(); +} + +static void reset_interrupt(void) +{ + output_byte(FD_SENSEI); + (void) result(); + output_byte(FD_SPECIFY); + output_byte(cur_spec1); /* hut etc */ + output_byte(6); /* Head load time =6ms, DMA */ + do_fd_request(); +} + +/* + * reset is done by pulling bit 2 of DOR low for a while. + */ +static void reset_floppy(void) +{ + int i; + + reset = 0; + cur_spec1 = -1; + cur_rate = -1; + recalibrate = 1; + printk("Reset-floppy called\n\r"); + cli(); + do_floppy = reset_interrupt; + outb_p(current_DOR & ~0x04,FD_DOR); + for (i=0 ; i<100 ; i++) + __asm__("nop"); + outb(current_DOR,FD_DOR); + sti(); +} + +static void floppy_on_interrupt(void) +{ +/* We cannot do a floppy-select, as that might sleep. We just force it */ + selected = 1; + if (current_drive != (current_DOR & 3)) { + current_DOR &= 0xFC; + current_DOR |= current_drive; + outb(current_DOR,FD_DOR); + add_timer(2,&transfer); + } else + transfer(); +} + +void do_fd_request(void) +{ + unsigned int block; + + seek = 0; + if (reset) { + reset_floppy(); + return; + } + if (recalibrate) { + recalibrate_floppy(); + return; + } + INIT_REQUEST; + floppy = (MINOR(CURRENT->dev)>>2) + floppy_type; + if (current_drive != CURRENT_DEV) + seek = 1; + current_drive = CURRENT_DEV; + block = CURRENT->sector; + if (block+2 > floppy->size) { + end_request(0); + goto repeat; + } + sector = block % floppy->sect; + block /= floppy->sect; + head = block % floppy->head; + track = block / floppy->head; + seek_track = track << floppy->stretch; + if (seek_track != current_track) + seek = 1; + sector++; + if (CURRENT->cmd == READ) + command = FD_READ; + else if (CURRENT->cmd == WRITE) + command = FD_WRITE; + else + panic("do_fd_request: unknown command"); + add_timer(ticks_to_floppy_on(current_drive),&floppy_on_interrupt); +} + +void floppy_init(void) +{ + blk_dev[MAJOR_NR].request_fn = DEVICE_REQUEST; + set_trap_gate(0x26,&floppy_interrupt); + outb(inb_p(0x21)&~0x40,0x21); +} diff --git a/linux-0.11-lab/0/linux/kernel/blk_drv/floppy.o b/linux-0.11-lab/0/linux/kernel/blk_drv/floppy.o new file mode 100644 index 0000000000000000000000000000000000000000..b4871a5df233fa5926607b6a5d161d3d293fb7e5 GIT binary patch literal 16608 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 Z75swW*93X)pgzwT#192CL2G{m{}&|+x&Z(H literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/kernel/blk_drv/hd.c b/linux-0.11-lab/0/linux/kernel/blk_drv/hd.c new file mode 100644 index 0000000..c0e908f --- /dev/null +++ b/linux-0.11-lab/0/linux/kernel/blk_drv/hd.c @@ -0,0 +1,351 @@ +/* + * linux/kernel/hd.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * This is the low-level hd interrupt support. It traverses the + * request-list, using interrupts to jump between functions. As + * all the functions are called within interrupts, we may not + * sleep. Special care is recommended. + * + * modified by Drew Eckhardt to check nr of hd's from the CMOS. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#define MAJOR_NR 3 +#include "blk.h" + +#define CMOS_READ(addr) ({ \ +outb_p(0x80|addr,0x70); \ +inb_p(0x71); \ +}) + +/* Max read/write errors/sector */ +#define MAX_ERRORS 7 +#define MAX_HD 2 + +static void recal_intr(void); + +static int recalibrate = 0; /* 1, wen */ +static int reset = 0; + +/* + * This struct defines the HD's and their types. + */ +struct hd_i_struct { + int head,sect,cyl,wpcom,lzone,ctl; + }; +#ifdef HD_TYPE +struct hd_i_struct hd_info[] = { HD_TYPE }; +#define NR_HD ((sizeof (hd_info))/(sizeof (struct hd_i_struct))) +#else +struct hd_i_struct hd_info[] = { {0,0,0,0,0,0},{0,0,0,0,0,0} }; +static int NR_HD = 0; +#endif + +static struct hd_struct { + long start_sect; + long nr_sects; +} hd[5*MAX_HD]={{0,0},}; + +#define port_read(port,buf,nr) \ +__asm__("cld;rep;insw"::"d" (port),"D" (buf),"c" (nr)) + +#define port_write(port,buf,nr) \ +__asm__("cld;rep;outsw"::"d" (port),"S" (buf),"c" (nr)) + +extern void hd_interrupt(void); +extern void rd_load(void); + +/* This may be used only once, enforced by 'static int callable' */ +int sys_setup(void * BIOS) +{ + static int callable = 1; + int i,drive; + unsigned char cmos_disks; + struct partition *p; + struct buffer_head * bh; + + if (!callable) + return -1; + callable = 0; +#ifndef HD_TYPE + for (drive=0 ; drive<2 ; drive++) { + hd_info[drive].cyl = *(unsigned short *) BIOS; + hd_info[drive].head = *(unsigned char *) (2+BIOS); + hd_info[drive].wpcom = *(unsigned short *) (5+BIOS); + hd_info[drive].ctl = *(unsigned char *) (8+BIOS); + hd_info[drive].lzone = *(unsigned short *) (12+BIOS); + hd_info[drive].sect = *(unsigned char *) (14+BIOS); + BIOS += 16; + } + if (hd_info[1].cyl) + NR_HD=2; + else + NR_HD=1; +#endif + for (i=0 ; i are the primary drives in the system, and + the ones reflected as drive 1 or 2. + + The first drive is stored in the high nibble of CMOS + byte 0x12, the second in the low nibble. This will be + either a 4 bit drive type or 0xf indicating use byte 0x19 + for an 8 bit type, drive 1, 0x1a for drive 2 in CMOS. + + Needless to say, a non-zero value means we have + an AT controller hard disk for that drive. + + + */ + + if ((cmos_disks = CMOS_READ(0x12)) & 0xf0) + if (cmos_disks & 0x0f) + NR_HD = 2; + else + NR_HD = 1; + else + NR_HD = 0; + for (i = NR_HD ; i < 2 ; i++) { + hd[i*5].start_sect = 0; + hd[i*5].nr_sects = 0; + } + for (drive=0 ; driveb_data[510] != 0x55 || (unsigned char) + bh->b_data[511] != 0xAA) { + printk("Bad partition table on drive %d\n\r",drive); + panic(""); + } + p = 0x1BE + (void *)bh->b_data; + for (i=1;i<5;i++,p++) { + hd[i+5*drive].start_sect = p->start_sect; + hd[i+5*drive].nr_sects = p->nr_sects; + } + brelse(bh); + } + if (NR_HD) + printk("Partition table%s ok.\n\r",(NR_HD>1)?"s":""); + rd_load(); + mount_root(); + return (0); +} + +static int controller_ready(void) +{ + /* int retries=10000; */ + int retries=100000; + + /* while (--retries && (inb_p(HD_STATUS)&0xc0)!=0x40); */ + while (--retries && (inb_p(HD_STATUS)&0x80)); + return (retries); +} + +static int win_result(void) +{ + int i=inb_p(HD_STATUS); + + if ((i & (BUSY_STAT | READY_STAT | WRERR_STAT | SEEK_STAT | ERR_STAT)) + == (READY_STAT | SEEK_STAT)) + return(0); /* ok */ + if (i&1) i=inb(HD_ERROR); + return (1); +} + +static void hd_out(unsigned int drive,unsigned int nsect,unsigned int sect, + unsigned int head,unsigned int cyl,unsigned int cmd, + void (*intr_addr)(void)) +{ + register int port asm("dx"); + + if (drive>1 || head>15) + panic("Trying to write bad sector"); + if (!controller_ready()) + panic("HD controller not ready"); + do_hd = intr_addr; + outb_p(hd_info[drive].ctl,HD_CMD); + port=HD_DATA; + outb_p(hd_info[drive].wpcom>>2,++port); + outb_p(nsect,++port); + outb_p(sect,++port); + outb_p(cyl,++port); + outb_p(cyl>>8,++port); + outb_p(0xA0|(drive<<4)|head,++port); + outb(cmd,++port); +} + +static int drive_busy(void) +{ + unsigned int i; + + for (i = 0; i < 10000; i++) + if (READY_STAT == (inb_p(HD_STATUS) & (BUSY_STAT|READY_STAT))) + break; + i = inb(HD_STATUS); + i &= BUSY_STAT | READY_STAT | SEEK_STAT; + if (i == READY_STAT | SEEK_STAT) + return(0); + printk("HD controller times out\n\r"); + return(1); +} + +static void reset_controller(void) +{ + int i; + + outb(4,HD_CMD); + for(i = 0; i < 100; i++) nop(); + outb(hd_info[0].ctl & 0x0f ,HD_CMD); + if (drive_busy()) + printk("HD-controller still busy\n\r"); + if ((i = inb(HD_ERROR)) != 1) + printk("HD-controller reset failed: %02x\n\r",i); +} + +static void reset_hd(int nr) +{ + reset_controller(); + hd_out(nr,hd_info[nr].sect,hd_info[nr].sect,hd_info[nr].head-1, + hd_info[nr].cyl,WIN_SPECIFY,&recal_intr); +} + +void unexpected_hd_interrupt(void) +{ + printk("Unexpected HD interrupt\n\r"); +} + +static void bad_rw_intr(void) +{ + if (++CURRENT->errors >= MAX_ERRORS) + end_request(0); + if (CURRENT->errors > MAX_ERRORS/2) + reset = 1; +} + +static void read_intr(void) +{ + if (win_result()) { + bad_rw_intr(); + do_hd_request(); + return; + } + port_read(HD_DATA,CURRENT->buffer,256); + CURRENT->errors = 0; + CURRENT->buffer += 512; + CURRENT->sector++; + if (--CURRENT->nr_sectors) { + do_hd = &read_intr; + return; + } + end_request(1); + do_hd_request(); +} + +static void write_intr(void) +{ + if (win_result()) { + bad_rw_intr(); + do_hd_request(); + return; + } + if (--CURRENT->nr_sectors) { + CURRENT->sector++; + CURRENT->buffer += 512; + do_hd = &write_intr; + port_write(HD_DATA,CURRENT->buffer,256); + return; + } + end_request(1); + do_hd_request(); +} + +static void recal_intr(void) +{ + if (win_result()) + bad_rw_intr(); + do_hd_request(); +} + +void do_hd_request(void) +{ + int i,r; + unsigned int block,dev; + unsigned int sec,head,cyl; + unsigned int nsect; + + INIT_REQUEST; + dev = MINOR(CURRENT->dev); + block = CURRENT->sector; + if (dev >= 5*NR_HD || block+2 > hd[dev].nr_sects) { + end_request(0); + goto repeat; + } + block += hd[dev].start_sect; + dev /= 5; + __asm__("divl %4":"=a" (block),"=d" (sec):"0" (block),"1" (0), + "r" (hd_info[dev].sect)); + __asm__("divl %4":"=a" (cyl),"=d" (head):"0" (block),"1" (0), + "r" (hd_info[dev].head)); + sec++; + nsect = CURRENT->nr_sectors; + if (reset) { + reset = 0; + recalibrate = 1; + reset_hd(CURRENT_DEV); + return; + } + if (recalibrate) { + recalibrate = 0; + hd_out(dev,hd_info[CURRENT_DEV].sect,0,0,0, + WIN_RESTORE,&recal_intr); + return; + } + if (CURRENT->cmd == WRITE) { + hd_out(dev,nsect,sec,head,cyl,WIN_WRITE,&write_intr); + for(i=0 ; i<3000 && !(r=inb_p(HD_STATUS)&DRQ_STAT) ; i++) + /* nothing */ ; + if (!r) { + bad_rw_intr(); + goto repeat; + } + port_write(HD_DATA,CURRENT->buffer,256); + } else if (CURRENT->cmd == READ) { + hd_out(dev,nsect,sec,head,cyl,WIN_READ,&read_intr); + } else + panic("unknown hd-command"); +} + +void hd_init(void) +{ + blk_dev[MAJOR_NR].request_fn = DEVICE_REQUEST; + set_intr_gate(0x2E,&hd_interrupt); + outb_p(inb_p(0x21)&0xfb,0x21); + outb(inb_p(0xA1)&0xbf,0xA1); +} diff --git a/linux-0.11-lab/0/linux/kernel/blk_drv/hd.o b/linux-0.11-lab/0/linux/kernel/blk_drv/hd.o new file mode 100644 index 0000000000000000000000000000000000000000..5ac5783d7fdc4d39f17d41386cc27f187ee31410 GIT binary patch literal 15516 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/kernel/blk_drv/ll_rw_blk.c b/linux-0.11-lab/0/linux/kernel/blk_drv/ll_rw_blk.c new file mode 100644 index 0000000..f57d998 --- /dev/null +++ b/linux-0.11-lab/0/linux/kernel/blk_drv/ll_rw_blk.c @@ -0,0 +1,165 @@ +/* + * linux/kernel/blk_dev/ll_rw.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * This handles all read/write requests to block devices + */ +#include +#include +#include +#include + +#include "blk.h" + +/* + * The request-struct contains all necessary data + * to load a nr of sectors into memory + */ +struct request request[NR_REQUEST]; + +/* + * used to wait on when there are no free requests + */ +struct task_struct * wait_for_request = NULL; + +/* blk_dev_struct is: + * do_request-address + * next-request + */ +struct blk_dev_struct blk_dev[NR_BLK_DEV] = { + { NULL, NULL }, /* no_dev */ + { NULL, NULL }, /* dev mem */ + { NULL, NULL }, /* dev fd */ + { NULL, NULL }, /* dev hd */ + { NULL, NULL }, /* dev ttyx */ + { NULL, NULL }, /* dev tty */ + { NULL, NULL } /* dev lp */ +}; + +static inline void lock_buffer(struct buffer_head * bh) +{ + cli(); + while (bh->b_lock) + sleep_on(&bh->b_wait); + bh->b_lock=1; + sti(); +} + +static inline void unlock_buffer(struct buffer_head * bh) +{ + if (!bh->b_lock) + printk("ll_rw_block.c: buffer not locked\n\r"); + bh->b_lock = 0; + wake_up(&bh->b_wait); +} + +/* + * add-request adds a request to the linked list. + * It disables interrupts so that it can muck with the + * request-lists in peace. + */ +static void add_request(struct blk_dev_struct * dev, struct request * req) +{ + struct request * tmp; + + req->next = NULL; + cli(); + if (req->bh) + req->bh->b_dirt = 0; + if (!(tmp = dev->current_request)) { + dev->current_request = req; + sti(); + (dev->request_fn)(); + return; + } + for ( ; tmp->next ; tmp=tmp->next) + if ((IN_ORDER(tmp,req) || + !IN_ORDER(tmp,tmp->next)) && + IN_ORDER(req,tmp->next)) + break; + req->next=tmp->next; + tmp->next=req; + sti(); +} + +static void make_request(int major,int rw, struct buffer_head * bh) +{ + struct request * req; + int rw_ahead; + +/* WRITEA/READA is special case - it is not really needed, so if the */ +/* buffer is locked, we just forget about it, else it's a normal read */ + if (rw_ahead = (rw == READA || rw == WRITEA)) { + if (bh->b_lock) + return; + if (rw == READA) + rw = READ; + else + rw = WRITE; + } + if (rw!=READ && rw!=WRITE) + panic("Bad block dev command, must be R/W/RA/WA"); + lock_buffer(bh); + if ((rw == WRITE && !bh->b_dirt) || (rw == READ && bh->b_uptodate)) { + unlock_buffer(bh); + return; + } +repeat: +/* we don't allow the write-requests to fill up the queue completely: + * we want some room for reads: they take precedence. The last third + * of the requests are only for reads. + */ + if (rw == READ) + req = request+NR_REQUEST; + else + req = request+((NR_REQUEST*2)/3); +/* find an empty request */ + while (--req >= request) + if (req->dev<0) + break; +/* if none found, sleep on new requests: check for rw_ahead */ + if (req < request) { + if (rw_ahead) { + unlock_buffer(bh); + return; + } + sleep_on(&wait_for_request); + goto repeat; + } +/* fill up the request-info, and add it to the queue */ + req->dev = bh->b_dev; + req->cmd = rw; + req->errors=0; + req->sector = bh->b_blocknr<<1; + req->nr_sectors = 2; + req->buffer = bh->b_data; + req->waiting = NULL; + req->bh = bh; + req->next = NULL; + add_request(major+blk_dev,req); +} + +void ll_rw_block(int rw, struct buffer_head * bh) +{ + unsigned int major; + + if ((major=MAJOR(bh->b_dev)) >= NR_BLK_DEV || + !(blk_dev[major].request_fn)) { + printk("Trying to read nonexistent block-device\n\r"); + return; + } + make_request(major,rw,bh); +} + +void blk_dev_init(void) +{ + int i; + + for (i=0 ; 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 J#}pn@_ + +#include +#include +#include +#include +#include +#include +#include + +#define MAJOR_NR 1 +#include "blk.h" + +char *rd_start; +int rd_length = 0; + +void do_rd_request(void) +{ + int len; + char *addr; + + INIT_REQUEST; + addr = rd_start + (CURRENT->sector << 9); + len = CURRENT->nr_sectors << 9; + if ((MINOR(CURRENT->dev) != 1) || (addr+len > rd_start+rd_length)) { + end_request(0); + goto repeat; + } + if (CURRENT-> cmd == WRITE) { + (void ) memcpy(addr, + CURRENT->buffer, + len); + } else if (CURRENT->cmd == READ) { + (void) memcpy(CURRENT->buffer, + addr, + len); + } else + panic("unknown ramdisk-command"); + end_request(1); + goto repeat; +} + +/* + * Returns amount of memory which needs to be reserved. + */ +long rd_init(long mem_start, int length) +{ + int i; + char *cp; + + blk_dev[MAJOR_NR].request_fn = DEVICE_REQUEST; + rd_start = (char *) mem_start; + rd_length = length; + cp = rd_start; + for (i=0; i < length; i++) + *cp++ = '\0'; + return(length); +} + +/* + * If the root device is the ram disk, try to load it. + * In order to do this, the root device is originally set to the + * floppy, and we later change it to be ram disk. + */ +void rd_load(void) +{ + struct buffer_head *bh; + struct super_block s; + int block = 256; /* Start at block 256 */ + int i = 1; + int nblocks; + char *cp; /* Move pointer */ + + if (!rd_length) + return; + printk("Ram disk: %d bytes, starting at 0x%x\n", rd_length, + (int) rd_start); + if (MAJOR(ROOT_DEV) != 2) + return; + bh = breada(ROOT_DEV,block+1,block,block+2,-1); + if (!bh) { + printk("Disk error while looking for ramdisk!\n"); + return; + } + __asm__ volatile ("cld"); /* by wyj */ + *((struct d_super_block *) &s) = *((struct d_super_block *) bh->b_data); + brelse(bh); + if (s.s_magic != SUPER_MAGIC) + /* No ram disk image present, assume normal floppy boot */ + return; + nblocks = s.s_nzones << s.s_log_zone_size; + if (nblocks > (rd_length >> BLOCK_SIZE_BITS)) { + printk("Ram disk image too big! (%d blocks, %d avail)\n", + nblocks, rd_length >> BLOCK_SIZE_BITS); + return; + } + printk("Loading %d bytes into ram disk... 0000k", + nblocks << BLOCK_SIZE_BITS); + cp = rd_start; + while (nblocks) { + if (nblocks > 2) + bh = breada(ROOT_DEV, block, block+1, block+2, -1); + else + bh = bread(ROOT_DEV, block); + if (!bh) { + printk("I/O error on block %d, aborting load\n", + block); + return; + } + (void) memcpy(cp, bh->b_data, BLOCK_SIZE); + brelse(bh); + printk("\010\010\010\010\010%4dk",i); + cp += BLOCK_SIZE; + block++; + nblocks--; + i++; + } + printk("\010\010\010\010\010done \n"); + ROOT_DEV=0x0101; +} diff --git a/linux-0.11-lab/0/linux/kernel/blk_drv/ramdisk.o b/linux-0.11-lab/0/linux/kernel/blk_drv/ramdisk.o new file mode 100644 index 0000000000000000000000000000000000000000..1abb642d433cbe4b629bcf8510bd6c4e6d3dfec6 GIT binary patch literal 10660 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 b+;7nC^MV#o2hVR1BG*wO_cTQARfzus7wvEC literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/kernel/chr_drv/Makefile b/linux-0.11-lab/0/linux/kernel/chr_drv/Makefile new file mode 100644 index 0000000..9d4d8d1 --- /dev/null +++ b/linux-0.11-lab/0/linux/kernel/chr_drv/Makefile @@ -0,0 +1,68 @@ +# +# Makefile for the FREAX-kernel character device drivers. +# +# Note! Dependencies are done automagically by 'make dep', which also +# removes any old dependencies. DON'T put your own dependencies here +# unless it's something special (ie not a .c file). +# + +AR =ar +AS =as +LD =ld +LDFLAGS =-s -x +CC =gcc -march=i386 +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -mcld \ + -finline-functions -nostdinc -fno-stack-protector -I../../include +CPP =gcc -E -nostdinc -I../../include + +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< +.s.o: + $(AS) -o $*.o $< +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< + +OBJS = tty_io.o console.o keyboard.2.o serial.o rs_io.o \ + tty_ioctl.o + +chr_drv.a: $(OBJS) + $(AR) rcs chr_drv.a $(OBJS) + sync + +keyboard.2.s: keyboard.S ../../include/linux/config.h + $(CPP) -traditional keyboard.S -o keyboard.2.s + +clean: + rm -f core *.o *.a tmp_make keyboard.2.s + for i in *.c;do rm -f `basename $$i .c`.s;done + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +console.s console.o : console.c ../../include/linux/sched.h \ + ../../include/linux/head.h ../../include/linux/fs.h \ + ../../include/sys/types.h ../../include/linux/mm.h ../../include/signal.h \ + ../../include/linux/tty.h ../../include/termios.h ../../include/asm/io.h \ + ../../include/asm/system.h +serial.s serial.o : serial.c ../../include/linux/tty.h ../../include/termios.h \ + ../../include/linux/sched.h ../../include/linux/head.h \ + ../../include/linux/fs.h ../../include/sys/types.h ../../include/linux/mm.h \ + ../../include/signal.h ../../include/asm/system.h ../../include/asm/io.h +tty_io.s tty_io.o : tty_io.c ../../include/ctype.h ../../include/errno.h \ + ../../include/signal.h ../../include/sys/types.h \ + ../../include/linux/sched.h ../../include/linux/head.h \ + ../../include/linux/fs.h ../../include/linux/mm.h ../../include/linux/tty.h \ + ../../include/termios.h ../../include/asm/segment.h \ + ../../include/asm/system.h +tty_ioctl.s tty_ioctl.o : tty_ioctl.c ../../include/errno.h ../../include/termios.h \ + ../../include/linux/sched.h ../../include/linux/head.h \ + ../../include/linux/fs.h ../../include/sys/types.h ../../include/linux/mm.h \ + ../../include/signal.h ../../include/linux/kernel.h \ + ../../include/linux/tty.h ../../include/asm/io.h \ + ../../include/asm/segment.h ../../include/asm/system.h diff --git a/linux-0.11-lab/0/linux/kernel/chr_drv/chr_drv.a b/linux-0.11-lab/0/linux/kernel/chr_drv/chr_drv.a new file mode 100644 index 0000000000000000000000000000000000000000..8f9e7e9e6efb5f34c78d20517de1327d95899608 GIT binary patch literal 68886 zcmeFa3w#yT)iypeXU@qaImrnmK!6A*5EL}z0s#U9IY5xRBBByNLr6|YBsY?CxF`ZP zPzezWw%Xca5ihM)X>F^Pidt?8w%TH=Ro~w5T4K}|@on+ee9yCI&B-KS)%X40_xJyP zew2Fd;YCb;}<;V$|p{1^FWig26l$AY!nOAZ%j`DwNN5{Uh+ z<|Z_Z={0Tg{FNDaNwnYm(y07_|4wZyEDQMmoZ1*av zGn4-2W5%X^fsJcnEAZreJMUXUX^1-ZKwy&(xoo=^aaEEbXj?FM9dkBt{Rk!8P;4R? zrGI*(F&E_ePHC44*rxPYGhaSND4Pkiq-Av+wXM&`k+6@iRPQ!QR9GjqVF6@lBNNXY zXUoQvB~V~psG5%SaaBMssQ?p4yKOz%kt-}!!VFZ-XCyiP3nrQBGHWLp^|qxTITio^ z>-F7M*|pX5Qxy~Cc_Z&|Xeg>jYn#$lrEgaiXlQLgsKm<4=DNUDD?RK8eR29Rp{EpE z!KQC_Wz`{0kI{AjWl&u$@U^cKr|KUj6K+8ggw!=&W_x*E@EAKZh>v95S{v5MQ&pk z?~La@?FTk3{ivgZVcx}1YLPb6d?*{23tqH}TZ*%?(X6sijT$aOA!Ah>V7j&@VGnwJ zN83d9!}(dEmZSPU{pkK<-j)OVU-Rlm)!7x1gS!~Bb;E2N53uSIv?bI#@aWMNXd61B zL7a}Hf?Gm;&^EyhMGEO!GlxUH%u;etI@an4bK zoX4{BC^er-TiKf`UUs$?9HNi@iHg6$NlYby0tUBiG~`^(o+@d(T1l`)rNMK7QrHr* z&!&+$^q)QnQHf>uZ#D`YI=Wf1Sq{h|sZLA`_Tu(%{Mhby zL^RfXs0h7{HCTX(N{7unyO$NldRaRwl~?!A=w)ebKcNPOqTUcr>Mdv_NvLaACcJIm zfkqq8&QMFIhV`Ev9Wuzl2-Z}ipuomg&|P>wO^WuSJr%(5j10p1smnt&H5L|R(^n%d zJ7j@M6wR7LU^}`Al}U%y83DWXH2uDt|pt-qDDk*txhy%6JxQ@8_!Wi z#&gHr<2eka)6oD6?aaVvx6E`sTYqMLaEJ=Ebv(PKwQie^3h&H(XTQbOXVdn7sk1Ap zfrGQO77otr$X^PfwMJmwg%4Dz}Xr&TLWin;B#wW zyrc0s^NUlsMRayMTLWin;A{=B2F{)j&bEWIHE^~D&ep)$8aP`6XKUcIYTygcFYp}p z>~^*W&ep)$8ek2aI(t4i+Yrvyz}Xr&TLWin;A{xNjb5%l9nhmy!1SSRmj0 zK|T~K@F?laDNiv1+sItW+@=|Ud1My61}5DIJQZUyi~tXU9TGHBmNqUICd&vQK$xLM zN<(#p<}0D;Y$GtAA&SW}0>5Ks6jOjWF{aQ6{58fD87Wa3SU3(bLq;HAMW*dR&%+6J0<{E)iT2st?BXAiF zC}x2X7!+d`8v!e(w!{c5qJgWKXoZo2#Za1W3G1!O2wcpNGKSQk4pt#=OXnkIgAw>G z4V06K7=iW7P6e6OM&K*VXqa`q)(G6hL@P(&@N6(rYAPa{uWCA&qeutq#C+GhggD0y zv;?lX@iU=*h|z-$#L~Pg5n32`RU*LmAjdY&hyoiuA%)AKAm(e>5;w++NmR5;5&}rxO&o~e6NyjAU)bQgZ5XD z9;109NFXIH!kYB;(h(440-A3c>6N4n-+QE2kv4rlWn!zTZuxFt=GL$=_)(v%MsFEZ zYkWfwBRsKu6^`C8wh}F|iS+rT&BO@l3rJgumDLTJFPpSKv9cV;XE^DU#LD`5&6h(u z4K(Drq|<#zVc(ZW^BJ0-A|6h4@KQBzALQT#-$-^%-$PU^poZofhXVUXkv0>Xn({Q? zXwsH%BIRR9`ytQQe1)V_e8rTHC7lNO2pAxpo><;EQuB=`osk%3#*0V?eZQvu1kzcF z;j-15??Tc;6T{^Wot+r2aOk|m@KT2^NDMc@&P3`LLJm4ax(M=W%{Pg32ysDACS44< z=9@xtdLpZ2W^Vg~6YzVq?xn@PID z_jl5>7NS0@G=B{k_90cZ12z9-(A=e}<4yJu|9)sKaHNLj4d4J|S)+GDE^#hvui~2`7;hE%`sGV#cS$ z#ldoK1DA##w4nL^gjn%CNt?cJQ=UrN@?D8k;?vmY{E17Wm0EnSHppSA2mwp{@xzzX z67wFP!_sIzo?+v2c}B|eh4CAoM|!A_>*C_`*Frtp#}!2JBbc$gz0MUo1VxykfMe3>7qF6>fi*9T;)2cONg-x&4`aQwe*FJ!tLKV9bu~SD=|5}oW zjr_6>`n^ZZue=VeGNrjKruh{|Gkqa-ZYoCfRHf5@KP_$Nf!m80y!9Q=$1=BFGM84a z8DFQ^*j|tEi0@a3n9&!F(s+xR?1>`O!K%JvO+2jL%>>@!cmz4?!$x4dB~{a>u2JF` z+pRQJ0mtn$mN1PryFRZ>TMF8aQgcoXs^56qu8gX4u4byjEjZ^!CM8_OIe({SJ3E-M zeX%y+yHp*dGv)>i!g}&B?)Vrv9H??QNS7=IRTc;7lE)zPXh%aPGq|Yg-sWZex?c7hm`!>&~7SGYRdO>jR z8cJI?L3$o5#m_GBZ6}tY4IPbeW8@Y{?2`G}M)o=iUTx@J)?oPqF$GQUp$|z;P4p!9 zPwt`j^riGcc$Su!cp*d>oeBvnW^c`tJT7s3;tVu0Z>sJ|PD~`LgY_lF!U_{{QR}6j z*Ozk3t5G{X0D~kFdTHnN#pMj@mTijaeqEoDO7)~nsOO@^CM)w^$9%wL9-%3&=wN%O zSg_MG2bp4=^ZL$6Wnn_;-<+)Sk?M`*&p?k)D~P2}w%55Tm%TfqcZu8wktMg(PS4RM z_I1*+6>po2LiNqjyUQi@e%%d2pT+HedJGB4aECZ$k+5@+c{vWu&VZPzx3k!yI#7!3 zosmk_pcF*dOfe+vAgL5#2fOXYipgwe#VP|2CtId7Dz+@Wqc zGlKyLS{in=EcMGDXYxdP44blc7?iGmoScMTUG*jKIXSubudXYviB^Pj%bIGnt`ayM z=ql;T<j{)ywM2YCt15Rq%)a z3fXNcuL=uUNkxd@$Dp>lo(wc$%$AnZlr2N2QN>Liygk>GnzM7KX?T9E&74qDGH2rM z+?|+n>Ap97)^6)HMb7lCnlm9Ym-OrSF?^5ttU;M`CRn?3yGb91bnl#rCC0GS=$p|u z7pmwH-!mm|D#{q#lkvZcAI}2cEGyHhTJ%!X7?Fzq52)c;Wj#m@E2@4^P_~jkuXz%` zvd~&aQibW(iIuOb{5%^fD_`r86dVw>5zY7WFbl zNtzF@H%94DHGEdkhkC#{)=HgoVe=*>!%W%KBfg#1-Z!mfFNwuyb7zbi_(8j}AM@>v;#h3#jHgObVx{gaDLHBDqjFwiRkM~} zvNMV#m+eFiEwszp^^ncB%jT(fYAoXOq@un~DkGj{3q1WF-0SHvbAokpPAZns>v~h9 ztT9rG-}2>JMYyRPWMi~EqJ`@!N-N4DWm;2NX=P0r2DOpKvhr~0(&|WUS%X$xT8Eyo zya_~Eq`Ee&MeX0(vZm!)Wm%*u+^9vH!WE^ppf$SmXn?PfX%}A}oDwX^DaPh!ow@0b>)%j`no2F>gtE9 zOb>5ptdE4tBlV4{|Ai}p%!*DB7QP#Ky8EguNmjh~*I}xNeMs?s7(Qq`((CTZ$ z$Y2@#mekbOEerDAOC^*m7}!wV5Z20S${OLYq_m#(poKZvwTr3~cEeKMsBCm~mJ&PFC`TuyE3~CJP%vD#T%*$! z2)emrX~My5z=6`Dbvz%TK3E{+MP;iJUR&r?r5ZWmQBx)EqFG(ayA<}3uc~j11iOSb zMBxmksdVWY)E1^wdHl)e&j^@|HXxd+OSGtRR$xP8bv-=7@F2kbi&hIaFSSutWwpwU z_`5scY5ta6nnNXY!nbx<|*TtcKT}YpN?Nt1-o_EN#G~+dewgH4WM_ z6ws++^fFdgRasqKSp3)2!6%Pu6!g;5R0B6TsLaxEZ3AlAz5rsEpg?Wg^P2Pi|FxZ8*0sS`o>uZ?dn4!}D_T^M}`z zEzQld1-Z+^jmToIa`e-84m+~}T&#~#(&eQa@mfqiQnwxRCcSax#<2+EClx#H{vkxZY zQqDMqBB!1Z*r_2#~739uj5b`vmA=#w<2J8=Dr#;An5z+q^*w?X_ ziQKr#)_(}RGm)eICD3Ocj$n7@bCBnGe&$7pU5+<^&V&tNA$RK;MVBpI+K7{eE3~Y!tZo^)j7y|CtwcaNT26U=EeC2^P8}`_Ik@21 zmkB#gxT;iLT2xNI(9b|-kuY2UlFmC;^V{RGSp2fjmjX;cnReaVzCPvyY z;W6;DH~0@I=ll1kC8iRwkapCAT{behnbzT zIbkfHJKdX*?lC0BbXf;Zy2YTKI3P9e1Wj9G57EiS!me=9l&_npX+aXQIW~|?mvn2c z_tJ-ULJOCuT0jozc4Y` z7{+~rprf~Enx>r(nX@^1EfA1)w%4HN-kh*IASCTn*&EPfUv@Sp3%5hyF2_ccV+mv| z2kXbF7v5=dRf9HkhNgWVGG}v4yVGP?`W%!EnP4C9iJkUnmub4~ed`k3@^*|M%teCh z+}v_gJHh++v8}7eG}?EkK;El4O_JwX1F6ujfOGGS{2=hoIg)%n_}8(QVJDB~pf;96 zhduY^iS=Sz>QODCQv=VeIvG$N)lxb|9!)v>hzUHJdW_`aS#zD62RWZDY!Dr~2Q0Eb zI2*N>I1G?{HFoOqJWl-x(7A^6M2W5k?`+iH_-nrf|KJT(Q8}mz7Ud}a#;d}taC z*BkPkb8+{$$vsSs4S8gY zAsnHpk(J}Huo_+#OYMAcq$xv_GmQ_scviGWOfqL!Rkl2g5w^;t8kRZZN7oREcN(G? zTK;?gi|V{(^wBh4J9v9#0Z{L!Y0Ctg1=*G;e;jDw0=J($ZpHLOwUh4yBtMgglLsF$ z=mX(3N$>+=(7u;Jc>w1b;_uNp4czWA&^?I>allMXn+K$wMMT)$O&qLgFADz$;R864 zGdw7GuHaa~J?O@acZ>+Vw}k&t_$fHaP(Dv^4-x6UB>Ze#Ao!rKLhw-{^1WB^5E12i zQTV?Io**J#6K>@i=)*tYEnV3C3HbqdkfDLciTftXal(BEbx&k}r(TxeP{C}$Ji!7% zUWaw01v8qClOxalM7ok9qDnO#b&V?3beyt=ik!!r;kZ;QEEb$0sIJurze@O}g0+Hc z1UCt87gX0W#5*ATn}WOt$Mli~`w6lSQ$9lQLP6DzAm{mp;T3`_1lI|EOYkRxzYu&@ zknd73{z*YzWXbmvJWr4=Gbx`Wc(LFj!79P1AfJ6xe}^F7NFaYu@TlOQ1p9mJ@bd&m z3evq9w;@q#$0-Q1Sd|tBjv6 zm?fAeSR_biMATa($mas&Ulx2r@b7}Sldr;Y4_V<{!2~p1#_KIuA{Z82A$YxDi{Pz- zy9A#U{FUHKg0BnyP0-@`0_pV<%oH3hI970~;H83B3pNXGCE}Rw5dMJR5s|+s{0D*` ziQLQc5zduU4>0p#ZHIxHeVWh2x`*g&Vt7iMv=< zkXECioIRR%QxUGath)p6~-dI=X8pP(QGXDs+%|cOHm?A62&Y3WC@}t@qls zcEqCME?i}l=fC~OQ4y;vv1 zo^Sc3JFm~b-FgmVw?g zITm`@O98ios-wgC;Lu%EY(8$N=t??WohOvM<$zsHl`Y1>D=)L1h-WmP(jyl%pE4pB zA->VxDE*0cn9}pd;T+O$N5{FQy-4!H2I&eX3q`9v!|rjaV+Ve8Kt*-}x5-hWxADbU zmeV!hU3?Lmkvl^Zn4t<}$lJCJmRozVr1r`10M38wB@s%QiLP0kby{^XXDYUBXzbCI zh8+p+HM>`BOqWLgZH`fa@Da<7s}d>b@D4-!V4DcE z_j8CIHqp>-iOx2tugA{XxQ;sKVAUKx|EwMOj2LG)Yr_*L3X{=* z7$3FgqBQW5UVyx0Y)Qax-sagxNQ5pwnQ)z6fIQQYYQ`3A_JeTurY zFbUNgL0GD1-OYZcn&RCdP{%L*Soy{DD>)2WO6=HRr7~*w);1wlfc7*-s%#B0qZaar zoLNTfs97*D_CVtwV$EEsDBt;CG>5-9^;tQL4Fy&vDiS$0+k3#Pr>R8~aOgN>(c0s1 z%4o5@f0|q8cEA;`37@F%9CStxCSs@9<@}7;KRi=xRWhXUxoJOqrr1o7gP6}v`-L;b zW+%V<9{kvc^gd8%Rn{&NXbB8qFn^uGGI0iqo{Rgg#5Y|U( zyEdZXE|$5l$8MdY8zp1=JAUtn@Sm$%;sJa+p#PR35Tb7wO4hv3bz%=GBW>s5xHHZE z(ZFFZbH;Yi)wbN4t~+h-p%!UAK6;(fX+9RW`M^Wgu%oP6m5dT&AjN|lcoI_h z<36Cu7#rxhPWdapc>RUZf#4Rne|&on<{%Db_#=)|8)v3%T;*U_5|ULpTom=&0u1)G z_9&xFji%d|a`rHMS%Rv^n?8X1g|}6}XY_ zJEFtf1dWbkyBH6-OH{=4yUEJT$FQAE#)-C{(ZZh@ zjgi%1mRXV$Z40CEh2ArzrXsW^F|OUA;oKdKqy;|4=P@4F4g8yU%wB6R#^#9MiJ8ur zkAFr?TiwnmhdHqZ`PvD@`s!!K;^0)}M21JPct2pgi#y|Wt9@p!OEq3g{Q;k$zpDc3 z>IjmUem8$5$0VIP9Zehm0fEX9d&fHX0B<|umV8Rdqi)Fzo_g+aOMXhpEpACUB^%t5 z7uhveC@S~mI5ChwET%gl`FFwTjOxaj1~r{bdF!(I*q`OFepK@bmnKnw!$ zhzIwrRdSAcN~HhOUK2sV!`=*lwjoht)~b=U_H}kpiUbAiAkN&|%Ow%0OCm2giM;sP ziDZhUeYT}0TIy>j(nEsow1fB@ytNlAK+UT4qs_-HwDy$t0jSs%d)SwPOLW@SnR?6Y zth6mXH>Y6Om4eVTHSm17b2i@Ei&YrA6T-@osr+Ft$AjGLV;=&wM@J3ub38})@R6qa zFptx2*S*)#@pB7V+skK8k1-;YEL@I{Rz9YEtwnE1-IEDn%Yk=zGX)p70It~q9GD@W zLi`xR)J>B;WnHwAp_R-}J~bcN0OiLRs`M1K`Q`VT52f>KP$}Kw#jJlq>nfIvUC*T0 ze8khm_#XDI$EG-G?cp=P$0o;ETqK1(tY$1c7_^Q%mG*WJ;%Bk{P4*XE^q*a{6aL@9 zzrtSsMHBPKk0{q3#688!@GRqP>~oN-pJN|}nN1SzNfl$i4*O5Bzl(h^=16}+cq{OJ z===uwD)y7uz2GV1-p55dvM+;7gXubP7QsIA;-u@y-B@^rG$%r~L*#b@Ct}m4PMcJ# zoj<2|5~*_S{3+8WX%E6U`z?O;XYs2)4vs4axi#YsDK}#jek{Yh2;eEh!!r_^2TKkV zWoo7w*I=L~c&rWI0{r@h;HL_E9Dh2faS28OfLTy9P48_wOxnv$O(X6u3U%wBQ1S9R zB%a_(M8mtM*CH!EKIM4?d%Uvc(GpBb5~tu`KJGCu{skiVx51t{m$5W|5+a$GDhvLX zX?Y%L%fFcN%SikET$*FfpMV^vByl~cc{$}NMpB5(mDhtwGm@TT>;)`tx{<_(A~us@ zB+Y@$W`agC*LT`XmXXAhtj!EHlDWRqETQRaBkB7LQB0nZ#I=StQ(z?hkfv2gp^M%vbKrMO3@UNUEX%#Y{Jn7SOa}W*SMm zX<#w4GuueIk=eP5%v>YsQN~fsd?N{K34~c-Bpsyz6|&e!dLX8@1i7YxtC?tpk&K7I znz@AaR%ImJ&X6*O)SwQq63|>4K+Fcjq3Lom5hE#u)muSkwUIP}>4aI=YmKA}Au}uI z;P7lPlDU@6tSSd{6zSl#E%Tc95svkp2`1kf@NL8ohk&ZFS(*_*B8A?oo`yyLckts? znbiDz?CUM1w&8C5=~LF>iIG3;b22>q(FD&m-MHdbIx#?XMs`MlN6=~DImI<$>y5-NtuXhcHKYr9FtI^BHfxftUMq@uo@#S3wCI8ik<;!R5()=Ic z*EfRcn*Jpa_(t;3TmEY56x35)3s5zMau}wC9tmb0z<3YYsxgPY2HL~*qvkNywC3UZ zQS*G#cx#^Y1*9zx*N>Xnr2QVQA2o-QPVsR4sF_1L4K(Drq|^PAQ3x}S<})-OMQkpr zap0}`r%<97%#rN+{(LGHP($-SLV6Tw)5G6#NrXL-1O)Vz@NP!HFS+H|&u>ql)m&%^bj zHeKN1`cZQt^$Q^f9U@%>d9`LvA{|0p(343QL#~-qNKW^#x{688MlLmTD#^JXtRFQm zB01lK^`quAk_$X|f7zT)a{XgI}l64 zL35X?PB7U6)uo`xks6x8RfSn`qmMx3{|72DZp=k6t@(cn({Y8QP54DW|5WNgiC7q%ra_M-AX{8LpIKzJjELc5gLG#xl&sI;; zrhg_ZSgE8f{~L&4rKxL)hwJjJUiUx_OZyP8#BUA%DlIYZRt`&}`FRGna@oAI{D){G zkMvM~Hg)p93H5CMc&0pp8OuxJ0NENzI%FnIXL1E(uzobK9m*;EK}TVZ6HKPo^Cei) zc{$ZC#;))94TPzMFrzQ9JExXPM-2{#cYosDn_sKk&eFnVK9FuwIfZvvhjm^ z5bd8zqjycEra#NG`*V_R*mOxb9MjR7dhaIvsj8<@$e8mpVA zbGveaAy&y0{TfJE%leKyj0yYmN(Lzp2l76kLDQ$|9DW$vk=aSqo2wr{lyVhiJ)$t7 zc}_wD__DcvnZ8j)sT+XT{yW)~G&f&oB-8|sGqr+uG51&NLy%&zGWr<8Goq}fC63vQ zC^PG@5v?Dl3^=lSH6mTDBDG6SYMm%dt4`92Xu)=-a;<(imP!y$y6sffI#KLY92Su- z$5GL5)cGR8g({V)h}0h|RUwo%s0GiZ(srG171&DGI7-_)l}1qMJNk_=rLQ?k-|1Ak zig~ zv7QC0G3=%h$=FJ1t*{M)ccG(kiXCM%uJC?P#p6Qetiuwf+n|5PU`G6hG3j-H-UGkJ`^ldR@R^FRPS3z>*JVvuLpV8`VOFA z{6$KD8rS+>LP3!&z*I!*o5xz1U<=e8gnzLvF0^ehk-j%lFwxdXryz|rAF>7PwtfFf zjY%6pdObl3N@#SlEf_?>O{~c&wjhgwiz%3D+ZakgBLx@Pf@}zeaOH|V%@*WQuv*in z+iU?@bYWo&$@0U_`V2dqll8tIF%KdLQNRg=KGW7Hrr;~g_AFa49ReT8@t7~EOH2S+ z;3;m_1(0|>OAyv~3Nty|j&Uai*)%c7t}O6c#t{7IKT<8u>$!)L;gmcilKa4%TaD4K z5kCjyc~>y-=LXM#_Co11u7mEn$l2psc8u0wcCM24x|c@#oYl;6&bnl)a}jmCv%)#S zSrVPtb*Z!8wbU7jV9M+)_GKHxGFWFRGTDH$&N{_jXWheIUhP^39b2BucNDv?g3b}! zT~_h->Mq4vVtP!FgdJTa?bBU~1<$xbbzLvrw{zvMfoAM1hIX$VR*Rv#E>6ynSh5=V zoYPk$%i`(*P~_@tQ5-1Qcbms`KvrPKq_RLdv%9t`)}Yf96aB%7ST5hwr&dARBzk~k z01Mn%J}!Wk)#9=My0at``%>eKE1#V^0tnW=kA7}w-v#wKE1$7Y2J4tVZ|yTy6WZ@U zmD9K^Vn&~IuW~N8*E2(^)-wa`b!Ya{x+HcC51< zoSKPsxF@l{nK^iZ3ft!UrNSdz8Jx+#H)}m>tOcG#>p`p8YJU6|&u{TmEbt6iP-{J7 zEyJSZZJwp?dxqz9vi|qyIJR!7gVJ`-O6xICz?#{~Bw0Cgu*!G0m6=yEIQ31eJ0@Bs zI|rw3e`fawgBN>}t)M58W6j#0r}oV4S=QCni#;h2H!gTH*UDvpHH)DPnYhzx-j2<4 z?N?OxXZnuL=~B3jnYqRVs`%6I%G^6=!uH*_++z-s&dFSksJe5;V`?{d#cHPP;@g&Why~&!ecjq&= zSb00QZ@2QIJMW6_yt|X!j0R(Er@3k0+i7jzd8hTJ^^$QeT9B35y!b+6Q0gTY8d+&? zz4^nP20UQt_UcBp#@b$G&{W=7QNOBAmR{ORu$#(OV$t+!ETAN=>9Qodx~?hAm9<>Y z8C#yc6e~b&%U^1tc13klLrvM5(grM6h^nQUaD+fxr!U^dR3jV-+sXbfE#xk5#7c*i z)fM4-E`U`lbDOZ@^o40jdB0d`bea{RxO{;}LJKT0 zB@MZOp`qgVt&hpOX;nHQ4p{{Gg zon`#0%W^FyBfXAGyu^8_UI9&Rkd%6s?v@XuNd-Z?Dz@2m#57lLME`I7`OuCNH6?FUo0;CpPW0RpeiM z^*Co?+`6wF=X6coHUaX65I4#=TXJp?QO4;MCp-^h=RG2>F~8B6l2NY;IMk0|cWxnd*EdddQCDels^i>Z0;yzsfX;0uNA@fT=T?&=I|jnJ z+e8`XgCAgbZaBr#Z}v<{&M;b#*Mm-8sT)L@oO?^%bbsL1Wj)S@u5%9wYt7S)@??{B z#z*YVeIu}Hdd+9c&YdH!SvRowo;EmP1VKFFOrJW3w2<@+FaZsI8ULR-FlFfWvu7~(p2UmRIFWX{bNN5%=Mb8p3wg&=corBKE)%!kamnS!+a zi*VpMC!k9-=avfOd7dpkHVG|=eKT##-4fPwvw_9>o_qtxBId8)LFhO)H&~`HVlzEH z%y8~vsIsCCzSw&HZfp4)>urHr=KufBx_n$Hqd??sOlVYxgOZ12-RI>8^0a0jaHqJ+6auHpgBq1a5ne z!yfCM_WanLjKg~5HW(+XpR(d)V;J|%f{xzram(m@(IGf`+l7t=<-{mOP>Xy4$`h_&|XGHe*~GcIq7yu6M?4+@azML z@fPj`>`XTWJJWRAn?6?4PB=yo<|4s$Zf^OPU;l4v=vpcdw4;OS4diiSzR2V7#Eu_% zzURXHI^k&kvA)UhdEj}@bi$W{=JnX&8$buKv+AkO2g!q6{LP@VTs&{~G7nDt?}5&C z@jnEOs*i>L1T?BR#yERefXpMWZw!AQv@^ya{}Fg+3_<==@Xq*wJpY}s z19=a4XWT$O4!kpFAfE)@85gMdu;*;_2a$?!=bF!OzO3k6@5!GF-nq_`=bB>Y`c9r} zi=FE_d9E>buIJ>h0PkGK$zKKDxrUQ32k%_J$@5)0=h{ua9{fGXuv6cwz~ATM`2^It zu2X+Ac;}i<{u|((Yc6^B=Fxb@?c7fHPr)-|=jKs8!_6mmGN3%Fr*w)u>I~xM1KJK` z!5Mq?M1JmaWr_Xl$Kai@2gCU?j5FRKf2f=Ok#0O6=s05!>i<>3S${oPi=8tK*SP=m z$w9Z#f2RWHTum~+Y2a+r4(gomcJiDW*_^s}z}c#c<*fvpbxo6G*5ypB`21tFwnpRR z!I|VMPjYIe&Dpk^v8ma-%oAOcUs%Cy4(Bcqo&e*aFP`)A(XM+&=(;W7+yZgm335+b z-M4Dob5NNj5@svgbJZ^<%-wD`#colYVTz=pz#Cb87bg{+b9Pd2@P<1Icy_Wpyk=>A zSz`qxxFd{mVvcIxU{W)!&bwAP?rZ{FU(D+=@f^W(1$lm@JYNu(BE^RUX9)6KPrapr z%LG>oZWR26;O&C<3+@rzFZgT0KMKAo_&3211V0wkQ4pr@6Xdy#JkMdobisjwLj={^ z0SGS;ew^SG!MTDwSJ4j7NyHk#6@r`#QO^kZ-~= z{_}$I7@w0*7VIYo7sg7SEvTNfLvMocvjyh~RtWNKIoew-*ev*C!6%4AaGfKfu6`}} zlHf7HHo;Rw*t0NiBBl$TBbXyNPH?8+C4!}b${)rMytobCz$+b3i~OkIe+c%)FoEd| z6C5EpUN9s$RdA-@0>LuDTESIb%M=;TLix+_+vr(VWj<+h&Y~q7XGh-?+Tt2JSB)XBUHRTg69Yh z791*=D>zl~V!`=>3k6FBD+SjIZW3%2+$MON;10ou1)mT+D0oEh*Mctyz9;xk!A}M0 zgrD_c31$fn7aS=#R`5c>#e!kM<$@~&R|?)Fc&p%d1n(5QU+_nQj|e^{cvSE;!4Cv| zxL?V9rwg7hI2LH&rbI~i8G@Gx&KJB&aH(LGV6EUP!L@>$1h)u&P4F9n&k@m{UKRc= z!FL5u3i75j^PMPou3*04IKj&W7YkMqVZTB6Rf5eTZx#MF!JUGS3GNqsjtDz13jasJ z<05}g_>+Pc;3g6Cnt;$ zN+C|y3eo)(B0CDx1bKgk`n)eg3<_om4i(H6%o8jS7X)7x{G;G8!8Zht3%(=xcfk(?PYHe^$O# zH4lP3L-?Rzmf%pqY{5K1H9tbULg9-9LxRPE(*s`(S*%@=-w;9|igf*4L|`e>Pl zVv>nwt?5AZdMmK6lsA)DX#3@4_zcmzSa7*uqu?6B8wGC`{JP+sg6ep}-ZR4U-W~0~ zD)_G8hk{<_8{s_#)w~kCsyECopNL$| z@4)v)-BMr8>wtN}t9c#xD}`SnxK6ND@LPhv7ko`n&A$+zi_dA_$9W2{r{Dm=^9A`q z8-`C7yjYN*Jfgf(P|df%uM>WY;BA8HMR0_3Js9IXCU{s-&95N;i}31|Ztz? z@FBs+1z!<-OYnWce+klGC({`$m?u~yI9+hQ;1avN=Pf56C*>=(emA^gcDZik=V#<+kHO~OQO!%naM!{Ah!tWP;kKhr(-$?j7 z!k-lWU&4DiFF^c!BGM}q{;R@o6@G{C4+!oRJRsrk2!B#|gX4VI>misaIFyL=E)sr@ z@XLj76n>lV-xU54;g$bA#6K+juO<8y;g1R5kK=u$pGky%k?^ww7m9qP;MYWcoACDv zJ}L62gnvQsU6FrCM4MOh3#6CexA_1Oe1GAC!enECmp@LbDJ{yyO!7XB&07X)7y{6O$SBJ%H*@p=Lgd~f0V3xA&Q(*@^< zyhQk`g};V~b56bR&b;FW;cq4)pWhY!0b()Eqr85MvY(srI6gog7z7%?0>SBms|D{9 zZSxv|dpWDwsqMP{_Qmt8t`i(L=7w~W3?^}w_TK`trL&3L#*J#Sm zMe`vuZs5X_MGJmo$I#oKwF#sB;HC3gIX2N+XPTRf6H+GK@G4!qj-P2o`Uf6-*@}4g zw_ELRw#+nJXZkli6Y(8J#p3Z>$-#%rcH^Ox4ZJ{e39z=0YhX3)booDy2JMgyXgg>n z2R95M{_CL48^V8j@E=NTLtxWZ1aBC{gvwt?b`-t+6`L^Hk7iG6EH3h|3PpR{w*8SLo5%}ns)7YO_j)Aw4~~O0BhtqX_C%BO z|FC7l{SdbO0WPNwZrQ*a*+pYl84s`9e=MbPPya>ve`wo>pfQDGg9W2T2lGda%*&oW zX;iRy+LU0) z)#si+bXe&H>*FuIa_YSKC6~{*WbSp>Cux%|E52yj^qI3}j~ld3Tf1<VjXs@m3Y>Kg-sBh~z zSzz&{Lu+4Tf~_<=l2BCE=qtK@m645BK}&v!LJ%!!GO|OqC?#U}Hw@`OVE!MDKSsBW z(vqS#@5xotwtFD`5qi?J|K!d8H(XJc5{PAV$;*Vc4&O4(2q#!4YUpCGEKj_bWqvAdz`q6@e z$Kk=N1AdXX__3hpL!Z1=(f+S5`&K0C`U`FYp@$=)#%PSfaRr~JI2*&bb$>5$I_{;0 zFi*gRQN>4Q)q7LCTr&=OpW1rMctuzhMw(X;27R6$?}<1%AT`>{BO#lUKO)Z0v28Q* zHWv|Dlzi;WA4f+Jcd_>}#>jL^xp@=w-X(ha;Wk< zJoARE$abQmA1KP~?L@}_hg7I*gMpoS)zv#+MBLT z0g>&nusj2FwTr(DG%pwSrmL0nJf%B4ugE-|*c;ws0>LhCZ+MRh1TP)-rfUr#cq*|s z9q+W*mkNj90D`9ud(*WR5WIBQo36e)(>qoH_IGEVinUu^<9l;F)j0ahD=#GuzZ(QE zFAo1>5WI9a{2maMF8&GdzjoO_1paHT@FU)&9Xu~f_NHsc zL7a5)C%_+b@gIWc_|M+(<{fAbNF3e|p5qmVXWei(dS~VVfZHr z=c(m74&?L29{KWNIIlFEuklkm_Ohz-NMjAYl^Ma;5EU84$8aNBO;c5MC1pZ1I=m3& zWerU#36=cU_!~u8|(3%LiG_udtnsTM~%Qru%+^iKL$y55F%9la<#I9Ukg?1 z>hPIfYC7#xJFf2pHC5HG z;v%aE>OT{^j$?41Ap5g{lR$~^O9g9*Bk?Yd@Q(-{5d4kc?*;!X_?F;%g8vZoAWf#5 zAlO4ty?X>YNBGf#69wtyi18K)at=>ky=w$i_mF|=9V4K6w+P57rh$vraUk_)ppgURPVqb z-U;FVQ}9EKz&INy7IK>?Nq)nL+qD!e3zi68C0HgH7OWPm6Ud{^*<;C~8! zDEO(Mj)9^&{(|v>NrF8DdkOXxRPTDBJ~M?^&t||66Mnd$dR7DZDB;HnP7s_VI8~5- z&6yuM{32c|c)4JS;8lWUf?>gG!CJu;f>FUWg4YY)Ah=1eMR2R&cEMW(Zx_5naF^h{ zg7*vV7W}c`BZ5B{d_r));8TLn2tFtHyx@z1uL%B0@KwP#1=|GQ6+9vMpMoC>ek!PA z%%zUMV7y?GU=Km{jVT-t^)4Rp9Fb=Va!ms5sCV>$>KjzRe36e594k0MaFU>UcMtkA zgr6gLso>>;C4yH8mI;Ohs|D4&ez3Pf_^99-!RrNY5Zol#BDhs>yWp*Yw+r4OxJ&R} z!TSYw3;tN}5y77eJ|VbY5S|aJ%W7huW(t1pJ^V2Rg+aA_{xZhc@RfsFCU?(=^M;DE{SiZOX8pN<%zu+pB21o8z!wS@WEY#n-;tNo^CU_ zVD@Ap(N15+sqj+F?*I(>E5wg641S5zlwabHShCpH71Hc4D2zQ2$yV|WAzT?loraX# z;^rd;Y_V!uZ(;c4_daHM_+c|}*i3yRe)Y>xH*{9dZ7RyZ%`oEBgCE_Z*Gt2Un+@=+ zMM#!0`fC6)lkzbn;U*HXj6x;GGYrsUNn7UkDIZ7LZwB#ejOXk*#e9-FMYn=#IJcNY18bdc5^bNjLl84$Bowib3&~7268=gx#S|Nf zwohD!Tx2BlW5^;h(~X47X<9KejRej^%*D*XY$Jg;O3bUs%rz3`Fpgs88wtB(%mO3f zXEdNf78?nC>BDB07zx+Vz|~Br!br4z;5yXq+&>_Fc}+J@=nr(aX9!H+MZJ3;r#w}s;rg@M$Wuz_hdCHfvllqmj>$q~#NhX&U$5n6w zmu$X6JC*ETLGu!X#w}yqEc0iKTSa=P*`NB=Oe@>;Q2!dzIp)Kpmy^yjze~D?_D7f_ zN!OAdX`V+rb)*Z-llYCRCq2r1hjat!(dNIXvx4*(&2tiorNl+pVoaXFodlQohp#WMMJl2!0^$o*O}RRfg6FfH`(o3{WwS0gL%{p<7L(A&O$c^I{L z+xIVNGv4<7OWKOJegBg7$J@StNvFiyzJE!lfrjJST+-<#ZwHupG@qe)DPp%!jU!d_ z(Ek8@|MC=PZlGcTH8hj&mzkqToAI{qU(%Mz`)uYI(tgP4`cxHQ1jjZn!8lB-((L|-I$(mmDJFB zejgRV4?DvzCU$+tZxNPy9cokW$F>50t7(-$j$3-sY33j{a%1~-IE>?v2Ym>mHDlLz zbRcTl^B{R~QOXzC%B$dqA0oVHatgn5NbMMh@j$wA>^h3)C8m>xRGAYMb!;phFHcxg zq25>P_bcSqGlp^db7i47o~JGi&h>^QrzU!m`zO=QUJ4R3I=w7q z(dW2bjO%o}Xmxe681HhUh^TmH$L(Y>(G`kA;deYWCON(vlO4B<@P>YDKnCSAjNWX)9P7e`Jh~51zW}-&>iSt1?C$zm0_U}x`7N|G0 zaWt^m!#YyVIF9s-*bVIt{Qi4ygx&lQewJ@S+!t1({&L#xbS#J_gGK~*gUCvgcq0TU z-U>lE-U`u9l#4>@DF;c2gUDzAkf2fZ(nY}y?MwM$v;D7CmPM-I5GvXPzi+jm;TEpG zp&?x16kMBj@#VoO!GfH^oPyx++Oo#-stMI23rB-4uc-(QUltr*SzlWn8D7~~RvRAP zP_I_rLRekLybb4#??^S=J3>@fKV0Q|IBxq#!sQWo9BT?={cc5B;~Mx~Y6^#!18VD| zby&?ivT)4*i1W10M-EKFajjNgSy>vj>{ZpWor2~#-Wa4c~hji7XHQD zzRBpu&h|g}8J@{X%T-B~XR^vtE^$}B$85J_>WR^5-p1T6#2n9N;z|rXN99U+-YQku zu`?Cx+y7G@#T@@(Zl__N;Uz5Q9*mQkYWopXBOft+aR*>HpYRgMt-B8}$}?1meZf_} zl~yF1LC6ZQJ6BW3UsHy0z2mM)*<1h}=OU`&&iF6-Wvcjp#}||Ps-jNWsDtkBJY@C8 zs0;F**r~&75=IHy5aBsY;I_swV6*lm0Q3dessDL;JVtI4w6~ZMWplzf3g_g>*(#7f zj@X$$3=U%X3xRgxfYe?@q^L{akn_6f&BXX4$Oy7IdR%wnPB$9^Dn9dNy3D3iFJaJ5 z9FW>Iu=ffH*_^O4@NRoWutz(zhgZR4_Evyq9G08g6hGRjQ<>ly#+~z9x88VU?tI9c z&C%Ng0cmFovkZIf_vZjF(h70zju;c>B+lZS4iv zyBjiRbJBIE$*^ysV}~HbNK3=(H_9Hf%rxEhUhai82aq|NW6$9obj$xMzLR)txbb{) zx-S{Fz|QS--!iTS4K;k-{pCvv1x>h>%0KQMs;|e4cj`3uwHN@ z5t&eJ4f5}bob5tKgV{qwhj>a5(_2l)T!^)#qw3hEh&c2L`x4P$Gl^&*Lq(n|I9hPL z;55O@1WN^%3$7Au7Q999hk|WF$52o?%X6`UtnDp(`9 zM)2!`y9N2(Alg&DK7h*C2axyKDCZqX;(3C+2}FLP;4Hx_1^H1XhBpY_D#%abP|mwA z#QzZFeID{33Hor-A>UJQfZ+LpqXj1mUM#p!uu_n3Bht<~!7YNf3En06LqX+B1Nu)3 z|69R73(^M{?fp~GgVP0hOj{N97d%gJoZwW!O9ihItQL$4ep~P(!9M6Pv_DudS8$r3 z@_~WyuL-Z7dx2Naxq#n7Ut@f=h78A8Jx>C^mvZpGlkiuBKQ71%8RPkg&>Jjxkt1in zK$<-NF#HFCK_J(d6bddDad%V%ke3VD4b$w$>RYlrAW-Y?Vmv4IlGNy(+1- z#J}keSb~Chc!*YFZGoNl#869#HNM1*co^TUHd%dnGb`!6ga2bM+zv!;Sj{-(YGYmh zQ)mLZgW9@}J&z$^Izkwa@u|l{Geme*OwfFf&%HTp_p#?^>2)8QP%qDA(6L8E^Nel$ zr1Ay`(d^Y6g85^U={`2eK)|6`EW0c&_Kf6z^?ln;V<$SC@sce&(ZMkk>(Aa!bfkmm z9C4iJ7zCdAx3?1==aO&=ubt?~0h?q8s(?}W&2sT@BcV-l@ub-!>`m8Zfmk9O4KDzF zr;9HK%}!!(x>gH<9md}5_hpYcEaKl3qnU4A`!;x|eB|%z5{|X6-FW-`Oq^ZHDk>U3 z^F2*9sfG_ZHT1!#C)~hs4(}ak*VH!1G@mbXDrfHzyvAtzA6N7B#&8*KG0-(Q?+@`t zR;L0UXI6&cJiN96pW*tqgQ>EmHDTQRYKmy5y$Z?0qhk)lHb)#sgpl=4RAU?9mBKF) zSiBKvgHxy@&D&N`_IoCT~MG-vY&sBeNZOm&N;R>M)Q~9LAO=0MdL?& z)e~_(_^xQx@XcaBNIxHKH@{<2YqOcP#mvIF*I%*O;297?6RcIyV(=TkjM*B>t3=e~ z%I3B3$PzW$%WSFDd@NAex)FuMZA#kyDDX3=b$R8050dfR#=ikf~Z|ABI#i7@{A* zg(DAChJFMeO@4Bp^U-84)bVL%DrGdE8oct?dzky?L+U%&X)vVvX!~F>l(IF$0Lf|y z>PK6U-kn%1x7j0KcTS;+7ifz?&ml<6sTUE7m{-m@p-@Z(<`r}ZAJ|59^;2ZXB+dMU zT0<6TepDK?pLCG)mQV^_uowhu+01NvCUO))KsG)^y)R`;NZ&de#^!_n<>txp$XYfI zRCe6Dmt!$lFMRu<81;f+>UXP`cRyA2LZ$5HQ$1q!Qp9&UvS28vk{*ok;8q+pyIz>R zJiA^t!+@$6%7QfU0u!wSmt5Im0J68vWs^&ZaTWu6##lDZG;mwyXZ5D~=D8`cbTgSI zgg6LWLh(4Z*)Sf|f7yH>W%FbmMGm6KK@^!0TTs=LkR3S|S?mHVSRPtk^C@pMYZuGX zx}ge}7}RkdqULF9dLLHp%3ieEZrxCkmDfSF`B`}_NAXFwqx+9}TMq1h&8r{vGQJ$O zg5mmnG@w)c0ynn89#&PRA+X~Z(kp}tORO3PGt^c`4Ys^}c`e9fKggW$fi~SGPBr6< zv*UCLxRU{yU5!15*5w%ctxb1{Q-Idl_Abs=C~lz^O?Py^=Zg0o(5lwjxTJZ{+h`MQ zkHw<&U=+!EDKy*X(3BocrQ91bQ70(WRECUXh!Gv+iZNW$i794KF~Lscawf-GZJQNK zcv6fS6QhQMg3UrS3=`?81YxEFN2!o$wT7~so<8zpr!1$S$Ve^7-QPay=xAXl$Y`0H zWv9qHNDMyBCS7a%^k0Ir296$2-wxnepKLVq+t*xJHYd$Wbwk^I~ zbh@pzj;;1$RW8CZ#JlF*SKIscx6!@Ep0^E`Igv&*zds3ci6qC89w=c8$0KO)39HP zeINE;Vt)ZU=W40wJR`6l#!f$keDC#-*k8x~Hg>+xO8NK#<8-k37SNP|X~NX5+~rZJ5^}t|ynYsovD^sklJo%S%PGf~(ASf>lEuK6(CHb~ zyMP(Sm(ZV&G58WX$Io_1(Ebv-&EQMu2#^r@61um9rtu~85{4)SUqb&LGou)M2|Xdk z;7jO_#TfY#x>vp16*7`0!;a11OX#tRNGt?jLjO~YSz;tDp#gd8OMMC5yM*v zu>l=SBxJzG`mXJ|vUb1Tc5H-@F$O^*Xo(4+3mf<&NCb@-gLW#!L5xvZ$h08*p;65K zm?jz$5`&4~&$-XJecKHJB8l-f_x(Q4bIy6r{c+B@=idA6eH01(aa?z!C=&VsHm3(g zkAJPDNa)dRPehLORT098a%?C%xodc0L(!Sr za~p>R;X87hGd2_teR9Tzs#L*T7uAI!ACk=#k>hX=_RV)oE`&?WGcG9{z3S ztnd;1Y@yvXgsaHYN7<(E6lJ#}&kZ+Hud$&X!@seiZltWSp|}R+2JpWy{2h4)kr#zr zHgemM+d{nMb|7CI{uOyA@+Dyh{&yjZ4aFChDsw{|$&mkS%NZMrFK^|H4fSVaV?*)u zDz}&Had?1=_i^KI?_BKMSDiS(bE3wNl9;Q`<=Ln{7(gvcrBa&m-P|*dn!XSnX6L=K@hbgSB6WlFGjAGeW5Bsu8m)1>1mHq28G>-fw;eUs$UQ3Tp*jh5URzTorO< z%Qqj^ZxAxL=38iaO(A!;`Bvn)j?$Q4@JD5z7ydw&{6aRYb?S}eUxeHdPW=-F+E55m z{)VuUAGKk&xFV#s=?|(zCUdvUEIeJw96DPwq^c`i0wQ!P*j!V{mHE6%Hp)7KtJ(B9 z+P#e1ZHnsNTg7ili%&!J#oa;3j_g(WBIP+IGhd>7U6aIGSN2h*)bIuUOdbA}J=u^t zuAA8r#r1efLS{B28Z(E?pQ$Jb3UTVt0oTi%vLp)Z1Whk zxSDQFYihQdf|;*VaM5dNo&#x~MLtj6gXC%Fgfms%;CvlR^R-*PD%wl7odoS|b-&o` z6d~MsMMx{EgL#}?f$?Ik>ztp09%UzczhZ))6=i-_CVqy3y4yK+ov8O}{e|JvyRKEm2B+aQ0&9`Ab`+e2i?vG6JD0%9qmvKj}$? z6`odDn8;21s1cv9s(Rm;&*SvJta|l~^BjRuY{P^A>A8l+DAcvJoRnBQP9~&q-FPWq zsf9^ajOXQb-s7Y+2#9AXUUSMwtZ(FWxdwt@cQ#1=Rt9-YO(z@tOw#+a5L=3+!HG=7 ziCWA1@Dlq5d$$iIbi(u&ueqDr$9alsxyDIUL-IsLiH?&f^fX1a#+06@GV+&%QdVn} zs^Mw&NXwLp=H<^^v-a@e>#Lp#vr|e9%j0D&ai0s09N#q7s6fMGjkBxurv%-*WQlK^ z&CcO&D3iN7_wY??*QVz9x86E>(=8qGvS&s|M~RD@6pDXjsp@TK@U!mP)LiCg?5(jg zd656hM&BBK?VflvJ`x}N%hC8?@;f|w^vIFnxN10VQ6S>h!$-6z9&z81_!^;t1-sws zJ?V0@<6$N&GX0)`bD5q8VnHUPxuM;~?%qwC`-k{9e-YSpLbnlEvgmkd!^y9UetSCm z5>j68?!o>Y|5HTFUBhCfv8Nv?lx>t{sO8N&x zYKF|LCaIxgP_N10)>`aY&lII|^}B;vEN$~$qQ5}7gNF}t(2ENRwz{W&UCBPrCOP2vyk^rt$q^iIHh+aF;>4KyPq6O zbmgBC`f0GY9hLB!R$Xe{g3sex{S;R|TeIsEj_XO;{gic_<9hW3j%z`V{G?Q6JF>@; zvQ4u4X{9eaFZxMb8IB{%D@{g|iy*eVy^rMZ?ZaXe1{wlRnXSu(6wfp0;`NjM5y2o<+f5N|YkJ{yoF&qAE zoym;T==8HDt&Cad3xs}LMqehKr9rDAX9iaa*J$NI2kAV;epxHW3!Ufpeq2WHm+r@8 z^daefJVxIy-H*fQUzG00T=Ykz`>__id?6NR`Eojcxcp3W{Au~)%YP#_<&)#?+4I2z;)7a-4 z&NF1Z!QN)rZb+NQ-eI`XkhYG!({P>P4TkFtHyCyq_82m@P=3I0ry>0S`(DF44Ru)x zGTONUSd;WCknseh|5C0IR3~=(C;NO$Uu?L_@NVBzcJ)m zh5e)gp zt}^6(KK?fv_8aaoJYe{c;a3g6W%zx=mkf^^zG-;U@NGkeZ0eh1c(37;hR+)Q*zi?D zcm$N2r49m~F#Lm|i~Avat0q;XySN`h7xzQx;(iDRE&UF|`wSm8blh#_d)o9L8vfkS zakiE2;(Tz<0K}Xl{(ZMo?|_Jkwpg4%ywfr@3b(@Yv|qtN&h$Q007AV literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/kernel/chr_drv/console.c b/linux-0.11-lab/0/linux/kernel/chr_drv/console.c new file mode 100644 index 0000000..a12ffbf --- /dev/null +++ b/linux-0.11-lab/0/linux/kernel/chr_drv/console.c @@ -0,0 +1,710 @@ +/* + * linux/kernel/console.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * console.c + * + * This module implements the console io functions + * 'void con_init(void)' + * 'void con_write(struct tty_queue * queue)' + * Hopefully this will be a rather complete VT102 implementation. + * + * Beeping thanks to John T Kohl. + */ + +/* + * NOTE!!! We sometimes disable and enable interrupts for a short while + * (to put a word in video IO), but this will work even for keyboard + * interrupts. We know interrupts aren't enabled when getting a keyboard + * interrupt, as we use trap-gates. Hopefully all is well. + */ + +/* + * Code to check for different video-cards mostly by Galen Hunt, + * + */ + +#include +#include +#include +#include + +/* + * These are set up by the setup-routine at boot-time: + */ + +#define ORIG_X (*(unsigned char *)0x90000) +#define ORIG_Y (*(unsigned char *)0x90001) +#define ORIG_VIDEO_PAGE (*(unsigned short *)0x90004) +#define ORIG_VIDEO_MODE ((*(unsigned short *)0x90006) & 0xff) +#define ORIG_VIDEO_COLS (((*(unsigned short *)0x90006) & 0xff00) >> 8) +#define ORIG_VIDEO_LINES (25) +#define ORIG_VIDEO_EGA_AX (*(unsigned short *)0x90008) +#define ORIG_VIDEO_EGA_BX (*(unsigned short *)0x9000a) +#define ORIG_VIDEO_EGA_CX (*(unsigned short *)0x9000c) + +#define VIDEO_TYPE_MDA 0x10 /* Monochrome Text Display */ +#define VIDEO_TYPE_CGA 0x11 /* CGA Display */ +#define VIDEO_TYPE_EGAM 0x20 /* EGA/VGA in Monochrome Mode */ +#define VIDEO_TYPE_EGAC 0x21 /* EGA/VGA in Color Mode */ + +#define NPAR 16 + +extern void keyboard_interrupt(void); + +static unsigned char video_type; /* Type of display being used */ +static unsigned long video_num_columns; /* Number of text columns */ +static unsigned long video_size_row; /* Bytes per row */ +static unsigned long video_num_lines; /* Number of test lines */ +static unsigned char video_page; /* Initial video page */ +static unsigned long video_mem_start; /* Start of video RAM */ +static unsigned long video_mem_end; /* End of video RAM (sort of) */ +static unsigned short video_port_reg; /* Video register select port */ +static unsigned short video_port_val; /* Video register value port */ +static unsigned short video_erase_char; /* Char+Attrib to erase with */ + +static unsigned long origin; /* Used for EGA/VGA fast scroll */ +static unsigned long scr_end; /* Used for EGA/VGA fast scroll */ +static unsigned long pos; +static unsigned long x,y; +static unsigned long top,bottom; +static unsigned long state=0; +static unsigned long npar,par[NPAR]; +static unsigned long ques=0; +static unsigned char attr=0x07; + +static void sysbeep(void); + +/* + * this is what the terminal answers to a ESC-Z or csi0c + * query (= vt100 response). + */ +#define RESPONSE "\033[?1;2c" + +/* NOTE! gotoxy thinks x==video_num_columns is ok */ +static inline void gotoxy(unsigned int new_x,unsigned int new_y) +{ + if (new_x > video_num_columns || new_y >= video_num_lines) + return; + x=new_x; + y=new_y; + pos=origin + y*video_size_row + (x<<1); +} + +static inline void set_origin(void) +{ + cli(); + outb_p(12, video_port_reg); + outb_p(0xff&((origin-video_mem_start)>>9), video_port_val); + outb_p(13, video_port_reg); + outb_p(0xff&((origin-video_mem_start)>>1), video_port_val); + sti(); +} + +static void scrup(void) +{ + if (video_type == VIDEO_TYPE_EGAC || video_type == VIDEO_TYPE_EGAM) + { + if (!top && bottom == video_num_lines) { + origin += video_size_row; + pos += video_size_row; + scr_end += video_size_row; + if (scr_end > video_mem_end) { + __asm__("cld\n\t" + "rep\n\t" + "movsl\n\t" + "movl video_num_columns,%1\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((video_num_lines-1)*video_num_columns>>1), + "D" (video_mem_start), + "S" (origin) + ); + scr_end -= origin-video_mem_start; + pos -= origin-video_mem_start; + origin = video_mem_start; + } else { + __asm__("cld\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" (video_num_columns), + "D" (scr_end-video_size_row) + ); + } + set_origin(); + } else { + __asm__("cld\n\t" + "rep\n\t" + "movsl\n\t" + "movl video_num_columns,%%ecx\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((bottom-top-1)*video_num_columns>>1), + "D" (origin+video_size_row*top), + "S" (origin+video_size_row*(top+1)) + ); + } + } + else /* Not EGA/VGA */ + { + __asm__("cld\n\t" + "rep\n\t" + "movsl\n\t" + "movl video_num_columns,%%ecx\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((bottom-top-1)*video_num_columns>>1), + "D" (origin+video_size_row*top), + "S" (origin+video_size_row*(top+1)) + ); + } +} + +static void scrdown(void) +{ + if (video_type == VIDEO_TYPE_EGAC || video_type == VIDEO_TYPE_EGAM) + { + __asm__("std\n\t" + "rep\n\t" + "movsl\n\t" + "addl $2,%%edi\n\t" /* %edi has been decremented by 4 */ + "movl video_num_columns,%%ecx\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((bottom-top-1)*video_num_columns>>1), + "D" (origin+video_size_row*bottom-4), + "S" (origin+video_size_row*(bottom-1)-4) + ); + } + else /* Not EGA/VGA */ + { + __asm__("std\n\t" + "rep\n\t" + "movsl\n\t" + "addl $2,%%edi\n\t" /* %edi has been decremented by 4 */ + "movl video_num_columns,%%ecx\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((bottom-top-1)*video_num_columns>>1), + "D" (origin+video_size_row*bottom-4), + "S" (origin+video_size_row*(bottom-1)-4) + ); + } +} + +static void lf(void) +{ + if (y+1top) { + y--; + pos -= video_size_row; + return; + } + scrdown(); +} + +static void cr(void) +{ + pos -= x<<1; + x=0; +} + +static void del(void) +{ + if (x) { + pos -= 2; + x--; + *(unsigned short *)pos = video_erase_char; + } +} + +static void csi_J(int par) +{ + long count __asm__("cx"); + long start __asm__("di"); + + switch (par) { + case 0: /* erase from cursor to end of display */ + count = (scr_end-pos)>>1; + start = pos; + break; + case 1: /* erase from start to cursor */ + count = (pos-origin)>>1; + start = origin; + break; + case 2: /* erase whole display */ + count = video_num_columns * video_num_lines; + start = origin; + break; + default: + return; + } + __asm__("cld\n\t" + "rep\n\t" + "stosw\n\t" + ::"c" (count), + "D" (start),"a" (video_erase_char) + ); +} + +static void csi_K(int par) +{ + long count __asm__("cx"); + long start __asm__("di"); + + switch (par) { + case 0: /* erase from cursor to end of line */ + if (x>=video_num_columns) + return; + count = video_num_columns-x; + start = pos; + break; + case 1: /* erase from start of line to cursor */ + start = pos - (x<<1); + count = (x>9), video_port_val); + outb_p(15, video_port_reg); + outb_p(0xff&((pos-video_mem_start)>>1), video_port_val); + sti(); +} + +static void respond(struct tty_struct * tty) +{ + char * p = RESPONSE; + + cli(); + while (*p) { + PUTCH(*p,tty->read_q); + p++; + } + sti(); + copy_to_cooked(tty); +} + +static void insert_char(void) +{ + int i=x; + unsigned short tmp, old = video_erase_char; + unsigned short * p = (unsigned short *) pos; + + while (i++=video_num_columns) + return; + i = x; + while (++i < video_num_columns) { + *p = *(p+1); + p++; + } + *p = video_erase_char; +} + +static void delete_line(void) +{ + int oldtop,oldbottom; + + oldtop=top; + oldbottom=bottom; + top=y; + bottom = video_num_lines; + scrup(); + top=oldtop; + bottom=oldbottom; +} + +static void csi_at(unsigned int nr) +{ + if (nr > video_num_columns) + nr = video_num_columns; + else if (!nr) + nr = 1; + while (nr--) + insert_char(); +} + +static void csi_L(unsigned int nr) +{ + if (nr > video_num_lines) + nr = video_num_lines; + else if (!nr) + nr = 1; + while (nr--) + insert_line(); +} + +static void csi_P(unsigned int nr) +{ + if (nr > video_num_columns) + nr = video_num_columns; + else if (!nr) + nr = 1; + while (nr--) + delete_char(); +} + +static void csi_M(unsigned int nr) +{ + if (nr > video_num_lines) + nr = video_num_lines; + else if (!nr) + nr=1; + while (nr--) + delete_line(); +} + +static int saved_x=0; +static int saved_y=0; + +static void save_cur(void) +{ + saved_x=x; + saved_y=y; +} + +static void restore_cur(void) +{ + gotoxy(saved_x, saved_y); +} + +void con_write(struct tty_struct * tty) +{ + int nr; + char c; + + nr = CHARS(tty->write_q); + while (nr--) { + GETCH(tty->write_q,c); + switch(state) { + case 0: + if (c>31 && c<127) { + if (x>=video_num_columns) { + x -= video_num_columns; + pos -= video_size_row; + lf(); + } + __asm__("movb attr,%%ah\n\t" + "movw %%ax,%1\n\t" + ::"a" (c),"m" (*(short *)pos) + ); + pos += 2; + x++; + } else if (c==27) + state=1; + else if (c==10 || c==11 || c==12) + lf(); + else if (c==13) + cr(); + else if (c==ERASE_CHAR(tty)) + del(); + else if (c==8) { + if (x) { + x--; + pos -= 2; + } + } else if (c==9) { + c=8-(x&7); + x += c; + pos += c<<1; + if (x>video_num_columns) { + x -= video_num_columns; + pos -= video_size_row; + lf(); + } + c=9; + } else if (c==7) + sysbeep(); + break; + case 1: + state=0; + if (c=='[') + state=2; + else if (c=='E') + gotoxy(0,y+1); + else if (c=='M') + ri(); + else if (c=='D') + lf(); + else if (c=='Z') + respond(tty); + else if (x=='7') + save_cur(); + else if (x=='8') + restore_cur(); + break; + case 2: + for(npar=0;npar='0' && c<='9') { + par[npar]=10*par[npar]+c-'0'; + break; + } else state=4; + case 4: + state=0; + switch(c) { + case 'G': case '`': + if (par[0]) par[0]--; + gotoxy(par[0],y); + break; + case 'A': + if (!par[0]) par[0]++; + gotoxy(x,y-par[0]); + break; + case 'B': case 'e': + if (!par[0]) par[0]++; + gotoxy(x,y+par[0]); + break; + case 'C': case 'a': + if (!par[0]) par[0]++; + gotoxy(x+par[0],y); + break; + case 'D': + if (!par[0]) par[0]++; + gotoxy(x-par[0],y); + break; + case 'E': + if (!par[0]) par[0]++; + gotoxy(0,y+par[0]); + break; + case 'F': + if (!par[0]) par[0]++; + gotoxy(0,y-par[0]); + break; + case 'd': + if (par[0]) par[0]--; + gotoxy(x,par[0]); + break; + case 'H': case 'f': + if (par[0]) par[0]--; + if (par[1]) par[1]--; + gotoxy(par[1],par[0]); + break; + case 'J': + csi_J(par[0]); + break; + case 'K': + csi_K(par[0]); + break; + case 'L': + csi_L(par[0]); + break; + case 'M': + csi_M(par[0]); + break; + case 'P': + csi_P(par[0]); + break; + case '@': + csi_at(par[0]); + break; + case 'm': + csi_m(); + break; + case 'r': + if (par[0]) par[0]--; + if (!par[1]) par[1] = video_num_lines; + if (par[0] < par[1] && + par[1] <= video_num_lines) { + top=par[0]; + bottom=par[1]; + } + break; + case 's': + save_cur(); + break; + case 'u': + restore_cur(); + break; + } + } + } + set_cursor(); +} + +/* + * void con_init(void); + * + * This routine initalizes console interrupts, and does nothing + * else. If you want the screen to clear, call tty_write with + * the appropriate escape-sequece. + * + * Reads the information preserved by setup.s to determine the current display + * type and sets everything accordingly. + */ +void con_init(void) +{ + register unsigned char a; + char *display_desc = "????"; + char *display_ptr; + + video_num_columns = ORIG_VIDEO_COLS; + video_size_row = video_num_columns * 2; + video_num_lines = ORIG_VIDEO_LINES; + video_page = ORIG_VIDEO_PAGE; + video_erase_char = 0x0720; + + if (ORIG_VIDEO_MODE == 7) /* Is this a monochrome display? */ + { + video_mem_start = 0xb0000; + video_port_reg = 0x3b4; + video_port_val = 0x3b5; + if ((ORIG_VIDEO_EGA_BX & 0xff) != 0x10) + { + video_type = VIDEO_TYPE_EGAM; + video_mem_end = 0xb8000; + display_desc = "EGAm"; + } + else + { + video_type = VIDEO_TYPE_MDA; + video_mem_end = 0xb2000; + display_desc = "*MDA"; + } + } + else /* If not, it is color. */ + { + video_mem_start = 0xb8000; + video_port_reg = 0x3d4; + video_port_val = 0x3d5; + if ((ORIG_VIDEO_EGA_BX & 0xff) != 0x10) + { + video_type = VIDEO_TYPE_EGAC; + video_mem_end = 0xbc000; + display_desc = "EGAc"; + } + else + { + video_type = VIDEO_TYPE_CGA; + video_mem_end = 0xba000; + display_desc = "*CGA"; + } + } + + /* Let the user known what kind of display driver we are using */ + + display_ptr = ((char *)video_mem_start) + video_size_row - 8; + while (*display_desc) + { + *display_ptr++ = *display_desc++; + display_ptr++; + } + + /* Initialize the variables used for scrolling (mostly EGA/VGA) */ + + origin = video_mem_start; + scr_end = video_mem_start + video_num_lines * video_size_row; + top = 0; + bottom = video_num_lines; + + gotoxy(ORIG_X,ORIG_Y); + set_trap_gate(0x21,&keyboard_interrupt); + outb_p(inb_p(0x21)&0xfd,0x21); + a=inb_p(0x61); + outb_p(a|0x80,0x61); + outb(a,0x61); +} +/* from bsd-net-2: */ + +void sysbeepstop(void) +{ + /* disable counter 2 */ + outb(inb_p(0x61)&0xFC, 0x61); +} + +int beepcount = 0; + +static void sysbeep(void) +{ + /* enable counter 2 */ + outb_p(inb_p(0x61)|3, 0x61); + /* set command for counter 2, 2 byte write */ + outb_p(0xB6, 0x43); + /* send 0x637 for 750 HZ */ + outb_p(0x37, 0x42); + outb(0x06, 0x42); + /* 1/8 second */ + beepcount = HZ/8; +} diff --git a/linux-0.11-lab/0/linux/kernel/chr_drv/console.o b/linux-0.11-lab/0/linux/kernel/chr_drv/console.o new file mode 100644 index 0000000000000000000000000000000000000000..201b995c8b2cfcd0b623e4c53db4d36891325e2e GIT binary patch literal 20892 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/kernel/chr_drv/keyboard.2.o b/linux-0.11-lab/0/linux/kernel/chr_drv/keyboard.2.o new file mode 100644 index 0000000000000000000000000000000000000000..031174bedf6e5d505616ece4312873277e2a897e GIT binary patch literal 6024 zcmeI#e@vA39S88wa~u>bD0IWd5iG3IN(IWPxG|4bR1~PJf@9^R^fvbklw!D>pTL?RpQ+*Mn* zGU;48w;s8AWVm>EqS<*&@?`N8oR_q?$>S<71X zqpQhU;>c|B>|}qn{cv?^^rDvZp)vE_uF)a;tZgVgQf5p+v(a!e&zk68+i!oIV{VD0 z$qveBBu~6MYUVcNcSdg;yG52o2Y7R&Lo%_2xmI$m;#$r11+F_NiwEVgc?!jaWqm1K-D*hd(S5D({u2 zo>`smUelLS`%*>SH(d2qFYbJ!H;u}7ZQZuLvigM`U;FX_+P}MD%QrWFy~g?6^Pe}s zb8!Rkt)*2&Z!|XbzI6@kYn>>G%03Hi{=n zKXUF_qjl!{-1=kwC2jvN*YEN04?E`X9^#lGKA#Ef{{#35JIW98gVZwKZ#~y-aaHE~ zpK@!PTu5U{h;Lu z-jVMJ@d9TQ`L6iWBS;w8CMAn&iV>NADwp!>m>c9c*@q{~-y%e^TuaWsKBFwh_X^U* z{$vG_O`o@4M%+HqhxAu00g5$0k>AgYOi%*W(9Ev7UddzABgmu5aDbK|L?%*VdOk+hj*KDN>d z4HbHly*F2dR&##u{1sz`erfR-h1PQ19G91JET4sDQD_SX1y;&ES8?o%%Xe`s%Y|7K zYT!U#>1I(#R%Cgdm_?yh4&*0q7RBgGmJTcLKhzg9$6;@gp3|tHUe`^>ZLg zhglRl!ol*z3!u=qIUiemZWVf$b9vR6MKR_oONo`A=0KJgD?h`5EFD&Uj)S(i`~v5{ ziR=FZ&c7A6{a2jJC!kpr`Yi|Y8EEBluJ6R8h?$s}}N;$FGszVT5{zB>r%_uT9zzgsdDvtEV$;3}Fnn zr^Vgv@flqh?X97p-%lNSfLirXI2aPvQb=tH1~rLg6Q;u%qTn94Y-;0qklNvO8v!>O z${*|}rxNgVk})GA;t3migYK~EZ=;T2he`oohaM)cPnC0T33@_ax35D}Lm|CWBi>Wf zdg2<4Yhzx?aC@-Z9o9S=-;Z3b@^9qRP=3!gehIjcx4?k7j_5t)XW=j4NAUOXk8le9 z72bvkJf@7h1ZKcISOhn~=V2Xegzc~k?t@Wy6w1GtHeR%*kyr6UD&xNh8{jMORj9$Y z;CJ9ppu8KUpNsGkybQ0vYw!jfhm&vy&cS(j3ogJrP~k;F#!ZANFb!tFOt=DO!(5mL z^I;)$z!F#r%V0UIfK{*t*1~$|f=$o^Rp^5O*adai1AE~?7=`_C03LV2lHVebifi=3d>+QtbkRp2G+uQ=z>kq16AmQ0oVm~*aLgvK^TSoZ~z{K z$KY{z0-l7Y;2=B=&%m?rJiGu$;269JFTu<33cLnyz;QSUXW$&1hqvGYyaN^f<}&U- zOo3@I17^Y%FdOE=JeUs)p#zq{QdkDdVFj#$HLw=eLl" +# 1 "" +# 1 "keyboard.S" + + + + + + + + + + + + + +# 1 "../../include/linux/config.h" 1 + + + + + + + + + + + + + + + + + + + + + +# 36 "../../include/linux/config.h" + +# 47 "../../include/linux/config.h" + +# 14 "keyboard.S" 2 + +.text +.globl keyboard_interrupt + + + + +size = 1024 + +head = 4 +tail = 8 +proc_list = 12 +buf = 16 + +mode: .byte 0 +leds: .byte 2 +e0: .byte 0 + + + + + + +keyboard_interrupt: + pushl %eax + pushl %ebx + pushl %ecx + pushl %edx + push %ds + push %es + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + xor %al,%al + inb $0x60,%al + cmpb $0xe0,%al + je set_e0 + cmpb $0xe1,%al + je set_e1 + call key_table(,%eax,4) + movb $0,e0 +e0_e1: inb $0x61,%al + jmp 1f +1: jmp 1f +1: orb $0x80,%al + jmp 1f +1: jmp 1f +1: outb %al,$0x61 + jmp 1f +1: jmp 1f +1: andb $0x7F,%al + outb %al,$0x61 + movb $0x20,%al + outb %al,$0x20 + pushl $0 + call do_tty_interrupt + addl $4,%esp + pop %es + pop %ds + popl %edx + popl %ecx + popl %ebx + popl %eax + iret +set_e0: movb $1,e0 + jmp e0_e1 +set_e1: movb $2,e0 + jmp e0_e1 + + + + + + +put_queue: + pushl %ecx + pushl %edx + movl table_list,%edx # read-queue for console + movl head(%edx),%ecx +1: movb %al,buf(%edx,%ecx) + incl %ecx + andl $size-1,%ecx + cmpl tail(%edx),%ecx # buffer full - discard everything + je 3f + shrdl $8,%ebx,%eax + je 2f + shrl $8,%ebx + jmp 1b +2: movl %ecx,head(%edx) + movl proc_list(%edx),%ecx + testl %ecx,%ecx + je 3f + movl $0,(%ecx) +3: popl %edx + popl %ecx + ret + +ctrl: movb $0x04,%al + jmp 1f +alt: movb $0x10,%al +1: cmpb $0,e0 + je 2f + addb %al,%al +2: orb %al,mode + ret +unctrl: movb $0x04,%al + jmp 1f +unalt: movb $0x10,%al +1: cmpb $0,e0 + je 2f + addb %al,%al +2: notb %al + andb %al,mode + ret + +lshift: + orb $0x01,mode + ret +unlshift: + andb $0xfe,mode + ret +rshift: + orb $0x02,mode + ret +unrshift: + andb $0xfd,mode + ret + +caps: testb $0x80,mode + jne 1f + xorb $4,leds + xorb $0x40,mode + orb $0x80,mode +set_leds: + call kb_wait + movb $0xed,%al + outb %al,$0x60 + call kb_wait + movb leds,%al + outb %al,$0x60 + ret +uncaps: andb $0x7f,mode + ret +scroll: + xorb $1,leds + jmp set_leds +num: xorb $2,leds + jmp set_leds + + + + + +cursor: + subb $0x47,%al + jb 1f + cmpb $12,%al + ja 1f + jne cur2 + testb $0x0c,mode + je cur2 + testb $0x30,mode + jne reboot +cur2: cmpb $0x01,e0 + je cur + testb $0x02,leds + je cur + testb $0x03,mode + jne cur + xorl %ebx,%ebx + movb num_table(%eax),%al + jmp put_queue +1: ret + +cur: movb cur_table(%eax),%al + cmpb $'9,%al + ja ok_cur + movb $'~,%ah +ok_cur: shll $16,%eax + movw $0x5b1b,%ax + xorl %ebx,%ebx + jmp put_queue + + + + + +num_table: + .ascii "789 456 1230," + +cur_table: + .ascii "HA5 DGC YB623" + + + + +func: + pushl %eax + pushl %ecx + pushl %edx + call show_stat + popl %edx + popl %ecx + popl %eax + subb $0x3B,%al + jb end_func + cmpb $9,%al + jbe ok_func + subb $18,%al + cmpb $10,%al + jb end_func + cmpb $11,%al + ja end_func +ok_func: + cmpl $4,%ecx + jl end_func + movl func_table(,%eax,4),%eax + xorl %ebx,%ebx + jmp put_queue +end_func: + ret + + + + +func_table: + .long 0x415b5b1b,0x425b5b1b,0x435b5b1b,0x445b5b1b + .long 0x455b5b1b,0x465b5b1b,0x475b5b1b,0x485b5b1b + .long 0x495b5b1b,0x4a5b5b1b,0x4b5b5b1b,0x4c5b5b1b + +# 294 "keyboard.S" + +key_map: + .byte 0,27 + .ascii "1234567890-=" + .byte 127,9 + .ascii "qwertyuiop[]" + .byte 13,0 + .ascii "asdfghjkl;'" + .byte '`,0 + .ascii "\\zxcvbnm,./" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 + .byte '-,0,0,0,'+ + .byte 0,0,0,0,0,0,0 + .byte '< + .fill 10,1,0 + + +shift_map: + .byte 0,27 + .ascii "!@#$%^&*()_+" + .byte 127,9 + .ascii "QWERTYUIOP{}" + .byte 13,0 + .ascii "ASDFGHJKL:\"" + .byte '~,0 + .ascii "|ZXCVBNM<>?" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 + .byte '-,0,0,0,'+ + .byte 0,0,0,0,0,0,0 + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0@\0$\0\0{[]}\\\0" + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 + .fill 16,1,0 + .byte 0,0,0,0,0 + .byte 0,0,0,0,0,0,0 + .byte '| + .fill 10,1,0 + +# 449 "keyboard.S" + + + + +do_self: + lea alt_map,%ebx + testb $0x20,mode + jne 1f + lea shift_map,%ebx + testb $0x03,mode + jne 1f + lea key_map,%ebx +1: movb (%ebx,%eax),%al + orb %al,%al + je none + testb $0x4c,mode + je 2f + cmpb $'a,%al + jb 2f + cmpb $'},%al + ja 2f + subb $32,%al +2: testb $0x0c,mode + je 3f + cmpb $64,%al + jb 3f + cmpb $64+32,%al + jae 3f + subb $64,%al +3: testb $0x10,mode + je 4f + orb $0x80,%al +4: andl $0xff,%eax + xorl %ebx,%ebx + call put_queue +none: ret + + + + + + +minus: cmpb $1,e0 + jne do_self + movl $'/,%eax + xorl %ebx,%ebx + jmp put_queue + + + + + + +key_table: + .long none,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,ctrl,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,lshift,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,minus,rshift,do_self + .long alt,do_self,caps,func + .long func,func,func,func + .long func,func,func,func + .long func,num,scroll,cursor + .long cursor,cursor,do_self,cursor + .long cursor,cursor,do_self,cursor + .long cursor,cursor,cursor,cursor + .long none,none,do_self,func + .long func,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,unctrl,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,unlshift,none + .long none,none,none,none + .long none,none,none,none + .long none,none,unrshift,none + .long unalt,none,uncaps,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + + + + + +kb_wait: + pushl %eax +1: inb $0x64,%al + testb $0x02,%al + jne 1b + popl %eax + ret + + + + +reboot: + call kb_wait + movw $0x1234,0x472 + movb $0xfc,%al + outb %al,$0x64 +die: jmp die diff --git a/linux-0.11-lab/0/linux/kernel/chr_drv/keyboard.S b/linux-0.11-lab/0/linux/kernel/chr_drv/keyboard.S new file mode 100644 index 0000000..25210b4 --- /dev/null +++ b/linux-0.11-lab/0/linux/kernel/chr_drv/keyboard.S @@ -0,0 +1,588 @@ +/* + * linux/kernel/keyboard.S + * + * (C) 1991 Linus Torvalds + */ + +/* + * Thanks to Alfred Leung for US keyboard patches + * Wolfgang Thiel for German keyboard patches + * Marc Corsini for the French keyboard + */ + +#include + +.text +.globl keyboard_interrupt + +/* + * these are for the keyboard read functions + */ +size = 1024 /* must be a power of two ! And MUST be the same + as in tty_io.c !!!! */ +head = 4 +tail = 8 +proc_list = 12 +buf = 16 + +mode: .byte 0 /* caps, alt, ctrl and shift mode */ +leds: .byte 2 /* num-lock, caps, scroll-lock mode (nom-lock on) */ +e0: .byte 0 + +/* + * con_int is the real interrupt routine that reads the + * keyboard scan-code and converts it into the appropriate + * ascii character(s). + */ +keyboard_interrupt: + pushl %eax + pushl %ebx + pushl %ecx + pushl %edx + push %ds + push %es + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + xor %al,%al /* %eax is scan code */ + inb $0x60,%al + cmpb $0xe0,%al + je set_e0 + cmpb $0xe1,%al + je set_e1 + call key_table(,%eax,4) + movb $0,e0 +e0_e1: inb $0x61,%al + jmp 1f +1: jmp 1f +1: orb $0x80,%al + jmp 1f +1: jmp 1f +1: outb %al,$0x61 + jmp 1f +1: jmp 1f +1: andb $0x7F,%al + outb %al,$0x61 + movb $0x20,%al + outb %al,$0x20 + pushl $0 + call do_tty_interrupt + addl $4,%esp + pop %es + pop %ds + popl %edx + popl %ecx + popl %ebx + popl %eax + iret +set_e0: movb $1,e0 + jmp e0_e1 +set_e1: movb $2,e0 + jmp e0_e1 + +/* + * This routine fills the buffer with max 8 bytes, taken from + * %ebx:%eax. (%edx is high). The bytes are written in the + * order %al,%ah,%eal,%eah,%bl,%bh ... until %eax is zero. + */ +put_queue: + pushl %ecx + pushl %edx + movl table_list,%edx # read-queue for console + movl head(%edx),%ecx +1: movb %al,buf(%edx,%ecx) + incl %ecx + andl $size-1,%ecx + cmpl tail(%edx),%ecx # buffer full - discard everything + je 3f + shrdl $8,%ebx,%eax + je 2f + shrl $8,%ebx + jmp 1b +2: movl %ecx,head(%edx) + movl proc_list(%edx),%ecx + testl %ecx,%ecx + je 3f + movl $0,(%ecx) +3: popl %edx + popl %ecx + ret + +ctrl: movb $0x04,%al + jmp 1f +alt: movb $0x10,%al +1: cmpb $0,e0 + je 2f + addb %al,%al +2: orb %al,mode + ret +unctrl: movb $0x04,%al + jmp 1f +unalt: movb $0x10,%al +1: cmpb $0,e0 + je 2f + addb %al,%al +2: notb %al + andb %al,mode + ret + +lshift: + orb $0x01,mode + ret +unlshift: + andb $0xfe,mode + ret +rshift: + orb $0x02,mode + ret +unrshift: + andb $0xfd,mode + ret + +caps: testb $0x80,mode + jne 1f + xorb $4,leds + xorb $0x40,mode + orb $0x80,mode +set_leds: + call kb_wait + movb $0xed,%al /* set leds command */ + outb %al,$0x60 + call kb_wait + movb leds,%al + outb %al,$0x60 + ret +uncaps: andb $0x7f,mode + ret +scroll: + xorb $1,leds + jmp set_leds +num: xorb $2,leds + jmp set_leds + +/* + * curosr-key/numeric keypad cursor keys are handled here. + * checking for numeric keypad etc. + */ +cursor: + subb $0x47,%al + jb 1f + cmpb $12,%al + ja 1f + jne cur2 /* check for ctrl-alt-del */ + testb $0x0c,mode + je cur2 + testb $0x30,mode + jne reboot +cur2: cmpb $0x01,e0 /* e0 forces cursor movement */ + je cur + testb $0x02,leds /* not num-lock forces cursor */ + je cur + testb $0x03,mode /* shift forces cursor */ + jne cur + xorl %ebx,%ebx + movb num_table(%eax),%al + jmp put_queue +1: ret + +cur: movb cur_table(%eax),%al + cmpb $'9,%al + ja ok_cur + movb $'~,%ah +ok_cur: shll $16,%eax + movw $0x5b1b,%ax + xorl %ebx,%ebx + jmp put_queue + +#if defined(KBD_FR) +num_table: + .ascii "789 456 1230." +#else +num_table: + .ascii "789 456 1230," +#endif +cur_table: + .ascii "HA5 DGC YB623" + +/* + * this routine handles function keys + */ +func: + pushl %eax + pushl %ecx + pushl %edx + call show_stat + popl %edx + popl %ecx + popl %eax + subb $0x3B,%al + jb end_func + cmpb $9,%al + jbe ok_func + subb $18,%al + cmpb $10,%al + jb end_func + cmpb $11,%al + ja end_func +ok_func: + cmpl $4,%ecx /* check that there is enough room */ + jl end_func + movl func_table(,%eax,4),%eax + xorl %ebx,%ebx + jmp put_queue +end_func: + ret + +/* + * function keys send F1:'esc [ [ A' F2:'esc [ [ B' etc. + */ +func_table: + .long 0x415b5b1b,0x425b5b1b,0x435b5b1b,0x445b5b1b + .long 0x455b5b1b,0x465b5b1b,0x475b5b1b,0x485b5b1b + .long 0x495b5b1b,0x4a5b5b1b,0x4b5b5b1b,0x4c5b5b1b + +#if defined(KBD_FINNISH) +key_map: + .byte 0,27 + .ascii "1234567890+'" + .byte 127,9 + .ascii "qwertyuiop}" + .byte 0,13,0 + .ascii "asdfghjkl|{" + .byte 0,0 + .ascii "'zxcvbnm,.-" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '< + .fill 10,1,0 + +shift_map: + .byte 0,27 + .ascii "!\"#$%&/()=?`" + .byte 127,9 + .ascii "QWERTYUIOP]^" + .byte 13,0 + .ascii "ASDFGHJKL\\[" + .byte 0,0 + .ascii "*ZXCVBNM;:_" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0@\0$\0\0{[]}\\\0" + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte 0,0,0,0,0 /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '| + .fill 10,1,0 + +#elif defined(KBD_US) + +key_map: + .byte 0,27 + .ascii "1234567890-=" + .byte 127,9 + .ascii "qwertyuiop[]" + .byte 13,0 + .ascii "asdfghjkl;'" + .byte '`,0 + .ascii "\\zxcvbnm,./" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '< + .fill 10,1,0 + + +shift_map: + .byte 0,27 + .ascii "!@#$%^&*()_+" + .byte 127,9 + .ascii "QWERTYUIOP{}" + .byte 13,0 + .ascii "ASDFGHJKL:\"" + .byte '~,0 + .ascii "|ZXCVBNM<>?" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0@\0$\0\0{[]}\\\0" + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte 0,0,0,0,0 /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '| + .fill 10,1,0 + +#elif defined(KBD_GR) + +key_map: + .byte 0,27 + .ascii "1234567890\\'" + .byte 127,9 + .ascii "qwertzuiop@+" + .byte 13,0 + .ascii "asdfghjkl[]^" + .byte 0,'# + .ascii "yxcvbnm,.-" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '< + .fill 10,1,0 + + +shift_map: + .byte 0,27 + .ascii "!\"#$%&/()=?`" + .byte 127,9 + .ascii "QWERTZUIOP\\*" + .byte 13,0 + .ascii "ASDFGHJKL{}~" + .byte 0,'' + .ascii "YXCVBNM;:_" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0@\0$\0\0{[]}\\\0" + .byte 0,0 + .byte '@,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte 0,0,0,0,0 /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '| + .fill 10,1,0 + + +#elif defined(KBD_FR) + +key_map: + .byte 0,27 + .ascii "&{\"'(-}_/@)=" + .byte 127,9 + .ascii "azertyuiop^$" + .byte 13,0 + .ascii "qsdfghjklm|" + .byte '`,0,42 /* coin sup gauche, don't know, [*|mu] */ + .ascii "wxcvbn,;:!" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '< + .fill 10,1,0 + +shift_map: + .byte 0,27 + .ascii "1234567890]+" + .byte 127,9 + .ascii "AZERTYUIOP<>" + .byte 13,0 + .ascii "QSDFGHJKLM%" + .byte '~,0,'# + .ascii "WXCVBN?./\\" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0~#{[|`\\^@]}" + .byte 0,0 + .byte '@,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte 0,0,0,0,0 /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '| + .fill 10,1,0 + +#else +#error "KBD-type not defined" +#endif +/* + * do_self handles "normal" keys, ie keys that don't change meaning + * and which have just one character returns. + */ +do_self: + lea alt_map,%ebx + testb $0x20,mode /* alt-gr */ + jne 1f + lea shift_map,%ebx + testb $0x03,mode + jne 1f + lea key_map,%ebx +1: movb (%ebx,%eax),%al + orb %al,%al + je none + testb $0x4c,mode /* ctrl or caps */ + je 2f + cmpb $'a,%al + jb 2f + cmpb $'},%al + ja 2f + subb $32,%al +2: testb $0x0c,mode /* ctrl */ + je 3f + cmpb $64,%al + jb 3f + cmpb $64+32,%al + jae 3f + subb $64,%al +3: testb $0x10,mode /* left alt */ + je 4f + orb $0x80,%al +4: andl $0xff,%eax + xorl %ebx,%ebx + call put_queue +none: ret + +/* + * minus has a routine of it's own, as a 'E0h' before + * the scan code for minus means that the numeric keypad + * slash was pushed. + */ +minus: cmpb $1,e0 + jne do_self + movl $'/,%eax + xorl %ebx,%ebx + jmp put_queue + +/* + * This table decides which routine to call when a scan-code has been + * gotten. Most routines just call do_self, or none, depending if + * they are make or break. + */ +key_table: + .long none,do_self,do_self,do_self /* 00-03 s0 esc 1 2 */ + .long do_self,do_self,do_self,do_self /* 04-07 3 4 5 6 */ + .long do_self,do_self,do_self,do_self /* 08-0B 7 8 9 0 */ + .long do_self,do_self,do_self,do_self /* 0C-0F + ' bs tab */ + .long do_self,do_self,do_self,do_self /* 10-13 q w e r */ + .long do_self,do_self,do_self,do_self /* 14-17 t y u i */ + .long do_self,do_self,do_self,do_self /* 18-1B o p } ^ */ + .long do_self,ctrl,do_self,do_self /* 1C-1F enter ctrl a s */ + .long do_self,do_self,do_self,do_self /* 20-23 d f g h */ + .long do_self,do_self,do_self,do_self /* 24-27 j k l | */ + .long do_self,do_self,lshift,do_self /* 28-2B { para lshift , */ + .long do_self,do_self,do_self,do_self /* 2C-2F z x c v */ + .long do_self,do_self,do_self,do_self /* 30-33 b n m , */ + .long do_self,minus,rshift,do_self /* 34-37 . - rshift * */ + .long alt,do_self,caps,func /* 38-3B alt sp caps f1 */ + .long func,func,func,func /* 3C-3F f2 f3 f4 f5 */ + .long func,func,func,func /* 40-43 f6 f7 f8 f9 */ + .long func,num,scroll,cursor /* 44-47 f10 num scr home */ + .long cursor,cursor,do_self,cursor /* 48-4B up pgup - left */ + .long cursor,cursor,do_self,cursor /* 4C-4F n5 right + end */ + .long cursor,cursor,cursor,cursor /* 50-53 dn pgdn ins del */ + .long none,none,do_self,func /* 54-57 sysreq ? < f11 */ + .long func,none,none,none /* 58-5B f12 ? ? ? */ + .long none,none,none,none /* 5C-5F ? ? ? ? */ + .long none,none,none,none /* 60-63 ? ? ? ? */ + .long none,none,none,none /* 64-67 ? ? ? ? */ + .long none,none,none,none /* 68-6B ? ? ? ? */ + .long none,none,none,none /* 6C-6F ? ? ? ? */ + .long none,none,none,none /* 70-73 ? ? ? ? */ + .long none,none,none,none /* 74-77 ? ? ? ? */ + .long none,none,none,none /* 78-7B ? ? ? ? */ + .long none,none,none,none /* 7C-7F ? ? ? ? */ + .long none,none,none,none /* 80-83 ? br br br */ + .long none,none,none,none /* 84-87 br br br br */ + .long none,none,none,none /* 88-8B br br br br */ + .long none,none,none,none /* 8C-8F br br br br */ + .long none,none,none,none /* 90-93 br br br br */ + .long none,none,none,none /* 94-97 br br br br */ + .long none,none,none,none /* 98-9B br br br br */ + .long none,unctrl,none,none /* 9C-9F br unctrl br br */ + .long none,none,none,none /* A0-A3 br br br br */ + .long none,none,none,none /* A4-A7 br br br br */ + .long none,none,unlshift,none /* A8-AB br br unlshift br */ + .long none,none,none,none /* AC-AF br br br br */ + .long none,none,none,none /* B0-B3 br br br br */ + .long none,none,unrshift,none /* B4-B7 br br unrshift br */ + .long unalt,none,uncaps,none /* B8-BB unalt br uncaps br */ + .long none,none,none,none /* BC-BF br br br br */ + .long none,none,none,none /* C0-C3 br br br br */ + .long none,none,none,none /* C4-C7 br br br br */ + .long none,none,none,none /* C8-CB br br br br */ + .long none,none,none,none /* CC-CF br br br br */ + .long none,none,none,none /* D0-D3 br br br br */ + .long none,none,none,none /* D4-D7 br br br br */ + .long none,none,none,none /* D8-DB br ? ? ? */ + .long none,none,none,none /* DC-DF ? ? ? ? */ + .long none,none,none,none /* E0-E3 e0 e1 ? ? */ + .long none,none,none,none /* E4-E7 ? ? ? ? */ + .long none,none,none,none /* E8-EB ? ? ? ? */ + .long none,none,none,none /* EC-EF ? ? ? ? */ + .long none,none,none,none /* F0-F3 ? ? ? ? */ + .long none,none,none,none /* F4-F7 ? ? ? ? */ + .long none,none,none,none /* F8-FB ? ? ? ? */ + .long none,none,none,none /* FC-FF ? ? ? ? */ + +/* + * kb_wait waits for the keyboard controller buffer to empty. + * there is no timeout - if the buffer doesn't empty, we hang. + */ +kb_wait: + pushl %eax +1: inb $0x64,%al + testb $0x02,%al + jne 1b + popl %eax + ret +/* + * This routine reboots the machine by asking the keyboard + * controller to pulse the reset-line low. + */ +reboot: + call kb_wait + movw $0x1234,0x472 /* don't do memory check */ + movb $0xfc,%al /* pulse reset and A20 low */ + outb %al,$0x64 +die: jmp die diff --git a/linux-0.11-lab/0/linux/kernel/chr_drv/rs_io.o b/linux-0.11-lab/0/linux/kernel/chr_drv/rs_io.o new file mode 100644 index 0000000000000000000000000000000000000000..9d7d5b3a22aa1a7d33dea95b723af176ee68e951 GIT binary patch literal 1320 zcma)5O=}ZT6upy7lN1_>vDAuUi$oC$(TZ-YF8rt{7SvR*(+bl`=7mYg$1w9^jTe}J1pL8J+VS-DUc@11#5ry}TuH|L!9&O7g8W*$#YU6UjU z!jd2kzZJlJAu zYUu}^X)*0615dy3#7CS5;3%o*n6o2-mX*|mBJ()SkJ>Kxy3mDOdS@N-cB{sLjja`nuw?{k1!T?BECWK1Ur++2eHxq=#!x{gli&& zBRH@@L{yj;>c8RMuaxqliKJ!!PW(mv0M`reH^_6neMo3eLAl-mBy=A^x!y36flz|$ z9Yaq056bmU5ZT?V>*Z0VgF%1b96oaqeG&Pkh$c>dL{JjkL^3ZF1^Vqn>-rt20MOw)mDl`5E4qoh_V zHiu%f3^vy+-ZaTqsdKQH=_9M_uuwBq{86e5Y7L#$RJ8J@4U1NVGqq%B7P>V(VAV>U z?KNO{nOQ2UnY@MR;}pv*t7+mQ_L+$Cmk2hbH&o7BkuiEb(opct5uPWFopkSn(*o}a PoD +#include +#include +#include + +#define WAKEUP_CHARS (TTY_BUF_SIZE/4) + +extern void rs1_interrupt(void); +extern void rs2_interrupt(void); + +static void init(int port) +{ + outb_p(0x80,port+3); /* set DLAB of line control reg */ + outb_p(0x30,port); /* LS of divisor (48 -> 2400 bps */ + outb_p(0x00,port+1); /* MS of divisor */ + outb_p(0x03,port+3); /* reset DLAB */ + outb_p(0x0b,port+4); /* set DTR,RTS, OUT_2 */ + outb_p(0x0d,port+1); /* enable all intrs but writes */ + (void)inb(port); /* read data port to reset things (?) */ +} + +void rs_init(void) +{ + set_intr_gate(0x24,rs1_interrupt); + set_intr_gate(0x23,rs2_interrupt); + init(tty_table[1].read_q.data); + init(tty_table[2].read_q.data); + outb(inb_p(0x21)&0xE7,0x21); +} + +/* + * This routine gets called when tty_write has put something into + * the write_queue. It must check wheter the queue is empty, and + * set the interrupt register accordingly + * + * void _rs_write(struct tty_struct * tty); + */ +void rs_write(struct tty_struct * tty) +{ + cli(); + if (!EMPTY(tty->write_q)) + outb(inb_p(tty->write_q.data+1)|0x02,tty->write_q.data+1); + sti(); +} diff --git a/linux-0.11-lab/0/linux/kernel/chr_drv/serial.o b/linux-0.11-lab/0/linux/kernel/chr_drv/serial.o new file mode 100644 index 0000000000000000000000000000000000000000..08791804f7d2c1e2d886e733b271b9853a625921 GIT binary patch literal 6748 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 +#include +#include + +#define ALRMMASK (1<<(SIGALRM-1)) +#define KILLMASK (1<<(SIGKILL-1)) +#define INTMASK (1<<(SIGINT-1)) +#define QUITMASK (1<<(SIGQUIT-1)) +#define TSTPMASK (1<<(SIGTSTP-1)) + +#include +#include +#include +#include + +#define _L_FLAG(tty,f) ((tty)->termios.c_lflag & f) +#define _I_FLAG(tty,f) ((tty)->termios.c_iflag & f) +#define _O_FLAG(tty,f) ((tty)->termios.c_oflag & f) + +#define L_CANON(tty) _L_FLAG((tty),ICANON) +#define L_ISIG(tty) _L_FLAG((tty),ISIG) +#define L_ECHO(tty) _L_FLAG((tty),ECHO) +#define L_ECHOE(tty) _L_FLAG((tty),ECHOE) +#define L_ECHOK(tty) _L_FLAG((tty),ECHOK) +#define L_ECHOCTL(tty) _L_FLAG((tty),ECHOCTL) +#define L_ECHOKE(tty) _L_FLAG((tty),ECHOKE) + +#define I_UCLC(tty) _I_FLAG((tty),IUCLC) +#define I_NLCR(tty) _I_FLAG((tty),INLCR) +#define I_CRNL(tty) _I_FLAG((tty),ICRNL) +#define I_NOCR(tty) _I_FLAG((tty),IGNCR) + +#define O_POST(tty) _O_FLAG((tty),OPOST) +#define O_NLCR(tty) _O_FLAG((tty),ONLCR) +#define O_CRNL(tty) _O_FLAG((tty),OCRNL) +#define O_NLRET(tty) _O_FLAG((tty),ONLRET) +#define O_LCUC(tty) _O_FLAG((tty),OLCUC) + +struct tty_struct tty_table[] = { + { + {ICRNL, /* change incoming CR to NL */ + OPOST|ONLCR, /* change outgoing NL to CRNL */ + 0, + ISIG | ICANON | ECHO | ECHOCTL | ECHOKE, + 0, /* console termio */ + INIT_C_CC}, + 0, /* initial pgrp */ + 0, /* initial stopped */ + con_write, + {0,0,0,0,""}, /* console read-queue */ + {0,0,0,0,""}, /* console write-queue */ + {0,0,0,0,""} /* console secondary queue */ + },{ + {0, /* no translation */ + 0, /* no translation */ + B2400 | CS8, + 0, + 0, + INIT_C_CC}, + 0, + 0, + rs_write, + {0x3f8,0,0,0,""}, /* rs 1 */ + {0x3f8,0,0,0,""}, + {0,0,0,0,""} + },{ + {0, /* no translation */ + 0, /* no translation */ + B2400 | CS8, + 0, + 0, + INIT_C_CC}, + 0, + 0, + rs_write, + {0x2f8,0,0,0,""}, /* rs 2 */ + {0x2f8,0,0,0,""}, + {0,0,0,0,""} + } +}; + +/* + * these are the tables used by the machine code handlers. + * you can implement pseudo-tty's or something by changing + * them. Currently not done. + */ +struct tty_queue * table_list[]={ + &tty_table[0].read_q, &tty_table[0].write_q, + &tty_table[1].read_q, &tty_table[1].write_q, + &tty_table[2].read_q, &tty_table[2].write_q + }; + +void tty_init(void) +{ + rs_init(); + con_init(); +} + +void tty_intr(struct tty_struct * tty, int mask) +{ + int i; + + if (tty->pgrp <= 0) + return; + for (i=0;ipgrp==tty->pgrp) + task[i]->signal |= mask; +} + +static void sleep_if_empty(struct tty_queue * queue) +{ + cli(); + while (!current->signal && EMPTY(*queue)) + interruptible_sleep_on(&queue->proc_list); + sti(); +} + +static void sleep_if_full(struct tty_queue * queue) +{ + if (!FULL(*queue)) + return; + cli(); + while (!current->signal && LEFT(*queue)<128) + interruptible_sleep_on(&queue->proc_list); + sti(); +} + +void wait_for_keypress(void) +{ + sleep_if_empty(&tty_table[0].secondary); +} + +void copy_to_cooked(struct tty_struct * tty) +{ + signed char c; + + while (!EMPTY(tty->read_q) && !FULL(tty->secondary)) { + GETCH(tty->read_q,c); + if (c==13) + if (I_CRNL(tty)) + c=10; + else if (I_NOCR(tty)) + continue; + else ; + else if (c==10 && I_NLCR(tty)) + c=13; + if (I_UCLC(tty)) + c=tolower(c); + if (L_CANON(tty)) { + if (c==KILL_CHAR(tty)) { + /* deal with killing the input line */ + while(!(EMPTY(tty->secondary) || + (c=LAST(tty->secondary))==10 || + c==EOF_CHAR(tty))) { + if (L_ECHO(tty)) { + if (c<32) + PUTCH(127,tty->write_q); + PUTCH(127,tty->write_q); + tty->write(tty); + } + DEC(tty->secondary.head); + } + continue; + } + if (c==ERASE_CHAR(tty)) { + if (EMPTY(tty->secondary) || + (c=LAST(tty->secondary))==10 || + c==EOF_CHAR(tty)) + continue; + if (L_ECHO(tty)) { + if (c<32) + PUTCH(127,tty->write_q); + PUTCH(127,tty->write_q); + tty->write(tty); + } + DEC(tty->secondary.head); + continue; + } + if (c==STOP_CHAR(tty)) { + tty->stopped=1; + continue; + } + if (c==START_CHAR(tty)) { + tty->stopped=0; + continue; + } + } + if (L_ISIG(tty)) { + if (c==INTR_CHAR(tty)) { + tty_intr(tty,INTMASK); + continue; + } + if (c==QUIT_CHAR(tty)) { + tty_intr(tty,QUITMASK); + continue; + } + } + if (c==10 || c==EOF_CHAR(tty)) + tty->secondary.data++; + if (L_ECHO(tty)) { + if (c==10) { + PUTCH(10,tty->write_q); + PUTCH(13,tty->write_q); + } else if (c<32) { + if (L_ECHOCTL(tty)) { + PUTCH('^',tty->write_q); + PUTCH(c+64,tty->write_q); + } + } else + PUTCH(c,tty->write_q); + tty->write(tty); + } + PUTCH(c,tty->secondary); + } + wake_up(&tty->secondary.proc_list); +} + +int tty_read(unsigned channel, char * buf, int nr) +{ + struct tty_struct * tty; + char c, * b=buf; + int minimum,time,flag=0; + long oldalarm; + + if (channel>2 || nr<0) return -1; + tty = &tty_table[channel]; + oldalarm = current->alarm; + time = 10L*tty->termios.c_cc[VTIME]; + minimum = tty->termios.c_cc[VMIN]; + if (time && !minimum) { + minimum=1; + if (flag=(!oldalarm || time+jiffiesalarm = time+jiffies; + } + if (minimum>nr) + minimum=nr; + while (nr>0) { + if (flag && (current->signal & ALRMMASK)) { + current->signal &= ~ALRMMASK; + break; + } + if (current->signal) + break; + if (EMPTY(tty->secondary) || (L_CANON(tty) && + !tty->secondary.data && LEFT(tty->secondary)>20)) { + sleep_if_empty(&tty->secondary); + continue; + } + do { + GETCH(tty->secondary,c); + if (c==EOF_CHAR(tty) || c==10) + tty->secondary.data--; + if (c==EOF_CHAR(tty) && L_CANON(tty)) + return (b-buf); + else { + put_fs_byte(c,b++); + if (!--nr) + break; + } + } while (nr>0 && !EMPTY(tty->secondary)); + if (time && !L_CANON(tty)) + if (flag=(!oldalarm || time+jiffiesalarm = time+jiffies; + else + current->alarm = oldalarm; + if (L_CANON(tty)) { + if (b-buf) + break; + } else if (b-buf >= minimum) + break; + } + current->alarm = oldalarm; + if (current->signal && !(b-buf)) + return -EINTR; + return (b-buf); +} + +int tty_write(unsigned channel, char * buf, int nr) +{ + static cr_flag=0; + struct tty_struct * tty; + char c, *b=buf; + + if (channel>2 || nr<0) return -1; + tty = channel + tty_table; + while (nr>0) { + sleep_if_full(&tty->write_q); + if (current->signal) + break; + while (nr>0 && !FULL(tty->write_q)) { + c=get_fs_byte(b); + if (O_POST(tty)) { + if (c=='\r' && O_CRNL(tty)) + c='\n'; + else if (c=='\n' && O_NLRET(tty)) + c='\r'; + if (c=='\n' && !cr_flag && O_NLCR(tty)) { + cr_flag = 1; + PUTCH(13,tty->write_q); + continue; + } + if (O_LCUC(tty)) + c=toupper(c); + } + b++; nr--; + cr_flag = 0; + PUTCH(c,tty->write_q); + } + tty->write(tty); + if (nr>0) + schedule(); + } + return (b-buf); +} + +/* + * Jeh, sometimes I really like the 386. + * This routine is called from an interrupt, + * and there should be absolutely no problem + * with sleeping even in an interrupt (I hope). + * Of course, if somebody proves me wrong, I'll + * hate intel for all time :-). We'll have to + * be careful and see to reinstating the interrupt + * chips before calling this, though. + * + * I don't think we sleep here under normal circumstances + * anyway, which is good, as the task sleeping might be + * totally innocent. + */ +void do_tty_interrupt(int tty) +{ + copy_to_cooked(tty_table+tty); +} + +void chr_dev_init(void) +{ +} diff --git a/linux-0.11-lab/0/linux/kernel/chr_drv/tty_io.o b/linux-0.11-lab/0/linux/kernel/chr_drv/tty_io.o new file mode 100644 index 0000000000000000000000000000000000000000..649bc7813ba9c2ba657f367e157600043549baf1 GIT binary patch literal 22500 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 NtP8XgR +#include + +#include +#include +#include + +#include +#include +#include + +static unsigned short quotient[] = { + 0, 2304, 1536, 1047, 857, + 768, 576, 384, 192, 96, + 64, 48, 24, 12, 6, 3 +}; + +static void change_speed(struct tty_struct * tty) +{ + unsigned short port,quot; + + if (!(port = tty->read_q.data)) + return; + quot = quotient[tty->termios.c_cflag & CBAUD]; + cli(); + outb_p(0x80,port+3); /* set DLAB */ + outb_p(quot & 0xff,port); /* LS of divisor */ + outb_p(quot >> 8,port+1); /* MS of divisor */ + outb(0x03,port+3); /* reset DLAB */ + sti(); +} + +static void flush(struct tty_queue * queue) +{ + cli(); + queue->head = queue->tail; + sti(); +} + +static void wait_until_sent(struct tty_struct * tty) +{ + /* do nothing - not implemented */ +} + +static void send_break(struct tty_struct * tty) +{ + /* do nothing - not implemented */ +} + +static int get_termios(struct tty_struct * tty, struct termios * termios) +{ + int i; + + verify_area(termios, sizeof (*termios)); + for (i=0 ; i< (sizeof (*termios)) ; i++) + put_fs_byte( ((char *)&tty->termios)[i] , i+(char *)termios ); + return 0; +} + +static int set_termios(struct tty_struct * tty, struct termios * termios) +{ + int i; + + for (i=0 ; i< (sizeof (*termios)) ; i++) + ((char *)&tty->termios)[i]=get_fs_byte(i+(char *)termios); + change_speed(tty); + return 0; +} + +static int get_termio(struct tty_struct * tty, struct termio * termio) +{ + int i; + struct termio tmp_termio; + + verify_area(termio, sizeof (*termio)); + tmp_termio.c_iflag = tty->termios.c_iflag; + tmp_termio.c_oflag = tty->termios.c_oflag; + tmp_termio.c_cflag = tty->termios.c_cflag; + tmp_termio.c_lflag = tty->termios.c_lflag; + tmp_termio.c_line = tty->termios.c_line; + for(i=0 ; i < NCC ; i++) + tmp_termio.c_cc[i] = tty->termios.c_cc[i]; + for (i=0 ; i< (sizeof (*termio)) ; i++) + put_fs_byte( ((char *)&tmp_termio)[i] , i+(char *)termio ); + return 0; +} + +/* + * This only works as the 386 is low-byt-first + */ +static int set_termio(struct tty_struct * tty, struct termio * termio) +{ + int i; + struct termio tmp_termio; + + for (i=0 ; i< (sizeof (*termio)) ; i++) + ((char *)&tmp_termio)[i]=get_fs_byte(i+(char *)termio); + *(unsigned short *)&tty->termios.c_iflag = tmp_termio.c_iflag; + *(unsigned short *)&tty->termios.c_oflag = tmp_termio.c_oflag; + *(unsigned short *)&tty->termios.c_cflag = tmp_termio.c_cflag; + *(unsigned short *)&tty->termios.c_lflag = tmp_termio.c_lflag; + tty->termios.c_line = tmp_termio.c_line; + for(i=0 ; i < NCC ; i++) + tty->termios.c_cc[i] = tmp_termio.c_cc[i]; + change_speed(tty); + return 0; +} + +int tty_ioctl(int dev, int cmd, int arg) +{ + struct tty_struct * tty; + if (MAJOR(dev) == 5) { + dev=current->tty; + if (dev<0) + panic("tty_ioctl: dev<0"); + } else + dev=MINOR(dev); + tty = dev + tty_table; + switch (cmd) { + case TCGETS: + return get_termios(tty,(struct termios *) arg); + case TCSETSF: + flush(&tty->read_q); /* fallthrough */ + case TCSETSW: + wait_until_sent(tty); /* fallthrough */ + case TCSETS: + return set_termios(tty,(struct termios *) arg); + case TCGETA: + return get_termio(tty,(struct termio *) arg); + case TCSETAF: + flush(&tty->read_q); /* fallthrough */ + case TCSETAW: + wait_until_sent(tty); /* fallthrough */ + case TCSETA: + return set_termio(tty,(struct termio *) arg); + case TCSBRK: + if (!arg) { + wait_until_sent(tty); + send_break(tty); + } + return 0; + case TCXONC: + return -EINVAL; /* not implemented */ + case TCFLSH: + if (arg==0) + flush(&tty->read_q); + else if (arg==1) + flush(&tty->write_q); + else if (arg==2) { + flush(&tty->read_q); + flush(&tty->write_q); + } else + return -EINVAL; + return 0; + case TIOCEXCL: + return -EINVAL; /* not implemented */ + case TIOCNXCL: + return -EINVAL; /* not implemented */ + case TIOCSCTTY: + return -EINVAL; /* set controlling term NI */ + case TIOCGPGRP: + verify_area((void *) arg,4); + put_fs_long(tty->pgrp,(unsigned long *) arg); + return 0; + case TIOCSPGRP: + tty->pgrp=get_fs_long((unsigned long *) arg); + return 0; + case TIOCOUTQ: + verify_area((void *) arg,4); + put_fs_long(CHARS(tty->write_q),(unsigned long *) arg); + return 0; + case TIOCINQ: + verify_area((void *) arg,4); + put_fs_long(CHARS(tty->secondary), + (unsigned long *) arg); + return 0; + case TIOCSTI: + return -EINVAL; /* not implemented */ + case TIOCGWINSZ: + return -EINVAL; /* not implemented */ + case TIOCSWINSZ: + return -EINVAL; /* not implemented */ + case TIOCMGET: + return -EINVAL; /* not implemented */ + case TIOCMBIS: + return -EINVAL; /* not implemented */ + case TIOCMBIC: + return -EINVAL; /* not implemented */ + case TIOCMSET: + return -EINVAL; /* not implemented */ + case TIOCGSOFTCAR: + return -EINVAL; /* not implemented */ + case TIOCSSOFTCAR: + return -EINVAL; /* not implemented */ + default: + return -EINVAL; + } +} diff --git a/linux-0.11-lab/0/linux/kernel/chr_drv/tty_ioctl.o b/linux-0.11-lab/0/linux/kernel/chr_drv/tty_ioctl.o new file mode 100644 index 0000000000000000000000000000000000000000..6d9237dada723dc47381236cfebe028c99834d58 GIT binary patch literal 10644 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 tv&ImRdz$Ank>@Uv=PB`k#z!>r+@k!X# +#include +#include + +#include +#include +#include +#include + +int sys_pause(void); +int sys_close(int fd); + +void release(struct task_struct * p) +{ + int i; + + if (!p) + return; + for (i=1 ; i32) + return -EINVAL; + if (priv || (current->euid==p->euid) || suser()) + p->signal |= (1<<(sig-1)); + else + return -EPERM; + return 0; +} + +static void kill_session(void) +{ + struct task_struct **p = NR_TASKS + task; + + while (--p > &FIRST_TASK) { + if (*p && (*p)->session == current->session) + (*p)->signal |= 1<<(SIGHUP-1); + } +} + +/* + * XXX need to check permissions needed to send signals to process + * groups, etc. etc. kill() permissions semantics are tricky! + */ +int sys_kill(int pid,int sig) +{ + struct task_struct **p = NR_TASKS + task; + int err, retval = 0; + + if (!pid) while (--p > &FIRST_TASK) { + if (*p && (*p)->pgrp == current->pid) + if (err=send_sig(sig,*p,1)) + retval = err; + } else if (pid>0) while (--p > &FIRST_TASK) { + if (*p && (*p)->pid == pid) + if (err=send_sig(sig,*p,0)) + retval = err; + } else if (pid == -1) while (--p > &FIRST_TASK) + if (err = send_sig(sig,*p,0)) + retval = err; + else while (--p > &FIRST_TASK) + if (*p && (*p)->pgrp == -pid) + if (err = send_sig(sig,*p,0)) + retval = err; + return retval; +} + +static void tell_father(int pid) +{ + int i; + + if (pid) + for (i=0;ipid != pid) + continue; + task[i]->signal |= (1<<(SIGCHLD-1)); + return; + } +/* if we don't find any fathers, we just release ourselves */ +/* This is not really OK. Must change it to make father 1 */ + printk("BAD BAD - no father found\n\r"); + release(current); +} + +int do_exit(long code) +{ + int i; + + free_page_tables(get_base(current->ldt[1]),get_limit(0x0f)); + free_page_tables(get_base(current->ldt[2]),get_limit(0x17)); + for (i=0 ; ifather == current->pid) { + task[i]->father = 1; + if (task[i]->state == TASK_ZOMBIE) + /* assumption task[1] is always init */ + (void) send_sig(SIGCHLD, task[1], 1); + } + for (i=0 ; ifilp[i]) + sys_close(i); + iput(current->pwd); + current->pwd=NULL; + iput(current->root); + current->root=NULL; + iput(current->executable); + current->executable=NULL; + if (current->leader && current->tty >= 0) + tty_table[current->tty].pgrp = 0; + if (last_task_used_math == current) + last_task_used_math = NULL; + if (current->leader) + kill_session(); + current->state = TASK_ZOMBIE; + current->exit_code = code; + tell_father(current->father); + schedule(); + return (-1); /* just to suppress warnings */ +} + +int sys_exit(int error_code) +{ + return do_exit((error_code&0xff)<<8); +} + +int sys_waitpid(pid_t pid,unsigned long * stat_addr, int options) +{ + int flag, code; + struct task_struct ** p; + + verify_area(stat_addr,4); +repeat: + flag=0; + for(p = &LAST_TASK ; p > &FIRST_TASK ; --p) { + if (!*p || *p == current) + continue; + if ((*p)->father != current->pid) + continue; + if (pid>0) { + if ((*p)->pid != pid) + continue; + } else if (!pid) { + if ((*p)->pgrp != current->pgrp) + continue; + } else if (pid != -1) { + if ((*p)->pgrp != -pid) + continue; + } + switch ((*p)->state) { + case TASK_STOPPED: + if (!(options & WUNTRACED)) + continue; + put_fs_long(0x7f,stat_addr); + return (*p)->pid; + case TASK_ZOMBIE: + current->cutime += (*p)->utime; + current->cstime += (*p)->stime; + flag = (*p)->pid; + code = (*p)->exit_code; + release(*p); + put_fs_long(code,stat_addr); + return flag; + default: + flag=1; + continue; + } + } + if (flag) { + if (options & WNOHANG) + return 0; + current->state=TASK_INTERRUPTIBLE; + schedule(); + if (!(current->signal &= ~(1<<(SIGCHLD-1)))) + goto repeat; + else + return -EINTR; + } + return -ECHILD; +} + + diff --git a/linux-0.11-lab/0/linux/kernel/exit.o b/linux-0.11-lab/0/linux/kernel/exit.o new file mode 100644 index 0000000000000000000000000000000000000000..cbe7c24cbc0eaa9d0ea78c184eef47914af32877 GIT binary patch literal 11160 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 + +#include +#include +#include +#include + +extern void write_verify(unsigned long address); + +long last_pid=0; + +void verify_area(void * addr,int size) +{ + unsigned long start; + + start = (unsigned long) addr; + size += start & 0xfff; + start &= 0xfffff000; + start += get_base(current->ldt[2]); + while (size>0) { + size -= 4096; + write_verify(start); + start += 4096; + } +} + +int copy_mem(int nr,struct task_struct * p) +{ + unsigned long old_data_base,new_data_base,data_limit; + unsigned long old_code_base,new_code_base,code_limit; + + code_limit=get_limit(0x0f); + data_limit=get_limit(0x17); + old_code_base = get_base(current->ldt[1]); + old_data_base = get_base(current->ldt[2]); + if (old_data_base != old_code_base) + panic("We don't support separate I&D"); + if (data_limit < code_limit) + panic("Bad data_limit"); + new_data_base = new_code_base = nr * 0x4000000; + p->start_code = new_code_base; + set_base(p->ldt[1],new_code_base); + set_base(p->ldt[2],new_data_base); + if (copy_page_tables(old_data_base,new_data_base,data_limit)) { + free_page_tables(new_data_base,data_limit); + return -ENOMEM; + } + return 0; +} + +/* + * Ok, this is the main fork-routine. It copies the system process + * information (task[nr]) and sets up the necessary registers. It + * also copies the data segment in it's entirety. + */ +int copy_process(int nr,long ebp,long edi,long esi,long gs,long none, + long ebx,long ecx,long edx, + long fs,long es,long ds, + long eip,long cs,long eflags,long esp,long ss) +{ + struct task_struct *p; + int i; + struct file *f; + + p = (struct task_struct *) get_free_page(); + if (!p) + return -EAGAIN; + task[nr] = p; + __asm__ volatile ("cld"); /* by wyj */ + *p = *current; /* NOTE! this doesn't copy the supervisor stack */ + p->state = TASK_UNINTERRUPTIBLE; + p->pid = last_pid; + p->father = current->pid; + p->counter = p->priority; + p->signal = 0; + p->alarm = 0; + p->leader = 0; /* process leadership doesn't inherit */ + p->utime = p->stime = 0; + p->cutime = p->cstime = 0; + p->start_time = jiffies; + p->tss.back_link = 0; + p->tss.esp0 = PAGE_SIZE + (long) p; + p->tss.ss0 = 0x10; + p->tss.eip = eip; + p->tss.eflags = eflags; + p->tss.eax = 0; + p->tss.ecx = ecx; + p->tss.edx = edx; + p->tss.ebx = ebx; + p->tss.esp = esp; + p->tss.ebp = ebp; + p->tss.esi = esi; + p->tss.edi = edi; + p->tss.es = es & 0xffff; + p->tss.cs = cs & 0xffff; + p->tss.ss = ss & 0xffff; + p->tss.ds = ds & 0xffff; + p->tss.fs = fs & 0xffff; + p->tss.gs = gs & 0xffff; + p->tss.ldt = _LDT(nr); + p->tss.trace_bitmap = 0x80000000; + if (last_task_used_math == current) + __asm__("clts ; fnsave %0"::"m" (p->tss.i387)); + if (copy_mem(nr,p)) { + task[nr] = NULL; + free_page((long) p); + return -EAGAIN; + } + for (i=0; ifilp[i]) + f->f_count++; + if (current->pwd) + current->pwd->i_count++; + if (current->root) + current->root->i_count++; + if (current->executable) + current->executable->i_count++; + set_tss_desc(gdt+(nr<<1)+FIRST_TSS_ENTRY,&(p->tss)); + set_ldt_desc(gdt+(nr<<1)+FIRST_LDT_ENTRY,&(p->ldt)); + p->state = TASK_RUNNING; /* do this last, just in case */ + return last_pid; +} + +int find_empty_process(void) +{ + int i; + + repeat: + if ((++last_pid)<0) last_pid=1; + for(i=0 ; ipid == last_pid) goto repeat; + for(i=1 ; iVwJpq&$XI~>Yzr`8$MP@!gK@wPvN2w-cHc^i_pke7 zOVoft7`!O%$Sve&25Oj)PQy=<8QS8GX~xC|HB8fiOlC~o5FmpKjA=_l(q;&W`+fJ_ zr(MaJPM@{=opbIv=bn4+x%b`o)(@=PvR>0P;a!?AM2!>Tw{zW=UJ31Dj%X5hjD8Xt zTiX^HJ*kgvYl|G&X^w3HcdFsB#gBzg{W6pq3sv8&u5GiSWRIQ+-F15OlMc{5khKC^ z7haqtMD?IlVV)JgkJy*CfenxW7PWV+TOSIyP&2)ZNZW4}i> z=ry|EtkH!A(9P9XZ%&vwc~p8WW)G3pDx;~eMcnclm0pWc2abKCKS95vJ<$a+LnW*+|yG(R3S<(T?d z4b|pDH2XrPQ3_5U|4#_2XRE)cp8D*&=qEBEFbXj?hl=E@;~fyV7Ls&@JrI%_+sf!8 z)vYr4i9Xx2n>e_Ij&QMk;^6Wr+_pMyY@D3ycB`T$4(^(wLC)3aCsh~So=J<3>MV|o ztCB?gpG<0e3JO)}2EMJWP#q5#liYB1+*aJg!4N23>=TLFRUL1xY3@O#)VTiYcx#P2 zP#urfxV6>swi>skI^JI6HXySuH#FN!c=2DKjZp?h2BV zf<9NUbyBd_6`=CX(Ua|Rbt5qwTq!1J3n*L%-NeetzVX!x_lU?W|2se2suWc%_El>& zx)3^j6Q-;yx{%{g&29neNcsf#16&t+*p7s@KKSa>)HcWAvl#{3EXrJn&0~EgOSL&w zU2R^36`ESZ_y5?fzk>z%!omovawI#px~C7yJxZfIRfFs_jp3;pWIYWA=VKWmC=R|) zJ2`sNJoTP&D)b$Zt97cm|Hxlos@dS9OwNy;n$U(ss%o72 z$IxN_>kZY{*9md>OWCnlMnGG9JS%^N27lszJ~B=;MYZJY{DD^4nxs2eG32q)0fVbg{e18P^bmo zg^F(*>F7R~nVSDbgfhc?3e3!(fPBT!Zu>rztO%5}tyB`$zeAvXRT@~or~G!(0qaT_ zXm^mdtug9s>+oa8v@@i)Qy$XoJ~DUS2c}uKe?{wljxM6xf65lgwCeVkA#<6i-Z)U) ztC%+3wkBKJ^~ORvDYPAQ-J#n>wn(N&x4BiiOs{S~N!PMvnQnh&vSqp6SfPWR55uxg zw{K=Rl3A_Wb1_XWvsP~$q}p9nTd&)lbRd}xy1kpOC9_GlucL!q3}=gOrx?!NWVY(| zAZ;YGO}BqE$@J^?%XA=HcIo!6$(B93JwgY&*=bU5ESE=wwugBe((Mde;%vzv2m2A* zz#m{)(CvkcIzgta+dCOflFYDfFJV6pbA3R!dE?Sj%P~C%^~OxHEVQB9!MurnN+qG) z^FG{QC!1kD2Yo*~Ist)IZ#z5QFc6|F1q#G@6wZ7!v;5%q7K<~a3>n>{Trp_R3+pMQ(J4CwO@>4&} zzB;T%_InTMF6%YYdr9|LKOmi<|0ULT(pl0=tuFe>k?ysAhi_k=^mP^wGrj`p>#dKe z^CzTl5c+S>S;$vrCapzmsIUWJ^^x93TDP7cy`Qvc{hpl-Q$1kmq(}Z7avS+%8hr_T z`5W>y<2niXd$ySH_Ak)%FTN9`u(G6=n4nGTCJ6jXIrRbS1Il}MLvD*8RcBES$Mg`I zVcreUHz1UZ*8Ub~Bf;vpnpG%_66tG5n?{-RwWI?^DqRp-2Wi_#B{2V;q(eq3pBGve z>1NQ7cax4-55T|HL-(!1PZ7&S7DrgKo2GTab}gT%$6zR|x+W(EO-W&oH?H<<39gNp&&%AL!!Tdbs1Y1Rw3mZ=t>E95Zz8SqSu_ zA{-(2bE@e_%c9u^t4F9kC@tRhEc6ITSTy}Nbt9}d{iqrCAvk@WYo8Hw%**znUwsjq zzm1RFd!Bp(ceIvVQOV(?r2v{Mn=Zl#U%%RQ(I0-Fjup2xysoZoPuOB-*SMOy!X4C9 z+_vx?^rpC>$X}vuHa-W?bGSk$9bSxcUs7$ZywjB@g}Cff>aAtypJ5O$qBHHu69E;v zlrwZzhA!tC!MCs;JTB0}O7S?m1rzNtp{A{H>v7F+GAwjiCHm1w3yag^TH&(BMO#of zx~w7nXdC=bGVLv>F0ZAdg=;{U1*RYEX+b%9Om7pHgvTv|i<;u{78I-7WE?#y=AmVy zJ1hP3Fpy2|B=4G+68dIVoPKnhn12P`9cI(h5Iqjmp8Nz^qQzsb#c=Bqrt<6Gfr7Yv z5H}WM#;qXzbl!lok1XAlVga8Cw8Q@c>jghTlUAj|f@euSCdto9jxB}B6t;&}W4~(@Mu5!5@G?sXJltE>S6~1a zmkA^2wjef5+Zd*P!1{<8C zEt<<7X8F(qHn%xq5njH`?n1b9xM=RiFvrjr`Q~b=*W{b@u18SEy;IocE^Xyp&(gK~ zhHE#6(W0K~6+G8Ur3J24Qs_EjA&*Ud1~=CwF`wwJPG$Zd^QHoAov9+@?f&wb-O9Pk zF~9}2xLv^&*U9lm>*b6B_YuqQl}8Fr3C)NkMTA-@J(!DU zK+B@@$rz1un)cO7#TY4nzS-1`m+tRhIU3kJ8rac2dP3-?_Q1%ky8@f>Z%1Iqu@lEm z1iH`a*N5>JI3HNCZ--%}9z9w)cK*sh<=AI|&1YXcdshEa7=NFg4Xij@y8>bSTOq&0 zfgNYhp9oaWpLqIM;KfhbiGP!S|M@_-`=|ev7Ut*JjzfL2F|gc!?3koJ@CTk(`umQZ zPkN?1bQ4KTI;BLc93RLyqEwC-%Q1W>_6jL3m5Y@`Sva|5jL$D3=j@Lq@<}H)5HCSJ z9!q87*yqZ{cmlF?IU6sCTt4TBbS#I7*joY-FQ>DPsJP$RcxkUl#mhrZQB+D!GL{7` zZn=bRv_Cb`C~6Q+Yf%b*75(tkYS@;{nDgLYQVJ zPG_o;OO(_3TnVCFzEj5ESt#bqPNJMI%An=bmkc@`D>=?y%;~+1GMlg9VF;bwATse% zImTxRXs{7(%8tn7bAwSnFr}cIq)8!Na6~*4FJ^_qCx?_u0-YdtGGX~tDu%QTJBf;$ z*#V>!Pk%WK-mSSrzAzHYI$3lRD;1DFQOU8+oTTb4;YJq2$dEo6#uSZojL##nL8q)H zV~CHPQ&h0o_XvC~=GPL0UMV0C-ZXO_MWL9^7t?sGNXL@SKC#a!rc)!ac+rWAnCllw zPR5*Up*#{pN)rz58Hr53;S>I@86nT2L|=H(V?kxddYBRY3PpKI?SnD#>zpzU1y*ojqNP z7k6gj1KmBYpnI=V%sCnOWVxkd%%RA}(m75b3XJuUMjlzoG83u@(brHsm&_nMkVU72 z#Q<7Xo;Q^#&ss*Pt* zu_oA~CxT`>$Zhy|r%KvAqOS_tqsE$GpK-euv|%1t^?J~h_6MQs9pk8bh`Ns&tAe3N z%vHhWQ6H_IF@w#p3c<==H393_VC}|!66hUp5JR&*j;5~CNEXW(ST4Fa{K2ql8z4y6tU#GYOQ!-lp91n)`_^kc?Rf9bS3iH zELTET4%=H7HcofDb8VcVnA{=}{QvX10(zJh!J`_lUVd;2S8~xW_ZxSL=L1EZd0J;zRv#x&OQf*{eGhVFZ z`OLAYE?}>18QSW^;=q-7$AKU?4(7lc#|F@z4M_1W-ueHePT-L{r|G@WBt(=3>hkoy z2EM-EBoYOevR}%*ezTxG8<66k;P1{lfk&p%R`0J2f6OPxfy3XVzY);1VIFyX84K(h zFS+2^#?QkFJ-u6TAiD-K@ACAHKtS5N_VeIYcX@5kKt|e|w_)i0tWM7h;VH=K$8iAT zXormBV1B&3@M+Gg6_8>JPL|J;P?y(leV=UVyIhD*A;ho+e>kK+`emQ>{(4Z)Z$Rc< zoeRADbpGV{%oxB4g6p!!7D zp2qK*#-tnwXjot&84;@((!q$|X8>4dt^#s?kuaE${-(Q#shI>D4XF%NQ+8uC6qc|MULOgrP$ zRQZ7YM-FL1+=a1eSU3*>bxiD!75}b6K0RsJ^!z{_3#3Kyt%`q*h@VN{Azp^xe2G}c zQ7mc=>+dQe{BI;;aq(wW@*fiCVeO%aG!)P}BIIeHj)gr;9`=XHw+ivLYX4B-=L%ce;g<*`9cI^sRDCA3T%2Ns-Ct^I$Dtu1i4;22r z!k-c`j`tOQqU24u_fQU2XxNnbTa<>SiJ?g3FVEzmA~fXcO5#l9Q^_|fyiMU=g++xU z3LjPYXA1v9;nNDAS9o0E8HH~u{JFx96#iPFtP8{!#C$W(`3l<=u2#59VOk;I{ZW5Z zA>Y)Ke@@{Ug>NbRg~AI8f2)uW*tBa>$X8C}I~1;0xJO}D;k^nURrs31w-mmk@MDF1 zp-;aWwrL`NK_JdmxKQC@g)0NYQSB2+^@YBfkf_~;JyjtN63fC#TLt&fTKRpyd+#%ugokbK{e1rS z^Z$s>oVC|pYwfkyUVHDgA7^s)*%fmP!w~L2LwH1QN{Cecf^0)&`5uVloD^A9@KRR;c2zc_C=&_Cf0!7{#kaE>v zLOZ%1^C)S?!5hT3J*~e4HmW7%X-QF6Qpf(neM$)>Z~{eiTGvwgwR>8JXC%qWWYUUD zC0KOFmGQipTb`wq&Ozk4i(jWd(Ps8kd`ZF(5|qHJ4^%=g3ErKi>}*eZAU~Cl8lF zZ!kso910I9Lvtu9x}InaAT#d(aIn8}WhLHw zxE-i}s|4tisRxXAlGI3PaQYLiSxP}wYR}V5X$_94(v@*bw9LNJmZ);)6Q@2nVzh*tVx_KzkxS@*@gM zV@r_TT73h)AN>A8_)u2elE14S-pvcFnA^E45S3Zi^e zE&SfW?N8i^w8%dwYbjx6z8*CSD4lytBR59H$iYNBjE0MN!Z)3bUevKaSNnajfbIiP z#}A~JUL8cS#YYYv{s$P{v7sj$$h^)n3woG6;SMB17*+Dh&~EF0lZNOL^)CMq?w>+ z=*U5rKd5*hYRld`Nt@Aalv=9nN^3r?#kSjG_6(CqEnVu32GzBI+jqR9Miez|Q5(>N zL~C5h!q7VQiRAOUMqb-<{(Fb_e&9_$wfFszKpiBh8X3WmE4Ga4tcd3#_mF8kwId{_ zZiA`hUMb0Vs>dq_-{du%4_UL0{Sh@jcgj%1g^Q5w!exNN-`k^-b)D_A`=#e(raRl` z_DPmGM`N((Bct%On*q)b#^CGmlkxR^ z3~pjqJ=&)3fLSld^v_JaQ_&cC+vOU_8DapMbCLPsG=* z%A^SuCqs;lkBLYU)ZQ-jw`+t)ip0IS; z@=NyBb#?7RKRohWU03}t0vK}{X4Z9eyuWPYZ%5eSI~Se5Sk6p0y>inNj}C$0o8G9D z{jvH;uC!R?T|kPC64CZ}$0kg8kI3{HUSeB|>gfLAwgNs2hqT2yt3#dJ8Ct#feE!eF zk3HR*6@KX1WOZoP`ATT@(j^y%@A8d&ZpQ|pi?7_p$>64!Z`!j5Ri3|yMfR@>3c8aGIO(U?%dT?mPusk*x!#H$`6=yi@sjH2 zj?WvLwC8%MFh@z*xsDu6bFmWD&#|YWD$$NTCPwk-j*Be}8qtouz8fapkhAxVNL^<{ z4=ieUSh|m$lQTg%hMNLB=VCMfNY5|Blk1UfFsiI6a0MNELY+klh;&93;B=C_KrU-Q zfUqaoilM3ob8`h&H&t;*OX_kZ)!ld~xi9&$DvM=&*Ugcw9`@{E;qlIzxEdzCFT;tF zh%SbsSs>UIxW{F4H9`b4q-_lZ{+FABj?Y0u^e}WN+@ai9k%u~kaWMIWD)P>o4kbFx z@LkkPtNW@e13jJbY@uh%Zis%}Mawp*3yY^Z-j3~kn==h#yTb7I4$5AkM%|3+|Jr5j zqm!~2nya8QJNZ1Gg~l^sYI6g$*}iZ4%i$mFL08v0F@}(h;p*g?KNz-fjye`e4oQA_LXwk7@<^JbG;I-Wixqg%Arp9V6;+QX zwP?hX&0g%P4IEpXv{jn6M$=Yn+L{d7LQOkY(^hEON=>^hgSM<=k8)4|mh{mwIA~wT z{Dw>4vA^^<)_8^_Kf%y)e1rXjB>!=Tmwg(M?SNa9DI zdi$dfPgJ8ZB>DLXNhXoxyC)<$n8K zF$v?nZGDbqqq&upuV;bBI?Iv#7|42Q0((Xol z9h0(OU=~DR7UZ(wLu!?eFBSLQ1*kWC3xFy>s$Y?cd4G7M1SRY)#n&;5VF0&}wiMS} z@x|vay6D0S7-6gxJ1}1?O2=$By>aAV$9{)V!6nOdP`=V|qLLOph?$HVGz zpL%>vJ$9hbM=J!H{aC>ZKFaO90S5~ghd7GpNY_tpfqjNUzRgmx9)Ll`BJh#WqT$iV=4 zPu|wXc(FidCo^*}NFLb=m^jSx#p3E$JFrfbk4TCUlwdCT-NwOSqLT<7v z3M!^#e6(Y(*$Y>5i$LR>eSmY5Pb{iS4&3`pWP8r`(=L{|w2jLpVa+9B$rU+@iva|u z@CcqPBbwAE!~&fA$TGl?`5M3LFQ}Vdo2rOJEeQ)hlC_4ID6Ae8ZGl~X1?AxmOV+83 z0W9`**oYrVGfKq1UH=V4@}=Z!$-RI6D$740Pz#aXLyRW7xUa4_BuJuU7gxQ6I^`}& zRBd-e50r5}kQse;hocADODQ&;$9)Dj)!D_A63eX#sYQED9}1=vMKvL{G?t32NOQcM z!Lg%DyChV7Cr$A#Ab6#egz7gZyButF$ZAx@Hzm75I(48u0w}FtRlFwImD@|X0-n;F zs!n$0^`@>&cEx&A<;kviZ>l2MRnVK73(KlhJwjYnxgv#VO(Tkl*cNYxE@@neB5F({ zN);lJM#w#x@_1z$QLZT9`BulC0@=G^n7Imz#;E{=f9=Y!vaxX-!4NYVw$&MgR8aY7 zS+dthc|cIscm1DsVda1(jE=d3Q@xOT>rt3KZ>!uT?6kVzu(@zp?7_1m=3*O&u9{ny zoGp)Okd>FSv8gWwlP(48=%pJ$DOSGB z*n=Q9bE->Yuq51Z8>^H_2I3tL9F6qu*mX40-tmp2kv=(%%JvD>9Wc0m(D%u!k@WIrtxvY(a;*-uM_Jb{+i^wIJFYpBK!OaXGs#NEFu zyE~nA?Vinn1G3@$T42PkDMRe_q zCF%02ISy=A-u(Pa=_!s!UenvO$d zu&YCq9tMGm0OjpS#A`lA&#N@H`1pu#2}ln<%ms{MH9%)QP}E~S5W@!A6ooW_%mzb+ z*c`-R#LV&U)x;}$cp?YM78)T(fsSO3_1F&x2p9(eGuy9>&lIf|4(6&9O$;TR1bbZL9ID9*e~^o~X(|RApojPqgN$ zQs+J?Vn|itR0D#muHAF>uT_P3Jmk{cP!*rKoxK+lSi3S+A7WgRCq+@uSfV3sqxzyV zQfT~=8y4leqR?V(qk8%kG)3lS=yRx_xc%J1f-i|PpISl$i_kp2%IF39O|fumqvPi#)sAO93M{4Q+&jF_VQu$JW9_- z2*gN`CHzHI-K_xw>>bz6iV%V#$XDn9VS@se0&>$sZvmee} zLdoo(#TjxZw9!2>^*we``KqYmo?+>txGkPpR56Mw7Ms~8rF-L9lu=TBD}z?npi!RT z5~^t9*(e~41yGjlnyCt~9dB26ydMi+e*-(Ob#1FOAIM5&Z*Lneo6~I$I5PU6s`Ayp zb=7lo(OC5zzq2~gUMJu>yb>k3tlEfWD6lN4;|Azip=!#L=n5o@*I}u-^qig%$jVT+Y{z^9yHjO!F^v6lkvo?hS1K=dDOLaNEAsH| zm`Bpp=y)3&v8aD3dO~Q%&x>Zvnkjm+EBbvctL)#G_153Dn)hm1=07hBM;?9jx?RiaS)G=lx)3L_au{ZX zJU1=Gf#NKr=)Pm*#em*sU_1#tZs73dhKmQg93*=D%;q*_qKi-&A(tb3?U%57MXo2| z=;;EJSi;v}EaEtun~+x|I6rbu1eVR^Y`5Y!SaGm~65Gv={gymjN76|o&3(IGK@a?= zzR}2**iv>EtRisurw{w!ZC2|*7s(Sr+}y!T=&oU`y5uz^?eWR8q@K$m#t~a;U5;Kc zPU{$nOdlLVv~#rRcv`dr(L7`9gP5ODmOA&?x7aPq)oyy{NvwqClXq2Ur@G`;a@TdL zhZZi2s7rRpN|d{zGSyZGnlK5uaY{kGGc4e$=~_T(we%Bg&V381*-?kRQU$qr!K+q9 zqO}11j)!@iSBjE)5CY8O|048Xi#X?F={$MdtZ<{$&h|2;G5m~&lQ=h??^aNs?V>KZ za-|-U&@_o_iVxsKi7RNS?M+u(>$txOy6ikt2g za?_E`G=;P1Uge*v<$HL{|FS;jAGE<$A>5)Nm5pQK_`*Z0AOWoBMJ)*U<*x)`Xk;XgW8fbGe1#=BAJ<(H%H0 z()oGFhwZG5ZYM7QV!S9**bQMtMrZAcBS&))q`OMzY|}*QDx_LiV<)H|HVPBSCDviu zgWlJ>%G!{TR0nSKYI*<1rRtPhIlV1&Q6@`QNv~=Iaq&wxAOn-M2rgf`ijgl{sV6tR zDhuDli!Hlw1crm5^mPkTx@IZ`jKZU`{`!hVhMz2wc(vVRuzJ0VI5k>yCb^%L+)kOD z?fgz&lUDjbdp!`0xU_j?$(b`i`YN7p*Ox)oQ$>H`4GL5*J+uI)wmS+iz{qu>!DU9C zcTYAhfXPTr4?3U0jETyVCa>fD!VS-9w=MjH!B45wJ4`h~ZFT&sFS$Tq?wBL60QxL5 zk=8R_4YaF(!t4n$WKvbFim%Arli}iIMb3u6uHQky!xupi5cS+uMEc0#IY2;U87@O% zXe!@d-y&@K!mC-eYqS+Rz^M%{~lqtsArr z4SJLYb6wXcOuGhjnBZayV3fjS#pf9g1J=)~&*yF3dnZ-O-3~1Z`e~B0^V6O_TH70<#$O;9`t(36!!Xx6-A3=`ZzVoCq}r4>+H zP+3O1>G92!Lt7p->6r!!_kKI(gCe;(k=J+EH$C`C{d$I=+4V*DCs333vFMZ;jII`= z(Qsui3l9Xk^iLu?*PJw!%&ax2eFn>2S z-v0axzfQj5=b#(HeRXLqoSAUwVmzRB*g)9BOYgY1f(b>Ft9h!( zvy|NQgdWQ*iJX}wE&FFmy5}%$%94(RujQzG_!fMrVyHe6eT4e^2<0Fo)$du=bG~AN zVa{>2lv6W8viDv&{osi-eHdZFC)(uBJ|+rZUkx8XLAf3Bq7KJMED%;hXEkFlLZ0jD z80*ZQGcyor0~X<$MLaWuV?!=YAn=mJR*X=FfQ$6Rdwapx(F^i0>dIaqn?0#JwCWP? z6l5NbM!8umsnU0~;tYIi)LMm8YUZ(NF38o$mp-8VD?-dn@^lS1X6Oy8Co+ow6 zoA$}_jQj)bMF=I}Vr*&GN}aeQ=4m_WF4T=)pY~kTm)8Z}&Z4p)ho$k>%Qa~|)M^Kv zs`o4i>c|l_sV(EOz#$TK07;|9d7M^g}$L9yv*3ZgP7bc{Jw7s{9r z*AlhDT}&piA8%k|-kW@4?;Bp@pf?V7b=;8=aiUA>lZ~T=d*5z#7Xb$ZMn|nb7o=Ue zC_$G^gR{ct!`Icw4{IVe#!-Q~W`?%~9L7RvXX5>{LRi^d@D{sSuI2HJeuM%KcNuP% zh2i<0LbNj?i-q3a!UKfO-8Hm`+y1`VZRlxbvp_M?)o-9$g&~uDM#vchHRX|uPfcYrrG^>r z31w=G0qBh*M?OBn7q!Yl(mV!a?P5Q~B=|S!KbVD~l7p=_-if3$SxldBCrlM0U+&^0 znvq0(^)eTmqwQ~foa~CwYQS<@?6-cRZ|W8JQNG#3{l6j^V#DU#W0lrgMyE#xKE)gq zK!oK|c*9Ti*qIBN6e%z&*TiEx&f>98j8rOC&P&4NLCDzd0XxH^2-$J5CU@yRb))_x z*g7V*Fer(|WY8S*x9PPjuXn^Df||1wJUPSd0lFZw>aqE=5s(`PE+14zpJ8hwpMED72YcTz-+M)_PaA>C>%9iu=z6R!su5g;ASp!nkE}u% zB8~_FSSy(ufBO!Q_027FvpQ5(9E%UFPTS~AQnh`2Gy9p#QhAiLayM)0QCSsk*07_p zD&4FjY7;9%`Fc0&H%Dc$C&)@Y?api37nF{?ijAsUevGkHx>_WkKB&;&%T;R zn1pv!CI}@f>7_FB?KzOm1(?Iba6czroQUIo1DXKyuf_L!_8#(~gFO!x2mZPlS06lk z-#39$#A><*S3ib>##4~Zr~@TMxDl3vd7u}ASNOK@fX%^j3U4%^Cpft97HU6VF8RO{ z;xW`GmEp>(Lnu1?dnSd14Qe}mP?lwT@q_uzqz4l zO{{fYtfjHGwpr9Qu4``IynJ2L^jOpS8B@f$>tdI!TVES%ZMdv9w!ZfAw%V3fB@|_~ zOplEzD&7Qf;_P{q)BQ|LAJZH-drrlya~2~FaB&7+)VUmD)ykGya5opm8XGQaXeAgB zi>ci7m>AO>69G}#fI6~%&Fj~#u5D?7LQJEyF-4O%fntD2tZQ4rD zu3yCxbsK8e!~Pq^s&#Emi5Ah&v|(jqLn5}W8TD#PfNDd->e^V-y4Kjr4J#WOSEBA> z^*U{yb?aj-wQDY`ZEB5C(E7Hfw1BF`i-ns)JE5I_7UKjryCTzm}LW8v-wUE?Sr9>T|!|5fl4 zUY;Q%3vh3LU0>T+i%tZ)HI1*`)X>t(mZvSn>{;b8erQwljn;Y?xsEOcyUGm;f#L3o zMZ&n!F@}dMYddC4;^k@>&uj4!XJr+cTeB?Ui#2YJi=Uk(gE{UfKa0;Y;_;6g5-ac- z3whth2QuQG`;9EdKaA9_#OD{71_tBFf0WJrzdr)EoCub=RF(M+Br82ae9pyxR+YI2 z>0bk1Ks^3Y#*6p_Q3!RBG7cyi?;!az;3q14>{4h#JuK+v^(vj1MHx}x1_4J|kP$Tx zW?8IH5%7nBkE{9=d19(QU>`~<=fd2@1u1J8-H9wxu z1Dk&Y+z#Z4Sy|4t=B%vH^`2Q-k?X8kS-Blvw%t}ED|gnutjMej!y=SC8cfY+L%lxyWBb z0qpmym48$r`5oXdM%gSg!#@^f`Um;j@d@J<*ZVlY9NUM>Ja<{g_2E5Wdu+H6pT|@7 z(=O!~O!oI}m{a<8B^>+=62N|}2mke_jR6NT(TT6~@pNrhWG-+`C;gjQ$K(Aac$a4I zM$HS-yfNU*@R^1S8<%Ia&0No=>9*n6mB8m4BZat;_BktSg=f2U!v4$pQ19Zn9-}dK zEz&+x4E%iHDHpPwD&T383Vc=ppE;(j0Imr*8&CctT`NERaNB{qq8}~=Tzfy<1HfI^ z54Rt<8~fp22JYs5xOafN4LJE?8(^tFeCzx%Lfne9Y8&$w3{O%|Zp*xlyiDDTfcrx~ zTsd%m>4#(g{h%MN5jb&juRPkg9XK1f8kSGruU39{8}O@ue?#GO&DYc%^Z@YXrwDNi z@p4QxKSzCINOBJNIr1({=be=mGAq-*!t&k)&BOwXnWW)7l~VH&=YZ#cpG`dekv0#w zfny<)2+m#qrD(ZB_dDP-+j%Z?eZ2HcgvH2{`2 zs8!{pfPXWCmi!L@*V7NTAGkmE!@UgLd;M_l0QZl6IBvaqFd4dSOnq{J^8+_U>65z- z_NA}zb&XQsZ-EV==L%1^n*U)o!FMU1FBHN=8Elt~vFd}&v5N9}1M`Im*Z~F1HfYoS zb|dhiiM_h8zIOtb-4FLLaM27LW%6JD@q_)BpAn!v*4Rt=rTA1L-)&3Es>G)TxCEZE zJys~+t4DGV@G_QBzIPRUk38G(nOP)+48-Xx7b>0<@LvR;e#^Rg?(L14b^$dHirs*x zEa$o`D+cf&J}&@IKTD67o(bvkjOG0WAKz3VhT=)N7w9$$p_~}-CzBWb$ur7C&hh6b zwkvHkXPOWQ3v_uEtd^`-2~btYBOTpF)dZ1)0q0&FX^Z(kl~jfwMY#gprqrFcmH>A(Lw7Le;Os1w$o|2vv}s>%OV3-F-k z-_ebH+5ZmXzsa+cd>`x)^7*GdQc644HxUW_`(H!AdaMs)1pI54-=BVcYJpEJ@Tmnp zwZNwq_|yWQTHsR)d}@JDE%2!Y{tsG!`_m`-_euFD;{E?c9u|yTGrIeL{p-}&(A2gm zHlau~txME4t-P#OxM%eO7c*LLF(oE0Te-Tvp{X|3pVv*dzlPQ0u=7Ow`x{03wOFwx zp2CLre~b3#qK3GCmLbk)FxrRSY_xyvk)vDdoU_iF9xJ$DRa;YQTda6O$%NwZliOr! z(w0fZ6N-w*Dy$HnQvQErCGLlEyBfC<ps z@m2Xek0@|l?bUv;DJIQv^SKw_p-3f>((l#t-2C+3u@><`+A@~$2yn(FUK~Ve0j?p< z@yKyZ3#ACpN@02l2+t}FS;De>BhU(7-bgX+YJA%`zmpdaeDwg1kfH|^c>ERp%(A?* z@o+3}1Flb5rjIwrEyLN1(;4qqk>iPN0Gnmlr$QBf556ArSm%BNRDn|RS29}!c!R|{ zUy=rHr-(&_oj^7iti^;wftjSKnvKJPNN@n*3y6=H!Pm)f(N##~n!(R9QO$Zq&EOc4 z$wZzRy^rDmv&0xsSL&N4H&oRyS`*=Dd7O`;OzW@rt`mXd6a85}_YGBMW-{)JVLiTP%5 z2?f+poeDG9MRhJ=qS6djlSd}1%-|2xiE1<0N!?^ljTu~+&RJmw@1}rd+wh$*L#?fw zg|&iqt2cvRV9rYBG{OcOq1!6Huhwh^FQ?Y4nP@eGJi@XPOl&fPFHq51+WJZ}_%U!+ z-6AwkyBTUsz#Ho8kvNEQT3Up)_C4tFwkZZ!_kiAJK|cVy^eRV~-$!nV_mcmFkia~A zd8Lvf@HODQ%SmkprlM@`3KnMt?kCMk!cJfjj@VG?k3#8vI+wsmb;elguqLLFC|qTNB~p0I#`t*Abo?$S2%P__V-vlz%zlX~OJ*auIJUEg4uqqBa&F0!@TB5H`60vEud`QIAJ7Z?gId(!y;MPNO??a8v4 z0?UE0r?BarK%6wi^rn!=B59a-2&RO{0P7+=y!QcPo!kI$fVB?a14+Z-C0m#qpmL*C z@LQxjtLZso>7l~YLikj|mZz2QIKqynuAy02g@i+%y4CQF@q{Cux^?S>HGyz0VBjYb zjs|$FW))FOilr=_JxSf>$o0#_10 zjc^F~Nx~{290_bC{&d2*z)u#|biz^3>h)8Ebq3))Pc0QMB^(P(K)KeLgySCEqZQT+ z!UZ1Oq}6bt2N!BJT;#zuTMZX`aDi4>Gf7_pJm50IrNB1`YZl=$@B*GqxEy$4okei2 zhvq6LSOG1CbvD6D5AMcVa|l*>>HwZYu-dZ*;9P<=9@!t~5nd5kk8f)};Y6T_7F)n} ztQWQ)5B6Va+L6Lu1(+Xg>H!ver<@NqxmZ)=d>2R&F{Y+~%bf)g#%cEelUoM2GNutL z>@VZ%K0t%y91<3T9pmh0kj5Nj%po8!2N~xa1Z2U%sGDVazlkOp@;WpO837}RxiA&=7sIDgfiV;@M~b-~Vn}_8rWPZvVL=O@MJ{iF z8mW=sds`aGR>73@1pwguzH@h42cS1}FB*Jt%yui_P z_!9^CN7G3N7hn#s^c`T^)byV z;DHr0D>Q^``_SEX(gCl4Wg#Bi^} z8mWiDaEf%&h;&l;RRP^JVsLncXN`qPv!$D&O@$m!jY)=kXVysBh!_i2H#Z7k*|-pJ z>TEoXDF$^IH;0xiHu781!sCD#OX;(<^hQivKc-5HB(Zzr)=15S)KhMzi59t1$F6Hk z2%}08n%$ek_+>OtjZC{&a*fn@zDRDYlvwvtF0dSbjXH^SujK-pO-H{}V%>|mz;bpn znkCk~nhWf&D4|Va-OIT~s_+%6c!k8e*K>{3@2Nbh${cMHG2tOf-DsLjG(B;Z2gU%Qpz)c0;w`YIcw@z{Z}Yxal0#yqdx?f&#aV7wj#+QMdQY{?*~N7{I%NfIzrk3Gk_JgX3eNS(~(}*S_W@I3w|CU~yW|>T@Pb#8va=uf1HXWwjEoqsUv>bAL ziRLuhq%*nF2&`QFX%b7wecPUH#QD<64#t@L%FU03z z5legoYReb~c7sFYh3Jj$GO-I;rsW%he&hKH8q@JuG@Z3lc)SD@QDlbRq%@f* zHbZmLi4rpuM7>l_sX2gaAVV&D%FNJ@SV@_fZH7K3nM{qA42@6ctT01=qyW7J8o)J> zq1Qm6-!Mn7fd+65WUOMi+-!!1!8483OthMz_oz;SiA|^+ZCy)SUulM3V4-!T$Zt0X zFy=Dq8BiTG2XGB!tbH90|F#KF_!j8p8i?06rBgY=^I2$#HPCk;I5-oM^cpC54e)vm z6zqmL?+WR8nY?NZ6#N!-P-~#zcEV~66g-)*S_1{|r*3Ku6x>Ewt$~795msxU z;8!SLuYo*Ip#ZFbXvyH$Nu<_5!RHC9HBfLe8Ppmm_%{}|iR4c3$5c+Qf&3QD=p6u* z?Hhx7c-T*{2C9I)gD-;1p2Ss*2+klp*#c|@zXucOHBj(Z#20f&!y1UBY7OMKC?Vpv zF2Td|bEws56g&^u;yTAr>l};g97C;hEUt45wa&4)&N0+F$KpE2Q0p9v>l{O^a{vRc z);YmERMjY=c)iY{yGZBA5gvwTFB((W^@EIW4Yke*evYtO=U80l7;2ppyp4FZ&H;Xs zFw{CH_+{eNItTd4nD#g%47JX&xXv-uIwv>*<*IQ%ZgHJssCACTb&i4yEv|DE zTx4;bqu^qT>l{O^bASh|);Yjqrk=%e%fJg*t#g3KbU^f6i{?`69B3&Fwa&4y&N0+F z$HF?tQ0p8E>l{O^b1d2C)H)})2kmR9bx!a`n9W#_fIYF!3FE;&Dou-ZP6c3ow5k0T zd!WrBU#@;+cqj&Lpy6I&FL7VzF;X19vu~k=UbzPuh}Lp`NU~p&%RrTq)I7U~Md_3!hO!8=#(gcxNbOH^$dNqFp;O>6 z$+6OXVaZ7SEzPmAPZ>G|j&oULo%<@2k@^9eLTOc}jHb1!Q~cH-c#XM6B^(f@6QMzH zEjK4Jh|X%(E4p0J!SXs49Ylw9Q+Y^j5@v&S4QgHbUijI(YhWwg_?hl99Oz8Wf`eau!O4lm3=sL3LJ03SIw>N>sm&t zD$TLA4~I^H<3g5ko%f?Kp25O&3k&!829OZ|TFKQ{cFr^|;-AVa!OKo94K^4~I^H z0KKMW%4xO^F5kijdxUZ}kskPwXF!DX+d96c!k)zf{iu7i$WcqRpj$V0OgLwQ^08d&ElNm_{7bl%d@CJf{ z!;dAtVd2~O3My#ago08SgxuqqLC7*sLkmbCb#F=>Xo=Ut$q~Y-N$lF5LJ(Z}2DmpHI2Vgobp9Uf~E)OBYjmz^O!Hvty zh}UuXw}{tqc_(2vE?>@s8LU15fMte~vUd zE|Tz&`SA03y|IdJ~)ENbM&<=aT8ij{+dH$f|a!*EFF3%ry zTn^rJT+Z_c9hZB0<8q!q=(wEc4>~UA`GbzjdH$f|a(Vt>=(v0pd$W$qN6{Kb#pN_@ zW?ZgJt>f}B$V{I~m}1~BDdH85mhS7-Ixhb^EtHPSr!n8`&Xjm zoX=B8p{wK2=X9RJk5~8vX7n({m$PQ>+u}xQx1&{;c+`K041(nv49X9YVXsa(Lu5#- zQ=uVfXj3O5+3TpSPUS)fqF%XrGrOZhWPGesc@Wu~7aPLRT(0fR?l|P969q#Un(Lgx zAzYi9a^Yuo7Y%_sx{2a!b_q9C0ujB0r9K#~#95*PAO?l_jT$IUY3os5S!eTm}$k%n^{NbGv%#Q5etE^+)9 zFun^>=wlwwxjRrtrx4kmN@fe^YsmGSFG(HV2lFf<>^S=gFD4vv80mYef~ZEsKZEcE z#79j3NlaX{3W;3P|5r-Yfs%hAbMz$+|4LL)C1PfP8<;8)H~sU{IR$2b8e zr6ikU`VUfoOw2X?Md`$R=tcoGRHwr9cT=59n5Z=U?~_a>s!abm6fG0grazg^sWJV( zPbXHG{%=yiG8URJ1Khy$tf1ZMO@E3xE1A;>8(=HSv+7msWi*@q9TdHqiB?pb>Li%h zWctGttpg?hBTUo{NAt9s0dA&v>L(#_5apl;dDiYhxQ-3Xpp`@!Ar{0-69X0kK%g`e zg_KyAd>(?GHIQUUC51B?cxySSO=k?swpPpmY&l(|QGt@Pmv}6@=_Ku_hP9gT0A~(q z5}!jUc%Phd>gabdCrKI=C^=szuL_hLKj|A-R-y9)!fOdnaLy&~rG$%|62gs?KiPSU zG&t$RB@Smc{GYj4%$(@J5Yi-^Ld8Sp!uXJp~T{mVuIIEWJ?3K*@6| zVRcc%GmfyjsNpFjtS)MJ#uHW-H9QjttBV?*iG-t067oGo6rU$TMA2QObL0qf3p9Vx zGlgB>xtfHC4jyt3b(9LOA05mh`6+Ru?rq(+R7K8lE!< ztBV?*Qo=FkLX_({lduYuJTnNZiy8`67c~^D0wo2jiyEGpq*oU;JY|H{MGem^!eug0 z^2{bIFKT$sA}B9vc*+UNiyEG@3CfEao;d{NMGen61m#5y&s>7)qK0Q4;T28`Eij*O z!illg3(kT)>qY1f@Hh5RY1)w@G!8I7+SEadJut*TX_kvcptKnxjEFm37^&6B%SMP6 zA%F=V&e8xV=Nj;Z*vYoI%riyq>$KwbCSYxhRlUKsrTRc&>`7tHzgAZi)y&rpQ|n#}!88zXfg52m?wtTJE>yQ%Fmq?9x( z@Hxq(QchqNmC<>jz?h6wBybxk$12KPAFiB?W2t8MrNL{Mqf;Aw@(Rc}7HoEx1*cO+ zAyqZIn^_Neo`F^fO&S4*1U|Tq?6Z{M1k6scbzslp*Jv7QJA{P4OftD~;Qkzsk(!DY zuw}c{u->emZ21~hpcUv~@inU99baQDZayqiB{fnR>|T+p-X~48Ldi(@VEUB`Ug6`h z#wwO$c2@-3s6#?A)da6+s!pYY=Xjf zHl@y)LxH~gP@MN1-lTMVHMle7oqHYNfUk)(^9Toh=RmS|KH-q>0Pzb55Ada^Z^ayR zsfh1+s<5yEaIS9(3iqB%IO_W<>CYpa=evV)DhbEX8*YOPe+WfB=CRME5MMs)R>>L& zUmN7v=gZpo-hm8z5n;z?L$IK6rJ_vVG?b~g<9t`p^;Rjj{RiEAwQ}3LDJQWArDXZ;pv%|M`(nNbDy+BT zd}oqZMVY?85^i8wg}&D*e=Xq&zW1oZrG$%oFA;8}{K>v$gfAmJ#aBk%ng|#BKBWA0 zgs1x6BHT>)G~Z7s|8l~JGOt1b*p8z;eW#PTjRl}T5Z*x8^i3thM#7e_g%#LDa>sWc zmD{`n_z4ehA4T~loeEI+wxEu_$z-y8zlCjmQ#JwZ_|}l7coJw3nvyh3JhY*Nh-2|~pm`1C zH`)dF0G6StJ(dovLR0%x!YVYi#}QVcsa;4|g{Jm+!YVYiClFSlsXdW!)Hf29vx_Jm zp(#=HG#xLQF<9Y6dkRMlpPz)qq<}{eo=RASruJ!s9p4kgPa~{CQ@ez4#5Wq2wNEFk zLQ{J>VHKL%XAoAQsa;Aq=6jr7<4nRTG__|CR-vhaRcNYU6`Cqog{JmQ(yP$aE+ec$ zQ+pQSG8vlMvkA-4)IN)#3{CBFf-*F<&n75CQ+p0U8JgPX5R{>*J(r*gP3?JvSNPuL zU^t&}!skKL*$bw@o(N6fK=ZSEOVc7W9SN8pZEDA2x0RvkR2PfTwDqzUc!IqiDBtJM z7>=(FqJ{4z7}{|NTfQN1FUL>V@m0dmPJnPon6+RS@3(i8c>{?2K7ztG4u0o%2>X4n zfx+)5ob9^|^!@7?1;)P7dIuGa}Oh&(jLXDyG!3%ou^5V}>{1h^fw<&TZX(;D%Y}Scr4oe)p3LMyC z0tbJ*U2%+71?aLzGlLwCJbfGXW7y9;brX1+z-vq1Veg_;b0U$gy~w}Q5XD5gzgTFb zhNV!fc{-8py_CNt`wSwl>qS071D!?WjlIZrvd<;*<}`BnDi*YmNcU$8jnwssuLezy zx*0IuAWn{ojMW*w6b)`-@3HrX4UN=)f@>&eRFwfPG3-MY*+e?`M-EYqo2Xn1k?yY? z0=bXHZ6ebBnL{A6sN7XVy1#P>%opiHyeH<{Mfve$W`EcLvntBoFiCAnLz_Eh;UQZNiRo{`l6DwNetga zJs)JU{1hR7HxZX5AY&-w5S2l5nckBzSdIY&0*0$B;CXU zA?}oPJWd+qqq09FNO_LMUOxQGQ6!%y^>d(}EvZXM{VLUZUVEe%{!>bQjdboWE*dFb zvK`8BOJ%U8ITRoek4X2&8F4LtKg%)XA|IXoPXcv); zszI4E@}VfGhDxma%Z@1e6xw2h#Ja!j2<-2v=4gp^f87z-C~H(8vF`6X0(%YRj+a>X z7aoBfOu3UK*8Pn~BNcy#nwChce;lF`n88RLVwLvy=AcTWc~9J&E(vMjST(cf$+Y`3 zkVa}RcCW|OfpDH7LxgUT|0Ii@XD|n?l;2Iqa&w(g(^-K924@Ddd&MY5EM|qlkj3n- z8FfVVW#gyF^>pvLdK7=)&^*`RD#7fo9?eCfd7hyLyULTfEHEpjMx&c~ujYK?fGo9Y zG}p)GBCUMmXk3_HtP}O8>_@eKi)yop>NGY%mu0bz^%dw6JBNC0keTl9S{kV{uq~5c zrgGHqDMm4lGB@c8Bt}EO%?9aEo6)q(6~+RYs$yxMNh`FrH-Wj6)*zXje+&`Y1nrjg zrelAj>AxZ^?EZ45k@_A8@|UrAm4h}bI6!0HBTM-Lvd4;oH^}-`iTQ@aoVt%T{hGv# z#q3wfPsmH)L z1}{V)<5{I`{wXZrJ6epT)KhHGcFfB4YkG4-qL8&9XPA|R4^Uu;0n6(EWUI^+vmeu|nj7@$8eBVb?NaF<`H}D(n3Wz=*f#VG!9-$n#Em9H6jo0-bkq zBS6c35zXqI!g3t@SHu@T2{qmE0MC^Ez6Q5l&iHp5?}XqhN6!)wzyrDjCkkv|(eWoGy= z1zgO;Y%^SnW>AT8GotRuGiQz&uA+dYOw2XI=Tfvx%s0copnw``P+^8Yq@tHFQE7&^ zlSd}1%y3pZQEi5wrU02!V}`Fv=d1u3r7dGQ2{WSZ$j?Bc-V7VeS;?G6*nqd4S1m^m zX*R=isr70mTFvkjnm573CNo^Xa%ySBE6wm!mQ!~ony1~2s5|nDkvNEQumxbO9{%>FZJ*2uQEljN-@TwoidZ(v!4 z_H>rJmhc4oUBZ_VF0v02ZlwIl_6EY25uRedNZpzU7u&ZIUPpMU-9@;W@M-pMSk~o) zrwQ*#V2=1&X-WIXBx+*;I3^;|2EwMjmGDNwmR-yWY$Ca1k7B`_7Xu$c&!QQ<`5?tz znV%v*sP4)XB3lI29d^Q2P~BlC>;%;vcEX{cx+_CC5>$8C3FiVvyGn!igJxJ3CDxHhHK0qTo6=u*a;T~)m<6FML~6kop5oG z*9eT6giC5jyj!h0VK5qD181(clw*qKI;7WV59?UWF<>@bY$oKD!WHxr&tIAq^N`ZFp3 zN9^AaE~S`(B1F_vZXpqobsvO9EPo^$;f(zdB=`raQkK9S{n@INGDz^}s8WWICYOCK z6l84YAM_WNBCOfN0LJYoi2Ox_3+z#(nZ%cJ3+)<8 zolM1w!ZQd@AzWsKuOmY-6P1qeZ3VHzFZ2*31@oMrt22ay~>6 z#w(n&5Dn!HXX=+E<8jU)9Y*b*f)ZkwdmXB~Om~ zbK^#8ET;Rx%|Ov8C@0z=JcC$8t|GF(3#agmX43s3awEmpod&lwtU(671w7;*t@y2+ zZ$MAQg1AQvx{=8VGjU>ZF^G-S4sb_7UqpamzTYC}(0iy?DNAyHzT8OtQR;>TnaW^E zvRp}qI#JFHEhmaUnk?hm6IsU&!EdSr&KH*Hm~d4|7)mKz9$W{~B6fn;k{L)42r8;c(1Dg31h zpFpj@L+d0d!u@e|BlRH58B2v_25K#a`bc*Z>D(V%H&O+N;#3`Of_Sz=&fRbd&rQ0; zb0U->na~os1yrevBG9tAvK~5>pdGuF9qUh8M!L^Wn+n1ZTc!lX$WD#BMVBMb*v^7S z9E3(jk_02lh`oVeh;E%g_DC_}k09_*;|)vk4b;dIUmJjL?_2o!SaXvTcj zxxDJ(zkpKIwIY8hXe@QD$bTLMscS|44aBQ!MgE@?Uo{YYIudx4u)bCl_$(9pT2Y{! z3HR9N>2xB`3~WU;-QR|h$37~7W1m&&9DVF#$;(4H_IZ{$GJ#{CtEh}j;MnI~ik1l+ z``nt&(Z@cPzE%|2#7gRGMS%-YeU;G1K9;^#6u5>0^tGbEy%a4IIQCgj0s2}|;6bV* zFAw3^=MnPA1de^ODOx6Q>@zH#gJYlj(+M2={FDOpwIX@!W9e%}fgdtQUn`QwKGrJU zK*6z36Gg9P0>?gIqdEyDaO|^{in_->7qOhWd^AtHI`*;Zry-$_eXO-lVzNTa=d(U5 z;I9q%;%`6beONPqLU7>2H<$f~A=ay|75V=Gsa|!h$bT-%)(1ZReBxKmffUE@BfYv- zROTi_mrs)eEijT`TgxNmyMg@-Jk;n@H~X&u78INu>aV z|8a2nCLe|b%YOq*;8WL%{If_?%xfn&yCJE%R^+oNA>y-U<6-WAD){}E?*f)*H&({A zA}ixsk(F_+$jZ1@WMy0{vNEm}S?XGm|2fFFiYOj2*Zk>dN$*=tzn$*MwPaO=8s!pgz+V1X(I0Z$VpPImvoiIMtMnt5_2 zvrb6nV#VAlqBoLxI+O07KrvF25W8hJQF)nxnq_aMF4EUws_bPMDJO^5f6P+41vY8L zu9hDf`~a1% zasQTzk-F0lg?~*Ea+-tq!Cb((DQmF2U#|1;zU=DWywG5Izg*`<24k^h%1ID=k9e^* zorn&`ipq^3d35Tq9(hMPt%dNym3Flfnh#yKgYTZJ37~wqYG|~(w9CL#{do*yy*fGF8eTI;K z$P zOk9x9!NVA6jLFIgda{OR4K%Xt2zQ8c3{O@tI6Zhq&;W^Nfbcj>%*!bW!W3~449)-p zL<|<5ER}=#(lF-bkRGwayqt-kbTlQL)h|VQU6J?$qAnvv1~ZagSTdtPBnO01;5-P< z8f2U@lqH0{C;?U;B)CyMaF8xI8#~4#X9$%~mxOn++>$VAO3fg0aE{Sizai=BdMP}r zIlQX6c*8)}UMGhQGDtLhf-!Tb5`4-~+N~`5h1pWKJa5`sCiFR}xKDD#1mW^2u3KlL z1|yG_20Y7&fn8ge((;37u566Yqk83>GIU-}S_7QR1T@D$w0k^La0VGgkLeXXb7(2F zI5|!1?N_H$P$y~u8&Hb^T}7Q7tE;G!r)s%KD!Jp*x`I03nH8j?Y` z*+cFmhOHMhi5zI(zgr6|loS+ReCI~u4 zMqJfrCS+{oMqH?GM!~VPa6~0;jvh4gb;ZF!;iGz8gvrs`X?1RIjFllskC$V#5j5$^ zy@K#NL$31{^lCCMr&NZ0V^NGawJ#p;DyiYVkYTV2wa06L=}>2a8gVlsq7zJ?8KF+* zz~hcL2;04B&ygzuyRR4f+<4qk@wngh>VOK&Gu;=C*3W(6-&s<8I#v&7h(~UuulEmh zyLNW3$GPpM&7ITNVKc^Dw%edyzO)~3A{^Y;Q-`F@-anv;>W0@LRiDVm)kJ#`Vjs6t zsj@VFxN3A3o9DLwNtwgZ(Q{}%T;YEwe{<9go>oed1S_$8E<$5bXWphhLQizt-^|gr!tLez~wJQ@7 z>M5ahb8~GAKop_!CAN+z%hN>Z%Xm@qxPH3aOQkl=C|4tckXm1e)d95{gowVNzTHY`<5&j zJ+p1%?%g|g-?yY~=fat7OB5{0?y%q7U9=NuS(x2w@7#SS^qJulwe5a0zq@_&NrVX-m~dmJWTsu+Y@x^@)wqMJ7-?p=FD(L zb?=l>QZDBq+@@+Y)BuNcPpZEc>- ztsg9~OwTJ@s+U~ryxcMo|8=yOqjH^Yb6U2~ zpVptsnNORAx%&U292fn`&o?J(Aq!#3Px!A_jY(+*Vf>SG&`_I2m~6?Y!+Q5K2&pG`2XiV6fp z1(jYD0tj}RN>KucpdJBr*(94}O?68Gf}#ReM6jF<33sA$dMFlbpmKtzD7LeJ;O|bQ z$>|}*dgAeao|)&}yjgYZ>g5Rm;*I$l8zTLjohF1~;J*`g5)=PVd{|H1MbVt&Urti`=dGeZ~)$U3G*<423@; z&ukXRon{-+jIJ!l8ED0q=4Lh>Gi?Do}?gr*&)dt(l+nLP0 zaBA&r`A?HClUI8Vf_+!s5`0xbJ{+udK|DNe=gwqp?KGJOo8w~F00nQd{tV5U=S5~* z#_7$+C8v&iFQfM%xjSWi}1;Uzj_*wsutZ!bTY#vh&(C@W0LVpe-`bj1Bgv_UZRZV3G~9 zymoDa*%??9fMp>#lmn3-$-JIvzV$~FlthEmFZZ0j!M3h6!STF0Z*6g1FJFV%HF?AR z{`Sej#q<|rieyHQ?7VS(7s8}AxDx-pn&*ZgK^uwfB^wuZ?w{P4bmIgzQpLgCWN>3L zn2YXAWdQ>MT!l{EYPiWxZp`SCy%8ohDNeWMDEPs?I8#s7-s?hc#c)9Ht&h)Uja_ZW3t4ligRf*IrzWkzJcg5TY!mBjXx6IC z3RX*2>CEQAoZPc7npzv|o6%YJbezblNn#8J^Sq2>vWK_}oyEi?Vi3%ox3f0*-p#?> zYIYg3F+vI!=ar)SU6PkKGCQxW{XZjs#;~g`+7JIk(cWWVoL1Hw9w)o;Z>p3dq{xJ5 z!WDC0;r5s0x>2<^UP(k^<}euvwb!U+bjuEIj*sox*R`-5dfU<%JoD3Y`c9oD=eF^%b|@z_n-X;W zA%>CG2`+1sW`*V$Ca#6zrBwD({_}D0_*@LDYcZTD?vDDAc`2J{4iq!@Pb^tEe0WCp zZ2X_ky5`f59{M~UBv0nWzSjd=^vh3BEJ1Tj7i_M2)4#fZno zykISgM;rW+d1HfP7v`aGG)F^#|95h*P%3 z@{(3O_9#Akl$TT?f%hs8X|18x^P?1bt>IqE5L-Haijv)KcK6Ke9JO?r7q>>O@4G43 z2E%$=h5P$zc+l2FHh3ATPFc4NA5O_!$Ox`ig5Nx@#-6bdCGlv5(b&%12`RJMjCRep zf64Z4WpG}`Y1w&~_L~|UP@Bw4CdUS=7uGVAK-La=$@WMO8w@rx$g-4a%U>p)Wd@mP zFxZ*VE*tHg{^OvIgRC;-K!)l4{8`Tlvf`f&K_2fH6fddrig# z*}=AwtEXnV`DGCr#}YIyD0Rjd z%_IvFCQ?xtDhwyWCO;CXDyYN`oan9!O5>qKWvHmEvZ`ugsItPu!w_M71YcfR5n_~M zCJ_r4L_+z|M0vQ%L_-xQM5S?@glUa_&i-2-j+dIEaH0ekB;%37P&v*`QALP91gwZm zNSGlb&TD;!+ugHuxAJhTprmiK*GVVfyr8VGb+_Wy-HIy9qls=sF?5^Vswy$)i^O0U zWq^@xMahbS1U4v*!>FRNo4vnoRk6xMq##ilGvUHQMK>CXMtc#ICMcd_GG=u~}4$u>LYh!Njt)6RJ9FkQwamB)bN!!^k&6eh2<6)+t!ny!pR zu}VoaR2Zq2hfHVNVuYd025=^rVmtiY#BWnttOOHHV*0w56U#u-;Igj5n2l!Rlb zW-KbUo-u9kq!lqXdr^;yqR5?#qeVqge4JAhs=}{(V1!arh8oPuipq%J)w*WdR29dn zOoS;Fi&RB$tJeQA%#P73RdD?9)0S&wQ54OFEgY_B=w4j@u!N#aD_&t#W|ZXaC6(oo z?iIoVwII>Un>zmv^E7OCY7-eeoX<_ zzogMkwX46PHBE~|-1XI=N^IR6OIG~G4Xmw$zpiaX{B7!^fwm7^uCZ;XiG@qv6-sT5 zac!xu8HHtGv^rWCQ8v^yoj0qttfGaXb4QO(Yv=4OJ2S9V`YLF3yQw|3%x@aEpfMGKR5g+ZSn+ z#V$e3m@kdc@}S_@@zGwIF5Akut}xYl`5GoBX=RdaU{N?(<~3BmU?5l#sjDRLeeBK5-Ws7)W5a=zs*CLe z{%4KOFKcRS8&iMq^iu;R*QVen1HKaTb4E+He7OeV$45(Pt;sJRAvN5Jc!QyO1E7Y7 zH@4(?S($1j>@y+n+vc6?w|p&!9n!e5pBoO@k&K$C)N|r58nW0&gJi=`fxm5o@ax7T z_NnP-ReJjx#MD*&Usu)lHjMCIw*1_ute>pCzjc-Mo^XDoX8v?9U#~mov&K*L-~S(K zTB>rTSES#zc<8X8Pv>8Gcm>K29nO@ok^U57}v| zqF5xN2iMeSiB6IAbk)$rAQQeWJ=~-qFLC+EGdt5^<7p>P>UyH8WFk})#|%qF@y{H9 z=7;Re88*n-vw5*4*_$v#`Qbc~jkV?pdB?HJqJ|!XZ7jJ+Q9d8kszWvz_~h)x4kc5w zi1}_pC^e7BVyG!7JAZ9w@6u-!5p=i!Q`xTbv{Q>PDzBR0l_4ffWl>>xqL-a2Ih;xJ zX7u(p*$AJ|nc`{3-bEx4vvX;wYA#dOFWaSJeUu{1UhzFyY8o=%%^2w+T-lO85!0j` zRQV?)y;dOgTwciOsni@jpLtQU?F6OwsLlwW_;EVedur$HqG7Q$r#xIxf_d@=p5J4v zSY9{nCc*4j+Lf{T{dU~WWqL2K4W1xuD_U=$&4?gV>(ZKe=O*-M#f7@+Pg*MJN-Eh(>7x+61K-dV!%T;x^Yf2yz*8g(8+4%91{zSDB8u2q$<;e05paFRcBYfi`&aX2B&hXFzfQ$_FOT% zXt1+@ww{D-|GVewCZD zMDO&J=JiMgp#tlgkAQAO=M#pp{R|S<~Zywhp&f_K&- zjNwqkSmE$;#P?dU&*-30phf{Was&J=+)!M)!PaU2oKt8gBmF>6BF2D~eTO zHkbVy`Z^nbuan%{j0*-Zy7{^>BS&7T2LSJ7^-sQ|Vbx^YS#S8~)mz`BsmfG58E4To zdW!Q#dJVM}{$_#$F0QfRo1M{6-HupYYe5ra;GW|xJIGQ5@UseUaOGMRJed8|1P)pz zwLrgo{M7JR$!jR$;c9$LfW@-wjgIODIsO(VHL|h8dgeB6*yeWB_wqM2MCKDmq8#~B z!Ovqb^8r!Arwwo-nfl5H1{g|P$5Fjoj1xKJImC2ZK@8Cl&GG<}~pBca^8ZYE0 zCI8KQ5pPevl=C)CPJCiH`Xmsq+bm1GGmMaO68zpLhi5U4Cd2MLQi2CUKK@!8XP%E2 z5IF^v<@ST79K7L+Yub1jC;T**zC{4L|KVs4vglVL#!;X-oWJQJmC~_yG$=G{KJoVZ!U_4nKIr zqTf#AdpUaygkL9lp1{OA?SON?fAbFvm|5_M{^5J#lz+$Loc??MO+L+-S@^w(cXJ|!^F(ON_>HryW4bT^+7(ZN&x{Z91mt5Ja*2;L>7a_8C7-2l(hXIG4K z|9$K_Bw*&jjOoH;WH^lf<@obmZUz=Yp94c3p53L;e*fki8Ze96JO8kvP0GLPaqeA1 zF9t2ff(Ixs-r?EtR~z0r?ebqT<}@rgpdJ5sjhAP%>-3#5kMl%_7cS|QJzC8{xL4p}ET(Qo;g8|+wiq|Rf31cG zuyQX9b$I^eKnLJqFEHaTSh7%>zgwZcllplqlPNw;^NWpno%%Cl{zg7#%-^Lqi#ufg zjr1<*#t4}1TZ%nM_+LnVXv}-k--}}rH`?DSE)t(6;m=Frn#rn&Y~MrMcfI-S+_L z{#0sI{6QoN&j=D_uuyuUcq<8a_lb+e7iIs3^ak;BFr(aKB6D02IB{1V_V_v0( z|6Eg!{F3I#M>ay#hmt6lr%I2Po-BQ>c&m7?__(-S{G0fR_^H?k6*Vv!^;JAb%oYz5 zj}+UI$m;>pgT$fY+2Xlko_G<7>!wKGN}^u1-yi%x^pj!^xgN`9OP7e{Bz`P>o24<_ zH78>=)}W+bYRoDU>Gh%b2?_tR(dJ~V!Xn)ue`_2PYiN!}jFQ zGe02zfn`z2E8!nHi2xe?R^(r?Q3%;0V9q6@carW)jr+-y`9(61OHYt~N_wgE8`AGc@1TZ1`=T>q_>Dn^&katfM@r{Q z7fW-~+l>2+xkctriXVuFqfg@XM}hQjkn~V#E|N$4YUw{n-!HvFn%fA|-Tvq_$Zq0D zF)sdI3hWmq}oK=93>7bDi{U;yonXKPUa7_%itl+Kc8O;?YIq=Ba^? zunHr2zcH7Q_+892a)B{7NZ(BE#(07(G-e)IY0LxU59l|^kI^2JdHBOXDiB4!kqImj zNbVOfhmyZX`we#)h<^?BV@Pi>W0Nr(rN0-C#K4Hidc0JT9 zsh=>W|B>#xQR42So$lAh@i{O9Ki!+x9va~+7GD-Oi@U@o9h|$iVlQ#D7!gawOT@Y2 z&XR@5Mim z2=_VZ&!oQ*vyO50M~OLNFY#pYd@&;41MA}>9=Xv6I*(as17k@9lBKwVC#<|9PC7szD zdIH*akp8z2v5KiR$Eu^&{A6*6%!f&j6E7Agino$Cqkkbk!*i6(ACZ1qdX>0Z+$4Sn za{PGM@!);vFUVW)90T&cFC-D)8gZ%E_XKBthL|swh>Jj`??=?|r_qVd{lOr^Yc73+ zI8nS-yj^?~WPENu$z8ud{I_`I$JKN2^HpNgN0 z+r%%$)_7D!H)xRkmLtVN@e1))@z3H4agDf548kw^*GlXyjucD8E5uvH1>#ciEpdbR zt=JfC5B)C`r-_``q4_J~N8-0)6WlNDJBtIvF=CZ?t;l?&d*%?2~2D0^L@I6<5t&KK=YpiBqpkHjy< z;C{}ZR$^~)q&QjR`~>64?Rm(h;-_M8fB7T!7DtMlx8QZt#5v+JagEsc0Ozi=I6ypC zED^5|Zxt7a%fyew=A2(ZxMzx!MU*%b*x}}913S_0Q5U;8??Bwm*#=NKo6~$A$|ZR& z>LK~6F|Elv@%%;Jj(R}8gLzAGyPIDQGzqw$!WX&rAkaKu&}^H)Ow1RN4;V9$d=l{^ zvjS!qIUe&6BqnDOqzNSPyhtv?^9}i;G2_Vy>Mi*#p6AK8P+!RTSSE;^j`Bv1(mXOe znM{4TF;|ceB0tDWjJcM)3EN(ikK!E)`30Vv$g8l)HMtG*+av;;M>Yx=1Z4uxYCbwM zVE#<~5H_G7uf~4%;QxaH2De}Wct^o@ zHgG=jpG0JlbtW(g`A_~4`A=53b~u1UYE3;6`A=>^{*!-0{*#DI4{|yBWfFm&M1F?aX!yuGw7$>`@R6`b`vHQuI)%d_mCbeJyNAy<9CA~>{n>4C|4bSES!;@RRju~_8$9=e+%-XPvC-YYH=?Klwb zUy-)sJm`<4?Kln^oBUdT_h-F;=025VTQNsGMdVJVw4Wrd6ZzhU=8g7o`1~NZq-A7PLvKy7fa8Q{=M`Z=|4(8Fa3)22I()v|A_WI48r5)iwv(52|ZBS zzF&ckNGHTea(BJ-Vv*w&UcXj)leksp`=TvjIL%0gD?LEWmHGM7VQFrU&FgBUuadq| z`VQ%Pr5~1lMtX(xo6>)m-YR}2^P|v)F<$n)4Z=H%8fEPw68d5iWonA_4brou=SV*) z&G$NVzg+q)=}pot;3xfUN1}1-EZv*@4D;I3gGe-jL#59r(MgY&E+fO3&yl{7T#Dyq z>AB=f7$-gsduQBgSe?s12%x38wA{O$s{Q*`}w(-VV*Opj}-LeIV^gEiw zJ$97&vEm4Ev{)t9h||Rx;%srQ_$Tp6@kPW5j0J&ip7bES8cex0gy^E86!$Fn?D13%T1R zy?=9eT?-Q7b(HQUeVX)8>5v$a`Bl=h#oJ~6g!FQ8rOY=;e1uVmirQ0Kml*olPufzqSJJegNZPZw{H`2y*u#OGwbR(gy0h0GhbaN)KT+mHyi zpY(8Xw9Kodr-;*K{zvIY#iwNcuJn3wi_EhQbKxE$wj>em3F0|oRQ6YhH;8jc^bvoQ zen5Oke1wF5PmyT%mdgAe;s!B*0W|^xDYh58h$o1ri6g|ZVv!gVFBh*DZx{JK zj^REkJ}<5jcZj>i#z#2!hl{<$0peJ(ShVl$;Qy7$1yMbW;;!*yRvXSQ_V zHW7~$$BD&aT%01_Al@$CD?TDF5nmSH5&t26CVnGkwsP^{cIZsEmSQKdm)Kt%CXNvc z#VT>Kc&&K1c)$3V_`LY4_`dkPIF9cH5uXX-G;x;5oxW+mOxz|uc$71LQv6QL8|1l zGQUnbvyF2k#n7P+x7!+Ts@CcZAN6*r54cFuiEv9ox* zc)ECj7!{|Av&4JE2gRqv72@0C-^I_wecHS5j~2U%CyRqcejCdBnkCK=7l==Y%fwaU z8gYZTO|&2NQuKPWS za(=hW9~KvjOU1v4uaUTJi*%PR(8z~V$bIm=7Kw0kWj<20@6q9I3^lGFPa@oi>?ep* z#A)J867JuSUL&1(49wwQQ}JlAn>a))5HBO)&(+ck#D(Hhvj0T7=dsTJ{^D?PoEQ}= zN%%WS`bKhpeBUO0hd4)^N5cIA@&IEN%KR;HwfLd9McgWWFYebB*W>=1h=+)6#ZF=` zvA>ur{!T0qE5%9THR3H|t@x1ml=!N+T3j!FA$~9J+s(x{TWl?M6HgI`h+%P(c&&Jw z_(yT6xKdm%ZWDhH_s?}H#rws7ieHNv-CZ~biARVX#pA?& z;!yE?F<-0@FBPvAZx-i@4~kEUFN$x7>%`6CPI0$*Ko6yhc#L?0c)A!8FBYrCtHhb& zUE&Mk(LJ62eZ(`xbHy@on)rlRah$vEQgNmDp7^o&FY(`ERxfv5Gw~?#81V$re&^BH zn6c8uB3A9Q_3BD-rZ`8upG5s#Ed8PQiOhFPAJp6VgT1}1d+hCM{T(chl)3%h1M!GR zSIPcT>FLrpN#7+sU)p~Ef$N`9xcb7gz`Yh=ZF)s62(zW8l;&b9E@k7ymkAwT| zd9n-lJQ8}mbfxs=;(Bqb?0=AMe2Tm7D6xmwUmQx}zVf7N#H+={;xZEM-jv=dekb!o zPj%sR5ToKW@h0&u(S8?%`&lggGKv2Db?Lu}?~7|mg#QV70LDc!-zI(~?$^h~qltKk z*jDT!=7=YYgT!-0`@It47nPnVJ}SO0t`#?lJH-Ep`}cM6IaF*X_7MAuL&ZYza`6W7 z4)H$m1#y+QN!%%#elFYt#UsQ{VsG&@afDbRUM1cn&Jq74ZWecnyTt?gyKq~G?Zocl zsp1fEv=|ag#Ts#{c$0Xy_<;Dh_=5PFxJKL{ZWDKj!2vFw&BadQHR616k+@WRSNvRT zb(-_%een~q!|Bevr`T6KOFT~ui{;|=;_c$S;v?b`@m=v_@n7P1;y!1%@SBQ9ipPj& zi+LpKRf%-9I9`CcjzqmYPWn{oT=6`a7fQ#)%Vd6+^aAloafSGIaRZ5X|66*W!7kh;Vn^{r675!B z>C?r*;!qO)j3Uu){Z8hWidTx)iZ_Y(i1WoiiBF1u5#JEkikrk8;(x^bhq(B+5ZjAA z#eU)#F(ytCXNY%-kBiI1wc=*+OEGY!3-=(grPx_KUOZjAK&%$0inGLf#C76kai_Rj zJm4(duh>rPE}kk55l4$5u~e)Pr;0a;cZ&~*kBcvetHd?p263CXOAHQm@oXt}6ps`8 zi9^Nn#Yy5i@msM`uJf;n*jXGPR*A<9bM8(MCyG-^l-HZ3pBA5&`8w%;irZv<;Be<( zTd^w%e@>J>O?sqsxmY9ftE6X0-!6TR^q-~Q71zpqi*(ZwF8r1x!aYX%Byq461k-^D%9-L?ZAn;q;3@Ai6R8eHHzG7SRt9hnA!`i@MquTSxJ>ImF-WEv#6@5nTW zl<&y2Ut!f5WSWEO1kN(;S7dcYnf7Zfzs{}~<3?utZpPpW-bNGLFXESt)5cCh?`Mv} zc`KjpjPtHOjmKFt0Dru7y2o(J48S>(-D)%!se|GD4ytL&Wc%*%sdJue-(84*d96FP z?=Hbf(37w)!#U&Uj_tdvaDu4o*uFcCv*w2spag%q2);>RZy>-wDlq5)YO8`=EzHvkcMwqtN-#Ok?Wj zpqDkn?}wpTfB0RXcX;W=o$9>%;q@b-z3czR>!GLMBKo%ux_=MMJ4t^EeHJdhUiwRD z@1XxbKy!|PEdj4*e9wjU$F~gH3vWN%_fqK5a^DR4U_84IkUj$1JLrEqYBUOnlD$9A zj--7T*ssGM)2kU=^uqaLD3C1E)ctt94w{__{dQNx6{P(r@ar!4?gDny7eZ$q>%Kds zu7LIqUOxf)GTdxCoYVeV=+|(5k@Vfr3yww^M|q(AeCYRajwH7FVd$m^?*r*)p%gPN1MlpC@9>qr`Oq)=^0xxID=Qxkrq2{;?_eCRgTA?a zUHCUc*ZRueJd6-SNAhd<7BeW{(0y-+GG9~_Kfdqbf|;j zuTIk+L%)sqqsUnI|AfB7=ihedF1Xjnbie;jyPn_UjzD=R*7f`@*DekOFutvz-^syu zjk50uJ});uZP~(SAOS0|GPt7e%uf39gNQ-&|7`>PeV^bc|((C!+!~S9^#86wDEl# zdKbcD`_A~SgMJ6?d2iG~>h;jeefPf;+B+ED56}-ET-SayV!_uz`-7mbZeJJQ7SP>0 zBMz{m|83IT9}9f}%2T22d!^a)_gdaT|IdQnf;jN^7xZs5bcHXx3!$&TfDTD)?>7Sd zim&~;1ll|3-=s7>4LafTZzgnWUI52U&5qr7LcfFd0Y5FV;XeTVwl6&vL3;=Ne;S(m zeq&nIx_@5wlW{%E&+BRKw?NP1fK>KdY2UFfJ-G|DuY}$gEC;4_WXST_p%+N^8F?BKJbs%(mfw=zww24;Qq)T zSbF)_6?zxa@J3yKBJ`KO_T>y{@1UO}py$bq`8zhvKAfg6PSc4reR-O`CQaW0&2OGJ zsD9rAy~P)Q{?5TW7(f2r;ZtAzdJ%dO?vF*7>G3-BR9|^{8~Pfb{r^FG2mSjrP47t4 zocmdi^3@q`>HmJv*ZcfGNO?~`>EB^#x-IlSyVS)mC(S;!IcD9)t-hTz>$VH_?P$uC z?X{JyfA`jj@kFFN#9dZ%D$VG#hJ?;IbJ##L=(I6r(CPR)1Aha@n8BmXpwVU^{yl4? zIRh9x?6e`H&Dp~S4jMg@z#fBGVjjz>d%F{)wu{ipvVd0P^_JfCt#yx6yU;7>)-v|5 z3tNG0N$X-6$8zady&lWMGS1jB#%>eJt#h$1JJvL<#A2_WrMEL<-E!xJQS2=oFUPG` zU^Q-T9IBll>Q1$boVWLr+lL2>=yHvJ-v&1E)TTAwPCRxG6s_9JHIj{g^<)3a?g?#k zl5hAY2kK#m^8n21?<7#Srvxu`Yn!KUbJ)Q4%U&9#wz+lt_`+{(Dx)14>unp#5X#&xGu+p} z+wsH(Y)gg>$YvPVQP=jEx+QPDV7qq%&6tJu*2+tUMNI*#VsQ|yGo?fV+o%9IYdls{w9(B_%6cbjALOqGRu zwIJJyu~h*Ijtv1e-rCaesYLrdAkH>;>+M>{NZ8#H zctYP;UbJB`7EMMDU{?wop(56IduDf_NlP2Mi$`kP*whA)c7y zwQZf){g=J0E+~lh>o!WHduFOpGz2u19+*_-7+by+i$jGOgZ7tZTgB5fLAVRG+A zVC=R(@m4pdL#`cP9XZY>yYnx#y*I6~(sQ_!d(3-VN7Jybspma#O=ue?0yl2oK00FS zt*sQ2=#Q%Gmf>jqv2n;mR5Y)orRu3Rf8wP{S6^Jq?2S?x1q6Oys7x6`^W zuoCX`;{{|rcDuX8F2V9fb-RcnL~nBoI*L{nB+6`Ub~}c-mZ>~hW_MtR17xqac@(#< zPvwyI3ql0#UQDij(??uTZ#$l3h0U6J`^nOs-KM8rq-_#}us%Jl;jzL++|zc)rakup z(gy3^mO$7s&bzdr2K9W;4N0r8*mqf3q|BF6NY~W1y3Btp?rw(`b!iC~4Mc%^eS1xy zaeJS*Dr}=rR8WCrRdOf?t*YA#!tbY7?Y#ZA8``-e6`}fjlcyS2SN!5Al*Qh*y*9*& z6>cXYZ4gE?R}H-Ap&&cMD4L4~_l9=a!E|vuU?D|RwAE_BfvZT)PnxTE? z9WM{K?-E02L3jHLr6qTI(%1nK@{f`AZRO4FNmK#hoi_-?C@#hg+86@2B(f*5a(1IM zN~TJ4-O0pqTU_gQenu#;^<_4%EGTgso#NDO8-^3y0=JCu8Z%02T< tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: diff --git a/linux-0.11-lab/0/linux/kernel/math/math.a b/linux-0.11-lab/0/linux/kernel/math/math.a new file mode 100644 index 0000000000000000000000000000000000000000..af6a92de910dce7d4fe836fdf979dc43c23015b1 GIT binary patch literal 6624 zcma)AZH!!189w*U?AdAOW4F88?KZ7ps#DoQcXoC=Y?sonr3+_s@?(S?u zq9;4|dESrnp7*@x+;i{U4cjfZRNc99G`+lyO^jbMu{A$7o=>N9%G7yHr?*Um{zq2| zAx!+L{M9YLTCnTwn&sOf5L~zEY8vRX&Czsc{IOgP!56O+d5k%cp9ls_A6@ymD`u`V z3W#x^Z#r=DuhXafOzZTKjDLD2 zGk^NQ%n5j(z9(}EP+9OZn=1=PGQ*XHnM|g#a4?guEKFzCS56+!q4}B?iIcBPAHMbMo9`&wy)XI$ALeux zT{_ohTY6(IKfi5bZgPHQ61HoxZs}m%oMt24uLBFTF zg@`g45jCF19x(31CBw~two0#&8SQ=_q8aUa7!ZkeISpT!X7?u8O(QlCLGRaSNpDte z-S;bldhLZ-k-iHPGH@?pxrpz)oY|2Nm+8;(;sAoZ5RupY4N1ud;Uo7m zTOp57aXood7T_swAdkr}Q-6RwA(^>67?;RD`2_im)c2anlN3J5vt}I zaZy-rCWoL4ENL@Ubmz2?F}ZSD7&cQar!3^B7Wi#db$Amn} zx>e2Ob+lNt)KG&vky~*GHf769E-*lef^Q~&MYl4Ac{ADOI5um2+)Or^L1i75=Y*N6 zm3<+rV-Q}$IG!iuZ7-tFyCycypWxraftXqE0g#yJ+6q3|earhC>o*A7t&$Y-A}G2G z^fu-FxON}qa8bDiqjg*4G5In27pK4zaw~mGAl}9pt9uY2AG%c~rJJ@I2jP(&50zxET_t zC(GFN3WS;*{toQ%5?5~%cZrC5 z037;J@*(*bTxE{o*NYyixSVS7`bF1!$n$l%g}0`Bn~r&U2)P}4c?o$m?s+*OC&*)R ziu$eO3Fya!oFwm+S5ki|`2h6eLT)1;ikI9iLS9C`K5jGd?c{0s6Z-EU&%|wOUdWx~ z!*RP5^38F(9P(V;E`~fGw>`w!MgK|Y!FQ8yhu#r#ihMWvf?rNP4ZVcMCfH4 zz`pr3v;#LoTK$v(dmp>~L3O^n1q-EEA9D_+#2^>K><{|& z!gEO)805l)wjqqLB&{Dr(aZt0@6Q~;aErpBK~y%h9315Oo2%bZX>A_FQkbiQPW$_~ z9YRxn5KChY2BsOrL$AT0*Y-8vKvm2k7Q#H!Tyq~$OARq}8wzZ0d=JVre#RqfBk-0B zJUZ6?2_wiak_uy$u`$&jkEGV6RvCS=cMW=FL_EF|DjaQ^#<2AVMI^N?ep!59Kkn0h zBa({8DH;%Ea?v&!$34B;xNt4?u`WUH6+H+@vU0V!a4qg;xW|G}bWf;YU16|fN3bsJ zf(~bhJ%+KbpRs#4AoeJ_ugW49cD``!zJAVO_s~}^SHt&pEv9ASso9@j9G2q1$5nEx zv&OEqVSu3fLqYdJbk}Lpe+|0p0#F>viu3znSQK~3ZP(iEP~fCNP4Pnw)s+{%MuhFR zAf|W$wnr_mE|zP&W8QMja%r^YG}`k*c=l}FZur?M zgLc07WlK!LKi0B67?Gss%r>kVICf9fw#r~g+ACFUO)GR%^XO7@>i^i8(Wn{e&6<;g zCu7gQ5Sxw7n&bVk9Zvt~nb;1~z;ry{a{U6Xr8!Zyy%MO~F8RW4lnZ6cw}fXEDm4pd zjPF_{yHIrey44a+p@ID8JP^xw>b7VH*Sh7+i3(m(ZCA8CyIkOm;N;o%oIphiC975| zxV8^nz1hb5rL$#nD~eERHp=vK?y?24!8b{**_g$9tuHF@EZZ=)oR%%Dn&sAo%{QQm z&Ws_#yqlFu0ol*nrM7PsYqlt2W(DSoum!J$If!zWkY33wWenmnvDYU zM6!-nNowOn!4bvLH>r1ROyY(70w=Qr^Vtp5afsa8&p%%(>w&AQ`{R9vfWkF=WD zLADEJqdB5>`AExc`gY03r!LmSaeZz#ESJhSD9GX>s{wHXs9lZaMJ7&xiy`U-r@{4w z(X~AU!!#YelT<17Z3KJOYLsg*2lux6#;%0DgNS!pjxXG1(--2ZJ$tsLhi@$6&S(dd z92svbY3#FO`D`w~DbV7Gn93iD>i`ju0Gw>QtkRk6SU7ik&oP&ZclM z3`3mMdOn6}yU(0TB~C{6r1qO{rV>+UQ?aR6>B~>`GJfGxitZxo9joKE0{U)%)sVS% zE$iF!zR0R$BU{A7G3z!1fyT03Y|moil_p#iw~9peQS?0~UE zw$!Ziz!cdA)-j9i5Ugv^$F3IC!mDimugeAS;*pLw71i>%c0K`UV_S#c3dMrUJ@~di z1d7L<>d$i*k7B_uVD`Zwt=bh~04;~&#gOU$zx;CWVV~eBg?B>;H$V;>$7SPx9>Um^ zABOM@Ub4a#+PMCm^LPvM;1>ty!5W0~*b5%^0TrJ>r&5O^q$N?3)k&YXgcSS!8~{m za~`ZuSeI4c9chc-Bi^^63tKpD=a{s;jzIgNzkQTDN1z;4W7C&slew&twBs$ZqeT|)%0L-WE4<_oSynmr=gKd&h*1A` zSyV(+1r|m4vl2@!f~@#P7=EVoA-_#aX5}63531RF;yn9K$l;mE{`=0epZ~1ud>D4V z{_)kJ;m?Vd)o@CSPw$S0NbN%&+Zd~epMe{B7HA^DhL%0b*hD|q@-Mah4a$8&{7&Qh zL~NFSYm8vQDf4VFaDyd?C^PpXk^kZ(V%rJ>n|%Wj_w2CNk80eZaatqm!hSp#h}?Tb zl|N9O13-2E0`JxKGa4V&__D@7YW%ate`-|uqkj+Q0bHl?LXBHA?$&s%#+xxW-c&AJq6YjZbO(p~hD + +#include +#include +#include + +void math_emulate(long edi, long esi, long ebp, long sys_call_ret, + long eax,long ebx,long ecx,long edx, + unsigned short fs,unsigned short es,unsigned short ds, + unsigned long eip,unsigned short cs,unsigned long eflags, + unsigned short ss, unsigned long esp) +{ + unsigned char first, second; + +/* 0x0007 means user code space */ + if (cs != 0x000F) { + printk("math_emulate: %04x:%08x\n\r",cs,eip); + panic("Math emulation needed in kernel"); + } + first = get_fs_byte((char *)((*&eip)++)); + second = get_fs_byte((char *)((*&eip)++)); + printk("%04x:%08x %02x %02x\n\r",cs,eip-2,first,second); + current->signal |= 1<<(SIGFPE-1); +} + +void math_error(void) +{ + __asm__("fnclex"); + if (last_task_used_math) + last_task_used_math->signal |= 1<<(SIGFPE-1); +} diff --git a/linux-0.11-lab/0/linux/kernel/math/math_emulate.o b/linux-0.11-lab/0/linux/kernel/math/math_emulate.o new file mode 100644 index 0000000000000000000000000000000000000000..144cd503e12416d76b8c526ae983c6644f246c33 GIT binary patch literal 6460 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 + +/* + * This isn't the library routine, it is only used in the kernel. + * as such, we don't care about years<1970 etc, but assume everything + * is ok. Similarly, TZ etc is happily ignored. We just do everything + * as easily as possible. Let's find something public for the library + * routines (although I think minix times is public). + */ +/* + * PS. I hate whoever though up the year 1970 - couldn't they have gotten + * a leap-year instead? I also hate Gregorius, pope or no. I'm grumpy. + */ +#define MINUTE 60 +#define HOUR (60*MINUTE) +#define DAY (24*HOUR) +#define YEAR (365*DAY) + +/* interestingly, we assume leap-years */ +static int month[12] = { + 0, + DAY*(31), + DAY*(31+29), + DAY*(31+29+31), + DAY*(31+29+31+30), + DAY*(31+29+31+30+31), + DAY*(31+29+31+30+31+30), + DAY*(31+29+31+30+31+30+31), + DAY*(31+29+31+30+31+30+31+31), + DAY*(31+29+31+30+31+30+31+31+30), + DAY*(31+29+31+30+31+30+31+31+30+31), + DAY*(31+29+31+30+31+30+31+31+30+31+30) +}; + +long kernel_mktime(struct tm * tm) +{ + long res; + int year; + if (tm->tm_year < 70 ) tm->tm_year += 100; /* gohigh */ + year = tm->tm_year - 70; +/* magic offsets (y+1) needed to get leapyears right.*/ + res = YEAR*year + DAY*((year+1)/4); + res += month[tm->tm_mon]; +/* and (y+2) here. If it wasn't a leap-year, we have to adjust */ + if (tm->tm_mon>1 && ((year+2)%4)) + res -= DAY; + res += DAY*(tm->tm_mday-1); + res += HOUR*tm->tm_hour; + res += MINUTE*tm->tm_min; + res += tm->tm_sec; + return res; +} diff --git a/linux-0.11-lab/0/linux/kernel/mktime.o b/linux-0.11-lab/0/linux/kernel/mktime.o new file mode 100644 index 0000000000000000000000000000000000000000..6bec513fa96b422f0b693aebe63f8644d5f0acbb GIT binary patch literal 2868 zcma)8U1%It6h3!mHraGH+f8=c=BLKwv}hC4A7V?5rNx&**q=#u>F#XY zowZFZ?aC4~gg(?CL=Y+nA}CVu#UGTk`p^f#3W`2S@kJj5?Sl~LLp|S}dy`3D^uXNn zopbK_x#!HC-K$4W9uq>4CP5~xOGN1o-!dlI5GARH+JDBEkED~!v>AUNLX2 z8m#g+ixuVdh{IiRhhsO?y>b*@~d;6{CI6TwL+OuT;{}*7JgVpXjye zhyR&F$D8H@ppt7zKToiH3$?Cgp0*y@i6iSUy1;1r+xRzrTjkpNb%_Z&mx<{L2-4Tcpc8_9-;CSD$rYniP0}pr&nY^&jBX-9U5i>Rz>k+*j@ogL>O_9jc ztm1Yggc*)R4n__|M1tGUO=b+jRN_E{L#T~mq7GXe?)Pnv_fI7dYP|35XZqpQ86q?6 zdl`M)w6P6h7mF$;teZA-@+tO;2r-p_dvqsFC9<53w)114Xf;(JJx1UPKL+9U3GpD- z&8xhuXrgUr%Wk34EILHh^Io~?*af&qRPt|eNX9mY#bIuj==h=|ocP5!mk94t;?Hfv zP8fR<;V*BTFf5MVbQ|S4*D0njIjDwBY2VsoW?wJZh9L zIo`s&L)lWT>SWz!(aY8vSq|U4m>IE0M>CaNK0D$ovVJ6aJQbyiW76@-$%Cn(v-zg$ zHT~mco@h#G^vdX%Ju)`zYx!EB`%L1}X%d&iVlZl1ukob#6_9g=P0n^QmNX|sOx|O= zu~7ALd9oW`-RC8Z>Q2S>oQodW#hjNTJKt!K4Q0{EH|J)`?re=s66f;yy7N-dnycsB zIlfZ?2lQ1ta1OEywQAMjIomF`)#icuZT5Yf(u^Dps{VhpgSYWJ1L!v-4U zr%NJ#IkSmx5W`-6um^pCjE@0i|5g*VSQuehQ%Zro%&}kZyQvc?yB6gwQaUi~OKT&` z8X`xqzH?mPXRJegA%1jyWwCxnj!MsWSK*U*x zyf~lE%lCaly!SZXJnJ;+csW)Cj@ErRB=h)0P-IpH5`W;|MEspm- zfFhkYm=mTW9Q<$Q{9z{kfspagcjOGl8{?)u#yU+po|ZKa>MgqeQ0u`r{=0%4%mCRU z%m##c;Qv^VO!)?`YfO^A@oNfGPIygZZyn9onG{_&GBV|f*HtE=qw8c+w|obo!Cmgf z#MVCj{x8GEZ!poDyjO79_znmz4;clQf%$-MQM@0Vhrbh?n?0oTS;Y@4enRmV6fY=V xQ~YJcUse1K#rdC<%=f9{Ux9PJ-<2HWqoAII;yb`~-CR800qmbpJjL8#`CmPqonrt1 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/kernel/panic.c b/linux-0.11-lab/0/linux/kernel/panic.c new file mode 100644 index 0000000..7d8a06b --- /dev/null +++ b/linux-0.11-lab/0/linux/kernel/panic.c @@ -0,0 +1,24 @@ +/* + * linux/kernel/panic.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * This function is used through-out the kernel (includeinh mm and fs) + * to indicate a major problem. + */ +#include +#include + +void sys_sync(void); /* it's really int */ + +volatile void panic(const char * s) +{ + printk("Kernel panic: %s\n\r",s); + if (current == task[0]) + printk("In swapper task - not syncing\n\r"); + else + sys_sync(); + for(;;); +} diff --git a/linux-0.11-lab/0/linux/kernel/panic.o b/linux-0.11-lab/0/linux/kernel/panic.o new file mode 100644 index 0000000000000000000000000000000000000000..8c9e7191b1c2d678c3dc637c3db2a206b7de8cbe GIT binary patch literal 5420 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 +#include + +#include + +static char buf[1024]; + +extern int vsprintf(char * buf, const char * fmt, va_list args); + +int printk(const char *fmt, ...) +{ + va_list args; + int i; + + va_start(args, fmt); + i=vsprintf(buf,fmt,args); + va_end(args); + __asm__("push %%fs\n\t" + "push %%ds\n\t" + "pop %%fs\n\t" + "pushl %0\n\t" + "pushl $buf\n\t" + "pushl $0\n\t" + "call tty_write\n\t" + "addl $8,%%esp\n\t" + "popl %0\n\t" + "pop %%fs" + ::"r" (i):"ax","cx","dx"); + return i; +} diff --git a/linux-0.11-lab/0/linux/kernel/printk.o b/linux-0.11-lab/0/linux/kernel/printk.o new file mode 100644 index 0000000000000000000000000000000000000000..9955ac0a44f36d5a107fbcc8c5e4265cc6e7169b GIT binary patch literal 2420 zcma)7&u<$=6n?Y2PMkP#>V!~7iON=TO8|N8fK^I?l9E6awTeWWB2W?0+Fsk+*z2&n z4oOwukb;OJkSYNZfw zp1=Qncz6gozxPTZKem5j?9P=I>#s+aorCnXu{(&(?;OltyUUjUpdX-*mSD(biEp5I zCw6`z=2{OxGs>8C;|yj)3>+{sQeR0n_$pZHCro1UeauW8EIwsvpwS6o_z+OLO@rwT zwj4ht#rBX(BF|ph?G_CiDc1{8aJ1ScCk3AvO)iWv+IL$#fe z>NDe242^i#Lj08-#Vl_R4o6s4$@OaOUfm(u@X@GstHvQgShxMA)ru}wN@mw5#mY|l zH$9X7;-Z#9mZg=e=7L$V&RP|-*s=Xu>uL9~vuA*7?YdcPn#D%99uUia4yS853@VlW?3%fqGyI#}md4b#XoVv+ph!q92X|J{2 zAf&*(;e^{84wYKnj#Kh_^{~_pO32*XDweIexnkR{mdcT$wC?zx(~fd-s-wNuTDBic zL`w?`=girw)t(pjqJ0$~?MZ3w&AEzIt~?ZJ3Exyi;>KkXH`8Kz#4z4PLrtjpIGE%S zT*#((w1sS0yO>R1xSN&Vg%xafLc2;<5c&~sDdanCD|EI(vg&qdlT{4@vRGMns=el# z>ovMCNo-fEzO$LM+P>{IoqGbf(JBBn$f|Wa9S04tJoMSZ2}XU7(m1U(c~;T-|IhpY zocJRjh@JV(NnSm+F->C(Nfb@r;zFB%;~4D2eSwPj3uZa`{)pZNPLj&^2$bxv{Px)? zdUP1c+{}4BDu(5KjGr0Aq-^{SCD->Wl5auB>q}v%_00pT7(luX;d2HtDcfbp3bQGP zFUVvNld`QqPS#z8a11)G%llJx9bgp$NOQ>d5`&nO&4!%JSBJoPINvaa%J&*D$MC+H zc9HLw2+EmlJZ{EZ`Mr#WKP)|>N%`?PF;=vr4klJ8+sBX@%LfJg7W|%yeVC~u%rA{M#Bakk4 z+*j$u9qp4&qemY6EstYGlYO(ipC|q$_a9XLiAJw0Z3YrFC=9pPUiaP5A^Bclj|IeQ zDEm0LfP9{1900!~0^8#i3tU(}U*=q&`4n?po|DXRSf^wC6EUBU`BKa;#r#F)hzn!+ X>zIGf9Q9>gOne8}Zz1L;xCZ$jnX(S- literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/kernel/sched.c b/linux-0.11-lab/0/linux/kernel/sched.c new file mode 100644 index 0000000..15d839b --- /dev/null +++ b/linux-0.11-lab/0/linux/kernel/sched.c @@ -0,0 +1,412 @@ +/* + * linux/kernel/sched.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * 'sched.c' is the main kernel file. It contains scheduling primitives + * (sleep_on, wakeup, schedule etc) as well as a number of simple system + * call functions (type getpid(), which just extracts a field from + * current-task + */ +#include +#include +#include +#include +#include +#include +#include + +#include + +#define _S(nr) (1<<((nr)-1)) +#define _BLOCKABLE (~(_S(SIGKILL) | _S(SIGSTOP))) + +void show_task(int nr,struct task_struct * p) +{ + int i,j = 4096-sizeof(struct task_struct); + + printk("%d: pid=%d, state=%d, ",nr,p->pid,p->state); + i=0; + while (i>2 ] ; + +struct { + long * a; + short b; + } stack_start = { & user_stack [PAGE_SIZE>>2] , 0x10 }; +/* + * 'math_state_restore()' saves the current math information in the + * old math state array, and gets the new ones from the current task + */ +void math_state_restore() +{ + if (last_task_used_math == current) + return; + __asm__("fwait"); + if (last_task_used_math) { + __asm__("fnsave %0"::"m" (last_task_used_math->tss.i387)); + } + last_task_used_math=current; + if (current->used_math) { + __asm__("frstor %0"::"m" (current->tss.i387)); + } else { + __asm__("fninit"::); + current->used_math=1; + } +} + +/* + * 'schedule()' is the scheduler function. This is GOOD CODE! There + * probably won't be any reason to change this, as it should work well + * in all circumstances (ie gives IO-bound processes good response etc). + * The one thing you might take a look at is the signal-handler code here. + * + * NOTE!! Task 0 is the 'idle' task, which gets called when no other + * tasks can run. It can not be killed, and it cannot sleep. The 'state' + * information in task[0] is never used. + */ +void schedule(void) +{ + int i,next,c; + struct task_struct ** p; + +/* check alarm, wake up any interruptible tasks that have got a signal */ + + for(p = &LAST_TASK ; p > &FIRST_TASK ; --p) + if (*p) { + if ((*p)->alarm && (*p)->alarm < jiffies) { + (*p)->signal |= (1<<(SIGALRM-1)); + (*p)->alarm = 0; + } + if (((*p)->signal & ~(_BLOCKABLE & (*p)->blocked)) && + (*p)->state==TASK_INTERRUPTIBLE) + (*p)->state=TASK_RUNNING; + } + +/* this is the scheduler proper: */ + + while (1) { + c = -1; + next = 0; + i = NR_TASKS; + p = &task[NR_TASKS]; + while (--i) { + if (!*--p) + continue; + if ((*p)->state == TASK_RUNNING && (*p)->counter > c) + c = (*p)->counter, next = i; + } + if (c) break; + for(p = &LAST_TASK ; p > &FIRST_TASK ; --p) + if (*p) + (*p)->counter = ((*p)->counter >> 1) + + (*p)->priority; + } + switch_to(next); +} + +int sys_pause(void) +{ + current->state = TASK_INTERRUPTIBLE; + schedule(); + return 0; +} + +void sleep_on(struct task_struct **p) +{ + struct task_struct *tmp; + + if (!p) + return; + if (current == &(init_task.task)) + panic("task[0] trying to sleep"); + tmp = *p; + *p = current; + current->state = TASK_UNINTERRUPTIBLE; + schedule(); + if (tmp) + tmp->state=0; +} + +void interruptible_sleep_on(struct task_struct **p) +{ + struct task_struct *tmp; + + if (!p) + return; + if (current == &(init_task.task)) + panic("task[0] trying to sleep"); + tmp=*p; + *p=current; +repeat: current->state = TASK_INTERRUPTIBLE; + schedule(); + if (*p && *p != current) { + (**p).state=0; + goto repeat; + } + *p=NULL; + if (tmp) + tmp->state=0; +} + +void wake_up(struct task_struct **p) +{ + if (p && *p) { + (**p).state=0; + *p=NULL; + } +} + +/* + * OK, here are some floppy things that shouldn't be in the kernel + * proper. They are here because the floppy needs a timer, and this + * was the easiest way of doing it. + */ +static struct task_struct * wait_motor[4] = {NULL,NULL,NULL,NULL}; +static int mon_timer[4]={0,0,0,0}; +static int moff_timer[4]={0,0,0,0}; +unsigned char current_DOR = 0x0C; + +int ticks_to_floppy_on(unsigned int nr) +{ + extern unsigned char selected; + unsigned char mask = 0x10 << nr; + + if (nr>3) + panic("floppy_on: nr>3"); + moff_timer[nr]=10000; /* 100 s = very big :-) */ + cli(); /* use floppy_off to turn it off */ + mask |= current_DOR; + if (!selected) { + mask &= 0xFC; + mask |= nr; + } + if (mask != current_DOR) { + outb(mask,FD_DOR); + if ((mask ^ current_DOR) & 0xf0) + mon_timer[nr] = HZ/2; + else if (mon_timer[nr] < 2) + mon_timer[nr] = 2; + current_DOR = mask; + } + sti(); + return mon_timer[nr]; +} + +void floppy_on(unsigned int nr) +{ + cli(); + while (ticks_to_floppy_on(nr)) + sleep_on(nr+wait_motor); + sti(); +} + +void floppy_off(unsigned int nr) +{ + moff_timer[nr]=3*HZ; +} + +void do_floppy_timer(void) +{ + int i; + unsigned char mask = 0x10; + + for (i=0 ; i<4 ; i++,mask <<= 1) { + if (!(mask & current_DOR)) + continue; + if (mon_timer[i]) { + if (!--mon_timer[i]) + wake_up(i+wait_motor); + } else if (!moff_timer[i]) { + current_DOR &= ~mask; + outb(current_DOR,FD_DOR); + } else + moff_timer[i]--; + } +} + +#define TIME_REQUESTS 64 + +static struct timer_list { + long jiffies; + void (*fn)(); + struct timer_list * next; +} timer_list[TIME_REQUESTS], * next_timer = NULL; + +void add_timer(long jiffies, void (*fn)(void)) +{ + struct timer_list * p; + + if (!fn) + return; + cli(); + if (jiffies <= 0) + (fn)(); + else { + for (p = timer_list ; p < timer_list + TIME_REQUESTS ; p++) + if (!p->fn) + break; + if (p >= timer_list + TIME_REQUESTS) + panic("No more time requests free"); + p->fn = fn; + p->jiffies = jiffies; + p->next = next_timer; + next_timer = p; + while (p->next && p->next->jiffies < p->jiffies) { + p->jiffies -= p->next->jiffies; + fn = p->fn; + p->fn = p->next->fn; + p->next->fn = fn; + jiffies = p->jiffies; + p->jiffies = p->next->jiffies; + p->next->jiffies = jiffies; + p = p->next; + } + } + sti(); +} + +void do_timer(long cpl) +{ + extern int beepcount; + extern void sysbeepstop(void); + + if (beepcount) + if (!--beepcount) + sysbeepstop(); + + if (cpl) + current->utime++; + else + current->stime++; + + if (next_timer) { + next_timer->jiffies--; + while (next_timer && next_timer->jiffies <= 0) { + void (*fn)(void); + + fn = next_timer->fn; + next_timer->fn = NULL; + next_timer = next_timer->next; + (fn)(); + } + } + if (current_DOR & 0xf0) + do_floppy_timer(); + if ((--current->counter)>0) return; + current->counter=0; + if (!cpl) return; + schedule(); +} + +int sys_alarm(long seconds) +{ + int old = current->alarm; + + if (old) + old = (old - jiffies) / HZ; + current->alarm = (seconds>0)?(jiffies+HZ*seconds):0; + return (old); +} + +int sys_getpid(void) +{ + return current->pid; +} + +int sys_getppid(void) +{ + return current->father; +} + +int sys_getuid(void) +{ + return current->uid; +} + +int sys_geteuid(void) +{ + return current->euid; +} + +int sys_getgid(void) +{ + return current->gid; +} + +int sys_getegid(void) +{ + return current->egid; +} + +int sys_nice(long increment) +{ + if (current->priority-increment>0) + current->priority -= increment; + return 0; +} + +void sched_init(void) +{ + int i; + struct desc_struct * p; + + if (sizeof(struct sigaction) != 16) + panic("Struct sigaction MUST be 16 bytes"); + set_tss_desc(gdt+FIRST_TSS_ENTRY,&(init_task.task.tss)); + set_ldt_desc(gdt+FIRST_LDT_ENTRY,&(init_task.task.ldt)); + p = gdt+2+FIRST_TSS_ENTRY; + for(i=1;ia=p->b=0; + p++; + p->a=p->b=0; + p++; + } +/* Clear NT, so that we won't have troubles with that later on */ + __asm__("pushfl ; andl $0xffffbfff,(%esp) ; popfl"); + ltr(0); + lldt(0); + outb_p(0x36,0x43); /* binary, mode 3, LSB/MSB, ch 0 */ + outb_p(LATCH & 0xff , 0x40); /* LSB */ + outb(LATCH >> 8 , 0x40); /* MSB */ + set_intr_gate(0x20,&timer_interrupt); + outb(inb_p(0x21)&~0x01,0x21); + set_system_gate(0x80,&system_call); +} diff --git a/linux-0.11-lab/0/linux/kernel/sched.o b/linux-0.11-lab/0/linux/kernel/sched.o new file mode 100644 index 0000000000000000000000000000000000000000..725b9fd4491fb4a6def8533390d7a4721b953df5 GIT binary patch literal 23040 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

    R)0H1E|O78N2>WD^Af%dRyyL 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 +#include +#include +#include +#include + +volatile void do_exit(int error_code); + +int sys_sgetmask() +{ + return current->blocked; +} + +int sys_ssetmask(int newmask) +{ + int old=current->blocked; + + current->blocked = newmask & ~(1<<(SIGKILL-1)); + return old; +} + +int sys_sigpending() +{ + return -ENOSYS; +} + +int sys_sigsuspend() +{ + return -ENOSYS; +} + +static inline void save_old(char * from,char * to) +{ + int i; + + verify_area(to, sizeof(struct sigaction)); + for (i=0 ; i< sizeof(struct sigaction) ; i++) { + put_fs_byte(*from,to); + from++; + to++; + } +} + +static inline void get_new(char * from,char * to) +{ + int i; + + for (i=0 ; i< sizeof(struct sigaction) ; i++) + *(to++) = get_fs_byte(from++); +} + +int sys_signal(int signum, long handler, long restorer) +{ + struct sigaction tmp; + + if (signum<1 || signum>32 || signum==SIGKILL) + return -1; + tmp.sa_handler = (void (*)(int)) handler; + tmp.sa_mask = 0; + tmp.sa_flags = SA_ONESHOT | SA_NOMASK; + tmp.sa_restorer = (void (*)(void)) restorer; + handler = (long) current->sigaction[signum-1].sa_handler; + current->sigaction[signum-1] = tmp; + return handler; +} + +int sys_sigaction(int signum, const struct sigaction * action, + struct sigaction * oldaction) +{ + struct sigaction tmp; + + if (signum<1 || signum>32 || signum==SIGKILL) + return -1; + tmp = current->sigaction[signum-1]; + get_new((char *) action, + (char *) (signum-1+current->sigaction)); + if (oldaction) + save_old((char *) &tmp,(char *) oldaction); + if (current->sigaction[signum-1].sa_flags & SA_NOMASK) + current->sigaction[signum-1].sa_mask = 0; + else + current->sigaction[signum-1].sa_mask |= (1<<(signum-1)); + return 0; +} + +void do_signal(long signr,long eax, long ebx, long ecx, long edx, + long fs, long es, long ds, + long eip, long cs, long eflags, + unsigned long * esp, long ss) +{ + unsigned long sa_handler; + long old_eip=eip; + struct sigaction * sa = current->sigaction + signr - 1; + int longs; + unsigned long * tmp_esp; + + sa_handler = (unsigned long) sa->sa_handler; + if (sa_handler==1) + return; + if (!sa_handler) { + if (signr==SIGCHLD) + return; + else + do_exit(1<<(signr-1)); + } + if (sa->sa_flags & SA_ONESHOT) + sa->sa_handler = NULL; + *(&eip) = sa_handler; + longs = (sa->sa_flags & SA_NOMASK)?7:8; + *(&esp) -= longs; + verify_area(esp,longs*4); + tmp_esp=esp; + put_fs_long((long) sa->sa_restorer,tmp_esp++); + put_fs_long(signr,tmp_esp++); + if (!(sa->sa_flags & SA_NOMASK)) + put_fs_long(current->blocked,tmp_esp++); + put_fs_long(eax,tmp_esp++); + put_fs_long(ecx,tmp_esp++); + put_fs_long(edx,tmp_esp++); + put_fs_long(eflags,tmp_esp++); + put_fs_long(old_eip,tmp_esp++); + current->blocked |= sa->sa_mask; +} diff --git a/linux-0.11-lab/0/linux/kernel/signal.o b/linux-0.11-lab/0/linux/kernel/signal.o new file mode 100644 index 0000000000000000000000000000000000000000..e61cc198f58cc6060834a14d11ff0dcba193ad49 GIT binary patch literal 8956 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 u@H*k1%Q!y}3dnH7Wp literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/kernel/sys.c b/linux-0.11-lab/0/linux/kernel/sys.c new file mode 100644 index 0000000..9f29887 --- /dev/null +++ b/linux-0.11-lab/0/linux/kernel/sys.c @@ -0,0 +1,440 @@ +/* + * linux/kernel/sys.c + * + * (C) 1991 Linus Torvalds + */ +// +#include + +#include +#include +#include +#include +#include +#include +#include + + + +#include +#include +#include + +#include +#include + +#include +#include +#include +#include + + + + + + +#include + +#include +#define MAX_ARG_PAGES 32 +#define SIGALRM 14 +#define BUF_MAX 4096 +int sys_ftime() +{ + return -ENOSYS; +} + +int sys_break() +{ + return -ENOSYS; +} + +int sys_ptrace() +{ + return -ENOSYS; +} + +int sys_stty() +{ + return -ENOSYS; +} + +int sys_gtty() +{ + return -ENOSYS; +} + +int sys_rename() +{ + return -ENOSYS; +} + +int sys_prof() +{ + return -ENOSYS; +} + +int sys_setregid(int rgid, int egid) +{ + if (rgid>0) { + if ((current->gid == rgid) || + suser()) + current->gid = rgid; + else + return(-EPERM); + } + if (egid>0) { + if ((current->gid == egid) || + (current->egid == egid) || + suser()) { + current->egid = egid; + current->sgid = egid; + } else + return(-EPERM); + } + return 0; +} + +int sys_setgid(int gid) +{ +/* return(sys_setregid(gid, gid)); */ + if (suser()) + current->gid = current->egid = current->sgid = gid; + else if ((gid == current->gid) || (gid == current->sgid)) + current->egid = gid; + else + return -EPERM; + return 0; +} + +int sys_acct() +{ + return -ENOSYS; +} + +int sys_phys() +{ + return -ENOSYS; +} + +int sys_lock() +{ + return -ENOSYS; +} + +int sys_mpx() +{ + return -ENOSYS; +} + +int sys_ulimit() +{ + return -ENOSYS; +} + +int sys_time(long * tloc) +{ + int i; + + i = CURRENT_TIME; + if (tloc) { + verify_area(tloc,4); + put_fs_long(i,(unsigned long *)tloc); + } + return i; +} + +/* + * Unprivileged users may change the real user id to the effective uid + * or vice versa. + */ +int sys_setreuid(int ruid, int euid) +{ + int old_ruid = current->uid; + + if (ruid>0) { + if ((current->euid==ruid) || + (old_ruid == ruid) || + suser()) + current->uid = ruid; + else + return(-EPERM); + } + if (euid>0) { + if ((old_ruid == euid) || + (current->euid == euid) || + suser()) { + current->euid = euid; + current->suid = euid; + } else { + current->uid = old_ruid; + return(-EPERM); + } + } + return 0; +} + +int sys_setuid(int uid) +{ +/* return(sys_setreuid(uid, uid)); */ + if (suser()) + current->uid = current->euid = current->suid = uid; + else if ((uid == current->uid) || (uid == current->suid)) + current->euid = uid; + else + return -EPERM; + return(0); +} + +int sys_stime(long * tptr) +{ + if (!suser()) + return -EPERM; + startup_time = get_fs_long((unsigned long *)tptr) - jiffies/HZ; + return 0; +} + +int sys_times(struct tms * tbuf) +{ + if (tbuf) { + verify_area(tbuf,sizeof *tbuf); + put_fs_long(current->utime,(unsigned long *)&tbuf->tms_utime); + put_fs_long(current->stime,(unsigned long *)&tbuf->tms_stime); + put_fs_long(current->cutime,(unsigned long *)&tbuf->tms_cutime); + put_fs_long(current->cstime,(unsigned long *)&tbuf->tms_cstime); + } + return jiffies; +} + +int sys_brk(unsigned long end_data_seg) +{ + if (end_data_seg >= current->end_code && + end_data_seg < current->start_stack - 16384) + current->brk = end_data_seg; + return current->brk; +} + +/* + * This needs some heave checking ... + * I just haven't get the stomach for it. I also don't fully + * understand sessions/pgrp etc. Let somebody who does explain it. + */ +int sys_setpgid(int pid, int pgid) +{ + int i; + + if (!pid) + pid = current->pid; + if (!pgid) + pgid = current->pid; + for (i=0 ; ipid==pid) { + if (task[i]->leader) + return -EPERM; + if (task[i]->session != current->session) + return -EPERM; + task[i]->pgrp = pgid; + return 0; + } + return -ESRCH; +} + +int sys_getpgrp(void) +{ + return current->pgrp; +} + +int sys_setsid(void) +{ + if (current->leader && !suser()) + return -EPERM; + current->leader = 1; + current->session = current->pgrp = current->pid; + current->tty = -1; + return current->pgrp; +} + +int sys_getgroups() +{ + return -ENOSYS; +} + +int sys_setgroups() +{ + return -ENOSYS; +} + +int sys_uname(struct utsname * name) +{ + static struct utsname thisname = { + "linux .0","nodename","release ","version ","machine " + }; + int i; + + if (!name) return -ERROR; + verify_area(name,sizeof *name); + for(i=0;iumask; + + current->umask = mask & 0777; + return (old); +} + + + +struct linux_dirent { + long d_ino; + off_t d_off; + unsigned short d_reclen; + char d_name[14]; +}; + +int sys_getdents(unsigned int fd, struct linux_dirent *dirent,unsigned int count) +{ + struct file * files; + struct m_inode * f_inode; + struct linux_dirent dirent1; + struct buffer_head * block; + char* buf; + int counter; + struct dir_entry *ptr; + int num=0; + int t=0; + files=current->filp[fd]; + if(fd>=NR_OPEN) + return -EINVAL; + if(!count) return -1; + + f_inode=files->f_inode; + block=bread(f_inode->i_dev,f_inode->i_zone[0]); + + + for(t=0;ti_size;t+=sizeof(struct dir_entry)) + { + if (num>=count-sizeof(struct linux_dirent))//限制循环,防止越界 + return 0; + + ptr=(struct dir_entry *)(block->b_data+t); + if(!ptr->inode) continue; + + dirent1.d_ino=ptr->inode; + int i=0; + for(i=0;i<14;i++) dirent1.d_name[i]=ptr->name[i]; + dirent1.d_off=0; + dirent1.d_reclen=sizeof(dirent1); + buf=&dirent1; + for(i=0;if_count++; + if (j==1) + f[0]->f_count=0; + if (j<2) + return -1; + j=0; + for(i=0;j<2 && ifilp[i]) { + current->filp[ fd[j]=i ] = f[j]; + j++; + } + if (j==1) + current->filp[fd[0]]=NULL; + if (j<2) { + f[0]->f_count=f[1]->f_count=0; + return -1; + } + if (!(inode=get_pipe_inode())) { + current->filp[fd[0]] = + current->filp[fd[1]] = NULL; + f[0]->f_count = f[1]->f_count = 0; + return -1; + } + f[0]->f_inode = f[1]->f_inode = inode; + f[0]->f_pos = f[1]->f_pos = 0; + f[0]->f_mode = 1; /* read */ + f[1]->f_mode = 2; /* write */ + put_fs_long(fd[0],0+fildes); + put_fs_long(fd[1],1+fildes); + return 0; +} + + + +unsigned int sys_sleep(unsigned int second) +{ + sys_signal(SIGALRM,SIG_IGN,NULL); + sys_alarm(second); + sys_pause(); + return 0; +} + + + +int sys_mmap(void *start, size_t len, int prot, int flags, + int fd, off_t off) +{ + return -ENOSYS; +} +int sys_munmap(void * start, size_t len) +{ + return -ENOSYS; +} +int sys_clone(int (*fn)(void *), void *child_stack, int flags, void *arg) +{ + return -ENOSYS; +} \ No newline at end of file diff --git a/linux-0.11-lab/0/linux/kernel/sys.o b/linux-0.11-lab/0/linux/kernel/sys.o new file mode 100644 index 0000000000000000000000000000000000000000..060b3cb1534f413f1bf7afc546032eef5caf9701 GIT binary patch literal 17008 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 + +#include +#include +#include +#include +#include +#include + +#define get_seg_byte(seg,addr) ({ \ +register char __res; \ +__asm__("push %%fs;mov %%ax,%%fs;movb %%fs:%2,%%al;pop %%fs" \ + :"=a" (__res):"0" (seg),"m" (*(addr))); \ +__res;}) + +#define get_seg_long(seg,addr) ({ \ +register unsigned long __res; \ +__asm__("push %%fs;mov %%ax,%%fs;movl %%fs:%2,%%eax;pop %%fs" \ + :"=a" (__res):"0" (seg),"m" (*(addr))); \ +__res;}) + +#define _fs() ({ \ +register unsigned short __res; \ +__asm__("mov %%fs,%%ax":"=a" (__res):); \ +__res;}) + +int do_exit(long code); + +void page_exception(void); + +void divide_error(void); +void debug(void); +void nmi(void); +void int3(void); +void overflow(void); +void bounds(void); +void invalid_op(void); +void device_not_available(void); +void double_fault(void); +void coprocessor_segment_overrun(void); +void invalid_TSS(void); +void segment_not_present(void); +void stack_segment(void); +void general_protection(void); +void page_fault(void); +void coprocessor_error(void); +void reserved(void); +void parallel_interrupt(void); +void irq13(void); + +static void die(char * str,long esp_ptr,long nr) +{ + long * esp = (long *) esp_ptr; + int i; + + printk("%s: %04x\n\r",str,nr&0xffff); + printk("EIP:\t%04x:%p\nEFLAGS:\t%p\nESP:\t%04x:%p\n", + esp[1],esp[0],esp[2],esp[4],esp[3]); + printk("fs: %04x\n",_fs()); + printk("base: %p, limit: %p\n",get_base(current->ldt[1]),get_limit(0x17)); + if (esp[4] == 0x17) { + printk("Stack: "); + for (i=0;i<4;i++) + printk("%p ",get_seg_long(0x17,i+(long *)esp[3])); + printk("\n"); + } + str(i); + printk("Pid: %d, process nr: %d\n\r",current->pid,0xffff & i); + for(i=0;i<10;i++) + printk("%02x ",0xff & get_seg_byte(esp[1],(i+(char *)esp[0]))); + printk("\n\r"); + do_exit(11); /* play segment exception */ +} + +void do_double_fault(long esp, long error_code) +{ + die("double fault",esp,error_code); +} + +void do_general_protection(long esp, long error_code) +{ + die("general protection",esp,error_code); +} + +void do_divide_error(long esp, long error_code) +{ + die("divide error",esp,error_code); +} + +void do_int3(long * esp, long error_code, + long fs,long es,long ds, + long ebp,long esi,long edi, + long edx,long ecx,long ebx,long eax) +{ + int tr; + + __asm__("str %%ax":"=a" (tr):"0" (0)); + printk("eax\t\tebx\t\tecx\t\tedx\n\r%8x\t%8x\t%8x\t%8x\n\r", + eax,ebx,ecx,edx); + printk("esi\t\tedi\t\tebp\t\tesp\n\r%8x\t%8x\t%8x\t%8x\n\r", + esi,edi,ebp,(long) esp); + printk("\n\rds\tes\tfs\ttr\n\r%4x\t%4x\t%4x\t%4x\n\r", + ds,es,fs,tr); + printk("EIP: %8x CS: %4x EFLAGS: %8x\n\r",esp[0],esp[1],esp[2]); +} + +void do_nmi(long esp, long error_code) +{ + die("nmi",esp,error_code); +} + +void do_debug(long esp, long error_code) +{ + die("debug",esp,error_code); +} + +void do_overflow(long esp, long error_code) +{ + die("overflow",esp,error_code); +} + +void do_bounds(long esp, long error_code) +{ + die("bounds",esp,error_code); +} + +void do_invalid_op(long esp, long error_code) +{ + die("invalid operand",esp,error_code); +} + +void do_device_not_available(long esp, long error_code) +{ + die("device not available",esp,error_code); +} + +void do_coprocessor_segment_overrun(long esp, long error_code) +{ + die("coprocessor segment overrun",esp,error_code); +} + +void do_invalid_TSS(long esp,long error_code) +{ + die("invalid TSS",esp,error_code); +} + +void do_segment_not_present(long esp,long error_code) +{ + die("segment not present",esp,error_code); +} + +void do_stack_segment(long esp,long error_code) +{ + die("stack segment",esp,error_code); +} + +void do_coprocessor_error(long esp, long error_code) +{ + if (last_task_used_math != current) + return; + die("coprocessor error",esp,error_code); +} + +void do_reserved(long esp, long error_code) +{ + die("reserved (15,17-47) error",esp,error_code); +} + +void trap_init(void) +{ + int i; + + set_trap_gate(0,÷_error); + set_trap_gate(1,&debug); + set_trap_gate(2,&nmi); + set_system_gate(3,&int3); /* int3-5 can be called from all */ + set_system_gate(4,&overflow); + set_system_gate(5,&bounds); + set_trap_gate(6,&invalid_op); + set_trap_gate(7,&device_not_available); + set_trap_gate(8,&double_fault); + set_trap_gate(9,&coprocessor_segment_overrun); + set_trap_gate(10,&invalid_TSS); + set_trap_gate(11,&segment_not_present); + set_trap_gate(12,&stack_segment); + set_trap_gate(13,&general_protection); + set_trap_gate(14,&page_fault); + set_trap_gate(15,&reserved); + set_trap_gate(16,&coprocessor_error); + for (i=17;i<48;i++) + set_trap_gate(i,&reserved); + set_trap_gate(45,&irq13); + outb_p(inb_p(0x21)&0xfb,0x21); + outb(inb_p(0xA1)&0xdf,0xA1); + set_trap_gate(39,¶llel_interrupt); +} diff --git a/linux-0.11-lab/0/linux/kernel/traps.o b/linux-0.11-lab/0/linux/kernel/traps.o new file mode 100644 index 0000000000000000000000000000000000000000..a7a72cc2319eef77fbf69f1ed66582325114b5ab GIT binary patch literal 12968 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 F{{z1=W#<3@ literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/kernel/vsprintf.c b/linux-0.11-lab/0/linux/kernel/vsprintf.c new file mode 100644 index 0000000..06b910e --- /dev/null +++ b/linux-0.11-lab/0/linux/kernel/vsprintf.c @@ -0,0 +1,233 @@ +/* + * linux/kernel/vsprintf.c + * + * (C) 1991 Linus Torvalds + */ + +/* vsprintf.c -- Lars Wirzenius & Linus Torvalds. */ +/* + * Wirzenius wrote this portably, Torvalds fucked it up :-) + */ + +#include +#include + +/* we use this so that we can do without the ctype library */ +#define is_digit(c) ((c) >= '0' && (c) <= '9') + +static int skip_atoi(const char **s) +{ + int i=0; + + while (is_digit(**s)) + i = i*10 + *((*s)++) - '0'; + return i; +} + +#define ZEROPAD 1 /* pad with zero */ +#define SIGN 2 /* unsigned/signed long */ +#define PLUS 4 /* show plus */ +#define SPACE 8 /* space if plus */ +#define LEFT 16 /* left justified */ +#define SPECIAL 32 /* 0x */ +#define SMALL 64 /* use 'abcdef' instead of 'ABCDEF' */ + +#define do_div(n,base) ({ \ +int __res; \ +__asm__("divl %4":"=a" (n),"=d" (__res):"0" (n),"1" (0),"r" (base)); \ +__res; }) + +static char * number(char * str, int num, int base, int size, int precision + ,int type) +{ + char c,sign,tmp[36]; + const char *digits="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + int i; + + if (type&SMALL) digits="0123456789abcdefghijklmnopqrstuvwxyz"; + if (type&LEFT) type &= ~ZEROPAD; + if (base<2 || base>36) + return 0; + c = (type & ZEROPAD) ? '0' : ' ' ; + if (type&SIGN && num<0) { + sign='-'; + num = -num; + } else + sign=(type&PLUS) ? '+' : ((type&SPACE) ? ' ' : 0); + if (sign) size--; + if (type&SPECIAL) + if (base==16) size -= 2; + else if (base==8) size--; + i=0; + if (num==0) + tmp[i++]='0'; + else while (num!=0) + tmp[i++]=digits[do_div(num,base)]; + if (i>precision) precision=i; + size -= precision; + if (!(type&(ZEROPAD+LEFT))) + while(size-->0) + *str++ = ' '; + if (sign) + *str++ = sign; + if (type&SPECIAL) + if (base==8) + *str++ = '0'; + else if (base==16) { + *str++ = '0'; + *str++ = digits[33]; + } + if (!(type&LEFT)) + while(size-->0) + *str++ = c; + while(i0) + *str++ = tmp[i]; + while(size-->0) + *str++ = ' '; + return str; +} + +int vsprintf(char *buf, const char *fmt, va_list args) +{ + int len; + int i; + char * str; + char *s; + int *ip; + + int flags; /* flags to number() */ + + int field_width; /* width of output field */ + int precision; /* min. # of digits for integers; max + number of chars for from string */ + int qualifier; /* 'h', 'l', or 'L' for integer fields */ + + for (str=buf ; *fmt ; ++fmt) { + if (*fmt != '%') { + *str++ = *fmt; + continue; + } + + /* process flags */ + flags = 0; + repeat: + ++fmt; /* this also skips first '%' */ + switch (*fmt) { + case '-': flags |= LEFT; goto repeat; + case '+': flags |= PLUS; goto repeat; + case ' ': flags |= SPACE; goto repeat; + case '#': flags |= SPECIAL; goto repeat; + case '0': flags |= ZEROPAD; goto repeat; + } + + /* get field width */ + field_width = -1; + if (is_digit(*fmt)) + field_width = skip_atoi(&fmt); + else if (*fmt == '*') { + /* it's the next argument */ + field_width = va_arg(args, int); + if (field_width < 0) { + field_width = -field_width; + flags |= LEFT; + } + } + + /* get the precision */ + precision = -1; + if (*fmt == '.') { + ++fmt; + if (is_digit(*fmt)) + precision = skip_atoi(&fmt); + else if (*fmt == '*') { + /* it's the next argument */ + precision = va_arg(args, int); + } + if (precision < 0) + precision = 0; + } + + /* get the conversion qualifier */ + qualifier = -1; + if (*fmt == 'h' || *fmt == 'l' || *fmt == 'L') { + qualifier = *fmt; + ++fmt; + } + + switch (*fmt) { + case 'c': + if (!(flags & LEFT)) + while (--field_width > 0) + *str++ = ' '; + *str++ = (unsigned char) va_arg(args, int); + while (--field_width > 0) + *str++ = ' '; + break; + + case 's': + s = va_arg(args, char *); + len = strlen(s); + if (precision < 0) + precision = len; + else if (len > precision) + len = precision; + + if (!(flags & LEFT)) + while (len < field_width--) + *str++ = ' '; + for (i = 0; i < len; ++i) + *str++ = *s++; + while (len < field_width--) + *str++ = ' '; + break; + + case 'o': + str = number(str, va_arg(args, unsigned long), 8, + field_width, precision, flags); + break; + + case 'p': + if (field_width == -1) { + field_width = 8; + flags |= ZEROPAD; + } + str = number(str, + (unsigned long) va_arg(args, void *), 16, + field_width, precision, flags); + break; + + case 'x': + flags |= SMALL; + case 'X': + str = number(str, va_arg(args, unsigned long), 16, + field_width, precision, flags); + break; + + case 'd': + case 'i': + flags |= SIGN; + case 'u': + str = number(str, va_arg(args, unsigned long), 10, + field_width, precision, flags); + break; + + case 'n': + ip = va_arg(args, int *); + *ip = (str - buf); + break; + + default: + if (*fmt != '%') + *str++ = '%'; + if (*fmt) + *str++ = *fmt; + else + --fmt; + break; + } + } + *str = '\0'; + return str-buf; +} diff --git a/linux-0.11-lab/0/linux/kernel/vsprintf.o b/linux-0.11-lab/0/linux/kernel/vsprintf.o new file mode 100644 index 0000000000000000000000000000000000000000..41d1faa93ed64a3b37694ce8f065d328203bbb37 GIT binary patch literal 6152 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 tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +_exit.s _exit.o : _exit.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +close.s close.o : close.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +ctype.s ctype.o : ctype.c ../include/ctype.h +dup.s dup.o : dup.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +errno.s errno.o : errno.c +execve.s execve.o : execve.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +malloc.s malloc.o : malloc.c ../include/linux/kernel.h ../include/linux/mm.h \ + ../include/asm/system.h +open.s open.o : open.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h ../include/stdarg.h +setsid.s setsid.o : setsid.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +string.s string.o : string.c ../include/string.h +wait.s wait.o : wait.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h ../include/sys/wait.h +write.s write.o : write.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h diff --git a/linux-0.11-lab/0/linux/lib/_exit.c b/linux-0.11-lab/0/linux/lib/_exit.c new file mode 100644 index 0000000..c0c9d69 --- /dev/null +++ b/linux-0.11-lab/0/linux/lib/_exit.c @@ -0,0 +1,13 @@ +/* + * linux/lib/_exit.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include + +volatile void _exit(int exit_code) +{ + __asm__("int $0x80"::"a" (__NR_exit),"b" (exit_code)); +} diff --git a/linux-0.11-lab/0/linux/lib/_exit.o b/linux-0.11-lab/0/linux/lib/_exit.o new file mode 100644 index 0000000000000000000000000000000000000000..0448d24f31c808c626f8782087f0ca1f3d0d1a1a GIT binary patch literal 1988 zcma)7&2QX96n|syCQCNmHVKGEsgNTTHI&$!&;^y!@|8dZRFNoDJ)kP}?mD{`u^ri7 zNGrsLxPUnIfVd!W>7T%%65J{waX=h6aY6hGoH@YnH=fxzCwS7#`@N5O@6Gef_>%M%F@$pO_t=8yz_t_U%h*__2qBBeEQzQ0#ZZU8|pT=TEeuV6$1B) zoW|@7kke@X1m-rHaaxMw%x+VuS`V~s_NJC*eh1SL)f|wHp}uYY3aI8TV0P{iE~qCv zOKrEa(pgZ8Gp8Ph{;agyFG7V32DT6>P%kaJolET(+UJ((`ts>-UR@SxHl@NZME#grc z4L$DM`gg}!5_Qwbu7b0Ww16tj z{Gtp8@B0UNRz`y|%a1A^jKf^^vvj0u=T>(I*)S5Vm#bS_m%Ozb{YhF*sw(_vCR*D3 zc(WI5^q#7;Y|W#bKxD9}J`ZWV9Qndl^g`hy8vYeNeZCd6g_%fV6I_*ND+iTDyV1L zIM{=_-xjX-dF@e6*6%apXH7}FqPWvrV`UUoBllRRxV~MpQsxei$Q5?*h+LVUMqm#X*)97>SMRs3 zK%r;zuq!l)eJ6j+aQsq4VOy)@IB;u5-!=S-;oFA4W%zZ&`SW8uo?pfp8=3EgYF6Kd N`lpTE1IPbG{sjn%%bNfI literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/lib/close.c b/linux-0.11-lab/0/linux/lib/close.c new file mode 100644 index 0000000..afd8364 --- /dev/null +++ b/linux-0.11-lab/0/linux/lib/close.c @@ -0,0 +1,10 @@ +/* + * linux/lib/close.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include + +_syscall1(int,close,int,fd) diff --git a/linux-0.11-lab/0/linux/lib/close.o b/linux-0.11-lab/0/linux/lib/close.o new file mode 100644 index 0000000000000000000000000000000000000000..53b8b469c0a1e8ba52c54787adb158b024ebf131 GIT binary patch literal 2220 zcma)7&2Jl35TCcZ{%D*UCn*psNEj& zeti1%SA-CxNsvhsMD&xHd0J8|(E*yFH@5HBZWm$Ld2@08+P!bDUOTloy}h+KO`F9X zsK3;h|M|l$o^$&FX!~yMojacaS!^Opyaz760eg%w=!Hy>VU<`jtipZ>(<=BuLWWT~ z%|=oFTKY=gOH}+3!g>TuOdSSi;ymK!4tSy0Rd(YB6~AKp)HC45jf6^Xv+|vsBxc0H z>RiRFE>vg4Y_awzJd0GRybKdopwu!dIpSE|tRAVnSb4I3c8-IO&+neBi#Zf4kXdHW z**RmLsMw+`FoUHDJXU|Hj@rC!14DO&HQfT%<@)G3XhQr|-48C$2qz;Pr|AcsVcPYG zI>RvboDR=O13yl>&LBIzf=q7i6R)C`qF6=`Eu;6lQ9!0Ni2Z)xbsOB;VHotKB2!Uw z5RSZNkam-17&nK0kZ#(`&dQ2Cblc74%mCh|co0TOV^1nCih_{NoV(CiYqXqIr`51W zZqykZ^$)K;->~})yBCi9#O_7z$g?*>l=mVS{Qz}5yO#!?#1DfQrXaNA#O++PH=;1{ zI!PGO`g-KW*ri%~XW&NT?Z^HVFS)$ok+jm8wY4LSr3>veNYZR2_Oq!(D<7@2oaNS` z%*t&$zzig=oF}nW77Nps^(orS2ejwEd7@h0HrA^1m#XCxcd8aS@#RtCwjq-!lLM_q z-q1t09Q8f;vb_owUP!tTkpiv;h&rb*{>VaVsZi6oqd z^G#vse3zi}9Nst69{@i~Eo1ECv8AMryNAc&sVqct9ruZf)2@HA7fQqN+P_e7V>b?P zbsUwgkKyMS`F(tu+s8xj>3z&V*Z%>iv7X9`>+ga}YDl*PjV9eDgWXgYB9?S3A*kH;N9Yf6Llbw)B z(-Q#ABz%l=WD<99LMA$(d(C%u7TwB6a9_snW%kx*?={SaFa*-`{TEP9KaJSah6NU-c<6alBbk>O-Xr=F#j!uU6#o6p~Badl=X2@d9Ca}sbmAv0R9)` CulFDT literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/lib/ctype.c b/linux-0.11-lab/0/linux/lib/ctype.c new file mode 100644 index 0000000..877e629 --- /dev/null +++ b/linux-0.11-lab/0/linux/lib/ctype.c @@ -0,0 +1,35 @@ +/* + * linux/lib/ctype.c + * + * (C) 1991 Linus Torvalds + */ + +#include + +char _ctmp; +unsigned char _ctype[] = {0x00, /* EOF */ +_C,_C,_C,_C,_C,_C,_C,_C, /* 0-7 */ +_C,_C|_S,_C|_S,_C|_S,_C|_S,_C|_S,_C,_C, /* 8-15 */ +_C,_C,_C,_C,_C,_C,_C,_C, /* 16-23 */ +_C,_C,_C,_C,_C,_C,_C,_C, /* 24-31 */ +_S|_SP,_P,_P,_P,_P,_P,_P,_P, /* 32-39 */ +_P,_P,_P,_P,_P,_P,_P,_P, /* 40-47 */ +_D,_D,_D,_D,_D,_D,_D,_D, /* 48-55 */ +_D,_D,_P,_P,_P,_P,_P,_P, /* 56-63 */ +_P,_U|_X,_U|_X,_U|_X,_U|_X,_U|_X,_U|_X,_U, /* 64-71 */ +_U,_U,_U,_U,_U,_U,_U,_U, /* 72-79 */ +_U,_U,_U,_U,_U,_U,_U,_U, /* 80-87 */ +_U,_U,_U,_P,_P,_P,_P,_P, /* 88-95 */ +_P,_L|_X,_L|_X,_L|_X,_L|_X,_L|_X,_L|_X,_L, /* 96-103 */ +_L,_L,_L,_L,_L,_L,_L,_L, /* 104-111 */ +_L,_L,_L,_L,_L,_L,_L,_L, /* 112-119 */ +_L,_L,_L,_P,_P,_P,_P,_C, /* 120-127 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 128-143 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 144-159 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 160-175 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 176-191 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 192-207 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 208-223 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 224-239 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; /* 240-255 */ + diff --git a/linux-0.11-lab/0/linux/lib/ctype.o b/linux-0.11-lab/0/linux/lib/ctype.o new file mode 100644 index 0000000000000000000000000000000000000000..0c37eba62dacb16a197bdf94997805759dde460a GIT binary patch literal 1904 zcmcgtNpI6o5PmOq=n@(dg{`W9RBA;)*hwIus?b8IpbA30^@0S&cAUhbwj;+uEfVkx zkoXCl;KYSL!<7qn;EGWB<}HaUIB;U5+2_rS=PiDH@8NyUIn%(I!6q7GZw={b307kz zHm5@+pVm+#(8`3rD;))M49dPC06qKxGT^R&++TqF(?`4c|C)=ErYLLjZE#)$Sr!Jy za@Qf)K!XSdYnoH1A(&kBoqtcp*>j+IG3WdRGR!;~8%%!eBNWEVe7RUD7{!HR=?wC6 z-mdTp@-DJ=rJhH|B~~b`BLJyd%qXrFZWh{=+w-}zSbY+hqco~hA%ZLcbL>1Q=Rb>c zpyDK8|2gy0gMn{*B6JiDgI?r!s$Sno#-3sD!lxj%>!sm<)%$Vi*P~GOLZ%6~E%eJ<6s+-l8y<)ejR_G*Ne=WGSa-(YXs#Z4+gVgFKPUu^MIEYd| zfiZ}X&bPXw$V-Db8p0IC)-ZLvXVxHzQ{PMDgxa8PM2~E1b91#?+i^!xI+C@lt0SQ` zUo~5HqjgDIu|30sFm+t;G?BcorPSX~ncZ!>g@(mH-<~dj_W4= z^Q_lNoT%qxfefJTwT#@%_Tn(~Bjk?Iyp4g#j}gQEH?lyR20W(1<^7zj)pvMN#i?t| z?vSpXkgGs~i$FS)I&LEqLw>C`GBVjIu1kUf9d`x#j5dN#PcilsoNfnQ7ecCc3#ivX zWFMfclb}HRwxMg8TwkHk(bk}S4`9gF?V~Q$p}G*qbst04Yap^;P--M7(7pgV$@JX> z%eY6Mq$nu)2vfy%+-JmH77>!@xR)wUySN^>GEf{r8JKlZ+#BJMM8^@AS6kXkI1pbT zo&X*P(ws{`nn^a_H^k9Pq(SG?y5?EC$-WE%j!|d&Dslni)q~nm_SV kiq8|rL24>}Me#Mo+r;r}6z3G{9+8e@j`AZl<9Mfk1Hs^{Z2$lO literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/lib/dup.c b/linux-0.11-lab/0/linux/lib/dup.c new file mode 100644 index 0000000..dd13414 --- /dev/null +++ b/linux-0.11-lab/0/linux/lib/dup.c @@ -0,0 +1,10 @@ +/* + * linux/lib/dup.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include + +_syscall1(int,dup,int,fd) diff --git a/linux-0.11-lab/0/linux/lib/dup.o b/linux-0.11-lab/0/linux/lib/dup.o new file mode 100644 index 0000000000000000000000000000000000000000..191ad6f7d96e3f7c25d20f49e1d25ae9cd944d03 GIT binary patch literal 2196 zcma)7O>7%g5T3WY{%M>VCk7EKNEj&<33S&9wIC`jO-Z3DpjIk`1015Yy|!14chmiW zv@19a%X#PlD3Mw z5Pz@n{MX%^yyn&;(9RFF_iuj*WU-1Yv4&Y3##CnvdMRUMSS6MWtMEOTX%+k+A;T!0 zV5KO3CvBylBr4tkvwGKL$4So_W@lHBq0K|$4Kz{|%jlqG^#3plh?54fKM1^DlN+0@Zw+@W|FMoIHP1TTt$kj|c8Ypyoi&a%^P+9NmW4o~{W zmS1ezgQndNM}A`WBX{K4n<27#5tM#_Jf7W8gKpx7K@3$8+HvA`FWH+>n0VbJjA(s5 z@?vaGmE0Y=5p9IQKo%eSSH0xQrbkjuXIEE`H|N(nX^^B@DfSDgL`xqpwVlQGLZ&5r z!x@RI7fEcF#q6YIeSy~Uq3~dmhjF@E-Z56IGncF7)3>V@Iq{WI;&#B3DC0vdMc#&! zcv}fMJvVX5>BKQPtn7K6bg=FR{SYQ8yPZzteUP`hksA!K(cA*=j$VKqxsKS(-`c-7n<=A zh1GLGmw@x6<2?^0`~R08*Q3{P9FDigf+B5O1kTs@59-^3j_WI6==xS5>opMZmf+H` zph(*;0&AH~9|AO4P^4|=f%AD2Y^nww=jHwBytt$X;_V^8d(dgp@mwhK@jgQkj>GXL zFm$}jka-R7o9O|--At4-+jwj%uKj+*lklAM$R_Rgx$@JdKeJa!!~NR7R({(25W@1l zS5_axuQ2laxSrd`W3cIcOhMM)07Ne6aVy@#Yf$KR6!uopa{n z{f6&=b7<1>G}b(?x9Gtmt!IAlPsli*fiY(vlPSNrJeL2meT6AcbRS|ppX``Snj8a2 zCgBH^Ba^s;V=~bJoq_M}G`dw8n`K|r6VE@%?5T!*0Ye}(-+h6JvkEkj`^EeT#ra1i w(EMkZ;~eLezNPp{#m^}IrsDDrA&$!!>pxQZ>x#>~xSV`$Y+q5l32p%Y3$$zWmjD0& literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/lib/errno.c b/linux-0.11-lab/0/linux/lib/errno.c new file mode 100644 index 0000000..50aca2e --- /dev/null +++ b/linux-0.11-lab/0/linux/lib/errno.c @@ -0,0 +1,7 @@ +/* + * linux/lib/errno.c + * + * (C) 1991 Linus Torvalds + */ + +int errno; diff --git a/linux-0.11-lab/0/linux/lib/errno.o b/linux-0.11-lab/0/linux/lib/errno.o new file mode 100644 index 0000000000000000000000000000000000000000..d217c7db2ed83f5bef8c107b8cd9761bd743f1ad GIT binary patch literal 1468 zcma)6OK;Oa5T3153YdmQ1wmDWf>cC7c$1W z>Wve>ffGN36aNFQ9LhJl-o!{C7-@FCnfZ2SA7j6J@Z_Nof}9BQXyy@JnzNa%G3&HM zi?jh;Gk#69V8we3Crp6I@Wq0JJMVGKtIfx$2CE^i)|Y*+zFJ?p0A828`nG@Df3$pm zW$q$)YvlX)eD5UYoP*lJwhphuvId=_%NT|DSzp9xwvG)8QhAlIwToQCM0t;mIDBaTolH*DlwCF~aL@mY9vJdlUFnCH{JzXbXNF%KgR4_3l9396)*w<+)B=ZWjTE zIrkBY2A+z`Jw~Kj_Y3NB9j?0ob#e4!% zLhy#An9=dxlsuO@;zUK9+d#~{1*e(!;SW6Km%j^>{e%O41v(2o1LgBBLHSOq>y2?Q z%yHuCI^Wr9yhh)TU7YRje=YW_J7K?Ck$v9HOuT9L+L&ivsG6_7B+oxRO9FZ3gtL%G yzBwmXVQtWl + +_syscall3(int,execve,const char *,file,char **,argv,char **,envp) diff --git a/linux-0.11-lab/0/linux/lib/execve.o b/linux-0.11-lab/0/linux/lib/execve.o new file mode 100644 index 0000000000000000000000000000000000000000..acc081243ed081e41353b132934f9182d6227b31 GIT binary patch literal 2336 zcma)7O>7%Q6n?Y2{z;s=PEsIIDzQi|gr8j})T*M=Us5Q6sz`+jDvH9|9@{JI-LPJV zw2BH+gair~BoII91@*!S4qVC&C=y5rAtVl5IKZ_WC>IVK%J*h>;>`)3Jny~l{msl9 z@62nDoq1dcL7D`aG(tp6R^q8EF;DwwlAhW6qq2RmI7JI zQ=x~HFQ$U^DYW9#UQpUa zb*?x*YnBg}9x2^7yE4teCuZJ%bXH7bfjLS%E7QgdQNF$l7WSgv3c`x_5{t2s`}pjU zS*&G0uLnbSl{MW))-PZfbO>CCf69Bn)oJ65h3nS*pxGO?B$3>Z&2{NEIb|65gSh2( zlRrXERX4}PlQ<8NFMbDMwEr@4D3xT5l4TSHA<1BUjcVPnFKfZD71zQ+t>*{B4QIh! zTy%O~qqdM3z#DY>?0I|HuDeTa-FEt3)a)Mh4=x?DosR9a!@eIo?a1p(XD!5^Kt?e7 z0m@0IJq(($9|i-Mg3uYnUh`#VEed1VjKhf9eota61HTiRw6x%yC{!{G& zNsxb8#+TM4c~NJbdSTG9IdF9~k^`dC%gcxD`SXoo5D$|@I}Z;PTD-DYcNgmSCsyv` zK4u_s`5cMOqL`botT)kkJ~AFm>ZneZi(AHWdFIt}@#KxNMeg8IKlU1sag@le)*{(+ zW4RHN+wx+M+{R!)E*o32G3>1RK|6#?>0YA|$@Q$)i@czNU1SotlR5!&klPIVeTn_L z0UGJzaFWI*IkLN|4kKCn|KWEdi0_kp8qD`d_V39)CcXj2l$NlU@Y&!;Qy3h>A2{O! zDK;UQUP;6b*YzHRh2#G#j@P4exCqz#o|TleZvi;FzAlP?02{9_hoRSZ0=mwDN=E?R zU?nB(I|rv7+C&TPFW z&^+AxJEZIF7*Zu`x9HaGtbg~5%k{G}FxIO`}cPj*BmO^g6E zlki++$RzIIh)i@qSKx1V3Ma&U)x>?tyaDPZq2wu`8e9V9`TG}OJhMO(IiKYnspO|j z;Lz`3iJs1-hXooR*4JY3&H(OmS+TwT|^U4X+;+TkR{Y@Aq4K zuX9fhA-Py_p6#sfp0oDad+oLVoPG9MXYGB?o!XM@Ppz3(+K?CtO|xgtntg6_)67|k zM581H&xu5HQ?t#ms?>3uTE}r;Hb=={IL;&-r^OuS^j|p6S+6?IIh~HvGTU)JHq&t~ zMH-J4FTT4+f5dU}M_VehuFt{w#=f-Emfp~naeDjGJx;2-cOdPg`}=!(o%Q`)nY7c9 z?Q;gwnSrhjC%qw^x*_eXPj+ScKoUCxnf_GYjYK^br;-xeV{r=QNUFi9HT@*fse%Xk zdPIc9eeL~gN#jS2)j#Xk9OALlUBiAQA|bb=tG3wdqV-M_0eo z*`H3gDV-ijIqQ<$-MuLjKj1jh1@*oD1#Z$SiwoG)*oe#OpJz8S?z~2OX;+or^07-U za$Oe}*nsOqojm0@cScQov!FVs(wSg6Es87D5tPW|uU3u(&j%YnUjTJD3Jk-A0+CUG z>G6@ZdGD!q6zNH^o_i^-`ANjolBzaVNRcDyqt&6{l5Ho(j3HySU1&g50Uj;;M!sNUU|r%I1LqqMDs( z#YfA|FI!x7!Q@B{a#!QPy#p{cl^{;IrxE`loL%>~6%%llk$~&(+Ch~P)@;u}*Xo{h zMgnJ2DNu0}b6>J=qO28ta>yW^^ap8yZan&h5^h zU;2r}f<$xuociX(jCGux=60PkXLe%7>couB-gRA>8J+#fb?F&>y_nOZxeufI2wPGx%gbt;fLI)A=k!ABEypJ>naWU{8L88fp& zHGQV3xxTUaEE9{%GjQX&OtKvq_o(1C8p@TYnszB@4KwLyAUL!YH0@$U1j}86a#;?`MbIzz zI)pV3g3j+i)G=T|)4D)2%ytu|;XeAN3CfviJTew5-vRJ_L^#Yz`EIs+n&fJS+X(Uz zCgBJsk?#&kF(>6CHn+Bkuf%|O3Bidt%5kutD{-(-g7OZ5k28^i%2Qf#Fy3>1`L@Or zkJJ>TgEb)?ERi&8lZU83dQDtZu23*NcqN&ihDaWw(!wBJChcUMc}#L%f1CY4;FzDp z`Wa=J;%t#OAIyE^qEFaoE{bLU6Q6AHWMT}YCQHw;c&^2ZiJ=;0oFd;fq#-P6(;?b% zF;9!3a$LH4&YXn6__}(b?QYf8Rk-q3>|{@Dxw1B%d+rCDR_=khV6TGbu40{_L>x{g z1P&BJ#4BcfBVN&yKvAy<6R{JC6fb0?8{cVIt`aKtFFIse2<43=?BX`WlZdSN?)E+`yXN{!C(o3}0EEDDCH$Ci<_tw`X;N zb*Ek2mg?GSy&@xjQYdnz~#PN+J~ z>)(P^s_5+Wnl`a1q{;=IM$@ms@x{A}Fck;GI@9qM34-#SiAd_9@%S3Sqj@NY^42q8 zLDRzebvl&W2Jmp+;$`5$^1}Lc7vesSLqX+*^=mm263PUud|~~1AIfFFuv`TFa+85P z2s+at;5-H_s66UnOqV`91R<<9qpp%BiN3|0_~vfq3vM1bPOQq+y{C0GGKva5rSos zZo!2767Welpk_oK`<-P5Y+)XvV!Z|Fa=)+H z2Pd(WI!T-PTP%xl^*Q=}D)LjW*Ab&L8!T46zR=Q3EWX@gDnIgb{JM~{#?q?iSue() zZE*q^`bAt60rj8opVi@o@t@Mo6T3XC&pc;#!O!Ze>|j*=UyZxyiot`GcPy-(GPv8z zEvzlyatVUK-WHq&U-Pz9?u1d|Y`M0!<_DW{dp5tY!OJ~AT#W0ZB-^^t z1T-Y*kQl|>>g-Og&U4Wa67$Em!hHMaI2;AyMq!tR?V$wX)E<&+CHByQikirRiuinE z7L8>W(W?2wT@CM@Z6r=Av{~*|V9qzeF^Z8Uz}cb1hKX*)Jd2;`F!FGOlb(iywCb^& z5e|aN<6KJq@%UID%|khqw~qk}n$`$9SijpL{7%GC$8xsO`n4jgc@T7#g1CnP3z{an zK_h`*K|&%xD<5sGV7XI3P+zcIwol8&eLSLE4--Q>;uKU~5)nap(?L)U)yZGvrd2pALZm^M@&I*&XGDo<&}!T9lQsF9s> zv@e7sE)PfhLU={qV zU7Ay>Th2w804vL&B3`k)mGv>Ex$(yg%RdSgdjZI!r_Xp}5O65R9om9(QD;ZqOA~vT z@uhsSjBL#~#VZ&%USnwtvxqL7fC&`K+dj02iu2?JlaFZ%X&0bsj?_;aJ!6_e=E|p- zV^sU6#Jw0j>c--5ae0x>*To3(4GfwNzOi7I77Mn5MzKrGU38+%qqa8M!G7Jv=9t1J3;Pzp_f~H*#TEk3Q4F9kM>I%Va>t8&&>4l;Jih~95Gacfwt0A==a?ipn@Rp?o9DhjJI1nk=0M)|fIKaiI9R14&_Ra~ zH=fON5GsXF#|kP>X~n_#_oL0DV}|!GZ65Zq0>`5@6jCF$ks$gk9Pg#wlVo|gkbHKb z-E_OfVLRtS%a;JAog)h7IP9FJ=Gg_WFHNxnOYI!)1(}I*%~sIFgCT)b$#||h zS3d;JXCeji@yJ-Ld|WpfO|Qv3qnUxfs0GdBGA%vo?7+QTq~D3J>l}uoHF4Zd5Gn zc^U)eLkz-!3;1*#8Zr{i(V`!mluccyGBDB$_F!*-9kN9!;nn{@>)ChTMymk;oq zn<(@t_q)hrWO}YR6kb6DEjPkkgZPyDD1z98@XtW`r`&CfbmRV$awNg~65P*7LhLD^ zqK9zGKk!ndJM>MQVg*BOj8(O9^>JNi|ubs}aYwoS+?yW;p#gBF<$vkMRuMFmNNbvISNb%wS7V05<>* zgjN^iZnOI;{HN=uaf$Tly0^2l4IcSkY|gXe|KD9bk9=qz<;mS_CHC3ISW+-g;eH<# zuJ5bap@8uE0-v#Y5aiqdF%(~VY>;R z!X$9e1m(;$9^vQg>u_O4vqv^te#wl}=k)^G2+AUapR;cRAMH5>){hWgTWCR}biB~s z&~{8hI9Swf5Zfuhf|g4hv?^|e5qAi2<2`3*Q0Sl1b2jhYQJ=GQel+u{c}N3q1CA5% zoV}QGam|-oe4WMZ7Izclg3^8`-+dN;%VM>&crTIfT8k6FeD20OCIRaUdpYzSjAQNV zXgY6pq4w84J0QdM*Uqz0_&Z-;_yn846$Fl1g8DP_>kHpOY~J!}0R_wJ?}+S14>$H4 zD35R0I9rNeJW1dSnH`4pJm z>FR>XU$6l*ifLkQo)hJ`7;RC(UlDo7s|tnKIx-&B*7=V$1&%R+H=t`&cTo?i?h4yF z$66~0+d9YM3)?#6yT?>P&Z-Nk^D$-ma0K<+0BSs2=iOdYpl;>-Jf5w?H3dG&DQG*A zhzPbLxL;)~Tj!S$@Vp8GraT^DTW2ryL?O1$VekckvIt>Y=MC@`V(SEL^(4 ze0QV}TjwQ=1KLvx+76`^2jj>0>^y_hKIfnkm5findOfrHMEm#W+aG zYpA}RL)CpE?3^W(i$N^U3&2Uz7$-N|_}eWG+cT|}F9A$@#=I|^H)+PTXJ$4RykFwA zQS2FPQ{8zX$}Y@>v}Y?=jcM<>@+d<)=7Ts0v>^$3J7zzq=+%rmbso;1|3=G2jC13A zh`iz-2^ITSprTW7%9}J|mJa0*7yEljn2vK~>jtN|4T0!>N)4`RjP{aCa386cf8(WS zEN{?Ae@|h1B((Xg(g2Q#vy7EHwheQXf5%?@6eW!B;AuhEVf#b^hz=ePMU8Ni_|i>G#iut29?O1$aJBNJq7bvK_Mnqsr^`QpBZv!=+o%0rWcq1yPJei|45_l~V5&>HI z!akj^qFm~g@$8%}5U_p}c}c_t+wmae;V1IOvU8{xUJJ=%9m96c&%sxSol~tB#>&+8 zhV2~kvF{bk#DBC;XJ?=t6Tz%@aoDHB_awKgFkmg07*+Ry?<^kzRfU84h4R?%?7Lvq z-vZyMh*MB`N-GY=zaQ-!jtv6uUD`Q8+m8LBMnlT~+J=0D!}&0h-VIwv?o)LBBFY24 z%;NEUIyYIqFIXJ5eZ&`p3!gx`?4gj4gdB(MbIv&h`*P;k!OOOAW!GOz;}ROy)3}Vb zlLlmAhS17APl4CSwD0B68s$t%m}?Mio5vBvTH4D%d5_NjV5A%0CTYe0BvkBKAd#3i ze<;Tt`Z~@5{LIGCN%!2)SGd)5qWnO7B`CDFbQE9I2+MEeJ2!X@>4yAXTH{tap4V?= zClLGdKi0?0xGkvzP?5%r#|k9{BIC}{l}5fQXO)}S(9M%;L| zR0{-fZAd}og>9+tAR(blz{(f4rC140LF3s{KZStnMv<39T(BLLAlR>zH4nfgEjb*p|8$e1-UoY69(;2zfeQ!nV}ikheY54w5V%P4r#d2vwEwp%v#d04Z{whmzeA9o_XX(#a ztbU}ww)Ad`!?x7|#v^|Mn6?$axR$r93RowbHK$;|(jl>0^!@yRZN+^`G>eXRpVHvL z@~0No@^*IcwoWBp;qjjGYWYg^Ye(e0=<+@PhBQ;G-T(R~BG?IpRdPndz2ZFx!u)y- zDEfJZLyjokL$Ji|5Vqo<2o>80RJ04H{0q@?-G*pl#rOd`lfW0E|5@0qC06`5LeVP~ z*&2^?qH)XA5-af-U-~d3<&|m5Je}0gPjNPqCKyTB?u4il=-_&1+nq*pnSJTP$$a^` zuve;Au~ims0FIas_Z)|hOa^j_BF6KOmFf#d*3yfuoEyJi++^mSF4!M-qAWY(RP!x2 zvD$k3iF=9t54wg5YeXplPDZ zG!pn+tA{j7`NB5g!9c&TeOj(8G-zhvt03>w0b1oH5f^O75fGF!o=vzP@_rwZN10)p z@L6%ZgF&m~Wh|TU5(wBHkf-GmqlrGq$2$>; zS$jI*Z#a?k0x3 zoTcxv_`g~FsKrkZgYP*@zie^Xj$CQ^62P=0TP+^Q^mp~F&Rdk@ty9iE=iGvQbv5<^ zu6L;lOwM`aG5Wza;3-{gB3;8EZz_^(wlZuyv@XdP()?!soW2b?06s> zM-|^{+C5w%p90(%dGmR#tFTF3$;!GK?q7wumk%D~7lSHq^J>}jFL<@!zwL<~b6(1n zK>C~C;;olEv}o`N@A^FfW?p3n1xSv6Fgdc(-0K%3(;K;chF!YhQFa43w zFUr6Ez?=IQ=f1b&*4>#>(z*SwKalz5rMW}7$5EB|S&!%Tp{(P`oP7tGCuqsYJRE8I zb?y+#ydqHOwX9g~Mb@~|)|f%ma{uA4WlFzv(WVV=JK2LxyH{Sn=c+4k)ywmlk&#zj znwfhp_x#E>$lfMhX2#dP+~M4ln}3~+ZGIthP42~}7i6$B?ar5$nQMAzwiIf5Xwy6= zb4KnkJMI*XM)esTdot!+#CB{t-^oUrUfBFXHj;Z0m3>j>>)avMa`_eLU%t;FgEaRY z8JvgjwvfNu3WwYF5{tctS=?n#^i)!7Nj;6DUIaX=0@elvSi&=X zAX(4{M%+3TM_uV|Vw--AV}^*Uh@d{G&L&?P!g5izW=!_~#0;#>i^N+=osK#*NcN>R z`_@4Ats}DECD|``qC1#j8|!j8vP)ft{({-r8{7Q+=nYHQ-q+gv6dW3h|_>0~RzGcrzo!ko(i5P>S53%iJm? z;SMe9VJ_B}w^W4}^ClxLL_~J^JQp#GPmqQ9| zcz5U_NGao(SZi~cmMP^;klWnkLZwVY*O|^j7e{%GZjzd9f=p@M5I>eDGH=SuB$pkj zM&wOeF(dM3k>OtDlr~W079n>+WUW+l2}PooCSLlV#0ZI7RH9S)I5SnrNAEo3NN}EL-_-AMRO^7(LBx zh&L~}pdnfo-?8L^xzUpND@&HnjZTbw#9gwqF%?Z!VE9<={eb z_TM?|pK!<@eT?{94*u1L`Cg8^m53Z#L;Y(G^A{m0D~SK=VgIm$((zG$$k0AD6Jw~|8j>iF3Z3j|#?K6RR4mg5f_`g0MnO{-@O34S)@svf zTF^&kd6LRghv*I_;h@bB;F(`hIq0SLRFu!R%;dcjhgu3@-rfLj0(_6**oK1^L4Y@< zWhW5*5{{>FQ0WJFKB+uxn}>NxH92`chwm$vuSO%Etnip#i*!}hetMTl$35*VM7ru? zlYSF&n)mfrAx+h6IBg@+RD+tdtmI2T=9iJC%F(2u?+2sVJ*HTPJdc4#)gO7J?+2r8 z{6-v4Ys={QjRRGhfc1HC325f=_k(7Zbdcy$bxQ zlfwKR0e1HD?ch~iV|Z~L`b}e)z60s1IQ;bMZDaq)_caD5dR$V0u;2AHI9=#kpg)j2 zR1ht{y?nZB@X*tkHyy<$isZ(yB=y>LF?Cu2)K59cnkGw#Wfty@7jY* z|K{h)*DvgMy$XKA#3+1Wzv~>_q}ng+5AByU!dh2~Sr2(nGGIZ|lAwd_SOj^LGoIgd zE_C?<6#{++d2F(zSSo zc|Ve-Z*)Em-gl%Ez}+}zS(@|bHXPJ%Om6^w8V7Y5X+C+W-Xc8@wCX9+7lBs2M4FEY zs*6Z}0<`KM()6{e&LQ0aTJ;O*wV*jhc<@^zSzy&IOy{^(JwkdAwCW1dTR^KWApMu1 zb-pLfajf$@X*E@`@ALo9zf!|kcR%1b|6*|r^?xVdh8GV4ZcKTShAdt;`p((k#5Y;I znHcGJTlztZIcJe?pH1f~Kj|YD$Iz9`cQP^Jn=Ed%_+pzrU}>&KW_0p zi+^O($wU5$7EdO|!MUFCms-5S#(&n*U$pouHvVx-@3Z(vHa-f)MLCl!K8+Y@+;7eJ z%Pr37-qzqj-=79X(juUh&v3~chBK@2&wES91M*KP}#E z(|>O1-&hBIF9SW z_&SRhS=?dqCX0tG-fi(K7RQm7`I{~7u=q}kAGFx~U0~sBB+YXQUnBW?85#qitwBrj zWXyPj2dB&a80?ps0(b8e;A%K)r#RViY@Z>YBx7q$4QG#GdXcBxv5a5DoswJT;r|Jy zRK5)lF!I#6x4gUsYDhNVFcCb}+er^TF@4YA!4?RaPI9;kDbu$&a7(xLM}{Xt$n?00 z+PpjauYM?jP^;a@!>X8?c(qq)n2R~nx3u!#66%I)K-6t%jc?wai431)2uVTJ>YVIP z1x?)iEHZDy;h?CZ*M9f=x8D|uB5WS1GQ*uuwLt<5cC z)$6txl&eHBwWjkpq=a20;GdW<2EX#=Z%|TV_`^o3ERWQR+r2i&K1E6H!rEH&Xaa%~ z?kxupS^E_0YbqkWT4y?UIxA&@Y&ZnVCEP+mh&T0WEpN4TFaIs#rwl&Pf@?7y!NzIM zAuMOX)sG899qJ4(L#W!8HAOB^^UaarS2ifEsgQYGgG1_Rc}v0-S>g2{~gfw|JAqyuk!87YKM3$1PR? zmb@&RN%VFm;I8QHzY+f+g&(%_1pa)q?kxNFqlpy$g%tk@xxOp2CegL7uXkXetG)Zi zL^t+%rxQ43`4@+Yx@jF}mD(&HO|&OFn1pqia5-z!{XOaKgqf>Q2;f38cXZ&J#si7I zoAfH0ao2~$b_M`aiOA~Mz6-=FQvq&u9cXu4^&=UxV}ZUTM6Ih@c9 zokEDbg;S;5+yfLn3k>co2JzM?!?XJk^r9^|yXP`K9;K1z&ba~S@@PGI&SSWO@0NPg z5Q;^LCm=fVGlb)A%YOxm?!n2O%b*kG&~xXBT)Yq=|F9PSC&ne2+{Mt)|HipwHiIcL zMz(gBT*9I()lu5zxE&N1!5TyvO-Q_X36i;QCpB~}&gJw~xmgC`wk@G^+g+a$s@q84 zV5F}pq1Ec%ND+~(*G~8qFsHUsl;_^nB{`(byG@y^&`PhEt3*ZK&EPBYdJ&Gf@&-wT zY&v}SSBP1U!yOvNxxBailaBkaDZrU1{qe97=9NgV?=)$vOf?@FQO!rSn*2zTYpIS( zlRSU_olr=EU=&HYE#I=++hIhKkjaHPE@lRXmg^o_} zUlo}HrRNzRaQ+Wr@_%PnocBP->mh>@%pb(qJ&Iw!G+fAm52Kg)ZtAkUo7(0qAGu$0 zLK(d3Ct)mC1oMn2YvM@fd1a|>1=n0A>EFnnB!44|R#gSxhoK`}oQmvPy@wdmn}*?6 zaYP*XOOUWP+urr&>nP}H5flBX}Dvb!9-E_^Rf2Y6bJlN-A@wsG&)rO}d>dv{Hj zh!wGI_r~Xad+Of%4ZS0F(}P>D-n#4F1M$Pz$CxobH-8?oLN?rc;DP)19-g`+T6*z? z-@EtLT@8D8HQXYJJ7T?pSHz-a|K%~rJ^ZH7^6~elW7)lX_i9P&vv2I(_56Xoe>ruk z?AGjrXSk#A_i*~tohf|Zt{o0<^H^9!+@a*pRQ@#H0^nhPyw!`1jIm*6JYi6dLzU1n(=8_Wo`1iOYT;H8t@R{53;q>rt zc8|juF4hEwUDy}Sc(FNvIR#>`XJaH?;c*x@+c-{(h;NPF=F;^m-)db3tn(D}Lm*DNp?jeMImd{|C-HmwqjL5^jqX|J( zN7|}U=c@>?KNS)-a5gacmG2M&MkyNx4L5?MJTv9s{af%oXISK{e4>g2@q3UkO*0{0 z+c5{>k^tZBaGEVcBHO_}pgh)V5f06Rpz|6MCkG-lcuk0pd*u?$U_tqogASJaV>s{7 zg;Fl#wcK?GYaRrhsgU<`1}tbA$8%8LLC9mh*$zH}sk|EzW*+tS0SJoO&2s*0}`AG&Ws63?=2jkxj-==n7 z7Ye}N&1x}%kN)m3uW%lsBYKYQ;g!$B(f^ys9>_yfdLl?y`1@*?A$k%do?(;OZY*cQ&K^aWmyumaPs#-Vd7(^qLCFw^rk!cnRypev8kX{*y2{G)3+ z-6p!GFWJ+DMPxjW^g{b!Luh8LW1bHT5+*YiA{ba7La}a<*^Uyy`1?3%R3>S0A2GV_ z>z40+;0OlPLzaGoH1hqLH1g5JB(AoYemj=4k~GR$MH>7i7^sxnO^kScBa`uGV_=eQ z1SWk6@hOh+mqBhj(}6i(alU~A!Etfvd5;kD@sM~jF=S39#z5n>Wc*Bv>31f5vBjLD zNVi)oa|h_pSo#YVf63x+So|O{%K5gXe_-)z7Qb%OC$jyJ_d$!#w)i|^ +#include +#include + +struct bucket_desc { /* 16 bytes */ + void *page; + struct bucket_desc *next; + void *freeptr; + unsigned short refcnt; + unsigned short bucket_size; +}; + +struct _bucket_dir { /* 8 bytes */ + int size; + struct bucket_desc *chain; +}; + +/* + * The following is the where we store a pointer to the first bucket + * descriptor for a given size. + * + * If it turns out that the Linux kernel allocates a lot of objects of a + * specific size, then we may want to add that specific size to this list, + * since that will allow the memory to be allocated more efficiently. + * However, since an entire page must be dedicated to each specific size + * on this list, some amount of temperance must be exercised here. + * + * Note that this list *must* be kept in order. + */ +struct _bucket_dir bucket_dir[] = { + { 16, (struct bucket_desc *) 0}, + { 32, (struct bucket_desc *) 0}, + { 64, (struct bucket_desc *) 0}, + { 128, (struct bucket_desc *) 0}, + { 256, (struct bucket_desc *) 0}, + { 512, (struct bucket_desc *) 0}, + { 1024, (struct bucket_desc *) 0}, + { 2048, (struct bucket_desc *) 0}, + { 4096, (struct bucket_desc *) 0}, + { 0, (struct bucket_desc *) 0}}; /* End of list marker */ + +/* + * This contains a linked list of free bucket descriptor blocks + */ +struct bucket_desc *free_bucket_desc = (struct bucket_desc *) 0; + +/* + * This routine initializes a bucket description page. + */ +static inline void init_bucket_desc() +{ + struct bucket_desc *bdesc, *first; + int i; + + first = bdesc = (struct bucket_desc *) get_free_page(); + if (!bdesc) + panic("Out of memory in init_bucket_desc()"); + for (i = PAGE_SIZE/sizeof(struct bucket_desc); i > 1; i--) { + bdesc->next = bdesc+1; + bdesc++; + } + /* + * This is done last, to avoid race conditions in case + * get_free_page() sleeps and this routine gets called again.... + */ + bdesc->next = free_bucket_desc; + free_bucket_desc = first; +} + +void *malloc(unsigned int len) +{ + struct _bucket_dir *bdir; + struct bucket_desc *bdesc; + void *retval; + + /* + * First we search the bucket_dir to find the right bucket change + * for this request. + */ + for (bdir = bucket_dir; bdir->size; bdir++) + if (bdir->size >= len) + break; + if (!bdir->size) { + printk("malloc called with impossibly large argument (%d)\n", + len); + panic("malloc: bad arg"); + } + /* + * Now we search for a bucket descriptor which has free space + */ + cli(); /* Avoid race conditions */ + for (bdesc = bdir->chain; bdesc; bdesc = bdesc->next) + if (bdesc->freeptr) + break; + /* + * If we didn't find a bucket with free space, then we'll + * allocate a new one. + */ + if (!bdesc) { + char *cp; + int i; + + if (!free_bucket_desc) + init_bucket_desc(); + bdesc = free_bucket_desc; + free_bucket_desc = bdesc->next; + bdesc->refcnt = 0; + bdesc->bucket_size = bdir->size; + bdesc->page = bdesc->freeptr = (void *) (cp = get_free_page()); + if (!cp) + panic("Out of memory in kernel malloc()"); + /* Set up the chain of free objects */ + for (i=PAGE_SIZE/bdir->size; i > 1; i--) { + *((char **) cp) = cp + bdir->size; + cp += bdir->size; + } + *((char **) cp) = 0; + bdesc->next = bdir->chain; /* OK, link it in! */ + bdir->chain = bdesc; + } + retval = (void *) bdesc->freeptr; + bdesc->freeptr = *((void **) retval); + bdesc->refcnt++; + sti(); /* OK, we're safe again */ + return(retval); +} + +/* + * Here is the free routine. If you know the size of the object that you + * are freeing, then free_s() will use that information to speed up the + * search for the bucket descriptor. + * + * We will #define a macro so that "free(x)" is becomes "free_s(x, 0)" + */ +void free_s(void *obj, int size) +{ + void *page; + struct _bucket_dir *bdir; + struct bucket_desc *bdesc, *prev; + + /* Calculate what page this object lives in */ + page = (void *) ((unsigned long) obj & 0xfffff000); + /* Now search the buckets looking for that page */ + for (bdir = bucket_dir; bdir->size; bdir++) { + prev = 0; + /* If size is zero then this conditional is always false */ + if (bdir->size < size) + continue; + for (bdesc = bdir->chain; bdesc; bdesc = bdesc->next) { + if (bdesc->page == page) + goto found; + prev = bdesc; + } + } + panic("Bad address passed to kernel free_s()"); +found: + cli(); /* To avoid race conditions */ + *((void **)obj) = bdesc->freeptr; + bdesc->freeptr = obj; + bdesc->refcnt--; + if (bdesc->refcnt == 0) { + /* + * We need to make sure that prev is still accurate. It + * may not be, if someone rudely interrupted us.... + */ + if ((prev && (prev->next != bdesc)) || + (!prev && (bdir->chain != bdesc))) + for (prev = bdir->chain; prev; prev = prev->next) + if (prev->next == bdesc) + break; + if (prev) + prev->next = bdesc->next; + else { + if (bdir->chain != bdesc) + panic("malloc bucket chains corrupted"); + bdir->chain = bdesc->next; + } + free_page((unsigned long) bdesc->page); + bdesc->next = free_bucket_desc; + free_bucket_desc = bdesc; + } + sti(); + return; +} + diff --git a/linux-0.11-lab/0/linux/lib/malloc.o b/linux-0.11-lab/0/linux/lib/malloc.o new file mode 100644 index 0000000000000000000000000000000000000000..93877394447c6a3a313be848d7f629d4da685939 GIT binary patch literal 4876 zcma)AZERI%9e>Wfrsi=Fy<;@b11Rgm(%u+`{udl z0G%*QI+E40#JXjP2CZnKM2Fdjg)qA~A|$N7#6(Tl2NRvfNh}|jY))ma{(jF(d&|Cf z!g+rG_y7O-KhJrdTaMqi`!kkh3G-MYES5MS&NM2`fP`*wn`jpk*LtqLx3I7r{qOq=3zB09?ITMj zJ#u-lNlpf}PVEIhxh-azm6XPNlgY^;mfk(3V6qiylB#)QrcCI2rlRLXs}SFO_ut6m z%zs?U#N^L`NlT8C>?tx?kf5Uu0y)<4D>S&wdfC;UsUaKCJt?7wMJbXKM_{>xQw#*T zs%x-mP}kmc6Y^CPmo{T9dO-HC7T4v%w_b*v8RmyTb?98HH8!f%GS1NC74Bm(Z%4iRjUnUu^=X@-T(f4J6K?F>3or(FN2 zqOxl!iv8_CQ|Ir{L72to$MBLVf5~u_>OT50X(#2>7C(T5R>|FT^Xn7%1hD?{aWoEU z{Hn&qk2RzPw#KMN6F{>M2fkAtaf)uS?2SA568`1=;Y^S{==#Gsx0>xY0xekolH7Ml@K4ubI|olZoyHp zkp#~+8s~DJTdg{kbhV0Pe%aB6BcAIHSEZq@M-}O0$I|&y)ybAUFR1u#PIO`FYSy;( zFv4064xI=S;3$R3rH9P`D3_4;( z=oEVkgLUp5NDkw*PR(O%DrX*tP$dv8vLEMEFuPuM{k+m0P-VWntjwR9GB+}y=5npb zBdlKrAwV0;xCw1LhkBN0gNW~-$wRE5POf+ShZO8*JS7lTo3%O?Zw$v)#@ej*NbBur zLEH+*8XGq@ZfdmRSg~dij*;0J-+)WcZV`=uI>JtTbtgj@9}s^JsyGE}Owy z8#LR7X0%z>&NvHd?-D!XeV9&ssj{t|v==MKiH}9Xjo*0%ac{gUc^_lwwMZ~GH)k>(4&I)def`SZH@dn)Hs&=_4oW%EH&!mX zeWf7h_m!)Cg?uSE(%YX}x30I4&h+&w0mh8*+>tCk>I@G}!PBbZd%_%~c~9K`*+-o1 z&OmBIYQX6&roHUgz4=dXSnu?XI=v(1V&3l^@zO=Nw^GL0;Cc||OGxMTjs&HwpD*K# z>m4bTd#iprd$70Sm3=qsmpz%P_P`eMKtvtLSqZxKZSZvEsRh#4_8FyjL|IqU0X&g}8tF z_Ki;WBblJ&2dXW-cLtJM_vE^PRR6#lB^5&cn!tv#p4cO-qfu*RlWjkZ4M(~B%>m>Q zD7MG?LvGCGHXhJ29*d9zE( zm-f>lm8n)m$}1~|%AA`CMu+pIkuppqoz7&~ht!fb?WIejE*%#gxWdK(xkM^kF7h4~ zsS*}Ag-xRtT=}?T!*Y{g0{`bDKUCP7`;UF8{hZkzJ}dFoOG*vD!ZCXRBn}JtlY+hD zPY7Oh^pVFZ@Vg+`PxCmMSPP`RvAYgJUCPS9(EVT;PaQcz(C&B2M2^NzUd1)?i%_gK zPLP{StXTjN_gMN(Nqu^`v{-GUb zFJ#P1xyf4uZG1qAF2wsg3H=yd9(--QYlz3X84u_7V!UzC^kE=zoeEEDEZ|ywZ#yt29avtoD=?j)= zaj$?B?;+lgN$AJqC7PU6UB~@ffskiG3tq-!T;?=;52QE%;o~IqW8xX!V6EI1Z!H)( zars}u`7;cbJ*C$*ZDx1s*KHBVq4@4JP65IpC?bG04w*>j72A9!=NQh(qU{nD-R zfvc$Iu9P>C;du{@;;#`Yly^-fUCL*5BvJ8j867m2*OHOi3n6T*kD>;vPKZwcL)d?x zBag|YHCBk&JZFfoI|~e9L%pQ=m&wELpXA}kpP0lBjq8BS^F{LTKR_P#_1LJ4TOdOI zWgz8iv2Dor1Ih0uen^Ntlp}6NBX +#include + +int open(const char * filename, int flag, ...) +{ + register int res; + va_list arg; + + va_start(arg,flag); + __asm__("int $0x80" + :"=a" (res) + :"0" (__NR_open),"b" (filename),"c" (flag), + "d" (va_arg(arg,int))); + if (res>=0) + return res; + errno = -res; + return -1; +} diff --git a/linux-0.11-lab/0/linux/lib/open.o b/linux-0.11-lab/0/linux/lib/open.o new file mode 100644 index 0000000000000000000000000000000000000000..8884503d8d65bee3d41406d31508807f141e3d14 GIT binary patch literal 2364 zcma)7U1%It6h3!mlHFvJZGNgIB;W|CjXyJ+*hNZzY-*w0d4MHJ)g?(FX1?o6DS zEorGW5(|bXng=OD-|DL`K2;DDVqc^}#RmiWs30h!Pd@lizjJ49clxAj?v)?cjjg@kid%bs?_Fn<8+SmPUk|;!dka>AZ-@oxq6jvD!L*nN z(u~|UP&K3H7YN0YtrR__ZZKC_hOJJ9AW`tU~%np z@Eq4E3an~7l)EV{PSbXbd|&8BBnH_OXZxJ6f%0CEu^6~tLhEPn!hK-+cM@C-ivz{c zf?k{`4vUfAp$C98MTNpsa3LvG^CZ1{SOnP6yQysZ{q`uJ5#61>}aIA5f_owB3^5sl}xrDz!Ynvu@4Uv$Iyqsg!0C2Y7`}t(-IG z&9Z&iE}K@{39HTH-l4-!npVTK>OtF!t$GM_Yc0S9aYHygA8@W!@A%c&3;YN!Kd_?M zslINlg+c6A;~=E-&T0!=z(yjk;kz}n+H^vSnn4(wcYS>4>Mf_y&00NZ=3u`X5 z0>5Fhn@-KoA2FxTRXTp$Nh-FU=tyh!@@(0jDL;~U(aQbYPms8HhQy`3m>4jOchOc8 zK0Y@lc~&Qj`Au!UIEIlwxm%Q+=58y7-Ro!87o|R^U^l@Eka@c#p$i9LDR%PaKaUDKIYTfLb9NWkd{RxRbUK+$;JnlQMnZ;W}^EgM5!c(@AS-(Ml z-BEs)_rA<*XIEfb?K+vI%Ny54&PJoVT1x6H + +_syscall0(pid_t,setsid) diff --git a/linux-0.11-lab/0/linux/lib/setsid.o b/linux-0.11-lab/0/linux/lib/setsid.o new file mode 100644 index 0000000000000000000000000000000000000000..c1561bfe09d2f4b7187220efcd6bc62a4ad0c42f GIT binary patch literal 2240 zcma)7&2QX96rZu3O`4?J%?E9wfG{W(;ltj9u25A!hy2s$H!mzt@9!;7i=E0Xu)o!aAO3uY z&IgYH`#;w1-iF{%BODn5%fmp=PzKZsA}nW|oaKz&1F_#Hf9wpfiXJiAy}URb<5$C>9AzCOPw;Z|u3=U59u zjE}^#i>DWn@@Widpc~Tn>rve94LV^x+s(vC#H=vS zqK@BYgnV~9%=|7JIEbSx?|@es#}u{?$D7Cn>zJAJGxz-xQ`Jh;e_v%1N zYoD$){ME*bg%)SL0D1kYkb4tyY1(mapr+Kbi3HWS_3Hdq6-V38cKdnI0?pHcb`6(? zJwFe3a^ZJ^JP>{>L;I-ggss75Gm1A7m=qthT50%E*&3ulyovplCa@@G0&)nyo%H)5 zI_JlziH|xLH7e$W-KMH*vF87SpM?|ee?>d<-j@$4ZGYNs=!Y1C!km&zkeq4{4!vKu;6&Vf2whFntz6Auo0Ug&jhGEus4!oHIRy@Ms zMKoY+SD`RGZCemrG8&BS3gmL$?~u0!9rJR3Ca-!3Ase`b03RCx)Wi$Gm*ahpAdJI! zlNcu6hu}Gf`zBbp@ec}CVcIzMG&O#|!tW*JQ6S^@h4wS1dD9rJpdaBI4D#xM0i~ab z4Nx3XAAtI zN?;3Ca0E6gU?TAD&Z0xCs{z*KUoU;}PK)PZk_gZHFM*g@qKKSN`jn>pp-D9TIZ`xk vMeCW5e(IirzNO`NG<{Fg4>WCQ+9O50Pqh4{rfMCyuv|0kY96QynP>bT2zmUT literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/lib/string.c b/linux-0.11-lab/0/linux/lib/string.c new file mode 100644 index 0000000..1182e63 --- /dev/null +++ b/linux-0.11-lab/0/linux/lib/string.c @@ -0,0 +1,14 @@ +/* + * linux/lib/string.c + * + * (C) 1991 Linus Torvalds + */ + +#ifndef __GNUC__ +#error I want gcc! +#endif + +#define extern +#define inline +#define __LIBRARY__ +#include diff --git a/linux-0.11-lab/0/linux/lib/string.o b/linux-0.11-lab/0/linux/lib/string.o new file mode 100644 index 0000000000000000000000000000000000000000..15393528871a0be25d32766f8a1a6c71b70ab3d3 GIT binary patch literal 6376 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 +#include + +_syscall3(pid_t,waitpid,pid_t,pid,int *,wait_stat,int,options) + +pid_t wait(int * wait_stat) +{ + return waitpid(-1,wait_stat,0); +} diff --git a/linux-0.11-lab/0/linux/lib/wait.o b/linux-0.11-lab/0/linux/lib/wait.o new file mode 100644 index 0000000000000000000000000000000000000000..f3ccd4f38a29f38cd9f98df051d0d57466959f62 GIT binary patch literal 2580 zcma)8U1%It6u$Gbn@u*^Zra)=wBU+ctlFJTY|v8sYpS(Us#L2&lqK_%m7ttbuZ=z2XD_CEO7_8rS=iclT1U+!icYf|U=iYPg z+}+n7Km3GY7($aFEYa75_}xxDQxdj{^!yLh9#bhx_t@&JrWFIC5uo~u^Ae&gJM z>hR*(>aaMKUxN5+nf%rdml%2ZHfZrmd1iU>#_-hx)dG$1ml0%NwX1YrUy*Z$mw$mT zEo&Qf$i^+OJO=5wAEO6!VNX;W#`Seq|zMEa^I7Wcq}NgIS!+F5+G zcxWAVrtD~5&N23mr=I)953OV5zOf6BjT@Mj&k3uL#+YNM4OOL}T9~>+9bAK2Og{8) z89zuf7W*-K$9Iim)tfO)E?*rKrQ>9ZP5@1D1l%zGDvf~4JBFKOI8NOUTJycOSC3D} zqOS^Z()AOk#T3cu1uu3wyo$ZRkCQfJSuZEKHDo-6Gd1#suK?!kANiTxg-=Wyb-XAF zLQ(I8U9TSW+DSc(>+^olJ5`%-CMRq2ZnHj-8o-<4;E`jM>B^L|!&ZaInWMruTQD{a+x9!? zI1iVD#Ct6EmkNvKbZP8lsjz>!WHWA;^6`#~=~B5-!WZkrr@M*U1SV069W6!PypwpR z65+Jn#1&36#?jN*_L{x9h9As^a7o#1HY4vu*6T)YFo#WM0(b^G05ycu3cFno?QjAd zfrDdBk0g!pIt_V@TN!O6??^KkWK8~{r^}KJ;@CW3Kl<9eIsd?JJY-_=U`n zB|F$RSm*%TLE<~M7L8#qG*RAwp?|CC*AFRQT)xHW&xw4Vh5Rpqk}o30M05FSc`#3Y!@wt%{b_~ID|}gDQ{g-j`OYc*g2Im#exdLR b5%a!N`p*jGdhyY7-}KKYtN=~u`xO2I^<_Hz literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/lib/write.c b/linux-0.11-lab/0/linux/lib/write.c new file mode 100644 index 0000000..df52e74 --- /dev/null +++ b/linux-0.11-lab/0/linux/lib/write.c @@ -0,0 +1,10 @@ +/* + * linux/lib/write.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include + +_syscall3(int,write,int,fd,const char *,buf,off_t,count) diff --git a/linux-0.11-lab/0/linux/lib/write.o b/linux-0.11-lab/0/linux/lib/write.o new file mode 100644 index 0000000000000000000000000000000000000000..3d4ce0a6ec721a740e7519bd51fa8517005c8290 GIT binary patch literal 2372 zcma)7&2QX96n|sySF-6gAADq$N*HMi;ltj9u27V=v?YZSR28XE4$vy{?s~HpyLM`O z+oXyBDIki%fru|5ajD8*fH*`P5K=*a1P2aCNJyNx(F1Vd&_nsX8Bf+d!IR&|@4Yu~ zX5QH2*Pc54v=D+c2{LJjh}t<7X-G9ochLkrzjbqb`*iKVF2}ad*QU2$s98V0{`Se* z*w$ukjMfX=F#i~5`Oh!cdF1YG(AL-EFW>kENY%`V!?4Bg5R+i0qe_vHD}Djf$mM^A zGIM!9NXRgX*Vrja??K5LhV`gSEB+t@g>RwqpF@bzLy$~dQhf3mWTDee{l*Rznu87y z`;DDkvA|iQ&q!1%{U(tty_3*LZWnm;C5ZAEg!z-KEhfal%2e5`%v2`CWMTYXRH{+A z`~+M`O3e~hdJmbE#q#0u@)TC*h+|a+AFM7<@yO%TA3a$Wh!yf=mQ`vJC6T1_+ea~JC@w#{soPL0Ep4}M)t;7$57_K0+6CxySx7m!m zOWCL!xxp&-k{Q6g)B`XFIjykY_poaxKr0;_k7}(N<8@c$aj3QbA9){=uw~+pk%{k| z>vw3K)U9~mBbi*OEK4U7+h8Jl3Hi%RWDUGEWiIRC%$cs+Uy7vXx}vyqaH z%>ifE_dbfh3m@Ndd9YsJaoBncOj-oE#zsmyb{1IM9QqZ&Vk0FTI|H1Zw+1i{AJ5DC z)AM?;^%$6R3*ZtPDe0ICoUPXY;5uAy6s+rUA9xJ!o9QAx|C`E`l4H!9sn&TH(C~+4 zh7vmO%`{Jk-qHt?IyjH%V=&w5k|Vl`yaf)V#Oq`F0G!>&k<32!Bc}H;0XsX@R{+=H z)1>Fk&dISiibQ`x;})iUV6Mk~=Q*?W5;X5__%!Ky8f%^P=jgB7+RysVzcb_P42<=z z)hJWGal;BGVX+x9<%td*raaj!=3m~BOv2ACLnd(thh(Ayy4U>ePU3{J8Qhn>`%&Gi z>MsCy9V}2@{){1bW`SaSF08qCtoi3AaOn55Mo(u`zZ{P^&&zoyQ@xz(7gK#9)y-7* dSfk#DDgHFoU#42F2Olo4o%7D8+JZKK{{?;~5k~+3 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/mm/Makefile b/linux-0.11-lab/0/linux/mm/Makefile new file mode 100644 index 0000000..e0bcd73 --- /dev/null +++ b/linux-0.11-lab/0/linux/mm/Makefile @@ -0,0 +1,38 @@ +AR =ar +AS =as +LD =ld +LDFLAGS =-m elf_i386 -Ttext 0 -e startup_32 +CC =gcc -march=i386 +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -mcld \ + -finline-functions -nostdinc -fno-stack-protector -I../include +CPP =gcc -E -nostdinc -I../include + +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< +.s.o: + $(AS) -o $*.o $< +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< + +OBJS = memory.o page.o + +all: mm.o + +mm.o: $(OBJS) + $(LD) -r -o mm.o $(OBJS) + +clean: + rm -f core *.o *.a tmp_make + for i in *.c;do rm -f `basename $$i .c`.s;done + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +memory.o : memory.c ../include/signal.h ../include/sys/types.h \ + ../include/asm/system.h ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/linux/mm.h ../include/linux/kernel.h diff --git a/linux-0.11-lab/0/linux/mm/memory.c b/linux-0.11-lab/0/linux/mm/memory.c new file mode 100644 index 0000000..adc33ec --- /dev/null +++ b/linux-0.11-lab/0/linux/mm/memory.c @@ -0,0 +1,468 @@ +/* + * linux/mm/memory.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * demand-loading started 01.12.91 - seems it is high on the list of + * things wanted, and it should be easy to implement. - Linus + */ + +/* + * Ok, demand-loading was easy, shared pages a little bit tricker. Shared + * pages started 02.12.91, seems to work. - Linus. + * + * Tested sharing by executing about 30 /bin/sh: under the old kernel it + * would have taken more than the 6M I have free, but it worked well as + * far as I could see. + * + * Also corrected some "invalidate()"s - I wasn't doing enough of them. + */ + +#include + +#include + +#include +#include +#include + +volatile void do_exit(long code); + +static inline volatile void oom(void) +{ + printk("out of memory\n\r"); + do_exit(SIGSEGV); +} + +#define invalidate() \ +__asm__("movl %%eax,%%cr3"::"a" (0)) + +/* these are not to be changed without changing head.s etc */ +#define LOW_MEM 0x100000 +#define PAGING_MEMORY (15*1024*1024) +#define PAGING_PAGES (PAGING_MEMORY>>12) +#define MAP_NR(addr) (((addr)-LOW_MEM)>>12) +#define USED 100 + +#define CODE_SPACE(addr) ((((addr)+4095)&~4095) < \ +current->start_code + current->end_code) + +static long HIGH_MEMORY = 0; + +#define copy_page(from,to) \ +__asm__("cld ; rep ; movsl"::"S" (from),"D" (to),"c" (1024)) + +static unsigned char mem_map [ PAGING_PAGES ] = {0,}; + +/* + * Get physical address of first (actually last :-) free page, and mark it + * used. If no free pages left, return 0. + */ +unsigned long get_free_page(void) +{ +register unsigned long __res asm("ax"); + +__asm__("std ; repne ; scasb\n\t" + "jne 1f\n\t" + "movb $1,1(%%edi)\n\t" + "sall $12,%%ecx\n\t" + "addl %2,%%ecx\n\t" + "movl %%ecx,%%edx\n\t" + "movl $1024,%%ecx\n\t" + "leal 4092(%%edx),%%edi\n\t" + "rep ; stosl\n\t" + "movl %%edx,%%eax\n\t" + "1:" + "cld\n\t" /* by wyj */ + :"=a" (__res) + :"0" (0),"i" (LOW_MEM),"c" (PAGING_PAGES), + "D" (mem_map+PAGING_PAGES-1) + ); +return __res; +} + +/* + * Free a page of memory at physical address 'addr'. Used by + * 'free_page_tables()' + */ +void free_page(unsigned long addr) +{ + if (addr < LOW_MEM) return; + if (addr >= HIGH_MEMORY) + panic("trying to free nonexistent page"); + addr -= LOW_MEM; + addr >>= 12; + if (mem_map[addr]--) return; + mem_map[addr]=0; + panic("trying to free free page"); +} + +/* + * This function frees a continuos block of page tables, as needed + * by 'exit()'. As does copy_page_tables(), this handles only 4Mb blocks. + */ +int free_page_tables(unsigned long from,unsigned long size) +{ + unsigned long *pg_table; + unsigned long * dir, nr; + + if (from & 0x3fffff) + panic("free_page_tables called with wrong alignment"); + if (!from) + panic("Trying to free up swapper memory space"); + size = (size + 0x3fffff) >> 22; + dir = (unsigned long *) ((from>>20) & 0xffc); /* _pg_dir = 0 */ + for ( ; size-->0 ; dir++) { + if (!(1 & *dir)) + continue; + pg_table = (unsigned long *) (0xfffff000 & *dir); + for (nr=0 ; nr<1024 ; nr++) { + if (1 & *pg_table) + free_page(0xfffff000 & *pg_table); + *pg_table = 0; + pg_table++; + } + free_page(0xfffff000 & *dir); + *dir = 0; + } + invalidate(); + return 0; +} + +/* + * Well, here is one of the most complicated functions in mm. It + * copies a range of linerar addresses by copying only the pages. + * Let's hope this is bug-free, 'cause this one I don't want to debug :-) + * + * Note! We don't copy just any chunks of memory - addresses have to + * be divisible by 4Mb (one page-directory entry), as this makes the + * function easier. It's used only by fork anyway. + * + * NOTE 2!! When from==0 we are copying kernel space for the first + * fork(). Then we DONT want to copy a full page-directory entry, as + * that would lead to some serious memory waste - we just copy the + * first 160 pages - 640kB. Even that is more than we need, but it + * doesn't take any more memory - we don't copy-on-write in the low + * 1 Mb-range, so the pages can be shared with the kernel. Thus the + * special case for nr=xxxx. + */ +int copy_page_tables(unsigned long from,unsigned long to,long size) +{ + unsigned long * from_page_table; + unsigned long * to_page_table; + unsigned long this_page; + unsigned long * from_dir, * to_dir; + unsigned long nr; + + if ((from&0x3fffff) || (to&0x3fffff)) + panic("copy_page_tables called with wrong alignment"); + from_dir = (unsigned long *) ((from>>20) & 0xffc); /* _pg_dir = 0 */ + to_dir = (unsigned long *) ((to>>20) & 0xffc); + size = ((unsigned) (size+0x3fffff)) >> 22; + for( ; size-->0 ; from_dir++,to_dir++) { + if (1 & *to_dir) + panic("copy_page_tables: already exist"); + if (!(1 & *from_dir)) + continue; + from_page_table = (unsigned long *) (0xfffff000 & *from_dir); + if (!(to_page_table = (unsigned long *) get_free_page())) + return -1; /* Out of memory, see freeing */ + *to_dir = ((unsigned long) to_page_table) | 7; + nr = (from==0)?0xA0:1024; + for ( ; nr-- > 0 ; from_page_table++,to_page_table++) { + this_page = *from_page_table; + if (!(1 & this_page)) + continue; + this_page &= ~2; + *to_page_table = this_page; + if (this_page > LOW_MEM) { + *from_page_table = this_page; + this_page -= LOW_MEM; + this_page >>= 12; + mem_map[this_page]++; + } + } + } + invalidate(); + return 0; +} + +/* + * This function puts a page in memory at the wanted address. + * It returns the physical address of the page gotten, 0 if + * out of memory (either when trying to access page-table or + * page.) + */ +unsigned long put_page(unsigned long page,unsigned long address) +{ + unsigned long tmp, *page_table; + +/* NOTE !!! This uses the fact that _pg_dir=0 */ + + if (page < LOW_MEM || page >= HIGH_MEMORY) + printk("Trying to put page %p at %p\n",page,address); + if (mem_map[(page-LOW_MEM)>>12] != 1) + printk("mem_map disagrees with %p at %p\n",page,address); + page_table = (unsigned long *) ((address>>20) & 0xffc); + if ((*page_table)&1) + page_table = (unsigned long *) (0xfffff000 & *page_table); + else { + if (!(tmp=get_free_page())) + return 0; + *page_table = tmp|7; + page_table = (unsigned long *) tmp; + } + page_table[(address>>12) & 0x3ff] = page | 7; +/* no need for invalidate */ + return page; +} + +void un_wp_page(unsigned long * table_entry) +{ + unsigned long old_page,new_page; + + old_page = 0xfffff000 & *table_entry; + if (old_page >= LOW_MEM && mem_map[MAP_NR(old_page)]==1) { + *table_entry |= 2; + invalidate(); + return; + } + if (!(new_page=get_free_page())) + oom(); + if (old_page >= LOW_MEM) + mem_map[MAP_NR(old_page)]--; + *table_entry = new_page | 7; + invalidate(); + copy_page(old_page,new_page); +} + +/* + * This routine handles present pages, when users try to write + * to a shared page. It is done by copying the page to a new address + * and decrementing the shared-page counter for the old page. + * + * If it's in code space we exit with a segment error. + */ +void do_wp_page(unsigned long error_code,unsigned long address) +{ +#if 0 +/* we cannot do this yet: the estdio library writes to code space */ +/* stupid, stupid. I really want the libc.a from GNU */ + if (CODE_SPACE(address)) + do_exit(SIGSEGV); +#endif + un_wp_page((unsigned long *) + (((address>>10) & 0xffc) + (0xfffff000 & + *((unsigned long *) ((address>>20) &0xffc))))); + +} + +void write_verify(unsigned long address) +{ + unsigned long page; + + if (!( (page = *((unsigned long *) ((address>>20) & 0xffc)) )&1)) + return; + page &= 0xfffff000; + page += ((address>>10) & 0xffc); + if ((3 & *(unsigned long *) page) == 1) /* non-writeable, present */ + un_wp_page((unsigned long *) page); + return; +} + +void get_empty_page(unsigned long address) +{ + unsigned long tmp; + + if (!(tmp=get_free_page()) || !put_page(tmp,address)) { + free_page(tmp); /* 0 is ok - ignored */ + oom(); + } +} + +/* + * try_to_share() checks the page at address "address" in the task "p", + * to see if it exists, and if it is clean. If so, share it with the current + * task. + * + * NOTE! This assumes we have checked that p != current, and that they + * share the same executable. + */ +static int try_to_share(unsigned long address, struct task_struct * p) +{ + unsigned long from; + unsigned long to; + unsigned long from_page; + unsigned long to_page; + unsigned long phys_addr; + + from_page = to_page = ((address>>20) & 0xffc); + from_page += ((p->start_code>>20) & 0xffc); + to_page += ((current->start_code>>20) & 0xffc); +/* is there a page-directory at from? */ + from = *(unsigned long *) from_page; + if (!(from & 1)) + return 0; + from &= 0xfffff000; + from_page = from + ((address>>10) & 0xffc); + phys_addr = *(unsigned long *) from_page; +/* is the page clean and present? */ + if ((phys_addr & 0x41) != 0x01) + return 0; + phys_addr &= 0xfffff000; + if (phys_addr >= HIGH_MEMORY || phys_addr < LOW_MEM) + return 0; + to = *(unsigned long *) to_page; + if (!(to & 1)) + if (to = get_free_page()) + *(unsigned long *) to_page = to | 7; + else + oom(); + to &= 0xfffff000; + to_page = to + ((address>>10) & 0xffc); + if (1 & *(unsigned long *) to_page) + panic("try_to_share: to_page already exists"); +/* share them: write-protect */ + *(unsigned long *) from_page &= ~2; + *(unsigned long *) to_page = *(unsigned long *) from_page; + invalidate(); + phys_addr -= LOW_MEM; + phys_addr >>= 12; + mem_map[phys_addr]++; + return 1; +} + +/* + * share_page() tries to find a process that could share a page with + * the current one. Address is the address of the wanted page relative + * to the current data space. + * + * We first check if it is at all feasible by checking executable->i_count. + * It should be >1 if there are other tasks sharing this inode. + */ +static int share_page(unsigned long address) +{ + struct task_struct ** p; + + if (!current->executable) + return 0; + if (current->executable->i_count < 2) + return 0; + for (p = &LAST_TASK ; p > &FIRST_TASK ; --p) { + if (!*p) + continue; + if (current == *p) + continue; + if ((*p)->executable != current->executable) + continue; + if (try_to_share(address,*p)) + return 1; + } + return 0; +} + +void do_no_page(unsigned long error_code,unsigned long address) +{ + int nr[4]; + unsigned long tmp; + unsigned long page; + int block,i; + + if (current->pid > 5) + printk(" --do_no_page: address=%x, pid=%d\n", address, current->pid); + + address &= 0xfffff000; + tmp = address - current->start_code; + if (!current->executable || tmp >= current->end_data) { + get_empty_page(address); + return; + } + if (share_page(tmp)) + return; + if (!(page = get_free_page())) + oom(); +/* remember that 1 block is used for header */ + block = 1 + tmp/BLOCK_SIZE; + for (i=0 ; i<4 ; block++,i++) + nr[i] = bmap(current->executable,block); + bread_page(page,current->executable->i_dev,nr); + i = tmp + 4096 - current->end_data; + tmp = page + 4096; + while (i-- > 0) { + tmp--; + *(char *)tmp = 0; + } + if (put_page(page,address)) + return; + free_page(page); + oom(); +} + +void do_no_page_myself(unsigned long error_code,unsigned long address) +{ + int nr[4]; + unsigned long tmp; + unsigned long page; + int block,i; + + + address &= 0xfffff000; + tmp = address - current->start_code; + if (!current->executable || tmp >= current->end_data) { + get_empty_page(address); + return; + } + if (share_page(tmp)) + return; + if (!(page = get_free_page())) + oom(); +/* remember that 1 block is used for header */ + block = 1 + tmp/BLOCK_SIZE; + for (i=0 ; i<4 ; block++,i++) + nr[i] = bmap(current->executable,block); + bread_page(page,current->executable->i_dev,nr); + i = tmp + 4096 - current->end_data; + tmp = page + 4096; + while (i-- > 0) { + tmp--; + *(char *)tmp = 0; + } + if (put_page(page,address)) + return; + free_page(page); + oom(); +} +void mem_init(long start_mem, long end_mem) +{ + int i; + + HIGH_MEMORY = end_mem; + for (i=0 ; i>= 12; + while (end_mem-->0) + mem_map[i++]=0; +} + +void calc_mem(void) +{ + int i,j,k,free=0; + long * pg_tbl; + + for(i=0 ; ipid > 5) ++ printk(" --do_no_page: address=%x, pid=%d\n", address, current->pid); ++ + address &= 0xfffff000; + tmp = address - current->start_code; + if (!current->executable || tmp >= current->end_data) { diff --git a/linux-0.11-lab/0/linux/mm/memory.o b/linux-0.11-lab/0/linux/mm/memory.o new file mode 100644 index 0000000000000000000000000000000000000000..47f156d50a75d61325408a8a1c3ed8f0c2adff20 GIT binary patch literal 13824 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 L+T;g=UUU8j%7>uH literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/tools/build.c b/linux-0.11-lab/0/linux/tools/build.c new file mode 100644 index 0000000..8b8c7ab --- /dev/null +++ b/linux-0.11-lab/0/linux/tools/build.c @@ -0,0 +1,171 @@ +/* + * linux/tools/build.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * This file builds a disk-image from three different files: + * + * - bootsect: max 510 bytes of 8086 machine code, loads the rest + * - setup: max 4 sectors of 8086 machine code, sets up system parm + * - system: 80386 code for actual system + * + * It does some checking that all files are of the correct type, and + * just writes the result to stdout, removing headers and padding to + * the right amount. It also writes some system data to stderr. + */ + +/* + * Changes by tytso to allow root device specification + */ + +#include /* fprintf */ +#include +#include /* contains exit */ +#include /* unistd.h needs this */ +#include +#include +#include /* contains read/write */ +#include + +#define MAJOR(a) (((unsigned)(a))>>8) +#define MINOR(a) ((a)&0xff) + +#define MINIX_HEADER 32 +#define GCC_HEADER 0x80 /* 0x1000 */ /* by wyj */ + +#define SYS_SIZE 0x3000 + +#define DEFAULT_MAJOR_ROOT 0x03 //0x02 /* by wyj */ +#define DEFAULT_MINOR_ROOT 0x00 //0x1d + +/* max nr of sectors of setup: don't change unless you also change + * bootsect etc */ +#define SETUP_SECTS 4 + +#define STRINGIFY(x) #x + +void die(char * str) +{ + fprintf(stderr,"%s\n",str); + exit(1); +} + +void usage(void) +{ + die("Usage: build bootsect setup system [rootdev] [> image]"); +} + +int main(int argc, char ** argv) +{ + int i,c,id; + char buf[1024*4]; /* by wyj */ + char major_root, minor_root; + struct stat sb; + + if ((argc != 4) && (argc != 5)) + usage(); + if (argc == 5) { + if (strcmp(argv[4], "FLOPPY")) { + if (stat(argv[4], &sb)) { + perror(argv[4]); + die("Couldn't stat root device."); + } + major_root = MAJOR(sb.st_rdev); + minor_root = MINOR(sb.st_rdev); + } else { + major_root = 0; + minor_root = 0; + } + } else { + major_root = DEFAULT_MAJOR_ROOT; + minor_root = DEFAULT_MINOR_ROOT; + } + fprintf(stderr, "Root device is (%d, %d)\n", major_root, minor_root); + if ((major_root != 2) && (major_root != 3) && + (major_root != 0)) { + fprintf(stderr, "Illegal root device (major = %d)\n", + major_root); + die("Bad root device --- major #"); + } + for (i=0;i0 ; i+=c ) + if (write(1,buf,c)!=c) + die("Write call failed"); + close (id); + if (i > SETUP_SECTS*512) + die("Setup exceeds " STRINGIFY(SETUP_SECTS) + " sectors - rewrite build/boot/setup"); + fprintf(stderr,"Setup is %d bytes.\n",i); + for (c=0 ; c sizeof(buf)) + c = sizeof(buf); + if (write(1,buf,c) != c) + die("Write call failed"); + i += c; + } + + if ((id=open(argv[3],O_RDONLY,0))<0) + die("Unable to open 'system'"); + if (read(id,buf,GCC_HEADER) != GCC_HEADER) + die("Unable to read header of 'system'"); +// if (((long *) buf)[5] != 0) +// die("Non-GCC header of 'system'"); + for (i=0 ; (c=read(id,buf,sizeof buf))>0 ; i+=c ) + if (write(1,buf,c)!=c) + die("Write call failed"); + close(id); + fprintf(stderr,"System is %d bytes.\n",i); + if (i > SYS_SIZE*16) + die("System is too big"); + return(0); +} diff --git a/linux-0.11-lab/0/linux/tools/system b/linux-0.11-lab/0/linux/tools/system new file mode 100644 index 0000000000000000000000000000000000000000..5af168eb5ffb272ba04a9547eeabc83ab8bad33b GIT binary patch literal 296749 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 HMsWWNc?w(U literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/b/clone.c b/linux-0.11-lab/b/clone.c new file mode 100644 index 0000000..a2cd72c --- /dev/null +++ b/linux-0.11-lab/b/clone.c @@ -0,0 +1,66 @@ +/* + * 测试成功时输出: + * "clone success." + * 测试失败时输出: + * "clone error." + */ +#define __LIBRARY__ +#include +#include +#include +#include +#include +#include +#include "new.h" + +int clone(int (*fn)(void *), void *child_stack, ...) +{ + register int res; + va_list arg; + + va_start(arg,child_stack); + __asm__("int $0x80" + :"=a" (res) + :"0" (__NR_open),"b" (fn),"c" (child_stack), + "d" (va_arg(arg,int))); + if (res>=0) + return res; + errno = -res; + return -1; +} + +size_t stack[1024] = {0}; +static int child_pid; +int g_shared = 0; + +static int child_func(void * arg){ + g_shared = 1; + printf(" Child says hello.\n"); + return 0; +} + +void test_clone(void){ + int wstatus, ret; + child_pid = clone(child_func, stack+1024, SIGCHLD|CLONE_VM); + assert(child_pid != -1); + + if (child_pid == 0){ + exit(0); + } + printf("child pid: %d\n", child_pid); + + ret = wait(&wstatus); + if(ret == child_pid) { + if (g_shared == 1) { + printf("clone success.\n"); + } + } + else { + printf("clone error.\n"); + } +} + +int main(void){ + test_clone(); + return 0; +} diff --git a/linux-0.11-lab/b/echo.c b/linux-0.11-lab/b/echo.c new file mode 100644 index 0000000..23670e5 --- /dev/null +++ b/linux-0.11-lab/b/echo.c @@ -0,0 +1,12 @@ +#include +#include +#include + +int main(int argc, char **argv) +{ + if (argc == 1) + return EXIT_FAILURE; + + write(1, argv[1], strlen(argv[1])); + return EXIT_SUCCESS; +} diff --git a/linux-0.11-lab/b/execve.c b/linux-0.11-lab/b/execve.c new file mode 100644 index 0000000..ee04556 --- /dev/null +++ b/linux-0.11-lab/b/execve.c @@ -0,0 +1,21 @@ +/* + * 测试成功则输出: + * "I am test_echo." + * 测试失败则输出: + * "execve error." + */ +#include +#include +#include + +void test_execve(void){ + char *argv[] = {"./echo", "I am test_echo.\n", NULL}; + char *env[] = {NULL}; + execve("./echo", argv, env); + printf("execve error.\n"); +} + +int main(void){ + test_execve(); + return 0; +} diff --git a/linux-0.11-lab/b/execve2.c b/linux-0.11-lab/b/execve2.c new file mode 100644 index 0000000..58b0026 --- /dev/null +++ b/linux-0.11-lab/b/execve2.c @@ -0,0 +1,24 @@ +/* + * 测试成功则输出: + * "I am test_echo." + * 测试失败则输出: + * "execve2 error." + */ +#define __LIBRARY__ +#include +#include +#include + +_syscall3(int,execve2,const char *,file,char **,argv,char **,envp) + +void test_execve2(void){ + char *argv[] = {"./echo", "I am test_echo.\n", NULL}; + char *env[] = {NULL}; + execve2("./echo", argv, env); + printf("execve2 error.\n"); +} + +int main(void){ + test_execve2(); + return 0; +} diff --git a/linux-0.11-lab/b/getcwd.c b/linux-0.11-lab/b/getcwd.c new file mode 100644 index 0000000..4d01263 --- /dev/null +++ b/linux-0.11-lab/b/getcwd.c @@ -0,0 +1,39 @@ +/* + * 测试通过时输出: + * "getcwd OK." + * 测试失败时输出: + * "getcwd ERROR." + */ +#define __LIBRARY__ +#include +#include +#include +#include + +char * getcwd(char * buf, size_t size) +{ + long __res; + __asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_getcwd),"b" ((long)(buf)),"c" ((long)(size))); \ + if (__res > 0) + return (char *) __res; + errno = -__res; + return NULL; +} + +void test_getcwd(void){ + char *cwd = NULL; + char buf[128] = {0}; + cwd = getcwd(buf, 128); + if(cwd != NULL) { + printf("current dir: %s\n", buf); + printf("getcwd OK.\n"); + } + else printf("getcwd ERROR.\n"); +} + +int main(void){ + test_getcwd(); + return 0; +} diff --git a/linux-0.11-lab/b/getdents.c b/linux-0.11-lab/b/getdents.c new file mode 100644 index 0000000..7c8c818 --- /dev/null +++ b/linux-0.11-lab/b/getdents.c @@ -0,0 +1,42 @@ +/* + * 成功测试时的输出: + * "getdents success." + */ +#define __LIBRARY__ +#include +#include +#include +#include +#include +#include +#include "new.h" + +_syscall3(int,getdents,int,fd,struct linux_dirent *,dirp,unsigned long,len) + +char buf[512]; +void test_getdents(void){ + int fd, nread, bpos; + struct linux_dirent *dirp, *tmp; + dirp = (struct linux_dirent *)buf; + fd = open(".", O_RDONLY); + printf("open fd: %d\n", fd); + + nread = getdents(fd, dirp, 512); + printf("getdents fd: %d\n", nread); + assert(nread != -1); + + for(bpos = 0; bpos < nread;){ + tmp = (struct linux_dirent *)(buf + bpos); + printf( "%s\t", tmp->d_name); + bpos += tmp->d_reclen; + } + printf("\n"); + + printf("getdents success.\n"); + close(fd); +} + +int main(void){ + test_getdents(); + return 0; +} diff --git a/linux-0.11-lab/b/mmap.c b/linux-0.11-lab/b/mmap.c new file mode 100644 index 0000000..5ac36eb --- /dev/null +++ b/linux-0.11-lab/b/mmap.c @@ -0,0 +1,62 @@ +/* + * 测试成功时输出: + * " Hello, mmap success." + * 测试失败时输出: + * "mmap error." + */ +#define __LIBRARY__ +#include +#include +#include +#include +#include +#include +#include +#include +#include "new.h" + +_syscall2(int,munmap,void *,addr,size_t,length) + +void *mmap(void *addr, size_t length, ...) +{ + register int res; + va_list arg; + + va_start(arg,length); + __asm__("int $0x80" + :"=a" (res) + :"0" (__NR_open),"b" (addr),"c" (length), + "d" (va_arg(arg,int))); + if (res>=0) + return (void *)res; + errno = -res; + return (void *)-1; +} + +static struct stat kst; +void test_mmap(void){ + char *array; + const char *str = " Hello, mmap success."; + int fd; + + fd = open("test_mmap.txt", O_RDWR | O_CREAT, S_IRUSR|S_IWUSR); + write(fd, str, strlen(str)); + fstat(fd, &kst); + printf("file len: %d\n", (int)kst.st_size); + array = mmap(NULL, kst.st_size, PROT_WRITE | PROT_READ, MAP_FILE | MAP_SHARED, fd, 0); + printf("mmap addr: %x\n", (unsigned int)array); + + if (array == MAP_FAILED) { + printf("mmap error.\n"); + }else{ + printf("mmap content: %s\n", array); + munmap(array, kst.st_size); + } + + close(fd); +} + +int main(void){ + test_mmap(); + return 0; +} diff --git a/linux-0.11-lab/b/munmap.c b/linux-0.11-lab/b/munmap.c new file mode 100644 index 0000000..ddda571 --- /dev/null +++ b/linux-0.11-lab/b/munmap.c @@ -0,0 +1,70 @@ +/* + * 测试成功时输出: + * "munmap success." + * 测试失败时输出: + * "munmap error." + */ +#define __LIBRARY__ +#include +#include +#include +#include +#include +#include +#include +#include +#include "new.h" + +_syscall2(int,munmap,void *,addr,size_t,length) + +void *mmap(void *addr, size_t length, ...) +{ + register int res; + va_list arg; + + va_start(arg,length); + __asm__("int $0x80" + :"=a" (res) + :"0" (__NR_open),"b" (addr),"c" (length), + "d" (va_arg(arg,int))); + if (res>=0) + return (void *)res; + errno = -res; + return (void *)-1; +} + +static struct stat kst; +void test_unmmap(void){ + char *array; + const char *str = " Hello, mmap success."; + int fd, ret; + + fd = open("test_mmap.txt", O_RDWR | O_CREAT, S_IRUSR|S_IWUSR); + write(fd, str, strlen(str)); + fstat(fd, &kst); + printf("file len: %d\n", (int)kst.st_size); + array = mmap(NULL, kst.st_size, PROT_WRITE | PROT_READ, MAP_FILE | MAP_SHARED, fd, 0); + printf("mmap addr: %x\n", (unsigned int)array); + + if (array == MAP_FAILED) { + printf("mmap error.\n"); + }else{ + printf("mmap content: %s\n", array); + + ret = munmap(array, kst.st_size); + printf("munmap return: %d\n", ret); + + if (ret == 0) { + printf("munmap success.\n"); + } else { + printf("munmap error.\n"); + } + } + + close(fd); +} + +int main(void){ + test_unmmap(); + return 0; +} diff --git a/linux-0.11-lab/b/pipe.c b/linux-0.11-lab/b/pipe.c new file mode 100644 index 0000000..67ba669 --- /dev/null +++ b/linux-0.11-lab/b/pipe.c @@ -0,0 +1,44 @@ +/* + * 成功测试时的输出: + * " Write to pipe successfully." + */ +#define __LIBRARY__ +#include +#include +#include +#include +#include + +_syscall2(int,pipe2,int *,pipefd,int,flags) + +static int fd[2]; + +void test_pipe(void){ + int cpid; + char buf[128] = {0}; + const char *data = " Write to pipe successfully.\n"; + + int ret = pipe2(fd, 0); + assert(ret != -1); + + cpid = fork(); + printf("cpid: %d\n", cpid); + if(cpid > 0){ + close(fd[1]); + while(read(fd[0], buf, 1) > 0) + write(STDOUT_FILENO, buf, 1); + write(STDOUT_FILENO, "\n", 1); + close(fd[0]); + wait(NULL); + }else{ + close(fd[0]); + write(fd[1], data, strlen(data)); + close(fd[1]); + exit(0); + } +} + +int main(void){ + test_pipe(); + return 0; +} diff --git a/linux-0.11-lab/b/sleep.c b/linux-0.11-lab/b/sleep.c new file mode 100644 index 0000000..84d84b1 --- /dev/null +++ b/linux-0.11-lab/b/sleep.c @@ -0,0 +1,36 @@ +/* + * 测试通过时的输出: + * "sleep success." + * 测试失败时的输出: + * "sleep error." + */ +#define __LIBRARY__ +#include +#include +#include +#include + +_syscall1(unsigned int,sleep,unsigned int,seconds) + +void test_sleep() { + time_t time1, time2; + int ret; + time(&time1); + assert(time1 >= 0); + ret = sleep(1); + assert(ret == 0); + time(&time2); + assert(time2 >= 0); + + if(time2 - time1 >= 1){ + printf("time passwd: %d\n", time2-time1); + printf("sleep success.\n"); + }else{ + printf("sleep error.\n"); + } +} + +int main(void) { + test_sleep(); + return 0; +} diff --git a/linux-0.11-lab/bochsout.txt b/linux-0.11-lab/bochsout.txt new file mode 100644 index 0000000..a08d411 --- /dev/null +++ b/linux-0.11-lab/bochsout.txt @@ -0,0 +1,337 @@ +00000000000i[ ] Bochs x86 Emulator 2.6.9 +00000000000i[ ] Built from SVN snapshot on April 9, 2017 +00000000000i[ ] Compiled on Apr 24 2020 at 16:28:27 +00000000000i[ ] System configuration +00000000000i[ ] processors: 1 (cores=1, HT threads=1) +00000000000i[ ] A20 line support: yes +00000000000i[ ] IPS is set to 15000000 +00000000000i[ ] CPU configuration +00000000000i[ ] SMP support: no +00000000000i[ ] level: 6 +00000000000i[ ] APIC support: xapic +00000000000i[ ] FPU support: yes +00000000000i[ ] MMX support: yes +00000000000i[ ] 3dnow! support: no +00000000000i[ ] SEP support: yes +00000000000i[ ] SIMD support: sse2 +00000000000i[ ] XSAVE support: no +00000000000i[ ] AES support: no +00000000000i[ ] SHA support: no +00000000000i[ ] MOVBE support: no +00000000000i[ ] ADX support: no +00000000000i[ ] x86-64 support: no +00000000000i[ ] MWAIT support: yes +00000000000i[ ] Optimization configuration +00000000000i[ ] RepeatSpeedups support: no +00000000000i[ ] Fast function calls: no +00000000000i[ ] Handlers Chaining speedups: no +00000000000i[ ] Devices configuration +00000000000i[ ] PCI support: i440FX i430FX +00000000000i[ ] Networking: no +00000000000i[ ] Sound support: no +00000000000i[ ] USB support: no +00000000000i[ ] VGA extension support: vbe +00000000000i[MEM0 ] allocated memory at 0xb589a008. after alignment, vector=0xb589b000 +00000000000i[MEM0 ] 16.00MB +00000000000i[MEM0 ] mem block size = 0x00020000, blocks=128 +00000000000i[MEM0 ] rom at 0xfffe0000/131072 ('/usr/local/share/bochs/BIOS-bochs-latest') +00000000000i[STIMER] using 'slowdown' timer synchronization method +00000000000i[PLUGIN] init_dev of 'pci' plugin device by virtual method +00000000000i[DEV ] i440FX PMC present at device 0, function 0 +00000000000i[PLUGIN] init_dev of 'pci2isa' plugin device by virtual method +00000000000i[DEV ] PIIX3 PCI-to-ISA bridge present at device 1, function 0 +00000000000i[PLUGIN] init_dev of 'cmos' plugin device by virtual method +00000000000i[CMOS ] Using local time for initial clock +00000000000i[CMOS ] Setting initial clock to: Thu Jul 8 15:21:54 2021 (time0=1625754114) +00000000000i[PLUGIN] init_dev of 'dma' plugin device by virtual method +00000000000i[DMA ] channel 4 used by cascade +00000000000i[PLUGIN] init_dev of 'pic' plugin device by virtual method +00000000000i[PLUGIN] init_dev of 'pit' plugin device by virtual method +00000000000i[PLUGIN] init_dev of 'vga' plugin device by virtual method +00000000000i[MEM0 ] Register memory access handlers: 0x0000000a0000 - 0x0000000bffff +00000000000i[VGA ] interval=66666, mode=realtime +00000000000i[MEM0 ] Register memory access handlers: 0x0000e0000000 - 0x0000e0ffffff +00000000000i[BXVGA ] VBE Bochs Display Extension Enabled +00000000000i[XGUI ] test_alloc_colors: 16 colors available out of 16 colors tried +00000000000i[XGUI ] font 8 wide x 16 high, display depth = 24 +00000000000i[MEM0 ] rom at 0xc0000/41472 ('/usr/local/share/bochs/VGABIOS-lgpl-latest') +00000000000i[PLUGIN] init_dev of 'floppy' plugin device by virtual method +00000000000i[DMA ] channel 2 used by Floppy Drive +00000000000i[FLOPPY] fd0: 'cur/linux/Image' ro=0, h=2,t=80,spt=18 +00000000000i[IMG ] redolog : Standard Header : magic='Bochs Virtual HD Image', type='Redolog', subtype='Volatile', version = 2.0 +00000000000i[IMG ] redolog : Specific Header : #entries=512, bitmap size=1, exent size = 4096 disk size = 1474560 +00000000000i[IMG ] 'vvfat' disk opened: directory is 'b/', redolog is 'b//vvfat.dir.hqCtLg' +00000000000i[FLOPPY] fd1: 'vvfat:b/' ro=0, h=2,t=80,spt=18 +00000000000i[FLOPPY] Using boot sequence floppy, none, none +00000000000i[FLOPPY] Floppy boot signature check is enabled +00000000000i[PLUGIN] init_dev of 'acpi' plugin device by virtual method +00000000000i[DEV ] ACPI Controller present at device 1, function 3 +00000000000i[PLUGIN] init_dev of 'ioapic' plugin device by virtual method +00000000000i[IOAPIC] initializing I/O APIC +00000000000i[MEM0 ] Register memory access handlers: 0x0000fec00000 - 0x0000fec00fff +00000000000i[IOAPIC] IOAPIC enabled (base address = 0xfec00000) +00000000000i[PLUGIN] init_dev of 'keyboard' plugin device by virtual method +00000000000i[KBD ] will paste characters every 400 keyboard ticks +00000000000i[PLUGIN] init_dev of 'harddrv' plugin device by virtual method +00000000000i[HD ] HD on ata0-0: 'images/rootimage-0.11', 'flat' mode +00000000000i[IMG ] hd_size: 10485760 +00000000000i[HD ] ata0-0: using specified geometry: CHS=512/2/20 +00000000000i[HD ] translation on ata0-0 set to 'none' +00000000000i[PLUGIN] init_dev of 'pci_ide' plugin device by virtual method +00000000000i[DEV ] PIIX3 PCI IDE controller present at device 1, function 1 +00000000000i[PLUGIN] init_dev of 'unmapped' plugin device by virtual method +00000000000i[PLUGIN] init_dev of 'biosdev' plugin device by virtual method +00000000000i[PLUGIN] init_dev of 'speaker' plugin device by virtual method +00000000000e[PCSPK ] Failed to open /dev/console: 权限不够 +00000000000e[PCSPK ] Deactivating beep on console +00000000000i[PLUGIN] init_dev of 'extfpuirq' plugin device by virtual method +00000000000i[PLUGIN] init_dev of 'parallel' plugin device by virtual method +00000000000i[PAR ] parallel port 1 at 0x0378 irq 7 +00000000000i[PLUGIN] init_dev of 'serial' plugin device by virtual method +00000000000i[SER ] com1 at 0x03f8 irq 4 (mode: null) +00000000000i[PLUGIN] register state of 'pci' plugin device by virtual method +00000000000i[PLUGIN] register state of 'pci2isa' plugin device by virtual method +00000000000i[PLUGIN] register state of 'cmos' plugin device by virtual method +00000000000i[PLUGIN] register state of 'dma' plugin device by virtual method +00000000000i[PLUGIN] register state of 'pic' plugin device by virtual method +00000000000i[PLUGIN] register state of 'pit' plugin device by virtual method +00000000000i[PLUGIN] register state of 'vga' plugin device by virtual method +00000000000i[PLUGIN] register state of 'floppy' plugin device by virtual method +00000000000i[PLUGIN] register state of 'unmapped' plugin device by virtual method +00000000000i[PLUGIN] register state of 'biosdev' plugin device by virtual method +00000000000i[PLUGIN] register state of 'speaker' plugin device by virtual method +00000000000i[PLUGIN] register state of 'extfpuirq' plugin device by virtual method +00000000000i[PLUGIN] register state of 'parallel' plugin device by virtual method +00000000000i[PLUGIN] register state of 'serial' plugin device by virtual method +00000000000i[PLUGIN] register state of 'acpi' plugin device by virtual method +00000000000i[PLUGIN] register state of 'ioapic' plugin device by virtual method +00000000000i[PLUGIN] register state of 'keyboard' plugin device by virtual method +00000000000i[PLUGIN] register state of 'harddrv' plugin device by virtual method +00000000000i[PLUGIN] register state of 'pci_ide' plugin device by virtual method +00000000000i[SYS ] bx_pc_system_c::Reset(HARDWARE) called +00000000000i[CPU0 ] cpu hardware reset +00000000000i[APIC0 ] allocate APIC id=0 (MMIO enabled) to 0x0000fee00000 +00000000000i[CPU0 ] CPUID[0x00000000]: 00000005 756e6547 6c65746e 49656e69 +00000000000i[CPU0 ] CPUID[0x00000001]: 00000633 00010800 00000008 1fcbfbff +00000000000i[CPU0 ] CPUID[0x00000002]: 00410601 00000000 00000000 00000000 +00000000000i[CPU0 ] CPUID[0x00000003]: 00000000 00000000 00000000 00000000 +00000000000i[CPU0 ] CPUID[0x00000004]: 00000000 00000000 00000000 00000000 +00000000000i[CPU0 ] CPUID[0x00000005]: 00000040 00000040 00000003 00000020 +00000000000i[CPU0 ] CPUID[0x80000000]: 80000008 00000000 00000000 00000000 +00000000000i[CPU0 ] CPUID[0x80000001]: 00000000 00000000 00000000 00000000 +00000000000i[CPU0 ] CPUID[0x80000002]: 20202020 20202020 20202020 6e492020 +00000000000i[CPU0 ] CPUID[0x80000003]: 286c6574 50202952 69746e65 52286d75 +00000000000i[CPU0 ] CPUID[0x80000004]: 20342029 20555043 20202020 00202020 +00000000000i[CPU0 ] CPUID[0x80000005]: 01ff01ff 01ff01ff 40020140 40020140 +00000000000i[CPU0 ] CPUID[0x80000006]: 00000000 42004200 02008140 00000000 +00000000000i[CPU0 ] CPUID[0x80000007]: 00000000 00000000 00000000 00000000 +00000000000i[CPU0 ] CPUID[0x80000008]: 00002028 00000000 00000000 00000000 +00000000000i[PLUGIN] reset of 'pci' plugin device by virtual method +00000000000i[PLUGIN] reset of 'pci2isa' plugin device by virtual method +00000000000i[PLUGIN] reset of 'cmos' plugin device by virtual method +00000000000i[PLUGIN] reset of 'dma' plugin device by virtual method +00000000000i[PLUGIN] reset of 'pic' plugin device by virtual method +00000000000i[PLUGIN] reset of 'pit' plugin device by virtual method +00000000000i[PLUGIN] reset of 'vga' plugin device by virtual method +00000000000i[PLUGIN] reset of 'floppy' plugin device by virtual method +00000000000i[PLUGIN] reset of 'acpi' plugin device by virtual method +00000000000i[PLUGIN] reset of 'ioapic' plugin device by virtual method +00000000000i[PLUGIN] reset of 'keyboard' plugin device by virtual method +00000000000i[PLUGIN] reset of 'harddrv' plugin device by virtual method +00000000000i[PLUGIN] reset of 'pci_ide' plugin device by virtual method +00000000000i[PLUGIN] reset of 'unmapped' plugin device by virtual method +00000000000i[PLUGIN] reset of 'biosdev' plugin device by virtual method +00000000000i[PLUGIN] reset of 'speaker' plugin device by virtual method +00000000000i[PLUGIN] reset of 'extfpuirq' plugin device by virtual method +00000000000i[PLUGIN] reset of 'parallel' plugin device by virtual method +00000000000i[PLUGIN] reset of 'serial' plugin device by virtual method +00000004661i[BIOS ] $Revision: 11761 $ $Date: 2013-08-02 17:59:49 +0200 (Fr, 02. Aug 2013) $ +00000322571i[KBD ] reset-disable command received +00000330815i[BIOS ] Starting rombios32 +00000331249i[BIOS ] Shutdown flag 0 +00000331845i[BIOS ] ram_size=0x01000000 +00000332266i[BIOS ] ram_end=16MB +00000481479i[BIOS ] Found 1 cpu(s) +00000495676i[BIOS ] bios_table_addr: 0x000fa468 end=0x000fcc00 +00000823473i[PCI ] i440FX PMC write to PAM register 59 (TLB Flush) +00000999990i[XGUI ] charmap update. Font is 9 x 16 +00001151400i[P2ISA ] PCI IRQ routing: PIRQA# set to 0x0b +00001151419i[P2ISA ] PCI IRQ routing: PIRQB# set to 0x09 +00001151438i[P2ISA ] PCI IRQ routing: PIRQC# set to 0x0b +00001151457i[P2ISA ] PCI IRQ routing: PIRQD# set to 0x09 +00001151467i[P2ISA ] write: ELCR2 = 0x0a +00001152233i[BIOS ] PIIX3/PIIX4 init: elcr=00 0a +00001159906i[BIOS ] PCI: bus=0 devfn=0x00: vendor_id=0x8086 device_id=0x1237 class=0x0600 +00001162176i[BIOS ] PCI: bus=0 devfn=0x08: vendor_id=0x8086 device_id=0x7000 class=0x0601 +00001164285i[BIOS ] PCI: bus=0 devfn=0x09: vendor_id=0x8086 device_id=0x7010 class=0x0101 +00001164514i[PIDE ] new BM-DMA address: 0xc000 +00001165131i[BIOS ] region 4: 0x0000c000 +00001167156i[BIOS ] PCI: bus=0 devfn=0x0b: vendor_id=0x8086 device_id=0x7113 class=0x0680 +00001167389i[ACPI ] new irq line = 11 +00001167401i[ACPI ] new irq line = 9 +00001167430i[ACPI ] new PM base address: 0xb000 +00001167444i[ACPI ] new SM base address: 0xb100 +00001167472i[PCI ] setting SMRAM control register to 0x4a +00001331563i[CPU0 ] Enter to System Management Mode +00001331574i[CPU0 ] RSM: Resuming from System Management Mode +00001495592i[PCI ] setting SMRAM control register to 0x0a +00001510485i[BIOS ] MP table addr=0x000fa540 MPC table addr=0x000fa470 size=0xc8 +00001512241i[BIOS ] SMBIOS table addr=0x000fa550 +00001514423i[BIOS ] ACPI tables: RSDP addr=0x000fa670 ACPI DATA addr=0x00ff0000 size=0xf72 +00001517597i[BIOS ] Firmware waking vector 0xff00cc +00001519395i[PCI ] i440FX PMC write to PAM register 59 (TLB Flush) +00001520123i[BIOS ] bios_table_cur_addr: 0x000fa694 +00001647740i[VBIOS ] VGABios $Id: vgabios.c,v 1.76 2013/02/10 08:07:03 vruppert Exp $ +00001647811i[BXVGA ] VBE known Display Interface b0c0 +00001647843i[BXVGA ] VBE known Display Interface b0c5 +00001650768i[VBIOS ] VBE Bios $Id: vbe.c,v 1.64 2011/07/19 18:25:05 vruppert Exp $ +00001760340i[XGUI ] charmap update. Font is 9 x 16 +00001995095i[BIOS ] ata0-0: PCHS=512/2/20 translation=none LCHS=512/2/20 +00005872002i[BIOS ] IDE time out +00051753881i[BIOS ] Booting from 0000:7c00 +00096122531i[FLOPPY] partial read() on floppy image returns 196/512 +00096289196i[FLOPPY] read() on floppy image returns 0 +00096455861i[FLOPPY] read() on floppy image returns 0 +00096623572i[FLOPPY] read() on floppy image returns 0 +00096790237i[FLOPPY] read() on floppy image returns 0 +00096956902i[FLOPPY] read() on floppy image returns 0 +00097123567i[FLOPPY] read() on floppy image returns 0 +00097290232i[FLOPPY] read() on floppy image returns 0 +00097456897i[FLOPPY] read() on floppy image returns 0 +00097623562i[FLOPPY] read() on floppy image returns 0 +00097790227i[FLOPPY] read() on floppy image returns 0 +00097956892i[FLOPPY] read() on floppy image returns 0 +00098123557i[FLOPPY] read() on floppy image returns 0 +00098290222i[FLOPPY] read() on floppy image returns 0 +00098456887i[FLOPPY] read() on floppy image returns 0 +00098623552i[FLOPPY] read() on floppy image returns 0 +00098790217i[FLOPPY] read() on floppy image returns 0 +00098956882i[FLOPPY] read() on floppy image returns 0 +00099123547i[FLOPPY] read() on floppy image returns 0 +00099290212i[FLOPPY] read() on floppy image returns 0 +00099456877i[FLOPPY] read() on floppy image returns 0 +00099624590i[FLOPPY] read() on floppy image returns 0 +00099791255i[FLOPPY] read() on floppy image returns 0 +00099957920i[FLOPPY] read() on floppy image returns 0 +00100124585i[FLOPPY] read() on floppy image returns 0 +00100291250i[FLOPPY] read() on floppy image returns 0 +00100457915i[FLOPPY] read() on floppy image returns 0 +00100624580i[FLOPPY] read() on floppy image returns 0 +00100791245i[FLOPPY] read() on floppy image returns 0 +00100957910i[FLOPPY] read() on floppy image returns 0 +00101124575i[FLOPPY] read() on floppy image returns 0 +00101291240i[FLOPPY] read() on floppy image returns 0 +00101457905i[FLOPPY] read() on floppy image returns 0 +00101624570i[FLOPPY] read() on floppy image returns 0 +00101791235i[FLOPPY] read() on floppy image returns 0 +00101957900i[FLOPPY] read() on floppy image returns 0 +00102124565i[FLOPPY] read() on floppy image returns 0 +00102291230i[FLOPPY] read() on floppy image returns 0 +00102457895i[FLOPPY] read() on floppy image returns 0 +00102625611i[FLOPPY] read() on floppy image returns 0 +00102792276i[FLOPPY] read() on floppy image returns 0 +00102958941i[FLOPPY] read() on floppy image returns 0 +00103125606i[FLOPPY] read() on floppy image returns 0 +00103292271i[FLOPPY] read() on floppy image returns 0 +00103458936i[FLOPPY] read() on floppy image returns 0 +00103625601i[FLOPPY] read() on floppy image returns 0 +00103792266i[FLOPPY] read() on floppy image returns 0 +00103958931i[FLOPPY] read() on floppy image returns 0 +00104125596i[FLOPPY] read() on floppy image returns 0 +00104292261i[FLOPPY] read() on floppy image returns 0 +00104458926i[FLOPPY] read() on floppy image returns 0 +00104625591i[FLOPPY] read() on floppy image returns 0 +00104792256i[FLOPPY] read() on floppy image returns 0 +00104958921i[FLOPPY] read() on floppy image returns 0 +00105125586i[FLOPPY] read() on floppy image returns 0 +00105292251i[FLOPPY] read() on floppy image returns 0 +00105458916i[FLOPPY] read() on floppy image returns 0 +00105626633i[FLOPPY] read() on floppy image returns 0 +00105793298i[FLOPPY] read() on floppy image returns 0 +00105959963i[FLOPPY] read() on floppy image returns 0 +00106126628i[FLOPPY] read() on floppy image returns 0 +00106293293i[FLOPPY] read() on floppy image returns 0 +00106459958i[FLOPPY] read() on floppy image returns 0 +00106626623i[FLOPPY] read() on floppy image returns 0 +00106793288i[FLOPPY] read() on floppy image returns 0 +00106959953i[FLOPPY] read() on floppy image returns 0 +00107126618i[FLOPPY] read() on floppy image returns 0 +00107293283i[FLOPPY] read() on floppy image returns 0 +00107459948i[FLOPPY] read() on floppy image returns 0 +00107626613i[FLOPPY] read() on floppy image returns 0 +00107793278i[FLOPPY] read() on floppy image returns 0 +00107959943i[FLOPPY] read() on floppy image returns 0 +00108126608i[FLOPPY] read() on floppy image returns 0 +00108293273i[FLOPPY] read() on floppy image returns 0 +00108459938i[FLOPPY] read() on floppy image returns 0 +00108627650i[FLOPPY] read() on floppy image returns 0 +00108794315i[FLOPPY] read() on floppy image returns 0 +00108960980i[FLOPPY] read() on floppy image returns 0 +00109127645i[FLOPPY] read() on floppy image returns 0 +00109294310i[FLOPPY] read() on floppy image returns 0 +00109460975i[FLOPPY] read() on floppy image returns 0 +00109627640i[FLOPPY] read() on floppy image returns 0 +00109794305i[FLOPPY] read() on floppy image returns 0 +00109960970i[FLOPPY] read() on floppy image returns 0 +00110127635i[FLOPPY] read() on floppy image returns 0 +00110294300i[FLOPPY] read() on floppy image returns 0 +00110460965i[FLOPPY] read() on floppy image returns 0 +00110627630i[FLOPPY] read() on floppy image returns 0 +00110794295i[FLOPPY] read() on floppy image returns 0 +00110960960i[FLOPPY] read() on floppy image returns 0 +00111127625i[FLOPPY] read() on floppy image returns 0 +00111294290i[FLOPPY] read() on floppy image returns 0 +00111460955i[FLOPPY] read() on floppy image returns 0 +00111628672i[FLOPPY] read() on floppy image returns 0 +00111795337i[FLOPPY] read() on floppy image returns 0 +00111962002i[FLOPPY] read() on floppy image returns 0 +00112128667i[FLOPPY] read() on floppy image returns 0 +00112295332i[FLOPPY] read() on floppy image returns 0 +00112461997i[FLOPPY] read() on floppy image returns 0 +00112628662i[FLOPPY] read() on floppy image returns 0 +00112795327i[FLOPPY] read() on floppy image returns 0 +00112961992i[FLOPPY] read() on floppy image returns 0 +00113128657i[FLOPPY] read() on floppy image returns 0 +00113295322i[FLOPPY] read() on floppy image returns 0 +00113461987i[FLOPPY] read() on floppy image returns 0 +00113628652i[FLOPPY] read() on floppy image returns 0 +00113795317i[FLOPPY] read() on floppy image returns 0 +00113961982i[FLOPPY] read() on floppy image returns 0 +00114128647i[FLOPPY] read() on floppy image returns 0 +00114295312i[FLOPPY] read() on floppy image returns 0 +00114461977i[FLOPPY] read() on floppy image returns 0 +00114629697i[FLOPPY] read() on floppy image returns 0 +00114796362i[FLOPPY] read() on floppy image returns 0 +00114963027i[FLOPPY] read() on floppy image returns 0 +00115129692i[FLOPPY] read() on floppy image returns 0 +00115296357i[FLOPPY] read() on floppy image returns 0 +00115463022i[FLOPPY] read() on floppy image returns 0 +00115629687i[FLOPPY] read() on floppy image returns 0 +00115796352i[FLOPPY] read() on floppy image returns 0 +00115963017i[FLOPPY] read() on floppy image returns 0 +00116129682i[FLOPPY] read() on floppy image returns 0 +00116296347i[FLOPPY] read() on floppy image returns 0 +00116467321i[BIOS ] int13_harddisk: function 15, unmapped device for ELDL=81 +00315090000p[XGUI ] >>PANIC<< POWER button turned off. +00315090000i[CPU0 ] CPU is in protected mode (active) +00315090000i[CPU0 ] CS.mode = 32 bit +00315090000i[CPU0 ] SS.mode = 32 bit +00315090000i[CPU0 ] EFER = 0x00000000 +00315090000i[CPU0 ] | EAX=00000000 EBX=00090080 ECX=0001d1c0 EDX=00000020 +00315090000i[CPU0 ] | ESP=0001e16c EBP=00023f0c ESI=000900a0 EDI=00022f20 +00315090000i[CPU0 ] | IOPL=0 id vip vif ac vm rf nt of df IF tf sf zf af PF cf +00315090000i[CPU0 ] | SEG sltr(index|ti|rpl) base limit G D +00315090000i[CPU0 ] | CS:0008( 0001| 0| 0) 00000000 00ffffff 1 1 +00315090000i[CPU0 ] | DS:0010( 0002| 0| 0) 00000000 00ffffff 1 1 +00315090000i[CPU0 ] | SS:0010( 0002| 0| 0) 00000000 00ffffff 1 1 +00315090000i[CPU0 ] | ES:0010( 0002| 0| 0) 00000000 00ffffff 1 1 +00315090000i[CPU0 ] | FS:0017( 0002| 1| 3) 00000000 0009ffff 1 1 +00315090000i[CPU0 ] | GS:0017( 0002| 1| 3) 00000000 0009ffff 1 1 +00315090000i[CPU0 ] | EIP=00006d3d (00006d3d) +00315090000i[CPU0 ] | CR0=0x8000001b CR2=0x08038000 +00315090000i[CPU0 ] | CR3=0x00000000 CR4=0x00000000 +00315090000i[CPU0 ] 0x00006d3d>> mov eax, dword ptr ss:[esp+16] : 8B442410 +00315090000i[CMOS ] Last time is 1625754135 (Thu Jul 8 15:22:15 2021) +00315090000i[XGUI ] Exit +00315090000i[ ] restoring default signal behavior +00315090000i[SIM ] quit_sim called with exit code 1 diff --git a/linux-0.11-lab/conf/0.11-gdbstub.bxrc b/linux-0.11-lab/conf/0.11-gdbstub.bxrc new file mode 100644 index 0000000..e923c0e --- /dev/null +++ b/linux-0.11-lab/conf/0.11-gdbstub.bxrc @@ -0,0 +1,33 @@ +gdbstub: enabled=1, port=1234, text_base=0, data_base=0, bss_base=0 + +megs: 16 + +romimage: file=$BXSHARE/BIOS-bochs-latest + +# with the LGPL BIOS, X windows can be used +vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest + +boot: floppy + +floppya: type=1_44 +floppya: 1_44="cur/linux/Image", status=inserted + +floppyb: type=1_44 +floppyb: 1_44=vvfat:"b/", status=inserted + +ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14 +ata0-master: type=disk, path="images/rootimage-0.11", mode=flat, cylinders=512, heads=2, spt=20 + +log: bochsout.txt +panic: action=ask +error: action=report +info: action=report +debug: action=ignore + +pci: enabled=1, chipset=i440fx +vga: extension=vbe, update_freq=15 +keyboard: serial_delay=250, paste_delay=100000 +cpu: ips=15000000 +clock: sync=slowdown +mouse: enabled=0 + diff --git a/linux-0.11-lab/conf/0.11.bxrc b/linux-0.11-lab/conf/0.11.bxrc new file mode 100644 index 0000000..b18d62d --- /dev/null +++ b/linux-0.11-lab/conf/0.11.bxrc @@ -0,0 +1,31 @@ +megs: 16 + +romimage: file=$BXSHARE/BIOS-bochs-latest + +# with the LGPL BIOS, X windows can be used +vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest + +boot: floppy + +floppya: type=1_44 +floppya: 1_44="cur/linux/Image", status=inserted + +floppyb: type=1_44 +floppyb: 1_44=vvfat:"b/", status=inserted + +ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14 +ata0-master: type=disk, path="images/rootimage-0.11", mode=flat, cylinders=512, heads=2, spt=20 + +log: bochsout.txt +panic: action=ask +error: action=report +info: action=report +debug: action=ignore + +pci: enabled=1, chipset=i440fx +vga: extension=vbe, update_freq=15 +keyboard: serial_delay=250, paste_delay=100000 +cpu: ips=15000000 +clock: sync=slowdown +mouse: enabled=0 + diff --git a/linux-0.11-lab/cur/README b/linux-0.11-lab/cur/README new file mode 100644 index 0000000..2e56a37 --- /dev/null +++ b/linux-0.11-lab/cur/README @@ -0,0 +1,6 @@ +revision history: + +版本0: 这是oldlinux.org网站上的linux-0.11-lab.rar中的版本。可能是赵博士在原始0.11版本的基础上修改而成。我做了如下改动: + a) 对一些Makefile做了修改,生成调试信息; + b) 将其移植到ubuntu和debian下,主要修改的地方用 "by wyj"标注。 + diff --git a/linux-0.11-lab/cur/Source-Insight/Linux-0.11.IAB b/linux-0.11-lab/cur/Source-Insight/Linux-0.11.IAB new file mode 100644 index 0000000000000000000000000000000000000000..27c23b6e1f3379c54bfea8c6c805c76fa235fa7c GIT binary patch literal 102400 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 X+E}E5VH>Ng(M~HVI#}YIPA>QZN3SCK literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/Source-Insight/Linux-0.11.PO b/linux-0.11-lab/cur/Source-Insight/Linux-0.11.PO new file mode 100644 index 0000000000000000000000000000000000000000..de8db453c6bceca6363a1974df88a64caed7c9e8 GIT binary patch literal 776 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 >LdwT?$NcJnp;7Il?Z10x zvRPfG?U|KbPMPOdWm+@VQz*1>h>fu_E%$2!RHGv?A27)j z^<}lf(N+jlB&0|!mQqLIc9e8ec$W6Md0#OJ!>_5h@n;VmJjruT2^m_&jk27)7L(de zKC`x;#;9qsUG~!I10l+moPlvx+ID*>1rEwWhlRWrZd2Mku1O=Xj`3MouOIT-T$@t! zMqqgq8;zq8h87o%t5!D50yVni2pXio8&qdBkVcL}kr)9?)tRxOC7; zka78t)OH-s_Ud)?2F}{88&zqih(8)_TqTn0X_lHJFRKI63J^~FNb!{5#l~bwlwp0Q z7ky?k4?057)N}Gl#koLcE@zD|Ey37;7LE6-M}vCkku3ZC8xgvlNNFSCa&jGETgY@M zu25UJ7HaT{sd=Qpbto(Qe1~E~d~gw?tU1o6WGw0^H_aE!gWKgd6qk)k4YsL*)D*9q z)@@DrwUSNMvqH)M&aRB36VI@cYl57lak9AsENUp|vIPoE#*v@`$vhi5y!yq1J9RCt zuAwPzGDNU~kt8#r2r*z^sRnxX1ye*qA%p;`3MJJI@T8t>U+LU-(04N|i>b+`$dy)b z`6C~FM$fs*aqVCJ$(G@H=4!O6)XD^RAP@>wh`UUVo<0(}CQwa?7L?>|1Y#}L#Jr$5mO|zO3CH3uqY5#B$fLS@O1bIS zf=ir`W<{+QOEqfh-NNj7R7|o|>}EC9^~yf~pMclwwoJUM5N@zHc{2^Id+xBlYMLHh zo<$qnF*BCsFPoa@q9jEo+E1K)ipNoGY8GQ%7h=+j80*S)Y)=TYzUGW^>(El zR+I^=a#+2_21E37uz7Lu5=YfRGZ6QEqe2@wk%m#5-c1=)VYe!%l{jLtOqG24E`*(C zpAgJrLlr02z+@>Uz!~LqO-am-M>`s?UDVf4?5b!scYMVcM?>b=edvooUr)-72U+p85Vy}x9vPYWE?++=#1&7I=X zCLU1xz*CPuzxT{`W%iS26&l_RE?P*|e~eNNol&k=rkPVRTJp;XRl3SrM@O`#^Z*Rd zu~f2&q`-wcvN-#A6UoU4s1|?nm<~xk5;)3ZEvXBFdxug1;1pI%u&YgF=BrS+8lP@(ljJ8IwBsBG`HrC#xD0P_iNWFIJpzI_2&{0m>_Njf2pTe88iULM35%HlzSr1 zJ0bzFDumr(x)mE~E$l;>SxD0x!43o2#Gh{{e85wdB;^fI9jI3#U_HTQloy2v^;1Eu zU&i(n@oEZ8TQUFt{?_;Z>rV@kgGF(&KH2%uwFkcTjW-yLoeiJfT;s3%_~zd2@A=wS zfAH~G-)yD8g>`6HxkPQh<-pKW4_&$Zjktb-bNjjxL3qKOMej;EJvf?>DKVo8^G;*F zdMXjY^LJoc6%ny6pf2KIS~?bGRLMw`LBJF_dzjR?7P?x&KlP`IH}BbBqBpMtXO=J~S zGfm=)zU+eA4nRH8fXP1pZMglEju5UxlagzyU~6BpJ7vdIJ8)udlLD?6U9l3%vbX-| z&oG;V&zRc}lCC6hfStUgwnlp}H)geAN$dPL5uK?aJa1mSnXKhcmk*j<+I->hhl|T} zNu~nkgUu}0p~%RoQ=ZWwnVZT(SeqkEP^ya^7-uv#rJlU#wK{Bon+f+SZpRn2Zi#Oq z635_t$=txAL?uQ(C?}xEI%Opv0&+E!ogmb^fgBlpKfTgWlwdYB13%=VZzYL?tPGV3 z2`0i30fkP5xKy^1+9nVLvg%Mr&~aS3)+(wjMe)uY1k?(USTw*&*>Qm!;BR8#m{}K>NEKXaF28Ad>5fRZp`z*A zf7LwxNqXgKU4@TKQ+iTu?7#M3ll>nbdiBa%V#Q6V?lOXh>F_q(^yBigFWBnlpFQ)5 zavzr`x4Y$qYWrEr@%*V}I8)$17BVo(wO@J|*|TQ))@N?R$VaM!BSzyOlnhu%3fAPz_D$p>E)i0k-9GGa6ZEj$xq%klSA_)?Kf8X zOml{_)5(n|Z{j^(dh6~K^Vp*A(Ys@37G>4NLWzCQx=y2;pyDJ2t`ux8vo-7bJPb$S zr6XO9(AMc_0+%G>>r$^AcEm=v+YfH%AP`jrsB{5!5i^?2N(&cem=V{wWw@g`VUVzdD{a;s$~9ZcHKS3me&Am07WW3bII4zBIE)g^SPy{`%2`fX z>7o_jovc0@K&Dk}^nLz%y5D_fv}0y8X6V@&yoFd{?k=S4mD)owjxe&pa9b#FX64b) zEFth*Gh7`kvLV2>o+xtZ1zwz=hu|cYqD1B!k$HhFKu5Ath0y(=8QMn8YzcbuS}}5s5mrgPA(Ue6ex}$Kg~7H zlDOkyc48Mg4MSs`ligZ&oRJra^!z10G*tF^dBkxy5C-Sn@t&tX+_QO>UP^r1Y%DFf zR5tCLXSua<)|D?dmTLVT>>do#8AYNeKy%16n?F0eOWzG$b$UuW+plGE?J|vBSX;Au z@?yDtp=QX%3e5~}WS{?=;6Iql*u2@R?mNsE*o&`5SItd z^wR{(`&2wmQ{1!_z+(cZ9VJeG)VvsV-9Fz8t=@8XE9N1kn|tuUqFK@l0#?&yB%ByY z@q|1IwNaWPR-fY5q<*Y_*JvF%p0J5d=E7uhS+6&vl=>ICFZ~+#Nv8{Y|m2VecON8t8vF(mMAcdNF z22T%6d%=l8@+dWU6%*|QLpF`h(?lRAn7AA{OV*hL^C zolPN`t#$mRD)E538biVrAWbF7H6!_@jC6z~hFW;C&wn>A+JF1(An7=8gF(j|6(8Gq z>&6dFDi%G)<~<+oJhT30V*cXvuqr=jCb(f2`;I%c(d&Vc3~~`oi&h8@B{;kVqD zCs_`!ZB#48&1tpv{NB4>R!xg(>v7XBqv88>Vwivk>l3!RglBThWM>T}i@&m24`?DOpn2?meFvA7kt8IQ zMF^TgNF1$gM9BoP3GPsCQW^xUh9J~5EOnx(_%DFF*Q^MV#2Y0|CfjJa4eYu3el5!W zFtBYCR!A&q{eoF^LLC#Kc$g4sm+?BmV`C!DQbc=5vSUfinmqO>Ercj8V9Wa-*}ZKR zAy=1Tl8_`;k`^pyAF|GRwYQH7rsgJG)YeLMKmW`t|L{bR4%k`y->Q>`iZ^{Ho=@xp zX)C;ZO;t{|j;_9~dglN9?zjG}W*2uU`&$8(YyNb4OR(~&;D1=WFe%F)dF(Y}w?mVJ z)*KogaxId!xjr~Dir%8Ys&{?J>YI|T!TCO9QW8W^ zYfm4T+eG0G*6UR(WCgh#>jLGr1E2rRK`#4EJUe-r`&6ty^F8A2L~jAYDb zW7$Tm7jXuh+x3f4aAl_v`_QyrOQ&Smwtgc%O#vTkN0uSvAcQfLJ91*%L7hQLt5W+q zHfsg0(FP{_{L4Y}GpoTpmtu^JO$OA^nt7<;lH|_2z9qT6Br~zA7P5D`*xBKA&Y76Q z4V}AWW8R*7{e2bQyAkbc(J1=paX(;@ALT%ga96ibw`{sabW3znd#rWJo;%T=ZH;uc z=1*sRDJrFXv*6m35;|$(R>M`vKMq7K&LUew<5dXB9u1xrGejt z5{mNW`H{dP-@6L*7>n=K zD?hFjJ<6ja(45Bt-2IURdvCrOQy#?nEtXNKnX#FOovB6BmEmyclV$PNGRKn^$gLvFVl#? z-1GT{{6#3v*bx^SOLH65cd#>8@$LznQ6v^?5Y1LgKi1!tJfpoQp3k>yJPV3F3!@j# z=DjpgF4PRUa6Q@QknHo9!2HfWfhE(EQ_dw@eyNz#?ebpS=Vx@#{kc0MI2V?6H+F~e zocH+)8~m57WB1pJMY>-0`R|9~tHvu^Q{r0E7$91+_{fyI&Sb}EX0mg78efu$=MwT= ziIs`_bVO$3ybIBzK^5x?>aNABJofgA#Ki83`;c&0Vh{A0T%KXn1#4XOGtBj{^nz*+ z&yj=2GlhgnGbQ|SqWj!ZF3EYZE@cc`(*X!(5_~m)&S4*$( z@eYh;PECTS$$txmeU>km8^_X9eiSSgVVFvQES4iNG_iOs;IYdOmhxd^5I`3|ZLG-R z35`-kg>As?&KPEGyuRUN+k(rcbb7PwN-}#kEBT&wTSm=E+=_9jx%aVF1Z1E87Z}w^ z;94?CkSQ|Pw(a4Sx3|@j1<5*LFM~($j$bJFYv{_cDR1cu6VX_Xbo87j#a_=9(p8Y~ zW{i1k!`fe+R-5I7=>qeqO zDciR&kSq|mkv6E+HgQJ4+v6H<^n03zf))^bRKG6#a>Iyw-*sj)?u7C}Pa zJ~DS8&5d2N+L0G7#fFt?r{rWHsCLbEe7Q$|IRNj?K`8i9K*jwusD}TGP$4@(_}>O8 zZGBl4>*Xc?!AXh61kHp^p2|n@OMG3y-hq-x6aK*rv-NEfVlTvpGkPUzMk|!ATNrJ& zu5QT6=U>q-5PgImnjZb(kv0Mp{Opb}JfIC%9{9l*j?8QPhk!kugFu>ZPIiCldv|v~ zSFEn{$6U=RyC1iXHNCZd)0o3wf6ATATfIkX5BsEAxADleDDWfLqr#o$y;R?Gjfk<oSHTFAA?NC`g%b)E4o4jETC&^V(mD{<+~qK<9GxzTi;Hw$3PT4!KrA@Ivy z+GP1j(6pS}rM$T6%lHXY9PGM%K2A?uIhJE!J@_veNCXDfUq=*6k!Up~_8c{FCetd| z76pV3``*J2PPcrQSq(6Cad7=3oX@L}CL*}wq~ocAvFH&wIOuc)YBy{hO^!#BqQ8ef z2aF7&s4^LHw;j(LhKOF^QDXE)v}%xot&69}`i&8c`yP;{F#a4+{LUZBtTd~sMyP!L znDJOGt^y?C5-D7HYQUBKThnrary*=JBug$1%Wd?k`h{(O$$F#Id~Z~{0FH*amjhZg(X`*Q*(YGhVyy+ z-txJC4&HOA=|x=$4Or&*f<<7)WWj8H$%EAh#7NADmJd}FU2^DnsJ#JWaIPskSE3;h zwqB6WV=Wo&U&GzITcm;2FQX?1R&{Ezvl{lNcI-kMkbV9?gopZE$0$$7+#d9X57P=d zk9bpoQ{Zx@oB?O03t!0RUD6l~a@hdh)wj=6I5PvHV12$&mbd+Da(|HytH%eZC6qtgghn82z3sOp?Td z4ag$-oOUl_5`B`lPU97W7ERVd%#oNOz4Mz*hlbzhVZlZ#u2w7ize4aL z&$&QgH=J?BBz(}~V8vNLNsvelT*;jx*fTvzHI{+rm64bvJSW&^nsyFpoA4N6(#$?t z#D{myN!*xv<+>PZ-_jKEKwNEc)f#;3-G#49eqkCaAW@dFSIE6F*NsAB?JOYY1vXX` zXM#uEJ`Z29&tonD5wMyL8ZchNDV$vz{qC&-&kT!DI(|~TsfXTh2kCc|!R@>K7B8&b_{inrHshf^A%4jZ{nupED1(XAWCr{WGb?PB!mRbtR)jLqlbd(iNAf2vvl3^qLsx}iZCv` zSm9PSFOgWO3I+U5qEjQ#H=1ba0I`JXV^!<*6)nfCxeO4;OauHj-= zg!v)tGX+kp+XNqtmK_?i22B*#K8>X@2)WQfrDF(4AYCwXlO429H}P;(RAlQ>(sfw+ zs}CAH>XS?99WJHpF?d%mwDfmrdb@61lU-IPcwDVX?JVQ{*6Fdq@mXPPr@%bo>J(EN zn|-mtmr3UIX~6a=7ZQ~-9$(x>yu@O}nl`9Y@0y<%+q*Lj%g_aQo)dF-qIm`)pOZB;%~Tp@s-|$J77nvIdLK}uYTJ|C=&-G z5eWN2Xl7v!Q+9R?ovltJVl0UOYl`y-d6P%LvZObiKABQV60A48POztO4$p5|HPvgU zMfE3>Ynv-K_vMWA62c~)lqDgJz!6hKE|CQYe%nBBIp;+!rL+XkK1&CBvMp?go^|o{ z70De|fC$}E%q5oaZ6A%#R-jrS@@F2A1mFy_*$0kS2oa4spne>MN4-ScffI46>Vgeg z97NQkeOw;_p^TRut>;6@V}c-buvi^AgQ!)Mkm+qkaJYECIhY#0d1zqPD@He6`IbCL z0UdRuluOWs^axpC_DNWr@G8&-*hU#e)F5UALhedQY8~$UP3VF`UjXOV9+L}4W~(62 zVU*1JH@)@`?g-+0!=aj1``_{SuYK;fpITolG_=xQoA48qkE-&SH~;s~J@vV7dElF` z$1&oid%dqMOig8Pn3G38dt?vZ^nd*F)hnOF)yD$YtX&vuL66xMB_qgHaEU)7+zL32 zFU=vo)N&i$J6U^_uTG|`=A^0~+Lk$~)1RHFq*J*(h+E@Qe;4prr79(vsuk6_g zdv+WbP4RZbR6^vz>Q>V>^eC!ILk;o`O6EljNko#Sk{507^O+6I2!Q_FS4KxcSuS+& zIlT^_NIJ6BMuSYkN?JI@L#b?VXNmeoFj zl~B_W*ya8fEL;mgwS5{x=uTNu`BJtXvyv$`*qY}NTi2CfDzMKbbAeAfKj9^4TR;^# z5$Qplh}XAHNJ<#JDRs`b2~AhXx@l^@v`I4kU8q&~;H|hrd))3D#V2lu(uQw&>-tOwmy*T?62Zb|&;#G1f|Y$~ zZgsG#UxxT7X2cFY2@0VCb6J4nuePdO{aLY(Y@lFAW? zNv$X)?M53MSi^#N7730m0>g53QqNK z)F|JV6oxlNp++$&wF+2G3-2r*>B7U5gl52l>-ck^&6?`BbE)JK#jA4kCP1v2b4?$- zx^5U&31l{vbJEL1dtRk83y!5sivlVIuy|ItM^Ee=hvZS{hYEb(9-!Fe&B@z!T_6G-AQ&W6fvq(a1nC&jMP$Os-pX{#=Q6{b6cHo?g+;H4E1uq)TS2`-=|5};&GJ^pFF-39|5gZGNGER{r=aBkG%Esru?@Cm&Im7Jv934 zVOq999*~|?be-O`3HFuBJi{N@H5+D+FfGF3R;!_wqLdksKs0MfCr83^XqXALi$NqB zQV|=-ttn755)3+Fpjxy7L)ulesWKZ#3zB8N*awSA0?4M?wm223j@8rR*n)_-P}?RGt2Pw%rHS&#k)lXZ8*`VLK()eY*1>E|V{QyDAE|G+G(qRfvV!d&1*@OsL1Io04-atteEREqcaF_}Dm%`` z6;ntEhCv8akhTutP%ey4vZ*T|5L`ei{MpFuLZ+%2fugfYlU9ExGkT^0;~X9X46HQ5FycqUb^bCJ$ftxlTU1-4BT62??LtlJ`e z6lq;ulVVn7HEj&iu48(_#Kj*Zb;x@SQuV~L0l+^<>g-cj<(y;@pT(8~8<0j#kvtHI zvsDn^1VJO++3}oUw7g>sheA6~>5E z76~Ae34M|{rfo^et|x0<>(H(=Gu$g7?^nq<(FGuce+u4zcBRv&!nlAy2yTCs6TY9$i9p?*vd@1tq#v52u_QKbGv5b9p!G_InX=jB#sJ@pdM$sR)77$S7RWq5{vG=q1ySck4+&azp~+)E4YLEVsQ z_Q63dcpn=S0omt2gE{{_gQWejA47QO(hr*HKfU%imtUaG7vA$rk3Mwml3B+c zQRkH5Xt>5AX)uCj)({#R@|q*DprmLMJV9HxK%PMeo$9)XmFD+NWzC8?e9(N!+}s3d zTC7@W(Py@Bvtq57RLAl-Lb(E#gDiygK|gu6^Ob$cWg?Zgf#sRwT*!%9WVKO8OVg~g zLcuHD%0lAqTvF4T^P|2X4&xLnSPzXWCVP>XA|h(>&-q@U#Lizqy8*4?w2mCdDp*?D7I>oha2W(EjD%re1M&JfPTn?w5bI}0j6!Q1IC8(!!Y8q| zAZT;sBDGclOAhc>$8`NSzw&)|ToF^Jc46&g#cVzHKmFIwefQ73`taJ-z_4DmkrhWD zeRlWT|MZb}|MMUF^9Mh;LJju(BCZ_XzDbiWfB4fUX6=7@=#gJppI)6l_=4@_kbH5Mq1 zyt^kx$D(2N{EF&-Pa_6-!A+?ap(zl`?YIX{e@^|Zg*Y?Etes=BIp5}pgB_~lE>W1{ zHOwRQ#;g2toQBACk_Fp#X?M`VMcEG4FjBmb+Z-U{TOKRSXH*DCWH%5-Od6y!Di*fG z@I3cAR08P~s=>sO50#iO1 z{se_mo#)f1rsDvuTnBSkNrY!9`Xy7X(Ks72R2+&PwtPlriu0PIQdtcPFG8u}W^E4` zo(U#oOnyLbJFaz^aF!6)@Mf^9gPd)4S(`n1iK1w44$?l* z>l$f^IlTEnIsrV*$2Ol7GH!D_rLmx)0by!zecVej;^h2YY$eTzruB3M0~HTKfsMP} zkOPoQtYpU9uk%`4xVbk%83xw&%1H&zTM`E+X77`saZMds+tKIKceII3Zlhe98~VI! zvEE<|DT-6_^uIYmi;G=(EcB)S=dmp?P&%);hO zZU=K<1XMGTbsn!0=)}S#NfH4m-d*4`ss1!p{a}@S{$V)x#<32fZZ~e518BCP*07o_ zz9eq%L%~b3f1YMItITGl`-OWs0zA%nzio_D8YN9`d+VFw3(V!U1$0uE?Oj;c7v0uV zzwZ)Gcd6d{)n2p+$UZOk=5hagBwVw8qaUt!h@~kWex2p?2`}&XI_mTJQ!X>Zn|eCQ z9yjHdoZd3Q`8-gXQ^{FIcuv(L*=WqEAr7qhmc~?XQGO`$d*H`wSS za>BNua}GuBsDp}W&q#zY?fO&y>kUn`zR@bodUg|kU1j@?HcUx1fkfsA0lvg}`~r7L zdANNk@0$U%L)|^`zJr}5RXo%Tsi4ipg}9rOUc99+$zHrIJd2jeK7R{_<(z&LF!zev zUQTtunBxRKn|`TY^|=hcfMA)i`h_nkvpL2GojZ8NraOKUA-M?%JbD%ujr{<_mU9)U|f=JE_!3^+a^s!myAx&DuD53@PKmI(UXM zVo$-{TIpeWat!_UQv9A>*`nOm_Zl-p^bXnvLBAuHF|vXlV`HnF?qKpgxq7_7e(6+j zC&5}d%9R@(1uk4?)tsil^>GQRDp_qY>L_*;ou4?BxpHC7&J{%6?m(j@NuHt)e%coM zt`V|PoD~MTluiBNff{K2B`+rX{C|NPK7Vy^B>wGJzQgR8FMs8a-&ou^+3Zm(jDCw< z??OVviWvXSm%jNos(<`C^HVRBg-oL{V0(nEv#ng*vYKumPOFdcqYvJ(ue<#4UwhS^ z&6~IOo-h6wk91<^4@c`gwsNw~i@p@R4v+443MsL+ANr-A`EP#WDY6iTmv)fPxRMm=DvsE!Y42os)8F zZMUU5o=`iCDONHJe13{YDlV;-X8q_p<@<$LGPJF5K-ex3Q?OHYK`4aJ)Cm z2!XsiZb=7_^o9l7%>-GFv>=30pbJN>VbKBF(OlC;V>=BE8_E$0ge=EU@d6rk$5Uqv zp-@>Q@*+araY}eeBsObhR?;iH8M~t(`}}`^u)ej$a{+ebJhD2V)~=cT-z6D)IcOJk z3^~T5G>_m9rndBJt{pPDrGX{!GmHxuCsCWqfZ4?%|A|>={)TJ6i;1G38997j+7i=R z(y+|4;P}D0VbW2GTutP57e_uQ&9yCK4X)c;rR>W~Z-AtOM#i;Y+%LE!_A_X!v?)+% zFW9veu2I2!h>};gu!spGX_pi|)u9Wg%`POh#B!ve(5w_?X-gp2?XpfjZ7LfU;-+SJ zr0J@Aa1sI1T4kG5sC@`un{@OvogDg-O{os|M~!X9Sc>Xo1aTp@QES1T=3d8|=av=0XmZN&FsT~zjcM7e4BkI5xc@S~o%Nf0) z?+BeENo^^3!Dj0+eG&yL$qb;37lIM;z!bZeLP2t^m{Up@K3AYi>C9;M%q-6^T(46Q zl70Ty5xQ?|DsbEA}V*So`o(6wQ$`e`GX$jAine zxKmXd=COTyv%1032KuAN|Ks9~`&cRT^H2FOVy`zi%SQ81E$-Kv5x=dleUN*y7PWmE zfA;BhtUsHFviKNtEUWA$kZOueQY$LA31t9liliOrz)ACdCsU~!ry4cZ<8`0saaOig zK!TPfOICw=NOd`4IIDE+Xgx$98Z{w~(m-(HqeV$?ye;^%tF*pEWCJj+RcDb1Jw%Ww z@mK8yQH(7`asCr~$cC^}B8DCiO#$Z+D~^jaFwR!aVw5iA&@7Y3j^!hPQ=6>i$ei`4jzR9@26&}JFZYY-wtppX%@1toqtq6QfIs?}m zD_faY5=c0ts&*Ni05R}^Fg_n*0zV+)Kpz&ca?r6QzUc=g#DF$H-k)a_xY?6ZCj1E` z{pJX13R8!n%<7n*0NFeU57) zd{H+#Vl>S6zTo@l;9?c*$UgrGRPp36o3+%dKKIGnSKPI{npk60yDbf8{7pBj7p6Zc z(?tp9J6(NUpl(gq8Q1jdc+|cHk*ME+#ClVnO$#1x z3Wf@O&MlQTr6JaVZ9;@8BS+zx#_elPB{^a#td=1Q>S&vPG{=4Q$3%swTSEK z(BGMq279(wnS5=u8*`mBSA|mT`RRewL`T zAqlDd=ub}nD}Ssp*{LgLL7$pzzvCCMmxnuaN)(10e|H?Jsa-ex{?B9VPG0e#zXE6z z_5c)}J=wc%5!b>zB+td&Hn$|m%L08rzr?rxF$zlA^AUy0igitpGyW2w1V0-z^n)8$ z@W^snsrBPcE02+g$l3UmTXi!gr_Cz0=cHWz5F#881w zOFUG&mU9E#r8s^$LDN=bkZ1e6G}eRro=9B|^wZ}E`v`DdHC&-Fkx}GCIdDT>v&MM^ zz5W%#aoSbXl_^G9nSH6_!H>WqFJd+4Bvn)sTcg}0NZBg!Oq1ASNl2~vN&T&Lt++Yq z7_YK#fHQSZhh`nt@YJIG{t132M(1UNIjAV!?Nzo|!Q9^x4f$q4)1yI_x`lkV!$C2N z=OH8tR!RUJ8LVhbC}L-gz%~4r00_8I3MAX-l{G)1c_K@UXkS&S5AmlGrG>K~XA{qo zeTnnJKxu|S_W2*hsQ$qwV_x~v0{i@?l^=u>S5TuLRB`0atB_+8;uXP873_yplEtqf zSaucphX}N$WEm4}NGt|+yc&;J(E;uccJXSGhF}Y3vVC69=dClY%_D~|HEqOgskW1| z-iBQ_M#3(dPj?Z8SA)lonogy~T-_}9BUtS!RIN^^Mmw=MNZGR~74y{xp0cp1ST939 zH-X^Gjbe~mW*+@cjN0O-rmG=Bt}ALTo0UJ=K(QRK&y(5xUOO!+c@zN^b=6fH?!qd@ z#p&vksH~LpdFeI=x->|;UCkD_l5bH7n~So~yFr4si+{M45L}jEE-@0YHWbpiG(<<` zDU%G12*fbhLfPjHF%IkoJ&^C`?Fh&||BpfbK$|t2vdH=TBW|C^utbOY!8y3EM(^{+ zq6KwDZb#@DNweF!94?PHgW!;#*zyXphCrrEw$JPR`P4S0g(cx<8@Ike;KoSchFqJZ zo5gIeGIEQg|W8T$hH-1=NHPVf|^9+pjo&IZ?Tis?Ec zm_L7`d!Lu)x_w?=<8-Pl%H3dPpVxCX7>9JMt6RK-S}_jVs{>SqeLnETizR`M6yFkL z@oCArr#P>P^5Pkm;2QpmM~q4_ex=#i=g+XpvouYaagBRM=`1wFxKrppaaIImpZ_-y z_~0y|F5V*hyg#4ENX3L7J54z*4+GEVbuJ_o=^Bsn-2xt8u^ZqnQgNS0an?RhhNL1M zA7N4JgR_lWVZ+YuP0)UXW&*F&MCIr|d%-1=OydMGDE zprqZF)1+h_iClKNG>t%FDNe2=q}I$mpO<~!J%`7MF%VO*OW5ZnXtK}WuJ`%dX&tA- zwcG1`UT*q1;9ysgSdyOVg;~5_rCtVH!~e>#l}hVC&*yn2Xw&F*dua7^=qwBM;y7oY$9k#P?WY#zP*HI5 zp55nNRKh;rj?reDgk`adxHxTr4jWM!US%2pnUHQwr}9e7)do&=KHuRyH)ys|?kdvK zyREC1*|a($2K&5!fgCDf76omb&wptH@e6bgjE>x0w+92p(Qn#y9b)~YiV>O0Rkq$Q zwlGIWmT!sQ?wu{v+X>W3Jqw~6^cpf(skqsBK5x&W`eoas%wRU7Gfq}$h;hbzDHiPL zM$10`HJE<;V>PkQ+c?RGDHG1;Z{WrkMk;Cy3&b#8ndd=r*gkJ277F;PM_I`=Z-1W+ z72hr3@fC*wZlQ|96b*rV4lG+M_5QrjToX$}iW_#>a?-PnTWDvuuYnu#TIy6@iMiUq zBKv&pNW^gBr6ZfzlgQ`R=UL{5bl{OO+sY3FEf~`%dg@ZMIJxSGpxU3pPgDA8bkrqP zVxRw48+aH$Y>S-mnke@9cQf8SoLnQ>P+ew;veH==;2QqN?g>@dfZV-&;Eah5syxM_AZgq)MqX%$an8M88V~{5 z=YJP7=C2Hp%|zC?_~Mo49|6rOJ?Zs;hFtmbJ-p+`O7lM)e{}N=^5~dT!$7;&vv@jI!TX$OSs=>61RC62L zsUf^aq+$~Ss=+$6lhtxkPWL5pHxWQG*NQ)pCEzop6QMBH$re!1k7hxz4Z@uTm1Aa| zSDfH7j61RMs+^nfN(r(4FmP9e4fRCNp@asI9M6QJM?jEZB>@A)f%RD8inPHB*V9;V z1@gIO8yc`61k#nj)lZVR0wbHqr>O-cBO?F&i*L$9x_$r))4 zFmsz-D~bs!Ca_A21OOFw9wT#L>*H1Sq*m5g3tRj^khVtH5%=^nEP+G;5ub`1{GUC4 zDN<78Dwz*`@!$(LX)PNTsffp?)%1F~|Lq?*xpw%}x2`1(^C~_^}NFia{ zSnNciIps<(S?P+(nXWo@MiZ&lh!&+Pv`MpioZ}+wrke$-LV;f!cqw9Ta>UTNUY7+V z@4YlMKCZIQzZ3Moobra@zXCCDWtakOzgNFvGfaAMDeqJq`x|PiHxyBB@fy!bQ(q7y zREF=~x+<;9PMbCs*LmhnS!=sC{dw`3wYGJd;&UY2plAxkDI?ahLeqSsOnF)6ng@2d z&pc7HFwiLFVV_?RdI$9K?Acct+h=X#v&BIluSrMn)lOA#lQq0NJ%W*v7mnA=nq+uP zb-BdXa&VZY!ad%)p)}LnGMHhwsAt}w9=-?TjY!x)uXC!=Ay~uU5S84< z@5$73GW1h&z~#JZA0Lg|y7`8~w|we}a@%~Npg(@k!_$YTvN&xC=a{hq4w@m)Pg(<2 za+?OwGIXcuUC-@1m>=k$e)T^r8)tX@`*;7Qwn-kp6ADQE9bRf)ivWx zoK)1JDpt42TwPNy;j*5n3tt{Mk>B899VKkEvr!PTp>ow695bIRn^E7ZDK~EtfYme(IBC|p;Lp38=&mSL8y4k?Vq{htG6IR*fn18wLko| z?Uhendkva98@BD$wGV&$(Z71|cP@X&Up%r}g>9*{TN6d5=8{FPJooD#vGj&Ny|X!G z3_`g?m$(*%hat8WlN0i1C+5%?jDs!w@@?@&L)RudJ7%-kfwRTLu4~`cD#Ngz7V%u| zVn;;ColpZqAC^aWudbTVWP?gM(KVB!sX4N@rAu)1&!Bj49qH>P5GCHRi=-f6MbSZP zgjfUwK#uLxpy-OpM0JFgkxV%jtc)LbI0c$_Qk<)5`_|ym50EIH<6p5TMt{7PABw_R z6r!a?4S2m)G)`%6o;v3Ov3l1Y>$yTkR3)%LWuO06pf^2tMD~2$H^a27>$#!|KfpCi zZJZQAoTX{OJI2TKB?7TmMPfmS^JPK(WvFF7_&K=@y9?UjF?yK0%Ywx$4P1|81f3Gt zkXmqQ%UITnE$$$~ViD*u-Q&-jd&EJ$Vea6(ceP)j=D_%rWpjC%o*@HW2>i+=%hnmf z?O=PU@eM`?<~>&uC>_5&U6$5BY2hN^+;XB#X^9A7Kw~@g?h{=EWS{@rKxa(ozEBnB z%2w48{|=HjF)>HXrXXKjG@CU6)iymw?2L;jKWuPl;mXTQ?J|vZ*veflGl@-Q%JGXn zC!S9KOm1c&uVAL=JmyGK_2mU;xUWZNtmqV6>egjp=P@&egg6M=0d*9dtVf?HSdzwD zS2!{9={5n@R1)tX!JW2Q5$FjXe#b_*=MJ{6abkYGvpb#Q7sBup!9; zutW4Jl;P%J4^pG^0kIlwbGAay1jv+P^NOBXlu5tj3$~7cMpyRv%b@+Gntl&s>435K za66XidK!~u+MR3bRO`j5l;^sZ3&bTPCyy?1-0nxK-X#TieDD))ef zM(iH&^X|HMo=e2tZRu%h_lukC^M8(uZ}Ac1#AfdfAqUhy%AeW$&aFh+qs@cuFu_@V zXYXm}gXi$@ z17fK9pMhCa$A>s~1^Gl=aOzBQo_K5kz6U@!4RB~Dj96y~BoBTtg;YNJe;x1 zumn%>2QB9u{Dd(f6}x!7dJl*p6bU&?f*(+u%5`agw&qZHJFqa_4D|`uib(>Z0Lc<& zuK4@&Bz$Gdjo4$L9-tE;#gp!c{D6d7Ls@ehOM;Fn4mlOZZ=&yu2`*Yj|ac%Pq4ru@7#e zDfDoC3CAgh*wtpZMja+GMM!gK5ps52(pN7|P)1D_*)2vg*+rL3Hhs^%9&Z+X!kQxj zLx<3=4h~e2dUp&x0r0e!UFmXyd#+OVjG!zwj(pOtil|Z7OaMx9x{w}tFb=%B&P8e z=OyU-B;mFeqRbd}FoN(zy~{XNuz>*?anNd9kDVAKJd%}toyCIYVbA4t({{u{+~;At z1}!+rs?2=R;|B=ZTDW$jrkxkIekJ`i=Vq-x2*PE!cio4I5#izl#NaZTsI7yMU7o(( z*c-)zUjm=-Hw>(bNvQA$?OUIfXHmEB+`;&lukA`0oq$T!Nhh&p=NPGzP*JZ-c_Iw; ziEWzTBSE0b@8D*@S*g3w8jamzT~tb&RSyrfi0AD$pkvK#r+Ks`{z1dUecmxzDcT@n z3&SZIRM(jYvg>uQy;?ZMCek}jyN*aI09-q;K|5X1o=*L2wPlD72ifOe2l4M3uClnK zb$vyPTNtL9g`js_46`*r>g;PsozMwK%OBKf9cO~qD@E2nQrG!LaG}=GLR!O=tPOIF zZ9kAZ^Sd21S$pd~?Q}5^otO>9G#@#TOCDHdTE}9z)g$c1bk9#~W;ke|A0s_Y5j>gY2llJ-C<6uNNOjC~HO+hEPR>)4GMp>ocR zS@Mf&uDMw)J`yIMb-eVty?29sesMDLu4o|1qBJg~7j7NIF<={JwP_a5P}|mhibO#6 z`QJdUpIU2#B%4vLz_mzWZ6;82dNINGq zai2$1o9${5ngS!s)R2c$wm~{|aX_cets@4jy_6A@-EmdN{dvDoin_>kK=iKYY&iuL zHs)|ha7qZ~fNNYCA+{x>F2BIW;C~Ko{E!gW@d#YbOiLviI}|1iv*;N2fX+~@S`Mm+ zEbh-6IiDA&U8h(SmIkinYEG<^V)6t`16qUz{|t)ZXbSh|rRi1%8d76Po8Zk;3O#*QlywpZ^YMyk(S@3jdS7h|e%pu*_JVA#oZOy4v}q z@4&*6pOJ+=Pjec}7fqKWj0$mhFVGv&NHBIzd269u!1v&4YaIxTCFkVr&5l`+nmNX; zH>F{~`6-^DjJ@btL$U>eMnmkTGVe|cO}siDaGeZ$Ga83hN=JRfP}9iRGAto(%kTBd zSm%lxoMdjH+}-@;SMF+FD4ppHEoAayD`D7&Ik?EIx!8?6Gw)=d|DR#~Z3Ak^7M3+W z!22BSQI-kiM$1=#DUXHYSee3>ETyGE7y!g#veF_6%94y679=`jU`EpinF;>cRC?17 zYbD}&dqb#(-HDM`&}IU6dS$9T3U{5U)<)??;hw5PyF`wn@I1ugFs)RVw&scIQ{lTU zskB~Ya$~%vO_iGTiz6E?J2gRstS^$m?Pi6^6kk}0V6k!ICCI(d)GR3R5#zdQv6*jN z`P)QbT9NRB*rBr5oocvcUU{1_3xT`*mK$qQQztyOV-CR3*A_bk0+9uoejEufLbd=D z(<_FLph%bHYaej%6s@;S2XICVQdu6Nt<#@1w%QW&xc0yzi4J0iNlAfyJ~Oj3xigtM z&U_0Al7w%1sta;HuXH=b>x&jFh?c!e8>AKL(dG$~brKVP7XsmBXkFb>GjE2*^G!Bj*(fZ5XN>c4x$GuYq+xcIAatjLv04>}h%C2T%_a z*77}*)Q)E^PZ2)d`f%OeiGP@t>%bP+Y%YIk{t=Nx&5b|CI z1ZMeVg8?VB=;fX6>-K7!HPv>wI#>p{zE{_}DJ>&Ev;^PC(}_T;Z+teZElzN;l-p_@ zq$otJUj~I`x6`-{HPeu5`Rw_yDX;7S zSbW`)KQJWk*200Oi&a6FK9qmE2&S;D&>OI*x?hoVJF1&m3DJuFID) zyr{lk>$Lh(=tSUvl>w1F4HT!0ak%XgXCdCoICA{rAgwsid`^vWUy+sJ(k__}PFRdI zpHi2W(h#HO7nC(@g`QdEYHaf|N?C|AF8dN8_dV+lkbaGcMOo#GiAbpfb~vs*ji_`5INXH;a|qZskDtkrR)(FKQNe zD1?so?2-ksk|a>br>SX!?DW=6JfdQ0{YyJr#S{2q4n8H3xQb%tEvXHc){f)~DpDue z8eEfGSXNJyTQi$=5kAzRKCVE=%8yJl9bp&PUuWW*y1o$Y+i6j3g5|!Qe$_&j@uv{J z<5kxYf@r-&nl-}fHhZX&2(ctxpnkL%QX{vhp3qVuG*eqIS0$C(5`n5nBrR#V+xY^6 z_R;nf3nspR0s}$I8M2@#u%<*V^S&o%syHQQ(Zzr7n#Q{^0$}9;e+U_TRYY+7f$n{G z+AMDHO}+A>A2V~u3EL_f6E;@F@E3BR2^0xF8%=&SHy30St&%F|X#T@&@A}O24?fNY ztK@^>Nw`=PYM36EPpp0MiQD#xS3kOMk7~w1Y-&y_ zT&;iW(Q#>~Km2Q(`1F;!1a%4IseoZatyTJAHKOTbI0~KM%E8GMgRirp0@Njk8BJ(( zev{oOml8Dv_IYnc;7GfstUuQ*E_j%flXY>&qC2>9M4!0=7}}qKNRHf{T2Bs+X%U)% z9%Agp>g<5fc6>ZC2-X}oTC2rJL#)t3EP^9 z&y*TNPyOHj?B9PMuUxuSZQm-jYe+;iNphhzK-32WyE-(LsXqLRYpm;f}^hbynRa;Qzl>Q#B;2Z zpD>m|hq@H>y4ij#+*FpU5c~$z>hTG&hJ%%|y+i$n8x&DeD zTye|0Yj&d3i3X$iz^j>5H;rAT=YH;vDXs;le3ZJoywhZZ$i7@oD?J*5!ENgY8YNDu zTvGOGBQuGgTI$tHI?7+?x3w&uhaz8GW#)hU)QV1EVju z?FzlNWT9(PZC8aGq@G^aXDmjHXvr5$Tj1oxz`AP>i3sD*SCkkM&S>cJw`t_Gbu{gr zww(IRCPa6ZRoUmCg21D*gt~d3V5P?a)Gd`$u`;5Q^wJCGoDrq|cEwqOS{#sBjf?X| z>#g8p%%l54p-2W|(*kh9-$sKLiZ&o;mP-wkSkL@U=obYQU(?QS3?T0HbLQCYW!ki^ zUfZ4_z9jPL44$LfXvG}q#n@|d9jvdRgy-jX+?qSfItx?URc?_ftdz!quV34Xy?|BQ zrQ;0ElO`u%!+1uGaq&oW(dPDyO!()4;(~*(#(mj6l=8YMFWw8KWG>tb?%pdt%04gO zw3>Nhey=p9$4^;f`d6zSr3*{GKM|JQHSEvdmSQ*T5pK{e#pH{~h`&Lzc#FvuvkkhKj>|s(lWrYj#LlgZjAR# zMY(qbu=v~eYc8303F)2z?Br-7b@_`%Gw4i*$_<-}!R^a#;08IHR#0#98{%hB)EXPr z&R@0aqnn<77f%~jh13RalRTwayzjK8}CE*w^U453I}Q9h-^E9K6_ zS-COZLDmym^uRy!97ClSy4MQom0#vT{ESL2I7{~VEAVmeoc!z>sOMDmi>VsYb*WyQ z?uE9^ST?%n?x`C!Yq>bJ@nsljcikMb4-ttdIJn6`d7s#jqxVyr^Mz zPhPC1pV7FwSdCn|H?q%v2+Mjq-5c^Z*gCvX!*MahK_8M;T>IyG`F706e*}4q=!1 z)Sn`&ml~uPDO4w~Zdv?uz&@`tKMc$+oB<$8Q9BCZd3gtk`;l2A>VPISEnpy%{&&_{ zY9jmrO0yQm)`|EkP%tBv?~#_cOyC|m1tF_npSK4w07(s*gfm7qNGz6z#;f~H6Wz91 z#s2r-{F`r<@7tgi($HW>o*kW>Oy9oop0E734}XeLnhE7k-YWU)e(Q}N{+;*#z&Bk# z=!x$P6R6ux%L%bLxxW6#m%r*~Zlbh3+>UM7=0>^LFXe+CX6-Z9n9aT7$FGoK`GlV| z`4B1UXU$xacTvJbkH%H{!5^*4N57 za5T?Lk!2&+iwtjPuZdX<-2vQ~@-g6IQxx#KM{<1*U#6XTU(=9K?DP?*4`L{xBDlrQ0Svve}+a7Lz4Qa=!GIh${1l8HrbP}X& zL;6~y+))fQ5_p}1Kj`cPB*}v^3(ZP0s{2?p60kKs(-nv{>yZt}gAIu0oR#dG^Bpc@ zepa8U3vJ3+y@heo4Ko(yaxcDA-r$ZbHax)_`5yG!hB%b5fzZn51-qpX2uYnu2Lx^_ z=R{taIF^?;bT*|B4agcC3oRRq6G&D2+RB3r+aXdh@*To#NU4cTGbkNeHK`St#855u zBE~}h$v*#Kv~!`^<3BssA0`Sc2`@7$WwYdJMS{K~2joLQ|ks_M@dW zXj+12Mo0%YaO*0nJi>Xsq(wKP9iH>YltLAmj?GF*p_k!0JCRJ#D#4e7c3HH+w3RI% zF+}=Br5#|MT)`=~rK79nB+7Yt_IaMo914`nax8kkh>N{07h5zNH9L`neW@h?V~LZA zX{CBq86!YDduJ*fuo!6yclO zOa&DAaq}=TsZyacK*CW*{&ha|KOT z-9lG;lkmK|zNTZxlGue@A6EUbn`7XYy=do@qX?)93imn7?zRh0TeKZS3<2>pt3u zfb8?%4BBfN^tnZSa%HYmE?`lVzw-kQRq42NQ#g>8oiEdR^t}Oq4%TW(qB=U9A&XBC_ojc~%QCBUuYM*3t*#>@F zFmP~KhK1cVHHt^(FvJa=nd4!Yp*|_NS9eB@^@*Pmy<-FH@#PFd;o4@;sEL``j`jwA z2P>aELGXSaBG55ZWSEB<@q19(p#fzg&_Kc!)x6F3TwE3=Z zLxdXTyH^YoXs!qIR$v%fC^T~`UXnnUbNAv5qb0@Te9WX#zqdR;pZF}H7TM=t4m;=Z zB^l|$v`d%Z{xB1FrP5)pEg&U}F3np|7qENQDl-nx2Ja(h?c?3I&*FlW>X?f1=^`h5mx#99XOE_AWiEW#kxMvt23@qkF_Z+ zk%5G|QBlD)z!eEuhe(w5NUDlz$B~mJyRe$LA+JH^e&;UOLLr zqC32@u^bR-Ga7v#LIegKhsr+xj}W?aI0XYCw;I||^7)?mD1NPtSP40TUYZ&KBF5p_YFj0y%k`G&J=T2ZbW zhG>Py#sK=M6Q|)*kRd5__j|&T2?`($(9|-zSLp12k5CW+@n$?Uw9=|tVcoLt?yCTg zd%vB)#N+Ai$!`%1#;g>ge=M!UTiz>QGR1?(z!v~{ruqZVK8Hy2WJ_Kkzsj{0Tcd-p zPI<(olxOX$pOr9NSMLwE)!t+($JKa-vK}vk>X|Qet6N0hsj+!a`PdRPDtI{=am`W34IAXjaC9CJ1kgjs z$g&|EU6pa42McW_iww@n)5yT&576`gq-x4J$4b$`#M};OSI%nJf5p(bko5~ z9qE^J;B7W$V{d{F+!y#6*^vfjiEDobgC*N!aq3dzF5(c{tl{hR!}qVW$dX#!0tLf} zl9viSh%sDnkRzyMJj$qJovJ`QkmO;2dRjB1CZVI8RMWwYB%M80i*C7*t1k{5)v-u3 zi8`?9&-hiV>87;^KsIJHhzvCkE~pGMc1=iPu>s=vK<68p7q~dCL3%!q)_nb}7TKDa zMbW>_S##%NuY!bj4Ar6uS`%ksJd3Hkjaq_gbUx;VgU)1JEa%%#Bv8k~)^!VEXUrMd zN5Nu2jLlZTmBN>{uh>LI*{z*3IP;V;-13X%6U$y^PPd1?H|A4yAT211T)s zu^j00CB3=VC$k(623u)0x-qzFLl(pPHhQH>J!h%~6ibnNXl=XU$ec))Ka z9W)ky)$Mj@2Loe>B1IyoUS|kxV9|CQ#DYazuwX~TA`%Ov>UPU&P$b$BK|})7MivU2 zC<~B~*t8Xd5Nud_iKQ&Ev{RWU5U;4dSrYT-VXq?RIqtVmuf{iT5 z-qYYkq%HULE{jCc!%e|d?w>{Za?R`|!dF}Ks;Fvo9tTT0fEX>gB;zgE7aAtS0E}~o z#<8uCi^u4a0jB=3G{AflL9ofAcB2&Rfne!G8!Iwk6(VdeSv-E^&3+nDKrp^k*EUwnSENX z9LPj5+@JqwtyQYXD$n@_5Dqu5tsy~O>_Fu)BFwo@-lqF7kKGwA80q5~Xum9Q zkHhRLUisk1PVeyn>-qdW##`Jo=MIkbIY!k&zdTVIu)BNUM?2FE6rkrmyxwuRjsC>` zb_k;Z=nk+08%nq7_BUS!CZO|V^Bfu{a=&y3td#rH`{0H_JmC^<;_K3P82Tsf+epuG z&@1OSADMhjz-9+(=m_3-JDVuu5&(y9j!wkwLw|NrSG2ysubLbN%xn`BaY0u$pf(>iSWOBspo)r70SQyzZDK5?-H=TE<6B3V> z)jB4X2&Rgw&hSNqHP9aV}1hUJa8R=>i*Kb^M@63_bPssXi~_5jtW*b(`3e$AKiKU z-sz`i1P*W|*f&g@)*nFK2&hx5a-gj6SaIXR|%yfIKhqIl zDt9nDiegmT9Z47D1EDY}4AFw%8a;ktLTgjU?i-GN@cK)|2fp{~&}5AaDU^)Iqs{Ls zrhs?&T7;nnT5PQ%_FXKFNfrot3s8KS(Ak91yo(7ZI`ZEuu=qGUpMnx#W@#vRye}mm z6RQfJCGBC;T_*yDNdq(juwxl`(iAHEp~WLVb7Ngsw}k_Lw+kHFc#4inH2Z^<6rtuj zNt0abxMhAEA5B$}>YI3xAXqul_7u&nz&fb}(neS@h2X^ojKF^b4tcYkKtw-!;E0&k zy3`;C_3f@nJOK$tP@9gjB$^%|9i$SF&3C@OezKcU$m81D!Pfu1cvzkOTviLT&yKa} zamk;5=l7@oe)peW`2)1EIP4xl1~Yr_Z2hB`?$fgfesAn9&@BD+s;blt&ft#2VI7XZ z0NBqxv2tv6KIv~dc5Y(yqV?!W6^eApp^GxE^FmOPTJc_`8??dX)JE2E9A3)kYc%B= z?ZIF_CGN}_@pv*#i+vs1qq0r9Kn$9#t<;n?RB}{fE(=^@SQ;TIP0dp-S?(z9w zJmbnctlf!uloZ$rO6l|keyGiQU3m=nHMdX?s<|TWIdKG7M|+s8GlvIgR~J;A(ZD7( zt8Lm)8$rZV8L6iL&VM5b7u=S|+cCdWHm5}FHB*9H>=iVb(*s#DY| z_-7UrJ9mHg%(`>(z7`a=b^Z>*N8~m!2k-p&><&Nr$5VAb0VQk>0()n4=G=E4e)t=+ zzxm%iTzA>$L(GnC^CZ{TtA&i}(_RKv|L^I@bJe-q;_}_S=}Y(B=XX^#DxJ3G1i!R! zr4eVuD@h1iMVHaS1_6p2IM1JySQBQ`qKqFl^9%zPKy(C9&6BO#N|aQS4;sX2b--O! z2s@e(zyT^ZaS=!_xJ96djLvJ>(IS^-%;R-wWh+pi`}`N6=ckv_MGJ?Jmuly7LRc9V zhUA#e^_vCq&9|mtew^R6@8+%U+BAyd<6b$6+!B%7n`^MWnU#dVQ??^yhPV6BsyH%u z1nanm=~fzqfpQbsyvaig8iYFoOGDw_Zp&WLTFTmv??*#%;F+JbXzg_ZU3^Tzu;+Z& z8>PqKuAV-gcni~>&f}40hH25GVWfhO5t{^Gb)VOhn9b#UUv?!TJ7im~&D$@fBk(Fl zA)?kZgFB0-vV8(q7XewVYF@3n6>Gc5I$THcTg!^u9aa|)mOA5pSY+86URLlEIg0?U z<6IY9UrX2J(MsFVeg03eTmR}@tv#F8uKRAu;jnkEY^vNin|;;oZSce^ZWw<@~(Y23B{4_Aq6!`O8qt}AW%R94eQnU^F2 zlH6=pI95uyfUFmtGhp01wD;#Z5(&srIDxE8KHE2KuzU0FqGMCP_ig<&DcJU7Wh4tE7xEsoj3_98J@ehNF(z?vE5Q+ytdD4#j-87l#VF!2%e=`x^7%) zbJ5P!NIhj@RqvYKHPhI8rWpl2R@EyOW?}65AQ0t(_zh?2v4vhcI8gh7*DC-b4OLt~ zw`ZC~1IfL6)CJpuTI*!_!FZ#yx$*XlJfu5jZTmT_!&4mchdPY-a|UsY~~^I?3n%Q4<^ zYAYcSBqMT$FN4xpq3j8^IwDaxQ4+$@%sObc1VsrqnS~RA3EsiM`F;!nur_1|Xrty; zTmI7JPA{0o8R0KfL zKtkTlM62{S1R5>zmE^N_3cI*TTcls7IrC}KlT!mRl6+&6>Cwx+qSK#|(e}qeZ*PNf zy1Ol}JvbzO64Wh}=>r=UR(-3_Z9Zho?Gx&>ypYZ|v+p*j7vIyFq2eRVNyPJ};vz_` zWS*4x%4R#YC}%Ho*-M}__uSqqLt1M{q*WksYV_->Yo)`GIf%%6u$OFOVPt-Wi8sWW z6b~^xHS~);kv?A#8Qtgq1i|LM`gyd{9qzw+GLNHKSGmWI+_yl~ZYQVjel7r#@rEl` z86~09iY8ULwFUieeE7nPcTn-J+d*oRA+F6*gFK_jlGD$u#<)!tx1 z8My*U)4N?aePYg#J1M48DNguj00Wd87HZ0xiY8EFX(xeE+#!x7P`%Hi#naRVY+|(j z+F#YGK{5aZ=#JZc85nHEM*$SP!HPvjzt7{I()PW*hkyJ>FYxmlhg!clysw`%m>iuI z`)~d5)ymOB`vd~?w+8}{LkzE@Dtb}#<-#C~k@o9u_{uu_)8QGS~Q-sFqn?sdU zWGs|p8O6=?-Xkl&XoBbL;47ZD{{jqC_}ho1nc!_h#J@y%km!HB7g6_wvNV7jC11c< z&@zyE8N#D9h_-@B8JOd|CM5%^ncIWqAp3pZ`w0*0hQgu;W{z4+6v>$myE%?WzNa-8 zGrZqH8sU^(w}<#_h_{Y%hhuA}L$XOOJ!Ftd_nv;5-8r)V+K;AOk#AxjlXLo|Y_)es@`wMSm@YNis-4LE`Yr@|2Q-#1!P56CL~M0=3<~>WdI3 z0SqWxjcS5ooQfeXH32neR!dGib?T0QgGQOzxeiq2AbFvKcYW%x%pvqS>tmOnOiZktU26suh+CxBTZ3unQCJ&dP zv~))p4+XxFwC=wS0$SK|y{#I=u!`-nO1Ow_aqmGGYNVU74+oqn$eK$ATePRHh+7bTx$~AkK?X{I8skV>O}+wkz01OCtXo8jUD2UF z3GO3yXw;!xOsKnM&H&`7Cm^I{T~`h1Ii}G1>xF?uJX$#3nBr3N5cj6U6(<&weB&A4 z{#eeb_n4Kxw2?Dbay5KBtmZWCd*JC^NtH;$^0%;NOkc_^w0lvLhNjV?dY0hVeg0q3 z{?9aJIV+OlV8InWQB+gChEz@O**H_{4be+m3Y0HzMzLh-*1z?DkNMs~<<9h&pX#~{ zD?%$7sfA{vyRnB5dq%$V5Xj_T-v8}&=l_B}SQ_uvH&GP+%9e{+^Cnd*4*jnIrpqI_Mjn z-}p%-Kw!Ic&JE#=`V)K-0&XB7kD2PvfDJENgE}z43|}A0Awx(6C~NVFCIGUuPC^-( z_1lTrb)fY)^<%b9(o%^}w4xag!8VR%Yh%NS!xYjfr4@g^apwb^t-W08pR*U7qD`p^ zuLz)4@bh2|8aj1{nk%6c#oEAaf*NEis@>8Ewf3}r%_%hstPuXD5{l%DmP)gSX!hbq z?-vL}V;dCZFnCT=-7g8>uA1=HFFpH%XHPdbt4B~faXLfYt%)`_D}mHObYIRggic2p)i2eoL{GZ0rC=~+Nh#@AWiM<+tL za&SWpHA;CQ+LY1S%#1qy4FiQLC}W`bNki`ha|cEdh{$vx4ZvoXuDsMH!{Zz%780_J zme^ClOHS5_@PTJHJwf}&4llcatalLnh>ZQ|C3?&Y?i8LOOF7`w9o8UafjgWO_y)WC zj+~ctvgh8ImaP2*I2A!k_yw>>mts>?Q1c7^eGuXy)_nVapTV< z>ZJLnHEVh%k`X;B4GKm>KWO^_bf4Ga&ql%(=bZHS^nR*a9YU*9HK-{Lp+SbLt;hoD zM-yFbdrzhIZ1!Db|D5pEv(=QyMXFGLF%OT>a!XlkDR#h zmGAH32anzHs>-&}nY zH>fc?C|%kLURqKGWdUhjeaCNn7b(7qb?~A#7p`BOyQ7*;qy5?zkX4MpQLeR_xJgK! zCvpgZeX=(ZuL|ile+4bwSgfzWm)oRL_j$&0^2O0c)zb@?x%?a-Hv+T^3!Whpx6bq0 zTYh;HQ%m}V8T?T&g#z9Y0g=HofN|zSMH9U5HLVUzO}iWxJfNt>x2WwP@D?ONDkwK2 zHqR0Q_W;NMeGZxD)GbieG=Bj>ToCKXN|K)!hs2bSz-=o{N2#O47ZJVOOnqa=x{2GJ zVq*E2v4)H)&=i3ciQO8By?NKhUbe-E=1XS6d0DKAuc}6L$cL+@&^~FEg@7 z8&iD>@ff!>`kCfat3#_7ceFS0AFfdY0!TzI$U7|;4FSB}qJ5^R4XPu%=&HA5xWRWL z1<_XRlC#0g8@`@!}0%PJ+jX5A{&( z^B67Q881Ld;}{uE+&`KKUF?>z;OVuo5J&0d_9xXM_}$LIUB_a4TxuC$F-Q$!vk+Or zTLI0=D=+17U((0R*k}twwmQ&dlznVu>hZGKXPm|heZmkctUQr~LbC~9f4GuvQo73I%)y}KMdwJnA{MQsH ZnP<(9Ox^sRyj^ZyQ^(&fr!Q^I{{xPUk!%0} literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/Source-Insight/Linux-0.11.PS b/linux-0.11-lab/cur/Source-Insight/Linux-0.11.PS new file mode 100644 index 0000000000000000000000000000000000000000..2c515c4dd3f2da9176ef09bd338843664bd433cf GIT binary patch literal 623496 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

    gTMo^M<*{ia#Sx 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 Cri=yv literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/Makefile b/linux-0.11-lab/cur/linux/Makefile new file mode 100644 index 0000000..ecbcf30 --- /dev/null +++ b/linux-0.11-lab/cur/linux/Makefile @@ -0,0 +1,125 @@ +# +# if you want the ram-disk device, define this to be the +# size in blocks. +# +RAMDISK = #-DRAMDISK=512 + +AS86 =as86 -0 -a +LD86 =ld86 -0 + +AS =as +LD =ld +LDFLAGS =-m elf_i386 -Ttext 0 -e startup_32 -Map=System.map.2 -N +CC =gcc -march=i386 $(RAMDISK) +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -fno-stack-protector -mcld +CPP =cpp -nostdinc -Iinclude + +# +# ROOT_DEV specifies the default root-device when making the image. +# This can be either FLOPPY, /dev/xxxx or empty, in which case the +# default of /dev/hd6 is used by 'build'. +# +ROOT_DEV= + +ARCHIVES=kernel/kernel.o mm/mm.o fs/fs.o +DRIVERS =kernel/blk_drv/blk_drv.a kernel/chr_drv/chr_drv.a +MATH =kernel/math/math.a +LIBS =lib/lib.a + +.c.s: + $(CC) $(CFLAGS) \ + -nostdinc -Iinclude -S -o $*.s $< +.s.o: + $(AS) -o $*.o $< +.c.o: + $(CC) $(CFLAGS) \ + -nostdinc -Iinclude -c -o $*.o $< + +all: Image + +Image: boot/bootsect boot/setup tools/system tools/build + cp -f tools/system system.tmp + strip system.tmp + tools/build boot/bootsect boot/setup system.tmp $(ROOT_DEV) > Image + rm -f system.tmp + sync + +disk: Image + dd bs=8192 if=Image of=/dev/PS0 + +tools/build: tools/build.c + $(CC) $(CFLAGS) \ + -o tools/build tools/build.c + +boot/head.o: boot/head.s + +tools/system: boot/head.o init/main.o \ + $(ARCHIVES) $(DRIVERS) $(MATH) $(LIBS) + $(LD) $(LDFLAGS) boot/head.o init/main.o \ + $(ARCHIVES) \ + $(DRIVERS) \ + $(MATH) \ + $(LIBS) \ + -o tools/system + nm tools/system | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw]\)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort >System.map + +kernel/math/math.a: FORCE + (cd kernel/math; make) + +kernel/blk_drv/blk_drv.a: FORCE + (cd kernel/blk_drv; make) + +kernel/chr_drv/chr_drv.a: FORCE + (cd kernel/chr_drv; make) + +kernel/kernel.o: FORCE + (cd kernel; make) + +mm/mm.o: FORCE + (cd mm; make) + +fs/fs.o: FORCE + (cd fs; make) + +lib/lib.a: FORCE + (cd lib; make) + +FORCE: + +boot/setup: boot/setup.s + $(AS86) -o boot/setup.o boot/setup.s + $(LD86) -s -o boot/setup boot/setup.o + +boot/bootsect: boot/bootsect.s + $(AS86) -o boot/bootsect.o boot/bootsect.s + $(LD86) -s -o boot/bootsect boot/bootsect.o + +tmp.s: boot/bootsect.s tools/system + (echo -n "SYSSIZE = (";ls -l tools/system | grep system \ + | cut -c25-31 | tr '\012' ' '; echo "+ 15 ) / 16") > tmp.s + cat boot/bootsect.s >> tmp.s + +clean: + rm -f Image System.map tmp_make core System.map.2 + rm -f boot/bootsect boot/setup + rm -f init/*.o tools/system tools/build boot/*.o + (cd mm;make clean) + (cd fs;make clean) + (cd kernel;make clean) + (cd lib;make clean) + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in init/*.c;do echo -n "init/";$(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + (cd fs; make dep) + (cd kernel; make dep) + (cd mm; make dep) + +### Dependencies: +init/main.o : init/main.c include/unistd.h include/sys/stat.h \ + include/sys/types.h include/sys/times.h include/sys/utsname.h \ + include/utime.h include/time.h include/linux/tty.h include/termios.h \ + include/linux/sched.h include/linux/head.h include/linux/fs.h \ + include/linux/mm.h include/signal.h include/asm/system.h include/asm/io.h \ + include/stddef.h include/stdarg.h include/fcntl.h diff --git a/linux-0.11-lab/cur/linux/System.map b/linux-0.11-lab/cur/linux/System.map new file mode 100644 index 0000000..d6d5630 --- /dev/null +++ b/linux-0.11-lab/cur/linux/System.map @@ -0,0 +1,588 @@ +00000000 T pg_dir +00000000 T startup_32 +0000005a t check_x87 +00000073 t setup_idt +00000090 t rp_sidt +000000a3 t setup_gdt +00001000 t pg0 +00002000 t pg1 +00003000 t pg2 +00004000 t pg3 +00005000 T tmp_floppy_area +00005412 t L6 +00005414 t int_msg +00005428 t ignore_int +00005450 t setup_paging +000054ae t idt_descr +000054b6 t gdt_descr +000054c0 T idt +00005cc0 T gdt +000064c0 T fork +000064ef T pause +0000651e T setup +00006555 T sync +00006584 t time_init +00006799 T main +0000690c t printf +0000695b T init +00006bd3 T print_nr +00006c04 T show_task +00006c89 T show_stat +00006ccf T math_state_restore +00006d2d T schedule +00006edf T sys_pause +00006ef5 T sleep_on +00006f54 T interruptible_sleep_on +0000700f T ticks_to_floppy_on +000070da T floppy_on +00007109 T floppy_off +00007119 T do_floppy_timer +00007311 T do_timer +00007400 T sys_alarm +0000747f T sys_getpid +0000748b T sys_getppid +00007497 T sys_getuid +000074a6 T sys_geteuid +000074b6 T sys_getgid +000074c6 T sys_getegid +000074d5 T sys_nice +00007500 T sched_init +00007690 t bad_sys_call +00007698 t reschedule +000076a4 T system_call +000076df t ret_from_sys_call +00007728 T coprocessor_error +0000774a T device_not_available +00007784 T timer_interrupt +000077bc T sys_execve +000077cc T sys_execve2 +000077dc T sys_fork +000077f4 T hd_interrupt +00007830 T floppy_interrupt +00007866 T parallel_interrupt +0000786d t _get_base +0000789f t die +00007a81 T do_double_fault +00007aa4 T do_general_protection +00007ac7 T do_divide_error +00007aea T do_int3 +00007bb2 T do_nmi +00007bd5 T do_debug +00007bf8 T do_overflow +00007c1b T do_bounds +00007c3e T do_invalid_op +00007c61 T do_device_not_available +00007c84 T do_coprocessor_segment_overrun +00007ca7 T do_invalid_TSS +00007cca T do_segment_not_present +00007ced T do_stack_segment +00007d10 T do_coprocessor_error +00007d44 T do_reserved +00007d67 T trap_init +0000804b T divide_error +00008050 t no_error_code +00008080 T debug +00008087 T nmi +0000808e T int3 +00008095 T overflow +0000809c T bounds +000080a3 T invalid_op +000080aa T coprocessor_segment_overrun +000080b1 T reserved +000080b8 T irq13 +000080cd T double_fault +000080d2 t error_code +00008104 T invalid_TSS +0000810b T segment_not_present +00008112 T stack_segment +00008119 T general_protection +00008120 t _get_base +00008152 T verify_area +000081b9 T copy_mem +00008313 T copy_process +000087c0 T find_empty_process +00008854 T panic +0000888f T printk +000088e0 t skip_atoi +0000893b t number +00008bac T vsprintf +00009038 t get_fs_long +0000904e t put_fs_byte +00009066 t put_fs_long +00009072 T sys_ftime +00009078 T sys_break +0000907e T sys_ptrace +00009084 T sys_stty +0000908a T sys_gtty +00009090 T sys_rename +00009096 T sys_prof +0000909c T sys_setregid +00009155 T sys_setgid +000091ec T sys_acct +000091f2 T sys_phys +000091f8 T sys_lock +000091fe T sys_mpx +00009204 T sys_ulimit +0000920a T sys_time +00009266 T sys_setreuid +00009348 T sys_setuid +000093dd T sys_stime +00009433 T sys_times +000094d3 T sys_brk +00009515 T sys_setpgid +000095ee T sys_getpgrp +000095fa T sys_setsid +00009674 T sys_getgroups +0000967a T sys_setgroups +00009680 T sys_uname +000096e9 T sys_sethostname +000096ef T sys_getrlimit +000096f5 T sys_setrlimit +000096fb T sys_getrusage +00009701 T sys_gettimeofday +00009707 T sys_settimeofday +0000970d T sys_umask +00009740 T sys_getdents +000098d5 T sys_pipe2 +00009ad7 T sys_sleep +00009b10 T sys_mmap +00009b16 T sys_munmap +00009b1c T sys_clone +00009b22 t _get_base +00009b54 t put_fs_long +00009b60 T release +00009bc4 t send_sig +00009c43 t kill_session +00009c9d T sys_kill +00009e4d t tell_father +00009ed7 T do_exit +0000a10b T sys_exit +0000a124 T sys_waitpid +0000a34a t get_fs_byte +0000a358 t put_fs_byte +0000a370 t put_fs_long +0000a37c T sys_sgetmask +0000a388 T sys_ssetmask +0000a3b4 T sys_sigpending +0000a3ba T sys_sigsuspend +0000a3c0 t save_old +0000a413 t get_new +0000a453 T sys_signal +0000a4d7 T sys_sigaction +0000a5e1 T do_signal +0000a7cd T kernel_mktime +0000a912 t oom +0000a931 T get_free_page +0000a96d T free_page +0000a9dc T free_page_tables +0000aadb T copy_page_tables +0000ac5c T put_page +0000ad48 T un_wp_page +0000ae00 T do_wp_page +0000ae8b T get_empty_page +0000aecb t try_to_share +0000b05d t share_page +0000b111 T do_no_page +0000b2a6 T do_no_page_myself +0000b408 T mem_init +0000b47c T calc_mem +0000b571 T page_fault +0000b5a8 t get_fs_long +0000b5be T sys_ustat +0000b5c4 T sys_utime +0000b671 T sys_access +0000b74d T sys_chdir +0000b7c1 T sys_chroot +0000b835 T sys_chmod +0000b8cf T sys_chown +0000b94a T sys_open +0000bbed T sys_creat +0000bc10 T sys_close +0000bcdf T sys_lseek +0000bdf6 T sys_read +0000bfe9 T sys_write +0000c197 t lock_inode +0000c1c4 t unlock_inode +0000c1e2 T invalidate_inodes +0000c251 T sync_inodes +0000c2a8 t _bmap +0000c694 T bmap +0000c6b7 T create_block +0000c6da T iput +0000c849 T get_empty_inode +0000c99e T get_pipe_inode +0000ca13 T iget +0000cbd8 t read_inode +0000ce0e T sys_sync +0000ce71 T sync_dev +0000cf6a T invalidate_buffers +0000cfdc T check_disk_change +0000d086 t remove_from_queues +0000d17d t insert_into_queues +0000d242 t find_buffer +0000d2aa T get_hash_table +0000d32c T getblk +0000d4ca T brelse +0000d513 T bread +0000d598 T bread_page +0000d6ba T breada +0000d7af T buffer_init +0000d8de t lock_super +0000d90b t free_super +0000d950 T get_super +0000d9bf T put_super +0000da92 t read_super +0000ddd5 T sys_umount +0000df36 T sys_mount +0000e0a7 T mount_root +0000e2b5 t get_fs_byte +0000e2c3 t put_fs_byte +0000e2db T block_write +0000e42d T block_read +0000e558 t get_fs_byte +0000e566 t put_fs_byte +0000e57e t rw_ttyx +0000e5c6 t rw_tty +0000e616 t rw_ram +0000e61c t rw_mem +0000e622 t rw_kmem +0000e628 t rw_port +0000e6c2 t rw_memory +0000e798 T rw_char +0000e802 t get_fs_byte +0000e810 t put_fs_byte +0000e828 T file_read +0000e9d3 T file_write +0000ebcd t put_fs_byte +0000ebe5 t cp_stat +0000ecbc T sys_stat +0000ed06 T sys_lstat +0000ed21 T sys_fstat +0000ed7e T sys_readlink +0000ed84 t _get_base +0000edb6 t get_fs_byte +0000edc4 t get_fs_long +0000edda t put_fs_byte +0000edf2 t put_fs_long +0000edfe t get_fs +0000ee12 t get_ds +0000ee26 t set_fs +0000ee2d T sys_uselib +0000ee33 t create_tables +0000ef7e t count +0000efbd t copy_strings +0000f179 t change_ldt +0000f2fc T do_execve +0000fd7e T do_execve2 +00010858 t get_fs_byte +00010866 t put_fs_byte +0001087e t put_fs_long +0001088a T read_pipe +00010b5f T sys_pipe +00010d61 t get_fs_byte +00010d6f t put_fs_byte +00010d87 t permission +00010e28 t match +00010e90 t find_entry +000112ea t get_dir +000114d7 t dir_namei +00011556 T namei +0001166c T open_namei +000119bf T sys_mknod +00011bef T sys_mkdir +00011fa0 t empty_dir +0001217e T sys_rmdir +000124d6 T sys_unlink +00012777 T sys_symlink +0001277d T sys_link +000129d7 T sys_getcwd +00012c68 T free_block +00012dda T new_block +00012f7e T free_inode +000130e5 T new_inode +000132bf t dupfd +00013399 T sys_dup2 +000133c0 T sys_dup +000133db T sys_fcntl +0001351a T sys_ioctl +000135eb t free_ind +0001368a t free_dind +00013729 T truncate +0001385e T sys_select +00013864 t lock_buffer +00013891 t unlock_buffer +00013a83 t make_request +00013c27 T ll_rw_block +00013c80 T blk_dev_init +00013cce t unlock_buffer +00013d03 t end_request +00013db4 T floppy_deselect +00013deb T floppy_change +00013e71 t setup_DMA +00013f27 t output_byte +00013f9d t result +0001405a t bad_flp_intr +000140b9 t rw_interrupt +000141a8 T setup_rw_floppy +00014269 t seek_interrupt +000142c2 t transfer +000143f7 t recal_interrupt +00014441 T unexpected_floppy_interrupt +00014486 t recalibrate_floppy +000144e8 t reset_interrupt +0001452d t reset_floppy +000145aa t floppy_on_interrupt +00014615 t do_fd_request +00014819 T floppy_init +0001486b t unlock_buffer +000148a0 t end_request +0001493f T sys_setup +00014cf2 t controller_ready +00014d86 t hd_out +00014e73 t drive_busy +00014ed9 t reset_controller +00014f56 t reset_hd +00014fee T unexpected_hd_interrupt +00015001 t bad_rw_intr +0001503f t read_intr +00015165 t recal_intr +0001517f t do_hd_request +00015480 T hd_init +000154fa t unlock_buffer +0001552f t end_request +000155ce t do_rd_request +00015704 T rd_init +0001575a T rd_load +00015a06 t get_fs_byte +00015a14 t put_fs_byte +00015a2c T tty_init +00015a3d T tty_intr +00015ab1 t sleep_if_empty +00015ae9 t sleep_if_full +00015b5d T copy_to_cooked +00016118 T tty_read +00016486 T tty_write +00016698 T do_tty_interrupt +000166c0 T chr_dev_init +000166c1 t gotoxy +0001670f t set_origin +00016775 t scrup +00016965 t scrdown +00016a5c t lf +00016a92 t ri +00016ac8 t cr +00016ae9 t del +00016b1b t csi_J +00016bac t csi_K +00016c5e T csi_m +00016cc5 t set_cursor +00016d2b t respond +00016d83 t insert_char +00016de6 t insert_line +00016e2a t delete_char +00016e88 t delete_line +00016ecc t csi_at +00016f0a t csi_L +00016f48 t csi_P +00016f86 t csi_M +00016fc4 t save_cur +00016fd9 t restore_cur +00016ff8 T con_write +00017686 T con_init +000178bd T sysbeepstop +000178e6 t sysbeep +00017944 t mode +00017945 t leds +00017946 t e0 +00017947 T keyboard_interrupt +00017970 t e0_e1 +0001799b t set_e0 +000179a4 t set_e1 +000179ad t put_queue +000179e6 t ctrl +000179fe t unctrl +00017a02 t unalt +00017a18 t lshift +00017a20 t unlshift +00017a28 t rshift +00017a30 t unrshift +00017a38 t caps +00017a5a t set_leds +00017a70 t uncaps +00017a78 t scroll +00017a81 t num +00017a8a t cursor +00017aaa t cur2 +00017ad3 t cur +00017adf t ok_cur +00017aed t num_table +00017afa t cur_table +00017b07 t func +00017b24 t ok_func +00017b37 t end_func +00017b38 t func_table +00017b68 t key_map +00017bc9 t shift_map +00017c8b t do_self +00017cf3 t none +00017cf4 t minus +00017d09 t key_table +00018109 t kb_wait +00018112 t reboot +00018124 t die +00018126 t init +0001819b T rs_init +0001821e T rs_write +0001826c T rs1_interrupt +00018274 T rs2_interrupt +00018279 t rs_int +00018290 t rep_int +000182ad t end +000182bb t jmp_table +000182cc t modem_status +000182d4 t line_status +000182dc t read_char +00018363 t get_fs_byte +00018371 t get_fs_long +00018387 t put_fs_byte +0001839f t put_fs_long +000183ab t change_speed +00018429 t flush +0001843b t send_break +0001843c t get_termios +00018498 t set_termios +000184e8 t get_termio +000185b0 t set_termio +00018674 T tty_ioctl +00018972 t get_fs_byte +00018980 T math_emulate +00018a63 T math_error +00018a83 T _exit +00018a93 T open +00018adc T close +00018b50 T dup +00018b87 T setsid +00018bb6 T execve +00018c53 T strcpy +00018c6f T strncpy +00018c94 T strcat +00018cbf T strncat +00018cf4 T strcmp +00018d1b T strncmp +00018d49 T strchr +00018d76 T strrchr +00018da5 T strspn +00018de2 T strcspn +00018e1f T strpbrk +00018e56 T strstr +00018e8f T strlen +00018eb2 T strtok +00018f35 T memcpy +00018f55 T memmove +00018fa9 T memcmp +00018fd3 T memchr +0001900b T memset +0001d008 d envp_rc +0001d01c d envp +0001d040 D sys_call_table +0001d1bc D NR_syscalls +0001d1c0 d init_task +0001e1c0 D current +0001e1e0 D task +0001e2e0 D stack_start +0001e2e8 D current_DOR +0001e300 d thisname.2124 +0001e340 d month +0001e380 d last_inode.1935 +0001e384 D start_buffer +0001e3a0 d crw_table +0001e3c0 d ioctl_table +0001e3e0 d floppy_type +0001e4a0 d cur_spec1 +0001e4a4 d cur_rate +0001e4a8 d floppy +0001e4ac d current_track +0001e4b0 d callable.1844 +0001e4c0 D tty_table +000209e0 D table_list +00020a00 d quotient +00020a20 D _ctype +00020b21 B __bss_start +00020b21 D _edata +00020b40 b printbuf +00020f40 b memory_end +00020f44 b buffer_memory_end +00020f48 b main_memory_start +00020f60 B jiffies +00020f64 B startup_time +00020f68 B last_task_used_math +00020f7c b mon_timer +00020f8c b moff_timer +00020fa0 b timer_list +000212a0 b next_timer +000212a4 B last_pid +000212c0 b buf +000216c0 b HIGH_MEMORY +000216e0 b mem_map +000225e0 B inode_table +00022ce0 B nr_buffers +00022ce4 b free_list +00022ce8 b buffer_wait +00022cec B ROOT_DEV +00022d20 B blk_dev +00022d58 B do_floppy +00022d5c B selected +00022d64 b recalibrate +00022d68 b reset +00022d6c b seek +00022d70 b reply_buffer +00022d77 b current_drive +00022d78 b sector +00022d79 b head +00022d7a b track +00022d7b b seek_track +00022d7c b command +00022d80 B do_hd +00022da0 B hd_info +00022dd0 b recalibrate +00022dd4 b reset +00022dd8 b NR_HD +00022de0 b hd +00022e30 B rd_length +00022e34 b cr_flag.1923 +00022e40 B beepcount +00022e44 b video_type +00022e48 b video_num_columns +00022e4c b video_size_row +00022e50 b video_num_lines +00022e54 b video_page +00022e58 b video_mem_start +00022e5c b video_mem_end +00022e60 b video_port_reg +00022e62 b video_port_val +00022e64 b video_erase_char +00022e68 b origin +00022e6c b scr_end +00022e70 b pos +00022e74 b x +00022e78 b y +00022e7c b top +00022e80 b bottom +00022e84 b state +00022e88 b npar +00022ea0 b par +00022ee0 b ques +00022ee4 b saved_x +00022ee8 b saved_y +00022f00 B drive_info +00022f20 B user_stack +00023f20 B hash_table +00024400 B super_block +00024760 B file_table +00024b60 B request +00024fe0 B rd_start +00024fe4 B _ctmp +00024fe8 B errno +00024fec B ___strtok +00024ff0 B end +00024ff0 B _end diff --git a/linux-0.11-lab/cur/linux/System.map.2 b/linux-0.11-lab/cur/linux/System.map.2 new file mode 100644 index 0000000..90adbbb --- /dev/null +++ b/linux-0.11-lab/cur/linux/System.map.2 @@ -0,0 +1,1085 @@ +Archive member included to satisfy reference by file (symbol) + +kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + fs/fs.o (ll_rw_block) +kernel/blk_drv/blk_drv.a(floppy.o) + kernel/kernel.o (do_floppy) +kernel/blk_drv/blk_drv.a(hd.o) + kernel/kernel.o (do_hd) +kernel/blk_drv/blk_drv.a(ramdisk.o) + kernel/blk_drv/blk_drv.a(hd.o) (rd_load) +kernel/chr_drv/chr_drv.a(tty_io.o) + kernel/kernel.o (tty_table) +kernel/chr_drv/chr_drv.a(console.o) + kernel/chr_drv/chr_drv.a(tty_io.o) (con_write) +kernel/chr_drv/chr_drv.a(keyboard.2.o) + kernel/chr_drv/chr_drv.a(console.o) (keyboard_interrupt) +kernel/chr_drv/chr_drv.a(serial.o) + kernel/chr_drv/chr_drv.a(tty_io.o) (rs_init) +kernel/chr_drv/chr_drv.a(rs_io.o) + kernel/chr_drv/chr_drv.a(serial.o) (rs1_interrupt) +kernel/chr_drv/chr_drv.a(tty_ioctl.o) + fs/fs.o (tty_ioctl) +kernel/math/math.a(math_emulate.o) + kernel/kernel.o (math_emulate) +lib/lib.a(ctype.o) kernel/chr_drv/chr_drv.a(tty_io.o) (_ctmp) +lib/lib.a(_exit.o) init/main.o (_exit) +lib/lib.a(open.o) init/main.o (open) +lib/lib.a(close.o) init/main.o (close) +lib/lib.a(errno.o) init/main.o (errno) +lib/lib.a(write.o) init/main.o (write) +lib/lib.a(dup.o) init/main.o (dup) +lib/lib.a(setsid.o) init/main.o (setsid) +lib/lib.a(execve.o) init/main.o (execve) +lib/lib.a(wait.o) init/main.o (wait) +lib/lib.a(string.o) fs/fs.o (strncpy) + +分配公共符号 +公共符号 大小 文件 + +errno 0x4 lib/lib.a(errno.o) +hash_table 0x4cc fs/fs.o +___strtok 0x4 lib/lib.a(string.o) +rd_start 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) +request 0x480 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) +user_stack 0x1000 kernel/kernel.o +_ctmp 0x1 lib/lib.a(ctype.o) +super_block 0x360 fs/fs.o +drive_info 0x20 init/main.o +file_table 0x400 fs/fs.o + +Discarded input sections + + .note.GNU-stack + 0x0000000000000000 0x0 init/main.o + .note.GNU-stack + 0x0000000000000000 0x0 kernel/kernel.o + .note.GNU-stack + 0x0000000000000000 0x0 mm/mm.o + .note.GNU-stack + 0x0000000000000000 0x0 fs/fs.o + .note.GNU-stack + 0x0000000000000000 0x0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/blk_drv/blk_drv.a(floppy.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/blk_drv/blk_drv.a(hd.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/blk_drv/blk_drv.a(ramdisk.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/chr_drv/chr_drv.a(tty_io.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/chr_drv/chr_drv.a(console.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/chr_drv/chr_drv.a(serial.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/math/math.a(math_emulate.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(ctype.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(_exit.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(open.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(close.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(errno.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(write.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(dup.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(setsid.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(execve.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(wait.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(string.o) + +内存配置 + +名称 来源 长度 属性 +*default* 0x0000000000000000 0xffffffffffffffff + +Linker script and memory map + +段 .text 的地址设置为 0x0 +LOAD boot/head.o +LOAD init/main.o +LOAD kernel/kernel.o +LOAD mm/mm.o +LOAD fs/fs.o +LOAD kernel/blk_drv/blk_drv.a +LOAD kernel/chr_drv/chr_drv.a +LOAD kernel/math/math.a +LOAD lib/lib.a + 0x0000000008048000 PROVIDE (__executable_start, 0x8048000) + 0x0000000008048074 . = (0x8048000 + SIZEOF_HEADERS) + +.interp + *(.interp) + +.note.gnu.build-id + *(.note.gnu.build-id) + +.hash + *(.hash) + +.gnu.hash + *(.gnu.hash) + +.dynsym + *(.dynsym) + +.dynstr + *(.dynstr) + +.gnu.version + *(.gnu.version) + +.gnu.version_d + *(.gnu.version_d) + +.gnu.version_r + *(.gnu.version_r) + +.rel.init + *(.rel.init) + +.rel.text 0x0000000008048074 0x0 + *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) + .rel.text 0x0000000000000000 0x0 boot/head.o + +.rel.fini + *(.rel.fini) + +.rel.rodata + *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) + +.rel.data.rel.ro + *(.rel.data.rel.ro .rel.data.rel.ro.* .rel.gnu.linkonce.d.rel.ro.*) + +.rel.data 0x0000000008048074 0x0 + *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) + .rel.data 0x0000000000000000 0x0 boot/head.o + +.rel.tdata + *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) + +.rel.tbss + *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) + +.rel.ctors + *(.rel.ctors) + +.rel.dtors + *(.rel.dtors) + +.rel.got + *(.rel.got) + +.rel.bss + *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) + +.rel.ifunc + *(.rel.ifunc) + +.rel.plt 0x0000000008048074 0x0 + *(.rel.plt) + 0x0000000008048074 PROVIDE (__rel_iplt_start, .) + *(.rel.iplt) + .rel.iplt 0x0000000000000000 0x0 boot/head.o + 0x0000000008048074 PROVIDE (__rel_iplt_end, .) + +.init + *(SORT(.init)) + +.plt 0x0000000008048080 0x0 + *(.plt) + *(.iplt) + .iplt 0x0000000000000000 0x0 boot/head.o + +.text 0x0000000000000000 0x1902f + *(.text.unlikely .text.*_unlikely .text.unlikely.*) + *(.text.exit .text.exit.*) + *(.text.startup .text.startup.*) + *(.text.hot .text.hot.*) + *(.text .stub .text.* .gnu.linkonce.t.*) + .text 0x0000000000000000 0x64c0 boot/head.o + 0x0000000000000000 startup_32 + 0x0000000000000000 pg_dir + 0x0000000000005000 tmp_floppy_area + 0x00000000000054c0 idt + 0x0000000000005cc0 gdt + .text 0x00000000000064c0 0x744 init/main.o + 0x00000000000064c0 fork + 0x00000000000064ef pause + 0x000000000000651e setup + 0x0000000000006555 sync + 0x0000000000006799 main + 0x000000000000695b init + 0x0000000000006bd3 print_nr + .text 0x0000000000006c04 0x3d0e kernel/kernel.o + 0x0000000000006c04 show_task + 0x0000000000006c89 show_stat + 0x0000000000006ccf math_state_restore + 0x0000000000006d2d schedule + 0x0000000000006edf sys_pause + 0x0000000000006ef5 sleep_on + 0x0000000000006f54 interruptible_sleep_on + 0x0000000000006fe7 wake_up + 0x000000000000700f ticks_to_floppy_on + 0x00000000000070da floppy_on + 0x0000000000007109 floppy_off + 0x0000000000007119 do_floppy_timer + 0x00000000000071ed add_timer + 0x0000000000007311 do_timer + 0x0000000000007400 sys_alarm + 0x000000000000747f sys_getpid + 0x000000000000748b sys_getppid + 0x0000000000007497 sys_getuid + 0x00000000000074a6 sys_geteuid + 0x00000000000074b6 sys_getgid + 0x00000000000074c6 sys_getegid + 0x00000000000074d5 sys_nice + 0x0000000000007500 sched_init + 0x00000000000076a4 system_call + 0x0000000000007728 coprocessor_error + 0x000000000000774a device_not_available + 0x0000000000007784 timer_interrupt + 0x00000000000077bc sys_execve + 0x00000000000077cc sys_execve2 + 0x00000000000077dc sys_fork + 0x00000000000077f4 hd_interrupt + 0x0000000000007830 floppy_interrupt + 0x0000000000007866 parallel_interrupt + 0x0000000000007a81 do_double_fault + 0x0000000000007aa4 do_general_protection + 0x0000000000007ac7 do_divide_error + 0x0000000000007aea do_int3 + 0x0000000000007bb2 do_nmi + 0x0000000000007bd5 do_debug + 0x0000000000007bf8 do_overflow + 0x0000000000007c1b do_bounds + 0x0000000000007c3e do_invalid_op + 0x0000000000007c61 do_device_not_available + 0x0000000000007c84 do_coprocessor_segment_overrun + 0x0000000000007ca7 do_invalid_TSS + 0x0000000000007cca do_segment_not_present + 0x0000000000007ced do_stack_segment + 0x0000000000007d10 do_coprocessor_error + 0x0000000000007d44 do_reserved + 0x0000000000007d67 trap_init + 0x000000000000804b divide_error + 0x0000000000008080 debug + 0x0000000000008087 nmi + 0x000000000000808e int3 + 0x0000000000008095 overflow + 0x000000000000809c bounds + 0x00000000000080a3 invalid_op + 0x00000000000080aa coprocessor_segment_overrun + 0x00000000000080b1 reserved + 0x00000000000080b8 irq13 + 0x00000000000080cd double_fault + 0x0000000000008104 invalid_TSS + 0x000000000000810b segment_not_present + 0x0000000000008112 stack_segment + 0x0000000000008119 general_protection + 0x0000000000008152 verify_area + 0x00000000000081b9 copy_mem + 0x0000000000008313 copy_process + 0x00000000000087c0 find_empty_process + 0x0000000000008854 panic + 0x000000000000888f printk + 0x0000000000008bac vsprintf + 0x0000000000009072 sys_ftime + 0x0000000000009078 sys_break + 0x000000000000907e sys_ptrace + 0x0000000000009084 sys_stty + 0x000000000000908a sys_gtty + 0x0000000000009090 sys_rename + 0x0000000000009096 sys_prof + 0x000000000000909c sys_setregid + 0x0000000000009155 sys_setgid + 0x00000000000091ec sys_acct + 0x00000000000091f2 sys_phys + 0x00000000000091f8 sys_lock + 0x00000000000091fe sys_mpx + 0x0000000000009204 sys_ulimit + 0x000000000000920a sys_time + 0x0000000000009266 sys_setreuid + 0x0000000000009348 sys_setuid + 0x00000000000093dd sys_stime + 0x0000000000009433 sys_times + 0x00000000000094d3 sys_brk + 0x0000000000009515 sys_setpgid + 0x00000000000095ee sys_getpgrp + 0x00000000000095fa sys_setsid + 0x0000000000009674 sys_getgroups + 0x000000000000967a sys_setgroups + 0x0000000000009680 sys_uname + 0x00000000000096e9 sys_sethostname + 0x00000000000096ef sys_getrlimit + 0x00000000000096f5 sys_setrlimit + 0x00000000000096fb sys_getrusage + 0x0000000000009701 sys_gettimeofday + 0x0000000000009707 sys_settimeofday + 0x000000000000970d sys_umask + 0x0000000000009740 sys_getdents + 0x00000000000098d5 sys_pipe2 + 0x0000000000009ad7 sys_sleep + 0x0000000000009b10 sys_mmap + 0x0000000000009b16 sys_munmap + 0x0000000000009b1c sys_clone + 0x0000000000009b60 release + 0x0000000000009c9d sys_kill + 0x0000000000009ed7 do_exit + 0x000000000000a10b sys_exit + 0x000000000000a124 sys_waitpid + 0x000000000000a37c sys_sgetmask + 0x000000000000a388 sys_ssetmask + 0x000000000000a3b4 sys_sigpending + 0x000000000000a3ba sys_sigsuspend + 0x000000000000a453 sys_signal + 0x000000000000a4d7 sys_sigaction + 0x000000000000a5e1 do_signal + 0x000000000000a7cd kernel_mktime + .text 0x000000000000a912 0xc96 mm/mm.o + 0x000000000000a931 get_free_page + 0x000000000000a96d free_page + 0x000000000000a9dc free_page_tables + 0x000000000000aadb copy_page_tables + 0x000000000000ac5c put_page + 0x000000000000ad48 un_wp_page + 0x000000000000ae00 do_wp_page + 0x000000000000ae32 write_verify + 0x000000000000ae8b get_empty_page + 0x000000000000b111 do_no_page + 0x000000000000b2a6 do_no_page_myself + 0x000000000000b408 mem_init + 0x000000000000b47c calc_mem + 0x000000000000b571 page_fault + .text 0x000000000000b5a8 0x82bc fs/fs.o + 0x000000000000b5be sys_ustat + 0x000000000000b5c4 sys_utime + 0x000000000000b671 sys_access + 0x000000000000b74d sys_chdir + 0x000000000000b7c1 sys_chroot + 0x000000000000b835 sys_chmod + 0x000000000000b8cf sys_chown + 0x000000000000b94a sys_open + 0x000000000000bbed sys_creat + 0x000000000000bc10 sys_close + 0x000000000000bcdf sys_lseek + 0x000000000000bdf6 sys_read + 0x000000000000bfe9 sys_write + 0x000000000000c1e2 invalidate_inodes + 0x000000000000c251 sync_inodes + 0x000000000000c694 bmap + 0x000000000000c6b7 create_block + 0x000000000000c6da iput + 0x000000000000c849 get_empty_inode + 0x000000000000c99e get_pipe_inode + 0x000000000000ca13 iget + 0x000000000000ce0e sys_sync + 0x000000000000ce71 sync_dev + 0x000000000000cf6a invalidate_buffers + 0x000000000000cfdc check_disk_change + 0x000000000000d2aa get_hash_table + 0x000000000000d32c getblk + 0x000000000000d4ca brelse + 0x000000000000d513 bread + 0x000000000000d598 bread_page + 0x000000000000d6ba breada + 0x000000000000d7af buffer_init + 0x000000000000d950 get_super + 0x000000000000d9bf put_super + 0x000000000000ddd5 sys_umount + 0x000000000000df36 sys_mount + 0x000000000000e0a7 mount_root + 0x000000000000e2db block_write + 0x000000000000e42d block_read + 0x000000000000e798 rw_char + 0x000000000000e828 file_read + 0x000000000000e9d3 file_write + 0x000000000000ecbc sys_stat + 0x000000000000ed06 sys_lstat + 0x000000000000ed21 sys_fstat + 0x000000000000ed7e sys_readlink + 0x000000000000ee2d sys_uselib + 0x000000000000f2fc do_execve + 0x000000000000fd7e do_execve2 + 0x000000000001088a read_pipe + 0x00000000000109e0 write_pipe + 0x0000000000010b5f sys_pipe + 0x0000000000011556 namei + 0x000000000001166c open_namei + 0x00000000000119bf sys_mknod + 0x0000000000011bef sys_mkdir + 0x000000000001217e sys_rmdir + 0x00000000000124d6 sys_unlink + 0x0000000000012777 sys_symlink + 0x000000000001277d sys_link + 0x00000000000129d7 sys_getcwd + 0x0000000000012c68 free_block + 0x0000000000012dda new_block + 0x0000000000012f7e free_inode + 0x00000000000130e5 new_inode + 0x0000000000013399 sys_dup2 + 0x00000000000133c0 sys_dup + 0x00000000000133db sys_fcntl + 0x000000000001351a sys_ioctl + 0x0000000000013729 truncate + 0x000000000001385e sys_select + .text 0x0000000000013864 0x46a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x0000000000013c27 ll_rw_block + 0x0000000000013c80 blk_dev_init + .text 0x0000000000013cce 0xb9d kernel/blk_drv/blk_drv.a(floppy.o) + 0x0000000000013db4 floppy_deselect + 0x0000000000013deb floppy_change + 0x00000000000141a8 setup_rw_floppy + 0x0000000000014441 unexpected_floppy_interrupt + 0x0000000000014819 floppy_init + .text 0x000000000001486b 0xc8f kernel/blk_drv/blk_drv.a(hd.o) + 0x000000000001493f sys_setup + 0x0000000000014fee unexpected_hd_interrupt + 0x0000000000015480 hd_init + .text 0x00000000000154fa 0x50c kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x0000000000015704 rd_init + 0x000000000001575a rd_load + .text 0x0000000000015a06 0xcbb kernel/chr_drv/chr_drv.a(tty_io.o) + 0x0000000000015a2c tty_init + 0x0000000000015a3d tty_intr + 0x0000000000015b4a wait_for_keypress + 0x0000000000015b5d copy_to_cooked + 0x0000000000016118 tty_read + 0x0000000000016486 tty_write + 0x0000000000016698 do_tty_interrupt + 0x00000000000166c0 chr_dev_init + .text 0x00000000000166c1 0x1283 kernel/chr_drv/chr_drv.a(console.o) + 0x0000000000016c5e csi_m + 0x0000000000016ff8 con_write + 0x0000000000017686 con_init + 0x00000000000178bd sysbeepstop + .text 0x0000000000017944 0x7e2 kernel/chr_drv/chr_drv.a(keyboard.2.o) + 0x0000000000017947 keyboard_interrupt + .text 0x0000000000018126 0x145 kernel/chr_drv/chr_drv.a(serial.o) + 0x000000000001819b rs_init + 0x000000000001821e rs_write + *fill* 0x000000000001826b 0x1 + .text 0x000000000001826c 0xf7 kernel/chr_drv/chr_drv.a(rs_io.o) + 0x000000000001826c rs1_interrupt + 0x0000000000018274 rs2_interrupt + .text 0x0000000000018363 0x60f kernel/chr_drv/chr_drv.a(tty_ioctl.o) + 0x0000000000018674 tty_ioctl + .text 0x0000000000018972 0x111 kernel/math/math.a(math_emulate.o) + 0x0000000000018980 math_emulate + 0x0000000000018a63 math_error + .text 0x0000000000018a83 0x0 lib/lib.a(ctype.o) + .text 0x0000000000018a83 0x10 lib/lib.a(_exit.o) + 0x0000000000018a83 _exit + .text 0x0000000000018a93 0x49 lib/lib.a(open.o) + 0x0000000000018a93 open + .text 0x0000000000018adc 0x37 lib/lib.a(close.o) + 0x0000000000018adc close + .text 0x0000000000018b13 0x0 lib/lib.a(errno.o) + .text 0x0000000000018b13 0x3d lib/lib.a(write.o) + 0x0000000000018b13 write + .text 0x0000000000018b50 0x37 lib/lib.a(dup.o) + 0x0000000000018b50 dup + .text 0x0000000000018b87 0x2f lib/lib.a(setsid.o) + 0x0000000000018b87 setsid + .text 0x0000000000018bb6 0x3d lib/lib.a(execve.o) + 0x0000000000018bb6 execve + .text 0x0000000000018bf3 0x60 lib/lib.a(wait.o) + 0x0000000000018bf3 waitpid + 0x0000000000018c30 wait + .text 0x0000000000018c53 0x3dc lib/lib.a(string.o) + 0x0000000000018c53 strcpy + 0x0000000000018c6f strncpy + 0x0000000000018c94 strcat + 0x0000000000018cbf strncat + 0x0000000000018cf4 strcmp + 0x0000000000018d1b strncmp + 0x0000000000018d49 strchr + 0x0000000000018d76 strrchr + 0x0000000000018da5 strspn + 0x0000000000018de2 strcspn + 0x0000000000018e1f strpbrk + 0x0000000000018e56 strstr + 0x0000000000018e8f strlen + 0x0000000000018eb2 strtok + 0x0000000000018f35 memcpy + 0x0000000000018f55 memmove + 0x0000000000018fa9 memcmp + 0x0000000000018fd3 memchr + 0x000000000001900b memset + *(.gnu.warning) + +.fini + *(SORT(.fini)) + 0x000000000001902f PROVIDE (__etext, .) + 0x000000000001902f PROVIDE (_etext, .) + 0x000000000001902f PROVIDE (etext, .) + +.rodata 0x0000000000019030 0x140e + *(.rodata .rodata.* .gnu.linkonce.r.*) + .rodata 0x0000000000019030 0xc9 init/main.o + *fill* 0x00000000000190f9 0x3 + .rodata 0x00000000000190fc 0x438 kernel/kernel.o + .rodata 0x0000000000019534 0x1b5 mm/mm.o + *fill* 0x00000000000196e9 0x3 + .rodata 0x00000000000196ec 0x62c fs/fs.o + .rodata 0x0000000000019d18 0x7a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + *fill* 0x0000000000019d92 0x2 + .rodata 0x0000000000019d94 0x133 kernel/blk_drv/blk_drv.a(floppy.o) + *fill* 0x0000000000019ec7 0x1 + .rodata 0x0000000000019ec8 0x19b kernel/blk_drv/blk_drv.a(hd.o) + *fill* 0x000000000001a063 0x1 + .rodata 0x000000000001a064 0x188 kernel/blk_drv/blk_drv.a(ramdisk.o) + .rodata 0x000000000001a1ec 0x17d kernel/chr_drv/chr_drv.a(console.o) + *fill* 0x000000000001a369 0x3 + .rodata 0x000000000001a36c 0x80 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .rodata 0x000000000001a3ec 0x52 kernel/math/math.a(math_emulate.o) + +.rodata1 + *(.rodata1) + +.eh_frame_hdr + *(.eh_frame_hdr) + +.eh_frame 0x000000000001a440 0x2ba8 + *(.eh_frame) + .eh_frame 0x000000000001a440 0x108 init/main.o + .eh_frame 0x000000000001a548 0xba0 kernel/kernel.o + 0xc90 (size before relaxing) + .eh_frame 0x000000000001b0e8 0x1b0 mm/mm.o + 0x1c8 (size before relaxing) + .eh_frame 0x000000000001b298 0xe44 fs/fs.o + 0xfdc (size before relaxing) + .eh_frame 0x000000000001c0dc 0x98 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0xb0 (size before relaxing) + .eh_frame 0x000000000001c174 0x23c kernel/blk_drv/blk_drv.a(floppy.o) + 0x254 (size before relaxing) + .eh_frame 0x000000000001c3b0 0x1e8 kernel/blk_drv/blk_drv.a(hd.o) + 0x200 (size before relaxing) + .eh_frame 0x000000000001c598 0xac kernel/blk_drv/blk_drv.a(ramdisk.o) + 0xc4 (size before relaxing) + .eh_frame 0x000000000001c644 0x12c kernel/chr_drv/chr_drv.a(tty_io.o) + 0x144 (size before relaxing) + .eh_frame 0x000000000001c770 0x2c0 kernel/chr_drv/chr_drv.a(console.o) + 0x2d8 (size before relaxing) + .eh_frame 0x000000000001ca30 0x54 kernel/chr_drv/chr_drv.a(serial.o) + 0x6c (size before relaxing) + .eh_frame 0x000000000001ca84 0x148 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + 0x160 (size before relaxing) + .eh_frame 0x000000000001cbcc 0x5c kernel/math/math.a(math_emulate.o) + 0x74 (size before relaxing) + .eh_frame 0x000000000001cc28 0x1c lib/lib.a(_exit.o) + 0x34 (size before relaxing) + .eh_frame 0x000000000001cc44 0x24 lib/lib.a(open.o) + 0x3c (size before relaxing) + .eh_frame 0x000000000001cc68 0x20 lib/lib.a(close.o) + 0x38 (size before relaxing) + .eh_frame 0x000000000001cc88 0x20 lib/lib.a(write.o) + 0x38 (size before relaxing) + .eh_frame 0x000000000001cca8 0x20 lib/lib.a(dup.o) + 0x38 (size before relaxing) + .eh_frame 0x000000000001ccc8 0x18 lib/lib.a(setsid.o) + 0x30 (size before relaxing) + .eh_frame 0x000000000001cce0 0x20 lib/lib.a(execve.o) + 0x38 (size before relaxing) + .eh_frame 0x000000000001cd00 0x38 lib/lib.a(wait.o) + 0x50 (size before relaxing) + .eh_frame 0x000000000001cd38 0x2b0 lib/lib.a(string.o) + 0x2c8 (size before relaxing) + +.gcc_except_table + *(.gcc_except_table .gcc_except_table.*) + +.exception_ranges + *(.exception_ranges .exception_ranges*) + 0x000000000001cfe8 . = . + +.eh_frame + *(.eh_frame) + +.gcc_except_table + *(.gcc_except_table .gcc_except_table.*) + +.exception_ranges + *(.exception_ranges .exception_ranges*) + +.tdata + *(.tdata .tdata.* .gnu.linkonce.td.*) + +.tbss + *(.tbss .tbss.* .gnu.linkonce.tb.*) + *(.tcommon) + +.preinit_array 0x000000000001cfe8 0x0 + 0x000000000001cfe8 PROVIDE (__preinit_array_start, .) + *(.preinit_array) + 0x000000000001cfe8 PROVIDE (__preinit_array_end, .) + +.init_array 0x000000000001cfe8 0x0 + 0x000000000001cfe8 PROVIDE (__init_array_start, .) + *(SORT(.init_array.*) SORT(.ctors.*)) + *(.init_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .ctors) + 0x000000000001cfe8 PROVIDE (__init_array_end, .) + +.fini_array 0x000000000001cfe8 0x0 + 0x000000000001cfe8 PROVIDE (__fini_array_start, .) + *(SORT(.fini_array.*) SORT(.dtors.*)) + *(.fini_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .dtors) + 0x000000000001cfe8 PROVIDE (__fini_array_end, .) + +.ctors + *crtbegin.o(.ctors) + *crtbegin?.o(.ctors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) + *(SORT(.ctors.*)) + *(.ctors) + +.dtors + *crtbegin.o(.dtors) + *crtbegin?.o(.dtors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) + *(SORT(.dtors.*)) + *(.dtors) + +.jcr + *(.jcr) + +.data.rel.ro + *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) + *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) + +.dynamic + *(.dynamic) + +.got + *(.got) + *(.igot) + +.got.plt 0x000000000001cfe8 0x0 + *(.got.plt) + *(.igot.plt) + .igot.plt 0x0000000000000000 0x0 boot/head.o + +.data 0x000000000001d000 0x3b21 + *(.data .data.* .gnu.linkonce.d.*) + .data 0x000000000001d000 0x0 boot/head.o + .data 0x000000000001d000 0x28 init/main.o + *fill* 0x000000000001d028 0x18 + .data 0x000000000001d040 0x1330 kernel/kernel.o + 0x000000000001d040 sys_call_table + 0x000000000001d1bc NR_syscalls + 0x000000000001e1c0 current + 0x000000000001e1e0 task + 0x000000000001e2e0 stack_start + 0x000000000001e2e8 current_DOR + .data 0x000000000001e370 0x0 mm/mm.o + *fill* 0x000000000001e370 0x10 + .data 0x000000000001e380 0x60 fs/fs.o + 0x000000000001e384 start_buffer + .data 0x000000000001e3e0 0x0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .data 0x000000000001e3e0 0xcd kernel/blk_drv/blk_drv.a(floppy.o) + *fill* 0x000000000001e4ad 0x3 + .data 0x000000000001e4b0 0x4 kernel/blk_drv/blk_drv.a(hd.o) + .data 0x000000000001e4b4 0x0 kernel/blk_drv/blk_drv.a(ramdisk.o) + *fill* 0x000000000001e4b4 0xc + .data 0x000000000001e4c0 0x2538 kernel/chr_drv/chr_drv.a(tty_io.o) + 0x000000000001e4c0 tty_table + 0x00000000000209e0 table_list + .data 0x00000000000209f8 0x1 kernel/chr_drv/chr_drv.a(console.o) + .data 0x00000000000209f9 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) + .data 0x00000000000209f9 0x0 kernel/chr_drv/chr_drv.a(serial.o) + .data 0x00000000000209f9 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) + *fill* 0x00000000000209f9 0x7 + .data 0x0000000000020a00 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .data 0x0000000000020a20 0x0 kernel/math/math.a(math_emulate.o) + .data 0x0000000000020a20 0x101 lib/lib.a(ctype.o) + 0x0000000000020a20 _ctype + .data 0x0000000000020b21 0x0 lib/lib.a(_exit.o) + .data 0x0000000000020b21 0x0 lib/lib.a(open.o) + .data 0x0000000000020b21 0x0 lib/lib.a(close.o) + .data 0x0000000000020b21 0x0 lib/lib.a(errno.o) + .data 0x0000000000020b21 0x0 lib/lib.a(write.o) + .data 0x0000000000020b21 0x0 lib/lib.a(dup.o) + .data 0x0000000000020b21 0x0 lib/lib.a(setsid.o) + .data 0x0000000000020b21 0x0 lib/lib.a(execve.o) + .data 0x0000000000020b21 0x0 lib/lib.a(wait.o) + .data 0x0000000000020b21 0x0 lib/lib.a(string.o) + +.data1 + *(.data1) + 0x0000000000020b21 _edata = . + 0x0000000000020b21 PROVIDE (edata, .) + 0x0000000000020b21 . = . + 0x0000000000020b21 __bss_start = . + +.bss 0x0000000000020b40 0x44b0 + *(.dynbss) + *(.bss .bss.* .gnu.linkonce.b.*) + .bss 0x0000000000020b40 0x0 boot/head.o + .bss 0x0000000000020b40 0x40c init/main.o + *fill* 0x0000000000020f4c 0x14 + .bss 0x0000000000020f60 0x760 kernel/kernel.o + 0x0000000000020f60 jiffies + 0x0000000000020f64 startup_time + 0x0000000000020f68 last_task_used_math + 0x00000000000212a4 last_pid + .bss 0x00000000000216c0 0xf20 mm/mm.o + .bss 0x00000000000225e0 0x710 fs/fs.o + 0x00000000000225e0 inode_table + 0x0000000000022ce0 nr_buffers + 0x0000000000022cec ROOT_DEV + *fill* 0x0000000000022cf0 0x10 + .bss 0x0000000000022d00 0x58 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x0000000000022d00 wait_for_request + 0x0000000000022d20 blk_dev + .bss 0x0000000000022d58 0x25 kernel/blk_drv/blk_drv.a(floppy.o) + 0x0000000000022d58 do_floppy + 0x0000000000022d5c selected + 0x0000000000022d60 wait_on_floppy_select + *fill* 0x0000000000022d7d 0x3 + .bss 0x0000000000022d80 0xb0 kernel/blk_drv/blk_drv.a(hd.o) + 0x0000000000022d80 do_hd + 0x0000000000022da0 hd_info + .bss 0x0000000000022e30 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x0000000000022e30 rd_length + .bss 0x0000000000022e34 0x4 kernel/chr_drv/chr_drv.a(tty_io.o) + *fill* 0x0000000000022e38 0x8 + .bss 0x0000000000022e40 0xac kernel/chr_drv/chr_drv.a(console.o) + 0x0000000000022e40 beepcount + .bss 0x0000000000022eec 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) + .bss 0x0000000000022eec 0x0 kernel/chr_drv/chr_drv.a(serial.o) + .bss 0x0000000000022eec 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) + .bss 0x0000000000022eec 0x0 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .bss 0x0000000000022eec 0x0 kernel/math/math.a(math_emulate.o) + .bss 0x0000000000022eec 0x0 lib/lib.a(ctype.o) + .bss 0x0000000000022eec 0x0 lib/lib.a(_exit.o) + .bss 0x0000000000022eec 0x0 lib/lib.a(open.o) + .bss 0x0000000000022eec 0x0 lib/lib.a(close.o) + .bss 0x0000000000022eec 0x0 lib/lib.a(errno.o) + .bss 0x0000000000022eec 0x0 lib/lib.a(write.o) + .bss 0x0000000000022eec 0x0 lib/lib.a(dup.o) + .bss 0x0000000000022eec 0x0 lib/lib.a(setsid.o) + .bss 0x0000000000022eec 0x0 lib/lib.a(execve.o) + .bss 0x0000000000022eec 0x0 lib/lib.a(wait.o) + .bss 0x0000000000022eec 0x0 lib/lib.a(string.o) + *(COMMON) + *fill* 0x0000000000022eec 0x14 + COMMON 0x0000000000022f00 0x20 init/main.o + 0x0000000000022f00 drive_info + COMMON 0x0000000000022f20 0x1000 kernel/kernel.o + 0x0000000000022f20 user_stack + COMMON 0x0000000000023f20 0xc40 fs/fs.o + 0x0000000000023f20 hash_table + 0x0000000000024400 super_block + 0x0000000000024760 file_table + COMMON 0x0000000000024b60 0x480 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x0000000000024b60 request + COMMON 0x0000000000024fe0 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x0000000000024fe0 rd_start + COMMON 0x0000000000024fe4 0x1 lib/lib.a(ctype.o) + 0x0000000000024fe4 _ctmp + *fill* 0x0000000000024fe5 0x3 + COMMON 0x0000000000024fe8 0x4 lib/lib.a(errno.o) + 0x0000000000024fe8 errno + COMMON 0x0000000000024fec 0x4 lib/lib.a(string.o) + 0x0000000000024fec ___strtok + 0x0000000000024ff0 . = ALIGN ((. != 0x0)?0x4:0x1) + 0x0000000000024ff0 . = ALIGN (0x4) + 0x0000000000024ff0 . = SEGMENT_START ("ldata-segment", .) + 0x0000000000024ff0 . = ALIGN (0x4) + 0x0000000000024ff0 _end = . + 0x0000000000024ff0 PROVIDE (end, .) + +.stab + *(.stab) + +.stabstr + *(.stabstr) + +.stab.excl + *(.stab.excl) + +.stab.exclstr + *(.stab.exclstr) + +.stab.index + *(.stab.index) + +.stab.indexstr + *(.stab.indexstr) + +.comment 0x0000000000000000 0x29 + *(.comment) + .comment 0x0000000000000000 0x29 init/main.o + 0x2a (size before relaxing) + .comment 0x0000000000000000 0x1a4 kernel/kernel.o + .comment 0x0000000000000000 0x2a mm/mm.o + .comment 0x0000000000000000 0x2f4 fs/fs.o + .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(floppy.o) + .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(hd.o) + .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(ramdisk.o) + .comment 0x0000000000000000 0x2a kernel/chr_drv/chr_drv.a(tty_io.o) + .comment 0x0000000000000000 0x2a kernel/chr_drv/chr_drv.a(console.o) + .comment 0x0000000000000000 0x2a kernel/chr_drv/chr_drv.a(serial.o) + .comment 0x0000000000000000 0x2a kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .comment 0x0000000000000000 0x2a kernel/math/math.a(math_emulate.o) + .comment 0x0000000000000000 0x2a lib/lib.a(ctype.o) + .comment 0x0000000000000000 0x2a lib/lib.a(_exit.o) + .comment 0x0000000000000000 0x2a lib/lib.a(open.o) + .comment 0x0000000000000000 0x2a lib/lib.a(close.o) + .comment 0x0000000000000000 0x2a lib/lib.a(errno.o) + .comment 0x0000000000000000 0x2a lib/lib.a(write.o) + .comment 0x0000000000000000 0x2a lib/lib.a(dup.o) + .comment 0x0000000000000000 0x2a lib/lib.a(setsid.o) + .comment 0x0000000000000000 0x2a lib/lib.a(execve.o) + .comment 0x0000000000000000 0x2a lib/lib.a(wait.o) + .comment 0x0000000000000000 0x2a lib/lib.a(string.o) + +.debug + *(.debug) + +.line + *(.line) + +.debug_srcinfo + *(.debug_srcinfo) + +.debug_sfnames + *(.debug_sfnames) + +.debug_aranges 0x0000000000000000 0x628 + *(.debug_aranges) + .debug_aranges + 0x0000000000000000 0x20 init/main.o + .debug_aranges + 0x0000000000000020 0x140 kernel/kernel.o + .debug_aranges + 0x0000000000000160 0x20 mm/mm.o + .debug_aranges + 0x0000000000000180 0x238 fs/fs.o + .debug_aranges + 0x00000000000003b8 0x20 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_aranges + 0x00000000000003d8 0x20 kernel/blk_drv/blk_drv.a(floppy.o) + .debug_aranges + 0x00000000000003f8 0x20 kernel/blk_drv/blk_drv.a(hd.o) + .debug_aranges + 0x0000000000000418 0x20 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_aranges + 0x0000000000000438 0x20 kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_aranges + 0x0000000000000458 0x20 kernel/chr_drv/chr_drv.a(console.o) + .debug_aranges + 0x0000000000000478 0x20 kernel/chr_drv/chr_drv.a(serial.o) + .debug_aranges + 0x0000000000000498 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_aranges + 0x00000000000004b8 0x20 kernel/math/math.a(math_emulate.o) + .debug_aranges + 0x00000000000004d8 0x18 lib/lib.a(ctype.o) + .debug_aranges + 0x00000000000004f0 0x20 lib/lib.a(_exit.o) + .debug_aranges + 0x0000000000000510 0x20 lib/lib.a(open.o) + .debug_aranges + 0x0000000000000530 0x20 lib/lib.a(close.o) + .debug_aranges + 0x0000000000000550 0x18 lib/lib.a(errno.o) + .debug_aranges + 0x0000000000000568 0x20 lib/lib.a(write.o) + .debug_aranges + 0x0000000000000588 0x20 lib/lib.a(dup.o) + .debug_aranges + 0x00000000000005a8 0x20 lib/lib.a(setsid.o) + .debug_aranges + 0x00000000000005c8 0x20 lib/lib.a(execve.o) + .debug_aranges + 0x00000000000005e8 0x20 lib/lib.a(wait.o) + .debug_aranges + 0x0000000000000608 0x20 lib/lib.a(string.o) + +.debug_pubnames + *(.debug_pubnames) + +.debug_info 0x0000000000000000 0x17b3f + *(.debug_info .gnu.linkonce.wi.*) + .debug_info 0x0000000000000000 0xb73 init/main.o + .debug_info 0x0000000000000b73 0x5101 kernel/kernel.o + .debug_info 0x0000000000005c74 0xba8 mm/mm.o + .debug_info 0x000000000000681c 0xa5c4 fs/fs.o + .debug_info 0x0000000000010de0 0x932 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_info 0x0000000000011712 0xc9f kernel/blk_drv/blk_drv.a(floppy.o) + .debug_info 0x00000000000123b1 0xd5f kernel/blk_drv/blk_drv.a(hd.o) + .debug_info 0x0000000000013110 0xad5 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_info 0x0000000000013be5 0xacd kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_info 0x00000000000146b2 0xdb0 kernel/chr_drv/chr_drv.a(console.o) + .debug_info 0x0000000000015462 0x85c kernel/chr_drv/chr_drv.a(serial.o) + .debug_info 0x0000000000015cbe 0xb47 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_info 0x0000000000016805 0x7b5 kernel/math/math.a(math_emulate.o) + .debug_info 0x0000000000016fba 0x66 lib/lib.a(ctype.o) + .debug_info 0x0000000000017020 0x77 lib/lib.a(_exit.o) + .debug_info 0x0000000000017097 0xd0 lib/lib.a(open.o) + .debug_info 0x0000000000017167 0x97 lib/lib.a(close.o) + .debug_info 0x00000000000171fe 0x36 lib/lib.a(errno.o) + .debug_info 0x0000000000017234 0xc9 lib/lib.a(write.o) + .debug_info 0x00000000000172fd 0x97 lib/lib.a(dup.o) + .debug_info 0x0000000000017394 0x95 lib/lib.a(setsid.o) + .debug_info 0x0000000000017429 0xcb lib/lib.a(execve.o) + .debug_info 0x00000000000174f4 0xed lib/lib.a(wait.o) + .debug_info 0x00000000000175e1 0x55e lib/lib.a(string.o) + +.debug_abbrev 0x0000000000000000 0x4557 + *(.debug_abbrev) + .debug_abbrev 0x0000000000000000 0x237 init/main.o + .debug_abbrev 0x0000000000000237 0x101d kernel/kernel.o + .debug_abbrev 0x0000000000001254 0x20b mm/mm.o + .debug_abbrev 0x000000000000145f 0x1a71 fs/fs.o + .debug_abbrev 0x0000000000002ed0 0x169 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_abbrev 0x0000000000003039 0x27d kernel/blk_drv/blk_drv.a(floppy.o) + .debug_abbrev 0x00000000000032b6 0x23c kernel/blk_drv/blk_drv.a(hd.o) + .debug_abbrev 0x00000000000034f2 0x1a8 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_abbrev 0x000000000000369a 0x279 kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_abbrev 0x0000000000003913 0x26b kernel/chr_drv/chr_drv.a(console.o) + .debug_abbrev 0x0000000000003b7e 0x175 kernel/chr_drv/chr_drv.a(serial.o) + .debug_abbrev 0x0000000000003cf3 0x18d kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_abbrev 0x0000000000003e80 0x163 kernel/math/math.a(math_emulate.o) + .debug_abbrev 0x0000000000003fe3 0x3e lib/lib.a(ctype.o) + .debug_abbrev 0x0000000000004021 0x51 lib/lib.a(_exit.o) + .debug_abbrev 0x0000000000004072 0x97 lib/lib.a(open.o) + .debug_abbrev 0x0000000000004109 0x75 lib/lib.a(close.o) + .debug_abbrev 0x000000000000417e 0x2c lib/lib.a(errno.o) + .debug_abbrev 0x00000000000041aa 0xa1 lib/lib.a(write.o) + .debug_abbrev 0x000000000000424b 0x75 lib/lib.a(dup.o) + .debug_abbrev 0x00000000000042c0 0x73 lib/lib.a(setsid.o) + .debug_abbrev 0x0000000000004333 0x85 lib/lib.a(execve.o) + .debug_abbrev 0x00000000000043b8 0xb6 lib/lib.a(wait.o) + .debug_abbrev 0x000000000000446e 0xe9 lib/lib.a(string.o) + +.debug_line 0x0000000000000000 0x48da + *(.debug_line .debug_line.* .debug_line_end) + .debug_line 0x0000000000000000 0x1e5 init/main.o + .debug_line 0x00000000000001e5 0xf41 kernel/kernel.o + .debug_line 0x0000000000001126 0x2b4 mm/mm.o + .debug_line 0x00000000000013da 0x1e58 fs/fs.o + .debug_line 0x0000000000003232 0x197 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_line 0x00000000000033c9 0x24c kernel/blk_drv/blk_drv.a(floppy.o) + .debug_line 0x0000000000003615 0x2bf kernel/blk_drv/blk_drv.a(hd.o) + .debug_line 0x00000000000038d4 0x160 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_line 0x0000000000003a34 0x33b kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_line 0x0000000000003d6f 0x3ab kernel/chr_drv/chr_drv.a(console.o) + .debug_line 0x000000000000411a 0xd9 kernel/chr_drv/chr_drv.a(serial.o) + .debug_line 0x00000000000041f3 0x1db kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_line 0x00000000000043ce 0xe1 kernel/math/math.a(math_emulate.o) + .debug_line 0x00000000000044af 0x28 lib/lib.a(ctype.o) + .debug_line 0x00000000000044d7 0x39 lib/lib.a(_exit.o) + .debug_line 0x0000000000004510 0x62 lib/lib.a(open.o) + .debug_line 0x0000000000004572 0x5c lib/lib.a(close.o) + .debug_line 0x00000000000045ce 0x28 lib/lib.a(errno.o) + .debug_line 0x00000000000045f6 0x76 lib/lib.a(write.o) + .debug_line 0x000000000000466c 0x5a lib/lib.a(dup.o) + .debug_line 0x00000000000046c6 0x77 lib/lib.a(setsid.o) + .debug_line 0x000000000000473d 0x5d lib/lib.a(execve.o) + .debug_line 0x000000000000479a 0x7a lib/lib.a(wait.o) + .debug_line 0x0000000000004814 0xc6 lib/lib.a(string.o) + +.debug_frame + *(.debug_frame) + +.debug_str 0x0000000000000000 0x2141 + *(.debug_str) + .debug_str 0x0000000000000000 0x3bd init/main.o + 0x460 (size before relaxing) + .debug_str 0x00000000000003bd 0x9e6 kernel/kernel.o + 0x2484 (size before relaxing) + .debug_str 0x0000000000000da3 0x193 mm/mm.o + 0x4ee (size before relaxing) + .debug_str 0x0000000000000f36 0x898 fs/fs.o + 0x49b7 (size before relaxing) + .debug_str 0x00000000000017ce 0xec kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x48d (size before relaxing) + .debug_str 0x00000000000018ba 0x1cf kernel/blk_drv/blk_drv.a(floppy.o) + 0x66f (size before relaxing) + .debug_str 0x0000000000001a89 0x15e kernel/blk_drv/blk_drv.a(hd.o) + 0x5e4 (size before relaxing) + .debug_str 0x0000000000001be7 0x43 kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x586 (size before relaxing) + .debug_str 0x0000000000001c2a 0xf7 kernel/chr_drv/chr_drv.a(tty_io.o) + 0x4df (size before relaxing) + .debug_str 0x0000000000001d21 0x1b9 kernel/chr_drv/chr_drv.a(console.o) + 0x5b3 (size before relaxing) + .debug_str 0x0000000000001eda 0x1a kernel/chr_drv/chr_drv.a(serial.o) + 0x3f8 (size before relaxing) + .debug_str 0x0000000000001ef4 0x8b kernel/chr_drv/chr_drv.a(tty_ioctl.o) + 0x4a3 (size before relaxing) + .debug_str 0x0000000000001f7f 0x65 kernel/math/math.a(math_emulate.o) + 0x38e (size before relaxing) + .debug_str 0x0000000000001fe4 0x89 lib/lib.a(ctype.o) + 0xb2 (size before relaxing) + .debug_str 0x000000000000206d 0x8 lib/lib.a(_exit.o) + 0xde (size before relaxing) + .debug_str 0x0000000000000000 0x8 lib/lib.a(open.o) + 0xee (size before relaxing) + .debug_str 0x0000000000002075 0x8 lib/lib.a(close.o) + 0xe0 (size before relaxing) + .debug_str 0x000000000000207d 0x8 lib/lib.a(errno.o) + 0x8f (size before relaxing) + .debug_str 0x0000000000000000 0x8 lib/lib.a(write.o) + 0xec (size before relaxing) + .debug_str 0x0000000000002085 0x6 lib/lib.a(dup.o) + 0xd8 (size before relaxing) + .debug_str 0x000000000000208b 0x9 lib/lib.a(setsid.o) + 0xe8 (size before relaxing) + .debug_str 0x0000000000002094 0x9 lib/lib.a(execve.o) + 0xf1 (size before relaxing) + .debug_str 0x000000000000209d 0x11 lib/lib.a(wait.o) + 0xfe (size before relaxing) + .debug_str 0x00000000000020ae 0x93 lib/lib.a(string.o) + 0x143 (size before relaxing) + +.debug_loc + *(.debug_loc) + +.debug_macinfo + *(.debug_macinfo) + +.debug_weaknames + *(.debug_weaknames) + +.debug_funcnames + *(.debug_funcnames) + +.debug_typenames + *(.debug_typenames) + +.debug_varnames + *(.debug_varnames) + +.debug_pubtypes + *(.debug_pubtypes) + +.debug_ranges 0x0000000000000000 0x18 + *(.debug_ranges) + .debug_ranges 0x0000000000000000 0x18 init/main.o + +.debug_macro + *(.debug_macro) + +.gnu.attributes + *(.gnu.attributes) + +/DISCARD/ + *(.note.GNU-stack) + *(.gnu_debuglink) + *(.gnu.lto_*) +OUTPUT(tools/system elf32-i386) diff --git a/linux-0.11-lab/cur/linux/boot/bootsect b/linux-0.11-lab/cur/linux/boot/bootsect new file mode 100644 index 0000000000000000000000000000000000000000..4fbb8f823afe23687f1887d48deeb19fdcf83049 GIT binary patch literal 544 zcmZQ%7GP0e00JfufdrZ$>>UT#`)=%Dn9z4%Cj+DAH_iW_m%fre~uHUSwNXN9*i=ymehGJ;Ln!ff#WtiVnQ zhTZH8d+ix_Fbba)*ufysci@E)!;7N~dJF$B+A=VditBaD0d;UNHUH)>;o2bsq=ibD zUjNfu{D<)s1B1c@RhzFW-(_8 zyWs)N8wX!-zAym_G6SXbtl4ZCONDkYGHA2SVkl+#&o+l)@hk?z1B+)cfHa*h-qdq| z733tt+pm`g1P2Cni_Kx^=9|Ib*m1R6Y!*YuwM`6-j~E!Y0DW7;8WkBGaTw@dps&vg zgE+6x1nv67yn*3e)L{k&UM`>f#FWgubcN!|;*!){1wB1IUM^lPq<|j0Og84wRRH+h BgWdoD literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/boot/bootsect.o b/linux-0.11-lab/cur/linux/boot/bootsect.o new file mode 100644 index 0000000000000000000000000000000000000000..e35422ec017a165928bfcbec5f9f0363b4a9e75c GIT binary patch literal 923 zcmYjPe@GKy7=FH+PB$=@gOrLGSb;@HGl?KZQ#V8qHK&qRjLn^EOg*`~_2a*bAQEj2 z`bR7R8DjO1Ax5YD;D!W64T2~X>5mFT9P~#*1c~eYW`BB3fn$y+MeVjqc)FB7D{5ZwQc zlnx;W9UDX^enV$llvLXoyfYO9Z}$=84ic;$V`O7tS=LmkPeZ`p+0`EKHzCjy2sHQl zw}lpeD-uHysXwTY5sDOw1Y=|-4_TXAn>%^rd%=iw84Yc11;O9ydW>fq~$ltjP-a7_y>584mLI>~!sq4M`D5Ly@qm@(>AWA%vwU zr%{<_+X|nde;^cvTBwf1Bxp*gFV1T;>8i$^g?NcKSG5q0@!xcE+`au;IbOSyoY+a~ z{!PR`f4ixx+SO^8CCMcNsiZj%R`aVSzcIBg=v7dW8hevmN}95U=#^i zr)no|09j{lb(WIStn(?vkzMq|I|{AlEXVU%$9xr@m*6E`j|&EKW*r6`Npr0hYp)?r zZZZ#$s1!#JP?cts3OD|gYj$Hl#R^TxZHehkwhp*b#dJ@BG4oNrJhA0o88bcbDr`}l zq`HQqR(%{jBbm%s8(UUwT8Z1NS<0;0*6J{lvGC1C@wAnkO^FJFf$S6TC5rM^{XXi` zL>k>@nq232gLmrem|4t+bg$&5+XH7iM)#1fVRRQc{Pnj!5uJed*5_GV{{}WkC!rMg z_MAVrNM}JOl67*Dd*89})A9sAdKZB*dkfv2*ih7^UQ;z`&?SnZugqR%-#z8CTDl%r F<1c(7E-?TA literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/boot/bootsect.s b/linux-0.11-lab/cur/linux/boot/bootsect.s new file mode 100644 index 0000000..711f103 --- /dev/null +++ b/linux-0.11-lab/cur/linux/boot/bootsect.s @@ -0,0 +1,260 @@ +! +! SYS_SIZE is the number of clicks (16 bytes) to be loaded. +! 0x3000 is 0x30000 bytes = 196kB, more than enough for current +! versions of linux +! +SYSSIZE = 0x3000 +! +! bootsect.s (C) 1991 Linus Torvalds +! +! bootsect.s is loaded at 0x7c00 by the bios-startup routines, and moves +! iself out of the way to address 0x90000, and jumps there. +! +! It then loads 'setup' directly after itself (0x90200), and the system +! at 0x10000, using BIOS interrupts. +! +! NOTE! currently system is at most 8*65536 bytes long. This should be no +! problem, even in the future. I want to keep it simple. This 512 kB +! kernel size should be enough, especially as this doesn't contain the +! buffer cache as in minix +! +! The loader has been made as simple as possible, and continuos +! read errors will result in a unbreakable loop. Reboot by hand. It +! loads pretty fast by getting whole sectors at a time whenever possible. + +.globl begtext, begdata, begbss, endtext, enddata, endbss +.text +begtext: +.data +begdata: +.bss +begbss: +.text + +SETUPLEN = 4 ! nr of setup-sectors +BOOTSEG = 0x07c0 ! original address of boot-sector +INITSEG = 0x9000 ! we move boot here - out of the way +SETUPSEG = 0x9020 ! setup starts here +SYSSEG = 0x1000 ! system loaded at 0x10000 (65536). +ENDSEG = SYSSEG + SYSSIZE ! where to stop loading + +! ROOT_DEV: 0x000 - same type of floppy as boot. +! 0x301 - first partition on first drive etc +ROOT_DEV = 0x306 + +entry start +start: + mov ax,#BOOTSEG + mov ds,ax + mov ax,#INITSEG + mov es,ax + mov cx,#256 + sub si,si + sub di,di + rep + movw + jmpi go,INITSEG +go: mov ax,cs + mov ds,ax + mov es,ax +! put stack at 0x9ff00. + mov ss,ax + mov sp,#0xFF00 ! arbitrary value >>512 + +! load the setup-sectors directly after the bootblock. +! Note that 'es' is already set up. + +load_setup: + mov dx,#0x0000 ! drive 0, head 0 + mov cx,#0x0002 ! sector 2, track 0 + mov bx,#0x0200 ! address = 512, in INITSEG + mov ax,#0x0200+SETUPLEN ! service 2, nr of sectors + int 0x13 ! read it + jnc ok_load_setup ! ok - continue + mov dx,#0x0000 + mov ax,#0x0000 ! reset the diskette + int 0x13 + j load_setup + +ok_load_setup: + +! Get disk drive parameters, specifically nr of sectors/track + + mov dl,#0x00 + mov ax,#0x0800 ! AH=8 is get drive parameters + int 0x13 + mov ch,#0x00 + seg cs + mov sectors,cx + mov ax,#INITSEG + mov es,ax + +! Print some inane message + + mov ah,#0x03 ! read cursor pos + xor bh,bh + int 0x10 + + mov cx,#24 + mov bx,#0x0007 ! page 0, attribute 7 (normal) + mov bp,#msg1 + mov ax,#0x1301 ! write string, move cursor + int 0x10 + +! ok, we've written the message, now +! we want to load the system (at 0x10000) + + mov ax,#SYSSEG + mov es,ax ! segment of 0x010000 + call read_it + call kill_motor + +! After that we check which root-device to use. If the device is +! defined (!= 0), nothing is done and the given device is used. +! Otherwise, either /dev/PS0 (2,28) or /dev/at0 (2,8), depending +! on the number of sectors that the BIOS reports currently. + + seg cs + mov ax,root_dev + cmp ax,#0 + jne root_defined + seg cs + mov bx,sectors + mov ax,#0x0208 ! /dev/ps0 - 1.2Mb + cmp bx,#15 + je root_defined + mov ax,#0x021c ! /dev/PS0 - 1.44Mb + cmp bx,#18 + je root_defined +undef_root: + jmp undef_root +root_defined: + seg cs + mov root_dev,ax + +! after that (everyting loaded), we jump to +! the setup-routine loaded directly after +! the bootblock: + + jmpi 0,SETUPSEG + +! This routine loads the system at address 0x10000, making sure +! no 64kB boundaries are crossed. We try to load it as fast as +! possible, loading whole tracks whenever we can. +! +! in: es - starting address segment (normally 0x1000) +! +sread: .word 1+SETUPLEN ! sectors read of current track +head: .word 0 ! current head +track: .word 0 ! current track + +read_it: + mov ax,es + test ax,#0x0fff +die: jne die ! es must be at 64kB boundary + xor bx,bx ! bx is starting address within segment +rp_read: + mov ax,es + cmp ax,#ENDSEG ! have we loaded all yet? + jb ok1_read + ret +ok1_read: + seg cs + mov ax,sectors + sub ax,sread + mov cx,ax + shl cx,#9 + add cx,bx + jnc ok2_read + je ok2_read + xor ax,ax + sub ax,bx + shr ax,#9 +ok2_read: + call read_track + mov cx,ax + add ax,sread + seg cs + cmp ax,sectors + jne ok3_read + mov ax,#1 + sub ax,head + jne ok4_read + inc track +ok4_read: + mov head,ax + xor ax,ax +ok3_read: + mov sread,ax + shl cx,#9 + add bx,cx + jnc rp_read + mov ax,es + add ax,#0x1000 + mov es,ax + xor bx,bx + jmp rp_read + +read_track: + push ax + push bx + push cx + push dx + mov dx,track + mov cx,sread + inc cx + mov ch,dl + mov dx,head + mov dh,dl + mov dl,#0 + and dx,#0x0100 + mov ah,#2 + int 0x13 + jc bad_rt + pop dx + pop cx + pop bx + pop ax + ret +bad_rt: mov ax,#0 + mov dx,#0 + int 0x13 + pop dx + pop cx + pop bx + pop ax + jmp read_track + +/* + * This procedure turns off the floppy drive motor, so + * that we enter the kernel in a known state, and + * don't have to worry about it later. + */ +kill_motor: + push dx + mov dx,#0x3f2 + mov al,#0 + outb + pop dx + ret + +sectors: + .word 0 + +msg1: + .byte 13,10 + .ascii "Loading system ..." + .byte 13,10,13,10 + +.org 508 +root_dev: + .word ROOT_DEV +boot_flag: + .word 0xAA55 + +.text +endtext: +.data +enddata: +.bss +endbss: diff --git a/linux-0.11-lab/cur/linux/boot/head.o b/linux-0.11-lab/cur/linux/boot/head.o new file mode 100644 index 0000000000000000000000000000000000000000..a4c55649c84336692e2f017e7d3b9dc5fd3082ba GIT binary patch literal 27012 zcmeI5O=ule7>2)-rn#v$OwS%uL!8 z6a%qn7P*Sc3jRisn&iB4& z&iUrdGdG*FIOn4m54>cIk-Qk$Ah(^!ke}VzorWRlmW`=8*Nf1++Dw|)n=8(lL2X<) zq}4H0_qtn3hEHg(eMrzN@gL4WGWd|l-26`+&h}(Q)Bb+)4UucVe)-Gw{Sx<}!~D%I z+*?{aEZ2TpTI?Ts6R8Drs4QHmT#)ACbDHqHPI#fPaIkZJx%=grzZ~<#59qk$nEtaG zwGRskkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@ zkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg z011!)36KB@kN^pg011!)36KB@{I3YSFZx$|7#nQXbmBLjzwysojfuwek;Xv15&K~{ z6T}bn$jEE2Z|!ovS+gN%tq)^XR$HyssPk=M+o88dFJpht^U^0$N=mKOKTj>|UZ7II z4x`H(J5>#+>Q=Qw)n--0B9~TQ#eSfLn=SeK)YI5gR6e{_N}TOiv2kb*y3Aqg&{f?# zRHRiv)sBntlbK~r0wh2JBtQZrur3L-9K81NMAG<0vMw3$rAdGUNPq-LVBHWXMn|V& zZ%m3&9A>eWtI(e;#{O(9#j+QBQXGq-`^K^jJ@x#QE<0i`Vp6sSL02)fJdSHqsHM(blD3iP(3Pv78q7&_8 zM*5-k_?fI2(eEHwXv&I_5`-Qfll%P;pXV0YUx3zAW3po86$m{&CikN%^o7%6cM$*qTtc_Ysx=5yrWmz#Y0Wq@1&%*1%SXPY8K_u4qV*JPI(}(IbjC`7P zOl$R@sT#=|)qkDIv{wK99Ukv?m%n(Im&lK20=Hg{t*Sze*ZlDbcXsa{@hVv2a|5sH zyZGms^dqTP8`GihV(m}Dz>RbuF1PGQ!HL`fm@lJ4uYeu7y6z=u@~z6cI{M&Nu>=k<<%P!gh--%^>djmB1Ic# zG~x&OiAMa0zq0GKeRF1UbBAE`q28r)_-9Aob|_S NJgpJWKc}%z4Mb on a 4Mb machine). + * + * NOTE! Although all physical memory should be identity + * mapped by this routine, only the kernel page functions + * use the >1Mb addresses directly. All "normal" functions + * use just the lower 1Mb, or the local data space, which + * will be mapped to some other place - mm keeps track of + * that. + * + * For those with more memory than 16 Mb - tough luck. I've + * not got it, why should you :-) The source is here. Change + * it. (Seriously - it shouldn't be too difficult. Mostly + * change some constants etc. I left it at 16Mb, as my machine + * even cannot be extended past that (ok, but it was cheap :-) + * I've tried to show which constants to change by having + * some kind of marker at them (search for "16Mb"), but I + * won't guarantee that's all :-( ) + */ +.align 4 +setup_paging: + movl $1024*5,%ecx /* 5 pages - pg_dir+4 page tables */ + xorl %eax,%eax + xorl %edi,%edi /* pg_dir is at 0x000 */ + cld;rep;stosl + movl $pg0+7,pg_dir /* set present bit/user r/w */ + movl $pg1+7,pg_dir+4 /* --------- " " --------- */ + movl $pg2+7,pg_dir+8 /* --------- " " --------- */ + movl $pg3+7,pg_dir+12 /* --------- " " --------- */ + movl $pg3+4092,%edi + movl $0xfff007,%eax /* 16Mb - 4096 + 7 (r/w user,p) */ + std +1: stosl /* fill pages backwards - more efficient :-) */ + subl $0x1000,%eax + jge 1b + xorl %eax,%eax /* pg_dir is at 0x0000 */ + movl %eax,%cr3 /* cr3 - page directory start */ + movl %cr0,%eax + orl $0x80000000,%eax + movl %eax,%cr0 /* set paging (PG) bit */ + cld /* by wyj */ + ret /* this also flushes prefetch-queue */ + +.align 4 +.word 0 +idt_descr: + .word 256*8-1 # idt contains 256 entries + .long idt +.align 4 +.word 0 +gdt_descr: + .word 256*8-1 # so does gdt (not that that's any + .long gdt # magic number, but it works for me :^) + + .align 8 +idt: .fill 256,8,0 # idt is uninitialized + +gdt: .quad 0x0000000000000000 /* NULL descriptor */ + .quad 0x00c09a0000000fff /* 16Mb */ + .quad 0x00c0920000000fff /* 16Mb */ + .quad 0x0000000000000000 /* TEMPORARY - don't use */ + .fill 252,8,0 /* space for LDT's and TSS's etc */ diff --git a/linux-0.11-lab/cur/linux/boot/setup b/linux-0.11-lab/cur/linux/boot/setup new file mode 100644 index 0000000000000000000000000000000000000000..0e70f4846819f560fb2e22a8eb1e7186c7956ab0 GIT binary patch literal 344 zcmZQ%7GP0eU|_Id1QJNVq7lN`!7!ok#ujFS|7Qg{#TXd2bet7k%*3#TAIOzsVOY$@ zutjLIz*&LC91NXuTnwFjJPbP+82WA;HDh4}X+5yNfnlcr!{;SXQ3*l_<@!izwL4T8@UUNgLAc(wpUZcuop2&OfjEda<7{%Xg;=gL$t<~Tutazx3hbYqSrLZVca%ibUp9b?$HkVw;4TnF?Rz@46w`UObliF2LrIX1l zD$%Xa$Sgt^u2&7@|GQ@O1M(N{a&->*XRca94ek$5^Qt@KbHx4WGu-r2)9WkibQgy407%ZoGynhq literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/boot/setup.s b/linux-0.11-lab/cur/linux/boot/setup.s new file mode 100644 index 0000000..2329d00 --- /dev/null +++ b/linux-0.11-lab/cur/linux/boot/setup.s @@ -0,0 +1,231 @@ +! +! setup.s (C) 1991 Linus Torvalds +! +! setup.s is responsible for getting the system data from the BIOS, +! and putting them into the appropriate places in system memory. +! both setup.s and system has been loaded by the bootblock. +! +! This code asks the bios for memory/disk/other parameters, and +! puts them in a "safe" place: 0x90000-0x901FF, ie where the +! boot-block used to be. It is then up to the protected mode +! system to read them from there before the area is overwritten +! for buffer-blocks. +! + +! NOTE! These had better be the same as in bootsect.s! + +INITSEG = 0x9000 ! we move boot here - out of the way +SYSSEG = 0x1000 ! system loaded at 0x10000 (65536). +SETUPSEG = 0x9020 ! this is the current segment + +.globl begtext, begdata, begbss, endtext, enddata, endbss +.text +begtext: +.data +begdata: +.bss +begbss: +.text + +entry start +start: + +! ok, the read went well so we get current cursor position and save it for +! posterity. + + mov ax,#INITSEG ! this is done in bootsect already, but... + mov ds,ax + mov ah,#0x03 ! read cursor pos + xor bh,bh + int 0x10 ! save it in known place, con_init fetches + mov [0],dx ! it from 0x90000. + +! Get memory size (extended mem, kB) + + mov ah,#0x88 + int 0x15 + mov [2],ax + +! Get video-card data: + + mov ah,#0x0f + int 0x10 + mov [4],bx ! bh = display page + mov [6],ax ! al = video mode, ah = window width + +! check for EGA/VGA and some config parameters + + mov ah,#0x12 + mov bl,#0x10 + int 0x10 + mov [8],ax + mov [10],bx + mov [12],cx + +! Get hd0 data + + mov ax,#0x0000 + mov ds,ax + lds si,[4*0x41] + mov ax,#INITSEG + mov es,ax + mov di,#0x0080 + mov cx,#0x10 + rep + movsb + +! Get hd1 data + + mov ax,#0x0000 + mov ds,ax + lds si,[4*0x46] + mov ax,#INITSEG + mov es,ax + mov di,#0x0090 + mov cx,#0x10 + rep + movsb + +! Check that there IS a hd1 :-) + + mov ax,#0x01500 + mov dl,#0x81 + int 0x13 + jc no_disk1 + cmp ah,#3 + je is_disk1 +no_disk1: + mov ax,#INITSEG + mov es,ax + mov di,#0x0090 + mov cx,#0x10 + mov ax,#0x00 + rep + stosb +is_disk1: + +! now we want to move to protected mode ... + + cli ! no interrupts allowed ! + +! first we move the system to it's rightful place + + mov ax,#0x0000 + cld ! 'direction'=0, movs moves forward +do_move: + mov es,ax ! destination segment + add ax,#0x1000 + cmp ax,#0x9000 + jz end_move + mov ds,ax ! source segment + sub di,di + sub si,si + mov cx,#0x8000 + rep + movsw + jmp do_move + +! then we load the segment descriptors + +end_move: + mov ax,#SETUPSEG ! right, forgot this at first. didn't work :-) + mov ds,ax + lidt idt_48 ! load idt with 0,0 + lgdt gdt_48 ! load gdt with whatever appropriate + +! that was painless, now we enable A20 + + call empty_8042 + mov al,#0xD1 ! command write + out #0x64,al + call empty_8042 + mov al,#0xDF ! A20 on + out #0x60,al + call empty_8042 + +! well, that went ok, I hope. Now we have to reprogram the interrupts :-( +! we put them right after the intel-reserved hardware interrupts, at +! int 0x20-0x2F. There they won't mess up anything. Sadly IBM really +! messed this up with the original PC, and they haven't been able to +! rectify it afterwards. Thus the bios puts interrupts at 0x08-0x0f, +! which is used for the internal hardware interrupts as well. We just +! have to reprogram the 8259's, and it isn't fun. + + mov al,#0x11 ! initialization sequence + out #0x20,al ! send it to 8259A-1 + .word 0x00eb,0x00eb ! jmp $+2, jmp $+2 + out #0xA0,al ! and to 8259A-2 + .word 0x00eb,0x00eb + mov al,#0x20 ! start of hardware int's (0x20) + out #0x21,al + .word 0x00eb,0x00eb + mov al,#0x28 ! start of hardware int's 2 (0x28) + out #0xA1,al + .word 0x00eb,0x00eb + mov al,#0x04 ! 8259-1 is master + out #0x21,al + .word 0x00eb,0x00eb + mov al,#0x02 ! 8259-2 is slave + out #0xA1,al + .word 0x00eb,0x00eb + mov al,#0x01 ! 8086 mode for both + out #0x21,al + .word 0x00eb,0x00eb + out #0xA1,al + .word 0x00eb,0x00eb + mov al,#0xFF ! mask off all interrupts for now + out #0x21,al + .word 0x00eb,0x00eb + out #0xA1,al + +! well, that certainly wasn't fun :-(. Hopefully it works, and we don't +! need no steenking BIOS anyway (except for the initial loading :-). +! The BIOS-routine wants lots of unnecessary data, and it's less +! "interesting" anyway. This is how REAL programmers do it. +! +! Well, now's the time to actually move into protected mode. To make +! things as simple as possible, we do no register set-up or anything, +! we let the gnu-compiled 32-bit programs do that. We just jump to +! absolute address 0x00000, in 32-bit protected mode. + + mov ax,#0x0001 ! protected mode (PE) bit + lmsw ax ! This is it! + jmpi 0,8 ! jmp offset 0 of segment 8 (cs) + +! This routine checks that the keyboard command queue is empty +! No timeout is used - if this hangs there is something wrong with +! the machine, and we probably couldn't proceed anyway. +empty_8042: + .word 0x00eb,0x00eb + in al,#0x64 ! 8042 status port + test al,#2 ! is input buffer full? + jnz empty_8042 ! yes - loop + ret + +gdt: + .word 0,0,0,0 ! dummy + + .word 0x07FF ! 8Mb - limit=2047 (2048*4096=8Mb) + .word 0x0000 ! base address=0 + .word 0x9A00 ! code read/exec + .word 0x00C0 ! granularity=4096, 386 + + .word 0x07FF ! 8Mb - limit=2047 (2048*4096=8Mb) + .word 0x0000 ! base address=0 + .word 0x9200 ! data read/write + .word 0x00C0 ! granularity=4096, 386 + +idt_48: + .word 0 ! idt limit=0 + .word 0,0 ! idt base=0L + +gdt_48: + .word 0x800 ! gdt limit=2048, 256 GDT entries + .word 512+gdt,0x9 ! gdt base = 0X9xxxx + +.text +endtext: +.data +enddata: +.bss +endbss: diff --git a/linux-0.11-lab/cur/linux/execve2.patch b/linux-0.11-lab/cur/linux/execve2.patch new file mode 100644 index 0000000..7d99d4f --- /dev/null +++ b/linux-0.11-lab/cur/linux/execve2.patch @@ -0,0 +1,41 @@ +diff -Naur 0/linux/init/main.c 4/linux/init/main.c +--- 0/linux/init/main.c 2016-08-08 09:40:13.000000000 +0800 ++++ 4/linux/init/main.c 2021-07-06 14:16:56.000000000 +0800 +@@ -208,3 +208,9 @@ + } + _exit(0); /* NOTE! _exit, not exit() */ + } ++ ++void print_nr(int sid) ++{ ++ if (sid > 86) ++ printk(" --syscall: sid=%d, pid=%d\n", sid, current->pid); ++} +diff -Naur 0/linux/kernel/system_call.s 4/linux/kernel/system_call.s +--- 0/linux/kernel/system_call.s 2015-09-03 20:21:09.000000000 +0800 ++++ 4/linux/kernel/system_call.s 2021-07-06 14:18:56.000000000 +0800 +@@ -91,6 +91,11 @@ + mov %dx,%es + movl $0x17,%edx # fs points to local data space + mov %dx,%fs ++ ++ pushl %eax #by wyj ++ call print_nr ++ popl %eax ++ + call sys_call_table(,%eax,4) + pushl %eax + movl current,%eax +diff -Naur 0/linux/mm/memory.c 4/linux/mm/memory.c +--- 0/linux/mm/memory.c 2015-09-04 15:24:20.000000000 +0800 ++++ 4/linux/mm/memory.c 2021-07-06 14:21:45.000000000 +0800 +@@ -370,6 +370,9 @@ + unsigned long page; + int block,i; + ++ if (current->pid > 5) ++ printk(" --do_no_page: address=%x, pid=%d\n", address, current->pid); ++ + address &= 0xfffff000; + tmp = address - current->start_code; + if (!current->executable || tmp >= current->end_data) { diff --git a/linux-0.11-lab/cur/linux/fs/Makefile b/linux-0.11-lab/cur/linux/fs/Makefile new file mode 100644 index 0000000..970acd4 --- /dev/null +++ b/linux-0.11-lab/cur/linux/fs/Makefile @@ -0,0 +1,101 @@ +AR =ar +AS =as +LD =ld +LDFLAGS =-s -x +CC =gcc -march=i386 +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -mcld \ + -finline-functions -nostdinc -fno-stack-protector -I../include +CPP =gcc -E -nostdinc -I../include + +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< +.s.o: + $(AS) -o $*.o $< + +OBJS= open.o read_write.o inode.o file_table.o buffer.o super.o \ + block_dev.o char_dev.o file_dev.o stat.o exec.o pipe.o namei.o \ + bitmap.o fcntl.o ioctl.o truncate.o select.o + +fs.o: $(OBJS) + $(LD) -r -o fs.o $(OBJS) + +clean: + rm -f core *.o *.a tmp_make + for i in *.c;do rm -f `basename $$i .c`.s;done + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +bitmap.o : bitmap.c ../include/string.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h +block_dev.o : block_dev.c ../include/errno.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/segment.h ../include/asm/system.h +buffer.o : buffer.c ../include/stdarg.h ../include/linux/config.h \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/sys/types.h ../include/linux/mm.h ../include/signal.h \ + ../include/linux/kernel.h ../include/asm/system.h ../include/asm/io.h +char_dev.o : char_dev.c ../include/errno.h ../include/sys/types.h \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/segment.h ../include/asm/io.h +exec.o : exec.c ../include/errno.h ../include/string.h \ + ../include/sys/stat.h ../include/sys/types.h ../include/a.out.h \ + ../include/linux/fs.h ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/segment.h +fcntl.o : fcntl.c ../include/string.h ../include/errno.h \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/sys/types.h ../include/linux/mm.h ../include/signal.h \ + ../include/linux/kernel.h ../include/asm/segment.h ../include/fcntl.h \ + ../include/sys/stat.h +file_dev.o : file_dev.c ../include/errno.h ../include/fcntl.h \ + ../include/sys/types.h ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/linux/mm.h ../include/signal.h \ + ../include/linux/kernel.h ../include/asm/segment.h +file_table.o : file_table.c ../include/linux/fs.h ../include/sys/types.h +inode.o : inode.c ../include/string.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/linux/mm.h ../include/signal.h \ + ../include/linux/kernel.h ../include/asm/system.h +ioctl.o : ioctl.c ../include/string.h ../include/errno.h \ + ../include/sys/stat.h ../include/sys/types.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/linux/mm.h \ + ../include/signal.h +namei.o : namei.c ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/sys/types.h ../include/linux/mm.h \ + ../include/signal.h ../include/linux/kernel.h ../include/asm/segment.h \ + ../include/string.h ../include/fcntl.h ../include/errno.h \ + ../include/const.h ../include/sys/stat.h +open.o : open.c ../include/string.h ../include/errno.h ../include/fcntl.h \ + ../include/sys/types.h ../include/utime.h ../include/sys/stat.h \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/tty.h \ + ../include/termios.h ../include/linux/kernel.h ../include/asm/segment.h +pipe.o : pipe.c ../include/signal.h ../include/sys/types.h \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/linux/mm.h ../include/asm/segment.h +read_write.o : read_write.c ../include/sys/stat.h ../include/sys/types.h \ + ../include/errno.h ../include/linux/kernel.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/linux/mm.h \ + ../include/signal.h ../include/asm/segment.h +stat.o : stat.c ../include/errno.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/linux/fs.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/mm.h ../include/signal.h \ + ../include/linux/kernel.h ../include/asm/segment.h +super.o : super.c ../include/linux/config.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/system.h ../include/errno.h ../include/sys/stat.h +truncate.o : truncate.c ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/sys/types.h ../include/linux/mm.h \ + ../include/signal.h ../include/sys/stat.h diff --git a/linux-0.11-lab/cur/linux/fs/bitmap.c b/linux-0.11-lab/cur/linux/fs/bitmap.c new file mode 100644 index 0000000..73951a8 --- /dev/null +++ b/linux-0.11-lab/cur/linux/fs/bitmap.c @@ -0,0 +1,168 @@ +/* + * linux/fs/bitmap.c + * + * (C) 1991 Linus Torvalds + */ + +/* bitmap.c contains the code that handles the inode and block bitmaps */ +#include + +#include +#include + +#define clear_block(addr) \ +__asm__ __volatile__ ("cld\n\t" \ + "rep\n\t" \ + "stosl" \ + ::"a" (0),"c" (BLOCK_SIZE/4),"D" ((long) (addr))) + +#define set_bit(nr,addr) ({\ +register int res __asm__("ax"); \ +__asm__ __volatile__("btsl %2,%3\n\tsetb %%al": \ +"=a" (res):"0" (0),"r" (nr),"m" (*(addr))); \ +res;}) + +#define clear_bit(nr,addr) ({\ +register int res __asm__("ax"); \ +__asm__ __volatile__("btrl %2,%3\n\tsetnb %%al": \ +"=a" (res):"0" (0),"r" (nr),"m" (*(addr))); \ +res;}) + +#define find_first_zero(addr) ({ \ +int __res; \ +__asm__ __volatile__ ("cld\n" \ + "1:\tlodsl\n\t" \ + "notl %%eax\n\t" \ + "bsfl %%eax,%%edx\n\t" \ + "je 2f\n\t" \ + "addl %%edx,%%ecx\n\t" \ + "jmp 3f\n" \ + "2:\taddl $32,%%ecx\n\t" \ + "cmpl $8192,%%ecx\n\t" \ + "jl 1b\n" \ + "3:" \ + :"=c" (__res):"c" (0),"S" (addr)); \ +__res;}) + +void free_block(int dev, int block) +{ + struct super_block * sb; + struct buffer_head * bh; + + if (!(sb = get_super(dev))) + panic("trying to free block on nonexistent device"); + if (block < sb->s_firstdatazone || block >= sb->s_nzones) + panic("trying to free block not in datazone"); + bh = get_hash_table(dev,block); + if (bh) { + if (bh->b_count != 1) { + printk("trying to free block (%04x:%d), count=%d\n", + dev,block,bh->b_count); + return; + } + bh->b_dirt=0; + bh->b_uptodate=0; + brelse(bh); + } + block -= sb->s_firstdatazone - 1 ; + if (clear_bit(block&8191,sb->s_zmap[block/8192]->b_data)) { + printk("block (%04x:%d) ",dev,block+sb->s_firstdatazone-1); + panic("free_block: bit already cleared"); + } + sb->s_zmap[block/8192]->b_dirt = 1; +} + +int new_block(int dev) +{ + struct buffer_head * bh; + struct super_block * sb; + int i,j; + + if (!(sb = get_super(dev))) + panic("trying to get new block from nonexistant device"); + j = 8192; + for (i=0 ; i<8 ; i++) + if (bh=sb->s_zmap[i]) + if ((j=find_first_zero(bh->b_data))<8192) + break; + if (i>=8 || !bh || j>=8192) + return 0; + if (set_bit(j,bh->b_data)) + panic("new_block: bit already set"); + bh->b_dirt = 1; + j += i*8192 + sb->s_firstdatazone-1; + if (j >= sb->s_nzones) + return 0; + if (!(bh=getblk(dev,j))) + panic("new_block: cannot get block"); + if (bh->b_count != 1) + panic("new block: count is != 1"); + clear_block(bh->b_data); + bh->b_uptodate = 1; + bh->b_dirt = 1; + brelse(bh); + return j; +} + +void free_inode(struct m_inode * inode) +{ + struct super_block * sb; + struct buffer_head * bh; + + if (!inode) + return; + if (!inode->i_dev) { + memset(inode,0,sizeof(*inode)); + return; + } + if (inode->i_count>1) { + printk("trying to free inode with count=%d\n",inode->i_count); + panic("free_inode"); + } + if (inode->i_nlinks) + panic("trying to free inode with links"); + if (!(sb = get_super(inode->i_dev))) + panic("trying to free inode on nonexistent device"); + if (inode->i_num < 1 || inode->i_num > sb->s_ninodes) + panic("trying to free inode 0 or nonexistant inode"); + if (!(bh=sb->s_imap[inode->i_num>>13])) + panic("nonexistent imap in superblock"); + if (clear_bit(inode->i_num&8191,bh->b_data)) + printk("free_inode: bit already cleared.\n\r"); + bh->b_dirt = 1; + memset(inode,0,sizeof(*inode)); +} + +struct m_inode * new_inode(int dev) +{ + struct m_inode * inode; + struct super_block * sb; + struct buffer_head * bh; + int i,j; + + if (!(inode=get_empty_inode())) + return NULL; + if (!(sb = get_super(dev))) + panic("new_inode with unknown device"); + j = 8192; + for (i=0 ; i<8 ; i++) + if (bh=sb->s_imap[i]) + if ((j=find_first_zero(bh->b_data))<8192) + break; + if (!bh || j >= 8192 || j+i*8192 > sb->s_ninodes) { + iput(inode); + return NULL; + } + if (set_bit(j,bh->b_data)) + panic("new_inode: bit already set"); + bh->b_dirt = 1; + inode->i_count=1; + inode->i_nlinks=1; + inode->i_dev=dev; + inode->i_uid=current->euid; + inode->i_gid=current->egid; + inode->i_dirt=1; + inode->i_num = j + i*8192; + inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; + return inode; +} diff --git a/linux-0.11-lab/cur/linux/fs/bitmap.o b/linux-0.11-lab/cur/linux/fs/bitmap.o new file mode 100644 index 0000000000000000000000000000000000000000..e2ff6c81c16c1eb4d774536e968d9c30d54d4546 GIT binary patch literal 10276 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/fs/block_dev.c b/linux-0.11-lab/cur/linux/fs/block_dev.c new file mode 100644 index 0000000..a50ae3f --- /dev/null +++ b/linux-0.11-lab/cur/linux/fs/block_dev.c @@ -0,0 +1,73 @@ +/* + * linux/fs/block_dev.c + * + * (C) 1991 Linus Torvalds + */ + +#include + +#include +#include +#include +#include + +int block_write(int dev, long * pos, char * buf, int count) +{ + int block = *pos >> BLOCK_SIZE_BITS; + int offset = *pos & (BLOCK_SIZE-1); + int chars; + int written = 0; + struct buffer_head * bh; + register char * p; + + while (count>0) { + chars = BLOCK_SIZE - offset; + if (chars > count) + chars=count; + if (chars == BLOCK_SIZE) + bh = getblk(dev,block); + else + bh = breada(dev,block,block+1,block+2,-1); + block++; + if (!bh) + return written?written:-EIO; + p = offset + bh->b_data; + offset = 0; + *pos += chars; + written += chars; + count -= chars; + while (chars-->0) + *(p++) = get_fs_byte(buf++); + bh->b_dirt = 1; + brelse(bh); + } + return written; +} + +int block_read(int dev, unsigned long * pos, char * buf, int count) +{ + int block = *pos >> BLOCK_SIZE_BITS; + int offset = *pos & (BLOCK_SIZE-1); + int chars; + int read = 0; + struct buffer_head * bh; + register char * p; + + while (count>0) { + chars = BLOCK_SIZE-offset; + if (chars > count) + chars = count; + if (!(bh = breada(dev,block,block+1,block+2,-1))) + return read?read:-EIO; + block++; + p = offset + bh->b_data; + offset = 0; + *pos += chars; + read += chars; + count -= chars; + while (chars-->0) + put_fs_byte(*(p++),buf++); + brelse(bh); + } + return read; +} diff --git a/linux-0.11-lab/cur/linux/fs/block_dev.o b/linux-0.11-lab/cur/linux/fs/block_dev.o new file mode 100644 index 0000000000000000000000000000000000000000..cdf73318e1c2982d43e13f2b6bfecf1c6b439a14 GIT binary patch literal 7292 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 + +#include +#include +#include +#include +#include + +extern void put_super(int dev); +extern void invalidate_inodes(int dev); + +extern int end; +struct buffer_head * start_buffer = (struct buffer_head *) &end; +struct buffer_head * hash_table[NR_HASH]; +static struct buffer_head * free_list; +static struct task_struct * buffer_wait = NULL; +int NR_BUFFERS = 0; + +static inline void wait_on_buffer(struct buffer_head * bh) +{ + cli(); + while (bh->b_lock) + sleep_on(&bh->b_wait); + sti(); +} + +int sys_sync(void) +{ + int i; + struct buffer_head * bh; + + sync_inodes(); /* write out inodes into buffers */ + bh = start_buffer; + for (i=0 ; ib_dirt) + ll_rw_block(WRITE,bh); + } + return 0; +} + +int sync_dev(int dev) +{ + int i; + struct buffer_head * bh; + + bh = start_buffer; + for (i=0 ; ib_dev != dev) + continue; + wait_on_buffer(bh); + if (bh->b_dev == dev && bh->b_dirt) + ll_rw_block(WRITE,bh); + } + sync_inodes(); + bh = start_buffer; + for (i=0 ; ib_dev != dev) + continue; + wait_on_buffer(bh); + if (bh->b_dev == dev && bh->b_dirt) + ll_rw_block(WRITE,bh); + } + return 0; +} + +void inline invalidate_buffers(int dev) +{ + int i; + struct buffer_head * bh; + + bh = start_buffer; + for (i=0 ; ib_dev != dev) + continue; + wait_on_buffer(bh); + if (bh->b_dev == dev) + bh->b_uptodate = bh->b_dirt = 0; + } +} + +/* + * This routine checks whether a floppy has been changed, and + * invalidates all buffer-cache-entries in that case. This + * is a relatively slow routine, so we have to try to minimize using + * it. Thus it is called only upon a 'mount' or 'open'. This + * is the best way of combining speed and utility, I think. + * People changing diskettes in the middle of an operation deserve + * to loose :-) + * + * NOTE! Although currently this is only for floppies, the idea is + * that any additional removable block-device will use this routine, + * and that mount/open needn't know that floppies/whatever are + * special. + */ +void check_disk_change(int dev) +{ + int i; + + if (MAJOR(dev) != 2) + return; + if (!floppy_change(dev & 0x03)) + return; + for (i=0 ; ib_next) + bh->b_next->b_prev = bh->b_prev; + if (bh->b_prev) + bh->b_prev->b_next = bh->b_next; + if (hash(bh->b_dev,bh->b_blocknr) == bh) + hash(bh->b_dev,bh->b_blocknr) = bh->b_next; +/* remove from free list */ + if (!(bh->b_prev_free) || !(bh->b_next_free)) + panic("Free block list corrupted"); + bh->b_prev_free->b_next_free = bh->b_next_free; + bh->b_next_free->b_prev_free = bh->b_prev_free; + if (free_list == bh) + free_list = bh->b_next_free; +} + +static inline void insert_into_queues(struct buffer_head * bh) +{ +/* put at end of free list */ + bh->b_next_free = free_list; + bh->b_prev_free = free_list->b_prev_free; + free_list->b_prev_free->b_next_free = bh; + free_list->b_prev_free = bh; +/* put the buffer in new hash-queue if it has a device */ + bh->b_prev = NULL; + bh->b_next = NULL; + if (!bh->b_dev) + return; + bh->b_next = hash(bh->b_dev,bh->b_blocknr); + hash(bh->b_dev,bh->b_blocknr) = bh; + bh->b_next->b_prev = bh; +} + +static struct buffer_head * find_buffer(int dev, int block) +{ + struct buffer_head * tmp; + + for (tmp = hash(dev,block) ; tmp != NULL ; tmp = tmp->b_next) + if (tmp->b_dev==dev && tmp->b_blocknr==block) + return tmp; + return NULL; +} + +/* + * Why like this, I hear you say... The reason is race-conditions. + * As we don't lock buffers (unless we are readint them, that is), + * something might happen to it while we sleep (ie a read-error + * will force it bad). This shouldn't really happen currently, but + * the code is ready. + */ +struct buffer_head * get_hash_table(int dev, int block) +{ + struct buffer_head * bh; + + for (;;) { + if (!(bh=find_buffer(dev,block))) + return NULL; + bh->b_count++; + wait_on_buffer(bh); + if (bh->b_dev == dev && bh->b_blocknr == block) + return bh; + bh->b_count--; + } +} + +/* + * Ok, this is getblk, and it isn't very clear, again to hinder + * race-conditions. Most of the code is seldom used, (ie repeating), + * so it should be much more efficient than it looks. + * + * The algoritm is changed: hopefully better, and an elusive bug removed. + */ +#define BADNESS(bh) (((bh)->b_dirt<<1)+(bh)->b_lock) +struct buffer_head * getblk(int dev,int block) +{ + struct buffer_head * tmp, * bh; + +repeat: + if (bh = get_hash_table(dev,block)) + return bh; + tmp = free_list; + do { + if (tmp->b_count) + continue; + if (!bh || BADNESS(tmp)b_next_free) != free_list); + if (!bh) { + sleep_on(&buffer_wait); + goto repeat; + } + wait_on_buffer(bh); + if (bh->b_count) + goto repeat; + while (bh->b_dirt) { + sync_dev(bh->b_dev); + wait_on_buffer(bh); + if (bh->b_count) + goto repeat; + } +/* NOTE!! While we slept waiting for this block, somebody else might */ +/* already have added "this" block to the cache. check it */ + if (find_buffer(dev,block)) + goto repeat; +/* OK, FINALLY we know that this buffer is the only one of it's kind, */ +/* and that it's unused (b_count=0), unlocked (b_lock=0), and clean */ + bh->b_count=1; + bh->b_dirt=0; + bh->b_uptodate=0; + remove_from_queues(bh); + bh->b_dev=dev; + bh->b_blocknr=block; + insert_into_queues(bh); + return bh; +} + +void brelse(struct buffer_head * buf) +{ + if (!buf) + return; + wait_on_buffer(buf); + if (!(buf->b_count--)) + panic("Trying to free free buffer"); + wake_up(&buffer_wait); +} + +/* + * bread() reads a specified block and returns the buffer that contains + * it. It returns NULL if the block was unreadable. + */ +struct buffer_head * bread(int dev,int block) +{ + struct buffer_head * bh; + + if (!(bh=getblk(dev,block))) + panic("bread: getblk returned NULL\n"); + if (bh->b_uptodate) + return bh; + ll_rw_block(READ,bh); + wait_on_buffer(bh); + if (bh->b_uptodate) + return bh; + brelse(bh); + return NULL; +} + +#define COPYBLK(from,to) \ +__asm__("cld\n\t" \ + "rep\n\t" \ + "movsl\n\t" \ + ::"c" (BLOCK_SIZE/4),"S" (from),"D" (to) \ + ) + +/* + * bread_page reads four buffers into memory at the desired address. It's + * a function of its own, as there is some speed to be got by reading them + * all at the same time, not waiting for one to be read, and then another + * etc. + */ +void bread_page(unsigned long address,int dev,int b[4]) +{ + struct buffer_head * bh[4]; + int i; + + for (i=0 ; i<4 ; i++) + if (b[i]) { + if (bh[i] = getblk(dev,b[i])) + if (!bh[i]->b_uptodate) + ll_rw_block(READ,bh[i]); + } else + bh[i] = NULL; + for (i=0 ; i<4 ; i++,address += BLOCK_SIZE) + if (bh[i]) { + wait_on_buffer(bh[i]); + if (bh[i]->b_uptodate) + COPYBLK((unsigned long) bh[i]->b_data,address); + brelse(bh[i]); + } +} + +/* + * Ok, breada can be used as bread, but additionally to mark other + * blocks for reading as well. End the argument list with a negative + * number. + */ +struct buffer_head * breada(int dev,int first, ...) +{ + va_list args; + struct buffer_head * bh, *tmp; + + va_start(args,first); + if (!(bh=getblk(dev,first))) + panic("bread: getblk returned NULL\n"); + if (!bh->b_uptodate) + ll_rw_block(READ,bh); + while ((first=va_arg(args,int))>=0) { + tmp=getblk(dev,first); + if (tmp) { + if (!tmp->b_uptodate) + ll_rw_block(READA,bh); + tmp->b_count--; + } + } + va_end(args); + wait_on_buffer(bh); + if (bh->b_uptodate) + return bh; + brelse(bh); + return (NULL); +} + +void buffer_init(long buffer_end) +{ + struct buffer_head * h = start_buffer; + void * b; + int i; + + if (buffer_end == 1<<20) + b = (void *) (640*1024); + else + b = (void *) buffer_end; + while ( (b -= BLOCK_SIZE) >= ((void *) (h+1)) ) { + h->b_dev = 0; + h->b_dirt = 0; + h->b_count = 0; + h->b_lock = 0; + h->b_uptodate = 0; + h->b_wait = NULL; + h->b_next = NULL; + h->b_prev = NULL; + h->b_data = (char *) b; + h->b_prev_free = h-1; + h->b_next_free = h+1; + h++; + NR_BUFFERS++; + if (b == (void *) 0x100000) + b = (void *) 0xA0000; + } + h--; + free_list = start_buffer; + free_list->b_prev_free = h; + h->b_next_free = free_list; + for (i=0;iLB*g=Pj~f9OHX&(4<0T) za6}nL6ESXdjaf7?F3CE(iMrY7_$7l;iAlbMd@*4ke$m8_L^7JJF~(<>{r_91dK%DV zck6@t&pG#;bI-l^+*eKCv}Dy%!!VTh7|N%{IHk5WyCt0(rmKmnUiH7x^ug%(!Ntwt z{*l@NfAi}f9XWD@>>ZJDw~my4{bB!eP2cT*qeaUfrs2Ti=EnVto0~|Fc0#q0W>30i zjdw(^3F>v@E3;_lGulfcg0d|g*%+VXlqr7%- zZFAGW0b|5Ca96|g95Um;zE{ma7cC=x8J^ONzpCc>*P(51ZmPQRE3DZQSJG~zO%R0# zBaJ&pigiMwlJMZA4Fg?FGL$upl{L6!jRRecZW%J?fJ^yj9(ZatQt@d<|L$7@2L}B+ zNg}VprS`wBtt)LDXwXKkdJ`&UUn7PvIxK`-r^oUP8jLi#@q`Du!lLI2ng+U>9`<{+ zhotPwlyJHYP9O!TABI|Qu!|i5)-`iIkCm>~Mby|IX@IG=-5+W6NKBHX9?}$b^ps(@ zfI7Zg$}NO@_TpbrXVqgS7%8+6mJOKDwXi1J@CjXyg(NiE0i{rR5;v44Xuiu&+j-BH zEV82~xk`<+=-=KPQl%GV{?u~eKxrq6Xwxx(4BmmY0ellwn^dVvtB$TiY118%&|O^y zsa;*{_9m*o|AC&-P30&$bQDd4I*Lw-qG`0g?12j;J&f)gn@>kYz(o`hG$MjVRXhRe zjfbjFEw7U2Yt>yFw-%U}YOC0>>ibz`T7oOs6Vq z`y>a(0X_I9vmCj~`gI^&g2(T?4zcP8N_EI!8#$vh`0#XDVF%DfKY!m{^w56@IdC|H zve7p9lVy-PvT^9$;L&6BUzSBnug<0YFg&We4*dDZ5lp7Q;U`7!g-D2_R9@6xhy>RJ)`b-oH1=?q(EVl+N_nV}lB#BgTQ{yak=y;v4^&45IbI8+AN$c;=R- zYZ*Z8x4o+yta-Q5r+LMLYT(&#@z^rBp*b?JZ{X(xuYB}2cZsqwJA^gvSlk>@SSfYQ zH{RR-T*s%ciE=%-3&Yeu;%A=2?&C(xotS#OD@P2o3L{q1`{{8lUNd^hCwOZ>1P!Xl zrL4jAPf$h0)ZId+v*TnZ6JtDo2pE7vzpK zBp6K^^p7-SZL-Jruf<6Br#(}>LAv|lTDJ~wqeO*aIO4Xc^g4}crgv%zkSl)F=bwe7 zy79IC=W4%8DW0Wy#|d|*v++&gbgEDc$Fuo-DOYq7YHfa7D$^4#X2VJ9=vQ|snRN21 zJMY92=Z1TnVt0B|IPVlo`HYhYU%YPBs-QYMq}T>Le&fe@8$;ltJ}pu21YI;Q0s8zM z`h5=Ge#5#0dVzC6+ot~-fE80_fP}KTh4L%EziKVA2`~*V0VirMz@4SaA4p}2%5PQ; zP-xiiL&f|lO8nsh+yv%>Zw@S;1BpGGf+Y+<+3ipdEM--GyOr`~J1DlN1wb#~1v+Ra zsk4G~wS5~L1Xhv`*^g6x5$SRE8u$;aIuGw!`+T-$^+M1M_Gd|7OuEs2kouR9ZnF2& zPZ#O1I-wSoJ>#=3rn#L$iPgoRm0b&KYYl0?{VJ@jOG(@I<&3MS)!Q^Gk7(F(M+cqe2T6$GuI4$zFcy?SzV%ot9HOLVg^6MMr!6lGnhj2 zU1qUa-9xocQ*Egk?4|?FEH{H4bgh|{X7Ft?8yLvfp~mAh#YX#*#GpU<+dF-VMu~8QjjO z<7A3v@Kt=P*1so7L$=QCYqJ0pXktPz zHGTdEU=?C@SHQ_Q2ZXHxzlM*wfvcAT?8hMw=unmYV+aCKYMXX9%mW+UL_S2F7-`$? zXVP`M341dnfw-HnS5haj4DTAdgr)?N%)YQaK%E}iHrvx^+e>=7eVBBLb+y=wSnsu@ z+w6BpZzA1czd|}q|Fi5zN%xVSZQsP$GNe20rKGc@&$btk&XGRHev1CDBRxk28ev=; zD6&88tyC)QK!LKKAibHiX-}rX7Seuu2^+9gtJ^bJ@wU%G9zuVz8v}n2vvgoPN6g+! z!3{J+&*BN(=(_8n*-fsy59s=4(w2QGUGE@m+w&;Dg>=yVoB_I@eG{_VX?rW>wKjK! zz-_Fm!G4%^-A=mGK85mK)LCnH)8_!gz0&>~{oFx%gB_;+AboDMe?j_Aj!DAKQ2#FW zO|RX@7(PQfWnVz~XGveHLR?Gkgg_@vl`{Vwj;pHDC=76ksIBUF38i)uUR5(+!CTq; zQESyK8u{%jAgG$ntheo1)am>+-XT>()$x?0H|e3)=RX7p48wogn!X7ER9^GO&36Jiu zoNkZqw44I`ETH~e$U#R)pAUITSqn)=U<>*}(u*Ni)*_P2Eq2#plB*DimlU(6o6=nafwuL|7<;PRxqcCre+1e*V) zt9^bhJE8e7{H-T7Roz#?8`JPoQ%OBI4wLD`?q0~4hbC6!`YPBN?aUmi#I+jFTn#B@ z%%s@doo=AXEZ3x0)qjyD7qE;;{k}HYLC*tm~` zzl@PTO_sagE!xL$*~imI`4G;pyZ#y1MOxKgLjOM@y9f!v71Ma|Bplh?Fn)5B3*jV; zpNbFdP?+9H+v)FTOW{kMTq3QEUt$8U(6P;j<5O^=q|~*>MDwvDYBc{TWZF)xc`G$_ zPt+I^!>PI}Jl202Q>a$lq}9p4r<=2ke};?Gbt`@e7pI<$hC#};6-nTFJWD+KPw8eE z^~~M2_Sb6sMspiZL$0-nUK%SPW6(?OyC~OF#HX72*}f$@gr6X1-qDd?UF}7_q#XI1 zjKX96lf$dgJ;pL)s*WnHYhErb={-%4vBxIVlsDO$sPO{EwOu#tYpCJWeRLT$II+>N z)6f?&@v!wYG^^X7mbtsghQuY1oI2fq#?Kh^8SMRl52QNdR0^88;{<$Y1y%+KegSLU z%qrE)qzF9nBS@y+hjL?zYYb9NUBOtHCq}1-OPxMGKU1 z`b3CaWo6VEQ)}w0eKn`l)EOsQwI?CuiON@VZuNQ9E9$ZHj91l~z}JK7>IUzQQr>p znhD0VNtBEaK!QDFf|@o-sk$~qL!Z+ou?3OF&tIsuP7IX8G8?fdwiyd1d5SCQk5X;u zJW6#!rRq_N6OXOyKDVxu#^j!BDQQF$(gloSQc&1BjOfYbdIHD9eu~5%SW!=_rb_i0A&~-){Mhj{~d|5tgWp*m5HZI38y`s z%9OUMF+l~{Uf5Pp%Dp4E#p$va_vALrMx_eHL@eI}8kH2c<(vXY%#kFK#qnOp(@gbb zVrf?s39cjdO*7_CX;-G-c%yv9&=i~Iips~S6W+!hr2Eqvg`5BY^yih8?^i}YiQW6 zhje&#!;6OwJu@^k+-|nln=SPR&sbnit=CF_unr|ed&_!XaAm|kShDNAC=d16_3gfD zN_XEgq}yf{EpuLdzy0D&dv|I0s^Ova?e>)6A^KSRq+R-Se}Dh*@X+u@tLK;6hwY1o zhu18y4-OCY*z@rkUhk`2dF_jKk2$CQkbRHu`lof>E3GH?48MKIe(_DsK5hNY_Q(*e z?D-ejr4oSh4}B-tMeStu{CoH8yrO^o9#qypG&Hp5;KB7nd#K~P?iOF2earei!!Lq0 zDKlSVfwj_l$n+y!3en8<*$hr>y|F@Xv>5A7JE{;(^~G`kZeN9BEMJV`9p9w7wFK{2 zF{TnuAr5)I6fY{QnXYhiEXq$Zst}7N(=nXr@=jlNvlC6`vwhL)N=^wi74xyU6YWkF zSxG9IL3VB`fQS`SeU2*Ww_B@xy21H#mf8|a6{FcqRAi;TSYeY&#)`f8wo@uNiD(~a zwd~?`;YH!jwz+Mc;nu!bKHfV&HGA$kpyTO8xV0zTn#}g4iml0ftj}r9W%2FB$wQc8 z6i#chl!+Hp*-QbVOtw|Gx;2;27M*x8n^#Eq_@-zgRoE1b_r@|k4x%nN&L%)#wuH|( zsB4bGC#GmcZ$c$?Jvy}*D>^Ej#pfx0@JYfVLHk@P=b&Tb+TP)}h60+hRg6kGCm+?H zy7Z`MrKEH%EAs}RJDPE}7SYX)qq50l6eE!8DIgGx%~mH~atGG!yJ#wtDynV_D8?#- zQRSC0#1}2(Ffgi=fhj+Yxna72rK0E;j83;3OeT+T(%GIUbH@!egE;k1_%fp74e;73HUsLT@%-3?E~a%R8IhMj;0}6kanC0>AvB=Sn%`A-XVA zaFC&hHtS`Wn>}%Ma4w(9=2Q4El5%sGZH?w)7`j6AdL*FRo`Q;}vjvCw#qL6%A=$Kj zA?oHMhLB63DlpbqB9V7+pOOCLimCJ&uPz;62 zY)!|y+dEuAJMKW7K)OE1oi-SPn9f8A6Oc(|&>&6}ojC;rfK2sb;Hd@QWxRZd7u>MD zVEQzhOyw~*W9eAFZ)}*6$r#OTFx{4kD?QwpQppq+0%@OaP%@gs9hbS;lZvxAho*9T z5KyMn=eD1@kI$=2KI{i7*OSjFM~|*vQoPPa#-$4m)`pxDLnd-eVwhZr!_8xrh6F({ zB0X#vJm!xZ54I_HfZZm#?-&BZf`F{R_;4Dy>rl!~mOi8hvjG!?x^X4NJ$6fWk?v-$kvavinifh}P2H(2 zxvRT0pUoDPTDEA>x#8*Sy0Lzg+?A_!R!MU+Z=BiL*3mh`mE!)%?HP}8{iVv-ZX2hB z{Qh0oh$+{9&jC)Q!lIgRtj4e9og&j)`=Xi-Gg{-P{wn<6h5x*&Lcha&$CW3*dbdz5 z&$#mKkb4(QEq~ON-wU~Skz~E*+ckdv)!{Mx_im3Mbu1%5@2Uvh1~cLM_&3PC>!0?0 zV~w8&um8e-?@mX#?*Rj?a(#u+Ztq&A>s{jd;?GvROPKbxqeg$RKOb`MW~CO^*teSt zYeKjA7S`1E`xn(je2qp;?ZWTYgciO~V=vtA`pUt^yB29*Z@F=?&%MhGkW#BBxe4`G>j`y<}!t47M=oTEB$BwsSG;_JqU%1V+r$5?y z{@Ov)ujj7={%}PrKb~*K%{cV&6iB^G%UW(3*$Do7Z6bdQ^yXDK^vcdhS!I0F5nnG( z?TinX_;P%!KzlYI)i7>}8@(VZ%6P}G)H~&5rNWSTk5_gT1eNvPJsbTD8SBO6zFhBh zpgkLq>OA;c_%ZeNp{&y1L-5D`q(3&>>*pIl)1UqW6mUBhogHYe_pprrxvo^|{do%J zq^BfhEazW8h~6{pbdPe;EBgvq(q8D(q4$ti2)Q@D4}-33$6mB!D`ad(o#?S$q`h1L zslImx)&>&tc&;n!WYO#RY&e1-CV-|-*2{ipot6IfqOp$W1Z5Q@xUr{F?pJRe87rZ` z%2M)`HINUK$C_~%;29I!=ka0Cd^nHHBLnzd#KOAAc z@^SS8Ixk&`J8sNB_DvlBPegkk@Ctz(*GG@x9|zCe=AKFYVW78HlK&BSZ;vGZDtPaq zzu$Qbko*V7@cxP+XZgfq_$Kh)K1u&)f%o=D^87=&w#8G%K12*j^?*`cc$_I^7xb9@t3(|I-ARF^R9L{w3Y8(xe{(iYy?jes&wnQF# z$ekkpjmY)qTgW+7v)g<97M=Z0J5J}60sN6VM$^f6M>B5RPxX}o%}SkkBA9>3FXjROCEaLi0Gd$ z5zjnX4Dx!54cUpP>n5X=c~7u+Sty_$Lt2|gzHEy3pm4+y?2 z_`2X91-U`ePe_nIVj$1oWf40B`ST$1`p;Ovb;8F4`vkWM?i9RV@DahU3qB+GJ;9d* zUln{q@I66)z^$LZI$|9BMF4TSV5eY2aFyVdf(gN#;9Y|E3qB(Fb-`x@zbE*n;A%`n z)_bksX2Dwo9}s+8@K=HlVqKx#Ucphpw}{Av8muWSZzO_WDEvjj-y-}j;lCsN^TKm| zqWwFXdiJOj}FHQ_^Cm*DqABIJ$2PZs_H;a3RX zBm7RmJ4OBl;olSV;hsf*Q;6_CQ}7x=N6L%B4+%a+M2>u0`0oq +#include + +#include +#include + +#include +#include + +extern int tty_read(unsigned minor,char * buf,int count); +extern int tty_write(unsigned minor,char * buf,int count); + +typedef (*crw_ptr)(int rw,unsigned minor,char * buf,int count,off_t * pos); + +static int rw_ttyx(int rw,unsigned minor,char * buf,int count,off_t * pos) +{ + return ((rw==READ)?tty_read(minor,buf,count): + tty_write(minor,buf,count)); +} + +static int rw_tty(int rw,unsigned minor,char * buf,int count, off_t * pos) +{ + if (current->tty<0) + return -EPERM; + return rw_ttyx(rw,current->tty,buf,count,pos); +} + +static int rw_ram(int rw,char * buf, int count, off_t *pos) +{ + return -EIO; +} + +static int rw_mem(int rw,char * buf, int count, off_t * pos) +{ + return -EIO; +} + +static int rw_kmem(int rw,char * buf, int count, off_t * pos) +{ + return -EIO; +} + +static int rw_port(int rw,char * buf, int count, off_t * pos) +{ + int i=*pos; + + while (count-->0 && i<65536) { + if (rw==READ) + put_fs_byte(inb(i),buf++); + else + outb(get_fs_byte(buf++),i); + i++; + } + i -= *pos; + *pos += i; + return i; +} + +static int rw_memory(int rw, unsigned minor, char * buf, int count, off_t * pos) +{ + switch(minor) { + case 0: + return rw_ram(rw,buf,count,pos); + case 1: + return rw_mem(rw,buf,count,pos); + case 2: + return rw_kmem(rw,buf,count,pos); + case 3: + return (rw==READ)?0:count; /* rw_null */ + case 4: + return rw_port(rw,buf,count,pos); + default: + return -EIO; + } +} + +#define NRDEVS ((sizeof (crw_table))/(sizeof (crw_ptr))) + +static crw_ptr crw_table[]={ + NULL, /* nodev */ + rw_memory, /* /dev/mem etc */ + NULL, /* /dev/fd */ + NULL, /* /dev/hd */ + rw_ttyx, /* /dev/ttyx */ + rw_tty, /* /dev/tty */ + NULL, /* /dev/lp */ + NULL}; /* unnamed pipes */ + +int rw_char(int rw,int dev, char * buf, int count, off_t * pos) +{ + crw_ptr call_addr; + + if (MAJOR(dev)>=NRDEVS) + return -ENODEV; + if (!(call_addr=crw_table[MAJOR(dev)])) + return -ENODEV; + return call_addr(rw,MINOR(dev),buf,count,pos); +} diff --git a/linux-0.11-lab/cur/linux/fs/char_dev.o b/linux-0.11-lab/cur/linux/fs/char_dev.o new file mode 100644 index 0000000000000000000000000000000000000000..c7f8402c1f0282705e51af77991c05336e864f2d GIT binary patch literal 8284 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 Qso-A-o)>&Y@EyVb1*ZoUcK`qY literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/fs/exec.c b/linux-0.11-lab/cur/linux/fs/exec.c new file mode 100644 index 0000000..698c5ca --- /dev/null +++ b/linux-0.11-lab/cur/linux/fs/exec.c @@ -0,0 +1,539 @@ +/* + * linux/fs/exec.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * #!-checking implemented by tytso. + */ + +/* + * Demand-loading implemented 01.12.91 - no need to read anything but + * the header into memory. The inode of the executable is put into + * "current->executable", and page faults do the actual loading. Clean. + * + * Once more I can proudly say that linux stood up to being changed: it + * was less than 2 hours work to get demand-loading completely implemented. + */ + +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +extern int sys_exit(int exit_code); +extern int sys_close(int fd); + +/* + * MAX_ARG_PAGES defines the number of pages allocated for arguments + * and envelope for the new program. 32 should suffice, this gives + * a maximum env+arg of 128kB ! + */ +#define MAX_ARG_PAGES 32 + + +int sys_uselib() +{ + return -ENOSYS; +} + +/* + * create_tables() parses the env- and arg-strings in new user + * memory and creates the pointer tables from them, and puts their + * addresses on the "stack", returning the new stack pointer value. + */ +static unsigned long * create_tables(char * p,int argc,int envc) +{ + unsigned long *argv,*envp; + unsigned long * sp; + + sp = (unsigned long *) (0xfffffffc & (unsigned long) p); + sp -= envc+1; + envp = sp; + sp -= argc+1; + argv = sp; + put_fs_long((unsigned long)envp,--sp); + put_fs_long((unsigned long)argv,--sp); + put_fs_long((unsigned long)argc,--sp); + while (argc-->0) { + put_fs_long((unsigned long) p,argv++); + while (get_fs_byte(p++)) /* nothing */ ; + } + put_fs_long(0,argv); + while (envc-->0) { + put_fs_long((unsigned long) p,envp++); + while (get_fs_byte(p++)) /* nothing */ ; + } + put_fs_long(0,envp); + return sp; +} + +/* + * count() counts the number of arguments/envelopes + */ +static int count(char ** argv) +{ + int i=0; + char ** tmp; + + if (tmp = argv) + while (get_fs_long((unsigned long *) (tmp++))) + i++; + + return i; +} + +/* + * 'copy_string()' copies argument/envelope strings from user + * memory to free pages in kernel mem. These are in a format ready + * to be put directly into the top of new user memory. + * + * Modified by TYT, 11/24/91 to add the from_kmem argument, which specifies + * whether the string and the string array are from user or kernel segments: + * + * from_kmem argv * argv ** + * 0 user space user space + * 1 kernel space user space + * 2 kernel space kernel space + * + * We do this by playing games with the fs segment register. Since it + * it is expensive to load a segment register, we try to avoid calling + * set_fs() unless we absolutely have to. + */ +static unsigned long copy_strings(int argc,char ** argv,unsigned long *page, + unsigned long p, int from_kmem) +{ + char *tmp, *pag; + int len, offset = 0; + unsigned long old_fs, new_fs; + + if (!p) + return 0; /* bullet-proofing */ + new_fs = get_ds(); + old_fs = get_fs(); + if (from_kmem==2) + set_fs(new_fs); + while (argc-- > 0) { + if (from_kmem == 1) + set_fs(new_fs); + if (!(tmp = (char *)get_fs_long(((unsigned long *)argv)+argc))) + panic("argc is wrong"); + if (from_kmem == 1) + set_fs(old_fs); + len=0; /* remember zero-padding */ + do { + len++; + } while (get_fs_byte(tmp++)); + if (p-len < 0) { /* this shouldn't happen - 128kB */ + set_fs(old_fs); + return 0; + } + while (len) { + --p; --tmp; --len; + if (--offset < 0) { + offset = p % PAGE_SIZE; + if (from_kmem==2) + set_fs(old_fs); + if (!(pag = (char *) page[p/PAGE_SIZE]) && + !(pag = (char *) (page[p/PAGE_SIZE] = + (unsigned long *) get_free_page()))) + return 0; + if (from_kmem==2) + set_fs(new_fs); + + } + *(pag + offset) = get_fs_byte(tmp); + } + } + if (from_kmem==2) + set_fs(old_fs); + return p; +} + +static unsigned long change_ldt(unsigned long text_size,unsigned long * page) +{ + unsigned long code_limit,data_limit,code_base,data_base; + int i; + + code_limit = text_size+PAGE_SIZE -1; + code_limit &= 0xFFFFF000; + data_limit = 0x4000000; + code_base = get_base(current->ldt[1]); + data_base = code_base; + set_base(current->ldt[1],code_base); + set_limit(current->ldt[1],code_limit); + set_base(current->ldt[2],data_base); + set_limit(current->ldt[2],data_limit); +/* make sure fs points to the NEW data segment */ + __asm__("pushl $0x17\n\tpop %%fs"::); + data_base += data_limit; + for (i=MAX_ARG_PAGES-1 ; i>=0 ; i--) { + data_base -= PAGE_SIZE; + if (page[i]) + put_page(page[i],data_base); + } + return data_limit; +} + +/* + * 'do_execve()' executes a new program. + */ +int do_execve(unsigned long * eip,long tmp,char * filename, + char ** argv, char ** envp) +{ + struct m_inode * inode; + struct buffer_head * bh; + struct exec ex; + unsigned long page[MAX_ARG_PAGES]; + int i,argc,envc; + int e_uid, e_gid; + int retval; + int sh_bang = 0; + unsigned long p=PAGE_SIZE*MAX_ARG_PAGES-4; + + if ((0xffff & eip[1]) != 0x000f) + panic("execve called from supervisor mode"); + for (i=0 ; ii_mode)) { /* must be regular file */ + retval = -EACCES; + goto exec_error2; + } + i = inode->i_mode; + e_uid = (i & S_ISUID) ? inode->i_uid : current->euid; + e_gid = (i & S_ISGID) ? inode->i_gid : current->egid; + if (current->euid == inode->i_uid) + i >>= 6; + else if (current->egid == inode->i_gid) + i >>= 3; + if (!(i & 1) && + !((inode->i_mode & 0111) && suser())) { + retval = -ENOEXEC; + goto exec_error2; + } + if (!(bh = bread(inode->i_dev,inode->i_zone[0]))) { + retval = -EACCES; + goto exec_error2; + } + ex = *((struct exec *) bh->b_data); /* read exec-header */ + if ((bh->b_data[0] == '#') && (bh->b_data[1] == '!') && (!sh_bang)) { + /* + * This section does the #! interpretation. + * Sorta complicated, but hopefully it will work. -TYT + */ + + char buf[1023], *cp, *interp, *i_name, *i_arg; + unsigned long old_fs; + + strncpy(buf, bh->b_data+2, 1022); + brelse(bh); + iput(inode); + buf[1022] = '\0'; + if (cp = strchr(buf, '\n')) { + *cp = '\0'; + for (cp = buf; (*cp == ' ') || (*cp == '\t'); cp++); + } + if (!cp || *cp == '\0') { + retval = -ENOEXEC; /* No interpreter name found */ + goto exec_error1; + } + interp = i_name = cp; + i_arg = 0; + for ( ; *cp && (*cp != ' ') && (*cp != '\t'); cp++) { + if (*cp == '/') + i_name = cp+1; + } + if (*cp) { + *cp++ = '\0'; + i_arg = cp; + } + /* + * OK, we've parsed out the interpreter name and + * (optional) argument. + */ + if (sh_bang++ == 0) { + p = copy_strings(envc, envp, page, p, 0); + p = copy_strings(--argc, argv+1, page, p, 0); + } + /* + * Splice in (1) the interpreter's name for argv[0] + * (2) (optional) argument to interpreter + * (3) filename of shell script + * + * This is done in reverse order, because of how the + * user environment and arguments are stored. + */ + p = copy_strings(1, &filename, page, p, 1); + argc++; + if (i_arg) { + p = copy_strings(1, &i_arg, page, p, 2); + argc++; + } + p = copy_strings(1, &i_name, page, p, 2); + argc++; + if (!p) { + retval = -ENOMEM; + goto exec_error1; + } + /* + * OK, now restart the process with the interpreter's inode. + */ + old_fs = get_fs(); + set_fs(get_ds()); + if (!(inode=namei(interp))) { /* get executables inode */ + set_fs(old_fs); + retval = -ENOENT; + goto exec_error1; + } + set_fs(old_fs); + goto restart_interp; + } + brelse(bh); + if (N_MAGIC(ex) != ZMAGIC || ex.a_trsize || ex.a_drsize || + ex.a_text+ex.a_data+ex.a_bss>0x3000000 || + inode->i_size < ex.a_text+ex.a_data+ex.a_syms+N_TXTOFF(ex)) { + retval = -ENOEXEC; + goto exec_error2; + } + if (N_TXTOFF(ex) != BLOCK_SIZE) { + printk("%s: N_TXTOFF != BLOCK_SIZE. See a.out.h.", filename); + retval = -ENOEXEC; + goto exec_error2; + } + if (!sh_bang) { + p = copy_strings(envc,envp,page,p,0); + p = copy_strings(argc,argv,page,p,0); + if (!p) { + retval = -ENOMEM; + goto exec_error2; + } + } +/* OK, This is the point of no return */ + if (current->executable) + iput(current->executable); + current->executable = inode; + for (i=0 ; i<32 ; i++) + current->sigaction[i].sa_handler = NULL; + for (i=0 ; iclose_on_exec>>i)&1) + sys_close(i); + current->close_on_exec = 0; + free_page_tables(get_base(current->ldt[1]),get_limit(0x0f)); + free_page_tables(get_base(current->ldt[2]),get_limit(0x17)); + if (last_task_used_math == current) + last_task_used_math = NULL; + current->used_math = 0; + p += change_ldt(ex.a_text,page)-MAX_ARG_PAGES*PAGE_SIZE; + p = (unsigned long) create_tables((char *)p,argc,envc); + current->brk = ex.a_bss + + (current->end_data = ex.a_data + + (current->end_code = ex.a_text)); + current->start_stack = p & 0xfffff000; + current->euid = e_uid; + current->egid = e_gid; + i = ex.a_text+ex.a_data; + while (i&0xfff) + put_fs_byte(0,(char *) (i++)); + eip[0] = ex.a_entry; /* eip, magic happens :-) */ + eip[3] = p; /* stack pointer */ + return 0; +exec_error2: + iput(inode); +exec_error1: + for (i=0 ; ii_mode)) { /* must be regular file */ + retval = -EACCES; + goto exec_error2; + } + i = inode->i_mode; + e_uid = (i & S_ISUID) ? inode->i_uid : current->euid; + e_gid = (i & S_ISGID) ? inode->i_gid : current->egid; + if (current->euid == inode->i_uid) + i >>= 6; + else if (current->egid == inode->i_gid) + i >>= 3; + if (!(i & 1) && + !((inode->i_mode & 0111) && suser())) { + retval = -ENOEXEC; + goto exec_error2; + } + if (!(bh = bread(inode->i_dev,inode->i_zone[0]))) { + retval = -EACCES; + goto exec_error2; + } + ex = *((struct exec *) bh->b_data); /* read exec-header */ + if ((bh->b_data[0] == '#') && (bh->b_data[1] == '!') && (!sh_bang)) { + /* + * This section does the #! interpretation. + * Sorta complicated, but hopefully it will work. -TYT + */ + + char buf[1023], *cp, *interp, *i_name, *i_arg; + unsigned long old_fs; + + strncpy(buf, bh->b_data+2, 1022); + brelse(bh); + iput(inode); + buf[1022] = '\0'; + if (cp = strchr(buf, '\n')) { + *cp = '\0'; + for (cp = buf; (*cp == ' ') || (*cp == '\t'); cp++); + } + if (!cp || *cp == '\0') { + retval = -ENOEXEC; /* No interpreter name found */ + goto exec_error1; + } + interp = i_name = cp; + i_arg = 0; + for ( ; *cp && (*cp != ' ') && (*cp != '\t'); cp++) { + if (*cp == '/') + i_name = cp+1; + } + if (*cp) { + *cp++ = '\0'; + i_arg = cp; + } + /* + * OK, we've parsed out the interpreter name and + * (optional) argument. + */ + if (sh_bang++ == 0) { + p = copy_strings(envc, envp, page, p, 0); + p = copy_strings(--argc, argv+1, page, p, 0); + } + /* + * Splice in (1) the interpreter's name for argv[0] + * (2) (optional) argument to interpreter + * (3) filename of shell script + * + * This is done in reverse order, because of how the + * user environment and arguments are stored. + */ + p = copy_strings(1, &filename, page, p, 1); + argc++; + if (i_arg) { + p = copy_strings(1, &i_arg, page, p, 2); + argc++; + } + p = copy_strings(1, &i_name, page, p, 2); + argc++; + if (!p) { + retval = -ENOMEM; + goto exec_error1; + } + /* + * OK, now restart the process with the interpreter's inode. + */ + old_fs = get_fs(); + set_fs(get_ds()); + if (!(inode=namei(interp))) { /* get executables inode */ + set_fs(old_fs); + retval = -ENOENT; + goto exec_error1; + } + set_fs(old_fs); + goto restart_interp; + } + brelse(bh); + if (N_MAGIC(ex) != ZMAGIC || ex.a_trsize || ex.a_drsize || + ex.a_text+ex.a_data+ex.a_bss>0x3000000 || + inode->i_size < ex.a_text+ex.a_data+ex.a_syms+N_TXTOFF(ex)) { + retval = -ENOEXEC; + goto exec_error2; + } + if (N_TXTOFF(ex) != BLOCK_SIZE) { + printk("%s: N_TXTOFF != BLOCK_SIZE. See a.out.h.", filename); + retval = -ENOEXEC; + goto exec_error2; + } + if (!sh_bang) { + p = copy_strings(envc,envp,page,p,0); + p = copy_strings(argc,argv,page,p,0); + if (!p) { + retval = -ENOMEM; + goto exec_error2; + } + } +/* OK, This is the point of no return */ + if (current->executable) + iput(current->executable); + current->executable = inode; + for (i=0 ; i<32 ; i++) + current->sigaction[i].sa_handler = NULL; + for (i=0 ; iclose_on_exec>>i)&1) + sys_close(i); + current->close_on_exec = 0; + free_page_tables(get_base(current->ldt[1]),get_limit(0x0f)); + free_page_tables(get_base(current->ldt[2]),get_limit(0x17)); + if (last_task_used_math == current) + last_task_used_math = NULL; + current->used_math = 0; + p += change_ldt(ex.a_text,page)-MAX_ARG_PAGES*PAGE_SIZE; + p = (unsigned long) create_tables((char *)p,argc,envc); + current->brk = ex.a_bss + + (current->end_data = ex.a_data + + (current->end_code = ex.a_text)); + current->start_stack = p & 0xfffff000; + current->euid = e_uid; + current->egid = e_gid; + + + i = ex.a_text+ex.a_data; + while (i&0xfff) + put_fs_byte(0,(char *) (i++)); + eip[0] = ex.a_entry; /* eip, magic happens :-) */ + eip[3] = p; /* stack pointer */ + int k; + for(k=0;k<=((current->brk-1)&0xfffff000);k+=4096) + { + do_no_page_myself(5,k+current->start_code); + } + return 0; +exec_error2: + iput(inode); +exec_error1: + for (i=0 ; iYeaH&g1JmIjxj7Fu@yDM$6T*5;eOxV|LH0k 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 I;M0Qt8{Dr!=l}o! literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/fs/fcntl.c b/linux-0.11-lab/cur/linux/fs/fcntl.c new file mode 100644 index 0000000..c201aa8 --- /dev/null +++ b/linux-0.11-lab/cur/linux/fs/fcntl.c @@ -0,0 +1,75 @@ +/* + * linux/fs/fcntl.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include +#include +#include +#include + +#include +#include + +extern int sys_close(int fd); + +static int dupfd(unsigned int fd, unsigned int arg) +{ + if (fd >= NR_OPEN || !current->filp[fd]) + return -EBADF; + if (arg >= NR_OPEN) + return -EINVAL; + while (arg < NR_OPEN) + if (current->filp[arg]) + arg++; + else + break; + if (arg >= NR_OPEN) + return -EMFILE; + current->close_on_exec &= ~(1<filp[arg] = current->filp[fd])->f_count++; + return arg; +} + +int sys_dup2(unsigned int oldfd, unsigned int newfd) +{ + sys_close(newfd); + return dupfd(oldfd,newfd); +} + +int sys_dup(unsigned int fildes) +{ + return dupfd(fildes,0); +} + +int sys_fcntl(unsigned int fd, unsigned int cmd, unsigned long arg) +{ + struct file * filp; + + if (fd >= NR_OPEN || !(filp = current->filp[fd])) + return -EBADF; + switch (cmd) { + case F_DUPFD: + return dupfd(fd,arg); + case F_GETFD: + return (current->close_on_exec>>fd)&1; + case F_SETFD: + if (arg&1) + current->close_on_exec |= (1<close_on_exec &= ~(1<f_flags; + case F_SETFL: + filp->f_flags &= ~(O_APPEND | O_NONBLOCK); + filp->f_flags |= arg & (O_APPEND | O_NONBLOCK); + return 0; + case F_GETLK: case F_SETLK: case F_SETLKW: + return -1; + default: + return -1; + } +} diff --git a/linux-0.11-lab/cur/linux/fs/fcntl.o b/linux-0.11-lab/cur/linux/fs/fcntl.o new file mode 100644 index 0000000000000000000000000000000000000000..c82831d0ba1e338fe2c2cb69a13e2f6a93017d1a GIT binary patch literal 6744 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 +#include + +#include +#include +#include + +#define MIN(a,b) (((a)<(b))?(a):(b)) +#define MAX(a,b) (((a)>(b))?(a):(b)) + +int file_read(struct m_inode * inode, struct file * filp, char * buf, int count) +{ + int left,chars,nr; + struct buffer_head * bh; + + if ((left=count)<=0) + return 0; + while (left) { + if (nr = bmap(inode,(filp->f_pos)/BLOCK_SIZE)) { + if (!(bh=bread(inode->i_dev,nr))) + break; + } else + bh = NULL; + nr = filp->f_pos % BLOCK_SIZE; + chars = MIN( BLOCK_SIZE-nr , left ); + filp->f_pos += chars; + left -= chars; + if (bh) { + char * p = nr + bh->b_data; + while (chars-->0) + put_fs_byte(*(p++),buf++); + brelse(bh); + } else { + while (chars-->0) + put_fs_byte(0,buf++); + } + } + inode->i_atime = CURRENT_TIME; + return (count-left)?(count-left):-ERROR; +} + +int file_write(struct m_inode * inode, struct file * filp, char * buf, int count) +{ + off_t pos; + int block,c; + struct buffer_head * bh; + char * p; + int i=0; + +/* + * ok, append may not work when many processes are writing at the same time + * but so what. That way leads to madness anyway. + */ + if (filp->f_flags & O_APPEND) + pos = inode->i_size; + else + pos = filp->f_pos; + while (ii_dev,block))) + break; + c = pos % BLOCK_SIZE; + p = c + bh->b_data; + bh->b_dirt = 1; + c = BLOCK_SIZE-c; + if (c > count-i) c = count-i; + pos += c; + if (pos > inode->i_size) { + inode->i_size = pos; + inode->i_dirt = 1; + } + i += c; + while (c-->0) + *(p++) = get_fs_byte(buf++); + brelse(bh); + } + inode->i_mtime = CURRENT_TIME; + if (!(filp->f_flags & O_APPEND)) { + filp->f_pos = pos; + inode->i_ctime = CURRENT_TIME; + } + return (i?i:-1); +} diff --git a/linux-0.11-lab/cur/linux/fs/file_dev.o b/linux-0.11-lab/cur/linux/fs/file_dev.o new file mode 100644 index 0000000000000000000000000000000000000000..08829927f02514a0c6e50ae669391d73afe423ce GIT binary patch literal 7824 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 Sv(A7~$P&0s;h4gT!v6)R(Kq`5 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/fs/file_table.c b/linux-0.11-lab/cur/linux/fs/file_table.c new file mode 100644 index 0000000..e0589ac --- /dev/null +++ b/linux-0.11-lab/cur/linux/fs/file_table.c @@ -0,0 +1,9 @@ +/* + * linux/fs/file_table.c + * + * (C) 1991 Linus Torvalds + */ + +#include + +struct file file_table[NR_FILE]; diff --git a/linux-0.11-lab/cur/linux/fs/file_table.o b/linux-0.11-lab/cur/linux/fs/file_table.o new file mode 100644 index 0000000000000000000000000000000000000000..e0db34ec05f9b2a6ffb8b9969b8d07f9eb7314bd GIT binary patch literal 2640 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 Sj(lW{?!xb;G%iL1_WdtuC#8D; literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/fs/inode.c b/linux-0.11-lab/cur/linux/fs/inode.c new file mode 100644 index 0000000..9bb10b3 --- /dev/null +++ b/linux-0.11-lab/cur/linux/fs/inode.c @@ -0,0 +1,340 @@ +/* + * linux/fs/inode.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include + +#include +#include +#include +#include + +struct m_inode inode_table[NR_INODE]={{0,},}; + +static void read_inode(struct m_inode * inode); +static void write_inode(struct m_inode * inode); + +static inline void wait_on_inode(struct m_inode * inode) +{ + cli(); + while (inode->i_lock) + sleep_on(&inode->i_wait); + sti(); +} + +static inline void lock_inode(struct m_inode * inode) +{ + cli(); + while (inode->i_lock) + sleep_on(&inode->i_wait); + inode->i_lock=1; + sti(); +} + +static inline void unlock_inode(struct m_inode * inode) +{ + inode->i_lock=0; + wake_up(&inode->i_wait); +} + +void invalidate_inodes(int dev) +{ + int i; + struct m_inode * inode; + + inode = 0+inode_table; + for(i=0 ; ii_dev == dev) { + if (inode->i_count) + printk("inode in use on removed disk\n\r"); + inode->i_dev = inode->i_dirt = 0; + } + } +} + +void sync_inodes(void) +{ + int i; + struct m_inode * inode; + + inode = 0+inode_table; + for(i=0 ; ii_dirt && !inode->i_pipe) + write_inode(inode); + } +} + +static int _bmap(struct m_inode * inode,int block,int create) +{ + struct buffer_head * bh; + int i; + + if (block<0) + panic("_bmap: block<0"); + if (block >= 7+512+512*512) + panic("_bmap: block>big"); + if (block<7) { + if (create && !inode->i_zone[block]) + if (inode->i_zone[block]=new_block(inode->i_dev)) { + inode->i_ctime=CURRENT_TIME; + inode->i_dirt=1; + } + return inode->i_zone[block]; + } + block -= 7; + if (block<512) { + if (create && !inode->i_zone[7]) + if (inode->i_zone[7]=new_block(inode->i_dev)) { + inode->i_dirt=1; + inode->i_ctime=CURRENT_TIME; + } + if (!inode->i_zone[7]) + return 0; + if (!(bh = bread(inode->i_dev,inode->i_zone[7]))) + return 0; + i = ((unsigned short *) (bh->b_data))[block]; + if (create && !i) + if (i=new_block(inode->i_dev)) { + ((unsigned short *) (bh->b_data))[block]=i; + bh->b_dirt=1; + } + brelse(bh); + return i; + } + block -= 512; + if (create && !inode->i_zone[8]) + if (inode->i_zone[8]=new_block(inode->i_dev)) { + inode->i_dirt=1; + inode->i_ctime=CURRENT_TIME; + } + if (!inode->i_zone[8]) + return 0; + if (!(bh=bread(inode->i_dev,inode->i_zone[8]))) + return 0; + i = ((unsigned short *)bh->b_data)[block>>9]; + if (create && !i) + if (i=new_block(inode->i_dev)) { + ((unsigned short *) (bh->b_data))[block>>9]=i; + bh->b_dirt=1; + } + brelse(bh); + if (!i) + return 0; + if (!(bh=bread(inode->i_dev,i))) + return 0; + i = ((unsigned short *)bh->b_data)[block&511]; + if (create && !i) + if (i=new_block(inode->i_dev)) { + ((unsigned short *) (bh->b_data))[block&511]=i; + bh->b_dirt=1; + } + brelse(bh); + return i; +} + +int bmap(struct m_inode * inode,int block) +{ + return _bmap(inode,block,0); +} + +int create_block(struct m_inode * inode, int block) +{ + return _bmap(inode,block,1); +} + +void iput(struct m_inode * inode) +{ + if (!inode) + return; + wait_on_inode(inode); + if (!inode->i_count) + panic("iput: trying to free free inode"); + if (inode->i_pipe) { + wake_up(&inode->i_wait); + if (--inode->i_count) + return; + free_page(inode->i_size); + inode->i_count=0; + inode->i_dirt=0; + inode->i_pipe=0; + return; + } + if (!inode->i_dev) { + inode->i_count--; + return; + } + if (S_ISBLK(inode->i_mode)) { + sync_dev(inode->i_zone[0]); + wait_on_inode(inode); + } +repeat: + if (inode->i_count>1) { + inode->i_count--; + return; + } + if (!inode->i_nlinks) { + truncate(inode); + free_inode(inode); + return; + } + if (inode->i_dirt) { + write_inode(inode); /* we can sleep - so do again */ + wait_on_inode(inode); + goto repeat; + } + inode->i_count--; + return; +} + +struct m_inode * get_empty_inode(void) +{ + struct m_inode * inode; + static struct m_inode * last_inode = inode_table; + int i; + + do { + inode = NULL; + for (i = NR_INODE; i ; i--) { + if (++last_inode >= inode_table + NR_INODE) + last_inode = inode_table; + if (!last_inode->i_count) { + inode = last_inode; + if (!inode->i_dirt && !inode->i_lock) + break; + } + } + if (!inode) { + for (i=0 ; ii_dirt) { + write_inode(inode); + wait_on_inode(inode); + } + } while (inode->i_count); + memset(inode,0,sizeof(*inode)); + inode->i_count = 1; + return inode; +} + +struct m_inode * get_pipe_inode(void) +{ + struct m_inode * inode; + + if (!(inode = get_empty_inode())) + return NULL; + if (!(inode->i_size=get_free_page())) { + inode->i_count = 0; + return NULL; + } + inode->i_count = 2; /* sum of readers/writers */ + PIPE_HEAD(*inode) = PIPE_TAIL(*inode) = 0; + inode->i_pipe = 1; + return inode; +} + +struct m_inode * iget(int dev,int nr) +{ + struct m_inode * inode, * empty; + + if (!dev) + panic("iget with dev==0"); + empty = get_empty_inode(); + inode = inode_table; + while (inode < NR_INODE+inode_table) { + if (inode->i_dev != dev || inode->i_num != nr) { + inode++; + continue; + } + wait_on_inode(inode); + if (inode->i_dev != dev || inode->i_num != nr) { + inode = inode_table; + continue; + } + inode->i_count++; + if (inode->i_mount) { + int i; + + for (i = 0 ; i= NR_SUPER) { + printk("Mounted inode hasn't got sb\n"); + if (empty) + iput(empty); + return inode; + } + iput(inode); + dev = super_block[i].s_dev; + nr = ROOT_INO; + inode = inode_table; + continue; + } + if (empty) + iput(empty); + return inode; + } + if (!empty) + return (NULL); + inode=empty; + inode->i_dev = dev; + inode->i_num = nr; + read_inode(inode); + return inode; +} + +static void read_inode(struct m_inode * inode) +{ + struct super_block * sb; + struct buffer_head * bh; + int block; + + lock_inode(inode); + if (!(sb=get_super(inode->i_dev))) + panic("trying to read inode without dev"); + block = 2 + sb->s_imap_blocks + sb->s_zmap_blocks + + (inode->i_num-1)/INODES_PER_BLOCK; + if (!(bh=bread(inode->i_dev,block))) + panic("unable to read i-node block"); + __asm__ volatile ("cld"); /* by wyj */ + *(struct d_inode *)inode = + ((struct d_inode *)bh->b_data) + [(inode->i_num-1)%INODES_PER_BLOCK]; + brelse(bh); + unlock_inode(inode); +} + +static void write_inode(struct m_inode * inode) +{ + struct super_block * sb; + struct buffer_head * bh; + int block; + + lock_inode(inode); + if (!inode->i_dirt || !inode->i_dev) { + unlock_inode(inode); + return; + } + if (!(sb=get_super(inode->i_dev))) + panic("trying to write inode without device"); + block = 2 + sb->s_imap_blocks + sb->s_zmap_blocks + + (inode->i_num-1)/INODES_PER_BLOCK; + if (!(bh=bread(inode->i_dev,block))) + panic("unable to read i-node block"); + __asm__ volatile ("cld"); /* by wyj */ + ((struct d_inode *)bh->b_data) + [(inode->i_num-1)%INODES_PER_BLOCK] = + *(struct d_inode *)inode; + bh->b_dirt=1; + inode->i_dirt=0; + brelse(bh); + unlock_inode(inode); +} diff --git a/linux-0.11-lab/cur/linux/fs/inode.o b/linux-0.11-lab/cur/linux/fs/inode.o new file mode 100644 index 0000000000000000000000000000000000000000..37ed3bd7ff00fac837394067a5a9cfe2e204c68f GIT binary patch literal 14068 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 CH#8mq literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/fs/ioctl.c b/linux-0.11-lab/cur/linux/fs/ioctl.c new file mode 100644 index 0000000..36fc976 --- /dev/null +++ b/linux-0.11-lab/cur/linux/fs/ioctl.c @@ -0,0 +1,46 @@ +/* + * linux/fs/ioctl.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include +#include + +#include + +extern int tty_ioctl(int dev, int cmd, int arg); + +typedef int (*ioctl_ptr)(int dev,int cmd,int arg); + +#define NRDEVS ((sizeof (ioctl_table))/(sizeof (ioctl_ptr))) + +static ioctl_ptr ioctl_table[]={ + NULL, /* nodev */ + NULL, /* /dev/mem */ + NULL, /* /dev/fd */ + NULL, /* /dev/hd */ + tty_ioctl, /* /dev/ttyx */ + tty_ioctl, /* /dev/tty */ + NULL, /* /dev/lp */ + NULL}; /* named pipes */ + + +int sys_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg) +{ + struct file * filp; + int dev,mode; + + if (fd >= NR_OPEN || !(filp = current->filp[fd])) + return -EBADF; + mode=filp->f_inode->i_mode; + if (!S_ISCHR(mode) && !S_ISBLK(mode)) + return -EINVAL; + dev = filp->f_inode->i_zone[0]; + if (MAJOR(dev) >= NRDEVS) + return -ENODEV; + if (!ioctl_table[MAJOR(dev)]) + return -ENOTTY; + return ioctl_table[MAJOR(dev)](dev,cmd,arg); +} diff --git a/linux-0.11-lab/cur/linux/fs/ioctl.o b/linux-0.11-lab/cur/linux/fs/ioctl.o new file mode 100644 index 0000000000000000000000000000000000000000..c5a5b15f6dc28af173801b3e56682f611ec101d4 GIT binary patch literal 5824 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/fs/namei.c b/linux-0.11-lab/cur/linux/fs/namei.c new file mode 100644 index 0000000..b390ded --- /dev/null +++ b/linux-0.11-lab/cur/linux/fs/namei.c @@ -0,0 +1,893 @@ +/* + * linux/fs/namei.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * Some corrections by tytso. + */ + +#include +#include +#include + +#include +#include +#include +#include +#include + +#define ACC_MODE(x) ("\004\002\006\377"[(x)&O_ACCMODE]) + +/* + * comment out this line if you want names > NAME_LEN chars to be + * truncated. Else they will be disallowed. + */ +/* #define NO_TRUNCATE */ + +#define MAY_EXEC 1 +#define MAY_WRITE 2 +#define MAY_READ 4 + +/* + * permission() + * + * is used to check for read/write/execute permissions on a file. + * I don't know if we should look at just the euid or both euid and + * uid, but that should be easily changed. + */ +static int permission(struct m_inode * inode,int mask) +{ + int mode = inode->i_mode; + +/* special case: not even root can read/write a deleted file */ + if (inode->i_dev && !inode->i_nlinks) + return 0; + else if (current->euid==inode->i_uid) + mode >>= 6; + else if (current->egid==inode->i_gid) + mode >>= 3; + if (((mode & mask & 0007) == mask) || suser()) + return 1; + return 0; +} + +/* + * ok, we cannot use strncmp, as the name is not in our data space. + * Thus we'll have to use match. No big problem. Match also makes + * some sanity tests. + * + * NOTE! unlike strncmp, match returns 1 for success, 0 for failure. + */ +static int match(int len,const char * name,struct dir_entry * de) +{ + register int same __asm__("ax"); + + if (!de || !de->inode || len > NAME_LEN) + return 0; + if (len < NAME_LEN && de->name[len]) + return 0; + __asm__("cld\n\t" + "fs ; repe ; cmpsb\n\t" + "setz %%al" + :"=a" (same) + :"0" (0),"S" ((long) name),"D" ((long) de->name),"c" (len) + ); + return same; +} + +/* + * find_entry() + * + * finds an entry in the specified directory with the wanted name. It + * returns the cache buffer in which the entry was found, and the entry + * itself (as a parameter - res_dir). It does NOT read the inode of the + * entry - you'll have to do that yourself if you want to. + * + * This also takes care of the few special cases due to '..'-traversal + * over a pseudo-root and a mount point. + */ +static struct buffer_head * find_entry(struct m_inode ** dir, + const char * name, int namelen, struct dir_entry ** res_dir) +{ + int entries; + int block,i; + struct buffer_head * bh; + struct dir_entry * de; + struct super_block * sb; + +#ifdef NO_TRUNCATE + if (namelen > NAME_LEN) + return NULL; +#else + if (namelen > NAME_LEN) + namelen = NAME_LEN; +#endif + entries = (*dir)->i_size / (sizeof (struct dir_entry)); + *res_dir = NULL; + if (!namelen) + return NULL; +/* check for '..', as we might have to do some "magic" for it */ + if (namelen==2 && get_fs_byte(name)=='.' && get_fs_byte(name+1)=='.') { +/* '..' in a pseudo-root results in a faked '.' (just change namelen) */ + if ((*dir) == current->root) + namelen=1; + else if ((*dir)->i_num == ROOT_INO) { +/* '..' over a mount-point results in 'dir' being exchanged for the mounted + directory-inode. NOTE! We set mounted, so that we can iput the new dir */ + sb=get_super((*dir)->i_dev); + if (sb->s_imount) { + iput(*dir); + (*dir)=sb->s_imount; + (*dir)->i_count++; + } + } + } + if (!(block = (*dir)->i_zone[0])) + return NULL; + if (!(bh = bread((*dir)->i_dev,block))) + return NULL; + i = 0; + de = (struct dir_entry *) bh->b_data; + while (i < entries) { + if ((char *)de >= BLOCK_SIZE+bh->b_data) { + brelse(bh); + bh = NULL; + if (!(block = bmap(*dir,i/DIR_ENTRIES_PER_BLOCK)) || + !(bh = bread((*dir)->i_dev,block))) { + i += DIR_ENTRIES_PER_BLOCK; + continue; + } + de = (struct dir_entry *) bh->b_data; + } + if (match(namelen,name,de)) { + *res_dir = de; + return bh; + } + de++; + i++; + } + brelse(bh); + return NULL; +} + +/* + * add_entry() + * + * adds a file entry to the specified directory, using the same + * semantics as find_entry(). It returns NULL if it failed. + * + * NOTE!! The inode part of 'de' is left at 0 - which means you + * may not sleep between calling this and putting something into + * the entry, as someone else might have used it while you slept. + */ +static struct buffer_head * add_entry(struct m_inode * dir, + const char * name, int namelen, struct dir_entry ** res_dir) +{ + int block,i; + struct buffer_head * bh; + struct dir_entry * de; + + *res_dir = NULL; +#ifdef NO_TRUNCATE + if (namelen > NAME_LEN) + return NULL; +#else + if (namelen > NAME_LEN) + namelen = NAME_LEN; +#endif + if (!namelen) + return NULL; + if (!(block = dir->i_zone[0])) + return NULL; + if (!(bh = bread(dir->i_dev,block))) + return NULL; + i = 0; + de = (struct dir_entry *) bh->b_data; + while (1) { + if ((char *)de >= BLOCK_SIZE+bh->b_data) { + brelse(bh); + bh = NULL; + block = create_block(dir,i/DIR_ENTRIES_PER_BLOCK); + if (!block) + return NULL; + if (!(bh = bread(dir->i_dev,block))) { + i += DIR_ENTRIES_PER_BLOCK; + continue; + } + de = (struct dir_entry *) bh->b_data; + } + if (i*sizeof(struct dir_entry) >= dir->i_size) { + de->inode=0; + dir->i_size = (i+1)*sizeof(struct dir_entry); + dir->i_dirt = 1; + dir->i_ctime = CURRENT_TIME; + } + if (!de->inode) { + dir->i_mtime = CURRENT_TIME; + for (i=0; i < NAME_LEN ; i++) + de->name[i]=(ib_dirt = 1; + *res_dir = de; + return bh; + } + de++; + i++; + } + brelse(bh); + return NULL; +} + +/* + * get_dir() + * + * Getdir traverses the pathname until it hits the topmost directory. + * It returns NULL on failure. + */ +static struct m_inode * get_dir(const char * pathname) +{ + char c; + const char * thisname; + struct m_inode * inode; + struct buffer_head * bh; + int namelen,inr,idev; + struct dir_entry * de; + + if (!current->root || !current->root->i_count) + panic("No root inode"); + if (!current->pwd || !current->pwd->i_count) + panic("No cwd inode"); + if ((c=get_fs_byte(pathname))=='/') { + inode = current->root; + pathname++; + } else if (c) + inode = current->pwd; + else + return NULL; /* empty name is bad */ + inode->i_count++; + while (1) { + thisname = pathname; + if (!S_ISDIR(inode->i_mode) || !permission(inode,MAY_EXEC)) { + iput(inode); + return NULL; + } + for(namelen=0;(c=get_fs_byte(pathname++))&&(c!='/');namelen++) + /* nothing */ ; + if (!c) + return inode; + if (!(bh = find_entry(&inode,thisname,namelen,&de))) { + iput(inode); + return NULL; + } + inr = de->inode; + idev = inode->i_dev; + brelse(bh); + iput(inode); + if (!(inode = iget(idev,inr))) + return NULL; + } +} + +/* + * dir_namei() + * + * dir_namei() returns the inode of the directory of the + * specified name, and the name within that directory. + */ +static struct m_inode * dir_namei(const char * pathname, + int * namelen, const char ** name) +{ + char c; + const char * basename; + struct m_inode * dir; + + if (!(dir = get_dir(pathname))) + return NULL; + basename = pathname; + while (c=get_fs_byte(pathname++)) + if (c=='/') + basename=pathname; + *namelen = pathname-basename-1; + *name = basename; + return dir; +} + +/* + * namei() + * + * is used by most simple commands to get the inode of a specified name. + * Open, link etc use their own routines, but this is enough for things + * like 'chmod' etc. + */ +struct m_inode * namei(const char * pathname) +{ + const char * basename; + int inr,dev,namelen; + struct m_inode * dir; + struct buffer_head * bh; + struct dir_entry * de; + + if (!(dir = dir_namei(pathname,&namelen,&basename))) + return NULL; + if (!namelen) /* special case: '/usr/' etc */ + return dir; + bh = find_entry(&dir,basename,namelen,&de); + if (!bh) { + iput(dir); + return NULL; + } + inr = de->inode; + dev = dir->i_dev; + brelse(bh); + iput(dir); + dir=iget(dev,inr); + if (dir) { + dir->i_atime=CURRENT_TIME; + dir->i_dirt=1; + } + return dir; +} + +/* + * open_namei() + * + * namei for open - this is in fact almost the whole open-routine. + */ +int open_namei(const char * pathname, int flag, int mode, + struct m_inode ** res_inode) +{ + const char * basename; + int inr,dev,namelen; + struct m_inode * dir, *inode; + struct buffer_head * bh; + struct dir_entry * de; + + if ((flag & O_TRUNC) && !(flag & O_ACCMODE)) + flag |= O_WRONLY; + mode &= 0777 & ~current->umask; + mode |= I_REGULAR; + if (!(dir = dir_namei(pathname,&namelen,&basename))) + return -ENOENT; + if (!namelen) { /* special case: '/usr/' etc */ + if (!(flag & (O_ACCMODE|O_CREAT|O_TRUNC))) { + *res_inode=dir; + return 0; + } + iput(dir); + return -EISDIR; + } + bh = find_entry(&dir,basename,namelen,&de); + if (!bh) { + if (!(flag & O_CREAT)) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EACCES; + } + inode = new_inode(dir->i_dev); + if (!inode) { + iput(dir); + return -ENOSPC; + } + inode->i_uid = current->euid; + inode->i_mode = mode; + inode->i_dirt = 1; + bh = add_entry(dir,basename,namelen,&de); + if (!bh) { + inode->i_nlinks--; + iput(inode); + iput(dir); + return -ENOSPC; + } + de->inode = inode->i_num; + bh->b_dirt = 1; + brelse(bh); + iput(dir); + *res_inode = inode; + return 0; + } + inr = de->inode; + dev = dir->i_dev; + brelse(bh); + iput(dir); + if (flag & O_EXCL) + return -EEXIST; + if (!(inode=iget(dev,inr))) + return -EACCES; + if ((S_ISDIR(inode->i_mode) && (flag & O_ACCMODE)) || + !permission(inode,ACC_MODE(flag))) { + iput(inode); + return -EPERM; + } + inode->i_atime = CURRENT_TIME; + if (flag & O_TRUNC) + truncate(inode); + *res_inode = inode; + return 0; +} + +int sys_mknod(const char * filename, int mode, int dev) +{ + const char * basename; + int namelen; + struct m_inode * dir, * inode; + struct buffer_head * bh; + struct dir_entry * de; + + if (!suser()) + return -EPERM; + if (!(dir = dir_namei(filename,&namelen,&basename))) + return -ENOENT; + if (!namelen) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EPERM; + } + bh = find_entry(&dir,basename,namelen,&de); + if (bh) { + brelse(bh); + iput(dir); + return -EEXIST; + } + inode = new_inode(dir->i_dev); + if (!inode) { + iput(dir); + return -ENOSPC; + } + inode->i_mode = mode; + if (S_ISBLK(mode) || S_ISCHR(mode)) + inode->i_zone[0] = dev; + inode->i_mtime = inode->i_atime = CURRENT_TIME; + inode->i_dirt = 1; + bh = add_entry(dir,basename,namelen,&de); + if (!bh) { + iput(dir); + inode->i_nlinks=0; + iput(inode); + return -ENOSPC; + } + de->inode = inode->i_num; + bh->b_dirt = 1; + iput(dir); + iput(inode); + brelse(bh); + return 0; +} + +int sys_mkdir(const char * pathname, int mode) +{ + const char * basename; + int namelen; + struct m_inode * dir, * inode; + struct buffer_head * bh, *dir_block; + struct dir_entry * de; + + if (!suser()) + return -EPERM; + if (!(dir = dir_namei(pathname,&namelen,&basename))) + return -ENOENT; + if (!namelen) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EPERM; + } + bh = find_entry(&dir,basename,namelen,&de); + if (bh) { + brelse(bh); + iput(dir); + return -EEXIST; + } + inode = new_inode(dir->i_dev); + if (!inode) { + iput(dir); + return -ENOSPC; + } + inode->i_size = 32; + inode->i_dirt = 1; + inode->i_mtime = inode->i_atime = CURRENT_TIME; + if (!(inode->i_zone[0]=new_block(inode->i_dev))) { + iput(dir); + inode->i_nlinks--; + iput(inode); + return -ENOSPC; + } + inode->i_dirt = 1; + if (!(dir_block=bread(inode->i_dev,inode->i_zone[0]))) { + iput(dir); + free_block(inode->i_dev,inode->i_zone[0]); + inode->i_nlinks--; + iput(inode); + return -ERROR; + } + de = (struct dir_entry *) dir_block->b_data; + de->inode=inode->i_num; + strcpy(de->name,"."); + de++; + de->inode = dir->i_num; + strcpy(de->name,".."); + inode->i_nlinks = 2; + dir_block->b_dirt = 1; + brelse(dir_block); + inode->i_mode = I_DIRECTORY | (mode & 0777 & ~current->umask); + inode->i_dirt = 1; + bh = add_entry(dir,basename,namelen,&de); + if (!bh) { + iput(dir); + free_block(inode->i_dev,inode->i_zone[0]); + inode->i_nlinks=0; + iput(inode); + return -ENOSPC; + } + de->inode = inode->i_num; + bh->b_dirt = 1; + dir->i_nlinks++; + dir->i_dirt = 1; + iput(dir); + iput(inode); + brelse(bh); + return 0; +} + +/* + * routine to check that the specified directory is empty (for rmdir) + */ +static int empty_dir(struct m_inode * inode) +{ + int nr,block; + int len; + struct buffer_head * bh; + struct dir_entry * de; + + len = inode->i_size / sizeof (struct dir_entry); + if (len<2 || !inode->i_zone[0] || + !(bh=bread(inode->i_dev,inode->i_zone[0]))) { + printk("warning - bad directory on dev %04x\n",inode->i_dev); + return 0; + } + de = (struct dir_entry *) bh->b_data; + if (de[0].inode != inode->i_num || !de[1].inode || + strcmp(".",de[0].name) || strcmp("..",de[1].name)) { + printk("warning - bad directory on dev %04x\n",inode->i_dev); + return 0; + } + nr = 2; + de += 2; + while (nr= (void *) (bh->b_data+BLOCK_SIZE)) { + brelse(bh); + block=bmap(inode,nr/DIR_ENTRIES_PER_BLOCK); + if (!block) { + nr += DIR_ENTRIES_PER_BLOCK; + continue; + } + if (!(bh=bread(inode->i_dev,block))) + return 0; + de = (struct dir_entry *) bh->b_data; + } + if (de->inode) { + brelse(bh); + return 0; + } + de++; + nr++; + } + brelse(bh); + return 1; +} + +int sys_rmdir(const char * name) +{ + const char * basename; + int namelen; + struct m_inode * dir, * inode; + struct buffer_head * bh; + struct dir_entry * de; + + if (!suser()) + return -EPERM; + if (!(dir = dir_namei(name,&namelen,&basename))) + return -ENOENT; + if (!namelen) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EPERM; + } + bh = find_entry(&dir,basename,namelen,&de); + if (!bh) { + iput(dir); + return -ENOENT; + } + if (!(inode = iget(dir->i_dev, de->inode))) { + iput(dir); + brelse(bh); + return -EPERM; + } + if ((dir->i_mode & S_ISVTX) && current->euid && + inode->i_uid != current->euid) { + iput(dir); + iput(inode); + brelse(bh); + return -EPERM; + } + if (inode->i_dev != dir->i_dev || inode->i_count>1) { + iput(dir); + iput(inode); + brelse(bh); + return -EPERM; + } + if (inode == dir) { /* we may not delete ".", but "../dir" is ok */ + iput(inode); + iput(dir); + brelse(bh); + return -EPERM; + } + if (!S_ISDIR(inode->i_mode)) { + iput(inode); + iput(dir); + brelse(bh); + return -ENOTDIR; + } + if (!empty_dir(inode)) { + iput(inode); + iput(dir); + brelse(bh); + return -ENOTEMPTY; + } + if (inode->i_nlinks != 2) + printk("empty directory has nlink!=2 (%d)",inode->i_nlinks); + de->inode = 0; + bh->b_dirt = 1; + brelse(bh); + inode->i_nlinks=0; + inode->i_dirt=1; + dir->i_nlinks--; + dir->i_ctime = dir->i_mtime = CURRENT_TIME; + dir->i_dirt=1; + iput(dir); + iput(inode); + return 0; +} + +int sys_unlink(const char * name) +{ + const char * basename; + int namelen; + struct m_inode * dir, * inode; + struct buffer_head * bh; + struct dir_entry * de; + + if (!(dir = dir_namei(name,&namelen,&basename))) + return -ENOENT; + if (!namelen) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EPERM; + } + bh = find_entry(&dir,basename,namelen,&de); + if (!bh) { + iput(dir); + return -ENOENT; + } + if (!(inode = iget(dir->i_dev, de->inode))) { + iput(dir); + brelse(bh); + return -ENOENT; + } + if ((dir->i_mode & S_ISVTX) && !suser() && + current->euid != inode->i_uid && + current->euid != dir->i_uid) { + iput(dir); + iput(inode); + brelse(bh); + return -EPERM; + } + if (S_ISDIR(inode->i_mode)) { + iput(inode); + iput(dir); + brelse(bh); + return -EPERM; + } + if (!inode->i_nlinks) { + printk("Deleting nonexistent file (%04x:%d), %d\n", + inode->i_dev,inode->i_num,inode->i_nlinks); + inode->i_nlinks=1; + } + de->inode = 0; + bh->b_dirt = 1; + brelse(bh); + inode->i_nlinks--; + inode->i_dirt = 1; + inode->i_ctime = CURRENT_TIME; + iput(inode); + iput(dir); + return 0; +} + +int sys_symlink() +{ + return -ENOSYS; +} + +int sys_link(const char * oldname, const char * newname) +{ + struct dir_entry * de; + struct m_inode * oldinode, * dir; + struct buffer_head * bh; + const char * basename; + int namelen; + + oldinode=namei(oldname); + if (!oldinode) + return -ENOENT; + if (S_ISDIR(oldinode->i_mode)) { + iput(oldinode); + return -EPERM; + } + dir = dir_namei(newname,&namelen,&basename); + if (!dir) { + iput(oldinode); + return -EACCES; + } + if (!namelen) { + iput(oldinode); + iput(dir); + return -EPERM; + } + if (dir->i_dev != oldinode->i_dev) { + iput(dir); + iput(oldinode); + return -EXDEV; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + iput(oldinode); + return -EACCES; + } + bh = find_entry(&dir,basename,namelen,&de); + if (bh) { + brelse(bh); + iput(dir); + iput(oldinode); + return -EEXIST; + } + bh = add_entry(dir,basename,namelen,&de); + if (!bh) { + iput(dir); + iput(oldinode); + return -ENOSPC; + } + de->inode = oldinode->i_num; + bh->b_dirt = 1; + brelse(bh); + iput(dir); + oldinode->i_nlinks++; + oldinode->i_ctime = CURRENT_TIME; + oldinode->i_dirt = 1; + iput(oldinode); + return 0; +} + +// char* sys_getcwd(char * buf, size_t size){ +// char *dir [20]; +// char * rd; +// struct buffer_head *bh; +// struct dir_entry *dr; +// struct m_inode *node; +// int i=0; +// int j,k1,k2; +// int the_last_node; +// char word; +// bh=bread(current->root->i_dev,current->pwd->i_zone[0]); +// dr=(struct dir_entry *)(bh->b_data); +// node=current->pwd; +// while(i>=0){ +// the_last_node=dr->inode; +// node=iget(current->root->i_dev,(dr+1)->inode); +// bh=bread(current->root->i_dev,node->i_zone[0]); +// dr=(struct dir_entry *)(bh->b_data); +// j=2; +// while(dr->name[0]!='\0'){ +// if((dr+j)->inode==the_last_node) break; +// j++; +// } +// if((dr+j)->name[0]=='\0') break; +// dir[i]=(dr+j)->name; +// i++; +// } +// dir[i]=NULL; +// i--; +// j=0; +// rd[0]='/'; +// k1=1; +// while (i>=0) +// { +// k2=0; +// while(dir[i][k2]!='\0'){ +// rd[k1]=dir[i][k2]; +// k1++; +// k2++; +// } +// if(i==0) break; +// rd[k1]='/'; +// k1++; +// i--; +// } +// i=0; +// while(i<=k1) +// { +// word=rd[i]; +// put_fs_byte(word,(char*)(buf+i)); +// i++; +// } +// return rd; +// } +char *sys_getcwd(char *buf, size_t size) +{ + char *dir[20]; + char *rd; + struct buffer_head *bh = bread(current->root->i_dev, current->pwd->i_zone[0]); + struct dir_entry *dr = (struct dir_entry *)(bh->b_data); + struct m_inode *node = current->pwd; + int i = 0; + + while (i >= 0) + { + int last_node=dr->inode; + node = iget(current->root->i_dev, (dr + 1)->inode); + bh = bread(current->root->i_dev, node->i_zone[0]); + dr = (struct dir_entry *)(bh->b_data); + int j = 2; + while (dr->name[0] != '\0') + { + if ((dr + j)->inode == last_node) + break; + j++; + } + if ((dr + j)->name[0] == '\0') + break; + dir[i] = (dr + j)->name; + i++; + } + dir[i--] = NULL; + rd[0] = '/'; + + int k1 = 1; + int k2; + for (; i >= 0; i--) + { + k2 = 0; + while (dir[i][k2] != '\0') + { + rd[k1] = dir[i][k2]; + k1++; + k2++; + } + if (i == 0) + break; + rd[k1] = '/'; + k1++; + } + + char word; + for (i = 0; i <= k1; i++) + { + word = rd[i]; + put_fs_byte(word, (char *)(buf + i)); + } + return rd; +} diff --git a/linux-0.11-lab/cur/linux/fs/namei.o b/linux-0.11-lab/cur/linux/fs/namei.o new file mode 100644 index 0000000000000000000000000000000000000000..94e7e51f013e4bb0cc5d2d8dc32d84cb5badf095 GIT binary patch literal 22212 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 G@c#nqUe0v@ literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/fs/open.c b/linux-0.11-lab/cur/linux/fs/open.c new file mode 100644 index 0000000..3695ff1 --- /dev/null +++ b/linux-0.11-lab/cur/linux/fs/open.c @@ -0,0 +1,208 @@ +/* + * linux/fs/open.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +int sys_ustat(int dev, struct ustat * ubuf) +{ + return -ENOSYS; +} + +int sys_utime(char * filename, struct utimbuf * times) +{ + struct m_inode * inode; + long actime,modtime; + + if (!(inode=namei(filename))) + return -ENOENT; + if (times) { + actime = get_fs_long((unsigned long *) ×->actime); + modtime = get_fs_long((unsigned long *) ×->modtime); + } else + actime = modtime = CURRENT_TIME; + inode->i_atime = actime; + inode->i_mtime = modtime; + inode->i_dirt = 1; + iput(inode); + return 0; +} + +/* + * XXX should we use the real or effective uid? BSD uses the real uid, + * so as to make this call useful to setuid programs. + */ +int sys_access(const char * filename,int mode) +{ + struct m_inode * inode; + int res, i_mode; + + mode &= 0007; + if (!(inode=namei(filename))) + return -EACCES; + i_mode = res = inode->i_mode & 0777; + iput(inode); + if (current->uid == inode->i_uid) + res >>= 6; + else if (current->gid == inode->i_gid) + res >>= 6; + if ((res & 0007 & mode) == mode) + return 0; + /* + * XXX we are doing this test last because we really should be + * swapping the effective with the real user id (temporarily), + * and then calling suser() routine. If we do call the + * suser() routine, it needs to be called last. + */ + if ((!current->uid) && + (!(mode & 1) || (i_mode & 0111))) + return 0; + return -EACCES; +} + +int sys_chdir(const char * filename) +{ + struct m_inode * inode; + + if (!(inode = namei(filename))) + return -ENOENT; + if (!S_ISDIR(inode->i_mode)) { + iput(inode); + return -ENOTDIR; + } + iput(current->pwd); + current->pwd = inode; + return (0); +} + +int sys_chroot(const char * filename) +{ + struct m_inode * inode; + + if (!(inode=namei(filename))) + return -ENOENT; + if (!S_ISDIR(inode->i_mode)) { + iput(inode); + return -ENOTDIR; + } + iput(current->root); + current->root = inode; + return (0); +} + +int sys_chmod(const char * filename,int mode) +{ + struct m_inode * inode; + + if (!(inode=namei(filename))) + return -ENOENT; + if ((current->euid != inode->i_uid) && !suser()) { + iput(inode); + return -EACCES; + } + inode->i_mode = (mode & 07777) | (inode->i_mode & ~07777); + inode->i_dirt = 1; + iput(inode); + return 0; +} + +int sys_chown(const char * filename,int uid,int gid) +{ + struct m_inode * inode; + + if (!(inode=namei(filename))) + return -ENOENT; + if (!suser()) { + iput(inode); + return -EACCES; + } + inode->i_uid=uid; + inode->i_gid=gid; + inode->i_dirt=1; + iput(inode); + return 0; +} + +int sys_open(const char * filename,int flag,int mode) +{ + struct m_inode * inode; + struct file * f; + int i,fd; + + mode &= 0777 & ~current->umask; + for(fd=0 ; fdfilp[fd]) + break; + if (fd>=NR_OPEN) + return -EINVAL; + current->close_on_exec &= ~(1<f_count) break; + if (i>=NR_FILE) + return -EINVAL; + (current->filp[fd]=f)->f_count++; + if ((i=open_namei(filename,flag,mode,&inode))<0) { + current->filp[fd]=NULL; + f->f_count=0; + return i; + } +/* ttys are somewhat special (ttyxx major==4, tty major==5) */ + if (S_ISCHR(inode->i_mode)) + if (MAJOR(inode->i_zone[0])==4) { + if (current->leader && current->tty<0) { + current->tty = MINOR(inode->i_zone[0]); + tty_table[current->tty].pgrp = current->pgrp; + } + } else if (MAJOR(inode->i_zone[0])==5) + if (current->tty<0) { + iput(inode); + current->filp[fd]=NULL; + f->f_count=0; + return -EPERM; + } +/* Likewise with block-devices: check for floppy_change */ + if (S_ISBLK(inode->i_mode)) + check_disk_change(inode->i_zone[0]); + f->f_mode = inode->i_mode; + f->f_flags = flag; + f->f_count = 1; + f->f_inode = inode; + f->f_pos = 0; + return (fd); +} + +int sys_creat(const char * pathname, int mode) +{ + return sys_open(pathname, O_CREAT | O_TRUNC, mode); +} + +int sys_close(unsigned int fd) +{ + struct file * filp; + + if (fd >= NR_OPEN) + return -EINVAL; + current->close_on_exec &= ~(1<filp[fd])) + return -EINVAL; + current->filp[fd] = NULL; + if (filp->f_count == 0) + panic("Close: file count is 0"); + if (--filp->f_count) + return (0); + iput(filp->f_inode); + return (0); +} diff --git a/linux-0.11-lab/cur/linux/fs/open.o b/linux-0.11-lab/cur/linux/fs/open.o new file mode 100644 index 0000000000000000000000000000000000000000..23086fdba1f943e20967d4a70703d41490d069a2 GIT binary patch literal 11180 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/fs/pipe.c b/linux-0.11-lab/cur/linux/fs/pipe.c new file mode 100644 index 0000000..dfc4480 --- /dev/null +++ b/linux-0.11-lab/cur/linux/fs/pipe.c @@ -0,0 +1,111 @@ +/* + * linux/fs/pipe.c + * + * (C) 1991 Linus Torvalds + */ + +#include + +#include +#include /* for get_free_page */ +#include + +int read_pipe(struct m_inode * inode, char * buf, int count) +{ + int chars, size, read = 0; + + while (count>0) { + while (!(size=PIPE_SIZE(*inode))) { + wake_up(&inode->i_wait); + if (inode->i_count != 2) /* are there any writers? */ + return read; + sleep_on(&inode->i_wait); + } + chars = PAGE_SIZE-PIPE_TAIL(*inode); + if (chars > count) + chars = count; + if (chars > size) + chars = size; + count -= chars; + read += chars; + size = PIPE_TAIL(*inode); + PIPE_TAIL(*inode) += chars; + PIPE_TAIL(*inode) &= (PAGE_SIZE-1); + while (chars-->0) + put_fs_byte(((char *)inode->i_size)[size++],buf++); + } + wake_up(&inode->i_wait); + return read; +} + +int write_pipe(struct m_inode * inode, char * buf, int count) +{ + int chars, size, written = 0; + + while (count>0) { + while (!(size=(PAGE_SIZE-1)-PIPE_SIZE(*inode))) { + wake_up(&inode->i_wait); + if (inode->i_count != 2) { /* no readers */ + current->signal |= (1<<(SIGPIPE-1)); + return written?written:-1; + } + sleep_on(&inode->i_wait); + } + chars = PAGE_SIZE-PIPE_HEAD(*inode); + if (chars > count) + chars = count; + if (chars > size) + chars = size; + count -= chars; + written += chars; + size = PIPE_HEAD(*inode); + PIPE_HEAD(*inode) += chars; + PIPE_HEAD(*inode) &= (PAGE_SIZE-1); + while (chars-->0) + ((char *)inode->i_size)[size++]=get_fs_byte(buf++); + } + wake_up(&inode->i_wait); + return written; +} + +int sys_pipe(unsigned long * fildes) +{ + struct m_inode * inode; + struct file * f[2]; + int fd[2]; + int i,j; + + j=0; + for(i=0;j<2 && if_count++; + if (j==1) + f[0]->f_count=0; + if (j<2) + return -1; + j=0; + for(i=0;j<2 && ifilp[i]) { + current->filp[ fd[j]=i ] = f[j]; + j++; + } + if (j==1) + current->filp[fd[0]]=NULL; + if (j<2) { + f[0]->f_count=f[1]->f_count=0; + return -1; + } + if (!(inode=get_pipe_inode())) { + current->filp[fd[0]] = + current->filp[fd[1]] = NULL; + f[0]->f_count = f[1]->f_count = 0; + return -1; + } + f[0]->f_inode = f[1]->f_inode = inode; + f[0]->f_pos = f[1]->f_pos = 0; + f[0]->f_mode = 1; /* read */ + f[1]->f_mode = 2; /* write */ + put_fs_long(fd[0],0+fildes); + put_fs_long(fd[1],1+fildes); + return 0; +} diff --git a/linux-0.11-lab/cur/linux/fs/pipe.o b/linux-0.11-lab/cur/linux/fs/pipe.o new file mode 100644 index 0000000000000000000000000000000000000000..106606a8b562f82924a575b0a399c92a910bc50d GIT binary patch literal 8100 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 +#include +#include + +#include +#include +#include + +extern int rw_char(int rw,int dev, char * buf, int count, off_t * pos); +extern int read_pipe(struct m_inode * inode, char * buf, int count); +extern int write_pipe(struct m_inode * inode, char * buf, int count); +extern int block_read(int dev, off_t * pos, char * buf, int count); +extern int block_write(int dev, off_t * pos, char * buf, int count); +extern int file_read(struct m_inode * inode, struct file * filp, + char * buf, int count); +extern int file_write(struct m_inode * inode, struct file * filp, + char * buf, int count); + +int sys_lseek(unsigned int fd,off_t offset, int origin) +{ + struct file * file; + int tmp; + + if (fd >= NR_OPEN || !(file=current->filp[fd]) || !(file->f_inode) + || !IS_SEEKABLE(MAJOR(file->f_inode->i_dev))) + return -EBADF; + if (file->f_inode->i_pipe) + return -ESPIPE; + switch (origin) { + case 0: + if (offset<0) return -EINVAL; + file->f_pos=offset; + break; + case 1: + if (file->f_pos+offset<0) return -EINVAL; + file->f_pos += offset; + break; + case 2: + if ((tmp=file->f_inode->i_size+offset) < 0) + return -EINVAL; + file->f_pos = tmp; + break; + default: + return -EINVAL; + } + return file->f_pos; +} + +int sys_read(unsigned int fd,char * buf,int count) +{ + struct file * file; + struct m_inode * inode; + + if (fd>=NR_OPEN || count<0 || !(file=current->filp[fd])) + return -EINVAL; + if (!count) + return 0; + verify_area(buf,count); + inode = file->f_inode; + if (inode->i_pipe) + return (file->f_mode&1)?read_pipe(inode,buf,count):-EIO; + if (S_ISCHR(inode->i_mode)) + return rw_char(READ,inode->i_zone[0],buf,count,&file->f_pos); + if (S_ISBLK(inode->i_mode)) + return block_read(inode->i_zone[0],&file->f_pos,buf,count); + if (S_ISDIR(inode->i_mode) || S_ISREG(inode->i_mode)) { + if (count+file->f_pos > inode->i_size) + count = inode->i_size - file->f_pos; + if (count<=0) + return 0; + return file_read(inode,file,buf,count); + } + printk("(Read)inode->i_mode=%06o\n\r",inode->i_mode); + return -EINVAL; +} + +int sys_write(unsigned int fd,char * buf,int count) +{ + struct file * file; + struct m_inode * inode; + + if (fd>=NR_OPEN || count <0 || !(file=current->filp[fd])) + return -EINVAL; + if (!count) + return 0; + inode=file->f_inode; + if (inode->i_pipe) + return (file->f_mode&2)?write_pipe(inode,buf,count):-EIO; + if (S_ISCHR(inode->i_mode)) + return rw_char(WRITE,inode->i_zone[0],buf,count,&file->f_pos); + if (S_ISBLK(inode->i_mode)) + return block_write(inode->i_zone[0],&file->f_pos,buf,count); + if (S_ISREG(inode->i_mode)) + return file_write(inode,file,buf,count); + printk("(Write)inode->i_mode=%06o\n\r",inode->i_mode); + return -EINVAL; +} diff --git a/linux-0.11-lab/cur/linux/fs/read_write.o b/linux-0.11-lab/cur/linux/fs/read_write.o new file mode 100644 index 0000000000000000000000000000000000000000..b74e2a05827516e27ad7055b5197ab3d1de7f83d GIT binary patch literal 7516 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/fs/select.c b/linux-0.11-lab/cur/linux/fs/select.c new file mode 100644 index 0000000..cef8b43 --- /dev/null +++ b/linux-0.11-lab/cur/linux/fs/select.c @@ -0,0 +1,10 @@ +/* nothing , only the stub */ +/* gohigh */ + +#include + +int sys_select() +{ + return -ENOSYS; +} + diff --git a/linux-0.11-lab/cur/linux/fs/select.o b/linux-0.11-lab/cur/linux/fs/select.o new file mode 100644 index 0000000000000000000000000000000000000000..1bab67f11c0db7563888ab19a2ae6e6b6c816fb3 GIT binary patch literal 1772 zcma)7&1(};5TBP#Yc*|X8^x9irr<{vcavz)Qni*AEsFFY^x#3uCfR&ocDL+qq?Mw0 z^Wa5L1Sxp(FYw~stDxXbJb3UQ@T?Gjvu~%_o^)W|%=~8F%$v!ud2;>s4W$$bDKcna z5$$HQry7enD$qE6_}1_DKQ02v#%MOapzgy6Vt{Bkk(m}0HN235)vl2p>Ua_G33W1G z$Qk*W{Dhhu9zRNyvFO^gkzdGN&fP39xHR>8d78*LLAl&w&KNy0%_iDORm{t6DT&JE*s>b}r0c zgkJA9ie{^5Hhs4fna#j<9dpx14^9BE<8?cpV>WwUJ?i*g2*~rzFtY0p%+0`$P|yzs zmBa0DLqCH`ZQpfDUat|A{IG;9y)CnBRVrrJu9eCfC^bW()s>Zn;@o@&1J4x9(av^Oj(+;$_oMphUFTDC=toUMqg zh8@{t)xwah!0B2Ir`Bt2biAeySFGE$THriPd+osXTF$-;JRZ4#{AAUA*LAP~mWSzB zn7f{qPUEyU;tA`w{?9psAYMV~ix)t2z8|kA~!5v zsLOl6bq|20t_@x8K&7wXc~%k<-#ysreBY6e-_7|LmwYaCzQglj%E5S})%au|^Hw4y z?j69hafCi3?r9PyuFvd9k(jT5v93Q3L| +#include + +#include +#include +#include +#include + +static void cp_stat(struct m_inode * inode, struct stat * statbuf) +{ + struct stat tmp; + int i; + + verify_area(statbuf,sizeof (* statbuf)); + tmp.st_dev = inode->i_dev; + tmp.st_ino = inode->i_num; + tmp.st_mode = inode->i_mode; + tmp.st_nlink = inode->i_nlinks; + tmp.st_uid = inode->i_uid; + tmp.st_gid = inode->i_gid; + tmp.st_rdev = inode->i_zone[0]; + tmp.st_size = inode->i_size; + tmp.st_atime = inode->i_atime; + tmp.st_mtime = inode->i_mtime; + tmp.st_ctime = inode->i_ctime; + for (i=0 ; i= NR_OPEN || !(f=current->filp[fd]) || !(inode=f->f_inode)) + return -EBADF; + cp_stat(inode,statbuf); + return 0; +} + +int sys_readlink() +{ + return -ENOSYS; +} diff --git a/linux-0.11-lab/cur/linux/fs/stat.o b/linux-0.11-lab/cur/linux/fs/stat.o new file mode 100644 index 0000000000000000000000000000000000000000..3d976fc85e572d4c79b6b135ac0d16da32884718 GIT binary patch literal 7208 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/fs/super.c b/linux-0.11-lab/cur/linux/fs/super.c new file mode 100644 index 0000000..6a4ccb1 --- /dev/null +++ b/linux-0.11-lab/cur/linux/fs/super.c @@ -0,0 +1,282 @@ +/* + * linux/fs/super.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * super.c contains code to handle the super-block tables. + */ +#include +#include +#include +#include + +#include +#include + +int sync_dev(int dev); +void wait_for_keypress(void); + +/* set_bit uses setb, as gas doesn't recognize setc */ +#define set_bit(bitnr,addr) ({ \ +register int __res __asm__("ax"); \ +__asm__("bt %2,%3;setb %%al":"=a" (__res):"a" (0),"r" (bitnr),"m" (*(addr))); \ +__res; }) + +struct super_block super_block[NR_SUPER]; +/* this is initialized in init/main.c */ +int ROOT_DEV = 0; + +static void lock_super(struct super_block * sb) +{ + cli(); + while (sb->s_lock) + sleep_on(&(sb->s_wait)); + sb->s_lock = 1; + sti(); +} + +static void free_super(struct super_block * sb) +{ + cli(); + sb->s_lock = 0; + wake_up(&(sb->s_wait)); + sti(); +} + +static void wait_on_super(struct super_block * sb) +{ + cli(); + while (sb->s_lock) + sleep_on(&(sb->s_wait)); + sti(); +} + +struct super_block * get_super(int dev) +{ + struct super_block * s; + + if (!dev) + return NULL; + s = 0+super_block; + while (s < NR_SUPER+super_block) + if (s->s_dev == dev) { + wait_on_super(s); + if (s->s_dev == dev) + return s; + s = 0+super_block; + } else + s++; + return NULL; +} + +void put_super(int dev) +{ + struct super_block * sb; +/* struct m_inode * inode; */ + int i; + + if (dev == ROOT_DEV) { + printk("root diskette changed: prepare for armageddon\n\r"); + return; + } + if (!(sb = get_super(dev))) + return; + if (sb->s_imount) { + printk("Mounted disk changed - tssk, tssk\n\r"); + return; + } + lock_super(sb); + sb->s_dev = 0; + for(i=0;is_imap[i]); + for(i=0;is_zmap[i]); + free_super(sb); + return; +} + +static struct super_block * read_super(int dev) +{ + struct super_block * s; + struct buffer_head * bh; + int i,block; + + if (!dev) + return NULL; + check_disk_change(dev); + if (s = get_super(dev)) + return s; + for (s = 0+super_block ;; s++) { + if (s >= NR_SUPER+super_block) + return NULL; + if (!s->s_dev) + break; + } + s->s_dev = dev; + s->s_isup = NULL; + s->s_imount = NULL; + s->s_time = 0; + s->s_rd_only = 0; + s->s_dirt = 0; + lock_super(s); + if (!(bh = bread(dev,1))) { + s->s_dev=0; + free_super(s); + return NULL; + } + __asm__ volatile ("cld"); /* by wyj */ + *((struct d_super_block *) s) = + *((struct d_super_block *) bh->b_data); + brelse(bh); + if (s->s_magic != SUPER_MAGIC) { + s->s_dev = 0; + free_super(s); + return NULL; + } + for (i=0;is_imap[i] = NULL; + for (i=0;is_zmap[i] = NULL; + block=2; + for (i=0 ; i < s->s_imap_blocks ; i++) + if (s->s_imap[i]=bread(dev,block)) + block++; + else + break; + for (i=0 ; i < s->s_zmap_blocks ; i++) + if (s->s_zmap[i]=bread(dev,block)) + block++; + else + break; + if (block != 2+s->s_imap_blocks+s->s_zmap_blocks) { + for(i=0;is_imap[i]); + for(i=0;is_zmap[i]); + s->s_dev=0; + free_super(s); + return NULL; + } + s->s_imap[0]->b_data[0] |= 1; + s->s_zmap[0]->b_data[0] |= 1; + free_super(s); + return s; +} + +int sys_umount(char * dev_name) +{ + struct m_inode * inode; + struct super_block * sb; + int dev; + + if (!(inode=namei(dev_name))) + return -ENOENT; + dev = inode->i_zone[0]; + if (!S_ISBLK(inode->i_mode)) { + iput(inode); + return -ENOTBLK; + } + iput(inode); + if (dev==ROOT_DEV) + return -EBUSY; + if (!(sb=get_super(dev)) || !(sb->s_imount)) + return -ENOENT; + if (!sb->s_imount->i_mount) + printk("Mounted inode has i_mount=0\n"); + for (inode=inode_table+0 ; inodei_dev==dev && inode->i_count) + return -EBUSY; + sb->s_imount->i_mount=0; + iput(sb->s_imount); + sb->s_imount = NULL; + iput(sb->s_isup); + sb->s_isup = NULL; + put_super(dev); + sync_dev(dev); + return 0; +} + +int sys_mount(char * dev_name, char * dir_name, int rw_flag) +{ + struct m_inode * dev_i, * dir_i; + struct super_block * sb; + int dev; + + if (!(dev_i=namei(dev_name))) + return -ENOENT; + dev = dev_i->i_zone[0]; + if (!S_ISBLK(dev_i->i_mode)) { + iput(dev_i); + return -EPERM; + } + iput(dev_i); + if (!(dir_i=namei(dir_name))) + return -ENOENT; + if (dir_i->i_count != 1 || dir_i->i_num == ROOT_INO) { + iput(dir_i); + return -EBUSY; + } + if (!S_ISDIR(dir_i->i_mode)) { + iput(dir_i); + return -EPERM; + } + if (!(sb=read_super(dev))) { + iput(dir_i); + return -EBUSY; + } + if (sb->s_imount) { + iput(dir_i); + return -EBUSY; + } + if (dir_i->i_mount) { + iput(dir_i); + return -EPERM; + } + sb->s_imount=dir_i; + dir_i->i_mount=1; + dir_i->i_dirt=1; /* NOTE! we don't iput(dir_i) */ + return 0; /* we do that in umount */ +} + +void mount_root(void) +{ + int i,free; + struct super_block * p; + struct m_inode * mi; + + if (32 != sizeof (struct d_inode)) + panic("bad i-node size"); + for(i=0;is_dev = 0; + p->s_lock = 0; + p->s_wait = NULL; + } + if (!(p=read_super(ROOT_DEV))) + panic("Unable to mount root"); + if (!(mi=iget(ROOT_DEV,ROOT_INO))) + panic("Unable to read root i-node"); + mi->i_count += 3 ; /* NOTE! it is logically used 4 times, not 1 */ + p->s_isup = p->s_imount = mi; + current->pwd = mi; + current->root = mi; + free=0; + i=p->s_nzones; + while (-- i >= 0) + if (!set_bit(i&8191,p->s_zmap[i>>13]->b_data)) + free++; + printk("%d/%d free blocks\n\r",free,p->s_nzones); + free=0; + i=p->s_ninodes+1; + while (-- i >= 0) + if (!set_bit(i&8191,p->s_imap[i>>13]->b_data)) + free++; + printk("%d/%d free inodes\n\r",free,p->s_ninodes); +} diff --git a/linux-0.11-lab/cur/linux/fs/super.o b/linux-0.11-lab/cur/linux/fs/super.o new file mode 100644 index 0000000000000000000000000000000000000000..25ac49b6aea1170f1153f2279086249f062fde29 GIT binary patch literal 12280 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/fs/truncate.c b/linux-0.11-lab/cur/linux/fs/truncate.c new file mode 100644 index 0000000..36f3ea2 --- /dev/null +++ b/linux-0.11-lab/cur/linux/fs/truncate.c @@ -0,0 +1,65 @@ +/* + * linux/fs/truncate.c + * + * (C) 1991 Linus Torvalds + */ + +#include + +#include + +static void free_ind(int dev,int block) +{ + struct buffer_head * bh; + unsigned short * p; + int i; + + if (!block) + return; + if (bh=bread(dev,block)) { + p = (unsigned short *) bh->b_data; + for (i=0;i<512;i++,p++) + if (*p) + free_block(dev,*p); + brelse(bh); + } + free_block(dev,block); +} + +static void free_dind(int dev,int block) +{ + struct buffer_head * bh; + unsigned short * p; + int i; + + if (!block) + return; + if (bh=bread(dev,block)) { + p = (unsigned short *) bh->b_data; + for (i=0;i<512;i++,p++) + if (*p) + free_ind(dev,*p); + brelse(bh); + } + free_block(dev,block); +} + +void truncate(struct m_inode * inode) +{ + int i; + + if (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode))) + return; + for (i=0;i<7;i++) + if (inode->i_zone[i]) { + free_block(inode->i_dev,inode->i_zone[i]); + inode->i_zone[i]=0; + } + free_ind(inode->i_dev,inode->i_zone[7]); + free_dind(inode->i_dev,inode->i_zone[8]); + inode->i_zone[7] = inode->i_zone[8] = 0; + inode->i_size = 0; + inode->i_dirt = 1; + inode->i_mtime = inode->i_ctime = CURRENT_TIME; +} + diff --git a/linux-0.11-lab/cur/linux/fs/truncate.o b/linux-0.11-lab/cur/linux/fs/truncate.o new file mode 100644 index 0000000000000000000000000000000000000000..63af350a448e032c96a39ec52a400dfeb6fa8198 GIT binary patch literal 6844 zcmcgwYmi(;74G}ky_1>U&2DxR5?IKD+CT!kv$M%2SwbF5vUxvTLL!NTOy+TC=O*)F z?w!0U0um9{4N6czB$^6hNvWhPp$ZU+0z`sZ3Q{PgmLMRH5ELm?P$=W~_3gWvV5+qI zVOP!lzH|EY>F(2~`}W*xmaJZ?X_^R%CJb>>65{O^zou8hG|?tn#J;yX_wDWI71g?9 z`=K5g=;$3D=rDotVYB1Sk4~I80l5t}ZNl3Gb=!!5qW$PV$3(h0-VI%Qc0^>af6O~m z@v#p)_HidCV80KR`e*ibOgw>6U44|!hE*Tn|JLumCp&-m{}|ri|A|Td&%?vW<0Aqy zo+|z<#C&nB5Hb#@DEpzTJ9Yx`LfqN`;`l1ra6Mx;FxbTC%{oOh_JL=m+~3J)uJ161 zPlhT!!gfc|P6&*=9jnt`fAtaHzWuZ<+b~JiXGi+aIjzAhfx*%Kb7US!Q*;#14linF z)1&<+M^5@w|4eP9kcuRnh2`^O&tN8Rw#kAELz&G2umj-yqxHI{AH%*M0L>LXuE zKGAxG_Maecw=Np@eCAr0isbxrwej^>CIoQi$u}=^Ts{diC&qbS;HGJ-l$VW}Y6Y(!r+~<9)|z{HCy#?feyB?(~KVRyxqdwnu3ti!&_OCWKAA1*om>F zK8L(6>){vaAWgy3!|OSp424~K_+0j5GuC_caF}MXCc~37h*3glEx@>k4z5 zQzyimIx?XXE<)xoS~ak{)o9na1|%f(z2JSumGj}=`YxOsa;U;8L2o2zty_P=)7Z*R zP3vd0Ns@=GAH%JY^3!&JHfcX?)3nLVgNG*T1^US{`=S=RG=|u=!@7ZObL7*kcG^4a ztJ9i5`)%YgYlM6|dEBa!=jnfjwUoR-KGSNUpCWm$^#-0siF}szd-5{*Y>Tf8<0|qw zLVq8fH5(q|X@yx)We38VO1^_!x2_@INp4y{VQ0H&9=y&rIPNvL2S*f1L$4w zpEsv%!crP(=E!vBqA*5wBfpS5WMrMPFgwW`jBFZN&_&*CWJ@Js#>m^iq3H?8F?qXTbKvvHqt>11*PKt@Vc5xC!dyT;&9Kt} z?={A64O7wNtw5`bmMusTEdr%Dgr9cs61@7xW$YbLGFS8iqP1O`_>$R{$_cHJ zF97{OrmZZrCbrNI^uMZsPnT=ajqoa`Q#es(HiGd z{3bau{tyS$y#UTQr(UVayy%k8htB6Fx$fIr3{*ox!+G_zsh3KdI1K zw5d(45u@p>rWS2nee)S;-l`c*k;vT0#SyI)`=C)6Aqp#6`w%CyLqsAA&;W00MMKzR z6NJ&^8zFhoLJ4dU8jBVy;AxC>To*VF*O*~PL~8nh*q~`ETG@Z&6tSYU8-AL`Yv)g* zW^5faNc!>Od|W|VVi+!co63)$lt(E7uVvcX&*K<;wkU_T(DTI+bO2=)r{Sp zcZ$_rqDJBFc56huo+{O1I_cT5G(3r%oy^3LfI?(lAKi4$Rw{3I*`^kwa-E@KG7pYS z!9vM#8WHW1>ZZ^OhYmd)`hw7L!@9Zt@FSu5Yfi6SC{02u>qDzH9STj+&ue{IYF5_o z4!st7FLdDEefq3c-NeLPFIn*tc&4|DRDzoa&!m?W8QV=mU#X@&VHY#L(oH6^`6PC? zS4pPrM9T3B$+B<~MZ{ve3zGDlf-S1@iL+*gs1}m$c9BhbIlCgNuANB~z-vRZZ0&~V z;%INIFV-9FDkLlE+vSaTL&>oC5rYgFOjX-wkTz@36Bfs+8&6#%T8ClWGW9gh--quL2n7S zjG&2Xkt=LxRHuG7P6Cra^G5diW#n#Q^Cv^;j3F~v=&4vO`14TvQIv-&Wnpuw(viRXB9HmP z9U{dwkSpY`k3S%}N?ast9Jvt?Z+LM0;1?2(94L~7YmXd|Dd%Cw1QQF65IV>uiMfI)n*kOQ@1OnM!e`YHE{} zWN`?~S)<|!5i~#_B9<-{3N|)-tcU|5hNH(nF#I-l4!Z=03;rOxz8iW51kV5Em{<&<0c-hri<_sswdO$hH0s!XN$6AOBSc{;mRN8_t{MSNIO` zY7k7wtmAL5!ocn!4DJHxf)dzW4+VKpUgaceN>FzPbmYOZ{sDHG8as}U&1Uw%s(R6i^$K48f>Q!5%%+xeuct8g_kSbqA;(} zRk%x`+*k1Xc_rVb@GgZ%6#hWrQwpC`_@ctM6#h-2j`?xCO$yIc$nOc%^GqWyRk%*! z7KPgs?ohZ-;mr!artsSepH%pw!s810Ig|bHmQS3luv6hug_kMZs<5DNkHQ-iep%sR zg+~-Vt?(6v{JhEj`0tW923wNIZ*#;=3T=f~Dg3m;VTHFUJgo3ug%2tGk-}dn{GGyM z3jeB5!-2+r8x>AcI8|Yf!UYOfD*U9vl)|FIJqmA9_!WhBEBv0qM-)D-@Q(`D)cNDt zrf`SC>lA)f;rA83qVOO#2t<8 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/include/a.out.h b/linux-0.11-lab/cur/linux/include/a.out.h new file mode 100644 index 0000000..3e67974 --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/a.out.h @@ -0,0 +1,220 @@ +#ifndef _A_OUT_H +#define _A_OUT_H + +#define __GNU_EXEC_MACROS__ + +struct exec { + unsigned long a_magic; /* Use macros N_MAGIC, etc for access */ + unsigned a_text; /* length of text, in bytes */ + unsigned a_data; /* length of data, in bytes */ + unsigned a_bss; /* length of uninitialized data area for file, in bytes */ + unsigned a_syms; /* length of symbol table data in file, in bytes */ + unsigned a_entry; /* start address */ + unsigned a_trsize; /* length of relocation info for text, in bytes */ + unsigned a_drsize; /* length of relocation info for data, in bytes */ +}; + +#ifndef N_MAGIC +#define N_MAGIC(exec) ((exec).a_magic) +#endif + +#ifndef OMAGIC +/* Code indicating object file or impure executable. */ +#define OMAGIC 0407 +/* Code indicating pure executable. */ +#define NMAGIC 0410 +/* Code indicating demand-paged executable. */ +#define ZMAGIC 0413 +#endif /* not OMAGIC */ + +#ifndef N_BADMAG +#define N_BADMAG(x) \ + (N_MAGIC(x) != OMAGIC && N_MAGIC(x) != NMAGIC \ + && N_MAGIC(x) != ZMAGIC) +#endif + +#define _N_BADMAG(x) \ + (N_MAGIC(x) != OMAGIC && N_MAGIC(x) != NMAGIC \ + && N_MAGIC(x) != ZMAGIC) + +#define _N_HDROFF(x) (SEGMENT_SIZE - sizeof (struct exec)) + +#ifndef N_TXTOFF +#define N_TXTOFF(x) \ + (N_MAGIC(x) == ZMAGIC ? _N_HDROFF((x)) + sizeof (struct exec) : sizeof (struct exec)) +#endif + +#ifndef N_DATOFF +#define N_DATOFF(x) (N_TXTOFF(x) + (x).a_text) +#endif + +#ifndef N_TRELOFF +#define N_TRELOFF(x) (N_DATOFF(x) + (x).a_data) +#endif + +#ifndef N_DRELOFF +#define N_DRELOFF(x) (N_TRELOFF(x) + (x).a_trsize) +#endif + +#ifndef N_SYMOFF +#define N_SYMOFF(x) (N_DRELOFF(x) + (x).a_drsize) +#endif + +#ifndef N_STROFF +#define N_STROFF(x) (N_SYMOFF(x) + (x).a_syms) +#endif + +/* Address of text segment in memory after it is loaded. */ +#ifndef N_TXTADDR +#define N_TXTADDR(x) 0 +#endif + +/* Address of data segment in memory after it is loaded. + Note that it is up to you to define SEGMENT_SIZE + on machines not listed here. */ +#if defined(vax) || defined(hp300) || defined(pyr) +#define SEGMENT_SIZE PAGE_SIZE +#endif +#ifdef hp300 +#define PAGE_SIZE 4096 +#endif +#ifdef sony +#define SEGMENT_SIZE 0x2000 +#endif /* Sony. */ +#ifdef is68k +#define SEGMENT_SIZE 0x20000 +#endif +#if defined(m68k) && defined(PORTAR) +#define PAGE_SIZE 0x400 +#define SEGMENT_SIZE PAGE_SIZE +#endif + +#define PAGE_SIZE 4096 +#define SEGMENT_SIZE 1024 + +#define _N_SEGMENT_ROUND(x) (((x) + SEGMENT_SIZE - 1) & ~(SEGMENT_SIZE - 1)) + +#define _N_TXTENDADDR(x) (N_TXTADDR(x)+(x).a_text) + +#ifndef N_DATADDR +#define N_DATADDR(x) \ + (N_MAGIC(x)==OMAGIC? (_N_TXTENDADDR(x)) \ + : (_N_SEGMENT_ROUND (_N_TXTENDADDR(x)))) +#endif + +/* Address of bss segment in memory after it is loaded. */ +#ifndef N_BSSADDR +#define N_BSSADDR(x) (N_DATADDR(x) + (x).a_data) +#endif + +#ifndef N_NLIST_DECLARED +struct nlist { + union { + char *n_name; + struct nlist *n_next; + long n_strx; + } n_un; + unsigned char n_type; + char n_other; + short n_desc; + unsigned long n_value; +}; +#endif + +#ifndef N_UNDF +#define N_UNDF 0 +#endif +#ifndef N_ABS +#define N_ABS 2 +#endif +#ifndef N_TEXT +#define N_TEXT 4 +#endif +#ifndef N_DATA +#define N_DATA 6 +#endif +#ifndef N_BSS +#define N_BSS 8 +#endif +#ifndef N_COMM +#define N_COMM 18 +#endif +#ifndef N_FN +#define N_FN 15 +#endif + +#ifndef N_EXT +#define N_EXT 1 +#endif +#ifndef N_TYPE +#define N_TYPE 036 +#endif +#ifndef N_STAB +#define N_STAB 0340 +#endif + +/* The following type indicates the definition of a symbol as being + an indirect reference to another symbol. The other symbol + appears as an undefined reference, immediately following this symbol. + + Indirection is asymmetrical. The other symbol's value will be used + to satisfy requests for the indirect symbol, but not vice versa. + If the other symbol does not have a definition, libraries will + be searched to find a definition. */ +#define N_INDR 0xa + +/* The following symbols refer to set elements. + All the N_SET[ATDB] symbols with the same name form one set. + Space is allocated for the set in the text section, and each set + element's value is stored into one word of the space. + The first word of the space is the length of the set (number of elements). + + The address of the set is made into an N_SETV symbol + whose name is the same as the name of the set. + This symbol acts like a N_DATA global symbol + in that it can satisfy undefined external references. */ + +/* These appear as input to LD, in a .o file. */ +#define N_SETA 0x14 /* Absolute set element symbol */ +#define N_SETT 0x16 /* Text set element symbol */ +#define N_SETD 0x18 /* Data set element symbol */ +#define N_SETB 0x1A /* Bss set element symbol */ + +/* This is output from LD. */ +#define N_SETV 0x1C /* Pointer to set vector in data area. */ + +#ifndef N_RELOCATION_INFO_DECLARED + +/* This structure describes a single relocation to be performed. + The text-relocation section of the file is a vector of these structures, + all of which apply to the text section. + Likewise, the data-relocation section applies to the data section. */ + +struct relocation_info +{ + /* Address (within segment) to be relocated. */ + int r_address; + /* The meaning of r_symbolnum depends on r_extern. */ + unsigned int r_symbolnum:24; + /* Nonzero means value is a pc-relative offset + and it should be relocated for changes in its own address + as well as for changes in the symbol or section specified. */ + unsigned int r_pcrel:1; + /* Length (as exponent of 2) of the field to be relocated. + Thus, a value of 2 indicates 1<<2 bytes. */ + unsigned int r_length:2; + /* 1 => relocate with value of symbol. + r_symbolnum is the index of the symbol + in file's the symbol table. + 0 => relocate with the address of a segment. + r_symbolnum is N_TEXT, N_DATA, N_BSS or N_ABS + (the N_EXT bit may be set also, but signifies nothing). */ + unsigned int r_extern:1; + /* Four bits that aren't used, but when writing an object file + it is desirable to clear them. */ + unsigned int r_pad:4; +}; +#endif /* no N_RELOCATION_INFO_DECLARED. */ + + +#endif /* __A_OUT_GNU_H__ */ diff --git a/linux-0.11-lab/cur/linux/include/asm/io.h b/linux-0.11-lab/cur/linux/include/asm/io.h new file mode 100644 index 0000000..d5cc42a --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/asm/io.h @@ -0,0 +1,24 @@ +#define outb(value,port) \ +__asm__ ("outb %%al,%%dx"::"a" (value),"d" (port)) + + +#define inb(port) ({ \ +unsigned char _v; \ +__asm__ volatile ("inb %%dx,%%al":"=a" (_v):"d" (port)); \ +_v; \ +}) + +#define outb_p(value,port) \ +__asm__ ("outb %%al,%%dx\n" \ + "\tjmp 1f\n" \ + "1:\tjmp 1f\n" \ + "1:"::"a" (value),"d" (port)) + +#define inb_p(port) ({ \ +unsigned char _v; \ +__asm__ volatile ("inb %%dx,%%al\n" \ + "\tjmp 1f\n" \ + "1:\tjmp 1f\n" \ + "1:":"=a" (_v):"d" (port)); \ +_v; \ +}) diff --git a/linux-0.11-lab/cur/linux/include/asm/memory.h b/linux-0.11-lab/cur/linux/include/asm/memory.h new file mode 100644 index 0000000..51b69e7 --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/asm/memory.h @@ -0,0 +1,15 @@ +/* + * NOTE!!! memcpy(dest,src,n) assumes ds=es=normal data segment. This + * goes for all kernel functions (ds=es=kernel space, fs=local data, + * gs=null), as well as for all well-behaving user programs (ds=es= + * user data space). This is NOT a bug, as any user program that changes + * es deserves to die if it isn't careful. + */ +#define memcpy(dest,src,n) ({ \ +void * _res = dest; \ +__asm__ ("cld;rep;movsb" \ + ::"D" ((long)(_res)),"S" ((long)(src)),"c" ((long) (n)) \ + ); \ +_res; \ +}) + diff --git a/linux-0.11-lab/cur/linux/include/asm/segment.h b/linux-0.11-lab/cur/linux/include/asm/segment.h new file mode 100644 index 0000000..94dd102 --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/asm/segment.h @@ -0,0 +1,65 @@ +static inline unsigned char get_fs_byte(const char * addr) +{ + unsigned register char _v; + + __asm__ ("movb %%fs:%1,%0":"=r" (_v):"m" (*addr)); + return _v; +} + +static inline unsigned short get_fs_word(const unsigned short *addr) +{ + unsigned short _v; + + __asm__ ("movw %%fs:%1,%0":"=r" (_v):"m" (*addr)); + return _v; +} + +static inline unsigned long get_fs_long(const unsigned long *addr) +{ + unsigned long _v; + + __asm__ ("movl %%fs:%1,%0":"=r" (_v):"m" (*addr)); \ + return _v; +} + +static inline void put_fs_byte(char val,char *addr) +{ +__asm__ ("movb %0,%%fs:%1"::"r" (val),"m" (*addr)); +} + +static inline void put_fs_word(short val,short * addr) +{ +__asm__ ("movw %0,%%fs:%1"::"r" (val),"m" (*addr)); +} + +static inline void put_fs_long(unsigned long val,unsigned long * addr) +{ +__asm__ ("movl %0,%%fs:%1"::"r" (val),"m" (*addr)); +} + +/* + * Someone who knows GNU asm better than I should double check the followig. + * It seems to work, but I don't know if I'm doing something subtly wrong. + * --- TYT, 11/24/91 + * [ nothing wrong here, Linus ] + */ + +static inline unsigned long get_fs() +{ + unsigned short _v; + __asm__("mov %%fs,%%ax":"=a" (_v):); + return _v; +} + +static inline unsigned long get_ds() +{ + unsigned short _v; + __asm__("mov %%ds,%%ax":"=a" (_v):); + return _v; +} + +static inline void set_fs(unsigned long val) +{ + __asm__("mov %0,%%fs"::"a" ((unsigned short) val)); +} + diff --git a/linux-0.11-lab/cur/linux/include/asm/system.h b/linux-0.11-lab/cur/linux/include/asm/system.h new file mode 100644 index 0000000..0b5a21d --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/asm/system.h @@ -0,0 +1,66 @@ +#define move_to_user_mode() \ +__asm__ ("movl %%esp,%%eax\n\t" \ + "pushl $0x17\n\t" \ + "pushl %%eax\n\t" \ + "pushfl\n\t" \ + "pushl $0x0f\n\t" \ + "pushl $1f\n\t" \ + "iret\n" \ + "1:\tmovl $0x17,%%eax\n\t" \ + "movw %%ax,%%ds\n\t" \ + "movw %%ax,%%es\n\t" \ + "movw %%ax,%%fs\n\t" \ + "movw %%ax,%%gs" \ + :::"ax") + +#define sti() __asm__ ("sti"::) +#define cli() __asm__ ("cli"::) +#define nop() __asm__ ("nop"::) + +#define iret() __asm__ ("iret"::) + +#define _set_gate(gate_addr,type,dpl,addr) \ +__asm__ ("movw %%dx,%%ax\n\t" \ + "movw %0,%%dx\n\t" \ + "movl %%eax,%1\n\t" \ + "movl %%edx,%2" \ + : \ + : "i" ((short) (0x8000+(dpl<<13)+(type<<8))), \ + "o" (*((char *) (gate_addr))), \ + "o" (*(4+(char *) (gate_addr))), \ + "d" ((char *) (addr)),"a" (0x00080000)) + +#define set_intr_gate(n,addr) \ + _set_gate(&idt[n],14,0,addr) + +#define set_trap_gate(n,addr) \ + _set_gate(&idt[n],15,0,addr) + +#define set_system_gate(n,addr) \ + _set_gate(&idt[n],15,3,addr) + +#define _set_seg_desc(gate_addr,type,dpl,base,limit) {\ + *(gate_addr) = ((base) & 0xff000000) | \ + (((base) & 0x00ff0000)>>16) | \ + ((limit) & 0xf0000) | \ + ((dpl)<<13) | \ + (0x00408000) | \ + ((type)<<8); \ + *((gate_addr)+1) = (((base) & 0x0000ffff)<<16) | \ + ((limit) & 0x0ffff); } + +#define _set_tssldt_desc(n,addr,type) \ +__asm__ ("movw $104,%1\n\t" \ + "movw %%ax,%2\n\t" \ + "rorl $16,%%eax\n\t" \ + "movb %%al,%3\n\t" \ + "movb $" type ",%4\n\t" \ + "movb $0x00,%5\n\t" \ + "movb %%ah,%6\n\t" \ + "rorl $16,%%eax" \ + ::"a" (addr), "m" (*(n)), "m" (*(n+2)), "m" (*(n+4)), \ + "m" (*(n+5)), "m" (*(n+6)), "m" (*(n+7)) \ + ) + +#define set_tss_desc(n,addr) _set_tssldt_desc(((char *) (n)),addr,"0x89") +#define set_ldt_desc(n,addr) _set_tssldt_desc(((char *) (n)),addr,"0x82") diff --git a/linux-0.11-lab/cur/linux/include/const.h b/linux-0.11-lab/cur/linux/include/const.h new file mode 100644 index 0000000..7828e61 --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/const.h @@ -0,0 +1,15 @@ +#ifndef _CONST_H +#define _CONST_H + +#define BUFFER_END 0x200000 + +#define I_TYPE 0170000 +#define I_DIRECTORY 0040000 +#define I_REGULAR 0100000 +#define I_BLOCK_SPECIAL 0060000 +#define I_CHAR_SPECIAL 0020000 +#define I_NAMED_PIPE 0010000 +#define I_SET_UID_BIT 0004000 +#define I_SET_GID_BIT 0002000 + +#endif diff --git a/linux-0.11-lab/cur/linux/include/ctype.h b/linux-0.11-lab/cur/linux/include/ctype.h new file mode 100644 index 0000000..7acf55d --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/ctype.h @@ -0,0 +1,34 @@ +#ifndef _CTYPE_H +#define _CTYPE_H + +#define _U 0x01 /* upper */ +#define _L 0x02 /* lower */ +#define _D 0x04 /* digit */ +#define _C 0x08 /* cntrl */ +#define _P 0x10 /* punct */ +#define _S 0x20 /* white space (space/lf/tab) */ +#define _X 0x40 /* hex digit */ +#define _SP 0x80 /* hard space (0x20) */ + +extern unsigned char _ctype[]; +extern char _ctmp; + +#define isalnum(c) ((_ctype+1)[c]&(_U|_L|_D)) +#define isalpha(c) ((_ctype+1)[c]&(_U|_L)) +#define iscntrl(c) ((_ctype+1)[c]&(_C)) +#define isdigit(c) ((_ctype+1)[c]&(_D)) +#define isgraph(c) ((_ctype+1)[c]&(_P|_U|_L|_D)) +#define islower(c) ((_ctype+1)[c]&(_L)) +#define isprint(c) ((_ctype+1)[c]&(_P|_U|_L|_D|_SP)) +#define ispunct(c) ((_ctype+1)[c]&(_P)) +#define isspace(c) ((_ctype+1)[c]&(_S)) +#define isupper(c) ((_ctype+1)[c]&(_U)) +#define isxdigit(c) ((_ctype+1)[c]&(_D|_X)) + +#define isascii(c) (((unsigned) c)<=0x7f) +#define toascii(c) (((unsigned) c)&0x7f) + +#define tolower(c) (_ctmp=c,isupper(_ctmp)?_ctmp-('A'-'a'):_ctmp) +#define toupper(c) (_ctmp=c,islower(_ctmp)?_ctmp-('a'-'A'):_ctmp) + +#endif diff --git a/linux-0.11-lab/cur/linux/include/errno.h b/linux-0.11-lab/cur/linux/include/errno.h new file mode 100644 index 0000000..c282f69 --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/errno.h @@ -0,0 +1,60 @@ +#ifndef _ERRNO_H +#define _ERRNO_H + +/* + * ok, as I hadn't got any other source of information about + * possible error numbers, I was forced to use the same numbers + * as minix. + * Hopefully these are posix or something. I wouldn't know (and posix + * isn't telling me - they want $$$ for their f***ing standard). + * + * We don't use the _SIGN cludge of minix, so kernel returns must + * see to the sign by themselves. + * + * NOTE! Remember to change strerror() if you change this file! + */ + +extern int errno; + +#define ERROR 99 +#define EPERM 1 +#define ENOENT 2 +#define ESRCH 3 +#define EINTR 4 +#define EIO 5 +#define ENXIO 6 +#define E2BIG 7 +#define ENOEXEC 8 +#define EBADF 9 +#define ECHILD 10 +#define EAGAIN 11 +#define ENOMEM 12 +#define EACCES 13 +#define EFAULT 14 +#define ENOTBLK 15 +#define EBUSY 16 +#define EEXIST 17 +#define EXDEV 18 +#define ENODEV 19 +#define ENOTDIR 20 +#define EISDIR 21 +#define EINVAL 22 +#define ENFILE 23 +#define EMFILE 24 +#define ENOTTY 25 +#define ETXTBSY 26 +#define EFBIG 27 +#define ENOSPC 28 +#define ESPIPE 29 +#define EROFS 30 +#define EMLINK 31 +#define EPIPE 32 +#define EDOM 33 +#define ERANGE 34 +#define EDEADLK 35 +#define ENAMETOOLONG 36 +#define ENOLCK 37 +#define ENOSYS 38 +#define ENOTEMPTY 39 + +#endif diff --git a/linux-0.11-lab/cur/linux/include/fcntl.h b/linux-0.11-lab/cur/linux/include/fcntl.h new file mode 100644 index 0000000..a5bf9af --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/fcntl.h @@ -0,0 +1,55 @@ +#ifndef _FCNTL_H +#define _FCNTL_H + +#include + +/* open/fcntl - NOCTTY, NDELAY isn't implemented yet */ +#define O_ACCMODE 00003 +#define O_RDONLY 00 +#define O_WRONLY 01 +#define O_RDWR 02 +#define O_CREAT 00100 /* not fcntl */ +#define O_EXCL 00200 /* not fcntl */ +#define O_NOCTTY 00400 /* not fcntl */ +#define O_TRUNC 01000 /* not fcntl */ +#define O_APPEND 02000 +#define O_NONBLOCK 04000 /* not fcntl */ +#define O_NDELAY O_NONBLOCK + +/* Defines for fcntl-commands. Note that currently + * locking isn't supported, and other things aren't really + * tested. + */ +#define F_DUPFD 0 /* dup */ +#define F_GETFD 1 /* get f_flags */ +#define F_SETFD 2 /* set f_flags */ +#define F_GETFL 3 /* more flags (cloexec) */ +#define F_SETFL 4 +#define F_GETLK 5 /* not implemented */ +#define F_SETLK 6 +#define F_SETLKW 7 + +/* for F_[GET|SET]FL */ +#define FD_CLOEXEC 1 /* actually anything with low bit set goes */ + +/* Ok, these are locking features, and aren't implemented at any + * level. POSIX wants them. + */ +#define F_RDLCK 0 +#define F_WRLCK 1 +#define F_UNLCK 2 + +/* Once again - not implemented, but ... */ +struct flock { + short l_type; + short l_whence; + off_t l_start; + off_t l_len; + pid_t l_pid; +}; + +extern int creat(const char * filename,mode_t mode); +extern int fcntl(int fildes,int cmd, ...); +extern int open(const char * filename, int flags, ...); + +#endif diff --git a/linux-0.11-lab/cur/linux/include/linux/config.h b/linux-0.11-lab/cur/linux/include/linux/config.h new file mode 100644 index 0000000..c979fb3 --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/linux/config.h @@ -0,0 +1,48 @@ +#ifndef _CONFIG_H +#define _CONFIG_H + +/* + * The root-device is no longer hard-coded. You can change the default + * root-device by changing the line ROOT_DEV = XXX in boot/bootsect.s + */ + +/* + * define your keyboard here - + * KBD_FINNISH for Finnish keyboards + * KBD_US for US-type + * KBD_GR for German keyboards + * KBD_FR for Frech keyboard + */ +#define KBD_US +/*#define KBD_GR */ +/*#define KBD_FR */ +/*#define KBD_FINNISH */ + +/* + * Normally, Linux can get the drive parameters from the BIOS at + * startup, but if this for some unfathomable reason fails, you'd + * be left stranded. For this case, you can define HD_TYPE, which + * contains all necessary info on your harddisk. + * + * The HD_TYPE macro should look like this: + * + * #define HD_TYPE { head, sect, cyl, wpcom, lzone, ctl} + * + * In case of two harddisks, the info should be sepatated by + * commas: + * + * #define HD_TYPE { h,s,c,wpcom,lz,ctl },{ h,s,c,wpcom,lz,ctl } + */ +/* + This is an example, two drives, first is type 2, second is type 3: + +#define HD_TYPE { 4,17,615,300,615,8 }, { 6,17,615,300,615,0 } + + NOTE: ctl is 0 for all drives with heads<=8, and ctl=8 for drives + with more than 8 heads. + + If you want the BIOS to tell what kind of drive you have, just + leave HD_TYPE undefined. This is the normal thing to do. +*/ + +#endif diff --git a/linux-0.11-lab/cur/linux/include/linux/fdreg.h b/linux-0.11-lab/cur/linux/include/linux/fdreg.h new file mode 100644 index 0000000..01355af --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/linux/fdreg.h @@ -0,0 +1,71 @@ +/* + * This file contains some defines for the floppy disk controller. + * Various sources. Mostly "IBM Microcomputers: A Programmers + * Handbook", Sanches and Canton. + */ +#ifndef _FDREG_H +#define _FDREG_H + +extern int ticks_to_floppy_on(unsigned int nr); +extern void floppy_on(unsigned int nr); +extern void floppy_off(unsigned int nr); +extern void floppy_select(unsigned int nr); +extern void floppy_deselect(unsigned int nr); + +/* Fd controller regs. S&C, about page 340 */ +#define FD_STATUS 0x3f4 +#define FD_DATA 0x3f5 +#define FD_DOR 0x3f2 /* Digital Output Register */ +#define FD_DIR 0x3f7 /* Digital Input Register (read) */ +#define FD_DCR 0x3f7 /* Diskette Control Register (write)*/ + +/* Bits of main status register */ +#define STATUS_BUSYMASK 0x0F /* drive busy mask */ +#define STATUS_BUSY 0x10 /* FDC busy */ +#define STATUS_DMA 0x20 /* 0- DMA mode */ +#define STATUS_DIR 0x40 /* 0- cpu->fdc */ +#define STATUS_READY 0x80 /* Data reg ready */ + +/* Bits of FD_ST0 */ +#define ST0_DS 0x03 /* drive select mask */ +#define ST0_HA 0x04 /* Head (Address) */ +#define ST0_NR 0x08 /* Not Ready */ +#define ST0_ECE 0x10 /* Equipment chech error */ +#define ST0_SE 0x20 /* Seek end */ +#define ST0_INTR 0xC0 /* Interrupt code mask */ + +/* Bits of FD_ST1 */ +#define ST1_MAM 0x01 /* Missing Address Mark */ +#define ST1_WP 0x02 /* Write Protect */ +#define ST1_ND 0x04 /* No Data - unreadable */ +#define ST1_OR 0x10 /* OverRun */ +#define ST1_CRC 0x20 /* CRC error in data or addr */ +#define ST1_EOC 0x80 /* End Of Cylinder */ + +/* Bits of FD_ST2 */ +#define ST2_MAM 0x01 /* Missing Addess Mark (again) */ +#define ST2_BC 0x02 /* Bad Cylinder */ +#define ST2_SNS 0x04 /* Scan Not Satisfied */ +#define ST2_SEH 0x08 /* Scan Equal Hit */ +#define ST2_WC 0x10 /* Wrong Cylinder */ +#define ST2_CRC 0x20 /* CRC error in data field */ +#define ST2_CM 0x40 /* Control Mark = deleted */ + +/* Bits of FD_ST3 */ +#define ST3_HA 0x04 /* Head (Address) */ +#define ST3_TZ 0x10 /* Track Zero signal (1=track 0) */ +#define ST3_WP 0x40 /* Write Protect */ + +/* Values for FD_COMMAND */ +#define FD_RECALIBRATE 0x07 /* move to track 0 */ +#define FD_SEEK 0x0F /* seek track */ +#define FD_READ 0xE6 /* read with MT, MFM, SKip deleted */ +#define FD_WRITE 0xC5 /* write with MT, MFM */ +#define FD_SENSEI 0x08 /* Sense Interrupt Status */ +#define FD_SPECIFY 0x03 /* specify HUT etc */ + +/* DMA commands */ +#define DMA_READ 0x46 +#define DMA_WRITE 0x4A + +#endif diff --git a/linux-0.11-lab/cur/linux/include/linux/fs.h b/linux-0.11-lab/cur/linux/include/linux/fs.h new file mode 100644 index 0000000..7a90b10 --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/linux/fs.h @@ -0,0 +1,202 @@ +/* + * This file has definitions for some important file table + * structures etc. + */ + +#ifndef _FS_H +#define _FS_H + +#include + +/* devices are as follows: (same as minix, so we can use the minix + * file system. These are major numbers.) + * + * 0 - unused (nodev) + * 1 - /dev/mem + * 2 - /dev/fd + * 3 - /dev/hd + * 4 - /dev/ttyx + * 5 - /dev/tty + * 6 - /dev/lp + * 7 - unnamed pipes + */ + +#define IS_SEEKABLE(x) ((x)>=1 && (x)<=3) + +#define READ 0 +#define WRITE 1 +#define READA 2 /* read-ahead - don't pause */ +#define WRITEA 3 /* "write-ahead" - silly, but somewhat useful */ + +void buffer_init(long buffer_end); + +#define MAJOR(a) (((unsigned)(a))>>8) +#define MINOR(a) ((a)&0xff) + +#define NAME_LEN 14 +#define ROOT_INO 1 + +#define I_MAP_SLOTS 8 +#define Z_MAP_SLOTS 8 +#define SUPER_MAGIC 0x137F + +#define NR_OPEN 20 +#define NR_INODE 32 +#define NR_FILE 64 +#define NR_SUPER 8 +#define NR_HASH 307 +#define NR_BUFFERS nr_buffers +#define BLOCK_SIZE 1024 +#define BLOCK_SIZE_BITS 10 +#ifndef NULL +#define NULL ((void *) 0) +#endif + +#define INODES_PER_BLOCK ((BLOCK_SIZE)/(sizeof (struct d_inode))) +#define DIR_ENTRIES_PER_BLOCK ((BLOCK_SIZE)/(sizeof (struct dir_entry))) + +#define PIPE_HEAD(inode) ((inode).i_zone[0]) +#define PIPE_TAIL(inode) ((inode).i_zone[1]) +#define PIPE_SIZE(inode) ((PIPE_HEAD(inode)-PIPE_TAIL(inode))&(PAGE_SIZE-1)) +#define PIPE_EMPTY(inode) (PIPE_HEAD(inode)==PIPE_TAIL(inode)) +#define PIPE_FULL(inode) (PIPE_SIZE(inode)==(PAGE_SIZE-1)) +#define INC_PIPE(head) \ +__asm__("incl %0\n\tandl $4095,%0"::"m" (head)) + +typedef char buffer_block[BLOCK_SIZE]; + +struct buffer_head { + char * b_data; /* pointer to data block (1024 bytes) */ + unsigned long b_blocknr; /* block number */ + unsigned short b_dev; /* device (0 = free) */ + unsigned char b_uptodate; + unsigned char b_dirt; /* 0-clean,1-dirty */ + unsigned char b_count; /* users using this block */ + unsigned char b_lock; /* 0 - ok, 1 -locked */ + struct task_struct * b_wait; + struct buffer_head * b_prev; + struct buffer_head * b_next; + struct buffer_head * b_prev_free; + struct buffer_head * b_next_free; +}; + +struct d_inode { + unsigned short i_mode; + unsigned short i_uid; + unsigned long i_size; + unsigned long i_time; + unsigned char i_gid; + unsigned char i_nlinks; + unsigned short i_zone[9]; +}; + +struct m_inode { + unsigned short i_mode; + unsigned short i_uid; + unsigned long i_size; + unsigned long i_mtime; + unsigned char i_gid; + unsigned char i_nlinks; + unsigned short i_zone[9]; +/* these are in memory also */ + struct task_struct * i_wait; + unsigned long i_atime; + unsigned long i_ctime; + unsigned short i_dev; + unsigned short i_num; + unsigned short i_count; + unsigned char i_lock; + unsigned char i_dirt; + unsigned char i_pipe; + unsigned char i_mount; + unsigned char i_seek; + unsigned char i_update; +}; + +struct file { + unsigned short f_mode; + unsigned short f_flags; + unsigned short f_count; + struct m_inode * f_inode; + off_t f_pos; +}; + +struct super_block { + unsigned short s_ninodes; + unsigned short s_nzones; + unsigned short s_imap_blocks; + unsigned short s_zmap_blocks; + unsigned short s_firstdatazone; + unsigned short s_log_zone_size; + unsigned long s_max_size; + unsigned short s_magic; +/* These are only in memory */ + struct buffer_head * s_imap[8]; + struct buffer_head * s_zmap[8]; + unsigned short s_dev; + struct m_inode * s_isup; + struct m_inode * s_imount; + unsigned long s_time; + struct task_struct * s_wait; + unsigned char s_lock; + unsigned char s_rd_only; + unsigned char s_dirt; +}; + +struct d_super_block { + unsigned short s_ninodes; + unsigned short s_nzones; + unsigned short s_imap_blocks; + unsigned short s_zmap_blocks; + unsigned short s_firstdatazone; + unsigned short s_log_zone_size; + unsigned long s_max_size; + unsigned short s_magic; +}; + +struct dir_entry { + unsigned short inode; + char name[NAME_LEN]; +}; + +extern struct m_inode inode_table[NR_INODE]; +extern struct file file_table[NR_FILE]; +extern struct super_block super_block[NR_SUPER]; +extern struct buffer_head * start_buffer; +extern int nr_buffers; + +extern void check_disk_change(int dev); +extern int floppy_change(unsigned int nr); +extern int ticks_to_floppy_on(unsigned int dev); +extern void floppy_on(unsigned int dev); +extern void floppy_off(unsigned int dev); +extern void truncate(struct m_inode * inode); +extern void sync_inodes(void); +extern void wait_on(struct m_inode * inode); +extern int bmap(struct m_inode * inode,int block); +extern int create_block(struct m_inode * inode,int block); +extern struct m_inode * namei(const char * pathname); +extern int open_namei(const char * pathname, int flag, int mode, + struct m_inode ** res_inode); +extern void iput(struct m_inode * inode); +extern struct m_inode * iget(int dev,int nr); +extern struct m_inode * get_empty_inode(void); +extern struct m_inode * get_pipe_inode(void); +extern struct buffer_head * get_hash_table(int dev, int block); +extern struct buffer_head * getblk(int dev, int block); +extern void ll_rw_block(int rw, struct buffer_head * bh); +extern void brelse(struct buffer_head * buf); +extern struct buffer_head * bread(int dev,int block); +extern void bread_page(unsigned long addr,int dev,int b[4]); +extern struct buffer_head * breada(int dev,int block,...); +extern int new_block(int dev); +extern void free_block(int dev, int block); +extern struct m_inode * new_inode(int dev); +extern void free_inode(struct m_inode * inode); +extern int sync_dev(int dev); +extern struct super_block * get_super(int dev); +extern int ROOT_DEV; + +extern void mount_root(void); + +#endif diff --git a/linux-0.11-lab/cur/linux/include/linux/hdreg.h b/linux-0.11-lab/cur/linux/include/linux/hdreg.h new file mode 100644 index 0000000..e6c593f --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/linux/hdreg.h @@ -0,0 +1,65 @@ +/* + * This file contains some defines for the AT-hd-controller. + * Various sources. Check out some definitions (see comments with + * a ques). + */ +#ifndef _HDREG_H +#define _HDREG_H + +/* Hd controller regs. Ref: IBM AT Bios-listing */ +#define HD_DATA 0x1f0 /* _CTL when writing */ +#define HD_ERROR 0x1f1 /* see err-bits */ +#define HD_NSECTOR 0x1f2 /* nr of sectors to read/write */ +#define HD_SECTOR 0x1f3 /* starting sector */ +#define HD_LCYL 0x1f4 /* starting cylinder */ +#define HD_HCYL 0x1f5 /* high byte of starting cyl */ +#define HD_CURRENT 0x1f6 /* 101dhhhh , d=drive, hhhh=head */ +#define HD_STATUS 0x1f7 /* see status-bits */ +#define HD_PRECOMP HD_ERROR /* same io address, read=error, write=precomp */ +#define HD_COMMAND HD_STATUS /* same io address, read=status, write=cmd */ + +#define HD_CMD 0x3f6 + +/* Bits of HD_STATUS */ +#define ERR_STAT 0x01 +#define INDEX_STAT 0x02 +#define ECC_STAT 0x04 /* Corrected error */ +#define DRQ_STAT 0x08 +#define SEEK_STAT 0x10 +#define WRERR_STAT 0x20 +#define READY_STAT 0x40 +#define BUSY_STAT 0x80 + +/* Values for HD_COMMAND */ +#define WIN_RESTORE 0x10 +#define WIN_READ 0x20 +#define WIN_WRITE 0x30 +#define WIN_VERIFY 0x40 +#define WIN_FORMAT 0x50 +#define WIN_INIT 0x60 +#define WIN_SEEK 0x70 +#define WIN_DIAGNOSE 0x90 +#define WIN_SPECIFY 0x91 + +/* Bits for HD_ERROR */ +#define MARK_ERR 0x01 /* Bad address mark ? */ +#define TRK0_ERR 0x02 /* couldn't find track 0 */ +#define ABRT_ERR 0x04 /* ? */ +#define ID_ERR 0x10 /* ? */ +#define ECC_ERR 0x40 /* ? */ +#define BBD_ERR 0x80 /* ? */ + +struct partition { + unsigned char boot_ind; /* 0x80 - active (unused) */ + unsigned char head; /* ? */ + unsigned char sector; /* ? */ + unsigned char cyl; /* ? */ + unsigned char sys_ind; /* ? */ + unsigned char end_head; /* ? */ + unsigned char end_sector; /* ? */ + unsigned char end_cyl; /* ? */ + unsigned int start_sect; /* starting sector counting from 0 */ + unsigned int nr_sects; /* nr of sectors in partition */ +}; + +#endif diff --git a/linux-0.11-lab/cur/linux/include/linux/head.h b/linux-0.11-lab/cur/linux/include/linux/head.h new file mode 100644 index 0000000..db3dda2 --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/linux/head.h @@ -0,0 +1,20 @@ +#ifndef _HEAD_H +#define _HEAD_H + +typedef struct desc_struct { + unsigned long a,b; +} desc_table[256]; + +extern unsigned long pg_dir[1024]; +extern desc_table idt,gdt; + +#define GDT_NUL 0 +#define GDT_CODE 1 +#define GDT_DATA 2 +#define GDT_TMP 3 + +#define LDT_NUL 0 +#define LDT_CODE 1 +#define LDT_DATA 2 + +#endif diff --git a/linux-0.11-lab/cur/linux/include/linux/kernel.h b/linux-0.11-lab/cur/linux/include/linux/kernel.h new file mode 100644 index 0000000..cb40dd5 --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/linux/kernel.h @@ -0,0 +1,22 @@ +/* + * 'kernel.h' contains some often-used function prototypes etc + */ +void verify_area(void * addr,int count); +volatile void panic(const char * str); +int printf(const char * fmt, ...); +int printk(const char * fmt, ...); +int tty_write(unsigned ch,char * buf,int count); +void * malloc(unsigned int size); +void free_s(void * obj, int size); + +#define free(x) free_s((x), 0) + +/* + * This is defined as a macro, but at some point this might become a + * real subroutine that sets a flag if it returns true (to do + * BSD-style accounting where the process is flagged if it uses root + * privs). The implication of this is that you should do normal + * permissions checks first, and check suser() last. + */ +#define suser() (current->euid == 0) + diff --git a/linux-0.11-lab/cur/linux/include/linux/mm.h b/linux-0.11-lab/cur/linux/include/linux/mm.h new file mode 100644 index 0000000..5a160f3 --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/linux/mm.h @@ -0,0 +1,10 @@ +#ifndef _MM_H +#define _MM_H + +#define PAGE_SIZE 4096 + +extern unsigned long get_free_page(void); +extern unsigned long put_page(unsigned long page,unsigned long address); +extern void free_page(unsigned long addr); + +#endif diff --git a/linux-0.11-lab/cur/linux/include/linux/sched.h b/linux-0.11-lab/cur/linux/include/linux/sched.h new file mode 100644 index 0000000..772646a --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/linux/sched.h @@ -0,0 +1,239 @@ +#ifndef _SCHED_H +#define _SCHED_H + +#define NR_TASKS 64 +#define HZ 100 + +#define FIRST_TASK task[0] +#define LAST_TASK task[NR_TASKS-1] + +#include +#include +#include +#include + +#if (NR_OPEN > 32) +#error "Currently the close-on-exec-flags are in one word, max 32 files/proc" +#endif + +#define TASK_RUNNING 0 +#define TASK_INTERRUPTIBLE 1 +#define TASK_UNINTERRUPTIBLE 2 +#define TASK_ZOMBIE 3 +#define TASK_STOPPED 4 + +#ifndef NULL +#define NULL ((void *) 0) +#endif + +extern int copy_page_tables(unsigned long from, unsigned long to, long size); +extern int free_page_tables(unsigned long from, unsigned long size); + +extern void sched_init(void); +extern void schedule(void); +extern void trap_init(void); +extern void panic(const char * str); +extern int tty_write(unsigned minor,char * buf,int count); + +typedef int (*fn_ptr)(); + +struct i387_struct { + long cwd; + long swd; + long twd; + long fip; + long fcs; + long foo; + long fos; + long st_space[20]; /* 8*10 bytes for each FP-reg = 80 bytes */ +}; + +struct tss_struct { + long back_link; /* 16 high bits zero */ + long esp0; + long ss0; /* 16 high bits zero */ + long esp1; + long ss1; /* 16 high bits zero */ + long esp2; + long ss2; /* 16 high bits zero */ + long cr3; + long eip; + long eflags; + long eax,ecx,edx,ebx; + long esp; + long ebp; + long esi; + long edi; + long es; /* 16 high bits zero */ + long cs; /* 16 high bits zero */ + long ss; /* 16 high bits zero */ + long ds; /* 16 high bits zero */ + long fs; /* 16 high bits zero */ + long gs; /* 16 high bits zero */ + long ldt; /* 16 high bits zero */ + long trace_bitmap; /* bits: trace 0, bitmap 16-31 */ + struct i387_struct i387; +}; + +struct task_struct { +/* these are hardcoded - don't touch */ + long state; /* -1 unrunnable, 0 runnable, >0 stopped */ + long counter; + long priority; + long signal; + struct sigaction sigaction[32]; + long blocked; /* bitmap of masked signals */ +/* various fields */ + int exit_code; + unsigned long start_code,end_code,end_data,brk,start_stack; + long pid,father,pgrp,session,leader; + unsigned short uid,euid,suid; + unsigned short gid,egid,sgid; + long alarm; + long utime,stime,cutime,cstime,start_time; + unsigned short used_math; +/* file system info */ + int tty; /* -1 if no tty, so it must be signed */ + unsigned short umask; + struct m_inode * pwd; + struct m_inode * root; + struct m_inode * executable; + unsigned long close_on_exec; + struct file * filp[NR_OPEN]; +/* ldt for this task 0 - zero 1 - cs 2 - ds&ss */ + struct desc_struct ldt[3]; +/* tss for this task */ + struct tss_struct tss; +}; + +/* + * INIT_TASK is used to set up the first task table, touch at + * your own risk!. Base=0, limit=0x9ffff (=640kB) + */ +#define INIT_TASK \ +/* state etc */ { 0,15,15, \ +/* signals */ 0,{{},},0, \ +/* ec,brk... */ 0,0,0,0,0,0, \ +/* pid etc.. */ 0,-1,0,0,0, \ +/* uid etc */ 0,0,0,0,0,0, \ +/* alarm */ 0,0,0,0,0,0, \ +/* math */ 0, \ +/* fs info */ -1,0022,NULL,NULL,NULL,0, \ +/* filp */ {NULL,}, \ + { \ + {0,0}, \ +/* ldt */ {0x9f,0xc0fa00}, \ + {0x9f,0xc0f200}, \ + }, \ +/*tss*/ {0,PAGE_SIZE+(long)&init_task,0x10,0,0,0,0,(long)&pg_dir,\ + 0,0,0,0,0,0,0,0, \ + 0,0,0x17,0x17,0x17,0x17,0x17,0x17, \ + _LDT(0),0x80000000, \ + {} \ + }, \ +} + +extern struct task_struct *task[NR_TASKS]; +extern struct task_struct *last_task_used_math; +extern struct task_struct *current; +extern long volatile jiffies; +extern long startup_time; + +#define CURRENT_TIME (startup_time+jiffies/HZ) + +extern void add_timer(long jiffies, void (*fn)(void)); +extern void sleep_on(struct task_struct ** p); +extern void interruptible_sleep_on(struct task_struct ** p); +extern void wake_up(struct task_struct ** p); + +/* + * Entry into gdt where to find first TSS. 0-nul, 1-cs, 2-ds, 3-syscall + * 4-TSS0, 5-LDT0, 6-TSS1 etc ... + */ +#define FIRST_TSS_ENTRY 4 +#define FIRST_LDT_ENTRY (FIRST_TSS_ENTRY+1) +#define _TSS(n) ((((unsigned long) n)<<4)+(FIRST_TSS_ENTRY<<3)) +#define _LDT(n) ((((unsigned long) n)<<4)+(FIRST_LDT_ENTRY<<3)) +#define ltr(n) __asm__("ltr %%ax"::"a" (_TSS(n))) +#define lldt(n) __asm__("lldt %%ax"::"a" (_LDT(n))) +#define str(n) \ +__asm__("str %%ax\n\t" \ + "subl %2,%%eax\n\t" \ + "shrl $4,%%eax" \ + :"=a" (n) \ + :"a" (0),"i" (FIRST_TSS_ENTRY<<3)) +/* + * switch_to(n) should switch tasks to task nr n, first + * checking that n isn't the current task, in which case it does nothing. + * This also clears the TS-flag if the task we switched to has used + * tha math co-processor latest. + */ +#define switch_to(n) {\ +struct {long a,b;} __tmp; \ +__asm__("cmpl %%ecx,current\n\t" \ + "je 1f\n\t" \ + "movw %%dx,%1\n\t" \ + "xchgl %%ecx,current\n\t" \ + "ljmp *%0\n\t" \ + "cmpl %%ecx,last_task_used_math\n\t" \ + "jne 1f\n\t" \ + "clts\n" \ + "1:" \ + ::"m" (*&__tmp.a),"m" (*&__tmp.b), \ + "d" (_TSS(n)),"c" ((long) task[n])); \ +} + +#define PAGE_ALIGN(n) (((n)+0xfff)&0xfffff000) + +#define _set_base(addr,base) \ +__asm__ ("push %%edx\n\t" \ + "movw %%dx,%0\n\t" \ + "rorl $16,%%edx\n\t" \ + "movb %%dl,%1\n\t" \ + "movb %%dh,%2\n\t" \ + "pop %%edx" \ + ::"m" (*((addr)+2)), \ + "m" (*((addr)+4)), \ + "m" (*((addr)+7)), \ + "d" (base) \ + ) + +#define _set_limit(addr,limit) \ +__asm__ ("push %%edx\n\t" \ + "movw %%dx,%0\n\t" \ + "rorl $16,%%edx\n\t" \ + "movb %1,%%dh\n\t" \ + "andb $0xf0,%%dh\n\t" \ + "orb %%dh,%%dl\n\t" \ + "movb %%dl,%1\n\t" \ + "pop %%edx" \ + ::"m" (*(addr)), \ + "m" (*((addr)+6)), \ + "d" (limit) \ + ) + +#define set_base(ldt,base) _set_base( ((char *)&(ldt)) , (base) ) +#define set_limit(ldt,limit) _set_limit( ((char *)&(ldt)) , (limit-1)>>12 ) + +static inline unsigned long _get_base(char * addr) +{ + unsigned long __base; + __asm__("movb %3,%%dh\n\t" + "movb %2,%%dl\n\t" + "shll $16,%%edx\n\t" + "movw %1,%%dx" + :"=&d" (__base) + :"m" (*((addr)+2)), + "m" (*((addr)+4)), + "m" (*((addr)+7))); + return __base; +} + +#define get_base(ldt) _get_base( ((char *)&(ldt)) ) + +#define get_limit(segment) ({ \ +unsigned long __limit; \ +__asm__("lsll %1,%0\n\tincl %0":"=r" (__limit):"r" (segment)); \ +__limit;}) + +#endif diff --git a/linux-0.11-lab/cur/linux/include/linux/sys.h b/linux-0.11-lab/cur/linux/include/linux/sys.h new file mode 100644 index 0000000..7ff5fa7 --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/linux/sys.h @@ -0,0 +1,119 @@ +/* + * Why isn't this a .c file? Enquiring minds.... + */ + +extern int sys_setup(); +extern int sys_exit(); +extern int sys_fork(); +extern int sys_read(); +extern int sys_write(); +extern int sys_open(); +extern int sys_close(); +extern int sys_waitpid(); +extern int sys_creat(); +extern int sys_link(); +extern int sys_unlink(); +extern int sys_execve(); +extern int sys_chdir(); +extern int sys_time(); +extern int sys_mknod(); +extern int sys_chmod(); +extern int sys_chown(); +extern int sys_break(); +extern int sys_stat(); +extern int sys_lseek(); +extern int sys_getpid(); +extern int sys_mount(); +extern int sys_umount(); +extern int sys_setuid(); +extern int sys_getuid(); +extern int sys_stime(); +extern int sys_ptrace(); +extern int sys_alarm(); +extern int sys_fstat(); +extern int sys_pause(); +extern int sys_utime(); +extern int sys_stty(); +extern int sys_gtty(); +extern int sys_access(); +extern int sys_nice(); +extern int sys_ftime(); +extern int sys_sync(); +extern int sys_kill(); +extern int sys_rename(); +extern int sys_mkdir(); +extern int sys_rmdir(); +extern int sys_dup(); +extern int sys_pipe(); +extern int sys_times(); +extern int sys_prof(); +extern int sys_brk(); +extern int sys_setgid(); +extern int sys_getgid(); +extern int sys_signal(); +extern int sys_geteuid(); +extern int sys_getegid(); +extern int sys_acct(); +extern int sys_phys(); +extern int sys_lock(); +extern int sys_ioctl(); +extern int sys_fcntl(); +extern int sys_mpx(); +extern int sys_setpgid(); +extern int sys_ulimit(); +extern int sys_uname(); +extern int sys_umask(); +extern int sys_chroot(); +extern int sys_ustat(); +extern int sys_dup2(); +extern int sys_getppid(); +extern int sys_getpgrp(); +extern int sys_setsid(); +extern int sys_sigaction(); +extern int sys_sgetmask(); +extern int sys_ssetmask(); +extern int sys_setreuid(); +extern int sys_setregid(); +extern int sys_sigpending(); +extern int sys_sigsuspend(); +extern int sys_sethostname(); +extern int sys_setrlimit(); +extern int sys_getrlimit(); +extern int sys_getrusage(); +extern int sys_gettimeofday(); +extern int sys_settimeofday(); +extern int sys_getgroups(); +extern int sys_setgroups(); +extern int sys_select(); +extern int sys_symlink(); +extern int sys_lstat(); +extern int sys_readlink(); +extern int sys_uselib(); +extern int sys_execve2(); +extern int sys_getdents(); +extern int sys_pipe2(); +extern int sys_sleep(); +extern int sys_getcwd(); +extern int sys_mmap(); +extern int sys_munmap(); +extern int sys_clone(); +fn_ptr sys_call_table[] = { sys_setup, sys_exit, sys_fork, sys_read, +sys_write, sys_open, sys_close, sys_waitpid, sys_creat, sys_link, +sys_unlink, sys_execve, sys_chdir, sys_time, sys_mknod, sys_chmod, +sys_chown, sys_break, sys_stat, sys_lseek, sys_getpid, sys_mount, +sys_umount, sys_setuid, sys_getuid, sys_stime, sys_ptrace, sys_alarm, +sys_fstat, sys_pause, sys_utime, sys_stty, sys_gtty, sys_access, +sys_nice, sys_ftime, sys_sync, sys_kill, sys_rename, sys_mkdir, +sys_rmdir, sys_dup, sys_pipe, sys_times, sys_prof, sys_brk, sys_setgid, +sys_getgid, sys_signal, sys_geteuid, sys_getegid, sys_acct, sys_phys, +sys_lock, sys_ioctl, sys_fcntl, sys_mpx, sys_setpgid, sys_ulimit, +sys_uname, sys_umask, sys_chroot, sys_ustat, sys_dup2, sys_getppid, +sys_getpgrp, sys_setsid, sys_sigaction, sys_sgetmask, sys_ssetmask, +sys_setreuid,sys_setregid, sys_sigsuspend, sys_sigpending, sys_sethostname, +sys_setrlimit, sys_getrlimit, sys_getrusage, sys_gettimeofday, +sys_settimeofday, sys_getgroups, sys_setgroups, sys_select, sys_symlink, +sys_lstat, sys_readlink, sys_uselib , sys_execve2 ,sys_getdents ,sys_pipe2 , + sys_sleep , sys_getcwd , sys_mmap ,sys_munmap,sys_clone}; + +/* So we don't have to do any more manual updating.... */ +int NR_syscalls = sizeof(sys_call_table)/sizeof(fn_ptr); diff --git a/linux-0.11-lab/cur/linux/include/linux/tty.h b/linux-0.11-lab/cur/linux/include/linux/tty.h new file mode 100644 index 0000000..ad846b3 --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/linux/tty.h @@ -0,0 +1,77 @@ +/* + * 'tty.h' defines some structures used by tty_io.c and some defines. + * + * NOTE! Don't touch this without checking that nothing in rs_io.s or + * con_io.s breaks. Some constants are hardwired into the system (mainly + * offsets into 'tty_queue' + */ + +#ifndef _TTY_H +#define _TTY_H + +#include + +#define TTY_BUF_SIZE 1024 + +struct tty_queue { + unsigned long data; + unsigned long head; + unsigned long tail; + struct task_struct * proc_list; + char buf[TTY_BUF_SIZE]; +}; + +#define INC(a) ((a) = ((a)+1) & (TTY_BUF_SIZE-1)) +#define DEC(a) ((a) = ((a)-1) & (TTY_BUF_SIZE-1)) +#define EMPTY(a) ((a).head == (a).tail) +#define LEFT(a) (((a).tail-(a).head-1)&(TTY_BUF_SIZE-1)) +#define LAST(a) ((a).buf[(TTY_BUF_SIZE-1)&((a).head-1)]) +#define FULL(a) (!LEFT(a)) +#define CHARS(a) (((a).head-(a).tail)&(TTY_BUF_SIZE-1)) +#define GETCH(queue,c) \ +(void)({c=(queue).buf[(queue).tail];INC((queue).tail);}) +#define PUTCH(c,queue) \ +(void)({(queue).buf[(queue).head]=(c);INC((queue).head);}) + +#define INTR_CHAR(tty) ((tty)->termios.c_cc[VINTR]) +#define QUIT_CHAR(tty) ((tty)->termios.c_cc[VQUIT]) +#define ERASE_CHAR(tty) ((tty)->termios.c_cc[VERASE]) +#define KILL_CHAR(tty) ((tty)->termios.c_cc[VKILL]) +#define EOF_CHAR(tty) ((tty)->termios.c_cc[VEOF]) +#define START_CHAR(tty) ((tty)->termios.c_cc[VSTART]) +#define STOP_CHAR(tty) ((tty)->termios.c_cc[VSTOP]) +#define SUSPEND_CHAR(tty) ((tty)->termios.c_cc[VSUSP]) + +struct tty_struct { + struct termios termios; + int pgrp; + int stopped; + void (*write)(struct tty_struct * tty); + struct tty_queue read_q; + struct tty_queue write_q; + struct tty_queue secondary; + }; + +extern struct tty_struct tty_table[]; + +/* intr=^C quit=^| erase=del kill=^U + eof=^D vtime=\0 vmin=\1 sxtc=\0 + start=^Q stop=^S susp=^Z eol=\0 + reprint=^R discard=^U werase=^W lnext=^V + eol2=\0 +*/ +#define INIT_C_CC "\003\034\177\025\004\0\1\0\021\023\032\0\022\017\027\026\0" + +void rs_init(void); +void con_init(void); +void tty_init(void); + +int tty_read(unsigned c, char * buf, int n); +int tty_write(unsigned c, char * buf, int n); + +void rs_write(struct tty_struct * tty); +void con_write(struct tty_struct * tty); + +void copy_to_cooked(struct tty_struct * tty); + +#endif diff --git a/linux-0.11-lab/cur/linux/include/new.h b/linux-0.11-lab/cur/linux/include/new.h new file mode 100644 index 0000000..6d4902c --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/new.h @@ -0,0 +1,30 @@ +#ifndef _NEW_H +#define _NEW_H + +#include + +struct linux_dirent { + long d_ino; + off_t d_off; + unsigned short d_reclen; + char * d_name; +}; + +/* Return value of `mmap' in case of an error. */ +#define MAP_FAILED ((void *) -1) + +#define PROT_READ 0x1 /* page can be read */ +#define PROT_WRITE 0x2 /* page can be written */ +#define PROT_EXEC 0x4 /* page can be executed */ +#define PROT_SEM 0x8 /* page may be used for atomic ops */ +#define PROT_NONE 0x0 /* page can not be accessed */ + +/* compatibility flags */ +#define MAP_FILE 0 + +#define MAP_SHARED 0x01 /* Share changes */ +#define MAP_PRIVATE 0x02 /* Changes are private */ + +#define CLONE_VM 0x00000100 /* set if VM shared between processes */ + +#endif diff --git a/linux-0.11-lab/cur/linux/include/signal.h b/linux-0.11-lab/cur/linux/include/signal.h new file mode 100644 index 0000000..0eea9a3 --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/signal.h @@ -0,0 +1,68 @@ +#ifndef _SIGNAL_H +#define _SIGNAL_H + +#include + +typedef int sig_atomic_t; +typedef unsigned int sigset_t; /* 32 bits */ + +#define _NSIG 32 +#define NSIG _NSIG + +#define SIGHUP 1 +#define SIGINT 2 +#define SIGQUIT 3 +#define SIGILL 4 +#define SIGTRAP 5 +#define SIGABRT 6 +#define SIGIOT 6 +#define SIGUNUSED 7 +#define SIGFPE 8 +#define SIGKILL 9 +#define SIGUSR1 10 +#define SIGSEGV 11 +#define SIGUSR2 12 +#define SIGPIPE 13 +#define SIGALRM 14 +#define SIGTERM 15 +#define SIGSTKFLT 16 +#define SIGCHLD 17 +#define SIGCONT 18 +#define SIGSTOP 19 +#define SIGTSTP 20 +#define SIGTTIN 21 +#define SIGTTOU 22 + +/* Ok, I haven't implemented sigactions, but trying to keep headers POSIX */ +#define SA_NOCLDSTOP 1 +#define SA_NOMASK 0x40000000 +#define SA_ONESHOT 0x80000000 + +#define SIG_BLOCK 0 /* for blocking signals */ +#define SIG_UNBLOCK 1 /* for unblocking signals */ +#define SIG_SETMASK 2 /* for setting the signal mask */ + +#define SIG_DFL ((void (*)(int))0) /* default signal handling */ +#define SIG_IGN ((void (*)(int))1) /* ignore signal */ + +struct sigaction { + void (*sa_handler)(int); + sigset_t sa_mask; + int sa_flags; + void (*sa_restorer)(void); +}; + +void (*signal(int _sig, void (*_func)(int)))(int); +int raise(int sig); +int kill(pid_t pid, int sig); +int sigaddset(sigset_t *mask, int signo); +int sigdelset(sigset_t *mask, int signo); +int sigemptyset(sigset_t *mask); +int sigfillset(sigset_t *mask); +int sigismember(sigset_t *mask, int signo); /* 1 - is, 0 - not, -1 error */ +int sigpending(sigset_t *set); +int sigprocmask(int how, sigset_t *set, sigset_t *oldset); +int sigsuspend(sigset_t *sigmask); +int sigaction(int sig, struct sigaction *act, struct sigaction *oldact); + +#endif /* _SIGNAL_H */ diff --git a/linux-0.11-lab/cur/linux/include/stdarg.h b/linux-0.11-lab/cur/linux/include/stdarg.h new file mode 100644 index 0000000..fd79ec0 --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/stdarg.h @@ -0,0 +1,28 @@ +#ifndef _STDARG_H +#define _STDARG_H + +typedef char *va_list; + +/* Amount of space required in an argument list for an arg of type TYPE. + TYPE may alternatively be an expression whose type is used. */ + +#define __va_rounded_size(TYPE) \ + (((sizeof (TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int)) + +#ifndef __sparc__ +#define va_start(AP, LASTARG) \ + (AP = ((char *) &(LASTARG) + __va_rounded_size (LASTARG))) +#else +#define va_start(AP, LASTARG) \ + (__builtin_saveregs (), \ + AP = ((char *) &(LASTARG) + __va_rounded_size (LASTARG))) +#endif + +void va_end (va_list); /* Defined in gnulib */ +#define va_end(AP) + +#define va_arg(AP, TYPE) \ + (AP += __va_rounded_size (TYPE), \ + *((TYPE *) (AP - __va_rounded_size (TYPE)))) + +#endif /* _STDARG_H */ diff --git a/linux-0.11-lab/cur/linux/include/stddef.h b/linux-0.11-lab/cur/linux/include/stddef.h new file mode 100644 index 0000000..97f72ff --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/stddef.h @@ -0,0 +1,19 @@ +#ifndef _STDDEF_H +#define _STDDEF_H + +#ifndef _PTRDIFF_T +#define _PTRDIFF_T +typedef long ptrdiff_t; +#endif + +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned long size_t; +#endif + +#undef NULL +#define NULL ((void *)0) + +#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) + +#endif diff --git a/linux-0.11-lab/cur/linux/include/string.h b/linux-0.11-lab/cur/linux/include/string.h new file mode 100644 index 0000000..48b91e5 --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/string.h @@ -0,0 +1,405 @@ +#ifndef _STRING_H_ +#define _STRING_H_ + +#ifndef NULL +#define NULL ((void *) 0) +#endif + +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned int size_t; +#endif + +extern char * strerror(int errno); + +/* + * This string-include defines all string functions as inline + * functions. Use gcc. It also assumes ds=es=data space, this should be + * normal. Most of the string-functions are rather heavily hand-optimized, + * see especially strtok,strstr,str[c]spn. They should work, but are not + * very easy to understand. Everything is done entirely within the register + * set, making the functions fast and clean. String instructions have been + * used through-out, making for "slightly" unclear code :-) + * + * (C) 1991 Linus Torvalds + */ + +extern inline char * strcpy(char * dest,const char *src) +{ +__asm__("cld\n" + "1:\tlodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b" + ::"S" (src),"D" (dest)); +return dest; +} + +extern inline char * strncpy(char * dest,const char *src,int count) +{ +__asm__("cld\n" + "1:\tdecl %2\n\t" + "js 2f\n\t" + "lodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n\t" + "rep\n\t" + "stosb\n" + "2:" + ::"S" (src),"D" (dest),"c" (count)); +return dest; +} + +extern inline char * strcat(char * dest,const char * src) +{ +__asm__("cld\n\t" + "repne\n\t" + "scasb\n\t" + "decl %1\n" + "1:\tlodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b" + ::"S" (src),"D" (dest),"a" (0),"c" (0xffffffff)); +return dest; +} + +extern inline char * strncat(char * dest,const char * src,int count) +{ +__asm__("cld\n\t" + "repne\n\t" + "scasb\n\t" + "decl %1\n\t" + "movl %4,%3\n" + "1:\tdecl %3\n\t" + "js 2f\n\t" + "lodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n" + "2:\txorl %2,%2\n\t" + "stosb" + ::"S" (src),"D" (dest),"a" (0),"c" (0xffffffff),"g" (count) + ); +return dest; +} + +extern inline int strcmp(const char * cs,const char * ct) +{ +register int __res __asm__("ax"); +__asm__("cld\n" + "1:\tlodsb\n\t" + "scasb\n\t" + "jne 2f\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n\t" + "xorl %%eax,%%eax\n\t" + "jmp 3f\n" + "2:\tmovl $1,%%eax\n\t" + "jl 3f\n\t" + "negl %%eax\n" + "3:" + :"=a" (__res):"D" (cs),"S" (ct)); +return __res; +} + +extern inline int strncmp(const char * cs,const char * ct,int count) +{ +register int __res __asm__("ax"); +__asm__("cld\n" + "1:\tdecl %3\n\t" + "js 2f\n\t" + "lodsb\n\t" + "scasb\n\t" + "jne 3f\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n" + "2:\txorl %%eax,%%eax\n\t" + "jmp 4f\n" + "3:\tmovl $1,%%eax\n\t" + "jl 4f\n\t" + "negl %%eax\n" + "4:" + :"=a" (__res):"D" (cs),"S" (ct),"c" (count)); +return __res; +} + +extern inline char * strchr(const char * s,char c) +{ +register char * __res __asm__("ax"); +__asm__("cld\n\t" + "movb %%al,%%ah\n" + "1:\tlodsb\n\t" + "cmpb %%ah,%%al\n\t" + "je 2f\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n\t" + "movl $1,%1\n" + "2:\tmovl %1,%0\n\t" + "decl %0" + :"=a" (__res):"S" (s),"0" (c)); +return __res; +} + +extern inline char * strrchr(const char * s,char c) +{ +register char * __res __asm__("dx"); +__asm__("cld\n\t" + "movb %%al,%%ah\n" + "1:\tlodsb\n\t" + "cmpb %%ah,%%al\n\t" + "jne 2f\n\t" + "movl %%esi,%0\n\t" + "decl %0\n" + "2:\ttestb %%al,%%al\n\t" + "jne 1b" + :"=d" (__res):"0" (0),"S" (s),"a" (c)); +return __res; +} + +extern inline int strspn(const char * cs, const char * ct) +{ +register char * __res __asm__("si"); +__asm__("cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "movl %%ecx,%%edx\n" + "1:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 2f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "je 1b\n" + "2:\tdecl %0" + :"=S" (__res):"a" (0),"c" (0xffffffff),"0" (cs),"g" (ct) + ); +return __res-cs; +} + +extern inline int strcspn(const char * cs, const char * ct) +{ +register char * __res __asm__("si"); +__asm__("cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "movl %%ecx,%%edx\n" + "1:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 2f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "jne 1b\n" + "2:\tdecl %0" + :"=S" (__res):"a" (0),"c" (0xffffffff),"0" (cs),"g" (ct) + ); +return __res-cs; +} + +extern inline char * strpbrk(const char * cs,const char * ct) +{ +register char * __res __asm__("si"); +__asm__("cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "movl %%ecx,%%edx\n" + "1:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 2f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "jne 1b\n\t" + "decl %0\n\t" + "jmp 3f\n" + "2:\txorl %0,%0\n" + "3:" + :"=S" (__res):"a" (0),"c" (0xffffffff),"0" (cs),"g" (ct) + ); +return __res; +} + +extern inline char * strstr(const char * cs,const char * ct) +{ +register char * __res __asm__("ax"); +__asm__("cld\n\t" \ + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" /* NOTE! This also sets Z if searchstring='' */ + "movl %%ecx,%%edx\n" + "1:\tmovl %4,%%edi\n\t" + "movl %%esi,%%eax\n\t" + "movl %%edx,%%ecx\n\t" + "repe\n\t" + "cmpsb\n\t" + "je 2f\n\t" /* also works for empty string, see above */ + "xchgl %%eax,%%esi\n\t" + "incl %%esi\n\t" + "cmpb $0,-1(%%eax)\n\t" + "jne 1b\n\t" + "xorl %%eax,%%eax\n\t" + "2:" + :"=a" (__res):"0" (0),"c" (0xffffffff),"S" (cs),"g" (ct) + ); +return __res; +} + +extern inline int strlen(const char * s) +{ +register int __res ; +__asm__("cld\n\t" + "repne\n\t" + "scasb\n\t" + "notl %0\n\t" + "decl %0" + :"=c" (__res):"D" (s),"a" (0),"0" (0xffffffff)); +return __res; +} + +extern char * ___strtok; + +extern inline char * strtok(char * s,const char * ct) +{ +register char * __res __asm__("si"); +__asm__("testl %1,%1\n\t" + "jne 1f\n\t" + "testl %0,%0\n\t" + "je 8f\n\t" + "movl %0,%1\n" + "1:\txorl %0,%0\n\t" + "movl $-1,%%ecx\n\t" + "xorl %%eax,%%eax\n\t" + "cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "je 7f\n\t" /* empty delimeter-string */ + "movl %%ecx,%%edx\n" + "2:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 7f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "je 2b\n\t" + "decl %1\n\t" + "cmpb $0,(%1)\n\t" + "je 7f\n\t" + "movl %1,%0\n" + "3:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 5f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "jne 3b\n\t" + "decl %1\n\t" + "cmpb $0,(%1)\n\t" + "je 5f\n\t" + "movb $0,(%1)\n\t" + "incl %1\n\t" + "jmp 6f\n" + "5:\txorl %1,%1\n" + "6:\tcmpb $0,(%0)\n\t" + "jne 7f\n\t" + "xorl %0,%0\n" + "7:\ttestl %0,%0\n\t" + "jne 8f\n\t" + "movl %0,%1\n" + "8:" + :"=b" (__res),"=S" (___strtok) + :"0" (___strtok),"1" (s),"g" (ct) + ); +return __res; +} + +extern inline void * memcpy(void * dest,const void * src, int n) +{ +__asm__("cld\n\t" + "rep\n\t" + "movsb" + ::"c" (n),"S" (src),"D" (dest) + ); +return dest; +} + +extern inline void * memmove(void * dest,const void * src, int n) +{ +if (dest + +struct stat { + dev_t st_dev; + ino_t st_ino; + umode_t st_mode; + nlink_t st_nlink; + uid_t st_uid; + gid_t st_gid; + dev_t st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + +#define S_IFMT 00170000 +#define S_IFLNK 0120000 +#define S_IFREG 0100000 +#define S_IFBLK 0060000 +#define S_IFDIR 0040000 +#define S_IFCHR 0020000 +#define S_IFIFO 0010000 +#define S_ISUID 0004000 +#define S_ISGID 0002000 +#define S_ISVTX 0001000 + +#define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) +#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) +#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) +#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) +#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK) +#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) + +#define S_IRWXU 00700 +#define S_IRUSR 00400 +#define S_IWUSR 00200 +#define S_IXUSR 00100 + +#define S_IRWXG 00070 +#define S_IRGRP 00040 +#define S_IWGRP 00020 +#define S_IXGRP 00010 + +#define S_IRWXO 00007 +#define S_IROTH 00004 +#define S_IWOTH 00002 +#define S_IXOTH 00001 + +extern int chmod(const char *_path, mode_t mode); +extern int fstat(int fildes, struct stat *stat_buf); +extern int mkdir(const char *_path, mode_t mode); +extern int mkfifo(const char *_path, mode_t mode); +extern int stat(const char *filename, struct stat *stat_buf); +extern mode_t umask(mode_t mask); + +#endif diff --git a/linux-0.11-lab/cur/linux/include/sys/times.h b/linux-0.11-lab/cur/linux/include/sys/times.h new file mode 100644 index 0000000..68d5bfb --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/sys/times.h @@ -0,0 +1,15 @@ +#ifndef _TIMES_H +#define _TIMES_H + +#include + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; +}; + +extern time_t times(struct tms * tp); + +#endif diff --git a/linux-0.11-lab/cur/linux/include/sys/types.h b/linux-0.11-lab/cur/linux/include/sys/types.h new file mode 100644 index 0000000..557aa31 --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/sys/types.h @@ -0,0 +1,46 @@ +#ifndef _SYS_TYPES_H +#define _SYS_TYPES_H + +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned int size_t; +#endif + +#ifndef _TIME_T +#define _TIME_T +typedef long time_t; +#endif + +#ifndef _PTRDIFF_T +#define _PTRDIFF_T +typedef long ptrdiff_t; +#endif + +#ifndef NULL +#define NULL ((void *) 0) +#endif + +typedef int pid_t; +typedef unsigned short uid_t; +typedef unsigned char gid_t; +typedef unsigned short dev_t; +typedef unsigned short ino_t; +typedef unsigned short mode_t; +typedef unsigned short umode_t; +typedef unsigned char nlink_t; +typedef int daddr_t; +typedef long off_t; +typedef unsigned char u_char; +typedef unsigned short ushort; + +typedef struct { int quot,rem; } div_t; +typedef struct { long quot,rem; } ldiv_t; + +struct ustat { + daddr_t f_tfree; + ino_t f_tinode; + char f_fname[6]; + char f_fpack[6]; +}; + +#endif diff --git a/linux-0.11-lab/cur/linux/include/sys/utsname.h b/linux-0.11-lab/cur/linux/include/sys/utsname.h new file mode 100644 index 0000000..0a1c5a0 --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/sys/utsname.h @@ -0,0 +1,16 @@ +#ifndef _SYS_UTSNAME_H +#define _SYS_UTSNAME_H + +#include + +struct utsname { + char sysname[9]; + char nodename[9]; + char release[9]; + char version[9]; + char machine[9]; +}; + +extern int uname(struct utsname * utsbuf); + +#endif diff --git a/linux-0.11-lab/cur/linux/include/sys/wait.h b/linux-0.11-lab/cur/linux/include/sys/wait.h new file mode 100644 index 0000000..53190c2 --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/sys/wait.h @@ -0,0 +1,23 @@ +#ifndef _SYS_WAIT_H +#define _SYS_WAIT_H + +#include + +#define _LOW(v) ( (v) & 0377) +#define _HIGH(v) ( ((v) >> 8) & 0377) + +/* options for waitpid, WUNTRACED not supported */ +#define WNOHANG 1 +#define WUNTRACED 2 + +#define WIFEXITED(s) (!((s)&0xFF) +#define WIFSTOPPED(s) (((s)&0xFF)==0x7F) +#define WEXITSTATUS(s) (((s)>>8)&0xFF) +#define WTERMSIG(s) ((s)&0x7F) +#define WSTOPSIG(s) (((s)>>8)&0xFF) +#define WIFSIGNALED(s) (((unsigned int)(s)-1 & 0xFFFF) < 0xFF) + +pid_t wait(int *stat_loc); +pid_t waitpid(pid_t pid, int *stat_loc, int options); + +#endif diff --git a/linux-0.11-lab/cur/linux/include/termios.h b/linux-0.11-lab/cur/linux/include/termios.h new file mode 100644 index 0000000..2b7b913 --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/termios.h @@ -0,0 +1,228 @@ +#ifndef _TERMIOS_H +#define _TERMIOS_H + +#define TTY_BUF_SIZE 1024 + +/* 0x54 is just a magic number to make these relatively uniqe ('T') */ + +#define TCGETS 0x5401 +#define TCSETS 0x5402 +#define TCSETSW 0x5403 +#define TCSETSF 0x5404 +#define TCGETA 0x5405 +#define TCSETA 0x5406 +#define TCSETAW 0x5407 +#define TCSETAF 0x5408 +#define TCSBRK 0x5409 +#define TCXONC 0x540A +#define TCFLSH 0x540B +#define TIOCEXCL 0x540C +#define TIOCNXCL 0x540D +#define TIOCSCTTY 0x540E +#define TIOCGPGRP 0x540F +#define TIOCSPGRP 0x5410 +#define TIOCOUTQ 0x5411 +#define TIOCSTI 0x5412 +#define TIOCGWINSZ 0x5413 +#define TIOCSWINSZ 0x5414 +#define TIOCMGET 0x5415 +#define TIOCMBIS 0x5416 +#define TIOCMBIC 0x5417 +#define TIOCMSET 0x5418 +#define TIOCGSOFTCAR 0x5419 +#define TIOCSSOFTCAR 0x541A +#define TIOCINQ 0x541B + +struct winsize { + unsigned short ws_row; + unsigned short ws_col; + unsigned short ws_xpixel; + unsigned short ws_ypixel; +}; + +#define NCC 8 +struct termio { + unsigned short c_iflag; /* input mode flags */ + unsigned short c_oflag; /* output mode flags */ + unsigned short c_cflag; /* control mode flags */ + unsigned short c_lflag; /* local mode flags */ + unsigned char c_line; /* line discipline */ + unsigned char c_cc[NCC]; /* control characters */ +}; + +#define NCCS 17 +struct termios { + unsigned long c_iflag; /* input mode flags */ + unsigned long c_oflag; /* output mode flags */ + unsigned long c_cflag; /* control mode flags */ + unsigned long c_lflag; /* local mode flags */ + unsigned char c_line; /* line discipline */ + unsigned char c_cc[NCCS]; /* control characters */ +}; + +/* c_cc characters */ +#define VINTR 0 +#define VQUIT 1 +#define VERASE 2 +#define VKILL 3 +#define VEOF 4 +#define VTIME 5 +#define VMIN 6 +#define VSWTC 7 +#define VSTART 8 +#define VSTOP 9 +#define VSUSP 10 +#define VEOL 11 +#define VREPRINT 12 +#define VDISCARD 13 +#define VWERASE 14 +#define VLNEXT 15 +#define VEOL2 16 + +/* c_iflag bits */ +#define IGNBRK 0000001 +#define BRKINT 0000002 +#define IGNPAR 0000004 +#define PARMRK 0000010 +#define INPCK 0000020 +#define ISTRIP 0000040 +#define INLCR 0000100 +#define IGNCR 0000200 +#define ICRNL 0000400 +#define IUCLC 0001000 +#define IXON 0002000 +#define IXANY 0004000 +#define IXOFF 0010000 +#define IMAXBEL 0020000 + +/* c_oflag bits */ +#define OPOST 0000001 +#define OLCUC 0000002 +#define ONLCR 0000004 +#define OCRNL 0000010 +#define ONOCR 0000020 +#define ONLRET 0000040 +#define OFILL 0000100 +#define OFDEL 0000200 +#define NLDLY 0000400 +#define NL0 0000000 +#define NL1 0000400 +#define CRDLY 0003000 +#define CR0 0000000 +#define CR1 0001000 +#define CR2 0002000 +#define CR3 0003000 +#define TABDLY 0014000 +#define TAB0 0000000 +#define TAB1 0004000 +#define TAB2 0010000 +#define TAB3 0014000 +#define XTABS 0014000 +#define BSDLY 0020000 +#define BS0 0000000 +#define BS1 0020000 +#define VTDLY 0040000 +#define VT0 0000000 +#define VT1 0040000 +#define FFDLY 0040000 +#define FF0 0000000 +#define FF1 0040000 + +/* c_cflag bit meaning */ +#define CBAUD 0000017 +#define B0 0000000 /* hang up */ +#define B50 0000001 +#define B75 0000002 +#define B110 0000003 +#define B134 0000004 +#define B150 0000005 +#define B200 0000006 +#define B300 0000007 +#define B600 0000010 +#define B1200 0000011 +#define B1800 0000012 +#define B2400 0000013 +#define B4800 0000014 +#define B9600 0000015 +#define B19200 0000016 +#define B38400 0000017 +#define EXTA B19200 +#define EXTB B38400 +#define CSIZE 0000060 +#define CS5 0000000 +#define CS6 0000020 +#define CS7 0000040 +#define CS8 0000060 +#define CSTOPB 0000100 +#define CREAD 0000200 +#define CPARENB 0000400 +#define CPARODD 0001000 +#define HUPCL 0002000 +#define CLOCAL 0004000 +#define CIBAUD 03600000 /* input baud rate (not used) */ +#define CRTSCTS 020000000000 /* flow control */ + +#define PARENB CPARENB +#define PARODD CPARODD + +/* c_lflag bits */ +#define ISIG 0000001 +#define ICANON 0000002 +#define XCASE 0000004 +#define ECHO 0000010 +#define ECHOE 0000020 +#define ECHOK 0000040 +#define ECHONL 0000100 +#define NOFLSH 0000200 +#define TOSTOP 0000400 +#define ECHOCTL 0001000 +#define ECHOPRT 0002000 +#define ECHOKE 0004000 +#define FLUSHO 0010000 +#define PENDIN 0040000 +#define IEXTEN 0100000 + +/* modem lines */ +#define TIOCM_LE 0x001 +#define TIOCM_DTR 0x002 +#define TIOCM_RTS 0x004 +#define TIOCM_ST 0x008 +#define TIOCM_SR 0x010 +#define TIOCM_CTS 0x020 +#define TIOCM_CAR 0x040 +#define TIOCM_RNG 0x080 +#define TIOCM_DSR 0x100 +#define TIOCM_CD TIOCM_CAR +#define TIOCM_RI TIOCM_RNG + +/* tcflow() and TCXONC use these */ +#define TCOOFF 0 +#define TCOON 1 +#define TCIOFF 2 +#define TCION 3 + +/* tcflush() and TCFLSH use these */ +#define TCIFLUSH 0 +#define TCOFLUSH 1 +#define TCIOFLUSH 2 + +/* tcsetattr uses these */ +#define TCSANOW 0 +#define TCSADRAIN 1 +#define TCSAFLUSH 2 + +typedef int speed_t; + +extern speed_t cfgetispeed(struct termios *termios_p); +extern speed_t cfgetospeed(struct termios *termios_p); +extern int cfsetispeed(struct termios *termios_p, speed_t speed); +extern int cfsetospeed(struct termios *termios_p, speed_t speed); +extern int tcdrain(int fildes); +extern int tcflow(int fildes, int action); +extern int tcflush(int fildes, int queue_selector); +extern int tcgetattr(int fildes, struct termios *termios_p); +extern int tcsendbreak(int fildes, int duration); +extern int tcsetattr(int fildes, int optional_actions, + struct termios *termios_p); + +#endif diff --git a/linux-0.11-lab/cur/linux/include/time.h b/linux-0.11-lab/cur/linux/include/time.h new file mode 100644 index 0000000..d0a765d --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/time.h @@ -0,0 +1,42 @@ +#ifndef _TIME_H +#define _TIME_H + +#ifndef _TIME_T +#define _TIME_T +typedef long time_t; +#endif + +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned int size_t; +#endif + +#define CLOCKS_PER_SEC 100 + +typedef long clock_t; + +struct tm { + int tm_sec; + int tm_min; + int tm_hour; + int tm_mday; + int tm_mon; + int tm_year; + int tm_wday; + int tm_yday; + int tm_isdst; +}; + +clock_t clock(void); +time_t time(time_t * tp); +double difftime(time_t time2, time_t time1); +time_t mktime(struct tm * tp); + +char * asctime(const struct tm * tp); +char * ctime(const time_t * tp); +struct tm * gmtime(const time_t *tp); +struct tm *localtime(const time_t * tp); +size_t strftime(char * s, size_t smax, const char * fmt, const struct tm * tp); +void tzset(void); + +#endif diff --git a/linux-0.11-lab/cur/linux/include/unistd.h b/linux-0.11-lab/cur/linux/include/unistd.h new file mode 100644 index 0000000..4a9a3f7 --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/unistd.h @@ -0,0 +1,277 @@ +#ifndef _UNISTD_H +#define _UNISTD_H + +/* ok, this may be a joke, but I'm working on it */ +#define _POSIX_VERSION 198808L + +#define _POSIX_CHOWN_RESTRICTED /* only root can do a chown (I think..) */ +#define _POSIX_NO_TRUNC /* no pathname truncation (but see in kernel) */ +#define _POSIX_VDISABLE '\0' /* character to disable things like ^C */ +/*#define _POSIX_SAVED_IDS */ /* we'll get to this yet */ +/*#define _POSIX_JOB_CONTROL */ /* we aren't there quite yet. Soon hopefully */ + +#define STDIN_FILENO 0 +#define STDOUT_FILENO 1 +#define STDERR_FILENO 2 + +#ifndef NULL +#define NULL ((void *)0) +#endif + +/* access */ +#define F_OK 0 +#define X_OK 1 +#define W_OK 2 +#define R_OK 4 + +/* lseek */ +#define SEEK_SET 0 +#define SEEK_CUR 1 +#define SEEK_END 2 + +/* _SC stands for System Configuration. We don't use them much */ +#define _SC_ARG_MAX 1 +#define _SC_CHILD_MAX 2 +#define _SC_CLOCKS_PER_SEC 3 +#define _SC_NGROUPS_MAX 4 +#define _SC_OPEN_MAX 5 +#define _SC_JOB_CONTROL 6 +#define _SC_SAVED_IDS 7 +#define _SC_VERSION 8 + +/* more (possibly) configurable things - now pathnames */ +#define _PC_LINK_MAX 1 +#define _PC_MAX_CANON 2 +#define _PC_MAX_INPUT 3 +#define _PC_NAME_MAX 4 +#define _PC_PATH_MAX 5 +#define _PC_PIPE_BUF 6 +#define _PC_NO_TRUNC 7 +#define _PC_VDISABLE 8 +#define _PC_CHOWN_RESTRICTED 9 + +#include +#include +#include +#include + +#ifdef __LIBRARY__ + +#define __NR_setup 0 /* used only by init, to get system going */ +#define __NR_exit 1 +#define __NR_fork 2 +#define __NR_read 3 +#define __NR_write 4 +#define __NR_open 5 +#define __NR_close 6 +#define __NR_waitpid 7 +#define __NR_creat 8 +#define __NR_link 9 +#define __NR_unlink 10 +#define __NR_execve 11 +#define __NR_chdir 12 +#define __NR_time 13 +#define __NR_mknod 14 +#define __NR_chmod 15 +#define __NR_chown 16 +#define __NR_break 17 +#define __NR_stat 18 +#define __NR_lseek 19 +#define __NR_getpid 20 +#define __NR_mount 21 +#define __NR_umount 22 +#define __NR_setuid 23 +#define __NR_getuid 24 +#define __NR_stime 25 +#define __NR_ptrace 26 +#define __NR_alarm 27 +#define __NR_fstat 28 +#define __NR_pause 29 +#define __NR_utime 30 +#define __NR_stty 31 +#define __NR_gtty 32 +#define __NR_access 33 +#define __NR_nice 34 +#define __NR_ftime 35 +#define __NR_sync 36 +#define __NR_kill 37 +#define __NR_rename 38 +#define __NR_mkdir 39 +#define __NR_rmdir 40 +#define __NR_dup 41 +#define __NR_pipe 42 +#define __NR_times 43 +#define __NR_prof 44 +#define __NR_brk 45 +#define __NR_setgid 46 +#define __NR_getgid 47 +#define __NR_signal 48 +#define __NR_geteuid 49 +#define __NR_getegid 50 +#define __NR_acct 51 +#define __NR_phys 52 +#define __NR_lock 53 +#define __NR_ioctl 54 +#define __NR_fcntl 55 +#define __NR_mpx 56 +#define __NR_setpgid 57 +#define __NR_ulimit 58 +#define __NR_uname 59 +#define __NR_umask 60 +#define __NR_chroot 61 +#define __NR_ustat 62 +#define __NR_dup2 63 +#define __NR_getppid 64 +#define __NR_getpgrp 65 +#define __NR_setsid 66 +#define __NR_sigaction 67 +#define __NR_sgetmask 68 +#define __NR_ssetmask 69 +#define __NR_setreuid 70 +#define __NR_setregid 71 +#define __NR_sigsuspend 72 +#define __NR_sigpending 73 +#define __NR_sethostname 74 +#define __NR_setrlimit 75 +#define __NR_getrlimit 76 +#define __NR_getrusage 77 +#define __NR_gettimeofday 78 +#define __NR_settimeofday 79 +#define __NR_getgroups 80 +#define __NR_setgroups 81 +#define __NR_select 82 +#define __NR_symlink 83 +#define __NR_lstat 84 +#define __NR_readlink 85 +#define __NR_uselib 86 +#define __NR_execve2 87 +#define __NR_getdents 88 +#define __NR_pipe2 89 +#define __NR_sleep 90 +#define __NR_getcwd 91 +#define __NR_mmap 92 +#define __NR_munmap 93 +#define __NR_clone 94 +#define _syscall0(type,name) \ +type name(void) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name)); \ +if (__res >= 0) \ + return (type) __res; \ +errno = -__res; \ +return -1; \ +} + +#define _syscall1(type,name,atype,a) \ +type name(atype a) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name),"b" ((long)(a))); \ +if (__res >= 0) \ + return (type) __res; \ +errno = -__res; \ +return -1; \ +} + +#define _syscall2(type,name,atype,a,btype,b) \ +type name(atype a,btype b) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name),"b" ((long)(a)),"c" ((long)(b))); \ +if (__res >= 0) \ + return (type) __res; \ +errno = -__res; \ +return -1; \ +} + +#define _syscall3(type,name,atype,a,btype,b,ctype,c) \ +type name(atype a,btype b,ctype c) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name),"b" ((long)(a)),"c" ((long)(b)),"d" ((long)(c))); \ +if (__res>=0) \ + return (type) __res; \ +errno=-__res; \ +return -1; \ +} + +#endif /* __LIBRARY__ */ + +extern int errno; + +int access(const char * filename, mode_t mode); +int acct(const char * filename); +int alarm(int sec); +int brk(void * end_data_segment); +void * sbrk(ptrdiff_t increment); +int chdir(const char * filename); +int chmod(const char * filename, mode_t mode); +int chown(const char * filename, uid_t owner, gid_t group); +int chroot(const char * filename); +int close(int fildes); +int creat(const char * filename, mode_t mode); +int dup(int fildes); +int execve(const char * filename, char ** argv, char ** envp); +int execv(const char * pathname, char ** argv); +int execvp(const char * file, char ** argv); +int execl(const char * pathname, char * arg0, ...); +int execlp(const char * file, char * arg0, ...); +int execle(const char * pathname, char * arg0, ...); +volatile void exit(int status); +volatile void _exit(int status); +int fcntl(int fildes, int cmd, ...); +int fork(void); +int getpid(void); +int getuid(void); +int geteuid(void); +int getgid(void); +int getegid(void); +int ioctl(int fildes, int cmd, ...); +int kill(pid_t pid, int signal); +int link(const char * filename1, const char * filename2); +int lseek(int fildes, off_t offset, int origin); +int mknod(const char * filename, mode_t mode, dev_t dev); +int mount(const char * specialfile, const char * dir, int rwflag); +int nice(int val); +int open(const char * filename, int flag, ...); +int pause(void); +int pipe(int * fildes); +int read(int fildes, char * buf, off_t count); +int setpgrp(void); +int setpgid(pid_t pid,pid_t pgid); +int setuid(uid_t uid); +int setgid(gid_t gid); +void (*signal(int sig, void (*fn)(int)))(int); +int stat(const char * filename, struct stat * stat_buf); +int fstat(int fildes, struct stat * stat_buf); +int stime(time_t * tptr); +int sync(void); +time_t time(time_t * tloc); +time_t times(struct tms * tbuf); +int ulimit(int cmd, long limit); +mode_t umask(mode_t mask); +int umount(const char * specialfile); +int uname(struct utsname * name); +int unlink(const char * filename); +int ustat(dev_t dev, struct ustat * ubuf); +int utime(const char * filename, struct utimbuf * times); +pid_t waitpid(pid_t pid,int * wait_stat,int options); +pid_t wait(int * wait_stat); +int write(int fildes, const char * buf, off_t count); +int dup2(int oldfd, int newfd); +int getppid(void); +pid_t getpgrp(void); +pid_t setsid(void); + +#define __always_inline inline __attribute__((always_inline)) + +#endif diff --git a/linux-0.11-lab/cur/linux/include/utime.h b/linux-0.11-lab/cur/linux/include/utime.h new file mode 100644 index 0000000..83f07c7 --- /dev/null +++ b/linux-0.11-lab/cur/linux/include/utime.h @@ -0,0 +1,13 @@ +#ifndef _UTIME_H +#define _UTIME_H + +#include /* I know - shouldn't do this, but .. */ + +struct utimbuf { + time_t actime; + time_t modtime; +}; + +extern int utime(const char *filename, struct utimbuf *times); + +#endif diff --git a/linux-0.11-lab/cur/linux/init/main.c b/linux-0.11-lab/cur/linux/init/main.c new file mode 100644 index 0000000..bd86a68 --- /dev/null +++ b/linux-0.11-lab/cur/linux/init/main.c @@ -0,0 +1,216 @@ +/* + * linux/init/main.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include +#include + +/* + * we need this inline - forking from kernel space will result + * in NO COPY ON WRITE (!!!), until an execve is executed. This + * is no problem, but for the stack. This is handled by not letting + * main() use the stack at all after fork(). Thus, no function + * calls - which means inline code for fork too, as otherwise we + * would use the stack upon exit from 'fork()'. + * + * Actually only pause and fork are needed inline, so that there + * won't be any messing with the stack from main(), but we define + * some others too. + */ + +__always_inline _syscall0(int,fork) +__always_inline _syscall0(int,pause) +__always_inline _syscall1(int,setup,void *,BIOS) +__always_inline _syscall0(int,sync) + +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include + +static char printbuf[1024]; + +extern int vsprintf(); +extern void init(void); +extern void blk_dev_init(void); +extern void chr_dev_init(void); +extern void hd_init(void); +extern void floppy_init(void); +extern void mem_init(long start, long end); +extern long rd_init(long mem_start, int length); +extern long kernel_mktime(struct tm * tm); +extern long startup_time; + +/* + * This is set up by the setup-routine at boot-time + */ +#define EXT_MEM_K (*(unsigned short *)0x90002) +#define DRIVE_INFO (*(struct drive_info *)0x90080) +#define ORIG_ROOT_DEV (*(unsigned short *)0x901FC) + +/* + * Yeah, yeah, it's ugly, but I cannot find how to do this correctly + * and this seems to work. I anybody has more info on the real-time + * clock I'd be interested. Most of this was trial and error, and some + * bios-listing reading. Urghh. + */ + +#define CMOS_READ(addr) ({ \ +outb_p(0x80|addr,0x70); \ +inb_p(0x71); \ +}) + +#define BCD_TO_BIN(val) ((val)=((val)&15) + ((val)>>4)*10) + +static void time_init(void) +{ + struct tm time; + + do { + time.tm_sec = CMOS_READ(0); + time.tm_min = CMOS_READ(2); + time.tm_hour = CMOS_READ(4); + time.tm_mday = CMOS_READ(7); + time.tm_mon = CMOS_READ(8); + time.tm_year = CMOS_READ(9); + } while (time.tm_sec != CMOS_READ(0)); + BCD_TO_BIN(time.tm_sec); + BCD_TO_BIN(time.tm_min); + BCD_TO_BIN(time.tm_hour); + BCD_TO_BIN(time.tm_mday); + BCD_TO_BIN(time.tm_mon); + BCD_TO_BIN(time.tm_year); + time.tm_mon--; + startup_time = kernel_mktime(&time); +} + +static long memory_end = 0; +static long buffer_memory_end = 0; +static long main_memory_start = 0; + +struct drive_info { char dummy[32]; } drive_info; + +void main(void) /* This really IS void, no error here. */ +{ /* The startup routine assumes (well, ...) this */ +/* + * Interrupts are still disabled. Do necessary setups, then + * enable them + */ + ROOT_DEV = ORIG_ROOT_DEV; + __asm__ volatile ("cld"); /* by wyj */ + drive_info = DRIVE_INFO; + memory_end = (1<<20) + (EXT_MEM_K<<10); + memory_end &= 0xfffff000; + if (memory_end > 16*1024*1024) + memory_end = 16*1024*1024; + if (memory_end > 12*1024*1024) + buffer_memory_end = 4*1024*1024; + else if (memory_end > 6*1024*1024) + buffer_memory_end = 2*1024*1024; + else + buffer_memory_end = 1*1024*1024; + main_memory_start = buffer_memory_end; +#ifdef RAMDISK + main_memory_start += rd_init(main_memory_start, RAMDISK*1024); +#endif + mem_init(main_memory_start,memory_end); + trap_init(); + blk_dev_init(); + chr_dev_init(); + tty_init(); + time_init(); + sched_init(); + buffer_init(buffer_memory_end); + hd_init(); + floppy_init(); + sti(); + move_to_user_mode(); + if (!fork()) { /* we count on this going ok */ + init(); + } +/* + * NOTE!! For any other task 'pause()' would mean we have to get a + * signal to awaken, but task0 is the sole exception (see 'schedule()') + * as task 0 gets activated at every idle moment (when no other tasks + * can run). For task0 'pause()' just means we go check if some other + * task can run, and if not we return here. + */ + for(;;) pause(); +} + +static int printf(const char *fmt, ...) +{ + va_list args; + int i; + + va_start(args, fmt); + write(1,printbuf,i=vsprintf(printbuf, fmt, args)); + va_end(args); + return i; +} + +static char * argv_rc[] = { "/bin/sh", NULL }; +static char * envp_rc[] = { "HOME=/", NULL, NULL }; + +static char * argv[] = { "-/bin/sh",NULL }; +static char * envp[] = { "HOME=/usr/root", NULL, NULL }; + +void init(void) +{ + int pid,i; + + setup((void *) &drive_info); + (void) open("/dev/tty0",O_RDWR,0); + (void) dup(0); + (void) dup(0); + printf("%d buffers = %d bytes buffer space\n\r",NR_BUFFERS, + NR_BUFFERS*BLOCK_SIZE); + printf("Free mem: %d bytes\n\r",memory_end-main_memory_start); + if (!(pid=fork())) { + close(0); + if (open("/etc/rc",O_RDONLY,0)) + _exit(1); + execve("/bin/sh",argv_rc,envp_rc); + _exit(2); + } + if (pid>0) + while (pid != wait(&i)) + /* nothing */; + while (1) { + if ((pid=fork())<0) { + printf("Fork failed in init\r\n"); + continue; + } + if (!pid) { + close(0);close(1);close(2); + setsid(); + (void) open("/dev/tty0",O_RDWR,0); + (void) dup(0); + (void) dup(0); + _exit(execve("/bin/sh",argv,envp)); + } + while (1) + if (pid == wait(&i)) + break; + printf("\n\rchild %d died with code %04x\n\r",pid,i); + sync(); + } + _exit(0); /* NOTE! _exit, not exit() */ +} + +void print_nr(int sid) +{ + if (sid > 86) + printk(" --syscall: sid=%d, pid=%d\n", sid, current->pid); +} diff --git a/linux-0.11-lab/cur/linux/init/main.c.rej b/linux-0.11-lab/cur/linux/init/main.c.rej new file mode 100644 index 0000000..375d6cd --- /dev/null +++ b/linux-0.11-lab/cur/linux/init/main.c.rej @@ -0,0 +1,12 @@ +--- init/main.c 2016-08-08 09:40:13.000000000 +0800 ++++ init/main.c 2021-07-06 14:16:56.000000000 +0800 +@@ -208,3 +208,9 @@ + } + _exit(0); /* NOTE! _exit, not exit() */ + } ++ ++void print_nr(int sid) ++{ ++ if (sid > 86) ++ printk(" --syscall: sid=%d, pid=%d\n", sid, current->pid); ++} diff --git a/linux-0.11-lab/cur/linux/init/main.o b/linux-0.11-lab/cur/linux/init/main.o new file mode 100644 index 0000000000000000000000000000000000000000..a02f483e035a7df6015471a87ca5a0786451c6d2 GIT binary patch literal 12208 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/kernel/Makefile b/linux-0.11-lab/cur/linux/kernel/Makefile new file mode 100644 index 0000000..29b8f8d --- /dev/null +++ b/linux-0.11-lab/cur/linux/kernel/Makefile @@ -0,0 +1,83 @@ +# +# Makefile for the FREAX-kernel. +# +# Note! Dependencies are done automagically by 'make dep', which also +# removes any old dependencies. DON'T put your own dependencies here +# unless it's something special (ie not a .c file). +# + +AR =ar +AS =as +LD =ld +LDFLAGS =-m elf_i386 -Ttext 0 -e startup_32 +CC =gcc -march=i386 +CFLAGS =-w -g -fomit-frame-pointer -finline-functions \ + -nostdinc -fno-stack-protector -mcld -I../include +CPP =gcc -E -nostdinc -I../include + +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< +.s.o: + $(AS) -o $*.o $< +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< + +OBJS = sched.o system_call.o traps.o asm.o fork.o \ + panic.o printk.o vsprintf.o sys.o exit.o \ + signal.o mktime.o + +kernel.o: $(OBJS) + $(LD) -r -o kernel.o $(OBJS) + sync + +clean: + rm -f core *.o *.a tmp_make keyboard.s + for i in *.c;do rm -f `basename $$i .c`.s;done + (cd chr_drv; make clean) + (cd blk_drv; make clean) + (cd math; make clean) + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + (cd chr_drv; make dep) + (cd blk_drv; make dep) + +### Dependencies: +exit.s exit.o : exit.c ../include/errno.h ../include/signal.h \ + ../include/sys/types.h ../include/sys/wait.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/linux/mm.h \ + ../include/linux/kernel.h ../include/linux/tty.h ../include/termios.h \ + ../include/asm/segment.h +fork.s fork.o : fork.c ../include/errno.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/segment.h ../include/asm/system.h +mktime.s mktime.o : mktime.c ../include/time.h +panic.s panic.o : panic.c ../include/linux/kernel.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h +printk.s printk.o : printk.c ../include/stdarg.h ../include/stddef.h \ + ../include/linux/kernel.h +sched.s sched.o : sched.c ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/sys/types.h ../include/linux/mm.h \ + ../include/signal.h ../include/linux/kernel.h ../include/linux/sys.h \ + ../include/linux/fdreg.h ../include/asm/system.h ../include/asm/io.h \ + ../include/asm/segment.h +signal.s signal.o : signal.c ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/sys/types.h ../include/linux/mm.h \ + ../include/signal.h ../include/linux/kernel.h ../include/asm/segment.h +sys.s sys.o : sys.c ../include/errno.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/tty.h \ + ../include/termios.h ../include/linux/kernel.h ../include/asm/segment.h \ + ../include/sys/times.h ../include/sys/utsname.h +traps.s traps.o : traps.c ../include/string.h ../include/linux/head.h \ + ../include/linux/sched.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/system.h ../include/asm/segment.h ../include/asm/io.h +vsprintf.s vsprintf.o : vsprintf.c ../include/stdarg.h ../include/string.h diff --git a/linux-0.11-lab/cur/linux/kernel/asm.o b/linux-0.11-lab/cur/linux/kernel/asm.o new file mode 100644 index 0000000000000000000000000000000000000000..a89ec75e6e7dea54ae5b8d9b94ba28158b48a77f GIT binary patch literal 1740 zcma)+O=uHQ5XWcRv}sSZ2!7VKN<_gLTB@F^9;`i75B*Zxid{F^*K{@67k4+Yil|sH zrv|)<7wbhmD2RBl?IjkWde90*5b+=$0#XkiyeY()eY^2xiRgpv|Nnb$W-{}d&9$S) z`xHe1e<@H4e+Zz*gMDtmZfJlym?EDGMTQ55PMti_THiEx4rWIp9YYK2@F4#&zm)${ zdN=d3q3K?@?aYKaK6ZL^#Z6j!Eo4c^qL61o9t*iIN>a0?YOGAXEIm;+mxxDna!+$#}~zPg>(|qFzDh#3ziNdZhm7_Gt$HGtt5$ zJb2(2L6$5XS6!9gLaHZMBo4WC>dM&)G@;K)yrt}^F9miX@AvkI_oDBSxC{Lei4UOf zm-sOHL5cg&k4j8uHzb}wuS$Fw{k+6C(HA7XgML}!hv?r*yy$rny5~3eqzG`)Jgcaa zE(!kRc@m2M7T_NN{u$t~^pB$a<^Z<^_)viR13VsJBf!@Kd@I0Ua+O&Yx70Y-8Aw() zvWCvYA?PfYNr0I$z%ZR|;8|u(Ciz8(@r %eax + xchgl %ebx,(%esp) # &function <-> %ebx + pushl %ecx + pushl %edx + pushl %edi + pushl %esi + pushl %ebp + push %ds + push %es + push %fs + pushl %eax # error code + lea 44(%esp),%eax # offset + pushl %eax + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + mov %ax,%fs + call *%ebx + addl $8,%esp + pop %fs + pop %es + pop %ds + popl %ebp + popl %esi + popl %edi + popl %edx + popl %ecx + popl %ebx + popl %eax + iret + +invalid_TSS: + pushl $do_invalid_TSS + jmp error_code + +segment_not_present: + pushl $do_segment_not_present + jmp error_code + +stack_segment: + pushl $do_stack_segment + jmp error_code + +general_protection: + pushl $do_general_protection + jmp error_code + diff --git a/linux-0.11-lab/cur/linux/kernel/blk_drv/Makefile b/linux-0.11-lab/cur/linux/kernel/blk_drv/Makefile new file mode 100644 index 0000000..1fb57f9 --- /dev/null +++ b/linux-0.11-lab/cur/linux/kernel/blk_drv/Makefile @@ -0,0 +1,58 @@ +# +# Makefile for the FREAX-kernel block device drivers. +# +# Note! Dependencies are done automagically by 'make dep', which also +# removes any old dependencies. DON'T put your own dependencies here +# unless it's something special (ie not a .c file). +# + +AR =ar +AS =as +LD =ld +LDFLAGS =-s -x +CC =gcc -march=i386 +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -mcld \ + -finline-functions -nostdinc -fno-stack-protector -I../../include +CPP =gcc -E -nostdinc -I../../include + +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< +.s.o: + $(AS) -o $*.o $< +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< + +OBJS = ll_rw_blk.o floppy.o hd.o ramdisk.o + +blk_drv.a: $(OBJS) + $(AR) rcs blk_drv.a $(OBJS) + sync + +clean: + rm -f core *.o *.a tmp_make + for i in *.c;do rm -f `basename $$i .c`.s;done + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +floppy.s floppy.o : floppy.c ../../include/linux/sched.h ../../include/linux/head.h \ + ../../include/linux/fs.h ../../include/sys/types.h ../../include/linux/mm.h \ + ../../include/signal.h ../../include/linux/kernel.h \ + ../../include/linux/fdreg.h ../../include/asm/system.h \ + ../../include/asm/io.h ../../include/asm/segment.h blk.h +hd.s hd.o : hd.c ../../include/linux/config.h ../../include/linux/sched.h \ + ../../include/linux/head.h ../../include/linux/fs.h \ + ../../include/sys/types.h ../../include/linux/mm.h ../../include/signal.h \ + ../../include/linux/kernel.h ../../include/linux/hdreg.h \ + ../../include/asm/system.h ../../include/asm/io.h \ + ../../include/asm/segment.h blk.h +ll_rw_blk.s ll_rw_blk.o : ll_rw_blk.c ../../include/errno.h ../../include/linux/sched.h \ + ../../include/linux/head.h ../../include/linux/fs.h \ + ../../include/sys/types.h ../../include/linux/mm.h ../../include/signal.h \ + ../../include/linux/kernel.h ../../include/asm/system.h blk.h diff --git a/linux-0.11-lab/cur/linux/kernel/blk_drv/blk.h b/linux-0.11-lab/cur/linux/kernel/blk_drv/blk.h new file mode 100644 index 0000000..7a69b71 --- /dev/null +++ b/linux-0.11-lab/cur/linux/kernel/blk_drv/blk.h @@ -0,0 +1,140 @@ +#ifndef _BLK_H +#define _BLK_H + +#define NR_BLK_DEV 7 +/* + * NR_REQUEST is the number of entries in the request-queue. + * NOTE that writes may use only the low 2/3 of these: reads + * take precedence. + * + * 32 seems to be a reasonable number: enough to get some benefit + * from the elevator-mechanism, but not so much as to lock a lot of + * buffers when they are in the queue. 64 seems to be too many (easily + * long pauses in reading when heavy writing/syncing is going on) + */ +#define NR_REQUEST 32 + +/* + * Ok, this is an expanded form so that we can use the same + * request for paging requests when that is implemented. In + * paging, 'bh' is NULL, and 'waiting' is used to wait for + * read/write completion. + */ +struct request { + int dev; /* -1 if no request */ + int cmd; /* READ or WRITE */ + int errors; + unsigned long sector; + unsigned long nr_sectors; + char * buffer; + struct task_struct * waiting; + struct buffer_head * bh; + struct request * next; +}; + +/* + * This is used in the elevator algorithm: Note that + * reads always go before writes. This is natural: reads + * are much more time-critical than writes. + */ +#define IN_ORDER(s1,s2) \ +((s1)->cmd<(s2)->cmd || (s1)->cmd==(s2)->cmd && \ +((s1)->dev < (s2)->dev || ((s1)->dev == (s2)->dev && \ +(s1)->sector < (s2)->sector))) + +struct blk_dev_struct { + void (*request_fn)(void); + struct request * current_request; +}; + +extern struct blk_dev_struct blk_dev[NR_BLK_DEV]; +extern struct request request[NR_REQUEST]; +extern struct task_struct * wait_for_request; + +#ifdef MAJOR_NR + +/* + * Add entries as needed. Currently the only block devices + * supported are hard-disks and floppies. + */ + +#if (MAJOR_NR == 1) +/* ram disk */ +#define DEVICE_NAME "ramdisk" +#define DEVICE_REQUEST do_rd_request +#define DEVICE_NR(device) ((device) & 7) +#define DEVICE_ON(device) +#define DEVICE_OFF(device) + +#elif (MAJOR_NR == 2) +/* floppy */ +#define DEVICE_NAME "floppy" +#define DEVICE_INTR do_floppy +#define DEVICE_REQUEST do_fd_request +#define DEVICE_NR(device) ((device) & 3) +#define DEVICE_ON(device) floppy_on(DEVICE_NR(device)) +#define DEVICE_OFF(device) floppy_off(DEVICE_NR(device)) + +#elif (MAJOR_NR == 3) +/* harddisk */ +#define DEVICE_NAME "harddisk" +#define DEVICE_INTR do_hd +#define DEVICE_REQUEST do_hd_request +#define DEVICE_NR(device) (MINOR(device)/5) +#define DEVICE_ON(device) +#define DEVICE_OFF(device) + +#elif (MAJOR_NR > 3) +/* unknown blk device */ +#error "unknown blk device" + +#endif + +#define CURRENT (blk_dev[MAJOR_NR].current_request) +#define CURRENT_DEV DEVICE_NR(CURRENT->dev) + +#ifdef DEVICE_INTR +void (*DEVICE_INTR)(void) = NULL; +#endif +static void (DEVICE_REQUEST)(void); + +static inline void unlock_buffer(struct buffer_head * bh) +{ + if (!bh->b_lock) + printk(DEVICE_NAME ": free buffer being unlocked\n"); + bh->b_lock=0; + wake_up(&bh->b_wait); +} + +static inline void end_request(int uptodate) +{ + DEVICE_OFF(CURRENT->dev); + if (CURRENT->bh) { + CURRENT->bh->b_uptodate = uptodate; + unlock_buffer(CURRENT->bh); + } + if (!uptodate) { + printk(DEVICE_NAME " I/O error\n\r"); + printk("dev %04x, block %d\n\r",CURRENT->dev, + CURRENT->bh->b_blocknr); + } + wake_up(&CURRENT->waiting); + wake_up(&wait_for_request); + CURRENT->dev = -1; + CURRENT = CURRENT->next; +} + +#define INIT_REQUEST \ +repeat: \ + if (!CURRENT) \ + return; \ + if (MAJOR(CURRENT->dev) != MAJOR_NR) \ + panic(DEVICE_NAME ": request list destroyed"); \ + if (CURRENT->bh) { \ + if (!CURRENT->bh->b_lock) \ + panic(DEVICE_NAME ": block not locked"); \ + } + +#endif + +#endif diff --git a/linux-0.11-lab/cur/linux/kernel/blk_drv/blk_drv.a b/linux-0.11-lab/cur/linux/kernel/blk_drv/blk_drv.a new file mode 100644 index 0000000000000000000000000000000000000000..029c613816f6aa08df75c2987a2ea966da7f90df GIT binary patch literal 52196 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/kernel/blk_drv/floppy.c b/linux-0.11-lab/cur/linux/kernel/blk_drv/floppy.c new file mode 100644 index 0000000..b1a7f3a --- /dev/null +++ b/linux-0.11-lab/cur/linux/kernel/blk_drv/floppy.c @@ -0,0 +1,463 @@ +/* + * linux/kernel/floppy.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * 02.12.91 - Changed to static variables to indicate need for reset + * and recalibrate. This makes some things easier (output_byte reset + * checking etc), and means less interrupt jumping in case of errors, + * so the code is hopefully easier to understand. + */ + +/* + * This file is certainly a mess. I've tried my best to get it working, + * but I don't like programming floppies, and I have only one anyway. + * Urgel. I should check for more errors, and do more graceful error + * recovery. Seems there are problems with several drives. I've tried to + * correct them. No promises. + */ + +/* + * As with hd.c, all routines within this file can (and will) be called + * by interrupts, so extreme caution is needed. A hardware interrupt + * handler may not sleep, or a kernel panic will happen. Thus I cannot + * call "floppy-on" directly, but have to set a special timer interrupt + * etc. + * + * Also, I'm not certain this works on more than 1 floppy. Bugs may + * abund. + */ + +#include +#include +#include +#include +#include +#include +#include + +#define MAJOR_NR 2 +#include "blk.h" + +static int recalibrate = 0; +static int reset = 0; +static int seek = 0; + +extern unsigned char current_DOR; + +#define immoutb_p(val,port) \ +__asm__("outb %0,%1\n\tjmp 1f\n1:\tjmp 1f\n1:"::"a" ((char) (val)),"i" (port)) + +#define TYPE(x) ((x)>>2) +#define DRIVE(x) ((x)&0x03) +/* + * Note that MAX_ERRORS=8 doesn't imply that we retry every bad read + * max 8 times - some types of errors increase the errorcount by 2, + * so we might actually retry only 5-6 times before giving up. + */ +#define MAX_ERRORS 8 + +/* + * globals used by 'result()' + */ +#define MAX_REPLIES 7 +static unsigned char reply_buffer[MAX_REPLIES]; +#define ST0 (reply_buffer[0]) +#define ST1 (reply_buffer[1]) +#define ST2 (reply_buffer[2]) +#define ST3 (reply_buffer[3]) + +/* + * This struct defines the different floppy types. Unlike minix + * linux doesn't have a "search for right type"-type, as the code + * for that is convoluted and weird. I've got enough problems with + * this driver as it is. + * + * The 'stretch' tells if the tracks need to be boubled for some + * types (ie 360kB diskette in 1.2MB drive etc). Others should + * be self-explanatory. + */ +static struct floppy_struct { + unsigned int size, sect, head, track, stretch; + unsigned char gap,rate,spec1; +} floppy_type[] = { + { 0, 0,0, 0,0,0x00,0x00,0x00 }, /* no testing */ + { 720, 9,2,40,0,0x2A,0x02,0xDF }, /* 360kB PC diskettes */ + { 2400,15,2,80,0,0x1B,0x00,0xDF }, /* 1.2 MB AT-diskettes */ + { 720, 9,2,40,1,0x2A,0x02,0xDF }, /* 360kB in 720kB drive */ + { 1440, 9,2,80,0,0x2A,0x02,0xDF }, /* 3.5" 720kB diskette */ + { 720, 9,2,40,1,0x23,0x01,0xDF }, /* 360kB in 1.2MB drive */ + { 1440, 9,2,80,0,0x23,0x01,0xDF }, /* 720kB in 1.2MB drive */ + { 2880,18,2,80,0,0x1B,0x00,0xCF }, /* 1.44MB diskette */ +}; +/* + * Rate is 0 for 500kb/s, 2 for 300kbps, 1 for 250kbps + * Spec1 is 0xSH, where S is stepping rate (F=1ms, E=2ms, D=3ms etc), + * H is head unload time (1=16ms, 2=32ms, etc) + * + * Spec2 is (HLD<<1 | ND), where HLD is head load time (1=2ms, 2=4 ms etc) + * and ND is set means no DMA. Hardcoded to 6 (HLD=6ms, use DMA). + */ + +extern void floppy_interrupt(void); +extern char tmp_floppy_area[1024]; + +/* + * These are global variables, as that's the easiest way to give + * information to interrupts. They are the data used for the current + * request. + */ +static int cur_spec1 = -1; +static int cur_rate = -1; +static struct floppy_struct * floppy = floppy_type; +static unsigned char current_drive = 0; +static unsigned char sector = 0; +static unsigned char head = 0; +static unsigned char track = 0; +static unsigned char seek_track = 0; +static unsigned char current_track = 255; +static unsigned char command = 0; +unsigned char selected = 0; +struct task_struct * wait_on_floppy_select = NULL; + +void floppy_deselect(unsigned int nr) +{ + if (nr != (current_DOR & 3)) + printk("floppy_deselect: drive not selected\n\r"); + selected = 0; + wake_up(&wait_on_floppy_select); +} + +/* + * floppy-change is never called from an interrupt, so we can relax a bit + * here, sleep etc. Note that floppy-on tries to set current_DOR to point + * to the desired drive, but it will probably not survive the sleep if + * several floppies are used at the same time: thus the loop. + */ +int floppy_change(unsigned int nr) +{ +repeat: + floppy_on(nr); + while ((current_DOR & 3) != nr && selected) + interruptible_sleep_on(&wait_on_floppy_select); + if ((current_DOR & 3) != nr) + goto repeat; + if (inb(FD_DIR) & 0x80) { + floppy_off(nr); + return 1; + } + floppy_off(nr); + return 0; +} + +#define copy_buffer(from,to) \ +__asm__("cld ; rep ; movsl" \ + ::"c" (BLOCK_SIZE/4),"S" ((long)(from)),"D" ((long)(to)) \ + ) + +static void setup_DMA(void) +{ + long addr = (long) CURRENT->buffer; + + cli(); + if (addr >= 0x100000) { + addr = (long) tmp_floppy_area; + if (command == FD_WRITE) + copy_buffer(CURRENT->buffer,tmp_floppy_area); + } +/* mask DMA 2 */ + immoutb_p(4|2,10); +/* output command byte. I don't know why, but everyone (minix, */ +/* sanches & canton) output this twice, first to 12 then to 11 */ + __asm__("outb %%al,$12\n\tjmp 1f\n1:\tjmp 1f\n1:\t" + "outb %%al,$11\n\tjmp 1f\n1:\tjmp 1f\n1:":: + "a" ((char) ((command == FD_READ)?DMA_READ:DMA_WRITE))); +/* 8 low bits of addr */ + immoutb_p(addr,4); + addr >>= 8; +/* bits 8-15 of addr */ + immoutb_p(addr,4); + addr >>= 8; +/* bits 16-19 of addr */ + immoutb_p(addr,0x81); +/* low 8 bits of count-1 (1024-1=0x3ff) */ + immoutb_p(0xff,5); +/* high 8 bits of count-1 */ + immoutb_p(3,5); +/* activate DMA 2 */ + immoutb_p(0|2,10); + sti(); +} + +static void output_byte(char byte) +{ + int counter; + unsigned char status; + + if (reset) + return; + for(counter = 0 ; counter < 10000 ; counter++) { + status = inb_p(FD_STATUS) & (STATUS_READY | STATUS_DIR); + if (status == STATUS_READY) { + outb(byte,FD_DATA); + return; + } + } + reset = 1; + printk("Unable to send byte to FDC\n\r"); +} + +static int result(void) +{ + int i = 0, counter, status; + + if (reset) + return -1; + for (counter = 0 ; counter < 10000 ; counter++) { + status = inb_p(FD_STATUS)&(STATUS_DIR|STATUS_READY|STATUS_BUSY); + if (status == STATUS_READY) + return i; + if (status == (STATUS_DIR|STATUS_READY|STATUS_BUSY)) { + if (i >= MAX_REPLIES) + break; + reply_buffer[i++] = inb_p(FD_DATA); + } + } + reset = 1; + printk("Getstatus times out\n\r"); + return -1; +} + +static void bad_flp_intr(void) +{ + CURRENT->errors++; + if (CURRENT->errors > MAX_ERRORS) { + floppy_deselect(current_drive); + end_request(0); + } + if (CURRENT->errors > MAX_ERRORS/2) + reset = 1; + else + recalibrate = 1; +} + +/* + * Ok, this interrupt is called after a DMA read/write has succeeded, + * so we check the results, and copy any buffers. + */ +static void rw_interrupt(void) +{ + if (result() != 7 || (ST0 & 0xf8) || (ST1 & 0xbf) || (ST2 & 0x73)) { + if (ST1 & 0x02) { + printk("Drive %d is write protected\n\r",current_drive); + floppy_deselect(current_drive); + end_request(0); + } else + bad_flp_intr(); + do_fd_request(); + return; + } + if (command == FD_READ && (unsigned long)(CURRENT->buffer) >= 0x100000) + copy_buffer(tmp_floppy_area,CURRENT->buffer); + floppy_deselect(current_drive); + end_request(1); + do_fd_request(); +} + +inline void setup_rw_floppy(void) +{ + setup_DMA(); + do_floppy = rw_interrupt; + output_byte(command); + output_byte(head<<2 | current_drive); + output_byte(track); + output_byte(head); + output_byte(sector); + output_byte(2); /* sector size = 512 */ + output_byte(floppy->sect); + output_byte(floppy->gap); + output_byte(0xFF); /* sector size (0xff when n!=0 ?) */ + if (reset) + do_fd_request(); +} + +/* + * This is the routine called after every seek (or recalibrate) interrupt + * from the floppy controller. Note that the "unexpected interrupt" routine + * also does a recalibrate, but doesn't come here. + */ +static void seek_interrupt(void) +{ +/* sense drive status */ + output_byte(FD_SENSEI); + if (result() != 2 || (ST0 & 0xF8) != 0x20 || ST1 != seek_track) { + bad_flp_intr(); + do_fd_request(); + return; + } + current_track = ST1; + setup_rw_floppy(); +} + +/* + * This routine is called when everything should be correctly set up + * for the transfer (ie floppy motor is on and the correct floppy is + * selected). + */ +static void transfer(void) +{ + if (cur_spec1 != floppy->spec1) { + cur_spec1 = floppy->spec1; + output_byte(FD_SPECIFY); + output_byte(cur_spec1); /* hut etc */ + output_byte(6); /* Head load time =6ms, DMA */ + } + if (cur_rate != floppy->rate) + outb_p(cur_rate = floppy->rate,FD_DCR); + if (reset) { + do_fd_request(); + return; + } + if (!seek) { + setup_rw_floppy(); + return; + } + do_floppy = seek_interrupt; + if (seek_track) { + output_byte(FD_SEEK); + output_byte(head<<2 | current_drive); + output_byte(seek_track); + } else { + output_byte(FD_RECALIBRATE); + output_byte(head<<2 | current_drive); + } + if (reset) + do_fd_request(); +} + +/* + * Special case - used after a unexpected interrupt (or reset) + */ +static void recal_interrupt(void) +{ + output_byte(FD_SENSEI); + if (result()!=2 || (ST0 & 0xE0) == 0x60) + reset = 1; + else + recalibrate = 0; + do_fd_request(); +} + +void unexpected_floppy_interrupt(void) +{ + output_byte(FD_SENSEI); + if (result()!=2 || (ST0 & 0xE0) == 0x60) + reset = 1; + else + recalibrate = 1; +} + +static void recalibrate_floppy(void) +{ + recalibrate = 0; + current_track = 0; + current_drive = 1; /* by wyj, ?? */ + do_floppy = recal_interrupt; + output_byte(FD_RECALIBRATE); + output_byte(head<<2 | current_drive); + if (reset) + do_fd_request(); +} + +static void reset_interrupt(void) +{ + output_byte(FD_SENSEI); + (void) result(); + output_byte(FD_SPECIFY); + output_byte(cur_spec1); /* hut etc */ + output_byte(6); /* Head load time =6ms, DMA */ + do_fd_request(); +} + +/* + * reset is done by pulling bit 2 of DOR low for a while. + */ +static void reset_floppy(void) +{ + int i; + + reset = 0; + cur_spec1 = -1; + cur_rate = -1; + recalibrate = 1; + printk("Reset-floppy called\n\r"); + cli(); + do_floppy = reset_interrupt; + outb_p(current_DOR & ~0x04,FD_DOR); + for (i=0 ; i<100 ; i++) + __asm__("nop"); + outb(current_DOR,FD_DOR); + sti(); +} + +static void floppy_on_interrupt(void) +{ +/* We cannot do a floppy-select, as that might sleep. We just force it */ + selected = 1; + if (current_drive != (current_DOR & 3)) { + current_DOR &= 0xFC; + current_DOR |= current_drive; + outb(current_DOR,FD_DOR); + add_timer(2,&transfer); + } else + transfer(); +} + +void do_fd_request(void) +{ + unsigned int block; + + seek = 0; + if (reset) { + reset_floppy(); + return; + } + if (recalibrate) { + recalibrate_floppy(); + return; + } + INIT_REQUEST; + floppy = (MINOR(CURRENT->dev)>>2) + floppy_type; + if (current_drive != CURRENT_DEV) + seek = 1; + current_drive = CURRENT_DEV; + block = CURRENT->sector; + if (block+2 > floppy->size) { + end_request(0); + goto repeat; + } + sector = block % floppy->sect; + block /= floppy->sect; + head = block % floppy->head; + track = block / floppy->head; + seek_track = track << floppy->stretch; + if (seek_track != current_track) + seek = 1; + sector++; + if (CURRENT->cmd == READ) + command = FD_READ; + else if (CURRENT->cmd == WRITE) + command = FD_WRITE; + else + panic("do_fd_request: unknown command"); + add_timer(ticks_to_floppy_on(current_drive),&floppy_on_interrupt); +} + +void floppy_init(void) +{ + blk_dev[MAJOR_NR].request_fn = DEVICE_REQUEST; + set_trap_gate(0x26,&floppy_interrupt); + outb(inb_p(0x21)&~0x40,0x21); +} diff --git a/linux-0.11-lab/cur/linux/kernel/blk_drv/floppy.o b/linux-0.11-lab/cur/linux/kernel/blk_drv/floppy.o new file mode 100644 index 0000000000000000000000000000000000000000..b4871a5df233fa5926607b6a5d161d3d293fb7e5 GIT binary patch literal 16608 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 Z75swW*93X)pgzwT#192CL2G{m{}&|+x&Z(H literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/kernel/blk_drv/hd.c b/linux-0.11-lab/cur/linux/kernel/blk_drv/hd.c new file mode 100644 index 0000000..c0e908f --- /dev/null +++ b/linux-0.11-lab/cur/linux/kernel/blk_drv/hd.c @@ -0,0 +1,351 @@ +/* + * linux/kernel/hd.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * This is the low-level hd interrupt support. It traverses the + * request-list, using interrupts to jump between functions. As + * all the functions are called within interrupts, we may not + * sleep. Special care is recommended. + * + * modified by Drew Eckhardt to check nr of hd's from the CMOS. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#define MAJOR_NR 3 +#include "blk.h" + +#define CMOS_READ(addr) ({ \ +outb_p(0x80|addr,0x70); \ +inb_p(0x71); \ +}) + +/* Max read/write errors/sector */ +#define MAX_ERRORS 7 +#define MAX_HD 2 + +static void recal_intr(void); + +static int recalibrate = 0; /* 1, wen */ +static int reset = 0; + +/* + * This struct defines the HD's and their types. + */ +struct hd_i_struct { + int head,sect,cyl,wpcom,lzone,ctl; + }; +#ifdef HD_TYPE +struct hd_i_struct hd_info[] = { HD_TYPE }; +#define NR_HD ((sizeof (hd_info))/(sizeof (struct hd_i_struct))) +#else +struct hd_i_struct hd_info[] = { {0,0,0,0,0,0},{0,0,0,0,0,0} }; +static int NR_HD = 0; +#endif + +static struct hd_struct { + long start_sect; + long nr_sects; +} hd[5*MAX_HD]={{0,0},}; + +#define port_read(port,buf,nr) \ +__asm__("cld;rep;insw"::"d" (port),"D" (buf),"c" (nr)) + +#define port_write(port,buf,nr) \ +__asm__("cld;rep;outsw"::"d" (port),"S" (buf),"c" (nr)) + +extern void hd_interrupt(void); +extern void rd_load(void); + +/* This may be used only once, enforced by 'static int callable' */ +int sys_setup(void * BIOS) +{ + static int callable = 1; + int i,drive; + unsigned char cmos_disks; + struct partition *p; + struct buffer_head * bh; + + if (!callable) + return -1; + callable = 0; +#ifndef HD_TYPE + for (drive=0 ; drive<2 ; drive++) { + hd_info[drive].cyl = *(unsigned short *) BIOS; + hd_info[drive].head = *(unsigned char *) (2+BIOS); + hd_info[drive].wpcom = *(unsigned short *) (5+BIOS); + hd_info[drive].ctl = *(unsigned char *) (8+BIOS); + hd_info[drive].lzone = *(unsigned short *) (12+BIOS); + hd_info[drive].sect = *(unsigned char *) (14+BIOS); + BIOS += 16; + } + if (hd_info[1].cyl) + NR_HD=2; + else + NR_HD=1; +#endif + for (i=0 ; i are the primary drives in the system, and + the ones reflected as drive 1 or 2. + + The first drive is stored in the high nibble of CMOS + byte 0x12, the second in the low nibble. This will be + either a 4 bit drive type or 0xf indicating use byte 0x19 + for an 8 bit type, drive 1, 0x1a for drive 2 in CMOS. + + Needless to say, a non-zero value means we have + an AT controller hard disk for that drive. + + + */ + + if ((cmos_disks = CMOS_READ(0x12)) & 0xf0) + if (cmos_disks & 0x0f) + NR_HD = 2; + else + NR_HD = 1; + else + NR_HD = 0; + for (i = NR_HD ; i < 2 ; i++) { + hd[i*5].start_sect = 0; + hd[i*5].nr_sects = 0; + } + for (drive=0 ; driveb_data[510] != 0x55 || (unsigned char) + bh->b_data[511] != 0xAA) { + printk("Bad partition table on drive %d\n\r",drive); + panic(""); + } + p = 0x1BE + (void *)bh->b_data; + for (i=1;i<5;i++,p++) { + hd[i+5*drive].start_sect = p->start_sect; + hd[i+5*drive].nr_sects = p->nr_sects; + } + brelse(bh); + } + if (NR_HD) + printk("Partition table%s ok.\n\r",(NR_HD>1)?"s":""); + rd_load(); + mount_root(); + return (0); +} + +static int controller_ready(void) +{ + /* int retries=10000; */ + int retries=100000; + + /* while (--retries && (inb_p(HD_STATUS)&0xc0)!=0x40); */ + while (--retries && (inb_p(HD_STATUS)&0x80)); + return (retries); +} + +static int win_result(void) +{ + int i=inb_p(HD_STATUS); + + if ((i & (BUSY_STAT | READY_STAT | WRERR_STAT | SEEK_STAT | ERR_STAT)) + == (READY_STAT | SEEK_STAT)) + return(0); /* ok */ + if (i&1) i=inb(HD_ERROR); + return (1); +} + +static void hd_out(unsigned int drive,unsigned int nsect,unsigned int sect, + unsigned int head,unsigned int cyl,unsigned int cmd, + void (*intr_addr)(void)) +{ + register int port asm("dx"); + + if (drive>1 || head>15) + panic("Trying to write bad sector"); + if (!controller_ready()) + panic("HD controller not ready"); + do_hd = intr_addr; + outb_p(hd_info[drive].ctl,HD_CMD); + port=HD_DATA; + outb_p(hd_info[drive].wpcom>>2,++port); + outb_p(nsect,++port); + outb_p(sect,++port); + outb_p(cyl,++port); + outb_p(cyl>>8,++port); + outb_p(0xA0|(drive<<4)|head,++port); + outb(cmd,++port); +} + +static int drive_busy(void) +{ + unsigned int i; + + for (i = 0; i < 10000; i++) + if (READY_STAT == (inb_p(HD_STATUS) & (BUSY_STAT|READY_STAT))) + break; + i = inb(HD_STATUS); + i &= BUSY_STAT | READY_STAT | SEEK_STAT; + if (i == READY_STAT | SEEK_STAT) + return(0); + printk("HD controller times out\n\r"); + return(1); +} + +static void reset_controller(void) +{ + int i; + + outb(4,HD_CMD); + for(i = 0; i < 100; i++) nop(); + outb(hd_info[0].ctl & 0x0f ,HD_CMD); + if (drive_busy()) + printk("HD-controller still busy\n\r"); + if ((i = inb(HD_ERROR)) != 1) + printk("HD-controller reset failed: %02x\n\r",i); +} + +static void reset_hd(int nr) +{ + reset_controller(); + hd_out(nr,hd_info[nr].sect,hd_info[nr].sect,hd_info[nr].head-1, + hd_info[nr].cyl,WIN_SPECIFY,&recal_intr); +} + +void unexpected_hd_interrupt(void) +{ + printk("Unexpected HD interrupt\n\r"); +} + +static void bad_rw_intr(void) +{ + if (++CURRENT->errors >= MAX_ERRORS) + end_request(0); + if (CURRENT->errors > MAX_ERRORS/2) + reset = 1; +} + +static void read_intr(void) +{ + if (win_result()) { + bad_rw_intr(); + do_hd_request(); + return; + } + port_read(HD_DATA,CURRENT->buffer,256); + CURRENT->errors = 0; + CURRENT->buffer += 512; + CURRENT->sector++; + if (--CURRENT->nr_sectors) { + do_hd = &read_intr; + return; + } + end_request(1); + do_hd_request(); +} + +static void write_intr(void) +{ + if (win_result()) { + bad_rw_intr(); + do_hd_request(); + return; + } + if (--CURRENT->nr_sectors) { + CURRENT->sector++; + CURRENT->buffer += 512; + do_hd = &write_intr; + port_write(HD_DATA,CURRENT->buffer,256); + return; + } + end_request(1); + do_hd_request(); +} + +static void recal_intr(void) +{ + if (win_result()) + bad_rw_intr(); + do_hd_request(); +} + +void do_hd_request(void) +{ + int i,r; + unsigned int block,dev; + unsigned int sec,head,cyl; + unsigned int nsect; + + INIT_REQUEST; + dev = MINOR(CURRENT->dev); + block = CURRENT->sector; + if (dev >= 5*NR_HD || block+2 > hd[dev].nr_sects) { + end_request(0); + goto repeat; + } + block += hd[dev].start_sect; + dev /= 5; + __asm__("divl %4":"=a" (block),"=d" (sec):"0" (block),"1" (0), + "r" (hd_info[dev].sect)); + __asm__("divl %4":"=a" (cyl),"=d" (head):"0" (block),"1" (0), + "r" (hd_info[dev].head)); + sec++; + nsect = CURRENT->nr_sectors; + if (reset) { + reset = 0; + recalibrate = 1; + reset_hd(CURRENT_DEV); + return; + } + if (recalibrate) { + recalibrate = 0; + hd_out(dev,hd_info[CURRENT_DEV].sect,0,0,0, + WIN_RESTORE,&recal_intr); + return; + } + if (CURRENT->cmd == WRITE) { + hd_out(dev,nsect,sec,head,cyl,WIN_WRITE,&write_intr); + for(i=0 ; i<3000 && !(r=inb_p(HD_STATUS)&DRQ_STAT) ; i++) + /* nothing */ ; + if (!r) { + bad_rw_intr(); + goto repeat; + } + port_write(HD_DATA,CURRENT->buffer,256); + } else if (CURRENT->cmd == READ) { + hd_out(dev,nsect,sec,head,cyl,WIN_READ,&read_intr); + } else + panic("unknown hd-command"); +} + +void hd_init(void) +{ + blk_dev[MAJOR_NR].request_fn = DEVICE_REQUEST; + set_intr_gate(0x2E,&hd_interrupt); + outb_p(inb_p(0x21)&0xfb,0x21); + outb(inb_p(0xA1)&0xbf,0xA1); +} diff --git a/linux-0.11-lab/cur/linux/kernel/blk_drv/hd.o b/linux-0.11-lab/cur/linux/kernel/blk_drv/hd.o new file mode 100644 index 0000000000000000000000000000000000000000..5ac5783d7fdc4d39f17d41386cc27f187ee31410 GIT binary patch literal 15516 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/kernel/blk_drv/ll_rw_blk.c b/linux-0.11-lab/cur/linux/kernel/blk_drv/ll_rw_blk.c new file mode 100644 index 0000000..f57d998 --- /dev/null +++ b/linux-0.11-lab/cur/linux/kernel/blk_drv/ll_rw_blk.c @@ -0,0 +1,165 @@ +/* + * linux/kernel/blk_dev/ll_rw.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * This handles all read/write requests to block devices + */ +#include +#include +#include +#include + +#include "blk.h" + +/* + * The request-struct contains all necessary data + * to load a nr of sectors into memory + */ +struct request request[NR_REQUEST]; + +/* + * used to wait on when there are no free requests + */ +struct task_struct * wait_for_request = NULL; + +/* blk_dev_struct is: + * do_request-address + * next-request + */ +struct blk_dev_struct blk_dev[NR_BLK_DEV] = { + { NULL, NULL }, /* no_dev */ + { NULL, NULL }, /* dev mem */ + { NULL, NULL }, /* dev fd */ + { NULL, NULL }, /* dev hd */ + { NULL, NULL }, /* dev ttyx */ + { NULL, NULL }, /* dev tty */ + { NULL, NULL } /* dev lp */ +}; + +static inline void lock_buffer(struct buffer_head * bh) +{ + cli(); + while (bh->b_lock) + sleep_on(&bh->b_wait); + bh->b_lock=1; + sti(); +} + +static inline void unlock_buffer(struct buffer_head * bh) +{ + if (!bh->b_lock) + printk("ll_rw_block.c: buffer not locked\n\r"); + bh->b_lock = 0; + wake_up(&bh->b_wait); +} + +/* + * add-request adds a request to the linked list. + * It disables interrupts so that it can muck with the + * request-lists in peace. + */ +static void add_request(struct blk_dev_struct * dev, struct request * req) +{ + struct request * tmp; + + req->next = NULL; + cli(); + if (req->bh) + req->bh->b_dirt = 0; + if (!(tmp = dev->current_request)) { + dev->current_request = req; + sti(); + (dev->request_fn)(); + return; + } + for ( ; tmp->next ; tmp=tmp->next) + if ((IN_ORDER(tmp,req) || + !IN_ORDER(tmp,tmp->next)) && + IN_ORDER(req,tmp->next)) + break; + req->next=tmp->next; + tmp->next=req; + sti(); +} + +static void make_request(int major,int rw, struct buffer_head * bh) +{ + struct request * req; + int rw_ahead; + +/* WRITEA/READA is special case - it is not really needed, so if the */ +/* buffer is locked, we just forget about it, else it's a normal read */ + if (rw_ahead = (rw == READA || rw == WRITEA)) { + if (bh->b_lock) + return; + if (rw == READA) + rw = READ; + else + rw = WRITE; + } + if (rw!=READ && rw!=WRITE) + panic("Bad block dev command, must be R/W/RA/WA"); + lock_buffer(bh); + if ((rw == WRITE && !bh->b_dirt) || (rw == READ && bh->b_uptodate)) { + unlock_buffer(bh); + return; + } +repeat: +/* we don't allow the write-requests to fill up the queue completely: + * we want some room for reads: they take precedence. The last third + * of the requests are only for reads. + */ + if (rw == READ) + req = request+NR_REQUEST; + else + req = request+((NR_REQUEST*2)/3); +/* find an empty request */ + while (--req >= request) + if (req->dev<0) + break; +/* if none found, sleep on new requests: check for rw_ahead */ + if (req < request) { + if (rw_ahead) { + unlock_buffer(bh); + return; + } + sleep_on(&wait_for_request); + goto repeat; + } +/* fill up the request-info, and add it to the queue */ + req->dev = bh->b_dev; + req->cmd = rw; + req->errors=0; + req->sector = bh->b_blocknr<<1; + req->nr_sectors = 2; + req->buffer = bh->b_data; + req->waiting = NULL; + req->bh = bh; + req->next = NULL; + add_request(major+blk_dev,req); +} + +void ll_rw_block(int rw, struct buffer_head * bh) +{ + unsigned int major; + + if ((major=MAJOR(bh->b_dev)) >= NR_BLK_DEV || + !(blk_dev[major].request_fn)) { + printk("Trying to read nonexistent block-device\n\r"); + return; + } + make_request(major,rw,bh); +} + +void blk_dev_init(void) +{ + int i; + + for (i=0 ; iyDaKc3p#}SV1wB%9hEJY|2#3X1BCp*~FOaZY5%zeBZg} zHjVBdxy9V?`#sL@obx-sd-~kVL$_{Nt!bJFFHIQYq9nw_mj#wV3G>A)F++_1s{7;f zt%p`66XPe^Cd}m7Po}1(D1Lc(`hgSv2c&NePuDJtpXxpd=ZmKJX*0<{^%igwG&cmg z*eH2=I6?1^;gLKv+bQARYYUowh`7?r6ap^Q1zwr&H9B3Fl zerPy>ak1&EVN=;{-QX{mZj2{&vYW%9Z=>3u6~tvvL34IyLrMlysmI*E>vt&qrBc}# zasP_XsbnXJcWEbc;K%69uc8M}v>yDyr*f^4$piyUNQehnPpB2|#d-|to<%Tx>xV3; z^G!d*T_9Q~)Sbe+2F-_L#duBUM&KeF`LWZhlCs#&N6FZf2H|xOG>;|38VXBjXaWVe z>wl-Fq}gYIAZqi06W$Ej&S&{S6N9Fml>R&6f9}^|XxV4?!zKnf8+~^FS_k8tyAO$j zC-&;+TgOYu?&Kr;lig?{-1qD3YIK3A)Z?}??os$O*7^Bo*zKX=XzMHQFz5uAqZ=6; zM4ghJ9*#0@;ALtjCf<;4ay?*d!*BwlY&fxLX3(fpHDaitiA|g*yc0@0@S~p@haV4J zkalxoX7cQ}@TiWT>cvyp3->_`s_>(;7}yCobYn8zkv)8{yAPRfvgyGSeha3u2~_6$ zyzE2{eM>S59GKXGz{seDvIqjVA%$@^KED_a@ridZ5DhoIiOSOgd&Sge3<+tVc?xYY zjQEugo*X~bc2bB^Dede@XG_)GXezfPk@X7&+euWaUVZ4gr4phAdUfko)^Aw+d^HNeOSy@^B^S;b6Yn${<%VZdQ5BjCqU zYPt^4WHuEmo-lQ5E^S)07tteCS`v37jHyL_42}MESd+%8t6{KaF#N5g!a9$;v6?-a z7Bg>y+poY0A00N_u_7BT#Wln z>nG&5lXqGv`rJX@ZRHqe6L~^J%`YLwv|)7lnql6~Al6l|o0~WTVJ(5e{DPc~l|~G6 zGkMhd2K8Sgk6V93{gywEp#Ru+$nT`SO^=OJ*qVhfQ;%(-u#L0r)MKyLg>F5z47$LQ z(3`W)s1lNT3DTNh!Y(J(S2&?qwopigKZmad!cNstmYxUTZ3@wHAdhBXi?%{AY=&>?~ zb1#KWdhBCbq_9PgUB%E+*rvxWt6T2TV;|Oq`}Non2Dp!%=JjUJ+bhibvk*q~*cdGt zT1v>l9*iyfC}P(1*kcTxqu}YWuW~+l3S)ZA=Rj@ddcPjq$bJf^usjdz&80jFcH~_M z@1P&o73QuY9_+I^Dxnu4qUHoz#o65kw41&WBr5dF5qHSAcNxI?If5HE(T34X0ks*&-v*@1<%Jv>;j9gH*KcGH;6Fgh2M;NET>PuKQeRi^K()tBs zj*!o{M(AH;U%l4TjK7OKW%aV{DEWXjo4myM3$3&CDU&a zs#Rg8$Y+8>-%s9Yy@~kd0K<2SI8`hfSsWcg{}eMiV=m$bU>&F9AU&{mKyO}8ZW^vT zAk4+&QENH%H;~7nUm(mO@;1w*=Z)kupCFGq(&RHbPrR3d)&4J%Up0M6xoMq%m z!_JHe^Jen-hMfy}uVLpyK493{kPjNRi#W^aKLkDaF!@c;7lnBX`7qjouOMFqy)ajj zt~HphRiqm*N@3ngy2;3ct|r}L6hPOIZZmd*t|h(4kWbz^^82kja5vYJ=dCVg?6zNF z6-Pw;DFB~Tnc6Ew{0un%RH~yUpTPK4X!y%es|!5}WzxDVYhlIl`zNfjznni#Gp+B?{|Y{lokn&h~ptNC5;&rm49XNQ+;Ec6lQiPe|*bmSJZS^B&hll51TMVheUxh)t&v_r<gZXqns6uFZ(F;nh*^(2SPm<|WNbo3##9)O2A)DXi-lYR0-IMRW7bXn+uk zB79`FFj@j96aZQ%fi0q~Xt55FrpdrfVPKrs>TcLsnj89o7}vCQ9qfO4k672yk2o!} zw0T|Bv^GJ5+MOllp$^+q7%pSZ>*5TCJD*%3y=FAk$F1Yo-7$EHI1^SiMq06`jpFQ> z68XDvSxQ^p^*g)h{JiCfF8VrJ9R}a2&xIegr4y6pBxXf*YWl8?lwj+gr1# z#rWLf&Pt{PjuOe1MnUA&B!_NXt1av47rLqa;>GcvjmsvFkH5cp`DD-JWVC0pXMD$Y znj+C{06n6w#m|JPPmN0{x}LUZf%k|$pC)bUHYr8dNA#twl7268?x&MI8&^QkBOX<} z8N8X>B9oKb{bL8Hjd&6N`0;?@u78izi%cF*`;Yb>=zor4@7d@4<2#No_%AuSznTOb z-?*HXD2JrIu;KVXbW&<`HqfP7k3LLeWPM~zH?at=mvOu_?zvHsO>^79J>zAV9EvbG ze$Eql+s%a>FFzUPTiBI+;Ou77g;EAT44#w8+39T2D`#q=n66+kM_rJNS1jAYmv{V3 zEfjt^+7Hor#r+!PHP{Fws}eIJuE!#YIDl z!E>d2qHkxSuTU))y}p8zDcgOuDqddjF4k8lvTM7q;8${9v08DVs#N>rJo{=+)w6S6 z)oFZ_!ysMT9tD)EKHh-P%MH{O_t^r?JR5_>OB!E}3UJBWFxHAS8~Mt~1~!l41(gT3 z4%3xQb0+D6W80!yD5O0Wp=)~}doo2Bs!kd^uy4Dbu*dA2?`5(j#8nGWtP}%Byd#QC zK416EV$IS_Fvgd5Ye>BCE39ujuZ9^6te8d$ko|1%%35)R?KoA(4JLF+6RdsF!Q9h) zUvNjNj+gk1z2=}M;2g9Q}*3w%j1?xl+}& z)746v)5V;T1nJFW^H~)x`w!|OEh|mF2iwr4nKDG%hnHkof3l$+R39dvk;^SqKGTH? zeC2Anw(Fu0L^(5R*Heg>g>aSpN@FqRT$wVom6$1Iobtu&=0-A(kjX{C7K&J`Lb`^N zC1_1l9263(%f)D!F3~?yE!+JSKkxNd-C%#~8%Ql!&{xW2`v(F=|ETR$>{7p6b!Rt5 zUGd9mw-U9TPEFV{CqYqQel53kZcID?R-F!L8TBV;rUsu}1Kfqr_fO3tly-h75-1 zA|FtfGrREA6;xO^=t{1rQ>}VJtXa8oNn-w;Sv-J#@X+@y^rf`m!3Beyq)!TB58#xTqMtAv#hKJYsSe`cH%_epyCb~Hb7q@ z#m`VE7m>oZDm#U(HP{e?HueafYiyzz{QvX15`Ih>4rTIUes^8`^_Mmp=Hd^Bw))j} zxe$*-!Wl>UunEpsg0BFKC(nAoZ#2Y$SdVudIQ>JvWANKX2X!SB4geW1IF<-OzkSL^ z2*ck5PQUP)gX7u4h5?7RAviRs#WBod2thax=78}yuC@3J+klD0r zUZz1^;SipM+&GW_=n2Nkc`!d=UNG!>t$>O%i1z}Cy25@N`=sgZIp`NkKGXch$#{&* zKEv7r6=T?No+eRO7%!AVY}A|Lqp46&y!3y#C^z;%*%Z@N1MX|O%#c#Z_DzB>t+a7} zqkSGQ+}9{Cf*kH;pKl*N#c;x9$chMfAU9^3c2>&8%czeo&=~^7*Kip!a~BncXc5B@ z6Zm@=iES7EImPFO7xUbXJ6|#r_~Ua&IRgwYuEVZS08)P7GcxNpyl8(2f8l;T1Nk@v zIoziy*N=nzVQV}MTzWQWJcC_wnh1YGKX*k^Y`cbY506C^ZxqKroJIVasAVce z^my^V6)rvev3_+tQ#S)OEYnKLsA29OI$mfW!Gl8mqd>lk{R3qb?9UWlP{>ze>iLzI z@0r&D8TSRsDDn>!endpP-_nkLxW}>G7ZkEmG%P>A?`zoGI6fjmNn{;r=(C52qP<$_ z*D2hjaI3=m6qXda3da;4RLJk+?B_{^-&FXb!oN`XmcqYN_@2UFD*UZN9ZSx5Eehu- z>{GZz;cA7O72c+UtjQ^p+PZY|JRnYU}I_=vP+6o^~`1=Yc6#kLI=M_#W zd{yC_3jbE&KPx<^@HYxI)))GnuCPlX|GR+m_p{sDOvOlEcgGzo; z$*(Issq`Nz`2rF9M;m@3*iSbR`$dnE`-s?YkOrZ}g1wsKI7S(m0O~;Q^F;0sMD7Q~ J#}pn@_ + +#include +#include +#include +#include +#include +#include +#include + +#define MAJOR_NR 1 +#include "blk.h" + +char *rd_start; +int rd_length = 0; + +void do_rd_request(void) +{ + int len; + char *addr; + + INIT_REQUEST; + addr = rd_start + (CURRENT->sector << 9); + len = CURRENT->nr_sectors << 9; + if ((MINOR(CURRENT->dev) != 1) || (addr+len > rd_start+rd_length)) { + end_request(0); + goto repeat; + } + if (CURRENT-> cmd == WRITE) { + (void ) memcpy(addr, + CURRENT->buffer, + len); + } else if (CURRENT->cmd == READ) { + (void) memcpy(CURRENT->buffer, + addr, + len); + } else + panic("unknown ramdisk-command"); + end_request(1); + goto repeat; +} + +/* + * Returns amount of memory which needs to be reserved. + */ +long rd_init(long mem_start, int length) +{ + int i; + char *cp; + + blk_dev[MAJOR_NR].request_fn = DEVICE_REQUEST; + rd_start = (char *) mem_start; + rd_length = length; + cp = rd_start; + for (i=0; i < length; i++) + *cp++ = '\0'; + return(length); +} + +/* + * If the root device is the ram disk, try to load it. + * In order to do this, the root device is originally set to the + * floppy, and we later change it to be ram disk. + */ +void rd_load(void) +{ + struct buffer_head *bh; + struct super_block s; + int block = 256; /* Start at block 256 */ + int i = 1; + int nblocks; + char *cp; /* Move pointer */ + + if (!rd_length) + return; + printk("Ram disk: %d bytes, starting at 0x%x\n", rd_length, + (int) rd_start); + if (MAJOR(ROOT_DEV) != 2) + return; + bh = breada(ROOT_DEV,block+1,block,block+2,-1); + if (!bh) { + printk("Disk error while looking for ramdisk!\n"); + return; + } + __asm__ volatile ("cld"); /* by wyj */ + *((struct d_super_block *) &s) = *((struct d_super_block *) bh->b_data); + brelse(bh); + if (s.s_magic != SUPER_MAGIC) + /* No ram disk image present, assume normal floppy boot */ + return; + nblocks = s.s_nzones << s.s_log_zone_size; + if (nblocks > (rd_length >> BLOCK_SIZE_BITS)) { + printk("Ram disk image too big! (%d blocks, %d avail)\n", + nblocks, rd_length >> BLOCK_SIZE_BITS); + return; + } + printk("Loading %d bytes into ram disk... 0000k", + nblocks << BLOCK_SIZE_BITS); + cp = rd_start; + while (nblocks) { + if (nblocks > 2) + bh = breada(ROOT_DEV, block, block+1, block+2, -1); + else + bh = bread(ROOT_DEV, block); + if (!bh) { + printk("I/O error on block %d, aborting load\n", + block); + return; + } + (void) memcpy(cp, bh->b_data, BLOCK_SIZE); + brelse(bh); + printk("\010\010\010\010\010%4dk",i); + cp += BLOCK_SIZE; + block++; + nblocks--; + i++; + } + printk("\010\010\010\010\010done \n"); + ROOT_DEV=0x0101; +} diff --git a/linux-0.11-lab/cur/linux/kernel/blk_drv/ramdisk.o b/linux-0.11-lab/cur/linux/kernel/blk_drv/ramdisk.o new file mode 100644 index 0000000000000000000000000000000000000000..1abb642d433cbe4b629bcf8510bd6c4e6d3dfec6 GIT binary patch literal 10660 zcma)Bdw3kxb-yz^t65fSS+-UnV;PTAIS8;;vJu7@1Ab#0`B7sYb{y9Gn3Wdoi=A0p z_GcbO<{^X=ObCwvbzDM1NE}j1n*^ne9UL5z{NXeZntpAXq_`grG;SM`LPBwWznL@A z+Wq={oliTzbIv{YoO91TbLY<0oh$lQYMQ2kOH&~=!726jbibw7gHF||rmEq0+eepo zSPv|owD)i=cFgEt+uI+WK7E?vR~JuG#NoruBSwcO9zNRs3OXH(L2q<%`#p!weZOq$bon{@^)nSea+=KH=NvgBpN`+aZTM)%ElEsj^RaLQ4X@)zx6c4cw0Xoqa8aWP^pN9!A!XxiTuk_j5I|Bg|47=0;$*18x zklxr&Uaxt>W!sToM5UQiIguKee+tbf4M;I8s_J*F7|+ajjy9Z?qrQ$9lQWU0vvc&$ z%!9C{{%?ixB({q;iLWn+@8l!w@5hHQANM&A9`W-#^;^oou>JamCX+s%T)$$(Xf-gp z$G69Rr~N`W{h&8$a4Z_hftq~JZ&2sR=I)^9G0vpoV!7ui%kvX>0;;KEHt!5Bv~pG3 zw$im+&aPT%J74OzYNbLsGiYa{N|dbC-Rmv8S}j+jlT_B;Zq4rL9hzgMsbs)8lD$bD-D*)J4%)~>&ldi#Z)N^n;TO_%MWsP z)=KYmZD)?qNwUCr?NB?c(?K;w@iaxREb2w>cKUr#?xb!OXFFY zW2Mq%Khy&3L{)^>?B494Pi4y`+ls0mBQDG+E<<|(cP)o$YVsv2=1m;x+Au$YICM1> zA|YcfwNok-CZUY9PzLoDVVwY+8zO|4qF2}mBW|VZW{GWDqt*B7r?&J*MobrX~Lngc0TC1IYN3J={9o@_1BYbH=m%L4WumJVE_2`$#+|1Fo>Cu%`^O$x$x&|_zvGm4tbx@cNJ$mkVOQ+sg$!Aq~GfmIY zqoZu`m>xZP1B3CHUOhTY(;l-xk3KZsvPf^N(ZCkwc(EQ$agZLfRF9T0e4kmaH}+HQ z6I5HNN4L;`$E?z$Gilmm*67jiklD&``t;~7hVw}>8}#UR*~eox>CyMbnVa?K7ud&Z z*{VmsG2XIGk3LKTx6o-;Z*<+AD!h$(8_=WouqDNo0&=hev8C@t&x#)1!>BW4Ts`_d zjwefINRR%Kxwe_>-Fo!D=rs3nOwV0v5k+GFX_nMug%cL(er;)CZo^Spc?cYZFaus?Dp)?yV^J!j3 zr5YV5^B&UMN$X}KJM18BnCm%!A*x5rlN{L29gxS6Po^4-U-^1De#&F_;QW^Q8UDcamid9!&A?#8`z6*sq0 zejn*xvzhYysk6!Kr_B+Dd$Y;6nehPWt)@x+QQF*QeueadoRh5SP=6nDGhp68zn>zV zH&;>qY0|f<7*`b5q*pYi3LS(vZan-Oi2Ol+hR&7AoAC%~-Sh_iS<;5-4f;{iGU&%h z%b*`8ErWidZqT2jyjeAT1*0&{*SW3>b+phNF|GxK_HhQoonxSl44=Y___Qm-A$>7v!*EGoLONpP z@)Z@HLpo;UGI-9qNH-g~a#@8Fq~o9=?)}he z#G1dPVlOq6xerqjzKpbCI8KiW&nF!*AEx|r(lN;As_+8R&E{RWhp!+VhkTw2FC^V& zWU7~{@Rg+74V!^4B5j%L;WvC0=?=qA4XN`o#jMh%kv7cBkaX>Q(h>6r>FIu%euyM$?WCK{FT;*D zgRlR%`7_+L3;2As8R-F~&E)gbZgT6bS@dLa^#F#tX;bSu1={SVwFHY*nJ%q$dqJrw zkFvprSY3vn_SDpKl$uJrHtp*Bm6|e%9*b-~;Hk`qN{h`Slnoo{M@X8U|P+uFo& zuJyTXo|ARHldWwfbh>zaG_F6In=yR{&=6_Ss5j#{ZpN$ZANv8O?kU9KRat|Y@fg&! zc@IJ|<0WWmy)1(ZenN+F_6>uAppipqr3GK0v?T^U&U*8XK>M z2;*tdLQRd03mdO&)LP(sk_tu0tZrG*2os`+P#Vrvp(eitWdt>0s1}(Fd#lm?9M4)f zu!fJ3aW#b1SZ5q;Ow(4k(CMUEYIRFD>@>A%7fz#Oau^a6f2+E18j3K17-{puX&k}g zwnvwGT2sU0!Rl?8d$1A|*?8|6t*v0|TF;FNI|ZpbuMtU_+Ca~3K8YgZn3Os{pgm_y3she|mk}8IiS%v+(McYo;y25N1qx_XQW!3m7iea7+w-m;~?6Tky?6dMg6e z)zhFf?T<~9aQ9B!SPF?mH~#XaOre&wy9@bJZAhIdb9OpsN|Z_$1``7`EZ=&G44DBt zm4z5qbB>QrX22GayR%|biZGpge<@V}jjF?ECBDpj8a3k$B6LD&R~;G~KC$-du@mpr zzP%^%!{3e_dd<*7Pu{s^D?W#`hKF$1ZzlN`sh3H;+z>es=|4fT;jM;8a{vB#)F5xzJGJ%Utim-FKan4wq;i2(237)j*LZG z^goGji99^E`GCG69(nUXWMGSaam$HF|Djrqy+ai@H1(%r2lObi=_E_L@EPbRCy7te z3V^G&_lcXtJu|4%o&@)ln_~LNqN!TTxcCxxG68Luvc8U!O6CeFyl&iTDq|?LygOcg^Hi;vat2i{>;>FI<<;jO?n^4>e_WT zSj(*5#DYYx)m2PYGXq!UFI_Mnbf%ECy85lIT)CKcyKu$x0Ok<&6`?(4%mh3*S5oLHAn4@5s23QRKH$&6lfreE8-4 zQuU|KLCFlsv?O<-;QZhnl_``R8^I)*B$X{Qv|x_yAtcf>>Lk4(m;56bqRh25Fs>O+E%nYQeELne=z3IdgmBWD)s z-cnHAj!~3qML#dHKB`K8wW4gM&R_SmUTuY zlT3+Q#xmrc4|3AI3iIm0Pm6y~VPsfDumS7G(h?(EbvSkac&KuHLVru^K)-|u@adYpO+nea=y~vmHWfkWQm$qx8 z(soC*=`q8&AFnRT`8wsrt*ctrWZi~yJj#1T#_cTS`jbsYC&)hhUdNAHShb`na-Y7W zDRysYSyN9ap*6*pyxJ65a!hOtK_%FC!bV)**ksV|L-+-o$T}NKnwp1=l}(4W&;h-v zdC4nv*3cp0>?~r%0%CeS90;hYT}ZfG`V-zOCy~adO`^&LBn3oc)=t;@k?33*DjuCm zr&+#rt*L6N)Q_2~6Y&iYbbv3F;4v@iP$h5_Y$xz)@m~mjAA1065?&&R_5XQs)6O*V zi-Q+)Q@@pA8?Wj3VbeZ-y)=u5Vc5w*LLF{|u=P~4h4*&2pciBJSbqifE`gBx^?DPV zsfmqM4|Lea-){N#SU15H^jQQ!omhPz19}4+@ZbvC7C=xx4*oN98)D=*n1f&(t3U^R zK&q#wDD_;OARxD#rMCixEOwA9(BpScz2EFb*fT>$zmx}li=cx(Ae9Y;ZFPcx%%iQ| zo(p@-C+%S`JZ^6%X!cl@RzRvnD9EpnkSp+8?~_eEDDYoE zh+!+*pgr29&!F}|s^(epA2%|%0((9;aj%yf>OW3Tw9sCCEBSg4&Vw%q4B5ImxjCwn9vBFky-j@WlUTlHEDtY6;hMW;+d(5 zE2Ns#r4y`|$AxF{OV8rhoW=9ZhFRcmiu%vfS!wrqLzRRl(7TIYuzpX)_;-WfhN9xf zKl#1jgNypC&)_2eNWcKeKY12kx63_q|5CrLK63+xyfJ5)8EJo9+Px1|v_D54cD?_n#g%$V_-|1k?MDTFB=`@4Zwr1v zgx`;VI?gUaC|CBIENBtYJ{!pPOUSq48I|@Wf*S+}rM*JL;2#wE7X`-zj|u*o2>Yji zv_Ba&LjU|XgN9!_5&n40PJ0&%&;Op0|FrOr3jZt-_MQhak1vqNI`)R(`;=oHYQ|$u zy;dOg`0p(1A>nV{<+}S1YZ_>Rq*cwe=hiI!QTt&oNw4~54+?%wkpB{5zh4QS68uo`9M%om*9vYHv;}Vyyj^fa@UwzmeWL#%;lCxw`lQ_- z3;vTJ{}V>}?*uj07x+nn(*$P=&K0~`aE;)Nf@wh>ztYYw!F_^H2tF(L7lMBy_?qAw zg1;2}H^C1C!+3URe~RD?!HWbh6I>#=R&cYREqJ%!rvyJI_(j1N1^-s?2ZBEp{FUG- z!9NH#-~nZPQw1*&yjXC(;0uC368w9?w*)^FjN^ZDw6|RFBf)6Im#-DPP4ITX5y8(2 z9u)kh;131g6#N&#e;52c5w+QZ%@+MnBZBV~{&K;qM7~A%0l|{U9l^Uq{%PSK7yfy{ zmqh-G@IMy(K=8D*cVg{hJWB;XNkm*Z;kOIkE%>zHbAo><_#Gk^&7;B}Ct|%v+LZ=h b+;7nC^MV#o2hVR1BG*wO_cTQARfzus7wvEC literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/kernel/chr_drv/Makefile b/linux-0.11-lab/cur/linux/kernel/chr_drv/Makefile new file mode 100644 index 0000000..9d4d8d1 --- /dev/null +++ b/linux-0.11-lab/cur/linux/kernel/chr_drv/Makefile @@ -0,0 +1,68 @@ +# +# Makefile for the FREAX-kernel character device drivers. +# +# Note! Dependencies are done automagically by 'make dep', which also +# removes any old dependencies. DON'T put your own dependencies here +# unless it's something special (ie not a .c file). +# + +AR =ar +AS =as +LD =ld +LDFLAGS =-s -x +CC =gcc -march=i386 +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -mcld \ + -finline-functions -nostdinc -fno-stack-protector -I../../include +CPP =gcc -E -nostdinc -I../../include + +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< +.s.o: + $(AS) -o $*.o $< +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< + +OBJS = tty_io.o console.o keyboard.2.o serial.o rs_io.o \ + tty_ioctl.o + +chr_drv.a: $(OBJS) + $(AR) rcs chr_drv.a $(OBJS) + sync + +keyboard.2.s: keyboard.S ../../include/linux/config.h + $(CPP) -traditional keyboard.S -o keyboard.2.s + +clean: + rm -f core *.o *.a tmp_make keyboard.2.s + for i in *.c;do rm -f `basename $$i .c`.s;done + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +console.s console.o : console.c ../../include/linux/sched.h \ + ../../include/linux/head.h ../../include/linux/fs.h \ + ../../include/sys/types.h ../../include/linux/mm.h ../../include/signal.h \ + ../../include/linux/tty.h ../../include/termios.h ../../include/asm/io.h \ + ../../include/asm/system.h +serial.s serial.o : serial.c ../../include/linux/tty.h ../../include/termios.h \ + ../../include/linux/sched.h ../../include/linux/head.h \ + ../../include/linux/fs.h ../../include/sys/types.h ../../include/linux/mm.h \ + ../../include/signal.h ../../include/asm/system.h ../../include/asm/io.h +tty_io.s tty_io.o : tty_io.c ../../include/ctype.h ../../include/errno.h \ + ../../include/signal.h ../../include/sys/types.h \ + ../../include/linux/sched.h ../../include/linux/head.h \ + ../../include/linux/fs.h ../../include/linux/mm.h ../../include/linux/tty.h \ + ../../include/termios.h ../../include/asm/segment.h \ + ../../include/asm/system.h +tty_ioctl.s tty_ioctl.o : tty_ioctl.c ../../include/errno.h ../../include/termios.h \ + ../../include/linux/sched.h ../../include/linux/head.h \ + ../../include/linux/fs.h ../../include/sys/types.h ../../include/linux/mm.h \ + ../../include/signal.h ../../include/linux/kernel.h \ + ../../include/linux/tty.h ../../include/asm/io.h \ + ../../include/asm/segment.h ../../include/asm/system.h diff --git a/linux-0.11-lab/cur/linux/kernel/chr_drv/chr_drv.a b/linux-0.11-lab/cur/linux/kernel/chr_drv/chr_drv.a new file mode 100644 index 0000000000000000000000000000000000000000..8f9e7e9e6efb5f34c78d20517de1327d95899608 GIT binary patch literal 68886 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/kernel/chr_drv/console.c b/linux-0.11-lab/cur/linux/kernel/chr_drv/console.c new file mode 100644 index 0000000..a12ffbf --- /dev/null +++ b/linux-0.11-lab/cur/linux/kernel/chr_drv/console.c @@ -0,0 +1,710 @@ +/* + * linux/kernel/console.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * console.c + * + * This module implements the console io functions + * 'void con_init(void)' + * 'void con_write(struct tty_queue * queue)' + * Hopefully this will be a rather complete VT102 implementation. + * + * Beeping thanks to John T Kohl. + */ + +/* + * NOTE!!! We sometimes disable and enable interrupts for a short while + * (to put a word in video IO), but this will work even for keyboard + * interrupts. We know interrupts aren't enabled when getting a keyboard + * interrupt, as we use trap-gates. Hopefully all is well. + */ + +/* + * Code to check for different video-cards mostly by Galen Hunt, + * + */ + +#include +#include +#include +#include + +/* + * These are set up by the setup-routine at boot-time: + */ + +#define ORIG_X (*(unsigned char *)0x90000) +#define ORIG_Y (*(unsigned char *)0x90001) +#define ORIG_VIDEO_PAGE (*(unsigned short *)0x90004) +#define ORIG_VIDEO_MODE ((*(unsigned short *)0x90006) & 0xff) +#define ORIG_VIDEO_COLS (((*(unsigned short *)0x90006) & 0xff00) >> 8) +#define ORIG_VIDEO_LINES (25) +#define ORIG_VIDEO_EGA_AX (*(unsigned short *)0x90008) +#define ORIG_VIDEO_EGA_BX (*(unsigned short *)0x9000a) +#define ORIG_VIDEO_EGA_CX (*(unsigned short *)0x9000c) + +#define VIDEO_TYPE_MDA 0x10 /* Monochrome Text Display */ +#define VIDEO_TYPE_CGA 0x11 /* CGA Display */ +#define VIDEO_TYPE_EGAM 0x20 /* EGA/VGA in Monochrome Mode */ +#define VIDEO_TYPE_EGAC 0x21 /* EGA/VGA in Color Mode */ + +#define NPAR 16 + +extern void keyboard_interrupt(void); + +static unsigned char video_type; /* Type of display being used */ +static unsigned long video_num_columns; /* Number of text columns */ +static unsigned long video_size_row; /* Bytes per row */ +static unsigned long video_num_lines; /* Number of test lines */ +static unsigned char video_page; /* Initial video page */ +static unsigned long video_mem_start; /* Start of video RAM */ +static unsigned long video_mem_end; /* End of video RAM (sort of) */ +static unsigned short video_port_reg; /* Video register select port */ +static unsigned short video_port_val; /* Video register value port */ +static unsigned short video_erase_char; /* Char+Attrib to erase with */ + +static unsigned long origin; /* Used for EGA/VGA fast scroll */ +static unsigned long scr_end; /* Used for EGA/VGA fast scroll */ +static unsigned long pos; +static unsigned long x,y; +static unsigned long top,bottom; +static unsigned long state=0; +static unsigned long npar,par[NPAR]; +static unsigned long ques=0; +static unsigned char attr=0x07; + +static void sysbeep(void); + +/* + * this is what the terminal answers to a ESC-Z or csi0c + * query (= vt100 response). + */ +#define RESPONSE "\033[?1;2c" + +/* NOTE! gotoxy thinks x==video_num_columns is ok */ +static inline void gotoxy(unsigned int new_x,unsigned int new_y) +{ + if (new_x > video_num_columns || new_y >= video_num_lines) + return; + x=new_x; + y=new_y; + pos=origin + y*video_size_row + (x<<1); +} + +static inline void set_origin(void) +{ + cli(); + outb_p(12, video_port_reg); + outb_p(0xff&((origin-video_mem_start)>>9), video_port_val); + outb_p(13, video_port_reg); + outb_p(0xff&((origin-video_mem_start)>>1), video_port_val); + sti(); +} + +static void scrup(void) +{ + if (video_type == VIDEO_TYPE_EGAC || video_type == VIDEO_TYPE_EGAM) + { + if (!top && bottom == video_num_lines) { + origin += video_size_row; + pos += video_size_row; + scr_end += video_size_row; + if (scr_end > video_mem_end) { + __asm__("cld\n\t" + "rep\n\t" + "movsl\n\t" + "movl video_num_columns,%1\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((video_num_lines-1)*video_num_columns>>1), + "D" (video_mem_start), + "S" (origin) + ); + scr_end -= origin-video_mem_start; + pos -= origin-video_mem_start; + origin = video_mem_start; + } else { + __asm__("cld\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" (video_num_columns), + "D" (scr_end-video_size_row) + ); + } + set_origin(); + } else { + __asm__("cld\n\t" + "rep\n\t" + "movsl\n\t" + "movl video_num_columns,%%ecx\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((bottom-top-1)*video_num_columns>>1), + "D" (origin+video_size_row*top), + "S" (origin+video_size_row*(top+1)) + ); + } + } + else /* Not EGA/VGA */ + { + __asm__("cld\n\t" + "rep\n\t" + "movsl\n\t" + "movl video_num_columns,%%ecx\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((bottom-top-1)*video_num_columns>>1), + "D" (origin+video_size_row*top), + "S" (origin+video_size_row*(top+1)) + ); + } +} + +static void scrdown(void) +{ + if (video_type == VIDEO_TYPE_EGAC || video_type == VIDEO_TYPE_EGAM) + { + __asm__("std\n\t" + "rep\n\t" + "movsl\n\t" + "addl $2,%%edi\n\t" /* %edi has been decremented by 4 */ + "movl video_num_columns,%%ecx\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((bottom-top-1)*video_num_columns>>1), + "D" (origin+video_size_row*bottom-4), + "S" (origin+video_size_row*(bottom-1)-4) + ); + } + else /* Not EGA/VGA */ + { + __asm__("std\n\t" + "rep\n\t" + "movsl\n\t" + "addl $2,%%edi\n\t" /* %edi has been decremented by 4 */ + "movl video_num_columns,%%ecx\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((bottom-top-1)*video_num_columns>>1), + "D" (origin+video_size_row*bottom-4), + "S" (origin+video_size_row*(bottom-1)-4) + ); + } +} + +static void lf(void) +{ + if (y+1top) { + y--; + pos -= video_size_row; + return; + } + scrdown(); +} + +static void cr(void) +{ + pos -= x<<1; + x=0; +} + +static void del(void) +{ + if (x) { + pos -= 2; + x--; + *(unsigned short *)pos = video_erase_char; + } +} + +static void csi_J(int par) +{ + long count __asm__("cx"); + long start __asm__("di"); + + switch (par) { + case 0: /* erase from cursor to end of display */ + count = (scr_end-pos)>>1; + start = pos; + break; + case 1: /* erase from start to cursor */ + count = (pos-origin)>>1; + start = origin; + break; + case 2: /* erase whole display */ + count = video_num_columns * video_num_lines; + start = origin; + break; + default: + return; + } + __asm__("cld\n\t" + "rep\n\t" + "stosw\n\t" + ::"c" (count), + "D" (start),"a" (video_erase_char) + ); +} + +static void csi_K(int par) +{ + long count __asm__("cx"); + long start __asm__("di"); + + switch (par) { + case 0: /* erase from cursor to end of line */ + if (x>=video_num_columns) + return; + count = video_num_columns-x; + start = pos; + break; + case 1: /* erase from start of line to cursor */ + start = pos - (x<<1); + count = (x>9), video_port_val); + outb_p(15, video_port_reg); + outb_p(0xff&((pos-video_mem_start)>>1), video_port_val); + sti(); +} + +static void respond(struct tty_struct * tty) +{ + char * p = RESPONSE; + + cli(); + while (*p) { + PUTCH(*p,tty->read_q); + p++; + } + sti(); + copy_to_cooked(tty); +} + +static void insert_char(void) +{ + int i=x; + unsigned short tmp, old = video_erase_char; + unsigned short * p = (unsigned short *) pos; + + while (i++=video_num_columns) + return; + i = x; + while (++i < video_num_columns) { + *p = *(p+1); + p++; + } + *p = video_erase_char; +} + +static void delete_line(void) +{ + int oldtop,oldbottom; + + oldtop=top; + oldbottom=bottom; + top=y; + bottom = video_num_lines; + scrup(); + top=oldtop; + bottom=oldbottom; +} + +static void csi_at(unsigned int nr) +{ + if (nr > video_num_columns) + nr = video_num_columns; + else if (!nr) + nr = 1; + while (nr--) + insert_char(); +} + +static void csi_L(unsigned int nr) +{ + if (nr > video_num_lines) + nr = video_num_lines; + else if (!nr) + nr = 1; + while (nr--) + insert_line(); +} + +static void csi_P(unsigned int nr) +{ + if (nr > video_num_columns) + nr = video_num_columns; + else if (!nr) + nr = 1; + while (nr--) + delete_char(); +} + +static void csi_M(unsigned int nr) +{ + if (nr > video_num_lines) + nr = video_num_lines; + else if (!nr) + nr=1; + while (nr--) + delete_line(); +} + +static int saved_x=0; +static int saved_y=0; + +static void save_cur(void) +{ + saved_x=x; + saved_y=y; +} + +static void restore_cur(void) +{ + gotoxy(saved_x, saved_y); +} + +void con_write(struct tty_struct * tty) +{ + int nr; + char c; + + nr = CHARS(tty->write_q); + while (nr--) { + GETCH(tty->write_q,c); + switch(state) { + case 0: + if (c>31 && c<127) { + if (x>=video_num_columns) { + x -= video_num_columns; + pos -= video_size_row; + lf(); + } + __asm__("movb attr,%%ah\n\t" + "movw %%ax,%1\n\t" + ::"a" (c),"m" (*(short *)pos) + ); + pos += 2; + x++; + } else if (c==27) + state=1; + else if (c==10 || c==11 || c==12) + lf(); + else if (c==13) + cr(); + else if (c==ERASE_CHAR(tty)) + del(); + else if (c==8) { + if (x) { + x--; + pos -= 2; + } + } else if (c==9) { + c=8-(x&7); + x += c; + pos += c<<1; + if (x>video_num_columns) { + x -= video_num_columns; + pos -= video_size_row; + lf(); + } + c=9; + } else if (c==7) + sysbeep(); + break; + case 1: + state=0; + if (c=='[') + state=2; + else if (c=='E') + gotoxy(0,y+1); + else if (c=='M') + ri(); + else if (c=='D') + lf(); + else if (c=='Z') + respond(tty); + else if (x=='7') + save_cur(); + else if (x=='8') + restore_cur(); + break; + case 2: + for(npar=0;npar='0' && c<='9') { + par[npar]=10*par[npar]+c-'0'; + break; + } else state=4; + case 4: + state=0; + switch(c) { + case 'G': case '`': + if (par[0]) par[0]--; + gotoxy(par[0],y); + break; + case 'A': + if (!par[0]) par[0]++; + gotoxy(x,y-par[0]); + break; + case 'B': case 'e': + if (!par[0]) par[0]++; + gotoxy(x,y+par[0]); + break; + case 'C': case 'a': + if (!par[0]) par[0]++; + gotoxy(x+par[0],y); + break; + case 'D': + if (!par[0]) par[0]++; + gotoxy(x-par[0],y); + break; + case 'E': + if (!par[0]) par[0]++; + gotoxy(0,y+par[0]); + break; + case 'F': + if (!par[0]) par[0]++; + gotoxy(0,y-par[0]); + break; + case 'd': + if (par[0]) par[0]--; + gotoxy(x,par[0]); + break; + case 'H': case 'f': + if (par[0]) par[0]--; + if (par[1]) par[1]--; + gotoxy(par[1],par[0]); + break; + case 'J': + csi_J(par[0]); + break; + case 'K': + csi_K(par[0]); + break; + case 'L': + csi_L(par[0]); + break; + case 'M': + csi_M(par[0]); + break; + case 'P': + csi_P(par[0]); + break; + case '@': + csi_at(par[0]); + break; + case 'm': + csi_m(); + break; + case 'r': + if (par[0]) par[0]--; + if (!par[1]) par[1] = video_num_lines; + if (par[0] < par[1] && + par[1] <= video_num_lines) { + top=par[0]; + bottom=par[1]; + } + break; + case 's': + save_cur(); + break; + case 'u': + restore_cur(); + break; + } + } + } + set_cursor(); +} + +/* + * void con_init(void); + * + * This routine initalizes console interrupts, and does nothing + * else. If you want the screen to clear, call tty_write with + * the appropriate escape-sequece. + * + * Reads the information preserved by setup.s to determine the current display + * type and sets everything accordingly. + */ +void con_init(void) +{ + register unsigned char a; + char *display_desc = "????"; + char *display_ptr; + + video_num_columns = ORIG_VIDEO_COLS; + video_size_row = video_num_columns * 2; + video_num_lines = ORIG_VIDEO_LINES; + video_page = ORIG_VIDEO_PAGE; + video_erase_char = 0x0720; + + if (ORIG_VIDEO_MODE == 7) /* Is this a monochrome display? */ + { + video_mem_start = 0xb0000; + video_port_reg = 0x3b4; + video_port_val = 0x3b5; + if ((ORIG_VIDEO_EGA_BX & 0xff) != 0x10) + { + video_type = VIDEO_TYPE_EGAM; + video_mem_end = 0xb8000; + display_desc = "EGAm"; + } + else + { + video_type = VIDEO_TYPE_MDA; + video_mem_end = 0xb2000; + display_desc = "*MDA"; + } + } + else /* If not, it is color. */ + { + video_mem_start = 0xb8000; + video_port_reg = 0x3d4; + video_port_val = 0x3d5; + if ((ORIG_VIDEO_EGA_BX & 0xff) != 0x10) + { + video_type = VIDEO_TYPE_EGAC; + video_mem_end = 0xbc000; + display_desc = "EGAc"; + } + else + { + video_type = VIDEO_TYPE_CGA; + video_mem_end = 0xba000; + display_desc = "*CGA"; + } + } + + /* Let the user known what kind of display driver we are using */ + + display_ptr = ((char *)video_mem_start) + video_size_row - 8; + while (*display_desc) + { + *display_ptr++ = *display_desc++; + display_ptr++; + } + + /* Initialize the variables used for scrolling (mostly EGA/VGA) */ + + origin = video_mem_start; + scr_end = video_mem_start + video_num_lines * video_size_row; + top = 0; + bottom = video_num_lines; + + gotoxy(ORIG_X,ORIG_Y); + set_trap_gate(0x21,&keyboard_interrupt); + outb_p(inb_p(0x21)&0xfd,0x21); + a=inb_p(0x61); + outb_p(a|0x80,0x61); + outb(a,0x61); +} +/* from bsd-net-2: */ + +void sysbeepstop(void) +{ + /* disable counter 2 */ + outb(inb_p(0x61)&0xFC, 0x61); +} + +int beepcount = 0; + +static void sysbeep(void) +{ + /* enable counter 2 */ + outb_p(inb_p(0x61)|3, 0x61); + /* set command for counter 2, 2 byte write */ + outb_p(0xB6, 0x43); + /* send 0x637 for 750 HZ */ + outb_p(0x37, 0x42); + outb(0x06, 0x42); + /* 1/8 second */ + beepcount = HZ/8; +} diff --git a/linux-0.11-lab/cur/linux/kernel/chr_drv/console.o b/linux-0.11-lab/cur/linux/kernel/chr_drv/console.o new file mode 100644 index 0000000000000000000000000000000000000000..201b995c8b2cfcd0b623e4c53db4d36891325e2e GIT binary patch literal 20892 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/kernel/chr_drv/keyboard.2.o b/linux-0.11-lab/cur/linux/kernel/chr_drv/keyboard.2.o new file mode 100644 index 0000000000000000000000000000000000000000..031174bedf6e5d505616ece4312873277e2a897e GIT binary patch literal 6024 zcmeI#e@vA39S88wa~u>bD0IWd5iG3IN(IWPxG|4bR1~PJf@9^R^fvbklw!D>pTL?RpQ+*Mn* zGU;48w;s8AWVm>EqS<*&@?`N8oR_q?$>S<71X zqpQhU;>c|B>|}qn{cv?^^rDvZp)vE_uF)a;tZgVgQf5p+v(a!e&zk68+i!oIV{VD0 z$qveBBu~6MYUVcNcSdg;yG52o2Y7R&Lo%_2xmI$m;#$r11+F_NiwEVgc?!jaWqm1K-D*hd(S5D({u2 zo>`smUelLS`%*>SH(d2qFYbJ!H;u}7ZQZuLvigM`U;FX_+P}MD%QrWFy~g?6^Pe}s zb8!Rkt)*2&Z!|XbzI6@kYn>>G%03Hi{=n zKXUF_qjl!{-1=kwC2jvN*YEN04?E`X9^#lGKA#Ef{{#35JIW98gVZwKZ#~y-aaHE~ zpK@!PTu5U{h;Lu z-jVMJ@d9TQ`L6iWBS;w8CMAn&iV>NADwp!>m>c9c*@q{~-y%e^TuaWsKBFwh_X^U* z{$vG_O`o@4M%+HqhxAu00g5$0k>AgYOi%*W(9Ev7UddzABgmu5aDbK|L?%*VdOk+hj*KDN>d z4HbHly*F2dR&##u{1sz`erfR-h1PQ19G91JET4sDQD_SX1y;&ES8?o%%Xe`s%Y|7K zYT!U#>1I(#R%Cgdm_?yh4&*0q7RBgGmJTcLKhzg9$6;@gp3|tHUe`^>ZLg zhglRl!ol*z3!u=qIUiemZWVf$b9vR6MKR_oONo`A=0KJgD?h`5EFD&Uj)S(i`~v5{ ziR=FZ&c7A6{a2jJC!kpr`Yi|Y8EEBluJ6R8h?$s}}N;$FGszVT5{zB>r%_uT9zzgsdDvtEV$;3}Fnn zr^Vgv@flqh?X97p-%lNSfLirXI2aPvQb=tH1~rLg6Q;u%qTn94Y-;0qklNvO8v!>O z${*|}rxNgVk})GA;t3migYK~EZ=;T2he`oohaM)cPnC0T33@_ax35D}Lm|CWBi>Wf zdg2<4Yhzx?aC@-Z9o9S=-;Z3b@^9qRP=3!gehIjcx4?k7j_5t)XW=j4NAUOXk8le9 z72bvkJf@7h1ZKcISOhn~=V2Xegzc~k?t@Wy6w1GtHeR%*kyr6UD&xNh8{jMORj9$Y z;CJ9ppu8KUpNsGkybQ0vYw!jfhm&vy&cS(j3ogJrP~k;F#!ZANFb!tFOt=DO!(5mL z^I;)$z!F#r%V0UIfK{*t*1~$|f=$o^Rp^5O*adai1AE~?7=`_C03LV2lHVebifi=3d>+QtbkRp2G+uQ=z>kq16AmQ0oVm~*aLgvK^TSoZ~z{K z$KY{z0-l7Y;2=B=&%m?rJiGu$;269JFTu<33cLnyz;QSUXW$&1hqvGYyaN^f<}&U- zOo3@I17^Y%FdOE=JeUs)p#zq{QdkDdVFj#$HLw=eLl" +# 1 "" +# 1 "keyboard.S" + + + + + + + + + + + + + +# 1 "../../include/linux/config.h" 1 + + + + + + + + + + + + + + + + + + + + + +# 36 "../../include/linux/config.h" + +# 47 "../../include/linux/config.h" + +# 14 "keyboard.S" 2 + +.text +.globl keyboard_interrupt + + + + +size = 1024 + +head = 4 +tail = 8 +proc_list = 12 +buf = 16 + +mode: .byte 0 +leds: .byte 2 +e0: .byte 0 + + + + + + +keyboard_interrupt: + pushl %eax + pushl %ebx + pushl %ecx + pushl %edx + push %ds + push %es + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + xor %al,%al + inb $0x60,%al + cmpb $0xe0,%al + je set_e0 + cmpb $0xe1,%al + je set_e1 + call key_table(,%eax,4) + movb $0,e0 +e0_e1: inb $0x61,%al + jmp 1f +1: jmp 1f +1: orb $0x80,%al + jmp 1f +1: jmp 1f +1: outb %al,$0x61 + jmp 1f +1: jmp 1f +1: andb $0x7F,%al + outb %al,$0x61 + movb $0x20,%al + outb %al,$0x20 + pushl $0 + call do_tty_interrupt + addl $4,%esp + pop %es + pop %ds + popl %edx + popl %ecx + popl %ebx + popl %eax + iret +set_e0: movb $1,e0 + jmp e0_e1 +set_e1: movb $2,e0 + jmp e0_e1 + + + + + + +put_queue: + pushl %ecx + pushl %edx + movl table_list,%edx # read-queue for console + movl head(%edx),%ecx +1: movb %al,buf(%edx,%ecx) + incl %ecx + andl $size-1,%ecx + cmpl tail(%edx),%ecx # buffer full - discard everything + je 3f + shrdl $8,%ebx,%eax + je 2f + shrl $8,%ebx + jmp 1b +2: movl %ecx,head(%edx) + movl proc_list(%edx),%ecx + testl %ecx,%ecx + je 3f + movl $0,(%ecx) +3: popl %edx + popl %ecx + ret + +ctrl: movb $0x04,%al + jmp 1f +alt: movb $0x10,%al +1: cmpb $0,e0 + je 2f + addb %al,%al +2: orb %al,mode + ret +unctrl: movb $0x04,%al + jmp 1f +unalt: movb $0x10,%al +1: cmpb $0,e0 + je 2f + addb %al,%al +2: notb %al + andb %al,mode + ret + +lshift: + orb $0x01,mode + ret +unlshift: + andb $0xfe,mode + ret +rshift: + orb $0x02,mode + ret +unrshift: + andb $0xfd,mode + ret + +caps: testb $0x80,mode + jne 1f + xorb $4,leds + xorb $0x40,mode + orb $0x80,mode +set_leds: + call kb_wait + movb $0xed,%al + outb %al,$0x60 + call kb_wait + movb leds,%al + outb %al,$0x60 + ret +uncaps: andb $0x7f,mode + ret +scroll: + xorb $1,leds + jmp set_leds +num: xorb $2,leds + jmp set_leds + + + + + +cursor: + subb $0x47,%al + jb 1f + cmpb $12,%al + ja 1f + jne cur2 + testb $0x0c,mode + je cur2 + testb $0x30,mode + jne reboot +cur2: cmpb $0x01,e0 + je cur + testb $0x02,leds + je cur + testb $0x03,mode + jne cur + xorl %ebx,%ebx + movb num_table(%eax),%al + jmp put_queue +1: ret + +cur: movb cur_table(%eax),%al + cmpb $'9,%al + ja ok_cur + movb $'~,%ah +ok_cur: shll $16,%eax + movw $0x5b1b,%ax + xorl %ebx,%ebx + jmp put_queue + + + + + +num_table: + .ascii "789 456 1230," + +cur_table: + .ascii "HA5 DGC YB623" + + + + +func: + pushl %eax + pushl %ecx + pushl %edx + call show_stat + popl %edx + popl %ecx + popl %eax + subb $0x3B,%al + jb end_func + cmpb $9,%al + jbe ok_func + subb $18,%al + cmpb $10,%al + jb end_func + cmpb $11,%al + ja end_func +ok_func: + cmpl $4,%ecx + jl end_func + movl func_table(,%eax,4),%eax + xorl %ebx,%ebx + jmp put_queue +end_func: + ret + + + + +func_table: + .long 0x415b5b1b,0x425b5b1b,0x435b5b1b,0x445b5b1b + .long 0x455b5b1b,0x465b5b1b,0x475b5b1b,0x485b5b1b + .long 0x495b5b1b,0x4a5b5b1b,0x4b5b5b1b,0x4c5b5b1b + +# 294 "keyboard.S" + +key_map: + .byte 0,27 + .ascii "1234567890-=" + .byte 127,9 + .ascii "qwertyuiop[]" + .byte 13,0 + .ascii "asdfghjkl;'" + .byte '`,0 + .ascii "\\zxcvbnm,./" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 + .byte '-,0,0,0,'+ + .byte 0,0,0,0,0,0,0 + .byte '< + .fill 10,1,0 + + +shift_map: + .byte 0,27 + .ascii "!@#$%^&*()_+" + .byte 127,9 + .ascii "QWERTYUIOP{}" + .byte 13,0 + .ascii "ASDFGHJKL:\"" + .byte '~,0 + .ascii "|ZXCVBNM<>?" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 + .byte '-,0,0,0,'+ + .byte 0,0,0,0,0,0,0 + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0@\0$\0\0{[]}\\\0" + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 + .fill 16,1,0 + .byte 0,0,0,0,0 + .byte 0,0,0,0,0,0,0 + .byte '| + .fill 10,1,0 + +# 449 "keyboard.S" + + + + +do_self: + lea alt_map,%ebx + testb $0x20,mode + jne 1f + lea shift_map,%ebx + testb $0x03,mode + jne 1f + lea key_map,%ebx +1: movb (%ebx,%eax),%al + orb %al,%al + je none + testb $0x4c,mode + je 2f + cmpb $'a,%al + jb 2f + cmpb $'},%al + ja 2f + subb $32,%al +2: testb $0x0c,mode + je 3f + cmpb $64,%al + jb 3f + cmpb $64+32,%al + jae 3f + subb $64,%al +3: testb $0x10,mode + je 4f + orb $0x80,%al +4: andl $0xff,%eax + xorl %ebx,%ebx + call put_queue +none: ret + + + + + + +minus: cmpb $1,e0 + jne do_self + movl $'/,%eax + xorl %ebx,%ebx + jmp put_queue + + + + + + +key_table: + .long none,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,ctrl,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,lshift,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,minus,rshift,do_self + .long alt,do_self,caps,func + .long func,func,func,func + .long func,func,func,func + .long func,num,scroll,cursor + .long cursor,cursor,do_self,cursor + .long cursor,cursor,do_self,cursor + .long cursor,cursor,cursor,cursor + .long none,none,do_self,func + .long func,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,unctrl,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,unlshift,none + .long none,none,none,none + .long none,none,none,none + .long none,none,unrshift,none + .long unalt,none,uncaps,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + + + + + +kb_wait: + pushl %eax +1: inb $0x64,%al + testb $0x02,%al + jne 1b + popl %eax + ret + + + + +reboot: + call kb_wait + movw $0x1234,0x472 + movb $0xfc,%al + outb %al,$0x64 +die: jmp die diff --git a/linux-0.11-lab/cur/linux/kernel/chr_drv/keyboard.S b/linux-0.11-lab/cur/linux/kernel/chr_drv/keyboard.S new file mode 100644 index 0000000..25210b4 --- /dev/null +++ b/linux-0.11-lab/cur/linux/kernel/chr_drv/keyboard.S @@ -0,0 +1,588 @@ +/* + * linux/kernel/keyboard.S + * + * (C) 1991 Linus Torvalds + */ + +/* + * Thanks to Alfred Leung for US keyboard patches + * Wolfgang Thiel for German keyboard patches + * Marc Corsini for the French keyboard + */ + +#include + +.text +.globl keyboard_interrupt + +/* + * these are for the keyboard read functions + */ +size = 1024 /* must be a power of two ! And MUST be the same + as in tty_io.c !!!! */ +head = 4 +tail = 8 +proc_list = 12 +buf = 16 + +mode: .byte 0 /* caps, alt, ctrl and shift mode */ +leds: .byte 2 /* num-lock, caps, scroll-lock mode (nom-lock on) */ +e0: .byte 0 + +/* + * con_int is the real interrupt routine that reads the + * keyboard scan-code and converts it into the appropriate + * ascii character(s). + */ +keyboard_interrupt: + pushl %eax + pushl %ebx + pushl %ecx + pushl %edx + push %ds + push %es + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + xor %al,%al /* %eax is scan code */ + inb $0x60,%al + cmpb $0xe0,%al + je set_e0 + cmpb $0xe1,%al + je set_e1 + call key_table(,%eax,4) + movb $0,e0 +e0_e1: inb $0x61,%al + jmp 1f +1: jmp 1f +1: orb $0x80,%al + jmp 1f +1: jmp 1f +1: outb %al,$0x61 + jmp 1f +1: jmp 1f +1: andb $0x7F,%al + outb %al,$0x61 + movb $0x20,%al + outb %al,$0x20 + pushl $0 + call do_tty_interrupt + addl $4,%esp + pop %es + pop %ds + popl %edx + popl %ecx + popl %ebx + popl %eax + iret +set_e0: movb $1,e0 + jmp e0_e1 +set_e1: movb $2,e0 + jmp e0_e1 + +/* + * This routine fills the buffer with max 8 bytes, taken from + * %ebx:%eax. (%edx is high). The bytes are written in the + * order %al,%ah,%eal,%eah,%bl,%bh ... until %eax is zero. + */ +put_queue: + pushl %ecx + pushl %edx + movl table_list,%edx # read-queue for console + movl head(%edx),%ecx +1: movb %al,buf(%edx,%ecx) + incl %ecx + andl $size-1,%ecx + cmpl tail(%edx),%ecx # buffer full - discard everything + je 3f + shrdl $8,%ebx,%eax + je 2f + shrl $8,%ebx + jmp 1b +2: movl %ecx,head(%edx) + movl proc_list(%edx),%ecx + testl %ecx,%ecx + je 3f + movl $0,(%ecx) +3: popl %edx + popl %ecx + ret + +ctrl: movb $0x04,%al + jmp 1f +alt: movb $0x10,%al +1: cmpb $0,e0 + je 2f + addb %al,%al +2: orb %al,mode + ret +unctrl: movb $0x04,%al + jmp 1f +unalt: movb $0x10,%al +1: cmpb $0,e0 + je 2f + addb %al,%al +2: notb %al + andb %al,mode + ret + +lshift: + orb $0x01,mode + ret +unlshift: + andb $0xfe,mode + ret +rshift: + orb $0x02,mode + ret +unrshift: + andb $0xfd,mode + ret + +caps: testb $0x80,mode + jne 1f + xorb $4,leds + xorb $0x40,mode + orb $0x80,mode +set_leds: + call kb_wait + movb $0xed,%al /* set leds command */ + outb %al,$0x60 + call kb_wait + movb leds,%al + outb %al,$0x60 + ret +uncaps: andb $0x7f,mode + ret +scroll: + xorb $1,leds + jmp set_leds +num: xorb $2,leds + jmp set_leds + +/* + * curosr-key/numeric keypad cursor keys are handled here. + * checking for numeric keypad etc. + */ +cursor: + subb $0x47,%al + jb 1f + cmpb $12,%al + ja 1f + jne cur2 /* check for ctrl-alt-del */ + testb $0x0c,mode + je cur2 + testb $0x30,mode + jne reboot +cur2: cmpb $0x01,e0 /* e0 forces cursor movement */ + je cur + testb $0x02,leds /* not num-lock forces cursor */ + je cur + testb $0x03,mode /* shift forces cursor */ + jne cur + xorl %ebx,%ebx + movb num_table(%eax),%al + jmp put_queue +1: ret + +cur: movb cur_table(%eax),%al + cmpb $'9,%al + ja ok_cur + movb $'~,%ah +ok_cur: shll $16,%eax + movw $0x5b1b,%ax + xorl %ebx,%ebx + jmp put_queue + +#if defined(KBD_FR) +num_table: + .ascii "789 456 1230." +#else +num_table: + .ascii "789 456 1230," +#endif +cur_table: + .ascii "HA5 DGC YB623" + +/* + * this routine handles function keys + */ +func: + pushl %eax + pushl %ecx + pushl %edx + call show_stat + popl %edx + popl %ecx + popl %eax + subb $0x3B,%al + jb end_func + cmpb $9,%al + jbe ok_func + subb $18,%al + cmpb $10,%al + jb end_func + cmpb $11,%al + ja end_func +ok_func: + cmpl $4,%ecx /* check that there is enough room */ + jl end_func + movl func_table(,%eax,4),%eax + xorl %ebx,%ebx + jmp put_queue +end_func: + ret + +/* + * function keys send F1:'esc [ [ A' F2:'esc [ [ B' etc. + */ +func_table: + .long 0x415b5b1b,0x425b5b1b,0x435b5b1b,0x445b5b1b + .long 0x455b5b1b,0x465b5b1b,0x475b5b1b,0x485b5b1b + .long 0x495b5b1b,0x4a5b5b1b,0x4b5b5b1b,0x4c5b5b1b + +#if defined(KBD_FINNISH) +key_map: + .byte 0,27 + .ascii "1234567890+'" + .byte 127,9 + .ascii "qwertyuiop}" + .byte 0,13,0 + .ascii "asdfghjkl|{" + .byte 0,0 + .ascii "'zxcvbnm,.-" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '< + .fill 10,1,0 + +shift_map: + .byte 0,27 + .ascii "!\"#$%&/()=?`" + .byte 127,9 + .ascii "QWERTYUIOP]^" + .byte 13,0 + .ascii "ASDFGHJKL\\[" + .byte 0,0 + .ascii "*ZXCVBNM;:_" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0@\0$\0\0{[]}\\\0" + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte 0,0,0,0,0 /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '| + .fill 10,1,0 + +#elif defined(KBD_US) + +key_map: + .byte 0,27 + .ascii "1234567890-=" + .byte 127,9 + .ascii "qwertyuiop[]" + .byte 13,0 + .ascii "asdfghjkl;'" + .byte '`,0 + .ascii "\\zxcvbnm,./" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '< + .fill 10,1,0 + + +shift_map: + .byte 0,27 + .ascii "!@#$%^&*()_+" + .byte 127,9 + .ascii "QWERTYUIOP{}" + .byte 13,0 + .ascii "ASDFGHJKL:\"" + .byte '~,0 + .ascii "|ZXCVBNM<>?" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0@\0$\0\0{[]}\\\0" + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte 0,0,0,0,0 /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '| + .fill 10,1,0 + +#elif defined(KBD_GR) + +key_map: + .byte 0,27 + .ascii "1234567890\\'" + .byte 127,9 + .ascii "qwertzuiop@+" + .byte 13,0 + .ascii "asdfghjkl[]^" + .byte 0,'# + .ascii "yxcvbnm,.-" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '< + .fill 10,1,0 + + +shift_map: + .byte 0,27 + .ascii "!\"#$%&/()=?`" + .byte 127,9 + .ascii "QWERTZUIOP\\*" + .byte 13,0 + .ascii "ASDFGHJKL{}~" + .byte 0,'' + .ascii "YXCVBNM;:_" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0@\0$\0\0{[]}\\\0" + .byte 0,0 + .byte '@,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte 0,0,0,0,0 /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '| + .fill 10,1,0 + + +#elif defined(KBD_FR) + +key_map: + .byte 0,27 + .ascii "&{\"'(-}_/@)=" + .byte 127,9 + .ascii "azertyuiop^$" + .byte 13,0 + .ascii "qsdfghjklm|" + .byte '`,0,42 /* coin sup gauche, don't know, [*|mu] */ + .ascii "wxcvbn,;:!" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '< + .fill 10,1,0 + +shift_map: + .byte 0,27 + .ascii "1234567890]+" + .byte 127,9 + .ascii "AZERTYUIOP<>" + .byte 13,0 + .ascii "QSDFGHJKLM%" + .byte '~,0,'# + .ascii "WXCVBN?./\\" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0~#{[|`\\^@]}" + .byte 0,0 + .byte '@,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte 0,0,0,0,0 /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '| + .fill 10,1,0 + +#else +#error "KBD-type not defined" +#endif +/* + * do_self handles "normal" keys, ie keys that don't change meaning + * and which have just one character returns. + */ +do_self: + lea alt_map,%ebx + testb $0x20,mode /* alt-gr */ + jne 1f + lea shift_map,%ebx + testb $0x03,mode + jne 1f + lea key_map,%ebx +1: movb (%ebx,%eax),%al + orb %al,%al + je none + testb $0x4c,mode /* ctrl or caps */ + je 2f + cmpb $'a,%al + jb 2f + cmpb $'},%al + ja 2f + subb $32,%al +2: testb $0x0c,mode /* ctrl */ + je 3f + cmpb $64,%al + jb 3f + cmpb $64+32,%al + jae 3f + subb $64,%al +3: testb $0x10,mode /* left alt */ + je 4f + orb $0x80,%al +4: andl $0xff,%eax + xorl %ebx,%ebx + call put_queue +none: ret + +/* + * minus has a routine of it's own, as a 'E0h' before + * the scan code for minus means that the numeric keypad + * slash was pushed. + */ +minus: cmpb $1,e0 + jne do_self + movl $'/,%eax + xorl %ebx,%ebx + jmp put_queue + +/* + * This table decides which routine to call when a scan-code has been + * gotten. Most routines just call do_self, or none, depending if + * they are make or break. + */ +key_table: + .long none,do_self,do_self,do_self /* 00-03 s0 esc 1 2 */ + .long do_self,do_self,do_self,do_self /* 04-07 3 4 5 6 */ + .long do_self,do_self,do_self,do_self /* 08-0B 7 8 9 0 */ + .long do_self,do_self,do_self,do_self /* 0C-0F + ' bs tab */ + .long do_self,do_self,do_self,do_self /* 10-13 q w e r */ + .long do_self,do_self,do_self,do_self /* 14-17 t y u i */ + .long do_self,do_self,do_self,do_self /* 18-1B o p } ^ */ + .long do_self,ctrl,do_self,do_self /* 1C-1F enter ctrl a s */ + .long do_self,do_self,do_self,do_self /* 20-23 d f g h */ + .long do_self,do_self,do_self,do_self /* 24-27 j k l | */ + .long do_self,do_self,lshift,do_self /* 28-2B { para lshift , */ + .long do_self,do_self,do_self,do_self /* 2C-2F z x c v */ + .long do_self,do_self,do_self,do_self /* 30-33 b n m , */ + .long do_self,minus,rshift,do_self /* 34-37 . - rshift * */ + .long alt,do_self,caps,func /* 38-3B alt sp caps f1 */ + .long func,func,func,func /* 3C-3F f2 f3 f4 f5 */ + .long func,func,func,func /* 40-43 f6 f7 f8 f9 */ + .long func,num,scroll,cursor /* 44-47 f10 num scr home */ + .long cursor,cursor,do_self,cursor /* 48-4B up pgup - left */ + .long cursor,cursor,do_self,cursor /* 4C-4F n5 right + end */ + .long cursor,cursor,cursor,cursor /* 50-53 dn pgdn ins del */ + .long none,none,do_self,func /* 54-57 sysreq ? < f11 */ + .long func,none,none,none /* 58-5B f12 ? ? ? */ + .long none,none,none,none /* 5C-5F ? ? ? ? */ + .long none,none,none,none /* 60-63 ? ? ? ? */ + .long none,none,none,none /* 64-67 ? ? ? ? */ + .long none,none,none,none /* 68-6B ? ? ? ? */ + .long none,none,none,none /* 6C-6F ? ? ? ? */ + .long none,none,none,none /* 70-73 ? ? ? ? */ + .long none,none,none,none /* 74-77 ? ? ? ? */ + .long none,none,none,none /* 78-7B ? ? ? ? */ + .long none,none,none,none /* 7C-7F ? ? ? ? */ + .long none,none,none,none /* 80-83 ? br br br */ + .long none,none,none,none /* 84-87 br br br br */ + .long none,none,none,none /* 88-8B br br br br */ + .long none,none,none,none /* 8C-8F br br br br */ + .long none,none,none,none /* 90-93 br br br br */ + .long none,none,none,none /* 94-97 br br br br */ + .long none,none,none,none /* 98-9B br br br br */ + .long none,unctrl,none,none /* 9C-9F br unctrl br br */ + .long none,none,none,none /* A0-A3 br br br br */ + .long none,none,none,none /* A4-A7 br br br br */ + .long none,none,unlshift,none /* A8-AB br br unlshift br */ + .long none,none,none,none /* AC-AF br br br br */ + .long none,none,none,none /* B0-B3 br br br br */ + .long none,none,unrshift,none /* B4-B7 br br unrshift br */ + .long unalt,none,uncaps,none /* B8-BB unalt br uncaps br */ + .long none,none,none,none /* BC-BF br br br br */ + .long none,none,none,none /* C0-C3 br br br br */ + .long none,none,none,none /* C4-C7 br br br br */ + .long none,none,none,none /* C8-CB br br br br */ + .long none,none,none,none /* CC-CF br br br br */ + .long none,none,none,none /* D0-D3 br br br br */ + .long none,none,none,none /* D4-D7 br br br br */ + .long none,none,none,none /* D8-DB br ? ? ? */ + .long none,none,none,none /* DC-DF ? ? ? ? */ + .long none,none,none,none /* E0-E3 e0 e1 ? ? */ + .long none,none,none,none /* E4-E7 ? ? ? ? */ + .long none,none,none,none /* E8-EB ? ? ? ? */ + .long none,none,none,none /* EC-EF ? ? ? ? */ + .long none,none,none,none /* F0-F3 ? ? ? ? */ + .long none,none,none,none /* F4-F7 ? ? ? ? */ + .long none,none,none,none /* F8-FB ? ? ? ? */ + .long none,none,none,none /* FC-FF ? ? ? ? */ + +/* + * kb_wait waits for the keyboard controller buffer to empty. + * there is no timeout - if the buffer doesn't empty, we hang. + */ +kb_wait: + pushl %eax +1: inb $0x64,%al + testb $0x02,%al + jne 1b + popl %eax + ret +/* + * This routine reboots the machine by asking the keyboard + * controller to pulse the reset-line low. + */ +reboot: + call kb_wait + movw $0x1234,0x472 /* don't do memory check */ + movb $0xfc,%al /* pulse reset and A20 low */ + outb %al,$0x64 +die: jmp die diff --git a/linux-0.11-lab/cur/linux/kernel/chr_drv/rs_io.o b/linux-0.11-lab/cur/linux/kernel/chr_drv/rs_io.o new file mode 100644 index 0000000000000000000000000000000000000000..9d7d5b3a22aa1a7d33dea95b723af176ee68e951 GIT binary patch literal 1320 zcma)5O=}ZT6upy7lN1_>vDAuUi$oC$(TZ-YF8rt{7SvR*(+bl`=7mYg$1w9^jTe}J1pL8J+VS-DUc@11#5ry}TuH|L!9&O7g8W*$#YU6UjU z!jd2kzZJlJAu zYUu}^X)*0615dy3#7CS5;3%o*n6o2-mX*|mBJ()SkJ>Kxy3mDOdS@N-cB{sLjja`nuw?{k1!T?BECWK1Ur++2eHxq=#!x{gli&& zBRH@@L{yj;>c8RMuaxqliKJ!!PW(mv0M`reH^_6neMo3eLAl-mBy=A^x!y36flz|$ z9Yaq056bmU5ZT?V>*Z0VgF%1b96oaqeG&Pkh$c>dL{JjkL^3ZF1^Vqn>-rt20MOw)mDl`5E4qoh_V zHiu%f3^vy+-ZaTqsdKQH=_9M_uuwBq{86e5Y7L#$RJ8J@4U1NVGqq%B7P>V(VAV>U z?KNO{nOQ2UnY@MR;}pv*t7+mQ_L+$Cmk2hbH&o7BkuiEb(opct5uPWFopkSn(*o}a PoD +#include +#include +#include + +#define WAKEUP_CHARS (TTY_BUF_SIZE/4) + +extern void rs1_interrupt(void); +extern void rs2_interrupt(void); + +static void init(int port) +{ + outb_p(0x80,port+3); /* set DLAB of line control reg */ + outb_p(0x30,port); /* LS of divisor (48 -> 2400 bps */ + outb_p(0x00,port+1); /* MS of divisor */ + outb_p(0x03,port+3); /* reset DLAB */ + outb_p(0x0b,port+4); /* set DTR,RTS, OUT_2 */ + outb_p(0x0d,port+1); /* enable all intrs but writes */ + (void)inb(port); /* read data port to reset things (?) */ +} + +void rs_init(void) +{ + set_intr_gate(0x24,rs1_interrupt); + set_intr_gate(0x23,rs2_interrupt); + init(tty_table[1].read_q.data); + init(tty_table[2].read_q.data); + outb(inb_p(0x21)&0xE7,0x21); +} + +/* + * This routine gets called when tty_write has put something into + * the write_queue. It must check wheter the queue is empty, and + * set the interrupt register accordingly + * + * void _rs_write(struct tty_struct * tty); + */ +void rs_write(struct tty_struct * tty) +{ + cli(); + if (!EMPTY(tty->write_q)) + outb(inb_p(tty->write_q.data+1)|0x02,tty->write_q.data+1); + sti(); +} diff --git a/linux-0.11-lab/cur/linux/kernel/chr_drv/serial.o b/linux-0.11-lab/cur/linux/kernel/chr_drv/serial.o new file mode 100644 index 0000000000000000000000000000000000000000..08791804f7d2c1e2d886e733b271b9853a625921 GIT binary patch literal 6748 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 +#include +#include + +#define ALRMMASK (1<<(SIGALRM-1)) +#define KILLMASK (1<<(SIGKILL-1)) +#define INTMASK (1<<(SIGINT-1)) +#define QUITMASK (1<<(SIGQUIT-1)) +#define TSTPMASK (1<<(SIGTSTP-1)) + +#include +#include +#include +#include + +#define _L_FLAG(tty,f) ((tty)->termios.c_lflag & f) +#define _I_FLAG(tty,f) ((tty)->termios.c_iflag & f) +#define _O_FLAG(tty,f) ((tty)->termios.c_oflag & f) + +#define L_CANON(tty) _L_FLAG((tty),ICANON) +#define L_ISIG(tty) _L_FLAG((tty),ISIG) +#define L_ECHO(tty) _L_FLAG((tty),ECHO) +#define L_ECHOE(tty) _L_FLAG((tty),ECHOE) +#define L_ECHOK(tty) _L_FLAG((tty),ECHOK) +#define L_ECHOCTL(tty) _L_FLAG((tty),ECHOCTL) +#define L_ECHOKE(tty) _L_FLAG((tty),ECHOKE) + +#define I_UCLC(tty) _I_FLAG((tty),IUCLC) +#define I_NLCR(tty) _I_FLAG((tty),INLCR) +#define I_CRNL(tty) _I_FLAG((tty),ICRNL) +#define I_NOCR(tty) _I_FLAG((tty),IGNCR) + +#define O_POST(tty) _O_FLAG((tty),OPOST) +#define O_NLCR(tty) _O_FLAG((tty),ONLCR) +#define O_CRNL(tty) _O_FLAG((tty),OCRNL) +#define O_NLRET(tty) _O_FLAG((tty),ONLRET) +#define O_LCUC(tty) _O_FLAG((tty),OLCUC) + +struct tty_struct tty_table[] = { + { + {ICRNL, /* change incoming CR to NL */ + OPOST|ONLCR, /* change outgoing NL to CRNL */ + 0, + ISIG | ICANON | ECHO | ECHOCTL | ECHOKE, + 0, /* console termio */ + INIT_C_CC}, + 0, /* initial pgrp */ + 0, /* initial stopped */ + con_write, + {0,0,0,0,""}, /* console read-queue */ + {0,0,0,0,""}, /* console write-queue */ + {0,0,0,0,""} /* console secondary queue */ + },{ + {0, /* no translation */ + 0, /* no translation */ + B2400 | CS8, + 0, + 0, + INIT_C_CC}, + 0, + 0, + rs_write, + {0x3f8,0,0,0,""}, /* rs 1 */ + {0x3f8,0,0,0,""}, + {0,0,0,0,""} + },{ + {0, /* no translation */ + 0, /* no translation */ + B2400 | CS8, + 0, + 0, + INIT_C_CC}, + 0, + 0, + rs_write, + {0x2f8,0,0,0,""}, /* rs 2 */ + {0x2f8,0,0,0,""}, + {0,0,0,0,""} + } +}; + +/* + * these are the tables used by the machine code handlers. + * you can implement pseudo-tty's or something by changing + * them. Currently not done. + */ +struct tty_queue * table_list[]={ + &tty_table[0].read_q, &tty_table[0].write_q, + &tty_table[1].read_q, &tty_table[1].write_q, + &tty_table[2].read_q, &tty_table[2].write_q + }; + +void tty_init(void) +{ + rs_init(); + con_init(); +} + +void tty_intr(struct tty_struct * tty, int mask) +{ + int i; + + if (tty->pgrp <= 0) + return; + for (i=0;ipgrp==tty->pgrp) + task[i]->signal |= mask; +} + +static void sleep_if_empty(struct tty_queue * queue) +{ + cli(); + while (!current->signal && EMPTY(*queue)) + interruptible_sleep_on(&queue->proc_list); + sti(); +} + +static void sleep_if_full(struct tty_queue * queue) +{ + if (!FULL(*queue)) + return; + cli(); + while (!current->signal && LEFT(*queue)<128) + interruptible_sleep_on(&queue->proc_list); + sti(); +} + +void wait_for_keypress(void) +{ + sleep_if_empty(&tty_table[0].secondary); +} + +void copy_to_cooked(struct tty_struct * tty) +{ + signed char c; + + while (!EMPTY(tty->read_q) && !FULL(tty->secondary)) { + GETCH(tty->read_q,c); + if (c==13) + if (I_CRNL(tty)) + c=10; + else if (I_NOCR(tty)) + continue; + else ; + else if (c==10 && I_NLCR(tty)) + c=13; + if (I_UCLC(tty)) + c=tolower(c); + if (L_CANON(tty)) { + if (c==KILL_CHAR(tty)) { + /* deal with killing the input line */ + while(!(EMPTY(tty->secondary) || + (c=LAST(tty->secondary))==10 || + c==EOF_CHAR(tty))) { + if (L_ECHO(tty)) { + if (c<32) + PUTCH(127,tty->write_q); + PUTCH(127,tty->write_q); + tty->write(tty); + } + DEC(tty->secondary.head); + } + continue; + } + if (c==ERASE_CHAR(tty)) { + if (EMPTY(tty->secondary) || + (c=LAST(tty->secondary))==10 || + c==EOF_CHAR(tty)) + continue; + if (L_ECHO(tty)) { + if (c<32) + PUTCH(127,tty->write_q); + PUTCH(127,tty->write_q); + tty->write(tty); + } + DEC(tty->secondary.head); + continue; + } + if (c==STOP_CHAR(tty)) { + tty->stopped=1; + continue; + } + if (c==START_CHAR(tty)) { + tty->stopped=0; + continue; + } + } + if (L_ISIG(tty)) { + if (c==INTR_CHAR(tty)) { + tty_intr(tty,INTMASK); + continue; + } + if (c==QUIT_CHAR(tty)) { + tty_intr(tty,QUITMASK); + continue; + } + } + if (c==10 || c==EOF_CHAR(tty)) + tty->secondary.data++; + if (L_ECHO(tty)) { + if (c==10) { + PUTCH(10,tty->write_q); + PUTCH(13,tty->write_q); + } else if (c<32) { + if (L_ECHOCTL(tty)) { + PUTCH('^',tty->write_q); + PUTCH(c+64,tty->write_q); + } + } else + PUTCH(c,tty->write_q); + tty->write(tty); + } + PUTCH(c,tty->secondary); + } + wake_up(&tty->secondary.proc_list); +} + +int tty_read(unsigned channel, char * buf, int nr) +{ + struct tty_struct * tty; + char c, * b=buf; + int minimum,time,flag=0; + long oldalarm; + + if (channel>2 || nr<0) return -1; + tty = &tty_table[channel]; + oldalarm = current->alarm; + time = 10L*tty->termios.c_cc[VTIME]; + minimum = tty->termios.c_cc[VMIN]; + if (time && !minimum) { + minimum=1; + if (flag=(!oldalarm || time+jiffiesalarm = time+jiffies; + } + if (minimum>nr) + minimum=nr; + while (nr>0) { + if (flag && (current->signal & ALRMMASK)) { + current->signal &= ~ALRMMASK; + break; + } + if (current->signal) + break; + if (EMPTY(tty->secondary) || (L_CANON(tty) && + !tty->secondary.data && LEFT(tty->secondary)>20)) { + sleep_if_empty(&tty->secondary); + continue; + } + do { + GETCH(tty->secondary,c); + if (c==EOF_CHAR(tty) || c==10) + tty->secondary.data--; + if (c==EOF_CHAR(tty) && L_CANON(tty)) + return (b-buf); + else { + put_fs_byte(c,b++); + if (!--nr) + break; + } + } while (nr>0 && !EMPTY(tty->secondary)); + if (time && !L_CANON(tty)) + if (flag=(!oldalarm || time+jiffiesalarm = time+jiffies; + else + current->alarm = oldalarm; + if (L_CANON(tty)) { + if (b-buf) + break; + } else if (b-buf >= minimum) + break; + } + current->alarm = oldalarm; + if (current->signal && !(b-buf)) + return -EINTR; + return (b-buf); +} + +int tty_write(unsigned channel, char * buf, int nr) +{ + static cr_flag=0; + struct tty_struct * tty; + char c, *b=buf; + + if (channel>2 || nr<0) return -1; + tty = channel + tty_table; + while (nr>0) { + sleep_if_full(&tty->write_q); + if (current->signal) + break; + while (nr>0 && !FULL(tty->write_q)) { + c=get_fs_byte(b); + if (O_POST(tty)) { + if (c=='\r' && O_CRNL(tty)) + c='\n'; + else if (c=='\n' && O_NLRET(tty)) + c='\r'; + if (c=='\n' && !cr_flag && O_NLCR(tty)) { + cr_flag = 1; + PUTCH(13,tty->write_q); + continue; + } + if (O_LCUC(tty)) + c=toupper(c); + } + b++; nr--; + cr_flag = 0; + PUTCH(c,tty->write_q); + } + tty->write(tty); + if (nr>0) + schedule(); + } + return (b-buf); +} + +/* + * Jeh, sometimes I really like the 386. + * This routine is called from an interrupt, + * and there should be absolutely no problem + * with sleeping even in an interrupt (I hope). + * Of course, if somebody proves me wrong, I'll + * hate intel for all time :-). We'll have to + * be careful and see to reinstating the interrupt + * chips before calling this, though. + * + * I don't think we sleep here under normal circumstances + * anyway, which is good, as the task sleeping might be + * totally innocent. + */ +void do_tty_interrupt(int tty) +{ + copy_to_cooked(tty_table+tty); +} + +void chr_dev_init(void) +{ +} diff --git a/linux-0.11-lab/cur/linux/kernel/chr_drv/tty_io.o b/linux-0.11-lab/cur/linux/kernel/chr_drv/tty_io.o new file mode 100644 index 0000000000000000000000000000000000000000..649bc7813ba9c2ba657f367e157600043549baf1 GIT binary patch literal 22500 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 NtP8XgR +#include + +#include +#include +#include + +#include +#include +#include + +static unsigned short quotient[] = { + 0, 2304, 1536, 1047, 857, + 768, 576, 384, 192, 96, + 64, 48, 24, 12, 6, 3 +}; + +static void change_speed(struct tty_struct * tty) +{ + unsigned short port,quot; + + if (!(port = tty->read_q.data)) + return; + quot = quotient[tty->termios.c_cflag & CBAUD]; + cli(); + outb_p(0x80,port+3); /* set DLAB */ + outb_p(quot & 0xff,port); /* LS of divisor */ + outb_p(quot >> 8,port+1); /* MS of divisor */ + outb(0x03,port+3); /* reset DLAB */ + sti(); +} + +static void flush(struct tty_queue * queue) +{ + cli(); + queue->head = queue->tail; + sti(); +} + +static void wait_until_sent(struct tty_struct * tty) +{ + /* do nothing - not implemented */ +} + +static void send_break(struct tty_struct * tty) +{ + /* do nothing - not implemented */ +} + +static int get_termios(struct tty_struct * tty, struct termios * termios) +{ + int i; + + verify_area(termios, sizeof (*termios)); + for (i=0 ; i< (sizeof (*termios)) ; i++) + put_fs_byte( ((char *)&tty->termios)[i] , i+(char *)termios ); + return 0; +} + +static int set_termios(struct tty_struct * tty, struct termios * termios) +{ + int i; + + for (i=0 ; i< (sizeof (*termios)) ; i++) + ((char *)&tty->termios)[i]=get_fs_byte(i+(char *)termios); + change_speed(tty); + return 0; +} + +static int get_termio(struct tty_struct * tty, struct termio * termio) +{ + int i; + struct termio tmp_termio; + + verify_area(termio, sizeof (*termio)); + tmp_termio.c_iflag = tty->termios.c_iflag; + tmp_termio.c_oflag = tty->termios.c_oflag; + tmp_termio.c_cflag = tty->termios.c_cflag; + tmp_termio.c_lflag = tty->termios.c_lflag; + tmp_termio.c_line = tty->termios.c_line; + for(i=0 ; i < NCC ; i++) + tmp_termio.c_cc[i] = tty->termios.c_cc[i]; + for (i=0 ; i< (sizeof (*termio)) ; i++) + put_fs_byte( ((char *)&tmp_termio)[i] , i+(char *)termio ); + return 0; +} + +/* + * This only works as the 386 is low-byt-first + */ +static int set_termio(struct tty_struct * tty, struct termio * termio) +{ + int i; + struct termio tmp_termio; + + for (i=0 ; i< (sizeof (*termio)) ; i++) + ((char *)&tmp_termio)[i]=get_fs_byte(i+(char *)termio); + *(unsigned short *)&tty->termios.c_iflag = tmp_termio.c_iflag; + *(unsigned short *)&tty->termios.c_oflag = tmp_termio.c_oflag; + *(unsigned short *)&tty->termios.c_cflag = tmp_termio.c_cflag; + *(unsigned short *)&tty->termios.c_lflag = tmp_termio.c_lflag; + tty->termios.c_line = tmp_termio.c_line; + for(i=0 ; i < NCC ; i++) + tty->termios.c_cc[i] = tmp_termio.c_cc[i]; + change_speed(tty); + return 0; +} + +int tty_ioctl(int dev, int cmd, int arg) +{ + struct tty_struct * tty; + if (MAJOR(dev) == 5) { + dev=current->tty; + if (dev<0) + panic("tty_ioctl: dev<0"); + } else + dev=MINOR(dev); + tty = dev + tty_table; + switch (cmd) { + case TCGETS: + return get_termios(tty,(struct termios *) arg); + case TCSETSF: + flush(&tty->read_q); /* fallthrough */ + case TCSETSW: + wait_until_sent(tty); /* fallthrough */ + case TCSETS: + return set_termios(tty,(struct termios *) arg); + case TCGETA: + return get_termio(tty,(struct termio *) arg); + case TCSETAF: + flush(&tty->read_q); /* fallthrough */ + case TCSETAW: + wait_until_sent(tty); /* fallthrough */ + case TCSETA: + return set_termio(tty,(struct termio *) arg); + case TCSBRK: + if (!arg) { + wait_until_sent(tty); + send_break(tty); + } + return 0; + case TCXONC: + return -EINVAL; /* not implemented */ + case TCFLSH: + if (arg==0) + flush(&tty->read_q); + else if (arg==1) + flush(&tty->write_q); + else if (arg==2) { + flush(&tty->read_q); + flush(&tty->write_q); + } else + return -EINVAL; + return 0; + case TIOCEXCL: + return -EINVAL; /* not implemented */ + case TIOCNXCL: + return -EINVAL; /* not implemented */ + case TIOCSCTTY: + return -EINVAL; /* set controlling term NI */ + case TIOCGPGRP: + verify_area((void *) arg,4); + put_fs_long(tty->pgrp,(unsigned long *) arg); + return 0; + case TIOCSPGRP: + tty->pgrp=get_fs_long((unsigned long *) arg); + return 0; + case TIOCOUTQ: + verify_area((void *) arg,4); + put_fs_long(CHARS(tty->write_q),(unsigned long *) arg); + return 0; + case TIOCINQ: + verify_area((void *) arg,4); + put_fs_long(CHARS(tty->secondary), + (unsigned long *) arg); + return 0; + case TIOCSTI: + return -EINVAL; /* not implemented */ + case TIOCGWINSZ: + return -EINVAL; /* not implemented */ + case TIOCSWINSZ: + return -EINVAL; /* not implemented */ + case TIOCMGET: + return -EINVAL; /* not implemented */ + case TIOCMBIS: + return -EINVAL; /* not implemented */ + case TIOCMBIC: + return -EINVAL; /* not implemented */ + case TIOCMSET: + return -EINVAL; /* not implemented */ + case TIOCGSOFTCAR: + return -EINVAL; /* not implemented */ + case TIOCSSOFTCAR: + return -EINVAL; /* not implemented */ + default: + return -EINVAL; + } +} diff --git a/linux-0.11-lab/cur/linux/kernel/chr_drv/tty_ioctl.o b/linux-0.11-lab/cur/linux/kernel/chr_drv/tty_ioctl.o new file mode 100644 index 0000000000000000000000000000000000000000..6d9237dada723dc47381236cfebe028c99834d58 GIT binary patch literal 10644 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 tv&ImRdz$Ank>@Uv=PB`k#z!>r+@k!X# +#include +#include + +#include +#include +#include +#include + +int sys_pause(void); +int sys_close(int fd); + +void release(struct task_struct * p) +{ + int i; + + if (!p) + return; + for (i=1 ; i32) + return -EINVAL; + if (priv || (current->euid==p->euid) || suser()) + p->signal |= (1<<(sig-1)); + else + return -EPERM; + return 0; +} + +static void kill_session(void) +{ + struct task_struct **p = NR_TASKS + task; + + while (--p > &FIRST_TASK) { + if (*p && (*p)->session == current->session) + (*p)->signal |= 1<<(SIGHUP-1); + } +} + +/* + * XXX need to check permissions needed to send signals to process + * groups, etc. etc. kill() permissions semantics are tricky! + */ +int sys_kill(int pid,int sig) +{ + struct task_struct **p = NR_TASKS + task; + int err, retval = 0; + + if (!pid) while (--p > &FIRST_TASK) { + if (*p && (*p)->pgrp == current->pid) + if (err=send_sig(sig,*p,1)) + retval = err; + } else if (pid>0) while (--p > &FIRST_TASK) { + if (*p && (*p)->pid == pid) + if (err=send_sig(sig,*p,0)) + retval = err; + } else if (pid == -1) while (--p > &FIRST_TASK) + if (err = send_sig(sig,*p,0)) + retval = err; + else while (--p > &FIRST_TASK) + if (*p && (*p)->pgrp == -pid) + if (err = send_sig(sig,*p,0)) + retval = err; + return retval; +} + +static void tell_father(int pid) +{ + int i; + + if (pid) + for (i=0;ipid != pid) + continue; + task[i]->signal |= (1<<(SIGCHLD-1)); + return; + } +/* if we don't find any fathers, we just release ourselves */ +/* This is not really OK. Must change it to make father 1 */ + printk("BAD BAD - no father found\n\r"); + release(current); +} + +int do_exit(long code) +{ + int i; + + free_page_tables(get_base(current->ldt[1]),get_limit(0x0f)); + free_page_tables(get_base(current->ldt[2]),get_limit(0x17)); + for (i=0 ; ifather == current->pid) { + task[i]->father = 1; + if (task[i]->state == TASK_ZOMBIE) + /* assumption task[1] is always init */ + (void) send_sig(SIGCHLD, task[1], 1); + } + for (i=0 ; ifilp[i]) + sys_close(i); + iput(current->pwd); + current->pwd=NULL; + iput(current->root); + current->root=NULL; + iput(current->executable); + current->executable=NULL; + if (current->leader && current->tty >= 0) + tty_table[current->tty].pgrp = 0; + if (last_task_used_math == current) + last_task_used_math = NULL; + if (current->leader) + kill_session(); + current->state = TASK_ZOMBIE; + current->exit_code = code; + tell_father(current->father); + schedule(); + return (-1); /* just to suppress warnings */ +} + +int sys_exit(int error_code) +{ + return do_exit((error_code&0xff)<<8); +} + +int sys_waitpid(pid_t pid,unsigned long * stat_addr, int options) +{ + int flag, code; + struct task_struct ** p; + + verify_area(stat_addr,4); +repeat: + flag=0; + for(p = &LAST_TASK ; p > &FIRST_TASK ; --p) { + if (!*p || *p == current) + continue; + if ((*p)->father != current->pid) + continue; + if (pid>0) { + if ((*p)->pid != pid) + continue; + } else if (!pid) { + if ((*p)->pgrp != current->pgrp) + continue; + } else if (pid != -1) { + if ((*p)->pgrp != -pid) + continue; + } + switch ((*p)->state) { + case TASK_STOPPED: + if (!(options & WUNTRACED)) + continue; + put_fs_long(0x7f,stat_addr); + return (*p)->pid; + case TASK_ZOMBIE: + current->cutime += (*p)->utime; + current->cstime += (*p)->stime; + flag = (*p)->pid; + code = (*p)->exit_code; + release(*p); + put_fs_long(code,stat_addr); + return flag; + default: + flag=1; + continue; + } + } + if (flag) { + if (options & WNOHANG) + return 0; + current->state=TASK_INTERRUPTIBLE; + schedule(); + if (!(current->signal &= ~(1<<(SIGCHLD-1)))) + goto repeat; + else + return -EINTR; + } + return -ECHILD; +} + + diff --git a/linux-0.11-lab/cur/linux/kernel/exit.o b/linux-0.11-lab/cur/linux/kernel/exit.o new file mode 100644 index 0000000000000000000000000000000000000000..cbe7c24cbc0eaa9d0ea78c184eef47914af32877 GIT binary patch literal 11160 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 + +#include +#include +#include +#include + +extern void write_verify(unsigned long address); + +long last_pid=0; + +void verify_area(void * addr,int size) +{ + unsigned long start; + + start = (unsigned long) addr; + size += start & 0xfff; + start &= 0xfffff000; + start += get_base(current->ldt[2]); + while (size>0) { + size -= 4096; + write_verify(start); + start += 4096; + } +} + +int copy_mem(int nr,struct task_struct * p) +{ + unsigned long old_data_base,new_data_base,data_limit; + unsigned long old_code_base,new_code_base,code_limit; + + code_limit=get_limit(0x0f); + data_limit=get_limit(0x17); + old_code_base = get_base(current->ldt[1]); + old_data_base = get_base(current->ldt[2]); + if (old_data_base != old_code_base) + panic("We don't support separate I&D"); + if (data_limit < code_limit) + panic("Bad data_limit"); + new_data_base = new_code_base = nr * 0x4000000; + p->start_code = new_code_base; + set_base(p->ldt[1],new_code_base); + set_base(p->ldt[2],new_data_base); + if (copy_page_tables(old_data_base,new_data_base,data_limit)) { + free_page_tables(new_data_base,data_limit); + return -ENOMEM; + } + return 0; +} + +/* + * Ok, this is the main fork-routine. It copies the system process + * information (task[nr]) and sets up the necessary registers. It + * also copies the data segment in it's entirety. + */ +int copy_process(int nr,long ebp,long edi,long esi,long gs,long none, + long ebx,long ecx,long edx, + long fs,long es,long ds, + long eip,long cs,long eflags,long esp,long ss) +{ + struct task_struct *p; + int i; + struct file *f; + + p = (struct task_struct *) get_free_page(); + if (!p) + return -EAGAIN; + task[nr] = p; + __asm__ volatile ("cld"); /* by wyj */ + *p = *current; /* NOTE! this doesn't copy the supervisor stack */ + p->state = TASK_UNINTERRUPTIBLE; + p->pid = last_pid; + p->father = current->pid; + p->counter = p->priority; + p->signal = 0; + p->alarm = 0; + p->leader = 0; /* process leadership doesn't inherit */ + p->utime = p->stime = 0; + p->cutime = p->cstime = 0; + p->start_time = jiffies; + p->tss.back_link = 0; + p->tss.esp0 = PAGE_SIZE + (long) p; + p->tss.ss0 = 0x10; + p->tss.eip = eip; + p->tss.eflags = eflags; + p->tss.eax = 0; + p->tss.ecx = ecx; + p->tss.edx = edx; + p->tss.ebx = ebx; + p->tss.esp = esp; + p->tss.ebp = ebp; + p->tss.esi = esi; + p->tss.edi = edi; + p->tss.es = es & 0xffff; + p->tss.cs = cs & 0xffff; + p->tss.ss = ss & 0xffff; + p->tss.ds = ds & 0xffff; + p->tss.fs = fs & 0xffff; + p->tss.gs = gs & 0xffff; + p->tss.ldt = _LDT(nr); + p->tss.trace_bitmap = 0x80000000; + if (last_task_used_math == current) + __asm__("clts ; fnsave %0"::"m" (p->tss.i387)); + if (copy_mem(nr,p)) { + task[nr] = NULL; + free_page((long) p); + return -EAGAIN; + } + for (i=0; ifilp[i]) + f->f_count++; + if (current->pwd) + current->pwd->i_count++; + if (current->root) + current->root->i_count++; + if (current->executable) + current->executable->i_count++; + set_tss_desc(gdt+(nr<<1)+FIRST_TSS_ENTRY,&(p->tss)); + set_ldt_desc(gdt+(nr<<1)+FIRST_LDT_ENTRY,&(p->ldt)); + p->state = TASK_RUNNING; /* do this last, just in case */ + return last_pid; +} + +int find_empty_process(void) +{ + int i; + + repeat: + if ((++last_pid)<0) last_pid=1; + for(i=0 ; ipid == last_pid) goto repeat; + for(i=1 ; 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 tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: diff --git a/linux-0.11-lab/cur/linux/kernel/math/math.a b/linux-0.11-lab/cur/linux/kernel/math/math.a new file mode 100644 index 0000000000000000000000000000000000000000..af6a92de910dce7d4fe836fdf979dc43c23015b1 GIT binary patch literal 6624 zcma)AZH!!189w*U?AdAOW4F88?KZ7ps#DoQcXoC=Y?sonr3+_s@?(S?u zq9;4|dESrnp7*@x+;i{U4cjfZRNc99G`+lyO^jbMu{A$7o=>N9%G7yHr?*Um{zq2| zAx!+L{M9YLTCnTwn&sOf5L~zEY8vRX&Czsc{IOgP!56O+d5k%cp9ls_A6@ymD`u`V z3W#x^Z#r=DuhXafOzZTKjDLD2 zGk^NQ%n5j(z9(}EP+9OZn=1=PGQ*XHnM|g#a4?guEKFzCS56+!q4}B?iIcBPAHMbMo9`&wy)XI$ALeux zT{_ohTY6(IKfi5bZgPHQ61HoxZs}m%oMt24uLBFTF zg@`g45jCF19x(31CBw~two0#&8SQ=_q8aUa7!ZkeISpT!X7?u8O(QlCLGRaSNpDte z-S;bldhLZ-k-iHPGH@?pxrpz)oY|2Nm+8;(;sAoZ5RupY4N1ud;Uo7m zTOp57aXood7T_swAdkr}Q-6RwA(^>67?;RD`2_im)c2anlN3J5vt}I zaZy-rCWoL4ENL@Ubmz2?F}ZSD7&cQar!3^B7Wi#db$Amn} zx>e2Ob+lNt)KG&vky~*GHf769E-*lef^Q~&MYl4Ac{ADOI5um2+)Or^L1i75=Y*N6 zm3<+rV-Q}$IG!iuZ7-tFyCycypWxraftXqE0g#yJ+6q3|earhC>o*A7t&$Y-A}G2G z^fu-FxON}qa8bDiqjg*4G5In27pK4zaw~mGAl}9pt9uY2AG%c~rJJ@I2jP(&50zxET_t zC(GFN3WS;*{toQ%5?5~%cZrC5 z037;J@*(*bTxE{o*NYyixSVS7`bF1!$n$l%g}0`Bn~r&U2)P}4c?o$m?s+*OC&*)R ziu$eO3Fya!oFwm+S5ki|`2h6eLT)1;ikI9iLS9C`K5jGd?c{0s6Z-EU&%|wOUdWx~ z!*RP5^38F(9P(V;E`~fGw>`w!MgK|Y!FQ8yhu#r#ihMWvf?rNP4ZVcMCfH4 zz`pr3v;#LoTK$v(dmp>~L3O^n1q-EEA9D_+#2^>K><{|& z!gEO)805l)wjqqLB&{Dr(aZt0@6Q~;aErpBK~y%h9315Oo2%bZX>A_FQkbiQPW$_~ z9YRxn5KChY2BsOrL$AT0*Y-8vKvm2k7Q#H!Tyq~$OARq}8wzZ0d=JVre#RqfBk-0B zJUZ6?2_wiak_uy$u`$&jkEGV6RvCS=cMW=FL_EF|DjaQ^#<2AVMI^N?ep!59Kkn0h zBa({8DH;%Ea?v&!$34B;xNt4?u`WUH6+H+@vU0V!a4qg;xW|G}bWf;YU16|fN3bsJ zf(~bhJ%+KbpRs#4AoeJ_ugW49cD``!zJAVO_s~}^SHt&pEv9ASso9@j9G2q1$5nEx zv&OEqVSu3fLqYdJbk}Lpe+|0p0#F>viu3znSQK~3ZP(iEP~fCNP4Pnw)s+{%MuhFR zAf|W$wnr_mE|zP&W8QMja%r^YG}`k*c=l}FZur?M zgLc07WlK!LKi0B67?Gss%r>kVICf9fw#r~g+ACFUO)GR%^XO7@>i^i8(Wn{e&6<;g zCu7gQ5Sxw7n&bVk9Zvt~nb;1~z;ry{a{U6Xr8!Zyy%MO~F8RW4lnZ6cw}fXEDm4pd zjPF_{yHIrey44a+p@ID8JP^xw>b7VH*Sh7+i3(m(ZCA8CyIkOm;N;o%oIphiC975| zxV8^nz1hb5rL$#nD~eERHp=vK?y?24!8b{**_g$9tuHF@EZZ=)oR%%Dn&sAo%{QQm z&Ws_#yqlFu0ol*nrM7PsYqlt2W(DSoum!J$If!zWkY33wWenmnvDYU zM6!-nNowOn!4bvLH>r1ROyY(70w=Qr^Vtp5afsa8&p%%(>w&AQ`{R9vfWkF=WD zLADEJqdB5>`AExc`gY03r!LmSaeZz#ESJhSD9GX>s{wHXs9lZaMJ7&xiy`U-r@{4w z(X~AU!!#YelT<17Z3KJOYLsg*2lux6#;%0DgNS!pjxXG1(--2ZJ$tsLhi@$6&S(dd z92svbY3#FO`D`w~DbV7Gn93iD>i`ju0Gw>QtkRk6SU7ik&oP&ZclM z3`3mMdOn6}yU(0TB~C{6r1qO{rV>+UQ?aR6>B~>`GJfGxitZxo9joKE0{U)%)sVS% zE$iF!zR0R$BU{A7G3z!1fyT03Y|moil_p#iw~9peQS?0~UE zw$!Ziz!cdA)-j9i5Ugv^$F3IC!mDimugeAS;*pLw71i>%c0K`UV_S#c3dMrUJ@~di z1d7L<>d$i*k7B_uVD`Zwt=bh~04;~&#gOU$zx;CWVV~eBg?B>;H$V;>$7SPx9>Um^ zABOM@Ub4a#+PMCm^LPvM;1>ty!5W0~*b5%^0TrJ>r&5O^q$N?3)k&YXgcSS!8~{m za~`ZuSeI4c9chc-Bi^^63tKpD=a{s;jzIgNzkQTDN1z;4W7C&slew&twBs$ZqeT|)%0L-WE4<_oSynmr=gKd&h*1A` zSyV(+1r|m4vl2@!f~@#P7=EVoA-_#aX5}63531RF;yn9K$l;mE{`=0epZ~1ud>D4V z{_)kJ;m?Vd)o@CSPw$S0NbN%&+Zd~epMe{B7HA^DhL%0b*hD|q@-Mah4a$8&{7&Qh zL~NFSYm8vQDf4VFaDyd?C^PpXk^kZ(V%rJ>n|%Wj_w2CNk80eZaatqm!hSp#h}?Tb zl|N9O13-2E0`JxKGa4V&__D@7YW%ate`-|uqkj+Q0bHl?LXBHA?$&s%#+xxW-c&AJq6YjZbO(p~hD + +#include +#include +#include + +void math_emulate(long edi, long esi, long ebp, long sys_call_ret, + long eax,long ebx,long ecx,long edx, + unsigned short fs,unsigned short es,unsigned short ds, + unsigned long eip,unsigned short cs,unsigned long eflags, + unsigned short ss, unsigned long esp) +{ + unsigned char first, second; + +/* 0x0007 means user code space */ + if (cs != 0x000F) { + printk("math_emulate: %04x:%08x\n\r",cs,eip); + panic("Math emulation needed in kernel"); + } + first = get_fs_byte((char *)((*&eip)++)); + second = get_fs_byte((char *)((*&eip)++)); + printk("%04x:%08x %02x %02x\n\r",cs,eip-2,first,second); + current->signal |= 1<<(SIGFPE-1); +} + +void math_error(void) +{ + __asm__("fnclex"); + if (last_task_used_math) + last_task_used_math->signal |= 1<<(SIGFPE-1); +} diff --git a/linux-0.11-lab/cur/linux/kernel/math/math_emulate.o b/linux-0.11-lab/cur/linux/kernel/math/math_emulate.o new file mode 100644 index 0000000000000000000000000000000000000000..144cd503e12416d76b8c526ae983c6644f246c33 GIT binary patch literal 6460 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 + +/* + * This isn't the library routine, it is only used in the kernel. + * as such, we don't care about years<1970 etc, but assume everything + * is ok. Similarly, TZ etc is happily ignored. We just do everything + * as easily as possible. Let's find something public for the library + * routines (although I think minix times is public). + */ +/* + * PS. I hate whoever though up the year 1970 - couldn't they have gotten + * a leap-year instead? I also hate Gregorius, pope or no. I'm grumpy. + */ +#define MINUTE 60 +#define HOUR (60*MINUTE) +#define DAY (24*HOUR) +#define YEAR (365*DAY) + +/* interestingly, we assume leap-years */ +static int month[12] = { + 0, + DAY*(31), + DAY*(31+29), + DAY*(31+29+31), + DAY*(31+29+31+30), + DAY*(31+29+31+30+31), + DAY*(31+29+31+30+31+30), + DAY*(31+29+31+30+31+30+31), + DAY*(31+29+31+30+31+30+31+31), + DAY*(31+29+31+30+31+30+31+31+30), + DAY*(31+29+31+30+31+30+31+31+30+31), + DAY*(31+29+31+30+31+30+31+31+30+31+30) +}; + +long kernel_mktime(struct tm * tm) +{ + long res; + int year; + if (tm->tm_year < 70 ) tm->tm_year += 100; /* gohigh */ + year = tm->tm_year - 70; +/* magic offsets (y+1) needed to get leapyears right.*/ + res = YEAR*year + DAY*((year+1)/4); + res += month[tm->tm_mon]; +/* and (y+2) here. If it wasn't a leap-year, we have to adjust */ + if (tm->tm_mon>1 && ((year+2)%4)) + res -= DAY; + res += DAY*(tm->tm_mday-1); + res += HOUR*tm->tm_hour; + res += MINUTE*tm->tm_min; + res += tm->tm_sec; + return res; +} diff --git a/linux-0.11-lab/cur/linux/kernel/mktime.o b/linux-0.11-lab/cur/linux/kernel/mktime.o new file mode 100644 index 0000000000000000000000000000000000000000..6bec513fa96b422f0b693aebe63f8644d5f0acbb GIT binary patch literal 2868 zcma)8U1%It6h3!mHraGH+f8=c=BLKwv}hC4A7V?5rNx&**q=#u>F#XY zowZFZ?aC4~gg(?CL=Y+nA}CVu#UGTk`p^f#3W`2S@kJj5?Sl~LLp|S}dy`3D^uXNn zopbK_x#!HC-K$4W9uq>4CP5~xOGN1o-!dlI5GARH+JDBEkED~!v>AUNLX2 z8m#g+ixuVdh{IiRhhsO?y>b*@~d;6{CI6TwL+OuT;{}*7JgVpXjye zhyR&F$D8H@ppt7zKToiH3$?Cgp0*y@i6iSUy1;1r+xRzrTjkpNb%_Z&mx<{L2-4Tcpc8_9-;CSD$rYniP0}pr&nY^&jBX-9U5i>Rz>k+*j@ogL>O_9jc ztm1Yggc*)R4n__|M1tGUO=b+jRN_E{L#T~mq7GXe?)Pnv_fI7dYP|35XZqpQ86q?6 zdl`M)w6P6h7mF$;teZA-@+tO;2r-p_dvqsFC9<53w)114Xf;(JJx1UPKL+9U3GpD- z&8xhuXrgUr%Wk34EILHh^Io~?*af&qRPt|eNX9mY#bIuj==h=|ocP5!mk94t;?Hfv zP8fR<;V*BTFf5MVbQ|S4*D0njIjDwBY2VsoW?wJZh9L zIo`s&L)lWT>SWz!(aY8vSq|U4m>IE0M>CaNK0D$ovVJ6aJQbyiW76@-$%Cn(v-zg$ zHT~mco@h#G^vdX%Ju)`zYx!EB`%L1}X%d&iVlZl1ukob#6_9g=P0n^QmNX|sOx|O= zu~7ALd9oW`-RC8Z>Q2S>oQodW#hjNTJKt!K4Q0{EH|J)`?re=s66f;yy7N-dnycsB zIlfZ?2lQ1ta1OEywQAMjIomF`)#icuZT5Yf(u^Dps{VhpgSYWJ1L!v-4U zr%NJ#IkSmx5W`-6um^pCjE@0i|5g*VSQuehQ%Zro%&}kZyQvc?yB6gwQaUi~OKT&` z8X`xqzH?mPXRJegA%1jyWwCxnj!MsWSK*U*x zyf~lE%lCaly!SZXJnJ;+csW)Cj@ErRB=h)0P-IpH5`W;|MEspm- zfFhkYm=mTW9Q<$Q{9z{kfspagcjOGl8{?)u#yU+po|ZKa>MgqeQ0u`r{=0%4%mCRU z%m##c;Qv^VO!)?`YfO^A@oNfGPIygZZyn9onG{_&GBV|f*HtE=qw8c+w|obo!Cmgf z#MVCj{x8GEZ!poDyjO79_znmz4;clQf%$-MQM@0Vhrbh?n?0oTS;Y@4enRmV6fY=V xQ~YJcUse1K#rdC<%=f9{Ux9PJ-<2HWqoAII;yb`~-CR800qmbpJjL8#`CmPqonrt1 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/kernel/panic.c b/linux-0.11-lab/cur/linux/kernel/panic.c new file mode 100644 index 0000000..7d8a06b --- /dev/null +++ b/linux-0.11-lab/cur/linux/kernel/panic.c @@ -0,0 +1,24 @@ +/* + * linux/kernel/panic.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * This function is used through-out the kernel (includeinh mm and fs) + * to indicate a major problem. + */ +#include +#include + +void sys_sync(void); /* it's really int */ + +volatile void panic(const char * s) +{ + printk("Kernel panic: %s\n\r",s); + if (current == task[0]) + printk("In swapper task - not syncing\n\r"); + else + sys_sync(); + for(;;); +} diff --git a/linux-0.11-lab/cur/linux/kernel/panic.o b/linux-0.11-lab/cur/linux/kernel/panic.o new file mode 100644 index 0000000000000000000000000000000000000000..8c9e7191b1c2d678c3dc637c3db2a206b7de8cbe GIT binary patch literal 5420 zcma)Ae~esJ6~6D?x4ZA{%x<^cEw*Vxr*R7l?ac1B+jjelF749pLd6O#v_P4@dGluH zb?2Awy`j5U!Jx)cB(YJ@Kfp-fKQ-`=F-AzxL?I?djU;HIh6Icds|1ZkMX29*-+j}m z|L9HTecw6voO91T_uhGT=HXk895M_;q|FdgT#L@2BTSpl#g4Go>~Ax`JpnvtOsALWDB*zVOk?_qFl+WN(Cl8C9WtFS zFn|)~Oy>{uQNpdrjlz9Q=ZNXdF`ZKsj+)N%^ijew)A_I?oG_i4j&PspJl7FUo6czl zxSxZT&HgxE7V>lnLe+HcWRJ_98ftJBxs`s4bX%q~%d9;LF{aIQ$`qDN=f@O$*7}_3 zv^Y*>9hT=aW`C_53t63n@NokY6?8DT%wjJ!#{-F}t4MZUv+mhnGHzEhY!oQJHKm9+mtqc#T+c7{d|kel{h9@Z_yRC0Bj=d3z-fbnS z?NQoH?SoBL4AOK3^$5%eLm6u?z#K;WnjCupTzcFcH*gmU8Ij*eZpoN@Gr27*K}*Oj zN`SAz5iQg)ESdfI~k{zQ&$Gd^y4J>qV9-ZWpyVhK0EunZG8t@#xz-XgEa+ zVP7QQPHxF4nh`VY4Rca>$KlRJ_7w#A$OCnkzTk>$UWrirO(9o zlIQFJj4St%k4oQN67nYUG3k3L-y;2T$|s~>O8J!ZBgENH`)TOGXUO+L9|(Cf`3!u) z50KA7FXTbeImvR(k{&^pLf%4pRF**xksgy3(8HuB3ve2xq0%__KkSTTgl7z z>*Ti`L_Mn_`)4dR&!{Tx29ezi&W|p2#^MRgZi36rsn!%LCr~(J2uk(3FrM~) z#JtGO5`Yaq0*fpU*+Z%GelhYjR`GlTnvp!|1sVurrLk#nI3oww4X!j+^$vYRZ8ABS z$?VST$r!^h91zl`Fh4w%j0`#N-Yy{AK4B&K$ zJwo8c*a;6YvjXAgF>KZ_=7%}{z(z4YJPyaf)yDN}saeqj4K~thas65$Ru+u?Ym))4 zU&}entaD32ox7Gkl$L8=2~)vw!Vg1i)6ur18Pz)RT`r9VWz6;HLOAo`&)M z-~gWLroqK16vl&wS8JF3@mkPmFNrQiv>bJb_zve~q2Mua)pyHgfO@MW<&d$@-uL@o3DYu8nkKS|VmFM7czTPX>_;AG*!E)KH_FAb z8@nQMiVgM-0n^wQwPs@>#~V%s zCS@O;t)S%#x8{a*;q!%G(G#U_T83t&QbaM9e6Jn5rJA2Cgeak0MHT?Ti%|=O5$y&G z?w9o#UXn%;Iiosi@T)9>A}L@{7$zk(nahK$~&?+!7*EqXi3*A7ehHTGLzf%W!_M+3?j`tEhgm(wK;= zY7GNbtH_TclwNr4F!WJE+y>GDd6AkR43lk;R>7;fp-@G@Ca46cT&38;%K}vGo_1Yt zP|;clTf%34%BP0y4Hw>mIk_N=xqz6ril2;zJ*oECc(qyg#~bZ(Jl>3wLzJH=Oit!& zZfSfXQH(FD>o#I>je{bmF6zag!7^f1xjX@i%3Z@j(}`h>s@o{nkPB$&N7!YYiuR0> zXlLCZ7Gbj)3vu}1!QHvB<0S-YC)+%~wXLMdhbE^A6H_-NTEU+LY{r9k2;-b>tjk)~ zc^qecIrHm;O?`zN9L$MAv|Pu|1IA&3)s%&Ptq}W5u_&m6S}5U7QwW=hz|OK?YA+z) zN)slEyQNZy?NYeX>xOP)0WYpD6^~o$fU!iuYu4*r_5yyB_ywHfgr?8-SZe-rEbw`9yCwqG1uh- zDt7guuWNvm-t%8}`!J~-9dt|W?teF%S;HeL&IE8rMAki)D3m|vL zTaS3GC*$E2+ljXfP9N5h?E@Iir$vX%K7Kx@F||8{pRc_1q%F03918NZwfHl)tEGL< zKu6wLH`s0Ivg3T&p2nwp9;03JV13fMV7qnp3aEGr@xDo-TRLv{nC$uzg7CJ*bB>#i zipRJdv#Si^Wem`rUm6c)SG8`vCEmN--Ffvt6^!3K0_AkpiI)_(Cv`R1IfZFISM*Ag zS5=DfxYAde6!`O^t4XnF|QoL8Px1LqN2 zKp6eFIBLY!QL>7Ijkl39CU~9J&ucuY@otUxYpiLEG%jiUyv7R}zpC+Bjn8ZRzQ$KH z{!-%`8vms6UmE+cnVA1Zje9iCX*{m6r16}_M>X>IFa2N8_>#t-XnbAcTN>Zf_@TxO zYD9nj^+MdQ@rcHg8Y>$4&xaaM +#include + +#include + +static char buf[1024]; + +extern int vsprintf(char * buf, const char * fmt, va_list args); + +int printk(const char *fmt, ...) +{ + va_list args; + int i; + + va_start(args, fmt); + i=vsprintf(buf,fmt,args); + va_end(args); + __asm__("push %%fs\n\t" + "push %%ds\n\t" + "pop %%fs\n\t" + "pushl %0\n\t" + "pushl $buf\n\t" + "pushl $0\n\t" + "call tty_write\n\t" + "addl $8,%%esp\n\t" + "popl %0\n\t" + "pop %%fs" + ::"r" (i):"ax","cx","dx"); + return i; +} diff --git a/linux-0.11-lab/cur/linux/kernel/printk.o b/linux-0.11-lab/cur/linux/kernel/printk.o new file mode 100644 index 0000000000000000000000000000000000000000..9955ac0a44f36d5a107fbcc8c5e4265cc6e7169b GIT binary patch literal 2420 zcma)7&u<$=6n?Y2PMkP#>V!~7iON=TO8|N8fK^I?l9E6awTeWWB2W?0+Fsk+*z2&n z4oOwukb;OJkSYNZfw zp1=Qncz6gozxPTZKem5j?9P=I>#s+aorCnXu{(&(?;OltyUUjUpdX-*mSD(biEp5I zCw6`z=2{OxGs>8C;|yj)3>+{sQeR0n_$pZHCro1UeauW8EIwsvpwS6o_z+OLO@rwT zwj4ht#rBX(BF|ph?G_CiDc1{8aJ1ScCk3AvO)iWv+IL$#fe z>NDe242^i#Lj08-#Vl_R4o6s4$@OaOUfm(u@X@GstHvQgShxMA)ru}wN@mw5#mY|l zH$9X7;-Z#9mZg=e=7L$V&RP|-*s=Xu>uL9~vuA*7?YdcPn#D%99uUia4yS853@VlW?3%fqGyI#}md4b#XoVv+ph!q92X|J{2 zAf&*(;e^{84wYKnj#Kh_^{~_pO32*XDweIexnkR{mdcT$wC?zx(~fd-s-wNuTDBic zL`w?`=girw)t(pjqJ0$~?MZ3w&AEzIt~?ZJ3Exyi;>KkXH`8Kz#4z4PLrtjpIGE%S zT*#((w1sS0yO>R1xSN&Vg%xafLc2;<5c&~sDdanCD|EI(vg&qdlT{4@vRGMns=el# z>ovMCNo-fEzO$LM+P>{IoqGbf(JBBn$f|Wa9S04tJoMSZ2}XU7(m1U(c~;T-|IhpY zocJRjh@JV(NnSm+F->C(Nfb@r;zFB%;~4D2eSwPj3uZa`{)pZNPLj&^2$bxv{Px)? zdUP1c+{}4BDu(5KjGr0Aq-^{SCD->Wl5auB>q}v%_00pT7(luX;d2HtDcfbp3bQGP zFUVvNld`QqPS#z8a11)G%llJx9bgp$NOQ>d5`&nO&4!%JSBJoPINvaa%J&*D$MC+H zc9HLw2+EmlJZ{EZ`Mr#WKP)|>N%`?PF;=vr4klJ8+sBX@%LfJg7W|%yeVC~u%rA{M#Bakk4 z+*j$u9qp4&qemY6EstYGlYO(ipC|q$_a9XLiAJw0Z3YrFC=9pPUiaP5A^Bclj|IeQ zDEm0LfP9{1900!~0^8#i3tU(}U*=q&`4n?po|DXRSf^wC6EUBU`BKa;#r#F)hzn!+ X>zIGf9Q9>gOne8}Zz1L;xCZ$jnX(S- literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/kernel/sched.c b/linux-0.11-lab/cur/linux/kernel/sched.c new file mode 100644 index 0000000..15d839b --- /dev/null +++ b/linux-0.11-lab/cur/linux/kernel/sched.c @@ -0,0 +1,412 @@ +/* + * linux/kernel/sched.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * 'sched.c' is the main kernel file. It contains scheduling primitives + * (sleep_on, wakeup, schedule etc) as well as a number of simple system + * call functions (type getpid(), which just extracts a field from + * current-task + */ +#include +#include +#include +#include +#include +#include +#include + +#include + +#define _S(nr) (1<<((nr)-1)) +#define _BLOCKABLE (~(_S(SIGKILL) | _S(SIGSTOP))) + +void show_task(int nr,struct task_struct * p) +{ + int i,j = 4096-sizeof(struct task_struct); + + printk("%d: pid=%d, state=%d, ",nr,p->pid,p->state); + i=0; + while (i>2 ] ; + +struct { + long * a; + short b; + } stack_start = { & user_stack [PAGE_SIZE>>2] , 0x10 }; +/* + * 'math_state_restore()' saves the current math information in the + * old math state array, and gets the new ones from the current task + */ +void math_state_restore() +{ + if (last_task_used_math == current) + return; + __asm__("fwait"); + if (last_task_used_math) { + __asm__("fnsave %0"::"m" (last_task_used_math->tss.i387)); + } + last_task_used_math=current; + if (current->used_math) { + __asm__("frstor %0"::"m" (current->tss.i387)); + } else { + __asm__("fninit"::); + current->used_math=1; + } +} + +/* + * 'schedule()' is the scheduler function. This is GOOD CODE! There + * probably won't be any reason to change this, as it should work well + * in all circumstances (ie gives IO-bound processes good response etc). + * The one thing you might take a look at is the signal-handler code here. + * + * NOTE!! Task 0 is the 'idle' task, which gets called when no other + * tasks can run. It can not be killed, and it cannot sleep. The 'state' + * information in task[0] is never used. + */ +void schedule(void) +{ + int i,next,c; + struct task_struct ** p; + +/* check alarm, wake up any interruptible tasks that have got a signal */ + + for(p = &LAST_TASK ; p > &FIRST_TASK ; --p) + if (*p) { + if ((*p)->alarm && (*p)->alarm < jiffies) { + (*p)->signal |= (1<<(SIGALRM-1)); + (*p)->alarm = 0; + } + if (((*p)->signal & ~(_BLOCKABLE & (*p)->blocked)) && + (*p)->state==TASK_INTERRUPTIBLE) + (*p)->state=TASK_RUNNING; + } + +/* this is the scheduler proper: */ + + while (1) { + c = -1; + next = 0; + i = NR_TASKS; + p = &task[NR_TASKS]; + while (--i) { + if (!*--p) + continue; + if ((*p)->state == TASK_RUNNING && (*p)->counter > c) + c = (*p)->counter, next = i; + } + if (c) break; + for(p = &LAST_TASK ; p > &FIRST_TASK ; --p) + if (*p) + (*p)->counter = ((*p)->counter >> 1) + + (*p)->priority; + } + switch_to(next); +} + +int sys_pause(void) +{ + current->state = TASK_INTERRUPTIBLE; + schedule(); + return 0; +} + +void sleep_on(struct task_struct **p) +{ + struct task_struct *tmp; + + if (!p) + return; + if (current == &(init_task.task)) + panic("task[0] trying to sleep"); + tmp = *p; + *p = current; + current->state = TASK_UNINTERRUPTIBLE; + schedule(); + if (tmp) + tmp->state=0; +} + +void interruptible_sleep_on(struct task_struct **p) +{ + struct task_struct *tmp; + + if (!p) + return; + if (current == &(init_task.task)) + panic("task[0] trying to sleep"); + tmp=*p; + *p=current; +repeat: current->state = TASK_INTERRUPTIBLE; + schedule(); + if (*p && *p != current) { + (**p).state=0; + goto repeat; + } + *p=NULL; + if (tmp) + tmp->state=0; +} + +void wake_up(struct task_struct **p) +{ + if (p && *p) { + (**p).state=0; + *p=NULL; + } +} + +/* + * OK, here are some floppy things that shouldn't be in the kernel + * proper. They are here because the floppy needs a timer, and this + * was the easiest way of doing it. + */ +static struct task_struct * wait_motor[4] = {NULL,NULL,NULL,NULL}; +static int mon_timer[4]={0,0,0,0}; +static int moff_timer[4]={0,0,0,0}; +unsigned char current_DOR = 0x0C; + +int ticks_to_floppy_on(unsigned int nr) +{ + extern unsigned char selected; + unsigned char mask = 0x10 << nr; + + if (nr>3) + panic("floppy_on: nr>3"); + moff_timer[nr]=10000; /* 100 s = very big :-) */ + cli(); /* use floppy_off to turn it off */ + mask |= current_DOR; + if (!selected) { + mask &= 0xFC; + mask |= nr; + } + if (mask != current_DOR) { + outb(mask,FD_DOR); + if ((mask ^ current_DOR) & 0xf0) + mon_timer[nr] = HZ/2; + else if (mon_timer[nr] < 2) + mon_timer[nr] = 2; + current_DOR = mask; + } + sti(); + return mon_timer[nr]; +} + +void floppy_on(unsigned int nr) +{ + cli(); + while (ticks_to_floppy_on(nr)) + sleep_on(nr+wait_motor); + sti(); +} + +void floppy_off(unsigned int nr) +{ + moff_timer[nr]=3*HZ; +} + +void do_floppy_timer(void) +{ + int i; + unsigned char mask = 0x10; + + for (i=0 ; i<4 ; i++,mask <<= 1) { + if (!(mask & current_DOR)) + continue; + if (mon_timer[i]) { + if (!--mon_timer[i]) + wake_up(i+wait_motor); + } else if (!moff_timer[i]) { + current_DOR &= ~mask; + outb(current_DOR,FD_DOR); + } else + moff_timer[i]--; + } +} + +#define TIME_REQUESTS 64 + +static struct timer_list { + long jiffies; + void (*fn)(); + struct timer_list * next; +} timer_list[TIME_REQUESTS], * next_timer = NULL; + +void add_timer(long jiffies, void (*fn)(void)) +{ + struct timer_list * p; + + if (!fn) + return; + cli(); + if (jiffies <= 0) + (fn)(); + else { + for (p = timer_list ; p < timer_list + TIME_REQUESTS ; p++) + if (!p->fn) + break; + if (p >= timer_list + TIME_REQUESTS) + panic("No more time requests free"); + p->fn = fn; + p->jiffies = jiffies; + p->next = next_timer; + next_timer = p; + while (p->next && p->next->jiffies < p->jiffies) { + p->jiffies -= p->next->jiffies; + fn = p->fn; + p->fn = p->next->fn; + p->next->fn = fn; + jiffies = p->jiffies; + p->jiffies = p->next->jiffies; + p->next->jiffies = jiffies; + p = p->next; + } + } + sti(); +} + +void do_timer(long cpl) +{ + extern int beepcount; + extern void sysbeepstop(void); + + if (beepcount) + if (!--beepcount) + sysbeepstop(); + + if (cpl) + current->utime++; + else + current->stime++; + + if (next_timer) { + next_timer->jiffies--; + while (next_timer && next_timer->jiffies <= 0) { + void (*fn)(void); + + fn = next_timer->fn; + next_timer->fn = NULL; + next_timer = next_timer->next; + (fn)(); + } + } + if (current_DOR & 0xf0) + do_floppy_timer(); + if ((--current->counter)>0) return; + current->counter=0; + if (!cpl) return; + schedule(); +} + +int sys_alarm(long seconds) +{ + int old = current->alarm; + + if (old) + old = (old - jiffies) / HZ; + current->alarm = (seconds>0)?(jiffies+HZ*seconds):0; + return (old); +} + +int sys_getpid(void) +{ + return current->pid; +} + +int sys_getppid(void) +{ + return current->father; +} + +int sys_getuid(void) +{ + return current->uid; +} + +int sys_geteuid(void) +{ + return current->euid; +} + +int sys_getgid(void) +{ + return current->gid; +} + +int sys_getegid(void) +{ + return current->egid; +} + +int sys_nice(long increment) +{ + if (current->priority-increment>0) + current->priority -= increment; + return 0; +} + +void sched_init(void) +{ + int i; + struct desc_struct * p; + + if (sizeof(struct sigaction) != 16) + panic("Struct sigaction MUST be 16 bytes"); + set_tss_desc(gdt+FIRST_TSS_ENTRY,&(init_task.task.tss)); + set_ldt_desc(gdt+FIRST_LDT_ENTRY,&(init_task.task.ldt)); + p = gdt+2+FIRST_TSS_ENTRY; + for(i=1;ia=p->b=0; + p++; + p->a=p->b=0; + p++; + } +/* Clear NT, so that we won't have troubles with that later on */ + __asm__("pushfl ; andl $0xffffbfff,(%esp) ; popfl"); + ltr(0); + lldt(0); + outb_p(0x36,0x43); /* binary, mode 3, LSB/MSB, ch 0 */ + outb_p(LATCH & 0xff , 0x40); /* LSB */ + outb(LATCH >> 8 , 0x40); /* MSB */ + set_intr_gate(0x20,&timer_interrupt); + outb(inb_p(0x21)&~0x01,0x21); + set_system_gate(0x80,&system_call); +} diff --git a/linux-0.11-lab/cur/linux/kernel/sched.o b/linux-0.11-lab/cur/linux/kernel/sched.o new file mode 100644 index 0000000000000000000000000000000000000000..725b9fd4491fb4a6def8533390d7a4721b953df5 GIT binary patch literal 23040 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

    R)0H1E|O78N2>WD^Af%dRyyL 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 +#include +#include +#include +#include + +volatile void do_exit(int error_code); + +int sys_sgetmask() +{ + return current->blocked; +} + +int sys_ssetmask(int newmask) +{ + int old=current->blocked; + + current->blocked = newmask & ~(1<<(SIGKILL-1)); + return old; +} + +int sys_sigpending() +{ + return -ENOSYS; +} + +int sys_sigsuspend() +{ + return -ENOSYS; +} + +static inline void save_old(char * from,char * to) +{ + int i; + + verify_area(to, sizeof(struct sigaction)); + for (i=0 ; i< sizeof(struct sigaction) ; i++) { + put_fs_byte(*from,to); + from++; + to++; + } +} + +static inline void get_new(char * from,char * to) +{ + int i; + + for (i=0 ; i< sizeof(struct sigaction) ; i++) + *(to++) = get_fs_byte(from++); +} + +int sys_signal(int signum, long handler, long restorer) +{ + struct sigaction tmp; + + if (signum<1 || signum>32 || signum==SIGKILL) + return -1; + tmp.sa_handler = (void (*)(int)) handler; + tmp.sa_mask = 0; + tmp.sa_flags = SA_ONESHOT | SA_NOMASK; + tmp.sa_restorer = (void (*)(void)) restorer; + handler = (long) current->sigaction[signum-1].sa_handler; + current->sigaction[signum-1] = tmp; + return handler; +} + +int sys_sigaction(int signum, const struct sigaction * action, + struct sigaction * oldaction) +{ + struct sigaction tmp; + + if (signum<1 || signum>32 || signum==SIGKILL) + return -1; + tmp = current->sigaction[signum-1]; + get_new((char *) action, + (char *) (signum-1+current->sigaction)); + if (oldaction) + save_old((char *) &tmp,(char *) oldaction); + if (current->sigaction[signum-1].sa_flags & SA_NOMASK) + current->sigaction[signum-1].sa_mask = 0; + else + current->sigaction[signum-1].sa_mask |= (1<<(signum-1)); + return 0; +} + +void do_signal(long signr,long eax, long ebx, long ecx, long edx, + long fs, long es, long ds, + long eip, long cs, long eflags, + unsigned long * esp, long ss) +{ + unsigned long sa_handler; + long old_eip=eip; + struct sigaction * sa = current->sigaction + signr - 1; + int longs; + unsigned long * tmp_esp; + + sa_handler = (unsigned long) sa->sa_handler; + if (sa_handler==1) + return; + if (!sa_handler) { + if (signr==SIGCHLD) + return; + else + do_exit(1<<(signr-1)); + } + if (sa->sa_flags & SA_ONESHOT) + sa->sa_handler = NULL; + *(&eip) = sa_handler; + longs = (sa->sa_flags & SA_NOMASK)?7:8; + *(&esp) -= longs; + verify_area(esp,longs*4); + tmp_esp=esp; + put_fs_long((long) sa->sa_restorer,tmp_esp++); + put_fs_long(signr,tmp_esp++); + if (!(sa->sa_flags & SA_NOMASK)) + put_fs_long(current->blocked,tmp_esp++); + put_fs_long(eax,tmp_esp++); + put_fs_long(ecx,tmp_esp++); + put_fs_long(edx,tmp_esp++); + put_fs_long(eflags,tmp_esp++); + put_fs_long(old_eip,tmp_esp++); + current->blocked |= sa->sa_mask; +} diff --git a/linux-0.11-lab/cur/linux/kernel/signal.o b/linux-0.11-lab/cur/linux/kernel/signal.o new file mode 100644 index 0000000000000000000000000000000000000000..e61cc198f58cc6060834a14d11ff0dcba193ad49 GIT binary patch literal 8956 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 u@H*k1%Q!y}3dnH7Wp literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/kernel/sys.c b/linux-0.11-lab/cur/linux/kernel/sys.c new file mode 100644 index 0000000..cb03290 --- /dev/null +++ b/linux-0.11-lab/cur/linux/kernel/sys.c @@ -0,0 +1,440 @@ +/* + * linux/kernel/sys.c + * + * (C) 1991 Linus Torvalds + */ + +#include + +#include +#include +#include +#include +#include +#include +#include + + + +#include +#include +#include + +#include +#include + +#include +#include +#include +#include + + + + + + +#include + +#include +#define MAX_ARG_PAGES 32 +#define SIGALRM 14 +#define BUF_MAX 4096 +int sys_ftime() +{ + return -ENOSYS; +} + +int sys_break() +{ + return -ENOSYS; +} + +int sys_ptrace() +{ + return -ENOSYS; +} + +int sys_stty() +{ + return -ENOSYS; +} + +int sys_gtty() +{ + return -ENOSYS; +} + +int sys_rename() +{ + return -ENOSYS; +} + +int sys_prof() +{ + return -ENOSYS; +} + +int sys_setregid(int rgid, int egid) +{ + if (rgid>0) { + if ((current->gid == rgid) || + suser()) + current->gid = rgid; + else + return(-EPERM); + } + if (egid>0) { + if ((current->gid == egid) || + (current->egid == egid) || + suser()) { + current->egid = egid; + current->sgid = egid; + } else + return(-EPERM); + } + return 0; +} + +int sys_setgid(int gid) +{ +/* return(sys_setregid(gid, gid)); */ + if (suser()) + current->gid = current->egid = current->sgid = gid; + else if ((gid == current->gid) || (gid == current->sgid)) + current->egid = gid; + else + return -EPERM; + return 0; +} + +int sys_acct() +{ + return -ENOSYS; +} + +int sys_phys() +{ + return -ENOSYS; +} + +int sys_lock() +{ + return -ENOSYS; +} + +int sys_mpx() +{ + return -ENOSYS; +} + +int sys_ulimit() +{ + return -ENOSYS; +} + +int sys_time(long * tloc) +{ + int i; + + i = CURRENT_TIME; + if (tloc) { + verify_area(tloc,4); + put_fs_long(i,(unsigned long *)tloc); + } + return i; +} + +/* + * Unprivileged users may change the real user id to the effective uid + * or vice versa. + */ +int sys_setreuid(int ruid, int euid) +{ + int old_ruid = current->uid; + + if (ruid>0) { + if ((current->euid==ruid) || + (old_ruid == ruid) || + suser()) + current->uid = ruid; + else + return(-EPERM); + } + if (euid>0) { + if ((old_ruid == euid) || + (current->euid == euid) || + suser()) { + current->euid = euid; + current->suid = euid; + } else { + current->uid = old_ruid; + return(-EPERM); + } + } + return 0; +} + +int sys_setuid(int uid) +{ +/* return(sys_setreuid(uid, uid)); */ + if (suser()) + current->uid = current->euid = current->suid = uid; + else if ((uid == current->uid) || (uid == current->suid)) + current->euid = uid; + else + return -EPERM; + return(0); +} + +int sys_stime(long * tptr) +{ + if (!suser()) + return -EPERM; + startup_time = get_fs_long((unsigned long *)tptr) - jiffies/HZ; + return 0; +} + +int sys_times(struct tms * tbuf) +{ + if (tbuf) { + verify_area(tbuf,sizeof *tbuf); + put_fs_long(current->utime,(unsigned long *)&tbuf->tms_utime); + put_fs_long(current->stime,(unsigned long *)&tbuf->tms_stime); + put_fs_long(current->cutime,(unsigned long *)&tbuf->tms_cutime); + put_fs_long(current->cstime,(unsigned long *)&tbuf->tms_cstime); + } + return jiffies; +} + +int sys_brk(unsigned long end_data_seg) +{ + if (end_data_seg >= current->end_code && + end_data_seg < current->start_stack - 16384) + current->brk = end_data_seg; + return current->brk; +} + +/* + * This needs some heave checking ... + * I just haven't get the stomach for it. I also don't fully + * understand sessions/pgrp etc. Let somebody who does explain it. + */ +int sys_setpgid(int pid, int pgid) +{ + int i; + + if (!pid) + pid = current->pid; + if (!pgid) + pgid = current->pid; + for (i=0 ; ipid==pid) { + if (task[i]->leader) + return -EPERM; + if (task[i]->session != current->session) + return -EPERM; + task[i]->pgrp = pgid; + return 0; + } + return -ESRCH; +} + +int sys_getpgrp(void) +{ + return current->pgrp; +} + +int sys_setsid(void) +{ + if (current->leader && !suser()) + return -EPERM; + current->leader = 1; + current->session = current->pgrp = current->pid; + current->tty = -1; + return current->pgrp; +} + +int sys_getgroups() +{ + return -ENOSYS; +} + +int sys_setgroups() +{ + return -ENOSYS; +} + +int sys_uname(struct utsname * name) +{ + static struct utsname thisname = { + "linux .0","nodename","release ","version ","machine " + }; + int i; + + if (!name) return -ERROR; + verify_area(name,sizeof *name); + for(i=0;iumask; + + current->umask = mask & 0777; + return (old); +} + + + +struct linux_dirent { + long d_ino; + off_t d_off; + unsigned short d_reclen; + char d_name[14]; +}; + +int sys_getdents(unsigned int fd, struct linux_dirent *dirent,unsigned int count) +{ + struct file * files; + struct m_inode * f_inode; + struct linux_dirent dirent1; + struct buffer_head * block; + char* buf; + int counter; + struct dir_entry *ptr; + int num=0; + int t=0; + files=current->filp[fd]; + if(fd>=NR_OPEN) + return -EINVAL; + if(!count) return -1; + + f_inode=files->f_inode; + block=bread(f_inode->i_dev,f_inode->i_zone[0]); + + + for(t=0;ti_size;t+=sizeof(struct dir_entry)) + { + if (num>=count-sizeof(struct linux_dirent))//限制循环,防止越界 + return 0; + + ptr=(struct dir_entry *)(block->b_data+t); + if(!ptr->inode) continue; + + dirent1.d_ino=ptr->inode; + int i=0; + for(i=0;i<14;i++) dirent1.d_name[i]=ptr->name[i]; + dirent1.d_off=0; + dirent1.d_reclen=sizeof(dirent1); + buf=&dirent1; + for(i=0;if_count++; + if (j==1) + f[0]->f_count=0; + if (j<2) + return -1; + j=0; + for(i=0;j<2 && ifilp[i]) { + current->filp[ fd[j]=i ] = f[j]; + j++; + } + if (j==1) + current->filp[fd[0]]=NULL; + if (j<2) { + f[0]->f_count=f[1]->f_count=0; + return -1; + } + if (!(inode=get_pipe_inode())) { + current->filp[fd[0]] = + current->filp[fd[1]] = NULL; + f[0]->f_count = f[1]->f_count = 0; + return -1; + } + f[0]->f_inode = f[1]->f_inode = inode; + f[0]->f_pos = f[1]->f_pos = 0; + f[0]->f_mode = 1; /* read */ + f[1]->f_mode = 2; /* write */ + put_fs_long(fd[0],0+fildes); + put_fs_long(fd[1],1+fildes); + return 0; +} + + + +unsigned int sys_sleep(unsigned int second) +{ + sys_signal(SIGALRM,SIG_IGN,NULL); + sys_alarm(second); + sys_pause(); + return 0; +} + + + +int sys_mmap(void *start, size_t len, int prot, int flags, + int fd, off_t off) +{ + return -ENOSYS; +} +int sys_munmap(void * start, size_t len) +{ + return -ENOSYS; +} +int sys_clone(int (*fn)(void *), void *child_stack, int flags, void *arg) +{ + return -ENOSYS; +} \ No newline at end of file diff --git a/linux-0.11-lab/cur/linux/kernel/sys.o b/linux-0.11-lab/cur/linux/kernel/sys.o new file mode 100644 index 0000000000000000000000000000000000000000..060b3cb1534f413f1bf7afc546032eef5caf9701 GIT binary patch literal 17008 zcmb7r4SbZ888A)d1d|*(D zXjDj3yI@;wT@+f~zO5^(ZnaWvs|a1xwp;4fxAx1|b@i+Fv#%8(W)aOr~Dw@-TubU`Wwf(8^iJ4_Q+BH5eWTY-T0_|_4HN=Gfd*ZNF>V{}ZuC>; z{>77x9BoEkRB0n)J3Bm&nKZCfqjsz`ePOJ;zSQKW!dMssUGu@wC=GNCMuX-|H-}-c zR_z#&y0!UpK4`l3g9b~(TML8qqBy)1bg_lnq9`nldb#CAmYM(mG32y3b`!s)z2ul~ z7DKMP(|Km75C%72BQnPTFICD#xQ_X6C68!tEn~;D z8D@1MdWLubtd~aSljUW5=9OF{dGRx50Ncvdx*Kap_q3y2kJ8DS({KX5h8Iov`~arr zp+Dn`St^~RrlFXP{2slz==8Cj z{ScsWZ*;u!Gu9!jI&id26`Vu&K<#8V^Qpy)V{vJLtd0Ra*@OkA4jpf^p22rrfWptJ z3EzL(q}UDr0V7<9@EQ4I^VXk8+BToj=zp~Zm6oXixQ%(H_cpV!)XX@I2w={#kkR*c zyiM?KH5~yiCwjr@Zrps+GY7zq`S-v~2YR`=dTZ#=n{e>NCt(PJepLwRh2+Fi2w<{f ztiy%!0+0)mV;z+f9zRZUtfQIE$im7Q2BmqXy%T?6D{unA=^uHs_TuB&knZ-0x4eRR zV^t_#u2=AOQ0>Vvy=Mka9P|_@@OsN!?t+k=(RlJ~SY@Ry>-c9o?Aup2)!Fu)Q1>mxD!c{1-nn;pX?e?Pm4J(M?A_frYOfZ8u3znu#Ynpxu1< z6~E3J)Z($B39_c!*II}zbF2CAtNxpwq4sF^E!fTQ>GXFbM?3xKD-*TJy3qkNFWT|< znk$50pe}i=1G}MDECX7=fPTP(U!0T8*>`L1`Xc{lyx10$Q;9i*+|0K0udh zcEgLN_jyvi;{nf;j~FvGp7CS;J?x0*)ijvoq=u^ z;n7YWBoR%lG@h@@Cc$`gnCyS#-}ENZflUNOwMKk5#4^|0H(t#>3ek7zD$tL?fai^s z0CQG}jLK%E1yZ%{LzW4p22$z5aHO?Or8DtFIyRV4*~CC1mP9>4V>zOC!nc#s06-VAwYF9y0k|5AW2rhEYs%GV>5U-|vc_p!8_4mrP}&I-~M&bLu3u#$Ax zxsX1tB0b)zV6&^2LQ>^)puxbJ)u3yfuaUl-bgffE{g0EbbH>x=TGA2a>f{=CLr|&j z`hu6!h_eUn1lO_$%6Sd8gIDO@I2%zITu0h<3a}l#l62TvK%MT>Fi{oqk-m!ZDm(N& zR`}#Fm>N5@mdyI4U~28q4613S&JL}C%wr;UMNf8%FpYKyCWUFTD~3{W72H76&35R1 zmT0EU4sEA1nrXK~n`v4z^X$+!izN%}iUJLMiZSl6LqB6DHPdN_T*ok7c10i6Hd1Y= z9lD7IG_%|e{efN3%t|}-9k#QH?yR;$yXelR$*i?Q|BH1r(`|>YLLWS4y&bxnb#%!l zcu-W^Y={1q2CinKal0a)-=>0_8Ml5rbQeovEEzxyu7htq`(S3s4%N`>UNU(*!~;Mu zPG;B+Jw!(njP-UqbP3x@PJr@GyJ8@oSHb=nV2-1mTuueAc@*Vu*vN!Vgv9mlN3AfM z>w%H+92-~JYtV~%flprv^Uel*1+=TmX@)!yrMB&iqIzI68}&P1r%sHt>zrV^_1p$J z>oz(MvTi@=CMS;4K#HZ!&RX~!xQ2AA zlMI61Lb}aaN_yZn&~uz0Q)iI$T<0PBmL}cqTthlT`U2-F(nF*#bQaS7wWKdn_9-}5 z705H5&Nrx3U;~&Bq_>i`o%`wBb)@~yt3lAiRCgU7k^I`7 z_zK)B=4fI+#kLB68A?9~se?XV1*W0UaiWmg3m~p?+NQy>^E8@rX3qqvoZnF}hn4)! zCn%W9tZ|+HNuBoDC=IJhs!pIB-q1po>u&?tZ=){*!KV8``+AvJ=P`kmFGqSNX}>Q| z`h3!^FPR!r!DiB7U$Pge(?Yt+m&{~Tu$6QTXvk-gu5~^S|ATEbU#G$pG1GMCs+Ij$ z@cC!Kxm-1zVJfy$0~v*I1ur1&_vLbJDtIAj*O^WEMWn-!&sM>Cq^q1e@EyFEbPeQl zRB%4&T3>H=t_og4y3UuN;|oYfoL00OTu8dnmxv9k;H9LSe2HE|H~SKCL$~=7J%(=g zC33K{i2Cy&2i-w>0puwaTuizHbwPKM?t)wemylfUW4O9Vu7;N?cp1sHzBtIGB)fe{ zkjqG}_w|8XPI8k^PuCTsH|sRBv_I)Q z7^}5Ats0yss+XdIy~JYARdouj*1!R80hCtcgom z2hT_FvG%QiwaJg7+?q(z-m5+m-Kwl=YT0{-F+DyG@khzlPNCWq)~nTZZ$rtHt+4?J zIZvVPS(?JV+}`U~wKt=EtDzNzJY8A)4i#%OcnwI~4J=>{S06?`wjc<0Cg(*CE+Jn{Zb0om4tj7x0g`3z9jrTh07_tx+t9b zQ`%fZVH}_D;A8FEH4ef1Dm~Bz2;O9Fj)wEAsXW!%m@Z14g_v;Pvi3cMT2r{AdIhMZ zK6VYQr>XZS^rRbqW*Bo6K2Z|RVFSYyK3x)ihSfhq;XjmwzhL#7Dg04USeIenc2W2O zgqwiYzSTGnPJV)RcadZcq?A2MC427x#)N4$^*wlH-$h|7Y`m&#-pQKGJFkEN;32|r z{Q_8V!)oep>E|P4t3Z88+xR|gOyN1iD_}V4Ceh^gsP{L}<0@|L``>Kq6s>6A^ho52&g@E zF&lZAdcQ%zFSOnc=uP2q%PU|{Z)Pp6hRkKeUSSnZnzKJc3x6Q{ZM5m-{@HKQr*|oQ z2EyyL*=cjBX<3vq>G40hI&BF@DX68LMQLOc4OD39a*!#ldlsxue~tPT7HN1^|9u)A zZ*d(9ATCNZz`H74(Hl^fOsi)&rfBIS#YU#xi3;}FTKafNx``GWwDfx==`N6Vla?MS zN#AB%TD0`JlJr*Eouj2cDM}kR((!p(`XZ!rb(daYm*$pA(4~gV075@sD>A~7V{~YR z=6O>65?E{B;qgk%NJ4RirH=@E)$|MK%nFMo7^Ue9MzPeb|0deBS6SQ{?7f@od1A3w zTRgJZdpFgm$*!?pK&fxl=CsNo9ZB@)o`c?HxuH9qC?k|80?*l2G#Wb zW2rE6b7P5*Bsel((-Gc}Ie9UPt$mL}Vfv5RyjOxTYr2rZzF)U;CyLKgO;@n$-)PA< zv}EQScHrw;f(@?mDTeq#&AtTND1`0vC&2cbRD94P4cjvY5^1vCYy#u@C9jmO+I!vU z_m#6@oe~GNQG0LIj7$=7IjFZwdvA?8-{1IeZ1oYX@N%)$WUSt7*g31yjYJaR%Et+CNP*lWL(`p&{2imXu zu(CTn-_C+F5>T2yyJY?hGg#z{CFpNi!;zx#K&gfppDrCo4H~bPwuEhvI0)PLVTL4v zGb9M2dQQoZQs-76(I#PpwTay~U^Gz2h!|eB2TV&T)7u<#J zrK_%3=+`3-Ay z^RE7WyZ`lrO^XVz7hZo(`}A7S?Q>TZ+}8{4D&IEjs_=7V&^PWu)H>MU`3;@w!t3^V z)vrUML(!@A@QCYQjFCx~rVar1I;FB9R ztgYTqum86#Byw-2fD74NK981+$JIixEt_*jUNE4-3Ndp&Qp--$fmoR(dF zRb)w|y>(t|d!%JBmhJ6dn3_B9LeRYf@kmQwq$QadOyygWSxl9dp$zV%6IlpT^e@qp zETnt$xG>K_l+Lv1u(S+iGxHg z70_ZX$}Xe#(cBO+MitUr-x6^hgrxK~6~(aVyzCjs^lnLKy*Qnrt24PU6ct5eT3%_d zQ&EnP?r}DgRJs04HXk{&D*M5UY3Ebu^P&zGT9XDrM!6r^RZsc60d2FF1;BX8rFyi(&tPv9^0k`Xjw8RnHse1?r~o0W)j}4Hmg9YFQz97@+Xzf6sJG3p%0zb37bpg_}i0q0O`lE?JZ>W zBEs$>v-Hf7U#1l9*G+QDw9e997}EoaR?yj4Jf2lvjui*6w?BrNndr@=<4X2G^ShVQ za|H_s<7h%#iZz!IZ~0*m`D4m8sbn&Ro5*Bz2zRrTVsQF1xx7v!@_O`PZb))P;r%nJ zS1+t_c$=e6A5+OQnTTyci1=cmW6fEGy&FBpyw~HTmod)?-4Xmu2ZP>v>`h9A-}2(< zLo~|xxzSU;ghuLcWg)|=Iz8BEMd7vlL@ zncOUWW@%|_ojto{Al5Uh%@fSplE|hL12AtEmZ2CHV{Insjf)qNL8bu)2rC2UDVr(C z9p(Bj4uHHDRZA*s)>Zno zyj^5G%tG#VLyng(eI?lnV?-VeO&vz)mqy0x;%>|}fTOQOvC!W%P$XpPM^7_B(^aSb8!X2DHhXbpc*M7)vcvZ$t1^rca2Njrv}r#NU30$#JCOq9 zjN#`XH+Mr|wd??7=H|x89)-+Y%21|SbK3^7$pW#yYV0=@&ULMMoQzbfK99Ec;0LKz z3gd~MLLb(bWClf=j`j55>`-1B%f`}uShLD1@RVsPpbgd9n;GP*plVIyklBjkt9R)1 z>LmJc6yd?^zx_;uCQ`IGm)k*?zt6Ia&s2QyYeVsQ7*}$;F}}QCrw;QS_cLmS@CccH zB6!hm5t?G z%I(#{9_`Q`?gfkXc-uyM>^GlJPRFkb=&yNL#?N*^qc_xq3lXCvWz@S>Xj61I^vWOV z@c9Zpq>bzQpm)>^BIN8ZAO0d!-jB#){3MHt><6wBi~X1gx~#g|+^p1nkeSD{Tizzi z@F$k44UOR*4u8Gx*{cGw&2oF)NFc6@<}vmRZ?IhMS8ty-a^ji)dVqX+3*`OEgr0l1 zjR?^%(p<;LbDo*KnmqHL59bE|eM0%;(-~Wm_=?s&nNMd#c{wwq^!SP=0#D{sxKS;8 ze0l^*0-qYM@7~S1VG=xAg5nN*xW|)U12pFa^6SByvjX`Tc+MH4e+_8r7@mKlVa^BC z-vK_356=eV$AISHIDP>ib53CSz2ME+fc*aeZ_Wke9|r$42GO)fyXHK=^26ZGS%CbH zz?*Xb`4_>PhwcByFhKHezK{QR@aDY0`aZO6&I#lz!JD%I`C9Pi96-JvyxITB&jfGw ze)1QBHxJvt1iU!|uzVSKv;UJ{2j1-c<(Gmtdq3+h18??y^6S8xJ)b<^25=2i{*GV%+FO1z zVQyMl=ggkduHPcOHy^%AAu`9kW zYFplm7GH^J9cubrUB7BlV6LvD(7aPYTy__PT4kK~Iw%#+c%?2~cSxyRen>;|W++_g z?Ol}56nM9XqU+s>ag5~pN541nbyDtBIQ)E>H1CP*YVop4Ue#%Hp>OYm92Ukm;pL2gpin}+lx&KA5#aG@aoCXeMe3hJM@!T+56 zbftbrtjDil$a%W~f87V9{wl$11h)%*UGPc49}B)L__p9AY-_aBC^%EFP4Lr#*9zVy z_<$h)P)7SltjGBV`#t@u2hwhb;MIcL1;0Q2`!vCuvmuvbR7UbSbzEO~O3gnjv@?1)uf0{z<7t9Op6#SgvR|LN<_$|Sw1%D~{ zuY!yj?Q(t*rwU#m*eS?!D$7%XTLni1_Xyr2_<-Q!f_yJ$eLW9>{KI+j0nQ(wo{zw3 z!uJYh1aA=BCHMuw{epih__*K^!Ji2JN|1k>#rED2JT1sSrKkL(f(?SR1TPU>CfF^w zS#UsbSnw9XJ%aZMJ|y_0;7fx4BKUj3_XHizPxw_WI8X4)f{zIv7W}aw|2C8L{w&zS z`3nBGg6{}+a{fYox!|V+lY%+H8wJM%?-IOE@FBr}6#OT_R|J12_$NV!>jT=IEI5sb zoM;vPD#48+9~OR>;O!!RK=`KwpA-4dgnwE16T-hE{9lB3x$dCdY9jnOOZXxxLfcJDSue_Cxrij@IMj$m%_g${O^VT58?e-`{-XK5&ljQzCrjo z!e1%)X^{^If4$&t!Mg;%N`$?qgnv$WonJTCl= zf}A0Wc-e-!=~ z!oMN>yMmkW+D!X>MCfl7{#L=e1ivYGNbm>|`Y#Comf&f@R$PG4?!`ptEf>B|Fe~!E z68>JnR|Wqp=;B3&cB%y%1X~5M{3r{#4OX}FtY8Faqg@;&G_Dnl3l0l@PVj)>qk^=< z`rLnsZwdOb-;s|9whJy7)PMSk@*&}G5!@&EsNiuy?w_<5#z)%~gYZC`L$aE~DWV2d@%)WS+PS(0vR?J(J$?XKC~S!V9W zEC?do5H%zOA4(s5NMHPUQwkD;*u@AcKBPvFDhj1ywFDm)6nzlJ@66BcbxPC&cfRkt z_ndRjJ$o~gmxm)Gfk1#f3s57~6;ZgsS$WuoZrV=Gv|_>5Q%mW?n7sNIL~5!0=ZP18 zzN;m;JT@9zZO8oLcZ;8_?qqT~`V0HSt&Ukv5L% z#oqtoVr9kN|5ClqfAt8q1Vfc~n@~pZ6c;=`am3z3Ir043(pHg{UH5yTE1~&tSEzic z(K&4S)26Fk$g#8#?%GwGT1#D{?Hy(-Gi||lCXS4Io*iq^(J|iAe-v!Ayh)qXzcF_+ zH*9vJ*u2W*O32#aJ{&t5U*9@5)L)si3!beMn^!o_x=@SaL&Vpq*DU3PItdhpgK3W$ zTDDhcGlF`Ps!*wS(lj~8|Fupy^4)521Nct;AYC?YJ=+}^*V)W@oPpqCIgZ`gZ#%}l zu5JXf?Qrj^qa0u6dobAlzx;McKA?8KJ|?btr83G}okHRY#x~6J8M!{bf_w&VPf!ZO zVN?qA^6}bM_RqgY&L?MN-DLNKYj><_UGGsFt5zG(>n%~$x)GZD;aJtW1*FxJSic>d z>vybb-3ij+Nvwy!Z3!fml76bjnN+PXo^t&WXu1Az zXu1C5&~p7L*0sJ@tvqzys#Xa?&i@Luod0!bIsa*B1;eqb^_E9%4A41XJw8AmL-VWB zu>f5F@%q`0U+;V9hDC z19>_B81xxwKQ9+gaUXMTtf!}ade)~GeEJQae$%Jl_UToh{>-P>efpwLU-s!=eOmtG z<@4Q8yBp4VZ}RCqKE2ncDR$_fGW1L&Ov8h58a{wAgb|L@NQ{PK6vp#Vl!gE!k->v8 zIvfcP$D$0e7@0y98YT2%UT6jtjErt%M2XDI$-J6nP!l4f=V>ylC#JL{nW~aj^T{ln zL364(#hA*fCru`XW(wWFV%|{9k}0&Dl2Ef*lP1+9PuPm!l}KyJVpancO3Ki4^+hR+ zI3lGRQzSAu%}_F2q){vgdqJDg64RPQ2PmDCd{SAxP$)?g1=T<;T2`7$YSWp7rsQ>@ zsMBgDt4^Y(gkCW8gl3w$ptmcYY{s~^lq*58p + +#include +#include +#include +#include +#include +#include + +#define get_seg_byte(seg,addr) ({ \ +register char __res; \ +__asm__("push %%fs;mov %%ax,%%fs;movb %%fs:%2,%%al;pop %%fs" \ + :"=a" (__res):"0" (seg),"m" (*(addr))); \ +__res;}) + +#define get_seg_long(seg,addr) ({ \ +register unsigned long __res; \ +__asm__("push %%fs;mov %%ax,%%fs;movl %%fs:%2,%%eax;pop %%fs" \ + :"=a" (__res):"0" (seg),"m" (*(addr))); \ +__res;}) + +#define _fs() ({ \ +register unsigned short __res; \ +__asm__("mov %%fs,%%ax":"=a" (__res):); \ +__res;}) + +int do_exit(long code); + +void page_exception(void); + +void divide_error(void); +void debug(void); +void nmi(void); +void int3(void); +void overflow(void); +void bounds(void); +void invalid_op(void); +void device_not_available(void); +void double_fault(void); +void coprocessor_segment_overrun(void); +void invalid_TSS(void); +void segment_not_present(void); +void stack_segment(void); +void general_protection(void); +void page_fault(void); +void coprocessor_error(void); +void reserved(void); +void parallel_interrupt(void); +void irq13(void); + +static void die(char * str,long esp_ptr,long nr) +{ + long * esp = (long *) esp_ptr; + int i; + + printk("%s: %04x\n\r",str,nr&0xffff); + printk("EIP:\t%04x:%p\nEFLAGS:\t%p\nESP:\t%04x:%p\n", + esp[1],esp[0],esp[2],esp[4],esp[3]); + printk("fs: %04x\n",_fs()); + printk("base: %p, limit: %p\n",get_base(current->ldt[1]),get_limit(0x17)); + if (esp[4] == 0x17) { + printk("Stack: "); + for (i=0;i<4;i++) + printk("%p ",get_seg_long(0x17,i+(long *)esp[3])); + printk("\n"); + } + str(i); + printk("Pid: %d, process nr: %d\n\r",current->pid,0xffff & i); + for(i=0;i<10;i++) + printk("%02x ",0xff & get_seg_byte(esp[1],(i+(char *)esp[0]))); + printk("\n\r"); + do_exit(11); /* play segment exception */ +} + +void do_double_fault(long esp, long error_code) +{ + die("double fault",esp,error_code); +} + +void do_general_protection(long esp, long error_code) +{ + die("general protection",esp,error_code); +} + +void do_divide_error(long esp, long error_code) +{ + die("divide error",esp,error_code); +} + +void do_int3(long * esp, long error_code, + long fs,long es,long ds, + long ebp,long esi,long edi, + long edx,long ecx,long ebx,long eax) +{ + int tr; + + __asm__("str %%ax":"=a" (tr):"0" (0)); + printk("eax\t\tebx\t\tecx\t\tedx\n\r%8x\t%8x\t%8x\t%8x\n\r", + eax,ebx,ecx,edx); + printk("esi\t\tedi\t\tebp\t\tesp\n\r%8x\t%8x\t%8x\t%8x\n\r", + esi,edi,ebp,(long) esp); + printk("\n\rds\tes\tfs\ttr\n\r%4x\t%4x\t%4x\t%4x\n\r", + ds,es,fs,tr); + printk("EIP: %8x CS: %4x EFLAGS: %8x\n\r",esp[0],esp[1],esp[2]); +} + +void do_nmi(long esp, long error_code) +{ + die("nmi",esp,error_code); +} + +void do_debug(long esp, long error_code) +{ + die("debug",esp,error_code); +} + +void do_overflow(long esp, long error_code) +{ + die("overflow",esp,error_code); +} + +void do_bounds(long esp, long error_code) +{ + die("bounds",esp,error_code); +} + +void do_invalid_op(long esp, long error_code) +{ + die("invalid operand",esp,error_code); +} + +void do_device_not_available(long esp, long error_code) +{ + die("device not available",esp,error_code); +} + +void do_coprocessor_segment_overrun(long esp, long error_code) +{ + die("coprocessor segment overrun",esp,error_code); +} + +void do_invalid_TSS(long esp,long error_code) +{ + die("invalid TSS",esp,error_code); +} + +void do_segment_not_present(long esp,long error_code) +{ + die("segment not present",esp,error_code); +} + +void do_stack_segment(long esp,long error_code) +{ + die("stack segment",esp,error_code); +} + +void do_coprocessor_error(long esp, long error_code) +{ + if (last_task_used_math != current) + return; + die("coprocessor error",esp,error_code); +} + +void do_reserved(long esp, long error_code) +{ + die("reserved (15,17-47) error",esp,error_code); +} + +void trap_init(void) +{ + int i; + + set_trap_gate(0,÷_error); + set_trap_gate(1,&debug); + set_trap_gate(2,&nmi); + set_system_gate(3,&int3); /* int3-5 can be called from all */ + set_system_gate(4,&overflow); + set_system_gate(5,&bounds); + set_trap_gate(6,&invalid_op); + set_trap_gate(7,&device_not_available); + set_trap_gate(8,&double_fault); + set_trap_gate(9,&coprocessor_segment_overrun); + set_trap_gate(10,&invalid_TSS); + set_trap_gate(11,&segment_not_present); + set_trap_gate(12,&stack_segment); + set_trap_gate(13,&general_protection); + set_trap_gate(14,&page_fault); + set_trap_gate(15,&reserved); + set_trap_gate(16,&coprocessor_error); + for (i=17;i<48;i++) + set_trap_gate(i,&reserved); + set_trap_gate(45,&irq13); + outb_p(inb_p(0x21)&0xfb,0x21); + outb(inb_p(0xA1)&0xdf,0xA1); + set_trap_gate(39,¶llel_interrupt); +} diff --git a/linux-0.11-lab/cur/linux/kernel/traps.o b/linux-0.11-lab/cur/linux/kernel/traps.o new file mode 100644 index 0000000000000000000000000000000000000000..a7a72cc2319eef77fbf69f1ed66582325114b5ab GIT binary patch literal 12968 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 F{{z1=W#<3@ literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/kernel/vsprintf.c b/linux-0.11-lab/cur/linux/kernel/vsprintf.c new file mode 100644 index 0000000..06b910e --- /dev/null +++ b/linux-0.11-lab/cur/linux/kernel/vsprintf.c @@ -0,0 +1,233 @@ +/* + * linux/kernel/vsprintf.c + * + * (C) 1991 Linus Torvalds + */ + +/* vsprintf.c -- Lars Wirzenius & Linus Torvalds. */ +/* + * Wirzenius wrote this portably, Torvalds fucked it up :-) + */ + +#include +#include + +/* we use this so that we can do without the ctype library */ +#define is_digit(c) ((c) >= '0' && (c) <= '9') + +static int skip_atoi(const char **s) +{ + int i=0; + + while (is_digit(**s)) + i = i*10 + *((*s)++) - '0'; + return i; +} + +#define ZEROPAD 1 /* pad with zero */ +#define SIGN 2 /* unsigned/signed long */ +#define PLUS 4 /* show plus */ +#define SPACE 8 /* space if plus */ +#define LEFT 16 /* left justified */ +#define SPECIAL 32 /* 0x */ +#define SMALL 64 /* use 'abcdef' instead of 'ABCDEF' */ + +#define do_div(n,base) ({ \ +int __res; \ +__asm__("divl %4":"=a" (n),"=d" (__res):"0" (n),"1" (0),"r" (base)); \ +__res; }) + +static char * number(char * str, int num, int base, int size, int precision + ,int type) +{ + char c,sign,tmp[36]; + const char *digits="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + int i; + + if (type&SMALL) digits="0123456789abcdefghijklmnopqrstuvwxyz"; + if (type&LEFT) type &= ~ZEROPAD; + if (base<2 || base>36) + return 0; + c = (type & ZEROPAD) ? '0' : ' ' ; + if (type&SIGN && num<0) { + sign='-'; + num = -num; + } else + sign=(type&PLUS) ? '+' : ((type&SPACE) ? ' ' : 0); + if (sign) size--; + if (type&SPECIAL) + if (base==16) size -= 2; + else if (base==8) size--; + i=0; + if (num==0) + tmp[i++]='0'; + else while (num!=0) + tmp[i++]=digits[do_div(num,base)]; + if (i>precision) precision=i; + size -= precision; + if (!(type&(ZEROPAD+LEFT))) + while(size-->0) + *str++ = ' '; + if (sign) + *str++ = sign; + if (type&SPECIAL) + if (base==8) + *str++ = '0'; + else if (base==16) { + *str++ = '0'; + *str++ = digits[33]; + } + if (!(type&LEFT)) + while(size-->0) + *str++ = c; + while(i0) + *str++ = tmp[i]; + while(size-->0) + *str++ = ' '; + return str; +} + +int vsprintf(char *buf, const char *fmt, va_list args) +{ + int len; + int i; + char * str; + char *s; + int *ip; + + int flags; /* flags to number() */ + + int field_width; /* width of output field */ + int precision; /* min. # of digits for integers; max + number of chars for from string */ + int qualifier; /* 'h', 'l', or 'L' for integer fields */ + + for (str=buf ; *fmt ; ++fmt) { + if (*fmt != '%') { + *str++ = *fmt; + continue; + } + + /* process flags */ + flags = 0; + repeat: + ++fmt; /* this also skips first '%' */ + switch (*fmt) { + case '-': flags |= LEFT; goto repeat; + case '+': flags |= PLUS; goto repeat; + case ' ': flags |= SPACE; goto repeat; + case '#': flags |= SPECIAL; goto repeat; + case '0': flags |= ZEROPAD; goto repeat; + } + + /* get field width */ + field_width = -1; + if (is_digit(*fmt)) + field_width = skip_atoi(&fmt); + else if (*fmt == '*') { + /* it's the next argument */ + field_width = va_arg(args, int); + if (field_width < 0) { + field_width = -field_width; + flags |= LEFT; + } + } + + /* get the precision */ + precision = -1; + if (*fmt == '.') { + ++fmt; + if (is_digit(*fmt)) + precision = skip_atoi(&fmt); + else if (*fmt == '*') { + /* it's the next argument */ + precision = va_arg(args, int); + } + if (precision < 0) + precision = 0; + } + + /* get the conversion qualifier */ + qualifier = -1; + if (*fmt == 'h' || *fmt == 'l' || *fmt == 'L') { + qualifier = *fmt; + ++fmt; + } + + switch (*fmt) { + case 'c': + if (!(flags & LEFT)) + while (--field_width > 0) + *str++ = ' '; + *str++ = (unsigned char) va_arg(args, int); + while (--field_width > 0) + *str++ = ' '; + break; + + case 's': + s = va_arg(args, char *); + len = strlen(s); + if (precision < 0) + precision = len; + else if (len > precision) + len = precision; + + if (!(flags & LEFT)) + while (len < field_width--) + *str++ = ' '; + for (i = 0; i < len; ++i) + *str++ = *s++; + while (len < field_width--) + *str++ = ' '; + break; + + case 'o': + str = number(str, va_arg(args, unsigned long), 8, + field_width, precision, flags); + break; + + case 'p': + if (field_width == -1) { + field_width = 8; + flags |= ZEROPAD; + } + str = number(str, + (unsigned long) va_arg(args, void *), 16, + field_width, precision, flags); + break; + + case 'x': + flags |= SMALL; + case 'X': + str = number(str, va_arg(args, unsigned long), 16, + field_width, precision, flags); + break; + + case 'd': + case 'i': + flags |= SIGN; + case 'u': + str = number(str, va_arg(args, unsigned long), 10, + field_width, precision, flags); + break; + + case 'n': + ip = va_arg(args, int *); + *ip = (str - buf); + break; + + default: + if (*fmt != '%') + *str++ = '%'; + if (*fmt) + *str++ = *fmt; + else + --fmt; + break; + } + } + *str = '\0'; + return str-buf; +} diff --git a/linux-0.11-lab/cur/linux/kernel/vsprintf.o b/linux-0.11-lab/cur/linux/kernel/vsprintf.o new file mode 100644 index 0000000000000000000000000000000000000000..41d1faa93ed64a3b37694ce8f065d328203bbb37 GIT binary patch literal 6152 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 tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +_exit.s _exit.o : _exit.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +close.s close.o : close.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +ctype.s ctype.o : ctype.c ../include/ctype.h +dup.s dup.o : dup.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +errno.s errno.o : errno.c +execve.s execve.o : execve.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +malloc.s malloc.o : malloc.c ../include/linux/kernel.h ../include/linux/mm.h \ + ../include/asm/system.h +open.s open.o : open.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h ../include/stdarg.h +setsid.s setsid.o : setsid.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +string.s string.o : string.c ../include/string.h +wait.s wait.o : wait.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h ../include/sys/wait.h +write.s write.o : write.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h diff --git a/linux-0.11-lab/cur/linux/lib/_exit.c b/linux-0.11-lab/cur/linux/lib/_exit.c new file mode 100644 index 0000000..c0c9d69 --- /dev/null +++ b/linux-0.11-lab/cur/linux/lib/_exit.c @@ -0,0 +1,13 @@ +/* + * linux/lib/_exit.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include + +volatile void _exit(int exit_code) +{ + __asm__("int $0x80"::"a" (__NR_exit),"b" (exit_code)); +} diff --git a/linux-0.11-lab/cur/linux/lib/_exit.o b/linux-0.11-lab/cur/linux/lib/_exit.o new file mode 100644 index 0000000000000000000000000000000000000000..0448d24f31c808c626f8782087f0ca1f3d0d1a1a GIT binary patch literal 1988 zcma)7&2QX96n|syCQCNmHVKGEsgNTTHI&$!&;^y!@|8dZRFNoDJ)kP}?mD{`u^ri7 zNGrsLxPUnIfVd!W>7T%%65J{waX=h6aY6hGoH@YnH=fxzCwS7#`@N5O@6Gef_>%M%F@$pO_t=8yz_t_U%h*__2qBBeEQzQ0#ZZU8|pT=TEeuV6$1B) zoW|@7kke@X1m-rHaaxMw%x+VuS`V~s_NJC*eh1SL)f|wHp}uYY3aI8TV0P{iE~qCv zOKrEa(pgZ8Gp8Ph{;agyFG7V32DT6>P%kaJolET(+UJ((`ts>-UR@SxHl@NZME#grc z4L$DM`gg}!5_Qwbu7b0Ww16tj z{Gtp8@B0UNRz`y|%a1A^jKf^^vvj0u=T>(I*)S5Vm#bS_m%Ozb{YhF*sw(_vCR*D3 zc(WI5^q#7;Y|W#bKxD9}J`ZWV9Qndl^g`hy8vYeNeZCd6g_%fV6I_*ND+iTDyV1L zIM{=_-xjX-dF@e6*6%apXH7}FqPWvrV`UUoBllRRxV~MpQsxei$Q5?*h+LVUMqm#X*)97>SMRs3 zK%r;zuq!l)eJ6j+aQsq4VOy)@IB;u5-!=S-;oFA4W%zZ&`SW8uo?pfp8=3EgYF6Kd N`lpTE1IPbG{sjn%%bNfI literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/lib/close.c b/linux-0.11-lab/cur/linux/lib/close.c new file mode 100644 index 0000000..afd8364 --- /dev/null +++ b/linux-0.11-lab/cur/linux/lib/close.c @@ -0,0 +1,10 @@ +/* + * linux/lib/close.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include + +_syscall1(int,close,int,fd) diff --git a/linux-0.11-lab/cur/linux/lib/close.o b/linux-0.11-lab/cur/linux/lib/close.o new file mode 100644 index 0000000000000000000000000000000000000000..53b8b469c0a1e8ba52c54787adb158b024ebf131 GIT binary patch literal 2220 zcma)7&2Jl35TCcZ{%D*UCn*psNEj& zeti1%SA-CxNsvhsMD&xHd0J8|(E*yFH@5HBZWm$Ld2@08+P!bDUOTloy}h+KO`F9X zsK3;h|M|l$o^$&FX!~yMojacaS!^Opyaz760eg%w=!Hy>VU<`jtipZ>(<=BuLWWT~ z%|=oFTKY=gOH}+3!g>TuOdSSi;ymK!4tSy0Rd(YB6~AKp)HC45jf6^Xv+|vsBxc0H z>RiRFE>vg4Y_awzJd0GRybKdopwu!dIpSE|tRAVnSb4I3c8-IO&+neBi#Zf4kXdHW z**RmLsMw+`FoUHDJXU|Hj@rC!14DO&HQfT%<@)G3XhQr|-48C$2qz;Pr|AcsVcPYG zI>RvboDR=O13yl>&LBIzf=q7i6R)C`qF6=`Eu;6lQ9!0Ni2Z)xbsOB;VHotKB2!Uw z5RSZNkam-17&nK0kZ#(`&dQ2Cblc74%mCh|co0TOV^1nCih_{NoV(CiYqXqIr`51W zZqykZ^$)K;->~})yBCi9#O_7z$g?*>l=mVS{Qz}5yO#!?#1DfQrXaNA#O++PH=;1{ zI!PGO`g-KW*ri%~XW&NT?Z^HVFS)$ok+jm8wY4LSr3>veNYZR2_Oq!(D<7@2oaNS` z%*t&$zzig=oF}nW77Nps^(orS2ejwEd7@h0HrA^1m#XCxcd8aS@#RtCwjq-!lLM_q z-q1t09Q8f;vb_owUP!tTkpiv;h&rb*{>VaVsZi6oqd z^G#vse3zi}9Nst69{@i~Eo1ECv8AMryNAc&sVqct9ruZf)2@HA7fQqN+P_e7V>b?P zbsUwgkKyMS`F(tu+s8xj>3z&V*Z%>iv7X9`>+ga}YDl*PjV9eDgWXgYB9?S3A*kH;N9Yf6Llbw)B z(-Q#ABz%l=WD<99LMA$(d(C%u7TwB6a9_snW%kx*?={SaFa*-`{TEP9KaJSah6NU-c<6alBbk>O-Xr=F#j!uU6#o6p~Badl=X2@d9Ca}sbmAv0R9)` CulFDT literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/lib/ctype.c b/linux-0.11-lab/cur/linux/lib/ctype.c new file mode 100644 index 0000000..877e629 --- /dev/null +++ b/linux-0.11-lab/cur/linux/lib/ctype.c @@ -0,0 +1,35 @@ +/* + * linux/lib/ctype.c + * + * (C) 1991 Linus Torvalds + */ + +#include + +char _ctmp; +unsigned char _ctype[] = {0x00, /* EOF */ +_C,_C,_C,_C,_C,_C,_C,_C, /* 0-7 */ +_C,_C|_S,_C|_S,_C|_S,_C|_S,_C|_S,_C,_C, /* 8-15 */ +_C,_C,_C,_C,_C,_C,_C,_C, /* 16-23 */ +_C,_C,_C,_C,_C,_C,_C,_C, /* 24-31 */ +_S|_SP,_P,_P,_P,_P,_P,_P,_P, /* 32-39 */ +_P,_P,_P,_P,_P,_P,_P,_P, /* 40-47 */ +_D,_D,_D,_D,_D,_D,_D,_D, /* 48-55 */ +_D,_D,_P,_P,_P,_P,_P,_P, /* 56-63 */ +_P,_U|_X,_U|_X,_U|_X,_U|_X,_U|_X,_U|_X,_U, /* 64-71 */ +_U,_U,_U,_U,_U,_U,_U,_U, /* 72-79 */ +_U,_U,_U,_U,_U,_U,_U,_U, /* 80-87 */ +_U,_U,_U,_P,_P,_P,_P,_P, /* 88-95 */ +_P,_L|_X,_L|_X,_L|_X,_L|_X,_L|_X,_L|_X,_L, /* 96-103 */ +_L,_L,_L,_L,_L,_L,_L,_L, /* 104-111 */ +_L,_L,_L,_L,_L,_L,_L,_L, /* 112-119 */ +_L,_L,_L,_P,_P,_P,_P,_C, /* 120-127 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 128-143 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 144-159 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 160-175 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 176-191 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 192-207 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 208-223 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 224-239 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; /* 240-255 */ + diff --git a/linux-0.11-lab/cur/linux/lib/ctype.o b/linux-0.11-lab/cur/linux/lib/ctype.o new file mode 100644 index 0000000000000000000000000000000000000000..0c37eba62dacb16a197bdf94997805759dde460a GIT binary patch literal 1904 zcmcgtNpI6o5PmOq=n@(dg{`W9RBA;)*hwIus?b8IpbA30^@0S&cAUhbwj;+uEfVkx zkoXCl;KYSL!<7qn;EGWB<}HaUIB;U5+2_rS=PiDH@8NyUIn%(I!6q7GZw={b307kz zHm5@+pVm+#(8`3rD;))M49dPC06qKxGT^R&++TqF(?`4c|C)=ErYLLjZE#)$Sr!Jy za@Qf)K!XSdYnoH1A(&kBoqtcp*>j+IG3WdRGR!;~8%%!eBNWEVe7RUD7{!HR=?wC6 z-mdTp@-DJ=rJhH|B~~b`BLJyd%qXrFZWh{=+w-}zSbY+hqco~hA%ZLcbL>1Q=Rb>c zpyDK8|2gy0gMn{*B6JiDgI?r!s$Sno#-3sD!lxj%>!sm<)%$Vi*P~GOLZ%6~E%eJ<6s+-l8y<)ejR_G*Ne=WGSa-(YXs#Z4+gVgFKPUu^MIEYd| zfiZ}X&bPXw$V-Db8p0IC)-ZLvXVxHzQ{PMDgxa8PM2~E1b91#?+i^!xI+C@lt0SQ` zUo~5HqjgDIu|30sFm+t;G?BcorPSX~ncZ!>g@(mH-<~dj_W4= z^Q_lNoT%qxfefJTwT#@%_Tn(~Bjk?Iyp4g#j}gQEH?lyR20W(1<^7zj)pvMN#i?t| z?vSpXkgGs~i$FS)I&LEqLw>C`GBVjIu1kUf9d`x#j5dN#PcilsoNfnQ7ecCc3#ivX zWFMfclb}HRwxMg8TwkHk(bk}S4`9gF?V~Q$p}G*qbst04Yap^;P--M7(7pgV$@JX> z%eY6Mq$nu)2vfy%+-JmH77>!@xR)wUySN^>GEf{r8JKlZ+#BJMM8^@AS6kXkI1pbT zo&X*P(ws{`nn^a_H^k9Pq(SG?y5?EC$-WE%j!|d&Dslni)q~nm_SV kiq8|rL24>}Me#Mo+r;r}6z3G{9+8e@j`AZl<9Mfk1Hs^{Z2$lO literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/lib/dup.c b/linux-0.11-lab/cur/linux/lib/dup.c new file mode 100644 index 0000000..dd13414 --- /dev/null +++ b/linux-0.11-lab/cur/linux/lib/dup.c @@ -0,0 +1,10 @@ +/* + * linux/lib/dup.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include + +_syscall1(int,dup,int,fd) diff --git a/linux-0.11-lab/cur/linux/lib/dup.o b/linux-0.11-lab/cur/linux/lib/dup.o new file mode 100644 index 0000000000000000000000000000000000000000..191ad6f7d96e3f7c25d20f49e1d25ae9cd944d03 GIT binary patch literal 2196 zcma)7O>7%g5T3WY{%M>VCk7EKNEj&<33S&9wIC`jO-Z3DpjIk`1015Yy|!14chmiW zv@19a%X#PlD3Mw z5Pz@n{MX%^yyn&;(9RFF_iuj*WU-1Yv4&Y3##CnvdMRUMSS6MWtMEOTX%+k+A;T!0 zV5KO3CvBylBr4tkvwGKL$4So_W@lHBq0K|$4Kz{|%jlqG^#3plh?54fKM1^DlN+0@Zw+@W|FMoIHP1TTt$kj|c8Ypyoi&a%^P+9NmW4o~{W zmS1ezgQndNM}A`WBX{K4n<27#5tM#_Jf7W8gKpx7K@3$8+HvA`FWH+>n0VbJjA(s5 z@?vaGmE0Y=5p9IQKo%eSSH0xQrbkjuXIEE`H|N(nX^^B@DfSDgL`xqpwVlQGLZ&5r z!x@RI7fEcF#q6YIeSy~Uq3~dmhjF@E-Z56IGncF7)3>V@Iq{WI;&#B3DC0vdMc#&! zcv}fMJvVX5>BKQPtn7K6bg=FR{SYQ8yPZzteUP`hksA!K(cA*=j$VKqxsKS(-`c-7n<=A zh1GLGmw@x6<2?^0`~R08*Q3{P9FDigf+B5O1kTs@59-^3j_WI6==xS5>opMZmf+H` zph(*;0&AH~9|AO4P^4|=f%AD2Y^nww=jHwBytt$X;_V^8d(dgp@mwhK@jgQkj>GXL zFm$}jka-R7o9O|--At4-+jwj%uKj+*lklAM$R_Rgx$@JdKeJa!!~NR7R({(25W@1l zS5_axuQ2laxSrd`W3cIcOhMM)07Ne6aVy@#Yf$KR6!uopa{n z{f6&=b7<1>G}b(?x9Gtmt!IAlPsli*fiY(vlPSNrJeL2meT6AcbRS|ppX``Snj8a2 zCgBH^Ba^s;V=~bJoq_M}G`dw8n`K|r6VE@%?5T!*0Ye}(-+h6JvkEkj`^EeT#ra1i w(EMkZ;~eLezNPp{#m^}IrsDDrA&$!!>pxQZ>x#>~xSV`$Y+q5l32p%Y3$$zWmjD0& literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/lib/errno.c b/linux-0.11-lab/cur/linux/lib/errno.c new file mode 100644 index 0000000..50aca2e --- /dev/null +++ b/linux-0.11-lab/cur/linux/lib/errno.c @@ -0,0 +1,7 @@ +/* + * linux/lib/errno.c + * + * (C) 1991 Linus Torvalds + */ + +int errno; diff --git a/linux-0.11-lab/cur/linux/lib/errno.o b/linux-0.11-lab/cur/linux/lib/errno.o new file mode 100644 index 0000000000000000000000000000000000000000..d217c7db2ed83f5bef8c107b8cd9761bd743f1ad GIT binary patch literal 1468 zcma)6OK;Oa5T3153YdmQ1wmDWf>cC7c$1W z>Wve>ffGN36aNFQ9LhJl-o!{C7-@FCnfZ2SA7j6J@Z_Nof}9BQXyy@JnzNa%G3&HM zi?jh;Gk#69V8we3Crp6I@Wq0JJMVGKtIfx$2CE^i)|Y*+zFJ?p0A828`nG@Df3$pm zW$q$)YvlX)eD5UYoP*lJwhphuvId=_%NT|DSzp9xwvG)8QhAlIwToQCM0t;mIDBaTolH*DlwCF~aL@mY9vJdlUFnCH{JzXbXNF%KgR4_3l9396)*w<+)B=ZWjTE zIrkBY2A+z`Jw~Kj_Y3NB9j?0ob#e4!% zLhy#An9=dxlsuO@;zUK9+d#~{1*e(!;SW6Km%j^>{e%O41v(2o1LgBBLHSOq>y2?Q z%yHuCI^Wr9yhh)TU7YRje=YW_J7K?Ck$v9HOuT9L+L&ivsG6_7B+oxRO9FZ3gtL%G yzBwmXVQtWl + +_syscall3(int,execve,const char *,file,char **,argv,char **,envp) diff --git a/linux-0.11-lab/cur/linux/lib/execve.o b/linux-0.11-lab/cur/linux/lib/execve.o new file mode 100644 index 0000000000000000000000000000000000000000..acc081243ed081e41353b132934f9182d6227b31 GIT binary patch literal 2336 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 +#include +#include + +struct bucket_desc { /* 16 bytes */ + void *page; + struct bucket_desc *next; + void *freeptr; + unsigned short refcnt; + unsigned short bucket_size; +}; + +struct _bucket_dir { /* 8 bytes */ + int size; + struct bucket_desc *chain; +}; + +/* + * The following is the where we store a pointer to the first bucket + * descriptor for a given size. + * + * If it turns out that the Linux kernel allocates a lot of objects of a + * specific size, then we may want to add that specific size to this list, + * since that will allow the memory to be allocated more efficiently. + * However, since an entire page must be dedicated to each specific size + * on this list, some amount of temperance must be exercised here. + * + * Note that this list *must* be kept in order. + */ +struct _bucket_dir bucket_dir[] = { + { 16, (struct bucket_desc *) 0}, + { 32, (struct bucket_desc *) 0}, + { 64, (struct bucket_desc *) 0}, + { 128, (struct bucket_desc *) 0}, + { 256, (struct bucket_desc *) 0}, + { 512, (struct bucket_desc *) 0}, + { 1024, (struct bucket_desc *) 0}, + { 2048, (struct bucket_desc *) 0}, + { 4096, (struct bucket_desc *) 0}, + { 0, (struct bucket_desc *) 0}}; /* End of list marker */ + +/* + * This contains a linked list of free bucket descriptor blocks + */ +struct bucket_desc *free_bucket_desc = (struct bucket_desc *) 0; + +/* + * This routine initializes a bucket description page. + */ +static inline void init_bucket_desc() +{ + struct bucket_desc *bdesc, *first; + int i; + + first = bdesc = (struct bucket_desc *) get_free_page(); + if (!bdesc) + panic("Out of memory in init_bucket_desc()"); + for (i = PAGE_SIZE/sizeof(struct bucket_desc); i > 1; i--) { + bdesc->next = bdesc+1; + bdesc++; + } + /* + * This is done last, to avoid race conditions in case + * get_free_page() sleeps and this routine gets called again.... + */ + bdesc->next = free_bucket_desc; + free_bucket_desc = first; +} + +void *malloc(unsigned int len) +{ + struct _bucket_dir *bdir; + struct bucket_desc *bdesc; + void *retval; + + /* + * First we search the bucket_dir to find the right bucket change + * for this request. + */ + for (bdir = bucket_dir; bdir->size; bdir++) + if (bdir->size >= len) + break; + if (!bdir->size) { + printk("malloc called with impossibly large argument (%d)\n", + len); + panic("malloc: bad arg"); + } + /* + * Now we search for a bucket descriptor which has free space + */ + cli(); /* Avoid race conditions */ + for (bdesc = bdir->chain; bdesc; bdesc = bdesc->next) + if (bdesc->freeptr) + break; + /* + * If we didn't find a bucket with free space, then we'll + * allocate a new one. + */ + if (!bdesc) { + char *cp; + int i; + + if (!free_bucket_desc) + init_bucket_desc(); + bdesc = free_bucket_desc; + free_bucket_desc = bdesc->next; + bdesc->refcnt = 0; + bdesc->bucket_size = bdir->size; + bdesc->page = bdesc->freeptr = (void *) (cp = get_free_page()); + if (!cp) + panic("Out of memory in kernel malloc()"); + /* Set up the chain of free objects */ + for (i=PAGE_SIZE/bdir->size; i > 1; i--) { + *((char **) cp) = cp + bdir->size; + cp += bdir->size; + } + *((char **) cp) = 0; + bdesc->next = bdir->chain; /* OK, link it in! */ + bdir->chain = bdesc; + } + retval = (void *) bdesc->freeptr; + bdesc->freeptr = *((void **) retval); + bdesc->refcnt++; + sti(); /* OK, we're safe again */ + return(retval); +} + +/* + * Here is the free routine. If you know the size of the object that you + * are freeing, then free_s() will use that information to speed up the + * search for the bucket descriptor. + * + * We will #define a macro so that "free(x)" is becomes "free_s(x, 0)" + */ +void free_s(void *obj, int size) +{ + void *page; + struct _bucket_dir *bdir; + struct bucket_desc *bdesc, *prev; + + /* Calculate what page this object lives in */ + page = (void *) ((unsigned long) obj & 0xfffff000); + /* Now search the buckets looking for that page */ + for (bdir = bucket_dir; bdir->size; bdir++) { + prev = 0; + /* If size is zero then this conditional is always false */ + if (bdir->size < size) + continue; + for (bdesc = bdir->chain; bdesc; bdesc = bdesc->next) { + if (bdesc->page == page) + goto found; + prev = bdesc; + } + } + panic("Bad address passed to kernel free_s()"); +found: + cli(); /* To avoid race conditions */ + *((void **)obj) = bdesc->freeptr; + bdesc->freeptr = obj; + bdesc->refcnt--; + if (bdesc->refcnt == 0) { + /* + * We need to make sure that prev is still accurate. It + * may not be, if someone rudely interrupted us.... + */ + if ((prev && (prev->next != bdesc)) || + (!prev && (bdir->chain != bdesc))) + for (prev = bdir->chain; prev; prev = prev->next) + if (prev->next == bdesc) + break; + if (prev) + prev->next = bdesc->next; + else { + if (bdir->chain != bdesc) + panic("malloc bucket chains corrupted"); + bdir->chain = bdesc->next; + } + free_page((unsigned long) bdesc->page); + bdesc->next = free_bucket_desc; + free_bucket_desc = bdesc; + } + sti(); + return; +} + diff --git a/linux-0.11-lab/cur/linux/lib/malloc.o b/linux-0.11-lab/cur/linux/lib/malloc.o new file mode 100644 index 0000000000000000000000000000000000000000..93877394447c6a3a313be848d7f629d4da685939 GIT binary patch literal 4876 zcma)AZERI%9e>Wfrsi=Fy<;@b11Rgm(%u+`{udl z0G%*QI+E40#JXjP2CZnKM2Fdjg)qA~A|$N7#6(Tl2NRvfNh}|jY))ma{(jF(d&|Cf z!g+rG_y7O-KhJrdTaMqi`!kkh3G-MYES5MS&NM2`fP`*wn`jpk*LtqLx3I7r{qOq=3zB09?ITMj zJ#u-lNlpf}PVEIhxh-azm6XPNlgY^;mfk(3V6qiylB#)QrcCI2rlRLXs}SFO_ut6m z%zs?U#N^L`NlT8C>?tx?kf5Uu0y)<4D>S&wdfC;UsUaKCJt?7wMJbXKM_{>xQw#*T zs%x-mP}kmc6Y^CPmo{T9dO-HC7T4v%w_b*v8RmyTb?98HH8!f%GS1NC74Bm(Z%4iRjUnUu^=X@-T(f4J6K?F>3or(FN2 zqOxl!iv8_CQ|Ir{L72to$MBLVf5~u_>OT50X(#2>7C(T5R>|FT^Xn7%1hD?{aWoEU z{Hn&qk2RzPw#KMN6F{>M2fkAtaf)uS?2SA568`1=;Y^S{==#Gsx0>xY0xekolH7Ml@K4ubI|olZoyHp zkp#~+8s~DJTdg{kbhV0Pe%aB6BcAIHSEZq@M-}O0$I|&y)ybAUFR1u#PIO`FYSy;( zFv4064xI=S;3$R3rH9P`D3_4;( z=oEVkgLUp5NDkw*PR(O%DrX*tP$dv8vLEMEFuPuM{k+m0P-VWntjwR9GB+}y=5npb zBdlKrAwV0;xCw1LhkBN0gNW~-$wRE5POf+ShZO8*JS7lTo3%O?Zw$v)#@ej*NbBur zLEH+*8XGq@ZfdmRSg~dij*;0J-+)WcZV`=uI>JtTbtgj@9}s^JsyGE}Owy z8#LR7X0%z>&NvHd?-D!XeV9&ssj{t|v==MKiH}9Xjo*0%ac{gUc^_lwwMZ~GH)k>(4&I)def`SZH@dn)Hs&=_4oW%EH&!mX zeWf7h_m!)Cg?uSE(%YX}x30I4&h+&w0mh8*+>tCk>I@G}!PBbZd%_%~c~9K`*+-o1 z&OmBIYQX6&roHUgz4=dXSnu?XI=v(1V&3l^@zO=Nw^GL0;Cc||OGxMTjs&HwpD*K# z>m4bTd#iprd$70Sm3=qsmpz%P_P`eMKtvtLSqZxKZSZvEsRh#4_8FyjL|IqU0X&g}8tF z_Ki;WBblJ&2dXW-cLtJM_vE^PRR6#lB^5&cn!tv#p4cO-qfu*RlWjkZ4M(~B%>m>Q zD7MG?LvGCGHXhJ29*d9zE( zm-f>lm8n)m$}1~|%AA`CMu+pIkuppqoz7&~ht!fb?WIejE*%#gxWdK(xkM^kF7h4~ zsS*}Ag-xRtT=}?T!*Y{g0{`bDKUCP7`;UF8{hZkzJ}dFoOG*vD!ZCXRBn}JtlY+hD zPY7Oh^pVFZ@Vg+`PxCmMSPP`RvAYgJUCPS9(EVT;PaQcz(C&B2M2^NzUd1)?i%_gK zPLP{StXTjN_gMN(Nqu^`v{-GUb zFJ#P1xyf4uZG1qAF2wsg3H=yd9(--QYlz3X84u_7V!UzC^kE=zoeEEDEZ|ywZ#yt29avtoD=?j)= zaj$?B?;+lgN$AJqC7PU6UB~@ffskiG3tq-!T;?=;52QE%;o~IqW8xX!V6EI1Z!H)( zars}u`7;cbJ*C$*ZDx1s*KHBVq4@4JP65IpC?bG04w*>j72A9!=NQh(qU{nD-R zfvc$Iu9P>C;du{@;;#`Yly^-fUCL*5BvJ8j867m2*OHOi3n6T*kD>;vPKZwcL)d?x zBag|YHCBk&JZFfoI|~e9L%pQ=m&wELpXA}kpP0lBjq8BS^F{LTKR_P#_1LJ4TOdOI zWgz8iv2Dor1Ih0uen^Ntlp}6NBX +#include + +int open(const char * filename, int flag, ...) +{ + register int res; + va_list arg; + + va_start(arg,flag); + __asm__("int $0x80" + :"=a" (res) + :"0" (__NR_open),"b" (filename),"c" (flag), + "d" (va_arg(arg,int))); + if (res>=0) + return res; + errno = -res; + return -1; +} diff --git a/linux-0.11-lab/cur/linux/lib/open.o b/linux-0.11-lab/cur/linux/lib/open.o new file mode 100644 index 0000000000000000000000000000000000000000..8884503d8d65bee3d41406d31508807f141e3d14 GIT binary patch literal 2364 zcma)7U1%It6h3!mlHFvJZGNgIB;W|CjXyJ+*hNZzY-*w0d4MHJ)g?(FX1?o6DS zEorGW5(|bXng=OD-|DL`K2;DDVqc^}#RmiWs30h!Pd@lizjJ49clxAj?v)?cjjg@kid%bs?_Fn<8+SmPUk|;!dka>AZ-@oxq6jvD!L*nN z(u~|UP&K3H7YN0YtrR__ZZKC_hOJJ9AW`tU~%np z@Eq4E3an~7l)EV{PSbXbd|&8BBnH_OXZxJ6f%0CEu^6~tLhEPn!hK-+cM@C-ivz{c zf?k{`4vUfAp$C98MTNpsa3LvG^CZ1{SOnP6yQysZ{q`uJ5#61>}aIA5f_owB3^5sl}xrDz!Ynvu@4Uv$Iyqsg!0C2Y7`}t(-IG z&9Z&iE}K@{39HTH-l4-!npVTK>OtF!t$GM_Yc0S9aYHygA8@W!@A%c&3;YN!Kd_?M zslINlg+c6A;~=E-&T0!=z(yjk;kz}n+H^vSnn4(wcYS>4>Mf_y&00NZ=3u`X5 z0>5Fhn@-KoA2FxTRXTp$Nh-FU=tyh!@@(0jDL;~U(aQbYPms8HhQy`3m>4jOchOc8 zK0Y@lc~&Qj`Au!UIEIlwxm%Q+=58y7-Ro!87o|R^U^l@Eka@c#p$i9LDR%PaKaUDKIYTfLb9NWkd{RxRbUK+$;JnlQMnZ;W}^EgM5!c(@AS-(Ml z-BEs)_rA<*XIEfb?K+vI%Ny54&PJoVT1x6H + +_syscall0(pid_t,setsid) diff --git a/linux-0.11-lab/cur/linux/lib/setsid.o b/linux-0.11-lab/cur/linux/lib/setsid.o new file mode 100644 index 0000000000000000000000000000000000000000..c1561bfe09d2f4b7187220efcd6bc62a4ad0c42f GIT binary patch literal 2240 zcma)7&2QX96rZu3O`4?J%?E9wfG{W(;ltj9u25A!hy2s$H!mzt@9!;7i=E0Xu)o!aAO3uY z&IgYH`#;w1-iF{%BODn5%fmp=PzKZsA}nW|oaKz&1F_#Hf9wpfiXJiAy}URb<5$C>9AzCOPw;Z|u3=U59u zjE}^#i>DWn@@Widpc~Tn>rve94LV^x+s(vC#H=vS zqK@BYgnV~9%=|7JIEbSx?|@es#}u{?$D7Cn>zJAJGxz-xQ`Jh;e_v%1N zYoD$){ME*bg%)SL0D1kYkb4tyY1(mapr+Kbi3HWS_3Hdq6-V38cKdnI0?pHcb`6(? zJwFe3a^ZJ^JP>{>L;I-ggss75Gm1A7m=qthT50%E*&3ulyovplCa@@G0&)nyo%H)5 zI_JlziH|xLH7e$W-KMH*vF87SpM?|ee?>d<-j@$4ZGYNs=!Y1C!km&zkeq4{4!vKu;6&Vf2whFntz6Auo0Ug&jhGEus4!oHIRy@Ms zMKoY+SD`RGZCemrG8&BS3gmL$?~u0!9rJR3Ca-!3Ase`b03RCx)Wi$Gm*ahpAdJI! zlNcu6hu}Gf`zBbp@ec}CVcIzMG&O#|!tW*JQ6S^@h4wS1dD9rJpdaBI4D#xM0i~ab z4Nx3XAAtI zN?;3Ca0E6gU?TAD&Z0xCs{z*KUoU;}PK)PZk_gZHFM*g@qKKSN`jn>pp-D9TIZ`xk vMeCW5e(IirzNO`NG<{Fg4>WCQ+9O50Pqh4{rfMCyuv|0kY96QynP>bT2zmUT literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/lib/string.c b/linux-0.11-lab/cur/linux/lib/string.c new file mode 100644 index 0000000..1182e63 --- /dev/null +++ b/linux-0.11-lab/cur/linux/lib/string.c @@ -0,0 +1,14 @@ +/* + * linux/lib/string.c + * + * (C) 1991 Linus Torvalds + */ + +#ifndef __GNUC__ +#error I want gcc! +#endif + +#define extern +#define inline +#define __LIBRARY__ +#include diff --git a/linux-0.11-lab/cur/linux/lib/string.o b/linux-0.11-lab/cur/linux/lib/string.o new file mode 100644 index 0000000000000000000000000000000000000000..15393528871a0be25d32766f8a1a6c71b70ab3d3 GIT binary patch literal 6376 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 +#include + +_syscall3(pid_t,waitpid,pid_t,pid,int *,wait_stat,int,options) + +pid_t wait(int * wait_stat) +{ + return waitpid(-1,wait_stat,0); +} diff --git a/linux-0.11-lab/cur/linux/lib/wait.o b/linux-0.11-lab/cur/linux/lib/wait.o new file mode 100644 index 0000000000000000000000000000000000000000..f3ccd4f38a29f38cd9f98df051d0d57466959f62 GIT binary patch literal 2580 zcma)8U1%It6u$Gbn@u*^Zra)=wBU+ctlFJTY|v8sYpS(Us#L2&lqK_%m7ttbuZ=z2XD_CEO7_8rS=iclT1U+!icYf|U=iYPg z+}+n7Km3GY7($aFEYa75_}xxDQxdj{^!yLh9#bhx_t@&JrWFIC5uo~u^Ae&gJM z>hR*(>aaMKUxN5+nf%rdml%2ZHfZrmd1iU>#_-hx)dG$1ml0%NwX1YrUy*Z$mw$mT zEo&Qf$i^+OJO=5wAEO6!VNX;W#`Seq|zMEa^I7Wcq}NgIS!+F5+G zcxWAVrtD~5&N23mr=I)953OV5zOf6BjT@Mj&k3uL#+YNM4OOL}T9~>+9bAK2Og{8) z89zuf7W*-K$9Iim)tfO)E?*rKrQ>9ZP5@1D1l%zGDvf~4JBFKOI8NOUTJycOSC3D} zqOS^Z()AOk#T3cu1uu3wyo$ZRkCQfJSuZEKHDo-6Gd1#suK?!kANiTxg-=Wyb-XAF zLQ(I8U9TSW+DSc(>+^olJ5`%-CMRq2ZnHj-8o-<4;E`jM>B^L|!&ZaInWMruTQD{a+x9!? zI1iVD#Ct6EmkNvKbZP8lsjz>!WHWA;^6`#~=~B5-!WZkrr@M*U1SV069W6!PypwpR z65+Jn#1&36#?jN*_L{x9h9As^a7o#1HY4vu*6T)YFo#WM0(b^G05ycu3cFno?QjAd zfrDdBk0g!pIt_V@TN!O6??^KkWK8~{r^}KJ;@CW3Kl<9eIsd?JJY-_=U`n zB|F$RSm*%TLE<~M7L8#qG*RAwp?|CC*AFRQT)xHW&xw4Vh5Rpqk}o30M05FSc`#3Y!@wt%{b_~ID|}gDQ{g-j`OYc*g2Im#exdLR b5%a!N`p*jGdhyY7-}KKYtN=~u`xO2I^<_Hz literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/lib/write.c b/linux-0.11-lab/cur/linux/lib/write.c new file mode 100644 index 0000000..df52e74 --- /dev/null +++ b/linux-0.11-lab/cur/linux/lib/write.c @@ -0,0 +1,10 @@ +/* + * linux/lib/write.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include + +_syscall3(int,write,int,fd,const char *,buf,off_t,count) diff --git a/linux-0.11-lab/cur/linux/lib/write.o b/linux-0.11-lab/cur/linux/lib/write.o new file mode 100644 index 0000000000000000000000000000000000000000..3d4ce0a6ec721a740e7519bd51fa8517005c8290 GIT binary patch literal 2372 zcma)7&2QX96n|sySF-6gAADq$N*HMi;ltj9u27V=v?YZSR28XE4$vy{?s~HpyLM`O z+oXyBDIki%fru|5ajD8*fH*`P5K=*a1P2aCNJyNx(F1Vd&_nsX8Bf+d!IR&|@4Yu~ zX5QH2*Pc54v=D+c2{LJjh}t<7X-G9ochLkrzjbqb`*iKVF2}ad*QU2$s98V0{`Se* z*w$ukjMfX=F#i~5`Oh!cdF1YG(AL-EFW>kENY%`V!?4Bg5R+i0qe_vHD}Djf$mM^A zGIM!9NXRgX*Vrja??K5LhV`gSEB+t@g>RwqpF@bzLy$~dQhf3mWTDee{l*Rznu87y z`;DDkvA|iQ&q!1%{U(tty_3*LZWnm;C5ZAEg!z-KEhfal%2e5`%v2`CWMTYXRH{+A z`~+M`O3e~hdJmbE#q#0u@)TC*h+|a+AFM7<@yO%TA3a$Wh!yf=mQ`vJC6T1_+ea~JC@w#{soPL0Ep4}M)t;7$57_K0+6CxySx7m!m zOWCL!xxp&-k{Q6g)B`XFIjykY_poaxKr0;_k7}(N<8@c$aj3QbA9){=uw~+pk%{k| z>vw3K)U9~mBbi*OEK4U7+h8Jl3Hi%RWDUGEWiIRC%$cs+Uy7vXx}vyqaH z%>ifE_dbfh3m@Ndd9YsJaoBncOj-oE#zsmyb{1IM9QqZ&Vk0FTI|H1Zw+1i{AJ5DC z)AM?;^%$6R3*ZtPDe0ICoUPXY;5uAy6s+rUA9xJ!o9QAx|C`E`l4H!9sn&TH(C~+4 zh7vmO%`{Jk-qHt?IyjH%V=&w5k|Vl`yaf)V#Oq`F0G!>&k<32!Bc}H;0XsX@R{+=H z)1>Fk&dISiibQ`x;})iUV6Mk~=Q*?W5;X5__%!Ky8f%^P=jgB7+RysVzcb_P42<=z z)hJWGal;BGVX+x9<%td*raaj!=3m~BOv2ACLnd(thh(Ayy4U>ePU3{J8Qhn>`%&Gi z>MsCy9V}2@{){1bW`SaSF08qCtoi3AaOn55Mo(u`zZ{P^&&zoyQ@xz(7gK#9)y-7* dSfk#DDgHFoU#42F2Olo4o%7D8+JZKK{{?;~5k~+3 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/mm/Makefile b/linux-0.11-lab/cur/linux/mm/Makefile new file mode 100644 index 0000000..e0bcd73 --- /dev/null +++ b/linux-0.11-lab/cur/linux/mm/Makefile @@ -0,0 +1,38 @@ +AR =ar +AS =as +LD =ld +LDFLAGS =-m elf_i386 -Ttext 0 -e startup_32 +CC =gcc -march=i386 +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -mcld \ + -finline-functions -nostdinc -fno-stack-protector -I../include +CPP =gcc -E -nostdinc -I../include + +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< +.s.o: + $(AS) -o $*.o $< +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< + +OBJS = memory.o page.o + +all: mm.o + +mm.o: $(OBJS) + $(LD) -r -o mm.o $(OBJS) + +clean: + rm -f core *.o *.a tmp_make + for i in *.c;do rm -f `basename $$i .c`.s;done + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +memory.o : memory.c ../include/signal.h ../include/sys/types.h \ + ../include/asm/system.h ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/linux/mm.h ../include/linux/kernel.h diff --git a/linux-0.11-lab/cur/linux/mm/memory.c b/linux-0.11-lab/cur/linux/mm/memory.c new file mode 100644 index 0000000..adc33ec --- /dev/null +++ b/linux-0.11-lab/cur/linux/mm/memory.c @@ -0,0 +1,468 @@ +/* + * linux/mm/memory.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * demand-loading started 01.12.91 - seems it is high on the list of + * things wanted, and it should be easy to implement. - Linus + */ + +/* + * Ok, demand-loading was easy, shared pages a little bit tricker. Shared + * pages started 02.12.91, seems to work. - Linus. + * + * Tested sharing by executing about 30 /bin/sh: under the old kernel it + * would have taken more than the 6M I have free, but it worked well as + * far as I could see. + * + * Also corrected some "invalidate()"s - I wasn't doing enough of them. + */ + +#include + +#include + +#include +#include +#include + +volatile void do_exit(long code); + +static inline volatile void oom(void) +{ + printk("out of memory\n\r"); + do_exit(SIGSEGV); +} + +#define invalidate() \ +__asm__("movl %%eax,%%cr3"::"a" (0)) + +/* these are not to be changed without changing head.s etc */ +#define LOW_MEM 0x100000 +#define PAGING_MEMORY (15*1024*1024) +#define PAGING_PAGES (PAGING_MEMORY>>12) +#define MAP_NR(addr) (((addr)-LOW_MEM)>>12) +#define USED 100 + +#define CODE_SPACE(addr) ((((addr)+4095)&~4095) < \ +current->start_code + current->end_code) + +static long HIGH_MEMORY = 0; + +#define copy_page(from,to) \ +__asm__("cld ; rep ; movsl"::"S" (from),"D" (to),"c" (1024)) + +static unsigned char mem_map [ PAGING_PAGES ] = {0,}; + +/* + * Get physical address of first (actually last :-) free page, and mark it + * used. If no free pages left, return 0. + */ +unsigned long get_free_page(void) +{ +register unsigned long __res asm("ax"); + +__asm__("std ; repne ; scasb\n\t" + "jne 1f\n\t" + "movb $1,1(%%edi)\n\t" + "sall $12,%%ecx\n\t" + "addl %2,%%ecx\n\t" + "movl %%ecx,%%edx\n\t" + "movl $1024,%%ecx\n\t" + "leal 4092(%%edx),%%edi\n\t" + "rep ; stosl\n\t" + "movl %%edx,%%eax\n\t" + "1:" + "cld\n\t" /* by wyj */ + :"=a" (__res) + :"0" (0),"i" (LOW_MEM),"c" (PAGING_PAGES), + "D" (mem_map+PAGING_PAGES-1) + ); +return __res; +} + +/* + * Free a page of memory at physical address 'addr'. Used by + * 'free_page_tables()' + */ +void free_page(unsigned long addr) +{ + if (addr < LOW_MEM) return; + if (addr >= HIGH_MEMORY) + panic("trying to free nonexistent page"); + addr -= LOW_MEM; + addr >>= 12; + if (mem_map[addr]--) return; + mem_map[addr]=0; + panic("trying to free free page"); +} + +/* + * This function frees a continuos block of page tables, as needed + * by 'exit()'. As does copy_page_tables(), this handles only 4Mb blocks. + */ +int free_page_tables(unsigned long from,unsigned long size) +{ + unsigned long *pg_table; + unsigned long * dir, nr; + + if (from & 0x3fffff) + panic("free_page_tables called with wrong alignment"); + if (!from) + panic("Trying to free up swapper memory space"); + size = (size + 0x3fffff) >> 22; + dir = (unsigned long *) ((from>>20) & 0xffc); /* _pg_dir = 0 */ + for ( ; size-->0 ; dir++) { + if (!(1 & *dir)) + continue; + pg_table = (unsigned long *) (0xfffff000 & *dir); + for (nr=0 ; nr<1024 ; nr++) { + if (1 & *pg_table) + free_page(0xfffff000 & *pg_table); + *pg_table = 0; + pg_table++; + } + free_page(0xfffff000 & *dir); + *dir = 0; + } + invalidate(); + return 0; +} + +/* + * Well, here is one of the most complicated functions in mm. It + * copies a range of linerar addresses by copying only the pages. + * Let's hope this is bug-free, 'cause this one I don't want to debug :-) + * + * Note! We don't copy just any chunks of memory - addresses have to + * be divisible by 4Mb (one page-directory entry), as this makes the + * function easier. It's used only by fork anyway. + * + * NOTE 2!! When from==0 we are copying kernel space for the first + * fork(). Then we DONT want to copy a full page-directory entry, as + * that would lead to some serious memory waste - we just copy the + * first 160 pages - 640kB. Even that is more than we need, but it + * doesn't take any more memory - we don't copy-on-write in the low + * 1 Mb-range, so the pages can be shared with the kernel. Thus the + * special case for nr=xxxx. + */ +int copy_page_tables(unsigned long from,unsigned long to,long size) +{ + unsigned long * from_page_table; + unsigned long * to_page_table; + unsigned long this_page; + unsigned long * from_dir, * to_dir; + unsigned long nr; + + if ((from&0x3fffff) || (to&0x3fffff)) + panic("copy_page_tables called with wrong alignment"); + from_dir = (unsigned long *) ((from>>20) & 0xffc); /* _pg_dir = 0 */ + to_dir = (unsigned long *) ((to>>20) & 0xffc); + size = ((unsigned) (size+0x3fffff)) >> 22; + for( ; size-->0 ; from_dir++,to_dir++) { + if (1 & *to_dir) + panic("copy_page_tables: already exist"); + if (!(1 & *from_dir)) + continue; + from_page_table = (unsigned long *) (0xfffff000 & *from_dir); + if (!(to_page_table = (unsigned long *) get_free_page())) + return -1; /* Out of memory, see freeing */ + *to_dir = ((unsigned long) to_page_table) | 7; + nr = (from==0)?0xA0:1024; + for ( ; nr-- > 0 ; from_page_table++,to_page_table++) { + this_page = *from_page_table; + if (!(1 & this_page)) + continue; + this_page &= ~2; + *to_page_table = this_page; + if (this_page > LOW_MEM) { + *from_page_table = this_page; + this_page -= LOW_MEM; + this_page >>= 12; + mem_map[this_page]++; + } + } + } + invalidate(); + return 0; +} + +/* + * This function puts a page in memory at the wanted address. + * It returns the physical address of the page gotten, 0 if + * out of memory (either when trying to access page-table or + * page.) + */ +unsigned long put_page(unsigned long page,unsigned long address) +{ + unsigned long tmp, *page_table; + +/* NOTE !!! This uses the fact that _pg_dir=0 */ + + if (page < LOW_MEM || page >= HIGH_MEMORY) + printk("Trying to put page %p at %p\n",page,address); + if (mem_map[(page-LOW_MEM)>>12] != 1) + printk("mem_map disagrees with %p at %p\n",page,address); + page_table = (unsigned long *) ((address>>20) & 0xffc); + if ((*page_table)&1) + page_table = (unsigned long *) (0xfffff000 & *page_table); + else { + if (!(tmp=get_free_page())) + return 0; + *page_table = tmp|7; + page_table = (unsigned long *) tmp; + } + page_table[(address>>12) & 0x3ff] = page | 7; +/* no need for invalidate */ + return page; +} + +void un_wp_page(unsigned long * table_entry) +{ + unsigned long old_page,new_page; + + old_page = 0xfffff000 & *table_entry; + if (old_page >= LOW_MEM && mem_map[MAP_NR(old_page)]==1) { + *table_entry |= 2; + invalidate(); + return; + } + if (!(new_page=get_free_page())) + oom(); + if (old_page >= LOW_MEM) + mem_map[MAP_NR(old_page)]--; + *table_entry = new_page | 7; + invalidate(); + copy_page(old_page,new_page); +} + +/* + * This routine handles present pages, when users try to write + * to a shared page. It is done by copying the page to a new address + * and decrementing the shared-page counter for the old page. + * + * If it's in code space we exit with a segment error. + */ +void do_wp_page(unsigned long error_code,unsigned long address) +{ +#if 0 +/* we cannot do this yet: the estdio library writes to code space */ +/* stupid, stupid. I really want the libc.a from GNU */ + if (CODE_SPACE(address)) + do_exit(SIGSEGV); +#endif + un_wp_page((unsigned long *) + (((address>>10) & 0xffc) + (0xfffff000 & + *((unsigned long *) ((address>>20) &0xffc))))); + +} + +void write_verify(unsigned long address) +{ + unsigned long page; + + if (!( (page = *((unsigned long *) ((address>>20) & 0xffc)) )&1)) + return; + page &= 0xfffff000; + page += ((address>>10) & 0xffc); + if ((3 & *(unsigned long *) page) == 1) /* non-writeable, present */ + un_wp_page((unsigned long *) page); + return; +} + +void get_empty_page(unsigned long address) +{ + unsigned long tmp; + + if (!(tmp=get_free_page()) || !put_page(tmp,address)) { + free_page(tmp); /* 0 is ok - ignored */ + oom(); + } +} + +/* + * try_to_share() checks the page at address "address" in the task "p", + * to see if it exists, and if it is clean. If so, share it with the current + * task. + * + * NOTE! This assumes we have checked that p != current, and that they + * share the same executable. + */ +static int try_to_share(unsigned long address, struct task_struct * p) +{ + unsigned long from; + unsigned long to; + unsigned long from_page; + unsigned long to_page; + unsigned long phys_addr; + + from_page = to_page = ((address>>20) & 0xffc); + from_page += ((p->start_code>>20) & 0xffc); + to_page += ((current->start_code>>20) & 0xffc); +/* is there a page-directory at from? */ + from = *(unsigned long *) from_page; + if (!(from & 1)) + return 0; + from &= 0xfffff000; + from_page = from + ((address>>10) & 0xffc); + phys_addr = *(unsigned long *) from_page; +/* is the page clean and present? */ + if ((phys_addr & 0x41) != 0x01) + return 0; + phys_addr &= 0xfffff000; + if (phys_addr >= HIGH_MEMORY || phys_addr < LOW_MEM) + return 0; + to = *(unsigned long *) to_page; + if (!(to & 1)) + if (to = get_free_page()) + *(unsigned long *) to_page = to | 7; + else + oom(); + to &= 0xfffff000; + to_page = to + ((address>>10) & 0xffc); + if (1 & *(unsigned long *) to_page) + panic("try_to_share: to_page already exists"); +/* share them: write-protect */ + *(unsigned long *) from_page &= ~2; + *(unsigned long *) to_page = *(unsigned long *) from_page; + invalidate(); + phys_addr -= LOW_MEM; + phys_addr >>= 12; + mem_map[phys_addr]++; + return 1; +} + +/* + * share_page() tries to find a process that could share a page with + * the current one. Address is the address of the wanted page relative + * to the current data space. + * + * We first check if it is at all feasible by checking executable->i_count. + * It should be >1 if there are other tasks sharing this inode. + */ +static int share_page(unsigned long address) +{ + struct task_struct ** p; + + if (!current->executable) + return 0; + if (current->executable->i_count < 2) + return 0; + for (p = &LAST_TASK ; p > &FIRST_TASK ; --p) { + if (!*p) + continue; + if (current == *p) + continue; + if ((*p)->executable != current->executable) + continue; + if (try_to_share(address,*p)) + return 1; + } + return 0; +} + +void do_no_page(unsigned long error_code,unsigned long address) +{ + int nr[4]; + unsigned long tmp; + unsigned long page; + int block,i; + + if (current->pid > 5) + printk(" --do_no_page: address=%x, pid=%d\n", address, current->pid); + + address &= 0xfffff000; + tmp = address - current->start_code; + if (!current->executable || tmp >= current->end_data) { + get_empty_page(address); + return; + } + if (share_page(tmp)) + return; + if (!(page = get_free_page())) + oom(); +/* remember that 1 block is used for header */ + block = 1 + tmp/BLOCK_SIZE; + for (i=0 ; i<4 ; block++,i++) + nr[i] = bmap(current->executable,block); + bread_page(page,current->executable->i_dev,nr); + i = tmp + 4096 - current->end_data; + tmp = page + 4096; + while (i-- > 0) { + tmp--; + *(char *)tmp = 0; + } + if (put_page(page,address)) + return; + free_page(page); + oom(); +} + +void do_no_page_myself(unsigned long error_code,unsigned long address) +{ + int nr[4]; + unsigned long tmp; + unsigned long page; + int block,i; + + + address &= 0xfffff000; + tmp = address - current->start_code; + if (!current->executable || tmp >= current->end_data) { + get_empty_page(address); + return; + } + if (share_page(tmp)) + return; + if (!(page = get_free_page())) + oom(); +/* remember that 1 block is used for header */ + block = 1 + tmp/BLOCK_SIZE; + for (i=0 ; i<4 ; block++,i++) + nr[i] = bmap(current->executable,block); + bread_page(page,current->executable->i_dev,nr); + i = tmp + 4096 - current->end_data; + tmp = page + 4096; + while (i-- > 0) { + tmp--; + *(char *)tmp = 0; + } + if (put_page(page,address)) + return; + free_page(page); + oom(); +} +void mem_init(long start_mem, long end_mem) +{ + int i; + + HIGH_MEMORY = end_mem; + for (i=0 ; i>= 12; + while (end_mem-->0) + mem_map[i++]=0; +} + +void calc_mem(void) +{ + int i,j,k,free=0; + long * pg_tbl; + + for(i=0 ; ipid > 5) ++ printk(" --do_no_page: address=%x, pid=%d\n", address, current->pid); ++ + address &= 0xfffff000; + tmp = address - current->start_code; + if (!current->executable || tmp >= current->end_data) { diff --git a/linux-0.11-lab/cur/linux/mm/memory.o b/linux-0.11-lab/cur/linux/mm/memory.o new file mode 100644 index 0000000000000000000000000000000000000000..47f156d50a75d61325408a8a1c3ed8f0c2adff20 GIT binary patch literal 13824 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 L+T;g=UUU8j%7>uH literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/tools/build.c b/linux-0.11-lab/cur/linux/tools/build.c new file mode 100644 index 0000000..8b8c7ab --- /dev/null +++ b/linux-0.11-lab/cur/linux/tools/build.c @@ -0,0 +1,171 @@ +/* + * linux/tools/build.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * This file builds a disk-image from three different files: + * + * - bootsect: max 510 bytes of 8086 machine code, loads the rest + * - setup: max 4 sectors of 8086 machine code, sets up system parm + * - system: 80386 code for actual system + * + * It does some checking that all files are of the correct type, and + * just writes the result to stdout, removing headers and padding to + * the right amount. It also writes some system data to stderr. + */ + +/* + * Changes by tytso to allow root device specification + */ + +#include /* fprintf */ +#include +#include /* contains exit */ +#include /* unistd.h needs this */ +#include +#include +#include /* contains read/write */ +#include + +#define MAJOR(a) (((unsigned)(a))>>8) +#define MINOR(a) ((a)&0xff) + +#define MINIX_HEADER 32 +#define GCC_HEADER 0x80 /* 0x1000 */ /* by wyj */ + +#define SYS_SIZE 0x3000 + +#define DEFAULT_MAJOR_ROOT 0x03 //0x02 /* by wyj */ +#define DEFAULT_MINOR_ROOT 0x00 //0x1d + +/* max nr of sectors of setup: don't change unless you also change + * bootsect etc */ +#define SETUP_SECTS 4 + +#define STRINGIFY(x) #x + +void die(char * str) +{ + fprintf(stderr,"%s\n",str); + exit(1); +} + +void usage(void) +{ + die("Usage: build bootsect setup system [rootdev] [> image]"); +} + +int main(int argc, char ** argv) +{ + int i,c,id; + char buf[1024*4]; /* by wyj */ + char major_root, minor_root; + struct stat sb; + + if ((argc != 4) && (argc != 5)) + usage(); + if (argc == 5) { + if (strcmp(argv[4], "FLOPPY")) { + if (stat(argv[4], &sb)) { + perror(argv[4]); + die("Couldn't stat root device."); + } + major_root = MAJOR(sb.st_rdev); + minor_root = MINOR(sb.st_rdev); + } else { + major_root = 0; + minor_root = 0; + } + } else { + major_root = DEFAULT_MAJOR_ROOT; + minor_root = DEFAULT_MINOR_ROOT; + } + fprintf(stderr, "Root device is (%d, %d)\n", major_root, minor_root); + if ((major_root != 2) && (major_root != 3) && + (major_root != 0)) { + fprintf(stderr, "Illegal root device (major = %d)\n", + major_root); + die("Bad root device --- major #"); + } + for (i=0;i0 ; i+=c ) + if (write(1,buf,c)!=c) + die("Write call failed"); + close (id); + if (i > SETUP_SECTS*512) + die("Setup exceeds " STRINGIFY(SETUP_SECTS) + " sectors - rewrite build/boot/setup"); + fprintf(stderr,"Setup is %d bytes.\n",i); + for (c=0 ; c sizeof(buf)) + c = sizeof(buf); + if (write(1,buf,c) != c) + die("Write call failed"); + i += c; + } + + if ((id=open(argv[3],O_RDONLY,0))<0) + die("Unable to open 'system'"); + if (read(id,buf,GCC_HEADER) != GCC_HEADER) + die("Unable to read header of 'system'"); +// if (((long *) buf)[5] != 0) +// die("Non-GCC header of 'system'"); + for (i=0 ; (c=read(id,buf,sizeof buf))>0 ; i+=c ) + if (write(1,buf,c)!=c) + die("Write call failed"); + close(id); + fprintf(stderr,"System is %d bytes.\n",i); + if (i > SYS_SIZE*16) + die("System is too big"); + return(0); +} diff --git a/linux-0.11-lab/cur/linux/tools/system b/linux-0.11-lab/cur/linux/tools/system new file mode 100644 index 0000000000000000000000000000000000000000..5af168eb5ffb272ba04a9547eeabc83ab8bad33b GIT binary patch literal 296749 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 HMsWWNc?w(U literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/images/rootimage-0.11 b/linux-0.11-lab/images/rootimage-0.11 new file mode 100644 index 0000000000000000000000000000000000000000..2bcebff984bf7b7ea5e28fee3dd7c546268e053a GIT binary patch literal 10485760 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

    JbqJ~!Ezb51u^L@`6Uu1bz=qARcf77KR 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

    nhIm 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%0AyuDB`x}mr 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

    n`Fnmx$T?6Ko*XEw3gHI(WD5QadI}a36YDY8q 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�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

    jjyE~##{NU% z37)bW0lGng5``0;`t+BVk&rR5fan4D9{Yq?oN*q)6`hv(voczcHnUNS_z1VxA_AHr z+wV_*mZXyXy4YKyT!g2ePb;}{cOlmyt;rf9)zH9iA%m^K&IAa%*mww))mADP6kG%2 zp_dJJhIzvo_~i^iKXSc1)J>R0 zRO@}2s>@c2HX2C7D{5?OyPYDqD%!;6>n@CT1=90&pNS3000g3GU4` z=of}&JHZ=3J4?2Z0ZmH_H7%f%CbhsA<1q|Z=p+Pf;}3n3x<2_i$^bQ=5J08-Th&nE z3#7)&BDVRvBY{u!^gk_wPaqF%t^*mci26K-o`$TBxmc&31WYuPIK6xzXEN(MrKX9+ z@rkRzl(8Wd6J6wV_|KrZKTH}XiS2{S86lU65B3^#rGMcRRQObB$ej=$?CrF1?ICN) zt_V0^L1o4`LYV@$#?v{i&EEvu3X2t!d}NRCf(AosbgwH2PvV3Ovci4o2%L&>x>I+t zy+{++IK((gT{5^Vc2LvnGXPz?zJ26Wnk^;@qnHlh2m*-h7K=P+cRbE5)YcSn2}e{% zZ0%dQ@u7M?nOJ<5WWD!bcKcQ$b)AHyX0CproP-=ojb- zNOg-ggeO(qi6KWgeGYXse1<+N zHwTCjv(D42avh@TJO|!Ryq)@zTyC9-9E75Ak9~J|))g>srJ7I_zTgyv-*ZHY!Hb1^ z?!CaV#XU$)v8dk3?;%#`$cXVA-jaHUrT=kUqR5t=Hv)1yz)cGGDQP{1v9G9WYut~% zHzZHJK$L29H3MU5GwkcoOc!tc56yOQei#QbHAVD=%HiM01FDbVg;ypPy|eT>U@)Qh z*V4>w4S=^$PpqFrp;wXKWtEI^bHLR#U+K)}s%ey2xVQ0^UYA)9ps~DGv^2hxq%Rrk z$S>_(Hy?BEq$SrJ?0iRlM?us}`&%8<)z|c@v5p*IeN?64IB2hcm$=f4jYlv*LRHCV z3Ncof)KRehcdZ04uX9JPHJM8ULMDOT2>*iVl#*XkU5%7D(YOEsx|g%{Lm)z?n~51f z)I0rmDjWDOGo}D72K)Drf=juU+S{4$b*&wzdTG7<=?-0u7Lp>kQbjQwH^|+( zWUSl(W0aNQgI^ktME0JaFV2`n4k4D>+^E;R&BYa;Yf$Mb}rZZ zs6ni!R;>*{*m3( zV}BmlMEl|D>)0Ce-c(Pw1dc#2smDpoSeRfuey@MbGs~bp`8eJ2XboxLb-rVSH&ul< zoGBUKiI(_|=7z_;$B-A*OeSW*(ZawEhR<=sbqb$hk-&h!Oe)9WY)>nxi}p>T)F7|* z8drd4oNk2hC$^?ghE?=8arg%XNTTC10=3n>%M!vEGX$J2^9{6mdng7*Vo5=(fdvZu zqIYNHa)=IzFe3dk?8wVZCk{?ofm;&i5^HQxB`u_f72^u`Ub5o+-+h9z#I`BY77Mio z+FfQ9_~rvz(B4WF?jajk9C?%>|@+Zo{kD6Ohm|nnU11!BL@6^lFMR^A%K}k2Q-Zn}DDtJ-ete1D_!Hn>% zDF92Vjk-6}(wsiSRY{fGzKwQ0urE8Xk1*Tou@SifcCPLEvh7&T+9k@{L&172aB4Kr z9u4e@20H0n<&$pC30PYerJa#A@PIYs@=ogfl=s9A8}t(cn6IT5gC6fejxr%?C^X|1 zGaLzCLlTzp7$v4nF9zrAxx$GynInV(f%FB9FfS7zKuK5HcCc4u$8DJXx;*q*)L$H) z^yDEVi)LH#pD%*-n8tgsPu7%};BBM*v`S)iz&X{+o9l4?v01dcANSU0d$++`_|5?l zY@qN0&#H;$P;ein`hJDn1ATTP3n-Sp0uHbdW1*=7Z*v6IP>VJVG39%mf$XTaBNXhg zVc$skBt6)cozE(ZEQOm~#EpqzM2=}qt>`lx@yXi+1!m-zw*~E@yv_6y3TA5l({wM{ ziSm7s(M5M>0BWjkO4QdJ_3Z<1$hcs~4rags(m9?ZFIjFP;I&nRWGBH2IiPMK(qWO0Nm_?4nY0(lcJg50ypyQE=XbQEs$?Q1F1}zo2D) z5~e!@`1%3AR|*xDex%@8|!JfUE-W8*3$BytmYC5g*69#W>MLTtu> zJu=EJW*JqC4<4~g1HCV69>CU(W?IRRhm~-)0X#qk2aw0_zIWm!xCHp}B*l>I|5Mg- zkhp*o*Cwi*m~(SF!_zP1Z7UZRNJntN(FPBZi`GJ?lh!limgF5&{)w|dhSEd8 zO`3y${|U5D1uH$6L-o0$g*A@(EUSxDK#~<1(ShTONCt%=h^?x|VGp2vLIgO1WEBap z>^q6ENahIfbXwz~x*SEjGwcA;;Q{>Gacm27V74yWLLrL{m4Q*AV1~94jWJGdHy1%Y zmP`_*jX$xBOc|Q$=Q5)jT})(RLL$eKSr6quWRYpZmC(I_SQaZNx#hF#OdZ|p!HgcS1t{5a^$I$+u4TnyKjYaQ6i zwiqpn>=6O&@tu_uRY@s{k*RuB#4;jsk0J}xM~awDM7t<)fP}8aM10aFxwTGoW5VDP z`{YE4D?T*PN{NMKyyG?ly9uM~oYK9K3fJhjiB|DjlTIA=;Oqm)i;GK_8ndiU9MKDu z&zCJuCJb{zf&7QXMV~b5mwD`$d#(hVmFxw37zwgWwmTkTlFzxL;*YL(Mc12LUN3!P zF$)t-rVT|=WJV!nW87yt?7;vpy514JP;omY?hxIG9^)qEaK2NNAtH820rsI~A$g>T zG6ykxg-2ZO30E9aV=NvI$snVwN)>MCP7k({0q7nnyN82zsqqlH=xjL+meR{A*h}RR zg|uc|O(fP?YXQ0}#6kx9=k|Cy$)(hZ-4{-=yYICKiip@9I_!3T>pO4?a*}ON*zw!` zw0X@)`7S*GTuqnwnp3QIwJwmn9vSWa_8ADSi{_lrtd8$Mf69GN z2b&L&`Ch8&#cvwl$85?zf$1Sfc4O_HD%4p9`G}nKB5{)gyWqaQ*K9jL{{=d{m_?^V zF_Ty>5`muD9YAE1EFuvY82LuEA`4ePaAPc(4uN|?R4O|~;1GA! zAvF)6KGCP?1~xi8Ms7g2RDRPyeHms)>3tSiU999hwmz$7>9fyX|D(4y0X7pYi>o!2 zD6I<|M5FHo$mM7>7GRh_FP2xF=Ws=X%2%{LNLxv9XA62x=)|H-5N#!{uj)tKMB%|O z=;oX7qd7n3?!g5)8Nj)|zB1I0W8ObRTueD#n^rkn^8~&Untj!6Ao?fkgGVP_N@KURivr{`|7dkU4a=*s zK|ZI20-1yJ2n%+pR3|*EnhXX~Bn9xWzCkuEE0`t$6 zee*Ijr+<89&GL+BpFVjOcoEl3730aE&+~{RG0)LDZ&G^^R5LH@hnJ!(?eNpwNSe0T z_%Z9jfl`Rm666C*G80Sm0*FfTa_Rf57X8|(SbKg4?zpVd8VD}xPzsp`g(L;84X<_H zUFxhW9dJK&L@#jW6nONKbeeF%2FzSN_CBzH#wa%Qi9+FW32kfu~?Dm3mY{D*!DfTod8zRkX;dvdL zR|T#q1S^F}$6_d5oF;v(3s((564MvTEQIVuo$^ey*rUZ{%2=4)AqvQW6fwCN6i$!R zKfSW%22ujcUX)A~EYf`T6gXK5^x;=XptLzWrLyKSNMR(#TMIImA^O&WtWLae>jvp- zjK=Fucgmt;u7r>#a8L#t>(kNnWz?Ya8r`(+l;`M0a+J5GIndAH>(fRDJSAmIjSK!r zTu>JCzk#^~%%Y))%6;~%TcDel13{PvuHsD<=)@N}&~d}VJaH*58*&C+;=qWO)OB8hh#j-dlK7>N~TWzaF#Cbt$4}4)Kq=#bGR9RXa$hRM*gBe4lAl z-NZ28LHE#urtEfZ$~@SMj=G4Z_AGYe(dj@-*%S*aIwQRjA zxW}-&9!=k%IF0j>cv)Rqd8B>!K?nN@r$|8Nw#591VePjaEhSb!4*Dr|f^j5kq> zBZI0kfqoq~$^rKlO0hnkQXg4>EYGB zVA-dF$rCXm+mgu|%EE6K4W_j%8BCZ&1nRmFQ&Bt4fp{t#`vGa&(Aa4L0=LL8PL@Ei zZ82!tcOVCCRLk97PnNr(Q~EJMfLq8hP=Jrnq8cb@V zF>WwIFkAGeYK_KdSk%0uA)-+&LMw=$q0 zav{eLoPSFSjb!ZK;b< zWuj(6UCg{sCB1lboaj+u;=DW*gv20A;@oDL%E};*Rv8u4iKc6YNS9x54`}wW$PiGm zS+PSf>SgtdFZ1rO@_H)IAeW-`rxvDxmJYouj-|2i?+*eg`Jr zvHIV;4)Y^epfs{^9?938?dy-6ERQVNe7*Tzvc~Bonjq`16dlwQsKipXUTl2OENlE7 zSO?^jb*T2G4%PfUXSN~g%P=z`=$L;*hGew{2GxVNN<9qHX)F%__8$6`Ihoa1Yz6~u z7n*)3kB^+^10HMrX-8Dn3icypMyvj*--R1MX@G@1upOVss?VV+!wBn8D_+RE4Fi{L z=*`_9#`==4Ava1F=K1P*g11@sHMpNf!E1IueS-V(?cww(qOk_6tk`O^=>9gK#p}L$ zTVc2@iUkT^bNF`L;n=(&gv!4KKKZkuAoPiS`6Ojy z1hJO(hQ0eLb!VkW!=ac^gM&T%5&5*I(&igL<25jiGi|Pq^%rZgbDO08Mq%2^oJg1Y zqd9a`j=0BIVaY>Tr;^bl`e7WTtDRC;(&6E{HdaZVatw`}^Kql8ieP%<`x&A?Ui}10 zt*YQby)GRc-n=7F#AX@gEX9baRt{9wVT1LVKSZB7_@)Ak{zEeIsYRC`BiU*eS1o76 zCg3|rtvc4}F)M~07QsWbfhUN$gKiA*Rp&=72IYQ?{Gc{uKWm4#u9xqC1$5Bu8CFV4%Kxy}(?lygAO%bp3fg&G~9Cda(c5&Oos$yr<2 zw`=#*J{!r`pHf48jcVx(Zjv@0+I`Eu-4*?P-d?isJ3_vG+wO{9Od^j8_RbG|Hr@U0 z3Z%DE5B5}M2UUxNuMaD8gM;%ycB9M(wm!-S^>R?pbusndN}VWDv=aA9ybA}T?80Rz zDl45oWCw0cD~SRPfY^!2g)0}c{A;OgMfDYGm?7-c&wMF5s6N@!Ao&G@791@b-wss$8H&n0q$@fy-YAa!T(F_yPe%OQNwR?lYYjbBMXYheJ#>YR zEC;-H9CUH6MWi@Y4>M;-?A26sjy7h4%4ve7`uHb^6rFH%!UnXeOqw3V3=ldSxmX{v zcKoOi|O(Dynu7!y?P4KM8E?!(^BFM0bhW2WXa&`f~PJ4i_O7o~Rg(!7SL>&TS5~7rg)R;k+oGnJFv4{?4DY}cIGbmBG7?wGvKnxpu=THYFhgZ1| zL5ebLZ2d)kHYJDyyEv0;Sv#g`YZWegc(3uj3^l4aR~V>eXH^HjLSu?Sed#GwvaA&l zT^mf!Gob5J*dGihS|s1qO=6U8(EJ|UB)ZUkHFTxApV|?==gMkida<+d2)fgI8V{OX z@K@0zI$2d;L;K%#JF5@68xA@+vbx6Vx9(`@vO9OOf3vUsDtC}6P0qUAWZgEn$6b9e zwc%iLr7#){yK}qysqJQ`8>D#OIs?0NsmtF~!#!g6Q%#MXPSDUlNALK}#`m3~e@G`B zU1rn;nBb20DLDg+!_=_vR05tzpRyC>CK2DdWe(KZHHKu#4$)}~j8~3eOxrS(>}kWS zvPXBCdea=tPV}ac`tWy?Xacn6$Y*f233G0nzN{QWm@XN^e~>D)Ewd=JAF)}q@0MwZ zC02AmoABa^30_G7%-b3|Q&ps_1iQ1HKAlJz#GI_e92=8VADq%~&|WDH!>+E41#OWa z=+$pcscUQKw96hQ5|Ye=CMoYxSgNKgM5t=fO6teq*WBMiJ^7>UaiNjI=ey&?Cw~4R zB#@y}S%m3Hs=rRNq#7kbn`-&K8RqHgdyaCC>3{z7sBiUo)EC7;e=8>9emXqWcz%HA z-|=k6vkT9DJl%LwaTCcnJX7#w3hh z==6~BHXOx1p2f^H*1QqP876H7BE@>|F7N;t=ilRluVcZ^iO3{;gl02$evj$ipj8cQ zR*fc83^LkH-zhWPa#Gy9J71->-1*|Ua1RX2H?WC#2s#3`>rctsyEd)*qH_bu3-k7_ z`M71C4foEZGnceqyEPV^1)Fm$9H7vQScqfpNa2Cn#vhN zl;QY}6o!3F+{GY#MvakXe*Auk&z-dm!mYHPB9%Qd`J4E z7(%l-25fAhH(kG6+X;GTHak%Gj>K3#X9M6nQqIU{UPr)pv{)8xrBndlk!W;L`*3{6 zN8y0*9f!EE;5(8HHp}F*lz{I@-&={D7}32sgg~r80N;^LV2_LdC86Sg??@qW5mO19 z#6hTp4a0YgO8{FXmSb2Z~Uk2Z8*u- zBVW7$hrkR+#&@KowI(;xfEoTqv1PJ)C%8`vJ~Sxnhgx$I}Wv1_>RP5 z0QinlkXC%hKgQxMK)fct<6w1J@4Y5H`6P8Iw*z;)1mQahx)W>x+U@ zHVEx1fj{eKQF42(!3jpVe`WkJ?4Y$`TzyKTiV@Dv{@$dcXeO|% z5?EH)4-bG21__e$RezUQR+-pK4(u5TsU;FvRtYStk+7_m;B0RkO5@mAR$s^LvT-tS zn=oHUPp`#n(#*GpEz$>+eLLRQ;hXHH;(hILJZ3n@^L_x^yvf}Y>TUItg)`CC@6R*) z{|xso#MuV-KSsRw;CU8LFVaRdGai>R&%*mZ@my!In+pHr?okWvyDl?b$RLysW+xpq*h`in)pjdAR&P-o&-#cs^h@2 zD@J{vz_MeAxc?C>yE!CZ91AjW>m=0HOrjnG%dUv*hhW)F15M&YLsY%Wgaz@cs0_(s*0#hJ?Dew=2DexAybo@;*1#bQFUky`$dP7IQl7566@zK%xZ(#}?JEFfH zrU1qBkAx|3Y`OlKm;z5@|HfYhQ{cxK;*5YPur)@e-mHQT_$d*GVhYe0$$}}c5})#R zdURv{3tS#Qrod9TrdDaTz)&|MM> z<_m@?F!?_r;Gy^3pN%;XEb{)n-*^8i#-`ZXaJ={3)A%>*Y`Sc?AY<@-_uF7I_`dsk zP=?-jPm<*O?#YlpnLL^I-DhDlA)PGvy!-AKA$r_*-;UQY@4M%5^>N)%Ps4G(_nr)+ z1L}_YRVT1y=z97u@E!FlkmTr$8}a*(bw@p=SRYTR|BLRZfA@gA!}2*f8N_)maYub7 zr13d-)W_v--lIMAj(R_9=nnji_hrtnvR!chpMivr z-%)R=U_U~IZMkH6_ZRq%`We5K`ulI(QE$=JUwB8oMHSVwaQNT4quvq--%)STXX1|f z&%LAm?7cD{{BPe;|C2qEkH7gH^=GMw|HgOJTME&Lchqm@US1u3>5lri>tT1)SHnqk zMiu@3&)rdjL6BuOET=dcYOgjS`zCXsJVdp&EB6%jB zd3YA#xfahVJm13e&v<@>=Vy4H#`6N6U*mZh&t5#Q(yd zJQML`;yDA)Ie4by$;UGn&wM;SJf(P+u~t*Uy;~isl-FovkDsIfYZMFaA z+iuOg?(EZVI73^0(G3^fdQs)=>$ID1U3dMen{Uj#HE_%FiZz+noxb)A?S|`bz4bPK zri>udzoH_u;?^72X5Lnrc}rlG|K`=JDl#h((^`$D=;hfuf+F)dg>OI)xLUpaq#|IY z&?|TUi**08K30rrz6nP+g9A4Aw^svKL7(p+1fntSr{>r`u72=3EHMPWtd}{eFUoP( zUI7R0r{={h(yG5$Anq4V3|Gx-kIr|% zjr%FhjNq-VHaG?CZq4zp?iU(D{ps#+-49YUs}?b6?RYxyI1v#&offl6qqi{vy=Mg4 z0BA_`OG%-(Ka2Q6FWEwGe;V1oh1c)xg*r#i24S)PCy8uhJWS6(WEF6w-gcl98WWzV&HPn zbHHLYY1a24i~UUH$7){)no8T2y6Xt)DJL)sYKhEcI;Ay6&muaqG2A;MetN$>5VK4r zOQcE>&L-#+3NSi@evSJvrz=`<2sspu24+g)imxLK$i!y+YBT}^z#O3GOgW~*4rZ1k zAZs*ZDclg=9YR}iJqTsEG{JZk&O*(Ec;~Kt6Z!Hd*GB!eEBcxs z2F-78e0LPEv5NAO@3~IXHcsekqF%cHgcY0cVn)tnMqHs_zs-Llezkzx;sN>9qx%N( z$B_5Hw52609)(8(t9#lgZ!gYz10io|$riGWPQS~T9ivA%!kE`huj4u>RUq8v8lgL*YgaJst9^XThI4 zD8xK#h>(7X@z0=$CQ`)n=fTtwuIS;!%$|L5rk2LPnX_ikCVileSxSH`q1l_S!>9k0 zm5vpkB35WW8%k_VW-@FdZf#}qiX_}A0jsgBUl+p-i8oEKqAN>a^$~6ffJ3Kr_CdJsh#IrDMJ>M6wP7>(=-k-0|TwWgaEs96Ob$iFt~-kb)P;-lLA!IYY& zs9V!&-qw1eQSm|cYvQHa{ek4?sC%9L284-|Dn`{bz+i@J$q6o?aT)vYEt&w-82SWZ z{RkZ4s)^Cn+j64sN26(|7s6oTPEdF)eWV6;zu{$!nKba@p<0 zIy(#(o?ydmjmDZ2kcw3cH@pJGm=j1(6y;$QnaEPaRMSGCD8}9f6|!4F+(w_I*vRb+ z#h$Bn|E3zS7?^?`_k;7;4ng@wbKfDZ3Wc<#%1_HAtzk6 zImj0%V)Ua)OIqLu-L_5ORV{f4O_|#|7QhRTG_Q0eiH-F)x2y)d%`z4x6u6 zx9h%syKOdUW7Ai3Td2Vqb~wW&PJOg^RkRL#^a$+r^KH5MT8Hg+M`Rv?14TSYVTXCuY`Lac%BoC0EcQPh?gvmfD8TP89k6~^_x6M9A0dQVoY{VBLg?I?iQXkFgqqs?ZcG6x%X>YXDTZGG1 zOg|3N!h_`XU&xn5KWwuJHmo1A9HJj0U1@v@5Z594Ib`amrklz?*KaPp+>^VfcK^mN zg`cE)g0pzpQsXpKn_@dfyJurc_FhyBzYiUW22LH8ziZH;kre|n1nS3=MF(1kuwz_! z^Hd6u(y<%eF{(0p%_;+VWDpMl@Q}M7SG`;yijH|`H_&Y@rn zs%NGJ-oHH19oYeS6Kliktani8Bx{g`2G8lDJsZ5q5QwpvLm7j+7;hMb1YF^VC^jmC z#njfP!UKfDT$Yp>17}LrG;Df{u#Pi^NXKT}02a{rpiQQV&F@AK15=6Qi2MYE@K5?# zB(c7N&zZZ&{ggRU@lSY;hB9HtKe=BxA-rT>`&_bf*d2lH>OAzV_`DRgU!q-h9!f1> z#LIz2T>fPs5}$oT%yetagy9;270W^3Y<8KJDgQvFF`*>F4G#)qUveNvetDQk202nJ zkNa0+M%dBN4mil=X{P1rYvJMCv%kFjhRRjULd*rkL9&m|ppl*YUD1tfzM^P3Dvl2! zcnI&^iRA3qn91aSMF%t{eb&RLiJ8nny~sLLn8|7QC|>bjG1qE5R9}opP0VESH3T!6 ztrcc62f7iAQC-NG$#aRz5iygU;4LTFh2PiWul&RJA( zdU2!fKr0U{$s#nHgo{aqYW%kHAd6c3Rw->Zk!mC@9VYryn8_Y|q7ogBnM@Y+r!bSL zt7NPjCG#0$CYufvW-@(J458T^12B{6&4YTHdI-&C2MRNpvOzv)17Ic-^ZCr{2$;zh z%c8B63ScG^Z3LX)^MTw62ZWhC#DxVjnQRyynGC>8rq@Ij z!%QX*TPz8iWKGyG%;dO3U?wvYlsLjnCY!B9iE#wXy%2Jf*vq!SEwPLS%;dOtg_(R`%wsn? zi3;(UglkSi2*OMz!XV7#csPui9M4C`3gOSeOy=wa%;dolnV89}{o}w)z7Nu4%w+N~ zBrFp%`Kg!$-a~KaSo}*p#W0hZ3Bq zG?e6SLJrtJDrPc8tuT{GS&W%X2Kpn+6ECH@}eubF|6El5qb#3Wiv?fyxLw`rZOs7^qj(R>AGo4%E5irwbPl4JB z>YK)W55`Ql`qs2{H?Q#ru3wdTOT{g>t=W)SamR}518e;iHxh3cBbH#CZQOA(dIU5p zhv|>8EB+HloOt2ngFj&g74!e*TsqIcdojBeNGmoPFqK1--Ixq^l^Cz1s>XF9r_tEn z_|hpdIOpKteryd+TfgRJKNc|8thsFs^MPg?^Cw`(Rc!nm^B z&G;IEF!@PfR2N>lSo2<5B47WvF{)2RmSBwPA720Y7}dz%35;qQ75BG#JE@$aY=jz4 z0c;Emm3?zE99ke~$Vs}7TnLbhT%yR?>OG`^nN=E+mL@Q&QOkV+Fshp|Yn#BR zz6!e3!;A2nz^EPxqk0=AXO9=7+WjS9F{8P^@eKJqU@@CC^Zf|ys+GMTZ^xIVpItCV zkK-}JIiB~dugI{MsJGQmn~K*;JC->kE1te%xg)zL5Z@}epO5!6JYU800OBK>>Gug0 ze<$8of$p%_?Sgx9x5z@93G<(gQT=CN)YdOYqYOP_%_ncu8G7w1E+6z8cGZLn7q$yY z@>aWF@I<}Up(E#R+7~)q0W0lZ63kqu8W7zGZpmf9N;2g(-JJr5K07#Ourko^#h+6O@UB4X514*b7>QA;v6 zF=|Oae}5RYyD?1qOE7AGjUGY*qt?4Qo2xu22^wS{A4VNpc`}bh}WD6Oi?Om^cj(s!E zoH4UNz&4@{qr$(SJyjym-5Bh4VIz?~c{;4Hk4O)6haH!T?TrVMbk{^|(5~I#uI)gM zi;kH?E(#|)8arLt$!+luTXH*nOkRZF{PON~6V~PF<0&`-<6HJkCur+?Bc~G&7Bc2^ z{K>Fd)3b%$ro-)hPJIl02wxBUG83Z1?nuk`b_Y(0F{cN5bYG8Nb(h07D@~MlN4y+@ zvQNL9SYMRn5U!-K>ssAk=Ma8;ElYCZlSZ3?ZULgcB*_s@Uo8ChIitzbI03^&AbRYM ziTOx#;A~2H*fB?Ug>0^g=EtItLoAx;P@lpdaz@8cSi=|+rTw}q3F!(QPF;6rcv5cu zb<*6cCln0MVM*D8X3eTmJ9 zROo&iQh6T|Wurvl(@6>Acc5GHls%c%LnP6p7NTx4Q^B zw4sj`NBXH}=#mI}dwc2ll=lcG;24dg^1*cYjfS;du^sE$x}tOM9N9x{EFM z_UCo18>@`^i3NEb>kpG!=Q@OkmSeD0Ppoms91~MLc2u;|-Y2xqg&qfm6-}mWS;P5} z;*3X}&04MD%t;%3L{B^w#YW=*I#*93fWfK?Ro&;%{O1!RxpY7w7nx0fld&Oe#!1#~ zqR27WL$vTdM`Sg^;o}TFBk-#j6??^YY@wt3jgzVDVb?CYl0Ij4qiAD6iNc9aefrDG zNXWh(#OxagJ7S*@i!;uHxe*WXq7Epd$x<^LwTO>u-lhn6+SH%^EJ-E%b+NZZxd=}` zUtlL+|FvJGElK3RH8}&3Y7Pj447LV46Cmtj<0146w^G5N;2HvSH*?u=XV{NAgB%&J zqN-v6wIV=hX%6jE#tUKNl}s6r{ai6b+M<6hN6V9hPPx84ztlqeT_cT6h=S zz?FAk1Y3PP>tK(a-{JK8Ntcc9xx|vYJc5NxTi}z9fZt}*(}P4X(A=mDqu z@qnw$z}7``X5BxkjP`*~0#7ulZpjy+?hM)oQ;zv^_h#Az7@D0)3iP{6wvYi$OA9qE zppz!Gz!>8(3}b2=+?z|t^(U$8lb@puQ1gj~m-}1QP~i)t#>*nM`MV>5PxSOZQGT!8 zJYG-!iC$0ih#)ec(bdl5HKSM7! zXwooAY#&_CvbT$N@xfk04;rFy3Mzc6G`P+KwbRD6hpZ*LBH*0&{uxIoQ{dzRw#B+P ze-muCdb^4FR+vB-mV$K%{WZA}rEa71;)*1nY+AFAh*iN$A$ z-Mt61+qV*_>m(#i3+t4jgs;ExmVTFPv_*Mu*9Wi~+&<@*_quCeC+aoWbxq|&czbjg zrgn|cY|34l|Jv~M3HdX~94L-AWFHP~$foPw{v5A?Hl)~?fO?m!691{PA`SLaZ8ys% zloQ$JL~ev1_Fw?SMrk3Ciqg0QX&RyAh^7J#FPwfY+W%GuB^6abzd%nws#~-nJgMp~ z7YW9iUSEH{>znRxeL^blh_@4nSm!cl3IGa+%V}$`3_B)-)8|lE!)NHTa&vc&$@3a?<3OgSh`vxc{2SS!`WRk#Wn$4gORp29y(s>*bOfyi zkgTXD)=#3)t4Qy%O7@Qip=&-z51qPd8f6ylZM>z|W!3{|EUy(UjqfDsOU63#OMBPN z*L}UDCD$D6sziQALDWn8TOGX1Pp=y5$O-m}sx$}oW(#)erRP395-_av|z;a@PFQu0fxtC12X8kg}{!QgED5QvcJX81s_IpFl) zschiC%y=K0fUq|NDY%qtslA=~Uf0@js+ZQwpYG7rXdx+rD^dO6TQpEt(j%N(CHxKq5rbXfOyieAS5&hWhZDheC zDizUz99)i04fy50O^HnOvMlGz)z^YvQjg`nA=nkjsxeH85`wL$KO1gduHM?b92?4; zsLtWNKCQ{S;FKEfm~*W}Uy|h%d+n3S?NEQBBfA|ZOh@!rpK@$I>L)3CeNmR{5N*-kB>6=U4ggO4S*10ZnLHqpXx>mzfU%)^>O~6S zpNjG_2<8nlafmwo!^iq|Un+L~d~<_8jlRY14cm6wFUtgH-Ql_i#(;`Gbk>+=@2WTC!La_kR^x#KHSC@sLO~ooG|seFk*J$ zND)Bp-^AIs$cZqA3vJQxk_l*F#P2@+=n?9{_i{TTYt2viI7DKXzwiFIn^HelY zqnmY|*o`dgPks^gu6Bj!Xa0zfyS*+wh+)2G;G=&>gMb|`d<2&2+fer;V$+AsGA>NA z(BZ6rr zuwq={-b+@T|GQ7X2-}uP+r`DkOg4elZi+Q%?s%c!B|Agn!{GhO{=P}VAv3+ zFEr`yd)J^tV8-5aiC*4qFUMS2hQO)5bdf7IILtF3+(w4Fi&$rLKuq`!i1JRoJYAG` zw0gM;Y4x^I8j$rwd9z;Lp$9X>UxMosl*0fITARoiw;9 z?};5TRTo1H5FcT0cd@YtIZC3g$e?OC^z!C9d(_)3+TD+P>$APv;4OUTfCx5Fc!6gjV@gygxDQkLze4VTK0A>G z6ie&CL2X0TLQ@Cc<_KW0TC{11Dc|c1WJkRnpA|+_d{!AcRxMgC;%>3S zWiuV-F8U0|L-IC3ff@PbZ9%&zZ!^7wf|;8CG~G*fqI_RubkW@zda$`}O4QdJ_3Z<1 z$h2xRB``I*+6>x@8dXQPPu+PBWc`5|HZng2K z)q8;at4&M@oF<_HnPh-h_vSCzDf*rP_dO@Wl<(_te|xMXY3_S=!KZS`=WwypNwgK^ zczaMIU?e+N_}WC9-P@h-ZQeLb_ciDH+JaMbUt5l^8GE5XfCG%|gs)T87Lk*X_uK4D zf_1j9GY3KVx>wqw0a8FT&?fVBnNftnv+%ZsnkU70EdcA-`kvS54$p)!>g{Ps$!(c$ zJ4b~MhsgDsAMHj4rVcv0z7I*Nly~Vcx1>yy&f7?+n4#?Jz;yej72NFQkX8<4(|{8R z=?>DtV@^mXC#0M5EAePn@ZtHGGW;>rOmjewBD_%WfabrTWquN-GrMh^W{M{2JJ2QY zCZnwB-$L;b-e!m$BbrdK*|BjI5)!!yypqIazZX)brGPPPkBqX5SwD6b1tQ1yl(ifrE+DzKi7F@N)Sb@o^b2`g z+Jyzu5nOPz!9(Ptwb1FLRkpY#c?Xqxo*MZl&H@=q4*@r64*vZogo2%#e>B2GtkJ?6 z$9$I6MJgc4ij3&M@kJzq!W4t8s>WdtpnXCFxKhL_l2J9oc}bvcT5XV_sw z)r?=e7rECdY+ZASt5_Kr6$)l(8_^hdqarDSdMueFN*nuP8JRLPwd!R?^niT3! z3XG;4i|mRlGHtjLx)%^jBS?^nIMkbA+n5%YV9Y;>-R>ukkiZ<0I5N6_m;wi-_vi{F z|Hu^nRwkiY;_Ux4YMtyJUTbOw;H0haUPn&A zBLdA~*EI1Pdk{s(De^?eoNz@w*Qu&Lr8yV0wOn7WbwtlMew<20f?BVTci^3s6IDss z8Y5Hns)#=&BKIh=Fg>h@8;EEZCAgPm09}if_>8V~Mb|pfjrlKdDGHpT#1$X}N!&K>>EvLa!df5hhsXU^P){LJKiFMXm zfNm^_Erb1Y|9d*grPNuwC+HNr`(EQS9y0s1e{;l(N$C5oBEa!=LqpU`os(be#vT*gXidZlmB5=S=Wv2)n;;uTR<_UXo zy#RGZe*=$^8_+G4-!u`o467gXK8vg_R&pL&pH;K;*=Mi+(Oa7$)2U@~wWboKb%BFu z^u2)FoYn;xCZO$*@{02uu4qv81V)ICC1)Glop+Zy>q-aQPaV+<;}S5LXSbfC@?O{qST7QjaEf(*?j-&ji> zBV&a8uzWa9^ha^Y7o>{< zR~br*OvbAa8v5yZEj)fj$62ckU6wIN&Xmy<2BnMYR+qlk)tbBylE_?07Yh|+oUToy z4r3--lhI=GRj}bZ;bs#V6P1&TLE-c`{nIOJZpeuC>ElU~qGYOIk><0fz{!%6UUY3a zq5hQ0n#&-Ckr;0+$Sgwitp!=T@WO2Zw5B>n<2BDarCQBZxVSz7G)7a|R=in*9#(YI zx`{8+D>4rA?=&ms@Q;#)(SZ|};*KJxG0;s4c3~dZe}I0*>7@fg6cD5g!im^`}rg-Nd%QhjeI*bJ<^AHN@f$}ar#`l><*_ZP#rXPszp$Apt z?WyF$(=?LZcs?8tJ2R~4j1JTt(HZ;jYh1yVDr`p#x74(yGBYI3@yD>c9u*_=W5#Km zkHpL3XXVia-h&VlgffVCqW|G2bl+&@J{I-@9vQQ2Kyw&xqE=AyyF|(tZnp zKE9XhTV!P~)wtDxF}o{V^VEm`BV31b$}^d;$li@fuDyoXy|=Dv@Hji&`AVp3W=$x9XFhLDjWN8 z?PNn^XGYCCNU1ieMTT**_@J>XL$tZ72ixB5^<=plI;9^E`O%`ITF9{n+eu1YH3t#h z9gXju;%sM+F(;TsJYCcJQyYzOY~h4oEegME(Vwa{8lz!R^A3oL3L>a>#lYLlUK6GQ zvr-#6lU3-Tf`KOSnqt7o4D?$WP);DyAq>3D3^cJtoPoEQfhOvO@RTMk=y3k`P*sj8 zsU9SgCPT4&=j*Sj=#OFat(mmrIm8Y3B^ zBVKQK&r#`qYEPxD9ff58x)`wW@2)6v?MfHA);&fg@*T#++(+KA9rXa3jU`zbmHAjN zs5&!l-gF+w>7Y8-q?@Mor^4g`&9OF3&dy*jtY*^IrEvo#?}S1d9k1(sE>?L~b)9#> zegF2*K@7msnM4U{K;h17_h(eoZCxsiD-o`YVS$EC8{xt%EW@Vb9A>exL$)Xa6J4}4 zTWr)zf-xO>#Ev8t8G4eBR{K-As<882L-KOPcs*K!x*5?_qfRpGX;hiAUS!^B`03)C*+! zlWF8SXE(Y-WhG&+QEaqu&&X4$`#!A9_k9KtqTPDOMwQ?}IDn=X8ygMTQc4jdVncsNQ(Q#^3SLibH7;HliiLxw~kET zR2e!lWg~6qzYH1PSOwI*w{w)2>Y!V?(O1AkE;gL>uETg63)%)< zIp*um_Vq_j#_}-;xJ@nJOV(akW5T7sQgl#Lpb{$+_MLY*vBnOp8;2{}Wd+JQRP(`{ z*@mbu!_0)BV?GNRlGPd*R1e-N^)N`Mu{A34tlJl6Wt zj;O2^>_^CqR{c{KiOT@zf$jK26aE~kGW6IFwc>@m+c0q1hTh!$VXRm98girJHO$`C z^Mqlu?rU&Aje^(ge)ds1$7TTVK zOYhjjACXUcDs8?2G+qPKIMe3(Sbwn=d-w09{zhRM#hjRx^#{$#(o#{tCHflQ&k+4k z)~RIluyK&Cc1m4IhllIhSS5MNF*I_{$Bm{cg6SMsy!r{0T2;Y=L|r;Mym?2Uh|My} zS&9);tsJPV!v^a!e~3PF@J$66{fA`aQ;RM?MzUig&NfnHY(lq#zI5#Cz$^=PiHKW&G7-}3q_E@;#eKj4Oy9Wck zu&)jM;=KHs>m1QVIS2H-?3qwosL>H>a?A@Iv2T2voVA60yLM0QvypuLDK*sBsFu#) zCTZiL-M8%9UD4mi*Iifp9U))8ZFfa4CM8D&d*_Efo9_O01=3ro2YV{BgQ`Ws*N2t4 z!NK`p2bxs$H4R%I3nM? z7_45onB`wfZ7Zs;P{Ryir+(&3(LwdeT*b$RkBJY}A(MP4HdKSmRX;br9jN*<6qR{M zmyL1f@gvQgraq3B$@_CQUbCMgg4-T0^sT{J2}ko!gf-T@BahZ;##5%e}mQ z{Nj>oi)&h_NEJ&R(%q@i89i_kozYFd+&UY-LP~kp5puC?{eDO4K)W%}_c}Eg6IAXE zFYM&*!`{v>dHXQ~qsIGaCP3&NB&4mVwJ4YDr%g%NlSs>C_{X{ebqI_}h*B*sDqNjtEPt_MHx0W-6KDn62t*-oZ+^tMN+l3 z3XAFQHNKajMiu7@1GVg|>cCfMOfjf0J%vh^wE`Lo0y)n>20MlQ!EmBQ@?G5|M(GC4 z@4-!?3+-1!SE~D|9pQVftVX66I~$LnJH4mzpxFg~6+NPpRrNKr|6RAU`k=evpo1f; zYpj0jj)pF~b0_;Z``WK^2bt33tlLf2ZG(H<)dy1>4klL$qrtE{x4WO(Zg#psiubKE zu$!9(1Wh&EBX&R4)Y$0+jXLd3;?2hQouYq8Cmda7Ibq6Wkmqwa1B=7duKEdx+{*B?lZ(jMJu>P>SnJJFj)>cihnq6xK{ zBcH+9Cd?IX`m%BiVY*}t|3RwIwrCXFkJv2Qcgr-y5-U2OO?dId1h1q3=4}m~sVY)d zg5B9ppH8Fi#4O--+J;)gFrpUfIDyNcq zEaD!=UMdz!;wK@2KSKf;a7*`&3>@}F&lKj~l||0Rv^NA^6; zV>0-^^u7m!{vY6Z1kVe2UcvJYo*q0=Jf4ZT>J`t0cna|N@LY>$Ii8#G+>U2G9=d&Y zGaen!KjZlUo-KGD#q&6xr|`Uhry0*nc=q7w!1E@a-{W}?&j)x8<4M6b*fDt0@tgs< zv?0ULGxYBU&`6hrv!0I0>debDZ4%z}cRV=j-3XulW==v+7-7-77Vk-T)1Qg6z6jM~ z2bu%*_rT-!J+of<)~d3r9?H)Lt@>X!r_A2|v(#0OZC**=E4H6LYxda%53YW=d@C>Ogp7Q>urI&v1UHa~LvugkBcUK1gWB;9#XW`ozea;CN z*POKW>V;qbGJSV`dxQ7l?Vk?3a{cD-(Dwr${_YzWpFexsyl?#e*Yy2xU&|90fA+wu zKmEn?@6dPMll_M-zW9=RJg43=X*Rx%gBMJ^q-k$X#e{<^=)2vwy!eu9Zp?r4itxYD z_nf!BvH6nvQ)?qv*8h>dA9(P=XD<1{gY>pVR#oapQg+- zH;`>H<5Z@Wf@kw}n&wq>LR0Zs%-1S&H71v-zeeGc8Aml@<|>$JjP1nOO(?Sq=I<+W zI?P*?*#k4p{82b_z!2TNVVawinQr)f*<#+W%yif8A&dD#Wu~$95sR5NW>c6%A7?Ss zVOF9SouX-HTFf+iPxNh|(;)=YTmm!6XAZ`y%M^Vd+^n>i?@(?E;ig8>X}nu!F@Miu z{;|dUgvCtj_7pFTi5rxe#>uoDpLn2g^KNCPvGeQ7OjobHt=unz`#&f;U7z%^qSr&| zpIXeLlVn^5=;;>oY0BIW`dJq9Man#Iwx-Qh=2_<;pTJCdr<*DWD3thb1O0ksz7OO1 zn=R(`%1pAIR zwU}#^IU^6{$YTD!GS311VT<`OWv-s3X-`|szqXk7D)V&gLw!@38&KHavzYspSu4T; z90-BrK;{!*AldF(u4$(#^Q;>&PX#mn+06`Pc40nfmc_hKnQ4pV5{r4cGSlA2o0XY1 zKn9e#19MB&7W21F_t-D?fW`b%i}^8&d7Cmn0QYSc^Q+2ipmN)9F?T659XIY%=4zNV z>}tWMM&_}~{3y&PS$lC^O~Nivy^VULkAr-SF!%KTl>H^4j!?kAz#-KFRQ8Q?>iNxwf(X2%tpMjOWQuNBSL zG};_b<__@l91IjMooM^DqLUt9QRXace|;5ZiYpUw{a(>YhP}#6b?JaI)7)S(G7LVo zW^6|CDDxt$f@CQ3HpF|HG8g8f9)_91r@JC9QuO|dG;N+TFN1lZGCRtUmz4XdaDT0$ zQysEgnT`3H_H|{hLU~!M%+tVg5N1j*wNtf;Qo8cJPGmst1_PjK7Xpr zR0bbYW}2_u4l{*Wgfg;A(Z7p4@EXjNuCox=`^t^uI@H6;4du@?cqG4c>G;Voko##j zVU8YVlA(5;rk$mP1EE&&Rrf<$em0 z3M_cerQdA%9~c8ZSnem$$J=bV+2^T*n>e`?%Uj3j<`&gYSTKIzJY>1qHvJRa_*b|s z{;=h~6Yg)q&A8l={4L9WBmAF-n|Zkt`lQElSD?-MvE}xAk)8#=8SuZe{13su-*Ufz zvKX{rz5|%lRGF3w?x~iW`)udI&9vC}SPVC!C|!WL(ehu4bXQyOJg`@6`KQBwqvdA% zUJ5tkzJRzpEr0W7tijkYSl|s=?m_rJ1h*UTJoNl&%fBCWyu)(Sh{e;EoAvrx%gr|B zgymj|2Iq&C`vugyH!SyFxPJpT@iQ*Z^D>Wz;QyB8PwRmnz)hN81kGc|N*MMr##?Uo zPcF0EU8_-#EcY7F$y>;Y^BiO&+j8%P$44x8J#ZIT?mf`AH(Txs$nSc%neIzSceCaH z1nT}a%l#zi3|emXpBpSU+uV;^ZuZS|xS2&5ci1X&wk)@mU}H|=z*Jbo&udevHaNwJ_9%7vR(MC<po zd9bW@d!V3@|wEFkp*1UsFsb)b4_Dqh^iaQRP})o7^~~b)sf`} z(zn-YJGW6#DH_Os!+p$9RrQ{Vs>W*MN1zj&udApclv-UYDrr@NRU{D2imK}fQd41h zA*`}ASXT#Jdmu+tVhrCdN{p`hvhw>%E9$guHKQ2fbYc>71OUeOQUM4&mwQVv7l@(=bnPMYWN(sWKdtvph@6W8sjH9-DHtp{!g$upvRwNlptI<3!g>386l$uB{Sk8VD+D zD;ldRsunRH_mlypWRF!F1cq8Gn-DFnwoytK>RnYm>OG?s*+rg^JJ2AilTuot?W_kg zca}l=D6J5B&{|z5Ian*XPolP!HG*`hr>t~EiIv_Q7X-50D%aa;$pcFg7YUZ}+is-j z7M^hdv$+S2DQbZfyhUWbEn!wk)Yh<66Eag;C%kay+RnONq!Fc38!z3)cU?FByQ+2gy!R;&xo+eUx zfrn_dnH^S0p%jRU6}7bVqoQX~N)L*XXfE+;sN3F9wzIUhY^RW+?N$pS)QehOFN$9_ zMMP2+53a4;Zq*dzvGKkH^^M+wtc^ljTa0I!5`o&F)s~~$u##E27pkrrMU1*{E8Ya% zA&Rh6$|>7tp^Jp5Y_F|r0C$O$tq)R_Qo(XYzN+ghZ8kTG$}W5?1_QJfvQnnjX(%Gm zBqUZARy?~g0-5ZYFqtAN^HMLc5{o>5CeckH$W9AH^l|6`UQ0H~j7W7Qdvc&yYFE*Z z68WgTphdZ7cSBjdhSCxejJlwTRs?b(1P^bt{}?HZ{*7|rzs7;FSmRL+;_+j?m6O+_ zf1?~2<-q@MH~@PVp2JiCW-amz1Ip*iFuaU@tgIu7JP^D_^ULh_9W9m z1sBZ3kLkjEr)?KJWrO(|=HPG)=U_~r59Kit#rH6cV1|;JkgJowhSKh7EBb6p(`V;t zlP#b8V)LJ5?8t)v#~*^Tw2#W*g{xX_SU@|A{j0)FkA({#3w7O=GqB4~ldfai$F#Xu zt&Tjly0S(1%$-N0;x|q_8VVKOQ=M z3ReDBMNc6vY!!0Okn_8dMLh0B20Y$@mwJ0BZ{uM)7IpHCOY7A+p}ZGF*z``m>6HP? zF9OQj$v3@{qA+$Na3FRRd_34G`54OUU~FwB?vsZXE?VFo1cm36lJGXtSRS~RB#mH( z_|=OJN!B`G=?#Z4^Ufhi(aJ4;YxnF}0Q(WJA@v?+cJ-d%>3=|RO#_Je0E$a|w#HPP zRLh5DXCQ^;1{ez5VuuB15p*3sLoWn&ILxJGqEH3wv#w8(8E2R~?e5^_GzhrU{LLoH z1E#EZB$+>hdxv93y7@ym^e&h(fTf{~pf?xZ>E=;*#*&YA5ThrkJdSuCOyT>ECBFqC zi_Jl-6XAHIl_lSSKOr3}Idx)?iJP}$3K%jLIf)?PdK{z}x4Lr2?)Jfu(Nx^o1k>YP zQ4piQj=L+04*HHbVo7aDbd%m-Lc@&HQ*e?7^AaaV7L@B%YM3Tj%g0%7K!1`^@2eOC?50?l!(}67p`%+=y{*w|qSjq5Pu*5Jd>QAwZJ|Y7_4js%Z1T4hJ zPUfqC4c^BfCxV26#W{AM%Pl;FBg~?1<7~UA(4tPM<4VkW2pT}5(-AM0+}D9$?NEvN zC73%_zbeZ10@G3ETOBp@77v|8u3UHy(VGxgZ za0IP(VxKGbhTXmm#;SNbfyP9C%Sg2v30#csZD~5=^&O(o6WuSHi4ABb&J>%)TZt6* zhYp|Z5ET#&8ya$cP$A(W4F~E947k7yJGm(S1S{9ose!TpXL16ZydguyA6L&Uo(6DC z8O>&ZOf?r_7X``phXx$5-%)rrF9k)mdqSQYug1&slJQd0qw`@ckAqD$C9e{77JUrf z)e_{LD&`~57Cia<^}B6jM1E;^-D56?o&Zn89fqjW!jhoJ$XE^?lAEys-0xc8?np)*f_7^*+PzJF+aMgkXaufqxqz z$C2lOi|8cd)p0}Y%|Wmw%XgV=(CK=Y)&B1wA)=rVvnTlwsl^{IAu|uM55=opV2{!n ztpr|EG^i6T{-Ui!e@HZWXjx^?Cy+a>qeD^lCiI>D5q(72cbW~Ck;aOxr?FWwL?;a8 z33ueXqTLD8U4T0MOYF*%dty%@uqOPEpIL-RoMX`nQo*+ru)?wm1 zNpN#VYJ%*d9hS1&t)xoH4dscvYSZja>@=W6af)tHQ#H~1qhn%%H_^rDAc06l%L?T^ zCJJ=Mj`ZM4_I{HjEkaJxdy+*cAX%nX@A!q{cs()GuVwi>-T?@8^)R9{B++RJMEm13 zr%9U4`@wA~D)*uD!cIbN9G^DbE|*E>Yp7@vuE2sr<+WrL6dwacAP~j()Verr(pHh^ zNz+QGr6IecDf(&3+#<*vOz&TBqzOflCKQF#zZ(*0o?y{jrN7yRo81T%{Tlla1H!PC z=tFo!Qn)wd_n{MB7zf5x9KHh|fFhv@{LOQg6X8?8fVTkq82mRl|4{*G~hN z&`$%leu_Q`tj>bv3w;N|K(l;dbIS5r>h0pDr{xu@XL+MKGx|}8BJJs5+yK*avHC%? z39xz>OmdRNXjU!^cTkbp;Wv(;&nnAV349qU%UKpzkhiEmiVk~ZP^b#j?I`#J^A=F5 zf=~VubgZ~T370Ir4@)sLm&<=#f`u|G-S0kZ(QELn;6L8c%W?UPn5J*ADu zB!Om)yHk|t?_~RE$?Uv&MOa9mH&2XfM z!j2TIh-;PC24>$s+g4ulp}kn9R@L{IpG-!@@Ie=d_GMqPc{MyN4eM)Vb1$172pYU) z69?t01p8F?u|rCpyobPndb1Xo@QS@w^yx6$fcX#auQV+)|8cM(~deH8~oMBSW(wDMu?U zDbI*g&Tlgtln)~o_q|$*tNnICEN=UP-uli#p=rmg72vUCYJGM+WIYjmk1d|(*`Qm) zlS|ACbc=a`(+2F0!o*EBR9asCBjo6Hp$}5E`7zP!{IGEk9%X{bXyuih0pBNHbAUKp zCbD#YjQ+baF&BmIr2g*y2)}h)88jH-d5&S8!fsR~1Kx<73IqItgvdicR;Bl~b+x%y zhdxO0wX$u;tkM@r>=kxzWzhF9B;OVrb&R~l!3Mk0o|w8ml-DPk$$3MX#CSN{`iRA1nGFcz-OyB1Teb9_Mi9oK^Z5wPxm5|*wXEgg#^F|}&Ba$g~ z^AH+zy4Vp^_Mv0?6djtY+nu@^*E`uMY3O*#l#-947?r~mFUi{Aevg8oGP5RM!E-6&$-;K=u!KHToKkNQS_y2MKllw9E=iHxn zf5F}1?sR|Aec1iD`%CUGyT9Uo!u?hE*W6!sKk5Ew_cz?%bU)?(7x%xq|IPih`x*BU z%$jdEa=1ONLtkT8*wDO4OLQU((TD)tyj-qRq*NZ&yZ;dEA^XAS$(19o2;`XxTE zaw{fQ9y)^t1!HZ|?%X&`$=PF~F{=`j8k)12)aG9$wW_>T1al=f1hfKcfRuGy&JXAqgron%q7Kuh7X4LfxD-!B~yot8&GxiCO`T z8qk*G#`&c-bqg%&W)n-QNG+XXD3Km$6X}6AaW_fyD#cRVNH?Xk7x^PCosV^Jsp**t z(MX9jFkK<%X?#cw^E;9iNzui_SS;I-3ro{)&57~O4N;az?3&KANQ~=#0o;YaHsi;b z-iWs%3^bRB^!>U>IdX;UXV~Tq#aO}B$pYDEwei|*@%Rid|5PsMA4Z`ZkMBrqy?qz7 z-9xRZHFp=s$^}jH3&8rllUQ-yh7GxaSrvhLZtufVGrSt_tFFf$&+YW)qP3EWS`!$qcHe1YUuUB|hU(?|HpY0C@l~vPf^ggg!|~>4VS5(60`xxFZx8`+9puuPxe}9L zdUrQ&o9Rhj!+taV0Nc{kH(#3_6JG6U#R$M4*I2R^j!+&ymuV^OX)A^Qpzj#&U=u*P zfPgUc`Hp0aeH>$e6IzD3RT#SVn0`q|WGlvR958<%)<*XD9^@fDtc_eV731Tx3$MV* zrmJvTX}WyVo%oy%$nSpZof!6Cakn77mKnp-vhi)a^5Xt>_&a|k+=k=ZZ{?5f7p-^) zFOhCyybt64&Lw#EVdB~_7xMqOh4WH0_9f)qPT!70oaP02BcCysDl`VA^G6sl={@Kf zx5oBjaMB;ifd{1QTnAq2mxp z{kRaEGw;?EM6&6HG*%b>Su zb+|9z_f4^4C1-fCV*$Gq*gqE&!y1>wxwPAaivkZZM?>p6T$d;@zkD-z(>1j2gEi$t zW-{tACZKI38HU&_fnjKWgkmwL@1wXnNPOw%3Da%C z;3k$O+{Q*)Mbu%Ox5h1rO4c5?SmPt`{Z=Rd$(@ux zUcmQ5D3T4qpOMS|iPTsoLwx^=Fm;{4_fJcYA-=DVm*~f2Q0qJU?!3gD#U=JZq^g&3 zhl7@u9b?Adagvov^xIs0=mp=_MZb>kA-;Y}0N}y{kK|-DSzcK!7^*SQo--;iS3ph- zF{Q7I>3v*Axr7t^CFTpOS;B^x`q#xWKs*IhiO4+SiGnLb)nL*MEPiiff=J&^<2LiX zKY_V4p=s^`n~gNCY!9WzuM%^El^VA|j7ZHNc^;jH5$Sz7Pp0=p5okVwWMB}y1L@SD zpbm2+D`(aJa|HoCkp~DUn+_o~=2lWRK+1jzmuzbtfRWLT$Y`NF(fp`aAgAv!!%60~ zNO?mEMQI{2YMOJ9Wz@dN zX?%-y)8HV9Dg*(T62&w(7vV68lNQXl9RB}~?H5CpRZTYcLbSLLb}lO46*oz|ONB6d z#Z7cpdH7m?j0~DpFlgRg*pUUo@{2pkv@D?xu$7GW3{8eSWw1`J&|krwb&eG;zbAm^ zo+>tbaOY9*8q)DqAQ3t1fCCFK7pr%FVZLC*whVJ4@a!15U4v-^=Oe{nHh##kyU;Gf zQ$P50gX-(gO5I)TIw?U0Hm5Ci--|2v-x+dOn5|gl1_W)ZSGjR^kkn;>NBm0Ve z-0`w5X2|03jBj2KcqE8bRT=9Wh$SQpWD^QCUYwLGZ1+jkK}&pjdm04K~kY6zoJd*_hP#^*jqLF0KSJpG6hMo`}amkClzYen3W!O$6l-e}7k6&x=Znd4J>q-3~u)xZ~eCqWd;MoQ?jg~)8>(T zF&{$$r#Uv}4B(Z@m9rX^dF9spf3X=s4ujifqae3~ud)DdhMpW!z@q0P)vhn-0S#uJ z=<~Ru`8%$po_(s=oQ+)2A;aJGF;86n?oy|k4>ASD3sx|h#bA+DTP=BceYvQmm0%?F z`R0$c374Pu3Jr|5 z;4m9W+(xKpuwvT%T$9g<`@MFx*R-&wD8YRk&ihwcG({ zT<&t-Si+RB7sYHt(-kW;YZ z=p5ONdRTOo(4Tx9ti<)dW)VDsH_Sm{G}=Mu7^H0ihNOKdN1gbHCL?2o=3LROG1m9$ zf(N`Hn>TKl*{I|!W2_B`ZmK%f#y`&dHRQuI(KJy2&HM0$`>)Mr-p^+NUv2}ZnNJh= zSptty%p36`bNm{iv6UlnbB#4dPn?{OkI}8Y3DK$146*}DvuVLwnZ-;9BM?P&OcM-e zySm9{)pcA%z;%OLGk=A3Q9Xm&O%y5%gIUH+#9s3T^r=LanFOSn*cX9Ja|>>0VB52Y zK2JcK<0D*oMr_AeP*J&S0ZtL)G<{`xpbE#rDj{&?VoZ-=`hBU&yi5FHE=I_pwZr9U zC^XZD%wUlkK}^H!TV#vHAUX>fTm;_d+mUS2h7-bZw^sBGu@&fc=*|03u}D6IQJaMC zST^$(d=)yFBKLxLnH8xz=2uxK9deDK}ePezB#^KeS7z z3%A^Wz@a^DgP7q;Rmb5shBdnhs1x5sos%8?=n=r$b55yHJtg)O59fP^KCrAUHm)gR zRw(`@%9aZtSVl^YoB=KnHd8xUNlMoaWyRc>3b7$clMM_PzQeLM7%auK~ikKk7 zdF!&B%AQ80yb?wkl*T%x5wm976`W$PYsA)ks3p8A6>YmxU#$~cAy zka3J0un!q&4(%9?yzT_0ke$}Eh*lh&m`LMCK%-DGsLodhf6Fu%-vY9Ek|FpX{G7#4 zE~BC>qqhQ&?^^IpkDieUgUV=>-0;5De)Ik9yMsebWj$*?85wPMo3XWDhf_t2ZnS&_o zZXi}gyFA!WbUy$=cB)C-L&mlxc%DH|kyb7n2jAmoCqGYxLPWt{(poT9_ZP)>081OU$IOYhZ@bjypY{5m2Pas7oBvd$l z@Gs~kObVjdImit9==F{z5>&j&*8Hlyf7niL0s#v}T;M;8d`SiYKR+@MY=cfB=oA~2 zQ}Y5;z1jwtOn`T7S|97M0g|I7Ak&^-*H(#bpNEM6V(jl^J`WQbUrF5W%n&Awt$FaJ zi+ezfG-g;&djX-*tC8)gOzz>;%r;1;w`gO?8h-H4rffPvOD)Ru)&Ufkq>h51Pb&20tdve%1CoTO;v?{ z?W@w$4vE~NOPNQP$M<<&PI%aayUNH&BHaGpD4A9J-%~OzO~)-U*cJhdik4Eff7TcP z{VAc%>`6YwF#PRsa2GO~`mrE|(hbpXMjwvhxUJjV{5raCV=-SZ#v)jU;=C=!!{0mU z33!yXSn$AZuDXD*>>&Fzavh?*$lq4v&yHdHv$dN=@54%7&Pm_H>zxp_qQP7-{%=Z= zJ7uu<#@vcV1p}tS{+6cx&05Op$gSx7;}1#p$JY~lt!Sy0)|jvLIlQrf&G(6i;D`xq zI5!40g0p5jT(Koxa3W*>agAW9+%xr@^m|46VdvZQ=9HEjQZ=twFS`NTW1`pp1zi8< zBDg*w{UTFAJ?hO>Aje%nY7-}wCL0UYK1_#3Je91wcuXPJNnXmPD z+gn)nGViz_7A%9T4IAiwnEfonBE;8S{fUdA==;dEIuw|-H#I`e;%`{&4>g7#7UM&w zXYotL#&L7bS<&H+qVoqPuzgn4*`4H}Rl-<>y)2=0J#)z!Z=|ukow5{tNa}n7S^-g~sUC!pT;LpHU^DG67;}}zn zW7gFLFp%C=U8gl-pXN^3j;i1eP1xvZRI61@t>mI3(91s9DL8PFwso-(cL>QAZ}^#| z_-G&77G8*VLCbS|VfV5LQ28-S&9WTejR?L{-5EI=58v!NfTctw@@4$6+|PC3rQJB9 zce=sMpAC6sM|jwIze$h+vGq76=%PSSXSI?L6iW0S;OrMT(}Mqm!IJq4;0FuDyu$`l zGTb!s5@qOVceafwScSPf8+XLT%qn30s&Fg$P|P`ke?;?X z2wFII_@z1UPq@R_Rnor2)AIiG=CqdgDJSn=u8jp;%lp(nbNJTW5EBg3DJLg~#AFK4 z#>J#<%V1o4JK_P>MhWU-YgWKxe&m;O4F2<9fDTaiJ23Gg8&Y%aS=>eOSy?fQ+p!X< zB3b}w;vwGwJIzlZg!8pt5w0MdOce+3eg(A{6N}BZ^2^H`+MgP4lVsaB?6_;%%po|d z5kp@99UOZ&UChcpvUkoc=YX>9sZgKS)fAFBNd6t&#P79T?%dkG?7 zjUYef%FW$9ZfMJY7tfjC?5uSrN{%0KBz6!-V)edxjG6ZV%BwlGy>O5s_btdi#+Vv< zy1k$h@?j4tS&uNfo@91`1oJW!iKPCYA;jp-OfsKqz+Sc zl@)=_a}q!1D%dcNAg!S?09!PHx~hxCUI+Va+-kudM+M9ZUTi9mVcV*=D@B#qXYl|g z34^fPr@{=CrN5|@*hRsNZzh@v{Y@v%`xjvcuiseX*Ngfsa{$&sd28BF-*QHe>_5I7 zWu=E%$-}L}eSH7%4&c+n)P_B+*W#CK0J84qVe)%+Le>A07RIF>4!JF*DcUZ6KJLDIooZP0h%NQ&^$ zU(537F9L~ihbwgAotzWC@aHX9j~=E10+#)t1Od;TAh=@n z3mvs7^;wFXkL^4$lz&jv~``oZ;DJ z0`wsRpk*Zx`HqZ}@mGlzoHQKX@Euw1(4Qkt88Lj*nb5#8--Fd2BklXhATi=QJ{?@pE5By%x{1keOj9ZVqfLrRsmK!!}Q?RpZF4~QK zj=gA;yxmS`LF6lLlm?p6wel@kKPGYmzq*}C1(64b{84sS3;)7%N_XK|rM>W6NbosJ zP4YV03eU9{o|PUqN{_RmoW%KBy4;aZ31ok<%p`(q)JZn#G#jOB9a^?%JN4sPbk#8v z9qRgX@eX&1xgBUjC!J`%OTq&2q@RQf|5dnyMp%Fg1<;UhJj%*^{P#}% zwEl{$)1hCx^)N?HVsGNBztf-NN4xN96TcpBQmmEnqW>CQ27dmXI3lk>7b9N>TRs+3 z_GS2v6~tPw-AK_=v3asZiA8_M@mK-WS7u~0^q(c?aM|w93-=Iz!#BMa8d&dp@D(Sh za<%>r6*YEt=_;6VUkTITc%Fj$QcphN{>o#=RV+N-3-Han;M<1(ue|#UFHN(JccGPT z=Kq8A&5NYp0YAkMO>C}cd?BNg!E`0`92?w}W?#3{ThK0AUz`nc78s%*&i3@RtW@0- z5}z*VYki0&%E#8Ss24Ebze)E*$MmqU(QRJ}tVWo)bx%y79fm^0I+K8TL|-9tg1rDm zb`o+0KG3{AiP+JU3y(qLQIU?v341JP5z%ChE5X1PMnkp&5IWEz7^X3nrZlH_JJYO; z!B|GSA~Gs5*+zXVc=RkLQm;w$iW7ExZiW?~izjSGE)%3GP`K2kXP|JeMDoKF?l9s` z0v^QaTY905hq_0RA2Y|6-c2uvblL8Vg2>ZwcRME)M7|D(a9>tnU8@fN%!0@xw*O?b zQ?`3TL3AJEO)QA+V);`C&>)deDYAHSg?qOX<2$GtvNLpiKo_G>oA(?6HeO+f(VC@= zJX%t8Zb_T}fC)TZOBWoa|^ zi`{UIIspn=O>4O!3+?d@H)8zellUA3`j$S-+W;*omx5W?r+0mzL{?&h7SbKY*Zb)4 zg4d>-nL*pm9-=MCYdqL8gwDNkv=_fPuXWVD9PhcxQC<)by;3=PCEt^kqlJ8rSB`Gr zJ4HEqKi?dOdVy7p`8fu`Ak^Eo#fxL4bY$Y4-@e}8a^lbJMV_`-=lno;g}RcEe(1!X zv(|f#zXuZsa>0l3HpE;#pBQ}`bYd$9=2turE3f$w zQcgJUyuWuVm^(Tml1{k*ejK!5IW(T7H$UvKKy|G2;B zX?W<*J%wK}o+&YJpU7(EL66%ZUKwl=Ti@{=;GI9Y&k%veTz2PYI3jc4*FMG-^BwD2 z6&lF&J;+`BP~Tr(L-p;w89Qz8ti)4;r_XxR%_sL3Wb0N%>A*7wZaxd~FwTWf8~k6m zNEpiEN^l+TK+Tenf7gmP4Oz0houkh&KT}<4_mI zp^AVPeS(5iE9Z^~?}W1Q>N|3S{@jy5z6zGUj-T~})0gUxitq5^MIjNQ>~lw60R;O1 z$*McjE!?aAV$5(WOCYzEC7_Ns#5;GP<_-zhVC3Th$E8t7IH+SHKp_i4^rewoM7&jz z72<8>p&MB{*wad?$%*{}n9k-aWDZi*R6}@nyQVv00xYnh*1J@^yA=5l-z-yyO6#FRxkK)I3@GZh>pPZ|0b{6-@eh;U2~r4+g_i7c zT#^c&Jdf2Y@Fe`DLttuLUqYS5G#HbCje&IG<}L^^@x@9A{Tkns;1z2i0mz_HPt7Bh zm(k>RHf2KBVb5^7kk51lXPYsx7JW}loE@an`Ymu_BT{bDRNupFoGd~1wSFHTSjXR& z-KB3C04_l6o2b9$ESj2IwD_WLkV?N;4DCR|?*zk%_DD70~J?7TvA4x*dz}(jyMN^~DW)^ld zN>j7gdrEJ2rIKebaDWurlcbLF9XloPr!Q++z6c$gC~%$Xv&kp+o}O56s}{@xexX|+*o9>MH2m`mZz55B~7Q7_JwbAC;m z8f<}dneSf7bw&7Kg$=*-6YDng(u+*J=$w&8w=<2wdePZXQ>LO#VF?wb8%3Ca%Iqmb zRb>y%&lf_R^d1DOokf{Aq7SItqM3Uqh>)3>u|kMm)Q6o*TyDZ=VY;($rhXiS4{zwK zJ7w#E?lN5|yEBb29X%_jZjS zZHNo@26|SuandRl`Dd~L{Xf!dfaa`1EK%N zjT^d#!c>H5UU*xu2f`#(VjOS8zlby`8W@UqNW$4@)wVh4W+mW#T80BPf+RyDV}V)1 zpkBhRq)g><;a~#eg)6IYYUBXw5BDI^16=mgk9QiiJ4HXGK=e~$DM03GU3WYCDQ)-Q z<|yngIg4lWUAWz6J#L7?`zgE+;vFnOxb-}Z7^mfvI#?C*nmcrCxhZ>|V~eJ@N73J>h7V4v55en=!~g*egYrSK=BlK>JU?c5B* zIwtZ{(ta@aIm)$ml}JQ5J&~_qRuO+j6RM#l-y9ssoX>q%m-5$2O0!x?f3B!EO%r4a zS%L@&CHnOAgl3fkEyB-;v8O=+?vez=u>* zqv+~DY9=24jWg%OzB>H`PC__CC)~&1bNY_mImMy35;F80f0d?`@EXh*(S2O_IFEmc zA5Q2y;VZ+$Nt{>zLw|;0S3Sz#)>mLV?YXURDV8C-NBN<@zQT75B1(|()bSPsY)O2E zZ2|6Mi+n;ja+@%=X=#q7s#e)pXVC1kXt_-T>h#>EL2UvxI@|a3mZhnxm-V{k##D?8 zQyj<|qsPJVu^CXvuYeSGi8iFRrD8z=?Jp3QdW+Fvpf;(ULy7<)coAHqCeJ zmSkA~xuU4mu>#e2MpXd9eVQM2j#WL859lNO#`+E&Zxe+U66NnOtkU0%%mbmzl969K z6EXY3-$eAkB2W^O@0dD1S;~*zx&}x?&+*q5K)R0$9|#~ngaFc^hxr>9z?Jxr7_SP` zEy=N@S-mRs90`U*UOG1x2nHo!FiwS|{*6&R-32i*M}ZO>IQZcUD?Igz$TJ*OUPAV= zr~Tcs2Lb9~=_r;o4ShsJ9x-}G9h%6BGL97md)iS^M7_9*6hY>W+!bs2witr>4snkY z!O%B?hG+G(3g$?P{EVjfj`$KoTK?UNN;8!?Cm=6BK=%uO_WP3Qe_g`;x2IoXrC%W5 z%z75{lq#|w;CO_eZYT@x3DIGGNohGM$DlmJG|`UdReioAt7C~_e-zb2iCAyuZ3N7# z5{Bt67)p1ho$gqqixk;i2JhWAc45cBwufN9FWP1{O8mq0Jlag)S}l=r&2pUpirgq+ zFN!DYuj0WtevHI(UKA;13AleRKI}0p^XX$gr4E+)kYcDrtarSs6o}SntJM_<3^iWK zk;i~_Se{-Nc|t46JuVc*g4OL_|1#l3dr$}Xm{6s5zcxAg75H(ybP@c~8!v*NX4fuT zz4R33`~nx^dX~5#3XzBUp(|K-O|%>8a@4p`*8o?BQ>X^Ggu%*(xwLZzRk?6vf>RBw zaJ#V`&F;}##>cxDMm!!3d+~k_DTGZ`Ys!#whM`_R2UP1lu-u28Ln8iiV|}0R7^WH1 z_4Nbj2;h{0a1R#53i}KVV_gh>`rFeNE=$i*-7*O;@gI-lKR03{(?#|ki1cCRO}h+x zO+SOUTI$h?&7ikg;@M++-xhokKIS~^_Yxal35-!3`ei9{Ds>&lcbnl$I57)pDmHLM z9M~g)uT+9Wz_Du`Dmf78XzKB`^H&&KQS-&;4KVxfF>j$JC>#`LQ>+6j9)ZE!gX32E z3GBCNeZ}`V>PMJ#x8s)xz8ITldVbil=_Jnj9%ZeT-25 zK?M|~k)fcM@xzu2LG7Xw@ZlnFJj#cHrw#qk2{2AQpAh$wsR-NtBSTM?9KGJki?Md5 z*SK@0e>DPZg_~h3PbZPJDr|vC1 zndlGhqz~S_$0LHzzx_1<0PKk{*ijd~LN#{?4ET(C}#Ho^?e;NU*Y-nF8(0K;iUU+ipSv3V1&&z}PeQWML zscgu81sV4cNyvH`SN@QgZ07%Pqd@6%s? z`^#$Tr&qP?!LoL5c9)DJiUSd z=zj7BlnAL7QUYEKmm;JI08#R+8m+HrZio+Sss1uJqb7?9_1p9TK_BU8FZ3Es(2oAW zx4(wQ5S0u@m;sNlQ18qz%%2Axn1G?uz8f>f(4EP^h&xKy3IbBV(GI69gQlS(z;xa; zDqJwVAi5NZ=s&~cov3dYlWd$uMdO1x(!rMH{yfbcUg>vW&!sUjbkc=&Yv6C1YH#f7-udA;rhw-=D8_o@fraI z;L~vH-6aUU0--RxfC%Gtb8g?<9(@4kpb*SftS>qnJTcoqKv48^bp`Htly zr$OWj7;yHY6|*pkIFpD#qnLBp&NbiNBf$Py?905E`bHkWf^lLs*K6Yj4kF0M9YNn_ zYlI$A_AB}+d$X;mgW{}rQF06}u*<8ZfXx9h z_`>M3%D5>L*D@@`wG4jkY8+O8s440+BZCeRc-4x`s;?poDR&qvq%`n0DNfa=8+W_1 zCL1@UXTNe@^X3-zH(sr88PrdUPra~LUvG+?dKiCr=e~^j`p5|&#~;3Z-$Z|%6aV<_ zwKil#SWBQ%Hxu>!uH5Y1x>D@-t02DEzg%^*-CNx+t zfMEh3?yW*Ey=`1RP~ED%1ys6&XNa*bfbxi7^dQpe!;F>a#aP>Aa$ehoH7axNYh1i2 z5?p{8q+XInqkpC#6*GmLv(kFOg`78crP*wXP8B%G8U00>Lo+T&%To59|0? zQGXO%?44WG?~{8;I8EPg9|f2FY1GL?J%i;XEEu8=Qrq-ph@@F49y#7B#PP23%wGvz zlcX-`DG2QS1jZEwGoNbVYwAXP5n`~%iM+yxRR%9HC)`sY7Ky0%Y5M{8*aEoy41bV! zwg9O8)7am~mU$tq<2w0{D=VzH&1YjhS1OM4w&J*b1J0P_fVVr6f?KQkGPCf-`>Nj9 zm!3Oq<|8^0Iqci>Y{w^t**Z|{Js^^K-6-AVISoPPsXBi&)XgeWNWZ*N8r*e%oe zc|46ffc2+rFC4*gnMM!3?1mgTOVEIO*hLM!3)6^I=T~GpczxJMG1l}M_xN+CXyfUL zP1Pxql^{fV;P~5DDL~kCyuzQauW;!}u~cJ1+ly^Uz9U`MxF^(`4i?eix9`AzfVVJf z)4@0>EKet$u~U&Bk>{wyS!o0CfRsIu68@JM2DT8z<4wKZSYfX*?Ii?3CJe1N>{_Rv zIR2X?!#f2vw)K0y*3%#(mZpH|#>y$K<7d5dleita*=0k9y1$u!_;ZW1@-*}xFEFv^9FqCqqv8C_$ zZ>jF)rV&^_4Vx|&w3Wbsai;@YVeT+g2Xc83nQ|~w`1CMi;*FIXLDSr6qL`p#(pXXv z(Xq43ReYe=_Uc(#w2~!O$rkpmL76*~Nt#_iSf~}UBH69=8=DuQb2<3xZ^K?EvUybT z0~X%{YjRgEa`{>xRq(yO?^y@lBJkA#^oYkF8gmW6&Vz4X~>* zOfIoz(BlGTsE(C>7jeasDVF<%JTlFpgy)J<-7kbw=|jh`ZzvbV=J7#j^Jjoycu|G+ z!aluv9SO;1vzHBFL-VSSLvyPp8xDPqYj}j%%7dGa>L;+(j{WLn z);(N}gjwJs56tMjC>W)$oZ>MS|M1ioiK`DO!z{Wh{t32thG+;^o)rTHqzfInfgL1U zjJox=_y3j&K!{Mq(!Wiv&^mXC1rc6+o!)2fUK8VNrYPYq8ho-4h4k5D z4E7(9AM+}tZ1wWBRCHmo2`Ts-cI9LVVSGTc^7w!^KUa|K`vmuZ8`GE#@HU*D!!09< z;|=}Ph!{C18-52ZBXapItU6kkT%uD|=ozYLNSG)4gfb)O4rPP+&u<}<7jjB6V1wBQ zb5(XF8Ps3AFj=UOo|T^v?Hxuy7YQ{o1m;(q;vG(Zlx2DR_g?+ZPxy7gWZs^UgiSVj zJewEc$6=u{2JD`rB`0V~ec#l)8%*@q#mzqykrZ47RAQb6-5i0+TU-Qus8`w*5*H8d zM-LJv6FLx4^_6tefu;p}Lh*;Q+$>lv&HM(ArovFr0WKDV-goa#ewG5T|9u$2P<#)z zpa{kE#jR1ts+XhM`$qboDDRj8JkSO>S}t1QGPuoo8M?qml7Y3aH7@ktvZhgD9vHL# zq+rMU-U6G)rYytQT8~SeZEP|1LeogXy6dodHur>nN`LcJ(`YjFmD8c{sWgPt!S}2~ zXb-6+Bb=KKvd)wg!6Z!iH=yPH1q=_pG3vGwPQ5J}7bD|Z9BO;g_)5}ue97p6%DkN%8uV3Y%+ z92n)mC-Y-M;3QvsOcKq2g3kvdQ#MyAn`@QL4a#O!*}O}cweY$+ zV3an3ywYOBdav(DQfMH}_aKh9E3uiaIbf8E=Y>l=d*S~Oo+t4!So{EQ#&%o9XZo9QoeKTHO8K zSQk_p)jdijpE^~kti4|;E5A?KR#~HLYgB@&Qd6buQkAMIrMyAh8egqc)Kn@JxI@08 zd=Z}O@GMqp%kEPeAE*VMZAy6=-a8fCS*lbvmMc|_%JxR30k_LHDz%6O%z?&w@&sqU zS=-ioTb51VeT{Jwa?xnY>JSJbga zK|1d4F8T=!dKd++&_KXz@#g#_BBV#Oi&{iMCrNl}!U)d1NQuK>N8}9FiD`A@pcG?2- z7G_-~>K2r1p$C^*La-F0*xQ}dXl(TJPTw&F_=WAmU#`;MW{WZvrm|s#yJA0d{@y!9 z3h0CoO3}{2z!fh3g`vQAtONhoq$F=UKR%qE~a6&ckGvF^veb-wEX%Xh8}p zOqm8juA(-hOZ5aKT^tnG?#~r)!j2V>;ln>~tAJauA-04G#g;H3^W8fbg(l}GNeGAf zQt%ZILQ1cLjCLs{u;-FY&|>o@TqxiaRZtfNA;^wgCD7yi{{bd)parPa3Axkg*q7SL zm#`6HVWv2^KtnhfTnkxyejOM(f~@&sv0c=5u>ZE#vbgZ50VsIC=q0;xoT zsfU@-$V)&ivdo)ds{}WLZrEoPfgNejv~t_I z5dI~>^GICE!ISX7Rq^lM09-JTlbb<;o5#-;Z+JK|SXH8%Xkvvyf}7?$LgZM+S6PVH zT!^?tBJKd49A3s8%3i{@@`}o3Rm*CZ)io~LwMUsTYvD)c zf28!LJ*hKnciEo6j6nAF3$gObsY~4%U;XfhPM*D4T59xUY6h{xI`yN`fa1%1N57SsxSR`FH7(<^n)5h4dEch%zX^a4BepnMB4{fG)vNS3u#J)jF|awu@#t|6{|xWxDnmS-GJ+m2AYCTyCA zN?f;V&z8WZd6j{xohltwbd*+A*HrSW)~aN5HwIX3;9_84{`~n{to}vtJrug+`xj9x zAo!0tLP?aZ*jB!>qH|VJae? z=&bDQ3LB}FrR(D!Lr@E|v*U`Xu3}lBu3}F1+(59bF|e(&vKCj#*Edv_m*JB5Kvi8s zz$!3+K+EL@8Y?RUjcNn#oo}RcM9i{h3_Zbg>3+<5KViMQ@IGz137_chOYl#`mFQ;t#P5r_ zHv(o4o&$Ie;$hlP<00%zc%QS}{7y{YrukwxT~^*0UooenQxMRZRxAEA32-Kpk-bT`6n{sI(1okZ6q=%E!s9YL}Z|6;aKL813= zRId)b-w6Alv>i`7(%;7$J)f82p#LgB{pLHc@D!{7kr>KuFrSXX1QU85-q8C{QGZBK zQI`eBLKw_V z-KM45EmIokTA{h+XDSDi>bRkfWHcX{aJ!g~^iH-bMzPDdBfWctdylwxFZ4mGHf?x7 zg`pVvE+ap^{T6rI8n->yX!pmcN))M*sZD1{9g_E*{UBPMij?WVpA?OJltpmcWkTM9 zb$FZe;q$$d4MT%l%&kG6HB_PtII9sVG2WonRM%Dp)VjJrO|_jayCKC)_99FSx(!?soUMUvz)Z{eAZj+%LI*=>C!W$L>?^m))

    Y){ZseP+&_1pcE9F+-Tj993|iIEzflg1a^Qb62hhiEjcHR#g8vGoAltqFJ5zLC z7hT8Z&mVqf@O&)xET@s=tpx~7-C*{wg!X^|eGl$A$PNA=9{CAGhOcp}D|hVfaV4Eo z5ld-J(=Z}oEh4$F&v$H zI=|R##^_XVCLMt^^=rSjUAK72^&eT9BgX>lli{WWfMM>-V|)}hdSF=yr5|dB zeRPkp+8^1EFD%3oB>NqsG#y+Q#B{f>^)5Kr<0wr~JBObF24#^ton`i^yl2Cnlx=mJU%Jj}~+n=BU5|1Tc< zP50mX9Q_M%PhAjp4&Q`ly7t3#FNNbm{}%y!Av|G1-LB{yFf!Ebi3adC*5mSnMbV6c zcIWbXH4XC-<*FNf_2ru8SjEnrul3Wkh}!4-=4!98elSeyuY<;oVp#+M5FNY27Vk%G zdqAzkC{n}TfZf%YVcV(IsMYlt^q1Gw?y78P!u8^9}HoI6YKB|E-b|BAA!kq_DOMJr(6+H zG<2L5Z2~4z^$q@>RW1b>B3tnzqC&`~i<@$U3}HzILS(MH(H5ad^tR#BbzMA2NY{b{ zAyQ{NPjyma)=i^`;ij13BF2UJY~IicQ}Bu6wibgJh}&IP;L_s&R=%$sdei;)KI1K1 z7mIIR5H<&u;!k*(zWp#B{p|R6Cb%!e{kVlM(VuPw{6?cA%5a4r%YMzMm%i|F@Tt4N z0am@p!dOqXQELp~mKN6&q8bK#4?adejQ^3Y62R2|-|+M!&V}$7^CQfqa3}iHtrQ?L zd`G9i9UX@pBq0Z{BL^sH3Kp_KVHFwm9iU=rc4K~i6ILghdymmYkVT6ex^4muu=~IWr;9=owt_4Bg^!AaT+l;wLSyQ^z%XmRG1AuuWNx z0dIRrQrpDnHqh+EEQO$z`G`)!52EJd)$J^gy5UxU$L5Elc^ocFPerbY988gA@NsZH zI)QFp{weve0vV%zC>m%V-?qM=o-wV@{5Q05`YJy{L<6@5a}Djdpb=NcjORTmea=;W zeHCu6?>jFupk*O#aaYF-Sn9?ln+|nykQcAWPG28n0W+3)bD5Y|KMyT~u9vTs7id`# zVNSlmh2gf3nONs>+~PN`#|>p~@-x-CUSqrfr{;sl^X%0yGCFdLj5My0LM!Ip^8c~- zCeTq8*&p!hq?5da4&6Y2u-XbJF|q_fi6Ih_GzK9MX$UAp4UiC!&7_+}vrZ>t9&L}# zj5_)sodIzcM`v9A>ckBbf(a-(VHu6$U_?f%?Tki=5Fygv@7{VZ=^)O`cfRkOZ#m@T z^{ZFQty{Nl-Kx5Et4b{&3*Xb}%suXSMrt6g4p^)vrqj&}kDT6SGtD9??YYZhDxZmL zJ-8Ib?7b#%+Iy=_??Op9#v)+EeK}nbx4#kcnygxxW554qEsd?x7IuZ$E@up^KZE&54PU(Kkz_H zP96h$9z2iYIS}$Z5#kQ@H{4I37yg3&{hI#Xi#Pt7!lDA#@>>l|;pR>-;lqJo`pH00CdMBN!~ejURW#-P7!9n3QlXU0_14|zhX&* zp7Mfl^Ni37i!gsp+_VSJ1{#ns>jj3Up&-vZnMV9j&p^c zvU6y(TFYs)Wn6NA>608R1Bmvy&)xZQI4Yt0twqJ2J`IV;{IVjDh%@|gzJH8&ac9F9L!$T4O>!@PfuMwj!)MMblWuK? zv`ibbyza;y$?NTTg&v1(Cf{>5sIbamYoj|=v}{YWgE~ssZk~34wo0Wt_F#b}UH@>M ztT|LZ;$=Gm5)Q(0;jqvS9xhO$ar>IqQkdYd6;_qm!n(@_g;3vriwV(DE(8U`%f|!B zfw)U+XBXE`H-7!oDaOtY_UI%JGT+_zL6M|N8qz8ImlaKfG_usj~8C|ywvVh{(Y zNUH>qmIJz?lm^ic0ac&DQ}=}@e4%P!^gdf4Zyu%`oltaF6?6r0b468l z7ZzMF-Lw(S-U2ULA8aVp-YxWehW6k_dpKTE*l-*@KO!J$$M)=wdcV0gyQ9$h5`Ii? z6=JCgmC|kE-vhW~CZv`43i$TrJ!ag6w`gp9VG1tpD!sDTT`>jTaqv}(;|$l9(Qw(| zXD*4UBNkwL6vJzG?-B41!evc-vfn{5`+Q(MbI=Zb7(mn6E+l{^ch(gt)fhV`P z;w$OyHyy@J04{U5LBZuLzRa<>moW}Ev*n04F&%@%(%R%*jXB~4=^>_~E^+gao*6Db z`(q_^|0FIjU+TG8uveZ|K}I8+N|M#|K(;}2O8Llja}_JZZMb^S01C;0TdGhR@FhgY zVx6B^ph#|o?{FiwlqW`f2$WcG1=v}?$WKqqvAAUbC?Z*iN&J@)dC?p2eUvPB-hq}O z*Xe_Opx8reMSE?9-t2D*Q?k!V5^9cCT@ngI68=Ck4q#HnlXmS&U)e{Y>`>O}bN3|l zl?k8wBLj@}jl6RtwybX~?nr2Xn(WNfiZz}ymz2{jEx05_pTK(dv_aSmgMe8tdL&N! z;kIZ837z#ARJJNa99#m^xj8&Y_bdur%m)|=*e>e;r_bW{)rK60M=?6G%11H1ENE z4FVNcXUg>L3p(l$$#-X%=H7dQ2g1GyDfzQL!*e#g{K=%FT5Fnj(PR4>zOb1V)$GH1 z<=M#c0CHX2>2n+@^s0qg3@!%s)SEfMm*7c=p6qUPR^5}CL6frex+6U6yzV-Kt;A5= z6zeN^y3g8W8n-#zOlj$DTch=!0Cm@=zWyQWOGeDzyWO#uD<(ycj(VAV%CYyyYvh*D z8o8f=={20ax3X-n;+|tvF>+4T@iA&xLYA_tZ{5y5uWqlwH#J<09iqXrA@zC&1ZZ{~ zpxSJ9?31sL(V9E{G+b z*k;zs_NIHzgqMFrDfapD4jdeRnkU?@$SN9gRLaPR6IOoW;QAv63%X7-MwKqJC%emZ zumJ73K03Q|w&&bb>(6dM(V06Ez#Zt74$#*(g*tl_)I%6~%j$cWpWe69*fmsG4GZZyet|U)beR~0bt|QIITrSo*)*$mn>lpg$HO`v+`e6LGh$=B z-G8S_v-H6h{K9TKBsRt!Sj4!=EaSmE*NiB^X$t+yTa^EbQu09B#YR(ZzFC{zR_`K^wD2TMv62?WC0yT*TV}Z3nFN^(^hk zQgfW3`+4_{l$b3<%Q0951cF=g3aoOeP{CRg$mZh{3B=UAW6z`=a5CczsqeNfVH|Gb-Je)10EuSo#ubl%bNSKRhUUJa~Hq zr-Nf)2<83lL`E40z47r1&5uIW`=hKc?f2b#Qzc}8_Ey6g45tq@95;sG?_o4FR6E`9 zRlL@9{`kB0t;*xp`r~HKthS-@ldbjsaP=)tZ;Z9y;{h_2Nv%Cd!Tb7-xGRrG)gO;2 z)I_}qSNB+7+G7m5;nh2~j>nCSG$ClL;t{d+rN)Lf6@D~mZ`3|+_)68f&KrcI;efDt zq2o!msgh0oEuFx_bs>PpZY2_L*cp#%^~Vw|dnCnRJrd{{v(rZ5{~|ida8FxBLz`K~ zc&q*kqMq-8uuAMusXB8G(JF9fd&L+%GKguBIgr^2>MxF<{g&NY%RyO&p2BLas7)lX z^$=dC0+2V=w?*lhawUYTE%d2sZxNXzbTZqBZZs#UJbp?2@$f?JJA~ElV?u{e5dM{) zTvEHQzAan|A`~QoCry&x(XeUmu@!RCLW$yCj!S#zjkUZ}iHig+r(1WCEk8Fux_1|| zbIc387#(9F?CC#&aA&lZTW@O&^+)Qs&_yzi0LYCnL{NiA(p>e{rk8r3(}AXr3mNhMjH&T9l_Arw1z;_1hmrRdTmuR)L~j@X~VJ z6Q7%Oh(amW`8y(85RAN>Af8P-W)u!t$9?mc(+B5hZ#|89Kn#6r2fz7?>+AViM*=An zLAU=hjXN|A(6EGLVhhP67Ma*66C{9&^OV*>WB_h@d`j9)ar87Cy+b>A^7pQohh|r9 z4Jz*Tq>T!!BgIO>5FVMsQ#t+`ddx(6?w9md~{Jzd!i|ne%tDgeKYm6Xt5> z640VA7a>nX;F_n&Ewod(kCAPSwS%CHD}q{7SN)^b=(*i8d2 zDE--{jjYa+2+UO%0s|wvwg4$dL*Rsa8p8NOVtwSus&@=Wlvz+to&F3r_F}e$e=K~) zh0zVpj_%}^%@LdgwUP@<18kl>WsWktB0Tjif$2RSVJ?grpJW@o9zPTL?MDKvYdE?q zfC}Kz=G&0p7zg~uUi{bbE-7P zbIt_1of}(@O;AQTS;X=h^}j=VP%bWJ|0|~Zy4HyFy=!CELaq84PvxPWWxccXJJjR1 zVWYjExOii+;>d9<%vK!p7dYlGQXI~O8Ci;B&iq9S@w))tOX+t?`kWg$%2G#$;z*yB zIa_gLWX+kEsW@icFl)|y3d?o?%B+kGhf{IPp0#)$fX!d9D1F{sBv|acS#da)&T+zX zX{IBWg7nv-%sG^mQ@-Zs&YFk7*>mPO6i2pv0m>pIU$k^lI)Rz3ujHnSn+Y zPbELK=&EXH>Pa8$VLf@@_)?dI3S!>43Q_@+jP{>k#ry;dPF#mgs*{eV!DAQ)Kf$jq z`oe%xb9_{I+R<({xx>SuK5;TM#nWcpK5}yHu!b+pFpz-;MlU1VH8?EX(ru6^hGByP z;$Q^bRtyrHPK$>XgUy?zCT7{ZOXCvW4v;-K#^ngrvTRzGMaxo?j^fLk13AzRa$#XO z3k@zaCGSK@xR!S!G4BLOlt9ar9f}M3xz6p8+WX$@6A-?nN5W*;-HGwa$tPH)bi!vb zkgK& z%j>SZ;9(OEj2K-50V|PVX^v<8L7L0RVZ`eMzh@wkU2XCa4$Y3rRWk`W9RV%-S)b!+ z>@lT#&`HjrCHY?_D6#}#fh=2iR-ER`L2A#|xNz%Fvk~l@)veW#S8|K>rvu0%JzT4q z2M^yZSR6{zY8Jum&92;Ts^vn+qSS`X7*{c*@^vB}jH}3^z4E$o*6LYsP-OJVA+fza z0#a-0lV%{LNk*DzBTZOnn%eL_v5%k}WWH7XHWi3+2oH_z^%2VFf|1%L)f3WV`^CAAg6@H*66Ij7$!1ogXCgFzb04 z9<@W}0>r_ADc0)I7}X%5FYhVsF&B_*W}H!KFmd+|2-oHseLbF#x9+z2(%WP$BbBFX zsr8r19n-ON|d3gW)+pDnMKFFL|@cvU*Br-onrU}V4G*SWvT}#e4y@Ul76M|JI#pN z5#2pgx@j%Vb#>+IoTY1sj=lAbG)QWaqk##CVEF#E$9JgV7gA1&KKYOVs-Nd|@=(gc zo;TG#csrbxuhTCkkf$G`5Gfjio6OGOi~Nmlk0d<0N!nf|(WB~jT`Jisg=@KFkeA<* zuXGMelo7)sVA<$F&D`ln_ z8p1?Vh9(BE0Zw|G$vaAV+ohLEUURBmr~ZIw?v6lkVCpMWKPeBAudAOgT}|PtblW|S z*TUw?l$8wZ`K7$>`ux_~LBM3PmRH|fglhkK^i_(^p$=Zsxlj* zpF2jj4+vc)_#$y?@I`JF4jcAW)#9ncQ;jnxU@it;COTmq*8e5qE6Uuy49!)veO9;s z*9g;tyi2<=af*1g0AqxZY)A2sLi^YlPWa5jG_D{r%TTn(h&)i%=(R~z52H78(xJeJ z+7>U9RCYk2bN4gagH*+y*XdVrkC3T-mUzuaKA1tz<^DQY8y-SQgFPJ8|DH2sL!nap z@}BlOs!iN#Q&@r(Ul!V}y=HRk^EzHjaDdC0y;zHgBncc@Qh}<^TJux3g$yPD1i80R)J3 z9-t~FYc(0y>B7%Z?X974t(Qj=JglHfM`R3nQ<$+ZFvVnoN568ep=IldsK1juf<-zaL z@MhH$&jnNCq3S^U-$`$5eo5V@f73hILez9%>nLpLcWJzOar=k#WbykGbjia|$p==PS&$bJ(0plQz~_Tb1>q2zHu9$RgoRx1OvKrAi7u!7)V(z3GxXY)u85gE$<$l{m~hD-Kg; zw*|HcC6{YZ8<;ZMK3PKH8>ylK!xLeem)A`QxW;2^bkI%JVBI|n ztom^ePxa?Q0B~1=quY&x)ezgBnAe?>CyK}RW}kosL#mzu!R*ces0ibdPHW9%6awSW zL`Nqb0V6j{OWtG^GK`CC-o-X%1-z}h?-~wPmu%~#23dU>iimv}P(7C6@Fr5?#k+4@ zBD!GW_y$oZ@HYj@$V-s8DSdbl8?(i}zwwBNW+Yp2y@X6mqsnINz}oG~_>Z{_hqvy*s^V@PQYZ58@;tIbxPXMZ zlbpd8|GNYWjVCd7B&Y(u-xlqA4)$vbSfHV--2!uR?J+(@A6z2rBN_$)0hDd%x<9r4KMK(lQcSYq&Wk#nF!L-#`v~zQFk2(w~}5 zGh(m@EZ|@WdU)J?LVaGCS+j)sEX%yETC?WD*YYqGpQL4Sw`=h9E($aI;udPI`_*8C zg$qDg_v9jT?+7;!PeGa86R6}qbDG!UFqL^ait_Th~U$1UN5sfxha$$Q+3u!7z2DT$ecScfl)~#Wp_KQdP$nuAK2<6hzp?VpI3ru1D4F*$ zp|s55s(0!;i-^dO>&U*_XYTm~S=3$}jE#)Q7cwB11fao2P1;GUL?Z(*5t>-sD@2uq z54FQiJ%(@U)mn#sYMM;n9MN$y1D zqe$WxCxSsHP%{8RV$mr;^pavMf*6nfb`dKzM~uZUbxq8D7)+&Y zpRydsV%r5my@R<94u$jE7xy65Wy2R1ZP8C{8WWjL*$jhfLF*~z1?aJhB?i{$3}XW3 z6P$Hpea3Cc6{JO=sW-7mbnaU09%}{OJqM~GlZ+X-`)t&fh*yaLs?I8SS?{St74D{LoEtFBJ{WMH^~QZm z{El4&)wS@3HMBR~jBP$Db{t{LZ5VAs$}(frlsJkwW?N)cBa`E-CBvYxkQEc0rGB2?Ra~4dy!dwwYLZNGa(L0P`YhGvW*}1+2el z)KyJ~J?aCgW{03~q%0E{Yo%njZ_erE{p86wY*OM*9hv{Kd0njRQ4hH-hviK%&$2*ytM09 zcv6YG6xTA})L|*p$n8eMFeK17=XYdNv37&8C;E^aF${8-MTu*)6r^PsNp@&6Oqw1= z_Bnx7NW%#PENk^zpf!F!opy79mZLRhFg#z}GW7q=d?qPGK$nJ*fUIt9AK=NV_VcFx z(DG(?rC5Gqz2_`dd24S!K?`Nv<_rR$!VzuWZccS^%&GOelMvoPJV8?o{qUFKR$X`N zAxNJqp85#$l{F}9=Ny(&hucydmXbm2h9`eoJvY;|1{vI>X8=+`r&b@B(kC8lhaHxH z+zrBMNgI?avXBMgS_fqgjR$lST9W(Z{UE4K^A_yM6PxN4y zQ9d49Fpwb(Tw-a4%nQZHO7Ufe!(eC-4C!@~A;Vw@G-SRtFTs2aGr4jsda7u=Nr#{+ zD(i-x=;WU$E=+!;snUP6DI?9v1#QZD+J{_3E$cPKdOO1@nz}$7M>j@FWRDaNyx61$ zb~`GNeveI~;L}TP#VIQb%9?j7$)1n(Hg%+lf2VTSAHg5VjdH^R?UO+STIyG|!{MVS ztZzJ5)GNdh0dvA(?L)0)S);R#^uVMDy0Gn_lMml#MbVGi7dq=e_#PWXWNy1KET#+F z7s!o#P$T4Z!OW(aP{8Sw7$UmCPn{yFnR)=Iq{@ajM^c;C{eRU&{;0K1OqTRBz^s1H4d06 z17w1tL79hV7G3@RS+o}p-Ob==6VeWL0ae&HbSq`yr}NsY%G%#S=TR1?D`Iw2so$WV zKq`GaWNzuSv*KoX0C;4f%vBk1%+k>v)cntU_7FXP2-@qjG)rX zF?8tlf8Ox7-bZ#2M(!Omy?O27bYM!nHjH#gN!m7Zk5z+gGy0w!-rV+)me=OZ!x1a3 zSWuz5(KkInh--O!y?L$PvUuN&OSG~hbT|qv^LwWqs3ie*q&(c~K9b-*qID!<%gW$d z_K+V$nX*@#++-Z81;w z=IyP;E~&j*3zTVf369s0%y)OUR#s2&+^^`1R-UpWQ0x6KxTi=_+Q0%jO2>c!ET3*P z>cFu#fRpo^l*z~`#i6fc-FZl0PjS$QI4@br4-UmT3k6 z0uIrxD(g5vEoaEf4)9YrsWkW2?5}{@axZZpYY`)xA}2r-d)hIQhOjPkQ)D8#cS|!x zP_)yD*eS8iOxFI})C{j<#;*SQh8>@5{ou4Uh^L(PF39 zK5bvPqdmp3w|oY+>!f7wE5p9FeTmt7d9M(DG4DsRHeF(1aSy@a?1lIV*=>mck=;(q zI#dBc_dY2-aOVI9(OBKW28teBai|26wzbz7VNh#e%OI7RvI%B?fr<9D2dMesp zkR2l%PuX5``8pINuo}1$#ia=ys7xwB7Fq%eN(T65t-t;HbX{249>Rf z1jT61R8_K%=nW)n;S2r%iy}SSwZ-f8;I>lDA-!t=-9LhrW9Uk=Ey2tx^K7Qobvhu4 zip=Pv|1Kj53R4YJX_YzLjXnw)So@MBTCe(m{Q~*4h2}%@98J3oOC1o;_zlNq8feB$ zelp3D&4$`Qw5KdyDMyD4ySlwusGble2|C))Dhx)ZH_7N+QHr4?m>5UW;50CBEZ7w+ zGWmy<(0&7MD}nOB?JZ1h~i-MA68(W^8R=QQhKx@SH!ap z>{ouapcczo9T;-}?ZiM7ekYvH>sT9xu8G%qtsSnnl&BtW60f>v40-aX zVys-Ip%K(SUWaG6<}||#!;5$E87#2`OH>SHW>Hv%syQtoW75Sm5?{{N{PDrfmf&Vp z#uu-?CVT8=?eB&^VfcjfUYN6ZiRcK8Vh&!Tr>qKz^3D&U5RltKVmu|?-nq8$`L>&Y z=5U~iei(Gh!x)+S9p0CZMP3+l;}nD~mf#ix%fUK)M;8=IMhIom{VJnR!!TOH5}8KC z4ou{NTg<_0b!-p!M#NB}LyXWP&Q`TtWW*5(;8QZ57OCZ$3E2fWyU3>R+XtRJmX{!d zT$MUp&)qoeD;77bpk!$b+CoEr8J`0uBTy!>BV1M<`B1HiSn}dJYtDd{hkDU?PS13q z`;Pd)jxtp{c=`i6>q|T6`Oa#+hvw*5(hV~m@|pj>qlToiMR8vVuOY!rmf$8820FMF zVv{~TBv+HxusBZ*}p&D~M6A7?B}6lrrO zpZuY`LNH`|f<+O1@Tiiuk$D|QkeRPC?VcVmt(yBIqm;Nd>I4thK{Xq;=weKR5#`^I zFt8Fp0d-8Knb} zc+HgOyqLlgkTk`8HNEYM`;xULZ+K#c85f+8!NlUPSwN7=BBIbUH$IJl0wkv45xsCQ zcZN>6@N~Lvt+9fvHP}c)yJft_W*gpgn-->}o14=|#;-#)q>nv;7Z$-u-w~rM6pu5_ z&5Rc(g${kVTmzQ4)IbqJ#acEVMg^ZC9=A(AXCu#|S4cW4B+R|cSE6oTtky2>w!U-* zw^Ai$*u2g-QlemTo8*n$zPP*A7L2Ss6XWLcD<=6yUBrg2IuFvi$VflL%k>-=x>x_t z5}oZ-K*VdjC2C@cjcAm?fO#83Mx2&m$?d7wg^(Pm*5oGEWsn^N6IK!v7A7o*0Tu$d z1n1}PLxq;Em;43xq5-%ay>mZp6q$73#w_xIHx5V~H3L4(6sl|L1x;pBIFWm(BEkz`zD{v{#VTwZaJOtG#;Ot9sQq50_ zVW^Ip@Vi*`NAVX<@yLoVtoj7TDplXXS_L;5No$qShP4WU$J`iSc)FplxeBSE*baou zYt4x^*BvQ~$p~a|cLEkV;7J=8Fd2B2RFc>b%{sNCm5An)KAQ~~9eWlmAI48%rVw{NG}jkIu?5#x%6{>54| z64Fj)hhIaxAcqh(+E7@CT`BQE->z5r+zVDYgraPTh&hg82Af@@sQ#0i-Tj?nGU@_6 zfEEaRxMg8CqAOOHX44C!n*w9jUL_p=MBk`i7DR1-&3U$1hDAj&w&7#B87VeF!xfi{Y<{Syv!|bx_h8tQdFvHk{+XNLHd&?n@<1vOB ziL%?RyQimBPG8|R;WyFx0Gc-r)N#cWLN^xnGKQo$2(j3W^90?K;bl^i_T#iTd{Klj zh4)%`_NRG*`L39%{WOH7!}8%m`>Z)yHlXMwkmjbvq6sfHr=<-;JWk?1fJmug0)Tcc z-u?$kCNmvIN8T8Pj7mCGcNJQr2iK$G&}W;bg2Fg90%t~;%D*5}l+Ty(o>**9rOibs zQhe1}RCvYa5f~?67art}G`BHh4#0Ld{oFPuu6MbWYmBaUaUFv$3z}piQLik-M!`Is ziosp5_OT9h_!|s#&<|k_Tmo|(Rp$eS`VoO1L|Y>HEZBrbS0ru)3;ZwX|9S);^^3HF zW(5`$S#*Kn3q4u!CY*c5(+`|xrH~0Ahhn((ZZjq92;MW*P#hP#b?#jS44P%(VK_oXk9N8%fj&LYpv0Vy9-f1 zS`Dxek9}BwJgoKu<*khqk1ujzHA_Xo|;35V7 zKShDG@naI~85=ikD_*m@$YmeDGQpmdJU!XI2v;O7ELdHz!Bt}4SjaafF5a+)Z@$2V zitx$EU$+Jac5hgdKQYEWYu!3K1E5pEOA3lN7p%g;+XP!bF?{06=xGzD*~h0B6yH&> zu3%e&9hc%xN}jA>(9h=z(CE7b52c~Qyg9+t3nW0CD2(v?;j!Wwgl8z85qK`aGX~EU zc&@}V0ncPSSL3+`PcohvcxK|E-4Qq7nTuxu9w(k9c$VS04bMtEg?QHD*?{LxJT5$2 z@DPrx)|6~om%okCOiBvH^Xf^-laiB&321tLC+6E!Hk}qF+cvoJw{of}p^2tVnoiV^ z@iwjsiPnb(S5q{GZNS`=UtCha@U97k*Mr1V-2c+|ucJbKckoVV7_neGCjE7=$%&#= zBD^xFsK(!T`ZGRy-#cu5|I9sqy8kTxGhN_MMo8zsunYWAILP+@_+K5aS!lr1jOSfE zNAP@z=NO(7c)q~%4W2GMK|GN&6eSi<9G($)#^6c7Ga1h{cvA5=@XW*G#B&Rtd^|;X zHsRTfrwmUup6z&kj^|f+9>uc@&r^8n@VtSi2@g~;%G1?-pYw_Kl}GYl z^xgV#>Cx2B*OonX^zKohs3Q7J9B_Trkdm8kyn|{_Y5UnW$Mt)@?|wJGnrcIN_?!3d zy8i0a*V6C$=bQAs<8;%r*Pna%z286g`e*cA`(oFL>#v`AuWj`DkyJu){F>o28xJQI z3_D&#-!0iIa%SGLD&^w^zCX}++9!8a&#W6=6S%4FOZtBJkw;#h`9F`)-*@zlKcjt) zP2*4HX8BILPrhp#<$G-xzbmUJ&QkE#GH@lotKa_>zYE@Zhu-$vc7&zlEjDLeOYg@Y z7``6ww0}N2`Ek7OAHDar_wb&2`L}miG7$c7%Fiw}fBoBWbNaoqEezlL9w{q{D*nT( zD_)#+kQ7ZVKi~Cc%&_(UJF57Zaj;-gZXX{R-+#{ck6K=Tu9%jhy81o6c0lT>KQ|Wq z<|$~4m52ZE=<9K%hi?5t{J0@x9N02qlP!MirIT+x^cxp;s4GPsGgpjwJ~jNa0e^aX z7^Odv{=(?L)J;;}p5AX1zHN_|M_%@?n}4~Zdd4DgCK=JX^T$T;i_Z@AgmGdh3<=URpWirb%DczVqZO=U$zFZ`;#dk55_s z<)M44r^S+7P5a*Z?X+L~_E6`ehn!exQ)(BixFI=z@y!k8&;9aRe7B4_^~j8`uFiYw z(Z^3+hwuBJKh!>R=iF1~ZV>fWBSy6*H>FIxXLAK$mTPyNH$ z^5)}lzkc)bh4`-fcIV_Jx0Kd93&&o)7~fr4TYhrOv3uVbcG%Ro6yMXAR36E@x%9DL z&)*ff9N+dMdoIu4o%r{DC*P>K4c|F&j%}+-%YOOBuWK4s;JagV{{ySH_WS#v<`>5l z;=8h8+$DF^9e#Xr!>{jJgYVXbH{QA7wuWD=`pwrLV<}5%ojRrQ&Vu)z_udvr*o5z` z|5z~CeeBEGUv;0`=4~kpezzIll^px zR(!ha+^p*d-d@&#rIo2B5Tyo)A~nezl2Np;kz^0aDg@J2aLOt?A{-TlTHWzelaiKh zRVp8PSW!OtHbQype^Q9~F8*Dlz(opNq`*ZAT%^E73jAjZ^rOzT4G$KtZDap){EIOz zQs5#5{{KS(m>a0ONC1dEn2X?yp5HzK1Cj5P`5RqDYc{O5ui0RCZQNvEw`M~@sNaf> zF4xBOhPQnM?!djHz;#~iQ19~+tj~9?WcYeYvT-9bh%#(OiNg(_y>@pwA{CPq7zL2E zMr@8Cg`YGL7>Rh;*Hr{fh2sAWe&D`}+`qt&n2D(=-87Dqe}nE}h#HMxnwAAN!*L5a zFx60KC(PlwHAgGn#W?{HVhvJJ+}$H15g`iu%}e3Hi8@#7al*55svR}C3tLqse;m|@BBW>`G+HlH~@M~5+S8SIwGBF1y> zoVEHsV2vYu2%3kW?U2xRhCnlIQa!2aaYQT~RdcF*SZ*jt@)x@#TBZ^Uw#3fSQHb}X z&KLxcuFJ_H&TT~wKcgJJK@KqF0m_fw13e*bV*_O3*VI;y9xcs=(or9SsnSx0`jZazLXgc%W!!b!|XL1)|7DT zS+{X@;hJ>?$dGJr^g^xhq^7mO%Y7X~@@$O{x+gV9kRPE2yk9_tiR&cZWUnPLb;pR9 zFrbdg_!llsAwqmujuJ(XlXUdW5jME!kN4>2Iwhu?)T$;rEfL2n@Vnt$Ow!ThW2IMf zaA1^@vQ%{sg^4)o4VA`#XH|0T24cKQN(52G{b5G(v9fmz6H6)&OeiG;QW~Y?sBYbU z*wT~c3))?5*pb58Xei2uj~8Z#6i>D3AE1jO6~Tr#ukEmor|jG{(kj(^^uPecW;zcL16!?~Q6o zmRgSEDtai=E@R(FCv7*U!M2Xhd(vrS@UJejqV?9D7O#g(_JsX18g_Vk9G6eeoO80_ z?(rL0!o)B~F0$DIQDPaa`Cx_(t4|&7s?k-@CEK&Fi6*=keDFEMJ%E|EyHW#x!}vUxfT#86+LPcSeYC6utaz*JK*y6u8E zX9DL4@dw!6?QhJ;->_k$%bve(-Nu#qxaoZyuE=#47UC**z@+xnZl>e87+lIyOL@BX zVPcL&YsnFxBZ8Eb6FD?-DK;^5)0Uf}vk;>q5#0+1KrVQ;!rVU!(qVL_fm#|i%XBT< z-`Lv+ppUgrmTg$dXB#JPPK)P4Zq-x5a1%%3kXKKIf2A|t)^Q<>*PN~bL)e~UP!I2P zRcknpj~lcb<9JK6WZPqRQ-N@=Ikp`@K9okG5QR7E?VS2$w_0R_0EYb`)NNWL4AW(M z@s}Y3#?^$493N^O4Q-J=b0lqpu*4@H+&rSQ;#>9LjNK|N%f4-?b+S6{W9j)oT_*~>6CvBSclHjp%f+7I(o?n zI6mu?(Y=Hgxdel{4f*Q}sC>)@WEhXDUD&37HgI}16SVcXFDX_>cp6p2a(@Uc2SJxBREcFYu+*jLJcrYnku__f)3Hb~+_X+a?({kHXJ^Bt zlLNmio(HgL(QuGi7oePk=HM`=;zoKNT?{*#$$kuIM zuiCe;EruyzWbXN{2X~8dlPCwTFwRaf*NKH%@%lClo)}c`@rgvoA|jDEiDeDhpHYY5 z6hk?U){{m*a1rtABuSZ`q7JJm!igmvnHC#Ic6AWA9prBXzO)JK4=CUM#x&(hd$(*uC(5xqEX?L|DS_H(olw9px-i{4ty^<&yT{+k7vaHv9~=0 z=7r+aBab6^F!boj`$F*yza5B+Kiua26*0&GkXzrr8}lZdE94rG zD<%!5?)}Z}s7dP6onkaR0>zanm%0)>sYPw@qXLja{1&lL0H=6-7;q&oe4!C$>Ji=1 zMN3hYw9iCO@n{+(oNo9A|AvrXcyJ8Y}ZJLF}=SO(eP)avWKLi8GdCd@r&XbA{~k72H9tV zwdPy+d(I}}4zIHlTvpuh-5fzY#{F8BbaTHpqqen{In9$w;U;&iQ@Fu?vaWF-DEV?l zJH>t&KCo!!L$8p5k!`e|tvkkm7TD?(^9?X=8wNcS5ajs2$#D+5U~!K0B=Hr-=l+KP z1uU@CL^idbM{Kt*oqj>*-Krq0XxDxXVcI>4^isU@PXc?j>H@7GpWQk*wLEA zLQfn3xWJ7RKgM;f=WMKNic>r+H}4>pycsSq3E`>4W@Bg{5;?}YhlsDcAo99Q-Yz4&h0zIX$VX+Ti1|Rk5QJX|4DC7Czz__!(JT=}BFO`V6|G*P7NU*g-_? zViWmHBY!bzEKyaZO^#?m@WCkoB4!MI?Ep`N;l7L1``LSBa9Z~#0DKb$LtGDT+!ZDo zVU~a|vAPgJ@6k_E9yM|d)BCNxPGrslS-|k(FoK+78$LxFoT29c>qS`ATZGNFU@Vnu zC;gx&4`eq-a5<@9AK1N{aKYNY}s$)zcN>8U()bbXie91C+YeNJ8}! zL+?nGcLVi#Zj7K^D_7b#!lJNn-Nr3MOP!QBZG-b7Qc8@Lc3_M<2y)_XOlrkjC<3Nb zZ(pOMN1I^LqZ4|vFXgdnu81r~DVI;CUMu<7795Tqo+BQTz1ZC3W1GLy$3!{#E>}VE z20Kj$3pctqtm6KP2J?BAq*FS{{|B8qA1E5ql_p6yDok-l3m58-bcVtM2MtJn0)IZR zvT7XlzCm<+w4XFMjlM(`s(?4#VI$(Q((6Jx;)zBV3)Ul^5f3qBIA+12*E<6aJcBH7 zU>RwnA|SBEv#=nMGF^q5O$!HxS&aO;Q^jUDhsx>Zq zi7S7@D$H}B$KB+1DdXo)a1|xkq4%|qE7?%66~rNB6Mt?hF4(+gqr0TXtHiysNPgU= zBr5Cki|+vV)f+Lf)!n7~J6-CEOAu^lI^+6Zs5j;K1f|*eELc8mnYeXrDO zjvy&We|isSC{p6ZV?`)->eEPx9d~Pk;yKyhhygfzP%MS!#?Wy+C+O-GkX_e#?UZdD zhrT$)y;3I7h-!N|^u}SXLq_O$rziv{CcU+WrcvTOoYF_5(&hAVDXw(JX4v7_ds~R> zZ40Xkx|LvIv;!Am7jy>|-(s9I)!SNZaG1mmQnTSXHw10} z7Qpt+KIiFL2|bs~jQD>vNqrQ(i7Zr?BRFfK}hO1^ZLXA|TU=bRv#;E;NiyEu; zSFNf|9iR?W2dQ!DV0DN(RE<}Msl(L~7!O?hyGVhH6!?D;1(uG6u^nW@Ovr=VAs-gu zvEX|wWXC)_`xupf1UotzUk?{!=CgN7(@{u@)P$`M9j1FjQ;gw@mBSX_uY@hn<3+wba;>b zSiHEt@t&l3BKQru%*(+D%@MSuMhG@X@BkMsqh}sU=wiq-1%#&6J$*UNFVhel|0fue zbBgomMZ*U1KgdLum_MnW0LK64f0w4PZyJxx+P_Vv5zE@Ca#=%}Q;==Z+|{0ISF8VWdo z8IL9b0Q_oz2j(yEfU}>7%mbaA5co}_7Lo=f=L)I= z9l%MN=4Kk*jG{Iakf#XOZ zI4rMjB=8~ij#5X89)n%R5|%XS`FHuf)tld?oFB`mABA}}<&^Yq@NepccMx?1V$DVp z@rQImS@pjTKj6bOhHBw~FKHc{^%?N>7ZC>*Igwy(l-P8@v1c~Z-rtES2H@RF@CJ$l{{p;>^Wn81j)Ci5xEbE7>;Syy;c$x2 zba+qT3-Hzwym6wG;GKl9?o;+k#4+Hx7z`QIoQ=f|eiK1Br-+rnXtKKq;iTgst)8U7 zI826%iUB`Yj3V$47~uWooVT1@4Y5`i;j^fW5E&v)LdJ?)0)%NNeo17{K``GIFX#4h zk&P~jAGP-rn*F*);M6Ic-e+DSAQDmQSjb%Ej`WUz{^Os<>=yyhFUYk_X=a2|!nKa% z_ct%v9&?@Qz6^^s?u>NnOJPq|BCabYT^ls60+J<=EH6_EB;iV1*dPE+B`|J#SUMIj zzS|yix`Crdrc?SexFse%E&2T|PuGzs@0&MtnaCaumCi?BfmVatNz|HPnWYZ71pWJv z0Q(QcU$BaUGr-X#VP_I_&BJe4`Ruh8bcN0e1QBnd%v0$c%x;lJUKwWct9K2j{%(n| z0XX%TSj`x&IOms+F(jf*CS;nHi1yo=cq#5~_W*B(xw3RJ zuHYPv*Ez*ClmPvK0qw-E1QCw|cT3D#iRv9pHK7gCxJGD+L|Up$Tvt$1!aA~|TQ5VS zd?`{EfbI>kIC*{0DQ*HhLlp&u1e6q)jVrkfYJ+X|6$SQu`-(Li@{6~zZegMw`&2hz zz1CeY)2c%qq@+spq{dVK;ZEX%6ce3dgdxgYqqQ<=Pw*fm{~MB{hCN-|$eitF z_XJ!v1|8-T;4zlmu5mCsdJQo-N4kGZ{4tf2fX?^f9ID&EviIPyZL;4H2S0}5;%I5S zdk8fD13jsK^|)|`T&I+`9gx1VT?G#%1$o); z;e6CUTs&PvBg={-S8-a_WbGIhgIxWv-s6hQfYbdgIn7PsO2%4KuDFvmKg4H|;KVTP zv{QVDp(XK?8Q1<5*Tc?m0G*-6K#AREA_WUXTu6X&0gvVgt}}c;EmRq@zx;DI~IPCp8*(SW3V+Q}7>zbCi+KMC8+FeLG+QZaLz{WM&I71uReE@L%G@ zbfV3Yd~90Zu=+YXi-m%%Yf4-tDfR_WL~kix<0`nyK5Nsaf(@(ekQbR7H(cR@xyS06 zcI5{Vt~x)4u1#eqWYk0OsU9HvnM`#5(<2xm(gIxBGC~g5O;{hRf6@eeY2m?goE>!w z@WRrDqPe9UICVLgvl*OAa-jYVPuFDYJy#+TG=t4oV5{7CY(>_efe>$o`#-(!4N3Q( z;{Lnv|Eu}80S~3<2^1(-)L^Q#i>w4u)Bwyxz|y&56^O;2Ys1!}Vka=|;;2ri=_Z8} zk*wENks2PFGR;kXcNsGQ28I(rDgR5*!ox!vOO_2V2)qDcq8Qx4oi?|ttOeN)bVrlW zBT*g7&Z1}}$SWSa9aV$HQ!_+p0^#>4M*R5H8kdNlOQ$b09;cY^fW+5(2DX{OG7Qdp zE4mawoWi;SfjAUjS}>8JOO|6^jxxzzQap)_($-Bv-#3Z6xrs$k+XIIpFXcWIxl`V_ zhc$=R-5(&&Yc3_uhH}2IY99GX-06^g6{b5b=k~}MV_f}bjB}?;ISg|R(1YZ%;-)2* z76P~WT3%+XglBLXg^5QXA9KY2f_r@?lyPb{07y z0%dkRXBLah67Oc_y*b5l11#+GwhyTtB;oFXjMQ)@q$CixqcjYm(tM73 z9Kx)M%{NmuBppRFNvO~dZ7lUc9(`>u8h9ojt7xNv2@cEFWg~GC0r_Mp ziVsGT=e+K3q)M2l6s#CZ~%pO5!i8hpNFTPGg;oBn2tK@es;fjrDaaC(DnB3})46@!#4xb5+)Q4#X>asRR zume>r8dQQjapJ_1JJxL4gl-Q`T8Wi>9C8ji-M8G0D_VLkP3fdq;&&KyB^~mV#bHv! zi*s2ptsdb?-Ag4X9hx$Y9OYIc$Q8l&#%YT?=zM!?%}t2qNgYp-UCBnIib-Pa`&0s0 z({orDueyJN{IL9WdM>gp#E))GkNb0lm;BD)2ee3(t9vMathgI=p=G!)2-Q6ZaEe9v z4Yk9Uc@NVwg68g51S=9h{uii(n1@ov)|%hrx5y7&hgb~e0bqFM}-Zp1g#r?}yq7ZowEm&_9_ zS%i4(w=~i$>!h{nt;Cj4QxIOD_+yxuVWE}CfIlptR>x6Kcml_XN;`KR=YqpA?M@1c zUm&&4CF1wMGP$)B*C>EN2Iv*sT84Wym@+hQ#p-7-e%GLjhgg@QkuI{qJqS2S_Oe{j zItAzPFs+D~qF@dRyOn;HLD?{O+dlCzhItTXQQ{Ri0{w{S!2J^_x`6SaL4X|4Vh6&Gvq!@&$*a-S3Lpze*9=Dq_R{9swAoV8)% zQm$T_YcDitpDen7H}%C}kQt=120TsjPYyEMjSd1(x9CvgsQrFG*O9?)5GrH6c4%Bc z-H}c9D*2%UTC{5}3*aV&;x+=f^+(A^%FHl4VwAH5dugv{^3iPoN%gy?sKKeL|uGPl^4C2|4R& z;9{RJ!9KIVF+Yo*n`Oyq&| zo%St71sm*SGHAbo`d$YO!3#NWkcZ?IB={+4gR~}W%&}ppG7_X0uYo-R=m1HA$1URa zhdy)KYbc>G%Wq$G{6m0{BNoL|<-$UiLW`y#xl`0as-r(yO>Q$P!n4;7(2o)5e1LX} zXAsm&L)1kcY^QL8)!zXUvzDoi>!bhSp-v0@P@C>38fD6e5LLOW{ zu+ftBqrQO_Mr{l2^(G9TL>z$4N2Guc_Ihr$bmtP0Ov9>>W2TL^##=(rWO(vfC>tE{ zy|^EUfeDD`YtiG0eTm2d9f8OIb#sK9MxkWzP8)G#Th79rssU9OT?@tAK&ofYi;>NW zg4Js_&`g+`85{TLZQh7L`#$X(-0N2q6k~r3iY4ot$7H!;H98POQo2TAtoN=#UYlHJ zLSKw*11X@U?N$5mVs#T6l?>QJ4uzR|~+0JukJ>p_Sv-1SK`zbpu^d>zax7#02 z*RH4QMvp}4s_EU64!rH4@usIsHTD*+M)BV=x)T@Ok-8Y9dX+d5hOtZodBrx5i ze2{%1U0IuFaV`xw+@64CQAF_=z#i^!L(ha!cxVB_#UI< z&HDa28ZQ_{yB3P+s~L~Vx;s#jcK5j5RLaU3ld%rr6iWdZz-sEtV>wond9pb`>i{}w zroTe5C4dW%dtmP;ffD^r=bU1P9ufm}IaCKZG`N`3E8BCI$$60IjXk%}Yo@e|jx(?O=L1cr8?L1zaF&&7T3^ z|15qyXK!fu3p z>64fq(UNEiMZ2D1dCsctl{=}7WL`R|q8~c*Ni1oBPgj_=x*BQy@f?>xJgbA~BJZ>K z!Jl4_)@thU#0r{&alt8({~r{C$`na8xYRQ5?l_70NKXRYu)epY03*7oYA4V zDs)D5_a`i_WGvj91Eo%}_Wxk-?c<}WuKnRN$t0PCff*se@TO5gi4i3T7D%XpFc^eD zBoOc=t-K@##erc8s9JhN`j@o8-%u~{4^@n z6DPG%Qwf;s{J!6{&zVdBy*|I^_k5n`kDE_s=A8Yy_S$Q&z4qE`uZ=WDn>qB(POzKe z{^iy$its?)mGzdeZ$1shx+QU(5cb$hWX$>V#tCgt!Es1E4{3b+QcA3&NGHHS77+Gy z6QYA}N3fe#YCVlepvR_@R2%exT}9A=LtkUn!%!|Fak2Q&7`b%-a#KcCo{Y0PC@h*u zVchZR5K@C=Cu1@=N{tpFnzTdpq-_UXBz%N`0{Fv-!v}Vz!5bZ5Aa`1Z1*Y(G{mQlk z#G;S7InMPVU=i1Y=CK@y@qGOaeB_$Xx37uC7-_!WO0i%YEDPuH5Xz2Jd}M(4Vb=|| z9CAM|MmEmqSMru&s26O%0<*#Y2wzMFNwp>;MFg8b4WHc&@~QSVB^Ii%H$XNc5Ltxv zH&|hETQYOTHckLXe7(cL1%^R>|1s{iRU_9va}9A0b)x76D95@%;7QX*5h(iY7}@X{ zi{0v3(3BYIL|W@70KWhgCK#7Em7%WZx1)%Lv(x)|Uhg^ngy*E=Y%os(|Gk;-ZOAO6 z8_!G}YDwR#fm~wXTD2Zv)Gb*H2?v=A;s~? zur)i25ca+uPj8`Fn+b8v%xDrH)a#m^Ic@Ta81(a4v@?UgqZzX|0@bfZ^9;unR;G>`WtIreK`ODe@TYW~nFp?2P?8*O|AwdCTGZtv1#A8o!4U z1{z}G;TimXBa ztEqRYp^FW{AtIbAYI9h{&(5s^OIm2XFj6i>lj=~>q8V@1{Bcl4Yf+H_jdA?hb{n@* zS6v#;f4xSK&c~sDFb@61p{MH!No&0i^qqq_KQZSQ%oW&}`}Yk%(WAl`6uUQ7A(Z>R9ZCSbj=B1cr%d|+Y%GH zWxIK*cA9J~SW|#;qb&kO2aFg-<&EQUk=lz2ORWrv2dCm9;$3PM6O7NxtV;IT>7c79 zhRw^szpq6dS?d?OBtG{tlF!83yRaOdD-dpiiMMtjI zWT11obv3@LKIMBBp0I^t8%V6X0>eMhhq+j@zVkn^Agq{*G;5$}M8Hc}zT@X#All>S zSqN!dNom$vJYk&nvAA!2oyCpEZU+vC^jqIU6dITNMwKgo*bzwL>@F?jPMgf2{xa)Y zsGnp}9s!_S99i0I$;rLRzZb|Oc9Ad%7fDL&My8;^QmX;q*q)&z$jLahYB&NQj-!pQ zyX`VdtxHjFsrBQf0{HX!=ykyMsr~ynezCf0n=U^muvD^cx}JlN>n9F+syO?sx|8SH zF9>aWx#l^RWw(nRIN&=6xS2NA27<#UA@>bvJ}*ZQJG|C&Z7`{X6YPvnYTTt|ku*+5 zi6s$N8KiIkg-K2grE?bGIPtVaA6R^EbM!E);gkt3K{l`5Tw&9K+`kC9zSs-l=N7B! zC1+AhMSu0o1E$7Q4ZDfR`iHv|oUqag!nC5wk5DTU{Vuwrt^{Fz)(ccGUJc|ZS~``< ztZ(95(b91|S=Teo6g;8z-1x=MdMskGm>+8GMXPZ6arj=Wx&2Yxdl~4D2Kw^?{<>VN za36-qAr6BH^a-`Vv&~xyFGpF?4h-Ii*SxsW=xIv8Ii)C;a?#+v(C2A-0ZT%T=~hxK z_ceCzVR5;Kf#(d)4;9_#X+an?yoiQ_+=p5zfDL5O0woK6j!r}?3ZSDNAcFx}j+@?E zVD9{-i8&1^wyC3{KZuO^$EtUunU?8jx;i;O$^*sGV_1i*&k^UdK1CvQPM(Ui zhP(!Q#zxk$0d?#>P9S9IgR(WAZDhy;h_Ct{6BRKL?Rf_$V#q%u9w>YstY9zgv?N7v zE^5CXl=V1sPeEl$l)l1B0H2ABU5AzkuouUolC1YJ<`(QY1t=c|0iqntKNkT3cG3sI zJWqNwCTZ*`~RSeyL2W*`MKBQOrCP$gtQLLaD_+z z{yR1&Ifgncp;T-KP8f*3F> ziubG!Ylr&jS){eppt}HG0%9_2IoL*RsyS|ZKUhkNX2?TZ5|1_liQxO-BCxl62hVz% z6=btd@hgR2$sleZ;F}Z3qyGrKkS*cj_)b;D7VN@QR^!Tatt$sw;qGShh#ICi4Le^zEA*o_9J* ztr3ist^@QiR?-)0+Wm`gp8uX2!ryFIZiXb@`;6%W0Q)`J_pT zu2}Ll3%dLMLHqZ^1EVmYdz@2XRXV9{hHyrf; zDLb6|9KkC-Ep!#==zo(*??iPLBA6R-7=>N-t8zXk{y5ORU=j z0BhEPAs!|k(lGOM{f-49SpQmGDq;3UZkDwA^^w_fPI?`_p}tKb7O}VGrCmetO4JIP z#nOpwQ1l9{qU4WR@>3Wwk&P&aG&UA285_m6{iyQWKnIdSa!wD7s>{hwsJklPRdWUD z(PL^+J>=)y$QMwxjJIfYy0sK#LyO@@_h#vs#T}v6Ay~!NY0Ry|GSMaWeq#ZrEP5lu zsppe055veL4ktLYAyw(F)ayzYga0yy-?=WGbH7G5&g}F13 zyADo9>wWu1gy+ubV3BnZ^0-k-Z-x@VO7(=(SgNX{4hWb}uL)|7g|&lPJS^M=nSJptyaUZI~jH-MT9LlVMJ5pt6__^mjx)n1@~oJ z*wwN_;OA%NF-Xp-PeHi6R?3&MYFXC3EDKVHnZfL^^pVNweuP>RhAJ`4p}n>w8aJ~u zY)L6o$OUXZYtnjKekYnXt*YL%zCy3KHY;lx*!d(*Ps9gmyKgDV{R76p;RBLw;g@7v zZ0C87d43>yY~hWQ1SOxlE7YkHWuLgZly<-~;08rl3=5FN@>= zHuy@4?Ujyk96|mS)kZwzOKA`YtxNzw5fXqy@;aZqC+X5g>2N5Ou}AQ&x)jtkBodT< zz8Kz$+mdJ|Mg%UgUW9ncGo?$cUt-S_b|QF3=h;HHUSKOB{sPu$9Ei!?$)e{65d|-` z{shob0i^d*>qEdF;W@)Cgmpcbh#HN6ReAVOC{q1^J(vNy)aTUE8p<01S0FtOi4=hr zOWp@`H~OTQRCZSyw-Gxt4)611C6VJO@$nN zS@|ST$0wwsxKlMCy-PdL1p8!aa2g7LUOu7j8WwOB8orP9n5YN-dBBsWjl%1rm*MLt zugltLJAmYXEv;C&1rA--Zd|=SxCYB@`>s1o5Y^C)RBUt-(5CbPv2&Co)tOn^gaNOr z%0y#j5T3)KqlS6=`W*w_R~^@@v%fT2S%__{s9006Mq5&`85U)F)~X!@YSVfctAL&I zCy)SFgQmGMbjPHh4o9PiA}fX$hq@u;fD!x9n-r;1e|2w6gl8~5t0*|33R?`^8QZq=sB zFHW}#@`Csv9!R?gJ-G!JX~vbT%~cmoX5msy9ds_vXjiU=oW_y2rD8SU|FSeItFykb zB9;KdE^F2Ll^gGtrdDgEnDHv^smR(8T(7U)3`r$Ea^9x(AO~Vr(L`YtF9R5O*H_{Y zm46b4`wRGhwEDkqqrZ=kCa~8W`2M2-z zPn!puE4sx}Tn1IDF?6BeK_jSCxDr&98`oeYRj<8=F1OAP9F#}RMbBqqrpJk5ePrk! zkEVOz!wKSAcYTlrn z=2E3kL+K8jkQpc#TG>}ZR1EaPsqB_5=sb+*2|zujV3Bv_ECO`w8D0yPk{Ks4jqV(_ zhd<`j#`TmbU^&Rws_jrwgabV#){$%Q5bVL~aGh(pHFBaf2nN2^5cPn;Am<~{{0K(v^$(HN|AA*6V@cvZGjNWaNW|9w0C%lI|R z`$M0(^~})c*aNkOq69h5SY}ZxgburjxLj^+e+#Wr9z1=GccBB~)*`@XsX6ZHzhJ{J z(vH5?^Bkq2y>?8o*Px|Uj4rXB9FNVD1M$mRTmymZj2+k~ZmPoei*vfe81{lV!o_4_B|j2PrtIQZvD+DU~tnryt4-4+h^&Umvr9X|`i z+h36?ea4$x{>Fo3&e5WQK8O7z9RV!s&y8{y?XLQ-PatH;^GYl)^71@Fxe@$g@g+)G7cn;`w{Y6&twS!(O4ui)Hf7fKKiosVWGay_0$rp=GW2_Ru(cT ztDTxSEr<0B(anj)gvgmz9~6AnT?F$UeA%$=MYUCj3BW}JU^}BXA*Z4b@)3t8;N0}5 zPIJ?&e`8^z2g+J-!N(`a5a2v7|P&avTx-|f)Z&-GET zT|E1r`X!NU+DVT$Gq`yi+W&cElzO}w+AQE&f*W70bH$KGd*qCU>4`(&Go$gsJRv*y7x zl$^RoY2|pcmAy{=_G>re)zzA+wDJn zRzg=m_n=Nap}sqJUKHxPr_LL87lhr7E5INlSBCluc49EyRyRzA`lAR1zOdxFxB^{~ z3A+Z)y|$LYv9FJ}^Dkyylm_8+U-3z9om{2s@Oj%eULP0XLN(NPtzH=F`$n+xg(HBr zjdz%%rdigepU9pVbuyb#Aq`X{g?0H)F&c2sjCA?UMyb-vtGHwp*H-9ZDW>vTFd{Mq zc~7A9NH!*hWFSQB31EFX3i}38*^@Kbs6yCuU>h+Bc{$$58bA+J7|uc_@a>288y%u( zRQ%Q>CuX0)$aV@GCl>vuF<@~{362ti}UuF(l<5kW!hH+vzjdXU5P@ zeA~G)2)Q#p)M=_GQ6o4rojLZPEdPflEmQi)IFWW5HU>#EnOrZ7A~m zIxN?tldT_uccG9HtMvtz2AxAN1;>%9VUBF?4aPbUvhM2OmMvT$%4!ezvGFp&fyBAL z1oDs#I4a^!>cYE#*bks8l>r6`0`UcIr#;ZCde`x~rU%{y68BRhd9xSyd;s0>=>fMq z)?bi*h>>R8<~9?J61OqJT;Q2)-0U$EW-(6pMhl?gmgit^G)cqUW^}~*4ucl$N@`}( zhUxqcCZUHDVg07~M11^qwvxZ`KSK%-j z=V_snq2ZU5CWo|@cM0H3S^oS6t&{%4P8#=c7r^g_bj1fi=Q*&`t}2N*^Ex;K?}zw| zH&vb&moMS2C17s0-?$~+<|1}oFgPcZIf6vlL4&= zz~HJf`0}*8c&fVj@^ifGr9vnMpXj=yNlW49eGk8=_3nZGY5kfQeN^4I78B_-##$d= zhEiZS32p>2S+TUx5O$G4^;!-Y)KwPRyrUB{|BHw1>1C z6*w{6hzn}kRb6b`Rrz37^-`Z;8Kw; zZ!EE?hGmcS$qyW`#2(oO!G#jRuOC+Y8snW7IyOHqg?vn% zV#_}1*&zwiv$N3plN&T`_D1!|k9&5)oZp%+iF4BY@BEHEr`&~c?K|~??|t3*>!?>ZM@cE zhU9i6%9?^b7RAKA(Y2pRAUk6PC3k1}c0Gmn##ep2xZGS~{TljmN$dO0_YqJO$+7mH zMM>ik$NG%}R*uRG<2Tq~1{+`9`K`MTtTB#aZB%0Y2Wzdw+S4gtU%JHlAp>t2px3Pd z#f7%x_{YrXP?GUL5;>`b&bWeqf@T8y6WaXX5j=UcIgx{y zi$qK#PqFQGywJR_*GFIve3d@5>k8D6zuDI~2ET>76K#ew#dklzC&M`oWH)2SsN?^` z&r|f7~?cm&R8>Wgt_)dc-k zbm0!sKcEjY^X~|{3WacXkD$wak`4Ev3Vr*o$5MPMH4~-Q*8!Xy4JotU66*0os+d}8 z{Rxeb@f5iVm8d*H_X6xisC;acoeyLUs`F##6^qodN#tGUwiCS%WMXn9XN#a^NCy6U&oQN-x{hH`h*{`uE zORD)Y)SXW8ByU_13bAjVd_!Lq4s@4PC1Lju?gD0lyz#zncuCb#H@a!qNQyn)N^@CH zW#}DWCGLho9lqZ#J8fjh?H|9Tn=cDt@EiYeW3;lN_`{@3Jb&00JrwxNbtrHas|qPm z3M{c+%#aeL(iBzc@32%d1Ssk|;OuJll11|u-83_{F9CI{+L_uCYz6mFuqalXQxN{rJ){$Y`rH`0-Qj!AA*3AaH9sPuEhGo^+YCQ{<`$45r}ZY-xef$s>U*R-!x#Yt%`b< zD$ye(VhmV2K^o`>n1f;x)M|%13(O3@S6#}CFC*h#p1P{KoUc#uwS%vuJZl_ZIntyz z>7^dgfz+~&=lkp`!*%T(5$7DaU zlfir))r!gQ#Z}W7{asAmZApx0PLQ}$$IXmQW#*q=D04BRIq$b6G5)r}nade_WGXU0 zdVXd!h@tV2-pTYoV){p7=}8($%7FN!FvrF@1SWmx+@uVMPg=>O^O*F(K}o%421_+E z80@rnEfbGo;s?%6%yNwk20Mw@GjaFzNZd3i@mQy12Adfw<1ReYmfOj^iJ6~dX2y^b za7axxmI3iC;Ju&LE+(xXlr-I`hrz0zNV1v1>_$cnzMZ--%Apfs0ow-^0K_tYbyaO= znx9Xx*%r#nE@c+UZ1`CuUai9kG}fS`Q5_pvx2UL+8I z%2h}h41@#c%S`ecCJ~1S#1mB{(hu^rUzNR-Wj|pf4)`7mp2ENI&w79$)T+yW*{BTCwMA$ z3^yKzFSi~=Z*c4CNBEs_VyD~aizLJ!0s{0WI8vEJ$K9Z<*4$4jxS@#Z(V;**kwK^6a65nPCK!y($ z&;}~SYW<56u?X894hGPueoti}#!28s9_gHH5tgM;6fU>X$0d_Ov7AQjsYR9#KaB8%)@bBGhlE`$9Ke22O- zV|#6|;Wp_8u2&qA+7{x=x_?oCq|Tcq5?#Jo+*dzC)2Hq^&Uv^QaAUT+(hT&mYcHvv z4t;q2bm+s|k{HK7kb+h~=Jbw|2~`Qf@u67@Nvv|E`jLCF7prgHaO%eLs7WD4j^j!rA(ox(jgaJ z@@cuBmRX%3Otm7p2BTQkQvZ(fj6-GC@9ZcXutGMt2`RN!?N_Pk{z=YuMF6gqkA7-K znbEG%($G@t>b^+o3&byog9B?xl-4-*?@75sWUk7Cpy}0y;pn{mCi4aIu#Zbgl8R z(M}yO?HvFSB>Fi8yGPH=)IX%HgS}s!2E74N2VZ45G5v7Wi#uhZ^)OVvp`k>yOIj<& z3~*Yt;jIC_W5=uU)60D6R(UKR4>sT|wh&5^H7!0LJPYU}oSJfwql&pB*lNKNZw%h? zkZujf1C~m0=0#b0a0~5UHdR(~oMAtn0K(tzu0z0MTawTPo=zWtN=?)6#<{+c*6-1I z*1tf@VhzO#*qY3z>!7>E_FB_N{6U(ZBaPJgFMLS1Uckm%iS>7U2 z;qBurm`_-t{9PabLOEy;{ zkAY*eDEy{qRR@Z>^1b;ucbnX)cKeW z2Uz%w;sB1#!*$O2YqT7+fcm!Ihx%&K-+L|e40dxtdwk;9kTFZU<8>}FOjLsiYw8;c zZg1$b&!NW>wmu%Iae$6T1OL69AiC@6n$wMIM(bg#6T}7u-LBCPTPtk_QEBEK<2`?< zM}6MYC-%~~Nci;a5Tr_*G1o|ZrMYmt_kxK^o3sCmGRE5RUs#0JoQ@>tmwuqM8R`nD zpLxxt2Est#Pm)*6(ydQD?@Qb$u|yYWx21S;U1<^ zDT0Z{$2TKUFIouNr$l%M5c8(fI8>ef@h?vwoo~GI1Qh#ed^e7M{7e0#Mf3!Xi5+sntt`dJ-B|}k(pOqj(1P9}c9-;xT+3A_JpK0tolDx+_`pLiQY5z12oEFE5 za$8g$=^`Y6sR=rY?PynJVOo9^qn>1dWppyE9BxCa-;nf3i!7?$`YhG*8yI4@oC~)r zjZcV>kxnpRWpFaQThAlVvN|0j=1gqk0r zUdFM&87H=SDU}~G-a>R_IG)3EUD5E;Q4})&{GXpZN_D^TZ$R7t5}|6L65wJm6`@Wf zke(+SfR8u&QR8Sdjsi1!k{qI1Z1f3ygkyKW%SCLlzyFiRu@Q(V|C_ST#mqE6{kfdz^bn~3#QQ}4@RB0Bf1xl!o4J=w5 zShQ3NlrAYO(gO1rEnR}|#Ry)(?%hF(%NC-rMT?itS-1chmX+SB1p+JPmm+Y*+&~$l?4PA`=d-F(^|PpK z_CiF?o4+ui1&Y-VN?D5ROIIwN!(!&yu#}bnl+u#F7}7PcXO<-gY4_0@o#&zx`M* zz)Re$U`lwd--TTub42KX8#MDW#c-3e7ZR)IRpeMkb?P=B^RpKBKZq-H-Ikk*^NFXn+IgGBT+3 zeudeSrMq#U&pqQmtBb0dOu#kFDqyt-mRS!Xfz?J>p&w-8L#2ql9I;T9A;U$6mEDuw zX23UT1)@=s(Zda{j+C1;s6hrfNu@H@kTqz67wj&TE=sWG*5ygLkzP!a`i zTVf?)WFV2)u7tX;!RV`O3v}Oy`LkT#weiAi{&;vM}-`p0=5vAZDUYQ2k_hJ17 z?~4HqR2HGt0M#ApN;{<)^9> zjq+1D<)?t6>_E48K=+%$-rdQ@pUvV^U~)W@R(uLUkPAL}6zgrgg}pAQMUaIa8>wl4 zYf}i8@VnxH#aLvUz}RPcLT@8ok68rk;BEkjJW-q=20+DqU0cv&sx7Js`b4w17w`%Q zLqoNv+*?7&r$nj|*zBs)U8_R-lJ9i?WRH3ewI|qmjRm;(;5?0bP#_ArU=+%=n?gl~`vR z!Zk?O*0>qpDiqyQZwBg(#_b3~BGnwUNh4HKniBFS)QzlviO9pgFYjEfpE<#|Yc?L3c=n*wW|)OExd!E-mZ5$I@?aUG z@+1tZA#qUZHh? z6*xot-FXiaCBFNpzcB?p63amNv_?_8Gn+=&e>R~mb=Mnu30kf%m=g`ut881|ilbDU z%t);CPYpxsM1dp`knnCJ_>q(M1ioV_#$r@<1l#nWh(}1zl=3(Zg$j@c3v1u5ORz{o z#&G$+89&wmWShW@R`U*sJ1zV)u17EfkOiyo@SIN7%g7b#Tj9HZ1?qaX?Sb!U z+MVB5pGV@JoiOM3QN-2T@j8Cp|ETgD!E^L0e4KK=%5VNZsj`>azwvq6?Rw+GzU(>k zp@H^&Svtl&h5FVb{XG0m#^)ROJc9Zd=Hz|KuD=t%D-iCEi#vk!Ot&yDY&xE`kc>lD z*9H)UdQRwC8GCkjEsH&Sy5{pa;CEv(FiZMjlb>qmKK;7!F#A>YDY`N;9sPX=`a5zN z>o_~3?kZDy-V8Hc*xL}Edvk}Of`ky*|7WkOJ03cFt#Z5{D=T#N>fnUuCA{^{TE-CU1lUpwWc0z zIMld?t!We1v5@#JIyZDKL#H??>GIThR=Jikez+axQepWBJ1u}_A$jmd^$hev4_W_` zREfiHs^@(#7l2cfk8*3*X_N2SSm?!0SX?`qeDbSKQA0v6F+i(L__eF);XCnI{}R8k zP&@r&#wgYp-Rv%nJ|pj#_Q>HeO=9=ZtH5LT>z66A%9CEM9%0I_qAQyM+X4pxCh)2w zfA$F@&~B6;X$v$nur2VS{50NyxI{cUaHK{9FT$bfq)4p!SF1`zIXpzg=I|P86-+5X zPf@{HD#*j2`3)~|J|ND6Nr;Y2eV+Z3_b@~CA>lcmJn70{Rw(dd!UC1EUJCp53Yt!9 zzuw+70+38L%3B7Su&ZkW<|@smay&+^v7b?^{RBwK*Ut+FsHz&`4?1PR7?`dWeTI}8 zeMUw_z+Vy$G~v^X&#n^dvdf`dH3UzPvuz(X3kDOkbkXkF{aycz(wqUiqF?rT4?{+X zt9G1-6vkVQI1zS_GNgkdYmnFYG0_91h~1m)daQrkxvxgXGGHUaLgKfDy zep-9c6=*jDFJ=coWkOzEKS3^J$(F|qQ=s#Uo5x?{Yz@^oRQ=Fu}M8&+pVPn#JU6;Y)Vjd6U~$1fgG zz^Xbmym_LT4C4O;qWSpxdq--;q8D<8H z3%hSO@3_x{ux-5&u9D(|VWxsRG|IcT^z4ze=}7ya#~jKRtSymOfG|!Zy3_Ik-C#Qo zaAvT_#NxB&+iq8Wno-^z2}lWceEK4SzA(XUcoV|j+fBX6ZRmKrBf*1Lu5N?f1_I5c z3GQ(E5<`E`6HR)EO}hXJjGjdI=sdJJIEjtLsW;Oba(PEPFAGC%W8rAG{c7kTPjo2D zIu9TN2fw^n0`!E=q-?!6JT^CP+%-T~aPvCcMS+Pc+F`tYbL%_a#EcWj4&s@yKe*H^ z?`eG(O3|L|p-jwcOG@n2b_IRrQkMsybkm5_zl-8sA~|qdB~A#))lb*sZhO2IyT+HoxUIw%|Y? z=^@tj@Hf-urud|_&Go|+65uD1EE|L#S?55-+0v^GLY!I;cwx^#D{#K8AHw4^C}40` zg=!wetZ_X7$>r&(To9W9NQQ;5ho5A+j3W2o4AHp{x+9xW4pSr7`S99+8pm*wEzm=K za1zHJZgB)3F7`mV)h>uK=8pE5Q~ywazCrb<85$LL>=kJ748Rbs=u})%bZT<`&mp5j z#wQK$vI4TLH}v%9iIwcvjbo*DityCyV~#!nH+V=}QgkXsh zyc{zQYjz$A>9_rcAep|X6R@N)V$Hk&KK2U7 zfHMGRFB-VT6dCmRo($q>B3CbBX#f&QEu+;>-+L$#J1olTMCih{nWD2+->wG8y`foa z&||m{0JMY$Of9$@0e{#tXE<&p`z4lRFp}9-%G95wY)g6pf-~H)!wy{Y-CvJHvOTvT z;+l6f68y|e|2yfOXM&mt5qt^Eahqu%by&&ZG$-AG6uIFkB4->aW=C?v0YS%S-a-e* zmg<=3LXTU&$}EQl*fMdw!r*bnV}iy<$1JnfGUi?ihEJv;REN+`mv9foCA%VkyozJS zI!mH}QwwN7eY@@h=+M&Q8$TA~k+aroo@D@APUxNs|lpQt7pQ{fP>dp_oGW1%1Oj^DF~b4`(qa8z~H)v;G5AM*Jm zf++Xy9eXFcV=sfcMxtq2*dzv_sBPWQ=T(!oQQq725uygq&w1s&zQ)%XdK*R@iQfqH zm|ob;S)o~^E=|8ZJatswG?~aSFdPo_@wpS(RM^Yq1T4%UCDthLU125qC5n;O!WOT` z$afib5;f;U)*z2$u&{|{_X79ux|X71YbAG z$e&`?k@z2t<(+rwSz5wP= z2-4&V8rb)Gt=G{rU1DMtnzfzdUmu|a*FAg#bND$kV0ZWY!K)ez=`6j;Sk{Z--$>1L z18M}H*hY`0Rt@{zzE~Pp19-dUN%iPcZ$qmh;ojB_y_JU`GIeH${+ZOOg?R^hDSitx4Ev zim02mBrjK?WmXlcAgs+;L{c7boW@|DU~nszN!)Y9+C=PZ9hJ6E4ITlW1VKKa^rBmahuoJ;y3O|&uxjmt@hF8 zj)(IHSGs0m%Vw3^yv=KF@tgOgM^||?o>nTHjeFuN^wrnFGsTA0D>q9Z4Dduw;JQa` zpwz;&LYX^MvY!KI4WA-Fi4U)z?=YX83aq$Jz?py!ujXi3PnE zHc0``gV-|#g&qRed=op$ju{6GVV(&JL1jgr`wc=(pjQAT}!!X5f!@ZnoKKWMcS08I_VTXq z?b-ptzzIq;wz&68cFu{HY!GdIerAoHjPIGa<_d6CgA4=@k+Jo8H848No2e)Bgk!L0 zcVc0FjlQ?*V$|S>u;@#4ByB)4h!k{(4_!4x&TZG<1ASAPT6jYZt?f>jlRq=qMYCpY z4t#&vEeU>N{MmT(IkNmOgcrcJ*58wGMeqgef0bBQzDWq2i)YS<0pt?QP!%tM_L6YW z=fXS(hQI#r!XTJ&Y8E<{`z@X3)1^!^!#u58Xv*ioZV^ltu0;OB`xEyv%5o_9?bRKe=kC?k+kC9 z;M*SCsPUg8c>jO;S^s~ajQ_hZJaA5(51sRVZh87S@iq4QF8pGeIpi7>`KJ7)MV8C& z(8yx>O^w_nzn;jA^6QO!E%y!kj`0{hyY*q=J5F>&1ATLFgdkz(drc>hxXE=hG_B~R zG&9)WGz{0E%wZQc&VtAyWpQT2&0oR(c}A{d46=A}Nh$IOoyqx!py!1itc{?;N3ck; z_<<#tZ`U?-E8K$l8o!B$dAoygSE(g{nd<%RvkCZg1g1=oE_=Z?4&!}0WF?}!@c2*ccfVio+Z+D=-DbTY!(3cSC znU|2<^#Zb;myQ-L={UCA4MT^Q*C74}r=y&G1HCU3EAj>lh~C|SUKnL07AikNgX?n2 zkX-cRq;f&d3Y}TKGs9?)6+BQ*=uGO)F^F+03BWNMD(>D5lM~hx7c~$lgB%hs)*?LS zpdCt_5WyU&HJ<^2AY^wka?T^#8x3?H7E#UY6-NZKb(ypw0S~w+k|w^_qJP3{MK=18 z6i?ma7uqDjflhti7Rbw=ip@xU-nL+hEW9E~`^ZM(b@;SK_haZ zTx`D2cx&6+QT>@dYl{kkrH%F zkAjYHG16;Y)O*i;rq4)kWW|FryOFt6>is%Y#Lj@Q$Ab7^EXU;?)uY7@EAKdGS7nEF zojms<++|%M&poBqzo05!L{#4YGHb#{exCbT>@HY;CrP875S9LVzKzzq03sUfg_YK8 z^3;Pe{{v5L?q^sG|HO35_R&}>JxhhLm=D8#cnnj>I~KI(+io+enY)F5sNcIDv*(Nh z@NUBUE;>%1p#3rAFOP97aUA0Yr_)oO2WU7Ulzq&2-RQU-cGx%Cbv)6 zt;(qmWT7(OJ{Kg|Pu(eQ7$mlIM5f0A5_A}?{UUOi)MqDhG3+ohL};^EhbWZC#dO^F zj6>T(WN!e7XoO=rEQv3dq+SDiM$lc^rk85|k~xk5hu42=hJ|U;2iSVlkm7!|H++#OZUH|9Lur8I@A4+ll zCGgcLPXHD6i~U+{;_344hT85wpx0{CZIj7;gz05|MQTudw{?dXzJ*Yf;NWgm6b;D9 zq+!vhK!IPXe|4g2u7rwiApAQ{xbM5Pb98F&xzQ}| zPAtd1RHiY?EKWCajU8~TW?L;P`Yqxz2TZdZ8nlx}d8b*PZj_&Z!35`lwm>`E0KRIJ zA2iEPn6;VV{7a46D_PMu^*;y zM~w20P;E0@|3!lx(cqD2urnGwY0U=<0VTjv)>zgV*@6tkC(ZIsDiX_ku$Rr6ZMI+w zhV-;z{Rzek(O?gds!Fq5PC4DiG6WODcFg;bZlnf9Q^>s516e{U#H=0;oI;NXEdP!& zRJh&Sk4RSZ@rzj7F5=~UCE>BptVgqGnSuX2qqZ5_{uH~Yb$~HQJ9(syv8E39WV8HW zQ(`o5(CF|z8EDQ9yohY!d;5*r7M2%$-Zn}J)gFhy^&3zR`m+-xV1x8LAb|XHv(pEG zgOM8`vuTr2Q(nLm%#H?5glbQ?V2fKm)~s#M&XX>S+>SK4s2fHksGJP9=yM!{n^A`j z%*-oquZ0C}yOSkUn}t&pW`J=EjPm0+fTpJx?anl74>nyIEj}16J`VVR>qFYLW&nEl zCuDGr1>5=VrM~0-3L+KC_Z7d7vU%{xB@iC zvyI|*qdhUuofkN`6UVg=<`uWsUTPM%=M*1=6)^&kK(ck(90SHXh)!florumZ?#w|E z#oaX9UiB#+eo<4!??Yb(_+vKoUPG(cVi-vU9vcb|2 zLP{7xvxL!M(cyUzwf_a(%srRKP+q9^q^93+XkG%g54&B(Y%{Bg7N6`g@XJTV87~8y zGy(^Kc4!bowFlih*P|hky8tUOt`t+iGPmAgw2gQW$`Jt>Y^E3)aaBq6;73p|;(q@n8?z;|Wjw8jQp>{cD9P z5mHFCwWpY(ZLY^d`^SMuW=AOK11&;+v0Kly`yuFK&mq5lQK+_4gJl?O5{kW1_{5zj zxSDAfq(D&>o&0JQsiL6Lchxkw6N8weP=RkSN>c5vk7Qk-p3eAs$j>pfJHu`l*fYKp z1E5|E@-CWOt6{@2kQ%DZ)OKP*#!C2L5xOUiNTPvGj0%U4`AZ&MX4RaL)eEn9fr(uY z=?^3_`TS1kzKI}R0E4JGi0;jF?MxfMU@Sk;o~Sb;Fi=2@gV4|Kz(MW(;tphf5QU!f zQ~*92pQ>oWwf8-cIRJJ}Bn97-PM7zrOTg45>jc0I0&_+Ywma5IYGY>JQ(&) zHvS{A7DLBl%rH(Age#iuO>^O=;(NUua}$o*R=cCuTkl|2QBqMT(Er{#C^MBD6$>VN zwFBQ{phy+tu|~E7pJQMmy!#>u;>F{5g&$a4pbb%G9OH1QTPf~icU0|~oYlEQPQ_(L zw|b*nJu1EReYA=5X`As!C!7%0tKcOi%a&V5;*+?eH`qDLe*c2 zPh8}`1z>(E0dePbLfx`fh7lKpTHL|A%^Th3K=~0?J~Hd~VdK_`VHGD-1jR7%sE}m? z0;avJH@eLo{hAH!lLHAMO7vK#?GopCj51Ut30dI%c6hQ;<|eR<{l+4H>}msLW2K5z zU1^say4Me93(;!Il4Q$}Fu251=_PV9B2|`tRG~VLA?!7)i$T(7ZG{k9m_JkU3;j%` zJh#jPb&1C~dipgggpH%2Gd|z_|A3?jPH?>%cK@;J1LWgY+SLde8QtuSZuYq~7!Cz`@!v+OL_zI7?*$ewxBiI2=lFg&r0v(dN{D>Ls zVDfKzjBVbwn-r{Phxop86^iS6or&N+y$CXu?|~EYypYe|C8sz3qxEmtojh(}yVafD z+W2Y>c$UQ+k&$vpG6!+B$4|fJI*jmNLFk253LB+>F7GyiJ&lKJy*7ww1ooPk{ds<= z@f0sr)?-dJ1IJNWxZcwpE9Qg|Jn6Ku(+HjtaUEFmhXW@d(?Fv94`ht2hJ~ei=f>9^ zur}cDHH`YYjpt#_NAUOjkt0_W&}|U#(w4%Iwwv4x<2&7}VA8k=b0B{NUjs0QD`2=M zhd+7F6Gzl=vu7G4CkV129y$Ao)1ZB*n;}9A1LwK0owY5KvXt_qs`iaQCS57$3fT8o znniGR__j8=vf+&84_+0THCeXOFEKOtAkkOcoLPCgRdea7OUyaSA`#_afsR#}91(Em z`1QN#$RrW#^=ueTVCI1JQ7;6Z7r5@nGEDa8-hiwF<#8=05-Z+9^D``7htQu&FSgBL zA!8iNebsmkN5Rb6J~<24Cstg2iRDn0`i)F1#T0wE7;hZ)PA6G&vird@a2trwUF1VnjCpsSIK!H!BoWPXPHhml|I%l*6 zp|qQfz5szyWY^5wCt{_Jlgs+hO0zJta)LI!GWAg8ignjmXHG)=Q+tQ9ue$aed(t-L zm%a_MD#)l%QB$F!EyXY@jq1!wqpzuObg8vz1UjZL-RKE*CgNVSrCi~Zj>XfR@|4w9 zI6m_Mgq;9npg-~{=PV~^E)xhCi?(O^_DzT9jaBfxfh)Wn-}8D}CD#85vIQ23ZV3*< zcGqMCxwPEFIHZX;CP>iayjbXPK`6RXPir{LX`23u@C5FK)2SC#{T8UXWtsK*KGk$D z4?W7+O|fGoD&Z%_2d-(={gDH}%`>132B#gD`)acrNXPxFm@gLiamj8Pe2cnq^MGsT z2bH1KneX3zfa8ZJ=~ltOM`=KOT4ksx(}g=w)1_N*#&RLfSVDDKY0k;440T>s$s1*0 z-aIF>0FF6Su8V=6%FxZ336-H$nV&DY#kv@W2GkIhV}UqmPI|$L3CJtrZ3&@h>ekUE zM&EPncAWD32$%MiSsfra?#_GJPp`MUlhE{<_DaV)6S1yrN;Y~5*cCFysoM#{dk)pz zSV#U8g|sE{1+RGG=pFwdpR(|D1by1<$7|(j4fewx+O^R#tK;B{{6CN(%nf8>4qSl^d0vOnQ}>>Gsp`N7n>5)&EZ0Ofb$ zoVZlTJrd`X6`l4YKn5RX__j*H5G3}3<=*PVl4i~+chr}}Re+cW)oERiPPSD(~SFuLEsH{v#9Wb zdertag=nglL>>5M>xY>}4_sUfG4SZ;qdt?5na0OBv0Rs57aV2B%_JZsV9m zyATyk+&K|I4#x^{&tuX*PvE|Y<&mUSRetkrailhds@2OO~pNx zzTe`@^-3ic9_W;QmwX?Ay>Q$pvDXLt-H@u5j?b*j!`b|rs|TLzrXV;Sp`I=2&eOI_ z@Z?9ByINUH!D~0htR1%1o_oN1aCd-xmS6TIioMe9}O42|M;=Zp?L zlU|yf`Rf*xq4bD1X)v^@yC^U#h)t_8qmWkPG~ut@I21Q`?!D@ZpB_5u00t~4z<1EU@T*})(Qtt zI>q>2F8`ct%lGoKp6m|ZRxq`0ZRqT!J85w%&L_Irp3weIFq=_eFdM8G$LT)SnToA` zgh2yz0*A@OptpA`R5Y+Tw6byHq_{g9{vF|Ofld}IS8;D%fbrOFqmr(#(l|l(e_mT& zgI!;^0$wAy7?J+6_Yf}BQ<)CIp{t<(1o24^1_$xI%?js(x-Zt<`8|YPQLS`YiBk;v zY_5}s^vo@0C*=Tr2mSHxC1MO4Czmq~Q=hyuV;aPn6{#wof_K= zIKelV7(z)-J8kOfv2)NN1MYZiJ4!aEaE0DMe_No1Ii9Bs6fQr7zA-&{L$(arHYaqT zAEa{gj=v!Z+nD<*lmy}O_AvI@iVvDY@;tDC#THAdIV2nV(lkmTP3(Z$;~>^1i91g+ zM|-&Z$kBNV)D{bEYV;UqBiAi2lfJ0sEDNp{YMEvvQr`T1^gJFD6d-Jkq|m3W z7ac^OLt^x)XWCRE01O`>#1t}h7!=ra;6mLZD7jGox#Fu9SEw?75Y) zYdo_W6~|7#2OriD!XboVcREYS!rZ6w8Q*lr3w|QjiE#V-x?7PN^7gPj%_8N!h;R6Q zic1Z-LvF}Y=`M**dm2gLJ(}O@gyyqorC5oBlGVibXOIonR?GTNzs~t%l)b$gzPYm* z)Db<_d0C)O*@E#EvjzfsiJ*#3A&<@&dA!k!c$^{ORxAFoFGXR%%0iWD;~d*k3bG{_ zIS#1+L3mcQGBY}jjl#(!ftZC@Ns?Vk9n>7zdAEQ?RW?Q;P9HiLghL>6nH8=$?$9c` z3qGcd4_ZISv{x0^85X#1etqytt|naQJ~+>cInyS6a_PoPM?S9Y+NJ6QrSwjnl1v%QX7VmA{)_sei}U z@{U_7Yig~3dwWY)qUROK@5tJJ5&@ZQ@-!V~bo*e5yZ)V&mUogW4XedU^z8TjcE2NZ zBWOUj&cx|Ek+>T~BKH0EKx?N5VHDaA7;m-y&13YPBZOn%0I_h8C1XM4N#Ox%sJ~(( zc(ly~FxY)W@y0#v=+>^G#AS?AWY~#-&$K-)jK{}`4|Uc-?W$6|(((bZ7k(fYFU zpCefvbj@{F*o6U^URA@tAqxF>kfr@Zo{f&9stvKm8Yj@3$l{M7-o^receQk;*p*5r zBzijd>M>p+nv-la`-wNMN$TIZwB?<|O5+UTn%V`?aTr8+{o9u|wYPL8Dn^8cB*~&l z;X4&u=Z+Yx^!!v#!I9QIZH4I?6a(s9_oAoBFKA?zfpE&=OqKw~U)iuAQ*#YyvT!`! zV=VA1iKH^LAk!b2=jgOLt5~9Sv>n5y(67o%VH!_Fj)h0DgjtX&C&h89)Mva#2URGm zkjL0HvoKw3^kBo6`>N<3L!B$B>hd-IhyW>VXb?@if0^bdB348gi`P zoZ~kVj5+SMIb(kWS)y&u_^Q{SP&usgTuK`55c|JmDd3j!9A)rmb;e)8^7dmgX($cw zdq_7h{>pKE5ilI;oP!QY2;Ls9_Uy(L&&&FKzddUfdUE6jMILqm1?8H_yO;Ijo~Y#d zvuQ!7DTze&i(VfZ?^R#~ZaaXIGcHK~mCOqRL<`Pp`!N6#Z!oJpIn{pRs89+PH+N7X z7kbNL9m|CjP&(s~__!QO(jj7{Tv`c>+{tyG*R009SmHwgdqQmB1Z^@6II^(2JH!}A z6{g$`Jd44>WMdpvnbIDQKJ|i%_B_cHyjUT$?+IsA*~92UfVUN9O+@ujcRzt2cw=UN z4b|k#@4afF>zqR6Gy}({G=v6HG8?#NsM|W`1^y6^p;@%0b7N0j9)<+{rDe;ldD5*U zG5t;0cG0^+Ooz)7Aw-lznuPWZ1L7^a(9thTp(D;ObNF(oP(7ADQ0hq*J%Xl^JPp~O zeLznRPn{h34P*cuql|BZqF#=!p{Fo5A5^>ku02A>Q4jYl{?U-Z|F1>wi| zBw#~>n;OpFSUf`d7mdMZvz9SI%eYtDdvC2)t38VEiQ3+Y*;=;tD86sk_TFBum1~dUdrY!+ z#h3(b{7ssF%-1zP{!6s$Cu_;MTJjVv`FbsRs+K%WOTIzFy>!Xbwd5IE@+@s^iZ*s; zr8f3D&3B`gH0C<(yH{&tZqypD);4N6V>W8nEYc>8S)^UNK^uLQHas&^8y?V7XI5yb znIrMLQA?k>S-W`VcJ0bZ+I2H^?MYp$)}Gv?eN#)R(I#xwvM$rc^MCRmIr|A8|`rBTpAZQ8Epu}#RY*g{`K2%-h#M$@%cVJ+iWnw5+U& zal;E;B1OJ!S{a>8rmY?8Oi!Qb9^+axXRLGP#)-~F?v36RSFH@+?f*Vk*35OY)7H&ik(RY`lNZ&joISH9BdrFIvp5Ap?tQ!WpfxZxtuEa^^|pr}u}@87aPhfk0;G`~5LG*9W78V=f#EU!65IPUm`e zHGOY6GcUUg#$~r?+CBK(htC7}Jc7?}@cA7+d-2(a&mnw{;PV_`dV=Lwja?z5VrH{Pwx` z`M%}J?)DioX5N*2?%I(#csJj>^sJc&UK{T|^F0sWTNbV?n0ZZU_B)FkALe`RyEoU( z+_`dz#d!L&5(|h^%Z@%NNYo_`gm8*WQR=>G-tKTgL)NgsW{QBzBXKDCr z8M;b->;C=|`E~#K&-`^>zcY3=e$DlBFXQh6+s;~x-`s!hnDhXCx1M|O+1K$q`J(^1 z(VmC+?b+Wy-}cGR)8-9)dQ&Xk58qo`lUV)mGb^8*^$PEPTYj+nPf2I4{rx%BkEad5 z`we3fQU}lbYKQ%~-&Wi4-aYWK@*z2&{rZ6WXTO4!khcBd9nYoQ`s#HLr=|^u0Grlw z_PXTMQRh#(?$w`pp;xPUx@N9C`*%5U?+6{_fSznInGj>#mDd zE{4RYHfhs=S;U*B-SIf_z30ijKgv(;{>wFchaI1T_nn#l{O7y_S6_4G;Atsy@ovT~ zp1N@Jrbie4JX|v$?*$+CG!(4a`}xODI{vx{?>88q{a0bjpB_lL?@t#k#rxj>*){3P zYi?~STs`U%QcK-)H{5Z}+jl*G=4&wrNHI>m(s#7@>Ra!>Z_)0A6?k_Zec_^#edGT& z@L$i@Uyt{K6xXKGTWf#x{C)NNSK__v+`&iIY#jKvM;BEmt;V}=f7*FB?tSfnN&D}+ zxeV{emR@mF<@Ni2Qu?z`-l^dG~VuO|6}*pvt|svp>{vmGm~S` z=^tWE{S%P&208@m;2u2FD}(lyqJc;^m*PVm`(*U$&O2kY+}RGz_v7tY?EfcTd+Ddy z9DM!%x;Cr#E{jHw%%iU7Rk#oFJ}a&_=LcX*10*eBYOKIQ7$`@1s=pN!-2<&MBvrvq zm`|IQmlQ}lbWF^*mV2tY{uB294+hYU|M~k52L6MA|D_lh$PHo-zMR;QM`+s73;vfP z;y=y)4+j1hVgT~6`fe@&=J&w~gwDg4*Wsq~-@NaIXg*YArhuPttv7XZ()4lOv!>7V z4i8-jTWG1%i(!EcrA<^ajo}C-xn*q<2qhph#22`2oL^RsL%|~Htfa#-;8ue-476! z-|+;~G$iCV44KvOAfF{!5|hOvnYVKJ67$yx7Rii;bGH=t_=FD4p88e(QmUtz@I2Q51jp$)}7S;gJA z#%H;DYMs6>ijC*$!^T)#)lSp2x>voQAqjpyW|1){qS*Klp5+FF-Uh5wTa3R;w4iNV~0tBST8AI?r)98S)KuEE?7jgkdl$%b+_X@+- zFgz5;>-M7VMF_YSy>LcWQ8)dRLz!oT+#l1fzUBWnNmIofr6)h!%v$zSM&TY9@>J&N z8dzbaVMeGf)6bdQnRi^w?V`T~qGkMq_ORA4k7YTsmX>@!3{SCPY&FhKf?*4&yy|8b zq?aK_MOlj`@5?a%6L8aTY!G6?y6E`_Yg;2GD+4d*6`J#Ls*03(0h7TNWPvSE1hK2u zz#H&kSPPGB4~F3r{bpWa02+cwXeL%e--_UOX$Ep0&!v%S^UF)vu1*+Sm$**Ni1WV` z15q-j^NteF^k+e91B$3-&BPcga8QA;n<6YP8t7|JXZ>*Y2xO<;y0o^JNO;DLIke*m8ckToNW!?ryGKhWoVyTR3d zqSxD^E+}yhQ&wMok5f^^RKrx300+0g87)%7-VUT>+j_V8{(kAm6RA;S3}G(41HZbs6bgcigxvvr*1q`Ko6qX23vf5c{gu;^IO)f%3B2X)5BLw=1~nqsB= zHWvFOY~}=!7V6nnIKrQxeK7`}o%=cSxgzvq19 zx&W_%j=HfZ)XExyHftMvKuC_Bz=At^FkJf-^{$F&o^wYJYbrE{p&4j2{7))i{L}A% z@?bWwVKs=pgnHq8A9bCWoQ89bnMV+VUha4a#iFm^70$S-Tqm#zQDC`aWwQ9cq`G;-k*A-%9DKY!j;aAiAAo35p2Xc=1W94$9r8#hNAm#HrDJub(D39?xgfMgb+g#DDP?#e0Jj~Ex2=yPFgwp*RlQD7v z7>k}?GUgq~XhCD14TO1qnR!Ll?s7Av>6AfadK`ftBx4AK)_@Jc!8V#tg7l#+;M!)b z%-ed?Z>RkoKN)3`5wd5|j9aNIEcv!#X8}lY1-9`;+p~+dI_gNLNCrp04Djv4ditdg z6zvQaZEc7R7VXT6b=3bnlCv+2TYF*L8gy;NX!jOVET7upB2W ze`5SG#7EI0ux$OmfMx4RuxuqPTh04t_s7d&)>UyzShfRl10H z=_V{&`}R>cVd*x9L}1wp$WYf`SXUeP@+bFEH(_~&@lA-Q-QjH*FVR5=`)iXR*INu* zYyOQGt%KoJI5IT1hd``7E33zLYsuIiT`~@1=3$alMhCGvES`A+vUv!NzJ#{<*i*P2pGoZ z__bu51I3d0Nl9=N*1DMdVR?fF^+CSfD{n^vuBOO@qpdkQ9cjigcVc_5u~~3E8@$RE zD1PF^bsrjDG_$lbP`o2pyq6Tw4xxwwZ%XUi4#he_5OCl>u_xoCDG1ol3A&yLxE>3- z_6A%JHoNw)lbcEf7AL!lNg091o1+^(m^cH^D%5qq;91g-Z9|1fC7zeGC2PNgfpsVS0U^H1Nn(=^gX1iKzl2nd(V48Va z`{gk)WnO2V#z>y_Y}c_9^Bn7!ryY6TV4kZZd5&hg4xgCkaKAi90b48cq($`{K@il79!ddfOW3^GY@E7MF zId|~UiG3TxD~xesz@)L@>uIlTNbzN@FdT4C2R_Gs zI3&Mf+H31O!KFzEBU=MzO%JWkq&BXD>Squ9fVb7I|9U*IF8NSy zDwg3M^GvG>bu3*6)1}=&2)0%mJgTc&gCp-eq5ZI`W7%OUPxPDzVtPrT=}`qi8IlM? z_-KSftE7Q`tVj&W1ap$4&ORcwxx1 z2Xl4OTj%+vI=v~rsRO(Y-_#^;l5grnZ@h16u8{!CGn(-(zlQqer$e(aZvu}x`S)T0 z8(L^yca(1xP+u!Fe+=Uo%24x-Wfc`{HR=(@4;^WF*7LNZ`@eP=m%%bN?REsuae|j3 zM6LJShQg7bzre;AgUVrZCe_R~Bm?O&<2^GTgD~((#6!w26LTTevkc{&b3!@iM9c9~ zZ6ejYYbUX#OELdYHNyUnqtLt$b)jyF_{4k&<&;B>MuRPI&3qihFEXM0`0w8E4?wW3$-2JNCw4&Bu^bACd_6q%y`i0CiiLFxN*)o?h3cJta6Q0_#} zgsW}l*$QVEG0UKk*$x9oT~I0V8Tr(boMnSOs_cc`-l-seJq;;<_j8C%s3=mz=Syzz zv1*4$13kN#E(oRpktn6W-#ljg&j3tjxZ`{Hv5E-hrUWPNU2d+w5M8BADR~Dq+!X)x zy+9KDYSN&HZ{A2fqRM!o)48f@?b?#c(i#dAx;MI48D6*M9JA6WtME=Ns~nq!m(|r( zYn|+;2~H)UXN=8C(gviZkE==IcvcJ=Pd64P&zZvkSj#*$u3@Y{*)xeDmlnvNhF24@ zHs{G<;5;19L5Ktkb$D{{uJC0!G0U{t})gUtZR)|7MDpU>`m&A1uEkwdXwo}OlpeJmUyz60Gmg_(j}gGcs8#Eqh8rUfWsxM z6CC|GdJQqp1sl|SXotiKJf1ygB5H^kkBH_`dYXQbK3X56kJZQNWlQndV#(~U#b`C%k(0BxqhX7m43B;jef1ZLNC^@)34WW&`b1{`YOFtck8S5HM&PH z)64Z6^$LBhUa42<>-3xSYQ0AH>W02v-=J^QH|aO)x9GR(wfb%PX5FXXuHT{i^*X&? zzf=F7zC{n{4SG<&OK;S_uive2)qkM>Q2&v>O}|I~vHlZ%yMC|!Q~f@Dhkn2QGyUiK zPJNgDfWDh3{?FfkFz~+?1F}}I^=5-C5!RYbYi^UUifBeUmJ_TvoG9hGS#~KbuQ8%I zehfmn$gGC-tmMqMNV1h>S1#=LWiAjC(gj3c^#E%`Au%fL$o_MZcueyd!oo zJ@j{xgzRxxxD|3X@N!t{=@Y#=@X3}1vEVkr3)E-0P#VuO&0s1^4#3JEZ_-a;?~*RG zTjr~gdPeSI4RKOtco6FZ?TpIkg~Dq z#RJf|SzCpzvZ(UL%Bl^OX*JIBs+HIeG(4>?t1PSWxJ%PD5!L5L0fGIh>MYqrBRlT( zHQo{m$d@|HDxIr5Wfi5@d$18#xW&KQ?VUbAi=DOEwFM8@GIZ^>crz9NG`kpub)QBq z=){I*?#vxOMdNTSM`zhEQ;F2W%42909gbpdU5CAps?V^zz##KSRsa;49pA6R$s26I z{oQ&Rr3*pX<85vlRfTfCM!*J~6=1Y+GyQbaOUA;k+u!vu;lktCy#NjI>aX=_Mq&1_ zIBV5j0cYlnh zj-kku*(8M}2wy#3m>z-VW>*~wu!v>!&Y2B)BVl7I+vPLjvkOzb0|Lc$Ld1T6Uc3qJ zIx!$X0lfh1EhVJbqYJS=M)&9f&$W1Mblp{89+3-+WL)N+AD(gy`EbM$`^G&IJp^2S z7?bbdO{-+^R3NAMLM8w|sCUq#2F`kUpiN_iHuWZ960vstq0Cu`YB43onBvc2`I<3- z=FF{1z%C})`RJFR)$(ksn{(x^EJg0$)`jLuA!pOFb^r7?BYh?TD>VO#B1yv+k{pJu zP3Uhs>JHPMRCk;)Y_=iHW_j{u~0X8Bm$#P{pbwbgTJW=(Kr`jzrr(2N#)iy?8-3 zZ$f{YJ5Yip;~-}@|83y^jJNK1^5sr*;u+HJykNd9m}}3z%3l3GELWSuRj~gy@WC$% zUZ;zns9+o{@D!L|43#VhGX5K;ugwqD`*QPLJXq(Y)m7CuTIU|#*&lMXW2(XyvW@0~ z^X=dc2G^zVSvc_xwu`s$S`VxW5SRm16vPjV>rTwXe8N>Fih0ty?GBjw4IvKaR9UNY$4m> zh&aMO1tS7C(#Raj1-Ard7zWZRB$yhsvNhkAy~2x2Tkj}vHOK{-IskV$MKCuuEAW@- zm9s=>#+?N0Du9G!) zqA?Ijd~-*}(s`LLdpzUXVgQ#f+lj+T_5dS6{5c-R2gK1ICmpe5m8xO;#Y_y_BN)hL7oIR|{W+5XQrNgqyqj$ok2!S>lzVt z*v%xI5jnCl!HBN!y_hXUty@}}+G4k$htc{QMt%uqNrS6Z&mY;4&*cmepSxNCJld<) zG(M}epYx)}7{QgR_m(JEGwWB z2<6g3^N+}kg$?=ZyBL0oJXjuaVLRBjdgPbAt1Ud?jf#o3=Idx{u$cw&Q^oTvfDf)q zUSv4T!C1e|;?elpiSAR4`r1qdzWTH!6|~4?m@hAcNsm)N5f8|5->2X<+kqYI#-Z~R zlKdM}wc0a0JP>-G#?_a(0COvJfz)M9yw&MFn0&D?_udBC`$F?ge22~y7&+ZJ9npQ! zNg9zi`3^KjPL4%pRJu1@kJS+%Mb7O-daxS)(33t^Yh+Hh4Cs*|JC2nx<})JN0N11p z&K}0a-TOY)9TBpbjTQu&g(%Fv&Rzq50eUb$nHS!)M-s689K$gWG1c#*qyT&p89|=^Iv;31a~!_5&gJ;Gn+E}uUz!|aOpGR`!ISeu zUPW;5$A1$wINe8qi8J2sB|a5D4+E)~!cGIr!2-LdR87S%WAGkRXx6LueQe}2Tulqj zr4nSzoA&nRPtAp36)Kx?=Gz!G5$hk;x=+71Ec`7lJ(>ZJ@@O%9_3*N@!F3oT@zhLZ z60zrkCxHPZVh)cz3URV8gn;U}h*MY7tfjb*T+%_XqbM-}tLLyUhn%jK0PnYspu#Lw zVc_jk*Vl?wCROod-ifU3Fh3`J?AGk!R@lZ|s0{TV4PA^;05OABO57X{79UnJUPt9( zCK(L-jKCX>3u0o#b&bk%nDSo+!gY9L2;6-FMid(t3JL;2!_>4HsD4gqBupmb(n6+$f z4ru%=XP)AliT?fSDx;E=f0nb*)l{*a^BtENvAL9R@_0> z_rT^DK*U(JLzvD{*NA8Ta}sJ?7R=h0mxg{yK;SpI_8lBd^6yUwG%{OgHY}MNlaTca zW{v-rtck(1{0HLI87ES&-T#7(z|_|O2j=&|?rp5sKnNAk%5pfBhw8BX&{Uh1$9%LzW}81}2ev-lQU4pHh}1OTnGu}7V2U9%DAIz$@RMwW z8560(o78weV|X{8`Id_HfQhS_i%=gXCMHIW9PL6evjL5N`VSy8*El=2(N@p7ro_0~ z0;z$H+xN2(fw?&K+y>7=Iw=_MR@)UY2=xg-#$`zO1}wauJ6QT-QhExjjkI1x{76+> zzS$gt)Qt~y0bHR-SCwk+^(7S=`x;+mUag{PO<5(ss|*-_aCOs+dbftaQu(T?tk|U0c*<6LHE-Ek zca7$)E?KA5Y$)@t^3WS9{xH7$oum~p^)2x>Mft+0;yxn#bmAaw++i<`CBxD?7OwHg zlRY0dJ-h}P%xjPVxCU|5ryzw~pddms-Z^Or;c6jQL*@lQ6b0%)c#M!o*tu-OHD!R3 zmbidvv|)LHiSHhQZ3&n{&<|b8`B!%%)+oqn;S#GR-h3P6xyWv&`m#quehhI|j*e++ zEo+F|HpmBcuYoRH5=+}?^t#~;-xp5reE9YKBFS<0aa8R4VnA(n z$A^Rg&!fE;LZa7E|0dty>Df_dJtaBnS`e1k(S&bQ%}P7=;R_f#Bp885Vq7wbRA^6N z^6g^B%rA*s@vVi{GHquN2aDEhd;J2yiu-pKkRmS<7g*TV5StZa%mDHob-!dRNGX*X zwqM(rD0z0^ucsI4K})?}xzBF(PnUu&are2oqr$mzWgG7YQGNh5Dz>k@ANVaXrKFc)V4v>2V$ z!SCpvXYbvj+9D-IM8-e>w>2)CtNY*U8GAGU(Pa@x#;JoQ#IQf^54>%O4Whf-8tvGp zV86BPDO{In`}P3nU~QXhW!;T)Z5->x9MRt8Pji6sKywKOG32>%niz}Igm;uLJIQ-q zL)>XDJ2-m1kUzmVTY;I^zw?a8RhNNO0m@DDE09i<{Oy%T9yLbxE?jSqnU`NUmN>u~ z!3DywFZX*wZ zmB>N9pbFHi)3tGxdz~bnk4sZ`saEJ-v({Y+b{VZKtS&JsyxQ#QsvF&v&VsUaZf#aY zN%dN1UPaZa8?|Nb>a}H+V62sDMK$i~iLhz_qY|ag8g*fldCJg>wLJ3QoCVcYt7y@| zg~glIdaKsq63975WgZ&|(DJPHxlakQc9h-PCLR(=Uo>vDx``i-s~0oV3@ zyyFSHd4>OrVH;M4N8R(wiBQ5whlV&l%ka4Yp9*|7;$y?74xg>~9KmM?KF9ER1fM7H zX~KtT+VRmr7e2cHx?J4q;l=JZ^J-VGbu%@0S&er%2Us2md}&vx?#CuiHXfbD0P zw;dtmYqtGtB{Fu9y@Tg6KEI}(YxvA14B;F3{ET|Oi_ed%=b!L-w|d^m=bxzOr}!LH z&rN*Zte#)Pb7;MKeuvLsH?#Z@pRZHTpYeIAdbR^=p?vjx0iQ{wBK>821_t;%m(QdF z@m#=X+z;~k8a^kf=Sn=ozV&&IJIk;bHoCV&#Byanr4KM`qY|Q+d!IK0GtaRP=z`b; zmdE3=5cKSSHxcsj`#(%+v_T(&;?YRPtrE@|dY&RRA+A>-LO=4JJs1HXUzXr(F&pJ( z=h?h2@Z16r6@jsTSohYk7fi%~mDP<$OfEd4omQUnIF^Y7;d=g_;+l=93d`w^b2+!4 zVpRkaYx*UDkr2)A9`Dj|EvcJ-Wdg{!g9nJWVJ;qd@n%<27C54TRt27B;mb1_W68WC zl7ZVd*zN~yTi|``_*0DR`PZZ2_`O)>{5kwi0`reIz9z9ukI>4|x8Rib_^k0h;2UgZ z@*}`RaMZa#U|6{3#-T)Op<@6XIO_h1%?1XMebY4WXz{?@&PEySjgu2Z$|Z{Xi-G%D zNM^i&1p7XY6SRK@cL`{DaGeehTfvb(2JWu`-3{E^iTg`~^KHPoVb4l1rn8E)Z$o)I zNZ_HqTL88w_;du-UMQXLC~Bghn4_+SK)dX@kmu=uvI(2lhHnwKI__`6FzK=;V^?%n zdTH95>vKW=sAxPm_IcyLHf@uZw(Wl(Ep3xghL*PFohtu^7m>VA)7#4J=J&zj#Q8gl z18l6*?+j%34G4?`A5GQUiB7Rf?uoPO zP1)Cca07|Z%TTCqV-k?+ZyFeACX4Via>+!hbsn2R#6e5PZhis+5W@`skxYF?2$tiT zadvnR$C;JLi9~p`c64}=Ex1PLfCw0A zJT9D+V+0$lOVO1^T;S6yKw84hZx8SFk=dhNf;lk`$Cc1Lv>&tTMBR}t?Ei@2S+|?C z14ONaIyeqjV25n6fLP>>kDLGG>4d8Zv|!XkiNG!NJWt~ge{O|c;qG^}t(1 z8Dt#b1A!`wAj)eC7Ii8a(Eaa0SEy~jiA4~Mgf>NwT8m)YQ`T(!Bv91Gkw(_xB(=1B zj2j42FGVQrc!2V^5g{w7p%Xuo|Z)0WcLsV^N;Lz!&Dz+RW0k&`T zkP;?)jB`%;tiycc)Orp__h7E=#REwfI_Fr13(MS)8@kX*e#xpT19TT{7_M|XtJb+e zs-;Kbv_(}~nxTo9Sj_~dR#^puhilhW)zp-&EUUoH56-{Nnko>4)#)0FKPi?Mt7%5m zULw+?Y*_~=+v%ypEwy=n2AOGOEaQjgLHvkxVq^=#O&Yuoj%-wWwWDqb7I19pek}T6 zc-PoG+gQwP;MJ01QiqJp&oXgKYqGT9e4KV=Krb|dwg#*?Lwr<C4%KVL`hctk)i9MH53}S-19VF2B;(|`Z&^C9kMhdb_U!HX*QAI#c3T59swVyPag!lfCHBODOn7E?hqvoA!_ zlEz3*=ympOi@}`9XbbeQRNgq17k9Lt4_N2F?7Tf|?MJ_fUb39RjN#@FFGdj#obEGl zWpE2@p6mVtvA*ndZzr?{i@SMLg990mb}>+H476~TftpK+B`LSCn>59{ftKhL3#Qy- z-w!hGRqy5EpQR`J8XHVv&$cz_Sp$uUq}(pV8z?s@rJQ;mVGP8>C*%MvI223w^PEGS z0)BMQQgadl2(M>yxC+O_I#q%UisP+3Nl>`0#98!25>)Q0NCrh=CK)tRf&KrC`t0sY zeR_w8jH9{&H{jYebY1x*a|jsVSZn}o=Bp$byPv{c3rR-u;t)Pp?z=_F$oUkJ%0^A5 z8fjpXhzXOgB0Sn_NBVCWsTrR$DsLpdBO4~xlr$sCoUL(ga6^`_W}SOg+3GT!N0q)9XPwC2QR(dr6I?OOIrUQbmG3bK->g8^7M+6#e_N|s*($=C|_#8p)l zIO|GL5X>yCGFJ8r?4RePXbN+lR8SuphzP$4mrB&7MHfI_vWLU|0*ob&qRF6-y8~Sq z`GHS4_U*CYV#qLh8+1UQVT6tZPlQ=v0X?q&bdmHOeP>E^$ieH59qcTuB=+q2Hg6WT z8i@6QOdM>C;e=6p4<^j<(@hxbptCO(ca6lilHFE55Ya?YH=G4XC6`6H`%>c2lL?Y7~YOSZvIclrDn8H;rn{8&zO#c#HxnkU);bPN8H}E<|+0ECwmb6kHY)Fwf6f-x};3 zV7K+1(9Ztpy~$Sk*O>k?q*oHoOtmDv>BG1I;shhkw<`T}Juh7%Z4zTsF*d|}9EpjS zn0OTvkC=BNF$ofrpkfjb^L!)*eo>kv5)ZGc_(a5SM!ekAW;D#t7;t!0jBi!O*Lq$? zLtaLU*|0pL!_q9SCgfVwL7EFdW(f^kRPrx;EWphVhXkfK*e+);lNu~zBuU;0_diLrxI zbsZ${>AMxG`?aW@_bZU~dANU3j`|-nHz4$$LF(e-ndqdUgV?D$xGNEfgc~A~3RluF zhA~|2*7KM+#u>xr#2`a(u`S!N;S7l^ckW6>!@?~rC^49LNOOi0C5Esaf!7;(F_+_s zw?&`9*(B;;$RZc1`V|H7FGWGzUfV+&$npJG@GjOlrU_mz*(>-Hhs%lu?&3vPTYYBh!_UE9I9=_9VegfJuOVYN zAA&kqQ*x-Z>dj0@HkX8A*w)Bl0s`jMdB zo(#?eG4@N)M^@`@yW8_cE)d{miOno948fr5SzjugU7+@X5CYIu?*EaZ%;4scDCA9# zZ5A?4kc`MRQRO;MzSP_n(b!@t%^;A`Ea;lO} zPD;G1bk;UGQM3qDa>+l-2{tX+x=!qg)WOQ1x4>2CTw8J@xVIJVbd4tjRy1$zx{9(@ zW!NkY09E5Isb1xAdP*RgkG&S`;L@r}x11lMDKjW#S+>f#uEYzg$(7C;uY0YM!{jkT za3NOJE3rc(!CH4|8Kp9No2vkPE_a zMoKQNaw`k%xDKrGO8A138n1J$6aca!E&bxjHO?_<6{TZ);px*LV_hkE*{V%ZDr1#V z4Qjz#u?cvntfVT5-@!u=2hZ;v#ivKZv&(a=o1wyqO1m}p0)0^E8W%SvyhY1u2MJVO768cEk@)b z9O5`AyBJ&uAtt*02RY{txTmTi%OA9ex0|a2$<8Hp*WXcqTI0 zrAWqQmI_{PDxlO#T;3Nba#Ok9M&MF=hIf!BlV!YwcC$A`dZRRI&csAf>omZ8S3&zWq$t#DI{w9vY?v^HU&7q_E;tB|*3ns!ZE8 z;~xq$>Ri|lGoa}dUi`PEYDS`GA&LzR#7h|G&zo4sW3n6BxP@xr^{I{dso=TDVH152 zV2a;;&DPkZUlUZLlT@S03Aft)FjH=kl#pRla<(zvb2pQcbcU`$3Eif#)E> zxLEU;{2d3mll%#*k?@So1K?gM>|GK%A3lrV<2@;q>N#T$(j;h}3HUX?#$JZL3}t8@ zmlb{!!@0+)-L)IHIZ6WXBRrW;UdRk~|81in07{!BkNisZCJ|X3NRia}f1&V(O*RQf zeH<8K5FOBv85ttSr>d`aB)Hrj{q?y~53c2Q?d0$6f5`uFZ*jyrcFrHE!@tPrF^ zfCT+654n3hj6cf2)n8Gbsm(f!<2?J~0pJk7n83VE1*IAjJOf8%C|H86<=8iLY)j}I z22TrKa%$o~a`~vrf$KmNwO3}uX(XYV>tPQk83b3LmW-}xUpV~#LT2CQFfRJZunFTN z0*gI2hgW!ycN{~2MYmb&O5jU$8Sib4$s&YK3r&1bJby4nasHe;tsAHFsTag(^RtWf z8i+8W#6z*TuO;Uco^Y{j{P*RO{o*Ulg9!kJn?LZSYIZ{Y^XBjXW1zsIXBW}H6iaZ1 zFqPyfDKynLbA>TJ@Fh-GE4*Le(irw<-XUz$zFdD^!w4LgwhX@eyru{s&Ml6fMHq)G1OAs=TN*>R%07cwH|=rIN6Xv_heJ$W!50!}Mr-HLlC<0gg@ z)LoVrYztiT!G{)DHee9KDOa}=gX~_#>Wj>^LoGMrwFUDjqyxToIUi|1Ik{kCO13$pluc4W~%+ zrxJ^U;m9zuiLY)s_vxk&F+zva>dSYg(`TF!17*f^r;``v+}iuXHL?#}YI%!O)rXv? zfK8=%7d?hs%aZ|A(Jvrco;*9)objmMe{d9JQ+JK()tijq<>dPPQo8*c>M!}``e!40 z?@(is9ypVJJE&XOW%oo7U{dpOhqUOYhkQ@G`*K}Yhz(mPU$MbtY&pHe!H z1L>R{Pl5k&4v&MkrS9TScyfIYDux>A!G+jegnv4P5eWG+Ld;k!3QA8sTFa^HzycZ^ zB;^m1@>BYi?}1MwIFSvjvOSmJ%^Z!>+=~a+msNWWh=PDZgy$k?8hc6%(BcYiUKGp) zyWG-{1`FEHod1oziI>LIx03c*!);inN{T~MBq{x+N0Z7p>f{-Zx2^@|y=WYkX%Ryj z%E^j06x(~}5BU3r{g7=i`Hhitk}8Au{vz~~g4vAPl+JOmwpU{IWnnCxVJ#tjmWQs) zS7DIh8c5ROf(2Uy#n7;=>J7Fe_|?U|K4h)*#s$eSfxlw4#R_>^`A)D*vCL5?q0tsA z>(^|Ue|UmyV(XSr`W}s1NY8%LURm#O?2DZ}?EtPRTjqki6!m)|5$VwO&~z9dbojEI z-YjZcPw{2hy^~I*w@@z-UxGCM9j z^K76smE&lkWD>#tr%o8z%Bg{3Y~4LH3rS;*4P0C;LI&sMTimtRt}%+sWc-?UT^6J5 zZo)mZxs*=_`80`7hxs&^Pe<_N&taOd_iTR-lZ3rc2Vn}>4fW?RK^Vh%@e+*uAAz=N zjz8Rj6&imp9)Rqqfx7Us20t=3Raqc9ZUG8W4${VWUEwJL#>c1)_~3prLwe*zF^$UYl}xspD||aEw#5^blVLpoC5|W*#~Om2`pajTDo-J9N5Oo z(3}z?UkhBzT?@1gkfa5J!Z`-Vdx*@IV2R-&a;&y`Lp5Z%P7cR1mz|`g!^h36q6N#O zr2GZ5E-%y;s-N_EmoHkp)CG%tU_~rirWNrZuFlYkDWNpX7FsL{#i?Igw#MUiR#a83 z%a%J$=!llw$V_Ek>~HzeW3`04qx=oYoUZjRYXj~WcrU7C%jZ?DsxV4%C@03)GF4%} zMCsa6_e2UG3z(Z~+!d=u3vS|SZIuU3;~=(%%T``Btb(HH8n<(0$*LQ9%CD*}gPbxJ zXCzXdj7k`1{`cf)!XZc)XSS*USzlFJn@SsN?(d&A*4%Sa+E|s=X5Q03 zEqJsirPWp1c(bg3+IaJ-lhP)uvUA5Z<4?aAp zNx_)ie8fT?meMc^2JXkT^w%KDBRUBQACgq02E*A_kmqNp)cgV(L5D=w zfy2n$jeJniutsF4fRM;*FvTCZXD`Bo^4$Pkb-qo{F+Sq33qRQ#r!tIB@n5ktJlStL z?`F*@VO5NL`)P#rVT-sq0veDbIHwD%sAvqf$^*8D7Cw06&A+7*HOEokVE`0R?^&c$N>^t_8oxr9nM09>KiTq>*=EZ+6t(jb!D}JzN7x zO#lLMt2*}NH|3Lkwy$Z>n5KZ>BPgIK95pVBjR^|W(^?$J^}|wp!9%@{GdbyFb|jnC8z+)ByHd--5ML0GY|k9p58ovN&-WaaU^K5=O+?r`gi1w*cX_iQjdQI*o=&6Y6+!Jq zg`U5n)X03gql+!<(FkT>Z7Mg8; zlMySr=}aLxBB|bi)G#NI8W&Hhr2d?g-(rw@ukSNkXKK3`c$%?ZX#NK3lqwP^2dM;| z+_M$_Blu?azW6qNQ$E0RjG#UMAV|*g-sYU(wIbg?464K4WY_`2YPXw*XA~QPs;nHe zfmeS{Dq%F@A;+a_yZ91JEi^x$E{*l)bjtLmw*1lIR?u+{@fx1t5R7=L23_aY+5DL&Cre-<)`c1wLSo(j!%xL@=XU~ri;zz_4h zhZd^W*Wy^vvx1dm|8soMj3u6SBp_ePvl9nR56y;f$z#>#lz8L-Vv_6Mx@}DON#=mM ztQF}?BvO*69RMTvOQP{tpU8M${dxRel;qUBzm|GEXB2W>V`kG1h^$8=Hb%o}7C_JZ zG&10<)^ZQvf+oL>G7<%20s9@1JpV*(3M~cZu2v2|m~YEf=G!oLZTNseKT0j-Ct~?~ zzra+BSXFu)L&uzPCt7fCBlkL(M|;o#e4Gim&3qKSo91gVO8q&~g^@m&jzgbcjt&mg zw*h1fs0)}WfW5gq!83u+wR|QuQ@}DWVbG;-p>^jRL%%`|11npc|K*r~ynC`4KV0Ie zTP|bSis!pI@E^cpEMeVr6~1;Z$JcmJ`2L)c9FE?3yZ9R!F5onCkLv_zn54I$SeOmZ zOGQGh7g@4IF-aqAO5ei=XbT!I`g5F8;*~(hi!kS|_JCasj1+IB#v%#rvW#dwXGlFk z)nR$5r!M~$|8v9`=ED&1Pn+wH@dbaqGb6G^4)Wv?Df?x(*_velGiC687C>{+5COvs z(gXEP2ngQ8Z!sR1xJ4E*#~&i=T!sH;T6veJYyf_NXAbdTYDXF0kmfmQlW_)&-M4?l!OC|o zBTl5{3>HrS;U^hve%L34ZsAS}v<7gbc~m|3+JgnD0cj_Ec~B-_H)C<~1MC(K8Wkp3 zvIRJVY3~>K&hB^-V;}I5v@xFnt&VJ*)WoKljrGe~3LSOpV&QSrE*9u3Kn3C+!%r<} z^W1?kTE{gA!TnBi{ZZt@W8a>ObS>2jgEBMJy2B~WYAC?k+f50on?9Fb;@EW5b>dr$ zn;7%_H>1Ic!P%)`QKPM@IndiT;q|*ui| zqwX5M69_IX?EgF2|1X6i=!yc!;XnWq2mo>2TmRO@ed<@lEz#hAj<|=xnc%5Fg0%&q zdfCi@_j7sc_zNCYsj!W$(Bl6BF#aK0Sj=XJDpm6i7uP6OC9&SZ4w7Dx{9@@iCE6|s zDyrcSazx6<1Q+O@~R`?J8Oa$4~ z0FF%e`cANGzvAVeW?eW(f`r#DaCqOc)j&{{#zw`D^W9=LSc9FHqdpKu;*sK@@L59F$gY+vliz z8qc`g8wJV*ykH5sh|#sj8xo=1o0aIOx8YqJpFrEh=Kmso!v)acT)RfowppJ&_(ZCI+ZGY)l7w@4?`~n}u0x=mWvE5-#SSk$Gwq zDi)PUTkCiLoQtzJ+6<>3{eqYMAH-e>;;>w@nlRSXOe>`Q)9t zG0?yH%y$!RkZs<|u+eV*0mlYd$i}hS)t2pQH!hMi?U6Jio@QF<$~G&;7Hcy;s(*1a z?9fB+4mj3VbN+#l#vtZm*&zgRZyyF69hl907cV7s&kz{tUHHcc#s(5Q_9KMweuuVr zZxBtMbT6)P`Zi`B8&l85KoLqbq=IvCkp&-4oq;n0H{mWL(!yG)=%fNxqmiL@fkWW* zju0539F!b9D_Cs{bmP`zoh_6aY4%Ju`-AtQ&5jPn?BaG@0Wa*P`~vR0H>N_gLWB$6 z1aAQ$Y~|Si0u4Z&1s*pG`dOcX)I6)-j^yB~sp%b@tQBEp#p7MXy<-!C@S#haPh!Rykx~}4MO=>h#>K+ zmIzAX=Lr;3QObhAkE~gghp>2ZPuwCSlB}>t*v(=f+)=j!&$!e>V;yx{@%%go(mpO4 zboo|SiJ*qTxYo}a=%_E^%Od;d`|*poeEh&voWI+);oR`3`iE}RwEfoSS^OTur?dho zfwq5O^9bfcxGK6#BzNFo!#~^_I`++qQ6t&u9cGPWs;Nl0E!GK}>yej4n|Be6`4pHB zp+w$?V!ZS%z;>zvYzBO$LDuE_+gM*d?ihOly0UPs-j^psc1RCx>{rw`z~b8!lTKM5 zfNcXrldup2q~EZSi}XNDV2O-l=-Kp7N2Bc_(}IC@2CuQfkjPaw|DjZ3yPlRh+3}*G zkh8 zDgc4kI0%t-tdi07fyWjzrd@2a}gV zv!lQh#%K%*Vj8C>TxtH|?|oju(&@MdSwzU(QTJ0m0ai%3Ab(*B4ol&SMG3-uUMJxM zTjk!30>wBk+ zf;j*RBE-$b2yT366oQ0CyO44?moF-E@~+Pbk>MIzw17~@M0_SVS8j4HEyLwpbtz@n(R3fE30rI%3m~oj0x=r}Mnh9&HgxL_Kb}JR9Dx-Rp(oI^0DtMC! zC8$zRhERo4`KeKb0v0WHqK@j4O7A9h*$D|~=r~b;+qE=r?yN=2X3d_rVBWH;Dbt-l zZ`mSOVWBgB@lxk3Kv6Jj>9TowMGIyvbruvYEm&OWN>9S+0qbsIgd|RUCV&YNihqXW zKzPbs5ML?u+=U=>sIYwPxJ{R3J#`mV@5bM8%mVFh3?KffJcH~$Ib`!uj3%t^1|>1>?Zk!^dQY(0=*F7V7` zwlrjm+{cSpTTUrkZOlIu&xaW6p2$1cpTqWnyKMe}Bl|7KJxx$$hhr}Dvq!;Z)Xc?y z=J5e&>pd-VhrupTXofo31PdQ73c{o3wFT~y_54*LLA@emX*Es_BQrwqM{kXtW1?62 zkY?`^q zf`!O}b7ADwUzZ8bO zf*tkTclOn> z5SW@84q2fk`{bYt0CfK$8$yi_88rxXUTSW~2`RJ!_2#hNXuez=@PGRTHg9mNF~G27 zTxvdd5bt@g*z>^JV8IdD*lI|dh-gWc z6E@nQrh;$i!SKg@6QA+zuBd^jHms7XIaR1gT4pIq)NF#)qK(vKh_0eA5N9Q_^dX?8 z0mTSt)<7V`jrEf%rq$39QNk3OGGN5wQK^;Fy%BcbD&5r1xj`aEYgO1xs-deIO|o_! ztPkA~2_9|9cHn>?N#QzuipcP^s)GOrN1Ldpiq@(XKRQxWA9%cYc9yKh3gWyWnruC^ zZ#>_USkjyV%(Z3E_s2G*(BUKyk&+@&HSTpK*cf3-&jL6SVdb%Of1mSUX^OlrVQW^(BH)+vEM=D_tl&v1kkt1_)Bj+Mz){Zs1S`H&LY_yoe|IXt# zt!Oe`v#Uw{V3zQ$hhwwZ^@MtRj6a@igE^0x1t5B1ixaCE=7Rw$G{y^C==NBn3@*!j zQ!~6JmWBAxJf`>LAm6T*7VbgYf(y3=U0cGFZ#Un2l~Y3sEi}LSz$y|(b-j>zI~IaL zTFBzf-MRUwtA*F3AFwcg3Mc@T`f+PFQ&ej<=-xV292j7dsZ2<7kvH_F6 zc~FUibR!bZwZrutG32j3s^P4NEb#t`?S+k>iN>3s9tDeh2{#;IXg5WN0;a#IXE#NM zutKs2Jp3|m|C>OKBb*$akFNeaH`R#+>F3}rh#l0Oa3vQ58&0%4dX(1o&De8^x@`g1 z6Lda!>tDH0L8Rq)cKmi=WPQeN{`hmY;T!ZwcnTlPA%9eeox(_SAZp#sa8^2u4-}M- zI9gt6R<(dyR2g>=PrPNOWC9Plkg{~tf1-mG=;qdapABwuA{H(_L5idfZ+#x4HZXEia)&4GJ2lYWJsM^bPM{I!Q6A_ei& zfa{=4qCUbk3m*)+4mU1~iODW%SwB4H)j&}TR+zAH#C(I3+;s%wCFnX5TzFVi3${`D zfc^~OM15Pw{p{S6`+oKF&#Jb6d*2&bjd=+LW(+17*tL|V{RODlzyUQ$(DL%w@o+K0 zh$(2T@EM#PIaa+VjN1I?4}52w!@e|UqUS}T>Q$L}_Kts&PmK0Jxj7l%6hyv7#~gVN zq0j$Am5u50ZKJXNcSzHirx%!G*%-LHz#S4@%0m-gD(z&Y|D`I0{ic0H*Ed_`m5E|Z zBOdCdU%DDC%jf31vKaRwEM8pLB?3i)tx+8gw5lATUFLf@18^~Ia@2o;S!F>pcs*z! zoGg8}BucvzrQL~W_iW7U=O-Z=D*;F1x6HzNs1|6uDzF9xTz9GV3#?e058sMHB5O|s z_ft`_`MM~O**nUF&MGv2fe{Xrfu{?s@fY+lV`?pDQEURWEj zTh;D-%1)SJ5X7}}H=&Z%{T}kh>6TnDwkK@B#p#i-LD!~XhoQJ!>W|y^} za&^a>Y@{%xP##+-`r3u&_kPRycbAlX^5%fKr@S4=+JNzd)fM9@J~Ezs3a=b;--cH; zp5kE(oMRBGIIdQ)dT;&{bDU_U8tAgH(F)s|7*zq+mS~CtRtiYacrkpCVj@#ORElQv z%?D+XAPZ%rH5%?DHfO2R9d(knu=QYFZZY@nlF{R@-6G0>Tg>n6k)4PV5WfN)U1+XX z0Uh__4Py?7T8G1xHR84)Q1yTuCBLNyn$dTs>j7?-ADlrKWbFEI5p3CgoFVs#8tloQR{!n`#quPQd8=eNgSyGLx{c45qB0bLxkMpq~o z^ANr{3t`K%*>xB3NVx-l?OoIm+=4W&Z8(Wzf;GU0!nP}>ukikZk=_gP0>#_*WSvIP zj=nM;#t^tM3jRwe#1z1l(L;X_vNUx7U>L=L8xh!dP(g`U8_dUFQo9K?As#C*R|r}k z0s28lo?|5(&4hQVgt!23$LwJ7_FjD)_|<(w_O8R&$DqrW6o!#_SA;yPTLVc~ ze{EB5a~H7{O&A`4^t+GO5!kxL%1XDn?$;cPM@*0W9yRT)7|N#*I&XaF)(9uhIxDz( zPhx#fKI%|*@|mmenZdmp{uB){I-m^JI&V;Cz0v9%p=|y^@dzfeyEv+#$zF;d+Fxu& zm*Ezu+10Khy1C*hqV_R~YL%Tt?^uk;-qmMqIjBvKnnXiSL- zv|wRQfXeBeauwBL*d_o6{+Z3(TDq5KB)=0#SrKv_D zo>HxYLfwPlv{}u$gUy-VEKZ8tEyC>m<{?5OQHn*@=S<$`Abo?yG?O#sn8=y3$2Yai zsPJu!t+cL;i@Lp;zKwCE^pAd=1UxTB@klzF7jcZz={KF0be~S(?@C1Upa_+R#|A48 zsdvePs7#giQk6EQPj&EDf1H%EtQW^gaZ`87oA@;M#ZdgyqzX`h7>&XL)nmRcsFv#{ z-VC}O^;=aE4u|1_KlHHOv%VfE+;oT|B3Wn>>ItafBJmF}{tb*Lsc)bp3F{%O<-uVj z7J{+CrMftlb8OpB_i>qTNt*0bhyRD*RMD?Rf$p1r1_<$Lyyt-e$WE>PsKdaERfhj& z$S|D+F#|THJl?zxJ*r9%%*F{72R7D(i|g68?AV%f@#Alb56rf~!H8~N-9ND&JV$7l z?3ne#Aq@y2;aku6TJt6ynsY`trsECST!FYG3L7Y!5l?d$W)Dn958&>)$Gid)ByeDS zF?h*$%UqE?ul_AeYwYkn=2_RHT`yP^TsxK3TH%4Z*>wyB(I%Y(_ozfO$bw^B3UK&< z|8Cir+8a2_T00iV)-U}$bqwx0T%8lB1cQsd2Ds1Z^woAw0Bv2{c>!pl+Ro9A`s+{- zIv7){3#$y{jmtA%Wi4|#uuuqmx8e>Nk7Etn6`0WSJOPHfUcD_1CIsYFGhU^8B~?!r zti=xOjR~m~j=Fyd$UP(#cnt3{^DEeot>_7B%V~}B7U+1Oy|Ez9vf2*SK-j))jT&p0 zc5u%$^U+PRJlX{I1hjZ8>{s@-cPvh|Y%g3gb&fWw@jceah3^UEO_IE7brq6!fq**3 zu;qc1D$iq$ct`+Ep5NP?*3d-}j4>xM1-}_U@2Q(@*!N;t33s%i@scmn{2nui* zLQb4JIR|9!fMzt$#RW3()OTQ*GBBi2x*%|Md8b=erdy$n3bUUigS=yi#lTCmzsb;a zJJxs%sJ7^UYU?wg%q?>U_RhSTk-f9dtK$v_BYj|G=6y&N)+4f3_T^*4$Qo5H9d*+< z&~V=jD->svWIa>8`!`{Z!eko!d)q<@NC3~z!f4icn+Ss{agdG2rD@%LMBl=m@07kF zDGRPiu&YFKB(VmRhT|jam?hmkzh8NXmHNS>dSUj-yzbn<-%n>c6&RciFM2RM0jKM* zj*!XRxRgajH`%glY?uwOD|PHak|?(9;vO%Q6JAnpQ2p=t2pbPTg}Q3+?2dQkg;_IU zZvhr<>YEV~VPHpDq8o9a1@o!OeiE+}Pq2(clS)w@=-RTAlEZ28T1bWUOJ=c3xmUsV zlDme=g=KmA8F1Y1C#6Mm;hFgRM-y;8%~fn<|c^%7v=~^5pYDC zbCV?_j+j50S$K+wr+rG>ox$Xq+35p&NL4|36}}3w4?|sJwVK&1EV#*`h|9 zI1TB7)y|;N1d0w1IKFh;%__wf%21e*Fo(WC$T5W=EslDMQou)J`y6$@!8=eP6rkN4 zC%h1{!OxRGY1~paZVnn}@zhao=w{EI3_WW#*T928R}0(IfTLd7ne{wNc-VwY9c6}RxzWBc571o6}&xXI@E9wD_oM-1Rd)lOrv$S~KQ zy^s=C1WB6tJ0>fZWXYj?Ntla-v@h?yEK+_V%6I(1bp#E)5Edl?rbtPk8jL}C^mMYE zd!A)=*r8kD-P5;=swyCmjo~tC;KN)I=);=TM!k(;FB@tivKyIpu&@aTywns{zg~rgV$HF#Laau7`U|}1JQNqfO`bwbpT5q1kmL1Gs6x z=rh_*srSgPchpTno@Uokc8PQr!I-OeXb8q1`ap#K2g?1*5$v7V!$=w1d|By^x_kR1 zvG*o{UqeZgUDW2Sh!k;(_#hk@#lVVq5#1-`fsQya?bS9643>434eXC2*dgCOjhH`k%8Xo>Z>n=iopVWF1NL-W_!lDA1u#=90EjZChy1_^%r~tN)pv_Qq za2*M}6ErZHTfTvxN1Te!GV}vd%0aOy(yT!iiqI_53DU0Y;wG;VNf5zNpLPRBL8GO? zHaIKJxY{>;u;#tI(K{F(P{HKr-#5r4eWP#{tUdhA$imH-Ad5$6u_X;ZR$pTX^P-F^ zoV7|h>bs#(A)%aryD9z-`$V9y>TCYZ2<#wm>e~s5&~o>LrQ3SqalBn@|BS*-UZ=To zJZG9|rh`S$=zgLvEhqM*D3j2W4R9K8m+|$f2Q6(%UG)qT@oHovSZP-TUbrIj#n51} zMzRG51`u)Y#*ls1L-v^o>r$hU7Nly=mSf*!tIGJbwC2k43&CoRg92afnyL)yzgl&B#LWm>;q#Cz0yrvD4<`Jol%Qspw9s7VA5+M z285ZA5u_{{-~!^*{u9CPbJV?sBp^7LlFA)-K7a=T3};(-dK#S>=2_i0{j3#+e{|OG+SQbnW7yY!08X*70OwIv5^YXZh>Rtc_ocLg;xUjeP|C9;aY;p%vUJC z-9FxB<_7kIoe3Fta6V2d1^x!21^eCYUym9#KXMzXf5xXn^r#ouoGX(JAj2R zj**6i_ALv0GQ%`pll7tkoCZRvk(bHm`Qg+1PlflnR#67n%zCi=Tq7-#xs ztbjHB8BQG6W(@EqN+KgJKlG-*8;pB@H!RXX2-tXe5jz^I8(g*A45RPxZWtTr8ruR3 zeVaS@P_Wc|>5uGSY%*pApRTe6rqV#0y`vgnW51%^XV`zSI$P*N%Qg*`o&bz{y%Pty z_HK|<=qGfckWPo<{0Xrb) zuKCZ%&Stm$h-=Lm?CX~dc^@8m8HgY?I2CdLjJ7!`DQX}p!=#&eB0Y|Rm}Vb=4j zz=20&oeS+7IzpznBRYG5h9EosG)W(V1H~GUaCdmZIAq9sJzV}NG`WeR+w?S<5YU(Z zebS9{n?ByuiJ34{`oM^GkK~}H{=isrb}$G)H%J#gk&75BI_8&5?XxF2`|M*bfbc5! zhAT6zKkjC?ph6+*7%&4-cz`nQ<=iG8MgVQx&_j}U*eduNw|VVo1*rX96=)gJAx~6I z(WdIZLh!!={}KI?(7_aNx^Uq*F%GL}t zEtu zo7Oj;A&sFm9wLJ1h2L)GS~i1y0d-X%Om?JFvEb$^)Qn}Ve4gM!(9B*6L~cYh!w$$Q z7mXd%!Hsai50MSW4(Y->k4mqp<4zqDNxQK^>JdO-fS~Zg{=N~g@xkkzp@C#5VOu`{ zj*!zXYN9&4h3Y$^!NqVvpd_Fj;!ySDz?KqBI~R^P9oE3#G9#}azXEeh9h(m-D~VIzguxMHPtHvIhPe8CSkBEiW5 zJ6xMd|MWD}&+buTXraM4?pvn9F|h5rIOSCWL)}bD#d@)s$FH~C`ps8ZFPx<7gFrL% zWe20S{m|P_kBpNg1@}@Afn};^u~caqh!=q&^D{;O`&&b(3jK99C2)uy5LH8Qd`(~C zqR&q0Q?4d5DCoWGHFTLpuiUw6{o)=b?_+c5(^w|}I!TRQL2hrEoqKX0Mf<#sDDA;i zDz`%Dz+gD+cZcqS0BNv!tB()*Nv!hl-!J3fZ8T8^@^o&)(+~w9)RBzP=X#1*WeonU zdFx2_K=U?LB{RTQ6oaXp~)(0|T1!Hj|AOw61Na>0&fX%qqI z;=)jICNGMu9O+cVojT(iizMV&C@QJAt`(>CePoS7EvZ`3irVEm;*$EHEMGW=f8#FY zeHFD5STq+XSiPby0A$5J(rr6K#GEE71ynOvP#K@}2djjBzAsQkgih%=j!x#_?)}cn zJCd}>dK!BL*)??IPHGLZkk`ZL zA&UDlQ3--=B{r`)eNg^a*rc%Ue@Bzn7x72Inud0{55yJ%SBJ$8Kle7h4?yVM-P`nQ zJjswKSN-0m14uwu7Fj2u;0-{qd5w?HcJwomaiyEujF*34M(JXKsuLHupZ^|TeIqiGGe zO~abXh%Da5i%_-fxq$0|+>#8l_h;9NG7t7=9sTc(%yPH*_eoLy{I93QA#hwrAO?a! zc`%Ra7huyd*IjPiVW1fXYjAZMY9BI}DVHNbj?w_ZsL7&*muN5aaC6p+gX>@_l%&D; zJMJO-?hnVki8SoYWHBEQOre9y0na75DMGQZ6R;QmV15Io?^*r!aXutJ7(_%^#VL#A zQ{<7&&mUy-BYPhSBV^<1Lm*GO9SgtUZG4@BN#``Mug>Tks`j?0FbRc9kDUc~(p%6G zyE*t|G%DQ`IsX5+pQX~zDS6R2CBv)%RIFdoZ{HUw7;#MzO!*0jKr`<1Fi3{C>0->5 zhN|56`w-dpx2ZWqj%9s-W0Ioj!#`qAal-+WuLWTx;}CCE8O5XVJQe2bed@T&uH&by zY;Lv7P4~D{>k4f}m#%FtpFBa(mHeQoK=b z<3G?ZGM>LYt$_DJ`e%)bHS9&hkvEVBb)d8p*F;T>Q%H3XCwp~!Y%c?&;@Gy~G$uJt zqstJ^QWptn#;AlFbumaWXL|-?m;4Tn2vmhmDX8z>m?BsBgQvrcP`SdoSH1-a_qBkV z$1zlS#0tzr0inIN;?eRnHLul{ zaX7`Ly$_#Kpk}i8WwGLJ)!rg&Db5o1A_$~oqS5K9CVzFrUhAVq+yLw9rru(d*zL(X$wLJ%As zgxI^tYW*9}GdE zmI+MYi}l5ge591m%h$Uaz;h`>LDnCE3|3BOYSKF(EOi^?eF&5+;^A^@z}rIK*o(4k zU@sbpgrzLJ1wj8FegILBD2H2i=J*+M@T!_}Dk!+$FXj0aae7>Vqx@P%mjY7O{cfMK zAM)#XlokGaZMmf#wP6el7$7sxx&`%#LT}T%^}|`?4^YNB@?KzY%A-3kv}S3Yiu7+P?mbd z1|Uw940)Zt3FB@bkEk`xT_5f+nD5KT$19k}AH-Cq<}?H|m>Rv-jAka-5;in1vY&qg z+2aO|6aGG#@Q(0@avOE^XWr*JYmi_7L}_=VT<`WCbx8N>>G6DdJst4BtfP?dHW`FH96adgh=j zElX5EP9#%n;TR&j8}Arzz=F}Nw>732njF!Fnc?8Hr0nFyu7gDb6wC-n)oUfIDaPfa zr=Bzo0d7}RAEJ~Vv9uE?f$z!tFoT-n@7wSw7{qcH)oVq@2W5m4qCn9t_L(cc93Q&i zIN6<_uu=??4(__)YYUk7N)aFA%Axf*ko^t0tYTD+xKmKQois*=W(*XklU5X8^GOWc94U_mVpJc_?o#@8`UZ8uwwlAIt)ObdM))rW;= zy2`B0c9M%pU$6^pW1&BM4Vm}j4pMTITbn?+^iHda4lc8b6N`>9PK92BHKX!jaZ!y7 z5?JDJ4&O-0$*0LuiTh?NkMjjm!V~uOKlw&pD;y%=S2|AL2&X+WiD}MnEMKll4|Qch zuG*H8ZVSZi9ht3-w=IoV1-w!?!AU`VD|BU?E?l@@(3re(tCj#LovHofvG{7Jun{Z@g$i@odG z&KG0^>Y1sVnHrEu;CGWQt_1v!UhgO^YgBGEwt^h%P}c+*)2;TH+S*C&xIOE<9*`yI zCAHgnNxi_B8oT&S;m-<&vj$v#$}bA?qLM*c_HN^cq}EWYE7Z}OeZZ(ZkB{R=TYbQoMuO zVo(Dm46@*J(O-!Hx*SJa7UmTqhG8V-^WH{oD`0p39w#ntKCy0)5B*AB+o6WUdo?iF zq){Mlz=V-e-8vVTP_~UwXaKHWYV25<6u1}XOY60S209YJ#ehd^pm^6qn0eo~LJpRh zCPMJoEf13(2sS`feee-SM{GD2i#+EW*s8?!rlHP_SeWH!40x$kP}=2fq6ZJBF{O7U zjoIjf6Go^|L(d6&R6j^cw7mF@_HTy^79RFCegUmH74(Cr&nn+C0Ghm$le|q2s;&vC z_EQIZz`hjFU|TRY!*Xw8cjcjxky##UM4gqLL~y_JJS7elXQ1pa4eDwLFYsjN;=3R==bp=A=t&Q=VH z{0fNX+X?5_(r*yb0M&cpa(stJv!gZ-WJH+)2?-`QF zx6b)!lWfjy{RP?cT07TZqmStTO(3r(lp~5+Z-bb zQsVNcU+n+@uaFJ^)Ya?<205aIE04wL&6X{|=-~A&m@fMj)Ngbg94bAdYUMN@pz4Ji*yP^|5N5fD ziL4(pF$B}S!B*A}u&c&Gfn+Ft6$6l7$F>*-ZKqHWSy7obgX>1KVpu`Ugszo6}htuaWPYx;L3OE)w*!4QpgFo3td);Gxm zoe(HDeiQkz87Rp=p=1Bm6JD1B9Y*65nsuNg6_Ot4Th3jMU4ZrFzKPI)PeWKiMLvbk zIT%L`;$F7f@ch_ZOv7v*S|>bby?KP=?lSgKEQj_zrf1hQ!}Gip@W7L7sPM=1WA~@; zX<9MV(L#m0FxwVjvME^CTx)z(lmO!gVPYiSU4iizeG>_zSU&e!H^A6{@|_lcTC=~q zg#~+?XJ$C|QmJ2v#g6yQ7n3MRr5Mn>wz3MY4`Fn~o9We}O+atkb^4t#Pj?c({B-Ss zSXA?v@s*fRjrJj$nvWsp8G4PO;rSkG-6p{Y-3uiCHW40=4jw zM&jaXj|j-K!OA4CE)5fhyP!^j*t)|-0@f#lHje~|ubUbj2(n+ML}cbnA^x5x@ogs5 z(cGa8TVbzuNvxj1svckG#S)tr29L2%cKq_m2|?9ySto5wjt(qheT?b-^@dH5duGvv zs{@=J-#f9Siv5dn=29xCjf(GkWQ}4R_3Md}zueDhs^X}>8>{ewGkZJ8?rX!Qi)oSL z?+#37`3JE7<_2aHq{Ty`YtyaaeP-A=<7Yvc;S0A`9mq1=4C+#!}T zV&&>oxs}=?gmbcnCP^(Qnkvhf@-c{SVC{cHcWsIJv^CW$#QR}i*b#zI7r&^`tXNPh zE=X+$Zen}rTe|`Vg9sga4}_JuSBvh3Q-Q{r1wEvdh+;@x8KhUkd)%GS1%gP^Q6`Bi zp{UvuJ}p;zF4XA|EunZ3=%d`B6h-dpNM|PxCWo+);rNl`r-{c_JmKfj zHa{_l^qusv4*mXhbcY<4tUDXljnIOVY(n)mu0<-f>bK)Ek|)-{*A9SQ--hH-(fR(Z z1Uo%45Bcz~&A*F3k+(p&sGoR#jKgF4cOhzrQTl`=BGQVJIP(5bJvhS!a8gZOIzQUa z05Dse@(2@i8_Pq7)xWF2bHDd~?%QdE@dWHS5eYA9EIeYWJpNrdp8IitX>V&{83H0& zA!BxpHT5U@r3e{W;2e=*SOisTraT$`r!ng;GyUxa{;l5oHGyYqHqOKTBj&=bVT9OQ zcqCN+H1t2=l?JNub+_V64ucab60Cp1)E}igK;QwM0*=%b$oHOv&ppPzvs+8qka?RZ zwndyh^s=;lvgZNKMigF(O&;`f$+zyD{m} zR72>CZ7*%c}bVJ9(yJM_MzOh1P~ z=yX3b*#81Pk-(rR2?E18t8^z#1pJ2(NX#tVWiC8`hZg_S&C*qS<}Pf7yEOz76h}2X zDHq$x!^kYz_`d+k;AzXDvY+4?_+_O+USW2vVLb?_X&bXO;if~#0O8uqTM-P9?*u(K zH?aggBMORaI+AQ8SGzu7;j*YoR85^$o8ERB2vVU?xT15rU0`OY%Gu_+pO6bi4;A=# zc^|wEklF4S)qI7QqsTvT!i)Fz7d-F9`dYe^XU-oXEmXe;lUQ~8JIv$Xd2s3oP{RSI zlQM%iPR_*Rw5&jjrlQpe%{db!EOT&R)X*FZ0oN=1~p?(A| z`2sJJ=~O@(s+i7P+?s*uwE2$_KLT!Aq|hbLJ4B%5mEcLzfm@WF3K}2low0vH?Wne^|7l;#_6%a7o z?oqQTgD%{SJ>`Q<21lIEwzIQxg$1{!#yfrUvRTwPRdVe79&P|m5n)g`zmk3YjIn{~ z7ljKyze{$9;JphRVwgl?_(DC20mctU3;eyhdv6CQ0=GbWBls;3{Dt%}W1T}ExnC9f z=rh+MS8;_h7h1Siu&1BX00bLp)@vIQ8yKV-NU`g`=%=Xv_*$p_Uw%c^&(-Q;P4^P; z_g30~tJmLRddYGgEVQ>7@oU5|ryh>cz1EWr7$t>!;Wg&M4uA)?7+KEgf(;&hpTED5 z&G9OIh68dYLG}V<3Rijq*ATuLG5B(A_+T{RREX=v$Z%CB`GvPJ11}1jN**jqI|D;q zep%2y*aFhjXMH8=K;$$tlZ&Jd84V+j?A~kR~$= zJGj=wT81UAj6V{cODR+{SGZy)j1n5sB&CJ7IrX9ZSx&! zNZt*Of%vANC~fTs1?GJ&=hTi3qI{`?1CliBW>o-wbfTrlu;+U=f%jj9b2OGktOIK= zwH?Pr{d;7XL_M*Tl#Hui z>0qn5@MUbl6 z15VGko&Y20+jT&aWd(&& z>a(f^@wh?C#w1t(f203N_#NjF^-Q{g8;U{UNq(CatuTihzvJ~SnHootJ0rO=b z(yf2*7XV>20N&YI@#=9`GEOWvS<~VLIN0g-#8qp8GzXT2o7t#5J17uL#`biw1vX_q zbT|TUn-lH_6UF`{3Bq^5`EKc^N+bJJ8$?yB1EkbC&92Nwz3d$ANyvS- z+6SUhHDcNDA7*1;jrA^5b;JSS%!9-hIY_9U3pq(Y?Pa6@@*<(TG{B%S>NAy zi@+rO?J^9F(x%87l?|UnnOW23XZ!fKc+Rw$<#?Rx%PiDzx2^}ZskQg`##AvW)wjF` z>3Gyejb4Kw->_*>Up8z&>7se8qiCK}hh&^zR6drO>vGx5O#cGrnHkHXl@}ocKjv2B z`XR=4|HRMo+*Pa9U@pi-*TxiOUX6OR-1RE`OVf&qa@R}M zsXz{9S3KML+~Bf1bC+XMXJ*YW&Gy;vTJ9>AovIQuueNi{@h{F@B^6!oQ;7-Htx!p7 z*qr*9i-2&3^nv4^HDnr2^PJ49kjZI~Tn1GqHisO=xtuy>^ZjM>=M^E;Q|{TZdRoS_ zA$ApF1D)OunpVKAs$7@5etmAOkY~9tn}oK>ML@~&5pH=`tgfog5kv~KBWaNMfZzPs1^ zY7nHP#&rPB}!E*mINYm?v~C;%d28G)GCb7CRinB}Va&nxt~ zjY$Anx?DJ6h!s6mti~Z#g{KlR{ug6s$2>k&fO79}X zg`#s!oO|I3QmoE~$>n7jpF8s)0@!;1wlfepCn!zZsXL;y0u~_*^ zci>@G{44|vymGf~)TrBJ*AGv@taZ{0Xq4e2ctOAAZ4t19_Ir?||9S6iv5&afuj~8q z)vf#p2W_*U95!zu&a;rQiCL#U7OF~DK)4JEC+w6RO)V&U^_m-9&`ARDmydQ8m~N584wUQk`nFi9_cTXTKr!cj2CLFp4)6 z;uaeb6CqZ8F*N0fjQ3Dzl_ZG)ZZZHybN4u3Ep;?5c4;p~fA3 zfWkgh%yBQ%BUC~XvCQ->P;ZzGH>9}w7NW?9s;dwMb*VptC@c^K^awx{Flloc?U2i! z4>i`^Y{xckc!+j-r|W}4?pBitUqFi?KzyzWLwAt+e|*5aD~4FtbrE3~)k^@p@Am_4 zvRc${}cXFZ2z(T;Y{QzxYt$tCVr#it(WnImr*a^*O~gUHi3j^DoMx) z21*56OifDOtVfs#%+S*|I$h`5_g@20J$ej>iGM?w4lh?&}z2yhC<0a=U*qw{8Bu;5cX0%yoDM@HVujeDgc+>>wWOQFkQoy9kyW@#s`Qq z>piS?d>&)2f_Q^I;}i1+j5$?lpG1Lj>wP~h%FJs)kZ{X!4Ecs(f}kb0F&U2Qj7j0j zZmAPGlRWUu@h|ev(aKBwbLMDc?_9BZEaX}EC-hKZM*t4I^C#X+K2c^xZlQWN4QroZ z{O;c&-7;{27CPXQ_4Xp(tfT}!Wcrtpj>`u4c{`BK_z3B7KJ0U14_{<6T-fHYJYIDZsCT$8i|CKxP-ZS6Pbg?Gwk@@T7eNF2`{r z0!|1vkSS~cirzblDk*q*=u~oWMCjB2 zZ_^SKDz_SxIV+cmIjjW^u%~&xI|x|wHWnaZ^CyJL+c*}_Ey z@5c04?$m~Yu^Wdp6y$FjScI1K-?I58DDwhb*p?kLM{dSmV>!4av{`V=g0TY%;I%wB zPlijGQypm;z(66iKA9vwFU9PJ+2PL9_?7XS&*+1_(RmV^oou*CFe;%JCM_d00H_CA zRvolCh8B+`OP~NOvK<_%4vcTp?cfVE!NBOz$NCBHgV!J>PCMSFLGn&JIbrqBEG4UN zw`s*D1THv5cCSyUUgt@#kKiUUkPG7GUGMH&S@eiN19WsLXt+3Xv-T?iqZ9~g%U7g_f%qRv#880~dA9<}}0uO6`3qT&x?a{vbSRztzy;1|5F zCKo|<;*wC$7lIdtdZy@u#O+Pz1)-kF`UedKQ-T9wmjXkTqP*yQs}3q+T-V;4%ZV1% zljb&TjQWEA#NWZekIJobe%}v&!DOfKl^TWC5ptFp(6OWwqh8B^K7+b@vdwsH=XMA@ z4cD>Ns}Z0&7!N?6kcbdwaQ=q721vQ?xre^nAfBq!`i(rjOb=EgJjjaW)OLrf2eg5_ zd>mCLA=6SdZL$V^+);H?d^iR|w;mT*qeqXb%O;Lw?QpluR2$(zYww6=HoZ?BQYaO> z@jng!Gw|Ps|5^Ay4*w_NzqWS*a>3`!-a`K7YI{rg`$cW~(ufvrITBwBx6jmbRI1NW8C{!lKZt}}0T?*aT8=0Wp;os&9( zgP})sQv6!N4Kc=Y`26TvS70kEn}^CG7h?K5)u=iK?fE_%PT8{)KV{7QEOTFh+|jl0 z|9Lw{5iJ%hbq6ouM7|Kofgdr?f8$_@wK($cr`M@;-dTJyfJT&a)DgQE1SjN5(KDDlfdEi;0|(X5=2Qy9s( zP_`Q7RwdGvV+>RPkDgS;UsD-Fx^e>29XY++J25c$iSW#lk_k+hA`yAA~HZOYff2@i2@j!Q_|nY;POv-U>zsV5Lktw#d7P} zd>%-NCu@cNw4?}0bkI<)Bb6p4+O zfQHv`oO}jQX!{3Tu(9Hoh){+Ik>64tf1_(cAcAbQC!w|AF7n zpm*7i4-(8Bk#XPpXBl@4H?bP5i=i_Z=%*c+m;sd|<*?~8_Dd|BE(GT5mt21;F2ar{ zRs+Iw1_j%=J=ZEGF6S?71`qmAWFGYYP0>cP|L+I=A7vjzND7I5d=ed#+3DEEb~u7U zNC|<~W^JZ1 zQ68py%yEWrcC*$KI_NSclH1>8O+t1<^7b38H?bXM&dq6$RT1rCgJAujhv35gCu7K2Wc>iPe+2(OnIGV*&543P)Fu0Nt|7fNv8$&UM?1bTM4Y$jpgb`q*voiQ zqnuDRci!&{uRkQuIwM&YXmu|a%@ zRe4`@Ff}JLC_+R;l)?-q7G?}a^ox3IC@yzCT_~T@_$inw;?*=7=&^Bzr9yOI@nKaG zYY7E0#Z^vN_*oy!C)%j?{4Nf`KpW*uHp4xwZ^^0>tSOH8%!e)!|DmozZs&58BAaZqI)b2$4vkL z4d}?9$Rr`U$nmFf1@L$G4;hxYG<<>Np{qpB+01u1@&HRyz4Iu4$XZJ++)Nad_O5}6 z+);j|GaNDibhrpcs)VhLFj*ZK? z>hH6w1OJ`u8m5;ZE&BvgT^CCmNjk!sAw>cT9fG4IpdG=pj5q#;=EQ{*7;=vl=_2~* zDgb;7%tUb8W4#$mmhncg5E~tA`cN5O(L4qM{w-BbFe{P*R)!wyF{f~bAS^uuSF4+b zNky61cP0CKgCoJd%wA5g9;-@a2gM1F4|r&{5ccCPZR$;m!s(-?X*mX3!p9}U%_#Oo z;mSR7ZkNNU7E@5+Qw=u8E7obS2iM?%oj*!>MZ0qu&bQ0%sni@DBCTpgZC!9}b!~+f z`%{O+)fIK{p1=AojXyQo%IX!XHCVr@wyIXFg1tC$@n;M*KW#lEt**K@s8!dlxC`0q z0+p*)*>fz-nPZd_QbPMRP?JsAam$WFpu_H%#O(v)Em8xgWj9rvdql+1Sy|I=K!Jvo&rZl+NM(l8S zPdK|o3w0s>w$Tpl{&3}SC5cvt9<63YO(nyVr622uX+u9 zzOSe_O^y;vjmu8#4|LYXdz~6qguS#DH`)5Q6xC0i;@C<)$`J7`L zoEwZ;jmm0QEQc90s5DkN>%N2JdR43m(D}cT+X?H600gI1gop-rSJwHKA-F;17)8lA z-$O|$*1E<(um5_fQ59P5SkM>NoXuUw@nBC0Wf=*Mt!yZlK+_((716YBNp5bU0(L_| zw(dFDGzX7aojk;==lkHwB7N;r+}1(1v&HzAFzj5gJSl9Ie2B?qj5zN!&%`LPQdyZ{T(OvHpURM$<^-*vqR5 zQySUc2+3qy$}XP&@ehTq^FxmH1XIvf!ISG)?PZ(yYux7}XkT>Q%(fM0GLm?TCLO>b`cW@rkFx`JP0o`1Vv@D!RNFzLg& zhp-;LNP2B220PnQ2)Do|`J(#efx}3#0sH*3|PsU3)JA zz;QZ%;Um^_o77|bm3f744zIq+CjOBf$j5+4SdzTB$y);gjC@t9(pu)Ldz(RPv!j`h z4aC%%fd5nRe-8dH#{UZZufhKf_@9OUAiuR07>Qf~26uT4sIC)toZ8AEfo48W=CdpC zD4%oroE~_b&sXx<6L^--7xLL1*vn@Q1Hd|fXB$I*|3due2GdPyvuF5#q*!dG-c$hzSw zng3BqR-h}$y$@!frf8V;m0KCe7I{CN;|4*PJ#;d~^7pTqsitSkz{#@0=#US6k>e@j z!&ELoy6Z*+uT=B1VbW+36Ae?dwBSjO#M&3tFWsVxfHZhz;B8P!U#9;{P@whHbYZu! zrjs0j|7M~giEc#|_OzOKf++E!cGWPpbBz!@3E&`s|36^=U|K)0|3VTS*!4zh1CN_c zQvtX_QI4Rn_aC*f`o#+1r$l zibAi*?gy?Egm$ed$B?MHKOdDucN44DOgu)0ozIT{zozHg9eN&*?Uq+}ztje*#%ATE zU*dOuKji(B8x)C*LYG-0Rh4i9R#iq3{8q{45RDp$86v}LEVs$M%({jNLL_k>47OYb zf+Jg=09+6U4l@Qhq<04RJ`!KR#F#;k@#54(UOYkSz%+s%0v?v&3%EH(0tx_gH)-gg z3r^vLW=*M2crz=GjppN+yJwE(T4XW(jUduU1*jlix2h{npQ9zCO?;%!Mb>rnWZpCm zACze-I|({e0N5Pv0bE^a#m4R|78eF6ZdDrhG4CrZtLYobF4zfkLa0F64c-|`Fr<49 zpHrQkJWyZZa5)BQPvEzxqS$p7jUM!nkq8g;55#^;$sP1!$6A`JA&U}Y`poRqLm@_eSdrbGY5p{a9SJNKTs zcAf>UJNtvHRKW!-+6=wd;_#EVE0V)BoLXl67gPPsaqjYKNob_5SyXRUWu+1s=lB1_ zO86K$FwU;{SC?_HnyohZZH#=y^S?b_FZMrPH%^X?7jvlbnkb2VS?upWbWjt=!!IO_ zgX%ESMrVw{QPaZy25dkZ%dG#L!m?zovH|6T7Q8g7H}pAteEnz~Z=P_|2IN9BP@JOp|7@( zMHdsa`2PKg$Rq(H2FKJG9A(xX_?vS|*m~cx?N8Vku{s;H%VHozKB9-7|5ZM+uz$LI z?z$LVGKZqeCnfQJhmV{Et`Ysgm7?H^^N|;hJ2a8VN1l>YuBv^w$%6^W!c)}gs=hfk zS}H+K(CRV+0`xQ3&bWlL`y`ua7enYnwo@j*jgb-9OgZP(v>1$_+eC6p#_V^92mX5z zgLqKC6#d~5=2Lvm6L}Gt{x{d3C;O+Hdnd-|hB*}7R7zrBes-Q5ztLRS z2n|eqmpw#pmvgF;UGPFn$&Yjdc~ob?%lcMsu&S@yl|u(3aF7WPsJiJF3nR(X2>D=m zNh94(YD(G!S8^gxD7P{v#fLX04S2_C8C=8*rOwqZ`n5VDH=92z+>dTRYW zGZLZkt&-x1gk+GtGoyvlx72jO1wyA{l!0D!BivMhvSpTM3>28;S#3ChN1OgRFtIsd zXSboe^-TxL$T$G?zqk+D(LWvjeSC}#nM2Xx?3&+*phObA1$mu>}a zcqXjGZ+~aP@8>Brsxx5{&V*7z&V*7%A+}Mn^+oKs_Z`Gy)jTT_<4D&eznc6!e4$k2 zVc-OZjRAUpxcu-}iMTv%+Wai>BdSR1w~A*HbM@U97_m=@`vP2XQmBVb(GpC0hf6!t z*xNJ@BYoOQfoFs=h_E6TL9UK}G5-IagCD!IFUe=}xn%MX(iDwc)Q-;kDxz+BlJ&ta z@-Bux;a{WxHUEv^dC@SlqF8~HS@X--<63Agpv*ue%uyBPU_&S}R{4~=azG%8$xr?O z400nb`#STN3ApWxn3~w9{t+|d8WfeC7&W|d0h+S#ar&JBp^@TKcE5l9`TchNi~Syp z&biL$w|#*2Ka?X!Yg}*$j&XF8>?8VM!1zT12KYTVB#zh9cDGAndHY969{5fiCAa`O zgGQ7XB^!bv<*hXQ?KI?)dr{H#5L?Vrk9l#?N-bP81flR|Vanm&7HkBpW{9yb`)x#_ zRz4_uxa`>4yL5-A_l8|_LxoKnpc4e8<(K#yONXw%IVTMk0X=K|#@oqwgg@kld|xo7 zA%CzwzE8fwG~+#HKC8k4KslfGOYuhU*YrmdUKI@9MiUUW%#Jpfo@n@ImhL|2@5)y9 zXkGP)2Zg{&A3*K^)i>x*VOf?taq8<0n_PNAA6O*oy8YgzC(l;;kEIr^y^cbit!z(1 z7t`lPgIf@#+a1lbCSlV-r+7&y%(&foa=(NaRIQF>pndO8`?Qtt`wwjU-G~9ThHMau z4c>bR7Icl=p()KQOuL{A=u=jpLojBj2EA|R2S9DxOj7aL+erIT-0mx*9>opo*1uwxOInBCSx=d&q>y8~A5q0J|*)#oH7ZDVu!hiHd;Vro)rvNXS)iLi5G z)7JTMAh28NNlsxZ6>AnE*2amLsS{OH-&Q8P+w2?%T}eJTkmmqAiR}${M1;Nxax$oJ z^uS-8_*;Z7@D1Yr;}6Y zKmsel3JD`PFm#_A+U6isXjLFwbWXV||22Ir6vC<9fy^D4e=P%{un7^}9Vky?&cx8vYTCE1N3wbQ3Chq z6j_3$^za9jM1IHz7FCsL`ae*MxA7UI8B30_Mp#Qt4k~M@f6#CDF-A1%Nm?@)dUj(G zz^(Ksbd0bCf%R0wq}*Udlr#63b-%QDEbu(Wp6}-mB}H&M1$V8-tPf>UbRbR}&BQ^# zg%1e59<%-oi4NupCPjh&Xx(seKYIdZ5mHOLd~^}UrnxpP2W!#Gk^+CvnhQ~pIF=*b z|N3g_GOLmn+FTE?rzakH!Mmc+r)QfM)DWK);113}~H zt`hqB_(=(U(3^e4sO+)Bj+*Ef77}rNngukFaA@SnFk5iz&X4eCXp}0j&HBS}xZ6$t zVJI1zOT_=NS|b}EHL;ECXWSd$koAI=zZy7sM@|SxjJBuT(G1kC?p?DMpo(= z!rYI+{|>_x6W*ii+mTh+2|^0?SdW0d1l)5HT~)DeGj^D{BuHfk4t#mJFu&}(&W0>h_>>mR32k@^f%*n1&{7m!(Fso}peEWtF{}RT1YPTEa<3hS z9%xq-as;nW)$T~uMpfH-T@T>{w>%Q7tuBNwyuxV=s9;0w}~Bqgua6hX?XhcVk;B=UMc`c81LklKa;C*gN|9qQxpU^~9G z`JZ5xu>WPmstC1CMyQG~yx#h^n0(EGM|^o0hvR}gT#2o;JV4#KK^~xkwgDCLHsA>Y zwtlGq*3`P8cx559otXA(q}f_Y-bNpK5;|3=Uj<0(AAR-L1d~f)|6o$9`)R9V31|S5 zA{yyJPMp6eTr%~oX8jhK?OVc&)4~gPs8ABFwTlm(8W5u7lr z1D9|eXtsjW0FXE}6`km3cut&yG|-B|4{+RIP41f_!gnkGw8S8wLg0o_Yaz-216u$u zCU>-*Qu|5Ztgt_M+PWMaFpi2J9Aq}bEQJkaA;NQ<+?RyTcpDj)C+dG9@*ICrqzei% zU;^I`;I)sfE%(PTFvE^OF?Gg(?Kz#NFYLlzFWGpj2vN&*&x>9(an_RqHq~HdwJIl8 z?a#@nEA8_5)jr|~+sm%U(Kqi7{nM)>B&(-k-Oya!*RXC_wLSv-gN6;spXTam_=#5Q ziYO5_Q`W@q5*`@OKePwmS7Q2E`;f}CR_{Yp!dh7v_8%xi z95f7^%(Fs$qvU(s$+uy(ljrK&V|i{Nxh=9@xYcGF2WR9Q@fC$W8M5XdQT^q>(9zUi zJW^(T;bObl8>PAoOqa`@>fVhvIb@Ob$6JV=&J1jasl&I(I)Vg4p7;DW5JW!>w=acV z$g&{93e^Ou=c?CL!m_zeuc?7*b!COGs&ZLSudSS{bZXH%!JpWEkdAt@kOcQSXR#xD zO>HP*@rT26E=H8X;NbkXcuvh0z2wWVAH6pzOFyq+eKcDiQXa?}1Kt_A>@>S-U!!9vai6x63Ey@ePC_0n2ukY7ZZDf}wfnf9@|4Z>bR5=?P(2(IjhxM0Z%-Mr z;R^Hn37OK2agLFzf@M*8-p7tHA-x9O0+jM(a(}A5_f^jE#}0``#TptMf^ly{_cL2h z;8-phORsg!DFA{ApN>UH;vl~R!b4u}4H!1F>D^6(gpqd+psyeVo5qOAIM}p)C1@9u za3K5&$v*M*{lRK|d0?_{nhKSrY*#C)p=J#2e4j*c)9ftNl=iJqAC_U|UbO<=Z&fiT zi}PEm0&Yo(zLn7+naNJh>B}k*&<$j>+PA#A0zsi_tM5UrOI66OrP4I?omH9mxYoPl z_`KQj2ruikCdh^fCkchk-{UnAn-e!fWtKA)0|<-}p(B6~MsC80_PEwAg|f0|T#_~k z|3~A$5C8AL{}TL1?m!QQp>ryEdvD+pIIHNKpq{VCv-QnOA4Cxbz4`;8X31ZIYOdypYihO%d5EejEv+oZ$PMpXd%FM>m zlSj+!+;#&!=7JA4=NIK4UHeZCDwk|jjyvD)XlTb`-=pm74b8*w9warL# zajHgBNS2$09@%ER;cOYz%|e_S)Ry2tBG!vCYab?dWH&14J5-?!TM(1+8Um6>DPbPZ z`G90t2=1j);GnF;)we)&#uis+4eDWTlsXe$8&Kmd<2CF&U>1;)!nrq!FriTPKI4!e z%9t_2ZBF>bXp9Y-N6V#<*~VUh7Iz#5N5F=5!2=e-8qDpG(Lv**&3|A6AR;gSip*0E^DdhHdvm zW)hoMK~Nh&!zei+F;F+&Qb>6Gx1FTameP&COc3hBN+kS@`vES2UqH*;M$s2bDk7ic zsiHtx*p;6n#JFCea$k>UYJq_4ec;ci&b*Z1Gh=!_w`^L{yRdOOy+r>0+7H2Hq?bR& z0>Ql)j)OWxLGJiOL&Myg;cTL^(s*+{1d?Z9N+Dp8^)h(AGf8^srHWmR0}2+>Hsb-v ze~=4No6h`d4wo@_Gg*Ga>5p+N_x;IZEO;Qz5F~S58o-4<*3EwKv0XR@4DGPSb6ck9 z1ac$U%Z8nq@wc}uv)(dhTn>g$rXf^^)Q%+K9*RpwIstirbH+MFqJW@Zg!lIY zbO=lF7e5xiqhvj95UhgIt~EvBkP3+uPRE1EfJ?rmIaN@RwksZ&Yq+hy?~pHCr(qRjc$2ifi0 znH0H@=i9JJ4C10_-#tAZwP-`I7NLuuzUySR2pz-zl=c|d38>*V4xv6Z)Dakq$#)04$jAtj z4}QWSKN?>rxT%*p=O6$Bj-2D_ZVJ0D4yRA$Rs;Sk3-fXi^SN-mxgpPGY#8stuN%K^ zb3vZ0&P=YyKzAVkd$@2Op0|?|8Z%yX8#BJ<>MR2=3DC>#1(_4_Bgt*d+2fYq(>`G% zV+@!27VL2)>_5&471?U@M&t4XznF}R%p;C|9y#%2|DYT&a#WDUttO4YJ=QxInaF-7 zhNiS~{s%9RQ-pgP-@qLHgWteD&YZlev)G-bH^YpSMzt{I(>9|;@QJk}S^EZ#yJE@k zouGRn#jK5E>e;+ck#P6Ed%8UiAHZUHt8oyvI_835u7ZW#Yl>lU%~A49g~v|NJ0>FB z;I+9#WzXC&%#{P{)D5X{DA{eGNPN)CtY^BhH0$mN5AQKh7c{fl;D?C`03M4Ch7wCC z{_-CYR)O;1&PZWTo+GcOR|G6BxRii*KFotBkqDeNN|^%P9lX!}g7S;3wYb>tT!FrJ z&k`>6R!4!~Q+I(pBT-(xp)X;DWCJ(Z4RG~>kx%FNKKa(9;85DBq6kY_2#C-`I+`G? zdp-hm*bi9ob%M#?g}PM;MG=Rg5%w561=0{q{`n#|#RZAqmcFFr-3{%w40 zn3NjyY@Whgv)@b7Y9F?9NV`%P7p-x4&~-ZBKz}VaP=E~?W5V6QRC6dRF@|R0uM}*U zG&wlzB_>7(m;>;ppWGwRz(1H4jpd(oj`^b#S=jo)XiclyJ{pf0jB{znE~lehb4uIaOOb85Lpvo%IFn{OFE`@BlwW{K_sCWe_TRnW>{__#Fn-Dc>C-?|FAMY#u|$KvsWO||@udpqqpB&|RQ;z= zL+4V^RD-|arY?D2g}<_z4q^d3pdcBR;12eFZouRP%iloBF%WjTFgf3Pc z+dw8bSF7P^-YMj$8!u9XawW3aMc8kg6)wh@nXjlavHsY>W$n(M_VJ9)0{ES1v&xY1 z!kY|@(ZsGq-oh+EJ7J+og#>BFe1-UM;6xC-1$f0Wnt!PNk~plY7)w5>abux(#2? zC}#Y|e1#tp$Urp+-v1d@>TO*6-<~e&0x5ZKV#32eqtPDzb_ptz9YXAk{u3KK-Cbpz zaqq*s{5;7)Hv-m!s1Zj+EE&A~KT84qh;v$%Hbg!TXl^Y6ecHnRm}?~C=f;wr+0;kc zm=*S1){wtg_ZjU!;ok1?lRULGyf&`+Jh-Anwpo&I)4SZ|D8Z?@Ak!6|k?ARe?`+R} zD}v)VCft4vX>O*uRhZj1ob=Q3|9X&}|FrbY(6f+w0RQH$M!*7oNFB4%mm!RRK&v2c zZQ4!dw2|}(>N5O$I;rf3FG=1XL3p$WkI|$y{|hLHL*_32(5u8j|5m*2RIktA^=TB! zI0*S_X)CP0!%Kb>s(%^Wf%ioS9Xm$PKq=NE+XB1cH5Wnxi?2EQ>L}u~JK&tx2b>E~ z!|CuuOJD9RP&JS9Hr#PUO9C-xA02+EIVtLYh(elZ>8`|zJ@JZ%oKdgT`K;>o2MV@aNU2YQ?VS1+_O}-JA5!v3 zRiPQ{?B>%d{7je-+A`MN*3MbP_1KLi(%5it?H(nHl zv48194f*51V}ZBQ9Sm5!Dbi5?H1zZM43`4HX`9@MqZgo`N7c_3_0y$(PN<)5_0yw% zdikSht4#$nkG#$#Qdje!;CORr_luD9mp;1jDl@zRjNg9Ffzz~p`Pyzrdq?S_1a zG{?)q=Z3nuo;`-M1mxcZU8BzOZJt)j>K=^-54oZf4#~Ysw{@drf-A5FV<8lh*@|_( zDmWkKmqy-;Z*=m|b-r1;#nc}SPZ(zCTLg@xaET3t-S?>fQJ4vX+RV}&1*Og2N1!5! zd%Q<+)5Lyla^U;^=yQPYdy=Uye6^}z48HfAJg37aQRTm2cYI6Vj^C45ND<^kn8%=_ z${QIXk{vlqcFk_6 z->L;~JNa(sV$?HsBmd@ant#y$3|w0647-L*nE-${L1PXtAdx-cIn&yW(w<4U5nA zp&*&l`H0N-Z#C3E1G=6v0C&7>G5O?@ou+?F4&v0J8O8wE+4OP!0(eyhLFNC=`!M%a z;nJgu6vIop6d6S)^1Jo;9PTwpSLNl_L)g=oTep{>WhtFqx)UbA1*JPT{k$_sc>FtZ zpo@ZLg6^mxr8a-cUU?tE{W9bhJNdG43R^2}U{iWSfJxSPHlsJ7jVx*76gFF|=RXhg zIH0o`Rnw-!n_nR`*Pzs+1hgR|ud#RdBq-Q{HMT7w zujKy`^2OG4Qk%bV**AZ`siFP}@t7zRIxKnJ3K&`9uzI8q z2&QiW<)-v6Gm`cUkHD@23U{FK0;liu@kF;sP}$g<+$ty$#yL$z|NTqL65(ChWzyK zO?&|#t2*iLawX}>$@B@_q1+padIj#1uzxzn^S1vOgz$3pz907;Xflf5yjI+KtiF47 z_1e`wI4-NM)#l<-9dGbZ2W_}I+`Pkm*s4ljb*&Gc@G6%Ft83TCzSPuKFR!et(`K!P zE4x~~hAI|y>+7I?;ak28?(1faofoTB)m2fsX2o);4UYC|S$10OUGOyz|75}HYTv4A zIL-5~tAx+8>RR}iw@dR1UZ8+SvpW@J%L9nxSzEc9u-t<7i$ zOe~1D0YXF8R@c>yvA@Dm{@pQ*s5Aj#Spvdl(I;9Qf3sFQx(UkPo2ndfVu@%tkgHl% zy;fTQe83a`dS7)-e@12aD7eX+S(QLBDkP(T~MJW4x}IwuH-5Os+wiM_o~V& zj4J!jZfdhut*X2WN{)4vm3PBE__B&I)vH&nSM{jzi?`11)oIgftM3LB;uf!T8PqKu zS9K^}2d8*y^rTTFRO_{9v;q|ia+j^ChDW>#=_UOq#)le%#~i@Unq@0ivHx1JjENrNu7QR1cpMg(Gl!gv>^I;1ouIJL|uSaQ5B*;sNsX9<*w zk7vXDf?iXxe08@BWb~Bdh@L_{C}9Eu4()4`Z9O*C_ zLJWF$=URcW$8?8&pTvt|M!xC-fY3;Y;))0WmG(qx!536tR2Sf)y0jbc3J3^ncHBjO zrpLin$a(-9gvM+dt`?=0GKn5@Jo*MUSdovg#DMWv0`TGJ`4kJJ zeMVo0GR_&@C~Zs%vwf^Dt@Fv5?Z%DLU19&uGP-$pTYGUx#|bTh{VV_3!(Wn?T#{~t z%TPMBEl-2qF zeNPf#fXGCN8WA)qC>UfD6bQ%?0=Ptx$l{WYA(-YKR_dKu1ymIFL+}C~fSP7*g0 zaKmwi+D*(cA;cbIdk^U-PsR3MB|#DbCof8F>iC2!@^6Q%>b>TD{~S{8 zzkGUodbxI1`k}3snkpt0H6Rr=xQ*)si3zJm%4Kt6a9fOeXX>V0_JxTz+BsxX9aK8e z14?9+f6@k3Ex-<&Y+P&3aEh#qNcQ{C!+xyQsW_8rDsWo?^P_cZ3m^*tC+x7SoZhHQ z8CSv9g|6Ed5;n`eV&|i*U%)w&H)ylohNHCT^FF@$&G$T>tp-=~{PG8ws6RjCIqG^H zpV{VVce8n6XMFAS@51rd{&4#n3GYViPvkimGZ(X-@Proif1?S156>&0x7y-UjeW5< z)nG;SI>?)#1M{Ur0h&3TK=9#9u}*bHFAv%JDAlwU7qk*x=2>r#_Q-w@%zux)hbn$vaf$w zJ$1b@HLxzdmS~c%e%#A>$@QVEoptF|Laa;QtRCtNhge`V9=+SsH($OZ_JZb)1jaW`?Vr@AYtsZjv z-1pTC-B2Xem7)h(<51mTs^Va!XWP5A%?>$YfAg?(YMH8DYQ_O4!<1#63sQWpwLjxG zcpEDq`(|MR8UFw&4s9_Ti`t6ZdMqc`>R!13a!0Ss z;90`aO+-X@6#*z#W%?oGQIZakLm_U!X^IL}RxCu?S*RdUc~!imYk!zkDL*U}-P3ml z@x1n_>3V#Ct*haJ<#4TeK*desE!&Hf?li2V36%gTbP*V5J5yD~@}CrDAfXkYYMg-x zsvT(oLZ1qpwT9~E>Quxk{uiw?p?B@|Md^Q->yzYhq=W2>RkuMJPGcfEm4$IHW2K$* z8p8Le$TB@M6@nJ?)fj2i0?}Zsmc&Js7-5#gS4a27e2+GxLEWy^MDC zq6S_i$ssleye(@E)viui+i{j^Fj>?E@=ivz{xQd~s?c9$xh&sZTc(mDveytFCTw@D zeTS@X+9#EoO{olX)i_5+I7?;+YuYC4S~7}L+GEyK`*YW&IVz?*K-aEIi>a6{v{~!Y zVk@S{g2o~DGZ>h#YiUEUCQjyg#910&hEIq1g^c#*IOlMQvWh<0*n9`swJlbxiX1P? z2CV7Ynk2$<_{Y*2io!tFOsw;?bu;plym zpOcZuVriE02DsY%bQW-T=$ENFtfFKQ<00-+Rm&6ty~*Ze=|>qpF?T;Li3$HvtUX8w zoEw}xRMqG~;gbcZkLOHJ@;*rtde04WakkVNM$c+}Sz`FwxRlev(-P$l)cDl&L%wr4 z$RV^>y{h?+h`J9onK{8>yHElsC9VoL-t`OveO9Q+FMF?BBsxux^8@?1fq3cJ!!COA zM43BezD<^D4MLCMdPepivwOmkBDXUWjiz*|L6WvsnQLoB*&yCYOx3yEsab7HVp)4S zjGf!i9l>w=EIFM6BG{MQD!Pq~*2=Mcxy6rLaoM8cvevOFzO|y?RJ^)8@C8mnC~4(@ zh)mjF(+(3>3mVf`q(K_(%!GHB^g;U~CzP}_XQ*62k)f8;${wkRiYf~pl^&m!kB27w zXUPfCY-%2;;x9Q9s@ExuR1S1ffUzlA@no^uJUvwJtRY6OEz@WS=XJE%eku`iN${}r zwg86?aB@R(N>*EHR)p)3I)Wd@Q7Up>?TPIfhnmU7gTpcoxzs_fj4x8S-NUSqRO?-W z2L~$!N}_7VXA|l%3X}|VFmPVgj$LclQ3Og^C3jw|S;3n+USdtDqQjz5WhLt7?OH3V zxwPUcgoT{iax9+q&*C zWgESmd(ji=>Qr?Ef7w2+wzc<^->~>Wt~RnKM7OdgCs{&Xo7DRUb!fy?X-G#QdkOZd zYKpk6+F7vh5b{L5a@a!Prs4|cwAiG=nFNjMUK4dzyxQ|m-Q6bvN#!BB2RaLesA^5% zKFVW4{Sx6{!{}36)Vzf3`roHZiQH%uy8|7>N$N3NT&jWQ;xCNXT}eE<8waJ%Yb?Eh zfK(`|mNv4vP--dp6IK_w2Vg>BF>fv8rUqu#GdK-BjhVLyaF;m;25 z>g4vL;n}URjQeIEQY#+jMy~rB;YV%*Kz);-?XPxP4y<8^HJ_)L8%H0NOHYOQ$)YXx zp-WS@_lwdt=(J$pWr;yKawAM`$uTLewW~qjD+Z{&lf757gOV%`T*bxZSMNw~vsm2P ze?i0}XL6Zk!4n}nG9!mCBCmW2q1zJS#pTktdw7GFCpn`&jH~Oh7s2AbM-VQC(ee`F z{C#wUQ;14tJQi#~_?NKi|>Fu4CB&*)^P6|(sswouFZp(9^Dr7Ym9-A%*d9u0RMPF5NF`Bw7-tvC|Q&KL(t{>no(6&b|I()tbLfWGdFyba$5qy8ZbK zulOpqj$7$ObX4AmWX9=J(ZmsS;un8Bvg^{&>rW$#^pW?_F2-N~xiZu;OqAZ_+YfXT zu)84|@wPw`Y=N9WAPEu(4yf*jLoF(83+5a9;OpC5Jy%UUM34GxW}XzuYK0iS(*f$s1y#YLcoY#~cG;!o-3q zc_nl2mVF+wG|J*$G~0N(RmD%@u?``p%t@$B#W2L-v?sO2$-1d$LZ(_|2Rd6Ec3F_9_XMc*-_S<>2k4;mfFID<%|Rel5n^`GBg}?tFRLL{#_-nmaz|AO=FqkYF-iHn1RC?JYhzRmDwAW z8F58lTiAKv+S2QA`7Q9_WWVcWdCn3_TugG{aQT!A(4=Vj3gvnEl$5~qSqJ^c%enwj|zrQ{7HjabU4RdBio>H{9xpO#MXn+bZL5E*HW#p>O>w3+aG{W!J z*Pn`F#rV{qT>_KXXOWeWU207$DdoA`x(xf51q!TbfyGv)r^LD{$Iq!|~-@_UVZ| z3VO-)lGNo^dyiUly^RE^TciB+IKkPKoC3l)O4R}uQDpV zjiHTn=~DSl=^ENZX(Rvp@S5H}E)RJ$IGkKgwe01UYSsK>dV!< z=f`MIk{Fv#gS_Ii@XYwxQLmHoXF3yD^~~W*H_wcl#3S~M;AGi++#cu=89;`_4w5(a zE%NIK^q(L38lvP8XCJKI-tr%W3^ikIWPRBW#VBv<6=ZO@_uALWWXw1~I&+JeZ;8tN zM~=#3l=QYOl$*ST79_ng6S(^8RiuCAcsALseZQ<{Wm+t!sRccU7#F69ICv;<;_9#4 z*X(z!Jb87Eb=#n$=yg`tlCi%YK0~X zV*R~eQJF_PUXg4I4U!Cu9^6KYNL(v9$X=#Zr@kU69E;otb7Djnj%C!k@-q>~XC)xO zP7Te9w}s9!yY$vAlCzRP7T3-~@6fhol1cHbxX`I}vyyqULhL-%JBk!vjbl4mNB%1{ z8w*fJr;L+AKxrUal*lic%n@z6Y)LKFCDR_2p->=87FKk{`bGpRjoU}a`JyI|51!su`$@t4P!^{(U4Q*oGJ zI;+>VUvnMXd!$O_9k_)y)%3N}6LB6g_8wOiM)xW6q&i3sxngkAtKvyrFA;zlka7}< zrS{}(gbG=HU0WQQPsbWQJxwTaF|mQeqj#52xFFE;RdKDTil4{%PkTl9d1c%$WI5$E z(;Kvl*to#K{4XT?%O^|>j2ON9hdH@<+oZ~|qinJ0S=UP<9g4V~*+H+LwViG^4hc3k zaCY$4#QCdE3Qvy@R__mAmL!|ggRMPRj)mu>OpjkSyg3Pby#uEx8y|JrSalLzcK^}U z;>*gu{5n_lsFFaoYk65jifdTfaRZXdp!KvOitePjvt7?@tBiBbxjNDltMttX!K%KP z_NEjfZK)aYuHXP6s)b2wf@jYAPLph~EWA0-3ItX8I)tjzh3N*HQ< z!if9MU*UTh`iF$dv7<$>NXbI2nUFa@@{SI6!k0^THV34yX!+A~$Joh7mv+m%Ao3Wl=kb8}&4WX%M=($UC$Zo5ynTano*S zxQwSYr#OA)PEwStRRrF1(=s7dga2dVkXQKVo@}^j#WTZM{c_6#`q}KLa z=c?#8b6wvG*Q|=zH0`KKNr{@*Bb=V3H$%|l>NRb$2H=eLCGn9(jG^a8Zs0dF@)S8P zW&0DYGfiH=8Dr8h9VHmG6$VZwdkHg`1!zRsdQ{oxSi2QxF#I}zHcsyZO1LQ@;;qr+ zQ|Zi3$c$WtRjGJ{4}W+^oyUbt7#bit!M)duRM;WcseSALvnNSn3=5ZaF#H8?W2@`g zc~&wjHsd6OG^Q}5FW6U?Cb~*gme6-^c>AuF55CpsU-g=+|z(4f>vM`Q)?mwIlu)QtNFp zyoqBxaSth>6hYn=hS0zI4*J!7#c%9)_g9qb7|EdfedMTEI zY5Vdwk*!jRJO@QU(_tvFg40w(AJlx76l!7U+*e?NK>tKd{esnUt0t`qz*W?jNiBhX zhqsmcC&-j>xlB-IUM-Vbk#uAj;?lOWOwKC1Lce^v@-!X4KH55GSE#nSsyRjEmGNp!OSLS*^WlBK_3|CvMrc+Q5jVDnzKU zCITE&P4u=i)E(Tby0M4x9V!vn9(vbAz^Nk8YL9@iLY5vEfq$w9a9185IwSB;6@l%c zy`eAEkX;H{)lGBnHA?t!mduwRUat1EviQqdok8v9M#YQ-$+Op~i>`ZWyrDO}!B1!p z0oudt2LM3Z>1Ves^-ti>;NI+n~3_G2e2{ z;3RJ<%C;43N{r%FV}OZJou!FU#HF3r3{HR+=j)^7j%H4_ll7*Gw#4ZB;6HGE(+&~ZDd&StX6I99e)%fM4C z#Y-h=I$O6vokqoX-e4`!{LISq$ehSFAkp-OGrsVqW*pU7$U(b?6Goz(unT8AQDs$< zXp_&cEZb+V4rPZb104=4%OaJ5eNk^*TeFS|+j4E4*MgRPTkxB)tMY^2oVk)YzJqGf z{z3AM&bAR|a~ce$Fw((s4!+gco4FEbtnl5-Vg_{(%b_Leih8E1I4Mk~fLdj(udK3- zI5L=Zk?(R2`$0!Wt2eY)*ngL_yvw?&N)IcRJLHeqYW%3{+Hob76s>U3&s12IVBi?O zSEBR$nBwaw?nx~YcU@~$k-U=Ltt`cGmAef}LOXASgRS{fhjvmGwv8 zQkMgqhMJ(tdpEC?_bW2csZ2jmC%J6}tJ^MLerWXjl`@%GJ-R*g?lg8cR%S#(8MWbz zYS)WIqSp1|i6Z?co*AlH{SjQva$IpweNBXdt8&b!tZ$dyfwh&l#DoI1vw|@D9k^7l z)tqA)yYk7=@3XTse9go4HJ>Ipu31};B>8R6mCb}Y?+^R*_Q~`Bi$J)+K28;Z)V;WKN^AZJl9y0?O`~^7@A^ zFKscSc3pa{DwtGbopKp zq^9&ub#it|Ms0iVaNl7p?w3UfQYV&km`?5V;5V@=_lb-8%B-Ech8~go-Vwr>t%7lC z%h-uod0_>3H^^6do->srDl4ip+{;v7`L*gmD4D(?pk~NP0ue9_Pt|ncsdbVs zR;VTPP4mbF^Ho`tNiPdm3s#Q{#frT7*Y++vCZHl=4sGd-gPLj|Og(TAwi1*agnzvFYS{u+VJ3e!U*ilt)3=K3YG+ob+1SZ1j;JmZA*{_> zku3ZEvQX_Ogj^waoL%r!Vx1Ch|GMg0Y$I>?do)Q&c?0=HzizXQ+!1nwu8!08&S)Q( zh?Vwn3G%B~>byuQ)#*OeWZm(JCcvT_X*=?s^dG008eDlZd{jJ8c(py>mV8*%h z8W0Xi26-A)^=Ry<9`Cb&O)d67Y0W=-0oCH5WP)U-I5dyjOa|(h&86i;s|pze)^%kf z$M&ljO9HhgksivqY?(baIg$3jfk=d0)PB@MTK~-XEs|tEege zXjyertn+o{J}PU!tpsFAle1!%e6BxM;x6Cct9pMAZzxh7iFIysy|67RbVKTtt&=!4 zQAymZl|<}%VS7!Z6PgI^+e07LeC`aj9w&s;aLCv!yFAH4EHqTAslRSAcz|I7GDQ|0UU;WKd ztgS*Dvg#aTnaqsWA^e_Cl;2?S?Gc4T4ZCz2IuaY&OKIXHp(Eo>E)aP~bz?6Rs49e5 zXM?;tL$6CV_b}Of4g z`Q4id!{||kR;CiLQAs)9D3^J0wI;7hR(HQq{`hdx!|FDDIRZm&EU5Jjp|@fO$+u(e z`FrW5VsXRX3cVLIQWZ3_3O!^;_}x0CPRnf8cY4itv{&EzU1aS4IgRwonW$Zvom2KRoTGQE z2=z7CYsIv**{cb3$MNIVXd!HdoNWdtrY^{Kti1~7pAI3r_12&P~^;m zYDhr-4yfxXJ&2({)2zCBnY^0UDlihIstsrD4VNWV zPC7GGwuie5*2p%<@HlnYM_|v&*l=Lau)v;BOA14?lhvsm@!P^TY-8)-POg{X)CVhY zMth*4J+QN#+cUYTX>F6rP?o%fxX`B*&ocIfvl?X?XI6_5usQ||C{<+$$vFpaQ=_7y zllT^y9Q8+uKPrcHIFWOrUv!uxyXzTKi{e59QfN6);gcObnRhxGY)*>9x(QMB8DFBBa!G zXJA-6dK0-IDbyBD-E8BIC&qo1=`HNYIfRiGt;%Z`N`boc+7l)1wTY|CTI8^cvQu74 zr#{7U*lR}Z+SgXGgtAs@pjwT~+N2AZ?LU$}PV|pGZ{bBi3KZkgn2URwMezg zooQT6FvJP(Qb&gcoRzd7VL?j0utyq#te-w04$T!-b?J@rhUaQQVX^?+yVjgVuMsS3 zX>+YV6_lFM;<}@sCRwiaGWIn#S=cAqq`jf~*(vEQvbr{-1&v01s6ICRU}}2p%1I1M zQ#0zz(BIUjWYnrLF~3Yx;;hkd3^qUUIaZOdKP;m$1urrV%KjNCfc8MW<{tASGZ5|A z{lh?^Bd%%E7BluvsBu-wSg1X{Wk=7^J7zjY7~io-&9}H$FC&Q~f*YHDMNXQOH-*7F zdXCc8>m^e;iTuc3j@4h4_mcD#DN-u?hRMOQB;;V3Bv>V+5rV{#IxBIEGWp7xF>@ln zrkG_t^Aq@|uA91O$IKXxEk`vbX_jExGxjxwcnZ{<))jab=8&kUqy(s#ct2mqoJ*t#ER7zSCJb_F^{JTmFmFv?Xk)V7Z?U8+9|BPT4=& z`B9uhm0r{m_Y$)}k|~FPOG*y+{u9-L;lB7usO>XW$IVoEHPLvaqoM=a_rn6xUU8JL zW5w#Y*Z_T0qpUqWrdjkhMcTaEhduKf%b-#2$83@<>z!?&cd#tU zT1kh@+VWcN%(GXLc3A}7QIVxWOD{M-vO+DO7#M7g;U)`eEY+1NGOBAK9GoRl>Lv%t z-2la#Ag7wQ?BA19H$Dj{@bf|;Kpo@!jGz0^f%{0-j5YVZ@d znUj<)R9?%<7Gqz19K}cNWIW$>;R!|M^-R%r5jjx-f z^``z+Px)Xjo((0AzkQX-;?bESt3iE1IU ztZR_93UeZT)U=o^;t-mwVs2G4Y);lyF-jf1+sj%v)*)njxmeY;_96ULl<(fbhV`yH z*knHjTMK(>0W&t7mI!Z3&|54&WQ;EBN8?d4of3N2-_u)lqtzVetxC4My{9FyOXp0r zox|ZjH8@!|TA-SpoB609ZncrUB&@p^7Y1ApM&}N3)YL8`^V~5g3rA0iMY6UKo zXR;MI^Cm|)HYF`?j*i8XpG%A7qCr-0%I=P-%2T{#r9+RX@SN7~Jf`wIjuyvCeA$x9 zg2VxO@2QTBFI@vNe|5aOFu^oM7MW+CS7P2N>B%{%2L9JC$ZI z1=f3+OuQ)UbEfzbB#+XxhjKhwS|SUZ=64kATsQ|=I$?)eZ!g*jm9aWA)!H!9g|{$Z zAJ;C+p58;`lq8VqB?5Rdy>s8tAlVwJ?&F>;c~^hLrq9)1v+MJ`=&sK*qPsr%e9mP_-Xk@~Zu^wY z)oMSb96u75lHk8Nb)IadoYyvti%cN0EtHwX18OlpDhfuCJ=jBeidDflTc*wIyBofx zmi5(Zg14t}(n9DhcDAwukEtiM57TU-YmLp~jH!fB5^Hxz1zz5)Mo=CJZ+2X&bLmNJ zc^in#t`30;ZIek06PJUo7f$5Rk8j#pznSjj+GDlHj^@q12%!efhpm`*aGi{9^iI)9 zef-?7+vZw35N@Y~<2R~ZkY0%WIIJ0D&n$8T(N8u-etEY=4pZ!CPD8|Id!2ufl>daf zK)=igSExxHpal{i)w0;3;y=M~v+>^EJDShAX?VnQKYgQKC9Li`$Y)&^O|)YVd7W9X z7mGL470qe&>OIq$dPBY>PAslS8;}_}!aA@J&7vjP7|Xio1bU}X=0MOug_5ak*IWs0 zFEN8ROCPReC+1M#$4O+sK+>M<+A@A>`S?Wv2frz#v617ab@LgPTnUz-|i&-V9O{hEldvUdSQ`($b4iR#A4tLH`DLN&l9aTXfnEEmC8vuTah33$;ABye$N9OGT0mb}JG&tAGo_OfmhArk zU6$;MCyP3HA(MVt%>F9HPUu79>42@u)BaukJZZsvSrwYAbacwsed2Y0*});V&a@5N z?(fM$=H@?({;z}a9TOgNdCL;iHqy|SEKlu4=OpUw3T|$;w>8;6niBdCjUbkNsBaDX zYnp%HO^!^x^>T{R6tzj%y($wgRPxmqovU=DAC}Fni#Uftu}T`4H#j@VF(*={hC8gn zL~F0sRC>eg6%RI^C7rV$K0KWcF1q(nX_|wVCB=Ayi;|Acy*hFyGw}2(Qpcoiu>?rk z7Md3-+HBVA_6WB3UNT@#sP!djA}p%=PiQ+!m^sTpZHQ#qTx-R9)%#;A-nCwD*gq8g zR7KBF%hZlCDG*;}fAAjCtyx8X%_=r%R*}9_GD|)>*=GF$GSp69U>Id6^vwOg17+bX za-b3bjp9nqs7A7KZAm&D)Z3BN0n}n~iGyx^pcf@m>>T7g7Gd3umhAQgtPgU4~Iu)Lkn!eMu_C`Ga-}=*Z7LNGS zF)tr~zU%Jliu7t$Poe5#eZxlbTLejNYhO80v~J^|i31^U)hr(-tU4>4zA>D!kz=J) zY}g&g;ZitNxq-!1?lYQF@`U-XEd^bMkd%-9g-lpIG>fv5mUK$X=b4T!&BnVc5O5q{LwWpY}?&V_+gyC**&pI?ztQIo8yVn2>lEi(6FA$=hfiSyGA*~e}F zCbF?|rxQ_+weqs3EkA2)ccuhRv&F#mv$cF|`la}!n$!iZwfBQ4P7ZtMXhBOBHT&fI zw+Vrj_%SN5%=U3WqW_-0sN_%uh+tiWBe< zK=YS@4_=O3$zJ}uX|wEeOW!FccW3NuzTU8id$9xcC28M>+4bQcwJv>UMUPs#eb<(g z<)PcY!{2xHw#TsCEVFUulhO@`=j{xBbK}Z6!EH}Ycx%a}a0}NnUxws@?45Kd_EemB zTvqfW%xo=?W{#NN;s-cW+R z0VR446~~i}YWgis`J>-!XP)EH8r1`cul_g$#UbT#$WkAcos%Y+juqc|M?z2{g7u0x zmw_p3xMX9!9>AHmE~MQ6!VS-SYhI>wS}`!TFOi3ZQ>gEl;8q$Um<6 z)iy6s_I5JDf0uYEOD9VCq;FV9Brb$5p3U zSfx5yt~=zIa9gEGcCAhMVbS{`^;lK^HInt{JvWTr&3R5`8(vB#mTW$WGWnk<=Do=< zZ^gE=0>fQf=vVhCJNs%PJ*KLX+81m*lZ)@E--x3%Z|x7KZ|Hr^T27FF)f*;OS;BFc zyk@!9+$p)S%yB`WfB7X@{(iEzySHN16ML>4hb0}v%pVp8yGFAI5X#yo3qpw1 zyTOmnRMB~Bzr-ZXwdIrv@0EQR+!2dibx5c5>k_-Qo@jrVL`~|+|5Q-ImyazT z>Hl@n{S+iqb=zt_dL+%l)irjOC7e!mYHdX67FuJ26J?QQ+vPh9y0e z6SN!i**3_2r^9i*;`}|>9^O2@gAn6qP3Du$XQ}XvC8XS7^=mk2hHJE~;uHSKekt4U zgdIzRjOY-Ke*#C}pnm}YytO|LRfpCuyM7+cAyG^ea>Uokh>?(k;> z+Xt_j?b;F(6&zivpO`L`I0swdL#LEaynv?2$myRBzhnA>`Ew&TqAnnDNs|eG)shoC zqaXtPs^+taUeaV@RDR4iAvDWz3^7NTCyg#v(&G<`nJA(up`_m@iX8jYf9>HFeS$|F zRgs)btGFm+e9u;Vko7wT`o8d2T*9Ao}FJ70Z}J*`AdTm zgGqe$Sf6r@%?3_a(GsU7cnp2dadat^DFTgh+F$#iFw%< zjgNW1#XK9K+x=lFmHInyoP8PN$=_Y{sL}Y#dnQIgJU(51`N-eX*th$?M3b!+{I~xt zH7^H`3s=SflCI?A(k0fr%O9bS^cR+loK?6`{RzSLx2J(47)Z==%=&1e`2GsG4%1+x ziL>FA+VT14pP$U77E802bIAqQciikr_RFmp(R7X|4)~KtWG9a(C`uktoIE0je@sd8 z2ygO;naLwclSeG)WAX@J@`%jj5rxIMz~zO>BXT`h$V(oPU*yGE?vniE5q{4y^`l8S zOFfH{N2nhk_B;i6>yc_>ZT>s$6tfNUuE8JjwExNXLzq_cebC#TcnEkHM(j*B*zR^F zv`aBQ%o5B7%;T6hFb$Y*Fh?=N-XWhb^D)( zW?-(vxG@3Dt(XTfk7BlC>M>22&oHicY3G=6n2DI{F^e#_V#+bUz}$y<6SD_%`g_zH z%v4M|W)WsFCXBfY^Bm?S%mSC8H1UCnTnZ>nS;s1 zT#LC8Q;u1Oslsf7nTA=4S&jJv z<~d9Ra|mp4Lu(GlCdxIr(3|{2eV36 z9azF~VcrCbTN%>53zjfNc>f42VTrzq?cvIPfAGJ-5^f?U`gd{^@T?umISi8=)<};( zXJkpX&$l#}Z7Q5-&-RC?c}~sccQ~4=`~DAC$@k;`{)Jtk_8cE$UBP_Up$E8}fv5b* z??SK_Q-WECc>wb#%x28nm*6VHRKtF)J_?n0qn5!_;8j!hC{h#|%|5J@)4cuG5yxJu%6$HZpB3 zw|3dnB;}EdiBMq@&Vz6MjLRsdyR7ni@1tP8>S4Y9K&sS%3nWTIQB2D7iwXD)FE$!wx#XPs_XF1=? z+pCbL%-?;_#O|K-=IsUZ7e1Vt3a$LXH9aS9d$L!-AJ^O@?|IvXOqzT_+WjRPvgWGq z_y6ja$*aEj)rpUO@F#h1T=n1IOg{7T|IWMg-hava-Vay2KlxubmHqzx+XhYIJ<@l? ziI=QC#dqyxH=iT#jdv_hzhv8g+uqDx^K*H>?~8YCz2w5lo2TFU@n7V9!;u}EE;)MN z+rNGG)lcNT;`!DCms~PseZm=q11Iwy*?-Z1Dcj#l@tn3lPu?3c7R{M*U2f`!S5^K_ z-lu+a>zXN5XRK|$y6Q7|zwiG0Uz+m3{qpy0fjuLe*Dm=$9Ud#M(yUe zd5%5ztDED~_#m-%{?{_d4U&rjPWEVbe1kN>65X@!3t zRQk*iY2G&u?U~f?(*Hgb|LU`)!p>X!K7G@PlMnx4yXV)x7uJ2>?;d(JamDVR{4Qz8 zDZ-i?PA^GF8hqBMpX~m%{}kTyTBa;I{ZEr)KRNNKzn&)U4@`gVj6YV5wEjB2?;ze2 z9$MM+?0;YT%MHHwGn09rz2NJGL&mJitr>R7i|6oO?|k|9Lob;>r}QUd`oV>)P2T#W zDUbhlOVgNTKRKWGh2^JQJ@T`PH=ca?=qnfSp73<*V`CP7wtM}WaVL!Ced>Q*Uyb|4 zBfAehv^#Sw?-f@qnl&MN-nBI=pZ(>V4`2IG`T(&P-^1^SY{&56$3x!|0DczI6Mw*DdHbA#pbE zk=U!oXRKQORK_FizRP)^^Lg94Ig6`~eEz)aZ&&huW8m;VG8_K#SmJ|!Id?AaRbM?i zYQc3Ysx!TVFPz7F>+GdJz3zkcTTgq-v3()$;}?|g$+~vM!w+8hc+VSnPu{cb-0UqW zfA9O{*0pZl=Om^t&s|aW%dHQtty#o-%NhN4E?(C6?@wJ>+Q-X#dCibBZ?1alu~9V- z-kQ(*-np0EQsl1rRqn6<^P$M!d&iF1ev9YrKZV`R!(^DX>>pR19Qfd~nV+}4S?1$? z=)@-%FT4KUxaFx={bmX8{M{m7ec=zS~iji;Y~!m58hestO;C*4?9gWhng z1Nn?)h|Ud6S<AoI9l zM{v2p2f%k59Dgcn0BraPu*@kqH#w{q3?2%uGj?vo{vP>`8CC7DJ~DQOW2ep7X~0fj z;w0g=fCqxb&r#SJ2Nt)(aeIZqL%|+nzZ#8JiNUkME5PD*EN(-FUWHccUPB)b{V{{D z0RO?@O<wUsI)kle9o8;`Wu3$a2Fu!oFAbJ;14j*(x%S@FC-G-6xWB=3 z{_L<$2TOcbcqvPRpFsPSYH$S=Z?3`dh0KE(JcK<`N;#s6~fDF&|rr+_8?c}tm_H1xZn&ocNv z@bzHvvjIO#!2DZte#LyB!JF5zcEI3GLCVG8QI*Vt8eBp{dmb!tcnCkM!Q$sm{Cv~c zdFUa_ddG%8Hug7Q|4Tz(_y~^BF7s+7Y-G;Q;M_l0)&PUYZ?dfO3~v3SWnBoCa5v)5 zBttLwGYVpZp99}uaLIF)<*{L(!B0cK)rKn!9=?@1T7&1jLKp^b*v@>c4Zmt|`CnKs zV6d!Lc*ll621`6^iRTf6$3Mrm42VL%0er5(_kkxFT>HGkx(Y0L(sF>gV;jyhc4UsX z3@mvrbH9~_F7v(*+w4DY@D)wWtsDD|*ni*P1K=->o!S=WfZ?GM?!hlC>r{isAF`}u z8y;csCg{__IJcG&?&V;KPa;fduCcT5Tg%F_;hT;971+Pc(Bonq)_Q{va&qGR#!dx{ z?s2gAnS`HzFm}eC<*=T&;qAswGIsuI@Idf;#?Ics4(khpW&XF#hWp^Tq<1Iu{x&RI znNGF4r`vlcaL&dZW}H%_&${1euMXd%fb9xgNf%lL(ioX zx!d63lO5J0Hv9*$x`YJvGYqqPn=0!+3+8XolV$z!O(|eXR8grVeC|4=RJd~ z!3T|<0~w^CqrnmA zc{aSn;Dj4lGhxH)4W0r0ZX15g;EmZ1>nR(qGB`e$^%6GxH-k5O$sZd&VDQkz4(l@; zZZp`K=dgM(L#o;ixWB=<;L~k*m<^Ay;i(31yxC#Rw&D2(S3%FR;hPO^gzmTDpBj8k z0Wzlz|H@!lGw_HF{{bv@K<-QXlfid^Ujj=VlRMM48M<5z)nKq(1NC>Xq<0?|_3ktF z%Sp3Pu&Z!1(^0Vu~;Jx4x2FC|D-qeO?89W2} z)i&%lxC(l{4KD>ty5yReRfc}w63#oZ;rk6fxYS|&+J>JtxZrk&^_&fFGk68`dK-Ql zEO{%(uKv@|>#-vjw@G>he{FCC>|kM(&;`2;c2*$!+3;Y4heN->hEol`2Ksaxo?~zU z^o2I;HTW**B{sa$;3uG0*zmmuS3`fqhW}vjUg$5_aIL{D(BH7(_YLL*Eo;9Gw-`Je zdaDihWR-#B$u-bVu;J4UUIG1V8y;owL(ng_;dFy*pI3mU`SciZq|HvFW) za)8Y92FnpCTW$CagXQd!JqF7GCXEI^{h-78)P`FPPI#CBFN*}FZV2uNmN?596-frm zDHUfMJI-G-ZnEJC2Hy>Rh7Hd(cpvl|Z1^UFhd$!40yZ2pSgubF+wlDc%Q}e1ZTMM( z3!uMb!*vF4hQ8Z|8x0=y6k|ghK4Qa;lXO0mKg}9L8%{F#3Fyf-Ji_1x=o4*tHkcud zl}LTaG+6qh>kO7Qc%#9>>pTXp@6Wi{;3wdvYYdig!7mJ!xIJL7@Td(2Cj=eV69y;! z)L}hq@IvJItzg76>uGrPTZS%t=6!<`;m;o%9M8D_3xglRpKlF5)Xth(;wR}6UX*CC zbB<-54Ho}5;r~cOuf3AB!3IlvNi+C~D=h0WgPqH1FJOikmh3&qGxYdrtgSV8CvI;u zcrSUf7A#>sM_9iCi(5HO^-*Kz23AWwYp~RrEe79(V(M=O4@6df$6%358x5|$2wq{Z zw3jaoUdH%0E>VYDMYyMeB_BlYJP3U|KE^oH1Q&u*kGOH(1tL|Hfb$3v2?5pL>Zzt)XxF#IpV# zwL_kNV6gC?PYvFKojCNZ;&vzFuYO=vAI@`FLkvzF?yxR0coh6E-C!9%UTN^%_p*P% z;ObYAYr#@R^_0==hMxEp3l|Nx;8A}zSmeNJgJs-W50?0}(oT09+(z6!1dE?L@$=ut zzD0V!GB_8-uLFg*xUEJnbTU}dl6W?2YomB3kNJfe)UU(Z=~!VGB^VM4Osl&ga4ZhmUHJ`GIm-&rCbbt0{`U@1&L?FzvxR@ zttogPb?juY__GhU$%dXp*$p#T*7sdxa2)M7-Qc@M5r2cF-^>9^p2(iD6=3mG_FPpO zJ1eMH_Zpl>xEqaqS(E=qgIme}mkgGpw`-04YIJ(<8r(=aS`1DAI|t~n4iMJqU`bak zVGTCeIf*?X2FIts6O8=`_AfVd(bdc|SY*O1gA>VTufcx!UMX18=zo!P8TxbBx!2GW zNXx^9E;8qD3?BG1WF&*@=Q1WW_GO>KUkzPkmA4J9UBfsFEO~g4cpftJIm_59aJo)o z>p=LS!J^wAX7JdnNUy;b{CuLpYhJLdE5Q=~hsfK7VDY~N|GmbJ=zEtNJpLB?dV@u- zyAv#K?C97CtwLnPD%3^J2I9pG`NB` za=Wo32Zh~XuoL_MSi+JENgg-$58Z*D!C)DyK4f!*{JXIu>*C*! z(j%nbU_aQ&e3Ha70XwG}oCrQ2ENK^A+=Ygo1bq@%;wIOdWEd>hK4uv^1F=&K7Pt4^ zM;Z;5amO9TzU=vY)ZkX|(_o2%9AEgHu`lDA%?1yAmi@K{-}eoDx4{YDqH|_bfrK@< zKRSPdr=GOj0KDTgYkbVSmG~ti_SK5IY@DivA^OBhm~#c#*yqzHMj*?$Y(H3 z-wGOBK|K$HRi2QR2Ms;<9?N>t&`*V41(rArC#>zp&c=0?wcFqb{os2Bi(Yg;Sp1Yr zYYrJK_igq#Q>QoiGTNZQ3CNIVg2n!N+Vx07Z>8^>3YKu!6Yk}Po?MI^Zm^6;vJBot zJ6aAFe_DuhrJ>(I8t*am4Yc218!QKN|IXOSqg<*C7F|}2!Q*lJn!%0mhh1QakL;EG zz|j53%%2-Pn|{ZUtkbw~1o~2gWjs5;;DY<$u?8m$x2#D9k6%fd8hjvwxetRkkXLyI zm*e&pu%uBgQ@G90uR-owW3Y_D*BP9Py?enbPpC5+4E+#&`cnqC5a$;Rb{=4Fp25<0 z|HEJzD;+R+FFdo&U>TS7I!mW_1$|RLgKNP94Hg~L5U|8S{2XEEqGPi+X!J;Q0WU%OX&oTI+Yv`{HZiNqw zHdyAKE;d+nWtV^@EICDbwxNsu@G7w6)kgA1%1pw&g0y=L7JYk>!J>=v8!USD+YDYm zg!2}_;=hb9?lSa)x6&^dEIQ05z!H`mf%|7;e+~7v&e&<3!g$Bnc^W(aF!cMVlZOqy z3w*+0?T_?>CxIo-vM2F$gJtgE9D_GK%{Uz_aobG2y~5BJPGOIdG2hl-&5-LvDw~`bMs5x{$h7_X=(Oy z3pa(?MY+DNUidtIw-@i+OR`JzvlkV3eAZ3f1;t*<>_CCvU6Sq3BZT7OTms9@FLDQb zo?OeFlb2tR>-LnE78Aa2xzFv(UtEyy^IPsf(alB0ON+FPQcsb)q}b=nCm_qch~(ZZ zHjAqfVbM4?EeVz7eDO04^l!##rt`3d-ls8F3*AE-v!<)ai!S3iX6vkHo{bGv*i%=hJV zAxZ(2x&!$Xl0u6G$-xYorjVlL7v=li**Q5LAMwfwlu}k5?}gdmnc+bj8t z%V=U$^74yv3Ie&FV~NGo6yvPOvos2QOY^D6k|#ykg&rx9Tu)9hZaY7el#;#fC7x1W zesPiIE+}5?URqpwbAHj{jsPSJiBpkBCDB`uy;!28J@OPS>Ec;#wm+MC;G;Gw->GFC z{^u^oXQ=^Xgr}4SH^wUUbd&8;7jpCc#7R|Se{o5HXNjlaIC8WBb(;+y8(#8R44hc(!}a#!f#NS97B zG~(D{YZ0mR&%wCf3=d?m|!DB6v6*r>9D8WGO$CbWRcV2p5`z zK!&Ej=wDS6+$Ca*kGbM`&eCp5c5yLmn7+O6X1}Mfq-)S#w^uP}Z`V%*eRK9=(&E)T z{QIr=etf0h1dIA1_M}B*jb;ESMIR(YOu3X*gEeQC!Hcl_~t!sXIMG)(f zUT;aDJGSc*Ys)L)Wvf4qTt8tkg?k}YVa*&ur9SEm!X8au((Lro7hlo9imSp0(xD@xgzr;)XKx3=TX)` zw-$T7(skV8>n^_TTVzlpLl^a(rgDpC83H&N1iY{VtD^5tvX=7fjxJ@_9o=wu%Ug1R zlGwZEfVUeS)NOrSRC;sQjG~r9cN2K2m6O+947#tyxq*@~U3~K_^W-e)S{hzN-!68& z40XEJ2Pt}F{4TbI&d8uU`gd3_>E3pCp4?2^?&5QS&*SMD>u#H4Nq#rYpxees#p*7) zkh_bQ9z1r5S+^P2Z8HcINsrUTgQeNsaI5aw1W}M0$RJRPm3|>-N!LQ74oOrQTOz0k z-vs%K;RE7eaUi?2Yq?1e*gb#uiAcaV#!d({aw1>!#qD0E+%O#OHgi=~RxEx|X|7_j z*z7)8Vs$CeQx9WR7;wR|E}5m|^lqs}IP(@zAWA6ho>{Abe0N;colmZIH%iMd{*G9e z7A)%8{>><*YZU3=vb$23c)J%FC@z0-*JeP`%7;LKmG5JyvAm0i`NcW@Zk#E(uG>_* z-HVF?A|_gH)hAePX;f0E=u5neatpL}#^_F@kQj>OdVTpws)0p5e}_D+V}v94i>h|T zxgya?hD$wE(rr|jr4}RZATx{jS5)jSk=jX#!zRQD{4dvgp&nN-t`@C_kPC8^PtmcD zQeesG2Zu^e0WWtKdl~cHEGbYSd)#@&#YATr0g7xZ~#!LUNvGZvGM#KN-YEV-vNbC8g--B&t9YSF{5?gymzl|JckU z35d7K77_`8q0ckX)h$6r8KR8RgHxlEQpKbB60O`vI-`Q3_@qa@(*DIOlM&=%ana&2 z(bOuLs$)#$wy8CU5#7E~`9#$_B!ZEs$^+f=($8iWl;mZj6_AdYSKKMJ5a9+2R4x@z z0)Y|}9f_2ik#UDIFPGsCqk63f)MtK@d|m(5V4ktKq}?Bgk|mi&=_n%!Mhb4kO++ZM zuKI0By(w^$Z2aS2#ZG!OM(f2&37T81)tI6Zz<;XZqCkFup8=~HSw|}Yu1i#vqU7^M z7s1$xkF6X?=WEg2Rd zbymxX$0-xwFCA4IRWgZ-X1r!Gwmj|};VM0lsELY8q^c^VHgQ+k3767ksfx(wxkUs~ zYFt4QBwi zsHlt*#I=$lIwKivK|X3hS8C_Tzw5VUn!l);plb`L{xPWnq# zO@9aj&(G=bkosw2Dl8(Jdr)nGs}iz(B4?JtrgDAWT<;ha2wAV%6>(7gBmpB^MES0A zj|HEfp$BoH9UVtcUqv;ziS`sk8<4 z=D8)nG=p0ejaFbI?<&0wF4g>q@j>{5+kI&VV~?u#quDPCH~McGun7+^4Du>b5o-xr zoa=sOjH>wZ9#shlCUek+2$EW^+PY~X9o^_N zHsY$AQe}=OntIj69N%F}jdQzIl9wnpVP;l3J6F?FcUJhQG(-%Q3fPpTbaTRK=-NAG zQkd=QXf%=v<%v?dtL9HtS8^1ZZY9^KW}!KGwoeV)g*!4Cr}9x+0kPGZ2FbhQ^|q?u zX`5n^*)h}5RYtqrnb&zrRg+hBKRWo6zGZp3Cs z#`gg;A!6&)M1Z09k@!VRNohw+DHY@wYPlm?NY|;}M;C=nsSUp{oo1B3D+wjatf(Ed zC{=15DK&GtYSzb0^>j8UU!F&FcC_{E#VC&{=Ri^ZEdf->)K(F%@lNqjt;toTq}r6d zn2sYzA4qp49Xfhv<%iFwL>Qwj7tTaMN~={eXf(scclpLpfq-xBY|c{h!Xg4p7)IxB zR7D~y$v1+~eN@zc-IyfmT0By7+v5AJlq1PC1ATQIvW*xx!)@0jXx=lez{! zQ>{~FA>()9Qfe?$qK9J4b>Pqvo0=c1WE5{1Or4 zC@1FL-8PSP0(}gML}X-iB$@#MUV}_eLRyf@5!yNy6KLh$t;Ny>xZ$UZRi`WxMYI^A za#fVe9+Sm{X5<_-ij`u}GnIfMMDhUQ0?knTHp6C`k{(>bR!f<`q1zQPKm=#_of3cZ zON9q&wW}0|sKlgFE(%0@b2F+eM(bEA8KeT}nAD)-l~N}hT`@|QOLc`+s?NZ@Xu03x zGxc8AA|scH7K_|P7o|rf(TdX{op$hH5sYbKWS*#37*7{1kx1+6V%A5PmaaN9d$kaz ze@q@q=7^?&r0O*l$nv`D&^1KK*de&Iy ztxHpBlyoIhJcr(kH$BoK+l!9TBPjK)gmm4~((IA|DN`JXVU{jy%@(uJ(LP14|3sslaKA%j`OYZ3p7@(Ef`%Ih9d>8=Ysx%qGoDz{;y z$5C_hsk&+&ghUqQ8WB-6&C)WX-C<`x(e z%z+Vw{!XFD@?d zB^%K$d5CX#vWQl>pgz_-kt-(xldr!Zdqqli7SFsDDS7fNU6E2MPv43ZUsiIVFSpny z9b5AC9nd#o#E7gu))3#s=w%xUMV5jA&j<~I^E!Dx+F|OMWW2t@cTJ{oHi7{-t{thDt zd41P6JAE+rhW|jjc6WjkzsKGGHhfYQns>07Ei60_se9(RKeIVry|>7<@zzYPtL!sN zGIITk933AlbH=Q6sqDO;t5f}PYY+P`&XY|Xd1uSdQ2DtghAKAlZk6rrqw~@`Xs1KF z$r0J`6l=h1lXs*yE{m+cnY*55uwfwdp(?E`T>$N4Uy2N2X>djQ0q$K~m(e)B-hcj0 zF|I9H2QniY=t#L{p4%Ny=ioO{#lamvNvXqfw~%@O}{qOOKeh<;5JY<=T>d zU{2&*ybjhTtgUvf-H%f)`s9}@#8byjA}X#*+J!YgQjm%B?Sx;R$`!WvLn}}H*tI4I zIGoluAyCGzGqAKW%{eDC@~e4rqh(}HJt)Az$**&$7f z0cqNQgJrFn<^XBh(O_ANrp19Y?c2=xkp>ASy^ZA0G?87ONnH+>wON4ygs=1CcSKPa z!xO(yvC$>?I3*Z)0UshyUWzy4;)EBR@iWB>`aa2Jz@9zk>ev5=JYk}4^c^}DY0N*M zwa|)PM#l&k;P)iitJH#;@g+TMFP~einYsxwfrCU-akI7;_4s2o86ENY}f^Y zgkQ2~P>`QdP?CUzAB!j~t}F>uh>DVQL4FDMB2+fnbhB-4)~kN{)VB7iZF#KE{k+eadpDav)wZA4_xsP27u=mYbLPyMnKNh3 zoH;WWZ+EW)^E6P%0)|i{I}p7VpC^5i0Q~x?RfIbeJUqgWvbQD5KKB@xy@T;)#&=Ub z=K)6R(>I_9!TH0H>G4FSLn6~HoXI6JX`YZzFa9<$^5nIY&4I!eaqJB$z1u?j#+C#7 zWO+c~S)k&i05YJ2B7Rwc7YZcG|0KcNSL1uF^x5W~bmR#-4*n-0aRr_OR(%czCyye0 zb~Y6wNlD$in+UJN!>_Mg&ZPMCUx0SCfhu=axyrB4L%a`ltS3MBc6mkN>mE7Ww zXT(bYS9E9MxzG5TUyl)z=bopKhb-n;H?}db!si9Po6v)s*9+U)dR}?+9OxjXR_un@ zGCqrpudTb$mgi-8Xn98X{04fg4`!gB!soZj;&aG>u0ABC97TG|UNrY1Fh%%$Tsevl z{${A{<5L&l2DosirF>z)l7@EgM~?yY;2v1{2t<0&fnK4T=S18B#35o?BH|`Qgb$C! z@OkNH+_lINo%doFKKGrcq>B%~0~p7@fNU@onEPhgPy(`jpJ7rV-eUMbb?2PiH_Jbw zA(u_^vFu7w^!E}a{Z?a!Si;4)Fuaw45QCO72UqY_;0HIU?FDr$DL#F{^Qf<<16)sl z=`}9`O$`5Q4&V_DcBpBr34oRXM2qA56zBLp(eP&k8*MKFA3kfHqGZICjsR!xhZuSx z6#Bw%lKj+}+a}_ps`PEh^{hx4--ld(KRTTq;9-b^8q`<9H&-X#2az^;%ofQlkt~y_ ztIg!i>)jJeH@lIDKbB{9G@AGvw>I0x)q3F9s8(ZR8j;X=i){^##T9>mh8Y&K%!4UZhcv(M;lQS z==~6v)J99W$+(S-iv22yh7@2i={bv84gzoCPDDN3h6ZL9WPYKwevv<}*iG2Qz^Xk- z^*~Xf{S=U7XK23#fjp&;_GAhIYbX2l(IB0~gFSLWwyLksUAxk+XY`6w-wx$T^0Wg_ zq8R>Gc^`{By1H*wMqoTe)Sa~o1RU`vU6)rRf#QP;8CCvO<%p5?}{&vRdPmBV8_+%^^iJrHuCZ&UQ) zFM;Ja?9`o!uvNDr96p={rQA|>O@OX zD#|y2hSF?XX!=BDW;l38Qf>;o3q*lddiPml5)ufFr|n5sCwf9t&x49c{`@LXTPfK@1^gf~OpYrL`QKq5o z&qm%xk4{ZstR8dX`7?#mPiuf>`h&L^W0RGBf@G!t1OlY=J0nL#$nK0BKu9S6KfD#0 z8sbVzk-l)1Sy(07MWQB^`xgcLpj^KJyoxb}lBo(nXORoTL0wXAEfQ^e4?$%BDzJ;z zP_uwR^K|(1x3O%8I12?kw#y^&{F*!j&kb@PJQpkbP$NPZgD_%rW1V~E4zFvmJNNj9 zX*SG$AKy;-ZQzGt4b~6*%XAe4gOXc}x<70qkub9WiyujujKvBsCU_Z@6VMVJzT#Vy z%N6%f-{yPUosV9PQLDGz0jlo?Mt#XlNLR6}Xxz?X>4hJm3MI!(nG~K$YYr*c7ku*s zl0cOHOUmx1?1Q?qS5bD0t^fw38{cjfx<57(O1{2o9khSi0&!2A=pJ)l-+yxC=RvW1 z&=~qj`dC7pOHOB{?-DbHbh!a+D1>8fSk2>m?3QtiamZq>ad>rl#NARu^15M8%o7A|tXPIAvnEUajeBvwZ# zc;fU)(*Zg0hDkSU0dbc^xZN}6-MZvvK{p^+xb@299y1*kqBN0yxu%c=hA(Leq1zlo zCkx$1)$Rc|^1R;|S&AT1q{hf{BNYDJ;(P=r$ECnNNJm59Ssr4327~ugpQJo2@47|X z`tW|nq^x!xD6se-#^{1OA=)BX&9t&HI{BzT6X+Aw4aMnhG9WWbo&Cks5&c|Kzr;;>Rv{jNdFzB&){@Nd^feGnWX;* z8kno>jQl!<_zs})-PCRRcnCiu2~(^Yy9T_%LR{V|Q1Kf5p$BP>z*7G%&g4j1)c*+> zIqBa31AGEI$5a@(64YceHEa>1PY?wD%+yd%>O)2D*wsm;rXo(D6Wy(Mz@m&!ifUAW zP_Cp5N=ES}r`oA#v&6t(sA)!r$m|AQFpOCmu6Tg@{wcJ8Zp+(p#PK9N2Lb9tXJk4; zV(J|=hbSRJefn!(VyS~^BCUZO=!7T|DBZ5AoY!>QULR7mJg4iKD{0ViE)DWD=2b^PftM; zs*&j+3h$%pTCy+`Us-qBg~=G9k#(o-A~XU&Xf;wSawK(y6g z%cyplu~}w~hHwi6?3CEdiH_J+%rD*feFA1C!R)gC(*CUdSN7-ZzqUVb|Bd|x`)>Ol z`-}D(`%Cth?R)L}?ECEp><8_&_B#6^d%gXz{eSEY_D1^=`z!XN_E+u4?7y}D&if7^c2e#-tw`#bh`?Jf5A?5FMT+t1iPuzzU($gbO4 z?I7!a|NgfH{-eq10isw*cD_^z7q>LvDWEhowgh{hq*gn7zeXvZAxzQgDq;i zR?p_8Nb^ zDs;iI)f%ers645p{Kiq$l%0mcP>U{yalQGanrS+xKC?rZl z8FF4AZ%f{~Jm~N_Ig@g7w)~TeAu@8i$)o;$?A&5U*G;a89NgmG!Va_ivQDf%ieabT z3ZI(3(mYv;=k0``C43GK$|1^9Uro>_g(U2He^Lq*$k zsHwER2-6k?rC7Y})YogdU>}{Jy}_ z1XcY6RgXPJRJp z(?&Itq3sdD@!eFFA|dXgb2CZpgf=ddp=1+dwgn^zIWP_2e1=%u3W7k(OiGbQEfW~fEnvl&|xgVpT{Mw2O0cf)Fmhy~>3k4LqwKW?* z6&FH;dq*oN)cC8oa8EjAA}d(=z={h$g%a(o{2|_2|0>c8`kCpi?^6t|u}-15iw6ip zW8@6N7>km6u5~$3<4>e_^-4cTiLKM{6zOr^*bw>CkaUpHwGK|C|E*U#@OKKDMgGrw zr5~i_Wb5w%Vy1V~*PrlHA+5U;>Fr7MaXQ*TYJI#rU39rcwxeN@x6IBNu>Zyd8>veF z?iQf^Is?`rVhL}oZ+9Kl<|ocw^y%TRQ8(Mv$T75?`gjwb0m-Knti{TQUgEncLH`kh zxq5(=mVPoTP>R1Ekk4KU*(3cbPPYqLpf-=^PE#XCP)d~LgQZrK66Lt@f-nxpH33CW zCcc5KxL->AyA0NocwC)1t5+R6E(PmBd4SXHY9o)9wHPlFv>czlZ6ozFg<}m73x4J` zL{jkc*jjtw6ATzFVr95_>j9r==m{6saysjcUZtb?@2K z-)-+xQAbls#d{LEWZdu6zf>KmiVOf$0>}iZ``k`x1Cge_6*(E~kyC9RcSNnL(x^|X zxn-*&g9PL&CL|%~0gwrRY941*k--G~c_eNE3xd?nOVM7@3(}x#2%@7J$p}N5_QWJ4 z>!sMT64@d>2t`eYauNw2LooKnNJ*Ds9G1w|6Jw964+qd%Y=Idvao`#nEZK&%DI9sQv|*)F>|N?-Vy9skqR7R&3-OwMaY2^6Ak4RE*sergmG4 z?Lh+Y=~w4szHs}@TK(+)pFiLL$ehIHD=6B!q8bSL%)+uZ6P!Ja=viya-HzI(jtHgH_GjHkqdIGl{qx5eKDXFYgt(^*R!?AgUTg1h|se-;>3kVhG2;tPp# z4?x1B+__wCW~1i?4B&W!XCIm(eA%J1KZZ~!*doa@C?@bjKx&>N*yn>j$S`+sU%SGc{mLGsUX>r9^uSYu@|OT2 zo910ya$gKPXM|#GfjyM`2$DsKwTRX{Z}{{TW{GcXr!B`fzNWzcYM+mbys(;D=*S0z z(ZPebu9C57o*JJ%8mV!m#t<_^;=!rZ{6%r)1>KfIfNnh-zxoiAZ3u&hS23RLz@wG? zR7iqJ9*|iZrc0`Zpo8)1=_u%#ykD1*3m})cDFc6{rANMt#aqB*>bdCBRo9}rcvNrb&7lj0HJjcSd*vL_i>3t@VQ;>2*|JuE%2{|AzC0ihm$O{;3O?%E5xa0*)J_T@%Ad%7N zX-;bAZufwv5W7rYJ|2Y_KEdQ~b_U+UDpJ(onbr#YVxL0kN72DGh>ERd)Bar=S@Crl zJq^|m+>Gkzw}UEP;wb~LM<90V7Y@@hEoxyiM#m9-5(AL99)(vSLkbcN(F9$Fy790p zmXX-SF9!M4rOwDtK}tB-jBOaEB|~Jt57}dRoFKz%1Vj#uE6uu&4o1(Qq)gBZd60h{ z5sIkrMT;_2jc;i?qxtX13tijZf$<8kF>)Aj_g8Y5f&o! z0{i5ZsLIprD9_Y!U?)sAnpTu^cj%9!nRGi9a$!`WJvOaGc^17GFzgrcPoCYteasuT znDTGCaX`a-|7!A3h&1Ccy*R63Sod)Mq>OK*5&#Z)z*k$Gt8;JO2-BZghyl<`o+h34 zFl1y_l8hYm1IPhGMy4ggR{g^Fsm0h23hqm9fQ16@(Blj}Seos`d?@(X07rG=pm`B!blX-}GeR(M4kHJM&14wXqn}<=LU2PGYR>di2rV7&H13 z^ev0AHotxz!i|NoJjf7ZIVigI7Q#sKtF6kbcVnJ12g3$_H6*9Fs80`}wM{JT`zZauLNSe_NeLjGGWr0+I|1z}++A1N)rjZ~s+>xf?oP?yf;RDQ0Nd^Uv zB}!;0VdCL6%+jRG`RF1n2=!&8R2)SO_5C9fqvv|qH6Y(c?I3A#ipSp?TsA}e3U9pG zOWn8{0mka}eAcL$#H0jCGFxsW8OEJ;#XlBBXE8B8&Cr_+~ckJH#*;?of9%>ul2V2F;(pAVb6aT8rE z4$q^$@Ny#1%laM}^T8>!5kyGN$wqd$!5eIlQqMqU1t%(Q$eYjv;kW5X5uRUP=0QSm!YhnC zvLtz^2HzA7t|)p4wNoS6f`(W>)Re;1dZz0Raf7}S1ylX(Smw_X{!3(ZrI8^VYyA4N z&_dvPLYngZ;3)WlKS)Rjop4jp=h+AXX6)sNBBpDtq9=foYC9Rc$^Gf9T!Pg97quOp zsO@*C8j0FwpzP%OQfmhq!9e=6cY_NbH+qIV*l!}|^$^)3Eb^FS|8*nIPA=?yfzNp$ z*@yj=BzLH@g&3=^13P&*>Dk!sj_;-t_;oP9E-+uON6o3Z-Dqyl<(qpJ78%^!vcs?c zhe9v3sR-Kz!lKz3^J}Pbk4BHPzhpFn%pLg}aj)~y8=+g9bLkAzOK+s;7a?hW55k3{ z`Nmy@&}D4xhK3aP0l$4xU3#$~5<6A)2SrZV@b&!V}zd-5#G@>h^gz zo#RQauYy+ibp-0~)!Bt{+=~d(|Ew8|n?HC;n$1ce=aZ$DUEuXAq7K_ zf+0EGAE*Fcc=iRJ#IIjZ1=^=NumLZi2m1p*LA+?ZnJ64Hdmm{h0ca&nG%1sA&%XS^ zxuE(sOH-?J&tEDU_N76H-DU~DXQ>`mOHKwSwHdFf!RG3|;rB+V-p*>DrS@a1bI(!L z+ktTSbXv8&wl%fNd&;@TdrHeZUTtT<_Twe(+P4;UVt2SUXbsm|>pD}`)Q0YW@b#Qg z+aqT=GThRo{$*U9dIYi_tJda}a_E_7w3kB9UW{YSr~P;_5Ue>Fy5T)b)Z4sfsz$q< zgk+7klW`%^+u`aD*7dgCe`1DOsOv*lU?2@10e3h;W$UNe`XH}n1BNz!>Udf`?J9KX z!Y<9z<2o6%A&A;^yf}_7QKhVa?c^lo^H!5zrp=^^Z7CUgpHm$pafbMze=JcLg$>pp> z-2>**H4oW^!0Bwy&57d(T-oTr5y(!g4&s|_dgc<7Tl=yhmv=(7`S5RnE$3Ch1%6MD zll0)#&r^4byw?Xh6LF6s4%2n!1BA=1+aLq@9JW!$GdIyn=NK(!n*I7D7D&`5u)BhY z>jPKjo5<%2M6YflM46O2^?7~OG|ae~2WyLyK2bIzJ1G)NnqxlwX`si7&Dh|6l=I@O znjOW)OnzWAv6TkIcF*8*Cmz(u;s|NM&h!EA_MuL zQ9lTl6C&X+D22_L4{xQyVR(f(b2ynZ<-vIJX^J-%E2-S<@G;nn|70Eg%SHmXHF}z8 zLNgDE2g|e|j(aQ^O2i!|?EuH&*M_ElAg?@IfMelBg5JY=*>I{2&Ri6OT-G}j?9_83 z-k)eh3#deIe2a_9q=xhBmKzA3w4c5xn`TqYLi2_5){aOx*d!@e5v0JSCUEUu&baaf zuC;bpkK)Q-oV>{BwSGw03@)$u_Z(C`hK-Q3WGjH8-{U@r*mcn3w~!t$%l%_n zNaU8xL~|Mo&zK!yHn9d4VEu3C?guNWL0ES`NPag75JAaQuzSPi7lYZI53h!rVd^l~ znRgv<9j_16CK`KRAyXpmI`}1w00s}wxRrT$+&bc6vFgWK`CmT|ZZ46#Z#wC{Sf*3s z38)ojNE`(3xh3%>tS{EN|I}K#d!qRQ&5VZD<+eE~zW2UGMH>miB(vNO3>DKXwZ=j%x$dSl1@fYsvtmn<*V|KL=*7f(dsu8rW9kf2$N?K0*O*#hhOzdhRSw5v?M?VN zY^=QHpvDC&1dHK;Uy%gi3DnctWV-jt}k`NR@p7WItKThDY0Uwa5j4YE@>jsM9 z5EW`YA{gOI^wv-WKRQC{(^n-19yy6E6r}j|IlNXQYd+t$P)0s^>tKGCInyGH1v5Nh zArl0<)E1;omNNr;L6ez!7a%eH_|5ml-8mB^yfc|#Oh2_F0eZ7_TMn>h=|1?B5TN1C z6!|LA&ifN>AVH^z?`#z+C4B5rvi zL<>6$BIy{5%W$pMRKyhN;|CbRG`ydnBsr(s^u!xOqeJ;KXS(Vle$In1yOIb2_)~FhR);phQTgcNSB+BjyIx zG)^QOwPQmb4UT*cIUkL60n^H1X!zHFPCt~2Q6Ln#n}7(4TsExb+S6pX;bps6bJNw5 zhPR2iL|>J>QDa74Zr#55vg>x*74Iu0TWV2dUJGaQ+Qt!8Ttaa_IhU)A#jD*P7=)1* zTY@F{nS>#-KeX`M{DEvr!BX2u6U%c-o8%AVQW{nTfkFiQ`YKdWZA4Q>;!2i3undu+ z1%KqlD6MVX!~GhBvoSU-M+6=~y8Z-`NFpfh`hOrfw>{XuF_k)kdGaU{gYebu8!hZq z3s1%R6DQ+f`CO*m2A5x$dry&*17*MKHPP&Bm<@N-AG!ZRze>0nXN@OGfEre?#ov=*{bu+`5n$azu= zW(MrHp(XFbJcQ|J-@V+R*avnPkVge%ZoRWI6RjE;O3>2;^do?7y-4M%&ESO8RFVaC zo#_zh+75dhYvJ5?oe%#J>G>n8K+cXqJL$)oO0?xRJ0FcADLixE1Z0y_^;c5}(G%yG zbnM&^)KiopQGw_*io-5&cTL_d=v9*^0$h_%S8+|?#}`5tqcVRJz_|^WG`S+{1n~a| zV7Sb3Yhes)nRdLTCQ2tH>^kRLqR*YjMZzc0sa=h3*Gf9f{^c%V^I4BhGGh1#pU6c& z8ZrN9zqQTkuI(=90s1c>p3!eMQGuj>`_!l^`ptvp4ICiopn!h!9`xH}#C~DF^#{P; z>9^;RwY%R20no4i5>IAidDvw;u{Fr${e#_mffP*AzQCwl;g_*9i3$%w6)^I9cJGy< zb+~(*sJ@y2{_t)F{wm#z-N4mzFqNhfQ&J0|aPH_&F(a8B%{|CB=lAGkBS!Qxk43-X zAmDuXTijyAPSTE`*>o}whXi+bGj(cGt-k{qryquJM6E}PibO~9FnB-R--Em3B3Eub zZU*}q<$6Tq`sgmRLLdUth)z5qz;fLIla2-vx~?>wlBP0*4yI@1MO zHcON71tH_+CEN$+9&`P)X}IeEmscA9q{J#poMEC}M1&^e3UB`P`Nc1;V(0h3YN=3s zg4;OsgpJ1uZd~X~x4LZERC3>%QfzLnTbFeDh-NEFs#tqHP{z8?C+0KphBth==|F zdPR*ik(r+qA__=KrbzoeCJ}V^B$%d=*cdrRiTKkZ&0s@#^y3|2Jk`iyJX;spNd2ot z@M?fnb11r-z`Cjq@0#8sr&rc0=h#H1wl7c*;qden0Z$};6?oa&kb+BysQggAo34aQ zS5oK3pcC=_+N)M9!kEseM$~GVb#7XBZBa@WJv#5uB5wc^>N{0I z`wpE%S`zpaZR6M5J!l--Z3*uuZ0Th~18J~%356hvM6`};C6CVVg+7>?(7d?iOHL18 zusS2x;qBm1z(*PNOKGTM*R9*^yPj3-XotUo57U_ecch$aR+%!ayKd=0zoV}1J#5iY zlQvcy18Lw~sj;FNA?U^kok9rZAVl?p=}l@?Nnl6^NB^TGd;XP@p;1e%PLzCb-2bQL zrc=4!r~2mnKQ7k=q@tw}Fj`uKsHN%8I4@6p6UasBf-knrWxnWyQ5L!xI6=9&SHp__ z#90_*RBak{YiyW5aDM{D6oF#5K+!w*QLwc0z&D9e1=qYJ+@UQg^2BP6HqYBNpAAz| z3Vb!|TVSbl9vB&b?5t|8Vz3^FN7U85pVAmUV$`iM+>{8tVT4|SmJyHcr~2m9c76Kn zx#PF0M+&efj`>_rqJ|FxRw$A~1J5QZboU%?lQS?bVtXHIjup{jkd|tlzD{Q3Y4bkpTA72zoRBGzHD zXJK{6U>jF-OGj_>BtcqBGFOw0%V`OK8KR z7~g`O($r?Q%OoGje%F}4NtHl8USyiexRR%h-ld6x%g%cEoUa7}~x=ws^0`qC& zawA-`h*J~zXhdHr8K8$lS8_r(FAx_L+H=kxlRVZlv_ygQK3{TCb@b?klt z%g{jehzzBsFFc%U9FCPc^-Xpn+A_7f{fOY}qbBwjj`089g5GA}*C;N8An zhgwU(Vo;K6jK$4a8cL$~hM=F+cIr+&a9^*E{2NNp-(0~RIhhUPIQX3VPT4hF)ucWZ zi;?)$pXl~aNrixx`cC<~bsySPz6=?CYphD}sWg0QfOCmCtM4{5p6V z;iRj0tqo`{E0(OhbD7IvpD`HrIX=N_H&`gxF3FQ9e;_LzWp~_wp8qQ-6|bWKOi0Ar zAiTw#h%liW09`}*O#Qhh--80&QGFw(tW@fC5=I1w@d17{RsuV2H(6qSlsk%d`Wu{e z7j0kG&&_Bjv!6u?#B*jh&%J%IG`n!QH1~FI4n3}yd`lKfi+oFS=y5$gZjcriF2Xk? zBsL5!#*qd$Z-3K=F7VNt4e|uHvV~mqkUoizQ8D1HTih@!@x=iQe|f0Iw2{su8b|sK zkO{podFW$zTj&P3UVzA5`XK@P^dZ9@F9(Y6L`<`)z>#!}KFN_YBM73>@1DY*oT(f%U zwou+AGFt8+(LlG0QGnP4sn&2TV#VRhrw7vOMr7#1`q~L}|3F zqQecRJ8hZ%R&pAwuJ9G_uAcmMSb+S^sN(3(^G@;pQ}*j!RU zxHG-%Z1r9C+V`!|`L?=FYn7+7dayX~A@}*RJ+f%$9RSPW9 zLRa0#_9`E|EnF3+X)##kv#OmqEexw0xT&r)t15LF3QCF_11Ov*7XCvFN7gx4RcaBz zo#&IrhbVK!X@=|^*Q6fWPWU7Vd2zD$klG~ddPuM9v{$7TiW1n?2QX2>d4j_kY2d;! zYT!an0~7L%!7F2`N?nTFHPpmfNsFNYW?%PEa7FRTS!GfQK5mLNI!poh<1tGT6cfEd zmoxN*1-OP%u-*i>_p3RD<#X$Q(tF^K2o~wTL?_P}zGqwmL}6N^p1{tV`05!GO#Qw9}@m?IOxRs;?wV-fQofWfHVOOY5P zp&7&a${A20e+)<{P0&IazQKl-bK<642^IwYVq`C!m+H*^L*VmyejR33;z@8{2+aVw zPdkHjuxCV|>246oTb~t}Y?8E)SpWQKt1+c+v8kWM_K^y}cjf?-i90;=2S|4)_i2t5 z$6Ldnr<85RLLxeN0+dm>#OEH`aqrHl2s`&o#cuyRi{)HB$tQV;dPs0x-D#WJKBgUU zb-FF)#K1l6gzo_2h$l6hYfRjUSrbhzsc%_c34d-abM-7Cn8vzeEYm1xsl~$12Q~|G z8x&I$2}^gk&gYMgWGbPE>p74dPZ6C$Lxui(4`jhlmI(b9mOn58Y-0pLM)(hP+D#HQ zAKI8o$C-%AMt02aBzj5bH4;z{BLN}PSSH$!9kNYC>$DNK9*@E3Q1+18+@lHaKUc?% zb`96C+F=d7=PXq}tvziEoo<(oS2?Wer*$9Os+L+UF?1zEA-yWoT8${csDG(zwIh>s zlwtDGmake)VnK_x>`|22mctnbVYO2Z^;1JcWI|vim;iN1(nIdqNv#Ph`#oTYC~IQl z8lp3~i9bqTCK|6uzps^*j)WISbR@xt>o4NFEAj~IG=fh6-zb0=B277CDkh}cmzef$ z<3n~FB|5l=wlBuLt$=N1u)?ca*FmgP&PHc0N2zrmrAJJx&?PB2G>NUC2XTu~ZEjbTcouzd(CMo6RkFC+LDRYPj~YD?>g(m^e_#-Ma-!+f1&noTcgw zAzH!r73X&o&45+dHfn%P3#b8LUBCsg4VB{wblBW@8uwASv#&D5h|EA_?mLP-&KP1d zsst>p(`sT^-vCz;^9y(W_kfjJ$`v_TJ|J*K3A+C^u#nLd<~c-hlu`ff2WZyjq~nNR zaGzJwU0gmKlj2*wHsFpguYca{eyql~+)sCYnRk2fXIWr#7k7$HAoDw4DaIjjqZsEY z!HFN3;Ej#w5;`D=W76F>c_B&kj(ZC}kxCYEV8TH|UhmTd3#&F@F}h78^p*U4S6MGu z+P6-+a!gdjm=Kb;3yckcN%$xO?rL5m^N}ztGH`J+@^3D2&vK6~gw=l{k$`A;0B^*d z&YMXdQl+|8b*3t!Il~}sP<;lh_;!{_l^LTR67om&9 z9*jPlgJc2GZxmxc>29rld5o#Y-CEAb1S_3Rh)@~6Kz6A)aDM^j5C*N^reX|K8=0Mv zK7gnDt==KSQlX=t--Yce3v6sXZnv5RMEbvB5`-&^EDN3WK?d%T%0|8xil^Q#8ytU#QK1dtec+MV&ts_msn$uWIce z9s;shZju${z)kjk@? z%5!F8D&1C?3mmN-oVzC;GL|3Y0vHcky z4ndQ^CCVdQ`3RD#aY_A{u5Mi2bamrOuHU_chvt#MZ3%Au+j!7PH|I7+I?-aHP*M^I zZB(N;Rii$qi{j+@d>>pvRHOFEUznx1@*f(Z^oued2$s2QZ0fZzLr@15qLph_d|3d9XToaKyV=Kt~Hugsw7gB`&(U?sQhH zU(YPb8@CvF(}={Uhz~%qOU1Lr+gO>#NK{nN)~_ zYG`wbo9nLg10o! zr$Qjj)amWm+|Xa0&vGogfaO>tJ7i>`6U7ESIsr_=-#r~%!BPkTy zgnWkP@2HqbZEzO){)5+wNSBfnxpklcDd!uh^7VniAR<1EP?>^SyamQ1LFids5El@& z6|;!M5%}y2>ZmV-eZAXAhve#yg|5|tRMxdF`ApjEyvfqCRhu`!0+&Yyv8!ml#K+BP zj-(GcPH^M1wJ@N`FoMxXm+88q&C={VoTe4?RyKr^Kk$e3Xtv6$h#1;*PsITTCAH=h zVsU<>ozyYm!8PQF!$7GFfAoJucd2(p~dkEwy*Q`x3vISN`9o1KW#D>(nNHf)*Jk6OLu|ZPcO3)!7MsvOF zq5R46m{9&o*&P_2NSlo`oH-*zH!_$D_FW@ljL5f_Qpx!?pYJ+y9V2cTCB=W|@4N5co`Z6qq z$jWA;qmvUtc^}AEo}Gj1%d_Y_$rAlBtdNU*x(6u43gkNTGNi+SY>c5Iy$FMvI=EJL z2Cm_ld5D2+>9kPd7#=1hda!{1k+yUnieuJkL?=3F@J8XhwF$F1`f{hem4p zw%D4S6FFyNcL4A7yOcic@=!q6S9OIxFP5JR;fss%&v8H2MCEGSEldOz%Rj6EJxwbu^2;&h3egIE z80!^2zFG@N*v_Y5?^2Lkz}E9T91#n3-w!sX+8gRQVtU^Xb_ic8tu73~=pMRxGUU|F zD-}mWY8!cz#U`RibV~Y8`o?IUOX?Ufk|||HI(Tp5>&p5w;G~Xdz!rY&Ao5%0qtTE9R;Cp;4^z@!IW-~g6!&H zRqQn2JWzku1{Z@~?T3%t#$3ojW=4sd$9W*xURBXX{pPPO#s(U8#=vE1pd+v;6Lip9 zglQxLMgP2!>kzAue-^eJvAO=o_pxUIAcodo%YwC;K{QVViFpT&J_y&z^j#uMD_HD{ zhL8>0o)cy&9*!q{dM*;Rr*}}rv8@L|CHYp#0nBB_rc+|76K=|h?P09OSe}u=K4=fk zlGq0P2E{@EoE0wn!SW(~$9puXk!S-|8|mEBD)!P}Asps+qb|g$(4BIT;u@CWGJg64V;`05i+4SD_5F)Y8`Ns0Ye79MyMJ1YTp{=?P#n z`!!~a;zWZ!d>Z}+GezEIf#b*{rqfzCSc4`~)2xBu`c<;LdCk4j`ukSnKW@#C)~_yE zhsT=D(t4b(M!K|~ZyS`>uLsCx`cDQBJU2+|+?pTAa#B`$~BR{X6pf!p!6NN_l2Ig**?Mc{0CJo{xTsJaf%F!@p9V`+to*PBYJ_ zuasxS9^^SmO+amM^;gRCb$olf^}ozKPn)2V7~=`9rNZYvE@#{Hg=iv(hL#2ZP)*u-y* zOF7j&|xm9$aUi83Ijuq77eWrW?91`^)s<9qZ!K zu*Wrvg36%M3XiLW&b+B!N27<7cu3xJ9<;3#QZkO0IOZ5H@@J6~Wy4=`BVpWec$&Pf ztH)n2v8Q_+rD{{@IFGBeBIru#3JywY{nk5K6iAd5x0a0skpp4p+PRJUX9u3G(+Ohd zCXSFPf}H$_sJIn}MO>wIoi=>P0v|uBz>*;@r8fv1LugYfOFiNU^-QhyxU!wKEh3ML z@<{RY1_H*uAB>c|x4fN%mCfcKezdbL^o)KuZc9O|Mu6dxbKmAl0*-1ngtcUF{i!oVR_csnJ@g;S|6YO|x@ zMd#ynrRwiW!yjTiC>Rf?%S*A9$^gjPj(z^xRvY&JOL0v|d#UAUsan{DPU*7n^H^MM zOd2Ix$r%!Ehio`kwKO}cG=FKfW5;#f;qvPdorzfc=1ep6;FSou5NF%cmnCEj`k!RR zZS5;I8X$kLHpyAMtTJ$5=_O<^ zF6RojWoh%Wam*?cnY8%OMB_YI ze38VK^I%~+Ic0>;Pc2^)K0k_Xif&WAy74*H@Szq6o1qXe>-B`hX?wjT-9tiWJ$(O~ zC2AZ!-`la(8uxZ0IL_Mv9OJy5u`I|*gmsIzBi}>m9;CNfyq%?LGl~C8>hjiktS?HA zh)(7HT9CwRy?QFkWH`i+;xPB1(nId?*JZ)a$=#Re?iuYwyWm>xGM|YCeKya`L;QSs z{#IPc@{&&LCJWTRf*+Fln(S7B-?_g}@KVFI7orR6t}~6qJ-9-!YvJ~eoRb=ahPM{W z*SBV?-WtuTtKP#=Z>{r146?({7YD#ttYwZ;>ngDPkR;2Z$B)$M=(rloJncx_Qv)FF zffQ9ad`lR@z5zM;wHD4>*0TT3IZ4g}OP@Sa_p!^eG;#!Mqziq@Vkot+0~e~4M(w3) z-|(T7aIK9qd;*??=<#-8vg(?`44UIL`i|(Vi7GWFTj@hSryks8>R8-|1w7{H(z@=k zb)_*ApznJ07kyqBe*(~ZxY~1=J0{-%N54!t>pA@Qd*sgK9(jzB89nSh910%Bw|UJj zM#(b`ddwacn1$@>*|+n1_3e##r-2Li({%7`Qoo)@12lS$Q6(BZN5s!5@zYE{QEIZ5 zsJBz~p25&iy-hse-Y^uOMseE-pFVH&)KZR@Ne9x3&!BIj_WXXE`#m@(T;By&xo!KO z0YY`mIiY!)wc;b1_Y`qTzkK`FR4_q2J=$*^?mM%E>oKJq*0$T!;Ndyp^VYIcl;en2 zeC+txbA0KD+^2$6j*tKbOiJ0A@z7;10}6$LQ_TQiDB8Y9WlG!P*3KoX7s8R`PL z6aqQRh&5!Yh$oraNbLfLY4v<;^0FfCiy+OikZR%DX{wd<%~#`>$QXr*(34~g(@@-# zKl>&46C3|YLVaL2Bf|e({WLbtjb9IV~e!m7jTEu%f1 zu%-*$IgVKa5gpV(B`wSzEeZBG*@4O4)20@-<0cwhLTwc3Mv-*+S)qS_9z}yPSrXBiSpv@jZx82u2n^2)wQytve5O`UE!i3>ExMXhTEPb9H~tQagL=-&IFLr=4&u zZME8ua(+|Sev=hss*}CyI3*wHsd0x+r`4WLEmiee-D*GN+;hlOx)If_ zTW67OO&WIvYsC1*9VzXG&aA#$_h-A>*-Ht>z(Kd+g+Ndkh@J1_uczkOx%_x*R!D?@! zSG#(YnmN^I=ERyLbb3_nX=|zaIb8^Ngc~}k1rZ;5Z&cM0`hFn`B2*-m7fqtQ)0?~1 zV98%I8uUh2X4^}ni?SWR4Z%&`)F`_36G|>T1q{wg zng)Rq7vtj|w00Pnb81DBJTjD*hcCT(PgM_ydYh^S;70tor>S6O9Nb@al7Zljk60LA z)1!q=p>N=t8?3^cV0=#imT!Dnf=L9v$Axc1mF8%$Nj=VoJbw-rIrrJm`7SvsR-X(; zVoRt%j_amv&RVzXqF7+|Sg_v|76q z2wjc7rsWUu!{N;3mNBw)z?(rIi_u6w# zFv4`Bf8Y$q$J+fhV2Q7Q50)#enWI=es(&z!JgQB1-Cds?kCx0#W+(;#_GFlx+Lwqb z9Lc<09Gom6q?dtK*{!{Mzz4@VS zIA7D2Q!Dat7XiTDeRh`GiD(|_#xMph+~lJ4f%C$hsP##P2Q0FPddo9auKA4=W7M2> z*soDPqXxOcj0UX~-KU|CG@pp34e6Aelh{;BQQuLgQCavUTLy}!KBbNVOArBSW7lUt z;{@~_apX2{h2G;*8`O7^92}SOJ;`$M48&JYr&0K=E z=sxCdlnDUtc@ibC+>##wjdX}k^k*vXncl8;GJQk`jBD6@L#a5#3q25nOxV;(&aK5Q zn?C(!?C*ui)Xa8r5qDi8j^`HIYZ85cueh4WmvQ&}pNCu;f8K4wCbMVe$7X8zk?>4boDjL|Rs|T3Q-Vr1|(9 zn;-jTx2@VB%`drE@~(pC%%;uw-7eh*_}i3q(ro4H@I&1s-F}}8huE#sypsE*S+i!j z#ee+d@jrUUcWTE>x&il7;4$U~?5pA1!TbSXe&BT~d~>)Tg@HWtz>fa|2f(bMi38TS z6e&6=ax#A?`TFb;jaIk&L^Q+EF!lF-S3*MZ_x@Ldtn1f3Yh#>&1eZ z$E^*AR_UJTxRR>Bk7QbW4jn&|qSRt>GcCu3PZpD$xwdML)=w4_x zdyP~MZn*=#cKGhr!5on5=|tG7|AxZ2In1RgT}AqFUNGBm3r;H8NoA>Tvz}_^G}^r@N20+C+h3ZBp?4tgIEs7C&>BdF zsz+n902MhAg#XG-0GW91ZTQ)U@OZT;(bS$c-1!f4u zv3DijQCRrUjDNX2y}D5Uvhu(%Pf0csDKwL#zl<>s6#$M4LtxNQ`!vocwMuHVR-p|W z=kg1EFvUirjr3a9XkmzVEYT;LdyI&~C%vF)h>HXVoAJHie-D=D38Yv2D}#-A@M1+< zC5oq65odzD`-l-Au;u4G=(;01djx%R8DqGHCNfIF!8Poy!8mGtFxM{!4Fqi;+}_byjF^PpG!vU=tkV{61ej|?rM8}2wt(w9hw9ru zslI?sCiDyOa$TPXnP@DWi}gMed8KSf-1{(IL%CC6`a-*Tp9u$_k;+>`!JoqCh{Ddw z!D!R&)8369h$pi9J|=$Hrqk$Y7jGTnr&IiN(U0J*Mo$&Jw7x=5YM`n#`TA(aGmxD5 z-tU%O8`a25D!QAVn(YzLz8X9r~3F+oJlYweGnadR3f8iYdp?K8s3xH=PU8KyabsiDuW?R zFyaydVC#_BHH>|{l9Lqu)#O67_?hv=&n*lEe;~;#&z+3nXg+wJp1I{qAgZt>v$mt$iSFJO@xZPDx|)w?UXxc=Rvomc2W1|{SOkAeRP1%C#iU!0G;2#(df&4LxR;x@rX@oAK<@AjY(nIZi+Lp=xf z2>lzgA;CEJIPWg(TjqOrmA@L3fhFpBX1oV%wM&!jag}pbT%=k#AH@PmstE3)m$I2u znm0s6DWL#G>5HitC4@5OaT!<4CMmf~`}MJln57gdMqnyGR>7An+<;u=*J95ET)s

    7Uumj%c2_3^xGEKOyovviPTy-e8P}tq~@=Hk(DUTCw%)X@T1Swg<2!=F{ImXTmnv zkb?1g3VI4#-k@xozvQ<74T0=rWWG3Z015}W)|_2fbyRbNEU%0`O1jV>wJ!3C(xO7! z5xNU<*l&e3H_bMs%2M~SRryps0j!2Ykf^ zi*wq8$3`RkHU9uZ0dzY0xQoLAuM}j#t^VO)o22CO9sK>MM4vtOAeE2R13pLtxc2A* z8?K@Nfyfj0c4;8U+u6Dq{mF1f738tBvAF>FKtcvSMrzv%<@$_`VTd-P=uC?!#TQ+W zjUCYVaZFOJpJA9{@R*9`*bTUXW*qTJMcWHNz|Ck6Z^Jc1xQFMd~2oX0=KFy z2O;s}D&IJbp@X)8?V|Muutyu(T%*wOr~y$2o-rFE#E!s>dZK$mQA~h*MGJsLk2otI z;na}oc|qJ}JqGX9TndK4`DlHn(fN|RV zQzFA4K=nSS;Y-wOEwpxjkzGO@tuGN40%8_e;Ib~rR5c%Rhqq-~o!{~zS)1LZ@)zE6 zo1EXm(GN+RV^#TXeeF&-))lDYOH$rYwWW$HA*xc9GGk2n6`}pqh>-epf=Vu!!ydw!>JS*8%B*@omDj~bYV<+ zdgV#khnmX^=fpiBk!|z4Nt|l188NFu%o;vqMRsigZfOa@)fDfz+Z699^p3p|LL;&x z+TaJlJj{Ag#z*6jxd1SHgyl+X93Z1s{0sF-IuX!)^*+|AZtT-HM%E!3%|OIE54f~B zEuxo^E8Mx<`R(N>JDwdG^)pHO(bJN&>F47AGf81H&is7=X^$D{mH5s4Pm$*o!cK(0 z?7xZUtNbqdZ-INY@td5d*(f(T?u)`>|Es%xUj#>KwJ2`~;EV8Efd3ot{~44=ac16H zqx^RK1`wZ_ly(a61h+CNZUMqln8%@|bv>9ugi~5qCBnAW!bI5KdMkxJE*mC;sILoF zfpjDHxwqBFsb58(qAO$5(cdG`-?7nD#`)axYopxrQH|gO{wcR}x18^vC4LgGtty>ewz`amPy zA~1D9O*_Ygx&f}t5@9s2B;OF)zZzv>-_)Sqd9VPIdMV=gERz}gVj_0PW$H=bQ%;zu z`kCJ@NO|5;_4qwV3+<;THW?HSV~9nulxQTNNE1zY8FFK-zX zT=Nk@9zvu|O8bz&@0{p&=b zDFBlDiPZ6Qd8CLYEkRBb(QXk1Nhry;R_v#qqBd7jksO=)GWAdX;}k3R!x6=N?n-=4 z*t0KXp~x9xWX~@rbBFZ&wyHs(WQtl`+g*jq*7caHB!kNlj7>1YDAfpoQj+VJ#Di2( z47DG9R+SjP53reEir`U!J5e-G75>-Yf2B{KhI2IF<&}WNT7-AQC23(#hUPA+p54{@ z@4#jxMVEKM3Yxn2t)KQNb|kA5>bs^oq1lG2+(G2hE~!sa^I$X2=uPT+?2*`VPQ-@O z1+0`RCZOcKo%8DB)WzZb^u$L>L~hNIrD_xt>nknf`8r-@O=?M#Jv^0P%o$>!fH*j^ zVLe%C;Zd8<5^VET$_w9Ht6>CbnegWsaiIn~8s5zaLPyCg}9F;(?6AqiiiG|r67+%X>gDW~nE zUl@mHE+Vr6-sv~qM7{Po`MzTbNo%~7*^bh4bF(D7Jh-&tzO4AU=-?kAqv{{4j-tuL);Pleoz@2GtX_#tsl0P$c$UXH4$zo0fpByvvM}uChyU`lK}S zC-W6mk6V>wE6xUz-oZwenK_)V+43w&;o^pQyjwH|ZS!t~q5Cf((0qz;4!G=)=oV4c5ImSl0t(GHl+(X)Z;2m~DYPx+_@a(y*;2~>ATeOaBxu`w?^N>C2;xa!PC|0- zN!niLo>c0!js)Hcv=>fVJPDjWfjJ>KI&CA|fQy5!26zGnGjLE*YGW0BX%Ga%IZ*IA zxQrP7t{HScUQz*gJPF|HP$w9myzg^$XiS<8KTH9F)soPcczFIuD9_va?}ORKd+Uf%ZtRhfIvk z3~d%99!lVGAb&!%60p%kaR(Vd^{5|15tX`uWq&3*Z*iI+b>{S=^5BfTrqVIUh;!jy ziXsf6UJCrsu`sud&vpV~7VkuiI=#bcw>dG*b?yXiR^rn8yHoUmVWEj4r($9(j0I3- zNIq|pRicTP`Zy6%%%X!yfY3ALX{Lm|cF}K$;M4tBBuJDb)_;%`Lp#Cd|Ga#hUhkq) z@d)SPKhlr-3w&Xz={>$FA!BeG7R?Z_Pk012ASF7AkX{}S7s(vdMvR$$`uIwNW4@XO zETCX7k3bNn2a(5LLwU>x)G3sQ!C5Er7>6%i$Otfr#cCqfsOL;j9$b8SI>aj=0dQNq zgdTW(e8vD*Z}J4YGe*pQD2VWYveT2)z!2)39-pa9H!2aqSYMy2`YKFgn4L7)0J70b z%9EBYpGTs0Q(jF%A{l&O(=Kub8=C(Ne~cGXa@;oH4HRr+jQ@Eu>8ZF{YTPa6Ajaz8 zwFn|!cZEebq+3nGmEg!ziR111McsA}gyfzldj9FT!JyT(vu{l-k6*<&yd&_8B-jLPf* zM(tCPJ*HqB!8)fvbV_Ij8?4oHrpLP5{ex0720w>*bjACwO!TZ^gYv<(HJ_Lx`%x2N zVUzxvYXKzhYd)o^G%1cED~+cc?OJRtgLdBng9)|p$p+MN2P$QtO5xK)72{uM3~-r} z26HoE{)(fPYObcfrMD}8fTSL65=|>mqP488B?oOD8AV0Y8web8?kfV_P-s~)9)fQj zM?Ymk&{|C!LHcgb$;cjW6ldHJ(_kZ!9C)-HWUZIx^!3R~Z(M(dnsu5{!P-iW#$rP$ zHHsb+YWkX{h&mXP#$R1_JftvC{HPr$RVDXF%Cj@$ByQD8?wnF9me{SGwXmx-9at&s z0f4SeT2bEqr8;oH5lIL!Us4sk03JkVR;sk!);6 z??$!CKcHoR4A6-%#1dX6tR#J)9Cc_hU>H?t?P7bVE^5h0;1ZkoUF0wvjARcW+pazW zO1_)MB!N5Vio%jN|J-O~m5Cy$r``(&89{YG30f(WI2QOJUIxV0sN>P!Zt6;PQTO0Y z9^Ct|!Qizs>Cw`zV>ogqIVB@*IHdV9RU`$<{KoWT?u;8@eH%5cX*c8A1uDAbPEvF5 z4JJ25Oh{*bhvB%=a88Q!L#1DU%5W`T0uz$2M}c7LMc8n44m4!UTpc226m=zxJN2eY zcE^-JK)$-*FKAYcignPXUsTo3f`Ww9W#0*T6%^Cfah_0LKZg8nB>(yo?&TW(-K;FQ zGhSgNV~$oMz}8bj)jSVAb~D9*{a0NVnEMH)Qp>Y0bG}L(JhlRZE)tVZcC#m=+$0?v zW&<1Q$Ta;Hz)qQEOC@$Eo+)-}KwRg!iyW9*YH4bLKeeRfic_BfOOn=?4vKxY$NH#O zr~_1jzt^s6=@kzUf9^EV??BDonlzY~nED zuro*=%xH|RJjCcYYtGVftcr#S&Ndn4%dozr6GS0HDLMy_Gm@iJzCNn@+^Uj26a;?< z%FDeDzD)+E9)e0X2T*b+jT!Yj>J-pgqn*W;J5Y3OvruPKDI6)?D)ti@xh?Cm{DZh6 zU4n2b3E(u06HGochbytl^+u&H)h-I9v>R#aWf1Ed&R-uA`qMHS8v@=8I4@$?qc!V&Pk}s@*ImZHR3) ze~qB7^K(W47IGhu@AVjQ)cLW3^udT}uIiaWy-Si8`_uYoOdz)l14E}k-*lhI(y+9~ z{t9!5UF{FL%cMjeA_%D)yQNlTvO&?Jh&d;)9BDX#dN$MwB!At!02!ZWmdm|?!da@SdE^2W}2f_6nb=5z$0!4Wg1 zY#x}4{)9|gYT!(Ia%!@>U70-ISDtEA%Eue=Yr-#EnM(M}!7E~L<)*n9!6-i?8h6TKK zX*|ruh(gdZsMl{?J!2Np{f}h{JCv4CLe7 z!7D0@)mcK7lGlde@1@h(N^D3$C)Q(sXjaRq-EnKI5zG6Y@MtDwV}h4!uB;JVxUFVY zn^~s=m@F47wKbnd_!jgsLhyIp4D8mamCTuRH68IrI&iaXosoAIzVcqiWOtiV9*Zj? z+7u+|Y;?Q&IQW+!m8{VjD(ZqN0xN$J?t#Mlcp+C8#UldcBZMtSdWHR|CVwDWjhfKK z4E?bE;%@y2Jb}|KT&E0|NxoeRLHc~v@;2CDD^S&N6PvF-{bx#SQmes8rS*WO`b%>#c~6K&vx1=m zKA3)I6_XUm`kX-mx)PDr0)1g`g6}YpdqmNKh6t@@i-v7x0n*!mq`cN`Z>GEnN$y!B z%Drin-#nxueUZzmG#sF|dGIt*U6MWN?SuGrLHkUOxA{1gQpg_vsEjl$-&ACjf=--b zd69~Y^{yT~;RK@g6Gia+5FsbCpz=JbA1!Ih2dck^WhAPR`(p5J)PK|wVmj0Se$hfN zBN=tjZTNlVCafze&pwBD*@y%5S(?44OaZujVu0AHb zU z1TSUW1z;KyJ2>B~$I(VqQ}YmOE4IN>V6yBl8^Chmzrpma%Z2}v-EHtUsN31y3R{54 z3i`$Vf{p`}6Atk+j4$D2L46Q7qk5u?{13gl%8buNdWcd&YTU-IR=~`FtIoKGz|bG@ z41{48$h?oimS4ZBXw6!g?mQYZ#tKjEqqOK&7cN4>)k>?axB|_!3U*yNhPDT$dVzC| zjg+{^DxrJh{6XTW?SMBwS5|Nz)a7UeOqIIg9r>;KDN{ z8%ZU(43VpBZLn&CS7lL$6fBOh!Gu6jM-VoLayz703}s)60t-+y^p&oxjTG)n zbZy1IR$^Wb>q5ZH z6e_WEoQ3fX=0VJH%uXDi7yZJ%*v}wgX$Z>zob2ko_URAu&Lcax`){W5Yx*w6 zq@&6QO2cB*iLlIvF{r@#bzU(aIl}d*aXfA~kM6I2^$gKDhd! z6=zo3U8tV3i(IDt@c-h}f+IHPgzks4$`-a0JDn}p8mz8U%0-w8 zFyUec{HZ}UOkbEkU%d%Se^f4U3i98)u6JhWmzEI{%Fixx~LFf+8WIP55j!#>lFnDgh( zK(4v7XU;)x!Yg|&iZg%OoNExAZJU-&<(M-q*S28p+}U&IaBXI1k>6a$bx4a$Y`J#i zx636`#Kr3hyzt){QG|4= z=t?73jT^aq+{ld*;7B89P8yjzX{5tCa;-En2X66(4+W1Ic?Hyb$Bax{uC2|=iHAfo z3=hB{9G^hm)1xQH**h+n7z(ec4nTNU(d z&bySdRbiFZpI1db_dWWWXIlCjmOJkUfMVQ$LF{6=mzslxL2+Fae}WR-!y={&5XWEe zF!UL6GHef6?##wFslRdfNVzYv-5Tw4Jx~=Lv^~&#F+wG%^dJ<{rk?LMTJGA9m3eT) zy_J8Kq>=_nnh1&B|1Uk||I1~175NQ%N0Q9IL-tW@Uw{`KA3NdyG#>q%e%rL~@OULi zXMI6qTFv_=JWkGUwKfT+G=IEKKN`l@3Uy@);P)h;I&YsZCI!u*GX#V?oaPm)ak zMz^t9hGZFVFp|l9mF&br*|y#${oG0hBzD48>!<14O$%LbDSBxit?=jzF&0H$5@X+jAT4 zfQp7QClJNvsXPbI_^us9M}~VbB+)_62pKijsluKDl1LCyDrm=&vyLVy+)hA@B=Be2 z)W1H?jeEf()Cc9lGEOS=x)nVjlYuym4}- z?%ho}86lGb>vSSLo0ZGc)4K;cC8>296^#RoB0wZ?_RT&z)p^BV&!Qk4dN+e3Bjan? zg`z^It3z@_3$vxt-SQSz?(PIl$ZJ2<`T)HGPo0nse42yFf=Wg+Y)#j=RnekOb&WT4=TSDM>d`Qcj*3>?WFsq=iWLMLP(J?oR^!Z z^e6eWRAr+vq{$_CaXGXu(u^UWAQ7d41f>ARzj(i`8Oa3mTq!v0D}cSOME~TWiu;&1 zXxWmB*7HqZMQGQtO_4s=u_V_qr8OB!?fqDz+5DPs$!kytI-(RbKqFRi4GFp$g03S$ zS5we+LY?v$_XLOmDS1tSQUJ?6;VWpOgQbF2Fii-1A;X&;^u?;2@1aNOCI|_d`t2?a zjxbJ07#8`c$Mq1=r&{dl3KMY}DMN5OVc8We!e!ZovIu{zwYPCnwDGGLmvdnBOSbz5 z?Wq7iiKNx>pP{&`Aqq`wV&XzWK)#;#$r{G08jLBvg2Pp?hjv(LfS6NtlI>L_^WWZ~ zxDOIM*UOrqzQ=tG%&kA7_njg7wIpXkyL}QpLpd&1k^HjDmVMv=Zy}Bpx@2^rb!< zh0Rh5j?o3N2{~I6eeT0mLxV6>B=AevfbV{LRYj#bQc6hTr>C&Mn}Mk85=+-S=3*#?a? zVHt#(2uHytKSmIdAU4x`j0OV9l%Ax7bv71jtFtxH7l6|o?Xr>sNiAE3VJd*eWQS$j z#c*Zhwp#A)CA=idHkyO9m=K^smxbPQeNHk7&EdqXb()e}uhd7{S~6^hH%*3l*NohH zH|!wSC+8k!+p>5=-U7**G>UNgYJi}tUQmyGH5-SQkmv_P zJXF>!6y2BGm|kP?PlPjQYpsn=t({>Qt3gLZ^n6J+0|Pj^ZEC(BnAB?C?1Q^DIz>dU zC!~TAc)AhdPMe*)mr15pIgvyMeyB)`n<~r|X@Uop5q*}*s1ter3>-l`ie{!=)o%fh z>=4RV*3O84I0;NlQ=KWBVD5=#1;6AJl(FBVRJFrEJ5H25?!(4SC8$W?W|WmMF4TsB zWfH}LA}hktQI2qtL1uE1umxgmUHbskUSV1|R>$)|Ac~H!PoR%)-Tq-Clvf%fU6`YqNXDIBSSN(p>~de7>_$q+Jp%i^0tSudkya- zK@toNb!6($M5A#B5SAwB#GdvD7u1egssEviq@3FbE!R+y&VxZ3;%MGP!=~6y42IGZ z+9PF32n=Kr#?jHwZNM(|{qY8*^yn0F)N?khnVu`Eg2;R;)*L8ya-av^V@?;eu8hFc z#NFQm!kg5}vVMnQK-rMJ-I(mce&w*=oT9uP>Bi78Dd{lw?Jueh*S**59W%WwGX}3v z-}@yE37WxR;rsKI1GJIy*N``9qiCKVkSDJyMhFpbT5?{P0$JgqMg?kTyG3srImJfXGAO|TGfCCafV6BM@Afx z0N$?oM=SY8D(u{NWlp?)fGyG68|(yn&R8sW{R~my z9btIaZ~V){Q8*Zcpo8mjcwK}&5O1lC!4&m}2Ov+eok>ojZ!MHia5+K+k98k?qc1B% zmGv-LhiPDu$+y-FokPXd0DTCJM#FF{mC9Fe#OH#>o=q^vjBT_ei+T~Ev1mjPTe z$@E}a?MJpqEZaba;jSR}cB1sk+cjT7TIHAm@f%}OjrZMh&@7cw1TJEOhsg+YA3OcN z;dS`qJ|!66d5bE=g@ib+;%bHQII~tnG6v2!#Yl9JPKSgTPdEpl4_;N0*gTe#61O#iMW*@Hu)7ui^L{qrhD3%Sy!M zKhukeA}{urnYQMcs`5H4FMj9CG9_ol`y2_HCBRf)^wzwNs`y}Z#donTXuUxd%OHLs zw;C6&UDa1o%fR7*E)&SqhV{8JCD)a{GE;I{ye}&reVhQZS&^&+CCi+T zQ6Z`^AH5pu^7LA^g&7AF6?9z}pqA41O9unrd0vc~#3YIFajOQIZ@;v7uAo$S%6Lau%>~zJk|fS$~V{ z>#|0S{uE>IluR-!aT3dy-Y%L@mw4p%;C(dPCh@cz)+Y+lKQjgm7}&LV=b4&`MFK8% zu`egFxbkBtX;q$qmKJWvr5Z`{5M4_P!NadjEIwV+RZWW+;jI5e>h8wmc=?u$JW_tj z>qvs|BRnDA1tp`Cuh5wtw$ChQa~x~bD(nI2YJ_kdl(Xn%JxTwg4dQQ*bXAVRk{~o@ zaJ>NQO=(Im?U4mIevelYagc^u0OT#ax-X*qa*P?K^?jhCG6?HQHaw!d29iQ`q_VVF zUhEAe^Y4Nz7n@;gXPp>uyCF-ZG(f7qDz9ZLt-OV1*W_3^2D|}_cMv+7$PRCP=PRbS zcrpN63@b6v!;r07lg~PDlViY!hSNxj8LX2BQ~Rga;qE*&1sF#kpski9Mi#8c%5glL zMoJTlV`>A#SB_RwNwk#?wlVbR?0ZEwoy9s~qEFnMP?sgBK$f5hg3uQ$Wr@W~dsWr| zhk6>}3Wi0irzsM4CaXX>6~`dB?qQb|oo&>w5Ty|rf^P7bpo+szK4?WErlvutyVbIP zVrIp}r7i>B$(DN{HwD=sIkp&ln~1$wE=itXsjC-GHB#UOYv8X3E|c&@5h5gJ?s;C% z^aKm#*vi*wc|{l8!iDh(1(x2<7lE32d1{|0MAdQCjy8w$+(@W2VR4Fat-kaYQ6?k6 z^YFtAIXLy*>YeD#9^8d&!t|<`fMJ+B!u=P9O@A-;EKB@iG21YPL18lXgDNFfo<)Oi zUN`U+`XRdGnL;W%Mma_}db;8r`3u#jnA2m1#E|?U_$;Jl2^4kGLLBH8#B0-o@{tB~ zzySu@_gt8L7Uq+%S{iBzszgvv(5o*UU6Z70N75lV+MkvZ_#^r=Lz1!1j0PRNUniizVkO(G7>1o%+`@<`$e zrf(kRvqAIpaoFU2(PXV*HJVKAdM>`|Yi*6V~HXVH`sEQ32bAWQziu@DWz4CF8}7opZKpZoweZn4K`i%hvFYW+V1Hd zhhI739t;b680jhA&)~1e-v&4SbQ2G@oy4xn-RXn<3`27Xv5QcFYN?rsCjLBZb?;Gj z9f48Id*BL3QP;kI{yr7VeO#DuLSNlL+SW%FxiZ3m`~*C|LJO5_CF&8a!u_-)<6grf$*%rkC9vG-MPTzU2oeveF&6KGaG^P& zEFBs_>y`$}DEw@^YZG9kxHg0Zu8;3R23`xGk9F-Uz=I4H2XFxP&5=cN5A+!W=GSl_ zKM|i)qw+WagagB$7WM!+Zc_q|IWT5nm)mxPEMVpy0Z$Ymh;tv}z*oPo*&wHEwH?t< zcKSIn*@&@kkb73X_81}u`ru{R&q2&b^yMA#e0S3(yXUnh(~qv332I?^_8*E1edh=W ze0VK-cSA)l$ei*cs{Hkj`^Sp_Y0l&X<+8BSox+{ z!I2gs>irkKN=oyu$p`(CO#2;C;~+(dZ2&=)jZjt}SwTiNVp(>IuEjtu)$~m>JWbis zE0mlzF)*SWj}7wUG@)JfTTBQT9ccaBootv6Oh=&iyfpv({l1x4rud^aBI(@6srOQ` zTr0W_zr%rr9PbErgYTnU9H}?8k8S5x6e9O9DeWH)NAXV>GlXNUi@0_-llG7XIlg=L z-MSN9Ym81KS?(rtn_->CYVjujwBr4ge$3r}3!xr7vYn~#l8*Pzy;hVG_5pPwe*+Wm z=QQHYWV^sM8aIdI$b#dXs8ORbxus5cnubEgg;j2pnxmiiY&&BXcu#N|@U)4D`Paf6 z8Yq8(Wy^NL#sE~PJil{n zyJEl>#jXcExPq=_?92IJ9nb*eHXC97JT!La;V_tOqf}wR1$9JikB%jm%LJ7t(yO+3 zccKQ+_P__#r7nuLeNW?bsxFE)unXX-uEs{7__PEYDcB-fLncz}5CA6D0O`QLau^Yd zPe&ro*y76Jp*W8CY67;K;t4JMn~)0@q}b<16<79@4Amu^@<*Xl35bV@g)z=<)k?OL z6QABH(;dDR)PU@jK;utc^G!&Okk{WM{I(Nzr(pr3L+y`|h6Ot9m!m`anW4P{wAF8` z%Sw>2+Yr0)mw|9m%6{;lhceR^BLb(_VsqZPqkzdBlQJv54pC_FJS#CiFhk#4G&u>P zS_u&?B`aRQ>p^i$0X6{>#8t4f64@#YxE&VsaM-&5tSmA@A^EZrSpFEiztnd%mP#Ql z+b!OQDKBEO{J2#W1fFYEg(`uZdWZwQNaSD-u|m!Qe`E>9jLWhvQr<^Rt8bD5#^P$L zR2(xc5tbu{QgUqnFZN84(VmdbnD5v{E@*orp@}#ak%k5(3p_o!rw=#vO2J54H}E=L zuL}VId*%xIwMwp`D-FKL2I{5{lG@O-r;j*-AILpWABdIatB*0m#7O0;#(`)^ZW{vM zKXT6!B3<~qfPo7bxPXBR7`T9e3mCY7feRS8fPw$VF@Vhov38`Pcrx%@k7om(`|*&? zpJRCbfrpF^&>7Mk+CGH+U5W&k;~9(R3Op0>OvW<}&kQ`X@O1ra-7LOaIbR63PSw5- zh~El?R|F-K{x^#L^pDQpo$+1&jG;fxe;WT8&hsZCOy|Fd^ZZe`;EH!G`TzD;3Zx;@ z@Jz%r8BZpjY&v-1mSaef({d^u|LOdba$S{XLrw-IHe-)8(S(fm{JXT@J$xPF|Ke6>Ho z$gB}{pnA}=2&Z^0Z%ER&c+TR9coVD#JiYMr!IOw*2%byvjK*^Xo=JG7;mN@>7tcaG z1$dU@S&8RXJR9*;;JFLW-FWWB^Dv&r@jQj+c|6s4_T%{zo;UF{;Q1?_kMOkM`3Iiw z@Bqb9$`SGCpFc0MBAP%kZqivkniqj?$fYw&J-P&(HDP zhvy+YkK%a@&#&=3h36SOf57u1p8a_0@VteG;vdD+i05y3PU86z&nY}XJSONJ^u(k6 zJ@9PgyOaNXS4sY&M>2?1Rs3>G^pw}0>{0T}mX-AFd~M|9DPyu8T)VSiK8HVe|E*It ze{+BDT_65|zMD3G|HPD`Uwxl9^S&?WyYZv)<5Rv^>HgjE+Xqj^x7u@T@2e{>D!cC5 zTZYqj)7=|wSHJds$Da$g{EWUI_~x&-U46xrSEt|h*`Mfp=jqz#uKwYH_kR8SzR&5q zYES#gtFNBAEq=(VL8Shwesbl2sfUgx7xn+dN#6~*OYKvyU!L*NT>o$AJM-h)woI)a z;tkBJ{*t~Qc<{l!Qy+Se{?5=h{&d%?#7cJW(vNc^sB=iiDgW2Z^@Yv{9# zf4BVge*P_b>n-}V-ncVjI)2r4Iakr|WA_YLh2PB29!_}-zdME;e)T>4rd|5&E#@qQ zKag?vFyq(18acD)%Nrx`UH_oFtVii@URk9Zqgh~6|R zIaVRF9M1oY-?PzT+R>6n)A6T=$Ee zWyc*>eCI4YvuNb_&C6?&u6}7azUxgd|8CUP`S#Kq#`mIb{#a8bV{^6A|_>OkfBEjVEfeBW@tyg-<=Y8A|JA!~55Mb3!*|u( zrPrhv=3Q5_>G@w=h3|&pryiXA)fEMAJp9yLsbNxxWgQ z&BC|+tB$Sqo2yTMwa4=I9DLv8I`ub4!=D~Y_~oB2osaM8Z+E3EyuSRPqjdH8P6 zS%1g%A8tF)|ES^6B79F=SaGc2y7EVUIcInD5`0^ay>@Bg{^Y;({KodZ@ZC87+FMuOSabjK zN5B54guc_pAG)>Zy+8PF3?!|^_lCdC?dSUN%NbvF{Mk*%ZKEbVdGm(F_Zc^4%za`V zzAHY;e))D!*|u>jm&DwL@1}v5$8G*}_Yc#q?sJp71{|_91Lzoz3P-58ECU*6M8|XB zrkk5+p6LEZR%9g5{N9NoKE>1LlJ0RYd|$x81q@ukzy%Ckz`z9zoF4-{F`e?x1u{E} zXoYp*?*axcVBr5Z7=Wm)X*Ur7bvoATbSL}oA!&6+8b84b>p9l+RB8O!l(7?}TzSo! zk}~VMqS7)lH#o9vv~_u*Tm&;YWwBCTS>eq^lgMz+;xUEg$%O^@b(SYP>9@2zxs-m( z%9G0qtgFhFuPG~DQBq`G9CDV89Xqxl76x@DS+fdPuU;ctSFBzkuP7{8aa)n~vXRRs zT_yr&P_j!#mR(|{IK^vVYzSE^pLtrWkn>GFMY7aT*lnS<>#mmFN}jBbli@a5{4+uI zpt9&Q?%gU)PL_L39^>jmG8sW=J7{)*p*yFXg_<#B^E)GF8jJ@l`wx2B$6M|?g_yV{ z(T30jY>m@?C+Ys({81|8q|sgc}iMaE~AEgm>d zW%Z1Ax$!o+*88(exFhL)Y|){oZ&$BfrNNd9pdD&(87pS>w89mHYgx~aJnlB(7Xg>> z`yR$#g&*$fff_2s`vHoa!Vk(_P&_8Tvm_6nhiqVZ`><(-R@iNHvkxh)xS)o~bxoz) zD79wz?a#S1q6K%O1=SY;L49&2z)Ua_Ef{hq(}JE)LJF_wm?qx!AJT+LV$d&#K~h-X zD&0tf`6rC_Y(0MXXdfr#W-ZK?M&!Ws+PJZ+maShdt=9?1Wirg47Oe)wD7y^Qq13v* zbcI}moR&?Z4DknAQQ1-j2dM=Vn4rq$IUBJl%{dyK+Ic0tCew?%>K5?JgI77P3we~m z1O2oeXhc6%Rj1ZRJ!cKBes-sfi0aK0M^cY*98$nkVJuCm;+uTw>qf9plv;8b&>JcwtD`ofFyrLj&SwCMgPcf!9P;^N zF+Ru<%Kyty-yROxHxkY4T8>Gg90z_)K;oUx0jfG3gHyMsABB;G+X?qj!E5kxs7t`f zLQ(AM?@)H#6!ayymmU6g)bS8S@s zyYxhlmRGM^^&fU>OlXw4z*@G(Rl2N*XEYh6c8g?k#!7T-fIprQ&xyFWGZD{yR*|yH z2$^KfcC9U0u?%ypb$L;lykd1B+xaE%=*_FRb4#mAiwc*EIgs_ST_%leY4%7UQEde- zzmw(uo8vs+t)|y1cO2Tu^W8dGn5cAiL=%<5EeB1n0No^_NBV1TK>I5WTJ>zn7gB+n zXF2H-IcHCL^`;lMz>>Q`(%ojX%Gi)!4*cM;FywI+JUoX-VfgHQoSPOYeAzE`K%{q) zD@F)+BQi^U`}&au+4T1|^`}V2`#BEo?d%9Z2(^8B`g@zdpdmMc=;Nj#BJ2A?IlblQ z4l$pziO2AE^#K_)Y%+5NarQwS87e|_H-(z>2hVHUN8Ugovw9{|Dl)uwG~ z2%}-I`O(liQtEflyJ2S2ohe@_RJ<*OTjDikgKkn10HJ$4`^O8yJ{tn8ug zdJd_tF)@Da>aP%yI|>Q`3ICk*#!ajJdn63%u&NBUs}>a5F3Rk@4}kL3kA0LyLV%Vk z!L$c)_Xy`{a?+6{)biDo7eq!6Bf4EJMQA>Gui$8ju-HPmZGJ!`cRq?(elKNgSMLPq z5SZpahJ#5)YAqT88-!0ya~c-koVx);O+jjPVMP}l5en3v@C(Dy0!A6*NUPYhVP%K_ z6umsBFw249&DsU8Ct84DCV1RmFumhqN@z{!apwT4{}HMOvZ~le4hRcZ>@&bI$rbH? zBm$0=;~eTR6rBZeA$}XF9L-v}#G%G@^HV;kz-1j1*ytGBkBv6S!?wm&#gWd6Wq%C} zks0J3o`Y6ltC#JN!2%f)xf&eK26Se1KPp{KF8>qMqZZ%r`XL@BqSJ@!fEqZTz^YWQ zMkJ;b-F^BlzFTt4y8oQIulvvUD)Wn0tyzZwivo*v4)0l3lv!zYl`xHmWFHZyHL|j1?2dxTcUX z8P`?Lj{wNoOs}u##kBt>^fCgT>NLmcezU3P8Ps>6?ZC_V#trJe8};QpS@<%gzi+ww zZ^)j^o94C#)3&PiB3jg+!0?}BYm}!#?_h&$QJ=y}TOB+LulT7{W32N}IMixh8-%a( zuSDL>YpFh4b5B&|Hg>{oU5XBiEBitj`Id>*{t3G}5qWB>{b@+6*=*2ukEy|oDPqyz z0k8|z_19=)lNbFe{CLs-E*!Mzw|MJ?%VhEHhf6H}ADW3owJ?&Eug)seGh@XTw$IZm z-|0Zf)hp0fG4M3QJ^*Ks^Y~)MnfU^@H&LuO#B!3VgE|$MB}*#m2iUfQoK?8nHp+wX zzD~Xv@6~cN-g8{9qDF)hsPaO`1ou3Svb>lzu%^jmdC@VzZ^Sh5_qmkbi2g93Hu5va zLRCS5QIc!4x^FWQNtlv}&5z_7$3|_inc!_ys?#58@Wpphs(9GNLEDn?sqMotYSor` zDD{nisLsbZwzjRP+sI_;g@;jvq9Zy@g0Wd5O72+nn+FkuLaD!}=!dPxcri!Ix$tma^qs@Tkj^)NwFTkGE0**4 z9#xja5Jz5FvfR3Kqg+&GEiNr8iv1VcB5VGd65Qng_K0

    56ql){)Ds&cZTmkgO$z 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

    5}G7O6ksM z^A1z{zzsnC>03P*NzzG4zQW>6BuT7n2945xw+s{nG%Os#+$IHP--4QXmqMKlK+#ih zW~kPalji3)$zf5ZRGvgaK^*SGgd9yA2*hJtFz}gX|j`$7syrOJz6+%sl zt$IBG8(*HHyk$k$jc@)g+59qXd-1g_;JFK%Vl#;S&L+j!B`k_@nsR9TfCXEO{YF^iJ|-x+4l4apVL=L*DO`frWb>fPT?75s)Aiv8}Qpap~MT%H)`6h%q5V z9~X$d$>y7IDFbXZ-!HRD7~O!ib{^7iDo5|Cv+;x)=-l6xej$c+X~%1xBUT zR+g{*?oBCRg#-U$JR+Sz2)l}A zoD~AcAX1{Rma1NG{`$CjJpDxPpH((j0uyc&4}VCN<`3UjlWHctwwCiCNza;bwQT*Q zVGP^}zUmQ@v;GbEGuHzo7KF<@%1*hCnrIl)8YYYdr8!^WI9Y#1InKH`%F&V4j}N&# zn2oQji{u`aMHMmZV5PttJ32C{GM!!29-`H6ae&YuqyXlV*x*umR#JJ+Y>Oppg&Bw% z?BUdd^C4z=R6f+LL-T2irMVRFMhN9~7v;70GI?>GL_D7KB6-m>ot(qK)nX?if-S%ln>1#m3Kt2^{=U@Ct1#ItM3EEM4_}uplr1O`KbZwb21bs z=d(SyY%M_W$y}VIxH2D_qzu;>k1`i0%hQZOcH0yJ1nDz??uTItj!5o9HsC=QO$cm| zKCIkANJbRBRm#KuxwUK(3P(7dLs8|TxIw;!E0U?jCd?u1`5+%Hb z+66>=ld%`bh!5v0OGl_9Xk`L?9|^p7nuCHG4Zm^l8xKFr0hL$S_;fjceZX>f4|N>A zU_+pEv=}HYov|%?{2p4sARuZ4VFhswe3B9M8W9z)YfY=frPsBbO$rSkoFw|-79(#C zRdEmD0cz}0M^NV&eCYTrDH)oqNtN^}tb8@n=o@ZCPtP*jt1Lj7REUFGXmbh6bvG7P zo{J z=x^sU9h;iXbgYd9GLq1V;(#8V03_l258%=kJJb zd93%h-XJ_(N|fi8(MC);(+HJst{jU>gy&FJCZQHzm8l32>#Tl|3y|8{1ysdJxb_8Y z)E9%lKER|yaN}oUt<{N8UTa-)Oi&lA0Bvc6PYX8B<0M*odIIrnhK&+RQc`(fUWLYstg^v$3nqDiETOqU+8ai({fBm za80!b@X!s=E)#v+gbia$HqZ*@e`iu}(C$Nyle!4vmP)Ne|Fr z!SiT4EnY|$@gr=kQIP-}lPuKlWw4O=>|xXEyUE~q)lL5pc!9LrZ$so~$rdHj``#pn zB+v4_`4JrRlIxOXOP6Ci3k%zk95 %!OaFqva?5w<=ee&P~ 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 z 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

    {xakU<~bE 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�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

  • M6=y?vT zZH3+pI$vGS_T9AHFfJ9${mP#U=H5^OFw52g{;P$)DI4#`5X}9N>4MjMhxe2S=6=U* zg2!OKZ~-$N1M_3P;3!~^@Z>>PO9T(ziuWG~=6?4BCLR6pDZxjJFg^-CfU#?vV4e|r z6_|O&ApO^b&V8kWz|=SX650Dg=e}@*V4j!w)WkC|uL&Ll`Ft-pt_!Mw`IYJLx3GH( zegpd14>%h1=ClaIF7*BwXNC)%`<|l(bN?t&c#2S-DMIHyU5enmO1x79n01LmU2=q8 z1RW?A90$3T3r}zG)CisX*Y^wdVcoP@c=-O99YW`x*Dk@_zy2dI>qWoB8$#dwBKBnj zbIhkLTa1g{wcpMcCwR3T?;#M(ef)C4cFc;W(?2t_(sGR8V-l6z~?D7@CF=&vNJOs znT7d9xp}Uvc*9ZPaC)+f4M&FG9Y2D>+=48>*OevEnTO;AOuy+h9bDK9EAm$E)>gE;`2B&eH|kg6fOp@3srYHJcWfm z6t2+c&v$wkwNGM%Ayw>URF^q#8h0ER{$Bi3LzMe!{zZ5dQb;{0TT5(i;=zy zk|N3?Bx^>g&*gP2_T>6}5C?>gD&{%7N*>{Wuh0i+y24=w@?37D3hpc|9SFWKFH6gD zq>=6NAyin@NqrZ&N|_JZ)j=+>Bp7+Q-cC6E+1|yuS-u>@U!>k&bZW)r4N4tEO3mcuNa>&Jv}pY*jPtb7tgG8ool%7W(sx$nJG{d>sQ0^sqKQ zhJ>@Q$bo*Ck(poQKo=WID$#9E{nx=x_ovpPZ9g5=>Jkyus@(4C_mtab6UM|$# zj5WJ3oClKfPAgEUvVA8N7NAQ*(x^#hp$8)rFiPR{3nFq9xjc@1wp13o10*fI05>t3 z={DlTHo~~W+gUlhrCy&azeD1_C09~*BDx5Hfo;riSi3X0Y&Smfk@=yv=B7Vl5sDgG&W760dyGTfca zG?;ih)*-i`BhBH+$VJ~R^moz>xCc7s^wXBq;qdzkp|I+krWL~_{LaGw0Xqr=6L_3i zx$2gZjk=cst0oV2Np8o?-Kupvl-KRf^Lsl^gl?#GM=7|e2py9^7tQRH+DQsDOFH%m z^aj{99nx_43l_naq7j4gWP4y|cH}|#bvg4nHMt8-Moj%38LbR315VH2DeAPI*`6XQ ze1~}1`O1pzKzBIvay*3OJ)w{vredN>YTs{6!sTt`b*AwIs14E9&UVEOucI!T6|*6T@BDNe$hcNIGPMHgR<(aq4U* z4Z$YtoZML=i_oJxTHD0N5AUW4xQ^oZYOhQr<&r)?<^}!NS#Rm zes(@^p)EU2!dsf(X@+^7R)o^* zlpSLm7F```aVSl+w(61a0AYUPh#Th@_@APz3KbiuC zixcQmIK_+L}YRRG+q^-E3&J&gy*5bhte(7wx+aY2;!~=wy;{9iqjr3IFjzTvoipe_*P8F9ci{30w7fQ<3uxW)=Fdz~>kKpw1i;xOirQ+NT4*krRb*W-jt#QR<>G$z>3oE6OJ%qfVh) ztri@daI@U#spdGs{PMC?eqhBgD+O>la{M9&IRWGBW@rX4yYXhY5-Bx{lK3JbDFno@ySvEoz3aw8c6x<1fws&vY^lk3$P zxS;`PU3EkGq)3oPLHU)0+!V3LClOG{3{(a!g?zF-Dv}!Uk&*hw9kw;5TjmVNx=Xov zgLWo7NXjK=W-abiNDV`eqa+-J255sN9XZnDxZjB+V`%cZwO-POgV>Sw~JBQY-zHn5qV)8pY%TL~EYtIL4z1j3BU=^kB=P1oUpD8TJLp32c_{Q}u zy00KBxWLePFuSXf2U1g=gM*Ng3N2dlnFBMiED^M?-Jw13TvY*ja_P^6LPC8U@C&M% z`=Em;2kHa=XP%!;qgzvi&*9k|bR1qZg?5p<9gAGF#lziJKCjRT&o>8YT2Wef+POfAtntvSd2o+~`v}}0h3Gb!NDGb^ z4rSVnY1&fQallg5tGX6i%~P1KmBWEyqQuk!wOOE~;YHfI!>F9YT?v{B2bG9drJ}Qe z06Ds-=0ik?lojK!kAl)SX_2qbQ>11u8IIT_G?_A7d0f|EE{7JV*t(IpAY~J>^7A}- z8IX(K5@{Ry)MO?d0~ul9%ksLj+#{7N;Dl09F)phxscIEEXhFkg2s6GqS(Ht0!fce(oZep3FbRoG>^Pv`NE_Y2AzY9}_)2 z&S*aE8CS!MD4|>JTNHT;eQ-|V*Bg}fn;K@eg`O$syO26S@@j}yBN;3o)Xt0xGn$i> z60#PXssKj=Wx}yZWQbFxwRR81Al=ws;JCw&QnB;u8H^yLzD~b`7=Te?1Jw1+8oeYzYny%Xv$q{yZiFCN(!K}m>1{DK>lv0Lonp_mM z6Wei0qPj;&M-I=&W(U+;ix}OM^)iyf0(u-K3zknyU(60YA?g0_&g0;UCdGJ*jwRC% zr%7wuv>SNTs7e8tnu2{64z#QR=R2n5b(TtHbcdsR6{3{p&3EPJ7t;LE#d6UWL~E&4 z8(rUd#dPm;xG7MhC=AL%O!JGC=M=)%COi5zTTo|-(xSl-hZ{c>tiy}29#pxDL5Dy4 zN`c?2S{HU!p)7R3r_2mwiUi3f#t=1Fd$06#z%fU4A{gt~on<{?R6A*LwOPli+Fnzr zdAf?y=*n0yYc2Be7C}oeAInUxeP6<#jgHHF)X1WR?DQ(vI%&CudRP>p(tNinTy9|o zxbz^WbYS-ETO2bcrX(|N+B}y>4SZ@4Q8TkrafmS=8)t53Zk`{Cj=7#*b;Q8P2d&n! zh8djeE)B0PU>6tW<-qS{dc0Kzsc^1N!+tYls3zU^VYdSdWK6$H$V=NnX@W8-ir{n+ z8L2gc+V3M9ii|w8J41C(Bctb8?hn-@ z)>QIGa|xmg-s?<>IH3a6@{ZT0h~Iv>yF(dd}g@s|p7Z>nTEMz6@a*>^jK0AWM2= zxW!~8u3XHJ0fgb8G%T}BSZh$1usL2@%5fhpi%CX{SrnED#u(1)J>+NNb? z=b&nOO`>&=D+Qgm9%NuWhWjR4oC`IyGwf4ti|gc7mKZ{yGZ?VIj*4=vfzoBUX#8j3 zrfG31TNs(@?DP=_Q<2qv7S=t;6e*iijoz~5ZYY`&|EZ%~kfENc`f5W1S^0}tB(Cn{ zNQWD45tIQ9f?v`?Y-RZ>LF@k0Hb=qakyVPr3H9Vau8k`?F~Z$fY#h|BK+Ur3sYFcTVlBiCUDkf?@vMNtJ*tE1zlU!!a zvm_iS(I+jPF>Jt_8;EQX$_z}(@21;}V*~1s)wPy_((}yxEGCF{QkxiznIgSTTkhQ1 zMmc!!NW5UGmReQvogACsZo-yU4%$X(K1WW7CSMmF8+9BGG4d;8l{OunTWU27y_URW z{kss$r8c4H?R{54HdR0wB;l18R`2;mx})oJO*&n@Z7E}r#Y4bGFjx32Il|mP0aXu# zvh0Q$7PRwnseLIlnI3m6Gm&%^wVQ<&@hZpByu}`85&etGes6Q7pyR2{Ijt|@Hpy~n z!7Hufp&1H4!>7Dd1#lxEtaoQAer3TcdlCLS)sSj0RvSaG1q*#{oc==lVitpPn(_)y zOd!KQj>CLsKL5W+AU1;8;-4MQJ;m@u?3vFQ37nC@|0@y*P97M8qu+SYCCgIVy`DR(>^^n(}km;b|YzXgrxMbYxI>^WHYpfNLDSh8o?opxHK|GA-foUw-w$2BPYmk2(x?Wn#b_wkiGU{nf75)cgPVREol7wFN{dFTWZ(-jiGjKXF#2D zvw39KuIy6uN_`?c%dij2LP~9NvqMS3g0l~EggF90dvpuf zx!Uj|gB+wm;Y$+sY^a%57u6*8VR>L+!85bR=NB`fU=i-_u=YQn~*JYh52hs|J0yd$6gg(U7k z5=za?B>Y9nmyK?e$MK*5YZnU41HP~Zf)|622g4S-sOeX;qouL3f-eTe#zMmmb&7{R z*%4K%l>`wTf~ z!{+GQ>L;mr-)to5GoH zatu3zvs^>W1mo?~I4Tvmlm-?I)q*j*OD+$4#~TS_>=XUj_OVwQ3GpLw=m`B6e}e~k zhx7oJ{+aetAN-1N&UM|;E2rb1^wL=jt6sYHVLZEeC4PXrVqc$%@rG|euuH|>sMMU> z!W_lmsMr^WoBqGoxLR&~Z7=$L+DlQGyMH9z2`biUlDxEIlC!75**tmLtmGN9jY-O> zrshnU6uskm=;|3$C(cQBq|ca^HhZ#Ts@<5FmNLiAA1&ipboyF8_Ymr9!}}$3`to0Y z{!`U|2sbMB4a^x6rrb@|>%+kk22;YpTm)a+8xP-!as9k$sfNG6$i~Gz?Cd4{AD_L% zaAu6-C_44pyy^KV1vBpOq>aN^IxqZdnP{GI_F?mM|3=SJo3MHU$IK*Z$3`3{)rVH8 zX~eD_;aTicY8KPS+cj%0rV;hzfZ2sEALPB9YCzdkoQS)5PFgTIE|A>PIwEvc9-cJa z8yLVLyJBC|i~RM{z()zSEnocZ>$j!_Ua$BzYT1>6gAw&$ubJ8s_{*+WAcB@Hzw^gb z*7} zV>#4jVZ_47P`7QAd`v}igzf%46(2_g`o3{_SHow^c>`~C!u|hwLEQ(hEp$X<@S68+ zp}O$>h|o(N?ni`vt!cr&tYhHaU3Dngi;*aE%e0ahsmPZdD`Kmx1`qgOCqE{$|G@8? zzkwM{2-NL*6ES{7M83hnB(m<}YnOk7&)=smdNQO$`PM~G6|}Pt%MPxK8DL-a_ktN`8Y+30vc?M>)3QI)JNQ$`q3CQ_E-| zj}f?1EqPS~Z<26GzGILdB|kwVfBa>(MC<4=Jz&&)a4%H42zQQeB$a$-TOD81zQvAL zs(8`U$&IIaG0rZ+57RF+j%Om!7O$<1>!RnIc}`XQ_i6qs75{AW-ca7Fi)NUgB(dv(D^~Z$fRihv6 z;gt7ntF5Ym(_fO3XIYO8>~R|zs7O-6GD!>s7sOmKAQ4iiNTPZezMoYjQGSNMpA_^` ztY*djML{`lCb1{tUF8)?Oxf@OkaE$oL0YFI;*4;_XhcNiMyk^HsYuFE(aw?h{vLJF zz0t7imf+=gM|@WYlViq5vq;MlHt-AW6HJe5RixHYcZRw|DItW}mcQ2sIT)co;a^1( z70&QoVAkTSiti$p#Vu@I*cy8Ke8!7G>A(_t5|3|hAgXbNZoSR%+Fp3bx#xiecVWIk z3mZ;;te(`QWtuTChP&;&Su!E@B#|6a<-~_R6q+qW=Eem z=tx&%#{_)ac1^e-HI%SQNeDAkcDRjp)Y_nnuz_}PZIjwY-)qwU43H{qR}ZWkecCU> zDtmEnlQ;^*ihXvp>1}wk0yJ{hRk-)+flIq$9#CCn*EblGUo{?&GzoRlFF%Hi+p0nR zQ5xzWnR5&irEOPqJZg{{`sgku8H3XI%t=JDp>N$PkKpJQumwglox13K_|Hi`l#|iE zPd0!_XQKrKrCg0yF@#>mD7euFX`;AQwPn3T5BT~HP)x-+zjZWuB+mNtFs}SjCCBp3 zWBJT-ZlKP#9#kc@Rjmh;Dbu8iq+_hBe^hXE`Nn8t{OE%ylkYM~^vZSxS(;lH9fL`f zpGMuvYSi-GRFT9%#qjmWnFc8|;`K3R4*t=qZCXdyBi#**eMR&r^uVAZ4A~!ON)3Gp zp;^qlJMYDe>1w8;4^t`)^@VBX46kHLVUn5Fm^QyO2bXMCE~v2+tD$T^PUGvB^>wyG+sTKywLvctmVzYimz=1)PN z(uGGV#_{)A1*{KmBlXmw;ymf0zr^_4HdHLdWHO(U@C|G?IPk^B5+UwRB)wcE9j>cQ z28@jp&@&rn8=)ZXvraeT+no9^R5Wm?@QtcSQr+Hvh1qVG@i3FB z$o{isVz;fSt!RkYNTMX?yG@xkYGgKzn~HCGE$gw9vq0lu$f7fbuFJabyb-x^zSx-p zpoO248ZN;|Rf68FqggvG1?zz5Pc{d`Ddu39v_Xx9(P}J2i>X1GKd54n^!b*ta1+W_ z7p(?kj`Ny-V>v61(OPRe8jSgeR%tS(jOfrlC&jDc`7ahmTh+%%O$jtKVFlXiZ3OWV zDcLHws(>DE&&|0xT+JI-GQXI{x#ZRJ$)z&(a@gI#0a%Z{fnUb{D)zqEHL>@{J`nq0 z?Aq9eVjqruBz9fwqp^?0J|4S1c0=qFu^VGI#XcGPRP3)~H^)95`%LU_Vz*-{xNoc zY+dYu*w7C$Gvzw}inh5;o>s#+W7@ixOmSG;bS=&c4Tz?Oew(#e4n7QApHV5ka+S1s9 z2oiS#pw444vTvK&b#XB(@k3ioGwp}bq_XmNgKMl1_sns8ygAWcpg5%=o zCF_q(ofWEn60*XS2-*zxIy%O(et4-Yw5zI5=B z;l44!pka9hvR3u%;9=e*{;p4uOSrbj?_?hPyBLj2 z@eNlOyfC@~FyK`M`~%HF>B2N?VgC^>>`p9y%uxw`Gjmb418WMS@p3F_xSGI6DS-07 zbkG5Il_u5T7YB`tACu-Bhvm6?=ZZbwg<}(0T)?9(ak9~l6ZUQAHh4H8dr5AQ)koke z$n=!rRN_yM;j}yL>gf0|oK*Iy1jU)~Q?jJS@p)peeMHHilAlz}adwrF-ubi-@|(pU zXIGD?A#)c_W1wz>{5bf64cInc2sfc{02#GY`;^R1?TYI;wXhK9TJS8Vk$NK>lNVoP zT>PkU@p=QhdwL3{{{$ylC^C8m@eoXpwwrDH{csY((*ft82d6}^7j4gWdNOc|p{*FI zAN4^$k_p2H=b%~z`BE$^tKvQzxWHPux*CqBR<+o|53RvbSDFUJ*%wv4$8FoT$GyVU zVzj!uC%0IlE}p(HqS0YkD8=V=Oe_v3n}+?zw2J$7j0v|F;{I!vwH&(}Vpx_|gJrR- z_SDk6PC2!x&2`brp$1fw+!9D`+DUa!s124i?cyuW18=qb`zfDw1Fs2v^a{~9HS=y`@W%WmF9k9)ko4-nKw)^^8hlGD2o8zD0m?>^W z`bJrAT?%iMF2SmHCK5IlwC+UM?s-+mto4nxZA)%$=LO0NM^8B=y4Wg+UXJM2s+clc zYf(Ebvj|;>z+Nl+d7X$DZXee9tyER#z@FV7#{|-wy1)Gs<2}?CulIiw&uPXB9NgW| zulrt~&2&q54Gf^~%9?*{xJRk74$^V09NmQ@mUY426x)w2WUIUf^|NxCGO&tFWbo&i zS_VH=W{(R09@ZhI`(Bw=d>6HwMAnAe)nCT+`=DG=wo2NwKe1e+|I2bkpQc>bwJX=w zaJfFfyoho&USciJDKh{43?-WzE52*>*P{k8w#vVt2I2wpUuX`BFyge+4uF2Xh-Fv3 zMCG(5-CGY*efmkGacsLur(eCN@{s@S#>MDKG+RRNpeljn6Tt;1(4f{dIv;P1PT@Pl9`f~F@tv^|FMi&a^B$@jx*Q`(;|nOYDx<%5McD~B`t^1xYQs+5+c&yHf%SN7 z+ZHZyFQtc%rYM;N_Ea76AC&6as%QzQ3Rcv{Y~=R9@l~`9WCS(rGJ*!)(T4~+j-dXz z6-k^-BKC4s=w!6@53N&^4enY-JMK&t4OfMu=ko^SfBbuJbQr~>?WY;V z{r&XV*$+mV9(9lJXC7u6dUTJmn@1r!sl~ZEg{8k>$vAFP3XP@K*&+5P#IJ@+T*vRi z_+!m!c$}$m31({!)@I&OW&?}WSOkJnRsR*%;k=jK9L`@U zWjeI^7<&iZqK%eiEKO^fgsuq32_Q~q1|!xntu?L&We4g zM4rY_jkDE8E?mlx!giChzG{yg$zB6wo_sq(V($; ze!Kc-;6Ln7{xj@@^+U!y0yY}!j1gnUr&7faF}5mf%OYQ8E7_{hV{q(f zVKY17v-xn98D0jFs23;0J+`+7kxR+G4P`g#sEg!z_u;@8_dPs4+4B^ z+m`a(?!U!!e|`7Iy#sr@zYT^K(7!hsegH$O$fF?{)=@94L!;$5SNXYvVLHTX4J~q1GLo7wH~DqSor~k;PHa!-zN3OT&29Sv@|4bO@;5g`+^H1{r5xh_|thV){nAJjBQOmBb*xQ2DJ6GnXTfLve>b-Yh zL6dR=1U@?c9?P0=2ri_p!&|ENZ5h+x?-Kap1{?`G8F(96PQw;-V={OGADXM}SGx?u zPbuiLhg&LZeX)uVc}{MOl~^0T;*%v zwHw`;w|NH#ae9dU7g2Y@KGd284UO>q&{;RoR)yb75M%9rIF-=$;-uyq zRsJz;4q~1MP*d@lcVH6WbB1Dj*s5NI2Gpdl-erT474|c!6vPlX z3paG+azs`uK%Po9d=t!bETJwK5g;ve|Did9!|XSKT}S-Wav&ZuS~#;Nd39=t;fj6z zY`cTh zj>?1wjndu0Nm1ru58w6X)NLMtYdcpk9(k+X4jN$wPp%Qr8)3%jp{w%FGLG{n;r(Za zYI~XiW2UmU!h0}0zG5oJ)fGvcD-BA6nhAjkLj>}x+=#4twV3x3Btz0@8vxPdTRZpFofm%UTY}+UGNX5Sx z$>ftPwgb0__|XkY1rBY-4W;3s*Htb$+BAJ#=a%SitIuQGC(<0{Wu) z;!Vs#@iO!b=S{x;DLi@cktqx%oQGDN=o5t>?wOOu`C}mJ6{u?dP7NCsuMimipW}}7 zqT(w}iH}1O+f?p2emjSsnks|GimFZ`B6cbQRZRfLyQ`bQsul!l=Jvp(!%5*ZlTOtM zaABCKd>iS3HGnMt6Dyt89p=v0wQ=x~KKWiV`K*YfA27)-pBa3Cr3${nLdu|zO^ojQ zD}TvC^kXp8RUV3B&6{!t<7>Wl7S!;Pz;Ku8Q}L{LSEC@qOFyr^qFzg5tAVqPyyu% zXa&NI0iUW9rRMgYwrkY$2>!VJ$tMlBvTyLe8FIq$v;jQq5>N@%MQ>sk$49RcV}SNY zufzR|Th*-tQ%=UHBv&pt zS-qC2b`s;GB*V}J`TknNSbXIUm3vQ?WG9EHl^0a^kI?agis}xY?cV*5nCd=4ZA{mB zC>PpkvnfF~iqEYFJe9=i)0FAP_GP--QYIaH_dj}9zkO=C+7)U6gst*xi*UN!K1e*3 z^+yZ$JFqXL&#z`YR$4`8<2RZ@mtcbk@65mv(-q3%#V`lK{NvsFG7 z`}()jfONAQS_8Ut(pV$GVm5E09w0A=tO9ivIG9Ue>U=J)?mwcF*e6lomEEp~RaqY# zzy=NsptC46rdvA|7-bRnPS)=~tH2z|cmUb0b!=BbAM!VKfQ&yX=Ig<1(aZKaz}Wwl z4ww;6rvvYe3+sTe{%GNz0lTGeS6L;-mG*y@*j!UTR}Nr=)5>guSupe)GX7|>&S_t) z_A+Da|4L?Ngwx6F$+2OX3G0s*t{ChUYM&=2v=Erqn?8?^F_=D`7%We5N<^I&9E<+T z&EhyXe|_g-1NH2*Iidbzq{BrhnFZ=`%=y;aUfY|2v;4}Lm51lQVd5e^E}j?QNJCuJ zk!8^p-*sQsGiNmvD)bOL(7vd^03S36uFmp}QO1h~dTGnQpV@H$vy5%~^!ms^&l23W zZI7!D^sGleAu%e@vl4z$!mfdyac~3Rc>{lpyP{WABhKO>4}TN_k#*5K5Q85$BgIJ( z+B1(+3bMhxf=+rAP0@OA<5Faz7bNgpGtf#OXgL5Afb9XqPot9|()n4TSfdeGj1`fh z`p*hYZg;2nQ+Q2;KjEvFRHh8?Zit3U`J#k_gIZxwZzO3-#San1AJc&4nowl7VIM?s zg(^T`?-c`BBYNSx-gx{8l@AHu{D2j}UB5zj2h)cKtsFKA|KT~Bx|V-$S`odDk|=L& zU7=;7kdg^d!XexCsC3FdiDfD7>W((b8@ssS9tmjrbt}GAciuHwy9jGH#TsRVdAk@U z?>j5@vIM4Fu1?!PAx5)+T~r}bMfmif`=ap(jlXA`$Z-fZqAw$a#i8eWo@q$Z4Zxs%dPMuc3Z5Nvy;M5pS?BWn0?W-f_g2ve1zF zQF(BbLg~=bxDEVPZOgS_YKTwYX;B7x@)m}V#~WLww@TJXk^dQTe3B&$UbI2Zxs~wtMFy6nYVv9^VA?Ur8Q1l1#;F zrzc5TPZHIgz-a1YFp0e^P}Zz+rnG`dZ13?&yjy&&s*|Zr32C7*b55g8UHs=r{h45r z0VOJqm{FmUfu?;2L5^2B+V1`wcmtEKsQo?_uB{0{RWR)a{T9**>{k75!WF8^=z&hb zAJC%zOKO-X!bp@J(@qktJy{t4Q`R=nxm3MotK@m0&NZl$wynolu4@xeY6cxTeiwC! z-nn^7K+xD$WJitdg}Ukyd`jmzbkNa~j_EgYor z=bc)-!Z=mD&K0|-MX|dmy*^62RZfU0z2+GdIIROcpGSRzDRF_GK6EQM(xG4cz!McSMlwI%U-BHh{UQ_JP78xORUMSGLs)vo!-1M zr8!u3qWa#oC_!uTiE!d3)AA3IxNX_?-DM}bReU>O`P^X2iQRwe7ETn!C2Pg*ZvrVz zs${CdSozQ+2(}Worm!phPy86Iy^~S(QI3GGU3S17(5-j zcb?SpAYVoE*~?D4Vell<^r?$p zEm~C zHays;=9s$C5{#-Li#wQD;U1rO-{N!pXX82Hl@G4H48PjDn*SF^Otdfs)0-9FXfuZY ztYBHQmB07`q^`1++~16NP3OC;9I*qMYW6tsEevL#!)e?xfwGohNel+|U`bq{>}0T{ zU!bfhSkfm@b|P336(|eUB_BgYjD**Ah-ytWjENQBK(#j1qawkmD&~zkxa%h0jp+xw zVhCR!C_B2MH4$Oky$>ULuvqU8Q48>e9DPsUC|+0laILr2bfL( zcgOpimZ!U0qf(e@U2;8(Fy4Q1X|F)j70Kul&A~o*2h!`oju~uwu&ll&%4U0ZZ-i<} zY|CJn3YLXbM(Soab(1aLntXIc*-=%pd))B1RFoYvY?Ygk{x0T)-d59p8Ok%wU6H7A zH~c+S)k&CY_?q1nQ8QWt2PWWqN~F7@OKY&~Sk28p1k#UH9a_F0F{@tl&9!YGr6N~- z<(uXXq%^dq9Hj{QD-n!e(6oHGD*EKdBggLcT@v^UCpAS$eBAbIovwyEnBJh|G5hhz z8C75TUz+CMT;qB}+*sOXw6h)kF~PDpn5jFVoyLoYsPSE*ZgRiX08yqlsIlj>gd<}= zT6!4-@>nE%ru|ZDCMP%8w)e(RFe`KkW()MW$JpP-epL2;jq7lmuT0*HflbAPU?~)$ zIe1g=y5y6PTq|7Pb6GUh7IHjEI1kHue4=<1r;4n zgF$B=LySpd-(UWhiX<{cEKh%lH+8&VU(zbdPDU(`X+^sypQH^Ih`L|(p}MHM;K+*V zXSDWY53VR{HhjH;Db1+mipU|Ve@mjvwg#cwm}5%u*d~*#I#L!f>8Aq6Q0&9Ymcarc!?Th?EyH`iq+}Kz{8$J+;e~(25l2o3_ zEiA;HaA+besh{oMWHv}!<~vnayCEtNcPIVPF(`7Y|Kyxd9XF$7L5xOI^Dq63FbtRg zRu*0evZhEqmk?(U%&C`Exs6Zb47HwMvoea zd*{QP_@>A5ScJzg+#TA9r}Y67UW3Y^I8ea0;xt}j7-Qd2G&*Qi5gRd!SgSzYSrErU z*4&C}h9zLBf3vE83JN|gGLXV~vrPc6`FrdPS6|G(;}Ou{pr3U`)7rK#y|*jIPiXS8 z?ii?Sl^>xjFh2%i{rSRIs5169qF!L#Q$zQloM^in{eM4R2`+pvOeBu?H~TK^g!^`I z-w5^{S3v^kva@X4C;X5ang;U1$eKytH^LoL@m-JQ7w#C>j)Cs#gyXp;-}j$y8iN9}9=jg?JU zs!FfYT1V&LDS{kM)S)#{I~-?Wm~(Wf65;=kz4wogvbyrepUF(Z1O{e+paDT*1#65b zQLM&+3M2zT7>opvs%dMLG*VOwGeIgzCQhPx@-Wuj)z-SwE~VXVckOQ5Rg8+55Sm15 zcf*giL0B7=w$C_Ojhae?l=-~h=RVJ5!VlN|eqOKd_xp!|nR%Z3*<- zswTXePlAu1p8&8g{s^x!U3+)ACRawcKA53}vzA0Z&Zv8Lhjj1Oar&zZV>v4v-8=cN zccpwS$sp)kmx+V?*n>%+Qf6M3i7IBoLZ-CLypYeX*dlD2PQ)Xnj@+U*YA<@3&9Tnu z-4$ioG9i_j?}Oz*?c$<0>W*QCgh8{^-~ccdXsQD3(vQ?`hWPEytHw>ibaQC!ZD3Pq z2Zf2|u@oAbnx4k@4hp!H_1B>*W}5$nu2fY<5_}gTch!16#qead0)M^Js`BVI(`iiN zycOL$y6qjO;~GlEz^|x#V}{-x`?9O3XXAosjav)(*Ey46pIHd}cTix)NlLVLa3>%2 zp0-}6L&Ru|9UKs@m1fV0>!3XTin_zst#cYdUu;1}nfWeJqX4EPwLgQ=Er?F1jH&_@ zT$2bQua(bLX6`~heQ43HgX<`?#=Z6+uqpJT!>@SYTs!~IE4=TO}}7R4b!Zl{bo_m z<|&1(_45dpyFwukwv_R#MR*|8f``;b0;J z({1zLu!dNyB&po>9Q8UEe-s#SgeRdtqF4PggJa(>%iLv^a zPt8SeUG0b1iv;MpNy9P7paN_AjY%9o(3j1OqOMJD2z)fB*DBG5m3oG?OD*MM+}e5n z0tDko5I+>oHpnk3IFAuY>IQRvxD4CXYCksG=dyRRTd*mk<@fs~lQ;G@-t-=0EI}OX zt;`mfY3CA))VahYp7k`3Wr0ne4C^dU0*U}YNL;D+c%N&1o)s!k6&S4C$(%b_n`mplqkku#61itq(Qyr9 zWYpne53+*j)>U{459nRdUPt!c{qg;8QE2SfyZ4)EXT30~VOF>IkthmIBb9YlqDVDO zNHz6bq)HJnvC*Q9%J9TFXtOo%T(qH16Yy|G6-K>q1I!IAWUhGV7+=U|f^u zxK7H0o3_Dr-v_#WJSbyCCS!4a(cjbu%nCQl(qUDZ^Jb1muC`64nQMjh18T8qc=tMMpuh`tBat@o^i7nd5ROEdO4%4V{Uf<3Ep4P8&hUVQ>JjJ`K`~pj1w|uI1 z*V1XCup2A!UFZ-c^>nXA8)tfVLEp^52gY#!_-Cl+DeD0Yi$ z56lX%%HTP;J2W9ZVF43PYc9@0=iKRo{2Lmf_r4ap zd)u9Txb00}_N)4;KJTtFHzKm_6p#z%kD(1yo0S5Jz`{AVC^sr7GRq#G|n zG1QmhZ`D6AMAR*dIhK|wtjap zo{r$v%*7xA9Vr=f)%{gp3;me8?p-rb6|8hpEcSI;Knm40?#8~QQ z<{~^M##Xs7dz=3_O|n|V3Rf2%*(2jbda>h`d6WxaIg;Q&8;2W(R+%LQ{n+dsRr?#5 z0QAEI;C3oV>4$alc<-*;$2-^qdiVt9SUFy}<6zs{zU&?uOudZ{ z3S~+-n1x_wbQd4OQ_@Gy^*}-K&_4%AMWu}zRAVGI=(NOw5ytLMrqX{4>4%3>HE1F| z!lWheq=wh?tpRmp9JMo)nz)P;^?lp0KBsgMn5s8EgVk^>uv>3zz(Z%_{rG0?W_dDR zV(9ZF2!K+B=tw?=04&k<#t?1zi*GhFg#Q12Vh_!fDa1+jnDU0?g{G{!rikBZT|6GqyTQm)}l7 zfFh?MPtmQ7$l$ihOsGJ;@o8pkWX4Tdy8Iea2+GslosHWN!Q%A82Y<|G|8}Ch=>nr< z`|f;+z5k-({b^Af|EM4v%Nlp*$Czb{r-f}7{~m~HBV$O618EA6bT;lrD#pbEt-25_ z*4T<5y)lCC#FeN3spZTyBtXY6-&15%!Sc!sRt;ZGwT7aEDx4XO+*DQ^Azv12*xrIr z)xe}No7f^xLu^Q1r0KMzYE!h9JZ%2?Fyzig!jMWdGK;E5XX8)s%s)d&3n$EtTM^RP zxD{bc-P!nrm9Mk0$$E+}#Q1A8vPntBC3@`Vc#M9W^fr7BG4Vo@Gbx}A0jF9l=5gpT zLN}yQ^Sg9`s7m(B^QLS=cmpdoV>^q}<=YVUDcG)1WA*JOSEOL^^Zml`n{F}Wx3r*< zp}Oh?f@=)8>M?1ud`;W`W0jZhsirX;7L@UZBVV!>`vrrI-KzR_xx~#7l;>m5sLUMw zC9t573KIhi4=#$nM9ONRG0A61N^=P|ePquyeifeZx8pI4eDj?GV<(>tmAw^e%xq0V zx})lGy4#L)ss65do*rY{7(!@$n=~0`=3fH3Aw3s?ElANUZQCSZy}RTGGi&{iA4Oae z#$4Hrd}`XxVw)w}>3l~TcszVsk1@*Rr=))v}v90lbWL4vf zA!QklOIE3(?mDcmJnS05DN`MOX>#wjXR(9WEX}7dY8HlSlD1K}UM9~Y@I6cIFoean z3FrG|Xxn`LaHXO#*8k49!FIv!p6b4SclDLnghbHhQUC5saB%o{uXk7ba6UyhmD>B9 zmbg+q8t#Ii&#G-87t>Ga8Ce23*ycbmserBmvMN$Oh4)n7S3RsiDy%50Mt9-Cwu6d) zh1Q02tAh!}tD7zxNn|ofipXSo?1foe{W~MZUc5v`?1OJN3bc@~P=5C()O)yJy(cCl zW73||*7<^$WVDKZd+Egr8)!n=`4#4r^>D2Hx1y*x|;O z^Gh6&aXuA&>1jMTLYYzmvlbG!36jg!zNL)d6Fyh=d|b*#0#l z6fbP+b&-$$#w!AgcUP+s>^<0<9XJ;Irdtp90!q>Qn_n~n$1a8$d(a)5+7_=TpFv6F zPH)3c(3n`+IrQMsgZCWE4O*lRpNH~o^zv!Fhw}Gv&-Hr3EO{1WW#(`4|ABXY- zgGdCu1b<*?<8{a!tCuBLa3J{+9K9%Wo3W6Q?}-_1W6J?Y)NKwLJAXbOuDUDsJdhSd%g zP$*FC0O_?iyCd4}27u~)`tkZd6Th~1ebM%Q!kjk(+`0PD*t5fH*ZYq{#~1*M216dj z#or@aTLmOGj(~n{zWEupDbB!mRCQaWjz$`4lGemwXFb&4B3L@16^5))q8ON2Cnas~ zx})ubH$}0oAcLs{x}u>_my}n2vPk#(zDFTamO~0}*dDCiwufE0p7>HXebkDzc_frNkhLS?_f=Za`YT$K(lcLjrdnK{nwFn>rWT z5U1D>=|kTK`4LIY?2l1Q53HS&&k|PhSz?-emSC(DUZlWbBPK<+T1!qwTFLtx9@v4fIZji#oLNFl@;nq30j7W>&?QnP8dnas-CCXZZPDOp# zCFYU+jceF3qNiM&zbM{QMsSqn@5N>Nd*K*-2O84irT4-6ozV_Aa#usYC)ztb)l4VXXva|fOGN%cRKxpl8#p-n5=*_%`|vY(DLmre&ZL{RB(5JpsdM+e z!n2i~QQd}9z*g-1=^sa-DY>oDhjwjy&l&CbD;6#+V&maN4vz|%sIx)h!G`3^3Dst2 zqZ{cJzw-%v>EREz7}rf)H!&vZ%gm@0Kz&O2MGgzodT9m{>KT|`%o1`hlC%4Y?|10Zn{jC z6MD)Gy3I%aXIYnxd-TDJ8(A1;0aY_{#bB*yg zl5F0Gn?VR}A$l8%QL^!P8eWg3;U&9_Z^k)-MNf|RHvUR*%lMSI9VTyz+?ApqY#9`8 zqXaiH(;2wEi_#M3tKiNC!G^?9loE{ImRnnZ_or*eo6m+vR&^U`R2N$_rtQ5^(T)m!|bT{9CLnlh2ah&8I&Ef6F+g%Q$9?ogu7BK8gwZ+CAg6nIQQr zd%4|B?w~sitDEFu9L`JikViqAs(IhAcMsRYjyDk^Z7!8^G%1JQD2F^+R+Tn0B%ft} zQhh6?XpMU&62oOpMOkyLvcl7e%P7#uA0R#*5y?ErD(gSd6frfdTGlNX(N@Rk!j`^QjE)tJFiYINk2>W2a z(m%lMUerz;zyDpZm}Bz|XF|01&TUCc))s$Z*BA*8*{gA12l`*zyBSLQh_;{7MF5Eo zW`wiNTui5l={)Oz9?(hL1C*G6V-QDplv#NkFPXAun0EH4WJGw$;Q2iNIx{&XswYm7 z{DW+e$-N%_iFN7$ESZ2B3c21tjWL_D4EYrsf&*gAiNo@>PjkH;KHwa`LX-f-0#DuOvS9;EjKl;)Fv^&F^T?ksdc#wcil0mVHQgzz}!{6mAgqAdVzNJd>uA{92U0|Y(50?_vk!t5`c{Q}q}nE*Uv z(&gZJDF060GaC;$=A>a3=mCr2t8*SIUJ~xpC5hgByxY>&0IYPn4tw+>Zu}d*zhKw} zkR^Y{s>lEV zR}{)dx7by~y<8Z@Y+}+3Q+Xd_d*k8{79wkun%sg;)tC-YI^B51j;motm=(&8+*ID!IVEKRlYNWfNqt??LP9}Qh-UYKcq zfEhjijo4iO>RYG_*M2cXGFpKay%Bz6nDLR9&8)v3xn2w9Jx|9Z-aQ!~xg3s=yE(&^ z$FsWTjHZl*h!6jfW}@7gvDZ{!k)RtZgDZg_^hN%oIWTm(M;&etwp#Cr&Ny`c-Pk0uj9jQV z7`g;x2n?xCI~s={a;sa)A;j=qW?j(f`zMeP*CXNp1)hJ7A&=gXau=gl3>g*TekhdY zzsO&Gn*SmO(0@@#`7i2)|0239n*V9?SU!*JJoL&`49gojJK9Fqhv5my@R0cdl$%fw zQBVe#pvu8MhkKpNa4)#obSz|b2Sm#ZKAye^Y|J-7aMT4`sw58fU$^G{H{WQ)G%$r`K7Yd~k zkaGD?=fkP|_8DRxY^hI!RhNSGRlu@O64N}uywWcCh)b35y=(8^fO~JDpt2UX4MVp= z`FbLsS{^_Sr{MVrkKX2Fv+iZ^X5sp~W@1#g`!lC~ajb@s1dgz>3Xkvtt@;yB?#siP`|ejvb_lHc zyY%0G?|3pX32)smGZ1g+ReIO=j@O{8uxG&b;Pb{JkAIPSvv>8nS;nF~x%Df7HC}9y z+wgT{%t~sam{9>%S&Qw_+@Nfu#^>LRa>@bnB4ySc_grR8U%mw zNi+Wj;6%^pn6*YLet#d5Vrt-0cT8h>oM-Eb7 zf~pPQvKi@4-~iQ2|0*{%4O1Q_nTq3FiX~GQO4!cAhuv_exwWeBc;}`(ihM5_-?f2!QOI1G*Rz5`FutA^7!FC+{P@ z=pIec>`Dy4P}(?4pRs{VSMV*TdRXPHJ%m+TZQ(lK2nVf)53Xf$`0eXCOIUCG6`nw_Oj0f;Ti<%1)w>JzLq0srci?OgBn6N$ zB&Zdd(bnrjLJ4h^P&3*)N~HsN4-V?>7gzL(55#VGYSLGkFak-2ueCNC$5zb)FPX2% z4xEbyTor@Ofq|yLKD4p1>R8i*qO2J>7QY$NHpat~Z1V61n@7Ih8E9oV83Pf`0s6v# zpV8nxQQFvt8*Dx``BJ>PPw^@;lU?Kg%0a9GlFU#RK?jZ&_0(;tS!&CSpQC|a?bKxW zm=Z_fobpdt^x!N+Nun~PDBYOs7g<{>Rlm3l59Q{5)vvJy-y9gUD?QYd0TZXhc?=bf zhC+H1%o(Rvuxg5Mo8Lk#Y!1lqxD#Y#?)tqjB1pDSfgOw%=mILnsxD9;iryHby^nk! z6njyd4^h72n7^W{#;I3yMQggW+RKnMCXSn=DKVe48WmkQTj(%qK+zu|T7O-d5hn)6 z2(0#Un+_u=a18c)=@hVfIfMp<2@DQS$Fi~2`|YoDsWS`MeR@2==jbK1SHhHSpb}VD zqU~Q09ta$T%ZG(2(%?1^9#TJ6 zxHpxOo5i4k%n>|0!QG+U$HLzp{;0M4G=@PjOD&rGleo0A^zLwQZm;64{nuHthvCY` z{K0H+mg1^?X+%zY?nyuNQhUPhzb|vo&Q@fM&g1uFxS?5Ak8V4G<}~|UaLq!z{L>g& zx8UXe1t7F6j4ia(-3l;!;ZU2doA}(Lhyx3Rmv*zc75*lH49Pbob8Nk{HS&T%#IhI1&0xbda8co6%H@75&#ZkT;pL2 zTlcb!&5uSFJW}p~O#|8oF1;rayT${x)Auw1ftQKQi$rDrpziukzU#YA*WcX;>)n1u zKu_H$fr`Bl-~b0UNGT@|##lZc?2U;IzL?t{rf+bblSjUZEp)U$ zd6)U3QZVwes{XOWqV8vg{1!;q4yHP2>U%F<1#6)vNds8nPEZ;04Ya=I(+I708Pv(~+xDlC2&%Kgkxb0Y@|= zob6TjL_hZVD8H_uLMQ%1=sjrFm0RD@otRe z7LoJJ4tt=eBd9P;Nl7AOIC4p-!aBAB>%83zf$5s z6V^XO$u>3u&eT`&J~xe_VrG-ycJO4Gc_nx-wXzVNg+&R|u%wY?vh;O6^RFP)EA0#6 zWGkfHZUT0FUjri1g{7;(;&|0jO@pNr6fX-8U~RE!0yg1LQCRww1dc95$i{c!B=I{? zlVwRT{91KXA+;aGbe61oj27|V5eRQpMr(GlE&lQl+TzdsP$m^CA!s-Sw@G&YD&OWW z62@ajaNEH_X2p{)f4__c0EmDV6zZ#fJ#ilPNtpe#NTT{@(ZMMRen-c#@V0{|VD~&# zX%_{32j4C_NR#y(IKj9XRVz9e{(u|7v8|xr^Uy%i3W6|pZeVQ=u5IWHaKBxP_wpN6 zH)lTc>t#~biHtRn@Ez)o7xa3@uCytcY>2RXE|%^d4}t_Qm4;R|1& zes&F8*toc`YOrtaKh?;fsJ6njrk6bs6SC zgv;VP;qH(~Z4nki2_0ph4cjW>y3SoiFx;Z-M|OK>68!@8Uzcsx5vEo9>+yb{lu`JR zSYAoZ>red^oKyQDDo<%Mt@3CKRQ|v1x_cj?Ze^^<0$?|u_W>)wRaORUSx%PFeCSL(@(x>9U8xP|9otdA3luy>uyY(+fI z;c%N2`hT|h3wg~!j-}qFb!hJ4YAoF{7+-@BE+Sp0njYeuu_(R>A*zCP6Nb~;Rjy)% z*Lg(duQ~-Pm`}3+%cM%iTDZ6bqFQ(^MxUz@xs$JCrq=M77G_cRtF3dc%Un0nY~<7$ z!63CRxz4q2oEgSDP7jh}nJYy(xH1;XvGn?rq<(c_3rAIpczZ~-=h=Ti#%z%8%VNWc zhcE3nRff%f1PNKiGBYl^5yNK%X!le}Bim?f^@ui-Vq~d>VzQ(dU^ewDY@@N86R9?8 zQVTn5L{D5=ZeD?NE*beS_q-LG>f->eOx!^)^E$-B^*u?3KiTg$kD(246acQ^UuWiP z)|0iD&3+2^2w@L)%kp+~A+kAVc2myP@;HBHayo=7hQjLzJcW!UoGm@(S3u->q(6K* z2t-1MipaehJoDjk^VlZW)yNY5Z6c1>Ov*bunb$mwocilDpD7&%uHfGPlmDUo@7v|a z9}rf<9G9v)M;q7y>yyOo?lcj#IA2BQNrl6+v4@D`4lNICmWkZhRJIo>M{(TJL$}rr ztS9e*_7m2diB2v}EIm$4pM|d^FrF@G_RYr~L4$gi&=%!kgy-2q4vrm)+QOssZn}Wf zuFauq^!=W{1`FCzWaOaM?}eOV%v=(pQRaTCpNfyi%JrOZI{9+kpFB z?#=t^%uS!qyBpsB@A=x@Uk~3G-lR;;?ATee7=PD&Yd7((h&$G=zi%_{3&33gUk~2{ zlgE*XXWse0Nes9f*M2j6H|*Tb1W8}uci#8)d++`h_8&(eql!Fhyp)g8k=y8ZuV26R z>rg-IO_@xsGig5uIf5F96*--m*Kr39f6;kt0j!Jb@zR;e7e;id z7L_NqstR*0;x7#Ui)MugksGi%9Jyg$C~Gku!++7=u=bLpU(`b1&<6`LStd@U`IG#Dc>y-uFe;)I ziuIEP)2z@pG2MXFMLppOqP;$d9aNM`=!2N@WBrSiV8oD zBQY&hB3^C27@apCWYR(@GNb*Ig;jqBM<~O$UyLIbxG9L`n|Gpghu|4^qm!^aZ^JqO zFoLEY98}~+?Ys?-qiCEfMz^@&T4S+3kF60OLZDsZ?J263)bq-eS>cP2K3NF*1A)wM z+X&272qZ370F#C3`Mi5Tu)?aVQmHc}b&iGZGnmH}x;XEAK(=Bnq#WT*DgLXSngThJ zZxT19;hSeCN`~r(Q07-sWj+E?ZJ0#!Q)SA?aecU<<$8dL)5D~N*0fZTXicsbg6j^P zspjfnN6-r{YkbB6w{f#a_r>YHO4Zv~;E6vk4GESD<=e=xSCA8PWo!|0;Dq;(Y|yd; zf72%Siqmq0FR&P`u&OatlYJP?5|`R|rsc5c{Nq&0Cy}yK7~xk4Q|%uAF6Mqs5NU=c zB^k!MrybW844K71Nbis+3@jJ|!&xd1JUnGaPF^3zrEZE5aotjpEMYCCq7O8byuM}`2wHeok^X$PjG z(-1IHff*D(5uZpk~lv_sgeAn2!u4GgKg0XnNid&v4G*&$z@C-_<>>z=d^VQ z&rODNhGQqH*!ESN>q0Yfj9K)5ZMjK3QU4A-6>rMOKTzLEugAtTdSk6LO8kGVG;TWO zpVoudjkDYSI|Fl8`d=zZ{hz4YUuit^1CXM*!x-%6|%7)qK;b%a)(|ZvJ3?NBz5ujKm$$Zo2pSp?-}x#%=d!(r@?HztwxN zOs#1D$HcG8TfE3`+&;ryX)K%J`Aq~01fJtPJ9&I9gZXXkTDiDdNu_CCIm363bXgXx zvql5XR4e|RMIp_^v^2)Kib6UpW(9A;`lNK24L()632Euhg+E7d(&1e3w_KTi{KJ3NnE=q!)7Uq2rEXTY5}hLr zK`yyJOF=AbRUnaetHR~%SF^Cx;WR0%)TK~=fdio7JBkIt)y*XW&aHHfLfKFvIlhOZ zsor1u<#uf~oaKgQxS8s7ZKQ5QbE^#m^bPB+0KJ^FTgOK8U6gj-U#|D(lh;AFPnjp2 zo(E{)j=JY5)C>WrFRhTVe3zTe-d_%Pk00s%Qny=HTj`lKJ&z>s*Z1S9&e7jl6uBQ) z?O=JN@<;(lFnkqU7aNi|PrIL^3)lb-1+yR|-HKWtk@UC*4_Q>bL-X`kpT>P_Utow; z^9baaOY{#Je4ZVQ$}u>r0~=06nyN?{g-5XQk)gk#U&FHSOY;wlkJwOP2_hhV>?H!@ zB2j~KVZc+=Q|+P1-=Y5jM|%lub^2l@j$~}*WXv%7@BjMYkA~Ohqzy0;t`;sCac!wp zCK5=?vui+wWfa(lJrkE*LkUZXg*WMgf*ahsGQ+hFJL_d; z$4trt9s~}D{W28>7_d={1&)?gIaXro#Q2{*gKDQWnJ5`!AlVWSB^}Q*R9mIr+BalC z(584ADo$KShatbioFx77Y&`%6tq=r!IK+(1_00>9f&&@{lxmEL(RLT=`!W~ZeQFc2 zJbbSfyzgFZWq7T23tY6UtO{$3Hr}n3-x1PoyyISN(b}(R!8mk+gLc!MA#M46)mq8gJGC2bxFJt{@N>QV=lcy<;azbxZWzVa%&T$z=s^msja-%!B(PJ$1 zCFe9&;o3H1VJ@DQ;i+mb@>VggIT@p13!kv$9=>aV)L#m@P~Xc%+=1|UXO>3c?f*e} zKXsl~9{3j>)L5PqZF^yh(jkpE1NPnfBUiuafaBaP&SXp}DmO?Z7wvmfRN?;j#YXI@G83I%q{eqbn;`42_n7=-PoHy{7<*e1U=Rcz76W zc*{{cslH8nVA?6{^wqaTUc2yAaf0RRU&$FRf+}K*ry>&+EK<-0qiY9;3MvK>CcbU6 zUld{hj~7V>eHsa3t*xjXnA1p#_*V_oo&O@A3}-$tYIk8hWH|kSf!cSGN?(i~GB96X z>`5yfa(Q5I4=Ke8t^zI?frj?XwQ9WBrJvuqI1g_Si)_bt(r;aGb=HNVs9obnG}ao% zkk1_IqUY5swA&dcwgDX{gOvN}53-p)qVk7fi z0DN)7ji|_~{^v{4LVNoD0T}#e>asEHiM^V*0jU}f)Ob2Fmm@{P+2)9gE38BvFPqU^g}MM2VRq(LB3Jb z1PUC-1AQ(>*y#+I(8N)ad@OLN%;cr7#;T(oP;?0#MZHAc1=HKVg{@Lo%9j*3y7o}~ zgZ|Y=OPgMec_NNiE`61>o2a+Jk7qAsYK1%IHusXI?ir(8vzr`nhZ_Ds?_ys9-B!wc z>ciNRvqbNP-CFb1*-ew%-f@NdbzC`X%`@aL%&k0ha(8>Uh;|a; zF)Xpn&1>U9a%db!F@gsB4eA^B0YT(}qEQS81qb6B!61^(szT^eDlnG<9#9wyWf@mB z?&Cd14pO*TMdvtFDP>0K40sYq?gw+l>Cl&Iq!wdddT)6B`h51$`o3oXK*;Eh-tUG2 zDEfS~?E+8*=5h`_}Of{;kHh_~Sp$rGWrpumQxp*72s5ssWq;sqQu%mlzHP@XyhKaVFlxGPcP zCBjeLc^qtT#E3&@AhPX8M9xA$5B@wBc)DzzgLCL}vPEg_P^cP!1xkI+(i}ZjhTPHn zbDZ9Xf+!@mU`TIdP*Jz{q45k@=+qmRAs}`uT=&9Ub0wZ}BHHX|l1iwmG-b@4S$AIK zB@z$YOBnsM$n`V5RD=NAM4A_jNNvOjq{%TNk9c=2LY{0pPsWH6oFh^n0zD#rr2aL@ z%MzUFsf`#>KCJ{ELq}M`!^{(ih~9g|P_?6zCFa4*V@MqtD|lj#_CHRNcpr4(+Ys_d zECUl$2&y@^X-eee%)0D`BcU?XJhXISG7wSOHvS=vQ!O?lvxdp6(Y-L$2PRIOEAu=) zx;I1KaS|TkJ+cI&vLo2y2gN+XdWOIgS3VnvTOh&>?1l@mMU0HGiht3!hY;Q=IHT5J z;-P17iEU@&dIU27S-g9Ev4y>=m60ntxW@bN8kC)!(RlEmAjbVv(`Nju`rMxOY=_yu zRfsFG;;+MRm-YN8e%n9A$AUHp}g7u0#$JQ z4q#OH9DZ*{eumlbLl(Rr;dd&+yVBr4YT@fkOFx8oEh_!c5x)map`J71cch+O@l~m3 zcYFz-13nif1EUNVT-RhX+-s)QQqjnW}C_8ZcnbVvMJ?4qZaWx-73soF$PhmOX(01dr}BgQ|FzNM#! zKEcqd?3A(>IU?6j7(c;^cPL1YBJ8*zng?*<8`Lw%tA(zPyd*`2&a<%hzC0fzHOEoW zZM8$6ONE|)mU=Sz>;pEaG0~S8pw(pj($VzzSMeBmiQm`|IKG`RYG_PuaFr*Ym3K^g z9N{rd((+89$L0@Rq}a+Yt-NWXA-{^REDr1p>_a_3*AVjOLkGG`uYe}M=+Acsb~CQC z@pi;H@nqwXoeb=T*5Rx~s`{6yLLoBZxJJbm&~8NqQ%VSpQo(sD2qU2uT2lWKTZ%Nt zjq-uri8(K@ef*CzG&Cl*(CwF|4Ch4yyEB%moDl)`%QfO_>X-L7O#~*h^@`TvDm29J z!Ca+TT#m=Y<<>JwwVr?}$MrM9fvPHo^n*^DPz-}EtbfU=$!Dck1bkRjG~v^NPeYkG zb_T8l(uGb?}Q$kWT0j2N7oX{U9gy>8B*1{L4+&JUc zV*+`!wp8ZpWRo+Ek~Vt;8a|mbR7YX0V--&u&@q!<>z5I17fBs00tQCo}};ve5h~~1$)%&)Lh)S?K$%)BFkk`7Q6-ie(zXRsD$ZtL>kMOfqVm#u zlGEGpJ(>Ynb3cPpbN?BosF{Aah+im3@ml}^bPxemb9ft`1R~bp7ih3_;skF2%|=IJ zh`fGbEC{ApOo;TW)*5=y%A^E{7e*6YMFZH)JM6bm#y^{9^uy`=^3qn65S4E&G#*u! z(q`BrjfLoZ9K@+5ID8R4PO9P_i67H@kXnOsEjX_mMqH`Gib!-!aH|^-PjP6ql3oQTJMUoa`Tp1;0v)mc0rQ|clg}aetn+C z3aULYxx{E1k4B>NhNSFqJNTOdjPtWAxWSsQ`q^>2pWVC~+I2s@0xDz~RlPswkNNj_ zqh0rr+8n6)VtEbo-<<77!F7pCP~Hn2c;X%l?CcgEKeEnIzQXK5mJURhKn?eG_U zz@vpfrxcppETI@(5{hx5qt*^YXEA33EtdH$D5`NaUF`A~ySGlYq9tc?lP7t#`CDM5 z7rWW<9&l^5e{Ym~oaL@)vCCH(g>qAe_qmLn8vq32I<|LfhMpe>xansv9hpstw(q4+ znIZEwp`G_5riHmvJG<7t9`6*S5xckHPnZRx^PV7x5Y8dpJNTIFj{gT|M=V_n#vTHn zVL81eJN66S!2zuTT-4`*Ik7RV3sE?%Ho|=|*K&Pt+glliX9|>XaN%QP48%%>#-pnk(*_amujs3uTwP>LBDk3AHskgO-3Z$}K(_%f#TX8TZDuGF zQ5*YrNMH`qJ_^&yvI?r0dQB?1D$iqBb2 z)R$%8J}Bsj-DZTETzUv^w`aKV%AE%|CqSUFGQ))%cJ$DrxIeR%RXYm_a1pC(iXU}` zN-(}-uK9*1>hMglUzSB(`m!l5>s1d$-N~_pbp}GXC(odwa)0#WQPmH`rWX3AY0#St zZ@?{=htLy~-TLb{w!P(XPGS>*0gLvAR~i-lZExdXq(6Tw6YD+4d&;cTRsn;?N{1V@ zFhUO0@=;XE!AjxP&5FryxKH7fKTVn`*aw9jlo6Lh3A&BO?S9z7LlAORjQx8%1|yRljJ)O60*o zocfHj9*qgbxV+_KHtPbHjw72;mhnxOzR{&PCe`#%yz6uUGQ_?TAG{#}{Y>sX0nb`*Qruee}FtVwlTj8oKbTtuy){0v%1heVDWE|AOLz#v{ zFLjN~kSuxBmDm6{OpRQ^;Un<15Y-PtDLz2c`piuBJ&bIaBZF>iJa!48^pYuVW6p1K zcvJ`1cPM@+=1RSSEbd_(>`t3wP6>o(zNfHB4mwE7W9# zK%D@MR+=wkXXkvt##<&CkAFMKN}ZYg_-4R}^D){naf-MYCEGgR^wEF|toR3##au-N z!i-xKDcc4;^ZkOd_o4r0l4-<`33G}>4tE^UyU)l`)V}f07-giE&tY+_^G0aQYv)0D z8185&SXLVx%$Rf?rnXn!MkP-tfg-?a(}PI6lfV}K^kOlDbe22>-4~!47&=R=F-agF zaLR8i=W(`W+dCe89NJcUgG<4VS{3)G@Fu zDoCW+4b2R2~HTfT!2m|8kGwIG}=iQ6Mh zTByQ&vZ0)*PmbE0`63wrwzBx~J{&=!J#5CM3CE)SiSS7y=P%^<#sl7lCIsU+##rbw zMuXKcU%HJ91K0YMy5L9vwm>LhOICfmkmIDM*ru_m8Ya2S?FxO~sKD;LX{a-{w0_2O zHu%OeaZ#pTG93dx2Mysmddzaj=%Gf*cmkMLaU?NMkSX9L1iRDTh6jN*cF>7Db^j2L zoHZtP%5ke_b#ZK}RAfXHcFO^r-8jc>cqCpQt>5a>C$e^#z_JYIRnY4rh|S$+ucbX> zg7@?}J`60dUF*}A`7rPJ+&ehelu8drQ73R)oJ>9(=QD|-Xt*DIE5CaugW~6*YFf-7 z1+j_VcF&+kP1-oti@%Skk@GXJ5Nv#%p|_&Pk@@vNzd?_!u!|>mX`$OT|C$widedtyj75>&CC!SXn5u zGlOx-EM`nxxjOeIJn!U4sF&<<)&Olt3 zhU#dciAwox2j4I_{1fA#;c;f?RZRuyET;($Y0>=~d1_FP5;0C}hW)n3q}NMpNXDK` z*c0a|CgBA=^=*oU2ioo#fHpD-2SF80q<6IaDZ^Mf&V_?vc+!PaTC|d9J}*WPH^WfM z>~zUW%-A~4RZugaZyoJ2Rt@OLGTi88=8v$h#!wkQhVoLVu52RM(4W%-fIRdz&=)#0 zrAHt=33eCq>k`hI{E}leCKop*mq|E?61LusK+v>-Ria%~=m9GR`EhsYQLLx#MqLM% z$S8HN*B|g~nkdf*lvi)`OI&uLfSauXID5G;L0>f@T{W+UOeoLCl9xLKtIfMm1aWPl z-#o|zrdkqn+-LAKP@AT_SidS8jeuK*lrr<}kC9<76e}nTOoZ>3nQV>Fs7wkp9B5x@ zFK=0iTFK)0T6)zN8yE$qS@i=cv6=6G`fLzPtQkDy6?&ejf%GSCa^g7 z?wQ7z=*cx<_a4j%y!>$wsfU9iIg5^-@`Vct=JK~!JvKoPmpwRevALBF!RCB2A+qCx~r8Jcr3$Ld-pgnuzutkxwA+)d!==8Fi)ffEHoR@PD8Em;=O0zvfyC@YbD<(icX31*RnOL-YkDKA@6 zhLkIAT7*)A%a$xhX)37XCZMxo!Scn3E(t6sAs)*Y1OqE?x@p->%cVBUiWzoO`InFv zg#?0SD985Dq;3oY!BG2>liGY603*k zzAaSh3vUWhuP?Orp0BOlNbSD+_zMj`6#z9q^{^nQl?AmMVAYk!|5u%<)_0di9Y1_s zjW7HkPN-srRRFb__gp#it}AD5(EvxAx#aqp!Ru$1=gr)p%`C;U`bG$&XU)7CYJ{_9 z&biCl-`c7aF!aC^@UkVUERPw1Ct`Cl^zfs4U>jE(12_VS);tC={T+GA!Ba1uxUT5I zZ)c!M6et2sM)^-`DVaIl`;(iQtnCBmFrSW#5la4?cOwb2Ke2!oulsjB(AS<4_ZBP#M=;&d0x~ zHp)rPj{jBaw+@H#f=_PMUPA9fD3ADZ%#8q5CV}PV#^19tIq`SSLX%IV#jk`GS4;NX z_`gVY!PTN<)d5K`!Ghnc;D>XJML92H^n`+Ia)m;yJe7C2JyZ;@fP|KDbRLy6F}_I? z=V5z74AYD`u?WIbTBGqx1Q3R{(H(*9TAbH0;1BQF@;*wvg924=0yn5KDB60e-XVR^ zYp_1bsd|@jIN#>;2|kZj&pen~cUQUT!h#0Yce3*)?Pv4Q2*v?RRAnPax#{~IT!^s8 zfXuN~KS+r{8KF6FTWd+i@}mbD_E4t#$dx6srY+mrk2YfOon1o!=5uPhvc2FjI#4roi@&!1vW5&hQ~QoF!i@)0V?n_2`X7A5<6X zZx}UCSlYNMMh`!sW(Bb){x__%Fri>RsXkxLGq{4B0|rR?L_uI14C$ff|Ks~1URp~x z(Rq!+^a1(`#=_jh_~^G_ikOARQuueuB7IsvHg25CE$8RaCBYyct8+Qg6_xwtaX1qlOwT(6&`NaaWbVXC8yW>0*i$;Q*v?k?)e;Ved;<{msRlhFy(bOA9X5oJ6RMn+ zK`pn}wq`+?$9e?c*m*S@VXJ{<8FWqIq)+8H;rh(H$j)DLL6xTUFCc0X(JdLEP<8e1PXZB%y;a4oC^P5E6HtY&>X26BJYLaPU(@#+NbWT`mU`?S*7{|B!P+nx z?lW)4$g;w&Q-M_wj8cFgO=T4-H>`u2s9CRKL7@fkW}EmC_7Sxi^Cha%j@o(&w)}>} zm)qgqZ&Rn$F1`N-qoU7Qfpe~0eKNe%z^lO)S4u-wtzk+j7s1%M0y}a?b$B+c$k8j{ zQc>2iodHM@;1oD@uGnW(^cXd{vANUrnnR7aiXe#AGp@M~x|9C!p<1UAK9nCmq~lhf z7GshJp@wI#ar<8A-M*$*bVqAiwD5(=aCb5c$CACt@KH0H?xpvE+(-3Qy|}U)`xHlw zie7F^(mCM(OSYDVSh4Xf7U(N8e+Q0AhWkNO13a#Y~->8lV-F0*3($&OJxh0J%m zv1us+)Zb- z+{J+6PZ!t87R8#nU9*jfeNE0}V4vRY{kK3%K0HlUw8kD7(ra1?FZ_a~fE2Ac1T~O< z2lt>od%*%0O5XwoSS{RWw?SZE0?YpnZ8l2s2i)QOWS}Qn)8l~Nb;VSprYqksO_sO~ zX$ny`6oybZ$HdZ8a4k?&hX%~Gog>;=qBR(#FM+d5#4Xh;;2bp>$|-Hmg?GfJ>B-=} zWbhF11Fbu>E8xB}w)SZmBxV<~IbqI?v(RCb4N|jh)oXgNTbU*d zK!b=qx*M%;?#GrKRBk|VG+PcXYI==5=e+0P2S9UT6F0c8@s&C((#6pydl+rRX2GK6 zcwj20){v_ss{q?_o=%x2^y39JKJYb`;QAJKF)l)#>4q3IPs3N(9YYV|5EP>o`XP3N zV4vl?kuF&A*BR*L4}f!y4(IU!S-lMxVJd(o_>gzo`FQdN`@N5hQ$d<{8|NS^Wyp&y zRz29Gca;{<^)+@}`{50$OYd?9`uu@?wR7RY(I4!pnQjET3WEE1_Z+`*UWaVG)`)?L z4AD*rLUewxw*Vl5eG~-P0LgHd;_cOD2{yl>se}tyQnk99^07rY^7}rTnX9Uw0A94_s22J{$D#}zNA@|S&MYPwJQ~;W z%SSakyoq5FJ}*Ib>_|py_PJ`;qaul~16NX9ZBT&9Jj#cHKH|YBuL;T+W`fArr-iUP zn$81I=if&yw?H2uBrX7Hk`Jl_26b^GBXX?X@B2}JGBleJtV7jD|_(zm*CChm5} z=3GnfnW1ZoRU)L2Vrz~uMQ4fIO)ahANM=VUI0-dEeqt8Rwb~)LdXneG$7utk? ziBgj#^{z!itLrU53Kdn*(N9;90)-<2$JTn6GmJS31z^fgCrP%|^ohK)l+&AD4##tJ z?cSIR_iY@-w-dfsaYpTkQ@wt;4`kC{K`kcaJ`5&Uy{0osGSG`&VKXv+IYzHGw?Z`G zEkd|t1L~Ch;>@ypoZ!u9i3kBK5(Y(2i+R?)lOywupogrof1?H3DVDvK^a72C2 z-GIywrU+&JJOG*L=WCm?z@?BmfObJ*6uxI2ujpTwfvHK@|2a$s`Te3RvJV%wJ4(Lo zDhOk}vM=VDt^cR923^Ok7wJ9oV{2Q6_spYxVqaH*xe4RtCKuF!euxoVNk!4X(4W># zv3knRR4}#dtiXR{phy)naJ*{;ZegHPFLxmb;>9|=QqgFW8=}mA0ZZr_>E)i`t$R(} z3EVE0wz<&6N>;m7dh-^f=1kkE|JDvChVxbMin3L=nA_5mxRPJ6a!yN2a`zcY2;?Ma z3)li=u}Wbq^*NXOZU&mWB)|hYRkU04j*oH+6!x&OS>sD?_9QpkSpGsm!tOB+g6$X< z@q}H3qK(;WC+x=oOmed;d98)*eZvVMO7xr0SqT@p_0=dy5)$BID?CeI?IN-_`Sj(! z*xF-Od&=Iw0;!tPf*XCn2lJxjCREluDj+;Ox=?2m5;+@@D$8!ftHxspTh06_gQU$m ziymCRRqpYeu-6$-m;(H+wo4D_l>E@jmi-fQ$1?7}M$`7i22$wjOzQ^ZDBx>Gl6? zdk?3bhjbj@y7Jo^4{XJlWim(NyqAeh0pe;79Y5@N1>wJd&=2UoIMq#nYK3@t-fuJf+O!mJ`(}J@5v6o_;u#RoU`YE#azc$EusNBjk(>$7uvIUkhK&-#jfmeVxN_78JY6 z6c#t{mIXAA8Z#@SOLON7P=LhQUFI+xoV7t0r1JQ}T+JPtR9XME+~jd%+5m9TZ@pBX z#0O)cPtVX7x;ht5^&CMnES%AUAFR81PB~gzVg68P?h?EtD~?^JlpDn$mBOX|MQH-# zwo7r|@+YK|eko@~6&|ZW7NS8i!negXxtmwH;q}x5D4E-3aHf$P<&_cjH&;H_JZ>u9@}c71NMOGCbm|Rw1@0fh+QkX#^zk5o&yOEvah=X z->cklZbRXupwcMKt*n0&U8eqH^qJ4weda>D&mj8Z8*?jIu+{*F9fCa zDn>h19KP+{14{E)`6~}P@!9i;Uy!#G;VAxHxfKGW?fKEIU=7d{TQwbplix>;)QG%YxBV}qJ z4du6ovSM>)C;lBYfa;2Ma7x_aWQ2}Nu(BT9+A3W>-%sgOejR7c8&e*W1fi zo82gzS{a^7eX!~E*0(a64r{M=zjZ0r|4mtX|9s+)vD#%W1~Y+)InQ(K=EwZ5gmL(m z@f#`$4EON^(clgYfslw`$BnW5w76^~A+@JqC9j!}xifjqTzs45Xf(-rR=8iXW6uJ2 z@+ZWt#YituQ}|zv%B$%o9Y+svZv>G*lo7Zy{QYx;2gg|HQ?M69tKEW)FqioU%!(HM zgdZR$D>ooxcd*XJB-TH%0Ot7M4xHFM)rxt~feRE)!EN;^>>*I$A^|gE%>CA`5`=C2 z&#~};?D-CT_+yhBb~xgvV*ynL7(s1kzR~t>uHFydKx1?~`uG^So{zcu2e7WMn_Cy2 zY{ks&50Cq3ZzNR2sXIbrrt+I9qKi)f;4<`DO%{fxWgJgyhTf^2tnd@*Bmz&4YTm1Z zPcC$)w%*ZDENXk_yzIT+mjgr3zXOWHU-*gB>LhvzG%c~_8l}n~&Z6WIs;Gn^)(s+r zOsuRA_?(6^< zy}L3WqhfuHFJq`?VjA`1w}PMX$Ec*U_EI1@0V~`c%cOnE@EzyogtntZ0!kS`QIJR_ zoiNn!RkjWC{?@kMT(};CrBHTo%PTQa7SK$mGI&PYeKnG+?#jl8&GB)dZ*21jXa<`_iO{|SLsC;|}* z=|s?jdM?mwhs&QCqgs12E$9dZ0`2-?3jwzvFqn>jl>{U`4S}}>fp&=)M&NBhpq)~< zrEQVE{^12}YU`HU?e%L1VJNQE2M0B%ZNd)`Y4$33(fc?q=Khb$=%3IZ!srig)m65= z<&p##1^b(W{jG6VQ?S3%y9-~AS1Yk_LZb{hpt?1xI-J#qF_XsT*Hv_H`Qx|K|zFfNc!0`|qZIqe6Qc{494PS&odVWR) zm~+sUbTzLE!)od$kq~?bW4M3|s_xXZkQ(FaF+QW12*+uDFs@R(6mRwGe*YoLaJQK*O$d= zj;6Ci%|I-i${4FLW8tGV81Ks!r#NhRUtZOZi+lD)Pt2*iJ9=VzEj5tEQA!`{6W!a3 z!DccBn0w6Bh|`Cwz~LkXVc5ayf#IVlI1f}~iwUZ}WFMi9=}fy6%VbK|}Lwl|hD zU2m&@6Qi2uSoU~Vn~8>Nag@Zmc(+(^U+kOEp4qoJiow1EIpwt#_lY}ee_D71TU*A; z?Oko}_#7)6yP)HCGOIR$QdbSY;Z3FCuGB}vf(@RcB*VMlNen%~Axu_7vxPwmgI3!S z&lV%xVzZTbJ~j^RqX<+;`rLf!bJWEf?pqgHGXdIeM0@?0YA=;A$eX#OVf2QZq$7yo7R`?Nk!@6(m1t+q_DvqIT z47Y#G#xa{0M%#zLDmQL<4@p?Z!UNdkh*fmOa84N9XN>W?p%aWFqHJSKK6EQxQFt!_ zPi(=q%|2Wh;;cQ&99^-B*Y;m}+(`(bta^$Z5tSHeGHQ?Qzvs~YwS&jyxGxfNMT3Km z{cF*mTeE`$xYlWo_mNvsb>WVDa0h0k*ZB59rNtg=TQL|JHLWS;IDtEyVr!qV_DYl- zN8Z3*A-02X%=xk1&&Tjl4am7xs5PdlaE_^+qzimO>L(Ic-m+TSqK309Mzv_`HM*1X z=C6}yj4@$B!cvAF#sO{$)A@5uia$fS7MBPD6NVXa6bE%E#aeveK-nTFIZ*!T;;WWc zsFaz%N54khjO}xLu^Yui_g%1=CVP?$90j%`TPh!sIn;kR*A{N`5P^x6h%LqBRdr zRukXv*$S9OhK|3^`D3zmJRG~RS44+{y%z-rxs+9VMwm4aFhByW?G^UuO|i!jD%HcL zhDXKtk8?HF*33hZ>fj$I5(={w=s7m4fIxUwymEc=8dfTK4J)XCn3Ypp7-)J=@Kb0gtPxTY8(OHXH)N*{@! zT%<91F53D6$%lstX_Sx4bgR-}Hh!y4kE2qp@loDguf(?9909NEueP0lIDMe)En5Wt z9i*Z2_2X^txO?TrYd(B7{9q3u1lj?1wi zn){eggm82m5Ecgp(idd^O~wG#)nBy;JjEIW(Am8t@x43NqgmrnSJJF80Ysc+CBozA z9d|LF27*?6w6_l1#wx|Dt?!U}vBxsFpBfqR@U-g!Th@ z*1PwsI;1MA_negQ+nKLair^pd`YkKQj&Px4b z#5HvZq0=ac@W`9fo4Q(iooXOLMKWd4r0AWUrdBSve)jbl1wNy|XB7C10-sUfGYWi0 zfzK%L83jJ0z-JWri~^rg;Qvbsv@aCEhF3-mCF`Z`%86yjQ2a7vlYawD%&sbAQVIyA=-&c(=>{njMk$ zJA}h@6KSr3;=)b%{2e~e;6sP*UYyub5#lL)_Tlp}K1FEAb@=G`{1Tr-_d3WPEf`4wjML-gMXE-!h9=`EQHvPmu2V&DdWXtpq$)5gk z;XVBW(gDNa4<66>v*FutZFn{uJ3q191qm;|AEU_;b0`FYL_( z9>aX&Cur_b*;%7A$GAMsu^HnWb}luZj7J(6bIBj;PCQt5(uDOUomh9$jrAt3tT*wd zA4rx+h)$%)M6OYwU^a4&K`O5{UYn?$uU()`*Dlryw5v70R;-n4cWRrosJ2sU*WM=I zoaK-H)%Y*N`sW0E{v#(U{>(&a#O+S}V>(s-D3m=GrB2o^(h9W&+8tWG)&^SEJHVJu zhs%-Wa63HzhrPFfi>g@T$IrqpF0i<0P*$Q_W=V*NX^AU_;`)-3D52KP3U$|o5DfN! zdgZNUi^Flvdwa8PT4vtc?RLApspJcSnrOEde5o)^sqA*R>rE;$OmhF&)<{uiUe^*Q4#ZOGa&6(7NG?h3iICAMO2O?XhJ8T0d&3K63D>gz1~ZcdU55tXE>~ z*MErHxq4yrmbmXMujNj8@a^x9kFTpLJ^blazLTFVp1J98d!y%&d-j^V%j#cxVBzw! z^M5|I-(EB09$n0lys!leQp`X75M}i4v*cUvjn0{Va{T=t6+XD=g##x;$4)-1pZ2pS z>fi&LA~yc?(xy>)Yu=df@&0W`Q_pUH<;%S05#l{3Y#&B_eC)221AlvE_>t?!2*+nu z%=~2E<=IU;H?_ZY&7eJR&VKrdtsj~Au z{aajiLrS7!^Xl=(io+f}s@rZkxaP*_k4{UT*B>0XX>-`dlRKZg`EafB!v0=MN1heT zt6mC!vfrBCpKpuGEl*5YY)+NU2rH#hr@^bclk z8sieSZ}?*Pw!`B$p1A#!Cz?|h?>X?|x%Q6_<+kRebsotdIjMTl-{z4S@r6)A7tRT=fxFzY=#w){PBYrVx?`=8Bk?tI4d#pcjw4!-V6p8V0j z|50*qZS3_&_3q1$74?l=@MV>C;p5|S7e~Exckc4Y4||_n>kohIhF67%*Vpwbo%oo! z?cfIEBhK%11J3UX%b7Q4{*V7$WUqMemb@#!4tpTK`0B&wTM`aQcQ5}m`n}sfTU2o3 z?Xzc3*R4vc+j7N6t6sZb+3@klWse&NdtegBE96N_Fty(&LxSzXSgm2YPM^D4Jv`|}422H*09 zbJi0jruRZ8M{axj@{nt9y55jgXWjbFkjNcx{PFI$67;!m-t!m#C%ck9Y}zERJ2Eux z)#JZ=ZP&s-UH{#JQ_pV56(b&79P-z&@MmwkrMJ(ss8``-a|FXfx9@x+W_j%wuO__y z`_Wf#HvMVU!9PaTee~6q)5lg^bK+>^;e&@Bp76!tZ#&-n%$e{0bm04!*H!-R`nS(~ zUh-N&$>c5l{&lypdP%O?|E@L6aZjYKkAI#0(VSQ3cO3FRkZt=g@A9QzL_Gh^!KhE} zbnEZf^=4>t_VtVY^5fFR`nR>J&f86c42VOmP_s2&Zktb5ytj)J(zPkOd@2uN) zy!^vACb#-G4e$TmjvY0-w!S<3u{SgSyy30u47W6GeJt#g_v7arzjNoJBZG!5cf479 zd-k4?tDW;6Pbj$Y*1E{I)~_<{zWRjWZtv-kL~8#P^iTZ-M4wUn4WXa*(e-{ly8BNb z_^JNm*-zKQj{{6#zmOh&6i#yg|LxyBYX#wcJPYwS@#NuIg2#ntDV`O0D)3a{sm8Ms z&uTo6<5`2}Sv=3?<4wQe_*wAF%6}lgpd_CkqGTao z^#_=hJF$NkW6!0#aj+epNARq|^EjSo@T|l0BA%D=yn&|{&rUph@w|`cFrK4$zQogt zrwz{;JU`p3Y1kZ9j58;vVJdWonJnC=F zKSB?V{os+j*>l%gt?;Y(Q&m{XuD|xmd$lT;zMZ=Uk4;HTdwR+9^JcN|r=NN-rTn|6 z`m8_x27R}b|GY6};OU>Urat*KeK((2aWv)Y+|s`t{e9e6d@GT|`i!f*yy&jm9~ea6 zEvuH<#_jsK^MmZFKhXD@?><>R?&g&36PADV4t+oWedSw_J7G?n4RoE5C5kcT@WOjN9&BXgx8*`xp97{d{@VZM6eDzL~Y( z(D$0BpMLwcXP&0tS^CDW?Kb|tE|tIU;_uW)`MY{If9H0vcSY5(@dAELeHXBI)hAD} zxBdP1>2101`H%^CE5%c8rS}VuU$q$T)UTc${sP{s2khDYG2SDu|KR~s8p79DS6!q3 z_PN1RBeyOK!S}wWON)9H{$<4evx;x%kbv!hZ~=;oAK}!us`|`t!4< z9j_PCkhdf9mE1llXa2t1zV2@{)LrwJXLrP`IC$@0`VGFEhT2V6FNyAV-8IASJ-E(= z(?JAh+iml&ej_FHUwvNwCz+jgoSg91fLCj868%%7Z`opo13 z+3SzpitnaDXPzE=`sR7>KKsI%G5B8n#=%p!UGe9?w_QJf#yETrU$%QZ(G3jz52E*L zn`$4M6y5Q`-L3g(pO(i-F?^Hb9yJoOu@GjI%9Nt`LdVOpYs<@!*|B%&YFxx zwLhNTWd4w*`S*)wKFe%+=Y^O*y>tC6eAoW4e)ycbSJY=ZuDdx4-yKs*9=iMZ%AHpp z((Rs$@6mHA4$r%5#o9mJu_5dpd|M9hx<0!u;iJg!cY5x_cSekD*}@g2kL~=Er(r(6 z+XnQ0Z_(1ok6yl`Fv5ZFiiW`hAE-U_!tjPaEziMs^Q_w+%)hVUsfFvlJ&{M>BS-9h z(Ejlo@_oMeCHP+Y*^F56_&1YIcYaV>gzq6^{<>)C@1E2zv(DH^YJ-Xs6Sw}}U9|G1 z+7m<+;D#UxW4z7Ho#DIqz(sWU@IVAY|gY0Z_)!qqxPPESSO@TFbfq= zt`UUKe=rE|K4T>&>;7vi=ihC9^{uv-ww?UD0^t>ESofH}ef>s(-ze}K1%9KzZxr~A z0>4q+`Z@=Ft z@EZmG|3d+sXJgzz0zkPJD&1T`S@0T;i#sb|i7l;Q$+E(nMNXGxNLsulDLHvWBL3ZM zx!sz(a!_20?joX}b!w z(2|qS&~+9pK>?gd6GbWknJn||7O}|g5c7so5}<%(&eS`n%*eXaGX9RcEOW-s!fh#c z-em=_%UOU>d$FA-m9uzBUJgnIQWj?CyOx0>ltQ`|PrdUlD#E0xciv&k z%(P6JG0QUEk}-bPom11YrjMUx$;g_OF(cD9%wov|O;C7B;1?+BV3ks6w=A@~P{&2X z2>vcqVi8cwTWE1+7u!*p3+y??KrGv`0Ic%gD~b}y&MU}Y#L5UXx_HKF$#Gcn3tU4j zC51WQ4Oao9Vz(-!=v}oq)G{@H!LXs0TW%d?NzX1SvWzdb54EIaFP@M4To%EZKHf5X zMAFU4LoHdE~k!vByE2yu9_5}rtmlWEIig5Kzz=`rNunSIm-Vy<9 z<-$M4X+nNMVt)2wyTJZEDCXFaPEMXZ-z9(;xK9S;5Q;>HBWJ1LvLhbgT{(aUr_C=Y zVsGL&!I6!?`2>--yhNCv<0=vg1+gf5k$ntZ`SQEO!9@!eI-Gga^Y0j3lspff znHHWl+z#Yw88&R#JhE@YUR|ezwHhbc(D_HL*bpi>W%^doyDQ_?VI_IDC2@fzQ7t>@ zh#x03*uThyW|&>L&;qh75m5yX*zHTePC1Km^3m8Rt0J_@1Y|$k zOcEfRCDDOEMn0a4g}ZUbO`)2hL(PXJOcDUx!)w5jmy`cM5i)Qh4I;jpgk=%v%Grfg zi6t=)08}v=0CQ`}fFl`s78K;WP&Jg`bOz6*1;s&wU6Pl*EFhtfGp}GvVm?6CYG$b~ zEFiwL6cNXxRe)1m1!x!~U;-o}c3>r;$|ia)UV=>Tpp+;?{rw*#@gS05Y^Eh4E@8Zi zW|T+rAU`L65tXkHZ~+bkEQC)X#1=JC&Xsv+p7|&?Jb-?Vog!sghJl|fh|1YY{X}%g zDV5c@AEI7BT#D~POyY7CH;8MvFMxwMblDf7Nkb|p79)b%5?CC~4e<|wlsKCQGm%W; zS|tID`Q?l3-Xu$65&)?MX&GyITFBF0h@_GMLCxzTi1~IGgCGV$^U=aBDwjj-3|VN8 z*Ag6NnMzVA-_AHNe<&x6)?9M((OQNHNuw>e+sTrAvye1w#ITX-WlTc`7sW@wt+vn1 zZ85MCbxwe3s&hL2sjYMteX~}&<{7NF-i-b4INsfD6@ zPna@(w(Y*GJ8-4g#QUaLgz=f_vn{l6OtR?GrF`RQl-CSfEoUtKqx02y@t;NjZk=(C z4){Dmpme$`2Utp<>4DE2eD2>p%)ZnvOul<+24uIe2+x9Sm#}C#{U5eyxsW}73`x-` zx8+S=oSuKjgN2!6AWQEKSRtW$##j>X=It9TtDw*Y*}*z+^h_$-Q6-L1iw~}1-H0V; zQ9gtKBqsIHfGt`E##_umbI^?xQajU{&<%r&ZXh<`XDYC>s@WNuI5+qftmR9)r8pAV zIH(V2F5=XS6WSeE(!1`T^kp|oO}b`Wy646903X)v00}x@c~vyxScMK8i5Jce?plF6 z>;QseO$~b|Ue*co8-RIjCLFhmGrRJT%LXG1qQE{l5EPg4nKo2_ZE|(FAxf{!M0q2f zb<6KqjC~LH%e&0Z_plQH;a_iJ;ea(ON4XoYTDVzh420{HZ5M^>l)rF4IhM*OeNxv5 z%-$vwmd>e5jcP%DxVRwdt;CE0!>z?(LL8{bP_rWid$TdVxA<(*mzYHhh zj=zbZ5>1dB4O3LtR@&51N4pxNPu?cuJ64RBQ5!#g|1z(?PXhIavxK5X1AZGtYVD*_ zdnbH|!xY^eHuEE&;oEMSUBQA5lJ4rF`pl zstNz7(YQlM`Rq}!^b&-$ZXjQR)9R}A@$NO&TE*fSrW5p1aw`wuWT;%BbpbxQ;&s(= zqv0Mc&nXQ4F%Ew-gTGS?8%kk~2KuI7YyYlq?#j?0)eQn&u#E-^W3m3lUPx!53f*Y9 zUkiIz3!AH@R7*bVi3DiwjNRnY&WrdBXSGTncikN2Mx36@nWv`fTi|E8ax5qh-%QZy zCRT1bj$7-neg@-nf&BGj0C))36X)s_^9>{;qJ6LobMI=BVwWOWoL;Of;K6OzQ!tL& zcCJQ%la6m!PY}Ah8tn+@S;yc6U9+c!y1x`g&(etX)Z#YKhdYH4OY@=+cC+zVP{Ex- z>>;?Wai4cadX;vIpA21G>R zMlkGS+$l~L?J_k!F2^uLqhg<3j-ykLx^BgxOI8D+RF<@!UUW@rmdVe&{39PyLZN8~ z5dvW4M{sj4Ncd0ubEgo);k-Vr6n)(1bY-Sof39CSbS1?z0y}^x8waEM$)#OAfRR(7 zJsTt5!h*#Djj%D~#q5c7TG}uM9TjH2*{q*K-<{1S)-<*sX34@x4?}j0d-ymV^A2?| zj!u7AgfIz1UK(=`wYZio;ggd@X9P{2axja*NY^!lxiMRwF-;xo%$e;@p~i+Adj8Z^ zIJ0LJ`{2Yk*2ci77q`sRrs8d`OU0?^Nh=wJ&_gW>)KP6ctQFb0<}|m-=Alyntm+?>EM)Rd;kgja zqtUP(=Wf$ats~+e#-ZW}=Sg&w<~qYLlpsSn@h~N61olzRu}D_=$-(lFM|A>B8b#?e z8us8nb@GaHe)l%n0wA6ZClHu&^=wr5c1XbuE>IJ^gVUXRt9-C_5KCNRoGbmK2u6+b z{1uQ!s;w^YyPNRS@LW$k>u+M1nmx}WOO2)}?v#^MR&k^}s$zpdu#Rd1POj_KL~rhf z$cmgsgAtu5{d~NZnbdO4bf=I|!P%nDsi1<7j5W0uGm2G%e^fKlT~DzS3?tD3W#$pT zS8B^pegM&ehItP?iXPM6L8ne8GL{DWVz`wZn8_@|kW3qm@!=PTpeb806xcW$v!O*| zUUng$9bO#G2|dzajOmzeh^C^0Y0BI+^X2JlXlU&OjSH=Z2Kv}u6;7eygE2drF%8p@ zL}ZD1<^sTwRtHdg40s(scTqY~_gCy&yVP**7>0BGlM(}F<5BBRRyWyz3vq1IRsa{*VdA2VR15)uO6W|rcC9Pfiy^L$;eb{ zAh}ybN?4UZX3tyra8lDy+t%NJDQ`yq@dEe>1b54=!Zk#bUMqs*y&s6T3GsaQBi`13 z1Idapy5d523YAU}b5w~T-mj%Gx?)U7al}@#Wo2@5s|BuE=FJ9*J0&AH2mNIlW|_#r zokHRfvggm>&PD@$(73DhDSYC$z8P%~89u`5bz*?OGZ9wx`K<{C@QRmIMQ)9deH zXbw=BTa3L(P|!hoN+W8+Q*ZVpATMVHut+*Mi(#rnxzUWNL9?ES9DZ@QO4-B!{*OTd za`<$#DULi+!Mz_;1k4ZbCEp80#T9A`{R8B0m#A2Q&V*s@x~`jWa3eQ0g6Sb7UCxpY zl+~;Xj18%1nZ7#(g)X|HGR?tTYse54EhH*jBi$*i*^3EUyTebtWL{5T!#xq&>@?R_X=VUE4hYgq4MForc_~zu1}% z2PeKWBY?pOhCwtAen;sz6@mq#Xw!t@BuyBmtY@;&z+@q6j0xo%Fh&TX^p!!f@I};9 zqk#!ylJgvXLj@IFuW>snjPh4ja&L4Q24zn+k(b322daQ(&lgCI5mZU7L|q-iCw?lG z%vGBzRoZzI2p{64Zh@`uPXkv~RuM4pZODe_!o zXXMY3=Og{tP^vS9m_ki@lfe{b>SZ#T!c7sTNR!DFW$JA*o1#s9Onpt4nPN<_rprxN znEIKnG+kx7+SK0^XBvQ+!f(IdDDWEv{-39S?HC)0`L03MJrB=t#U~dSwqqGe7KtgE zOfjJ&S^^@Ci~ZjPM9@Bo0S1lbHZvci79)a7}6Jcq4Hke*rxI2Johm^!R=jE-P&RXnMxcCCDD^YQvN9$j)6$tfl4BBNzYg`usZDFI~FnSF7X|;z=d^#HvMP|%WsyBjG z=n~-+ks|c6%Y|XCZ2AW+Y$83&h5MEZm?`u68;$WVZaljOQ<0rapO$ykrH8@$Fboct zZB1U>t0p$7IuD~ZEWjP2?z5J1qc`gqj#~Cb(HqAfi_PBYVJ*@J(kJT7&P&|;=-ou* zW0Gy3n#{hgWDa{L#v|lCF^v=C{ zjQDozX+>iTD{UPyg9QEQ1*y$aQXapk)v)_pFfr7mhN$icRu{8^=Y?R#LYkRDx?tsu z^d-x%gv}N*x}XCqoLzE;&OhEt7h=!>c_AbbhI*u$%A zhNQx5k`CCpRE=SAz;zv9=pde7fDtd3KCSx-xdckv`Vi%@Hq|0uDj1v|u&sh?zBe3T$C|tILmVAC~jBHD` zWwDs&%1K<3UFc#7s>+04lO=JSBQJYVk!ASO!ApNtreiEDBfj!!87yk(kFnU7x(c(A zxgFLRDBEBWhA&uv?b3zNB9zEV$JQw+JGLs$`_zI0*tHZcvI`m0pqLyuKp41I82G$^ z)ji$?ll}w?VMH?03@*-g;oul8uxq`aRt9HGgL1GCRw7u7wk*mnoDVC8E;N`-i$Ob5 zI}8_;gKW<4N)MV@700Zn30BSOYABxkY_f%W=%A=umI=n$qp#kDYj$=yD(#(u-w|%> z42oJZJy++uPYCiUzU<<}Ot5T9{I6*h$6g#0YA?k7c2+PRI0T$<@#D5eTW8R0k4?=R znNo|mxzWHBYH;CZTFKV7mDoM0UM_8`dvgF<*n!UP|Lh80z-vPrP2jK`Z1bhS%pM=K zHNl0xoS|;s985xv`zVgPv`dO*ibOWcG`gue07nt9P(;Ky_y8IAiOuxMG7v!neq#^(&Z}A}GW)GB{`u zv{4*`mEDF&SXkh^qcgAC$z#^LlFgfK9o@7*3j@*9FNm&=RS>-b(SwVk(QHi++i{xd zcp0SK!QfZ)Kw_wUsLTg4Sed0=4PO{>O+xsgUm5S|u6WV^OT26?p45bkzruIB%$iyn zS4EQUDmeehK#O9y4(4%#A;MLNNGc1~rl|g?hRju~P`+SDjRwIaQ)%%23{HbzOS82q z{4OekF?_e$t+)ns>qOQB>QyYI^kaaR-dsiF*m2cyk2_c_1Vj1m~lRUe`Rss>EFS`&&`UEoSPI7rW@E4yVIF=uen(OgKy z^iwO1WZO)he)X=ZgW@4y30e{jTa=Gc6kOaP&pU+*4NjwHc`GR4S~}I2rBxkt#a5mZ za1&|a9_JAhSGfU_#J34pb9E?g5kCb*KVL3IX{b?0yGC7vFqg;X%>j&iGd^6K&S)a- z!i}3vYH`gT8VRrhy6cS_XnCM@C5;VK2`X4r2`YWejR-E5pyFJ23UwwS;*6yFokTpq zLRbntNLz7eBNJQ*4U%?rx5<*57;>cfydC+s{tSqVq`1Ly2`Mi2j&KhDw~r52g6YS~omKm=G+^ds{SdzGE4sLt{RQ&F-G@1x;gV zXsvca34u5g;`B6N#5@KU6}7M_6EnmU*gA}`BzwUF78p}HEfxVM3*}`C>Uhwypl|`R z^1=!zEb*9uo`pw(%_qiww7x@2p2IA#n9C{9K3U*>G+2rdx~#-5b`4I>6D{nYfd3eO z(m%m6#8u$R&SNHEqcG1HK00ryWpGkb5rP6XVeV5j*TdyT?vyo{?+LCn&zTjsH5%9l zqcdMpi*g{Aw?;V$0TXdsFaDS}6d6pMb1tYqZ!#kx~i z{jD&`tlT>G=}uu8P&%w~epNcG>M0$Ht7FxqRv~!=tp#uhUWJPxn^_m)e2@y*7v<3A z+e}Zv?s&~ICDl9RyF(n-yF$b$hkTX8dZlP!DlKlHh?21JKfBveG;*!Vj{%*_KWioq z@K@W8vBgPf3^J743s_a|g+Fd*J4~b?rPypGE{{60X08*vg8Trl6oCL3GWP-~@mP)R zST$loO`}~^7?|w9ZoSY2^T7NYTx1kW=E$mfUW71AAS2a6vURo>7Gk9s6CVa|&u0RF zm!Tips(OnuZiJ%>W5tn6gH%z9rlq^aU8?BHBb>*Ff_UHFPHGqNGveaWcRwqY7tHMX`3@yhDNU?9S202<2MQ;BY!6|mV7af2nU z|E5V4*AX>pYCWhb$vQxrnxckj>e^+-0uxOv&%?mpp6AeJ&&*VtR6(j8cM%zB)8sfp z$XE3W0X30*Da_1^tbzr0;IxaS1iMUV!N1F(eF#je3oZHaw^@X6%3BM8Ax?zK|4WE> z0yhy&@-_V)PX=B1n|feh|FeyWR)toQZ+jk zB@_|?Ed|YgsB=gFd?vto#DA83>{#Zy!I>UNOiy`pa{_U0m)44|p%$Ee6o`|4nL~5^X%Xc?Hntb9?QdD4K|Kge zg2qGC#C^E6-D|I6tgPvQaT~5l&Ww?=I^@iLxLjE4?q;)0$j~UuA*bmzV-MG4t?SlI z;JWMztjL?KcF-V9Aj>s!kTyb#6Tyq}aT&?^c4+^pL3QnBfXrm0t-u-#ki$yO6iUu@ zt2>4IO2IWuW@Z!C%zmyxQf5EiTk6WL;Jndq1PH)v-CrqS=%|d|8$z54G8oq|3+npE z^>%`YMj3C{Fub@_cAkt@Lp_u#ikC`2slY1cEol)M_-9lz`D!8611%BJk5?!$u<{ZD z7>6tGGCcYLk6)nfXZfr+zko*sPi-kCu)JgB;tFF;(nV*_C&@Exm@0a1qQE8DE@z5NYN zydHtfiahOzh?NS-(*{RtI17|Lo%rz1jX2Wh!MWG>PABTrU^1b-y0L6Vmu`x zXw}ERiJ~cw94Be1_a&i2VdZkyN6^qwrPIm)o%${grV}Rh{!K(xWf*Es;xRD_+(D!f z%${bNjc|Z$=m5MMTj1Z-hIt#QXG42qrV@df9HmYkL}Co)FuN68U~F`Fi zjAq*Zonmt}{;Y|k2$!T;s)iWa4FUclT96zk)`33{~N8+OPtd@CgYt*Yx2h z9cTp{lmNyaaM90~O<&|sze)ybz()yYM9f$0qfG1;Qv5GyO;q@#Guv3E^xe>6fJ%8l zQqy2R2GkqK3wNLEioc)%EX@g3+O6LMQY0`0q}>T|R3g&ChfQmJf#pLUXU}5>@bDk; zT}$ahgI0kt3jM=An#RuWU#v7dOO&X<{luIm%*AK|SJFZA7JU}cKZS594s#fU3SX!L z>Jf?iPpJHfg?yrchN_^w7^q$dz=jGM?8i8}92jVHxixb=5z#;hhB72FRN|8c-DSWQ z8ZoMiHO#ZrU-Ik+B!Y#NfzG#Xw*dH4)~RgJl7Kg#D#p+c-z$t%YaZOohh7=kQ= z>C6Kvzn~(SxAdRvkd8Pc69^D0IOHgbgwM&~^c&XGM|^Y2Pi3g$D>IdcAuFW4;9Bb_ z%C zXx<^d$rJP44+Nw(PTLKHc+wg3=4zrh+6%J9J>Oq|=PGnWj$OR?QY?k|1~a4)M$j4P zP-)+awA&v=rR2#|>p1F4&lS}25%a*5g7MG_(|UTdx}~{bhC;jVI4Pwl3WE6X^#Ohw zH}p{kV8-9oev1Fan;nLwDHxXK>UzqhcTg^Rl3E!G?fBCSD`@=4bkeGxtB&&riI-6G zqjT}4yp2p-Uxe#_qC9xSMvT>sPf|FajAbFxDB?#sg<6?Z+QD)rYRM^7-_{fgExwJF zN#mxZOl9=!OK?-Dc$r#$N-%}4b1K%|;bzHz)6RjAR+gjrk<)Omr{vxBKW9L-l`1pD zxEk~)P)BND?JhNeH5o4GnDabp^#6zr$Ew5_tG1YKl<-FpGUA_u>wxFt*>A2Qd!U{< zsE4|3hAii$kru&1ZUCDnylHM#a0*5IYY$mb`>ZFrEh)9 zfU`B~7`{tyl4HClSwN?(_Y#Oh9_w~k$39ka8B9@2J8Pa=bG=R&vzq>w=*9;D$ypr? zZj=^7>?464d zB!pVUw(=~8U!P8yHrkpA1*_P;qPNtRU_+DWkYgT^vYG*o9&C$T+U(Vv&Hvb~V^xV| z8Hg#lRACvhz+NnnYTR!-R#|$CVYbQveT%#Fq+qUk5$V@aUTAIJ{$;>ts>3~&Wmp8c-5<}D*xWX~DbRELz_ z;!i(DB#72GMjeULalR6o;kparDNYGJbHo1~-3Cste!f~*UH z&a_{KccQJuyd@fq&lIO)Vr;n#$b~E3D$-h^$$alrSB*Bqo@VDOFINt zZ#lgKrK}8zXYE@}wCpt*yp29)8MbXwlAfcby0io5FmE$s$~TIyy-f2QE&o=Iqn64L zmQ4&>DT;jjtSRT}W-Gk_Eyr>{Dl=;bYRUXjT|O}^HrnkvN9fom<#cfN*j1o$jm#Q* z4gD_+uVJ*noS^0*@;G1rHoZ{q)q1l73u~yuCqwXWU5J#z^0ajl5)VP4iL})6nIE-L zg>+@Ul{K~7^^)l!(nlMCvR`bUtu)eNlsX|srLq2(>K6k8N&vH2^OmBJr2Wt|LR}-& zVk`>71<{1>8v3TyRa*Thh1j0>To_i%p`FCfI6PbA}dE)0#kqg0># zv8z0JUzr)r+o97xK@!0ln8&MvK@6q%f4(`Nm zeK?c$gXMq@7_bW+-?g~w^ke2n3R;Gu54}im5r}u@nFvYm?@-JD1%k@o!OEWw#HWTx z>C|s_5n#UD+Fvw4Ea#=V8mAUE!aKZ3nFy^0|&Y;Lx z-_UQOvS%o(fG6s1n)qdF6`=5gm>6pnJ6u=y0DV88rvbe77El09c9wZd>iG<1D!g+; zylFrCppJ2$izvUkc1$+_Qdj4O62O&0?YM41Q54k6oAyJ75&|dIbCQlqVh7rpAey>L z>KlNPh~}*TQOSydsL(|htQ}*xW<}|}-(zMIpep05O#dh+b`dzKqgEaV+rgZLzNwE^ zs_^Zs#;5WO`1tLNa3Jw4MeNHBmHZsIGnm|JTz1*HJkdP0^ryhNk4qAQC)bKmxA{zc3svAY4V&IqDR2U*PdGFOHHy4g~ml_3^H8<2RMk`6ce?1MDv6A9$ z>DWL{skxygRL6$VkR2otZe`UT(<*`T_$4=qqjN*$^l0z+kPPJ;LX8Gse5Cd@7+p;< zG?YnImMFN!myWnLxC98I3?F~OO9$%O|HLk%^B*C zqXm~qp*{0%hH)>JH|Wr%F5z;Ejl0k<%`>g1AzJmP)vARxeR0O5uV>80!5-M+a z)Wp&#&=^a#+ccQmKN=`s5*p%QUiB=ndNozO-$2aJeFW)FA;o=2SvHSJi>zXn97m}% ze2H48S$IM$sTd&jlJ@T;Wa?<503q?H9J9*3%V7S;E^q&S7>>o2{ky>z%II)Fu`&#c zu{EpnfRfx?a#d1&WeO!rS|OJSDrLBZ3R)1Vg(EN<3+fM&AlN$*L{gMqv;v zv-eAUNzHN;C2^?55zf*KT9=r_*Ck?Ut*0i6GORX*sB3x56Piczbu_dZF&3uTcs2j8 zfzft&w6m`G)t6YZTXT&Hhjj{`B$fy-wQ}$PfE`k^c}xA(S z2`ZmD>6m9y%xEDbvCUOiBmJO~CIvA?^^rhXWX=%KN`n~!zP=2QiJ?Y9{1WARcA!>1 z>C<0a0xAMv5GLwcGt0R8$e9CyT-AkUr1s-MmSAA5d6tUHnS+1AgWb&j=FQXMn8B`hV)OtVGg1#ewWx5gc{4^_nK~^(2qJ`bS@@>V zwl~*h!DehG=#qVt&~Ky}+0h>86|gIV*1?UgzQKSA1Q=J77KX;TAsXXfS2w$NJA%2H z6WMZh8Qrix(0BEjv@oOj33lMgb_`sw!iN7~YPN*PRsiYjXYA-(Y+qbZxD2MLyc&Xz z8=|wk*crQvak_MIP5~WIy->g@#FoK%3x`^Ya+Z@L;?hw8x(KHcEzT)I3JaVUn7m zjyOaaL=(-9P#CrT5u0>dlaUSCOVQi;Jo(%J7xkD76>}Ah9n>8bW=|MCYS;Z2l%zx9 z{{%*`XrJ=4h7l~xVcwjP1X<#GX!^WknRB zJ)K9@VBm|(Bd$Oy&D+q@!NLus%= zcqj@lN2BK@xalV|(&7+i&kFc7dRD-Xpc_4F)Od}aYSq;`0rFS&P?ZuDr%K+};B=q$ zo2#xxNNW<2)6bHYS#rF_ye6IGrPO6ssqyM+}O_?=E-r^*q7O3a#owq#6OLZeNLQ5-Il~K?922z(< z%Y|nxAZl3MR+^ejbGE?;Dpm;3~a%8DrIk4SeO(RbsN{yHnGa`Vbf&>+^Z z>f;#IFovpTb;EJJk-59!+e7If!n`XP=UbU*E4iYpP;M`ke?hBE^#bi4Z@yMz@l8-d z!mFg$o6$ZJ4sV*xn|F7`<8I+`{Y<$iiY*3e4tNt4&{RNH zPReKT9ccT!g(a{8bINk*&Umol5a(Y;Yne5xLq5){MK^XQGBHVj$i(!}g{fTqvFxQ* zJe5i8LtlDWYOd%c_CDa_-(nm8_Vx99S$(p)j%RqWh-&suh}V2QwS6m^atU=`Dv^!fhwL4;m%0 z1*s%|Te3~Iog9R1?CC~t|Ay8|;xibDEHGESgv!LsPA8=wJGA&@d^+Gey$`lYVy9L7 z)p^HWGVe~7H?6zq)2W<;Y$qYELeuopZu90yD4E=6qs@;zNEHJlI0is0T1>8)rso6V zQrLpr3R{rM(l()jY)Vd|0?Cww*`F&p$Xm5AX?+(VR4%i*>IHNGC<+m9VmAV+`}Ttg z$i}xbp;kui^*}!=!*=tQOg&pa3Y5cZik4tdlHRG&Erv2n>z0{%j!JN55g5yUh4q=9 z^NK-UJ6K(z`b|_<9<8p#2sT1%{puHM>{sP)zhwSY)*ao;*+YFTR_iO6X{hj%x)q+E z4N?Vsg6URPJ12Ify`6OA-~wxUdl8n8+I^w2 zt&Q26#y5bipzg+cS5YsRqmkfb8y`F4Z5;rDU4qrtSvVSzy_IarmEP|C19Qyll#Zz8 zs>EQ&y(4=|B2H;(SDo!X%-2+|Y_BohigRcfZ$hKqhV7N&NtH*TQ4jFvew0<^Pg?jk zds0EXRtuJKL5l#GoPJVbA_9$9Vj_Y>2tU*haBOZ)cBgV2i4RS7U_Yz->t6CGCR@%P z`X>II`<%ICJUghN5~-Z@1L;BW#S3U~-4c#JTusVrw-6Utzb@FU>c9hnnIde0vo)I3!e3 zXEm!$EOu7H{H+30C)7fxDkai@nYvQa@Qu;EyJLnM^9o`x4j^$FGU^iL`8ioc_sUbN zF{I4ID7Bar8K+7#d95SvdkLjKs z`IVhQ|B5UK+{;`UUe5}6WH@g(V3p5A|8xL!TJX>7A#`vz$#>{oVI1Gza};}35jB7+ zjTo3=*6Bvi62Q{8m${Ixi>14VlB~u*D0K#CDPEaO)h7j0g&$+u^eF7eL>|g48)^f0T!sL<+ILJc=5I`@Ftn96LRw8%L?` zUPuOKqasya`WC$3=-z8Y>|)sWxLXE#tBK5#S3#HGaN6MBdyZ00y*On}SD~fMbrpu5 z(|(7goho@w1|=I>GXCOZwf3qdtG3s_gEKC|ITY;`IGfq9?G#H{@7~*4xr2}&fMS>* zX#fYicTlba%#XZhL#EmsIiKLgAIu<`xYyW9wXp6zmp4mX`&aY7;`Vnz0AwtGnDGn zU_Lf@2A^a1Akr0FeYrzt_Pl`^P3sHzC$k!ppP-_8V(X?&lC99wxIxnR$hwKjQdlQ-4DwKB)Pu5e zNgh1{WcD8_Q5~f2>GkAX zSIT7(E#)G<(G~9|z6te0HG4Y5z4tuN(yNcOdWdZ1M`}O_QX!hF(vY+KL=aw&2jRuE zjGwoX1aqJ3WA?nma0~gBxE&$hWaF*?{jisTm`-xb`uv5H|s#Nm`; z7=795CZAthk28D1BdoZAXjJZ<8`*HWmwWHoi|}y#cRadyP4*IDt*mOzk9>rgrGFFg zyYkBS;BO|!Bqqn?sOuQ35+8XP`)V!Yf}X&?iCVeVOtR@X47Hh9Acrl17P1$nGn_#^gMSmXC*HQaoYuH!!q=5of8;e*%}b1P&I#nB zM?U^dl%TR7oeIq7)dFwB7d8?jS>I%!=HEnl`&ql;@Ii1F^(l;G%aDSabUvKar!*ru zK0!mjO+5qa)cKGJr*)+M>TwY}@rU!IHZFo5>>cSl_ZK>{PV95w8?czJJ!`Q$;x*qzm-KhsLWddr*WQ;YA zLW;s<_GWts4!Tn)jb6odHhmpa&S$Ljhc>|Ez{JMowVso=8m3716z%nOo%mO{I zWBBHnhtsBtrz8d&W?^d}>UQ@+fU;F39lM>TtJGv#!R8@q+$m~Ynm8$| z85hCIHIJ=XTpkprri&#gAV#_ITJD~(+FnadvKUPpU1)ouLHQ0ndi-(kSnKRLWDB=@ z5Qb#53pDw-c)W}85tpi2`m|z<;Ih0;2a}lVLeA)QI+w8~L~o(Bx|)#ckO>GEzoKoT zq?ys?RA7;GBW4CS0YBJ_d{ATSyzoRFob=-gm5z)jLq=EfxO{=gD z6GQig-iNR6)r2hJLie?594NbBY|3yx-(xo8u>CheNu+LaA;Uq}^&o?-lQ-H3EPk+C z-2w+fblqjP4>o;&0SR$EA{J0^^3O@ck@g0Ti;?Da%JbOqL$09ni>$>LoL@v9bbgVG zpI_91^NZ-nqSRj#M?LdMi$kX}rD5j{9d@*mjy@Fo`o&J=I~X^i9Lzu&T!JE}pVAp~ z^|EpNOhq?=irdbt%y7ojIAEiE4uYdBP^l7epo3|Lg4))G1wDT{PJk_qa84&MT8D!I zKt>n?=%67oz-{f!0aN2nLZU3^*AykF_>>%5AxUqq2~EQW`m_G@QaIXci~xk^gk~a3H?6 zhG@ZF>I>2;52STJ($ZEEgHC|iznkGBQ2JuNed!Y1#|Z-!J8m0>Z3RE;iTG4K0pv&^ zy=Y30PMc%W&K1o{pw!*Ustop9?Av)F0N*l%!7CNp`Joy;rMVq2{1A>}q@!dp(7_|} z77iPnl(%p&q`KCgsoRIGX%NlbM`CLATaCSCw=ntkA7b) zzM6KDC%(|CqVvpe!J=p9S^{7+XH(%UeyE0bLU}>C%*t>sTPC1$`}zg|XqpCwKRc5q^)}!{C!?d+ zis1bIEk=p~!Nu>G#`M^tS+rP&-K`!m-Tflg2rjROLm~=dLZg8k)D<|FEY}!m0dN4Z ztXW2~Gz^?DNl+x`0xTK0P(nK_yz3b5pku8yguo~Kwk}*IkAuU8TIlBbf_z+|411M@ zxOaOn4~P)dGqzD0b`x;-PjE5K1>WWYmG7rf#=H63*xd@?JatC=?k zAFvDMF6R7;p?n}2i2GuffD%&k;0h$NVI=4xGavVt_q%YeCtrE*ev0m~0L^ZK0EW>< z4{b(EWFSvpJyZ{~Jo{nH+RBo0qq`k|8}fUt8jgX3FCc&G*XXxcv2djVu6iKd5;j=* zQ8ls+SJk$tn|oBlUv>KzGey9B6Qav}Hfw$i0RRB(mm5SN5{@|L^r{a8qc}>#1Q$Rhr+3YPq!v?ji zwqvDvxHp0kW{;euc<&6suBdw1R*&YsN4D*WZzA96@J(0zwx;#O9#&hE7>1(|G42Mz zKq9DXn-19t9Ow2m_u$vkx}R1cC{LoCm#MxbTfKQR%7=Jxr0TFX2$CX^NFu1}8`97c z4M65w&wLekOD_%w@*e7tb`P4@!p=Z!!bwe1mV!+ne(_dS*%;+a0WT^0nFdZz8@T3m z)Y#gqZF^A1a@NV}hnTUZ?PTjrjJ6>U&ry|&OEex?)M%?Ge_{*-)Y#}O44gBXzK0oY z?7ab}YHMd|Bxi8Vzz#;U?E@-u);>@lhTf3T=2h!Jv28*s zhVt`HTIcO64VC8YbC>QD%5DUxmmS>1suKN4y*zIp))w~4rJ(4G2$nu&)rb{?layH5 zP>l}VC~y+{_kt;)wsH&_I40O|a3PkSdh?@;XsVM4?0!8S;B&N+vYW7#t=$2v9jN=Q zj0bGTaOA^;0BLZW2Q60~tJe3y7ELzl!hSymrc>sXf555+HB_^w0WDZ7(Lh$SR|eOt zDY#rTV|$6u+cmq%ppJw@J((&_5gm@j=tdS4EVNt3S#BP|x)#BOdl=xo%#vr%E~eWX z@&k~hECvl&A3@Z5FTUUlW-QLm!U* zgQDTE6n)u_ZZWmKCwS3|>x94kmi0Xw>JibMLjSMCF*MUF(QNzDcA7nU9L+*_S>q_M zeEiO~@gOvt7^`UUyA`nQg+y(zZQc_+ZAt%J=*Z{Ncmid6D$i3}MkZyH$=}hKkjZ*V zyrCt;UqQ(yaZ@QZ%X_4;Yv)ctrX$x8sljM4YO zUfA-T8a6L>&$#=z2YVV&KRD7mmay|2EE`x?4Fq-)GTR81109n7$$0%!q58*e$L`%W zPC!$6FP18FA;19#*Z`8PJjhYxJk;W4Hu!A2ZSsK?x70C;vat9Avi`|KEmLTMZN|w1 z(`d6pBz=nQ6Rfcmz3d~Oei|k$mFGxymb7aqUxG&y6T4aJs(h#JeUhS>1udPKzz&sj zLKZ5aXr<`%krn-*C(vBB4)Rh9Vei0su&kKa=1K*ais36M&EzYsR*;<;JIh)YGaMiCa}f0x-if%&Z`s6&dhYfu(;3q3NwCMHBPq1QEFw=VNQ;B!@s&C$kz_LGcm2l9QcOgw^w4(RQz~a|V>LT}rke$S1^PaNauX;L&v0%10o}GT z5Z`hXsi3S;)Vy&4Z<`w}r--W;)uS*-o-nC;o`U z-YmyM3U>bxO4?>4;7s-^<}GpL%eL9XHyk>bq1*%>49qMT&tgXj!B9@!^Q7E!qm`dQ zs{Oks;E*jBKXwyoSDvauAeu01YS?j{bxaVjQwoNcNe3~vDC!F(914n^eiLoSCcvlg z8yu4OB+O(fCv5!6I>wPY0Ahwt%zB)5#6QVW_`=~X-Ar}y!^5bHuiIcu%619C!YO?v zi*C(|E*VE@JT9lNJk&u^;fjtwz+?dughwqhjV}JwcRBPV6#argLiKBAgEKMxNeRos zD-ZpIeb4>5by0fsp)ZpU(U$cX98ob7MN2*;en*O6?+VcGZCIcP3F+AETt%fhWUp$p zk-lAMZK3}tx?H;2ym_P?Hk6U|wDLeQPzPW!`d+_&D}>0YBJ>#CT2PrSuBvyM(N0SGJs9;czDlVj`@e zfE6%Jr~aGv2$2i338czw^axVY`MJH`yed~8c$l~7ye1og(LKCD9@y2GUUA^d+r{TN zP81ccYEV^t+)r2F$8 zYAXN6&_PJ$0F zV0qszSgpuTDsZlejrpDDK?UU%%0S&x#bhmxxCEktI2O|9W(01aPhzHeF|wAT@cY$r zLvszemnk0VS}P!=a{amb+}?_aZ>%2pqbOE@ayZJEQI2x2JV(?oPO2rTsuHh`sP;Cs zACNH|q`Q~x;e_L^0}78&@)bx(Ma)oInQcVZS^?@kkW=?MiYo3_M=TpQ)j~F5EE{0f z|30dts1jeGj;i^@4vOf@re!L_u+GIKANrmzy#1p|fb%WxpqDZlp*Z@UNQNKN_bVq+ z2UrRKSJ1D~@Sf^Yb=lNTaXf-(g0{@EejfsBVun}8+{~P*gZ%?BxFTPiI)alzq9~nZ z&B}csathHOXF9MHDRr2LZKB7Wp+#ixPBI~ypjas)A@Pigzil&-{i zx=UaBFZr+2@^Ae;V>R?~fwGgd!9HLqmL0nr$A((eU%69QfyLp_A!4~huz<}Bhz+H( zHc2^#<(6hT)>?=87W zvO{u%*h^}nBOnE~-f$|ZUZpV`Gpz4KwP5t^HT7FR7TOtdP7Li#-dEgL?jsMElB8&N zgWg>apOSAb1Wqt?AhymxX#~Q4O>B7-fGsf-Iq3F)+}4v zokC(F(*qYQ!Tm1zmiq@6-C)VV>Hmx8=PVKn#3H`cObbm+r0|6W_9D6~B0Ddypak~? z;I4p0;$rMm>kd44!T$n`bPMediaFTlc5#w)7WjgKMfo|)p?~a#49~L1aF#!$BdNJ_ z^78D9V1T5?#iVoaf^OLMlsC;y35?G(Y5yF?5oCclFQ(Bjnly0uxl^bHFfXpeN27s0 zD4>zoD05M*azFhfdSl~%a-!I`(IDWHlr}JIgY^~l&7Bp=3Do8&gnkr~AUF@N0$b0< zOo+)wm$?go$!`8hG2AIE3s>*;^sX2Uyk3C6JB1R|iJ}}uoMMe4lwAGgC_>lD{9L{1 z(vV?Hr0Q`vOt-M>B^HBhBpGwlz(-$MF*;EUV>eLr!Qn7Si3SWT$?_vSy2O$Wc)LoR zCs7hD3IE7S1;=KfP%yU^f2XDqjNyQ8SVR+sE78S*3RsN+y@Fsxla?iwjYe=RP-6H5 zFu*>epg68XnU#wJ`37o;bt@Z`#;i7Q1{LIrzx6p9Zgmwxj;WMli5WQhY+%~@dk(`} zXObVn9Ro3t>~&BpQ8etNs=_fH@C((yzJaO=7JgNU5JBBhFng|qA4PISxJ&zEk9Rn} zWmd`Ru|KK-s=A7(>SHTzgL1gywiH*`WH`kiq~oeC**#8hJs@=?7${GyO4G}Ki*hv- zZjg$og*540LY(URIl3E=I=NZw%dFQspg~2hguL&1w#Ek=S{R;_KMg~mV{BtgxHlT- zP#`Pu2`q^Tu8Hhan{n=xRFFw<1;~v0_a`~O21oFXZ?E?zEO1j0<*zJ2?mC8Ns}YTa z@-tWEA^|yFkx%AWdK|4WSxTYWXzhfjmg7AEs!pt=D^n81YXI+0 z0{wx2;ZY5N;T!?qP@bSaDL9_F4g^bbjtD@9Fz6T+-M7$>b9AxZ`Fo~{Rguz(MFIXR z>mNw6JKy+b1mSDZfc&n?PULxCAkS48s&$blHIOHh9Am_)+A&C`l}?yc(TWRzxJ&y9 zE-as6O|_o{b_Bg}WKFa@-YCyBNztuzd=)RZJl@p$HmgXmoGV^KhFS%2Vm~HZ7&)-Q zdzdL`sR2Kzk$ct!F~qA?MoV&f0wvi4Y33WE;TaS|rSrxBv;M2PZrkD$b1&aj6?;MBI0>JA?DU-au|c zk(;^hpHkFB;-cY{jZjgh8^aB7E6PH~h!#z_x*|3Zud%y-yLtp)(S_mnFuJO;QB3I} z|CT`h{}+4j0vA=a{*CW}0S4GQqoU%S3QIx@yp%YQ+(ywvM*%gJlPDk{UV=Sdijkp# zV!NI4oU*K}H0zu?r(efRle~f$P}vEUiqewI)7jH-ii)FX35a%xTv^FQ%^UKMH~nhw$Ke(FvN7 zv0GvTLvtr>V`9-Ch-{%XtqA_%ZcA8CXg?*iK8w~mAu>!FL-MaxF{zg;z9mV;rG8N- zD;i1au{4aNvF1yu#$WQKSyzn1TH!2-sr#oN)-2yYZ z`Nqm|Bxlv~Rle~tqS7FD;cd!a?0UzBY<|lBlQ4GUtSh(Ayz+EZS5!mAcNA!IYV6G< z-s>fC0uzi|Zww&0-DQ6eTd_^euK%O!gNzzI(o2gXb@|eaNd7|`7zp@_tvl)ZnoZ^l z>$wajYQ-C8V`ik`H{u1Vd0jUc`3zOVf3qmW>E{zi`mLf651UyAH|6#3;$b!TkK*<9 ziT7LZ(+o~{_^oj2ffWAl>PPFIC(dufJ#Q|;cyusB564RL@9wYn^+zdT-P6|Tn9B5v zKmA#x2*}+xjz=?>SF^er={Mp~mebY+Dmlj1Dp?|KnF7o8RkKj3J#oBHDN3RK1pz=k zI*J*9b2p~4>~spRkq`_fl8c9FHWfS4epk=Ug|J*9Qb)0_B}GhnZqW6!mrB?LSOo@l69Tprh^`B5Jyksllg^UgTz)&3>2(agP_o4pz5$ zbJh5i)He-_-XWfVs?Lz7rr6d&)eg2tN*Y!GBJ`+&YodlEn1`*S*#+GI0tEv>BrQO# zPqX+?gNGzay@dot-`ZW|qt@I8I_6gKr`Mr|ZGgucl_T%K1{^pM(8P-57ke59AAaJO z;sh!SUwZzb_9JR2bO{20$+2evm=_5&Fc+HmxYjj1k^BwfSzPV8aMWpVq-xxb%t2UT z#7}?u>E)jNIpGG7uwKo2$yI7g)iM!*wLA?Cu&@N7`_RaQvTHD5DP-X+v5Ub+aBKt@ z6v;L;DDUgBVI|4^7-6ZA+9I5+o8^X)L=W)r?D5;}^+O(bqv$Z5F&Ahuv2W9#vDl95;?MXbf2NLm9N&mZV7}ok*7k6Ya$5@`2=ec8<*D`0k~)dAz;8IrY+u( zU})>46+xoQoUnzxjjJb7}2V(^*7{*!w$ zc6fJ;gN9N3j2s8`qcLN1CwYJ191lS-ti7?*2Y6wJUws~zhoeDEsLGUF6FDh4ET9QlIIUZOIHwv>KjsIURPu`d% z|BuQ;L+q^XMMITVQs6-yJ6M8obLl?FUC}^bzmhi zyD{YE$l0`2r3o2+I`Y#oeX_Fh?g0MR#3w?J#b<3f8b^`1J!^j$EGy^PWK2(9vFYw; zd5N~yoyXayi(JHM0tSwYrgp8y;_q*g!HJ_#@(xprStg~gQr4LUFuIt|pk9pLMW^?C zV{2JmiM}Lqqv1k7!Of{TgaTAV#gX}ah%gET)Z>I1wqqpnS%Vwyor2ok{RQq9q2*_ z$0di5YRo=g3U;0I;M@U&E*4Yps=@*<(4WM!1HshiNrVVQ z{e!(HjOlK-#L+tmODL6S){)wHpd1{>cFdsZ9TM>yw*x?=0i%%v0Ht?1OVB}BJhckK zC}LnvLw*3E7no(VYoL$!JoO+2Hnr$5jZ%tPN{fUf0rv@XE++}}B{ovEV~$#BDK3s8 z99FdNK?V$sI{P{u7(g-R?R7(d6+Ew#(jr91d>Y^<#47r-<23=ahI1?SmW`&@krKID*}Jgh02kZA`iw-8G74{Px&G4!xd@^lTRtTu*M54Qb0vOKu*v|vWfg?p3TCYzG1>fYQw*X1eba3E za}T_}{=a2E^FI+^KzT8L0V_DZotPDF#&;3Ylb}(uroGZ{N6uX}@$7|O*v%Gela~j!A1}zo?$qWV8)?hXD#m~hp)UHaKqA6Vy(cZhz z-maUdjLUK5w@Iw!B?rZG@D+~K>CK|z#X17D|K&T&TkMzbP(-kK^Ri#Q-7?a**fK)} z1Dd!E#4QELk4gkX2r}3(oeDGcL};v{2-M*ybhHWz`AH7?^@75@t^&oKZgbAX3#ozUZwE9YPd$pX*2vTGC(7con^9O z2YNYSob3=RQW&5@uRoHAnVRM&#@p)g-RJckc%6Du^q7;LtU~RF$b+-`?bcLpSq!V~ z5dGpn;NtTXqD+nM)!GdAUgpNKM>9N@NqTvvfJe=gmY+=Hyw11-%ssh+(N!Ws3TctWKC&_u$vD0-K(Uu zvCMYQXR@YtudD6{NMgk7+MX&@I#*z=;?!Oat827sN2#g}kkY*VD}R8h6hrs}PaDG+ zCSAP#rJm~E%SMICfK5d;Obtw>S?(1H)j=Y|6WBPMwAY|l>B?lFc4*c_8n{3i7G>^i_}G*NzKFp?8KtFg?R{EYI-c)jO z&O;8s10zs5jlS|(0HRKQrb?A3j={~crbb6(ki16Lu|Sw&Gr_1|Wv?NotBDi>Vt)u_ zmtBeOrtgtk$mTy!pAkRv?JtMQP=cNPazY-k5qm;6E4%j&`g$|Q z{n;IKz#65Dvx}Z_HhV6(>t4G9EM$HKZM*0rKL;1R>ps093~avGUgP<1*z;%5>s+^@ zy!{QZ(HRTg*(F~*U8KpFBex<+1A=N01Td8{KJ}I{2f3Q43{An;N*Q;<zKpQ1H zBTYxIZUgd$v-r5>EE^6E$@BRmxsLn59zoK&q*1)e}>kcqBZ2( z!Q9lK-{-e;H8KIYj^kZx_dC6jukYPULqIixJ$mWA&yY!*(9U%TsiD-~lU?;(k8}#s zBX)h|H&_Mj30o-(0r!x)9b|PkJO4(jBet&5y;{)Eu$^8X?0A!OaDb}-iu!mwCzgga zAqbb%lBM0DohcrzJLf0ygTaIYg^yLO$Pr4RC`RgFZCx8570`sHR~@*G$54@mbs^lC z-M(hfnmDOHW#`Z?loma#gWuXt5*vW07(L#2n<)e!sH9^D^9)1W&ERt<2lo9)%YeWk zrZxmGW3VK6fP-p72>p`E9?@#zL-0_|Wnwv~;bAig^cjB82L&Fng_2OM6$Q8!`RU-K zlLrVVfTxt{r-gRqnYC24>!1LNSha(Vs54lC@$1kgO1xde5B4}_*tOz}!CKWR z3U-~l7v=RUfS@N&B1Yv7`=y{Y4>^X$8i#S%~^H8e1)(OUl&fPzy=Wpq86aDGgN$P90T@eJ$+@Oi{yF zGo`nKVFzV6*`l( z>T3s&T`43ofYD=PEtjZSle8kPY=l7R z0j*e~ReFrK>A`r{s71~o`%(>%h6L~fs9RRB{zzr^6dc7`wSsj{t^*^pqo)>Txen}2 z&b`Rs>ZY=nK~$MAjsOAIicXA0XA=QQZ?J_60g^^c(_Wpxow`};T8(@tHd3)3eighb zpyDYo#hd79eLw(>Jp53r12ky(N!Hp-=X+!ht}%^T68@ycoamU zT+DHE>Cv;N8#RbOReVha&@6UZ2xENRQJ;&aGSnE3@#Dk}l}S-a53Qp#XMnieK^9G| zKl1>x&GPe@*>}>IWRs$W?z5nq{@Q4m)F)6R`3!m5kvCic)bZ$V zCv~O9fDZhU$5r=Z^p1&^h+9yyhv%DQG(dqB{Q+eTZCo_#jO!It)^+iTMh3F}k$+N@ zVFVvV42xrQxaPFj{Hqjk^(FtnEW>KK51V6=G(uxt8vx>=XP}{Aw%ee|jG`7{X?yQ$ zRPtIBCyT$;u3h{d3UTfCJP4 z@KzQd{i8NSI!w)YuS+xKgv;`?6!tIb?^P%DmDTXZb&Qm(l|sVSQjlJwwOOe2NFhveGc_89J?So0N^yd0A5K*nGwr-LpY9mJCIiV(JJ?_%vy- zUPltMG;H=zW=W?DkQdNQB44IX0VyFkoz_=A46t#6PQVlIAHtE+D&wRaT0PgKIEJ!{ zTor`Va%4`!I7}z;EL;o`7ih(PRJ#B`X~umO`1&Y|wawSBrDw%N-xJ3hFtOn6TDv&I zfOW^9+d*qh8XMs#>N2#&vBihx`2Yfuak!s47uCFzyqp72HO?Us262d9x1x(z7HwSX zIe$RV)$22<5Ul!~d>3HEQRf#;9TG`w#k+XwU7WDcF@BJ70$a#1Fg!ERkJm0_<8huJ zjpy8LyjdQku$6+o8m>&Fc>0FfE?xs>Nft#}b6mMd!xG4NuAsI8-Qznm(FE5SIbwYZ z%g+(E5bJ-Vma2*=pi2ZLpfooWp0)8xQ#-NZvTzS}5z)v$tbg=pYVy{eb%Mw}Hs(AC zK!YP@OzCWFdL3bjL~7u!BtACU+9k%1mC9nZV%b2Up(08l z-bjRsqMd-z%yd_5w}LRHt(Ck5dp}^ll_8BtO$*~;{v0jitS3*XOG9-yp`XJ1wu4-l z9R5UM;PCkM;8mIm)LB?H1kz&oSJACO1xmy`u@>*Qd6}eMs#7w~Y%IK!ZZRppbiSfa z>B60LD>}iAOo#)aiY5{p>b~)lGJ9)rF$_t%5K4MvVw(5K zdl;}yPkFI_Ro-ZrbZkm7%U@qYf}>!pAX=awWWS80))0aMh@hc~_PzRynoQJ+ZH|A7 z9T2>CCN<87Hn0bBHK}lZXhYfMva3zVS7`O+AO@OT? z1py!0#QLh!WrT}f7f*|9v(5IX$Onu3{QDL>kG-c>UI!F-+!+eeu%TDrVdd3eFOS@I zwqnAFtJiNi3h8x_Y1Yc%$&A#Ar~HRe*wyg__1<3_bxQnPY+i^u-GzL7EAU&qf4$Ur z*AMU6&w}>=!g(%Ol5KG@mWgyz7VtWTf&Oso1v`oF@)LsW^=&R}&h>|fQHcHL`4-(_ ztO=z2@i1Wz7e(wY+J41giKT2tUoRU7`fX!8=RW!P+w1%oA+IuI9HA0jQFzybN&DhA zpmcG6i~m_z`57UeE?_I?W!>Ha1l$M-$l?~KD3&mqYxnC zITl*_G(d!C?S54k%0lc{AX49cC31s$oMWDlG$)-i&75VLnaPl5-; zEXgY&?!Hy@1&5#F0X9Fyl9bMw)49ob)fGYi$NrkFFP9@8Km3ft5B~Q=R6=@K0J)JX z?i`tW=g9RO^5I5Kn=~?g(#VX6k*m3pX|OB5@S)%_BgcV_aLmZ@x$5~=86BB|H^j7+ zM3NCJ%af96t7E*MXxS{9HqmaQ6IUR1>yseUzh$;C*xF#DeMKw2jizeGKw+wuEKgpa zd!ib56oc4dsAPT8a~hfy_rCs-r;$OvJz*10S8>)aCw@*3!vmNTGtram>O2#19NF9O z;ylf0+Nysf748PpHYI$d&=19K43sQes{`GptX#N1V<_$gNkA9!yCc^mQ$fmk|<8>k3>+shi zj~aZ3;(Hw5(eN*TvBCJ};cE{^+3R3hVIq*`j89zhr?`vY?@6;7_FZb6O{#yp>aO)k zdk|smFf-tXKlI}UZX|Vye%h0SVaTz_0Dz2;7-`RTIXKPOREi{rP@7yFXb(*4p$shk%DcgVun1ql?by) z=RPkiNad_17hpgp&N9`G>m=~ag}lQfh`kxMU*b1_K-zp&&CRuz*4Cs~BPYW^FQ z{4HV9l&~Y1J;C7Wo}&Pk;Z57q9!dzQfCQJZJ%N}rF~6}Uj==E*dzdDTci7Pt%-lhW8yG0~3b28dLBTCw@Gap7qXzq4ENh)zfATJ z#ZDJfMY$QW78@G8zGEkEto=NF=&Fu`E>RGS6dAJN6NnI@5d$SAM0Olj@Os5uPy@I#&cpd$~prT&-hW2@3k9o|;@R?$e(E2n$`H zgw8R`@yrHL!K>QMS^Y0&w^vx(KLq7&4O7`;4^yp=&<|c4x-ISUBFrpvJavjz3&Num z07y?|6;LJ@flXAdP(p#BBuKM$y^M22E;5k?<$Hq4ZpD#bkN-@Mzy5LJY4w!eFy+fl%k{ zV^VgjWDR%3j}WabRZvBcj@FYVOa$+w(bBTPU$V4BSz1JB^{J8i^YE4Uqtc?I;JZC8 zW;ffdHJoL*+tTc|K(J(++j2$@Ch^k8fbKJ5RvT1y%hS;%@ z%VBCa%b%b}xh)+)s*;;rhwUiKr(Mi~H}x_#qO!1&Wd`(zbk)y>)% zDf?KpzuR<7Y}WtPR1*bBli9V7hq^^;E#+s~uQDLntu0^!c?-P6 zx~C0H$6VO{H*hg1$!OA9qTHrdyR}sVzU%CvlC>$y$ePTx5OHErHW-FbIL(P^S0Gv- zt{e>*?h%gYNn*ERlD-wfE)jOGm<{2mZXqmfV>qNER*!I}A9JU-06yTlfx83ZI~{qi zvq>T*mYRc|BgCWsfU_G=q=!iwJ9HLmBy$&Wwq+d`)0>s237y~|q7mJU)|XGBZ#IT2fadXp@ERzuF7sC5v=%YG_}zO znbR6=i69G->ML);QUFfyZvCc#uo=@k^pEvcyg2f*wb#VtT9Clom~*uW{nq z0clW8Vw1nA-Do> zr#?$CdM0_t6kPeefM%v$)vL(QZau>ZcQs7$!*yi4hSiyhai^bgiujUMSslK@GzpoP zKs!z(?bc)34aKO4YZ+iAj4KBez%pIsgFzqR=qSe-$e3o*k+7W;a60PS2f)sMjJVuP z?UaLS2oOcrA7{|VH$Gl;0y2_j`XP`qQO@V7YiS8x(6rqomg#UOuG2Zj-%Zjpg}YOf zNQl9TwVtOKjj1{vacT7gQgZmBC!t12Pmo!{)poGxspXJf=wr9GftwI{qEvTkg?0+V z)g(0|1r(*AGyhpZN>;cc(3DkZ{ViCdPym*EUz7x^P49}hPC0G9<kkX@5 z2m!lHpqX~%RR^M%g606&(XJr;j=7lKQRIiEiFN;dSPY^%7_Z1NC~ViHKCX?nV83$A z!N-Un`CBn`bYh&?n&`-@={YmEx3l+k*;tz}UzTdY4)hXcaD^(eo4UU#8mx|#onCL^ zvQs_(NS=(Uh{W}->bagg{lyF|yg*(Q!AXopr85Sv!oM)6~hKS7wNc+W9s&679zM$x+OQd17|iBkBhD3r<1z%BA-nM_q; zNcS52XBuV$%(s~b4?JbptLu(|=oYZR;b7BhaIfXvYduiDspN#yV_XD#La2zXo+1?7 z$Zej89k_sTuhqKmR-s+h6A`3DhrCaXI7KJUML{egWjIy!4;1HW3D{W%ai+nMcV2Bz zcJ{AisWhdUul*qdo)@`GQCay6%Yvt?3*~Nt1;!vyNpcY3O5>3awVM1Id9gNYOaYBR zXbWfQ*?K&l@Ivon@%Z<|#m`9RhIqn$Nw0tO_lOE_Kg~&p_TxxB4)f`1?sj+$z#fQg zskQDH`F)V|&d1r56E3X=^P%{o)5gZSL~itDafG-QPhznQ%-2b)dGJz;mSzYmROe`j zohGQH?BkN9nWEpX6W8*MQx#Y*hw2}@4cR&AP8iE-e=TS#{iarC*OC2kn(4)l>b}Qq zXN!pITWwTb)yXoh~L@&5ps8S3_uya9OBp#>oDu}2A z?ye~Le)>_ylP^_i!kKELquxL!h8b}|8 zuO65kd9`Z4qH|<=st8@vpqxO+qVtd+y)f@W+2q6eUhK(yDJ4AL-jpDZl!mgMmK*Eo$3JV#1acvSN*rr?2}5Tp>8{!&U9<|c#w zaLQn_Oh-<{PRT5bPXT=o~P6y^>>>wMs z)sRppr5HqiO|zJSJ|%=o{*ck`_9r2K>^6ekk>NUxGD+kt(6XtyzI$ z_CdCRrmMz)eEYrOi7ZoOiMzXio_uiE240Z-i^<`fPUxRsu_WAmQ5x0>Si}XR#QtQF zk`1Dtn5=C~9?G9aGbBg0;)8uR-BX5ebL5v8&b16KmK4`6gEOQQph|(I;s9#`Y2hf` zw|s+mY+SOtqHJDmkYqH7pJkz=RJSop2dT&Uw=YX6y66;xlo6)B=8lyDH$qOj!5wJ3 z9AaVh=QPR}ZP8095&aP-&i%wLdT{CECA`Th-E$X&NnueWuOjg-sZ?2q#(X4R|Ozr{QC^Ez<$n?AiN4A)NOQB%w z97Y|>MV&c;ye)y^Fyd2YokAy!&#zcYjlgg(W{eUUN{uX$WuSu4^M?tc#7rBQUvV$G z()9puOo`Zv;u}*Uhkk+fg76@^w&fTP*h9)N@o*)v_F!if>|HB{#@cX&JqHvVXkT3e zezSB=I)=hcLB5n0o?r15hD^mJjG5a!V`jK#%pmxd>EZbo>#iC!?6LtOqv_qOWY$I- zgyoQryv85*nNeU+f+tuoI7tAnC$Y;#+z7!7>>(I)B;&9XFI4oDlbiI)UEA{N2^1zuV9Z> z#iN+Esg49oyZ-Gyc%XFI&3M<0rY`7gIZ2Ff;CFx|#gSZfR{KWU-E>uJ@IXF3Le~#XT zK8Il}e2Mc9;(CWDj-K&@i`HyN_w5G4aGI!QI`|07wBN7u>^pBRF(HIu6QkyOhO+KQ zSIWeJ)E!kX1UkmYxZVN|z`CMdoD%F1GD3n%u(M5#3{R`7Ef27}gVzi;L&y;|7hYcf zAl7Hhm77sEab@uNVpsL&wdee*KjYqSJ~s;c|LQ=oBaz_8T&hOcHyQb9 z=10>vo4>)5K>h|YAPsUb1%e{NJ8sPF*MtQt6jHr6FZYB*tex%&@%WW9&}b~>b@RQ? z6MCI|2mPC{Jk0bgS1{UP#ka8959vFEEcK`QyOQu6AH4%NcH3&P?rESv;R?i7U%?pyF~T$u-auD25yfG%^g5BpC#w$OCkX!^@=gQ-Afex+gZ%ju zr}A{cCUo@X{3y(d6;^{^x3!-S_MHpRpYcaQZvPFV0Aye6aCgjL?PJETlMW}i9jVMC zjXa1HB%s{>c&K5>uj?ZHt#xhT5Iu&MLctA69s|W6>YU+X6K}gZbfd`-sjqEQ(ikWW z=MHY5$Pkf$d)|t3C~jTdw?lNzETK0Fc$r4xjx?xF?#BXjNDCDs!3`{+D~PL;LlIE% z4Lns}c)}Od2?G!8xd5*oB7Y)-YTE+T+~ErV>c!7g0CWt1E?)rDC_w2o0DR2=sAmB^ z0DR2=s3$61<+kwM|B!+<<>;1<+bihz9${oDA_yq}Ma6B?yk!+wv0f7)l1sQa6vS}gUM zk>UA9$dM?!y~kcY7T#g-)s=*KY-@+ZW`LizRN)|V4MM|s{MLjpqJr^Qlbnm5`97Uz z%^qp1Hgzj(Q#fU0Uaz83wHV-W%|f`1&Ir{!W+PvPOr6Tv+rvrJ2d;-8Xu~YOt55+V z4t(JU>UodiA&*B}lBjv5FzlvYwF!_NjOhX*sG7aYf_ILq!2FD2Y&1`k!MuiPQ<)nX z?4xM~$%YJzFi)nKIdJrb0?;opb!4ginN284Z-wt*Pi$pA@x;f3(hI!;-PuV;q*(cs z!N6j%k%3GRiDz52o0T!B)RE0QA7V>DGGb)2e3b1DK+&ZCm~TwKqM#63fz+8$_RNI8 zni=~rRD~0LeY?YY#mmNl8#lMUJ|)su$$GqDAFV)pcJi@|rk3_wx7 z6DnOM`?U2}L}#)7&f5DVoLI6CVCupS^?V~?8@G4e_pa}ZJ?$Xsvo_XE3N_Pf*a7)5 zDILPt0mL!=zCQZD9(9C`5bG+w!mP$=W^8GylhJTBnp8&<=@v^r=6C?yGsmXdG1)gD zC3Dt7pSb^q*J4lOXiLg`zNzk8gC?`82|R8;2X1ho)T~Yjyvdhz`CPmpNyQ;mu zP})n0m`<9xSi>0A=xCRi3#Mbg-69KoTVylKOl`OHV>UW$p5|#{l$@Z#<7r_fXJziX zx^0Oy*|%-)f|~{|Xoq0*S)X>j3ZC=Bu6aE4MeIkJzR7*h;4p)8EIaTqeIkl1S0$Gsa zW!Iha=CZc1(khEt&0ae}^e1}r1NX1y7z+bJWrps70b&Y$`)8=Pe+uDhFJS=m?dga? zG^v9rR_zBGl+6ew4a&ckeC2!!Wo1TCz13yynt2Ux)6}(^Xe+Cn z8DZ6cM<*dDuZ?w&HgEShO-%K8Q$tt9_>X%vs;wM>B9)7O+(;;p&B4g=bQK^7cBQXO za!;U2xhGHsl}zLSmYn5!RdpEWfD9}ud1DmfHKqrHc$rMP4)a<(eU+N47(z3@t@}1y z-BsKv%9wTIZI)YUPjMA3J%Wam?@R>dB95YmqpgRqbg=aG!Mu|#w@MtW#^=gKCn{Cz z4AQ^-o@3K&8~VEVe%)n|(W zSL^iGz0cBnXzfoJflPJMRiB{XrmHD#+qt0Ha{>9HTr2zQj_Th&>LI$})k9l{<253q zxGNY%tbe;6+8g0VM0>q>w(fhK2<2EH%?%Wh5#bm(KrAi{*jQlaZ)^@whWh&|f(NUU z00z6BP`q+SF`Cs0b|p@o6M)42Y9v@gcH~kxJrGpG?QP{aHdbQ1U;8a#&+()m9Vk~^ zzJh4wIM*z{MU4z(@=6JRK@i%nfO310*~R7)N*%nF60_C4^NsF+}@d5dOBWMpQS|w)ra)5h@bEHcbk? zgMHY_8LT&cZeZXB25w;B1_o|m;06Y6VBiJ@ZeZXB25w;B1_o|m;Qu5B!cllC%qEx? zm?7B5lgOX3Fcz47FkLX@M-R1Dz`PD~y+0f{u)phtksn632`B7E=T zUJCc6Yup?=YgBT=wJ{fZjeCHPJ0IagecT0b6T`aauNanFecUtPzQf1867IWv+%w@e z`nVr}JLwvCnvWaLHMlu&1C8u21HbqAgbQ&0&c~ezcfOB%4csez+;ibxv3a8j1b#kj=@}li9*ja-)Zaz#l%o3P=@QW{X(|`M? zL8z~xZs}_X?Y>3}x32-}0AY`T^;dtM{5|=4^7G{5Nl)k|LpN4rbgBWr3zHE^%r|7f zFTxCuFB#%bBlExdNAMABRCXDTwRPh(TsST-G^oIE7&>F7zv{a++-6KFo7lw$!r!gOopH{1U@!pK(M}CGreK}oFa9~J4sFwHd<=0!|Nu|sueGmtax!51oo#3Fl6Hch! zgeR&y;f?A|uu{DVZju8@B~p(5h!KEPLBL=zQidXyp6kQ);|6j=xDnhfTr@Y1Gjb_h z2Dg+eins1g{^Y#_rxPz7eEsX<*0GjFXH6gV`sB=g2`B#Yddz3HPU60tZJYgR z(}0}jBYQjd+;q#ax8^>xW&cO|R}R&@P~$gBR~>Nw?$7v!NN4DqkCv^vv(Joz`F|Of zQHpR6*{(dZb6?+YYYt0g)$eql9rneNX=6U`|5MqiO?fj~ex9GRJN<97_f8VH zgFDZ~9B4^;Hcix_$k%P{;RoW@#m#uw5fj|=0EQK z86kguudLS>@ec%;|D5D^o52uz_>l%NL!d+snUI<)V*lYgz_FG4u<uIfhz?ss%p-aE6H0C~ePtl5AuP!KhF!ZC|=bv{6KXKa|T*#X*1X)v`(082N zse82GN6qjnM*|D9=PkMT!LmHt19ue<`bXgMm1~ByTxp9wB`$dIbHnlJUo2a7_MJ@$9T0mK`{;Y~H~?ei68L^1XNMPWwE% zSL=)+A%DFv-T$t|4{DR@zh8Vd>+G^uzkh6H?E1rnQ#QSo^TA+y{=w}hSB<>uT)~_z zYx(2;Q$r8DGr;fWJ8uohI&9qk?x@g1yZ^9YPqen^twn!we|j|bqvpNR3!jZ1_QsbB zcOA`r?$#fdwr|^6WC?j(@jp#QYnmFWb z{<+6a{-M|5kN>{!`!i)Xojo1ea`Mz8$>&;r=z8mmf|d5qM|?QoaK*w~-?{MB+Fh&G zPTd#&%>rHZ>LR`SePdw$qEJmA_X~NC7rwEi>y&$Wj_IS~0qf3%Z2#_LuTL}W+L=e+ z@{h~8b=jXT4p`irKDBV#>9s5GnO=0_jWY{A`7A&5Y+{G8_3n%}4!-v83kSX||7iDA zr+aVA&>s&S+IV#T`!P?vmGQ@&dm;nwYTo}u;HMu(&HFO*$gKiIaZ?E)wIainT# z^%oGef$#PHR?kFCES`O^QHTJ)IB975&A4-vxP3=yewA-b?AUSRC){=S#JHR#OLOz` zxgL+C7?`_Y5@1qcro+sJnFq57W+}{am~}AaFpt3823QZ`ONQEl%put8 zVBUp!59ULd6EGjcdfhGC`k##d+oQ#E=Ra>W!q4_x zWnjY5*Mf@Qs4OCP!O@ZN31d>8S-m}b4hw(g=?44W!-OE{SP;NRaR_x6hoyY9KN^^-rodFUH*SMTjQf6qOWHyMVn7@7dLeD1Enlj~1K z=M6enK*T_QLBIwmXM z$VBCPpYlz7T=`blE8n6n_O(^sk;LJzx$jc;t^D+9_Rah7L;6PCzuhkxUwKX1-SmCw z$-yh|P5k?|n3wR~Jp9%W%sDG1+ceC#Ie4=;|K7P^1EAKXpPSWAOS{&Zl; z-lP)&a5w*c=er?;R=hQ=1{;NLkg})G~ zyY)}o4uzGS{N10zM-CuTyLrfJLwMv(F~2+cf&l3tTtUa=B|~;6_z(4+1$E{0d-2->b`uZfo8#?e`3E#W+);uxA(Dk}RaLfL)CZ?CK|8x3_?$UeVHhN}tp1iSznk)X_us6gaF3ew z+Ol;EpVF>3&U%H84Qyvq_djGW-E?QsqTmPNZX0rYukx>VUP-#A?_z5m7*)q>ATR?@ z0r6pbrd)jK9Ke9q+y01#OH9^twx_mo+*kh!;NE}MNS*BJzm9Un-QiZh>UilmqPT4c zx2a)Qr@Z01fq@$sxPgHi7`TCf8yL8Ofg2dOfq@$sxPgHi82I0h0qy_(B5ss$0|PfO z@P8==Lg~OK20z5{fRn)%I_jbVapY91u3s$WilW$qMR481vlEvUkSLfyBjw#M5S(Y~@zpxld)Ld5N2ulkJ zS1waCqA)~Tl2^>-trQAT%*s6E#ZvUxN`;&fff7*wSGclJD9kAyBjhaM7!*0ha1b~- zrArG7JtdW{&RLo_W@$mr%4K=n3M5*QgFbQwsA7Q80l3WcggN<}68GnldRjby8mblt~3?h0`V#&zQ7w=IRGZN;4)2nU*zc zJy?$@&Re-mD2M=#m$KX1ZM<8 zdc>;L)MlmJ?-t&lGv>jhF$=P}sWY=8atrhGBUBinI<@K5tO1 z`~kY)mh@t;f^Q+Fg6L$jaG@nhU!%ns zg$yo|K_mF_jw#Ldt~vTgzrq!bJF@D1e8O=L_@9`UgK+!(Z_H-ovmFK(=qw&7SfTg@ z_*ScSa=)(H+kN~z`6eQK(Z4Cf6Ytt@F3J^PF2jT)UsC2WL(Ts+yFw-x5+o#XyUjDg(&uT&_SyeUQQNF#Q$<%27bD)Qj>Fdr_B09?pCg z=I;b&C*o+Gchc7ri3XK3m3*jP)c48mr24>31CqIKre9AQ8j?-}`A{4hLoCh}a@WkD zQYVt!BC}$H1a$=B`9P+fO;2{ z5_It&P*FP9XygW+?9(&GAheXlC?Ewe@>y_{Lqc5v)ldF&GWybJN|7Z~>XA^eosNiiC{zyS*Jvl1vwH zlNgCS6qpaBKExO0a1~{iK!gSP5-~AAP*L>m< z#g^?;Jx08-=u1oK!*J3=!jYFk#W5QZaxAikmh*w@`cxgo_95)ZsY30g?R@eeJSbFc zf3dP=lPVP!|G&JhY?+3(m8qN@thz`#)uM*aJ#2G|n8C$BgkCFcmR%PY=x zaAJ;nw*~BI_2@{Hp-~3Jx#^U_$_agq z!)VkBAq8W=jwC;YS0*C!apZL`e6N1i%Hs7Ag)2b;5)~N2-N}vN(76@jF=FK^ z#Bg42#M(lTrn#Wxp+66JF6B~Ityr;YC1Nb`@uhqsKqj;7mgcOyO#s=tVs%bQUc{IP zVO2zqHw$RSD~%{bxB{gu6vg8WJ+lUv zKji+*F&B`Ab9oDxrkF@SCy`K;x00nLh{^ted}r|dxW%e)mWfh`P6-O+lrYmKPa0lg zfGTi%K!PVhpwxkBCe}$+$trvL~oQcgyQ@FEj>YquIeb4XRJ7T6%V_mWMG zYmg7AaZQ_JFE|_oo#-HGjztkg-1094i8&mpp^!wl<{(zv%IHLdQUx0;_Zn0ymMHtd zXi5x?J8vOOIv7m?cMG-xqIvQw@6d#zGL5!D1|5yOhC_^Yvm;ec0PvsjOH^a{|3XUh?h#WC4g_2(t_V z!l_=AGpvMEdbk5E+8(4>OiEs?Su7J(%#$XmdGf)xG3u2JdYXu{_M0b<1<&7AXjH17 z$G~O7LkKy5wHJEc@M}NBau?>=t$P?{OjApsrB}hT)b$@kUPO|RZjC5=0^5*TBHWhE z?!BxN)Ker2BGEww?|hE3#TV=oYGc9^xh z3Q+IHsxCAic|m*^YD6xU`<=^~U2yLiML@{ES9%nQ=T3wMGxQlH9Q}mC&1^uRA9~`y z0-8f?R3icGii0d3As_YrJ5}l77*=lu)wA~^%TENc@^)%2hHYl!tOMrB$L_@2I;u9% z<~eSqCx0LIm5a__mFHJKLgl;kDI&-o0&%G&3#zmZKr zyr+E*FfRhgEd<)Fo7|Rl>YOS}R(pbQ7x^m?nC*vHT-D{agcszZByU%d^}N2>;=2Ei4$%yX1A0LH)c1N527OCUyv+a z#`qV?LM7{VCv|W9+3T+mP>yu~h1Iad8U_VpKmgF7*03A^xgmp+>eo#51Nxvugo3Gl zE7z-HVieI3^?pXb;=$A+B=P9Pjy>@rl%RRbmiwI z)3zv_J^5CsORbRQc7R$o(wN;^9&uHL`byU08h{@z-Xpd;$FQk~>eZrmlmfsC>+vSQ zq<<`wCU@)0mbeYw%JjT%zC67{8Mfj+yJ(ZW(zO?1{a$+Aa^e@e0(G{!$-33j95t=qyj ze1YHomOeg(KwB3y;(3~O3Q$1mw)Br*M7G|FDvkA}PepfmD*7r_6eDFjByXc7qqXQc z+Z|z3sxEB6{Is3crR&sF@2H~8pvf6Y!dMdR+}rq3d=!5>AI*>E$MARXck(fOEI*bX z$B*YH@OSZd^Aq_veiCowP$S3j1dZ>?BKARD;+-6W)CC^UQfvs50lhE?HidtlJ#gyCuu(jxhYb%BH{zqHXV14z!L7r+uTEUcyySh z^CE`%nU4kA2^)=sF};%kijZcEUVsR%9ub9+Ffh$ zvD`wruQ;-fBGG$EX`rOtMUkdZUhS?q$U@QQ*@=_euDS9)NT(K$?jX8J;x|L10G;Am zyET?zx#msmA8w+>t|RJH2BLS&l{sJv3IL&+2jb*A#g`X6jI#q@A)u4h2Bc zqiv`Hi?WMF>Fn{LSe^3UcPV?S2;=>UrO<||lcr`$+O0?;L2$6vkOKb_8QNj2I^&Dj zFL0&9Dbk~~_Iu)WvUn`CI$0~|PUJyqt{?iAsWtXwqp5|!FlM!t#yPZuZSgUF zLa6FV{gP-+Ym3p^Y6*zWYH{fm$C@C-ZP3PW0I#j2@v3an?3aT!1S@%Igh^_qmfmWn zlnN&=iZ}FMdCDTX+(gQB{e?i5YmH=Wb1WL+_GTXU>6#gocZk>;)eJy2LV{}ZgC1?A z9xQjdyHi7$UQ<>>g>LrAe@}`r`@H_)B8)Dz5%rJU1Bcp>-Y#@zc_SNPtVN;tndL?; zy2iZR(k|E&*aa?iku$b<+`mOpCriC&zLa@Sro=xBgo!-rLVkVCp$>%&jp(fIlq=6 z)RU5{&1jW{A;=U;yJ;{=*=O)UuQ`*PjF!%_0AqHC)eN0rw)g?i=0<%29rXvOT!gw5Zi*-10t*OAVSVNj zW;0S=)@~L%qMD$sw0*Wb2Y`#H#j&s{DXu><{abBHEm#}t6u8h}1X8yO(&|KME5TEB z!K$q~U6u|m0$bTwoDv4v%0}Rnd7^0P5~1dao9PYtmlC48mwhc=v!hzg(5w{IVTSrH zQra%o0fw3Py8a?IF+EC93zA$&Of2kb%J(dsI6d-8etkyn@#ki)ioi7x-AhH}2oZTW zvd3Kl-DcnfUe!}UGWk8npu^Ed`O@?a`NruXmOikR!KNd9d(L&Z$fE=2E(4H{TTv|- zCwkcv+F75kd>AOe;*+J5Hogk0ar$`65ch7fx_57<-;&Yt$=B%YgU9KYavTc+);dvoM};Kq}pPoFRLBC<%@NPA|n7g0yjg2n#N(wt?l_pkffFGK!v6fRon zEQb|9Ay`A8aY7S7o*D9C3TLDW0pJ@>o(E|77724Qt@AXIRtjR#3%pbLt)1S9ocnHQ);a|o;qFvV`Z{H zAE0u>zXUoEF;4>wuF5Us&?ISDC|;Q-Hy~HBUNS10IY`Y7>0#~BGv5V!w|TC7`$)ty z0;NoEG>%YZXfQ>NSTvBMDv;XP;Wu5&plOAEi{xeXthHdDFGGhX0M*T0 ze^!ab#)o@`As2%qS59D|+L`PB;TtL#GUZ!5A+GBUssJTa8EwdEqWsfQh7dN)K7w`# zjNLv`xLH1}_=~L|)xK9+S|iL=EPg_|VhIpZ6$>XA6-%Hn)~DP8@YNJlL;&@IL0j-J zEb?hI1~B3WjG(8pVw*ul^=PC(0R1sJHj35v_d4Qj{yV*Vi@L7;zq7FG<%M;K>Ho{( zr>`4)z>NN+e_NAeix1~4I(8w6)7a_jU9q*w#V@-j-qDF`Pw@3v2RA0h5Y&x{WZ>6bK5x-UN4`SU7ov4FQ0D31J^~L z{}u}mZpeJD-pL@b&9=}jX#S*|=DmQDO6qKpc9IS5D(+Reb*XwmZX|UteU=+(riX&) ziy`sD1#9mDeIuEfJ94FlnR;Qae#>-kT}mun!I}Uo3uEo2uqMcny1m18S$a(3dtexA zXF(0|MU>NbKf1GYeg1TPS#F0d1@jT3+Nj=eRUG1q!~ z)H;LjIvxJNO8KFAhvMCJyjYZ*nnoT2yxhumTVZ6Y&h5<3OpFL zPgu73RJN~y?Iy<`qAK|RgBDc_k03e>F;I#O5jcY|+zcctI8(iHh=RxKO#ONI6(lq3 zOWA4Q`aZ(q^)pyq1pqWyCh@v5glcHfQNI>(3%)9|E>+yrUt%y^;=M6lJr`F5<#XNT z1-s@`p5pZ~(FR|?bFN-E*Iii9@K>Q-^!cP4=Cf{y)#imB#$je6Mw<_{Ae1MgDZpGx zFU`}@7;NR#FqUHxt'r1@5#D6Ko&)2kht4_K|T(Ka9qZjeG8*1LOR1qCI7I`@5x z|8J`nxGd>w-)BQ3m2=h zURWU3(yWDfu~J-TeX{?YRJHpWa><{m6>|Y#xdKz@W@266g|>H1SoBQPhXGo*V-Zo??OB)8d- zapv_VhZ8-V{ve@fb~q^@qdC2)EIPm0T9kK09qz4H;}O)&NaKfq!_mK$W*qU9UJ!soSs$kJ#7)#ua2ezeS!cUjYb2yq`rxaa4&PDM!y1{8QjL1Y3^ocmOsQ4c8M#@ufK)FtUQq6Lj|Y+F_3ZXg6|R?^t$A==ftOJz**hRtrN= z!VUz3;XLAD=$mwV-(l^X?~tPLC_3~ILO>SzG>_nsW0=}EJhW)8OgCKGFu}4!_i^&k zn5OeIC!*h6V14KX02b`~sVGl*=$Q;y2B@^1Tp~i#nR*1@^bd&iN%XOo;D1b`t8bqD z$ZdPlj?quU=UeF!W9R|Fp4#=^UP}EE!Ra<1k0EDKhE$LGSc)Udo8xQkzfHMiJXg6<&&8EVK?gd+7vx%(GU3jH&au+K>c#(?jO?V84K@0T* z+o5XLs~qqoLItFi)AV2R?aY*v$-yERGnT{2sXVsDwxZ^qS%mdfs>JT640`~D-;oGE zf$(5;^tRiN9-c8{hLoM1EnR!BTYAm3Jdj{VOieD_f@`L@aVlkK%4jMV`36s2GkxkB3ID~M1D9+HYX$D7 zHtwN(a|~tb!k_@ks2+E5Vu`G`=G(b(=KUKceb8QrsQF$Z^htysJq&Io|C2JMbbMz@ znG~8XeU3blXUxDierKfP1n?xAHuvF#izzgv_u=+FlAQCEW(?z|$kNj|7|% z1~>`?Tz9AEG}VT=b0Z_@IRzuoY1o;2g~jTZsl-)hjRlor2;oIBpgo(MSZc^Y&_<(HRBWUAN><0 zVJ<3PhCex+Xt18TtMZk_CCd_dqPk{CKD&gIC+2jguvGCrRj) ziTITq-;D)uAt|>Z-uLRXn$IObasgsCn`L`Ro$I9zcd32bsPgrhdO>FF7-Az%iKBdN zcHP;Ll8NOit}L@b!6gC>DmA%1bz`gtYLhWK%h#vJF+zp*!3jH$Rs}amcst;#>k}mO zxTCk*U3Nl#n6}*c>QBPuQ!hK|zRyu#l8km_GNE!mI*s;}N=>qa+~r?&fMuQ&RH%Of zHvLQXNKrC2xqSVMIFXn2rEx|K%fQ?|6ZjP11F}WF^Dz|;pg?GgEHTSwuo5`42g8{i zlXSRu)}IL4mQu@4rA7(@iPnrH-2Y0r^R@bu;oqVXssH&Y_u(x2d>1Yh&`yVSr(Lgb zS}SZ?Rj&>Ql3wo)7uJ-abVhl1y1+r6bD>A$CtMIa5H%KxDl4ila%R1*y_SCnTl0>8 zl@*meXuHu}AoVg2@by6Ea=LaZQSQTONS&iygwiYh}IKYq9ZcN}J{I z8_Tuwp1zR!WvUYF5Ujge!0L0YbVqf*@l|KVz2+`0Uz<&xeI#F6;#Pa>zYA|{d`fj$ zI)}%zX@4(8pPSMLL5e^S-(QD4OQ+^yc+i3k7Sz95(@9HBy&GG{*W8&dU3VS+=zYue zx39i#^>x=@cRc`1K0%Q_=TM)n<1J)z2jrXskfkb;JdwEZ=*a?UK!wGCQ#^w?@ zh6P=4LVd)Wcb!_{-EK)&%W94!K;M28Ect2T`zXHSIXnjrh#XwbWi`J@K^6oN>(Xi<0OwOPNNzDm90W+f z7si+HKR8*y;|C*;Q^|SU1~lL?`XI>5z-(?wOJXzoTpT@2Jbj`diKkx#kRdm7X|$a# zp+e2JJ2YRn3yPD6*>50evYbp0{U_?okSYbQ>CLo|h+0c|yl5lMvn07?Y-{fwXK zp+O`j!1WH_JU$~sxqH1cv>NqD8(y&d#m8W%qqIr%qD`XnF(M=P@<)adxW&f!`DbOQ ziP9F?6G507hPH5^Lv))Fcmlw2G;|1ku6gPV(^8=`esr;y$F?|PTkMz@hn@fw)^>S9 z5f+nB@>Y>DrOoR$S4&&hZmRu?v_{>0gEXT?nz2^89y@=p-&`wg!%k7^bie~&m%}J# zm19NdYY&3J&WeyuPgrJW(@ykIJ-%Sh3C^7pEY6e5Ltlc>X`MCK6py0cLPj_WvHF&}2EZ!AI#~?WrGGa~*Jm{)pKO z0>mDm$5At(-#>u7iT#0h0W^z%4hbNP9Co2c3H`AVMuJ2} z$8wGHOmJnip#;VOAqInQfqsZF*B|*(HBWj5h?_9X!@zGAnQYt|T+NDXa;qbc!YXXd z6L0wVaMMJ5MVqZLPqcYlN!~H#F9d5vbdw`Rw_+k#0Dj5-EDIx(v*UCk{Inuye|Km5~(k zA(sA>_m})IGoE&$nRX7$v@!+150pw6&d|?i8U!nM$*snkUy5?Ix#pKji<)93Fhv>W zYda;@{5ZI&U2Z*O#!YD&E7m{zq)4R{SpO98hw@%iWsoTctWX*`ZSj7`G^UBR1dZmi&x|n)`>^ zsePMsC1#E{8#71JIeJ=$lo?AaI(ryeL{d+5c)Bx*e~aMPSEP$XV^+$op6>E^I*fXe zuDPtc$sS9K!Ne3N<*Q^OWP3ln&wI&w6Ae88vj7@5mm4&4xj%>54>>Q^rNhqe^3J2? zlCF-Z`4|OX8JgQn?e4VM?kFYppRYl#k+Ed^!`U-;(g!rP)N(g|MBBrTfdcMK&<@Gm zfbUYck-Z0!3dkul1%}fC1iX%bQu549F%5-N?=~!jh7Pt@G?TT$v=_RB$uRT`5+>}0 zlTbLh^)SXky){26C9O;9A+$>aWx{57JQ2DMp(I2meZH=VB!0{7Ic=sl)+oapOBLfX zIGh>&1f~=5LhM}V)fYN7%));eI3xSdq3C*v!&+iz173;KT4Ey;oxa3wDeKag*eqos z{dNZpI_@Cbn|iB}mm=@wF^KCnU)>`%OT%2#5o|i9aAOn06Y^f737iuXIHx!P=7n3R zHc8*Yzw0#QR^lGY5fZ*c_0lnL0dbqnIoT^ zczFg{4?)D#5w5;^S%#L+C5ESX2sFYqql+Hoh+Q_3U_yFXrj{S9KEYD9bzQBZ-nk+3 z-s*cd!56i9d(EBd791L3^!2o_*{GKC(71i^E>BIb`T0Wh7&pOZ5<6Yl?2KGk{ygvo zHPg^|=B@9FWOj6nMlyR+GVVKAXVk-3>Cmg3D?^VqAc?1UMM&qDXhrA&yoja~bfshd zXDJWe23BBfu(CX~qYfQBZK!w_FX;EN=c6a|G~QtoHk;GbS(tv{Z%y@vY8;q`$;i5m zTdHeuY6a#bM!ON+`%Cao;eH)TYKx6WI8F?8YJRi`9V!nQ_dLj=z{8!BBIrRRinBrV zhg>Ec=z(^tj5Bmsrzc9a5q_0^$!b3uI)eR^u|c_4Qb$*WR{fP$)Unk=dFOU-D4!K7I7N=_RL9d0z^8GA%c((PijIY;d33Urq%8K; z!^lL2>U!*&>5a{%;8^aDLT}wqwFkkjPvfmdzsGEXKrqS_Am0kTkN}~HeckWb{&yMz z2-kSDwL%RhKkQN(jz~H9JaWdDI{XzPA~FSERo&{aSEvdj6#-^d=U@Ephd@Chrdus5fpA9Ru5%+lE#VyKrlc90mRV|WE=%y(962q zWg$7Z1hl{lN-OIM7vU9jlDsL{5Z@bm?=cp5UwsenU+)RMjsUFbCLI1zhbz%rV^L93 zm*=#-BDt|RNoQL1e)xUvkzS+_+PqcZi{9UGrlk-WB!}IKu$leB@*A+mML3CTXglzT zM?QO3(b6S$6^x~qqlfR@u({?=31`_<*Gd~UZNu-Hb@!~p!IB#`s`pCU#fLb_Q5+Y! znNGcw?y0?VbB%QOMx}NGPKCsQQFCx84w}4DU5g_bGw-UtXWhn)bSe){w%Jy*?(Q0T zx$DlmzoOLQ2X?Uq#?g&Ptm4p2XvWR8)m!+4$mJXPc&6$#nX9KsNgr8Kd2KbKR2*hw zc;yd}dP(&bJ`RY^eq2*sy;)jzK@Ok=#H_nVD!V`{vyN@-A}vDQsK=?>wO}PxuE(wg z%ISrFtsWd7vzWu3dZ|+!WYQU!E9xExZREw@a*a1VKzOvkbo>SbcknwMLZSWNO#F88 zVKh`#$dpzoc}|3PA2t!FcXt-pCL)f`nwz|SB0M&K`!pmy;6h40$iE(^W{2QMt_0Zn ziJ_xU3>XjhBPWo^{#%NXlTkJ;NHpnO9yb?H_P>e=OE9pC=;IS0`o^9|tYCzEAS1>} z%=0C1luiLs$pdo#w)F_mjymMBobF^axZWb!#dhh*~xyqIJy-~@)?;Xl${9dCt@Ou~e;aKLY zBYcNaL~^xVprm2A?7s(%A}I@pfRO_?&P97T$n8wQ2~X6x*4twHDInx4B$ew(G{bPJ z(X{l8M%tAFtAW1+K(F6nGrn;iMgd2lg~0h4O{@XKgMpe@;Hc~$jkKacXPxK=V>Mcp zN!wLAD}w>yh*;mjT>MH3;OJ#QIEv6&a|{?w&DVF3l@FnzmjU4@Lf=E2LLsxA^WEh( zIrv8m48s3L>@nCZdC|Sc*&KzD)?m4RJD|LC;8(l}FNr#l17D7R6CP!RcTSe>Wx&P5%fQ$!0V9Uu-%N{0Uy;KMvc>R*392a!Y7 zU)tk?*Wcqv`#)TNe|N*;xg^(1hm>Me(B)T91@)EZRw%Ne_;Ciq#lhsc8EOBA`SJf! z51I08vTM3KNuHsdu~YcwFPL)3T0HPYd>dk|W+nt*4%~#a$pSeFfE|IE5LRjCaUKTy zPT4d*_ph0Qo45t|&Sxvbyga6|G;>H3$NJ9Sq*%SLS^5ryo+X<6T~JgP9}fA>U#sjf z54%gJd>$gC4;Vp8mGAs&SWWv3!~XFSF=xyEFQR0?C;P7>{m!j2So*ORq~;03TZ~^! zZQwtik88h=%l_qP#slcsYmx6zGIbzx*k*ld z$cB<8CQ#awG)jS`!h4WgtQ`0p+{Lta#2%Nv{B1zYQ2afB_4C2_yAWwV1N=>k%c{v= z;;OGLt=!@f+=+c{VxsU3rw+|t3pgG5Jgb&5XbgaY=#>c0S_EXPCeU;63_*Xay=HcJ5W~FAX zv3@lMo_V*+fdcB3jJ*_n+xkDw8k&EvVWoU9{@sqWpL+gXD2Jnj911H;m{xTAjW2J% zVQ8LxefQuzyB29bgFG84cqT+n3ltBk_a^5I&AVH%q(7Lvy$_4*XOMT9ChtVkb%A#| z$D5AneA4reGa-JkS{nm#OcfQU-~ncoqg0!>)MD$aDWAKZxWseFAxwz^UjdLSTWOel zUtc6&NkW49CoRFdrDTh8rzw-0o+Q~7b37p!P5vyhc*i(f zoYo}7qr*RqLi^=74W$Bh*?$#Y%<_PR&iJQc{Df(QOjvxfbL*z1Xdci0i)#0`sZltT zh;tI^QqCGyL>vg=r)zc$aP<|-@Pcfa*sjCvlj=QE96M%B_CE^$BM~#jJ1)F z$Cw&1^knG>ySH?hE&LxikMRP@f8biscu{Rhav8V@pg3OYQsqt^dB#U)Kv?C#lusgn zW;%-;=t|V)#U;^9mm&vVNTj>CNSf(va-c4e?&7j(rW+;)iWBKBE~I9AoQcu!Ls{Cv?mjt?%Nl1F5!Qt6eRsL?(lAp;W7oB5-vXF z)&k5TNS*7vTI;Q|(4`aJl$du%OxpF%1yGDcbX-A)MHq0xtycrT=(AAM=(FDa9OfZ6 zp*8diKTP49&~e4Xop_V|KcMi3$Ubi3VH^BaajV-8kVA5BB>TUK5RoNiBl~LzMKMqq zeW!&2D-bBYy$n=DK-Z+>y+68zKqvcGb2fc?!(heRzH`gvhyI$$Yq9G$Nzz1&U0>ZS zNe)GlRy`s~rTC*~|G!eeUF^?HGyNfvesxn{d@na&h}TT>_dZYiFOIVdo{oh7VYtct zz4;85?rC3NoVFd3G<_S@Ns&T&F)6}p=<~p-ofW2w^H6L`~xl!Qq%f0ty_wsbV#yciy6>naQo+n z=GWJE4bHD?k@hphuV(f#5epsWz?bU0$zn|E_K*Mu=VM(&NFpsz;~Wt^NG~wOWZSi$ z6w&n!7+Po(^dL#9DZnvC9v5S=P6U6eY>UovtyzMF2I9oRd?(v}sL=>E3;&q#ENHmC z?P%^qa!4V!8M7U21dPZ#SlTO^4jGGPT647hVntj~-`_c4Ez-eQFOvGU_oAiULoF@M z!esPWYn}|)q1xK5^@GdK`YzAC^$<76T!Y=aiGTVn(2c0!DQg5EDEcE7C z-~hedg0lmSq)xbejW82jrc6tw@moM9zPS{E=ivDe-bOhPAE$vC^iStEjqmB}J1~9< zaI*g&k?P{}T`?oEDfhleGg#k2!Yi3Fn|>n-&OPcWL%%rV*j0f+RNX$;^9>N{VrmKxPkcT*#0 zPr2@zC2nYRbEb7u6B#Nqlk-s~n+CR>>g5R_IdC})u;CS;AzlJGuoT_+fPFc^4W;LH ztAp#g$z0A)dEb=m(_pR>Q<0L^;ccP13~<3*eGh+^C%Hm8Eb1`6kRp=$B27KDJ$9rW zV1DvGG|o_bz8dpQbF%IN3iN()|GXDjTYbv;EG`obx|}E(EzJ8)!W+I27U_qFcEyVyEKN1tN?Zo}<=t;usr^x#Ej1VR({Bl-43x;Jy*7}q#4;%0q3Wi& zcJR8n5@|p6ef@>&rz3_M&rTjYG{0`WZ*YFS@A?ezi=48_OIY|pQN!$z&UX}8V7pEc z0@}<1X~P`S5Y6@|wn|XLHr?lv-U~4YOwrf?F`$lqe$3GP{uAt0gXxY2r2W*(r|(c| zoZmuatWOn6!%z|Pi=9S0daKbn}?r(+NQ*a5tP!@^}_;Q7S+$bKjtbM?l->+nUS{nXdtg*xVP zL&vPfi20Iu_%?Nc$P&A@&)O`Uz*qf`@(VH1{KLD1JTvmBIN{g0!DO zevLQy6&g7JzZQ-fnqLpBADmy~koGgkuL%afT1d;Ggni^|0+=|Id@WlyIKTb?gr7lv zU19L6X~Y2h`V#_&;@9Mw!TEInX+MMfnrQHAm9cKuN4{uAH59)-SUWhs9z@#DAiu^M z{F*j=0QqW0;86TJR6RJqRv_(XkYD2renrV!&9uGIEi!Uo4Cal&BAC2N(Sho`OylPF zZDS2-b%R^J^{Aeuntf%#u6! z8fN&cEg}E(DhEy;rDbi}mQI%k#rLNhJNsmRJD|k2S-I7mUh*zl!$V}T1#?>(eC8jK z1CPdmy?MK2e}F$}qU6oHR=MAsce|pBMn!q!45GZ%>Q%6sXDhek_a1C5t_=Ty?LXoh=GeFJ37k9Sz|S~>C^Q;fW_&FZyOF6` z#&^7(?ScjRAwE6xv*(IPE3m?ondC9bJFOTLmU9-aRtk*`Rz*j!qVo9rV07&>KPoH zhJ)jJ%Wnxij$(_Xd=8SGZo$O~dpJXgvdd^%9&N6QdJq4t$1peGhFbspQ~T$SGnPyed~p)Qxm0v6cY=D=rPpVm^uh9eIGRDu z__bPhQ=tVne1ivtDQmT8Q=t{dO3@c6N;z{rHS806L z;rS%~T#w^kQvCVxPJa*MkJ9)5`zgY^2Z+N;C6!T9vgHFs7Ev%gNQKe^6d@mQps%Jv zci1eJa5g9<+T)-cB@!?|IsuqCp~%#IZh1$$jE?Y|j(5a{r{F0L|Hc>UP;RZTw7-Wl-c#_6 z-39?G1NKJ#5Aor!E&L(8bBn@%#xM1CECPul=N$K)OQ#`}U~r0Me&ad7Nev;v42-o- zK}^G>$nh`dxR+0A zDr5)}cxwt0?g@{VdEt%+!fyZp)1@71f6pqIuxply;_?Ae#AU~p;M>po6s>O8e|NFe zYcHLqg*zIPWl$L}L`%t?=3t7@XIX3{D9I~*F0Ox)qr=&(g6bYyU@jH7IWwkx5D9;O==ak`}Z z)n>e4$3*?`R;qova~S8=Hl*rmH0#%Vjx|nTv-5QaIBLxvdINhVaJC@Ad^>QVNrrCm z=8aX+AR0yj?N{dl8y{j%NoD_0kVm-$+wj78s5So^K9FEbr>7flxNi@~VLR(xpv>)Y z){(Ck+|&M&MVDP7g6_O=WqX|H{iwY-f-WoWU1^xc$G^$)0o)`VvkUz(x-m+MZm`)lf>Ao;18pWs2tM8! zow7J^rp|@Js4}x5Hk;V(Jte*+`Wm&Ko68X_VconYb?@4Ogva6PG{6S*WPi zSY#5;*mpIgFDVMYiEjXwEDFCyZ!J^_eC#(4lS4S_73@Hb_pf;1L&X~h!zne@nOoGm z@2;+1^W}}#Y{}f1xeh;@l*}#F3QmF(cpAG(v*P_5PTdUVz6Aw{<2Hjc>1Fv8I;?Cu zz49;jdeayLec=>-acRL!dZB($!b>nHoj~6gjQ)~-d-2=YE=@y?27B<{8R*6@<=z>v z0h-?QAiZ_^gU{hX|L}Ukc=bLLY{Kiu#`AA6PUSmDDTX)vyRSY|QgV_|LCgiV;@#62 zm2Eep?33(m-$5##q)vy6EMANfaN$MCI|CFh$Rw5sGAT^oPv61ZQQH2A^eGCzpYU;D z2438I2xiw+0(&qwUEA-9!)ie%-Xounf!4=ymcYq>mQ+X4opv=t~iwlSIkBO)6 zAd7)A9k+vxG7(b#wG*g!{5ttoaIuWUem_El?0`JP5v<09=s`lIajlEG*I!`q(OwAN z0VsSuN5C&IbYJ=TMR+>!n#9~J2+Qfq zP9f`^hUkY|z$vrVX7yo>oAa){()}oxrgp6UGQVUWvm6zWX5rGTyn92n+lNJVCCJTz+`<7vuHU)js#vv z1`TnDX1)WA(Fn=UI;0&7|AX**6uJxdkH-Sj0qToRlppHp1;#0X^WVk+wBG`seuRSx zzb{F)AD|cd7o66OXAPeA|BFNS@GO1~aQLhIp(L&T9yZzhv-sP*4~Hw_ujab~589^TZr-?R zKu|Xa2z~5oc*3^7mx}m@-yIGG&^I1z@wHifr+Twq)lT7bdRDVq@HA5EdnlKz*L?5w zYOm}2DM9bgjor2)$1LWBYd^O>k!i;7w6WH82ca z1C&qxk@_^v(4I6NgH<-RpI&0zzGBSe7ILdtA2^`w5OX*z%jJD{;NV3Z1XILQ9-2+C<|78>|$J8Mmcp^#H( zE@WzCoC-aB>svAIxx@R;a9KM8FQeorv?1x(2s=uJ$2Wx%rlIQnY4Y&6NWGh-xsVqw zJIo|TIphPEnGFr9*qVQ=p-MZ(GxxS(?NO^4x7u#e_OyU9p1?0028$LxeBYtpXg0@) zcoqWf^*2rhPAFr12f2u1Ag6K3OoW!80+joyiJMUV*Wkm^pPeJ)>;%bu`T0wOpA|ST z9&x5FK$E0y-W;UPMywH~USW*paS#YI&xE;*VMsdZG!&Lv)CMFZ+7nMK2eLt4_)Q`M zyvs<+;y9qh2;FFy*peW)}JE%EU(0NH6)G=V~*FjOxf2D&WLjSuuD8j`Z z6uk`4K@nRop@Ta00j1`ON{ndu^HS zzjdU7Gk&e3&(!Fac*U)$$s z0VLY~+i3g825kFAL&rdz3GOKTTbg(a-uJOk1>S~Onv&L060=31grmqZcwdh({zwbj z=pybc9%FrS<}0Hxo+LhnKmQk$M3T^YjvxbWJ@nG2^-ut{9(oSgdMLtdJ+PwpZyia) zyZUrC+JwoHa%pYoRp9Q|hA8O2(uRoK|E@MfxVR0`%LQ$ylk99#e2~~lU6~XgC5DUG zU}aX{0*qMuC_U?i(*fAJ@-WsU31_j1tG{L*x-_Nf{G>IR5(`fhxR&SrCu+`^8K~GF zO@SSSDN;wFRSGx33|aG&Crv-=fBzi&S&yDcV;n~~g_6eg@+HzZP0%Qa64_zJC_!7H zHGH$M*&C(6xS9!l^nJ5rNs|(DNV7Q7lPMKqd!OQvufW^z2g^#{vy_`b+ zHvtECW7ZYD4FsJc^J4F`1%&us1K^#t3O%Y2EG|d8eUbwz8Jonm(VVu zUY^2;BwjE7z{3+3D?{R7^rG?+QLtK@6knpu1)w7Ovg_}bxxj%xLDqhFvGM#dwyhGy zL(Suo8o}RPe`}G`CmCah{~Bi58GK&m`k$iR|9!CW6VaYev|qf9j|Ny=mQwK%EQODBCZR<8dP+!{jNnCS^->Ti%=Io#=IvlcjvwIpHR!>ef&HRtbZ zeTQR6QTOw;Sf$+k-XBmyuVC2Sm(X!~x+Y8k$+W(}_=EQ)iX#lTj56@Mxqw1F^$mf>SIWekeK%D|d9!D;8?5dZ`PMomPsdk&rU<4#gJX z0whGMcJ@PxOqOa0$B&8m+S#18-Vgre?CT3|SrHolbp&{Nbx&_!9~)nnZ6!nF_D&Og zy>tuyW5twlg+~3Blfne`B<%X=@Zo$U)(bcl5SFWIt_S0cYcHFy zbOK=m=jgi0{&!q6Z+_p*yb*U?Ym;QcxF4kzx&&bcmUHVFmu*tnx}uMMPTr`qw08pp99 zzTfs{{Z#v%2G6&V9QxaoVD4p_8r9l)dZy!6z_M&moKeYuXdbfegL{A}ukYv{7ba7D}6iR368q@{-^UWjX z!W+tqkIq#3pomVvZGNNb6=6=i(LbCLtX|fc>cA%rQ)8aqNHJvJ)9cO4R-Gb(;3y&+ zx4|ETTDTP!KA{uk1V99qMC3(?2(xb<=b((*OHVIue`6;t-#i8o4(%+7ZWaS&5=(}g zX;qw&_&2xg>HC>I~IWurh%>5Qgo#mT%0$0~c%J}{e z*#^XAF=h_D$K3p~>jj3~M^YINl>I(4VR3b|AoYKc=Z|N#7`#jaVV7uKo3;C~o&qC%JEEPTXTV_|RmA&aM zJEe}(s=D@4PPoMrR8o%YzXX>qbyQLuCj4;W;s$Wo8DrXLIN_!1O_dpR8>f0r5?f-q zjj^1X??9@==6EO8zQTKr^02$u1bpb8&_2rB6kD)DQc7`|CtcIn0H4`t!9J>?Fu79# zx+^v_DGyy~?A5xl$D|xt9gb)99a{SNqJRe;i+XQd&~}w3C66IF5_ZQEZa_jYVBsd7 z#3;*1;&#hTKpLJ;+N6&J^p&HbFmTCmulQIUZpLLN^vw<}C#Nm^pMo!l)e9Wq-!hYh zI4Sdz2-cC2dcu2SwsMV-g!X2OuJ-mez4~n4DP=g$z&^|Fcv?4Zm!?L0yKmkG5=tdI z#xmRwm&v+ut!6E)N7p+P{i2@2v{Fwz5F!XYb)wnQT=DJkskIQc)IHJ=qs z926!_L#L&D@BJxr;5{~$i1p6F{q5RV5~;{Kv@o-SiQIKz{DLI?lw~qBrfmw1ehS(ZVenH0z6}IP}UX&I>__ zcD`Tv!l=U)EjW@*(v9>N0#MqD7P2y$FoWk&(Q>T;Hy9pt5toFAB-zYwFkF}n#$g7h ziR$1bnwqsRe3?DxI3pZxRIYjL`N|c*;n0;SPK;Wg{XTTYIqlf(Up|~14i3AxGok3S zAAX+!Kt(c4P8;h9OahlCVHp&LP%hY>#-Nxx3Y5TCCukXXlMPXi`Sl{oIdZx=_P z(u(F{MrR*LBi?>kS^+0XWs04k1cYkUK3Iq{_Mn7FPb1IOV9c-0!XaxH&vLcbp7poE zqaNSd>mU4!@|PuAcNSeq558Su8Z|i$$Z#ZO;!Mh9Br7{FkV1{HHFO8qXw zquZl$GJ0j6DESvC#3;Ga2x z(gqx4PjyNa1(6^Ev`);PI07RI;F_l<6gaL9!w895pY}RLSV?__wC7SS%JdN(%^nBL z7RVL1uVDBfF8l_}`n1q;*r>}x_uv;61S$_oV_ToT9)a&bF<|bCz(iO_JPde!U1Spy z^^&lPXl1?nBvP`dh@wayGS+?xuk;}XbW!vSI1jDYJJ&f+9TqHhS}+&a$6&_^%Jxda zawJu#8>O;M8>LFMT3T7XMyjk)rIOlpQpKH$wD8W2Qc3k)QrVrgQsL%WJa|z6n#n>t=1qq@Ss?)?`kddBd7H z@gIEVu1TkPI;wrS9pt%M7ynd}Udcm$Y-pfJo}|xrrEY-gDv#X|tF^^y?J?K|=R0G$ zfk$USQ0HghZ9Cp-)*@{Ur49WV+Pa0_V7s}UtVWy%dE+m_5KTKo6S?E+xC?WeLv{Aa z^Q-TlA7mAcQD5TnwZFI{-I!$n_qx};vwmyQjuh;`(!3S!gX`M7w}8xvPCBjY5V~9n zCvQO*z0d(-u6YDSqYlcLYtrW=eC8Z=FLBmi{^G0nUY8<}WT4k9L~z~vdWoadM4hp& z#O}oC4SOHHQevBnhjzl6b{nZRVIy%+(<-yS;sV3;;en&|!!hurF*sOtq?J&A^X$jI zHXA11t<;6!OIw-oQVCugKiY-zG~{VjJ#aTj3l>>5PmiyqrJq; z039z88?;HpkWNn&?--Rubyt8m;$Ggf>++ZAO}A!&qQf?tL|NUQo`&}UrQM7c(o>+_ z>`2OeInA~8j>Mj z;H5r3dlCh~z7)jv$q_zI3`3&OnOtGy}s(^yBv-*P`LT}^JCRL(F zkZkm_Qu$vG1#Nch!=&*U^autetTT+dBQ;Uh>n?N1zNx4NY0k^HaNAL*E>l|}WcDET#3tk_F=#EwB+VnygJ zk!}8m+kP5RX*3yKnVhoz#{3Vrjsxh*6`^MVDllaIBJvY@k7A=}(3K7|H$g005rRuJ zgG?N+{hFN-p|jvN-v@5l%FtaR(}+#Vu6MfYquZL0OQxV{Ma9a{dVwYj3G1W46RrYN zX{5`0dazrjH}n=5pM;pKo8jX;4S;SCbqL{KZS)Y8Q(Tb|a;vp@RMUu}rnD06*up^D zuJ=V-p;m%UiE0KtMh1F|iIFj&KyFQImYYVEG>>SKZ*H;{i9})U(QYoQ6!k=Q$e^dY zJm`s*hu%l3m%IfK&gI=dUIqTQu6Z3&^$SDiQ6Hqe#`~1urRV5Ky$v8U&c1_rws_Ch zj>W~&)78AZ%X?^M)7aI3>PW4^uk<1z)qaT%QjEY}^5Pqr`3}wfFXtC(ULLwwerR0# zUYJelmqtR+zlJ`<5Nf>?`pRS!Hm$RStuCF`CRAEy5r5>gK{FG#!CYGqBZ2Z5)abGh zEh%&7i7-2b*=siBLeG25@P6<#SZ8={Bh%4KuZ3ad0T?n)a|cU%%3#vyUJSo1ST>6J z5v4EPb6WG9Tzl5j1?zy->IuP)0)c`FE9iN%JoF|tuH`4O4>jgFiE^=KhaxkdIc;24 znupME@knbrD9Jf~_ROND*MbhO<><86h<9VO_P|l~lm_mIvQpDu&~$9dFx$)~OZ%U! z>Id2p(vRRcJaJ~z`1U{9)NTzEMMDp;o!jH!#TF-9mAa6e=Bd86 zD`3AN7Mv}}ut^vjl-jdPo%$+Q)=wfXf`Jv=gPrJ34ZEGOAN^f?>E+OUU0@fqPbr2T z#qO%pTdZ2u>Fg?)m`-QG3`52ptY7ssr@_ipb{d1BNCt47Mi5)QAp`iLJ73CrkOX^l zX^}w9r_FUZ%NjYB+aueU#;9)hp;v^x9XE57b+HAcCsx)Q1VLrda4ofJE{iCFGEFb* z0liGZNMHSF+ty*7p3@{jf;J;-7i}CyF6DaZ6s_!Z>~#p2VW5Z$=CqCKh7DQNMjN}Z zS%U|_;MsQU8_b3t_qAUEu9UBr^wLZ%xC(^CUe^NjWQD0?5OD?pTG?|!&$H$0Ei^9r5gVQz;U9Ci&n18e zlsc`Y*z8B=p!l}Ctnz~xtxLheUU9}HTyP$|i~{E4<~lkKA$TkKK8iy}^)fFkKU@e= zl%|xqQ+JK?9wg?$Xt@vxy>q6@{zAMEaA6;4^Cqgqn=F0OJVI$GhlePQ$4k4t%e>;S2j2NjX)u})=U;G0C50Tax%Uv4 z9K%=uHkE?7i|6z;_|P?*aY+ zJU8I)as0iBvQe0czso51M1(zxzk;MVyTQk%q%Z~Vl8@V=C44W0LcFJh?~K3O!gP(K z2)Bn9(7VTJ!=_=qyqA3ajnrq~(e_ZiiaJGAM)FYKCsE&#&ru%d@^@XMbIt2Pg5#s` z7vey(K8bwiuHW^h@7#5A;DNY&kXW3%R-KxhZJo1`iKfHRv^_PzM>*a?`CQ+ykTUZm z06GH%0DK%f-5`a+^dSAlN#P)tNzN0b#LB$k737pDTAuIJSA9pELP>>h>=&MCgkRk+ z9D0iyYj_le8-)<6UZ+cMNNwrdpfpSPi*P$l&db0V$rPpWq6{5@HAsP0v>1<{5`Rnk zhrUXoH<*w(?WJF;Hz|I!5pNNgUPjniCNvY^>P_Mu?3I*R-h-Sa7Mw)Q%dZqbQQkP#H1Xkd-h*^R9Sk~W`RIC~8e^MnxL=+i zY4bR-3f<&kjKBnWRQ=d2#WLjPTHZ27=ckY>LjpTJuYyeQRY7`e{r4Qvs(#w(X`#SQ z&&&J>tVWy_uO=PCW1g26by#Oa;>EvKWQw7oL~Cahn;n6NfC#2hf-+15XNn+bLP=TB zc#vv}c&?@*I+FV$)sK4*g(@S0^X+b~N;T8xc{yc~Na#jqT@Ffnx!Jo+kXY z;Ll$kdh#0R6OH-gdo?3Wa}7ya)K{Rnig000_@5AGMCq$~VU$aKDHUUcq--bgkV5;7 zIh+XE#%o+bku^xGJxT0=@zkhIs(Q@jY&pjxSI|wx6e~KQWLw%fZ4Xtk?;!n3I1q_b z2OT(rfI{H&yNE{wu_kL0Cr$D2_=lDZ(NL(=!K!C z@<7U1yu#l?DkRBbV8I2dJ~{9petkP}oA0O!F<^SI2L*W5;X91m>8X^B^{ho99`!Fv z$^@zo0ayh<0RmX05K6?OyTxeP@H zX*8xcG>t)Mfuz`lS!I}{?;);g$AaIXvk1i;l;(o-y4g!&*j{?V>M_p_4=U(`z4VM7 zBW}*7IX$L!H1~pCVC~tW49TvHUE6qfM(nIUwv-Ik71Ojy^wLT{bxPLNA&^wiWV~y9|dFO(+jNewr$a7Pp4AfV5a-dPV4JSYi;ySU6_`lF0`Si>DY-MhTSkQEIfRQ?O-nYLHDt zxyw%Df&w&4*vgDz5(sP^qBVL>!O#JU(xAC7mn5{q`jg~1lC%PH4(suw`W55^Gbd~Z zOTcTR^vb08jN2@!l8%Y;djP^eAmC_6nT2?R?#BX!Ry8Uu7k zRwKYye+sP>v6K;6_dxFHM8$wqVQDyt`p7?m^&yWV>lh`ziqOLleNxmCxN(YLCtA<| zt=Ux$9M=Q)RQM5)RNnyMqs0M7{u|09_wrMYzBrn?a zDWPv(hvlV|nmc|^kC2WpbnSt68(i*5--DSAmr1#vwBrRQ2g3OG0U8_G&pT3P%s>0? zdP~K!&~%in15u|Dh4P6!;{HCjECbfrl!v9}Zjr||_%avKfD`n?5Qhc9(VeMO2&g<^ z^P;)!m9edk&{~vfMd%LvR)h}xhC3uED{ixyD=Wk)RR>N%Cu3M>2X(1v_+`)ur^+ir z_amGeZQYe?VZm8DRq9?lPbyHI>z$$Xu=JY?HX|!Sw*fU$l8(-4)86_q+JywulQsdm z9>zvvtw*e-VYv`(&y}DUGDtQa{PXQ}NGgs-&xB{6opLBb*Gx+Jq+yBdETU1N6inR> zol2^r$mTAx*G)8{Ic02%BQ`6PMTH`VXoqhnPQv;py~1Iwu=$E?&b2=Hlyt~HO4;WJ z651I0OTE7L$D@EZc@4cI^$Akq!gN#LYYw#5YDd=Ydl)e-l-l(7Mq1`6o$=+Xr|s;2 zz-ZVv?>Rz2K7{tY^cp)B{yB}3VZy?0XH*!>YCDDpe;9+V)zq%``YuNd`f5@LusGOC zSG$6?C3M1Citd;Il@mBB2TlNEY@`i|_2LQGR_e$~?M{4HQf=rm^+{_GzsZq-7$oKxIpJd%7?* zG>OyIZXE`~x(98Rx#@5|i+C7=5${?;q%TgfX^xbj<2GGsvS|vwR;SqUNft=8OGBVu znPLmNmTAf(_E_p^D*ON}(7LU*32u~Gok1nXc2(Wsvp6Q0AB%l9ZSe$~@u?|3du$}( zx_}@oc<4CGqpaKa(Xg#MgA;SyleU9h>gM(E+D3DY9n;=f*#4fwI+m&k0*Fm?m3mco z`|q&8-JLa(fVC56Pm~+bMg~#6(twM{y?|##wk&?f+a@Hdb&zc=kSt8GP8nU(Pdc?>{fg9)i+=vy!VaYu`=v# zp@|B8M@!wsH`wIB9umRj-F!|5N4^n-Y9D31>Z6PDPi*^$s6yh!sC#i);oSf<`Kq@ILe!glcbShtR!Y zT{ktA+8#6;hR$VnEI?ps4vf-@C)oAepLvPNW!=ab-MuaT3AWf1Gz6FO01fi5fs`46u1D8qp+ffO zlwiP$Q1P!&t%ers)sFPf7AmB(_(2CT0V9V2V)e0%`M8yzLDwFt%l1Dxw8{sa8Z(&| zGgDx8(&EJ&fFJuP%tH_PUscD75LuY0|0NL_j?s2SXgcU7ZyDa`cb zGHAF$eW&bigl)n%?`1F+_ghu$r5AK99n`fToN7{1M~40dCNmmiR}l31VcSw)A^~VT zFX16SJWO$ z!rDV<$#4Xe*HD`Yog<;}^wKJo?0*2HW8o0Lc!Ve(DeFU6F>{x7Z7m8;DsL}Z48wz6;zhP7okg_*mi8-Qkp#`WKYY*;gnqq(0^--o#=O*_Px~C zlyVD4R_83o_HpM!dOnp%e38g~oKI&lz#|Mq*M4$*1DWh49-MBxrx z?uxnFwz;b?n1yv((r-nJBjLv=T6bXH5c16<>5`P&g1O_}v$-Qf!!R|_2mL#;Tud*r zJt6cV<)QJ=yR1r-D}^GhkCL{VYtal4(dS_QqbJGgsmsBl2e z+;R(yUqM#^4K=W4IyWb~KB~>VL9ffPX>~W)@U-J;*DG_lccx&Ryow&PzAHF)Dc<*y zCe(^s?OO5IZIN=&l0-d^UI3f~k086YxCMT#c=n6JKnC8*gs-y2mNfpjBvxdJ!5eMM zJIP%Nw|nv>p((OTCYI11*nq(K6U;OkYO0w0IYRHCX2ORl&^PZ01QGib5KLVWeL*?= zABuzexUlhx!eVshYSNbXp!o-A^{^2+LQibN9N7`7qk0!A8Ma&15iTKYRHu%{b|Jz& z?f3RLOg(_k@;0rb{SPU6jDz^y06T{XZy~g2GlIKZR zqa?KLaxA8xEY?pV5Ipr$ktDZjS9TgPNWUT!!zNMqo}&Z{SWCTe%I$G%8N=@g@uk5{?T2gzq+d@EK;{c$R&!AJ?v{}{eTf3=N@|1g)l}Vl@ zOFc^}B~Qh&qEgATU`gdN{4PcCD*C-){(_qsWR<5#^2{$RE|EM%r3)4pOP<1;3l}V* zxH1p06c!bEDkM)y;qt{mwq$AL{KboqV0p!tB#&p+f(it#D)y|PDC1FCynwQ*5RWA* z3Kt`?WWi#O+D zGj*xH=rvo1wLAt-&&V*{79e{Ul*kZH%!pe9zh(G1(*thKTj&W_=Z)eG4$rk51g~d` zf#b7UOD~_)`x)@+owYm2W4e}K;5L1C4LMG)+dyv9)#Nw5gB+*TEeiQgE7kYjRb5LS z)SKuDFKQ70S8DN6SSFR1NjG7GZzlb};X>ExH4^zz<7XCr@IL`4ViIoF($ssepStGy zsXHX#k)|$~Gqr5a)QZfho299xco)A2q39V?XTeo_#?;(3#$2F|<^u3d@jQle3fP+d zsP1_zn46-hk7%BUY1H3Cixc&aVz~S#eskgN6y9ije*(`=PZK*dd75B`sTHuvSBg}J%|2lZD%TfLSsG3t}K;+306I!dmbrudmfV? zEXH?-=Lr!%RT+b9o6~glv8J?`=dtkRh=u11it#ACT72hr$PcxqB4o;*vF8!FNKbKj;52P36e%Is82hKAeCN5V4`O{>4C&Nid`vSrpc(&m=1e`uoO z5@GlUIqs0Al1PlP_5JSQ`7M?OeA_dmx-|TzHH>Wi_D9%4xQVA2NQ(uV3_W+x%Mi@) ztsFQY{7wDfPZ0dI33w;tcaAXelm9r=2K-Lo?;-eeJP2m|{o#MZQGy)Gl*0CnBW$maXfoXBia-3HcQZgXs{kDEU)^i{&9XWC~P^M;J7 zj`|lkU%$=sG&0^NB4^CIV5S^ANMmZg-to{u$4~iWO824_?5=Yu>$XhlitX1-|Ewlk z`I{QpAy&upH;R7;?-i&|se1zB9dsz@PiijY{S2Mc1cd>X?3m!VyFDKBPvJ+`!wl7Z zva|+0gipz^en_34+CDgRdn%Sm0bJCcz&@)DHGZXDGlE>d&!9;{K)&MhV{GjOZCZo#Basi#<3o zYF_NcPX2;N@C?m4I>$5R&9fkcMZ1i@U6!X=7z9$WcDzdp#GfhX*b?ZVqW}XbV%vik zP%!C5`f0C4z8%_X_)M4SWjccoQosZH$PdmWT20PLnX?AVwzb?CeeEht`c7mqc3sRJV<5;Xlb<^xfX?I234*{G+1&!%_dCsJ}JpKcT&Wbs@wB z#|dRcYkM^k%RQkMw336cpfk3a1gvDDql<1~M@OFa7nnU!eDeEpQ&P3?XY_$0^hZqh&g3gyThRk7ZF&$Iqi(UKjc{D(8hqJiQ#nqE&JD zpQQvEu;dELk$Dra5U+*C(}H95ht26~!GZetsN;Zg7*qBQ;~mc$$$w1y%z=zC9CocLHTewW$j0#N6DrgDd>xULS3LW=>BU&8v?pmebSmPGY-g8Je;Yy2kKth zjKTZ?l0bHXQR2bGiTG;pjAI0Kt+M%G;sm(Itj!caQqJI;D#$g4>dFR7w(1y>W`P+r zOTv%e5=ILmJ2{-IVKWeF2)P~j#DXG)JOa61R$zy>lkze_%fr*cK3yV zvT{3dlm|yiw!5hh5+Si11tOb!TxnS}ffj(k^VvC1$!$?u;vF4Xjsu%!s<{WUa$5qU z)!dc|xd*To2M7dU(OQMZKu3nx@sv_4UXRahoq!~AJID~A3W)k!xNKvN22Ng})d`Y%~18~8&wmkq&ijudffDb07^WZJS zRLu09IgV-T%^o(EnLxF2Vmvu+QIL)R6_^!-C?y&pvqU4^sriK$VCwCssAd{fJ&yE3 zffJH^)xiaEm=^3XiA#=?;$9M7|BpGxro?7JCF2`0eoI_fL5J4Iw%F~UjZ7xgAi3#$){$=88>i^tnrS8|WVjq)MC6A!F^> z0gPUaLK3A#PBB3yfhHkYsnxZaegds?j-qxh@|(fgpP$oQXd?oCXVV&HEl}j z=3p#7u{~aZY1OMhRuht06=N~YDv%CB#w+<|pkQ8Hg-2TO z2@VzbL}jI!h`l~pxh^^EIwk6pm?((iRVmU9ZA_Nrfl(jWp*_x$ps%1Y0-^Bi zWjbE+DD`;HD~~W#Ynq=>tj?OV$zu=3rn2~~Kh7k+&>jTXVBz&MZ{d?;?Eet@%4WOk zUIYa?&U7Sfek1Q{IQ?mg>~f$kz!-=Psm;-J?MD#uwtJY$NmZ-N%5mkhwjgWkDm~NZ z*rSzo*meNjz$y!E?^JL|@gK(GSD~Yu9fyf3wcwEI$LdR~;XxF0o%x80^S9V zoq5aj67WyL=*4OiDik9U%c>NACpG}E3KCHW%ppE^3RCaUJTQeKhuQPYPitpeg(anO}!st3~D%p zzh@5}x^!-PCiN`V=6-}}UT7v9JuhT^PV+)5ktq1pO>@|VMbm8KQ1TM#P> z%S-2{x_^nqxBZu?^ZA-(TF;GjMg6#e8LwvJ$W9*)Gp1$W_>_PzHLW|c`2yuFInmv4 ztJH3GH`pb2|9Pocg*%!p2RF$VhGunOstMkKW%;`Z!m2T>QMIVq$x6KGu#yd#k_V_b zqEd>+)Bdn*Svi|uL%X0v=3;+9y4xlH=rtxaenPf6k5f@VpA%x?B081?cj(&Gxhzp6 ziHVAY?sPCuhcy}QGxNnt_##>f&lbQdH;q%+l6ZA~vJ$7vH#g58kz&ItpZQ~3al^Qq z<~)+5W!fW*=VnG1i;C%);e35Or)A62tP0ed$6;RPLxk&|Q!22E3Ym`ziSyqa_F1;A zu;6fO+wZ?tvn>;{lhynbv13Mtnz(I6SAB9cG5B?opOs%S@jL2bpm9b1P$fbiKpRl< zldRC)b4E;~vu^;v#H&=FWr8o6c$Cc&W}k>>r(p5u%2>tz1Dz#UI{hHqM}}q|8Dlv! z^*uL`EEKTM+MGb&9js60A_Vaw1Kf_@d4MvK1dEn^0|T@_Q5i|=g_%%TsgW}>eS;@w*^ zZS3QwJ`NRV7vx;qCpl=aTuKl!jY3A7<&i|&^k)B{d<~o0fKz5j2ihU4b?gcx4-_qJ zn!EqO_Dk1Xp?Tkd+0GX&v3YLqIp1J3^Q{A#F~&gi&*oZyuih1k-mUmj>BR5s;rZHg z81gHqvd&OzJoXBiNh8zz5r7sk$PPvO?=G+UtG&dA2 zl#{l+MCKKpnE(h%0ZXF?dwvhrEM1}9`8!^8D{U0O`f#S7h?UqW&<2^)K4I=hGm>Yb zfgW;X#*v2AkdzQM(zBp@RV?5zc5j&<`r5SVV|S=H^`o2F-c;Bq3Pnjlky5u{(1H2Y zi=U$#wF&G~f+Wmxe+~?wJwR^IW`iECF66(#4}?_$#G>wYiizKXWYIk+?}|i+zsM3D z+B?l5H{f#+izYF*4k;n|1pN%9DQ;SE)HQy;oEXkbZ~qR&?rC$Z&Kj&KZ)ld`xMvn0=;uqyDy!bT9fB?_3a2mTHXtDJZ<) znISDJXs_eOXAjy5|LH%$=fc1S6T8c!EyPNBkv8%(Ywx0Mv)UE5ENp(hZPdVBRAzM; zmA`!+w)%kE3$u?q8&UNpx8nHL9SVF4Uo0&=X~z}?uw%p`i%^GE`6%o^&HUG0pFgUR z^AXD$$YNk}ZH21luGzme{UcTB#FlUa6oAPD$}5OIrTzzb8W$>`HnpWHE!JSqx7!@aV{MJCJWevjk)r(%QebSq zf;sCgCz0LyrjIYS9A*(?L9jk5O_C!0nzW(pg#~dX93yp*y@>RanzR9UvE@S`1r|tP z=`e62?|nwzeryLfwqIjwf=C@$5U^i)OAugT1VoGkh#+9;IRw1V2-weFbQADCBVa#` zD8vdAQO9g7hc6+88=9sLwzwkLghJYq852 zb~l~G@$CozP20IGx3jU$T%X(Nw*4MIrkC9q1fo*9Ozig%)?^!6i5RQxGsE&-J~q{z zg*|F&FYksoPX;;#SW9(^4y_vnC>c1jkFQFjt)OY2ABL+DIvKhL^D0K$FW1VdeQdDa z(Z!dK!DGr$kE2lhBp^98h#3W4uP;R!+~i&;g*sAc8zD?@VH2M`?N8jIQCcz1K-ZI} zJ;f1PCh8I^^+jeF89pAA`!RJ9kF{>Gt|z94w?IE5o1j5g6X{GhGQDvHSxW`jA16gm z6q*BWM3e?{3DvPe$TL$YTv~x0u7~FOL=O*zg74wzsE9Ul_rgBmje&(?Edz-n5DWzj zJ1^mFke89^omVluq5Y?{JZ&Ev=_I?=+|S%ux!-aYVozY92{m04_R@@l8LLuhtZ;ca zaKb1Kfzx4sEMhpIh5aY=WNa@Md`oJ}_Tq|8e37>=^mXQDZ|LjMn`l)t78MKkVrXA0 zl+8s@Fy&fI<8&Nt?T_y&frB^hI6kUoi>6Q4z+HxQo!WSO)sx#XJ~u-94$)>qnkg4w zXwrMElp}{}#H}1B_1~*3Z()j4-)6VRd=3+=b80G87dYVIi-z#A8ua(jdsUq0J*qEO z-7`Chb}qH7%JTGNP-i)M9Fk{tNLDZT_9q+lC0wtPQK8brxS_7!BU_HiJFD*_%p^*F z4yp^I?NiMpJunBmuHA4t{oqRLzFyf-js{{c0((e?*;Ef3iKFqn3oOBt;+ zZNXt2SkbZM{+1>U71vG;4kGg(SQvt`KZuy@u`xSzHh$ADGv0xlPF?;` zOVh{6rsZ`lFyhZ9ZfZxaD^6oGEw^fMD@ph&4z?+a@DIo&R8MXfI;*a9CZHL)qV9;! z2G!r7ikcka&K^?$&BYx8fiqR4-IQ06sGx3yyoVbNdjvx<=Fmansy2(*{b7TM9(+fi1X4<}g6N=8HV?3k-z0x6i`phlF!_^37qy`#e!twQ&Bpgq{ z@Fs(Z+i@ft7!Sd_lJ5ujccS}oK# zRf#8i^Oa~X9ph(2hy~W&G++x`qkImC$)}tuq=XSLq+1aCky6J(U?B%4((M@rylZ4WVIoC?;j8nTHz{ow^f2qEmO!FYB4LKcJLsB|apX zcYJR`I63@t|&6)*@emz5dOsZ^-wR4O1(L`z`NS*ksX z!&X6P;37{Otq@;$>Kw$^&gu#+>^i2)DpePJ4a&z&AE$~@#g&Q%tvfU5zl_EdJ#6XG z)TE4>Xb=z-JQa0)F^dOah=KEM9mGZ+2EFmg%}N^z)!5e0_WPH@cP|Y>2PiK$eGPN^ zNYhE(1pf=Hp$nBWO`oJHk#p_u`j>+zZH*_*EVKHi;Ct&E+u|)Rv-rBL{TF5+Q<*IF zuhZ+6o)&lTWWUCf32sGe)Z#7sY`@>98{I&4+tx9QdkeFOZNJ}-Ge%*BlhM9kdAI2k zi-NYCmJJa`<&#hFD>ho+~00B!LZ@IKTTFmeONCd@QPneRn}teBa+z zV_U7yq3DLN>^G>*7;2eOra~SY62B2VZ=y166v)e0% z?P)B^waMHPBIj&!`vToR*6N`YwJ#2$xn?Kx^!ia4oV3n-oESP?o62@-fj8NvyhZzu zAg$~aYKidhvl%6T=l{-g;5-M;bKpD&&U4^A2hMZge<=sH8t9r2_yJrreMx^?aFJC? zmJR*o;Cd97{=5Ki11|k<5rCI*>F*ZdhCB>jD}Bz+pibJQfA z#h$CtXg}#2OfH;3fN!F6@NP5iQRyuNfRizvM&WvPhmqFt=k=%VI+ZN?-#GfyAG+@k zC-?j_$NmI<9{V%(@y7$qXMb^h{LyR1< zH4fJmxYBWD;+lqQCa$@-a&RreH5w%tfs5{=&bjx6qdKBLI(&l8gjfv+qwzu#J^rpl z10s=1oE9h1@d)d&NQBl$^z|3aK}d|A2B(7dWRpavD*V&1)DRJN$T(B4bkj2?PsyBm z)z#Cc7Zw%cSY@djF>ii$j)U~hDnY}~ao+(N>HbUH>jgd?e|G$>Fn&vHC#?8G8dmZ* zUJpK;!8jh*J-B{^YbUNpa6N`=53b+hdKOnBu4Y`X;d%qt30&{vYRB~{t_ZGgaV10~ zX&|l?To>cI1lM?6>A0rhnvILjt673;8Lk^~IdPTXT8qnvD~RhZT;Ip_J&<_-cevddj;Cc(!Uva&MOT+aEt~0ny_*NgRu4TAx##M-m!k6MI!*v_3^|u{K?kDS^Iw3uk1Hl*U+By5t&Pebj;H|AKqwWnZkdX5;;itnZI8fBLhu z#RHz*5QpcM2Lrx-)xUVI=;?W{)BNP&dw2gS>7w%AjjVnm4a-NQTgN4)4qE)pPU|0^ zthVAgGGNb|!Lz>nul=r{{+e8=JASeAk14fBZuv!O+66-?{>4?vsbj~a-*V)qGL{ZX zp3XT%7youv{D*^o^~yyQ|J3}aM*XJYO6iqp14iOGdFQ6YOa6Z24u&jW!tTdjXq&wLmdo+HDtN)tEB{gd z>Mx)D_PL38PTmuFWOC_0j@-R<>c9*<&;7>s#nd1C?8xbzNAffATz`Gh!s&%8Zfx50 z^(Q_}G7SURHEHR+viZ8}`p5zCnneAb#(C zy5WZlk|VF()G+KcnL7_>eDJ~I{Wsop!=ULYWZr1;*H6pcyx~{5Ka2XV#dF>#UEA_X z8_s<4wC&GizTE2n@~`=a|MW=8PyTe-GCVhYu`B(Cn`#^L-D9V$z;k5Lx;t+A+ubi- zbkwwe6`rTv5Ik0JW9>sfxo&sjYCPMI?Ype-g$ZvA`258>C!X_C92-h%13!H6Cv{Cl zcM`kQ}b-jH?uqhu}w-_3b;W5{>+ zm1|b_za7u57hgVb^ZUEMoi}^Pt$`*?0FymM%Y_?KOiag9pKt;&>3ZrL@S1IUO16~- zn<5#t`tY6DU3k7t3jSyZl+zap(#t=l72W6jb#CT}&ZxMHcGUSIe-7e(P`o=Q>iNg> z95~N`^Bg$Of&YjDFux_b=x;bK9lk`ssko0fz|^5qm=U;ga3#`nx=CW=cEG1IOwz4{ z!=W=Iz*_{|0{9-ll;*8durGiC{)K?6fPY@V zJ75VP0!;ayLfnr8+zQwPtB=wdHw|Me0cT=C>7@c5i@1{nyayH&?Z`plPXkXob`ZQ5 z73~-BkZjR^a;^;0q1#7{HXT8EH-uum$i;0n#HmjQ`TZf0Cq| z46sMQDF?9~j{)8!;7s7_4Db&H+yeYh4Dc@n+zI?%1N?%3EzS5w+5jID@D;$nV}RQP zyd3yW1N^OkW#AJMcv%P@D&U=fha2E=0&WEUN&`Ggz{xEbdmCU{CXXy6!ml>KYXqG4 ziX>GV;Glp@fWONC-!I_1f&Zxi-Xmb_RU|!SfcF7TM80%xakGHwG~?F*Q{B&jUs&65ex_oaE*X>0v|HK_X5U$$&A6oj|KiIgn7&W zKPAFg5ay2pe+Xe-Ho&yE82(FEgn3WkPa(`F2KXBhCK+K8`*A+dSY@CAzF5HIQ@X?e zryJm_3~&x$#uNCvt~KD78Q@#>Fz|DE40zc9-(i5a37Gs>KM*kaw0;bj%1A!0-2x^* z*B$}WabQo2@GS`cqQKJuek}su*(ynYHo$)su>C#sj|TX(fE$4S#sCjMVOe?c?cp#0 zBufvUgdfQOUm@VVz)v;6^c@z3zx4z7yA1G6fT>(`9)(NbulNwU$N+B=a0&4B2AICI zr8JKN|F8l64PgA2wt~*z3w*;zlGJE`UlZ{2?eLiixC`)mfbn0VUAXC6EK0w=Lz2D_ za2|Yx-x%Nl7{Ib}0YBIPj|NQTqAg9Y5coX^Gt~fR3-|!=*BIbc0@i?c8sKsPTd>f# z#sF_Mz~2|}sx#=94e+A^CLiZs1N?%3$*1^|0e%xO(NFtMy(?haY)=y~?GpBxfN3kU zE&5zy}TRs{*EvSl<#beWv-o0j3X` zs9f~@WJJL95v6$m$EOc5Nmc_q95B&F-yDt=@FKvIM3`|yP14l{m^L7w^q&Gg&j8;d z;4a`j2DnDRi&9`)8sK{bOg@_j4e&1v@RJ7kMFEc(hQ7%Fzaii<;NLUAp9uK*3(y}K z;5aL%f97Q-Dain*3b+J#y8)gg;Jbmp$^hpG_$lD?4Dc<0(d9`ytR~4TVCt`{1WYzY zjeu`Oo5GPV?A)54qm6G9_*#_ZegRY4c}T!y&+Ha(>ll;tYrs&6k_Wcs?*v}6o22Ij zeC%5EO#-I&eni03C${S0k=Mt7(PX5@LBm%9-UHY&ke8(lc?||kVdxx}Q35{#>5mgI zwS~z7&YO?Jk_3GGLTn2UnBqQ#xHk#>OxWjD0w#NYiwM(zFxv$_ZvfhhfcJpTM*vfK zY3HUr0#EYujDS!59bZBTnEKO~1>6OC-qpjP>}>+3w(u!nqK%y6zWX2|7vYjpz zF!>ej0^T{?BuxC1>6b#o8fV%xW^FJ2AE`k6vbu?YTGm-v6z(haI?JgB?Eo5W02t(sRuYh-g zhqnv3is~9L(cgvie;{BwhvOj;rV(Kt6L1dN=5GajE6V;HV9Iv~^4cfx9b-+>5dmA@ zkfgr}nEJIg0dEHl^c^^r@xDt#-r*P#%W953m8I^vQmp9R~@vqa9rWnCQ$wn$rY+736S^fcGwd%`D() z<0Q!?V47#C5^((?N!kFI(xKBCg986J?7D3NzXbRn33xf+#{|3z@RI_j4FhPYHl;&{ zN*n;p$_V;j1aWEm@p70+s>0L>L+imkIoO;MW7D^n*w< zDDbqoM!g81@(+xk1)PaKXorB8XG6|K_#nbRDe(6}Hl7jqR^XcfQ~LDLz*_>Q@0~vu z;SXSD6eoN!`m4}CS^-n|Tfw&xfQb*Mkk0o+nANYscOhW1@umyd0@~&Qrnq!k=QRSR z4b<{Qm{XwbX26uDhBUnb-vC+KB;Z!~-?j^w{3H(wxDy|b>=tm!1CsOy0b535qjdp4 zkGO9L*bLkFZ-9xOX(+EI@Z^*Ehrq8w8NU_qY3O0g1)L8p(DOqCOnUet0h6t07w`_~ zu}K2X13Xp0G#;D{nDV8#3k9CWp4aPPU~AkW;Nw%E#|7*`IvWAAxM;t30VZB`fLA*N zOo!Y(s)vVOdP=}FE_+tM%TdNg0e9wLd@W$|O}!!D`wn6~hJahF;E#aGuI?0YGUVZm zfFHJlHy3hxPJ@PFfJx>xqa<^6Tg6i#48=n!}=J&6t@d;e=6{YGbHI(0&ZM@eo(;Aqklgn z;PsH(BY-KcbREXm0#Cld&j3?dXa}n0AktG=?VvbeD9$}(@!mBrO^`lL$9>2y`dIHRD% z>vrR@w7A$=Tv=Y_EpwGjlAM)QvbVCrS?0z01kSR`ic%nal2czU=w!W`XYh1;Wa|8ROyb7ybKG$uM)93NJWoJ<(9nVnhbs?X^k`iaJ zr?8^bB{_@y-m(&BwX4Qe?Q=PO#ns*_(8RIg$y?c*0NJ%(MiSK^(pluKz;O&tHwx#h zLVjibYTVr3iV~-{1Z?nvH(*Bza>fx2AKDDt#KBY75adwDDoGtbrBb00DBJv zzdMnhYklmgunauc6BO@?D=Ubu-qa%73KBj!e}$K7+3CSa8VsT5!x1c5{hg7F3O}7n;jHHM z&?9$NE>Nr|-6JR@sFy(T0=i1NiEvj|ufxhyrvXQqR~P$u7!mnk z70?N!(^pvyVG+XStSF?qt#*~V*7p&-vcg5e;;rz4uNx}l!u8I|iem7+8e+$vWnK|J zxe~ZF{&Gl>x5DSDmU}-qDnkgic^*V1WXmmi-B{(= zo4^W44q7Bm4{$ygfy(}9n>cm_9niv%GJA|Ro<%J z`B%FNdy8V9X|5~u_RgqS-q1&)KAAYti`K#-h+1!~TK}*z8>qdaW|awZ0Gebobrr+$DXs5T@ANRCjK7ncwH>Rd)BfYOmZ|03l^K zl&V)~sD5@V6VhX3^reD{j=u2JF8jhm)B5~nvQ!GikIu7qo`q%T4!Mf<0=^w$g_EYl;Ic`Xu&&Ch z$|p^goavHAr+E9o@$y1+1?cOXFi9%pN{~enN^!JRZ+20;u3VQvCgwRd zrH^VA@6c7jrYx*3b?FaI=Xw?g-D00Ao7EC)LPgajOn4EpZ)v5V>p&j6iJ)Zn^(F^c z(Ve@?&?j&UtM8WMu6B{y?VW}f;?_qO^6 zjkvw*OWZy$+AnJdkRf#XOsXnN(5KOuqk`2k_)X$g0;ZS7EPmcRC8x3Hp~z^vC2mN# zZ=Dy`3bi#dRGek5ic;C*tPvv$Xj>TPOopj8ou0}{WW65M$IWzbjlM4mmAl_UOV6(;uD}ug8i{UB5fc2sKbl&E7`O*IMzK6?$ zdNIH}m>w)EH^LJjjAO=FW&|Pye;Fe!HrCLoM_0#l0hgib$il@Pj1(H3(i1Ed`J-V$ z9arHiGr=}rm8;n6-hh}Jh+HIq|IEf_0~WH430DOvVm!hC4Nx(x4xI%wLeRO(nZkz( zF(lLf6up%5+T-$9V<79rXbfE9651moAN(NO;zD%g(AWMVUNtVX%EE5qSUI`8P+%g7 z?jEjhs!J*>aH=1nAbk8)6`oNHm%9-C8WghLLqTjQ9cIf>{{ZtEi3mdmQBY5)3s!ex zEDi|}qU3{My2S8UFcqT_vbA*%Wr$${N?TT0DEqwByx0&By)F`BIWn__u>mgyJ9-TG zXkd(lD_rZCXzBHbRsdqTXF%_UKn=_RpOcyvl82D3*BOa1PBCB_L$R?cRWPa(mNl9m z7ghF_#E|if^Ak+0Vp@cC@ZJhHvz%_KE-M1H$YDL?xWwl!aZ_^6o1i?==MxC+uQws2 z!Ma^%vA?<+rJ>hCGsl>TY5?1bp}bWiPDL@VHK;3pg^z12^ib|9^pKQ9uHIe^l?1a` zAIs_EWtI}jQ@O8{YRg+e$`A>V#Zpx0mR^tGpa%U^01N7LZOGX&nSYb3nl%6> zg1WuUN?Hy#g}cxTmlnCL*ys(hnWXutr$8CH8+m1EbzwQ>k)MYlz~Ty&$SX4y)$%mRu9Dxjr=8Y+ee3-Z~BQqWxHE$0nUC;29(X!Mqjn#K4M73-4yRWzic z&yGoq3rkUAa2x?x`y*=r9>{JMuu3$Nd=8?->nkRI62#Z-_rV5Wl>?rLE)$(4cao5T zW+nnk1d#P#d7&Dq@snh`;fyISgxIh?SoT&?YvYZ=md5Q8eLjieJpjF1YHn4|FQ8}|`4fR@uai6Oi ze5@)gMRu~@aHu#sk(`&h(&bOw!>8j4naL%ZUr||M#ab@nf~9UQ15kHDCU}>KSTMQE z(f_cqAx6+1NJ?orCzbcuY&bwnEEiFkiXj9fo%gZ4zIbr%KtSa%PlM#7Au{;MjV07X zMGw;%dShL6VU-_Z&3u0(Ma<7l^2J(0k<2Vy?#~bd2iC+$Yf9sszc^-$>DNxG%VqBSKn$;SU~ zl}dYLSSXeD$j~YEAWtflFeEdms3OGgL69-?^YD2N{6EeCEIG!aI9ynBdj9V`2hMZg z|1A#Sye7+TQUF>JRu`|4w6$2c-2Rm`saPtmspzzn{Enl3w_$CJr43}&PTzZvQqegM7 zFhHfXUIga_`loHY0dALa_=OpvH^efh_cy>fNcVO4$&O{@1!hd{pdWHk%t$Mp z1oi|1fwYZ4-mtOqasnw7hwZgVlz<^-ad8Gc8e`kjGVJ~P^I%J7OvJh~mkf@P^+T>= zdm3eZBO|ng{g$&|H~TFNh^VDR^7V{<_JXMIQEcKK;f$OSacgEw6#g*^P+B@;qHjYv z+%9&M4-iWUNaFm)Dm}xhQn0~Y36I}Ic<{XH2ZLrxi`|5kJS|v!{)x@mmOhO1Dri7%M;Hd~vVL*CG2#mVGhHz9fxfx^px_hC1~HlI#!(v>o1f zCQd-M|9Sh-Qx{Fg&}0O-kXjGg=Ks}=p$fieuqRft)SS>D{tvW=^X=gOR6Foua0aah zHO6#bw~qUlY7I@58t#9r($F>iXX-3%<9|!@Fun92>KnaH(>-nDf1q;=Erh8TX_8O+ zP6Yh-bM!)sNt5#bTm8SGKh+87Lye97-=@CMt$g>M{6A*D&WZn|;&}&kZtbIU0Se;N z!y?I_QC0$}f(>F%D+4f(nokM+xR^z79f1|}Q%ygx${_jlvz)z#&5^dz&%jj#uBV^d z>1P8&j+saKv3?AWl^JRI=!5Zc3B5#LZG5%Rj-^2elm^wl!~k!kG#mlmKL*bIH~}7} zi2{dD6%0?Y&le>25kq$vcAgWqOxebbbsX@7vt8)aoB$oHgu|V7(W|*x2^QS^m+qpQ zsc|>mnp)%XqEk-+((GgKeK$ckUz9~qhtZQV^NuJ>n&FzwcTgsEU;52BnAk!m;9Bs^ z4q@cygCg4kOTKmszI>URr|q^Qg@ZT|wg_JY;an|t^yVyeWS4?O-jOeePFblPWv?ta zrev&oGm`axyvCxfp@{p{VH8lwH!D*V76-?VgaSCxcZNDLVn||pEQvAQNqkQvK>J2MXY9U7c< z7~H`Li$D(s>p&ULx}iCNh^D`=>%`6a`J>24P&^JX2K1d!i`|gW@vy54(LrZ(0!5|2 zm-a8u&C6N5j8{Ib2x6bM0Ju`RlKmDJuVQ~B11s}A^u@k59hE`H@tRR@V{qVkqUTqH zPFyHT>hJdgeZk+J@WLN)TdC~=JC*(6?4&&Hx7dF(|X(ohFnPBXrYPR$7-^kpn- zs^(eK@GQxfM5hv<4P;epp1vQasB+9%e2mCW!4A!usRt!MJBb%afd^%n!+Ox@)I}7c z(HMeZexrxDLE8;5ygJpyh?vV#9ul2OfL7oADqm~HhHD~!PO3LFiwDo-6y|GX^Qi2E z%-41Tz9C<`AGbB8d`-cpOrZnzx<)!G`!6_z6m>IBkC(~AdPUd*7B;m<*lNAh#$2he z`P!FryK}var!-omG_>zrdAt`84-|fm8&UXC4pG=MS7T;5LCQ=)XuXKf07e48#f=hp zj3v;kh&e%ux0HvyQ-r;}kIdW#eo`gnYayt?zXQ`m0+gk2=U zk}MgSiE~Ylw;wYoPrH%YWOFDQl@sft@{slo9vj8H12NmS zQV1M8e*ruYuS4WkYVGXzPx!@o(4n&?yfSIO$78-mvYoH}O1zrIGLQ#F8KK$_8QP4K zUU8xuPKJ&i!Cm_lnXHLw-=9s%B_pH$D>W|=3qE$)4tu?6ug( zHm{m3puw}fv=WEi(@If0Es(}74WG>kUZsLp%?^$Dl<{TORO){MX`T!5Y5OkfRHB)C zwG%9N=vhAwC)F14K(+7SNI4b9rJAn~o9p5cJ=EGY{($0&uz2b;I=ykaGS3{%&|bt2 z`#7%+d_N-N#NUWI&#d6!#-5qVJu@whWx9+d*lga5Ja953%QWSBeoY@#r zW)29OpEl!ld;;qUa|W2BnFF+ihJ5=|zQ8NVhBDl3=srb)eUD{13FEL!mx=zvNrWY-n6$rBc~20;!=-H zM_?|@&UQLhIkKI3%Nz?9uacItg&Vw`)0ue939X``HYc1$hedy$wxP)9?~tI~q%U7! zO5lJw%WtuT@qImn$f}y33{IP9t0SQbt~Zt0wmwELQl6Y|dm%0qDUye5wuB<{w@q_YYKm|dxR$5AiqH4eVZ@mm_gN_Mk4UX}&X!weoHB}1?^Eshe6207X8P}@x zz()yD`Hn6v2?ggOl^7jJ@ATmPw2yE!uY&X1xkx6HW$-tdLjIpFSQL%=HLiH1kBte8fw zRRlPz2x2&ZNQ=PIfHW}&AMCD&Yu!6#+Eut=`Ko_Cun19AT5naX+pMbfZfn^3ed|5e z?bds(Kd}DLdY|=v>yNAtSa(<-wEo!o6YEavL)M>Ke`bByy36{Ab+`5B)<><6Ss72y z|D5N*c@F$v%7GcBd~1j_AI-P0shz4B#{R+1D3WSOohXevBE3RPzV;V zF@@3@ir8&i$Hd{x+o7RIf7{jz0EQw-^2oNm*t{YXNwaM|%22hot=POmYI_i9C{L!Q zZCmfd!*e;LYO}3#v$B(G2GHQ@!Bhk}Udf(IJ`PSR17>-p+FyM@oMVwA$tSeEfl*2q?*fw2IMlXmgW z^X6#gcI{O?l-xg?2ddQr57Wan=WMrtKT_K-5(jE0~8uFh!-p8qjgyC7tJ z(AxBgk=B1+=l|MvXrrB}=^Wy#7lyvwXuIo07(LOkPnTSby?5X?8Dan5bzOl`%YQn>!Um@yYIpXiceGe{*-zn~yhIDk==zSIN z>kWB6YzRm1>D&Rj>sJb%J*8-2+J|WF7#H&PH}$Xr+3SqYwvswaTA8oCf-wmsdu4R$ zalDH9tlHC=gt3}@*0v|09Cc%rz_!Qf7iV+Nk>mlvIZ1NjLV*4+l(XYs31^$R$Kb>K zr7Jb_WZG+einP+RjfkiN5e+mRY?E1%LLE#cmt+reX2!@N7bcN&S&SSm_)HCvBG=RC zI5&;R5WPrdj9w^>lT%_vI>A(vMEa1ddRzDnAlBgDE>f=1%pKbF4%QB#3n@VD`)$8N zh~@-R*(~p$)2}*`% zG5^Br^aDY{)EQ4cAJB%n(!1@~+OT6I0-fM?#I?=CNj1pTwjfPy6T#GDHFwWi+rBco^m%Xi>tN$)gZ|!*eVI z!yM`kv7ACYZw$dOztThK^A7s7&%JmdW`u6gw(@x4oK(@%ysxv%I5|RYJk0-0KvUD_ ze*j|+;(pxLm@#j{T2Qaa5gsp-hxLlE1uSgOnV5ey|8seFu9xwYMvIh&_MIzLRKE5C z;?evMZbacnjLAK7H5M_4MN$lzJ;M|Dtw`W8mO!r}@_0*m*gHko+y6~wBnFuOL1>+y zOLzhfk-+r6Gvo12jpy?}BJ99_lNm`=zV-wn>6yLD6F80=v4&)+kI6e8ZygW2M}&Qt zh5hGjB;m~0<|DM8Sv5~!tw_MxcV;|Z5)V5^gq`wlG9x+9*WMV{omm1;;9H=mWS?Ep zXUTZHhY$z?azunZ$int4S*hN3rg$`{s(j6B$m>BK{|6%eoqgo>JrQj(4_YdM^7)M( zS;<54wFrpM%hv{Cu))XLn6f&}6f4tjv=m_tXefl#YwJ%%qgp@wHt7lKd64Exq2GwDQ<{n^xHCy-mxFy&tH}>-B!1Hj(3+ z*`kpoP{fvvu(^QOVD_?=BAy^j2~UJ{3z<*kfY2Vruu==Y4>ptc_}3qk0cF>xza~Vd zt_mW`8I-|O0!VuVmKPfula(v^lQ83XCXK1?&@7G`=;;R`&>n>y2!+lZ+>DAvLM#n3$*5&(P^%*$649xI(Jn&>1rtE*iR`@7S`s?o|eo zt-e%y81(IC7X4Imc`&0~W$zU0-sj999HfLcnkC!T-+*i^=%_#p;Ia}ZmMx4_2)hbc z;l@w-ZTv8LH-6tTym*(Dku01Nk?uem`0S$WgVQiY5uA3VzrWHnPht4E!1+56uOB5i zkfqb4w5Y=<(u83YYy9EeG^&dF%-RrU&tqyQkirf}Zyy-iZ(-EdEyHktAb&qK_w+&Y zAQR@EEn2~QKs&m$dvS-^L(H??{UL08nw9fUQb*D>UUX_E%B?-!PBlt%-I!eKB6BQ@ zy|&%o7-}^sjz}mFk^EP)m>Fc7QEGwjA-mwrL6SU73~=^(#!#((jw*ubEHbTqOB;nb z-pg{jpNuU)@JDkaB(BG;!ivCTN0R5n1Y|RjghAtLIEuCVz+EENdn#F_H63J_0n z>$l`-m!kwL)fJ~<$%iusuhfR)8RDBC&b)f1HV_Ypbr8c`Hn+(O%FDxaigFy|!O@i5 zK`P%$&4~l>jA3nBsDt_T{g&YDTEA&QaP}DdD*mqEY#M{l#uywp8iQ}b829??y2s7;AVsBf z0+u>J3+dx#<;|v#;-Z=Tv_w16M9P1l7~b|{V^4hm{ipV2h_9y>a42Uc1iEf8ru3Jl z50O%$_B{M+Jf#cuA?*dhnf)Yq400~$k!H;EAZ1L-Oh@u0gJd764y+4Gt~=sSc$PdZ zAS$6DVuN1EO;N5Lq2{J4*V>i%Yn1%d=oB@3MD(zdZ4T#IlzjZRD*NJxD#=QIa`Rk@ zEX*lk*Rb_cehcIiej9a@b;2f#5{Y+Mm9Lw=jt{SnD^Us}>Zq)O$fkHe7_qAhDES3u zr3o|X%8i&$kA%$wlm*F(NnMaSHx!BAGzyVFj$>=7)CCrG#CB!%y_Rb>e6B>`B5IGz zXjJx1e{+)!@3xJIt6!aDnLqu_&7X#vEXsA3c;vsys;_CH@~bPXYAz;B(3{D&>HDh9 zS;;m1)VX-{e~PJu`}Zk_(Wjleo^~MxA3pscf~VIEQCFGs)P;5sew=lS{txkXsItzg zth1=e$_>fNLUTL16pOM?y+ zC$vDF>>@CFxa~DkHK2ULz_HLFSiZBNfB4BLDoycsGzB`WQAdY5G8L~>tnBf3gw59} z`)IL_bvPVEbuZcKj-$0l2acl?OQE^NJ7mFvxljHlIc7Cb7sr%^%$NOgIf zIgEuE@^(u!A%zuyvX14#bMK5d56?oG{S&F=SW}`}LniBR{b5PStSlLB7LSS?vP1_` zTD=HTRzy^59Lg2?s$b2<@Q948kuwp_Uj_H->LAsU^7b`NC#~_rsEQyN)A#w8s|B4+ z??dD|#}A~y%JDPD^F(No0TyMMEGUI4n^4N_D3pl`g+~h&jNM@fGMdJZWYv`0p$w#& zYHL8H;*ZxWdw|h!w3SyaXNjm;N5>-6d3*wqrdJRw3??g_-Tu?+>d9DC*LC#$ur(gV zY@kn~={d3}D`&FVR(C(LQde{`&m((zG&22o%^(4)L$aqIU-uPNE3L}I3cW=2HnUP~ z<`NUD6xemmW~7X9PfoI#3J^^ovE0Jsk@D=$cs#4sElfBi%%~}y-KEIWny@CV?P(;? zv#LV1+tEo*Awn|HVw4OBn*vG(g{Dh#f@)G0nR`Zv=4>~&S0Nn=jaW>=d(bNgRgNnA zR7WQa;e-Tgdsrt9*Iuq=JQ?Q1C?#jOMa_J*jF_C;iJW1=nPZP&i=~@}u&Y%JTS+IZ zBx6k%ql3!lTi&M(NWHuxr#wqs8UMC&G+%@WXHJQkbD$gXn-f~<06``1BEZxb&k$_b z^bi!yZfY1@TP46txw3aKjFzTSAni4Hkr{)UksxYmu7%&2x^GS(!K1(3BudQ*SKyZ_ zkx3udo4gMtTj)}&Dh35i zna;-frgxOXy<$w?U;PoZ3@ar~Q0Ob(FHjwp?uLep8;D|3W)yS{rV-kP_rWR7fR)-6 zc&Rs%E~Vw%Y@tG$bM7PsPyXOO-m1e`9UO^g_i)PnRF_R3Tb1Q^CM%4|G*XHC8U)9R z*#|#%GmQcN2A@D+^$Z&ytM#7nTUTnBh~xfGh)DmHe1lMvFuDK4BzD z%!b4*`x!gVTC;T?W9=_hOmvCGEPqcez(RRVjZ^mZY-i)qH7lPUrB%C1&S)rnQW{L^ zfNeD~?ZLHVTRSNCP@B=dCZWKxQ4DHrTkinrVm<+DhUqzxT5Kt*?`fsXLZ>jCf1 z1Q|-s3l=5kN9OiC5M!X8SuY4|2oID+S<+x(_j6vskWq%Q^p-c64fe-(V#RoFywMaB zU+Rqhfcqh6VUm9^Y2y1aGX%~bXG|kg(?5tl3wRqf)3%?Gp;;Q!3qygXu85wX9DYIX zpgwvxUS3#OXDRi{iqmNRb%POh3vz^>ST}-FucdnDA0f#DfM{F5vPYd-w={7PKHXG) z+N$dTbe1}RoQkbRxcoRc|9d7e-xt~2oSF_L#{c2wFrbKhLs?`!thj*-;%CI zNi6teXBZqWOspRQ5KV5Pzli5gY;SUX=CpVy2~zwq`l3zM%{Tl0Di& zH=>8643>%v%=DcdI_Swg!qp^T%+{XNjl&=lS!_iXL~8?<_>w)KJA+XFgf1XQD@Iuu zBXQr1!@^Wbp7uVi&D}>MKx8#kQVyq4ZOHu+$e;5hWr2oJKu8hI`Sc{!(O!HK==8JJNK9U0vz( zO%!iwCLzWVj$l&mbW zDvK-`@8C(zga4*Oah!tBVG%69oUDRVK6q13O(-~pZ&$}VIzoX?_zqP6>1~P1n^^78 z_4%*h{R04$@@CiPKZlmWQ`l;vk+kDfI0fJ6c1Zr|%z;0Ea?G=|ucQ1O5!DiU58*o1 zMP?W+AP{k)Fo!@;ZltXm%8P{)MUclqvw>bl!oX1Al(_~|2B&D`z-bd%rK`fXjK;3deskt^Sb$qiVamVR5!{i@GvRS^_l6yN^02rA8vHq!;?TNn&xn4LSO22q z_(ds7I1jNy>r>)wcj72QDLk)BsUy_%!?ruACl1e#SL&7k5xyx-IXqXXTMk&w4Q?~l zv!ZNczx8o5(>7la{3DeICh|3i7@UFC$@2hE;CVelt6@r{-qa(`5Q;M$ar*0V;(Fu| z-y`%fa4?vK(610{DTjDtXf;eEpOeFOibFZvMR6R#FbQK&<)s76;)M2_RaQoN%jgX4 zGiTjTEV12T#;?lQ!`>3IeK;kxEwz4l@NC-V{#)OX^H6g6+WApOkVmV2*C3@r#7I#6 zB&eZ%@r)99N`i1f<2jB!!%PXbW7#n!!=nQ&#DQ^KWn!nY^r#IoDL@#^_u00Ng6)Ke z;euZ)56K|1nbC|=Lx8)2TX3r@1DX(sVtXMuJinFKGGc`yt890zLf+B;kG*$+i?Yi9 z$Dd&a9Pq&z6^+cxRNfFT;H5+)Q5^51D1n#6;xaf80>M09(t)vojfbbH_Pe!RwzllH zZQGW$W@M!x2HI`WT%&Z0HESOlDl$`2*7?0Z=R5=BrQN=-*Z=?f{$8)I1JCoE`}v&P z=X}oRe9q?#uR1yhS6$B>0dMzJ{1$2c$@n&F=7;fp?-x9QbbiU#xQN4J z(Z0cP9+=+)Z?OB%nNR#T!f!!-Qy1WNWqi993c?tCa}l510_ktj(t8o#;c#ybO8;RE z-sqt42ABm88;82Kb?6k_9MYE6Z8o%}cbkoE^T}*A8!!mGoQ*2QoHgt zMN|5wqP@4Ey?xhG9%mCOMk%c26)%PJid((27c|SXswp+|w8PIG6{GbErQI1O~p9$p)C^KtMfTk)6fb^K}SPc|%Q@r%<28B6Y0E*w{ zZp#1$6ZpvUwBG00Z{|pnti`;>?Xt1{RA$P419L+29x;WnF14`DlC4zB#i2*ksaak^iI+_7@!se zmu7G?R`1|Ly5DA5ItOadoAx9FQxhKbVW%-rCe!QPu2%)zg33w3;|>Lq>g{=(90XU$ ztGen3Z-deOHoXOB*qO)4hoeS+i6PDZ8na`{BMgrzvH|l62alTHc`ff&iL8~&`YY_q z`<2!Mo2>f)ChFCR_%SWAb-$eXev_4P)S9eskzZ5QYWV443cwNWx4yLy^0~h5;*a5( z(wZJ?LFOAvGPvBCC5;rqV`FAkh%8u&N3#lrj#rm z>suiUc}zD;?9~;FZ}{rQ>i&QvPR^|BDMDr2IvoOOy&Oj0Sj~)FH4`8uyncy0K;_v` z{Yepgd;sYR{@19d`d?$C!fH7+jHHl150DdBB+IOUn0&1KI8{&lp+IX=(_@3n5P!&b zO?9)vs+3PaAV!>_Ok!k-d{%ytn%MI;y#;L6u)g3Gqh&9-Kt6UMo3H)V`k% zy9Ftr9vE>d=uDN50uT-PSu2$)qG=UIO)#>88XbW_?k2L1dHHf88xZ^21SCYIaq0H)CZO$HNq7Xtcyy#(dK z5*XxW@3YDH^4$+wBP9*4K~~OQ+vw|W_9S&_cKZ68sWy`cLl9FN`Z}@unmioA_8DMb zp25~(PORxZ?t1YBkmG0N<~6rA1iNFE7S%O>qmg-^`QZf?0O76kS)g#pI*Knp-hHvM&KW^= z`5_lxC@7+QFt-hN>mDL4+m5Q8!?2W1k8Ow5!CB4E4zwA?|}fO^ovQ`9aBqs3vt zJLH2uJm-w~?Hu<;prZEpIv$5Fq_zw<2JoJ|pQi;?OYftvP}PHh7KU~4D*3bcqbxka zQaM@j&Lo+Y{04H-N>1lPM#?`>g$xWh16FblYYY?S5YTR@8IAl!}VYEH}!Z!`s&nX76mB-+S}bU@XcX|Lccm zXy=BD2~gbt64sMgFF{>g*o%-S07_M)oCr>bK)wzI0-pg{A&vdu- zdypAfNV10IqrKu#cftzEA~)}e0Kku&q5TEo-}HrG9fHkg;VO<2SCnUv#+j$9hZ{d| z--1G>)n1E;7#_wvRI&I0R_-qGOv}?G@K#Is3V~=O7;A}2`@sEl=eSO8 zKGVYdZys)xKhh5&zYD`TdvT;^i1|qVRBpbdA+45Z1WNF-SplAyf9sDnNvj1vgP8H8 zAYuSD!=*`a>1G6@@LrqP9px8=hj2^?R?T2yoC%8iv$>?syqU;n-ga@+)zgjcX%n2+ zxUo4l&@nw7J8;`UxXadKK-M1DF+m#M4G_wZZl`yJ!j<%9 z_nlB%76C(J$b{~I6~(&*Oe^4bryo|N7RA+!!4ou1kajo+Wvj-5++b`aX?orn>j}Z_ zoLr#eUOP}e?sY9I+M5)C8i*IpHBu`W3E*kvsv3{()f7rSjfh;<+r0LDd_JW44MW=K zpF$11ELDAi7LCMtM||)jxjW;`FH=1|ek2=vnf}mFON_)zTM+$`cv;jRf42LhPma;T zT$%tMLvcZA>=M9YWrHiNmN3zON}C4mzZ(y|g3=%)cX=47pT9}twU&jq8RHMJfZ4skS+7k?ULJ*mj5a}8<=L%U;#g}F~+?nX%I zLJ){l8eI?`r@ctroQ2E^q~O$pRjQrvBj)OsFknJ3hwz4Uf?9<&0mcP*xpKP7$9}skdn*h}AN}#KZ<}yTC!2QGmHl-O7DYLo@xh zcHcADYZrzmGq1dW*Ormk7VmLi9B?tx9H;oC$=$@OhJUKa~MEQO?|_WMT|Qd#4YRU5Du)EU`tEDfeSM zCQ66P^@?;jMmkI~nzhP+TpFd~US;)OuoB;wGn+lGT0t7>mq2a4@0VKr(lIr>59UG6YibT2G)w7%b}m3wPIAdj*S%Hhv4pVKESaGu1ozH3y1CD_#62 z%C1^0qiAZRojxqC_xr*LQdVQt&4xH7b6+)Z zJ+8x8YW)Sh2kqI4E}(&QCm?{z%mslqu4EI?Vr>gB92Q zm_*iOzFQC`9(iL?j?A&F6y}}B35bLWG+=aM=6)A;Gxi6fcw81xXNr~l7Rs52J?H$+ zsChNfifdo>Fu!e|--c5Fhf&v!!g$3B3hG6MM&shCIoOz=j{bw46F^~$Qgog=BScG6 zJBfRg{=RH$_F6lzLO+FvMszb;Up{-T=^^M~+gEj< z0{a^K2s_XSBRX*$Bvj8>2Q&VLp)o9$)JZi_0D)wA&FI$(y^Se~b?^uyrky03dnBV5 zBZyFt*QUz0!!!_V?btG*h)vdG{L@MwBrYI5$wCH1g?7T~uIJ5Q3CoM4u%X11Q=%2l~x^k7fq-QTaU5Bih7y zL*twfi0rlNY*c2-#&0{;CgV#+j@$o%AtYP(q1v%)?{V!jloz5PzO{grYMf8zsAUp& z#ReGs(NW%KAOp?V5V0L6VlM0h*e=^goFsmF8i%+61M1)y`gqNKM{W^>>ct@%KwO4} zx|V^eOTe&_w-_NeYBb__2sYdV=Zz^m5JIqQT_-3+(`=)0%T__?@ucW*MgKsF5TES< zMr-XLnW*Iu-`UsWY6Zs*X(Ctu?5&15tgfbM32{((M#p|xMm#Bq(df2pHRvVGQOLk_ zVU>hyP4BZ@CZE>edLh+^D@H}2Bh!~~bcVX+CnCKDdpbiTuq->M|DlV-UD^oka|xu&)F5(}(7e&Q@`#=q z?2b>>u6I&I)Ic)TI6C^J4R}F$f4%`JK01Xnbh{O6x$XAqF!WN;8~{7k*9-4)XEHkq zLNGP4?*BTlPD}@rr{1TyMBVKB46%|~miBqYIQg%77lw`zdN*5=z4ls8nsR)~&n{wa z0=_IW;DFjwAiOwLrRWL{!DNlDh6MEGgpCd;`RSbs+q~^GZ9QDxG3@4Bm1+YSQ zhQG`RQs(b~Qcj_R2R-5~LOPKItJ!Kh+P_}(uQ&4W>T-kz?It(Le+#%1gvs1_S!()n z^`77$2LBCO%ppNR@-GQOiJS{%X|qJ;@({{GvwpF8DZt#x97NPpCJ1#l@0bZlFvT*l z?l${3i2e-$C|}_zVQ~y$$$$@K@o*puUN>rMAYccCl>8eE{u?!Di+cisl;}`j*8{rNAv(FU3(O66pR7&RiiquTOZ#ClZM$=pl>)GC>dq*L; zwofS#j>E04qO*~-7EK&*8=3DTOfUbn{yRtn9+n~EXo#t=IxmYS-?%?&+1GCp&r}ZmZ!$NEfXBi{d0+pCb zJJ>N{&FV?-~>52U(uH70aNM9C>)21W`m#t~E+X!V3f#;XJIEaZ6>Mklj$Nm_{E4I~SMQ6@s8JZj<| zI|8AABZN327%iAhddowS;p3yunncc0m^@@ETv&OG&dGUObE5rclmS$ea@uH_RcRuN zBwfWJX$5J^3hE5Y+qw|7a5=!6QY<@=eN)Qtsd;D<9AyHBF;ZZMW;gR@4M>{zv%ru9-~)(Ivq<=%3U!H z&M@!fINx7r&D<>rPZ$J@R$|tIvY$OXdR|psMX1LgzJ3rCv%C?3s)1zJ_i_VnA!tV4 zB)KW($(_}o)*TP2{zQ1U`S@t8f2zZvXc=9$0e#h=F2tBerBFLi-=#DG%VSE)Ugw`M9_!Zf3yuGU*Qa zH-7m*j2GmoPD0_aj-)aLr6mG(8I{DiN*B5R_%rTH!Fpuj1LaW{VnqtQ(7*)&cZ2#l zv#~m4eFC%sL-jcINaa=rP#ySY=CK|Ek>SVcFm!c!vh{qP$8{d-C}OPoAg%=br)foi zAhY~WuXO4SJqpqF!?P+eEx^Q=9 zD>{2~UX0b8x7B41>2mcCs{OWA=+pR-mtS8#8bI~~mA~y7);`bU-9`&EVcTQO;Yo6! z>5zc(>v27XIj_FcVA@$%-x|I3E0k0SZ{%rQC4XPv7A@}=-52`SSk1#tb*(&(nc@ik z@J0#@F-)At+DDk%V71GYYf_o{0R)l!Em0BDdu(EuSVMfPTy&nfuelgjXN9&UFadd-aR#Rt-6RH7BcnN0g z%c?4xME=KkUB`mEgX@%6>W=8eWed`=Kr*I1ndb>@nf9c2#5Ch}g|m|@@;zsVmD5Qj z92C;n5}v)SKsHwc!K_oeF;4qOt>IQeI_t2CZ-IaXI|y}ZJ(k%xtD(j~zS!0tW9uaO zV-h-6b+%K9R`Q2rF)>;?^W+vn|Cf~I6UcIT?U16TT}swo8XuT-tczL-8$rCo!5us- zm{|)-7vQ}TUgsAyUw3m)?;zNDBCN?$1IeJxW(VR>f2QrfK**l{Et!MyWhk-=MyNlc zKLoY)KZq=1{hhVsq+!RQypd_9<+2@qYOeaO`RslW?D6 zt24b0AoiJF?`wK_uQzI#T)!21TyPL`(S!TzRWw|!Znk&7AB=9>KJOhNSk%w;0NFPp zCbQP1c+Tm|{}_K1%X{VK$M@HNZPwjfwI9M^=fcW;$Tj_x*LpZlG3Ln;5N!3-8CZmG z(I@+iQzUs(8S0&NrNZQ!aQY; zyDn^7I>Hp(wl}~|0~fSIIQnc*yPib_Xk0;!Mc&QOZJ{P6QF&selKw&r4e+AbfIF-a zKH3HYsV>45Cv_BK7tui8%oAuE#hBQ;wD*Qto`x=Tl?9u=Ll7!s{2?s#yqWvG*ekK^ zQ+g*Fadrr7@^Gbh3=SL^u<=fPViT6G`(}C0>dTK&jQ!rs_YaOfqo)*{VOxphaPzX&Cb3ErKo93y=D%+tDu zy$;Aoan*Hqjz;Oy*Wm#Gij^mr@%PxO-7E8qcv9zr*e0~sZCTb(7qv` z^-Wlw!P>$_vn;Thr*4X@CwlWe|0Os^VnAqzrg~t&{(5l#?A_fzozYq^VF2{&>4>;X z2+Q}FKtIqSZ$>ETkpIQxs}Pha%hN(*LYvku!fQCguFb7Py9OhxtAo(Ve?iSCh#I!Wni>pZ-Iyb)q*Vf<|nwa9I|B?If1T%3WAyUm1+Jd zR4D%xDj?sDQ$tyFmg)t?VY{a)YLTanQ3$OKff~fQ6(wEu+7Ac%Dm7OjgonPa|2kS* zRZNgoVBP6%X(X*FE}*4{(U1zpM5J|xf=8pRuVL|E=oeJ;ZS7QzJPc;z;}von3RTzE z%e3==_nxJ0^mX~&`m-RX57i$Jkl;r^4P7OlssAoo?!1`(u71~j+*Ehmz%r|@cmHE! zU7OzcE{h+awU00YnaX6WK1kmCFQmBL$9vTs56zR+I#qAnYudRtKy<^YhqjJ})&fRx zZ)Fs*X=g)ys}XKQv^U6~*MA3XFc%Tw7&xd{FiqK5&~)z*PmUpgceM&0q#*$eb`w=` z(YAeP*0xBh%Wh0DKnsNWjM(-T`F}(8$o+9~5LjnC#JhE0Q|);l2qC80*0bjktOESP zitDw&s7#UP@F!{tVOt%g_5?G_%?EiIx(h3}pfwT2++FcnEdY33U288bQ`QK2V>4Ne z^1D>cp;|SYsorQ!;yymC?zlcr{t157`&mT?)gav6{}@)izpho!5fKU!$`(z$zQeKo z8DLNG`W)`H9!quTZl)oCdtFcfI#Z8@Z5XG&L0f_4v0~+_#~}}b&D(C74WjxlFK>}n z3ogSi2*)bx%IiuET&aO8HE^W{uGGN)!!-~M*r4=CxEZw73OuW^n|mvsSFj}CfhQUZ zqH7o*mKWj`F!zIh5}4-1P=5%|AMpGc&k1bJ9LC;S_155!++5-2I+Mbth6rvuwt29@ zQjIVDh+d4FAqY3&nTIDEPbr=nJP+V`2~QoKLwJtk`4*3m3|=Ch>+p=nGaF9^o@_i$ zJRUs1!SfWJzu;-Ya}-ZIo^yC2W+E=033#k{ZpL#Po+3OIcpky?Cp^3He2izb02t#Z zPMSRBh8w3QWM${%+Vg@OX3k2PZJmQK?FdW1sk88G<=^@E4u+k6arn{Q;6{bp@qYMa z{h{d}-d∈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%0A+#uAr52?mknt%z>!!` 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�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�lv{9?PR{hnc8J zDqhCXVv}L9*d%mFDxZ!m(<3rHnU%ky1}e+?SKwB-`{qiEq-5*Rz?Zf8jzm2wgIiFT z**LJEFx=EHUdXj4h_YbuD)T)$n$i1?4DX{d8Uhv)u>Kxckc-qR^RNde&3aV2@I7z{ zkps60xWBe-malrrVMb;V-P`F<`+wJDmI|hZD7DrSBczv5D#b8s{A}-q!GeY1t$oqR z`pxyWsBM4ix=C7RVjd(033goMyieaqd;D?n+AeeM64fdHUsor+%`&GiQOF;s{aBNtz-B9orNUk%7Td(B<6mSnHk@inV2gJHNKOrN>c1flVZD%vz^ES zfh_0yjKho6$sdQ3grZ9fh-XWtL)wsE6s(rDvRc;4>Og#T5a}fZJwGCC!9-BD)Wj2! zlYYKWt0p;Fdx=5X-Gc-M!8N}e%vy7brfQvxKa*pR!bIlx#te}c$XQ}cLFeiI#h;CJ z4hlUmid~3H-v=6TP}7v*oZ#=x{QdOb_>(-j{G1;7c1avp-ZP^1bKeD-lA^XAm=tRL zA~Cu?+do4{U~WyqgjyaTjO-)qZO7dqhJHBFX~y_reVu1c_u9XG2>!w>zUaEd2oV*jS45`PZI|I5A7im7^d&yGxIRwn8+D=!-%w zUo^Ss%rmAJ^P?^E1M#*jE&IurTQLWhU<$8R)84xg(!19GUTa;Rt@CGBC&v zIUc_^C!vC@@q5F-MBM>COnlWGA}U?7XU`X_(x>%pQ0WG>(b0@LRCzFw`LN8JeNN_Q z;S%V4`Dg0EeEDV+m$Pn$6XZ9EA3Tb`=_h%H^ULXx?^eDY=djEcE|-U8M&OT#diVq1 zFof4U?|aGq89KZjGLW&i$GCkD>yT!r!-o@kddb)|cgEd|>>!JS1&hO5`=Lm54%^`} zf}LpZXRKoc#bT#;bpGo{@ZA1Iy=9bScanKD{DJuJ4=mYnuIIq&h}x4>CKaoBOa>2d z?*ag;^7Mjq|@qQwIF&2hCJHi8I+bf8vMCgDYy*!TYj)B!}kwj9Z)Gs^KyCMO;f+muOW4iMA{w!G&OFC`EB*!& z1spm&zZJ}sE7fisz{p?r`)M!c|6upfnxc!<++@fRI-HZge@-v9mj(Gh*z@{*)gsh= z6Xp}1{sVW^Po3|ImtIT^e^_W7-fyodXu|#?%uYn~&Geg;O5lp$BFs4&MT<`PMVG+D zCKGM~Z5?(MiiwNi-}5ld=+c^bsDg@0u91UmOk^?QGv}1GGU_DPL$3P&F8wd1MOiGOEr(mh~2d1CkGIHCQrOD76*&L1m&HFFHJ?c|!ylUWULC{HZ! zB%CM=pFj3xVD?65j|JbJB-q)LMQ4Bh+R5X;JpH+*pqHiS?8!A}PiAeG?1YOtPdx*U zjy%PZ%xO**nfK&0C)W_)d7_9wCxM@zwtr8I6?SPyv-4_Uj>M$Z?R=r=k1%3Cr zojzG~`aLCp@U&ky0KB@5d$llpa?SCRMaSQh;kd?AB?3|~x(oc1y%H%7aciPA4_!?))+Zq|2Xw#JVo=W7~F#wB5J)h>FkqocCV)#*g* zrgb}H+L7432rjH-Dt5WI91{E;H(R*S!6lFAZ(g6mlsb@G?8X0u+%g|Tmm)f#qZj(yh0=-Vbrxuy zroCuWMbjz1EHnO6{Mpu*-9N@(kUhxe#S|B09`;C8Pyad@U&xbthdAiG!Vub7)752@ zLbaj_KBBm*aftagaQ;3ge5Y*1(T9m73cyR}#CBjqsUHeeGEbxZ56NaH>cSWb8seMJ z!Xrq^F^E?mnUje-!`5Do98W>^7YK!h4o+tcy$fUUFn+I05{ zuMgb*iKRL1wP2AqWzX6NI2Z#ZH$n%Su$6J`SCm^PhcPB?FnTdJ^uR;{U1R?Bi@R}| zum_)&{}2A2x z(ltIi`uk+(`jU2a)u7%W2RZxzjI0hcJy3$=qq(_rLf$}zj2C)QVyQdlU#60-+W zUGZnF9XPUBk;g02+@xTX_1<73V#~+G4_vJyc3)~6jo5=v?RAW^%L)>QCVA14Jy*vr zh(Co36PuB#3$@5ARJ-0YkeQwuUEHyQzbp6PJ8O9}{;;M;mv(Ff1V18s*2OL~H23LP z9sgs;-D1e$5oT3!Nyh*QFOhI}m3Y=u9^i!sr zGvFsr5N9VdtO2FT>TPJ5n2;TlyLWx|F9U_y5=M3{`@Dt+N_Ze)C8MnpJbldmy`ST8 z?Zp!F$Fub5Gl}7!l{-Z2`OL)bi*O~yHs~$#RmPPdF(ke+Cw|9}X>YNS;j<-WiTg6h z)yvh~ohJ%r7vP5Y*)cc^?v1nH^EeCcnCMJ_B1uD|=3eXJLC%bg$gF&+ZO+wcT}J&iwpm_xvH1Q|D1_FEf}t>{v+} zu>09nZr)Pq^LSIPOf;kdF`ybRnWO*DmyNw7(6&%4D>!WnXUU&fm+V$uli01gCcDb{ zePb-AZhun7xtY%|9G)T5(>v&>f9-JdQOZcKgB}>e6Qw!v;z^0pA@Snew)tZOd7^Z9 zym-8&4`OGO=E3mVjyYV+64}Z;TaKGAtcj!Pbu{*C?zLDH@wC41zRu8GZKpgtUH);A zi zJngh{Yxte8=-WCn(s zx6bHlm|^zHmaJ#da)8Bk>5?2t#LpA!D4Ce2iQ$4J;b?B6ILyw_+Z~=*6lTZj?Op*R z^)y8$&$K{CFmaU_l-tHal+7zSHyI;68c_Tgj07?63*xIYr5O!at3GU7^6s~#9f=tq z!C+iGFP`}kWtrJA_GqXzh@$1eXDla`0m=$A|dK(Yc`X#qwbOORmr=vndNVOlg*8g7}%eBd6fb zoIOK3`upK+*+k$U_KtADoxXqAG+IOYnd|AAVE!ASmLF3bjm7F)v{1Z|VAcj2WQ&j= z4el^p?}b`MaA(K3eW)czF7I1&I@+WMB&Cm^B4!|HAT?;$w@QwYLTqBMO4`K!mRQMo zFvA(c@00vyd4DDR3DW$(eptTc_fQ&~eBa*V+lPCdsvThN z77=!_3l?9Si@n%!l&VZRoGrvHi<>jXI;N2Fbb8ljnF*Th`Guo$Ee&AC2LX)+2j* zoj+b|ic#|v=9g?By3W42hh`UHBmG)4Oj;vH6iQq!<^mV(j+8HWG}# z)Q09)1N{s!exp7W(#%39lhNSNy6ZS4>n8P4b*V758o7^J4Nk9B?I81G6*9NgD>swi z8uji&t#0&cg<%m}tC8Jm)qO6E`8(!9wz)l7^4c-jhJx7mvva{aQ`}(fKr>Xcdi{-! z*3UBY<2z?y#SOZK&Ar^*rgI&t6B%Wpt`>$9eYIh0MFAA*JI8NWkrbSwY?A$lZ4t@} zny-lvdRu(mjQF-dqId5;<;7;0;J`>$Ft$fJr`%)+j?SKI#oD|M@VFziO%$I#L7i(a zgbr>W1;cdO%Nn0susj&OimR#E`D(s=--4v|v8cycDedgIo1I}HBz*BGY&~On8WVn_ z;{Q3JE#ApRHmjiY;;uz3+}0zz^VKvk#;_FxjJtZpPe~jX1@T%jl$5k%C)y7_sILA~ zk{tas|4$9I{v+!h6T3K>*iT6OEf#ZmUV`oEW#Ws=B7pvaQ+m!kRY7-%RY$256S<)1 z-0nN1X{eAcjY>9`fMWKtoBC29;)EOhXeQ4?O+ zK8H6O`f0M(D3mk`2kWil@|5*A+D6~GA+QP3_<2^+mgp1wPw#w=7_f8d(?K8658FYj z>7YBqsJcPbyI$mtsQ{LL@H=+ zR0!qKNtdIw7;m#TqK$OYVs1y$NgL^;#Yp}mlM{?zCX+Iaw+zRNN{b_z?Lo0yMg!zt zIDeGrF&)aKC6<0;--Xgy9!#H$@Y@m#W+WPO3L0{@-NF&j7%pfCZ(9Ht0)y)XjXB$H z=(r{gX3w}J%!nk+p34Cwz9C%D7~bZy>QX!jHGQ>C-Fw>?j14u_jq5houty$1~x2S25d+S;@VIhHP$RO8+@P|FQyXd za1RJWBQ_*mRPS!CvR@b+wgJCGE9qwKPYL+lDPgZ!67&zEbz;lcsjHAmYfw#m*q{uI z4WVOb10uU+L-;E|z{-Xh^|~q>)T(XfF>4*2@6_Oxkp8nD-pEM&dUpdOqae2XB~nWk z!*TU$tIoDiddpE8%RAO-SbP=O(B|rGHh_V->S(nMH@Hm^FGO!?4)9iaA#9x3kT(^? za-EIPv8a^U<$Bo~>f9y|xCY^OFDPwRteCjlT)D2QW~=?ItgfL0{V(L->gh56vrz{t z`DwG#sI;ufFPk;_X|tw2lSrz!^E8+$0{ww?7O&P$KDA28FN-(%Y4O@m5!SO+;hXub zv76P^i4AY6@gg@>Y_~BL>%9(PwRtghO_7=n9v-aEq(15z>%|zf1;bWe>SH}aSwlx@ zf%36E{e#ERR0^VnS9prA^|4mev4*{x)NHB{xlHe?0fUa!m5pk(+d>nA zMZaz_^;kmc0Yp>}C`Whz(46AQp!F9Vd`BZ6C&ug`d>}F(X+Qa_MK@>LXsja&vnMk8 zVP6dMbvX5HSpp{i5T7nFkC8DlCJFIH-g@n|I@dwRWe&fw+a2NB=8m1_BIBw5=WQRm zeQe$=NvL+_dG{gj1|AlM&Xo{Sa_dfHwyN|*_`y=xS~YC9y z1Kx-*fIp;(xtf@>S7bVHijwQ_ez`EWV;m7t_xjk*JSRFSu`rKAI|FwI8n}*o{dNGM z2vtk>Q;O(6uaj3oaZ;AS3qn&)#6}-UMvsR7i6aEK&sfR(EP2F)i1-HRa!1B?;!R>m zVquu;QREAX?*W@p{1uQv5I(N)^%^h!LdIYXL&>+uH#McyrbG_v*J8euHtx<7YkiA; zkufMYV-+63-TYI#xjkvzWj1bM{;55`^C@dR*~MLr8Z2{i8{GByRYLwqy)-$wNwcT9 z4S0b=ABbBM>P4IDb~w3pHRQtT6j!;;YM_ej_~fmSv&G5vJQItGwq)9io@^+8gRBHm;kN{&9W!$Mp1%8Q8UiZeXHO zJ$&_yt#X=hCH4Oi_criRRo4RVB$*@w1SY}&0Yiuo1QZ1-C=k$uFnk9FLJ~v~6@wuv zAejSFNrIh38OB)KYHO|9+FEP9v|?)&TdE)w(0W_6wnf2;N_CGzYg(yB$tCZ<);VV~ zAieFq@BZFHPiB9v{k`_uYp=Z)h1^JK;w=>aGRTCm`s^)FoGigG9Rc~H^a*x~u7|Q& z6|QHemW`CHQjG+85c)vVSYdt5nl3OX+(OZ-7FV;zbKUBjGzqJ7`AXG-3w%(t2keZJ zt{bfy)Vs=#TrZ_uAcKHfR$GVcGAI)1B}z?_Mo!3xRV!~CDLI_#UgyD1=qgXmjl51{ z|F8FiuR(7tZ?|eh4VX6O+SS)>Ammzo<5e%aea$T%rSgRQ@CbVG6pDT`&l+p(8kDTr z)q^%1%ZCznJ(r425oNpb9Nyo2O%GX=+>bkp676Auyhe;U1`zGYiQlhSfiPcVzfC8? z;ml1Zt`m)_b}T|=p6K6h(+}J1-Cen@JO0z>V+`p2S20o5^2oUPFqe zN@{%?mZ&zLohysGP-@vL(#YDs47DbSk(5R4K@*LNCZ@Y+LLFy96V+y$LdxMtBWPls zjV7wiHBIsja)QEQy2c`hfrSM3IksCM(X z>I}%ztT9uPF)5Auibf4diE=KEdez>qQQ0X`$wob*QOAm$u7GEdY}Ai6>XnqJWTSqe zQBS8tB^$L{qrT-t&GS1qDZOf6)QB&+dHh`?^#_fqO~#}&>RpX0Pl-x4s!gN5U`M5{ zOpo`sDr`8zf5%o955k6nA58O%K;MUadmj1M-@lvg-+}dioyPM$1ScQ*_uG?E`@+$Sof<@yKAvAld1w%^!yFs-3%`b-A_wrJemN0%S2>?yZ1_P}}Q1Np%1g zUu4gy#;6?Lb{F|9zHNl~Zed6Yf zZT;Y!Gc@fVBK#)V1o>=6k_nPU)S^b<^N}u0Gn)qL|?!;wUmr@jf)Fo7xfwP9?*)`!ncoR2vzF10-J4Ap~MKnMvdZee(Gv#oCa@<^+A z=`nxn#iVI1KOQYVTD;V3yeP8qA*_YvbcP>dM=qF7mL9bSwNln#MY|65dcEyK1jkcR z`zI1~T1QPCfo=~0fS_t~mCnTcG78)HV0=HdJ7tv)Ryetg3~d?|9^8bD(z6>v@qJQ7 zxu+ZKZx+UE{Au+k`!cWg&swWadjaOxexTkq?Q-eM!rBiBiTkBH?DeFxFTeJ{bs(od{6xU_-&&uqRh%i9Y*l+FVe`-sk$Wji{QoGt`0P{ zdTQUf$%#-*R1~7BxE@Y);p!EI*R0x*v^l2y36U}>fwzFJkYQ~yCmua10VgjO&gn9_8V=t$L?}te zlW$84|6Lv-q{ukP3k1#itfY?xZrk-v2Et332$^W%MTU%|a+rm4UwswGDwosYD%eT!S+i{}4K^CBS9 z86IRRNu~H&l6p@|dfI)RsEX!x4f!LuBSWnkmC9Ha`Lx8!Q90!-kyB08V*-IlAMLwN|EXNX&K|z*dNuYQ!vK$XT#ZfRZVPR;2c>rNj zQ7l)SDUzpQpCiTUv*p(MBCFClUap`Qm{qSM>1K9tVmwV|L+=)24Y?CPQG2#uq8B-5 zw((kmbD}?_a^sSQIZ*hxPOYA80l~R9lHpkgW&;@6QjZi5nd2RQ1C)z$4;Eb*!IcATBaJpL~3Qc zSdw?HI~M4}b`0Jy9p8$XtOaki%IQP!TAE09+u!0?%gKb-aZ9qgAa?A9BNiz!8W%0XtMuA+_ zq7iEb*O=AZ(uH!PmF=6F@&|^y^LK#1MfRRejrjxFVsS+p^U#UWiYsZ&N<^^aUC0K` zvT9ihmEOlmUMq=mT8^_=cD8i0*a~@}A;zWn}%NFoB)7 z)3ap%Bu#0>Q^KLxwp1QVWC3SOb;0K9f-S-0n}f%;1dlNl6f=>$b6mvySQKvuk1?Ek zXAELd(@zol6=Q24Qys*Ml}Hu7MZghl5ZXSUz7~WPc_Cv1R*^GyeU=_Quaj?C? zyJ>!}bj>>;R-I~8*}{rekYfm?xi8@y9+K*xm)p{U?DgH5!ty$g-G>WQu1gD83(m!` zqtC@LVf(x!BTa0v@`J@V8jJRPF>=x_2>lw=O>q3-UD|>QQ^%A;N*fUtU$ND}i=y(5L-BFp7r6{1UF)JOUTYnR1&@%!|3q8VI-V%e@oim{os0pab(bzf zyRFN5slTMN6?? zKX`NL;Mgp0%Zt|A)KO*m9i~ctSB0q_l{(TINRL(?PawIiV`+7VbLfBi)%Id!bA;!q|XC*z8=a2~4&4IrQ{Pxw6TtW!pIjGfvU+3%_k6U02T>Cnne z)*5v|;~g85xz1M&aJCX+8LG$-s-}$pOv#xGZPu9iT%oj9 z>|2%=Ox)X$y`{83a1WBv1a2-Zknm8Quk+?SGnoq7#X{z9nO(4X_MoINw2oC$7DvTq z(8!-@JU(`8*-u+4khC-B?2-xDu_ehi?Q6dJOBF-pWp+EeoX30tf0fy0+Zxd0@Xn4% zdvE_8tsKxfAYS|=reXOW;amI@6oNfvyX9BDyq|Xce#Z$bal$0N9rt2>C9WA56nRB9 z$Mv3@c{&xHm$!HNAm85UJgT0a?}--(;~+LYAOzw@@1}XZcsbf8;Lj&p9|*g&Rstw)HzTh13dWQtxio2Y@|i`-4mlZYi&Cv ztcN^~dU*ROVLcO^EX<57<&p_=QLEeMzprk#UEN-vt7~KCHm)&GYXj}e+Lk89(@ssl zd3r(oKV(Qe)Yn_*H4loQlif*-NudnD-syu2>9BZ2)5WgJjWznJ&6S*%2t^PzbL=5r z_uKEac&T*=2+-t0!Gl!)Q{W*0DBAIN8i&TrG)poeOy>{UJZ}&^lkG|Zz?>{CLBMY`mw4!IfkI4SUe&vCdB0d zJn^sc2OF2>tE?u;1dU0><>=yXd4iZ&Blg_GH)49!&h#w_TQ;KQP(wy!_uyS8GNEFG zB=cv)l-C_X_|h3$)IAOU_d-Huli@{ktPGp}o+( zYG-ub7Yc7j^2&rHMaWcW=5ZXsc*PJa8^>RuM5f5WkmF}`kT@#LexaQ>%%+~dsry8& zyXbq+x_>TPH!1E^o`AmZ8m!{ce-sQmJxb59eHjKRJuXmmB zIiAH>^4@hK*Y$aKeVVs|n^cm`%vuqB#dZ6luk8AiJa$ZX@sY>&-IuyX>PQS z4OQF2soWN^WhM6DRdXSo68WqoJVp+0XSL2g;!F*6hm{2q1NW5$NI;6gO}#WG`pWN) zNF3s=sUo)45&=>vKmx6^-*VaCPa?+(E5;t;N*f-Onm=94nI7^3?f7De!py=u_C@fX|M_XGy5|>_A8GZb zx8~=qh#p)qOuCq0Mh}x|*^R)#8eyKoxl?%qhsAW8^0<=Y9$SjQG5S>WB=gDZVvOsP zgVFR)UWxWNrCue%9zvcJ%j|GlkcaWNG)u>wOt;Q%&FLLIn6`7`OY71~Vh#Dx>{vry z)E_^j@m_0atG9Rb^<8hLPkdorT50r!R<9@RMce&rNtvA(2OOVu32=73n;~GzqA#`P zbes5+{~KcBEp4ZITfO&b5wM#CzLYeWXO5nVh1$dmpsIzHsvT8`r>?LL8?rk?W_YJp zly&Yw`n5IZBD&6!u3LJ<|HJ{%XukC2&ei}+;DFnQJ9mBND}^s}6b)|KjW11)oXl=~ z!R<~UP62#t%~SS+@h+MPiWWT$OLJpfyfoy4>NztOLUZR;MGwMKUbw(4rcdNhv2cOb zS@;laNfZCnFe3U5Axnr#_W!tgfk%&$1ieozrrt=?wv?`F}?K zBbyWX7Ml{Ll46;FL~SCY?~}_JO5x2+{}X(U063`Jdn4atQSR|GF~{Cp+UY z0J)uE_XSf{yCS6@vQI6oye;x}8YK<;cUqphpo+CHWZ0E=ecQ23w239MFZdlC@~kJw z;df^&7>EXU#DaOz;Qm-JKN{S_V(SrU*e|TFtsUsJ776=HBMo~z4Ff)@{7!3dPpCDx zpQ9VSyx%O;L1Ve?aHDq+y_4u2oz_lsQCBoVBfzjm#e$>uNd-KyV3F(C3H!;~9}PCg zDw|`$!f0;%&$`+Lti}1U&`s#(sHDcDqUb%K{v$~Kv?lk|VWPD)_;Sen@dRqRdyD5- z$h;&TjX4}Lzr-VVu3A5h{s!kayEUyr5^UBJBH}w#cJy;H+hjQ&i+;B29bapHdi3Bo zKWW$x7PDTqozXwe+wf+5s8&FeuZV244tuPOd5M2St^1Ne$FSW^5c~J}<@c4wg7>k& zgNLU^E1UNPH+k66W5G>;ZjJ^w@qeT}t?}})ont@N!Z~nnYR%8?LZQ^>tzDfyR=uzB zO*h%$&nG*q$?O`1GpLT@iC3e)L1gK!)mrF%t${Jo%DZJf9gFT_Wr0+5b$!s9s>Q0;^_|*l?i?$zy;_XD}C(#j&Zld{fgd8u?;z`F%|@ zTfJk+Dd~<;=W=QE10!E(&F>#Q$o9fMNB>FR@L;8T>)q0^(aKHp$+aR@xoJg|Y^A_y z+%64@Yz!XrG%TiSF8IkL1gyYbRDM`@uI$@R2$aTNx9#>YQ}hv=&}N+iGx|ms$UQ5f z4OIMY3Tj@FMnRy82V|zaG>`87@>g`DWabs>6n(%xk4GB5gCJz5CE=`y&N0mP&N1e* zc0s!^L`HR5BW!e*5}Tt_R-#x2l4S&0_GuOppBirO&8Adi(ZS+to%zeir``N_h;G`> zqSpMKTz&3BJvP77_#QZe|4QN|jZ_vlA`sg-l+Ulf86B~(t)&rlopqh@-!l;W z)ATK4lj;2}B5UC089;daVM#{=VsOeClTq^fR4fQG*cJ=!i3YdYsT&5i2A=}6Y!Bgg zTl{wEiK^l44- zvEtx1|LrYWnSjKCocvQV&!WriIc(?~W)M4f~aSo6YOa0B?BzaukEs=|Nk@9}t;a`TL{dq@9 z=JLFKX%y;7Lg}SYx+xS+5(3Dojb+O@)vD{fB$nN|##dKiHb2Ml+WY~Q8RXbZfgebP zUn1~7U%8(&x|Oq>GYI6PeFmW>(KIEK?X%iW_erQ~0Tzq)s}X+3vmW`|LS#n~|6LUp zgZJ3fy>>$!%nci=VM8VC9w)5r zlLJG8J6NR0Iij?O;u|&mlcmSGT)IanWmaQ5Uq{I95qTBH_#bCKt~QlOB5;Kvlj@5< zW!!>0*{S1m6@&*E|4r5*ESY$&Y{E)2^h=W`fXDr}e@swkur2;q-Jg}E-7iDq>N7fn z&?q~q;|Dd)1rBrEtxr!lGAdA_FbmkCxW8!o}?th z3DQP;kJCtjYt8}Y8H)NYY!9&>qOFflC##g{Z#gL~>h$^V_y>;8qF=tm#AuU`LG9o- zZ!ZJLw>{-sgIieBb)L99v*%x|@^~70sM^wY7FQmxPb-1jPjwc?|3tLLWmF#5=!{_7 zsVR2YbHd4w_DVaN^9~mVmB(8Hy~%fK79J(1mI;H>jwf?66CwVu+6Sk!e+sBX0qK|x zvHMlqG}4Ao2>0pQ)BPpn44wLC7);K5I`2tmJ{89G`KI(Q*BdfkY0h}PqSf{=ZMf_% zZ!0d}VfB|)umeK)dw&zNFLi10t(vGcXc*ID$+_G$XBLWRMk^f52|I#C-vYBzl&b`H#{II&Y*bd{Z&A{a-F;plb`^}YBhjTt zW#4hU2ct_5*B&o{wfz1-5fKvUlcL)51b@xj1W%pA43Ii+_DN?PfRPY?(q0R8rayg2 zx(Dm9HU>mV>|v>IQOgg&WS$pM`pK8axA9+mMgJmR@|W<1_&liOQ%!mY66@4mgI2u* zi8^(ctNSY4t`ikB$I-lYTA^z%yFSiHE%fq zb*1sU+_H86L1LDk}KA4fV)lFM!zT`URnDsbAb}p%I zZE7y5akZPY#LRV_a~xVYCuDAUf>QS-GR^M4xa%Ui%!h^wc4X01vrXwQc@)yM|09{j2Vrkoz(T>fT?L`aU$-!g)s zLdak!#*QM^5`P18E(rvWO%s=R)=%7NW&>`7v zQozB{S!zu+*YVx*A2K7*nO$Lig~3i7iBa@emUXW7Rt^G*f1$mix>@?KNcvBt9$~+`Z zqtesUebQOb(@vT#m*-5nD#sE@sj$^Mc2%JG@&I(E3}BL`OyRl1oqTg@z|r$*<80w} z+W&N}Oi+3f(jJx1Z769%o`w619Hfx<1&<2YeZeD=TrZUz%9=gQjP$qUz+8__pAgTI z-*OZ4w%RJW5$LT!IZyjq>k0`Dw5nut<;%Q+d!uo(EqpvWHtivi?iw2I$={-IHl;~1 z5}c}IjPN5;3q*@w-nfVMMjBpDYs`o>BBgCwOHtr6&wocGN0E6LML}(EocY`K+cSs% zv-JO6_|DVH$bSWj=yxdU;XC;IQ@{K_pcOjhbK|$4R-dGw@KWH(cO`bYr5=mPpZXoA zoTAs*WcW5x-cizRBaP>eX`X%j_Tl#yey`;BOkZl-4pW|#EnjTjg!ploxRHjV&?%y( zq69S+&!eUyevZhpR+)!j@WuO!drR=BC>zUi6L<)eeE#N-IWKXd8fuM`7nkU0EDONq zt@EIh3)g{={Q}eUK>MRA&59xNK95V7g{VGBoK4Omt1nuCUO!?lca)Nw3{7h%jDH>Y zZdqI0vPy_d(dl4aAieud!dyo%8r53nH%Rq6D>cYv#X;Md$EVXo%NkAb0L<26waY0_&_BW)8+GVxVHIjj>-KqEv`$h=IR_y8?l+KmLe z_S!WX`Gj0}PUmfj^eLNyd6dD2StEn;E(956!`yfs7sV%TLJu&jCEUH5+88s00VH9| z4x-~f;}7*`4Hi_Gs}+inyJs;7$EeHSe?%?5CTWn5cVjUG4!v6q&q4_%+U0M4PVRoj ziw0V0&Dpdjex+ms_7OC&Rv2$r?w{-NkKjJ+agR#HrO2%6_;-n@Fej5i%+)UwMA;v> zVgBYtloVet!AaO{$=H^wQeeOC1`BLCbJDlTAYfl)!>)6~P@oP!KYq5tt}yqz;j(73 z?Xr&;-@*lHn@?`CUmY(7eL4#yVwqLusA z8nq)waZ&UY|I@PuN6TMEMRU_IcA>#dgHdnBonZNX-F{=`FLT4(65MZPWAi?-3b;C* zFQEaHaI?SV0$jq8f>b{pzP~w_$ka0YUp^`8jdJ{7K8`Ck|4e21TMiP}X&scgakKdY zbVz)?;F1cn>ih06(pPfr$e8tZ!~8A#32-OEiAS8I{+1`5V1LUJ2DRFZNakpsML=SS z!ue}ghD{pqY*)a?P_ncfN-|F&tW(A#)5+hQE%W3L#5+Y7RGUZKjLdH)xH0{)ZXSP1 z(?D0bvHs>?%RIQ>37_2+{!_wPL&wad8%S`gB#`m+x2(ch2TiSe0BQ$BpSKQF$b9)> z`g(7yrzkvT?}?WwSbH9@E{=UK*&VG8IICxc`Mnz)o+~43b+0xr5X3sEvrFvYKr1of zC2=tkV8bKh1Idh~I@S7Dm}oMnd$c|ND@kqV6{t5VR7)7EwBu0+s=ws{T+xH^ZzN$a z*V2|o8v}xGuL?jFfy}NCU)qFXF0&$hUZR-aT140z%*t?X;sT-O%nFKf-;P}`Zs+Y- zt+-`VBh5;Fwge40b6-$qibv(v9r7=yRYYA5L>u;V_Ebf(T@lP~PNe&z4X??CUU*Tg z{57_)P1YQQ>^R`X%J*|f=Xf}Zoi1d)2>VTL0n1;57#2Nt$R~t3XPP?QDQ>XV5Vf~7 zr!iJZq65*hl=G#Kt8BX~<)_>%#?%B?S&oltNb5hO;R++&eLjLT-?^8vNFY zK@GdWM3#;4D;#Cs;FMn|72aMlg;jw8!T^RT`pX5Ax9Gz0Xwx;Ls|dd*2Ug!yG#_hgK^M)TWs2G0ijPs zf!hxE?6+#ps@3aPc~BMM5zR8TO0Six>Q~vWo305juU)np6%i=hK_7+quCvxSE)5s$ zPFUw#i4Gmf=epO_)U2sRyO--nf6cX|alI5K5bJAhwnU$o$I<_R$_YT!SvR3Uh@GEVmu#7+Rq|^!<2HA>vtn}9f1R_Bcka`e^L8`Vi9Si1c*aI7`2+4J=fQGt|xzuhq_!}W8tyz z@$oCVSvOx7z&7U>RvtX8I<}6RBVwQ*hL(^t?_>Fsdlpak zESl~qBV`#$%Scy7qB2sIk*th#Wh5*kWf@7!NIP|wXX@NJo?ysxo~Ne9V=?vWQIW#m zpr<}qUti&I|ESj!#31BK%c@yPV&`{^IOJQYF6OtmoqyPotgl}g4A!so)C4`AnlUSJ ztn^r8#!wvp0EU!3@)m2oO5SQEi0XC2hW>7Zyt>mfR*zo5&WjSA+PX;#*2AJ ztW0r_KeIKz#YZIOTc+m}PsbKuMU{Eu1sIu_9bA?Z{hM(4|6My%(Kk?K6P<)s_*3x)K}^V7FX&5+lH8N4pc5I0IPGfxyITkEXzetdZUY;@kTa2iM9i)GyJ62@D{r> zI*l*{q?dm#&4SppC%wpo?1sjdRAL_18^ckYS3h1-OLX`?uX!9WvANH9d3h3@_Dz9S zW+z+wIz&SX-04)ecwCDNx&O|^oN`3xr>&p9I||HfEleYDjpqM#p3#lCLeCY2o~4CoHoK0GxG^5v#H}#W*>(%puU*Z(JJ;=N!#7^IW-Z&%vbEt` zMvS~Lnc$lGNrl6fU)bF<@|1PafY9@pBFKR7g%6J_FjPvfx)Rg3h3gl9^XYExah+k=+J7^~_5hfI%=H$Ard>_2&h3d{glAk<3lz9;D zQ(M~={}S;~rJBT1LDQ%9hOYR>Q{rvwEaYF+6~84V-l5<7)ZW|`UuVZ}YD)KnFIf?} zEIpjX-wdlK0{ZFH_qw6-Y~Aswj+Ss&<_k1)j!d|KJ>e>uaPcZ#Wax0+lI}f#N*pF# zq&?`rL!P3rq{hQ=zTtgzBm5tK2mbuOgBki?<~zOq_nZc2=X;;8&(Sl4x#btpA2N3~ zKI8RReQR&&>gQh_(n*l$-x+?!Tf4C!;w0_uUFQ>#*p*U5EF-AzhVI8||vb9Rzh1=0e-!i~oqSnUT_`cXlOT zoJ=mU@fP{3O=#*XRs7^2tD=NeQF}LeI7y$LKhLf~SFa#cWOqR~ZQ>el;y~>^UFDhA z?ZN#G<*;V_&rR(N)qaEc+Sf*aSY9OBYoVaexVErxx+sD@HPBO7 zSc))|s1<~QMhD>PRUqaYuj}razWPRv1|mPzWeBnma(`0yZl2O>v8zrL_?vbJLBs2g zrMbKi!CGTZsJ6(s&E254hPk|5iF-Yv+E6m$Y9eY^CcO*rj%6O^J$IOXi_P&C_gJ4( z5i85@Jiz2cE;W|nf7;WTfzZ`wo#BzOdEVk)>-%VzE`0d7bT#RG^g}Fbb8ctWjN3Z* zF~E&a*R~{!_$ybO=HcIZZS9iF7zFB0)tCAl)k*LI3jNKG$^>lh?r(lj9o_uR_oySs zHhmOnFSdrqD!j#g&R9PfSGDA}-b`F0U`AVw|2%D^{k(8aMX2sPN6&u_rZsaSC(pym zSNrJjIWW_-n4VqTz~zC{4@h_a-j43o6)k+GWIU`ly9|$=j$ce59Urj^8S47&og{va%IpGD7_DSJ_Nc%{XIkYboZp{#s zIZ)H?k@gXCHF<^A3tIp`;M6WdF$B9GS<~%0cDL)8pl_Y}B}BRqg%$&9FaE%tE9G!8 zD@5+p`~XC`H!C?%m8))$b3fF?Erp_@)1@rL?GhGcoV4xct-l6+to4N#dahh`B}%7J zt-QQ8Nq3|YCaKw7!X-(UbUV|Uu>0$_V*&6evtE|>b|KBgK3C+#h%kC0eHC>h%=?N{ zkstH5wurEC$lOcEjy<%mrGsDTc6#VJAx>iVN=WCpue%B7zNFp9_;!muC~-V`?9^i4YR8Qo8Xj0U!2QSmwCs|WdTK5c{AhfBk z^=B$uEtE@D=eTd1#uuH|gtK_ya(3efn-9kBl_EAzO;4N!gwCHyqs&^c1KGR!C!Rx{ zVp_UO*0e}fl(N}oQ#O9?-2UFiHS7QJH}kLmJD7zZ{_pagUjGrNmB0B6?K@N0BBy-G zuUk)uVTrX$ciYnpdt-7mh(8XqO~$lCuGj3jdxbN1uQ2Bm$d*3#@2rQz8m zuE6$(*E54b;tDzXu4Mn4Oo=jq$jj{>(Fajs)T#0k(SqooY?)?B_I0-u=IxU_2I^UD zKGM5YukiQaXP#EWmQMd&K57{InE*t-;Vu7N?X)O0U5u8*syI#E$3f@fiElN%6X(ue z{z-{NTB25Z0F|aSGSdg70@w!tNghYXqGw-=SetTlzsGH#yP~cBcAUT#$S-xp4RLyG zi22kONg8|Tc|pL~ttq?$2-vRjw$A97c(CcLG)`G1p(-=R3FqRW7IOE~(-m9!wdW_&Jgwe~LT1yiXz=a~#tGS($rlY_;l(YM@Luml zuo$Ekk1w%n=ZpMOn;kBcmWk|_)9R5<%SM{PcFR&bE*k!dSB$Wd$3-9vv z4>4?@swItRm2k}0xqBq9dl`h&&i8WhN2K;e`~h72bJG?0Tejd${DD8@WTH*nZRK)%>NCUGZdgxj$-jyP z9#l>b22;j8C=(}9q3Js|P3{+jF66`#%bRn{rS9oUvVTFFE7@Z_MfUw-rk)nm(OH}hO; z8+Po(f-kNhgZ0~#5&a*+oIxZ1J(#qnb9_lDC#ffxx-y0LWlqK`^H_!Cm`ikTw6CPG zqlod;K7g13M+ehDUq37voHLR;2Xb|q53#1j)_cdkT5RPsjFqRd-RyatCwd`fq@(jf zl{)PdrA|9DcD1LsddI;0Y;c#2*7i9Y4$SjMWm`CXp23O~W=20`3dE#noQx0u(#mDonw_%9zUn@sfVa?2Mi9tj!qRMBCTfX%lxP zjd{mM=`aK6Tp@CYi@se4mMyLs@1Y4|IreHs#gM(43omzC{CP=%yWZa{eBP$+lUIiO#eb+_mcLm>KK?E737j0^`4%sF#_MmEi&bcC zeWk`AIdMF`h;=XaS%0RzGIV+M*Gr7U*L6qGd^fqMcesq*gNZ4m6ehCrmNvO5taB4K z|G6u!{g+Bz%W8~oV9?FCc6vQb0MQbl3+PlES#qAYe6fa{6_HB^2!ry{vw5L7U6#wx zaBu!D2@^Hpa*3KyWMyIzJ@IZ;sPm7BD)azFE)7`oNFB>dOp`vqHSIphtDq*FZC%I& z12HS8NeXI`f|^uhWuadr@vh_%*3`nzKZ11TY}n!M#NZA+uOs^l10YtB&jX9IH+?ZZ zjr;yDrl(Wqsovt5-tZD+dwKr)XQU#fT_{ zjXaF)d;ei|NSW9#2K zH4$m=vwj84;f0^2c>*WUhvfW<`$^pLiQD7&#eMqcrc2GMd29~5%|5s0$8zpXBEfrg z%XILUk{xhGuVNM|xnm7=5!?CjCi`^vdp62(s%iz$w4ck(Y7-Qk?8E6Le zHy67bKMlO-fI@iYc_i; z@F0r9kenON~PV)U1UuT-T zj~hg!*~7OrvmE%hFLNgQw)}JE9D7OU_-TZ(Nr<#bNcNEsWch1VX`b&%guQ17zG+}$ zLdT8_Hwl4#DZ4y~WTb^0DQXKw%Tce|t7amukj@F2H>*+VwHp~s#4{WIqSQ&qfvwjG>~@J3x4vSmzeH@==hwBv8X6{_>r4L5IA@brEU z@0EP$|I_4VD)dggzf=^Rd|CdM`>CFoGY?OwV#SvleFPK0Th|ic6*kGlg^g`Y6GcJAirDI1>|ckkV^p~OOs_VUeJ#KT<1p4 z0%l~-7!9Kk2E<$S@Rj#xDX$%R)bf*h(IR5x+>I`U=tmXi=sKy+3JRl^n8j|MK&2|; zXD|5b*q%J`{F{3D=Kr-lx%bs_UU-5Q~@ zq<7ssCPksS;$71GR@2m#6Ef7yk`OtaB=e-5l4pn+E-7q6Rr3rpeI+Dn=SjEDqntFW zNXzM^<(y+adWTuh5J(wC=Fj50Qq#A4(P`h%k#5;*YOr}x;!0BE(ww+K=0_4&WXGjz zJ~ytwd`04f-(f!ancUQzrmIc#CV*q6r=z?s6J&P{DB@ayq@0DlLE`|x*|H9#3M&M4$mRhSkAFVP<;ydPO06NM>A@DMKUy0oo<7ooMr?reFr zu{+13CR^-Tb@D`xjdHHQ(qdnMpLZ%QeI}Hl2i90+fia{Er{CK3{7#e~j z4Jfl&UcJElTDuDtetP2~iL#0)@JuL_>!7CJA(s?1^sZ(n<)xbPQbo3xDzd$_(8{SY zm74M(DW8{PXz>)$GQY7;Yw)#DT~=-Ah76Apogu8*;wkrZMR{wF)e-d#H|ox=sPtNo z6H}jv5uwli68cB#ZpE7o_1nWini3ifz<|;#O>Bhs8jio#}ZyljaGS@{~O6+*uC3 zt7Z;%z6$NJMDd?gz{*IgFB(~2D7Ct)4r0KiLy+fOz6PyjNnQ^}6O^hoT zQ>#}K&p#yyQMN;%$He&{+3Gqky}_S#-ntCIQg-aI93qCJ*rF~jg=}qcCp5i>u=pkJ4rLdI#0GqFyLxnhFZPFviA-#*SIC@ z6g-Z)7sRAdJ+IJw#k%*Q97cbWc`k7C+^KndiBj@J5Bi_Tl*z;^Ca-yPC!0UJ!P?#W z%hPFxXkt6xhQ3nn7=mtOB=N*4Xd>ogOk;GR3JKyx?kbtCMLt| zcUpFbM4wu#Txul~j*7kR%p*Esn7Pue%`a#O+nv;A<5$ky-)dcPShAFJq!b2ipy@9z z)51;;Z(i&z9&!ON;Y2i9$4#!)WpY`UG2lx67nnC^+nqs(cCR100;ZJoSa$fuAA zLhso7oS({_%Ij5Rrc<8tqVQW3+fGnyJE73(TNN@FK1Ts&0$V<_OL@>F8)9{bkC+ug zbGSV#55TmN(uHq-uBLg!POiSCqPa2`W5cRR;RI!5j?b8==HhXuvQ`7)*9^1>#ERnq|OEX069ta1e8 z|1VexLT~b3&?8D>gB=k4Kvz|*QzH#U9&0cU0kxw40mzV9K#iQelukw?cH~4lHV8$> z%5hUf-PFJW7Tw!{jDp93{+2&bNX*LH^&Xo3;01FZ_HIY??<3zpoJKI$w|?aHjKt18 z2zXFctg@|hEp+q_=`^^(ZRS1}zE�rM6UPIzoB{R*AYN31@YNcO*&)H*xVLH3#1n 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

    WX$;$xW*6^|hY|-$#H8ao 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⪻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

    @@q^THqH9v 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%0DLqokg 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ⅈm04-^w>aSHw^;OqmvhYA=imor3 z1{7=x2L|M+XA5js1g>VCUDlHi4gqTP`2t&L;jWYO;cA@dP4{BwcqR`JLonCBK{e>*SNkze)aW@_Wgrl7E-{`{X|)>&d;ze@qT1 zpH6;1`A^9oB=;r%Ir+onkCM+M|0Vfs^10;xKHPTbx9y}H z;npb_w8w<=m0*8D;PP+|EHh9ML{FZWk+BDZwn;HUmJz;^d zzsyZ$qb#s{g}qoXh)Y6oXY*`VsFz{sp0tk}3KSEG>b!LyGa4>YU@`UVVmKLV*a%19 z@J42Z;v!l8?<1YMau&j+u10?2c7ti0NI$9CxZR5_9Y(wiWQ0KOvlK7HsQ#Bfbf+O7 zv(E-?{n*gajKs$^06&9jG4Ox%SF{~CW=sFy{6ypZUq}Gk*T24hl|Zxv;`qhli-|EA z4kr7+7~v&L#9gtmxuH%CRJ*fgC>z0bP&X@rJ)*3t_JI#VmIPQ181~7Oz$qLz*j{co zx2!kegpGx@vaV*6|DW-&oel*!8 z6J>_7q-INv7`3s9o;AaoHiJ)+4n7G)wRIMq#tDN`{oscXFv8iKY!e-;^HBP(t+*V( zJxK`up}^bSp{-Zq8Z-nnKClp4V|JB(78L1fN_(rmkn_L(88yMM?eg?_o%@6I=hb(C zV8C1*?2lKc`a58x&+LmtdJ4rb(Nk#5c%tw26pG0SaYvJM%DMlw(87nAq}}!fMW-0s zDG}SLXl%hYM?xS0XEqX42ZCTwy`309VQyFRgKc)D&A#v3h#0#R`@YXKfs)X@{+F1R zCq7_WM7(_D6El=dk&!;ZwH>gl;HLH~ZKI7~FsNI@p-@Eq7KY=&fhC0CAyox%#sGp( z%z)01QLj7)L8~6{$1t>!rc(g=Lu0Zs`oaSjNcPjv2j0tkyx|0<^AQvEUf;;w9| z{uR((+L4HQrmN8A)juZ$(xe5?Cj{a_TB)f$@jMyA*+iB?c$q>PQY&|aKO@4n1!jWQ z%mif?xHjiF_z8u!NLDBT6K%R1dHBMgqGf^PioJh?#I!+dPt0n2sh%w8E?aK~V?p`a zM7i74G#TSy5_)-aVX!ns(ZYkGvZ9p0rT(RE#5j2{#@-O!YsZ)ICFT3}0>>Gu8?M2% z52#0=8lhf+`UzAO)H_gbLUlkffumR3dq2l8#95^4LxuJ)o@?#bO6}n`VSm+XdpH2` zsLp4L`ZeHw;SMjR8}172;Zl%8o83s(1Mf#0C>kRR58=Pz1HDPu1|dLz*$872r1PIU zHX43Gs2KFrx8p!_8`RVX2nIY0?L4~DuJ1z#P^b{(=5bS^E$GG{kPl%rc9(Pi;oUa- zq!^#QS zE8v|N?C&JwK~wFp;CmYuF6Z+p5rwBfP)?D#bWFm1&CkvKfYA6Xux)b3XJPbGN9{u& ziG;`Qp$_cUNIVh4ZxT^qvAe|H={kBO*FA%WB;AU~7}bTQ1_vqwO&D+&xQ(Zps&V4+ z>M7A?DK^IdeS7j)kHHAzJ$a5aPTHtoCu5J;_6f+N|ivrWdCmhTW?wK}5Sjd9m ziLQ!(8`q*a=~ak@k7zgCgvZH|MW=AgC!#Lca~jaOKP?hZMCiZ?ckWt*))gAB!%Q1b zr#WC?e7Ss$&4L6e>2iSPn)Q zB>IiG5{&u72#aADG2a^a=FY2;vA~l%oy>SWQ<@*D z&oqOR9qFA3m;T>Vdp)#9dcAODq<55hB~v(;Q1;S){TD62>yfo+>j8eQor95>r%wD&l>I?*V9%*bbLaV~W%`_|~Q zLE75_ql$a)W?0d_CLISLl!C247H3`{oHZi4g3(!~j+Mms*4N$~pD z!`R=4QqVKN0Q+QcC>I>v<&a267$gYfAhF&${>3>vQa~1jFF_k;DJcO*B#DSQ_^_z? z^@h)*K#Uwack#rtQBf{u$8KmwsBv|?|5oPUz$w&wB7?z9&vKdB=E5l0c10M2VdCJx z_aSSb(%%L@92m?*aO`F;GsI+Q569v8i|>O#0>Ud zk*u&s_HmrQGcpC`-@J$1F;(WN!-5K4T&Ug( z))e-Mn{bN)+s^Jve??QXu?Dhn8f&$`bcO^-fh)7Xk<+tfld%`1Q)(R;q1zFe2sJbg zCpWc^V_w(BVHLAq_$hZ~mOFBOy=9uvV(;%N>3O2znbfv+9L_`1Wy^^W0vS)w`$Py{ zSEkpY9Yefh*83YVPU(k{jlqL|pm_`#(V_95+@Z?!*tNy>ABceR9dY?-p|xq}Ucc%X zc*dFew$NHv=32Z2)tV66=EB}oXqy8}(a@qaP)iix-(u6$0g-pCP*8xf2q2@i6=yfj z6zgwZ#!iIOo@ZjVJN7x?Ei@l;jtv&25$jFloc?1GYZI9P1g0%wP_@_c6wTRo3m)MaK)Ub%5Amfo$+9#L#UqV^$698`TU8hbUgUmVC^lw-!Rdn?>az@IkgtH{ zK4F;^leS01%QL@t7tpSG)A`hm7b8lV=5>Wi(lu{tsKl*#)4KB}DcyOKk*s^+KYGTU zabm4pGHG|wRLI{<zfEOKWt13epFmaH!Codg1n7OG2a1faG+;Igf9)B_X(7?=EqWa25W0;$KFA zN*@T%^tVrGHv)lKaFKB1e3<8&jvi@Jwu>t~6-`y379pgr6?|@X60kPv$zT947pF%m z@DBVYWzB8*UN1)rhI87>Bi?+8Dyb2>vN&QLNcZ29g~35z-i<3Dj7FQ-2Lc-{1}`ic ziF4pcLQgzRJK$6%M!hsLmqz}FVW$81*PskY|FJqBD+7zVU#;F^L{y7|QG305=?{^LXOS$S zd-EvUe=3&Fi9PYmHNVNo!*HIc2z%f%h4l7MX>OVixS}U7)C;DKN&x$2V=l8YqjGk#28#8k`~AbjTebnKU%ZmPbJB<^bBWGa9=Bp?szx4{Uh8_0S z@v@?>K+g25-{nJ32m-8%c)Va2o?-aYH8e+52aNHcq^Q_zy8rN39JiSye%7<#vQ6pp zL5Aon@$*F5?_!j^xOf4)`eU!dXex|qWBm5nWF0L=Y2%m{jQI7$yP{aC#Ppee7P4_r zMtUEn(xXQ{(b8FdY{c!0y3zU+=R@ohc;|Q`Qo#0%c|9DzuO1OT!BBhR9no0a65GR6 z9gMf!;yAF z#>C(vQK9B|CGr{(6%i5DZ;o-igiyj~gyNrITY!N31Z_Oq$I&CWk~CRepa95oXA2lR z$1o%8z!v>I&vh1lv_$=V?R`sO`7{hh5PtTdtK( zUB$KKQKw0WO}Z@?Zu6w8vBl2kvArrBVtf^Dc%Do=*U^u0N`XWggj!zh~z%s`G zh0p9`xzp9u_U&NEjO~fP4nF`lR?#r_|`T;KmoNX?q2 zk2=6Xk(+lzBjWodgYiV>G5|dhj?scKuu&qm-9H<*?sU}%X#akW7IelB!BwCOR`G0P z_2wF|HtO9C8*6c27B|fT)#h;9P!D#yS}pRz@mAcy!`qzbBO5~F8CYnABXAwTz#C_+ejj~tE&s}*5}hE$tw2y zY)ESY6q@6RpSe?^1VG;^RTTk<6l!i(WRq854K|R%YkAp9esQs}LY6uq>2|_635oyzq1eYylcx7?IL4M1FQ|#mallC;>rZ3; z?}^WnGg41H31NPM2FC57{ntVx*8$yaiKWH*>+pdV3aT`w#i9K&^iPw!-SLyq)u(}m zi`ADibc6a{v;n43A|L6-c=iO3kdeL{PcPzZ8%{n0<%LgPTSMBZs>) z#?yChiCuN>E*V%Lf^c^5N=9%I$zLVlHi*{o;)vVfw=>0ZLi5_a`kjAaL$v(^%ZRlu zZLK4;)}gJni$Q{X*c(8VV*S8U4V9b;O<;#Ufg8Xj_S|B}j!RVg?qb)1l7VJNSFs&; zvO^PaA>y}i0m@srkoH@e#1aZ`avUHn94d5W7GgElmWW$?tB`rtLP=lDT@LNfc$(nT z7af*lB1zgTt=z7CgktF|W~5rNqo;sP74#}wfU&UQg}fdbDl#3X4~W)arehS+@e0P* zP|4|kIuV+&z$xk1#&hMP^~q&TXeI9Z1>&`Q+;i08@K~mK1O=%;o9Kyu2Q|;HCw>m= z5TE|^QP4(Sj6t<-P|ADGLs| z<5m@P9gyUQG%Wdpm* zT%Be8K1j0k;qt_K{V>LIoR$3v@}hMYYLF3oI0QF!G0Jj>(eIeE*t2)*|xi^zw_pJWDiHiZ%zo6rD-?gVnw=kb6OAX_u}hWEY^R) zMWUtyiF*jK9u0$)2%XQyF9e8-pO4>=ShRBy8kw7p#)L}s*4p%c!^SO6 zlA#-q3vN%hVJ~lcni3clx`kJv-`5J#u>Z#(@$I2E5L?dRR&4r>);2go+>HElsa_2S z+F=r(uRA+B;8dLdsc*k4UQy@!f_Eh-YIg80Jl&cZO5zx%tw=EPuFAyYoBeVS{Z$Pr1f6Y9GW!6=x&YBZfkx|r_4>|rRP1I=j_uT1=Cnxg#XFYzyw?)u*5#gF=~ z$mqDC_pRGQ=f6}`^pk>*)QYzg8?HY4wP)sxI@Ivtz1Ju|-TL`W*UwITy8EqrUS4;5 zP42ztzBr?L_1bSPJw02w`-5k8-IBj~`k!pu16?^E7C-vs;=8_j;l9L}D{Bu_y+6PH z{V#m|?K6M9p*L<#nsV9qT30+&c&cmRLpA%iP4l0>=`*F?rt(>zxkj&7Vm|ZmjL~2G zb==?PUs@Db`I!r4uYV)%rqBK9g`0yvzj?*Z*-yn?du8wH*gN~b|BGqgXbpz$%&gZU zx1Zm?{_~Gd$Uf2Vm7DMX;k<^!HB-Ky{_(8YZ}z{qvt-GWZL9Bncf(PyBWqQEpzl!A zkvIQq+54Mscp&Ek=e`wcdeL{k_q#d2`@q#=|H6N_?)l-&i6PLc;@bFjKnml#ecTN1o z+Ud*oeCbh}`mIGXW=|j2bJe2nPJi#qw$U4w*{m=dIw?D|r`0M9J zzx(u#BjF!BG4=V-Z9A)M_g0+he6DiMt-F^$Ki_-mxAR{=^yc_EmFdcwwD>>%?xXpC zT$q#goyYh8dg8}FDt{>Tbl!WP_4m6sUHi;`#jaa2uX=)~;MnQx=idI=+-HSb-VuShm&sl(tc;v zl-hGe$@ygGA`KjBo-i)8{)-NZ6(0nFuP@y?Px+i2l!t70{PNRp=>^Srnq%zH7 z^C7)iD%0#b=)F>zW~IezOtUAU-z$}A)(!nhsjwsvX|XTHNl>ZwO0&D5 ze@?2c((FU%uPZRrSZOv~e&0gAOogn9GJxn(C90&^G?H%euiZH0b^R58-; zqtJg|XEcEOmu$vu9rU+WBosp-X~?FYvg>9dL`2Etv_g_2(Slv8e6R42Wh1KR)JQ zTte_59;^@T6Xb(-JTK;;H!=?w9e;`NL+c${sUx)1o;fOb@faI#$3Q5UBS~+jb&r|cGq;AhuZGSRGnP5Q#+2@KoYK3@{#o3e~)1r zK@Q#Kf>4D8x4G1Wy_uAUuy;C~bQZX{`rK~M%!PRW*T5UcTlR*o|21&%X$R>Yj=1d( ztyPDIP=PHo?loB8Er9;6g;#=G&qw3?w%KvxHN&IxuIWj{NFvJsrwnkMp!XsEB0cJ9 zX`g*Gx9IpzZ>a2e#*ekKcXEpcb}kB)_2-tovtw?s^&Mr$Or{|Y)Z;QHZCt4A9p?+F zH#?s_+%+c)560_A|LLxUcpdTd-Pp-P%R_i=dq=CMc>L$2(wffS9Vi`FD9)#Wb~*{k zgpVEft=nW*f^cS83KYFC-WXN+8 z0y7{X-4!=3cU;p%=L@s&0zDqPi^VH{XdSS~9oO88f;Jt~DM)ZE^>l4JYV#-ZaE@$e z$R%W6sHr*U+OoAiv;a#frk!Woz>47hpHYB}Ke~^Wedrg$pEi{EO^KAe`d& z>0lY*>bSNN*RRsFm2NF=g;tyvnH?%fj~wGF!izNympR(uxN(|GD|SVZ6D!)RPf}0Ap-_g zlUvf?>Vkvaj@Zssv+RqZ-+|L`16}#{+@*FEM7m8Yx2+8=C3B_QuHmh996kH9wgz=$ zyc8+uS13wpaojHe_Y`Ly26e&UqbJs!V!-utFV&jAKR&>0;#uA)Q$m!l<%gx%7 z653$%ig>tFN1wlk?Klk!enjfh*1M2nalaf4pm@FcInsMpnK8yyXZ=w$&Z9>*H*8U$ znm0n2GeL_0EkbwKMr!VYrjf7s@TWp)Y-psaP_|b3Hz_rc{|vcrU>hrSRn340eIP|e^hRX{ZZuY%gFR3b-}El5F2Rkc!C zbteo0Gzrx4hbhC)X0=YK;ZIe~7Nv$icuxhYNolGCtb}muiaMp)FBH<~hk?HdNJW!U zSpgyBb>g=cX{_T<6Qq`7sS{8rSE`Anv!z<8ZBT0Kp*AYDmB1=sQV$&YtR;^ByP%^f z;6}m$_1Xa!7x&~Ame+;x*;E0Guh!e8a z8~B6t;di4zktmu7je!e;yM(D>Cvc>Y?kWt|LL=~IVIY1Ri6Y^2XW$|p6ekRjZ~~z* zaHL*X80JE=i4C9`t)iLj4UMY-t&I&9PY|KDn*$Ba%GSDy0GNtCs3v72P&BEH0iyI6 zpqkB}2Bn5|v#|jp0_zOWqWJ3qN=rpe0F9|psc33MouYE1bnrX+!k+3!qKP@CEE)-*#%Fk?^viVq!A@!?>d_@Ou8@L>E>12g=>C4Z#@21zYLmc|5d zqyiehQbR*L=75OMzmSJ)k+WGaKn7=36ExNc&8Arb)C+Kz;$z3=4+5Y-e?$d<7>!?Q zV8&k0A2`A<9Ra|R@k@>2s7V+#8P0G*Lbz)(91_qajoGjH1BdvfI{?Fot_(Bwc^`h@ z2)}d$0Bhry8kpf1k@DAYCL*QQa3~_B7EWhv-Hc+{RyS*_;%kI>0{nvI4X`!PR8fhd z!X+iT!0;yO48xs(G&cM-!nXO&COCz_fl4%QUsFA{xv9rsgHnbus|*&Ee*A!guK4O} z>d}P3T;XqBRVCUWq$3a*ztEtSLc`zsN?eSBZ}AJ8>Uxxc1a(zHSKrK$%V+%JP%cJ9 zpRcJJM(id&(P1iD8ZZ=!ADr{QL#f0d+^k?Cz&wCy0JA_-HHSp>fBayuQ81QbSY_X< zQ!4xlnroF`+2~g)wknldm8z}E#;r$X=+vwX{1V9~GIf^tg?vBYbHwjl@q4}a zotMGss3{wvpaKDWH7Ey+OprTKr3Cyn$UA9bD)aki_3iL@H)dn{=RQhIJN6*jBM~eM zg&shBq^S5^9DX~@O#ftln*L*fQ*V9@kKe`qL2FQ?iE*C0eSRYL#pAi-Ck}9f!K42E z=n=f+2eBJUl>q_<5SLLfVRGvRJUxX%UpI3ABy&cot4ElQb+|T)Ws48^IEhyQpCIwA zz^?+n3}gz^I|aDD76`uS7ChU6&$Hk+Sa8Fa@w=QeZ#}lAJrw$a^To#AA7s(`!Ojva zErY*Hx^l?=3m=>D&q4O}sn}@H|L|Qfu&)Di@Ib%~{^F(JyT3$R!GhKLB)gZJFC}7M z!d|+boZh@|n4Dfb3A`O)Xr6&!kDK@H&oYI0KrAv(zxrvqqP&gSBLu2g0}cPD8EEgf z5k@E}4+-G`trfQYOjD>FqW2teg=wKu<6KptBeT#3>3x}{#>BW zOH#YXox5nx1~6>ziQsUN{s6*xA`4N!G#`e!6Cb=8@+&d~gOR5CVH6tH9!St=B*?kz z4lbsSI1GnPzwkfeCHGS}UGp4*+5oPk|FJ>C1vI>stjbA@X%1t${}ypFCwJl*ATlyq z=p`3Lb^$4*oI&9bk+IKUt726cZsU=ws6j6b&Y%{f209Gh6V*B?YW4@1{mkm<_b}KG z10K&z+fP9#2N?8O+ZC}q)p`Zav34HswB?4q(8L60K_kSVNNFf%Z3$5sDWk<%M#@Nm z`_99i|Gw&v*b2D!TVPD^{0tt~MXC)C$Zqhwn^BII?olWOcc13~=e+k) z)Z>sf(a|F{^%zNNs>D%8%#PI%qSNfg?SO_x3g3Y+P0ENSpBmGnuV!nm8~1m4*5A)# zUyxeajKiPOv2@~|I%RV66pY}MCvEt0LlO_R(pzdOt8*#j)osX$#$kXu2ncF{2q7GF zscF6nkEu1dH&@hCq>m5-Yk0?mHkb~>X83f>o_{^k4oXl(nj3J*_;#ek;@7yWVRa$} zUSoEgY0QwrmdD0w9Cj1uapb)|Y@TlfC4h}@%Cp4|IL_%bW0wU5hvJitW+=l3HpC4k zTeYdCL5+H9&UNFGh8aZjOiOl9GFvk&xiRk;8dp80TsLKCp;(K|xQr;X@d=kQpl0`` znk_hPWK_=PiU4Ysbzw+`x~Obf_p*|jRUcZ0;rahC_b%{JRoDLbnal~9gb8PWpyBB# zL5M*l3M~-OkT4R3fk1%x02Lu|pu8mK@DM^KPNF$Ej&g6c*V|ifrD|(?X|-Of5fl@` zO@g&;6x&ASYDC(5#)&m*YNF&azwcW6oXG^JKYM?l-|znq%*;Of?8n+`@4fckYp+M1 zcO44}t}nw-+Dy9d8=z&fegjE;RBX7X>~Ca4J?k;5yxYs}!cH55&<4pakMbt=n*^u^ULILVz9D=>;Dv%Ls>wz*a8anN76py~GD7%ZaX4ufx zb}YYK`GqQ=%12 z(PR>B->?cR)%!0%HnV6Hk|X_9FckTMv%Zef)(tI;L@8RD{l4Z2)KTK+DDhZIe1HIe z2n-A`P^iTzmBwcBvhc;vX{{rHXe`m5(!h@?<8I1$Dg&!eIwcpmU3EiSeJ7~~BYhlV z^ZX}w%zTwXhX15;q&kyB9m)$N;j9f0G*d}eQAv-YB;p;OB-Yi*o$aA{luJgMUP?2R z(x{x~02ilq)Gv|i>Zrh2GQ|Y<$)AI5yHEa11G^L#vXWG&zc26v!VA2;iq-7=M$SHi zIy|MQ<0rpD9UiU&E$8h(|3R^3fdnSh9<^qOf{6QPn!?+}9#dm)?j00K{_f!%G9x2#^T` z$o;ezJqNd;${tC*75p~CQN7FcVOy>PQRl1IA^IRie+z*pDR3nMv`bR6 z5WsFsQpY0jM+%GxET-C?#SS4dnrgGg*L%QLVjW7&>xiLxl$xU=v_+|DV4OaOZ#ev-fb3e9ek+Kme0lh5pVSSd=7xnjZ-z2_kFmI~55v6LE!ra8##L@zfQvrvm zfGjRxAiFjtF(FsG$gZ}9a@A653)o_2ZnWCM+C;)gu?o; zS&OX28~mZUni43a=np9RMuu^!mR?Ah{T=8Du*1}&_P3Y?u&YM7;@1fs^pyK9b^7eQ z-Lewei9?97RL5(}I z;g1y1y$C|@20q_pV-)48K1Jc#N0r)Syo!){FC+aV6}L1~_jgd9dy)5od9?3@Dm%db z)Z45ADW6@SwxqY2q|=1zVXu!Y;o#w8d>achCN9kUDMdi|zhk1WgTqP<#LcXi`a2U> zc3j#n;%gfa-@DM0BvT16OBru*rVVR`1#3QDUJzELb`o9@yh_bjN^~KZm0H?R3%J!e z7R<0^odBaacu%1C!$jfG!JJ>UlbcvSXkCO~Hu>1CNH?y*i{bL>M%AGmYkvxKWMl9R{$ldX|c%Gz#s{S06_ca4rf~ zc_nD~S51-BdAV=)%8$?><5o-w&E*FN?&j_!p(yJaM~i27@?G7gx@4lh1);B!_Weh1 z^Db(;FLcJG=7-LB)I8d}e=Bq*U(F59qjZwGTm481QAu@m~sUW!O=$j8s6 z&Ad2@e<>z(W)3P9`zdUBqO3W4?cs~r#5LkRnUFt%)k{1vRZ;)y8 zP}HwO|K=Fz22D}o;;6G5sFk5vN!nGt`5x~4l-zgeDpDBd#YOR0yOrTuoO%9WyxKR{(+5p`%I0&58uv#_g*92kluSP!_O zd>8EIr!I6w=38|I@k$+Q=S)^=r{D$f>xx`LDFh180;NX5vyBF&_8;gKq2dP))opFa zqQnD3m|M2yWZ@w%ZJN>=4f!#uyf+{81Ie@N^Icgfjh)WmWv#BHBMcXiCO^pW!OQww zNs%8RDJ+-T?`G8N+R1Q1R{auJ@Pm}b51c`7tIK6%e7}CVD|jj;=N8$!i*=nlHrD!{X*n*PTyFaXJs|D<9u zh6x6k<5Ftt@sv=05G}bUTxhi%(1%OLp@V{H$<@aN9VY*&pNQ3&g zzR;EBZ0sBoyzDwxQfSXHR77g4RuWTFCiNzcpZF4 zE)}K}z6JSB8TRj!V$(smgG8*1r$MZGh%GNQ2)b<)^$|5CjLLP3llo&e{eeWPO?zax z%@{4_Gt(lMn2|#y#!0Zs9aBd)Fd50%A8O2s(+jq5cixM}Q%qSrHX+gEU{P@+moic` ztkey9V<)Swa{UJ2YGV&|1FJ?7Xs;8qb)oBZ#I_a)@`ELWhs*njJ8+uP6=76%u+-~D ztkuE2UVK+oje#b>xBml&!RGp=-k9Q;09m=w8`MzW<OC#HzPom#Lp=D+k z3H7sZp&QyYKpfO-qC}5@%?R?q;^jhDlj*8+(#u5-9Cy$r^SAs84-5DY#pful5R-+BtopGVC?oeqJlZLZih*iAx# z;lg(;o52>gznlO9H4MoKJ?I#v<{`?MV$NlV80!ami0pxpPlC}S(U03)*kBZ!KgE#? zfJLXl`Y?XYp4$HV_!>EhQdeY#evfv8szX{|^0Wyl;n8a^T zO1Ln&*j$9tBP!NSBFr7c^&mGFXp?#1DB*FV14IKJ8lV{IWk5U-z+z5GG9}LQb?iK0 zcjuD7*`4FjOmye9O+4Dp@6O%t@{2*;`5h`2!(`_r=+q1b=DbdgUJqD%7t;8QsTV^M zy$dy1ou3Jn1eVjmX#G7$qxD>Z2X6)!Mcu;NosekzQ=ERI<5gM&>LK@+Qh#ydNAPNq z0@{|^P7i|64M}YWW`-ayr-Gg=(aQY#6wu1KPW9Ws|=O<+Ly%Jq$nMRfWn`OXWH?gM2wRX^Kt=IbOycG z#d|7BythW z+#-JBR^8kyze4-0OvD3jhv~3ebp>LqmtK0Qpi!q^O z>geXgg281J8$(Qj#4;(K2rB7nBS;gU2uh_W7pS+({hK7wy%80MTFZ8wQ>9g&;LkO;w@a)==a=j;ONLwMChkt$CqXcW4Px4pgi+4-C8QHc=AYpm z!r!;d+@{k>#|+QFRY(seF(`l>oPC8h5`w}9R)D-zyKDJ02lZ8?3(lUT)MkMmkzMX~ z5DZ(>MnOa%Z5!53^2`TXQ3#R{bSO1{!~vqeK z|AtK$<%JYn=HP{-O+Ww_$8d!gyl#r>30`-FIy5km8c~MOPUx9DXt6y&X!JmPMBQUKIHQg8Tq3 z2H~6JDt4hxGxrDJM_U#=Eu*3gXY2Juy(RALkm&7Qk;f4u+IN_`AI3o)*!T7!HhME2 zf_sPIyQ<37u#2Lurv%d85!L&6A6u2$5TIx<(h(yCW3j!d^r}jd_9>jwLyy?YRHZcB zK`8}4Z>ZoZ>hgD^6A_yTQ9kUGL&GufEMf1D46t;F_+s@*bMI6~&)uoi{x@Ppmc{pG zdLw^1uT`@m?{FNjs=VN^2f_$@Ai$5^6s7ilB!R*oN=|~)()X#l>k!39p%~8d-E%jo zbE;gZ)J+CW=I&H8qgZeU%@q$?bon`PUc_NXJt$p1=FjJga^Ixujm!B24xB#3> zk0RUweu8U-Noq3PIwT*$FoGoq%>(!$Zw>{`$QVA;3@S5-e)F06uv!Y10H=HV2AEK# zYntu)dxhAv3s*l*Rbh`f93v+=wJ-E;*(H(I@&_rT}hpR6)F(qNo`c_l0k z?p_s`Ng3u-hI8)GsM-v)Nd(--A`PC#cXR zjMfX>9g$n)Kr520GPkbBI3aN%SO*TgM!Duwu5)04KV)3hsFzlOW#CYUMdy-9*-K!# zRlPhq9d=p>5d1|~h%h}xi$s`8i_R5cLRl0Css6ynRMQ_tE{g@DT};RvL9HzgjMd#I>-6g6l>50hqn4cP)9bm$pOtAcxp%v6C6K_GDo*(YfLOU#=bZtDza*MO-(uxk;gf4+?VFk;fX^4cgP#~662GP2mC9;Kcr+F!wgGo>v z_%@}#RivjAA5)OQI`YCiM}^BM$%NqsxCIDxPRR4Q)g{UcN%NSQa#2fCBvj~<;c2)6 z+VQap&qjGw^pg5CVxQdTXh~A=HaYPv=md^<-{vFGxDsk+#ez&W!28z3-1v4+=0)2 zd>X9hz4(0^pCdf2mPsx19ZLQ1;89QAvZNMA`4Q^0@NQ=m%m8{9p*Wgp@T3^^;nzy* zXo2HdTCXYoN=oa9a9;g)3z^3fI1VFtfn8WkV-?;&J08sOkI;PZ^cH%lKrPi~uVVM( z4Rty}3=qdNoW>>rQVdd&-CbO2(wgn4Nc3%seVgb<$iKCm&C%SjBt(4&J!X8vKUHCg z`7lDZMI5B3O&*-0_@Fh1E2iH-T2E5v>diT~gR>QgAnhviPRc8nP;Z(L{E*m^npC<` zhWWQ}!KCaKy}Nk1S&Z`{Eykh7GswP%sutN17tek%!h>~wxV@H50~kdkKvrVElBABU zN+n9@juxOy&_eQaQrA|O6kQ0pUHs~8O?|Gq0!Q@QgP$qhQ&+(6GwTYRQPe5$-U7TA z3#|X-yS9xh+T)VnZg?JsR#o;f{m(jVD<-Mqs$f6Yp{7R*0WwI^K>arkt}i-AJQoOn zlK9sn;6wcmwqwoxehT%Mi25g^e)M_?>?1&Kb>Bdb*tP`zU%?a`fa$ycm;lq5{|{jr zhmmgKDfSNuFx^*q4xY%IX6|vl9V(M9M>B4unm&Lz6=!PGq8meB#k5cLHp_7dpJ!Y& zHK2M3vQ-lH^%a}-xY{Ozl+vZ$>=(6e-mQv@7ZFEto)S>?gQo=TAjyD(JluTl1B)hhG{q69> zSni#YjUhE4;|&wqq!I}w)pq%1Gl^*{flh9iL;?FNOb4K5zY< z`TuX!kJcSwqIRjo1Ts2WV#0~NyXCd!XJ~nJDbj^~J+MJ>6g*mz{5NxvjdxQpSVj?~ zL#jK&tEYU1yZ?O@xM?UROnZ9chBt|hd z&;zJJYykgBO)C!M-;2s|4NUb0e0T`-Q{CZPK!Pb0x52``=vTT5!hW0>lW;zO2s5st zU!`CDFR=4oKW7CbYjM@s1hA!Q`p=la7EPFf@+i~H7S-% zHR_|N%;+?|-I>f)_IdV=4HtAf#1jKxB_&p%F~e`;65$z>=_hsKSia zon_mpk4T3%@OlUz%t z#$1j526BqnD%}LAEwx_zT2EZ^wd8xGjqZ(*tw##;r@MLF1)DKNn|X@PLeF4|?yrF( z1?*J!;DYm_u)3XsMYEnKz7Tx3sFH z)FkN>>}nG2c!jz=*qT`WKe%*U1LnCZW(0S^3IO>!D{n;yM4`>hp`hV&7YQ|RzbiZ+ zHVJxn;(#-OAcqXkIKU%md7(;ok_I>DlqFVG-a0=Cmr-9iDb3(Wyy8JMAA>6LHYE^c z6b~*V$Yr3O7ZS?owj!wv^8Gp=7>hhIP{xvT%D{M~6QOmE7I1W1k%P)uMrFW&D#jyC z?uHCB%5drFG^=6N7*C{;FJ-sC(f0&RNl4rzNrhneA0%Q(r(yNeL!7BVhUtc+LzKlx z3pJh1ZhNB-x82$BVe7f!Fi<6(_%OWKd6x9nHCON+pnNDfwFSay?s70lqOZzBB*=@< zQRM*=Ql&c+R0cZ(z3-w&P$o(YuNdv19eEF6Ko7vFOsLYMXhXt9pP+&UYD;g`sh=Ue>%~C>k%UR&tv+uUtMxYsTar=gsSI@m3=i<~N zG!_w6pU~GR7?ZgE5Yg|6^7r%P?<+OKk(+r#d74YP*NG?P#UbGg;g@$v(?@h@0Ndz; zh>2$46=%j_f1+F;`8}ejJ%${nB756weLcjhahbQHO_3MqwRD(TnzP1JV$K1;WHRpU z6Q{~kkCvyd>_cM*(8_3@z$nkO@dvERiA}!%YEJi^kD7MGVPMbVhM@sy+xCkt*sedp zaz!6auWKCTKb3-Na(VTou_~rJr`brwBq%(yRvx^6Y=N>MYxamGi1u&x+T<1fy{Guj zb?bc{ZR~ijnF+)MO6!U6!AtzgAmm@A1_8ymf_R4v^7A7%tzF(NZ{0YAGCxPnOhL=mjj0e6;s3 zJGXC8%l>DFdd6KA9ZAQN8AR}Yz740$o?_BlTmd;nw*Hv&B-R^oVJ{)bSNYb;4I9(O zt+1M?9Y69c(L}qHYmK4$Frz{awaBa z2fZ1E9SzQV4v8go%K=JYq*ERe@=WI>oU1jN!t~dgOt0xLG>iI z{0s_cy$}V4LWEwFK}5=WNT+nI$@GH$z)G1(%`o3i#zRtUCKYVHjt2n;u4ei-%F7Pd zA-cqTSy++_&Ex9T`~w6KRtJ9{(m>Fv*!(_HV6+>Yg7(lcHPw+~RLQk5t#@$Kupi$j zW9#z()p#fJS?Vvy1z}((%$uYaVeNpZ#Z0n{7}!tg=1{uiAcC~$8so|C9#!)$98B*S z2d)?Fsu++h1DhtvQRr&LAfj})W&p?Uy-KNbzlacNme5`PlQ!0eeNiY6QC-1x@|VFy zGCDBRa5)x1J>#ULj>o%Bh(#gwZg^*37@T*IdP++U&R(p})+;;^?nSbRMmm9|FLKAO zF@Lg!5KhnY9c@q0FGv&Y`4qAYY zRA|>YaEXj`vNlMs$hys+OU+Y{^QsT|x4>ft&M>b7GqIiH0#D(=eCl3$>EYg2Y8RuG zhsnO6!Nv(;pJi5P-#AHwz17%`%-D{M*bWFhz_Azk^oFan*bdpeo!0qbIus(tk?gkq zx$!L+;BB)@P-@appRo@Dqn*^J`sWx38F_o$5HH^Yc%86KWQ;}EcR@4QD1xd1tk!gg zn%>D-;&x)#b~(AJB+%yXRG#6+=`cuy=arq|j5N?v096b{;V!sxGaW#fg&cpk!{0@n z@r6>OqG5Ua+?JB=zHv$FcZ};ZAfBB=LS^R0q-C)kE;C4(Cy24?B@oBvRd~TDNCIOu zR^c-5zIY8@;45N&7_%cE~NJ@O@GGwRpEu0x2I5W=-3pRY<-X!4Ajv0`wb## ziiTSIOU*{A+TRDw>F|OyFB=nbgk@(~9^&Nr_=Jiq#by}Tcw#StPwc{1Z02gr74u;h zZt`yQa=8I|W9C<(JZnr7nefGSy21-DFBWevqqhq&6fO_DXX*aa25fuYo*}T80gl#b zk?hPqM%p5DFq4?WWcrdZ@SkAtFuj4umuT~^5n~e!55~zd;~F%#0uCtt6h%9elvfLf z6o>IKe^1YN1sN?#YaV!}pyRWCLe#dOrVQ3*%zmON#IyzB z1yO<|KU9L4yzE?!Y!?1V1IUMJR zC~bdZGak#r{XwaD=D%nFSt*I)*fir)98BUg<8G_<)SXK0CbZNN1+Z2Jz)QeBjy#5f z8I0|gGeu7!R{T;A&0Q!mVES6L@j5CxtF|2gpT?&HZImC8qy_kN&_Xg+vnwR!5u?k!vWWaZ0p$8W%zx+p#$anVA;PPOdqV<^QujY;|^v0=- z;RFTFC2Q|RZY|p=LK9CKu#CJtGw<$9ZG^Gim3Oxb9xw980ZvK3$;*WKcX1j)MqZr0ayN5*qvQkU?bgpj4AUIYqhz-P_f zE+=fo;RW|N5RJpv$sAy#wy`QHw-M&+KqRvL-I4cDm$B4~xeKN>gq$CpvJADYF%!z1 zNo6j}H0EQm9w^b@m6x`2%<@w6O;CIqn~ijN43Xo$@Qh(lIWT-DbHF)0np5i9eJ$>K z@c!Do5_#_s9QB8z3g78?b^KO41+EzQS|h7S$3r>){hzS^!wCu3@XPp8r(2z50P3Y) zai7BL+OIL3<74zUd$`lcteuKG#XdvpX3+X#z8-6_y90b*KD*Y=L&%<@n1_eZ6_^I@ z6Q_FL#5o}>r;!h!?6%|0OUmwopV%E` zLfFeTT}!rXE4}%c^-x?U+b!@04*9QX()Am5Y1`Nt?t0e6hJhz?asiR0@(pF67CT|f z31$S~EO)&WHy^?tYa!v|wf5T-grd2&?RHDP40vVQ;-&p`C8TzkrqBdkit$KBGfo?& zvJRVn`0qa*UOfDAtij5wrI}=1yc9OZ`;6P&#!gRt>6p5eChIw(v-|3o$)Qsd^p%}7 z7r&2M=#7>M8l0rA2BEzBdzd@_x|_Pe1uygHK=~S9=TE7hwQpg(4pB$oTUNmY=yZ{{ z)6OIfR?hp30#{C<3+4_jY67uvWPwBvcrPeh8=c?0%a@GHu-%CMRdoetPQ0l7+CkRhBfb~j@lk!UpU z$%YH48AjOt8w?#|ISpl#sd5y;^k_@{!f|sQ>cpzl8k}L6Up_ZUokjQD*r{SI?luqp z39JYlK=B-`8Y8Jgl_LwshUMwJXY0m&MYs9a(@1g^uw>`iMiJ<+z!^g3JusI_TVxMr znU~A#LYcI*R?&vH_LrDNe2RX{GW96N9rMQ7+~Y>qMrL-K>(>+2z==SqsY7*Ptw9K>@EB-Zmb1MxSQh)z<%`u9j>&Q$d=_EDX-LjOnQUwRd1)fQm zvJwd^BVn&FQ(av~BR!Vt>&IdTX@ON{Kj7WyS|!%-bvp?7OkTs4T9AtY&O7Ey+#kwC zdBw7p)0tg1{)ks6{+yB{{%1##AMFeOA%#=A@GFkBO8EcD&$_=C zj=wv@-&?`|i}V;L<~9(~LFSp*JqGb-O#R<5+&t!l4cKlU!>$mv*^hekQH=;5Z(e&R z%vr$F7@VR@Yb(}mfK^F+-y^Z(6j-!_-w^UavL4=XrS)53U=B9Tuwc*^thsF>TUU2& z+6n_@WO8j2XCNm>Fgys8Gn*=QZOm?y;{5Ham zKPA$X?hUuvBFstuh_QK{Nod0u?rV!!v&xp3%V1>8f)lw^5f$&O%pS9B8g0NktD8c#`3pzNDmW3Y3 z^;%d67!RC46C<5DjVMVSFl{~KzVdnnE)v(Z8Te{qL=2l0MqDD zvm0-E|4Y*Lcp1TI6BU!Dq!0%DAdGB^2jb!O|>-8%dIyjk6-(2S%~=qZ;pcidNTxKwGpTA?@C-~k1<$y(^g-`%PxnQTyn!bPeShKm+ZJN$ zH-8t3#p;@aXXa?&*7lpT{?#hGMVb@&Pl5z%%9(lUPzwOZJdy4Wtc&JC2)kfOjL=C6 ze>ge?XHV1a(A#iSoXO~43H0l52<8G$#6$9U+kS|Af854RMc?NrNTU69}ZS7h`CV5$Y65aq0gjT@gc{B)1AiBf#TI6`dRj8#z}J^D}_DdxM9%r z>o)uDo zoi@8$dpmr~`jTblDp4M>gl0J483w7NN3gfW>1ZgmAni&X$c%y4(MeWEq&E;+7^Qmp z^NgZC-JX~NY0*rpZ+}MJe|9qr=Y`X_gGIhP9t_I;b4hk{9+fSrdFBoh=$S{QOX~GT zIz^*ggX)3UvDr(f!26&Gq*T-Rl-s+Miu1`~5+U+hZZ0LMD9 zN{dByoIIydP3O7GAzUpX;SF}nNQYNm0t9_$+01!F*Ua@`96_Q=s4Bn|;7Ggm>ZpK( zy@L7bcQAaGpnVY?=(0$e>4WH=-ctKT<;YcmODS0qC7X<7(K3mQVVPH9=^%epa3m~$ zkuOis(u2F;^d_Y|1R+Z`BTz`WMo_L#!C~Yx4s?zouba2crH)%g3Zc^j0ZR1oMnbYD znxb!W1&d^dxgHs8fdurk*?^9O4tFtBpdPy=^C`f^@6D@FAq}X>ar{gINYG(MTJv(d zm~#D{a=my63Nn8*WS|8$94v_O3i9y;QqwoWtJD`^G)F^XyE%h~6%7AfY1x z!^bVSeH6D~?o?QWWjYhM`6uXKEY0Ged0qVdIP3jByfXOjA4c@#~;qru6-A6 zbOjF3+c|iPLpyB(iKv2iP?;7uOyv&awEa?5M&NBq*@(s6I^GkaAIqR|N*UBe_QWj! zw_EEcQCXZo@gG9*KgO*tvGfowF>hW;wM;=Kd7q2rdNKLIFfGPi?x%0jSah2o$W{kh zcfoWo%JV4$r&i@icZqowMBw2`5p%3u|FkZR1}*>!ot>(UO4ts-a;}!l-pBApJ#6Y+ zE=zP>urHZ}6qJ7OA{)G5Xt`_o++29G)f#t;=KZtaW0R>zoh{SXNQ@^sSZlsxp z3Znsmr?9V^04ddY`2Z_+3dvPZB&q5Nun(q=wpnIvI3AgEQHDwT&S*B_FyKYwd8}>( z*^}8XSn(?JUaa4uCX&AimqBpic=HXLHeq$#6t}-fq;HzH#IglRPXkM)pobos$KA!| zGdPLG^+bsDVXw?vVeiy`DRov!vZ-$_-Sk)M`W=X`(ra64LpRy zoOyW}cZ)Uay6Jp@e@W&Q*eSs+N}UI{m8OoBHB6$QaTyE3x0qTl?G*TC>;vBy#h0oH zAhaa{-;L`97A`WskD?;DPqoJ;(ggFSY31y(^$u?1uOSqpH_^1T*7SnBbgLc5&u>Sa zXvb}+0mJLOcHD_;TkPhk3oeRYRANrUQp69%W(?!s`~@JfdSwtT|qb zCo(AP=$7WiE|ksdr^D1AKv95}rUt>nC>}V^sL&-Mk`_%i^ElCRxYr=|H#>8-*9vbg zB3V&);CKmRy&9I9N$auWS(nZGy>rUea6AosLhb3t&Ny+Wx?}PoIz`3PlcraO03RJL}|YAH5hlPkPTL&*pE|40(%24VJhaM@&jb<6FnH9kNzq_0T|JH#*+ z`_0l4zbP@PHBZIe0p?(=LYv7;Zx$9qh(a))Fm7nh+Wj>)P>b@AAA;msXp|dt z0IqsSce1rGlSmbAEO9D&8ubU>$IvPbJVT(o3Q+jq2XX(LbbFvf#iUPP*APhQ!|@!u;QtH z`|)PKWtd=~ujdSy#f=|WqykJHI3~WHxQHZVUA&c;h|mPLgxtVlBtkw7C#Q<7n>1J@ zj^~{wErGA+gtf}MlK6=UwZO`O;1VUK67vDqT%?aqH{fhf0asP)E$7I%1mC{)u8L_= zA^G@#HGzTL31HYJ6XFN6^Xmc%6UHpO&2ZRd6>dh$Yhj(n^=_$|-O; ze0>bVTa@JNngJNVHqe*2S_KHvn@~TXOOshN03cEs{yw@@UjjX`ZW7g5k{Qh}g={aZ zh0~cFj6-Z6DsVGtjld|PUp=NK45(kfaJyioM;!tD8$buhHer&L5tLp!ndgu2+y z0VFMA&KpdR_yi9g$t&O8XFp|L~A~Kn8ZHM4N zt-CaQ{X2s#Mg5LXP2-rJ^E&Y9!1#NS0fb+9Y%A(5Qag95QnT=^&9yYuUK*k&`3ln} zr_9x^7{v1NZ^gEw0(5i(+!3vXsdHH3z*vnBE|50R)Uvy<@G>hONq8TEh1495qa}t; z^7MB>@&A3QSZ0D}rYg1bsAqZ8BR~Xec)B+8oS0oIxZF2s7Y&L&LU$Qa?5%{V#t@0m zd0@IKM}l)PRA;wTr3dc7s4$1#LY*WV^XN)ysXp&z{2*P_PkTPt8Ny>;Iz{dr3!?|h zGcAxH!v=UbWYx~N=8IQ5{)D~vFuJ~x4p36s>m`7LJ={RGKjRcR$y9KDp3k*!cwi5~ z5xSY-fQTvCRnKl#J?3J&JZxhd! z=(bL9+vt=Qm;K%Z;pXjYH=T1<1DrF!Ktboar#A|O5HIi9sn}LmhSzjktN(N@LphS~ zu$4quH^huWl`#+zg6lT38l6q!DI@!IDvV%Dln5uc>rbOH*uYE|$eZe&d>t$W37#?G(JI-(N~rHLH7(S) zS{=^h6?ZTY_<95F8#ruOAoQ(<4R=IWNv33L_58?~m&^KFoD8zy3 zl?Bngp*}c{t4a^`-Kl1T`pVUdqZ^QByLxe`PgTc6R|^w_>!k+lKcwhtsR7$yn30eg zXww;8Eakpw-}a1uiTu5USG0>eA53Ne*B7!w)q*5=%rox3RU5 zMkTiXm}B^H(zlqaCCmgD-rEJcn(TMMpPq2+ejy;hlT2_1|G!B(0Iykyegr**oVT`t zE>?#?M#U3NK18RT5Cl>o><{y%65EvE6VRLLNX#syczIyV%V^P_71%V5fSndKNpCL> zETy=+5cdsQNdq#zDe}cP-Oti&hdvR8TqHGfM(H}QGh2>6Ni%Btg_4LW2PH}iFHL=1Ff0VD> zt{}1ceObY4C2dUZ7p!X5iqj1C9MuFyIlw@|MYZo%oz!6^LJ)L&J+_Gz#!RS-c@w!NoshR&CVW}VcjwHPjb)x3@}N;U#JJm|-|aT;cI$V$(7%Ch zYS)9yX-{W<2U-JAsMD_{pYq+j*GQljSUZUY!8}6fKLYcjJr=E3=X{3Kr?}U}svLDMH;+Pew%C01GohOl zQ?q1q5$$b{$zbEaie#3HKIXr0oQvX&1zEDOg5y1S=UHBCmZ7t;dN*I_T{=h-zq8AV z%{+;%UucUZBqLU-NDQNXVc%&1-mGp9{YmuwTUqrLj}w@vzJ9SSs}Un<5^)4Z^H&6#v` zr$FV(3;1%pRt^agbV|R2zh95(tqHTlVo)5FrE(Ch%<{YyS?;}841}w$Msx;ZUE4G4 z(9Q`6c@QU8qzPG3Y>y;6ZbusL_M)IakpJL&AhB+tanyvitRSw%;aod(3dVvnIO=IM zsu2@>cDtGx#HyrPWh_G(qK1VMm=@s$S?(AZ)S9Q*{0|&}u(0W!!hv?N`MiiQXP__P zyxpn{Y}TiPY6_DJCmVGTE6@Nvtp<%oH9?})^Z{)n(3w6m-Iz*!17GnPj_9HVpd1hi zM;PN0q+_Kuo|&MC(TdnHc4|RS?DQZga7F?-Ypr<%J%m`zy?eq#5nvtc|Lki z+RI%IQjPB*@_$}i-u{ZtENwyxoBOMX`s>0ym1z$+bk!vs<{s1r(Y?N z*u%=a_)F@+gM;Mg^Lfs>3`_$yIfQAZO|Vu11PAq(<)1<%^dGDD9pjG4vy!7V-F@|dLEV0STUo@c>h_pm5g(5}IKd;K|m`z<`v#Kqnr6=OD` zU%vtZT79omZ?^i{#Lr3b(?LJPAB18O_=C_pq>gRp3HO$@@v-#La9;(zEng$$I7EA( z@S4-;8^e`1boUb~t`D7^p*#qN9E{jtbYx?6U{!jZo<1wLhDTW=h>=m*7#|#8eL;ic zd24Xkdqp8$aIG z@#gl|RW~Cw_S?e_^zkmQAK$o8Nl1--hwjjq$s*l^*vuXziOuY$Z>SD}N%$gK899xS zf{`p1zCThJ%SeCkJG6d`wnlLH#!lWkoanq1*EV49^4>XyRRa+{grKrc9v+?X;qh({ zon&ES0%EU1@|COfqDtu1L0uZ64+65~m^t=P0fG<~V`WZkCN&Cb#tbnPVkUETE_G0I zOz8QVCa@^V#w;|}blVs-e5Z|-X1L5&2wF))WK&j#{!!CMnbxV|D%}Ltog36Hr!&Q% zy)=2l7_^rjh6qZYiLpJF^C2)I0rQbALZe87)%aAE9zmlTBPq%Y$HNaS3xWpduQh#z z?KE7h*jw;FU^jHJ-rMv^CNAU7*?-r;u$$6&O6JPynt~tfg6jd-Ynt>_rbRAV*IBIXY5jC*4&aAd}+||4zR$gePO}n*c*57aX#HGWw z7h>b?(F1l;w*^=NAeWhlo{j4Au4Z8*N)LUW*eiZxUhVy zvHD&Y;&%2#amWI1U?5t?%}g?0ZSOw7kr_z4AClGdfTIxdG7x%)Q%=L>oi;WO98_en z2pN0tlO1!@AiEy*aS7J@j3os6;v`vjCxzX&8fu-at9V+S$xI+&282e#yNY)pRk*!Bv4M7x%$~q4qQciUz zp~u=3 zcl34?TdA!I`ivD07g}Mc4zzMV8s(ry;n776<6qdDV3@MUb2nkXpH4j$;lr8TulxYn z{S%#{YXwTIp7nJVq0gPk1e)DJwCSg@BG8S6fA!Tk0{6oVm)nVEHjvH|J@*ymEx1}% zY9FEQU)jwJRDOA)Z+6FyVOG!>Q8>F}=aw3*mOWLEHqnElMM&V=nT#fTd-e_ZbLcD%IUrUycVGP37l+w-L;LC$;mYLCJ{`? zL=JrzQTl>0E@Q@TW}$CTJ!*yui5!0fT3iD#*g6EL7c^iMlsjDZFly012jN8p7(|$2 z8HWff+3)BlN~{#&8P^b}n#E~FeyA|*mV?D?LcIZ4GeYGfC3 z)%nSA(LIwAnOB3A%?J`FoVbNTl#M=1rh!L)PtZ_mO_uRU5j^??4`1*bXzwu*HIvE= znfpo0ZH(lKtUy^gS(7!eP^HvVgJ~L?cbXR$rQ`qwu(Y($ z(t>#ENeS9uzW`sO779}(l=@7{&g8>%&Zs^EBju8Ee-MdS(r!`Ias3-n?TnG}R~ql& z60?FexLrnp3|D(DGE(j`l8hT=GF-K$KW99RnB7CFn;9Kv+=VudP0=y2#V%Q$Y(U<_ zXBtWR(ZTa9`zYAWpPn!cILlaY2?#zB4IXuf?Q}5p5L7Y(6NFNL=8X9j4GMA90++%7 z9b6I`gXH=c?~$|8#BMat-?gJKJdPVO=oR+1D4eEohRbmCdp%9RMb<}B>yiOwu}n)Z z7qPSb!mYGdOpHB!1`hpQ@OjXsFZN*F@wg7qT2sU`994bgXn%qiAENWg1R~p*J8>$z z{RxVST!f}cVS_LTGh0oY``lvDhMraAQ@k3yKIg6JQEK0z*jq5;Xz-Ik4mbFeW@sLb zF8C1-&lsIIlNT~f44VRdcJ4wp1N`$GpNTc3*c=VI%cMk|AP8wCm_*(BT!(HY5o=C# zJ@ed=!35{T>IJeZ8(D#hFEDfT=0YwnoN+7G|5llr3KGz#V<#ZGn@oqeMOR1M)Q^en z_4nnu?^W(ULtWl6uuh<2gXf%$0CYG~POn%NmPdy(@@cC9{{nM!b1M7vxmO!|b7g(+ z)iQov_;nd8a(Q*8=t^{Smr)5lx}^v|L6lHmaKxoA_?{ds1}q8C^X>(S6VfBfr7v!9 z@$WgWu#wS6ad|5m?{Dj`&sD1wA6^+I2ETay_J23rg$<|{vZbm>Sc0!KE zZSJLhw=Q9!`sa=iQ-;d(yQ`bT5bkN(+~c*;9A@zj#%h*qN|q*^-)EK;5ak0BB`ts!6}*nm{`SZ|PjmAU9r zTw!iNTYGL`Ds`e0z6~lyau|{PsE}Y1cu{V1nNiuDU*N%>z4> zdg1^-Q0IvG9-z%m%>Qg+!R~>Ahn`n1m-!3P>Qe%?X*lhj1KT%hTiDl_=X*fx^F@Iq z0|YS9*y?i%{92e|zGvgjZH(SPMO?M7h}&C0?H!iTUZnl|+WH*81hTN__CH;FeBZ?} z{{wgo&Yli-7x3nPI#l_zR22zUJ`Pn@3M)0EfYa96y_jie1;)?A;%C43=@LKP;-^Ra z^obu_e`C4jvDNCUqld_G`X;p0rKndM>32YWDbN4#zR5@EM|-uZORm6AgxM`8n_%vD2IjU#N0FY-L&v-#@tF{=`gTKwgY_jB!*3 zVXevrpHiEG=fvUjjmEjU9GS1wMuC`M#>EN1j*CgR1Fv$l+=S?FMi-1VPv@+8c2ThM zQAu6h`)>3mlylWS`kr02yv6q&-)CRR6WV78Ok z+_`jw=lhR>l}}<^&%+LhYjpOmIcWIy=lGtbYRLB9L8vgVFwz?^pk{xnJoq9?3d5f? z55@4BE-{Q^GwHqga~$|YL`jMHIB-y6ZU?JJ^Vgs>!$~!6-jyrXV|o*}U;B$SWoUZe1crsdae8D0mt!W8R%Ike1WG zhV&fx=PdC?fb{Q37dqyR7we1{3)M?v>CE)fx0qu`-laKbjdN@T;2naKOc_X`oa7|1 zeV28C0@fxLK*kVTeZi{g(nGDjnzcXtpek7T1L%)im2Kv$_y39}$0d6D(6Pwdk}8cVd?i(;Cdi zQPi)`ho9O8tXp?I2{KJ2ZxoRUQ;3U6HVU?G-yMImZTr@BFnK3T*lpLg zkuFBX?h2S6U>7OU4OcDovJsqkj`d|bHmu{)EO}CC{`R||1_%*+w%9->k9@nz){*wd zX6TKJ+$^t6P*~n00NJ|0hE1@yw}nb(@2VCoWfh1)zAam|y8;l{-(Dsamu+V~5?D`I zU$$jK*?Nh}v+FN_Wxwy>1;e$y>~0OMTrc^zYS09*V(-){cEh9}>Mz>`NMRXp`__sI zSXSUX&|&<}IqhQ*)+QkA253noK5l_t;|9R6{VrIgfWj6R&K7~ZTVbXgvgtde70{O1 zymrfOFC2N2A;3*m)7E-PVUTSEZkJY+?INS20Br!sxakXqifltc?YkVkO6@0*r2+Nc zvhP4cf9?7!*<~)5Bl>Tkc4}UQRIq(3IY8aEVOyExUkd{ianPa4sco`)kL+!ryo#;b zc2v3^1v7Hj?%29vJ&;PRWJ?P1u14ok3Sei)+6|l5l4-2#q12;p0IcLgB*Dq9w7?#I z{Dv%C?4~Rt=GgO1}K(V<201_M zuaU!b18yZ!{ z4kz?Qu3WfOa2dtW!s^0QhX8L8xJ?W4)|{?z>T6EttT~P8o$Z5E3AD$sto76n(fk(CzI9Wo)}m#0Lb4LfrTjA#>JbUPQi%?@G=PLp~}WE%!30z9EG6f;V3AF3(|ehM$Tg4 zWU6euLS^SR_J8(^-Z#K?s&Ry=eylsEBLsp~x$b{9>^oQt}s8 z9wC${_saM-7(M)!BFR68FIb;hHzs&y5)5d*s}`f>>Y{>}FDSBYe?MWAT0@Kmszw7f zbkvFL;Ue751j)z`M1J@gtdU@Jh$K-lB0Hk3;lLO-c-R?S9?d}>1xN$EAEjo3i}uji zs{Nb(m(HA27?1?+?CyxCR0fds9!lmO-N+o={P6la9#I}Qp*4FV*D@GdpE5?;I0$Y8@&<@~L zMgHs#-PfkCdA-%wK#{FJXf5HVb~WBP5whV(jrm?))Z)A{8gKp;qEeia$@Cn*&57cy zBcf@Cpr(juuZRLAl++ulU!k5NoNLK=9i4HA`X}!ZidBb(3tV~Jm6|u?dpT*5$Qk6q zp1XC-+UeH>vA!*(~S2868{KZZJy40))+o zn*1u^VyXU>{s?t(=oR{wARxjm3%fIQavTwhrb&xyj6iJX4IqX$=6Qbj*G7isFkC-B~b!Pw&BaytM zC@53ZSYmMB=5VcaBVfjG5kR24LPcU}e+;)i->ep~(hpSeD^XJ9R+Ip;&c_AGA&jqE z#Lrh_Fi+Ls-2^v)Ivt6z-Gv!Xgw+w`qChZ4`J90*sK_KX5Qpd@$5>N?;ie2QXqo=m zV@7{Fal9~JD8%1ThC!3Lwk(^{Sb*l^;`tD&C!;0CBij&wJISZ=@hi6Z%)^*oN*s)8 zYMjl)fXRA$aDOc~qg{t!udkhX8663{jOTGBulw5ZDqQxurS~+ii?7vE4$vscX@ANrsPsbl~=FJjP)9$Jao-iGDROxfg|)4O@)$u zvzi*-HpLi%N%lET09nC3W2C*4N{qrRzEVN-aCluGQ*8c)uV^6op{6u2Ql^%er^aFs z!#f&PHC-J_RY|kR1chXvCK!1tdz(fQZldT+Nnp9a5OR}}Np0gkWjRblzL-fxkh=w0 zhb|aW3Oz5GO!jP~OD$^K$76t!qhOn1=Rx;c=_Kr1yd0Xh??P(@M=tIQwuj-*fN%^% zH?)jU%UB5P#QC6T3U1ADY28zMoQ(HF_bL@9Eich^Z09q|;fSJqk~F=1p5)Ok2Zn(n z_-TTXIt2LT#DYw?UvsFb%Z&no9-QX*J~6|%SW+T_@R-Pfr@P0ae`nxRCvXLk74#Rmh;1ai7=kaqh=#C5bLUc7Z z9_MQ18J`>X=V93aKNeiCrJ91a_0gSB9}d4%96?HE_93CyzrzVxgX}dN?+Beq+c8#u zTW^6kHactj;TmJ84hI>s6aE+#sUDKjeRad~QPd*sGZdwRnb;3nR)X;mX+epE$8L=I z!!$rFZo%xgcfjYRnf*3e9rZI7aIj|a3B3cd01PTFxS8LKo9>?3pYBMv(G(rWWfEre zHqk;eJkEsR}TMj^^9GQ=y`dy3(F{XxbBf!Y+%l7qa9h};mv!*|9 zjk!H*p!#eGCR6tekNJC|z#^1bdX(DfXax4VIldnIM%>orqXRw5jlyd4}s~q62#JraBzY{t-Rxg1=m<(DKXv$)$ zo;k~6>#2pAxsA4T5V4sctdQjneHl~7m-iNA!ff5B&^>@zF>dkXje##oM1tj$DyYEa z&=uqeC@%e!3WxG|fhS)tkoBZknlXYLo_GMo}cn+bdw{KllsH z1z7q(R)i1xy-B?t0E_Ch(!`+>N&k9YQfXB^(KRR$_tzaekGTTcw+dStyronkh33>h zyAjp)poNSZqK+Q@J-czJIzzBqUONaqv^09w-@u;d(+zFL< z5-LeYB_65-89<7^(7Oo@z=M^Zvi4IND-S2{*5CO2$7R#h~B2~pg{|tD{MrC3R)?U`6TE8Z$zr!74Fe&GM$3F zKU)07erE+ zr_3mb1S6ofpq>)|+7DT%y)LXqMIDf$HmmOg?ns5XVTLV?vtUs+)xZAx^C!7F&e-2i z-XJDIs)dw*7pF@R!h{2n^P=5*Q=EyNinyq6So3p~)Uz8+*56K!ncSU7tPb*gXK zhY>s7oxhLK*>Q}1OMORey=i|@V-o1F(S9Au!8+H;BRf6lZHRKuuo|i8JrjaI>Ka93 z51sXy4n#Z~$64IGP&?cPN&rMVF7(dECT}!~#W)Emg(uY-pWu_z*&R*nS)dzHH>4$r z^^UY(FYM75;}kLb5U07vR|3p0G3mcBDfqE}u}3z%Y#}xzVO1FvVfe@DPyO|mMIQ#e zJM2U;{EICl6{i2Xp*|e^l}o|`NH+k(gKyA`x32PC`PZ)y5rIA-$Z><}7GXkEq4&l& z95DOZxw)?Mb!b}Z(q!YghpB#g>*n_6zhnh;LcqtQRE*BGQIl&I3F2{)p0)e6YD z{;Gk3L%HFC&W=o+t&VY8@qw+_L3==LMF*&HwD(1LYgpf-)-{n{ z0Q0^=p%JP(jPA$pAU(*>Hi&?X(muqXzG=g?W*&GCbX);#k}?h<;oDY$(P8X0t~+8w z=eRgSt2;P4OJrHcO>i?FVM76dz%hhYW`3;%Cr#dj3{1}|K3IpDn}ep8P@M-gv*sl> zOD#Se`YP;Co4E}K@*dcFUKkq^3l1ZG5a4Fz5)C^R8)=(Qg-!K?=*1Z5uW_>;be<2*7vI(CHVjXBCZoe<$3{yGo^9=%t}}`a%Rt{yUAnRn4Kn6i56ndNScC+} z?xIwfg3KrD=mq+QQ>>nGY;i&W>e(*JA4Fu_nVHaeHKP=Rg9tf*>`k|AOz!1i#6Q_? z_tPUdkVB3`(9g`k)6yG11L+?^;ZNM<#W%utm2HJ8q6>WvL_4#i5B|rVEbij@y9+SMYQB;A8P#BcG6b8c~- zExIxziRC%fB3JM7VMXkny;=0MaS*c$M*RH+9E6UYDZINijbzDo9Kj4Ro+TWog zC2KI(AiD29BFrz+d=G1S^-p_0!H$c=Dn8rf7`?at%?+rtbo%HxM@$}M0;@ZG@@?Cz zu>TE28awTnC=p3)DOCeq^{?V11x6IP@n3uuN_l}ajPiupCccP;f!t!Oc@Oif*kJ9_ z2$>^1VOFNHO${6q-F0v+C9-DlPw?2W3`C5jiCoNoGbRrC97AXtTR-?1(8#rZFL0$_ z#{{-4u9iMx_21PF+VR~ueYE9j)EsC#41S3&qKI=t8I-YNK*_avSeB2IrIOKeLPr*v zPrDTuVs;~J+KBPw_&3XOc0In`RZ@?g~}T}N_pShbj<&pC)8>-d>%5J3NL)l;QFE+ zG-1aqJUVgyv1+%qs(Fwpe?JXhg;K(H@eM<;F$~ETX(5puC2%>P9wl(z3Y%un%ySeP zu}DO35^*|f8RH15z5=>2i7OZ7@ z#xCqJYMDM_Lw{^(0gz#GS!zk1~aMpVtqq>s!OYJwIp&rBMo0oU;-gt?0|dFI`>nDQ4KH7 z{?4X#AW0qOp<MFz~n?Jw= z!{$?%Vfel|!+--pj2Q;N7haoQesb^WQw*F~61saXy>Miv_;1acPsRQGp3&GO2}>?) z!(d=HXThMN5c_f7#W-Lq#@Xm(=~gY%SCF!PRD2)DHaW~Pt8a~eQ+*rD>!i-#+bwo& zciW4xzAi;g$2vNs0wix0Bd9WlH`9^jT$73ga2e>civ@7%K7Qy!#--E!+(0aN_%a;e z{@E;VcOVI+7sZ?3;cmsAnXU6Xw{di1%t}m6_Vs{)&=mUn%i3&GdEe%a z3s;QM`@Vv<(byC#_EA+t&7ZYczu(%DXVkRjr(Hz@Rj$^g<74z&^M(}Z*Fox46pOA< zn_Ww*KY-RrEy{qYRhT>ww%WhL$q~d1b+afFOgO$fg8DcenzRh0-Q(UfDJM8-X~2g6 zO!xgL-uT#>Ke-&bv4rP2ixmo22L@o8YaFa>%J^4t;1=HKAVCr9@ItTVgu*5MuJwC_Qp3UXyvSknLWYfh zvoQ^&F@%#mo#?`-PH-4Y$?-iQ+s2Q}L(9_td6UprLwSs(q#;S^n=!BpZ(2Q+lSP|Y z?}W0cUUXm#APoI*V&j5^`aZ0LG^%9(d(dTZh7c?gWlz+F_=sCEzL+GMVD)`TbjZts z=%6!crY_`}hdS3+N~%Xu+xrKhI5lubYY#r_orI&jJAMaw##TuAp}Et-!_;(bikNg( zKZg#x55$|Q(5Fc*fzn16Ez?WI^9c|1}Jpu{jW>$pVry=cf z(ZBi(^UE?ow!>UoyA*TKqN+pzD-X>~$2pC4Vz`5^ZbIKIzEN7PVO}!Sc0L zXyD8_Ae=)7f7hlbl!un4e|`O2{T{3|V#5x5iWrpOEL+gLK+tAl#{tg#=(~DIq1ydC ziwGv?K2`VQ3*W8aCnu&{l<9YxK1|s9w(^J84@W^iwKYlY%8BGjC8@GL#MCxs@L5$1 zGOCL0MpfZGL}n3mVoL8hFyRnhP+`}H7vhFP}!4#Z?rJHwylIA^Rd^p3O{MQ60-Q=HPVb~;VLS-8uGgh_%%-1vd zb+Flc1P5X@d!Ir^KCOth3cJWABSl)l;cYg@Pu+W3LthSa-{r(Q0~}mG_IoyELWWJb zWO)2LZKzGDO}8lr(``5k?lg>jW8u$8#6dU<);+EG@m<v2m53rrzsm29(th@eUn2?=VSP&^etCx1v5dSJAun~^N1!^tenv~P3fqfm~1DaM@ z0U!KOTY(2q$sJnc?*o~!p*^<}`Ih`-iZ=8IK^Rc{Iq(6=OE;!z-uqEzt6dOj?q)1F z1U)wpxOot6U@N{PkMG9Y{NuKH4{c2xg#m_p&tN``vTyVE+q~}yIPTyao`i&MSet(+ z^yQL`g`s`FnEcl2YfxLbfBm@{fb1MXgJMm^z$jJ>K**<;8z#N|3e*7zBUsl2&He{= znx0bp2`AqRauy^bSoe$)S(}M1TR0`ITuo_jghNw)VXKa7{~2u{m)xdxNI$ntv;d^) zcVJ=1$RHP(C5!LzV7CQBY2-V56yiLf-Sp0ZDZYD{0;R{3Y(Q__hXw(q1G!(YU2MpJ zA{p$BS?9-=`*y0qaWRhq(7!%O>1DL=ReEE=DFa~fJJ7LExI2Uq{@aL`a5Rwl&7Sx5**}bbq9%X&<|(@ zbK4y!=}?y4;-lmOdWl=n;o_nI(Jvj*;5}OCv&|FE^mCB_bd))6O)|c01BVz{EV|*w z$1pdK$-l_lJQpOyo1Y)_E!|;Y_pRu$tea~BzA0P`N4||alH%Y4E0NY=S(5^9#wh<| zL$88S{$SY81vNTLzzPv#(BC^!!Lm}PIxD3GP7I|)N=LpqW@+=0qHYs$SO^?_33LsVK3~&`62W)DOx%OJ7B}7SGW|n@1#W|Xfk*jg*`xmi z;3&Yh1P`CR{yoqk^x_U?fVfQh=bwf<&%j5VhNnbuU8aAJ#FZ3$YYcHS>37r9Cwol4Fe)ZaOxVLg zlCcb*a0FigGu<$61&e9MW%~EQY~nctqh)}Ex~Ql z=ev0gmg!pr3*yn~Gx2*&4^ineamrh)_?h^QIPp7I#;-*Bm$Gk$rVIzpyuMfBmiP$~ zh=s#xf|*Aqey8+L`L~vzm^kFaEI${@@Q<1Pk$?E{65*S8CoGtLn*as-1%8qA|Busf zB|*|qOq?Rq>z}lZEWB9yZ;-giAUHPDcZtMbvEml_zf9r>;^0?E{F#XS!=c6h6p23@ z2cIVK-^RhG1LxI^o9Q!|MXO8!ke1YBIe zMH!QIn2EDKX8I`KY(H=bvL+rBR>0xe+P-W+_>|-v-1IMK<7r+d4v`a=D4*sFY=ScW zqhO~0==hsB1F**5#K!=N6@L>C0;m7z_-~Q%pDF!E$KS*mWu`Ma{##}I)209D z_?tN6Z^s=Se-qD;{-gPC;z8i_A07X@W%!e%|LE{doZ*W)FN%LAK2`dU4&TIs(tmXL z_sa0MnEpYZeHXKSjfs<%lmQce%Jd&4eh;Xf+FA1D1s=f8T{$r2pvfO*|<5M~A;%h7Yna({JJoUsNbj;hQ+r(lN`gi3g?s=Qa>ZT;v@uGjq)vdUNd;q7cn{G_J!h$b}!bv~kf1GT;V8@I8 ziAVecUxIft{Ld`$r(LxC5~qL4e-ut@<%GpQ>*Q$v#7+NExbXj##9K)W7ySqEGK$E!#Dj~!zXTrZ{pVQ`&hy^>$f0inQlzH33euK4d28WzKL7I zCvJvs;wEi)QTkcJH_KNL_NE&XZ-SkPTf;YThHv85@QIt@o483EUKICP!Z-0I3w>+& zCLS+*;@=ehAmHT7lacztkZ+bX)&VB|Qwz@YnRvP-{$~9XgkLj_Cf)=)6Sv0S#2J4R zxAKp;8GjQuX~T<>A>;qFC4QuD#?Qq6%Ys|uf4(LDX8jO^e=`gdZ=xOU=<;vkjK7In z<4@d-zloc);YArKaUEt+{{~@T0_0`l#6*RK`Un0gO5(a$#{b876aL}IV?g3ToZ%B= zK8wm-_D%UZPU0Of3;%RHfQWIKI580@!gpB0pCH5k7`Qe39K*Xp+zg-j7ajg&;Jo(Z z7XB@1r#*4{-)F%+Fq>Dl^#2+xV)-Xd|9`OH9+=H*I&kv!Aa2vY2WB%GGbR03EjWyk zYmTJ93O2%j6#wQ*{PsBbe2G`b!55tczv(Ra5{Yx}G*%o1ABX*Dx-`YiY^iEoVK|CzJkjS}A!$Nx)b!J8!h(Q=u8IUr=I z|6Vb1lYSKbn#4bhgSSfjgE;tK&VnD6cv~F*ADspNSmO7h{Sz1JZ_Xc>*C!JHVI2Gm ziT_6&{L8c8w%JDgdtV&?ea?dSm-zj0{HLA;|DMDjh~t0QS?~)b{$L#cqtAk0D)Ar1 z@qfix@GOZx6vuy##2=1>=S%#@aqwAZ!RJc+kvRSro&_(K_@i~H7JReBe-g+4*0bOZzH>i7OWW95TEFDrhT#lK14_j$VB?BP|1}bSHx7QC#Q$~{JYM+or2qHh_`lJDo9VOW z&k{@gV&P>L|0e&e{#Qu66$xPZkLFL6#L1sn@?B#IKNh}L;^faa;qk)XDE*T^vHWk5 z_>nmAS0&E)oAPf>|2-0C{>H)|lsM!6O?bTUAC>+Y|5*NaT5z-du*UC~miWcOcUkw!%UZmgS=^!Gx5V)1{zNnhqqbp1;yHp`1eg3X z_(RMS!D;v)4u98~;hX#uzC7Zef5b)jXW%))O$3+xjSinUuMgtzKPbZ||6{ekcS@Z6 zkA*i#ocxc4-zRbMKNkLDiR*FrPn_vL6VHLIqD1gG{3p(dR_AmY-aq=$~{x^w} zf3fh7Bu@Ut!atUHR~-HkXZp^>b6~3|5nS>wy8II7^=Tabeqx4i@=v(-h=2YO7vZ0Q z=Lk0uT=F+MeB!)5jl=&hWccKNtp43s5-0y-;R)9nd?o*5;ZBK@|FLkl#Jl70pE%Qh zCY}RZ%ukzm9R3sMbt(@32bpl2$KSE&6XzA>->}60k+aY@@p$x!^NL6RJ&Au9hrfS63*I5)NB+jDe?LD9{-p(v z)&H{<8u`cc#iH*#3qHVt$D%)2;!SbJpF@H3YK)@v=C$SK?R1!DmYR^EmkIv*2?j{#hLV z3ndOX<~3oFO<4pts3Sy~y-Ao8M4fSqVK0CZX{HXORGKMI%cYrp=M~aSIlWDqS>{*4 z4B~=*jbRq_R|~UE0BfZ^>2Hu`(%&S_q<@DrlYYH4lm1qi;a1SU+b|3I_ewK?`=y!m zAChL$e^i=Df4el3{*%&7`i6`IVS+vz_KFe|^o_g?ihvC{3kn^Plo=c8OZl*o{!_v) zZ58EdX=dDZNi*a2j4&IMB#qL{`ujy`ru!yoruzfZ%s3yEX2$uDFsFz*qg9$|e^{88 zz@#YeSj>MDW{*hMN7Br&+NGIceIm_F!57lZbbTewjDwAvVik|5>+ikMCium&N&c`5 zl4mRnSZJQ#i&9rk1R3_b6RVx}r`OL2f_T(Ib|tSs0BAK8+Wz3&%&Du1b%9 zMo!HhoA>al?Zwv%{NW$np1tX_9}V2`-f#Kdw&~wL%|7pwf6u?>!GH4o$om`K&Hm?# zy8nE4{jjNc*ZW;EaN6c`YHqmp)(iRG_Jg(FY5V@&^T(1cKjiyEpZ#^+w9B(!oWAbw zukd~Q$>v?tzJBO0Kl{x~|KR)9XSx4QCxKa}-@^Btf5WaKsdURaxe_k$1D)%2HpaDXNLc( z@lxfrN&SZ5J>}7jNf-S04fk!YdAG=e_n8Y%EgE^*rqaEmr~UpyydQMF@SmfmEhwzM z<+1@N&C0IwgI{Ov{MnxN%W7}A81IXM=ghtIUt3@Q#S35W9*g&sr@NoHZ27<5ynD;U z{^RkU^KbVT6aV8UZyta2&7ui--+JBBt0$MtzhUpj-`vNoWUUvTczEh3mlyxx(I-xz zWl`?^?VFufeeY-g)pgO*>)6bXTf0A(d_$-0*W~xEXB+R!PwD>Sjg5nk&%pck@qhpO zHT!S4ap8c;X*2Pz+pn8cuxaft3w{!=!HPnq@ROcxh07aHe)6pQPtcGlO9ChUR@C~+ z6KRjUa?$m8Z~S7%xP>=vXeufnaru0_ch6jN$BpmZ{qnhQ+4e8O`=o`z!^JmjcAS@Er%fKeLao{@+ ze8++BIPe_@zT<$E15odLcYVi!?>O+klmq>!CTPQ*0)-2;O5a`Iao{@+{IB5vj@fYT zWCfs8#k)e$@3|XaSwE#*T3NAFxinByZ85A|R#GWm;S%3@<`GG{1De#Gs}gXq*dTSV z&yItN61zS%xYv^SDC~K)BswFe6wW{jyKb9_Zh$|-E@H-9Wl*}n4X3YhS!pq770zviwe7W5qE_VQ)R>yjF=vcgu5hSDvg-BBRse_Vy8s> z9tFzDvmG?-ZNs6W=NEyE55YkT`Cy#xG#Zlz`h-+`9~=jOWw!#f`4jcuVKP{M(*t#X zQhUZqs6tf=x;EUoa5EvqeChSwT@DP>}%Qmxb|ekFiUUanJemFYG9 z5`V=qWrk9q%u$MzdCEM0S*>50S6bpPQ5GnRl#)wU2K>s{$|-B7%$}lDR92QPFRAn_ zTY1~kiYj;(-?ipL>P)82v7SkPDk-0?E!aVdK*4>KEG%0 zhYoE769(MzQQ;mJfi+GJoG+Tg@O61|84ioBqPn%^dCP9FVZmuT!?!K?r479 z3%l*ozFR(d&QP?wZ+gEOapD;;@!XhkeH3mwE$$S=dn)ePxNo+k;a-@x<8HLr#iD&k z(mI5AABCAM2igvPI1FbwwZ9H&!_|_=ikMYxyEwcfJn_X3AU_Q=A$qK~A$q~u3?<+S z)(*q@dErFXt~-dd!yW4>R(gs*-7whw?iGsfcF@+7jeuGb>A=naZWIE}T26#Fi!o?P zJcjyJyl3%U>(B7j{wxsftX*+Mg<%t6JPu6%*|j1uMi?a0lDJ5gsdg@mpaq*ILH}LD z0UIds{u=*fdLO%*gkmJMIcFHE-=&B@3*kfb0-9{v1dY2aG;RQm=A02WI$TNnsCYX> zykBFy|8Gx_uh1S`yj(n{LO$?Fy&|@R7tH3J`f$NWM5000?X=(2IS9pS1wy19dl+XZE z=YWudDHVe4cY{Qs&d-YNydUvU_gk!sbbijMC9&xPIKss&c+N1!sE4pfvpIy$gXtaT^`60~W9ZnJj2eR#RH5wSD3d(4Jdp-6 zSBeO&Sez-cp=_31C6FtQ`mqh8utm$_1t_0F7FW0gH2Mex)t*S{EcChB5XVBeFwd_O z{nf$jVVRvSdm`T^x2_&?x=m;bPJ|8Zb4+esb36)Z>Vf4%^{vcd^t$(}gf~XA2WPrM zDWSdKjp)qn{U||w$1XzUso2Ra)0sHg*%ECw52wQcg+lsp7VCuZZ)&#SR2&X6NSnMZ zW6G3_%L09;8&-i&HrW>z#) z7VL=>gka-V#=!5<7Wr|`r?3=0cQAm5;~p)nH5nPC*h z3S)#3MrLmq5a>~naP*FWr-cKspBdJ!v!p31Jc_UqxXeu4c}Bn&^adOWw3Frf%(U&Y zrY$_N6C)G7d=rZ$jl3YP()8;7OYv^)Z-rhC(h1J^6^4#a@RF5H_W{=q5@>&#IHX$8 zKrj43l!V~REINw6B$Q3@R{V>YWi-|;4qxe;fLz!?VGd8&r4PwRY1_{>wn)EY2h2FA z@qjqnb>jf_yym+ErH)Y`SEMhvpC!%#R+83+XF3MbU-(M>8q=eTN2hKatcvKMucr=X zByqYV4q#iT|7u2WsYy1+dE&U)4AA!tAHYB!UT%uat1>XXvhCb=hc-k-kw(U$JuqjvI7^Z?8qZ{)DYkgSWe| zNdGaiiW%JP3`~KI+Oj9dttihs!GWG@YMoF2D&RyszQBn}eMM!kA>rf^l%D~h)spLg zFex}j4!Lg9zKFCv;>a|8nn~LexOj8j5iSJwr^4W*p)U+n2?pE-Db~;8+({gT>AMDT z(BH~s&L0wqFE6R63}CQQT~<)J#_aJo4vO>yp9BWUs5TAb9Y&Pq2O^fesx zL9dm#-FwXL)z!R=;BHYZ_(#Ga6N$jR$K)BB#}c_7d8C4a%+)*(iSvxuSsolttj-!? zQto3=PBiJNd7}W4Pk|wzWlvm%0ya|{%*V-h&Tq~19<$|vMvppcOgtKhn;jXNH_nXS zMP~GH=+`lxL1>AaNXP_MS%{y*G<&=dy zFtowj1c!BKX0*JS_PiNc-qxB6w1QTg5i2e7Hq;E%W^EX~SDiImn>EuuYlb?ju%WDx z#a`AMLO4R}aeh`Z&UZb6tYNE^=U`ta5vPiy+I(a!itGaYX`BV$98$p*n>_k@Rdv~I zC4P!xSyd^8jst5HL{H7y+m^1Ztcl2>DTKk@^lk)Ihl&J2g=?njKZbCtdGpAL9D80Z z64m(#YKxkw;hK31bO%H>bRZ)uZ>qmvk*_%woOlHb7tb08Q7XPU4yTNhycsYU$bf4^ zz%#-%ix%kGV3V*}VbJUMWkTk=7~6$w(RM;-XNtP?-5sef#0X&=<9p zh^!m`Zq_i-I~ZOedWuHxpit+!PBb2Q2D;%xlZ0E;`v!@}K*G=$8R3X}tVsX3+c=Te z5y`_e9H>k&S&w7b2Q`Pb!nqCEcM1bWSa*zvxxz@dmNz5RWDm9Vj6R^Ysd=&<>5CL-Fq@I)$Qeb1+v0`UG~c4nT2C9j73vQnKe@|&*G34A;lgm;P#3OT8*JCp9;9 zdTL(kj8t!Ge(Ke!GgGfgy*71L>g?2l)H$iwr52{nO}##~D0N=y{L}@h3sV=R-jI4@ z>P@LPrxvH)lDar`Noq;z($rMGQj-(BBv z;5!cdzr%rL{*~2{%Bt-4Kn12nU9pg!`iT~($Sy(%`d zq9*kqIiejEW42-(>g>{=x&nMgG3{9!iDo1%%a zox0J3RwGo`Z3`ra);n?VZ#U=#H)i03RQ%flN!z^LTk|uZ9!ai$6KdlAR1?F5@h|+O z(vRO2PE^a~$wwQA)+mGc_XIvrQ0NC=S@~(J?P`7+ zECy{HivOXT2E&=t?-maGh7&o<*KsS(>h10qC}rep7unal7V0lgL_*okb|Mv7HO|09 zBp-NqobTgv%tm*`%~0RwXCyY~ITBm)IE=Hj!Dv-GQp1UyJnTq@LPsjXvnKjs6Bq_s z!A4^!Gcc4*ohOGfc}}4O4Q?C(hTQ}^ZGLy?!>>bMX1MQ4$16^(fB#%XnKuOcRB*47 z&szBm%I8-3Y?M#B{igdViQg-q56S0t`P_x4B61{oxBGkOu>273yU(ZTE~Z-9JqG5E zjmqvEK36Nd7x7u8>|VuZxw88%K5tQWKgQ<*W%uv+oTKbM$Y;K?`y)Q5F{irWT?~v7cMqpcc(ubf5eB0}d+0`K3I|g3 zD?bm1EuGz6z#7Vou|8xRecb{l=Do9Sm{;x5a;NT*{lyavjvT5VbLUMyvbv9Yup<#^ zr4mahHWn|wr09kMv3XIH69@X6p=^pV)IU_2u3(vAe{u)BK_1X4yhcke)VJNqSBLuk zp0c4B`pa>Dcl5YF6-ku@xb0gy!lR5VHT4%Ies+m` z7|>(F5d$fyweZ|lcH2_epbsI-dZDSm0Mm-}SN;P7#;Fb715jT4O(>w!p^r!&-_$-B z5n`gcr=lQ2iO_+B=s!TALAROXMqg3}qUb$ds5jg|OBcs`!ew6oda2>khq0xie|06x zTBCRg2O9N-lTePlFADkxTw1}4!40DiDE{y9;qj;NajCy=*!yCr?nU?N_ciZ}IfeRj zB!cs^pJ^yQ05596F7-Y1SgBT_a_8jdzl3eGV<40#jp{&kuCpa~9z$r!U1U7`d}x7` zQ1evv_F5>r)ZYYQ)4Z7j96ZFxvU#&8vMrmbRpq4xn$+7j;9o09Q^#vws8gR5{Zg4N z2IC`=A~Cyezf;S2qyF6u&W0IpIZvayQ@R$88fL%YPz$=opP2mF#>+H#b$nLev>|o! z{*415@hBn_7z6{~O4}A5+3Q`idyK)EoV3@v-quS>DdNa}b@Z4f`B{J}r)Y2tS+y+YKL+{AC~< z8CFA840hiA8xF9R9Du)Rfjo-DOEbidyYguWZQ| zrOm3B4|R(Eg|WWD+YKVhZVIO<16buEWWawVGpY!)bVX1=sQZ{nZ~8BwW_7{!3-!y8 zxQ4u`>VA7Ml;|lZ_mi*w7xFrOZ`SjksP%Kety;5UKas z8r?n*1JFBP0zLP0b0Fv_8cywoMfTw*y~i1fd&>iiZ{2ZrbvClA!-+e*589Z7|DhY# z7U};Y&Lot({mUbhrpQQ^pH=x=^z#E70SJ*ml|3Yvdl94l&fZ{m0W0Dmcb_!#KzDXjGf{c zS?ekB;~y+G`jF}1v8iWC^$owkY^1-B$fC*6*P#8^`fo*HSNn6N875pueILcmF8Jm& z)FpO5grOB~9D(oepsO==wPKmtPOdkz38Ow8gr%~@KXV6FFSaJT==Pyu-`NFXT7S+Z z+xv4_o7%ro*wEf4Yzp<8QN!$Xz@o*FPUPDTx(zk;3AJ^r`!Waf%{G|J-FDK5xNl+H zha&DRi5p|=+}Ypn=% z58YHMQxNFyn+DeDA3&jpXyk{!wxOExc8e)e5%YrMYOXWv?QYJ^7}oJUGd>CZtZJB%5EhDgVV5cFcGA%f zk&)6REf~98CwS2pVcGiA$}B+_0}J1d4w@dm-Qin7uKo^-r%-jE*w7<kq-#QlRG;$8615LUq@ZLnaIkXrj-gC`u5D1PS- zKGi}Lx1&fNE%=0mHdqw5!Cavc%I?9uB0)Zd>s`_{pTc!-2%+p%k~W{hb*FUACoIOl z8OmNFtcGZ!$Yu5CYn@9Q%%@Sj%yNI8+G>izDuBJyG_n|q#Exzi30;e&2TUF>o28I8 zlpPh-Ags~;L2W4qVgXQNGS$LTtuVzV%$o407W%Zp5e5xSuuLti)Cworgjp+0w+-e3 zSgml3Z7|orV)jGOHrkbmc?l}-}lUDl-R$2h*8~UVawA=#-Bi+OUrnc zRV$j-A~dSDKw7v4KZoyr;q3QthBD6P)_+d82Gc_h->(Jon1OVBPc+B_3G5cY76G`l zq39F-SN`U&S+X`hywEoa9UgrdVqo@WJRYTYW~!=kEz%{F$0KV;jjSC##!%CmFH38n zW)T2}WoA2xWQuuqUjV6FpeG|_biCFdW8WdgoLb~!q*{UVM6V8XFeim;D#JA+!Zp4y zI`lQAzPkj>1If&cnax$+y|F9zC}KiM_Wz)H$e;SW3z>~cl247!kJ@72I8Tf21}@Ow zMvBq)6zWbiZ@v^T0exqEF~Y(V}IY>Ym}hIMki*AKOs@T&#ul&)w87 z`wqPMXLev*n9XA6AK7sY9`z>z(>pM^Re!=iMbdh?Hc6dg^s#P2L+XHa$4~>)<}R|Q zs6~#jUB0hfWS^w2qm$5drz>VB6Id2vc-QqPNierecOqD!XD~DrvJWNZv+7(cM(D3X zFxfK=^r)Yq6sq&P_)G^MwCliavCK^gu62|`W470&T|ITT%-hdp$M))ZlMk+WFCH*f z>w__yI^Ch>J6aMDsc=h@_%|Zfk}u-dPIlp9j1vq)mo!|B8V}Z>V9=p?os;Hk(c(g> z;nc6-xCDKn`CXxPP9<;&oP@AMD;2{ABU}+;$N5J7-RMwnakL;4An;h|0Z|h~K1K7! zi6S`{B>5!969q06-K@HvhBYqs$pd}0KJ8D@zoO+kx8*oSehp)&JIPosj}bL{Wx41Q zIkRRuYx2WuJRB=+K`gOC$5pgYSB28X)o`_|p~$tub$y|}#FRIKpE7a3*WAe1rQ(nFDHq_7P;x89-RGd;$#EO4( z=SP-$Mk%AwtH+SZ_!s)FN$k_txv;#1Q-8HfpokNOo1wfzbq(o?=+QVSN|*h#tH+?r zWUPIlr*yThYwvAcb_*S!NvBk;>l6g%p=(@77w!l4hCZ;()&HBrbnh|M+vYojs)l;D zE{KF)7DVKXiHIKF+ih39hd?IuL7x^Q3U8Gi-UiBbY1;flPRA6@ zdoWl#ys!H%_QJo;8IG6az`z#o(f>w-TD(UXYv@s7k&3}%$9%lPOQ<#lX;}^M|5Ko# z20A39)uyO*tq6zjp}M1>dJj$6jy62}=fX*Nm176rkeqO<9K8mT=y#DrP9GmNwY5mU zuu|VQ*K8eb*kH3Q)Kf-~Kr5;!k>SqgbD5eX<@tO(=R$#UG#qHvr(=N@8U)bJTIBHe zEz)neofeL8;Fv~{=(bN7=i8a-(#zSvbKo!cmAYV|Z|th!CREQ0r9d zx>3%72~faU)WHi;#>bqg8$rVZdCqB=X*V?TW!;6W zz;+mg29;W9?IHye{kc{RQtqO;`cK{=TbzaZAF*r@wIey5l}x5XdFjFeGQ97EZb!b` z_e6i{6;-#y_+ljbRT-r-fE^%S-1jS{8<60Kp{fG}b)98Aj z;O4O4UM_W}p==+=2JS7C`QXO$VEQ9WD4zd;0lyf2H~m|5xckBzI^2t(fLS&{QEr5` z??ssTY?V)%|0j2s^cU+H4je}xNgsbo)NvTyb)x$ED7DOA^~_>+U{ zyNA2C{DJY9lY%-ydO-$&HryNw2Zkf(na@9Z8{Nh%kY$H3HCJS4$EA3K8(o%SmwqZo zIG~4edYC3Xd;oiNGDCH3oHGm@7K>0jM!-^5V9-?>wO4P|l?E#~Wq3~r@2-w>xI<6a z+zXo`{liKT4+>|p?nPe_{0@6N(LQGtbh_`kPZaax`ffNw2I;@U6XGUk6dKA7ih@sd zSXp)T%IYZ|ZjisAT$VndE- zxzbTj%JoDV#MqcTyN7E5jTVjj3`J4#V?1rHFnV==po-JS*yR`SbI)6ie=XML8Edsh zEe$MZZ>6$yG~$gk742Y(Lfv-%kWEe~nCkkWwheVV{DV5qRd#b3XU8yTefb=$?4}+c zlU*3*EQ4N3KRyKdOc(sC=`D#{@$`V`=1FuF=wn^WnI+I_x8Vwoln&HM%I0i(7S5f9 z^CV+U>1g5JoO~T*vK^`9fSs3hJzQf7s7M7tN+^3K-ju*tgSc3T+DB7RQn9?74trOk z+66VSU**;P;6-B^=@{BZY!Ptc4I5O>`dkJ#ZDuuB9F!fb{9e zd|sGIr9@E0XczP6YJWnZ>@l!OK%cjNAq-d@YuI4ny4IhItZdR5bHx@IDAb~MF;#67 zw2h#I^U8?x7cyYnLHg97^2rJ|!Bp_2Y5l1KK@T4y3LS`gt*axoaRmIdh`6@oIQX>W zM)dmDok!sK8*qCfIlHq9#4WCzFDM|4KEw+ikQcdRPq7y|)WNl8k$NAcBHW7^-av!?wtc@8zT73vSd-5G^btefQ;56`Hw zs=#ex9qnSi%kpV#-$_8VdL4RIM%h!QASSiYo>Q5{zJS=`LpPtC?q*&rH-k_&TIh_6 z<>nI%t}Jd`vD|!gx*PqR-uQHS78Hdia@U`J?mE<4&!Is2a@kfJmg6u6+ev<+Z&2S< zH$Yk!AQ579E=4$ra}ih?T0Q+f$eMnK zU3fH0K%)LdAJ|TH;cpNfy^sRaShkWzKpz)!VnhF`7X6FgA1Ts5gW=>`p^vWV`?;Bt zop54otP1p#fj){fHtj+gM z77<;c>|hZy>J&5eA5@FkmP6TyYeg$!-HJa(A+pSvdqa#?VXZ;ONKSYnr&;uoGTRt7 zs%(8K?9K;?SNC6EhPB&O#?X>`2{3dlO;#+6x-rF#Rzm2=%+wg$#?N#lmN-T^LKYxQ zc2J9*d&uR``kR%&yl_pr{uCmmwiM}O5D~RmE`iU$`s>echkVpvHcIa=hUlKGymbHY zLSH?iZKUymNoe|gk1!c~(nMyc>u(ONU!nwNhik^@a|C4$V7?9q`W5Ma_!C3Gy9{I; z0{MXm1YKwSsTxv9&&nIaCEiUWS^=W!`X#2)Fg82ndQ-8$on^0+YfF$!GgAhLxEARX zL|!?I^gKqR1<}y*QX*@v%X-KWf09;nGe(T2n7Xm91EmUXL0=Rh4+aoZ|mJvNpESZL#G4V9(l>;zqk zI<+%RjDyoSP3KL=v~R;y4EuYuf(&hKY35oNRRC*!nQJ|mhtt+pX0Dw8y_Os&+<6ZK zYy7($mX6N~q)^Y4;rn$C_;pK)U@(wvxl~XYGqBfbxsH*j%@pWr)qQ(EOkgOv^R$eF zZF!u^O%B+#n=qKm$eKH~S`d4S#0DC~#6kkc_;))h;izLd_|AYO#Zc4Nq3%9waxt2{ zXgZb;%6lfBybI;M2v6SdTio4op?DtW3NO5Ob)XDjxRc>Km4i?paT`gf>)du-pObr$ zQpIo2EOx!X`q)TVs~&2zb5{A1O=x5NV%-Zj{#*rl#c;{J$1$KGBYkV@iB^wez}6$4 zR;Ob?$F+>N)BUo*%GK8Llda|FI|h`iN6OD{E$<5#qd2n97@)SEYz3emIlq;*5Guy) z{9ME>jCKn(0AkUw7P-Z7+vHR3yKYD2*HG3b24@Sap;eJBs6`4`v6zb>jKQ0dY&wl< zi6V8-f}-*7_Erp|^2~b3dzpyE_*eIET1rd%0amSeg6sHcgy1^NLJd%FOwZdk-N;#6 zo|cL+TwCtuQ(~H_b%*HNi)m=1gFg8Pc75l8x_-1j38UQ!Ph?M5R&c4eiVCiB23-93 zU{p(feI!=D9xq}=&+Pk3&wpMaJkNmsO)oy(vvsRbH9X6SCFHkgpUgEp*Og}W=eUI% zHy7WmzHPrQ9eVi5Z@cfj2Tq}gu=U%P*DLF{V<(s?>ljUF3+HJQQnId|T0LN)Pe^r^ zNThRHzA5>uonj5~fZ(z|CxxwhPZQ=|^3#nWNv4<*&lC*H6eAize)BR8KEi#mreeP{ zs~9U{Zl{2XZdrIuI%=dfH|v8SFQ(f4v~*$i=~`c=SSG@B-M9qlx^|3A7ppc*Uf2d% z(&gUrAZ>fornc<;Cnm6*+H@qaPu4n7aGgdH7ooohF|{VqOqg6V5x|sHk{_Q3aEL8) zfxb+9$M;3Rf~2F5mh(Slz|05(xFx)L40uqzM0bPV(L4}+kNM6W_cLF;#=2bfucody z*VdnaHf#(3C*BQdQqvyS25+Zp*N?-A!k&{fU82aXL9{6|Md*$84u#C#XpxW1z=x3< zKY+79y6=&Ev*pmgf>`dPJ-Ef4ZX{fHWq2a3b}+c`gojqxb}$Ao>H0!xt))F=8_e+* z1_IauM{gTmHN5Hffcy@Frlb61PI?X%yhdk#L_e~EA5c2ID&P!=sj^}J^|rM&ST0qu zGJx%AC2OPVjVYcr)hkiKpt0gYTeN6$MjZAPSd`1}0bym8RHAU4W|XH9Xm8|-p);xg zvA6Jkvc9Tgs9+MpMc>g=A9b6T`OFL z3$Q9qe*sk;b1?zN>c0wJdJB0gV&E9q<=woU-JDKDL?=h3WS}OrA z4sh4^pk=vwbJ$pV(}ov_I8_C9kt3#vW2c3zZ`IE;i`&#AV&eVblc&`EMJu4aY}2>( zMMz@u$tHYacdF34WO;kUhgQ}zb${z4QpXyc#YooRgCfMCI>4d_WSGv=dh~7R4mOmv ziXtfMY_XmmyPuwF^4(;L#RZg4yZu5k{oaB66uJM>}C=)-CmxVVLm`E7~Mm*glC>suvUftB`|&#*9#lJ@n6>(LL%v)!Idc*!Q}R4IuWa z=!NV=K_XC09{>0rV1&aEP=qtfL-%xoA#hn7GShf104ekGx zp=nrtV$iTpTc|&PZ_SVwNo>zuSj~N`H{An`8d0QMEa&WU-@$XMV#-$9GE=s+;$xY` zo$8UuETkb^o%&eFja9hxRR|nWX~|iH*rLWWRt5_hp>R=0C57v`rJ{Rq|7^(9ikCUW zw~TFK?a(%-lg)AL=FXYurLrqs=L~I{jmjY#EYcRvwhf+&U>52dn!t$q7e8V0w5tp4 zSJxJXpXIAQg<(kXPZz z)Lo-LH-leb(9o+y0uk({2lR`O2Ms@c8l+{h7VWB5j6s1@|2HLZpXg%t$6~0FEi9|l zv$OAswSz)myv^&{Iz6L#`Y;=uB&dUo_HJ<*JGsi@GO++)F*e^Ti%mPzQrI#)AJ_G* z=;NC<2khT~RQk9qa7CieON(1+;irqfzS*?65f+$j^>re@;cG7K^66+7EfRe<&|)Gj zj?$v9uY?vOU?KI8==P6)GdLMbDAd-y-2)mNh3-8A$77x7<_~%LTrQx%-_=&3Yd6*j zksD~}P{O(~VY}y3Fyi5pU#s~1N5%tezEJ3p`mwA8YaFq6YAokgn)8O?9)b1xXr<7;{Y(!huax;UCCkf1uji(*rNtinEffE%_>V7wh~3vTS9-7o ziH0iiciN{Wi<3RZ1yp`?l8#miT{KPA{Hx)gpML=h-CA0h6K57e>u8@Fp&-9mNy{1H zJ0&#DW}L7ooaO@l&9M+DqQ$(M)>F>MQ0D83Jybx@dVvR(TX}^Ddl4+yH@oDLONx`3 zBkaFI9S5D`FBG&nt0%q_s^i^4{cXI0Itcv)gpB!yGiW>`Xh;G-CjpWY^R6$V*!8NkG(ipO z8hx&yCU+_+%Sx*F0i2bq(0j!eCB#!3y!9h|9BJ@FDCiq6^v%B>oobrH6Y6!)7M~f@ z#Y{7{y-?m8i{S*RDAdmpC0md_jj-Tx6y04h=^h3>)TRdA=S;d>wkGO;Gt++ogH97m zJvjGlaPo23f_0YU-whjC=NK&(_Q<$@9Z0D^vGL*sShJO;?<-*qfUr>;o6`&bLh(ao z&@eS?^n3LuHvPra^NRGK;R`t7e^^7l{4B;tSl_uEZ6N2EZ7|=1Xv?8B_!{cuz6n(5 z(RB;Pp3=${`B0Lu=v{Gx)q&j&X-N%^f#_mkgWLmP6Y8Qj(A2BV>Yps%JaS>Bjq5bK z?gp0=+vj>69dCA|C~9kD<+O;KgGGRY2}-;E)AL0(P|?#D)95MsRP>?6;=FDQp;lK^ z`vX{kiVcS=F$Z2&>njOh*i>qkB`;ULC5k1Lg?e+5!BZ|;XE_}V$Bz-JPyc= z^5^9)BJLHsC$tm zpFhd176n~efBM@iFql684Pm1e=zGg_DEiRv?xJf!!)|fWkhTq!xTEp&CwB;si6mtc zQ7}lUf|QskLd+KzURQL@qQ%!0&b#KiIg78meunpYW$ajm75d6mVi}THfWU82;ETP> z0~o$0pN=l$0)^6*Wi{L?Uc!&7@bk6imvy5Y!)Z15nL~GbrmH{|zR9t2c@;h#h0pky zp_9HrB?dmmv&>ggU4k!pRAXNel(*wXu8iy0vt;bZWs;Ujo;Go!WaM|KQ><f>$V;%*AfGApVWdH`)vnxh+i0Uc+<ewH#h0)E;{4?`EG}H5f%$y;soo0)45eA^PW3BvmTrvg7CT<)Y)Ml9W1LT11+kg1#ZoP*@Y>t*qC zXGI2OYr-) zlNUFgl^2tZ9Km`CvBbB1n**sf_$`w?VY4c}l4~SQRCDeBhrRECkE*!#zng4e6Bc%n zpaDTv44M%BBnV0jfk0Rc!fH(Trx0l*iHU}gCVTl)vt;8Yn#*OCKDE_WTPU=(Ew5^; zHvYo|cqA&e;ZGHn)~INAO`b+gC1UFSzUR!no0||Q?fdn;*H`k%-FxT%nKLtIX3m^* zrU0>wWlpbIpv<6#*2;sRX=L9R)Iv!xe~{jSDq-{VA$l9y%vSdYd~hGZIQ(AEW?Wve)P7l-!e{BPq#O7!VhlUK2_w9)(^dX7Zz>A^x^Qs}J(F)sBWkbq01) zPI|WmDj@3*PKIxzS=wwvJu`L^5eWX2@Bsf%vY`ysUDKm<+VY!gd38GE$I)l>7F8zWwNIIdIJ& zXg*TSvM8=&DlAB)KyUvOfft0T8P?#tk$X1yMLPvQ$8w5rAi5yv z)Uhq5dgt*F_sK2J<7WbDubzUsITYoH2w)pD$m=FBy}lh znexQNuk5G*h&_504CRE6ToO@G0amLiRtGsZ71R=)_utie} zZh{29Ils#arAyPL!f#6H>C$b5(ro;?rP&g=-?P%CQnxfqDle5Qr6g%>Ng3XgC6bbs zCL+Jv@{x_ZLM~ggdhNOb7<&}o1tsgHsr2nGUJdD(k|OEy%Qfe^3b?AOq;hOKOUl;3 zrXU&NN=jmnfbE^1jBff6oFJvfP&R^K~NSm=wDJ_)}5~Vfk5HRN& zDZjL`xTFYB&yw;h#OLhU2whu_(`b}6c{VOuD8~)(*KEckVL?*{L;t|7uY+_bKr<9) zN3*kqT1+#BpxJk*1JmJQ%mV1ew%Tp@pd(ciWKd_V#uA0x#ER{NrZ0VVdS|YN&>!9# zO{IwG+X5r*YMHkuAe5YJY(9cd6T-d6V={)&L#R(y$3>FEd)r50b~U;I|* zAcWl*xE}ibWM|_bvhlBo&S$Q=(47R|(<{R0rJ0@okteAmCfoJaCpf6OV=0 z)a>$GA*Fn9&-VzV-n|c^`4`(G5Q5Y1OvAQFX$^*ePquP$ksXAT*w7tm&Q8z(Cn#P< z#24P1PDqm3R(lZfG+PfWlZx;pX9qF3IrWoB%^zJ>%Es<khk} zc~)_{!h21o936_(^v($EWx~zcb82J=J_}?RRD(X$FyP@q%nihMA)}{+1MF#?ZB*mn zFX@-i!TMQPyu-fD1;u}2JYE6Nkg7eJs?9{IILHCRM1aq8RC1Sdk`Y>xE{uIjLQGga z%_p4ZEiEL2u)NWfEhkfZ?q*+V&tX~)cZs~UlH3{yB0sjpLrNr2i^0Y@+|N%?71+PF znZKy7lRX&pb&%+#?)lX*M5%`dAAzU$)H3(#Agu>Qy;0*>E}X{Cl^U4+>P&+Cgrh!j z2cI7IOVqV};s9~qMuz=x89`$OMK+3{U>aD9+8h*|if>V&9g$QG+a9~`)Oy=JTj9cR z%`BFr-`yceE&s%i3$UNd^Y_$o);}08{c*qhc3kv>hhViD$}ZOY$bY`!+gPWA@ZV|( zbKqO=YxZ!z{Jx-M#Y50(f`2mh-QGAGv^aK(vv1%yxmui&6z7Kn$C;|d8HG5o8L0L9 z-g0bO_&5r`<@E4R1hpxSr|{XQhyP9sPp0roP7i-v3%?rSG(dhR+Cw;y;Y4DMKe_1)kaD=3bF_2Z9QgB^0h(>vYHbd@DB9I{)7oXfI63C|p6v@@`7#8Y zYQ)J6d~uSPY#{6MV6YAzMIP$K>QGuCr46N7wfcHrI%ED z?K}tm-tSXBOIOKjx41w%QN)<9e~j4-KYO#`3^0nEGbi*lGzeeyrw~2fk!0Za|o= zwjQ1;V+p!~n>`^{r>*|m#;)P0TU z^toOh92(r7OpwA=C|@2L%mqkm1&kGekH9)S4%i9 ztjH&`wCNIQ9>s?}94L$1iDcgB9OoofW8B4Ub-U0s*dD7{<|J^jj{Clhu-&_j{NlW6 z>uhy(`1IasD!0|$$zKuJ%zhJJSeQiH?)@EA!s2U!%|qDEQ#~j4sAbq1g1SgOpZ~<& zd&dU&oM^H-B3F>p){65reL>RR=06;Jmv$$|wf&Jn$Gr`0nc5<+q!cJ7Mk@w9Dey=; z1}Fk+5>$^Co5lA75^|6o_R#b{97h@CjHR$g5Ek?U7)i?XeRZ+z?h?$_!FbfG4|sn; z_xUT}1pwX>4LltS0=&RL;3X0WB`7BhUM(C3@MJiH-w(r8PH=4{I4NNU0tIEN3ghrg z^X7FpE(7+j+4BQJKFH2M$d?zY5x&MKtZj*K@iuQ0?bV$pc#OFxQUTPS#k(}beFTS~ zd6vL5l*|M#pFDLTH}ommz~HP87uU>@mt?QH4uAdci7&*|&)y&QRiBYO!kN=I=; zdS!}l%%S$CfvTO*Qhc-}u5!@{9Wr{cHqLPH)xsydR_&E>r2+)t{mJEBy?J&xfQoT8U?l;-0Rjk zcuVfYC9EX-uol)51x)i`?}gPhg~TwGj|+xMp%ha_-#9%lgkTE8QdkKeq$^t|-&X8c zgAggZuwrcq2rks<3JS|`@u)=k>E+LZKFl2mV7Rp7+5(u5k#SL~=6kDLxd{d+pvqmi z5s+3&nHB3QD<^BAr6px|gfSxg7=(NS!WPn<2fg@P*zYP;k-28P2FmYXIc$)Y03U1f z%QoR~7&0YPeNnZ1HcU>E(rBY4bP)rirWZ&?B#xvD8LIMp;JdW22(3!>r)o+IwTo#h z3k&a%a-fAcc^yo1iF`!+^_EW6tCZ$dth)nHl$StI*Od<&W%`jfl2?KaEn1HYg~vL% z0)-YJV@7U1v0H$4LSb3{TCy~%H8mQKVgNhqalaDXr6er?7n_gbNu0)@k0j0KODsrG zf9L)4Cdqpe1=TT&Zm$N zTkMvEu6dH+>S(X2VlL?)u_0(`tx3g^=2%$XrJu!G)$J`kc#pFE$8fs zBCWr$eFB9h$z>tuQ(r3{lydei@z>rjYZAaCM1E$@R_R`p%>J4l~pj zasRfu{t93MS&2=G>#@3*H(wNTZH3dDnhcX4z?LHF-~v9{r9q+9 zJ>+~KDEeVJDAZG9{Lu%0m`5g3z)E0E9B&GegEopZps%cQz? z`^`hrrvu<>2!z3bF4Ev%JhxSG?KT!Star2zML+9LM|iyd$m`jKew~hWJ(n1HGHT(K%iFz_fqW;#3*&E;NR_r4Cr#fW~cWc{+gY& z2M=DB;q^QMo~~Bdvm6&ExKtQVahN?~BiymL&({-cg1&1e_0`x&_a*JABw}dtHJTNZ zngIb#uj;8)l3}Q_eH>vp9JT`14VhX@VlXXAB-X=pHNw%Ws9m4(|CqL3MqQpsSf)dL zrsFOk`vkA1iR?nmrgPQP1b){Nesz-zx+U1p7M*l2l*9AfiMjYq+okz0+jc81D z>G1;*7_Y})-Ukb$>f(5-x+>nTwCus+f^39-v8etPztwAcIpG!W-sJibN)v84fhyC= zTg3VTDJ%=?TjK|tlj}`QA4STaDJ}bu6nQN{UW?=HsyjY*A#HGMTgD{Uk81kJEO#of zn8dQ3nw%wXVQ^6jOEod^M=gDg7ejuCsta{JTq|gYfJ;)AU0o5I_-Z?d7w|}-N|s&8 zvMO276ogBK31e1T0y`xOo0a)#c_%6(VN*XTk5p|EAqGUkMHuc~TLwYO$#nwKq3vjb=*{e<%%xcpWV8GwgYQmmZ?ms080Re1=Nm~Cm_K;=Wc$^tWmB=4C8bMYN4fzuUo z_4omht2C0osk2d^P?2osVf zAfrotN(p6hX=x(uuWCA;LI$*!1I{+W0%j5jl&|SxU?m&MHCYbDzXE`S4k>l?7W-`C z^F4$Om9}!z)^mhFND=Yu*jz_l4>_Zr*kO8A^!vJv@IoZfBDUIlIn=8-pK9j3C&0ah zztH6eKDqazVQ^EPH;MC7oKNu4x^|BLBIO_6(U}<wD$+#jX(IZR5ZNd8QPjhmhS;xCg{Xu`V{Fw=AonX_8>OKV?qMW&{nR17s;C{l zIgM|hS>-xXD8uR7YfgKRP-45wj9-<}!=dEaKAMoeC9Zz7_p1rj(Y0^8vr%*RqIn^w zS0t-=$Iw%?ZbqF|#{41q_C_K(WTpWLF{XWcA?pA)BrLpSXP2@O$>FW_2hn-B>#3X{ zjYIAQh{J5#ODrJ&$R_U>%A;-o*~~Db*67PUOHSZbR|;?PKoXpH`RBEXRz@mc_X^uR zD^NBJBh2x^ykD&(ZBxY4V))km^!HJOJ)wo~!h3q1NYjJwsrdeDkDkxDyi4mv-o#n% zAHQ2Gx4-|H+*x;@p2wNuwxPU75Pv=1-@tP(o)(lxetMcVt$aKD>hVlBg!Ldk#j7&- z72{j-@i;UE*P>I1?}%W2_}d&@8veEf7t*)W4*43pn%z@(*b}X#KKYjNAhoM#Q#57! zOtg3Q37q^~N@bi%t-eC#mRJ20&u^{q&%dr!5nkL8sQph(tv>2Ih3yz^6~lS?PEC|2 z7>lj4*D%neu%|p&jQps?8>yVBo3Eq7oV^j6>nH;9MWDtI{`uol#-)VYGoV@i*l||tfXyGQ2Q!@NcGN2Abm*3xxlgut_CdD}}FpwvW1+b1J}?)#gt??t+wp`H{y`LLeV5Z{aBA$cNxWvYMh z8~F6TNWV~sJozYv2+{}@@Z8YT?8dZ56duzgDf$TTsQKNOif)z0tz0=m<+tcpS`Tb? z?gyB_s~hPdYvycG^00(#AW!XntLC~@2#bV=4hP+9wdg?P>`A-pW)wXo(znhyx)aukBwr$0ySllCC_x`+7ZS<<*EWrxrCLc}7G(#x6s zY6Y=2q+e~U9|1^`mAuB@D%1woVy=?3UXIW9N!m9`)xH2J(e=~(0jem5@F&NJ@i7Rw zg`TFK8hV;Xh0~6WLp`1bJhj<@rPCw{eVOoteMj(P#FwN+eLFNa(U!SAd^Vv4sVjP* z2Nd=EmslehiXAIh&EXs7{pL{$H&A;4@>L!s^rRftTa%g|$Dihu!|fN>x2lX%F#$oi z(H->?;o=76l=2`ovF}CtmE?;>YQHs3@skgvRTlAl9jcEsU{dcM&f2s03^7os)_&SM z)|zSCwkcnlz>m*ktC5L3oH=GwmK%jxRo2Wo5X_Y?k>Ww z6-M|&+%Is22vJdV53s`Aqp3MW#5_b4Q4kj?1QF4xt2QfZ;{9TX(DI!DAdu*sMr0H# zO3YQcZIifE>>n+GuW<51pu9)~8%wK)ajJT5rHGlnw}>Z2PQm5K0c4#Qs8F1#{T=|( zh@Z1oWqy;&s|j9KP@^LZ6)Vx}BH(M|Bis_%; zXOuUM{e}0;KK_;5!%<}}EncTI8lV}tV&yr25^9HC^#{xG0R_Atlj^_W%szQJ?fPn{ za{9*4pn`nX9bhY2Hg~r2{_mJ!|5pyiDapt=q3(AOnq;>R3N(S-WC!ja52Cx@Li@Pf z21r6m*b`ccXmj`)mhT?x$zwZ7>9c`gUbzo(XlzrQ0fYJcDZPNTj0W$ZHyF(6k0Arl zvmNvfwNh`maUycTHdH&W!hS}k>!AJveBQnI0!MIT!c{Cqc(6rGGjoGC>$mxbfx+8ZddofHqEwWG5G z#g`HaAbsJEDykVGnHpMA#94AD2uMQ`CLOG>{5W#&yBO;wr zy}VDIA8*c9Gvb-wj(UT&Zw_3G`k`Pr$!(!0@Ll%f_MkM_S(Cq=9^6il&-{Kn_T#6A zMMpCn`@(sJW_;rVw{Y2|ehP>!z zg}U$=MlbB-|LGb0UD&dMV)WK0aP2ViVceiRbKo5?`ZfGvZ|v)^E?3*gX*k~ zr24nd#b5#>x$dy-k;WpNy%s6XuZw)1udzIUov~wlACXgWCd| zKDsb^FZHx%KSEGq(~(pC>cn;gXo!W!n9l=-!5}_t&MU%%I)^^x5k)mldmFaGIQOwO zJ87Lk%pfOlD|zLihYGFpG>7~1y2G0O5uDYQg8tz^qB(P=NL@z^7J zJR=O)58g~;81+I>C~|WGfV=?YaYre)PdR>rGbzT70`@2-k1OCoK!qZUur(-Z>NeY+ zX>4kXtN9Q$m7))bJT6i`Z3@OIEmm*e&@E1TysfcKq_I;PmY}Fi%p3tp zJGZzx8-wP0S7(v!8T^=DDS~MYG)j+&e-FZDrD2q4ceU&_OGO}9aYbq12Ubn&{jQz{ z?^yU+Dq{7o4VU1{4nK2cjF4x8@)(_CvL9@%0GlCRv!*m^{6kHyftx+vTkq_#JxI29 za7!zDJ%&n=7{%}@tpR;TFR_N3wol*2SFK%UV-i$bn*bx5_2pb8ORiotkg+@+%W)uj_ z+CZ4%bR21m24fq3;Orj50v251G*{R9$Pf(pxdMrFiDyTmtDAVd#Mlj(TwQ5S3a6WZ zI!vx^GBpYEe_CDM#9mofsT1@vOB|SU^Y?41IK9Kce;j{v3(9@yUb(<|pXLiU_pDBW zUG!RRvTQvYwAp+;4fW@N`?qX2(#t3mWhAJ7M#nR>^}Brg2ARfS5yZoM`G);@kS?rZ zPBi0%e%jcxXj2!|i9j@5jVU4J&AE^Q@YAI?`&Cz??Kc=?`)$7&ZhL&MKX#nbRP!#V znq*r1U`tZ~4cB0r?{5jwDf)i@HzO2z|Fu34`vXYH&PGVQMQ;9C%G(eGRhK;4()5wt zw4|;DoA0j%ZEi=YOS^DLQKVXmlo&7$ag@RdK1QDe>2dX7vg%3Z4w~Z9+K%9CP~`@_ zTLmuql3H-L!Df=LBSVN6(Y4QFu0VrbqRj;O?9*O<5bY%*y7q5z?&pR{)1sqYlD}~7 zKXZ%RY-|ydW&~{zE$rIw_3W1*3`b7UQ_?kf^cEI53)>+ra69itZ=N4VP9WW@;#4aL>U0}l6hU}~T=UG$>c_Uz5hM*4n^ z)2%w@H>2v@I}*`5Fe@D-*Jnjq_b6-xF;YE^;m&aia=re- zr;KN7SS!+|gVee(SAMCF^C9#p2y&d}tI<^9Pc*fe@FFRl%Bl9L%a?ImcxaXdRr58@ zP$Fr)`D*Ai8Y43h;<8>rV;Ba=W*htGkZ}KW$7#KU0l1*IBMv5_-kzxU0~5;Tg^~&7 z_g}tBhC+EBa-5m2U8xfuF3?DzgGi-u;m6B5UfjM~ zeG_71y*+G471np^NH2aNq+^JUb%$b7ZZwN{m%#WfqQHtR{ffI}euG*D!MnhpHu1ed z-vPQFF+$0)4_`>$)`rNfc7OJPoucC_rotO1WMLQr8FcaOGk_jnsj3n2tTGW#;l z%xN(YaG*%+zxhg@F#@t2j2ykI073W`edU_a460OU231gG5{TmDBwEt9Isv*xDgZ2s zyfF%)f~sQ>hmh*hfWclLHCJhTtnyLQM=+<%Ei+XKfa=cj%9qogqR(1-91STWB_jP& ziXI1gcQL2K#{~w=2YI>`aWEUdSFHq5sm9=7+cPiwx8CSQUsqmfI)&x*;imWWCHU)D z4PB(1Z2BZl>F&S&u7Ab*o~`jcGZ$9h+V=J09IFxW1rW7N!NWf>z4pJuw z68Az2_qA0wwV6eXR~kPe?D-#v@bt=e37xcV|JGLUH%CHw+GXuo>O?T7rW zv>p<52v=4)hSo$9dl>QBz5~FU8rueIg>oZAT3X3zQC=Z5M`>sdqr>~&xW@M)ivg8Cgw&Mw0%3>Wt;X?(vvH`y6)Dc{xTA z3L#PdEodJWEa)O#jVickgKMj;V1KaEaGhJMcAQ-|hdedL-w8Dm${?09b}&FfntWIMZhs z!C;aXK($Fq%!4dLETk8FU&X8+-Kz^jcD1ZHK<)9zjv)CIm^R1hbVSJ6GjEan8IsUN z%TURc>!InM#FYLkmWTJ7Cq!_o_SP2DjNI-s34{xnr9-`XxT zMhiSxU$^af%;8wE@ERrc*m~?|+7fY|(%HTWQCK+&0u#rnAmvyRfqSC2VF0R-+BlB( zNNrhf#U35I2_zmz*>|CuqLqLRta(oO$C$w0BOCS*Xs2! zsJGpj?K2UgypF~_i@_Zjri2U(Y)#Fwr^|!=^X(?gm+A;Cr@-BMiFCZQOJo~jfuGY^ zv803GwxeAmg~=`%^?F8&bIC8=s-p;BRRugE>5DXf4>G5Np{K?SB&d0!fiO znmiq_q}-v7U4bB)rC`^HEZC2dBg>{|gFh%Vm z$Jm1iPs{6AKWcrdI+C)3ty*=}T`=0-v7rmnz<|NvO@=#hd1psO=MIh=i@4h?>QHik zHG#AYgmNs>9Fykkz|o8joGN!>%b-@>Z8pt{f$^bsC+DDr$6inOE-a2PE7l0Vb*1XA zH!E(qRz+CgBncq7LxHEdB*N^E%~9OjETO0js@ec3P&y;cqtj4lc`{WN=DTs>yU99Q zcP#dqmBpjYnp1K6ETN&4*J%KeM5YyD5}m#;2d}@=KPDw@Y#ZXq<*)_34HE$_w|ncl zruVFoBdLkN?o8ba^`E@XruVS`=}a6-k(Fa7k7aAIwF0`;B_<1Mp}I||_8J{>EP4Ipl?(8s za{zcXK$RolG&y1B#1j=oV{Zb%ghUYbYhgqw^G93M>92JWlA%9|;(Pq&uoGyp^unND zf`M{D16cP???wld&#@3f0q8^+VzJK=RubP*j^t`Fpe3br_PGNBM=rFg0hfOVebCi8 z^kz-aM?nF1(wL;|V6zbn>}97%BWu$XDX?d#hEc(B=%+drMIDd+c2ZYrj(QBg+#%=( zTx_Oi#Q&p(`DG}X@64$S$u!TTh@?Q7-<+DnopF;uWmC5`BaK0}-Axry#}fDyF*cQX zi>9}g*3(j??yLBdu%?|I_zk#Rd=(UK3@78>y#oyeHxR^{;cdv@;U0Bx%}>LWK)|xV z7zFBrq(^D#Uo1#S^ZdIJ2eF(z1B9w0xeX3S^4lN#Ahl)FM^|=C% zWzE!a91v|7T5K`9ufV#DBupcey?w`7A{6qJPmjPxXF!=h4g{Zw2GczFwwaiEgqTVO z+W~nojhVnH>J->*V+(Any$hh@xR&}L8J9pfQo@Ej@g_UgXZpu*MfwCmY89E&FpjmT zRt{HU6x@eCf@&89D6`FcCn;sI0fvnRs--?-VlXPx!G!Bri1}MtY{$G~x9rG3HL`ew zqo`A+)}7?BgXnw|f%qJOd*r>u)}7=Pybx8B{3>A(3&y6k-BvMaD|uZ(S~T>XpK-Ca zxDi&p86!^Ir`@TNouz;;oqCt#Ug@7cDs2XR%NQ6s1^TT2L^d5u(j;d9b4Yez6zDFK z689y7kmC9!P`guZpS?{vl^A$DuvEF%tb`w12bOfNm5i_~+MhKtyV>9@Q zr+_*uCCSsR%$lZFrI?kfX=c1Fcw5vZDLgxqH(g@XfjhAMvu?omPNIa${5=+B{&&pn z*?`3WJ+EF6*$^LI7G-e*_EC8E3&KK18OixAX)udkY{=}dpdvAfR|Ry*i%|OJaZfxe zJ~t#0hrol7!2lhkRUk$+oiAd;U=6&5mI>}7PhYx&>B0!XQ`tc-5Qm>q7&JdmAG`uS ztj=QVm8D%6{&gh1TZ4@p=)?x>tE_=4YInMw4?66)xZ4^eCMo6Tveq<-F5K0$w#%y1 z0Zf)Fl><#5MyN}MnbVebtzQ6MD7BI`16F%!gXDrvY&zr2JMcbO(4en}c`Yyk`}_&i8t%bSw4fnE%kh03@qQR&EH*6>#XN}oh$aI( z+~G@2iCHGMfp-OGFp8SwUW?(7D7T1qbF~ASjkZ!ies&pq}0cZD{O{SNzy})fS z*p%A+)@15)xP)yQU|Y6>%3wwbX2<)!i`+dilxTVi>0~C+y$|+Ww7V!a_45q}+hsyr z_i|%O&+OFC*I$UJxSw)2)s}Ne{9XI2^xX~BX@6`Cwi*;8XIbD$Ey@^3D1hPLei;^U zWBSF*Ssu7m6xwcjy1RTCamP&&Q-eBGeuz z5?V&BijPC&F??^GZO@=Bw)$ZUwhXDaU0WZSDG~+2=%ao_%MhK0_W({>lGMQB*dR{8rhfzV8HAFvrl@E zsohY>P;yftNYEaU@`ci=;Z=)INsVbZdZ%&-HbG*(v%tF%BAhUODbfi3OjUgNRu83x z8j@fhyNVbV=msE|gRla=8MS_!<3m-2>d7Fv(?!j%A|I{hUflk3x$-$7%jdgjr7jF3EMEo_9a>M~Ued=tidH5faLd!s0Of|R z5Rn~8Ib`Gnb~Ahg2ZUR|zCx)`rNV9~Y->NaVHQ#q(Lj66Yx_+j(_Ivbg-*QH_hraE zw&>)%I1@}S`o0BY4>t8?d)jDuIC(ib~QJaCP2(3 zDe9mtOMB|=p+VkLF*2lAGr_?XZ}1m}iV}GpERRsSN%_s-<$jU@?cKWx+DVyYNb*%` zr6q~3;k7H7oH45c;$F2(Tt8K57uA@D)jx=E>H%)+q10-=MR6INub{JNXX zIQnQYxFJ-*2~x5IOFs_m=Y}X_PXI^6riKr^-Uj{|q;={*-0 zOH$`t%9sPPMSw_9JYxQlImK7L@fBuP4t?wQ1Rx29zQA8N*j2b8ZJ+44A_3%?-Ia+IL|e zEX8MV(1#*nU1Qbd*s}Ke|5o?6-AB5Sdg+~WaCi}k15a0+G79H8N{X@xrd(*!Am#$M znI?O~LTtzBXd^FH$vXxm3u+rpxB=u)$=k2y9aBAV{#oM`&(XS&t(H{()EUR$r-k#; z&5^2nG*LdPz$|ZrI+C^ft$Wo~d!a6OP|0hBcDN*85|Ud(@-?~>&V$ii5=a05n!rR4xmd0Fb@V9x=$LW~%+>SZ<6p+GC?{}*9zt66 zoVWxV8&M$jW#y9sA{9cc%%H7%iF;72*%91t*{?ims15^bb zJ}Fk=P#|e(hfuJFvHDhXvYNNQ9@0?zl~$}o8xox_AesNp9>vp0`N_{|iY#QL(^mIu z^d7Wl8@hl7(kVcIhQ3a31LyvB=q?|Sl2KBc(;_E^AUEbYX2RJ;-Wb)>l9ia6>j?LNZz(|IEU42@PRD;ff{AYzs8AvvCa80}I!Xdm&3y zB()(%G`H6wY$>6-F&sJI-tZbvCn?2yE_{}R>mtcy-Tu0lt8pB)pL!sTFq+dRgASc^ zjv;=6+k9Y961J7rW{MywC$U~ezot|DO_og6Ic94i&q_`f#B+B zcAlVw+Hsg>Xcd_g6I6E42a?)qFO8()J9}(fFTxj0!rJZ~CcGru)`Q4Ei-`#qT^2R~ zTC$SJI4(E_osj5iQCcF&nDze6vmlm}=4$akeyt_RwIAo6@IVAk)}~PmDEuHel5%Q8 zaH6X%30b&0NY#THASAa4>ai>^AIuxJ_B4N-(0&5{x>D_Ah|(!XKcSi3j-@@?$%1F6nbOvrUSsNhYXf->f} zQq}eY?buQKJp0X?OHmQr!mUYL@yrP<(@_)@y%CO%LbkzCdvrG>?4TPP`t$*)g+nAP zM#uBTh)V3cp4L&n&(?Ar0vriNXg-go`f!n^sMV1r?rD@qn1N@_i#S>9D+PiYG{6qc>&|<8Z9FM ziYVy#xfLX`0*lL3Rb!5nF-Nu08n6#aqP3=PcMMQYo3R|C=NQ^;*jIx*<2Mp#^*E6+ z1xZc2cML@PJaN)yOvpH=-=Br%F?5m;9Vmx8GIeO01z{`tOQNy3eKJBOQ~T8a&_$9@ zZ-kC(38Voq2<*ye-Z<0dm|hHq(-Ybw-INd*$RLcPqq|RQz&`aoa|2R(bP9LW6Hdq_ zKT%je2)z_*4uGB1J{Z4~Pv&*r9)YQeyZ^eID3Apt~6{z5t z6PxM|SAk{)C`J2)tTdX0FwfDGZ<=0)|C8v_IHjdZF^~{PP~^_KmmzQ}KqMhf*6@*@ zqddfTVpSz=RY~Gvs`Drc^LrCej+V_aMLw?AvQ3d8{RC)hxaO70kZ zdHKtMjcNh*tI9Dz2HemXV%h~6PT(UB!*2}g?y&8dncfZJYFMbB7 zxp8SAA}Fd3H4u$X@%SfH;ua|zMs(oF+tfH_WY1f7P=T>2hZ`EPllS40B@0N1LYDa< zo(zgd~4$Vv{J|yG4BIPEP0R^=gpAvP7PLAq3ZRcU!oVdv%YlF9yPn8#m5l& zg5^+~v;0zs4u>8^{5DDvGJ_jS&V z0UIt_rp^g}qEcYIQUAp50gaUf-gA^M6uo|Qw$lA9bu-9@eTp01mj$pUIW&E8PxPl`${QSk{5(pE}1+|vuqdvX}K|qYdhQeQJe>f$3uY@ z1!AzE0|()Nbq5bNrP|$dW1>+uXc-eRZSzI;7(pFud*Z(Ekr8u;n~g0#N8ceTjf2di z9rCC6W^*dd=p>Y_t@cHHd1u0e%vR*9IuD8qV;t^OY~;=W=U(RZ2smBaZO;scAm`G9 zU);rI%gtOKuH-mqtNR8r|6B73UW!Ec6OiMM4%-8b_0C2xQ?Xrzj>0bBn~0%z=G4vC z(9UrN{3ro=ByvD%HLmyArMh;(1_wg}&M1t6ASq)55v$+eh^3r&0~p*6b{DhzDYzkW zhY}XE`vt9RvI|DaRtQ+*Ug({<(mmgRu$jh+UeKpu_mc4Wnef$ez3Qm0unw4tm+CsY#bo|5U$!#Vc8>*%Hr(D|dIj3fzr$UWhtB*2UX!H7IPl5FTYo72 zE~M?Bt_prj5ceTNnESUPUJ3m5_yzdJpKhALxt+GruI(!9UYLTVw2egt8uY6J(7nhq z-VZ2+=O7GMK7cPHiu(5bf%{a*wM&>@LKYj{SkfL`A*UHLIR`vHPcwUvG^3yiPF)Mg zy_&o}BOii!w~6FBjbTv9mpGlML<^#MJ-cC}9}pzTqYMz(?yf^%@P5jPYl`a{AI2A& z6DAGABWV4t?UfY%m0jLU=#V!W0yo(E^%hp>!x4UXYyl5$Y`uU3Y%340a1TbGF=0+L zW^#`Bq#9KXMTYpm@TbWeSx(&yA>{`!W-A~+dyuSDx(v>FaN1XhlmpFN2yq>3|uw5CL z;ww@cd=6uVaIAF^d1sKM zy0n~ebs1Y}qWaP3-`}r0U5lvbG?MLJGKp#EG!9!`(z$_mF8!Fhe=VUNd-v@rhe>9A z`?C%}iNh$J$lt=m`w5MBGuh6QC*hJVuu?hB@uomj2Dj94U)wmv`4EdjDNRS-Q=QwR zm()R`T+Eh4#QfzjV+LoQt@b{`#zxa*d4zX%o_iRb>qRrEzGl$o8Hgl`Sa5D-w9iCt zoG7k+w32t6lsW*_o4$9)X_8q4Nv3Vjg{g0O-tirXL|itmM)Nw&<#mPne3)me`-DKF ze)88EimKGNd1(F@O?MZ*h~2!m=_81RXt-&H*<|u>I#P(Pz5TNJ54PF%EPWyc*X?b0 z=bl5iJJ)s%=Jbwjy6tfP0h%|UISDo25nK+|0j)r8(2P?fgo&~HFxK{L)1+S8hw%Eg zVKQKT&AYP!OY+oxLW!1ix3ME-Jr(6hxD9RcpKIPmISX~P_iMOkETMig40E{e0a zFVNTAZN-#hpblp+N~Rr4UF0{I;#k^;@V*J^`-|eRJkE^638D?X2nHdMS0*X0NNQ#* z*Bkr(l*8IFWj-y9ZFP@OS#)rTgT113$u3{+OQ%yk>;cq~^ud9bVKx0TD49g(sPlyV z60M}cg1H}w60)(C5LG^jJXxgz3QiX)Z=$9R-;mnPMGX$AD0*%jv`xlQa^!cBFMSmk zHY_K12Yo@(9l976It7fxm1vpR&%1}<8mnh;+Yimn;)s&k5OtwUGH|Cgy&aM~?sk(J znUrbH7Erv)yBgYF$WeT}$(bTc93DpX=0iG5*8y?!;$S6aWKqqnbY#gVmCDTt3fq*y z0kjf<6X@o7V`d%3GGbo56wq_Ck>BSsu8V`v~uZ{)iJuNL6XuMj-P1-+2t2$G~|EoX5a<44lWnc?_J#z(b5MBoND1-YhxDyO+ z;(MmRt*2iH_mzflh|Ebd3~u6oUTtu@;Z8NAhbn`VW(eO1H!+d)zi;7Vjv@YBxaS(e zYv5jJ2%iu4B15VZqiWH>qqXJ4DMRER~y{R;Le9z|68Gd zoZ+qKYYeWx1(*5a`8J-1@NCDk6VFfZ{0z@-Jdfk~6`rT@{07f+cwWTQh-WXJW;`$B z`5m4^c<3_qW19ONyn}df?XL7^JSXu)q8|;yGaOGWp7D4l;JFgdRd{CO$-t9^=Q=!e zA^Q?MtMJ@{XAPbrJa^#1J)qKhJe%;;;HkxPFP?AXc@R(kza#Gn{0^EKA<@+(#m`6* zote@f;U^BA=5jpAc&@{9GoA`ORd~LG=P^9b;duqm>v#fqy79!Ib6tpM5}w(3uEVnm z&mDN~#Ips@_whWAXCI!Uc;3hJ8J-w)#EbAu#xn~~7M^8zZo^Z9=YBjt!SfQH1i<*f z2ffcD?-S(VzYO9cg+lLCQyi*K3?3Sn0kC)NSD=0GHc1)tY?Ajo4@uIye~yw~`CeLd zIC<|!D_B&-`MDs$bQ+$LQ>I-xea2N+&rHp~bxlEGk<{xkcV6av=K>^MyjkS+5Z=}k z=v#P?#k)%LPsX1Ef09N2OQ1j9(fi(R@B3#C|7ren`Oh@KpNKGz{~`wXqj2J>|L^+i ztQPQehP3w_?fsH?dlBvpd4DNf_7%i7z? zUA%X~tn|s550`Jx%i-{czx&Pf>d(GAe8(SuMeerhzx+6T+$Vooy6`)HBKNU(s@_ij z)9s#LynW}`S#Sr2Oc_4A=EBOGuDjzha<|>P$vJ!PUwVF(=Z!Hy5P6bA$h< zopGOd*Y6YW+q?Pgt(`Jg!e8qJYxrIJ#&`K$_}XjqcC6kWF%R#+`mC$z{i6p)uf;p# zgGZ8og!i^f_P_8t-qSDt^BvYqgg=ya@1^EXe>h>`kmoiA8oZ z;BNi)&i{xRwf5IzD;}RfL+cv}gW`rQ{L3TO7oV(vxPa6>WcTgE)4%xleT6^xg$?e9 ze)`CZu~mm}`DxsQ3rA4;i_7hC@s}pwa`*@C3*j#AoOA2NzeP z%d}yj0MZjhEng??{K=l+w2ik+gnNbe!W*Z4T>sk7p8NWFVqV*KcmHVGZ66=rT03KC z3fvigvHf|*zy0uV*CU5>r^8);!>!k*<}baeY4el!)3IjjWnVlz>ys<Rck-rva|v&fbl2mA?~Z_x6+zK3KT# zrkj@!OO4HfI}mxpOjq@$pSyk-s$2wj_9s1CvTtiR`N`9^-_aEM4f%^dgx8ya=17C;f9g&A3t93 zNzZRRm>HymYkqdy#+BbOZ%Vu2$LrztzBB*1JAIW~r{2CQnwA)C7f&2o{r=9c=gz+1 z8=fX`bm_`865Z-K0N{>b9(fu-gF8<*Zqa}0t(D6RF}kHSrR&PV!P1vn{ApT(Q&e6-VVS#9czh*QmKGNF7SJOVt|{&X zSNe-oUQ*th9U#)mC#EC*OeQ@);f^p-eDO`cktWVR>|r*E^wTt-D9s&?aQ@>w2L2ag zptLfkw9+xTG{(J7UQ_It>~Z`8?L~Hnaa*pQYY^eqSf=c1qh&Wfz zm~mFHD=IgYtli zZbv~u0VSn}bJTw;3_kfBvk#T!^jzvdVPQxqQyl~@K`Y1+GZl?B6)iGV6x^FaD_8eG zGr-3Hj8=IECnk*2N54ey;Y7%Yb$IT;j}erLS36R=KXUkPuI0!ygcpudC=6 zO#X;cSt(jn2diQ&dub@qT3%F!YN27W7fpyixuS^Dgb`PIT0>}^1#t-?9b;5Ypj%*} zvZ%74sIrJqP#`)>45Cwi!AR-bW%QmM?&9>p=+!HMdQ~vC@ljr}uBZg)&>NX@<$kD* zK#`kVE=meVL%I1=*2x$I=-cj!l5#BsMex`XJ)xBAAUp^HWJdX*SZ!TEvAN{lAB0bt z%6U7uqFPKx%vvG?`PVQYm7=TlX2kjSX43ohznGey2kkrt{<$!4mix`e?ZVyNKbEBO zpNr=)!?*6Izn?@Omj>t*XVb)?}VTB z*6(cbD6A3XRU!T|yfg5W;du<@k)NKnQ7gX_?_&7J8p4hvKE+#Q@XNyYKk|O_F*qhT zf4_NMHqOrfA@`eG3BPo>)#ui8Gx?t7e)Cug?{~j>50n+ey~_?{_kZVpbLxSxafCWa zy;oZQ58Q7~IM?qtr}p{hyWf1qRM4IO!u{rNZa;s&`QLZHIrZUxw)@Q;fSD}jh%403 z-)|m(0Y%3TNoTt&j$hs6!qsTF!JG{#oPNJ~1Egk*_nVXLh4iW<9K5>+@1Qr`L%w*j zaMN4dL;fWRbCBIZsBXaqF>9u=CYUf@`3Mp!WG93^_RtU6(@Wjwj`o))sDogT<8$cZ z#e44@Emci0nCX;<3pKR6j_dk=gN4zGNx6Y#saQqqXKg(x+06=k(#-bZL~~Kng}DLK zV2(g~VB(%{^pvtx>%w*B&cCrgY8q6s(h2|d2zaxBT&!(eFF@1l%uQn~Ji^-mqr_65izEw6{}1nWu6V}BD}`E{}K zrg8uVvths&$^6rYC~~*o90}EPo3sVDL3Y;<%Rp9i=NIf_n)sH9x?EZo9YBr*7fjy; zNUaby3p>as_09FL86HS{6SZ!4F&3ad&i3rc5_f<>g^4-;bPFza0v1v~#eG{En%c*3 zo`e|~AmJJY{9`O=K)NprC}w+y3Bo`XAhPY53)R*)uG0I|Fs=kL?oM>}$guwi>xi%s z-h=DVD&l*K$E{fm*l@a03s~$(bm10>WK=@GMoZi>pxM$ofA8D*d*A+H_r4WDhVK90 zy>Co&i?_q};_ac_z`e=(z_8Iok>#BkBS&K3!UPlMnQI&@4otL^)P-SSY3xkQM!xjj zObLhWpm&(y!`$%{GBl9LCNC9Oh=)~f*j>MI+3gX59aqALaYXU{U(+jaKU^@nR`>Si z*tD@-SWv*uSnQ)q@Ihv^rRS#M3#Oq49f+7b@8sLJn{smk(}4v5_FO!IFg=Je-UyeG zgIv?83{!ElC}S#Ix^Z#jnfnj4@6B^fEKp>;zwU)Znl0>@tai|6pZn{!0&k#T1KnR& zjv&yRv)x}uG4%WE63`x+!xWW8jrFQ&Y4_K$r+$AOIsWGR z>nM>1{NHtdT`8p>Ysf{r!td|7zmD?SVaSRB8sPrAClHVCuggHs>b<{?ng}bOe)rc= zWO09;h^-ZHuJ_jwOo?N;nJ|A1rIs?>Uk4W(DZt$vbblQ+Z77P8Xf3PXUq_&+L#b+X z4WQ^N|M2_k445=uKj8g!fTxCmrYoBorcR7;Omuwsv>JH)!JzkhftT+2@Vn0h_T2x$ zJru8gm&m2};Te9jjL_UN|pj zZq7}sSI1mdQnsd4E+}-&lFJ}iP%x!!qR=f@lsUBeBpP8Ztf(kk=SX)B} zF){1cl@#DatX#MT|rd zR#KEe!Iz4R5*?xd%B~#k<1R`VzecX8fP{tvr#;s=CRDB}8$ZcGI1%ZMF?+ijB5C0s z2P34gw6ZXqqZUteGZ7UPrdC^ni>Wlt3Tiy%ggdsYB74GIwczf>DrP!34vQ z+osB??oH)|mHnc^yV9NS?&CYYtZ>7W;_)#tt1CBEuE{SgotA(uH%SOAP2%A;aZ-Lk zLB%9NbtaV-mfhwqPSl3tL_!GnO~*uzr4uI+Z4#sxrVx#at|+_>M6s~KK^>aORP_4% z)ur%r0RFU?7;*x-3U>nBdMRl!(HbQ)(yy54=xYSoLPm+~3e&1}<%MM$r6PDV5~Tq> z33104fMlU8l)@ze9->+?(L}J2-|Tcyt7yP0=#;=fqJTI|p@g$voXIInq6oz$YaBRk zme+tt!{xZ6(w$}?U16N{Azb+t75SSq(uBi*x1d}Tkq@ZW_%n1^ja&hzMFl`2(VZfq ze}smF@k}VFv?=b5ZV;#&R_DxLo&!mQ8&+rLIOi^zrW$tz{{Vpr_$EYg8B{Hfa5?IxdFrH*4(c690J>Pfbdh>gBH~Q}+2&b7WWp5& ztc(sK*pmoRdZbB??3^2xtX`h8aETKTvjZ^CpX6}O&0f7=;bQWo&)lrJIZk*JxXJxM zp{yO$4*<(X0gGH#S#n!hVF7i-LywA#+j6e4_r*MuN_n3L0Rb=tRp0 ziU>gtHztbkB%v2cIYx_NCQ9v7d#xUr04N^B1uLmN;Cr?yff1>tJU=1)YtMoI%C(<5 zacJ+NUMv7UsDC)T0pPmy4u#Y&QeX~!Fqh<(86NrY6aL!167!PKDxEb;sKi8a2_ zGrT_-8Z*=|Er{&3g&uOJfnQ8}08CZuSMu6*{FJE#El7EP_?fs75%r`QlNOd~DUCr| zLA{w#0h1hvo2Vt$NqL_dGqD>Q;~}VN7B?(QMUgz+XqoFdh3OC{{8#Rk=j;C8g@JQe z|BH$DZ&~=W1iwD^Y3To5On~!Cf8tR5>n{D#i}VfC|KG*`By6g%$q=ja^E-erSLJ{4 z4uIQ=Hkz~tV)An4jQ}kM^hsHxU1DYpZ?fRjmi`o%^QI56t3?s%*c=)7SQOSTL!ArK zyQ!f_9tU%&?hNNRK+67`Ax_5${j%Kw|?{Pp?Y;TX>M(4}nO`Jk&agY7Oq+ z!fP|L7SFHBTztdz&eh9Y8sQZ^4M#N8J18HVgG^3AAlHCql-?koS9&K0(r8K0xp1C7 zHRd!9WEY;Y!nsh^+C;b^9~oS(Rf;+kj$(Ll(~ISFM~X4fi15DSopDXU z#yXI()uX=P~d*F*-xVt{8z z^54P%=p_x|wLnTjcns5UXZU-EHG36eg-`&I7{jKKqb0BqgS%uc$qmvg1$_;#Y3N9_ ziA3Y#i+mC;=U~G)V7Fs7@edJ)_hJr_DQyY$(Zc>(oZftR&}rj|e5dL8@V-v?Ocnr9 zNJ`?J(U85-M=6Cn%8`6S?@;G7lj)aB56A7>nqoLado-bpez6Q2HyTH$iByol2XDAF z+=*(F*y4Hlx_^ch!0GGkzNhqOle(qRzz5s(fmJm)Cfc%^me?%HCgg-}TSGkc6oago zbH&0Xs~13KXlag<7#c!~3L}kDu1v`b3sPxrmO9hODyPj|nwja$%{?!}`OnbF&cpb> z76a$D{&zT*lbEB!y$(#t@_ny;U0IOh4%)ggb4KU*iSzLl{8m;iL zl&5d3YT=kvRGNPqP4xy=bWy=dTE`n^e~RCK5x<6++O+-*um4YzjW;kF3i93gSk*!T z^(^?pgsZcM#c~2E7;Y94)fvLtN`Tf1;dM2`A(+)zVc(%IH}y3D0UKWDlS5mMl7v2` zBISZ!_OrgW1+~@UQT7|aI4%SiIllnVtV{+W7UKSieN_`ED*Xw%ox5cI4NF1KAp&~+ z4dE1GEqumUJ6pktUVPQwg<7ctRnEE}Bbu zgwyvyLqFd9Y0DmgMqc=Ex6xqJW~hInr4Q7)Ejy(QSm%EoGzxmz_YK3PE?)}0Y;$hI za`>uw7U=b=OYN_D6(?)%R#{YM4_$Q*1^S+o$9A^D1d32bkA$DUuzTgp`-J$N)K7Mh zG%jw&laELL(^z&IuP{cGZHMs!rLh6ms7R_^S=yy$n@KAy+oCM(@jE+}Ms=hYVan1@ zxU$L8K{4eU$b|B5aV>p~#1E-coGIK)h$600>pZeWb6y z7)tJ|;_XVy9s(39&R;C5f5mV0nqE$L#k)7TeuUCg_p;muy-U)gC%yT_@s@@4t?`4+ z$@QkDk0RyIlol!zc`ZR+i^bKg3zb%1n{CUOqZgSg0&3 z&TdWn8kcfU$!_XNS+z34KRZ?%Fa)c|&!bz&+QvksKfJ zQr;l_aVNCZPVjZ(T}a}Owfj6BlAKCP*zyo6G27ClkS!M+qZdtf$ zz6l?#%;iK*D)*zJT!#NLF`6iy#611Z}!~ymF4-RW1f&P5o34EAMmTJk`hdj6hSg~ zrOHSW%*2RW6QHE5lmvkUK%$Za*Z`PINpf_AXU0?0?(y!i9pilsdu+Ft2>ZnjhdqwA z-~8_Nb>95umvPvi@45H>e)k9b$V{oGyQ^xLRm#NgF6W+m?so3EXZa)jBLdQgKm3+* zfBaX@_}is2Jiq@3wcr2cUwKUuh1`hzg}?katPZQND=tu)*t<0?QeU}9{<(tNr;zj)2R75MMJd98Ocl--{H{+Hw*e0Y{7{L9yl2ImXh0}inGqs+f@?PzqC zmL`_lwUhp7A8+Cwz~ADV2Lcc6+O>cG8tAuAy8S`VkoXU-owg^(p)|4euHoP~`@Hra zUc;KN`#MeekFMc{_UET*lYjeK&`WYn{KwbWhY@;&3jc||c{L5+|Ea!Z9qlptBYm5Y z#wGk`e7pOS`~J`Ucj(Z6aShu=UswP9_xNWwpSvF7|6t!)1AoVVhx-5HHOUjx=JE9q zEHoU@Kfd;|Jp%tw{(ri5o~!Ubr{x#%X>sk^|9Wk4z0qpmTfS=m{opN zwYAn(b!~5_K?OM#)^nD)eY3<*CG=*H-)^0@kNSrXOJKB*srPC7aKr=BHUOT~*RZ&m z92!z>Gd~tqNs>Znw;EZ%${xk#;aVN!Xt-3^iyV^Acq^&fW!OwX+Pj?Inh4Eov-XA*sK)e+n~3=e+ZWv-cdEi<`)dUihQ z+SEHY(k>=8ul*c$aFV6frMpGIF0H$5I8e8;R8+UqJ#7y<3uo;kW{0{{)c(&>7%RSy z34Iz2CyB?5*&fmCadn*v5z$;i`Sn~$fACmQ4upI?C+U%g^8Wi_IZ@OcHdwn>Bbmu` zNJT^s3x2!xC)!@xuhw?!>H6Nz#)hyhH)>C|YTM0LqyDp6vS6n3Eb;J0ZW9FoUpBFt zpEs$R0^4r61i_jj5Kj|+0DhWeZBlTKCul90>2~l0Qj{E#DxKcz)hR4og7qjy>4StM zCc4&L5uD~;ZF8zSF2zI2zy?TKctw!bXCV2MfKvuHfO6YL5wOOytvpsPAs{sis$&~R zA*iN?IvTHrC3sL7+<=re&kPRBrRq05zwsyI?$N1qI@mu?yM%6dleBy0RDq;%0+ZP3 zcKkMw4i|Hzy1u>_Vc}DR#!|ZfItR>T+AN!_4mia*UTE_d#| z2$hq#a^fn7+FIvn2T!Rqr~S+Is8inE*=tt!vM#3h0%cVgyi?cHVp(<9-J;sk5oh=D zS?nSK`MsU}?RA^PW&Qm@zE=yverw!N;Y>DNOxEk7V7-8iEC zj~!uZD*F^ca88Y)Q{vGhcSigaM?|(SWzB`s?0U+}b*!K?n1^FJzf9nre$bkH+-OX7 z#HV;tMBNH|!$o`F_GZ1&Y^~SUHsuB*Fr)+XtRjg%yc|o-$@bk#_Q3Ru+!KZ8UtRHA z+=5&FbT*pgt+Mnr=ek_nOCD7-rlfy%O80@eOP!do{!BHYF|yOe{{OcH$ZQ z_Bc5}h;YQ+$B9kLc-6=pm?WZGy-U^xbFuE`Mbopg>G;S{nMxEQ+R9}w%t?U!9BX&p7n&T~~gKf7skoDc2m zv!m*89XpCz_jr`;o^-`tj1Ao?6cE1J9-Ggr&GpA$dddnRZllT^qp6rkT~X9HCOg zAf3W;(HBO8iE5A%p#*lyX5 zbaXO2XrDwa7#SVobqEGwl4eT=`gTVc31(|&?52sI6X4gj)uzSPADl6F>CEQ32^reS zqNdqNV9DIfDp^0PFh7-56HinRh*fnC4=5^n(uGcBjuKq8rmEesYE3uxZ>_SfD)+3) zx?~aW(8^;~saloCc19O9;wS*U`9DFT)b-wIcuMD|7ZNMrQ$buah`U1uoOz;6feyc9 z_Ub-9$Rs76!rA_;TfMs3+}O#^>l6of66;2<19Q|rVBOPIwo`;AkvM}!*#^$K zBP}?%eN8h>Pc5W{sGMI@VQHAufPS_Ex^CVv`f0=CdBI|}st!66EJJ1n+bd0Ky2eY@ zn%!h-zUq&==#r8x2BioA!O$k=q4=AHEqG5R&xB;iw&%6~=mp+9;EEm;eKk-C}WQMVyWUnbvu* zyz1d@4+p>Kj)n$1934jFvqO=B6N6oS*y}M(L|Yw;Y+Y=4$HQ}sKV$T5bA*Q)96>9( ziM&1;z8ZvW$5&_T#c!dOs`k>TxJJNl8)SsRAD?v(P4;;~m(C8s@`0JALZwY7Wh?_- zvE~N4X+o{#IsL5$kfMV1G~FF)&0`s%GQGssSv7iLvMc&i`RJo%C$YQ$5w{sXKp)x0 ztCBqWI2~Dc+N5w@FKq%ENt4`gLVaOM)7{qrZC67o_s~@ff%7DymlK}3UM$Tvtdh~* zukFV!;g?{*Z38}S-f!CaSBxU#Voa(KDGTa0(&Q#VCZ%!u#vSg+IZwv8r4$RHM-&a7 z-H)01M{^et&&}F&7&nIJBSBRsIT?`L4sK42lW}lg9b-KqB`2*0&WuQ|=!oDh@oYo= zk%?>>aEuP{Lsq};p{_R+}Ms}7CideBMM zl1*dA-oOqt8M$1Vj*p&zk3H~*Ci>8E45xxvgUwurBV=Xyf5v3|Xl(Cq=gE!YTkuK`m!=%feNdsa+#Q~#? zO!H-C1;QB^oih<&?s|LhCSkM63SQLBtT*DoY!Mw}jN>L6-HF&{^eE@AYZ`x6Z$9OL zC8=&dOFpaa?Nzs%&mP*E=FCmHFPV($1LACsiB7`kjM{_A8%S||tG2iHl=9Wb_04+o znQ-5zH@DG|PBwP-k}9&Dy=HxFpQ~@OyT7-))2K168Vm&xuU|q$ZJvsJ%I-gD_fKGW zuRlXt<+o+y#ksk3*}cVJA2ONVJ~G$acCk%av`W5Gc6TW?bFF0=sL21QMRgC7QPX- zYwM-2owv|58B9DV??S@^Oi@x}>$Q#j?XuW=Q~sAM#(qd$x3q3|S+)$^G1wJ)ySi0_ zoTcjC6UlPm_;tI~n&8cuG2lXmre~Ku$u3a`Z!~;raN!s$473@t~jzqHp=ag6KV zBnj{iunIaA0~SHFMr;YkBjvGZxZJpWcI6|wsq-z&+?{Y}IoNG%*@ly$mle<#&AT-^ zt*J-5mLUxbb%H&|Se)FP6vCmqej#2j*@ZWB+*a1t)$R40l-*zj2MT)R#CweTc4DO$ zIqZ`HP{*a7w7CyD_bZ$?@~;z814 zD=7WUk5iy#n(c^~eu{V*|oc*#oe{HH0K_#fV$FfeJs_ZNM ztnQ&;klgsuN0P&SjLvYH({NeH`Q6}g0B=~?uT?6%%(O?XHne+yci?-PhQJ(L6!c8*PJp%&;b1#*Mf-0X{7#B*U&GWAo>Ujsxh#u z-&Yj4qQI{e1;Y7@eCYtyA>`5XXU55YaXrMvD&J6M^4@#xllk}F>%6}4;K2>W!Lri$ zp;V9`^2~TLaO*lrI#jD9uy>9*5S}T{iS(Fx*yzQkH$1w zH)gOR0UnfDBw=8O*K2XhF~CEOe* zo$;gY_z@R^Qv@&mWzs$F@MPE@8<-=hXy~4xTlov#(z}_AW}K8A2%l~W2nZs^kIbUR zKytkYnIoE!aVH|N{2QL2>P>Iqpo`pDaw&99MiQqTjoQ2j_y!D!3|5wUM-L# z&{yO%2j@oyU-JAI3W5Y=DE`i4kkog?grk@I;CZLhM*xqmq9jXtEILGxhyZ_)vYAJ; z0y^5R;6wzT62ro2SZo_NhRI4z%stPAHmGTU&zmv1neb*}fu58kWHzqh2LYs3V$gZ-2r z77j0V@dJY(S5p@t=d>j~cG6k$*rnLG0uHJI>P=+``V@Mv{yw5-VnC0beotd(`31;X zdI4@H?}D4wySK(JB%WU2;LK_UhOrc(}T7ID`w*+CP;%u751OpsLhO2 z+?b7z8xXbThbEmux%L=^U%5S_csk%lQ?;8I_KdA$hNQG3)W zBk($Q>NiotL8s~nK{?8q_Bb;>KbW9;^lHRpGf+GYCe3FkRa7b;F0X!gzase0^>}LK zt)N*C%=1(}I3Fip+TnH4dNU%r35|2S3l>yZ?zY-(#)^sOvfzW}!o=ew<c>(B>)nMl6cVUtpLrw!!)7={w~nN4O4TRcunvX*FpRV>$dOZ{kyNxe0+SOXxWv!(}@Ko zdneO{sJX-idnaSczQJi+$k9pOmH?qcpy>c1PVZij-n$_EXzclL zq#iKQnaE*0=|iOK0OOmjA$=i24=kV0cP@W0Jj>PR+wxPHhWec=p@e*qmUgcrUO~$G z%QQLXr9Uv=IXkgX#51EP`ZxhgG=`2o+TJ?(R2y@VvyvmGB@4>3qm3p4;nDlLmH5rD ztnleeOCOZM}USif=_-aPBVREgCOE-NGPQ*#;?(MuI?n{ z?*?FHx_!eEnY-BvWhBc+{h*DOu{p8eIi7L3l@*$k$K|pL$m(qAb+0Gln025Aq*RVG zmzG@i+{YhR?qEOYOL)juJztlBp0kk-Wkvs08-T33<^ZJ#9xr%|emZaGKEM`E_(ce+ zfgXPZw-^VP{ScLeblDh%Cgbr*2L=ND@Uk0Yqfo(e_(^4Hb$Wh>O=LNn^@K5J)2ZAk z*m8nwbR{dzf;vcka>MEJ+?aoFbvjG5nSby0R5DxF@%(#tvebO5K_H;XZ4;f?rpAfu z#-IKEU^(}->epLZ_JiBG{5!d?yH0ix?{k{*<8e$&wmmJQn8?u@6f#0@{sw!%eYVVS z$f(ZLsC*Ad%Ru^pr`%PwizvV=e^u6N+(*2Mjn`T4JKdWO;r31@ebkW5^)zBWEOlhj zgd+yCRMV|xBK2rf$lYGAJ>HkDretAeSR?r%vADvQj!XOYIyi}|kxmhpTSlE5mD4$t zznw=;;>?>;iTBspYIU7PQ-TjnXYAsw-cS(3!4KwO!XUIUqvzw1!oS3s9A!wcH(@_g zb8*s7lO?ly^*ATxA7{Dqocz+8YPIwW4I_TB26IPE=xhWOfu~}TNIyy4vo@pN+}J?H z7Htei2B{%`{oeRyf<)5fGw+%CmXa1>h~{zifcBRD#CWNsYi4d9?M?ZEz?ee%Sx`&s z+9EYE@PlEhuKFMhq-hK#Y}_bH)N{{W>>Ap7+rm0w*Rp{PcAiGq*-br!*^SN zrm*KY8}~Y3e!k36hFgl6UQJg0O26i!efcW=iUNNc6iC;n$^+x6?>}EmiJ{dr$X_dTYJDS6gfD>^&>#T9D7%t35Hx6jyzzqU^Y? z-!gV#fK2rVw}7 zP31p{^UaTm*UbD4+2{W>=F(Lgzj+kM*1wi-eDtsRgmfXa_A%>Tsz^oo94q)y{NCN# zRNk`kxJ*pt$tHbiRe7EM5%1>FJ9%qOdH0leh)m`rm$yq^Wl4EwG9t<4HOO1GJS<9N zO>Z6)%J$EPC%q3bRGrIJ_?!x>R^b?H*I7gwYVDpYAPr~_P^}oC@Hmn_Qn;5+^H%!& z%ZDL5q$-wIO1b{HeS(=y*?iiytO~-8=Z9auUvBMx+uHoLwJx_gUX@9u&yL#{md+J5 zsudPp%ayYZ7naL6jUvU_abdaLZwqm?;V!JOnM1(tYlY=9z~8ck=PPO4i!0^I*tRL zb27}R%5*tBdvrM8A3Nmjd+w+9&qDcT_2$CO_RYBmE;)jbbv1+FpiV((1EHEhxH{H; z^EUA-jISv011W$aL+PX7V*6ukj8RI%SCW}OJ5|2Mr+X`$m-0?!P86O0-4P16$W6v5 z(wLbj#`}{8rRCcT)w9t;<^H|9rFCr1pS*fApv3M7pH{zj-XC*PKPY{Kl;A_X1K=b2 zcELkRqWl26aEg)otHC1QJb0Qe#xWsp;9DfdkaHIS5=he#Lkay+FUQ8 zD#goKsncooI*3)(fQfbViZbe-$#W0YLK)OHeIe(yMR+)&PgE##INUzPjf8oMKu>~b zM5ddml46-kw`dgfoG^Fc<7mQVAioope3RZ-)qt2IBE>m{GQ5|nXI^uR@}<(PG%MxO zs4Z92ZX8Ot6z<6CrUmFxYf>Vz;mJupLn(aglBbNPMIO_- zla~+HIt}#kVZ(X}T2Wftue3(fbz7E!y%iJ`r@X5HmNFGi*@&%aM#VVPNPhB@pO_jm zDcJD$Zr!?N8dnn_a5tC}8iMf|PBBb7E8va%^vO04|L6FbkQWR?+BP1q^z2mh=nd;u z5X{qsa~UOTUTt>TOvc?4w2ebEZg1Sf-<-KzlZzP^H!WxpjCdks(j%Xi4_Tj)KIZ(0 zMzZC=RMZFzhSA-GVcubp+`pgljF+gg6v`y!i=f5%Q1s8_!6IkS7o& zelkjx2>Z|1YoC%5;l91&k|N}RZX45bgnhl?k|ONu+n-i9OQq!q`)$2AkrZLS<&*N* zH$indLLPsykA?nng#L!nemTN^d#AAr>6at)8zwU=El23%rx^;aM96RP`~|gEBII4Q zl?eCs9fo2h!W{25Pw31_g!y`{x-Pn}M5s%2*WB5WA$Un%I>Xf2-q~DJ(LDaogj$5Z z*3Q;0T0F&7n~He2uNz-W@I}<+?^Oo}^ja3(HD8D)9ThTxH2NvUg#?LFTM>=S!go9T~`IO(`!SHf;T_;taR6it_$8q>pAegCH>2d&0KHR zTWgz+E3!_z3o;7-u-`^kr;vki&-^2*yJm+623lM@Fzy+n9LB2GZBKBZDmRo2k{_2C zf9|-zx8cR_91fuI7+3!sejOKE#-lD8YZ+GI2J6Sp`;@R z>-JHbi{pZ=tOxCZK z0Ql#NYOA{dJXa?GC{l5#cg3)LkCW`G=ntU)8-x#-r*+2H?r7LK*L9q$s9XUNy2xy6 zgImniMI2+UeO8}Os;BJTqfYx&HPZuVW3$=XtFE(EWXGt|w(w1f3c!mVJF)~UQm7>e2k^)7R7nhfpR#)#Vt=?b0y|hwUsdN{jTdG0L2!i9w ztfxLN5s2GMcUSJ+zQ;eyOO;h9vXpf$z{n^PliYFxNfZYq46n~fDvNjT-@S7m)K>4^ zSzf8!7EPwXM>HYp*GowDLl)L=NS&1bhxgdoCA42Udg5+eN_^De1{VoZ?(~yq+yN(P zbRd$%|I;LU6h{n8aJnNzPfy!6 zywEMU?n=LXZoy^FPPY|W=gmd5)z$Tfy9X}@9!QNF8AaCmUT(ti^NQs{y>~t5D*VzR z=N$^K_EQeSufN4%xIZ{CdxuCk{U)Lohi5oF^U3mXOL-*MQMy9nvihngeO|XRzrhb= ztx*b&jaxjGw#Q|=m11Y&|K*~H>tEeV=iP18x$&i9@TctyUQosg=AHZk%RK+;4r&+N zIpOh40s<5FA@MW!yf~-nPS6f`sW3OVca>Zxb>ZJ3vX7qpSgrQxH9qF|IZxI)r9D?T z-8JX=+Z=n+6c5r!BygEJFFk~F%yMLm;et|lTKJ;ocov=j5^mv58kv$0oMjFas+;v{ z!=>q6k?@g^cQ!p9VIZ8N_7tyNBkluKME*H5p~0;~`NpC}4o|+gaU;3Wx{>_Y@{=21 z+?cOaF!tns*yWi02-KS??V!5iuC$EfWR9b5;8h>TNmxgn@={7v3g<%NXf*T^SBuf` zqZ}>2AI_~0Z{7OPFwWtd_Q~=cNEL`Ml>Lj5x{fm_L^g^%U;$!q3^gXSt&0VuZI#zl zo;vY}fkFZk##0{AU^YNm)J?Y_rp7^_@lq57rOo{HE(TypO)Q}x`-5tpJXPcK0;O*sU};B#ri6m z1va_}KD82;S8V2H1D;-ZOHvp4!C+<0y)>T#YfCrK?|b8{Zzc64B?_VYNDAw?bVGok~ zi_43ZPuhWsd(p z<{A-Fb6T`v!^WU{zd;D^PwVSbNsk-TDZ1Q=?`*=h!DWK6duHQVaIqvL{i~bh!G(XL z8-W+l9XVJ04{Z~-x;h#b6__Ab=nQ`L6}qG}v#Xyt>q`sapr6+?An_vtR9{a^IJx01 zilF*tMYfy@oFXguQu5ia%azkx?sm!<1#&^pT{3;nxPcZSoVy*f;*aS%>B!|dqz>m~ zxG;#aA{w39>+*Vvf@3o1zA`mDUP1J|DN0#kJ8y8DYx|)lF%UXVWK(qPNFJ4SyXE+D(Zro=7)vd~S14 zfyR>U{mo6`DJD>3ZRe{;Fs_~4iV&5GEQq=ev=r*v!pIP+gDH0;w`V!B93G#eC?XBW zF2VstVHyxT%&rW0TtJhVDUJ_)w! zjkP(4uGDq20b9_3`QgkVVUFS)7BFl_QhmtbAYf|>9rXQRF~N#q?Lh^Y_9PnobXLVk zB8y@IneGJ)KjF~`#Kwhe^d^UW(V!xDpKUsjGUdwCz2vR4@~sW_q89VBNRubDOgjyW z+U&dt2MU-3s7>%S!uzPVZfUSnylw7UqwFt?mfLQaWc^Nb<-}{`IA6wy zJf853y4zr(c=6?_kBAvPzC;t6-5-%l*|p9}WK(ioa8zRpR*68jdb)hy0U2#jyd`U4 zYv?lUweanHlm^PVqW7BHXxEf#v3uYW(|;oEjE%wny`c>z@^{-nogW^J<^f%m_KKj8k?s(J}tpaw%a#Dq?(s2b-;WQzA@% zosCk`Bs6x{d7}Ot^Z&bY%hl_3L@B2O-yXj}i$@CW#H8#j9y&G$*q8|=W}h$n`s`78 z>v3zdwr$`f9`ywqR&uM(OFyso(W|`Apz#VS%W3(2SDxhM+qdCo+yY|;Tlzkc#}t|n zS!-w@g`X)Zr65vZ?ruC=C&g|mi{?}O(!DIS*m$~!`h)doW%=%%xKEZtWu?cRa#hH< zbNlv+b<2|n9eWRIxw3k9_1?;z)d-&DiWDI)h8Z$fm+!CMzjJr_ehk;bY&jg$$`N3f zeG%j|w-9v8c;pt*?QE=9m+s#&#XhOnmFFy+uLTiZUHU|RZ*eWfx|ggV5*jBSh^hS> zm?XKQsb{eib>?Mo?y&8mg~b_N06>cBzJ6j>=Lp_)<}0YMVR6qSm_=o32Am_u+zyL zt)RY?;XVGulQ#kw{yJf@PE=Msm{|n2-ML^eY#5}j=~Qd=$YUE}QeQV!O})Eg#zUuO z;q0J$8W6c?Br12DIi2H-XJPDCn@=4KPYg!0JvmPM;+e*XECn!d>CwV+E=g`zOxyFU zk71z;5o;dFNapxK&(zt%+GQ>nlLreq2M5uB z_|~0!gdaQVYnJE$C00UyxkRnTi^E{B(`t_W*sqD{wGvg$7Ds6O2dt57aa;^U>tw;L z4sXpEVG*qk55X;xAN%FNg~|89=2%oSn~JWYxwW#c>keuWSl#4wqRhBvIssix#@u#? zFyv~}O*n-SmsP4pfl2Bnpu1!K*$ET>)?4C#{j1klg}we!i0AdMUF)&6rk~gT^=m!M zcr*O}jcY{gi}L@?Yud@O693jUX9*Wl{_Sh0xmaQU&b2ZA(X$HwuHuP>!Zh>mU7Jka zMBiDmIZnC$tgIaLyQ=9>R{`u!H zRLKFYeyG33I3ZY+MX;GR2%6`MVWUO_9C~vwl<%Hnng1^+`;*7($oICl>y4*&)Nb?# zgZ}t9Eo#=qDzx9Q{Qbs)PMA>j$)2S?>0;45n60$ovN!OJkbyMpKD-sUe-9jt^J##d zNdsPVvP8J+?k}9SE&9^Q8yC0XwNV)nha>R_r3@G-w6(kFX!6KA8lGCti!4M54jxx`=(Iy6M2__!4sZlD>c3ZjrsBX;k;}69hs;$Ysn_NueO$aM7HPc+unc-8iqxUs2$Ewq zKyZ7wJ0Y}&u)R4udxPH;WPK_*8lIr4rcFBev_0w%2_-Z(PaqhJZVktZN_3rr<^4m@Go%3+-MKD0cgAHBx~#l!-3$VKNuvH8|!!r zjTx1Y5E~Xu`iC#Z3TWa`ZVd;iZ#MSuNirBAkN2{0d)@iI<$Aq$1BfdR4xM)^i|OD+ zr8x#1nNgnx$*uQ`>iQmo=FjJWpyd$AvV^fn%dl#yTp}VW|~9#dbL@_#+KyF z*@BYg4MeHS&ab*WHX;GqIiE_eh9P0j)MZ0m&s? zi2%TzBnRi?H^5*zM;(glP#zDID!;M5hW{i=&lX(Ys!|Sdi^?r6Bz&6=ZBbDOWqv4q z(ZjRzg^zn3lST!m#W&Ae?>eq><&#o{rA?q7+Cz$A5t9KzHk!GS=d-nrGYmSs5_Q;3 zu!1fxwVv8^z)`1~d&*EH|6omsJVnyv}$-#Ht@29pe!c`RqN(xX6f~sBTRiDi=^{2;Bx&)dp1Lz zN`5#hNFH%W0(mOdi>*E`ir@@$6>};8wOAgPb){{-7ufUa7^JnV5?^AQs z#xDM6U0sXtA_W!7l}FsqNOaC?GfJ=cN$jzmnZ!c!Qw7m>hd$F`ZD$MH-Srq(QgP*t zj{W1kY7@U3ub14uPt+R|aQddFsx)dfd>~NRZNT!OmbjA9*c#}nt)AK)BdAu4yE|+( z=aa1s6kr;k^v`0-hVD`Mv%R`uw07GnJDIDg5BSvQm1=!%lbN-WDLF4uar4BL+b_1f-W71)1%$QUm&{Rqkwm*0SN> z0`~T*3vZ#oH2;5$F_Llpkq1z_3SdsadPPs^~L^Sgkja83$^_)h* zhBJ{0Y8$hTfShCz-XHm$IR;c{BJK-ia|jr`0Ge<FB3zg6BQ+w5OYdVdvtI=>8uZ z1fI5k&hh9S4=!TdWOAY6`kR7O%E^+P^BMB7B)%i+6c60nuV;EMfO(yBist?Y)+sSChzLA4xQ}UPE;wZH_e4Y`c@)vq&<)QS&4{ zts;(IS;{=uk>-MHG`N_`4=UDA;}mWdFUP{|6r?M31s*e)3;vQU9nZ9!DSWy>TFI?B zSb}i0q$R8?jg}~2jWIS^qjMjcUKp3HvezW+FvzSH!ZfB3xB(Ivq`6nGeGf4G5t9S; zRsl*O$#Y=qDRURE0BQtW+>gb6OTyacOJ8QqTH$83zIjpM%5>pI{b#kT@N{Df(*Wn* zFYi{Lpixb=g-X<6D`>6-Q)tt`9zB|Ymha^Tqm-{5VfX0K1ufUN*DR7rSpwH6pkeuj zHdaDdD|{f*6T%hhG1>yIKd?A~Rsm8=P|PN8ui{~qnw#C{*{BoJASi(Qg{|6hzT~vB zlY^En9o`-986l}97LZ(37ggu9x2$J$r}|(wgDeoc+4UZ@tk_^=s@<-N+o83oWQCo# zC)(@2bpC) zcBb^992dLd?0LMbIAuk9^Ke)fH7{RPz6~}|xzFWXQKGvIl>AznAbgNIwfqtDx`O>* zAIBLXHzvJuQJyAv{YAM01X>s8s%}fEE%OFFn>^{C&W=*w>;j^~Hmv>DKqjW+7&ePVXA5NzSB5ILEL=VZV%c5krG@|l; zkZkhLCfmB3O%@vzL-#<;VR%8hZjJ@X=VxxUN271d;5Si&t~LVurgu3$!!r72yQ(?2ByvB50N{>A0l z_GGAyTJUGPJ8qo}kL<85Ua{lWY5Vm|mLrw&j{1iWB}mBF@8N)_fNU~H^Eki5ja%y2 z^Ls4fFwv(AsB5l3I@d$XZtl(u5kMJ(3}QBTYR)$IXo}bZ;pxDwo5IyLo>^@+V?{Rh z{0Np$9(8zsIC)c$;}%3TV>_*XK&MMggTNOS?b=!^5Yi~COVsml8DPo?hJVwUngq7Q zT6SrD4zq3iE*0{HZMV>0SwZphGv(qDihc{QG5a$WrlzoTFg%l=qTt@70_&gk!){g* zn7@E&fm5L0=+wY861{-yYOcP2!tzDZ)!{(ri@xo7EC>6t_pyr$PCt;%mW1gUC^Sd7 zR%GkaG5l%g41w{R!J*r0$1WytK3jZ~Uiqd59!LLni%1KL8V7747ZjYge68a=!OWpb z*X_99qv{Mcnz96o8V*p|usKX{gtpUp&NnE-E;Agup!B>wW6E8q`z5C>xPh5&5PhpI zyIh_IM$bO)c^C8~!(H_>DlCs!(eLM3X6*uxU6)3EvW%S zR>y9|ridAB>~x&z%1r%(lNXoPGh&^bv_`M|=xc_IULk~XOnV;S!Ex52)jSxgB(eAYL{+mivOfS!#gKU&od~RkxU;Xl3nrzRuIX~me7Tec| zB(v*Vca3}jH&u%VCR_c2Ycn<=kzs7zHMp+8%oLiM>7tlz9AGyK&DW0haIRpQQkF7X zUeJPe;?x#xY(z`CjbV}pA(ATlP}pIrn%FM3}9o(|SH3L05~X1-dYM z-QI&l>PFQj`XR&dg4_h?O`q#VkUpaT85CbCJ+tv?tu;5zUzHgR%@%h7au5mk%=@}J zfWE=PffP{kfO$z&d}ChqDrnDuo}< z(B|4RMH`?QvjIyBqu820>PH=Znie<9l;i%zhrKFFw zjMG7xH{v}qtr4_$rF`)SiI$Ygrt$U<)&TRmPZvUS7zJ>Lr|z9TBHh}SJw>nd?&P$N zQqXbJU~UaUu%*o9eVs51pQq{BV?k|gElssiTpJQn;ZV8)Gnz5$d%v5O%?xPuOcau% zKuDkMMTkT%7N$=W%CBb6MpBIm$@d884Y48x0D4-W0PqFf3C z6G9sqs`v9*;U%9+_jx#?@1|HLjrcGZ<00Ov?tP*eN^utmSt>1lf}(kZ#?VjW;?2EJ z(1LQsZ9_ncWKFJH`CG!nO(q*DIOp#N*xVpHX$fvYyh{Zx6>l=yS4;Z#Tv>a z!FK6!yV}M1Y(^Jn^0=EJR0N#|$JXWTt3<#d&~XYy6}bov<0|bIFCg}Mk?z5M!!~)L z_EodOFwMNI0oCW7PesSBpZSvlL0L8;?5mP%{0V7;WT!1JZn09WUf}pn--9t{@8xrQrtsZa3j zb%19AMPsIzs&%=UVCRl#P(Gp1hYe9j5m<3(o9&Zoq6I$5y1;aV~L_2FN z1AuX*bgvPKnr8S5S)yRk=FQ0LE;-h_JI+EBYI>1M*?lhLl)e9>g^#;DJtvPI8L6)p z_}eIup8s20@#$}0=}b;FV9cY%1;@GMW;WGL4ypCcV(mUDB_{oage}#l}7vOobi3wFBiS!$v{tT@{ zga$!mvQgh_z-v=1kzy0NdTG{XHJ1~hEmXdwda4qP0PFnqhq}F)3(l!@`5K9Rpt{oX zAQGoK8whimNB3}n=hZhqMp;w3j|!Qc+*k`CEbXwf0PPFI!GfIeELar2pn!vlgd9_0 zK91G{AWX%0{GpD=8{t}z_EKGM5x;Z0PPpPyCTy^D441fr@9#G2X!qjdHBikm_o)(R zXQCp@{@Kpf<2oXYEH0QOBZDCfC_<`LQPKHwdq?F@zc-7!IUJt7u`StM+r}C1V>dP3 zVdqg=7GdE6ENudxVn00F6G2N)fp>=%cqb3Vws~^|!%ZJ`;{0in<({8(i}DbxoLyM) zLZ&n7K>^o@g86WC5#yNNl10q&t=^z@1|M72VdU@4{gr!nqkFR`S31Nq?)8%Wl#^Wl zbCUh+^`*691$u|l^Kn0i#BUEj)6_AqR%h+Q?(^lPFHItG?^b2WyPc9atJ}urZew>r zCWMa?q&UtgmX|JgEGOgfG?E8c5w%!n=rSTH!KIfIA4~fE3mF^%z~RyzpDhKv#^WU? z*SNfVB`aTfm-5S5`Q^8kKOC)u;@ymnU0d2|M*H=A_mKZO{CDs=O&+Io?;d17$NjWG zC;RCoIG6O4p)=vxB}K+>FVcB?k>1;j;DY~cxSSw!d0QEYE_vJSPtc@r+Ph4M2PV<% zCQIC4EQjf`uwr(XK`$X*2Kt>-l#5kizmY69(}R>h5c4jB@X?tsOor!7=rH^2ZJ}$J zEL3D>DGLiMRJd^^+3$~+D2D|*dstf0Ee}z7`Pue3XhgyT&Lr=S4qQ4K_$D#Xj*cGdtO2B~L z;N;lU1|t(56glv>qQMev*p}VQWQ;l3afL^USp#v&J;fD>ywmtYN_A5D`Oaw^K-3Rq zrf_g(TkcG+FPq*-#C?e5&ieuWi ztedb08G)P&;}c$z0Ow)G(6esif5ujy^C@HwdxozD$p{6tA1z|$JMKPW4=^`{k9b&- zqu8YU=+5fWi^nps%5Lvj!(WIROc5;qodIR(8}5yd^i6c z(O6to_fYfS#fl~~`=85Z5twb7LP?Xo;3FIP$`Tj&CbNnGvdwK*Ez5LJHCx$b>zJE&}S|j3a8`--+QBg^QtV6A6|F{IS z7ZIgW30twLMDpkT9$PUB!$YuK+qBNlyf$#ku=}U+R5SXr3HxZ3!n+dYdE8*{`${5DmbZIb&9rZ0U?zt;Dx z{E9$on9T%bwSuNth?3dWWVIzFyJ5l$jkG5uGaRx}@T}=}i)N#-h%=0VA`Vm*4)Ig9 zywKtAl?C4KaFlx@II9a3V_Do@VA}BS9er19IkK8_TZO+_HX3GT_AJS4>|BoCYGi=+ zOhF3l5*mtr5Jfz00l!RCIcyK}cbvIoF!#|%t8*Vr*Z%0EmB{MLruVzlPtnQOKbefw ze5*w?xmK%ugYV?M_u8*-Ja}-UeIqG*{Gt|5*x&P2bY|r0Xvqy?V>}j%s(f)hZHE-A zBh#=OT8TH18e=QAJpbN%-S+D!`FJF|F_&y5AKZ8(%nV-1VafWw(I;(+(5|aCLrP5WB zzI)k7{Jfh~df6ww6<$%6i^_YIEcNx_@zKQ~PJWJZjI#%HgB~|nuzO~3e~!!}ZvF6N zGA6R2&78^uH!qw`;jQ`=Ip?TJcX7&7yL%!UBILa{vvd(CAkF&fye9Np zN(}3qF;cE~_VZWnUWHzFjmKm&}}G^l@H_)k@Dow5M*7;k>XC4 zt}drNndvi(XUoQujc(piCL3cWgnPWhFqizfIh4^TzI7$1kl6Or|9BlX(R_{Jk! zOV*sG0EEjCIGuy}w`^TVDpJgceOwe+f3JMe!Q zPZ`oBl_*F?u=t`N*^Cxufw*`0*>st@6hN`NbV0f-eYnyUDZ98i#nkDazSzIO}a(JS;)n7 zGvkEOg?dp} zVSsxD#gV)eq%uPg5f)@HLy9w;e5bgEM3NWe6a!065%M`99EihX4h5HL=YadEfpx!Zw|74^N(kqzXSQ{FB;4<`@1Y3Ap=N-W zqT#k=mu$PRgJK)6OSQe${d6LJ2ighaA(1vwU*Gmk2S8h;OSRq6{nUo&erXSMzudOx ze%nsx>f7e#QklQ*hqf^H%XTfF$VTOU=~X0jo7v&u&~5#8=_XWmze%^J56jR;T1vZ# zE29m>LD8P!(rlY>KW%4lKiLf255NB1hgTT~dYd=cX&B2^|BeIt*8T!c{a7w!8 zq;-4!v&Fi*1g!<;1E6mz*2kM%fd!VvVBpU3#{ zY{K$Qg-AFIE1SPP{(8hEzCDLXJi(!0Tqoz;Y`r#JgX~LdI8SK4l|^+)I=D2osGelP zna$cp(;*Y`7W6|EXyW~gQIh(Yt4MKmc)IBO>R132d3`e{YeMWtzU>Sd1%7NeplMzG zFqALBo%_OxtMY5q{68255h{^szJOZ6C92?y@WhZ=>DYYjX^aFGf<_XY8A-qna8 zh8osm4^PDU@=^J4E(cSobAp)ym7i>jgIQ)uN|dU97CsKM`LK0(`2159im3Iw`#c4U zE|=9&p{P!6uSzuAw^g!IQLRtvo11T~q(V`h+RnyXt57DYfdwcQb#KGXO66+p?7l;# zo!z+3KE{N^M}2Esl%ra_TlmM#Z_@XDKSTsTv5kjyEZT((RjsYvq!e))wGK7kxp7t0oKZ<}yKb;L2yAjWZ>cQyI zSGeNF5B%iOSKpRO-H|i}@Q_^+@Av4d{p+Rfu=nVz^-}4j*tthvER|lOclYQET(pm0 zPYy{?KX`3@^wsb3V|e!HE8K=-1Hca)Vt0opR%FyQ;S?UitvbI3^n@X{;S-dCTM zPUPqA(N~|Uy_02Cnbt{IYpty%H@;X}TKQsWW%Y~7-Me2bE#KyQ^^2u1D*U&!%-_q( zUA8a&uBeRuyYt1;jq8}Ypje=DEmB~#Gzd7Gs9}jqnhA^&O_r7lQQ?&%+ZCN_yjwm@ z3p)wh+e)XXx#H1)`JZ9Vr0Bk_po3^yq=ei!B#=k9bIDu`TC=}VoYEDtR}}c|qX3FV zYbbw@%(Se$HkVZH->)Pan6ANe_a?98gmMEHd2p`M8^kj{KECZ~-E`V`Vwa_|Gxq8x zPqz1ywPdq@Fye$*yiUQXG(``SdN{Ui4){Z}3sblUSb135QU8D#K{8t7QSw8s1IR(- zS)T;O^-`ocp6xjnE&7W-)TVDSdD0!Q$)6;b@k@ zwJ3p$_7jE5V9KoF*)$K8$lTELO=2Jvi+Du&A*?or1#Ueo|=s>-99bFLb*h5+!DtFP4yIGC) z(cRkwGeL*4N@%(3Ywgp6QNM#tT0$5H&ij@7^T~dr3Upl_SvZ?R#Eabp7yN+MPdeO6 z^F}ZxTXt7g;kssi14RbbgV%of+C#eOA_uZGfjl@;;5>CPVELIiT0EnFUMiP;jk#n$ zB*MuG{=Q6vSz4z=`RvQI!0{=;XqY>^KnBOtj?cKBa6?wqWXIBI@ehtnhx@StcDpLd zcXS}`=&{!HdDk8jgR|1=aa#TogT<%;^?Mn99dqd^IhWeGAoTkA=o-S zPz~6z-Y`Ycqd*OefE*TESOaZ6cF2R;(d0NlP6FiQmT$sq-TUHc*Tg}4p361u{?4_W za&u0JSzWy4iX9lO*1#1(JI2?%u^pzMlgwVnk=NCk42h_K=C_PF)}%Lq0{ zv{9_6E&c%u;*A-4nTU%Gxou%7+5fexxB>Nd9M@pcaI}1rc)utv>qa0H3uEw(g&pDZ z%ZzRx5_`|d;U=Tkz0s+|^@0_aV(l<_X%T)r*=>_a23gv7sBSZ#+9xebgNPSGWvjEX z(@HMoY6TeF6Par7z4x9|$UAMn;dFBr>>Lb7-PbLSJ$HWf&L>D4T|c~+c`L!CSGxeC zPmQw^-iz7TITKuR+BK~VSN;KpMJkPsql9GX5`$u>?iDWVft5x3SMAvEzo4-sPxN!j5HC(WYaNc|+5eEB3~}i*4O8oY zUdpg9YI$%$g~3G?fCTRHOdfZD;&JLlduwit82Q|HJoFs@Oiur}*B+aT`P^trs8cl3 z?E?h;FI%r(blPv8-*x7Tjbp+MC9lwAAu-W|cyvU$Spa{0lCQKu%H?%@Q}khS{JetU zmUbuCmZe?NQofEgbx9QhHJ?5gd^K>Rx^=_$>KnWKfJoVi8_jC&Sg?E0$W^MIp>csA zOExjeG62e!jSp<5BW<=QREC;rZ>DN-4d2#ujhQwg9M31R>{N|y`R5b&|75E!0&8WX`F1f)Wv{=5&L zMrM;!aIMkh&!Q6e0AM6=*>**RzI^!Li_KWRG3?0^hnN_QMYUA-@!&CYyNNL572`9k=rO0VqQ*(@% zn@`d%HbtCU_RDQnOkiI$%(2?%8~fX+BFntV&*b^U+(T#6l%cZ=Nj6c@uf7P7JX|~A zzzMBfQr;C2i6|epqok;w3G7pB<$k-c6$A~YFRg9d70@bJJhnUfZ=a0wsz+B8xS~KY z1?(*8CLhVl4FO^hesEDknu|v^SkU0?PrROrbtU42BS<|0!e2=unyS;_wD)POPvgIX zK#?f91l0Sqy2);TfAN0z14Tl--WkGx$P?XgT=u_Tvw?xd9+EfIvc*4EfZl~JY1v}5pw){qe%)aYomB< zNzK9VM_Ix|=IqzR(_}23>{qEX6o713?|<oIJUtfT8`mZ??KfiHc8ml-|L#b;%ywfkA*bkBdUGP)kgO{+lOfF*Xp6+fl zXRj<0mC4G~H_0M`Bqx=UzQTc=09&bD{lsTpRtg1kB>h0*M+zvZuV*Dtw|6D@VI`hO zDxE8mqH}~OnKw0duRXcIy#OJuc2?%8#WF!zSb;d+WG$xPPz*T1<2>LR`X#RCXw>#k zDo)ZP_QvZ+cen}$I?pBFemj*6ty9I$Qp>&MDvn(K!4~~yIW2T{s{+moE-nHDSA%6e z<2ghRQrs3bTHW?3>IS^^BRjBLv#0UwOO-{Tz7_6)%sXejQr_OF?mcPfzUbg9c!8S^ z3{}FFocq1`t8X-k7O^F_3@6yK;6`|m>@MndzK6*OIH~!sb2H|qg#5dDSstI;e3$Y< zA_q4@w})mxI@A2+I#)f3v6adj_gvSDmJ}K3`g|g3Q>%5Bq3_9acziw}+zf8Ex+o&N zk)F7CSK*ByWIrn*$YCU zMxekHDFu=|-P`Z05(tQ2Q7aG#zmj60Iw!r$3n*%mq9KnZnNA=TzK2?1Ff zQ^%=2w1en!jXzc2m{Mh(Qu;$B>Qbe@j8CKYYpoU_e|$D-ADy=0at^!c=AMeeh?4cB z_W5oLt;D_R-m{1+pUTi#XA7|#-l$+`P_0FO)fVNe<32|PuBu>S#jI(D+C!BNVl3i# zDB*0E9iE?GJcBB{P=fU^N_o^ZB?7A#IJZ%kx5*>a##r562XKN1INV>Ix#KQ$W3SfQ z2H!@Cen`OZE$cH3tYT0+e%7pgR$p&EP3}2W7WCx$r{||pzc6M+J(mYcAr5m10z96v z(ZKDVpr7Vj_W)^ZeScR9hzT}KmE@z3lFIElyklaL=31}?OdF z3IzUS(;+@Q7^6ypW``AkE!HqJA#D$hoFNR`kv!QtgF{Z@RAV<^&s@36+pH8#c@Gq0 z)_H&V^#aZlAiaJVtAjRvSMvXJor#kQf{?dMGs))Hh zxFyXP*`)X)D;28K7y9p;nWqsAg2&!#K16gE(Kq)St>4}9=;IN;0DWuhTP8nyN-~jg z0Bk6)<^x_+>B&!KD69QQ7cW!%pQc%}{^V)1713$#(6t&H8q&1xPoBt8c-_RJ^rA1zp=QFCplSqBB5? zA(o93g;{V+T2v}Y zbI?F^P4{_YG}?q@!T>?T@GZ)fKe?zD$AOhU=&~a5j}|K2nopQSKb@(D6VHKd1g?Rp zhRX))+dz54-tSiFR1auJR4OA4I2Mg)^((hhe}W5OSfi6y?KhlGvJarC{wVGAX_u%_ zY`pBe?s1lXnU`nc?)sH*UN9PSe5t zMo%^zEa_1kR$99IOpz&tqP-`8(Z*vdm*WQVT(}2WoD1In!ob`u#QCBYFG1G2<|r8B zlp><6u#?&dg;H;WnNdxBbSygNXj|WaF{kw zXr|w8vhLM3!X&L+!VpZiYcBT<4{^STl1+!%Z_jA`@d}Odqpav?H)b>2`0R|k;HnQ$ z27j&V$biUlriGsYu#H!zd~R=v4&Hmp+!V9&c!w?2CXvv zdBapK<(r!;o?DKTf|jEypXuEfuc_6Om!OdybGvb?c^r~#RY^K z@RNOefk>;AF?qBTnfr0UfQhk^A*F>R%#VWS3-+s3G30u4rjaWz%w@~CkbYVJ znK%rsp^0EZde+{QGrB^7&(mkSPiurg7eaWQUk{s$PIztFUXp{E6E`R`2sI|wWC>#D zJbmoZSgT>&KVX_qxC+e7k;XHOcRz30Lvst3FDXymo|%woie0hr3|uN%;tVI8zDuf# zhy1I;bnWMv(V}*0PxflNzY_Mor|IRbsFk#l=%VWgbZNEPR&}ir#g)#;;|Tw_+NiG? z@)`4LV54SArHJw}nGNiW70fXhD#`{|_{U05^8~I7VIlYv?QKBPg(EK1jvWIN?K*G8 zBL(5tUch5|0nC*y>`yE-%uQzQXe^x?iw9~?k(GAoWXwaCAXY|Smv7TOprnzgN}QCG zT-ieEl4unQ37lg>-vvrao;-ywIBDK8=B`i1iiJMq_PuvRXl7`FRFe%i|Fk2X%A}ec z4RV=-kP(@vjPy^>&?`r%)SgIq>Gq_|1_wnCOK;(n3Lcb^kCjDSqEn`j-5L_;6Fac9 z=}m)H!YQY!-}f|RCg8WHcQJbo4s5L+_=5hv=u)D(dF<;BAo5Yno?3Q!koBdlrgcM7$D4H zOSfQne2a;71aoFmk}kV^ z^8$x$oa>tIU>>BWAg71P)dNn$MPr-06Gz=L;AsH_ED|u*VSyxsf+;==IVwAH?nAeN*Qu$cw&)B$c5IDeh4ii$uf~ zG@uD*Z^GV%tqxz;P;|emeO_H_Zp%Przn1VcsS8~rD9dVA*i;c5dpc)0;S1!J)~0Bm z1)*kkgSL#~#`s4J{~*8+p2K)>?n6{Ar0vlW&KzL9fDOA~V>fRR3(d5W(ZTi<(@~XB zH)X8n{S28L%{90IiTiFwRs>0xLOt5+p&TdB@|yU(|0NAbf50&!=@p%4zV2&JAB};V zWEwpd3wSC`PMC5sJvaWW8583$+7WnBK%K1*Mwb@fve8Q}Bj2safd zpE`Mz+J-o2?}jbJjabBwhM|zLtz$*?xbK<>Wcc!-aH5YkF`ws>WsQFQ&u7XVjpn+P zJA(D5;{_QRzb6I$H}Ro}%qT}BHdi#1%k#&{E!6&)Lv=q(^;{$oT?h7V(uYs|sd1fN zEx~j@qqf4X6Wl2lgO79?DBu~+OR6|Gl86_fNAwp9Qbf}5gubM-wQdx((^^&t#87^^ z@2(}i|EVdhct_5t)ifuA618dtp^4v@`ah3C}zXu zQ`4^V7>4|gp3yKjFV5b%POzW(m?HQ57G)%r`UpY77ha+cC?NoAMyfgZww z*ATZUCB&{2kN4b_;P{@($9GX$#6hEsc|wMHC#URlVIE$x)NPltUgWcEmloGZ8RHuI zN4|d6fIzr%WAs%NM7T3yA5ZspVOuLH5R!OJASv5!NK(uK(pGZCHaAJiB1u!MxmOjm+i|h#<2_Zq z6Q|X8W|H=|FOPE2fGLBF9w`&|L5UTx zP?X$+>+K7|qI+)@z~6EPO+o%b_L< zX=0SnZQUB>I!-w4cr`JHTI(CkwX(%0AvW`zoEFW^EzJoGGp&uc-cTLo-j1nS#AE~l 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≫SoT!w79cYn2gKa5X5A`u`icDp(^(77-(b^K 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

    JdOiowwj%droYkb9FHF4;4Zl8*^1Gs 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�AmdjqpGmLWaA~W?gpWvDas0(GFfKfmY%WkjaUq~ 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 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009F3X@?GE00000 z2Kigx<12&=7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz`$=HgAi5H literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/mygdb b/linux-0.11-lab/mygdb new file mode 100644 index 0000000..ddffed8 --- /dev/null +++ b/linux-0.11-lab/mygdb @@ -0,0 +1,3 @@ +#!/bin/sh +cd cur/linux +gdb tools/system -x ../../0.gdb diff --git a/linux-0.11-lab/oscomp_syscalls.md b/linux-0.11-lab/oscomp_syscalls.md new file mode 100644 index 0000000..23c79c2 --- /dev/null +++ b/linux-0.11-lab/oscomp_syscalls.md @@ -0,0 +1,109 @@ +# 系统调用的说明以及调用方式 +系统调用号存放在eax寄存器中, 参数一般不超过3个,分别储存在ebx、ecx、edx寄存器中。 +返回值保存在eax中。 + +主要参考了Linux 5.10 syscalls,详细请参见:https://man7.org/linux/man-pages/man2/syscalls.2.html ;也可以在实验用的Ubuntu虚拟机中用man命令查看,如man getdents。 + +## 系统调用execve2 +``` +#define __NR_execve2 87 +int execve2(const char *path, char * argv[], char * envp[]); +``` +* 功能:以立即加载方式执行一个指定的程序。此系统调用结束后,进程运行时不应再发生代码段和数据段中的缺页故障。 +* 输入: + - path: 待执行程序路径名称, + - argv: 程序的参数, + - envp: 环境变量的数组指针 +* 返回值:成功不返回,失败返回-1; + +## 系统调用getdents +``` +#define __NR_getdents 88 +int getdents(unsigned int fd, struct linux_dirent *dirp, unsigned int count); +``` +* 功能:获取目录的目录项。 +* 输入: + - fd:所要读取目录的文件描述符。 + - dirp:一个缓存区,用于保存所读取目录的信息。缓存区的结构如下: +``` + struct linux_dirent { + long d_ino; + off_t d_off; + unsigned short d_reclen; + char d_name[14]; +}; +``` + - count:dirp的大小。 +* 返回值:成功执行,返回读取的字节数。当到目录结尾,则返回0。失败,则返回-1。 + +## 系统调用pipe2 +``` +#define __NR_pipe2 89 +int pipe2(int fd[2], int flags); +``` +* 功能:创建管道; +* 输入: + - fd[2]: 用于保存2个文件描述符。其中,fd[0]为管道的读出端,fd[1]为管道的写入端。 + - flags: 标志;如果为0,则pipe2的行为与系统调用pipe相同。 +*返回值:成功执行,返回0。失败,返回-1。 + +## 系统调用sleep +``` +#define __NR_sleep 90 +int sleep(unsigned int seconds); +``` +* 功能:执行进程睡眠; +* 输入:睡眠的时间间隔; + - seconds: 秒 +* 返回值:成功返回0,失败返回-1; + +## 系统调用getcwd +``` +#define __NR_getcwd 91 +long getcwd(char * buf, size_t size); +``` +* 功能:获取当前工作目录; +* 输入: + - char *buf:一块缓存区,用于保存当前工作目录的字符串。当buf设为NULL,由系统来分配缓存区。 + - size:buf缓存区的大小。 +* 返回值:成功执行,则返回当前工作目录的字符串的指针。失败,则返回NULL。 + +## 系统调用mmap +``` +#define __NR_mmap 92 +long mmap(void *start, size_t len, int prot, int flags, + int fd, off_t off); +``` +* 功能:将文件或设备映射到内存中; +* 输入: + - start: 映射起始位置 + - len: 长度 + - prot: 映射的内存保护方式,可取:PROT_EXEC, PROT_READ, PROT_WRITE, PROT_NONE + - flags: 映射是否与其他进程共享的标志,可取:MAP_FILE, MAP_SHARED, MAP_PRIVATE + - fd: 文件句柄 + - off: 文件偏移量 +* 返回值:成功返回已映射区域的指针,失败返回-1; + +## 系统调用munmap +``` +#define __NR_munmap 93 +int munmap(void * start, size_t len); +``` +* 功能:将文件或设备取消映射到内存中; +* 输入: + - start: 映射的指定地址 + - len: 区间长度 +* 返回值:成功返回0,失败返回-1; + +## 系统调用clone +``` +#define __NR_clone 94 +int clone(int (*fn)(void *), void *child_stack, int flags, void *arg); +``` +* 功能:创建一个子进程; +* 输入: + - fn: 子进程的主函数 + - child_stack: 指定新进程的栈,可为0。 + - flags: 创建的标志,如SIGCHLD、CLONE_VM,其中CLONE_VM表示子进程共享父进程的地址空间(除栈以外)。 + - arg: 主函数的参数 +* 返回值:成功则返回子进程的线程ID,失败返回-1; diff --git a/linux-0.11-lab/run b/linux-0.11-lab/run new file mode 100644 index 0000000..c59d08e --- /dev/null +++ b/linux-0.11-lab/run @@ -0,0 +1,3 @@ +#!/bin/sh +bochs -q -f conf/0.11.bxrc + diff --git a/linux-0.11-lab/rundbg b/linux-0.11-lab/rundbg new file mode 100644 index 0000000..8bc9255 --- /dev/null +++ b/linux-0.11-lab/rundbg @@ -0,0 +1,2 @@ +#!/bin/sh +bochsdbg -q -f conf/0.11.bxrc diff --git a/linux-0.11-lab/rungdb b/linux-0.11-lab/rungdb new file mode 100644 index 0000000..1beffab --- /dev/null +++ b/linux-0.11-lab/rungdb @@ -0,0 +1,3 @@ +#!/bin/sh +bochs -q -f conf/0.11-gdbstub.bxrc + diff --git a/linux-0.11-lab/runtest b/linux-0.11-lab/runtest new file mode 100644 index 0000000..c8b3059 --- /dev/null +++ b/linux-0.11-lab/runtest @@ -0,0 +1,3 @@ +#!/bin/sh +bochs-term -q -f conf/0.11.bxrc +

  • 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"s":""); diff --git a/linux-0.11-lab/cur/Source-Insight/Linux-0.11.WK3 b/linux-0.11-lab/cur/Source-Insight/Linux-0.11.WK3 new file mode 100644 index 0000000000000000000000000000000000000000..83b8a91bcf60093c431c8bf17f52b9cdc811bb72 GIT binary patch literal 8851 zcmeHNU1%It6u!xtnA*~$Xr-XiX~mKsXS%y>wTU7LiNV&UjmC=9Tf^+^Bs*kwCd^Nh zNHH%WJ_tr%)Hh!O;vWHv7Hr6aFTp&hPb#}85ivdp6{-&+7{4=fr9)zRgG?RtEm05vc5+GbvNT<&w* z<)&fz<8oTbWMos#@iZT>eMi&fW0q?S7d(FA>iI1m%3F5%YvsY`|HEoNyN$6Q?_z8j zAd%4K;Pc=~;B{aMXuCT&9q`+s8XUhs|4A%n*B-{cM$aO64&&dwkFhJ@jbwRl^3?Km zayiyBIT>pRb>;k8ag5E`*snUC;Tg6id1}to+5Q)J^Yg0wVwZg8tkTL`n$b+l?Pr4n z+AT_J%zQ#ZlkJAniukVJ1g#6y4t$bcjC zR@lD;z7DSPI9l z-cPH|97$!<=~O12KG5C4PrI~*ecZQn-eYTiQMWu->|IM@@469JO4uQ;cxHB*jel7R zGKNXmd_?5F!nrOm=@hwPAP4;ea4$FuyaS!yq{$Cq9_UB^ESTPoX$*}&4Yq)fp*Mk_ z1;~Fl_%(q1Q?y@!PUHUsXkOAg!EXZO^E~(xPy;*;(D=*frym7SgEcjRqc`?f|0pqO z>HFYZ9|p|=^H^)=juQI^CF24x473B^!a)Og8vGD^JPM}Lu>iaU&|AJolR&Z|G5Ji# z^`8k`M+-Z7&bGba;Od&ExQei9scdCfhR4IlrcGEJsBF=vj_5;%si(#8wl#(;S-x^% zu_>yy2^NFLIIp7qmTvOcgRi)Uh4H~EjibfUuQ-zCjqDxRenDuPpV^!!WcB6ZRv#w1$ zi!SR);i-4io;=$&DeQ)sS2W~YkieA0QR2>wm)JZ&`F2F$==&vh@tHE)hc+cS$@Y*~ z{itJD-pEeT+~#=`gJX{2=}n?1UVNj8XtHR+emL)32q%0B{eQ9m=Svid9Z=Bb7QMLj7RH!n^7ZcDFEkY#pO2pW3A8 L(|=0vYl{BA4o;%1 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/cur/linux/Image b/linux-0.11-lab/cur/linux/Image new file mode 100644 index 0000000000000000000000000000000000000000..81cc353245841302b56b5dcbdfb218d8ea1e10a9 GIT binary patch literal 136900 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"s":""); diff --git a/linux-0.11-lab/0/Source-Insight/Linux-0.11.WK3 b/linux-0.11-lab/0/Source-Insight/Linux-0.11.WK3 new file mode 100644 index 0000000000000000000000000000000000000000..83b8a91bcf60093c431c8bf17f52b9cdc811bb72 GIT binary patch literal 8851 zcmeHNU1%It6u!xtnA*~$Xr-XiX~mKsXS%y>wTU7LiNV&UjmC=9Tf^+^Bs*kwCd^Nh zNHH%WJ_tr%)Hh!O;vWHv7Hr6aFTp&hPb#}85ivdp6{-&+7{4=fr9)zRgG?RtEm05vc5+GbvNT<&w* z<)&fz<8oTbWMos#@iZT>eMi&fW0q?S7d(FA>iI1m%3F5%YvsY`|HEoNyN$6Q?_z8j zAd%4K;Pc=~;B{aMXuCT&9q`+s8XUhs|4A%n*B-{cM$aO64&&dwkFhJ@jbwRl^3?Km zayiyBIT>pRb>;k8ag5E`*snUC;Tg6id1}to+5Q)J^Yg0wVwZg8tkTL`n$b+l?Pr4n z+AT_J%zQ#ZlkJAniukVJ1g#6y4t$bcjC zR@lD;z7DSPI9l z-cPH|97$!<=~O12KG5C4PrI~*ecZQn-eYTiQMWu->|IM@@469JO4uQ;cxHB*jel7R zGKNXmd_?5F!nrOm=@hwPAP4;ea4$FuyaS!yq{$Cq9_UB^ESTPoX$*}&4Yq)fp*Mk_ z1;~Fl_%(q1Q?y@!PUHUsXkOAg!EXZO^E~(xPy;*;(D=*frym7SgEcjRqc`?f|0pqO z>HFYZ9|p|=^H^)=juQI^CF24x473B^!a)Og8vGD^JPM}Lu>iaU&|AJolR&Z|G5Ji# z^`8k`M+-Z7&bGba;Od&ExQei9scdCfhR4IlrcGEJsBF=vj_5;%si(#8wl#(;S-x^% zu_>yy2^NFLIIp7qmTvOcgRi)Uh4H~EjibfUuQ-zCjqDxRenDuPpV^!!WcB6ZRv#w1$ zi!SR);i-4io;=$&DeQ)sS2W~YkieA0QR2>wm)JZ&`F2F$==&vh@tHE)hc+cS$@Y*~ z{itJD-pEeT+~#=`gJX{2=}n?1UVNj8XtHR+emL)32q%0B{eQ9m=Svid9Z=Bb7QMLj7RH!n^7ZcDFEkY#pO2pW3A8 L(|=0vYl{BA4o;%1 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab/0/linux/Image b/linux-0.11-lab/0/linux/Image new file mode 100644 index 0000000000000000000000000000000000000000..81cc353245841302b56b5dcbdfb218d8ea1e10a9 GIT binary patch literal 136900 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

    jaH1yr0H88H`~7>b@pYuJo1@cuxkzA4W znkdUvx~NeoB%muG+?N`HqWAR8;d3x|vvebL5WVf3i+6fB-Wd4%c7q@ajAjUfuJ|Nc z5ehEZ4YWtUO0;{ZfBS_5*g%&|Z$8IFMqxf134}R7tOI`JVqdf+fyi|s2nW35zqWqr zEWXLSL+|geD1xMv>!CQdrHD<79x4-OI#$0 zpH>xC+ttb3O`>G?$^Q+w)9$Z5+_? zAa48~suc|}`udHPbkAFWwETadDfcyEOYPc<{sAKqax5>@+Be#vUGYK zxtz0+;=AOY>6Be2N0P#R-B0N-2z^S-$>#g368i{Z&+*08-N(})s@U>7e##tRW524{ z62iW~mUPTgR>b`h)Qbt|o}~`O%39>vHhwWOo9U>~AZC3SEfENm8t*IUT$s zcxWh5TUD^-{^3xoUjH%wBQN}8Z!+%5oT)3iqVAp>GU`rmR@;>GR*rOqp9IC@#5yK< z1NEH_%$?C9r^0iKTZVo|K|`OPgjoF~Q8b@#d7-GeZ_FI*3t8EhxiE|0)lx$2YITeZFOqdQ{F8Bu?0p7Mr@FzN%ngWc%i9sC_e)l`l`)l1Zp4)RMv0L?o zf2JlO>M#6(NlGtQtbf03&DEd(3-!^jGS+T-v8rSeorf~oS{NgoyfiDW8E8HE1B5cH zXn1Nd#!;*0&**vDusugg+`3fZd93jPLtyWnl<^~tZ>Ld;iscjb0#rs#K0+rJ_kY9j z2n%}+6U8JNWipE>iU^GqC(fQ66~pTacV>TO;Uh&ZoTqy;>sj>hNm~R*O>4$YAXL;z z@pH=dG|D=;lqRsCEyc%3K8PE2Ap9_QD$^=>e{g~QTt<^M^UO#={UzyhC!Je&{OBg@d~@F?=VGVN z$~y`GDJ1rV>gZzy&zlfA8_b7X))>RFF>Ng>`7`Cj&BUSbz}uJHUiX|PqkkU0^MsGA zzB~F=1cB1Vd%qe@l`;MlT83Pqnonp2G!+C%LSB5!wRDSCa0)9-w`D6A^xKj@t@~O@T6bG!{yN5`J zGNg>vfZU-#a;VBMd`))c5rRK-mS0M@*ho!aG?8>R%lXn{5~A&R7HN=7hv!|c+zi)=e*d{IB4|akawjqLdLkSl7A)W%M0#Y$*rlM zc^pG~Q$K}4y+6yEErgb4u7Z0~f6Xb4g)K{djMo*jdc0_VEJV<(L1|`RW39$mOoLn_jpX9j zrYmrNhgAm?1e?En(a|x2@0xf&{depqa=TOE@A+OmJ0pMbHY~VIof@m!F0s+a;hgZG zLQW}Qm8{bN5}Q~kD=EsG5Y8p0|81xrGp zKJ5lrmB5qcaMD1`?i7${fuF0HKjU8@Emk-MasLODk8Ibe*dl;NMO?q`DLUU()7n*? zpp3Ia42M14TYNA5Op)fS}7Bv5}Njw+?ygS++M60rYk!89!@hEtu4#U6?6(u8_ZwQYFM$Cejwv<{>;pQ)%K);ezy$N)lWIKJ?n<;W-nN*|Hn-Afq?5;44;~O)W7x0D*sAX#hEzQ+4B;=&2VR^7pt9 z{#dK93+P9LuUq;UBvH+Ay?U^j-AhTbDdksyiP1V*id%t>R_@3+*ZthEyA+l#JNJLNWmQnh?Ir>;a z9x5!^cUX4#+r||HA9TSeOzGk&DjIeMN-Sys;(RA2B_KUs6 zU}f`2mv#^j5u{t3gBn?oiLXAvsPX1j_dQ46!g|K z4)e&73}MHxMUr4gH|B@xd~gmM)Pn^o)*^=Y?w|~^gd%N)guSb1^}Z_swdf5#?s3W9 zCD+)Tp_!4*`=SgtE_x-haw)2S4{yTTeYQ%&u95wzu$Rih!@ioS`c+3J3+FMO=aq)p z@rsJGbABc1aw7#C9#=8hvtwq`o(`KRvq&tngKN4$9I7Ff(23>oV#=to`woewvX?QTSriPxgDRv`DR&@b~gW%1gZ#$MJ>U zp%~4aW-?lT7NaHMIZWG|L~@zeJA>t5uVn$Ie)yuX&DGCpx~Oven(EZmPu}KL{W-s= z-Wm7*YHnKzR64!SSw?{gF7fO^_8>oP3+@bBQb~VVpeb0O?IDC&DI}Ee>+Ctcihuzx zK5ih!1`B%%-vds;jD~Jy1DgMrQ_cU}R)&9fGv%WF5?O)go$^kOmXHN7H_cIux+n3p|$t^e#e&5XldKi2Zg_IOl`j5H1<4&C(&K zPzi(0v%->7ngVTuF_{z2s}x?zmS8I|jTMRXy=V=lsXm*AI&{>F!EBp!|?2f2WBiPVwK3fVsME zKYJ-_Xvj%iD}Qd}yV(~Z({xvhj{&uZ_SUrw{MxQp>HS2^k;J{4${yA z)9T@S2dTb%is;m(@ZaIQy6;B$?(sh<?FJMU4?kav7mN>U2E zEWMPTDO5=R1Dj@dCciN7&!21LRJaYx8nwhf%G>2CC=S}-F$(j@Sn$?z7<}_Kle-Zt z0!$Fs#64!GqVj+uJTXovz}#~X7qZoMbSt2z>O39?#svJ#tVuqW?F8D_ewc>^5ro~d zNJwNz`8{4eN@1{6I-3djv)0^~`)XL~#gRQv>Z8>;L63}H4jE)cCQN>3m<;?Lf9JO1J5oNXTcB5kx_Gz#+!~KtRi=jKl%JZXxKZ9B zpW$oUTokxo)(K;9B2fqr8dCrg_~r(86^`V&hT>Q=_1@X4aMIGv{r)*e0*wm_zQgkM z3r(~|*n`u7LJ&KpzTRt7q3<8wfSDo%-x@*P-VfrxkN)}?m7f!FHx{UdkbIk+i&y@_ zqM`LpCktSn@!WI5Z}lijhgE}$|YhXrO)IJc)q8$lYF$WLXm29%*i&@)W+$Fh2}(l;^6{**j;Fg zxQe>XR3G>%)d#!s7`dlB7hHNdNNe8k*(v_6yIaq^uT)KIrHx~a>TXjYOEcKzMRj@L z$duUfBXI5!YyhG?!%VR=bleB$r_v#YC<&5FTC{u5LtzG zx1B#=zQThC83LzFmHlspkf#kLvZ4DH?ibH63Hs!0IRZ7t?E2jZtNlYmZVXyp^S zk!&lP$R4zj*!|_JHGfLQbh%$OXNOL5Iy$pXNYfHnk0&+mjXgcCMK4?SDAKb`x3RXd zs;<7J+~p2m2kA6Jd~T7c_e3)g(yv^uKHoKr>TY)WF+OWeAk6feY>Kk=ZWT0Qx5;O& z#AvrE=y}uEK$bgGw|W<3zO&1`Y4DTdPKz^ca%hzgYX+?pF2_x%R@b;`>8-HdA7k)a z_Mt!?<#tE}FRbU!Q?utskGSAdYs5QP;C*=I&2SaXo#M&jx4VhSG^h`im3lFd&t|&Q z$w;oUW52&rT^qf)$R18J$<0D?_fFRBG?vRUDCnLH^!OOp=EUdxFreQk6xUAr7cZAb z)#zyNs%6qe9&W35>k%Xx@v?Y+lYPmkZ(Cn^<71ah8#cnsMcN^*owUi;Mk}*c;lx=X-=O8=F>!Oyy>1nA^VkjSA=( zo=1|K(M(oTBSm3i)Q^uYjZ?}up|N}>Emr~=Ar=0xPOU{MY(CZ(-&3iuv(?EBPylBH zfG&QI#7!_VTuM4uPT;2-RW9X-_FWz4XBu!Hy}S&<)FH5;~9@46|<&uGn(x z^OXTwR~fBw9T&1gdK-0lgC(=QB!=nhfr<+ohUIz=5)9|1(j31-6`Pc^&;-Tr)HeHx zm73Tske_OX4 zC#w7Q)a7YS;ha%FbJF=AF^clTSViyTP8?l=TwEB!jd;4bg6_5Ra`CMRJo1hhpIOsc zJL1gQrDRp30KwR!-cX0Kkes%oSX*zqCHtSae&XOu)lb(-Bjhm0zjz&>004mvY50p5 zK#k?mFg%(xEZudvyFQZc@wv>!=2brnS-3Kz;II|&rxXBz@!B6~lnhA5@(8OYs~cf~ z%+-%#sn$b2ocoQM88Jk}TO<~d1RnOz@M#(vqDki1z>mHx4IrFeN^q5){i4zNzHFuVSL&5w+N!HGN&f=8xgdI9pM8(3W z%{U(Z9|j4R>2V*T{p>(AEA9=W#tqQp{0Gr!4OP5JJGeK=AUF6p@|shH>MPI z)d_12!I{Is^{#^z^r4z@CLf}T36y{LXn6mg!tycYdz_b;ygGbaA8m8FU(&6Rlf@HPYcOUXma)f|`oB)Cw3#`2}2R-W(v z^rZVD5%DKjA=Epmz)l=$)C-Op{h%Pp6mWmXz~jj~l{E|2!h8@1|Ho3!A{F0by^4OQ z*|CVM4PO2Cthe>(ZI5 zS3uEt_^0^ih4!t?!m#-|P2hPp_~_>KL#ZJ)I<4Vfz9zBn?Rp-HHy1ZR@1j^DSqZ6hTh*n;Gd5b3rd+t@etdStL zWo(`sD6jQi!@SfeXxI6vzonN>2xI$dcCjWz!Y!r?CS-H|uA4-!im$&`u7+Xt7W&WX zFNltd`}n|?u9cQ?ogUcK+6&MeQbvG4-9uDyv<^?BX?nqNUji{HNtMm=S#y{Kh2*yl z@k*$K62(Ydo1s(9*)+K@W(l?}5!!k9bWpphK6&3sq|X{`=Q45&4gjp*T=k{yWX%ni zO!rF60_g3hz`)*Df{2C~jCBBcz#k)E2JV&Z$RyvpSix9FYZmXYGa?XS;e78*wUxGy4PXdoH)2?fR&G9PLXHDZI3p?{OO>n`EtPI^tSx6 z(e(_jHM&d?XyrvZV4D&o^p=KTCJ2xpML7~0U~=VRlpE_)ICI}+ul5}LIN-M2>Z!IO z5-Ia2_yM&@z>xD=uM9a6QTEko#eY5~P_$jc-BV@omqBYahnKDe<1bg77!|<0J-#&G zF<KM%%^Vu56)g-p&~r<6qmmN^IW1wkXsBUW&neDC0M`6>uXPs4d! zcQkY9Z7i5$G-^GAwk1wf)yH}xTZ*jDpe^+{yubSt2V-8$dP)?zs? z8M(ypk<2;1N@Hg?#*kX7*&x;W67it5x7LRY=y5paSnZX--5rhm)Ie_v-zo8t0aasFX7*!c;|vTzeJ%~RgVs{^6ivI9OVTwf>>q0py#Gl5 z{7nVN2sJrrXkxSz3FY7`akn2P^a|*wdnyJzKW& zcDY0*VlKKL8DpiJs;2gh)TVr=+deV-zl>!#U~t`N(YsRp24mcR|7b{N&#HD4UB-*a z%(ZpFi0o=k9@g0Dol_is!fc=n?iaVOh5{>ZmoR^qJefQjc5~~DIEUn` zAh2d-nag5Jg<$DbvqwN&^ZNyUpr}o4jQkNC2+D{ALhRgPSo^NEsE+F#=DsMJ zb=2}~IudhqyR4)>%BmG=3EjhXUN{G|j2a{JO+A4rwgd2$Uq?=iBJ)jPWXqz@KM?Zt z=DS-|dZ;%A6ZL=-RJayk7pFUKZB1-FPQj6;CRp>fpVpO?RIz8r*ghlKFnDT*KP%d9 z7HbIp=IU5g(skf~KQJHjp6C9|+wBP#-6uRe)p_u?vL{6gv%Ohk#z5D+n-`??SK!L- z6Q5#k5St z|IZ(rMdlO`t$a(i$pY|HdkMsLZXo{4WjDrq(xl#sU1MLi%A9 zpegYe&m80b7f2G-7h2G+9bm!mM%1tA;4fa`tPApJd)R5& zrl<93I+qX-0q(A!aI5!Mnf>+`06-OF=YBE0Y^D9roMY_p4W9T2ArN3t@El#3K8}@7 zU5?53v<{?3z4r8r38ts>$e7s>Xba428O`^$Ta_PF$Z7mU#AR==(|GRf#711(e z3f3Tw(kc);KI!Hx@Z!_kJ$Vs1pIf{oxeOJ=%CP^axVCIg$QU$DG?T@OqM2G8mwU#g z#Pe_97yAON;<1nAAHP3-<^`%L@SNybq(kiO`Ezz!EJ3)e)LkaogSEo zh&q^!LJFEHJrT-@`3R?Ox9%nEk|@Knb>i6PZxU|IE-=^4H%o>GEOAz0Y}$!#B;*xk zJQxeqzKa<;y3L|!@#jA5wHH?f*ny3;{IpDfNX5Am{M~{oC-JZmxp#SS%&%s`1e162 z7e+VPJeq@~xRp0eIm}tUJDiJtLFN>WTC2zOvu`y-|6y+<+{0ONuf{bP~u%EV3Ae$;*RhfG*4Xzwqc2VBAb zf>F>+6a(`8G@ArC(B3Qguo+Wx!d%q5crmJS?%Z6N#6x75w+>>5itO9FIri^04{eIl zviWJte=;La?uCi~DH$TK1*Yz6(dRb@E*Al0H6yl2X6l0t=JypwVpB27=6;=ZhHKFV z!-hI7r9!pMv(UM=pT<|Fz2%yw+`eXL>JF+8CtZ#28f#yl^lvJ(sLOu!2|wEx)e6#? z_yANI$CR1^nPFBDgF7qnskWNl9Mo=3J<7?PW&8*!uQDiI%VP5Kf|!Xg96#Z*xSq|a zlN@F_z2s{;!T4*ESANfI{)ENYUw4cor6hP$toz(qd3SwcL%=5HeG8BnppUs)TN-F~ zIS=sgJi9p<4rA#7jEYOfPu0{94UW8*7H9pEQ2LfjWczbYamb@G!JEv0DNGQq5y(|m zffcAy3z9#q@J)Qd>Ze|yd`tiiX0W?*`zfPhTY1z_7Dl_v3PDkSOLiIDwZpTV5|g<(j{2^iR{Sg<;W72-=Pf3R?KoT#P>PaoGiP z!?1OlhJpsaIZ_|v^HQVxOCea*vuV5IQAW>vcrz_&ZP6XbY|i5Eaihb9&&(Vf46g8Q zDaAtDtFCuj=O5JsX_Kx!={2loy~NMpk|@*A!oiikGg9@xctb8ew-w316Mm;HS5P!F z+^@co1Qh)BS<}pB*6?4IFvqw4-0_1h!OI7U2#HNk#t)W0o}X@eT>RuYVU*UIIs|Ks z3-FI(D}v|AwJ6hcXHVK9>GBY*)X^Q|j@%muD6w`LwvvaWo)})qt`ARCo3Iio$}`3z z7&%Z+5q}vzU9d}}CE^V76ReBYPIGTb z&KdK6^`-h1P@;YK<-b7W$pro-fZy`3`TWoSO(DSlR3LEJ-eJb~P2&>-nMp*?8iQ}s zYx~{Z6t(>NwD|e)oN%tlb%$nJ>EZc_m`A%#L=5H8;=gr9&3jeG$D||)qD{dK8CU3@ z2@luTs#Wme>Fb6~P=)-f0?LE9lzjZl_(`DIr|RYZ5jmFFiUK*AjizU6VqqR$pPp_y zzL!L(2cZT{{I51fBqiqz_Qy=dclbgH3uud6!hOq}8BlpSi=|8di0%X3E&(_X)-Pt#VNl4lrXr5Z~w0w+ktkB;FY4!0d%Hqxg^^+O7(-~ z?9x_?m=b;Dr(kCbRHM2zV153ahdpdG@5y0cwg#{LEaP>VC!S?p8T3XjSzAl9lIXSz z^=ofnj5~r8;;7oXGOr%V9;-W|%RF-$xxfYYW_2b`CX+H<+5wduC{`JeHV0M}Y#V>^ z=u(iV%r1z-O0)){z2c|RCCeZ0ANB8=uFD&B1FQB-RWuoRzRX;xj?S-nqIZ1&9pc&} z5-$$=@NY$6Ks~ZS+6+Y%m+RRx*h&4|gnoB8!-(Z}kk@0&P3ab%(&F#zlxayTpMcN% zk`pf3{TJ_{tK(hcUV?nmxu(yGv4NpG@@{$_%03p39uLeJ(52xt?^i+;0wn6xRk+n` zI@V4#5gnO~-V;e{*Vjt^U zU8(VMJ^tIHr|`W>rx20vd3)cJH{MR6I#;Z*32KjU^>w(Ash{ZA?V_enqetIOApOq5 zhHR8>g)D2Zt=70K-oj+Bv=Fx===4gQ_*#Z5K|E`c*1Q_#hb9gsXi51AmhpohZ_g#Z zYH+`O;`_OPA<`P=o%jrcm9gNSENW^{nYBTbZMwd4`c!2tkqHt`XY$;~%CGd)Mc!sw zVSnLrstaH3z&#(s8j-|9s;E4b3@BoYw7d=x4dS%W-2o@Jm+BGq1=>Vm>w?j zeKUnsG;igjT{EY9VZW5PynHfSTzfz5=!{!8XKR3ad-vmEO{UooF57qyUQB35<7Q~H z7e_=jv7F~e^36AvL>Dcic-%rUk=*#CUikSpsYc(pZpw zt0sAH@rgTWujyT@-8RZ*>Jpo}q)(%KUE^K-bbdc^XnZoKU9frvD+P@rD8xliS=mI= z6{(x!_jT4t@K1G=-k{-x`J~XL)Sy?gx5zW43&!Fzug&&->UU#U7PadNYF_p*8o%zI z=cb{iR1%S#A2?Lf$|(1KmKxda4WLD_;f-xKUVu5EI84=>RVFz{rqw|FpdAm=hp_nTyCV-(cvEIAtlX71)#H8^(>0 zk1_>Atf0NPo{FqDc$_qN;54kkABTg}YiURIppnLjU&=oPgDPJ1UOBxTZx!-{R8NzY zNFnNi2~(M4_d^ax#7khIMG?RMc-oven<(>{9Qw=+6A9Bw#`=C@L3SFtU2&eQOtNzO z9MP(y9piSKcif!ceF75 ziGo^HVSI|`IOZeN6AAx3DS;8b3ZW*~HS|TEDA&)(EVSFMA$qBgNXRj-4%G?#=jQ=o zMXDCV=7MErY#6xh47+r78(9Ko^7)I$O1IdS!=3#5OT#F0Kwn^40P=h0K%+!2S~qAX zgK~TQH5l zfMX5v8-G=7QYCnoN*`I^ zR0zZUV}Kf(nh!ZJ1gsg21L9I60ylWz7+)Gddnyo>nF};vO&He$nus32JT*R}g~@R> zl{#`SUgWJrJA~e=Z>i;JWLW_OtDOB?6G@n<;idd)ZQop}D{d*UDZV(6z7hb9L6;u7 z0+w7MY698@7CKR8!}>qlM;-23&-&k{hQc zRHq;pS?(H&7Vx8sZ`GrZAV88pHFfxFd|o2A9HXZcqQ*;IgMD%M)3)v1cHU5L_3o!g*$rke{>8+ z)&_hdITh~r6~jcV91>%+_*e~+jG#Z*Vl(Fj9R?pw>n@j*QF7}fGI>`(oSU{%T4oI^ zR16QZqgInJKb^9cjG+_}exNU2x9O!O5)a7GkLBg7Dq>y)?sT64l7Jf5WeUXOo4k#OBF?8os;JMZ<s)W<$0Ziknzp0 zXnsq}06ogmf+-iWB#`73#lR;OZQlo7D9Kx*CD&s9Ab()*R@ODD`3^sDC#C!1bDM## zm;YSo(+{}Y=)D0Za8aV)Nc?f*TbJc}m*3Ut80< zeW@{15--pUv6iGcRqey*JY;D5j410NZ=f>khIXuH$)u*vItPgA^d)FjqP-ej(37er z{=J_mnLcy}&&|H0#loP)L{_1>@dIHparwm)WzeQ9p}j*H>y+x zHM{F=_1Q+$Q~bKS0>=t2Q-v8tKrtuM=3n)=It5Sx&vhcOl56S3h19GCR0Uu|gaNPl zb70nbExeoguXYRF`fs@e(xhC3J(BZGJRMfpH&Lao3H8omUKB^cx32Q&7US%TjCe{# zi5u=jKBMgw<_E@;$4zZlDBu)`N@YWrj-S{73g(?xDI>?ae15!EUfj*F?GMr#y;P0r zIf!Hly+VqQ`tp527jG)?%&R6+W)Z@2dHVEK5I2ty;&sE`mdnE!mEV{sU<{sTKKqO3 z_>XtbZV?ARL;)3%`aNgKA$`P51AP$Xn`~;KY$e@fFM{;3NE{IiHa_;zt_H&3*+r8) zYC4D90-mEPv)AhiMwM$B1?8n}q}vki*{B#w4KFK4sR~=3_2#$`uH&F~X>oXF7uC_c zjcBW@GDkA;Kx&A4W6_h)dg&dO9kCM;Ya(5z4SR@xDgZPhLegCt%Odux=c?>UgK=4d zajg2?8{g)xVWWhz`A3!~CZ3|o87OcPgl{T+ey!r{X;s0P+dhY8b82VQ`!O>W2mZTg zyD)NQ{>AA#Fynj<%2nis@g~Pz&a=x1<`@<)P0K%S^_o8jl8j6WgRX~Melrf+*|a{c zMB=6qyrYbz8w3ea@Rx+#a%(R7TB6ZfBG5h|<^7jWZE_5V8v`B|NA=Au|D(a0 z7@x?C-hZ^upH8@CQd~06P$#9t*7CA7)!plnioP}Cl(JJ2n}Ac9mp#AdctZ=;{wZ{r zKjvoqJwZbi#_M+4Zxwyd6q2XE`qCgh`gY)Cf(Bf**SW7^E4HLOd{sM~E0&4vby^A8 z@|Et0afRJ@-X+W0L(DN{B7%?Dus%weSV*KPUT)_5W~>ig5-_MWN=M~a2j(?oc--TA z-1#GMD;<}i2pU*~mRztalUjBQdAGf&-kR?yh2kwp-qc8t zpiZeJwi#wp+6kV2=_6lirnU8&zg_Z+{?*$ce3mKQ0gIhi+|7I!e|LGt>-DgjG*?kM zNn3+Kru%Japmai0lB>fx4VzE9XQyk(bXvL+bNsxU=j#>H^Hv30b#!QXz7J2q&(?|L zLnhE>Q#KRW)6Lh#VY4&?-DDTQR5ZV9DT5?WeDM5O@%M)Te+IwtF=k&6IvF*(^hKn| zd#gA#oj3;+GKp()oH#CtIsGa@xPo}jZaDU#f9hPwFZuTw*5S>`Nm7KfWt&poE-W3) zS0WX*B(%caLoIzP^krR#Txo}hub7Uj$m&gGdA64eYviIlZt{=LfZ|5+wi9S+47Gx{ z^VvB)DS{Plka1!7S?{eb@eKi zCE2=Bf4(M`Ur=q6%smby*rt4O;W>2U{Tv`B_R_UIi<7#^#m%}~>_a|0r(2oyx;acT z_2QsVu|7dTwWLh$PK?-H*jcoiX>l#=`*&XtN4U#Mqp$N5UZFsf0ajVz?y1%!Qmd&S z8TXX(`N3bWRygjN^vnlKJQ?!z78$iLZEhY^6B2kNz-j{;bb_MPe%U(1ouuHzzD zXo%KaI8Nqwf5PAbb#|yoG30|;_m{ z`>gj>)ltnZWc_K3h?b0;_E7Zc*j8fAnV-kwIR)D1djwU&ZT+ihfewY?Qj%{`no>wh zm5J{Oa!XWwZ1&QEkfD;A2EQxHx@q_dkH66*z^z}&#Zvk}j+|bB{dG<_F{%C%$0th!auktkpXyq+sDSmQ0{h7g&vN)jcalIZ3`G?x9^+RF)I* z>XPb}`I>gJv1QEETV#a2yx=P@Rc-v6$bCp&D#;|Hn&&(ew!k+Oj?#Rw&vd;TbNPPf z{A2t5bUBTQ?39^D>Qc*#g{3U`sRcbG@-{0z22~TArQ2tKu3_j19 z8_g5y(sUgy%Fh>#JoPT)3v1wk$xu$5viY*rB??#xK3#{UA(z*7Sd!RXK&f$jzjgeHjq56H|BaDp|Ul@+Gq-23gQ0=C)0mcz%A_9 zmJI}l1=FVneeG8cA`yNTb)*w z=Zb93fjBexM6Mc(!5%!2C;tzYfb(LHK`h#(6Nw0)Q>u>MDY(GDoGe-k%aV*v%!-hQTSvFQ&! zr<}Uar)sbGZ=$&MIbW9)^_*3`B}YnCYhUF4wj}YX(6ZbWUwWPR8uBn1`mKugrd7m^ zU(;_b;1abU(5ZHDyOer<*RvR8zt_p zd$e)>hS(^gNE!0O8;r&f%Ssq$#{_6k<^~e7BGT%a?IU>mc%Z^-ok2hj7|5VF79~)*%>aiII{L|AS@jEE{L2cPNWd(@F(?Dg>-t zVf8NmyS*Q!DS@RKzZwc0nbhz-$FgcG`w{1++%MLN$ZJF~{XVc z&PQB_I0z?-a|&?bdF{{P#LWy%!U*_`qT(<^YzCCisst|$ypn#)KH99J61wGNH%nU; zWLO8~=A^j_=Mt(8L%4OdIVWtmvpUFMjmN8j2V;+$+wHzHf)k_ zWKvguyCh>u?by4e)yLSR>w`QUw8`MGNHs?;Jhuv953{KrW_-z7nqS;XeBk2ho+;k> zd?7w#W4fj&uVfMur|Xr732N@>D-6sx+IIckRIB#-P{DvDrgH>;tCkftp#l-tHkj|d zOxfBj31fwe)xB_H8xtXa>A;v1`U>#N1G5hXO!$4%0nc-Nf~8aPA!dBniZQDo3rK?} zo0i$ASCHJ)U^7W)iuM;Lc+Lj1)1NquYg13AD4jRiU`C+#g{h|P61=W3tbK`?X>%}@X8xI zsnzX*XeuYZfs4YQ$-pZ<`a!s=d|DiZKJ**2&K%c~Rd?6WfNvbj+{ent3v$6PUp$5*KMp!KJ)=X2G{ zO9I>j2I;mDd2<#r{IqzNR5vmX4smyv)fmyk{YLM%(CuT*c(f1n*S915xw>Y%j94)e>XjD zeTIx;AW5VbkT4%Wr+W9DZiLHvr81dagj<*lr0&k&&YwcTgqzSjd3Wx8>Z3DD*n*?% z({CRM7q5K|OojB73D4u}bqWrAC4ZPKePvK?jJ`JpmmJ+{9R%cxXxCu(>3VYXy*Zyn zX-6NB>9xd6>bp$a%UX(sjOOPSNlF|O-!p;tFQJ=y(R8Lv7=f~#<}+D!(ned$r<=q#Z^R(x$ubB^0U<|4CE;$}@)Y1RtgVb72ON!xM7?#D5X#CPy zHTQ8bOhoa;8T0HN)BN1lW82@zcb8bJX_bWpNSAKAtI$Ov(9GoFMgq3X6nZ_oA6(6C z5Rn@-jVX7QqnveUz7wlpan9_EZ|QUrAR;QDE_~b@KPPtI8)t`k&Pr-EkLXn6?xbwQ zZJhg7T+qf_Of0NBU71$sxtLDVD8r*|CJy+#TZR&24{ZK69D6SKj2b4^>Z|HTh3$s+ zbD4i}$$ySAL)UFYdRHjr)PARlOE{BY(b7$cOI%c;SxGkm@BX?aUs9ed&#SNDtd=L- zYzMrn?E715+llvH}O?W~_g=u5G&R^VLE6Am7MXurSWi?N8 z)Npoz*}!;-X~AWjf%vIV~|ZAt}qBgNKQWPtkVs zpy<~dW*~z;eWt2RE~+SKQyjzXS?;y}H+AGX-BdH0O30l$+3}r$07<_Ub+jn4-+B1} zr0`*0MWt?`M*D{Rvs;bsJmYp-aGr6@#bu)B^Oq|6N8ux`!~WE}>}9uUHEt7E+cvxT z)rpx1-Nbx959srKCFsy>_?LnU1TD*xzl^Dcjcd0h#bG{ZM>kdemr$D}~4( zQ{1W-nt%uAi>npngM2B2o+2#O!-UMaUNsBm5}g>;?yg+auRz^{?oIM$jqylHyXQD~ z9piix?)r&(s`gI&1~kf^J>eXHz*W}@xLNwtX4e2md=?59qKSI=x+!t=@dQ%7fvunC zC{6`xmTHWqZ^X%*X|SEq73LDyt`w+Vb*;AFXti|M-OMW%s`rIq8ouhpnKdE7=2|4n zm|}OQeETbc;jhJWzepXaQAV!hZrYYTwNe_;mSm#Y3AIT+%`Po$lkTQxJ>nbD@KzCVJSY8DU_&FM8c*w%(FIeL8O|c=5<sMl2%JFs<>>o{aUPi|pH?@X(CYSGE(eIK zmpAr$1^G@Zv6M{?*v3JIEcxj%xml;}Q^&}aVgP`$d_WnXIR@L4RQ=Ksb7pFzsvw<~ zS`#gx1={4~YF^1%?%$niu|B#?@R%*En{Zlhi20R1N<~764CI`$b?`fj&k2>t$aS)# z*}ojWH?m>edYE~kf(err1zN%6bqV6XjJj{T%{Dj7-7$bc6A$QH^cDc4E-xnHdoxI4 zr%1X?K!UVbycF@;Gm{v@bJ-)Zv4M-Zc8OxdJG5*Vn<|`glsUHknYCFW6Fy*|FL#h7 zxiOsHh*y>17BQ^~+k&nt(N)pNM)`S1csdz$c18s*U+Vfr!hvllS0uBVMNsy72yOA0UD7tI6xTf*)58^pDe;m%6PZp}oPfmnX@$n2 zcT~_*2jq=G1L8|i|NAcIq}}o#8?3t&D5-YF<_j8$&HJ z<3Wr*nd+4-lPAlZLYX}IX<8;swWSjN=nIT~S30VuhcbaP{IY);O@~h_R~_u6w*L zNn^s>tvv;5tV;g>{}o#LDP^2P|1+!8Kr}o+j;Kp`JMlGKXB59oR0?DJM|dHF99PWYNQ@Pl z9ENm5!W5ZA)MF#P#0!0{yA1t!e;m#k1?D?5T6=A*;yl*A8{-j?xTA>wt zNl#Nc`sC8t?Zc)T-OKPOSf*dI#hu?HR1PxK6Z=lPu*@3fssr207QINTPv(d(m}lEp zEl|4jp3pO&rLs&}+87;U-R=%GOYc=bF${gztF#44F_qG|=4L+kF}t$NCk}uFtC*BH zy<{Kjr!peNpuQTwg=TefH%uAE^w0=F$YWD|hn2_O_A2LZeE%#sWOZi zsr?r5%k}j$>I5e1TUq)gK@-UG4aZ7j#p8>(1NDp!F>;*u^W|!NZ}{b}rq3b5#V|T* zjZL1ou(9mf`spV!jo=NMw1VgOiTgQgDE#C_E@KloHQ!eXW$INGs6_`ie$m*Rs50L@ zk<=*tQMPAYpIp;TooKbmNhhfbpK=PCuxCpqN7bK`bq8pm2^KR8%0n z+Vl6jx){8Rjn{`~U(aZyY4%)w%P=lOlPl4w65=F+cUtE2f5^rP3@2%ZUrC%Mxxm({C#VV_9x3{~n+K&$lzbAwoWPrR%?KSlgQxTbUGAMAS(jwO zfgHMtZh@=^h@z&@^cBU(ZpShC_e{uf4#RhC8=QV`qB+-_%Vkno;8EYXWQu(ocYpS& z=Q_1J);e>P#JaAV66lA-NchpbHe~weTU`3bTh!wTu<=@Cp75X=>qy0%>u4}!0h8Tk9zl#~-eSt;F(H4h zC;^K%iJ*9zpIZYf(e8>Z%xL-ql7*cV9+(JwAs^^@@;Mj}iTmfl>Qk{tv=jWrsIDAo0)oQIG`jw*ZX0mPf`XBUZ^x7HJ^?^cwwN0)CPu4BVq3 zAjxg!#ra_`!I;@ET9^9QSJ;asg1VcS71c>yuj=avAp_j-Qy#Duy;nkk$%3g0iJIV$ zOh=ykM@h8ts87d%?l|l?->BQQ#Jr7{n%s?1Y5(Dwa~ic)nO-%^G~jCl?^ylJslR0~ zowRAi3{RI4kDreIdi*Ie_B*ZHOq=+g8cI{!aspdBe=D)pAoj($`muK9_sBS`gSNsw z3O@eZGGE_Th3uT_6CNda;Qd}5pDrhN{JvMTp?zCs`%skSFy|9H=>mj2oFLAed!jrZ25ZG?vo z>T0-iMDR-Nt*o0_#cJv4%)6&VZx|}MineegPPk|yhTN5F!=6w*PPKoTpWh?rNR;3s zh0x2hsL9WrwUodCh3o2Ot=?63RTpMrv#HBA5C|xBZAh%J&6mzuXyj;2cS0fa)<#}l zd6b^62MIQzxg4m~hw_cfbhg8tD9u&}Iwci|mT?TWCT~3FI+3=R`#^8GRM>RUVMLpW z#d0amerpv-28PTQ_#34xlZy{vGjjA9^gg9O<#F~11w?OJ%kI`omY}D=nE`YjvZ1~V zyGwtto<)H%&4Bx5bjXW=Hb5UB@Aw@nM!Xb2E-I31WTu`6gv?mMfye*n-nwoGMDrAT z^Q{5Xb#N)I5r?>R-wkp)(5Si{v z7O7DNgu9nn|H&%*FT-xB1Gz@g*0FI@wPFuuHVCVTvDhjLATXOAR@=_os8BBnPy=6Hc1&qIg<@qJ}BIVSCOZ6Q{&+KQs zD)q~wii=nDfY6wMOuEHbVp#J+e)E0Ks*AQx)m@;uPnGN!lDQA$Q|h12s~rDaQxr+; zx3wpL86TnKBI1VuWC+lMmCUr!_$NEi@04e97GM-C*AfG9UAJdyS-r#`JS_Ty20Hwp4dK8p* zd`@Aiwfa5e-I45%t!A&-$cknwElyo^tzUJsvw!n(e4#>(8lbNMvpJ!}Y64p8_;;kP zQsBDhSb*CaNYn6n6u)C)yLYG1-hCS(&~{Y%BhmI~pz1kRu^4po)mgckq_ODvgGTyW zB~kHyle3nZ35^WbLtBg-b2?! zRLMkR?H z>bGm4hm=t%aNy8?HjLc#({HInTN(#%I!9S248$THiQR(6PXlFjwFx75$ld8C9mtru zDYAg;reU(F4@qyL-*;qG^Q6wAW~P8m9Zf15o0M+XvAD{DGcqBrTCp@}uHV>Z%vitn3_oeRatf`UQGkEB`NHG3Mxm7z73@OX|aS?VrqL&^rND!T| zWU{kULX_-o()$GxlB+YJPda_BIh&#R8+^$LfDUeJfEG(L@lGQif~|JD?suvU%3=E&HpuxXcDwI^U-zosumX8udf{ZPZvojEE0L9b=2gA4*YwTxa{k}0M6aQig!ld{K4Yo@?PEuJFOs?({w3T;2ai+jrE$8$N78$n5{AO=%RIa;r0r!*+0Is+ z1~TGLH-vkE%32!Dt)=f7zZ%x&0(-P~Q<^(^!&2M{Cc{*gnVD-+;V92=0l_lv4N+{k z$6^@hBU&4=cRBkhFz2~e%_vLiKUjSUWne_DrI~b zyHnu1r*yY(es6GqajtVnr%7qA-8jWj8D!W)5U@1%EXFFk~~?eg^OCTi#Nbd%n4dSE*}_>(!}3 zo;QGCKVNJ(s1J%P$Gn9MmpDs+O_B{XJGJ=+7jxi7OIAe}m12o&7})e69uCE5~KuC`w?B2&=GyR|Ip1%1i224P9 zYoGnWqNkUw6pB4K0}e|3-i5~Xh)c8fqngVcjNvU6sMGs{nS)=Xw}`9hPGvY|{vAs~ z7*W!(_a&IKvD{t+S@=z6>P%Wm@XYjkZ!*1Wqn)&yn9v@HVvJg}nsq|COJQ%O=Tn;1 z9;?v$jk8!|5ceK{ZjVXVN* zPo`TpJ*H$2kl;{}5ey54@#lnR8z1j?*)yB#W9ATN>v`OV(O9SX*WegjhM5MnUU#o~ zOoG4K*nUA1bx+-sir%XqWVI^xJ%pWzbwIg)z>44mOJefa3lNN8$vLzHHIN{u^|PR_ zXsoL5&I>%plWvKe2Eb^QBHXhP_1$(7LYdLaDaG=^cU(%-*QPM@6rj&W(OQjZBZOu> zG`&^6R*;z0PbJ6`o0#vZ&Jrz(V~b-m<7a2v)AJp+dce-hc`5HvOpA)J&J{0nW>Ev|1{2JbxmS2%roJ-W99HIK5u2ZrvYumw-mqnB7UTPS{E5yx5Pll`0cz~ND z{PpmtWBgaUpGVCov$i|_FF`(ZjYLW%$_mBt4x~xnGwj3mDb6tCU1Z+s2T8P1iiFRG z^4Olx3@nOQu_jWv9HB_w>)vh4VUoXlwrj&-0^L0^ZyG+TZjuMi^L3z=Z4n0;wOPw% znkN(an@@DQJzi1iip-ZRv`KHaz)kmL*2jM2jF2cBd16J{o zjjco^O{zv-EH`mL$FlFDDb+&8^DVO@m)RrcgFjf0+=eyBR&~6qwl+P3H~`9ymKyxO_uAGBn_)9^@=OD1(}Wn_3C(&HJ!ODcoj|WhuRQ+$XDHv znaLUF^5I^FjOjRy-R*k3_Tp2IbfsAx3@y^MV-KA}&KO}g$b&?G*wQ_6#JkQTN%>#M zDahiYa5Uw2M#hs@Vp#g!$C5L3zmgZ1*4;9IN-rjp06b&Cw+i}MCQH0o<#2XZ)wZ-H zLK0EL#P*P>NX$U`(}>C7ag&QbCQ2r=aJHMT@0{N(G482fRWQG5QDfv>&6!~1=T)TN z+>yi;m!$GUxzH~rAk@gUNY$)1U5w`A$qL+Vx_H6CITZx7E;%AmExh1=5#mV!&4XNSkewUn}1*u1a-j_6dj%K}@5=xb%NWV8(`%TJ~vlz+%~6OI(U^@FO|m)ThW1u<-P&k1=opd4Y-!6nGvV+@|{FG*^pT-g4DMfWhN z6>ni1vyna6ZNIE7Bm2{5VC%q}s5-CVtBt+v=O^>Fw1x`5e+U=due_~q8b%EE&F|W@ zt=-wI-!e(^qYtmqgVl(9Q)YTMo~I6_?BymDV=8xu32}Db_*t(Op=R@F(fspXe+Jfl z1ka7}X>p|Z`-+R8ypBv3C9rhG#r(vyhY!5*8Ay0&5}#J)+Ww_euVeH)f-P^Wbp}jK zq8*IE_tuY79kXM{|u!xwpt%8R=%gf z9O`?=`1qGqyhSk%+T65PikLfAHG6Dwm0v2DYq-e}6(y^K_6o^C%BJ$Plw-m6YtB&tOjqn-AMj zj&H9S2a!{pCp~U!EJrn`=kq*X4Zps>)nDE)u;t?Dv_Ga^Hdgjg^cCKSaO}VF)nNb5 zS93M1UNbeS<28wXf<)YCxrwc!C*uds4MqISVbDkRF3+N^IBB21rzPu^*JZ#C3=b@P zId#euNHK)h*l5qVfI*&IB=Knx;dRX0#xg?xL_f7-1!etBl zKUgQ^(?CrjT}oNVGPvTs{T6Qkl-zRwjEa}i(9=$bHRh*g^2DMNe#c8M5K_iCo|LgW zdx9ycOvX`MnoofCVf>?7alJ6k&QI}?1|y-49_f;*ASddza-Kx*`90R-b=!5ETM$vl z`B@9yl(Q6vugN;wFuC^gulRR1o_a!Qydd%OQ#F&Mi!or`_CxVX28VHYpyHC! zAmhL7KXd2$w0KXbeROieo*_`>p+>D8ur>B4dj)HsN z#vPUB4;Bv*PB$tmL*B38Dyl(4q*kuDl4?{dmBrt!sJeNt16POnLsi+g%9mLE=ty}n;_&{DB&ci4aQ_hYwC!%EZ8Yw1IOu!2u%OjYT97YrTk1hfYUl$0lF zOk?%o_g9)BYQHZ%Jt>eqr2(~ZkySHhFr9lCTE6n?N2b%p0Wtn z^9~y?{;d&{6Mf0=#CXiMxB%FY9yob%AwV)nCNK>)Q4;T}-MT3;ruzZdbb)a-@`_u= zPC@I<;Wp$~Yx&_ZsDbkpv2*AiwsC~znA54)JD=Piv`i~ZIMGY$&49v14-AOaffL+X ziGK7R?sxa2B+l!TOWh^g%Q6B$!wA0r*&{0?(mVVky+olV&I* zU{hn4lEEh$cUk8mwexWMFt9*l?%KQd>p+BQ2&I(mH;I#yB|>+glS&w$dAYuHMPn!r z2If+BD*n!;^i7YMO(uz2*_HcorJBnsjNEY0m!c{jZk;6wm?O8)%8H1414AEXSxiJR zo15K_D&yx< zgp!!8&#M3_rdHxbPJPrGJVk5{)F4pmM=UW32hv4hK)UGm6-v^F;y~?L8|n1bo#WOn zKD>+0jzp53>WczZV7_B}=|C;8FX{EPS(%PX!4Hk(Q^O*tKahDns(!mNpsWNpsERq2>3SSG%GD?Oyww&pK_z%Ud!_|T3kTa-d*A;#6 zKtp-4(|gnXubEWkjyCir)4>aD=h@wxJ_j-2)#WB&63Y4S$KPZ)93+TljR-`y%1uE% zCG9;fq+&#t8Q6b#v9Zk<*4i(M91cUhY8rxSZQUh3qQwO?K@o+rwi+sVU>&9HAx$l$ zX|n)o@j*bb^^2lQCi_!V3kXQi%%r$rMM}Ro=oTCyo9a~lN-&sJfpcDw2j?->9)oHQ z=X#TsVPC8{;vXJFTX2pB$S*Gl(6Jf7n-V3f_P@2D?so_(o2{4RB{iInvVrIk%NxE@ z!ugHWlJGpGjC(`$_ zg6ZvYjEz*hS&+#EHO{g--pLPE=;6J(#Ge;{>{NA?Aq(8h9%SKHAi6Q~i%v|*EX ztd7D8*9a~X)Wy=r5QY1(j8952K#gEquEjc5^{DT8MjH_KdZ>GblnoDJC6d7YV5Ag( z{s+rXn<3QCvKv(N^uh_M!d((0TyHd)VYK>zYqCPWm$OS3+(UKNGBmwp@A77Wzqp!mm)J)8 z8n56c+^b`40_dvKRUqPK%cV1$(2W%svhbJ&RZlq)Jfqj z>^@V=huwQq8L5=7SdFQ4wD>j1q#uxNXA(7WK`$%@>^##gua#AL z1P)_H+YcT!2(KhWFOxiyOsm|9gq&(J^<>Z@-Wv%mSWKhb?i}R?{47HYWHLqx?|XRN z%5>Cgy&(#VtTzkXNcbFi=dt> zb6ZtO@OW34Ji~xCci=^ZTiNrk#ie<$t-{}8yS|y-rF>5;z&7AFy+PM6GhAk=!esUZ zLrwwE;|X;_Yw+&7sl;U$bX2g~Uw6-!cWw)j%MQU5fQfH;zIU=dF)-J?lC}E+E z?PvL{)*4Q*fM5tR$1N_OQh43#_4g^tiSLfJtvYsqm@fX}U(Jvfx7&R1swAK}B4C+U zk1KLP8+=GZj6ws^Ki25k_*h#qWZ*t%9`FFBzgN;Tu|HT-72{3r%Z4`)r1q_w?A4PB ztC(ApTlTvS|155#7|xP_qK$|Uj4+K^O_;nP0_K_Z3V@gRyZCuqZu-C7okgTf_P!Lq z`v2xkkdfB%%VTPMR{mi5wiR^ygCw28)~Sec#Dwlh|BFTOU$K)DJMFX2)$Wau{&1ePwoOi2O}*LV8E|-=9qu?+H9p)0u$PQglzx%9(^~ zL<@{R{a+eH5YP{vkAfq#@(nI;>TkCH!r`C(rwq$`YMz=hiv|$Tj@_z7(J?#IA#3t& zbv}4heFOuP;}=sJOAma&I*oDr$7=8l)JvDx36`JFhh8VOTRaICWJU^qwv(tX!agor zf^E5U^*7Xx@pVmOX2)AMS!@C9F5o3F%mWiBY}=$*BaN;wS%KMkn;00S6VgCy9~diDvL!L&he!;IdxFasq)>`Sjk}t^KvTriMB`topFQw< zze$(a-B4K3C&*;*!4*iyxg*#2B7!CF?@E{E#l=L^L zE^S2}|HPa_?RQ$ps?a!N{od|@^j#cPi@$ryh>GYyZV)nd7LXl&lu*6y=!S>vefvd* zM&sRmmpKPgqx^avO58C&T{9mxwYuxKLxZ{t^MN^PIZ4)^DkJaHhMtv2LxKj#;a_&` zk<+8AsEfe-ZXq|CJrm7H8tbI8ftg(u*FE#su6fVPTp4rNJ4zz4q(dbjuAi+Avpdq> z9+p!2AwnHb=Zf}uc~9|-N#2-(5~EayeX*OZ0X-W&1_*VsdkwYewJynL(+e>#uMBOJ zH1Z!v!d@2X#WyMwMlDN96P}hs4}_`GzZJ|yB*waCDl9?fea4ND;!n&e-zJ2~(|^`0 zDv5lpAM5)0U0Lja_94IkNbzN%K$gkR)bv$Q>A26zZAzC)c2V1W_pA5<+Y`WBZH6~N zd^?H+!j z0O(&r;qe1r^r2sv{S8!ZxS)cVU=sue7w&oTYD>NmMx3jqwfER~w%y7x@eEy}ocps! zyZDrCy41mhCA#!cu`8Z2vw2Iv8}3rf&M8^8k{-mNyRM*Y`U{W!Zyw(1ZSkSSd@+Sg zPSj>UjlVz!UViH#VN_s|njh5LmK*XUG;LA+o5Y8l1_-D0cODScHNICZ`%LZ=#n@m~ zCH#l9@i8XAm_k@KaDw6rf`2;+V9@(PV?aJu?>^M|rB2L;+)pX+Tpxo@#q@QEM(I}? z8k2o14()UI3GofGdVm6jb6_Q`{@|FUSQ{XsO~Ec53le=+;;DR?*;jC-o|ugX2#>8K z7icUPTf051Ykp%&C*Y5;QX(#VAlZ*o{KEOj@HxDdzy#EB$K5^f@#n`fLm#XbGR-`< zUc+3l?fuB+4avQ!KRvns@KF*=?&_PHX0C#qFIoi0rmsA*)&{2wpZovTp9uWr~@YH0EprOUbef1p`ya1GqSa9$KDz65Tui#7u+2FBswrt4@;~2MNDL->pdB_;=`}%t|NW0#I#E| z{sm~JMhjjV2D%o?yXV(rvK~CkeUe5?8|bh=Cd~D^Xd<TArMcpc&En74EMv{4!`I`7tcU@L2s|6Mq`A>*gbA> ztL^6#a6e&E{ntg?8p$d8f4>4gomcPw#k?RpPTJ!F96AfQnC3j-zzhwfu@ny)Z#|+L z1@8b$L%dhGYKNs5B_}paJ;N;?qOunQ4N6$a#BW_S7zgjf0#AwZrv+~#w&Y0uIkI;L zXa>VtZ+v{*F%9!z=JLYd;G4K~QA{I%jL9W%Tl$~(Vfpcw;@GGT3rI}48rWfnecq-g zLt7*iw3K?6D3vw=6qnWZN^gQ6r^AGST=nH#-C3P0miU(H_{MY1?I~W%j00GrqVn;* z!U*Jo>Ec}3S#_@z&$)F}2*-^QNKc;%Y?`V+{XEI@Dju-u#D4AH&Ulh!JXOxt(2~rP zO7jFyY$XHlv`pHzV`$l*q-d*lA}UgJ^`n-SBt8)Ocj57it)Y%t`NuFJ>S=Hvcz1<+3=cZ;M(95#w7od)8QYZR1ezv z%jmSbue6e$McW(Cd{C4Vku^!`rv5s9!cl(T{aXnAjp2h_heb+wwdEd{v2z7OvN7t> zoim|3o77sZZ_5gtY%VL)V?Hh=Xq0ZBAz3~(H4syV+`FV;V{Mu}jpCIho?WnuZNlrd zhP>kAmRli11OTHNvBs@CRbUA$xa$fJ!q|bq#st#4ZT^vH6A6P#+cMJ!duFk> z)4yYi%7`9afHYF&YU=80qJ7ySp9`={1|=jc$DZ*qI8X=3@-!TDM5n#`D1FyHH<&ff z5Fhf_5$|!ap={b(eURkkTE{+jxnAAm9u&2rs}S% z?mUbzyy4X~w;6N2gI9JF~oy#sw zPojX`7)<0ywXz{$ZrFEgF5h!e3UcIx_fT_QTp)CWD@2a49=#p`5)VzWWx9wJkd>OQ zNrujB|GrH$?|PIV*2kc}1{0TJlm7gC2;^AJ8TxIwq|i&eJVt#C_Diy!&tsXAxS(^* z%2_aD^3DLL^+@kzK9BqT=LWUL4ZMZrEj3%$!2iFHpy z?jFuZ0j+yv=@l%4DP$-lG4CVrGmH8mEZc2*p|O)$sd{E#Lf7jo8V0D*gp^K!!*J!? zfI?-PVH?}wkn18v;2oZfIRkk3;+J=O5|7+`RuP8wId-~B@_~iWIv=g&RV%vZ!|d3J z7qLaA^Ja7Q+ms`Y0lj@IkM8pWh6E}5e9L*{*5TKijXTPlhXT0efu$5Eec1B|n$KU! z?dcL$u@kW#VVgUJea)YPHV=xBqX$dyJmv7jvhWJfGU+bmQH*+w^N$Hpb@H(paI)42 zSR?eUP@jo%djFl^H9y;OQ2f*`AjP8W;IYZNN@fW=9q$_>G;uYm5?F$Ja1vy8KVi8H ze`J(ls-%BP%|U!ybUu4@GGdu;HhIb}lrCdB_iddW-T0<|btT{RZIA0Rkh2*v$jiM&ejl+SxU_Sxnw)b!R_3zqgPT&xb`_V9J)$f? zNR6RhKcO*dGA&=Uv{+ZodPB}iMH}gH!;YO>iLQwOb3}_XM~1{K7QF(S8z28j6Xdu$JFyZ*i11;gq1n7{j809ud7jYS8d+6yyhbnXHw{t z7G*Kkl_6;+k-j>v~?(+ctvOtzP28K(;{suX~dFP7+eE72WGp zAsr>_cmKMj{rmR+4Sdr*vakOadv5_1*Rrh(H^Ds++}$O(OGxnG?j9V1TcD8u2^u^= z0t9!0ySoPo(zw&OJDs=oK6{^c&OZ0Q_rCv)@&E6QaXL+4^{Q2?YOdKeYu5bgn-%sc zO(HUmH6mp)+)-mEO@*-(jV1a7rD;bWZHxM!y-GoCp(TqOlgLv@bKTmL`eNAVo5rid zSn55rFWqKyBr4|Z@NgOG)DwXd`4q0-__DcV#Sl7!v_7kx227l zv}leuO|lz?IX^%gDm)wurS3c)u(!%`$Iu7nRxw;=BWmq8(1YAa_U`a!5}c_~>Ird~ z)i>94Vq9%me)w@~`8r!a24wOSWk+n+V&f0vA0*#t$GVjG&;bMudkE^-t3t;yc6s#V zqx5|Ep6)d|G;N$e)j|w!6jkf%k-10C^5S&1R37f2B)a}^M-C5?|iI>PT+ zwYVrp8%ED@w1h892gKTNCk!LKyEQ(gRG;KM{;YPxI2{VIG9KZXi?I_q{s3`oGI(i^ zzHFyHMD2(21(nwAr@W{o1uLf`Vl$U_guOPfk~4i!SpN1VQj0`t85@0tG=wV(a{IA` zgQs1L3sQX$Kx%*Q|@W{p**s0lP}GpgsVu36g|!T z{RsP|E~Gxf{g8XBRQrWXF+LJ2o?yJXFI)!8V!V!(f&$B7ns4Yxo$tHZr}~3lZ1zdP z-0(sd#HB{?z1;S~dCOm2au=c3{1c^7)m8B?-Jx0A{fc_LgtGs^5M`n-&e86QsS@t)CUX#Oj9~uOnX>MNRG9vHyIZ^JE#- zQhgR#(6r%VfRQhyE_ey{Mg>R7ZUvZ04(#zM4j%B{IyoNXwI*?WprPV%Ti{DsTX|O3 z?B{RIpXy@fVqHBF^9JFeBW?<6Fwve$(#F*QA8|g%*KiR_;r$htps6kW06^teM+Kgn zi90+4GNEhHZO|QO6_0kQc})P*quoRuM#89avm^tZlgH&0tBIqXI0b4ko){lN%4mH^hP?24*hjE`sp5B(GD>Ejz7AL1#hNAI8bB>}g@RhnB7|%;`9Zk5NS( zN4COo$|LF}D9sYn`-R0p6Lpd`*k;b6awC77M~uwYHZPI&Il2Rb2EVqow~?l7 ztl^ZaykP-v&ghSY>_*GeQl8yp!sI&cMdKA2%dk!|pQx<07+)9dnpoWQ`|(O(HU=@; z5B||95@xIEVHVRBUqo<_%2G-y&l6B$U`LRWu-NS^EKgs3>&9{^)A!bn-1u%s`MUr? zll$yh82mtJpgDGcKkIml&^o#Lg5D{{_Z#!OwVf7hI$IieREW4nMnOA1PjL?2$09u` z1HC>oB;Nt76Csq9QAj%x$0Rli#jiKh?!Y)T?w779N2pjYYb6)KhKQ&Dr#e3h8H?G$dg_kH9yL?Z0 zJyY)1v&`a*ZDc$19qL6AI(jbLi-!SsE2Cm!x4R#4s`C)L3}92rXDRPE^5d2DZ(%ai z=6NED<7fOem;h^*j&1Kzh)>>!4u})6O6r%3{({T0Cgv(|3HV!Kg3=P}Q;4&)1+vyD zS9Pnsn21uQW@99!P0Ui@^Gz!+>)AVC-ixohVkm3zHlV+l-%EGMjplj>NC8s~BYOwK zs{abJHJ0}pSgbZ%AQn>+=vS33u-#u5(f#ScO7Mi4tB)*HBs>6n&2aI2^D1S^&j*~k z?{9*A86LcKov@|eb_VsRioUl?ajPgd&_2~JDX@FC(77fibB5An*t3h@$1OL`H`S*o z6Xp8}weVPCV+ee=y)x94HR)TDp-G~m5Q4wR6K;cQ{G(x2uUgY3&+1wd8@v0 z{}23hW1)ZX=M(=PJfXn8R|IGP!^0)^%lgk0_5y%4sX^u`@IGMO?w-%G|7T}^Am^Y} zYlZ4EqNy07fz}_4mBu3>No5!E3io2B454TvpVfL_P0qo*Uxg*t^gR)tS^>yot)jBs6ZOvEp*N6DCQ6g_B{tII@r?5)>PFB6k3 zL>KC5acZo|1+TKO{Q5md2@3M}-cxcQNju-~^G(UFi?JUhuP%3RH`n=ucuf)S>i}S? zOLXn}#%N>ygKk0b+OY+1c)9xK^YK(pp?L;00RIl^I?3xYdM7#UL_40sGBBJeCG9I_ zW(%OZCNEQKS-lcPvtl`;BT&cTDSkFfBKjOhsl;t4F>EVSE2V$FpcJZ*DqXU8RWno8 zlAhF`Q%D*LlJzMzFoX((_3bfR>k|L8c&qEO%NlhOT^H$s*xOe=vtq}?zxAc?Vkd2{ zMg?WgMq`k#d6-r%lyszX(yw{has1RcN<6A40ERWB-4YIo#18<(!u&J81$alaF0z28jQdw87nc7-%?pdw6 zGmab`Nmn4ky2k|n>45EZG7bS*6*p2Tz-~P3^7swxR6cG-Z1(KgC*=cwVXf+u z9eEy9(fydlg{1zo@)VURNB3bD%u*IK&4_)~*@Y_=|M{zGY6+dkjZV||jCOr!!U`m(MqGMq22 zV!a@FTMzuLDi!oFS9P-dRr&)AJ=KaHx^Zq zL@RG})K&OjnvyqF<6|0L#bo#Qbxp~C9yaw%Mf(!;NySNcW^}x}m1bRiU4CQyB>#s* zk|R_YGbZZ2!7Blr;7!cFK%v-=F4cOv&k>5{wqgsOG)0SOe{T$47A#-0C6+{?BmD?J zS!ze(-F5B&r=?Mg zuLxfL0m70wna9aitt>KEAj7^6ePOoBPSa zIC@Wu{K;nn637qi8~J@$W6CbF+cwKyN%x0&*C!0mU)MVd_P5#Qd70&TS)_qK3aj5F z8$A(Wm$4tnKQkE$agBLvP_aY|?B4RZ?mEU;woP+~lvm@57x*sQq)EOW%Ec(b<;Id# zxFDIVdT%w16;?Y<%c1KIgjN1yk~+cmNbs4$1Aw+S1`q%*_0J^c+hH$(EjN#T(tz~S zF311#^PoGT-%?ca3>si~33^BCq4B;GuC5>ov_w zZe4c{By<5J&C|G}?I!`yAlES1LB=%vzM%I`3 zvpVTF=`h?(T-%Ry`l2&&28%MI7S!7DuB0MKL95sbP>WNn?{|jRN^5>S8AABDb0g`w z$R+SoPx5&T5AWO=_y}tfs^{GU-he~dv(kGqSZz&XWQ-&o*#hIvu#zVBKg51BIo5Kl zJ9|DbhN1x=M>r*0Pm#Ws+9eFHDUPNkL54GhB;21Pi?`KIco(Qmuhz#8bxSo&6KpR{ z5938-bH5;>g1LXAKUf(rDB|5rVm#k{cnH6tURFV{IXW2Yo0oqh#CTeq50u4)UD}Uk0-0=A3Q!46+mTEQQz>)K! z@o;h+NmV#YXf-1<+Tc=HuH&OY%EQ3W9p{R8J%i1fg08UlL*gjY2546)GUD z-2r!P*Zxy-YZd*OS~31T!O|89x5B=`hGD$oZ_2)IhUq3ZA6v}Rjvr_Qnh6FLe2iVK z>Fcd|wbGi5(ssLQrQMtPe)9~W_yaeGpTVX~=J=PoTGJFnZk^=)wKg`8?V`eEUV#kq zrm1WcT_v{Sj?C9+)fG0C``U5khbjDLsE4_t?-Su`KO7V9r{)7ld1G;}8-hL4EMzAUp7NOP=lowwDnQy#C)`S?>I%455c z62)-8$*>w?cw>G@+u9!Q`DN(yN5gCKQyn2rTgptSJ$XOfmGN&A-b=C%)M+)JNjK^| zWsVBSUmV!M-Ya^8mEO=L*b~!zNjQt>I4xVQ5YP0>nX@4juyu1#HO!5`m){@~J=K0- zF0^x9cxeXyW~j?v+r*TnhyVUP=sDn>W!&pE|`JU(VJz%G4N?OX@ zyNyG&p`7RyukD?PWiZ~p>o<8(oPga$eA^tVsf<~*lf<*SxPrk#=rzZfBdsZgknYx( zW)I|iX6%T|2k<~rA$awb#}{Y(p-tHF4U$?5AzSV&05SV!(UDw#l|dQjLF(hU?N?-p zqcG2syNR8rb>olcwp&m5jAoE~Wf6`xdIaPaqrx{~vtL*iD4aV;-(Bfa$$y|Rps^?W zdIsrR&fcB#hjP9{7R~sjY^?-kIhd`>tSuv&yqLYRu@<5I+*C@Ebe?;A$ybZM_;2z! zMx?=|+?a1+#8d1SnID=C%j#3N9+L?lH-vjv zjqG$%o}QQiwbU0ZzC{-WI`VV)irSN99<3aX;-`9L+aN)0h_}%GjTU6*!O_+ayoP@7 zC@w^C`16%LsiV0URyb5cA{6S%BJu+28aVmRDa0XwdMX$TkCY>%-Z!tTu47sJNkHjc||du`smk)?aN*V=R} zW03n!-27blFc)3s*XEyxV9jXK$KJNh& zUs`&^Vb168fAS5pAKi(st(m0swy}mP)5NSl{UE*<%lZA#NcIjK$bm;+h|)Bso4zC!3~h}GcPae1VLA@j5S|~_68bLJ%=_Dd_lb|k z5`Eh$-C_)rvt9f;6D7n)8gA8fhXr)+8t-%Fbj;18hN|#1Xrhp4KZ)1wz({|JzRbGu z999IQn7p2W)(lix@@YMeENPQ8o}() zOi=RaB>W-D7;u5U2Lf?rM32kf#GmgtOZVI$w$Jt^_S_zGo(mTw1R_mk6toJb2@coa z;_JxE7!lr*=iv`_yR4Vld2feNf9re(M@OhuI{JJ}ULBhZp#3wn8Zl%X{S7f*_`Te( zkAT2=P0Y@^CMb`9=jkC49eH>gtJ7h=fe>WzjTtFXe~CrJ$&$0`&9E=$0a8NS(A(2@ z-(PXR$C(umYkE8VWygcA%yH@cQgr702JF?SEUY~i7FfG~d2SMVAkKaxp^`i-J3$wN zYI&|JPv+!hij{khb}fNq=pDTCLS9r6B~q2nN%fl_R`&{Dn|R7Gy_!7liVRaLn>!H2 z@YzCqv#*bpxsI+`H*I!qF1wr~*x4shW~)Pb%A$f>5!Pc&RO6Rkw0X9P8dZ!hdgkw< zqs*ZpFM^s%0;?_Pe%nTR(w1WDRpNl6D;dR}l7Efxu7jesag7oIvWxRrzAk7ry>+{l zM2nX7A)l7>i82Ed1JZ5;3f8uWnLz{h!IhD+Ash2%|+ zb=jUVR^!x#frjffi@NSKM$$&UeGU%qsf(SyU#mYt8*WOc{roYEOn=n%eo=`A{s0Tn z2cs!A>N1vMFGZL?<*MZK+X{>cx^H;6K-MPW3auM~+?((hC+Ed3OmdS?5E!5mk!4<2*pE&g77iIY9uw#br#3+rFKxYEg5seO_L0EXc^!-nclF< zu8n1GjPmsT0@?m_7s{$>?J^WDrgI5J2&thE>Q{ItT+r8elnha%i=bI}y$unC+n?o| zzR~E)U{`s{P*JguN@W*fHO?aB)oZG&4%FJrbGLG zUKeZ`k{}#}z25tF`jELfHWR^&+ChhLuPwtU1YUcTA%${0i1}kir4ZdqjZ%INhexmV z<$SkM=DN%VaE_KB*8TKgI=-|vb-(ws1 z{*==a#qzO6&IcS^_)at)wPkRBQvaiy^OlCDK<4R|3$QY?aI0g!c%r?-dD0D&UrvAl zN(Qjud$>wqNNj$EN*qZ5iQQ(kW?*!!N&vEkz_`@1vUEaJ<=RLg^IN%r6u?Qnf@N1! zWcx!og{idI*t{FT^u#{%roDnxiF;Nm+Dg6_S-l?R{*|AhwczFsAZ?MZk~K%x0sA5+ zr@YP#9Z%{HWBkG1t3M&C1*3i@1#ZfE8abn*PC%lTnEw(A-mxvL@~>>)6=eS*F*qpg z4~RK7@*}Viwb9+3c{#IjOYb284h@s$^Xeo8~BM(z2dIYe}Yy2cOc3C zSO(Fr8C~&0v$-z9Ln8^7$`pG;3%o`#(Y{Lvpr`}1YYMY4R&Hc#obM3le}Pt#N`TeH z=#XlC{TJ|p-9$e)WY@F{|APGfD^<{c|M-6~btvbmS452jx}9%N({fg_ttd{Z!|rH9 z7~SI!8+hp2Z`4K&)Tdq@CKud*YaCz&KoVFqZ#q};4Z&Tq$d9)G1pi|e)?UOKFb2AK z!^6S^!N()*4@#6L4J~khKT0NXy$#Uu1d2qkhW`SE_O4>z5dme}xqpF9dBI)lC&-T& zZvmO40)#%GBc^gn7$ISx#I8j+>|yv9s0Z+H&?7r2FSxq@xVa5{Lv{oB#?Tl9OpIeF z@6S1b{mrru9GoEVkACbw+q3@f_WW5r$U!MQJC=uMEnxVu$D?rXaE71>R7imDp{#heq|Dr>Z|8gNzCQqAsH{}r^pV6( znt1mKB`nw)cHaPumiBdX9A^)x*RcwJy$o7YX54L1WiTqd<;1>_Qz$6$)f+q)09dXc zuYnQKi}FFq)0eTwIn0=1D!yBJc0FcEm{pdC;`5#kq_Xt;)#H@c`S+i98A<=OavN^^ z-#PvQJaQ&sm*m!}lg<~dGOVm+Vw+aBX6JB=AZXh7zl;QbF(-wCy-WD04I(*Sl2xae zIm#ZR`pb{H*i0`SXy#{yE)NYn{tInp7HNK;H*)mf`__LHiP!>mh4)^2%_6IuVt%bn z3_(So54R%fysaMh&H1aw+5ENjd};}iO)Sq`ya2a9lvnm-C(Pj@l~HebNsgOkm0uTF zmUNi?Z;Xbyi(lvR7#TM2zVa=H7OdD^rR9x?Ta9K5zmgvcT=L%a)lT{^hr*YRN0{}E zi+_#Z?zR8(2-+gMQ4nzuW+*yrw=uyT zYBT7}f607be$vd~f6@^<(~25EW~+QJ6K9HrN?d0QRTn(dHnY7wS7a;W z-hAVyV^>pST`y5h@JYFQ#T~pZz@-I{{DgvhG9P$#qQE=jvcNPHkd`|(gthP0s^0D` zfC&MPJ)oKYdw2S38q|g8Vm^>kHnMVj1c5os@fPK`@o;n2qsT z)!2>eXwlKWzRpAn$uO1SW1SKMZ@Yda`3)oCIgzicC^`rk+mT>wIy9JZ`kR-HZuc2G z6?UL=otww?K~vi@_L^)9%9aQ@O5gjFhX~;5Vd8I4-kt-K;Nzam2P0nx3dE`CZUx?S zP9C~y6hcNZw_d&gawr=XuOHbH*$2N03qbn3fT~8E#{RCV*Xt@Uj@TQU3Zh@2@r+nt z4owG`r2Q$0HAAS$1yUuzZ0i9ig8hTYWE^o!v_;1_Pzj(6h{*kbV_5dRv88@eonasv z7kP#HYWPHK?@K%7JIjs{-g`Kl-Ph`-0n{B8N|_zL`iVZgehiwVnnZ+IWLQa7EmY~s zj;5?Jnmzm*Q$&4C@FQgsHk{AKGE@@s`riiZ%RfuBfL@`KWe28pn&2&8P3rSWsJS}t$pz(Aln3`lu5SKD~trE+%GOrNeYX#J_(P zekvs5c<2rjZhqA*@uE3)td&|6E}w{kZ_*){@HYHYgCKNaUk%*VHt7wxKI|!@L$TGI z63R^Q)shJkT5ORM1V#^eOJAQ_k@NtUSGpR}(@QgTk1sDity zrX+UpZ2{9t`1=@al@I>GG6j3!1kC90h0ZkPNomda9il#XB^0PlVolFB^8yV3E4HJ< z@ZioK@h_1dSlM}CLE4$uYv8Wf8*P2-$0ubH$6dcSqW#~E_&-Pz-o~M;K9|EpPB|@d z?^8Rt5~6U${7bS;LcB_|eu3-(oKOJv&1~H+3?r;3TlR@8$;B%}xEmc4g2*RXh=`zf zgMbE@U&DeYz$+mzVD-6Zar1#BknSE{fu)ccOYR)~$%6)L4xL)&(SV@oBJ>Q}Z z+!wa+H-KN#I=BPXmRNgj3@j}gbKak#*` zvJ*buNc^8zmcnn<2-lHNsd{SZVah38F|@-;9(prd&?n*9u26yX6^}hhO$XG`3zBxb zegXv%WKMG>`msfYv2^%CcCtSr8)yV zh!fxji6lH#U@kB`0zRt0D4c=;k<%rWO`GgMG9Y+$PB_t?rznjF(o_RiWbU;OMKC?d z2OMgOmyf5~>}>!q&T;G}KvhKvAciR>!OiLu(ja`i%+pik2lQJtX^^xFtoZnG8s@%F zd2>mr0aUc$d~@Fju&d<(%gov<$MxsDYLd9qIufV*ocH+=OmHdSJ>+RHtupxLOyY9< z4yc2m{q#t@;C3?h=3e4*1k59i2geSOOg-&{m8)DY+)l%n)!!EZaWbGNa^CoTH1Ma^ zN7w=QasucC{ePHQ;6rsPP9-Z#TQezVZz_Z5zz2Lnd>lM{RD!(R zMpT@tX0AX{D(=4(RJU?-_HebZa-#yOk@j|%)o?d+xBBfsR)dR&3U~wciHlQl$^f_c z?PD2DE?z3&{rhcXH2JxxfcGBeTk7S~lVx3jYN{R(*{K0zwr{d*zcKnQ5hp9lQU zset$IxA^TQnm%u>erut%mALrd`}td!{^+NSt%JLjE6^ARppmbvESxQY;;*fotle#Z zHVJS8SE2nOB{c6ZKlK(O$ONAHV~A%#5iJpZ(! z;&FW;&2l;R`nc+8*rhKYeGx}Nxv!{X-tD>DFV?5pV3?pN#T`Cr8Mmjd-<|8thS4P< zIB23!)rS;+Ziv++XbqfyTsv8JcOCds7IqsAZo_7T?pCZCxISseP80eyX~aF;RqgHt5@fH#uTe zb{mB(1xXet2#Dp}5EhJtu8pv+?))}*N~<|{i1FKOT!8u*ih|a;S##pG3!M{MwLoc3DYkJQjnA$Mf z_eONxEe@Ce;)C+4sORZw9H&emH_o{l3_iJRU^Rumh>G#Knrgl zVN3E(h_u*`y_cl?!wG&3kjWJlEQB1L0HK;1RNwPFG5na#Ig7+K;;IAjzzSiLLenux z=_(g%l^n8aj)I6-SetN1Cp~ucLA1y7OYs^Dqzrc|=&hJ%IZpI+8k{jQTN1BA2MCpl z5U8L-iu_8J*rA6xdOK&LueS1&nFO~Q8LQ@yxrS%Z+>0i@F3;l$QCSsyT4`cJj8&s~ zft)xOlAp}NLa1Arfcc}!|7&?A$NQfe8a7D^(#V8A5&Mg3F-nLGT3NB*O35cS@YrO{ zvbe@59^e$J?&t}&N#5)@yt6K{_~1*%(B;O=OezM^7z3zKi4F##waGE^Z3(werP#k3 zA?v&~GhlLaKe?9PZq`6(e%^}YFyL~Y)*Xg6_y($tyA~S?;@vLxXYL^`kTS+83li3O zwNJVuY(2VQxKo<<`Q>@E)g%+5=3_Xbx9Ej~zEk0SCGj_{u#({b-OG!ulS}f1t0ynG zDMKPRvGU>OW$3nCjrRw!yQutLvpiG|M>xU!CeE*Po$mFwGtLZhT0BO$=F5bl6>T~E z%H1-j=H4T{OOf-gFb~h5OM1TCl{%WsJhz_BobvUwbX%&Evm7lbaOj%iuJ1%LM9RnF z@v;=!*_ZOU^f=NmW++lj-HfM4n&rpl-HNbvd%V<2gQbEUx`JJK4*d@QOfXUrE7cyv z2yql8b2)76aOgQ+SXA>25}rR}ECKyPJZ|J1i2N&utvrHg=|nGjLQt|H6%Siue3lbl9Lf zZ$&SESU9ht#%bT+bqrd9nCbL9`+1L9K>X)?%yZ)OSgQ3Pvt@22LKH%i&x&(C3)Qsg z>=;i2-#g$S=mwj^5pP{Ho|4qvW_Wgeqs3h zbgN_gDy(HuFNx&G`oe6|sllWwU#ORf&6F1q{D@UQV)_qE9{+Df9?%w$?W8R9phU zRe#!#=K_L!RGbJmj_m8IL*W9mF&{G8&c^MEK z90&vl`~&@30KEjEAR!?mA)+87Bcr0Cpkd%)VxXgA5aT|>#v>=8q#!3DBcr0@V5Fj9 zqa`C_5@2R~&c(~iOUWoCCde(y!Nbe_TP1L)sHhm|7(|$uMBLP5)ZG8euU{P?928I$ z92Yzs4d@9D96S!(uO1L3&`w0S-(R3VUT{y~5fG7(QBcv)fdaKpK~Lb|;h!MDBO)Ro z0Hytb^B@EqL|kgF7f8?4%#dkZ@VJBGzM;@cRd(X5Pn^*4n7am}q7e`h5tGm}FfuW- z@bd8s2nq?md?hU-D<`j@p{b>bho%1%^T9`zG^bJqzp0y^F``qSUK_IuC%dmRh@f7P?UckF-m3j$F1 zzyS{r9tR`=I)(TaC$ja#*d~?bKu=e?-SsS!){O?8pCS5)y_FL~7Q@su-#qx3n5Z?M z{-M3arpIKNuOgqmw*8}Hj-P!Ejm=eV41SJ7Z0p%WH|(~MlVEH^=Xo#2Y4u`~r)|g+ zbc>)Gi_4NL<-rv%=i!IJt2D?GhxIz=F$ovpb+p}z9+aS7r_P>zav13_z74G!{@ODr zBeOTNLnA?^-Z5aZqoqxAg0^yC5mjl?WnZ=`MfnPFK?cN19liD}&Ht#z7$Ez?cxBgEVNIz5_y)W*XW1-fKmX04kj#;3wc!S%n=%0kogXVCzIgF03-}Bq*ouT zX)l@U0XoI|TV)1e^|o+z5xP@kAL+2%F3}{C_;H>oWP7>C-lRU|qLh>aQd|@IbLht^ zHKxs%o7Xh@c_7r3Ji`Zh4E6~Y&P+h&%e9%K&=&Mn!)?UhZxELqw)`-Lq5kZ_Kq|`pl6N^pXv3(Xh_AWc z`1tO?TDHJY$zhgDf3da6+8wwX(SAad);sCP4Fd|2dq~A&h&4|Ws^4#Nf300v_k*l7+9*n1|qJ{SBZFL$53hii$NhBWRY zt(73v3Aac{P$yK+CYrXGCfSpU1z=hDq3-Ksk6P59MqhYwyHy>3CSo668+91(5taC| zAF(oMI>5sOsBl(x-IU!O8ygyX-(2EtLRWtib0_ zw~~$$A)sR(SoF&rN_X+Mr$1Zjv}IG-@hL5PZY8<{zl9L+rs#Hbm+3tHht|EGb3pxV z!okKJuE~;ry=p_#eD&C;w#6M{F&_Qz-oZrWhsPA%BTW(11RMN#fn1*&RyP)7?fQUg z)pi83@<`%iR%S2XCJ7GerBF{(3;WI+8}Lr_ZLQmE&JAYd&^>+8ai~-^jXU(XWAOHe zaE&9X+tBk);>+veHaA~1(d`R7KY1hZ&Ove=7blXXTqFpy#cNl(PeS9@Dl>=a=e5FE%O^8l6jQPj=6sqh_wdJhTJr&=-qsA;W@X z7d!iURqQ=#{dAwI=t7uAa*^&RE-Ak(2dB4<49~ylmCfd@DN`R;it)d48)iFc!5V&x z=ji<6`}xfjJD-T3W=kD^EPeD3qluciIEAxZK|@Pia9E+w--M>-(xm2CKYKCfKMZLO zvB#L;5W*dzqkEJpd!Y^#VFqw$XYY=gZVl>=A)Y%^;x&=_HtuQD>MJ)qk}dTgw_|3Q zO&gPBj+s7+Yq^RaBUp&n4rylmO&s{qXvRYv0!__eKj%vh_3cV>e4+FAip)_T=8~{$ zR^z7MqyjQ2`$(Ie`^O{5LfI|)O^&}c?ujtVXpNUn3c9nsGu^qwQVbni|1L7`ezV__ zxHH4mq=BtVv*kphgYW88^`eeWrFujHAYEBNE}sT|uLYkD-Ni%rg)_Pm&lfhAqBj=1 zpnXXPo$NeYa@`URBC@BlRFi+)NJXd>kpgHmDCX~#1paHQR1rJ?2*D;Q_Tz8M?^${3 zB^3ZRM-IHdt@4P-^d#vIQf|WSsu(erzFnT<1|R%RT6kNc{vCau-5G+4;+iT$qJvFo zX?5=V>Q2Fp{n(D5M0|qUedvDa5)ubT<2bmEl>FR87IB}1anz0N!S+V4{4=c==w$D2 z=j%n?cgozC<0FrOAbmi+5TtOay$l$aKSBA+iUIz(WmfxvWW#|MmSZxDC#VCfs~-3| z>eY%uI3z=7^HneD4zN~5N*pO3V`t+1r9_ge&mGUnTb|%%zb4rH5)y+g{wOk4?!mNG z8QjNYWuTkOZ7yHmrlN}V1N0y~Jvdcee_8*4)2qY>-Ur_xH08QP3n-;AbG&OLP^wfC z_)Obvv9)R;q0nfbqf1(1pqN=xJ?eNB!t2VCeWJ`&bHWwuHe0LKJneAge#5Rl=FY$N z-f0%D?R0Qpj^|G2g$qIo&kMW#!rG9RM1CI_=N<5vh8-4!PD zO$gDu_Of$yJWxee)U#w|lGumG8541TwCibtEE=td&NP=Dqi{Y=z{qu{uADt7QqP;c zn|c6bjA5V!WEBLq#hR;N7mvd?G}PC5Q~1!Pf_;O;Pj-1Sp1&2oSWk7GIb3_iKcPtC zU$ZGs<@Pn>n>4VSiT$8_B>8HR$e1BQck45kl@k^bQ~#!|Q>~!Y}_j4TTHGsJvCZnizD<|HC1PT?Q@`RL~X{@ zM(QV%I&x~=&=E#|a^;Dla2Z3^&mPY8VcT`8?^|{70u8keP|LlX3Q5brbT=^38^*6= zKg3TKeEsEX$7XUrT>^AYTkQ3g5~l}PAKb};lOAvms|7GO&No2^^#*XxF59Gnbpja; z@Xo}fLJz&B+R-!Loc$b8(jY1|y(k|ojjdgn*ymwfL19z4yZ1wxE ztTGCmH+|Zj>dyq67pgzG{n#l`W&x7EYfYQ+=-H;Ea3MjAQHVRlQ{gLka~I33svdQ- z8x7O_+JCgJ`7;dbw6-YTzKKBh6XH;O8NI?F_Tn%N%7^^~nhjawg&vJU&~;vj6iG6g zepAN7l{GxQC=VFqQ$f$$yoT^?x-3Bk-;j7isL*2?SqF(kweBm(0eUfWQd)%SUb~M} z>0ZgE4q<)EZqSA0nvnc>4H*qB!(-%vRh%0yxt5=Nn7Ct#D~ITEoAUtSXpD92F=mi! z*6Qk!#AJ=ANFMZ#GvYzQS$IjMNEvsvN}&kPAc&>eGk(!Sh}<6kLBlRZVD`$_z+g|O zvPz!0VTpv0QbZ;lunB#-8+_)&ecD&ocb<7JxsN%jRiRY4q*1giC!|i3UWXe(v~5i9 zvvMwcdv)uV%MKEHclP!**fq6`-J#U*CLiXOark;4i-q^Md4!miuQyN z!=l%3+#hAO*V*~5bk++a+$0 ztnT#t3k~z4D%i7!x`@flQhCne#ay)Zb$Y6yv&OXT>GB_>P0te0iVuk{;lDG|Va=Bo zk2*MA16wLT2mhIeqP+bfh#DZ%OO?35E7tlavj9^6`*L_qIlGw>sd9s6PqjQ#T$K-~ zTq3nhu}ng_+W*Z<+ZO#{lCCfrkkiduL260!aJktrCa z>wnl4J8}RCEOs?A`qm-K%j-5*y>C%J*26bowF(FD8P|FUI`*X(7`=4(B)YD&M*Kn0 z0lP)X-oTdsQ*BYh)cZOW`yEB^Lz=*zXE7+`Z@H#ne8!!PyiMSwL67(d=kXIE1y+Z= z(6%@$&nr~6S=@mgDrG)WBdIgWS&t$sGpHV#(>>qL)wI&iWUP4ctc61{y%Qw($V*X$h!D{I$s}|GR z`_f>LuSFcc&bBPHn>6(aYbB5!IiV&PEF6FRx@u}gt&z*8vX{;lgRKXn>1Z!E#u!x3bNrC1BZJ1|Ge6o_=cfk(h_5v`Y$8XaM+NmE^^FOCnbN$? z-=O5|rO`5YnPvZ;-@N2ZZK^}q`( zf$C*dhe1%#AhPV;rQ9Q+b$J2Y=ZfwuSQArCnhWwP;IsD2ovg>IW~278ejI80n{bs( zm6ngzlT#|TG+4OIuj3kox@ifVxMJ5ucXo-($8!vgBq8*GPOqGJM+`~-Y+M>6lwv{(Qj^BF=otj!XLx2gv+|4BO@u%exe zuDkl&V1&l}q^4LtDkIk|jEm5_WJp6foLNRGn|K&!7BEYnj+ck_>*q;ROd9nM zQuIZS6>~Uj)bbM)#yz2BvK+G9ymZU#=c|>Nb8^m#*ZQ6|@G4mGqm#mL4b%8QDVEH0 zq!oo7#>$4e`uc`6Ae-tFbH|P&_zLCBXq_^AJ?ZWInbn5``_ z6I_&B7_ueEJi~U4;3q`6I?5D(#o{0n%r(mA>q93riml z4^2NfFr8u^#1sT$Z8M(n)(e-`^Rrq~hq1aRjJ%4XOxz%sr@K2(&}4D08olE3s=h{i zXq~6@BkmKv_@?a0TZg5apH5wJ1u4;Y^mb%VUemD~4_g%MbNSlXU*E3(O`2)2-~5Ya zJ)78OY(f7Ut#=KZws8GIRPYbQ3;S-vE^c(+J829Naiu!z$g@D+LddcDxieGj#YT8N z9KHBeLbQeb#_Qh-#`$LN>TjP764=U?E%y35yOF&utXGedf}6_<$+#7h9~3HuFy%21 z8B`YLRr)%)7t+ z(o0vv3B9YibF961n(I*i{g#^$;Zq}W6h({Qq#jg2;76)i{HP}XqKY2|qlB!f%kk@} zi-lJ8wXEv!5s#O&@tskGdslXwlWa&a^_;?{~pmBnf|C_JbkS$KCl&n!VqCd-Vq|_xba0 zrhX6o_$j61InbtVhE!W?FNYsAIeKA$zQr9OzQ}!FD$5dJr9ErGb9E} z$>e=rwLB3k+@2f+%j+g7vHuVD-ZLtyZrc_`0a22IfMie#kt{ibWC|ooE)b;1P(YD` zWI@SEKvI!2MUF*Oa?Zgja!v)3C4R5I9q!rtzH{E)=f3mfo!9PCER3EYP!xGlRMm`15ZlB!?DtH9A>z`=*d-Q$XjQQmAdUn>T zT73XQ|E7wMxba<|CW_Hb9DifG$op{DIv#}S3i<}qwePQ0xc^F=fUUebLpEN!7xGqx zKR%3xB^H0}GIa_udAcVwV=kE1T~<~0%G~t9{yM$0;$E+&0mW5qrD5;Apv4bQpM~UW zy){2$N~aH44q|n1i-^ef1}J?-F1&w>{r&y7twn^_PEo7C>9NX5)5wZuJGY6{F;~A; zAy;uhZRh@Z!)uP}B5<8L6IOccBWz3$H;{I%k9p`jup_Pg5CzC9GENzJ3>_!9Q?&vCuynWLuUV4~8#|a* zMbOAey+2Ro0R5?z25N^4H=^n{Ct*ULEE!iSC65H)kUXT!Ou?EO=}(D@49>OMaO@{) z!i;Vmz3+a{aQ<)XIy1CU4K%Jd?L#9U`vI7=R*Y== zNv~wnuz@IZix8p|2MDfpQ_4yGKpnrdXr_qe6FDO>eV9V18y5gUue*nRx%^@#dM8r= zv0YVZE?y6(qS&Li=O_e&3qMAB2WyqQ+iic$eewqu?>w8U|1<`XkKGMc#jmo)d?knE z!F;S)NU`2knyO(tc>$trX;R`H@tG7MWLWRx>Up~u5-Ns(B|NqYi~H)1b~v&h6u&r{ zyNN&X;E{^UZ<@AfsscSH#mAj+?vXG0tOLVczj;cE~+zt}T) z2i4o;FUms?m;m7`zu+~h_FRt>x;BuvJ}< zVmJ@=TMs;ZQCCx9iEhneII~C-SH4z6r2WX`57M2zY)m4-VJN8Ma;SkVd)9MBG07d4 z9>1i#?vT20Km~u1^vV+%-v{{6D`HymSaRA*eY$WGQjrzHWYPM$KeiDN(kE_uwze2Q z3T$foG)S0an_a)^GxtH{N(?*3J4J{cl=BA`kAir)>Y0DGRj24%!yvb z+^4m=xO|S(iNNq(!5P6+BT+Bd1{lbcr1)Haji@PFohhy%dkscIW|$m$usoIBSYwdu zAKU3gxFsy1Lzxa{iVF|D&;unsb}aa*58S-WN6Q8`r-NMt$N0vbM7;^MjdUtbu4i{{ zZHa*Ovx7&NC*~S!<1Lt5zUz%6>J)(LWkW4`jhJ&&csZ&4pur2srMj^NjGeBna^oXu z{O3&!rI`l~9W%aFvWWC;i<;H292rk7*~M{`nYOe<_PThGzK(yRIQ-qL1k|KMRczm4 z;bU%Z4ibChPzENEcHyu$2IGnOoiAyoTj4Bkr4|j)4*Y?YoOVk%&t`x+!L)VcT~EST z7p#;<$*A%;lq-}nmze?c9zJ;`9%8B{(#upK(!*}0R9`jT#w-y6|D;MIH_>w}9W!WC__XoiogQx@h{d96bR0x2uA5rWMEK57krtQ170P!K z!Xm<<=C8(D*_P(T@g(9YVdx5(y}RjnLJ(!b?EJl@d}d&6#>F34{Oy{EBnZgyx751% zILO4b{#v22&4eO5k_mbVWn_q3l!4{_F@;0Aj_xrKQ{A(sVjmBf{SLpo2$D0NgqMIsx zXGA}{XirtK_=~53r~NEv`C9mbH4DU~&Jcmh0d{cbOnox%QtSEyYxMr2#hVT10R<6; zf)a&Q@V&av**hvS2a<&g2uJO$QgYzqjSgAIcAlwDl3pybsf^QRd7VMrU=16u=|np>|cuo3w5;ho4MNC1Roo(O`OO-FAF*UPLfpw?OM7?9!CJz@);lYLD z;eQ@JI&-Nx^85)O<4P-Sp3PG0j1-d5l%Z2}ZG?)D`peLCSZjz@dHevf=i+;6>!8iA z{DqiUrbfjC7srou9aZmP0a}q>73-fxoKaJo+vTu{C6(G=%DWBJwhM~_*Px0N_7cb( zyie=VVI;|H`Wks*v8M-c!gA&e+kO&+^t!(|zG2#&|7MAgkVj{fHVE2Z;+i_$zB_vh zJRdl3IP;<9G*lHmP!%+mHyh5=;!uCN(n%7_lYU;_HrnZJS?vn?y<(^0lb5~#>VD4j zIx-_9jLD-(IOk{9bPI_GZhlB>&|t}TN|KgHNz*qR#xd&ln)|TQ3iVd*sbpgt$IP`m zMIw2R**1ppm8NM7P?$vL)Q5GquGv~!d1<(M-u#d>d)VcI4)!i@-lN7g==71{G>hW&S$_|)YX5fmI}cs0?UEky;PPB?J`#KgqX%R!jtJR5HDx^7WmEl)WX?45Y^y|={> zh*c{h8i{U*RK2tvdMa_xw+9n(ig(WX$#%~AM$TiQClR)Y#6Hc7&UXtDEV&$8t`k;6b>Kl{r1am5}?YP z$eA1{Odx}^#S-tw#k^01-pIQMOwUhBLpVHaBRB}*m1rzhN)a4z)q&lM@Ou-%JGTzD zguhh z#kY=EtBVTVxxs1|4QIDP7pX$tB}-m0f|*w5VUjm{o9q+^b3_d+I|fslN{!v}1{l~R zEfZW9NEdCVaCg4fmAc>H9N~Gu1p+vdC_JRxMF&ncl_6OdkPA4o?+Y4km>QN&mM|4n z-~SXj(-xz}i#)cVXA55RJ{oyY%?lbYB@BD}Q9518Iekf+uN z2h=}%xemc|GHZs$dz9-&!-WM!cJ?zBcACC`j{ec8OdohoN&+HE@6Y7*C&@kH%m43a)uHw_~ z_FzBq9}b5XP}p>S&YrHJV(?ih&?0=(SCv8-J@ayb1n1_U>s~Jo7AW0yv&oPR)Os@j zRG7g;1hIdCo&OT#bVKjE!nxHNVZ+=nTOKHoD(w~pR)ruHS*ErMm1ie8%3Ld`X_VF) z-5-uVy&Sk-Dg(lS0ANZZiVhN9C|`@!n$Q^^F;HWc^UXh}sx=?9}Xq(DCy*S$~ zZA$|Oko()<;6(N@a8*hB-X*P8uC6k$b#ku_;cY-%pR9T}5dhDhi(!NaDXZ;AyKJ1E z_pa%+7@fl_7R#JQ8tyx0AWa7p#JI*39X2b$E@Z_o*4ShTuXP5)3TMs?9BBH01!m|J z9BU~G;al7H^@6TwO|>iLrJ-D7`CByNH(1dnAIV!Y`iYb48Lsz-lhG!r5O4e3BbVGawpVitdNwR~SLFRVXeRAU`DxQBNW4%gsd8CBq6m&lkc4eEm%+4_O>0$DrxNK>nGDQxG?q!EalL)aZ#ERMls* z@hk8}a1+*ZEZony>ayA&tF^hd+YQ#>9&umVxqvnTTU0JO!ZNCQvNNU zeC4qKfwl?_+LmVNg_zx7Xvq85%A4Y%2WATqu5=R4q+)bp-SPraysKib3M75MC2*DA zj?G&&h)~g8Pf>X1fL^jp+E=KZF!}^CnyT>)h^|A&w%UtFk`mwoqmiq#0%F^yo*M@1 z?w=}68)?Y3>7gAXcyunBo?bt??)69a=EkdaNe<7b&bp8g*h6qMEhPmX38QYG_M*EvXB03!!$O&8rC)m zZ&{iPRv@A_8+&d<2zGx+_h*-rua`SLz8JLN62pMZYfATX#El}x4@nSCH_)?3_Jo5ZImi{cFm*^9BO@9N^5b;mQ<)|SKt0H2NXjzh+CE-NF;kz(E@l6w^3=9% zWWnC)Pr+feeB-1p)SYNN!KVH=h9IW3xo}0hG&^;7b*rOeUY(;^0IPUY1d=-_PIyY@ zDp<_&jK^TXeSe|l<&km;DuEt2&${4as|^L$#CA;9SgI)nq(TeVKBT$v%*#vkDx!ta=Krx00a;#(Vt}iN|>P}oRr|Y z6!&;BQeG$DYP-B&zqEgiexV;raY&uwIO-E*lW(#38hI!oECz+04a^Eq$7dLZwLS%M zCt}1NOzv=;TYs6qs|BOOcNqV!Im8HD0e=%Q7Hwxe`kRQ6P4w0Me;bYUpB^lak>0)! zKR&0#(Y3I>3+C#!>F}fVe z7%leNL*frC0)hx-6!2YUqZ8G_MKYZ>j3ac97mz%5b}7#-DPIb)Dc!KK7y#n(;x3wL zYj^+&yQ=c?&wOx`HohQN0dY(zaR5p;UB=g^l64j=NjnSNX9VppWm^X}wT2$tW2_vd zJ2BWMLxe&~)LE!Hipy7nXbPi|Yv?DDkmL`l^WOAdK`Qa9X(wC)1z*X~ZLOTq_i8jA zVcJ~O`rFyj2>RPDLV5&mvyWob>Qdwx&+X85dydB(6pcLHR4D^;z$g{k=i=$a(;Ob& zpY*t0==OKSBE?JDA2=58dh4*gVo&1EwpRD#x|`w3$JofH1H?}Dn&D4Jy__F5B9e^i zPd1f6oRL5NtED8|>DAc~OV0do7BB(a2R)Yap{I(BS#cFcrd9fPK{T{U>sG54j%d?z{_E1};} zQxWr1wfw^j*D7k$To@jWd;dvUv%8g_J{KQM^m@ivu#6dS=bCG&(H zEu}Brq*HvaY45EEW{xyoRSOV|lge>(;XrS@PCx`b!c=P*VGc4;o(PjTroMe!^3EAG zi6Ib}+_=j*?OkyizIM^pAE#5$e^`dCRnUnPg-nUM7nUhjdy;HguQk?Ty8?I^iPLFa zah%v6j`ENMv#)ZWfuWZoqx9*Mt8L9eR;ld8Yl$bV6EalI$3D}D3rq??DHGg&HnVZ7 zWW0l{9%z^V0^&;HKP>3JM)NI6*16w3hpuJQWW~Mr>}02>{NR$>se)=epkCoBFhGgr z89W4^N!TuwSBdTl&OSRH_9EkM9!!#1O2SajAy0~F^3Gek*_@U4eDtTL+?DT;$l~Y$w{rpG!flIs?Ed3gPAQ_}yZQSL^ zT@m$TUmJl1__*bCnFfGHC&rwY#$d4D#z|ESpVvYpnCc3uy@#Cjzy#j5i$3$;##>Jt zPU~)nep|+J8Q#9+w@wc!U zTq#Z^gDTO7*;8&@BEKdoVd7SizIM$Y0)(^HsF3QsEBZ|I6j6Cl>ILf#=y|Jm_h)18$W!i=q z_X=ZIo)_r8%M?(Q;?wU;qAipyR(3O%JUCxGU&#uWXk%v9_@rZIn;k7WFxjE%V z_JgSjMTKpU(&zhcyGIU9dh?x=pIs!|mb!R|4-_&2pPNdFnj#vXa{Tc6IE}@AhO2>pf?LZ|q(B z4i#rOef&FZAos@G&)OQMkdt+#{bx~PLm6MgNJRj;&-0BJXty@^!t+ZP-mCaSiH5t5 zIb2>pVv2v3Fh-x4smsM(eh{a%y6ctbr3nZLxU#HC)O+PzZ(W?vWgdPu+wJA%_G{ph zi_0?QLtDrT0{{n!JM5VRUS+vV-P10_KD5jRzN?4QbE zzLsa+t&7QP>h=9j5Jr=i!r$V^-U1ldxTOQ|)Ex~|FWybINO-T1FR>mk$2478N!i?jZ=q~T4@jC-A(lv*AgZfp=cGma@%vk)x}Be)`m}{ za!?~tZV693ayEGV@eOzTBK>!a`&YzGR1DEzDSzrZJ;UV0CQXC^g+-#Y^~$Jb-(}Oz zh%YhwH+U;v7fWZqn?N41+oK$7UH9bmC>km;p7?nu6)-BitIWrnj@|TsN=Dp2D7-N)o+C^A@jxBB*gl=8Z%eA@lZS0FxMQ$;u*;4PX)uyUH zy=~#XVgeDxCxp1Hui^W^9%GNqOclFeW~+J^s>9~&|Nb*Oai)*cy`Yg*4TWW`7eA?b zJn8FbDJBmjeXe2s{fYuk+p=E-Afmneq$k7t{nCe7yGGh3)6pmv4lpL!n#t}w9 z@?xbQ$CRFLUs1V1h86h-)^q}f3#pz}-#vf5THWX~T0>)l)bR6+=QSd}c~|$)Ea*-@ zD|%CSDw261ka4Y%+(mQJ*i92+&c&sk1m8$p0Du|Xs^)c*vhDc&1VasSc)Bh~(D6FY zY3})4WNRWCGJ=tN{_Nk>^KE&$EPM#^BZ<0^6j+aqR#RQC$Da<^A7BoSa~{EGk;l+p z96z_Fl1C8xIx-bix%{bB#rRF42ztu6;DmT!k7ubWN6Z=zjTjk7H5<76m__(z7(ep; z@E=&f_OVO|`};wRmMgurHF0|Jum+?mxYWAQ17a|GXIc;2Rp(lydil}H-dcZcn>{;( zVoheUZP>=kd8|2wVnPF7(vw4wXZyk9I?nHz+Lcow@btI^pl6f-;&{a!mW!2{meBi7 zHmezv)Eq+tBsWguzPT$9wR#?xOqtEW8nJKhfH zr~A6ta|D}qrBcz%*$d-7rliuJe+nV4gQ zdWTcg8Dg*r=rC#$sbs`wDbWi@<6K%`z%uKP?W2t~G+7r8MHtnJ-dk!a=D9)tRw zV*AFr-o(pm>F`amWDUz3>wSiAw*C72#UB2`>tF$%!5Hb_uHzC<=KQ8_bmog}D(2+T z-WVu%IofHM7{y_=a6VRRUX>4vP-;2OrHy{fG*Py9?p`mN5;TF*Y>0f3K%W!HjLARJ zwX*wkr|RsfXW9HhwRX>YYq2Xjh)>2I#vN}7AD+S`{D#ruzPXFLx(SMffz~nnRdMt( zkwLxDubm~LZ1(FmP8ycM=z2fZ^s~<)4h*u>ZgeseS3e=}8IXtd0N_(4ozlALR`?H) zN>Z&|UBfpN`@T&OU0^GL>u8+^8l%pif$=v_#f=wgJsEJC2z+(<)x!uJ*ULmcI%jCt zAc-@TSJxbIO-~Tw6JZ~<(b(xaBI-dW3N=tQ9GMxH>OL@L6%q27JyjIIaFD4Xf2*hZ zQ&0Ej=b4+-83r`Y)|y;lmFRf<6X^NN09-QdC5y(Bo0u0SVpPZHbaOo}F@^m5bLC&G zOJDC?G+zS z98`}@bE20KD(nVepG2PKVX2f5@mMU)Q8hI?E_hpFQ7=j2K3CFfp=Z|mSQ0MbHj{^P z>Z~=5B)u1NU32gG`g>_fF2|XL5U4)Qb&ymSTwdML!p)<3e`Zp(;m`}3)H_Qy$61I- z7;FdyW>TT3DTJ@^VS00=4Y(Z#Zf*?Kd04JrZ z$*)Eh1Kk+&^6Xb|I<*PpA^|J#!#jr?8%7|coYgnlUSFLMQ1@0pL?_; z8?0L1QIOh%OKwI(Fc@1v0Nfyagv-PkD=dM_O9P5Xd8;AKQBAD;f`aK6S(C|!6Rve_ z?F$MIT?_f)+A)gj9BuZ@0$Xxj4{dplAtx*2Z14`pvMh7?V|)|DVKn0s+h9wl5j_DP9(vhG>ztHpl5@J9!4j@9t$Rkd4ugucjCl;ly%id8fvXy>WIaLnH zk=h~nKzym;5}k`3x3pL?qBg@^N7J05t@9l$u$a$To@wXChv&$}%~9JdeSqgAIcu`X#IW3Ns+xV-jhBe za9A%>c?tqyYHqAVgd*SCrz#m}R`b5@GF^AkbD=I&d|^90@xD&GLHObuMIzp<=WHa zRH2@RnFW8VzlZEXoE|T`oHu+XUMDGxZCd+ zbS^bJvRR*7fY{AJ_8A#va)Jig5lTIhd*DVmr_7A?4TP{p4jgvCgaVYv2;RRqG-@@N ztT0iVdfqIrXPxFgvuz!sU(8-=2USjo=e9-Bq-G_}3~I{NPAMC!0lc_O=c-o1C`Cj7 z=~m&j6Mc7lBsEp?wMa4;*0D>>&}@}Rk@5=P_8P;N2ep;~Myjin?n6B) zpJ*UCCxGRI_$Dfoz3{bCnOV(nPEioS7kZ`l(yw?1tAg)E=RHxZXYHx>mfDkRmsU*_g>=)y~$qRP)<0T%3tJtf0y}Tu3Y~Zpcl?$bzf{1DHm<5!o4-gF4t1m z7a0||22xX*cATzv6<}g^_RlTXJoOp*cw1pi%pHf_Vj7{ZxHrNd9)P2iei#*z5{m`u z3D615>QKzctgc_$E*cn5DDYf>=(=reDQXngtSwTRXw{+gKbf^iDxbA`lhc%X%}JCu z95;Qs(#@q+(5pn~cg!1Sn_``fuokMfl86_KEGsfBfuDZx9A%+(QrrUlr#76iqVD~r z)3n=1=M#1N?WO)HgQ%az#s}8|wUdzRMI(!&zU%x3rXqsu07H-1rq z_8U5iCI4@?HRxND;<(bCHPzHb4yE$*9j3B$a&USiI6SLaHfT9atDNkq2t>`EKB?ENb%n}uH=O@xyo?6`gi^sg-Rd>|9p>EQ# zp;|E+j*=noebTMqohjYu!QfRNUj@$2x7sq8jME_V7cTs*tOK4sLj>#a>Fnv!Sig=f z>tXxy`I*QUdu}e7Z=5V&UjxV@>)$M&lJ!9_7TrA3IMsb3ufFKVbm%V3Z(Y+U>Zin0 zG$#JA8t;*MLS#LR)tJ`x8l4iE{7?`jzX|-#!tBi3K1-H}bMBA9j0$@K2+S*#*jR(8 zVdH`n1T-v=W*gn|X_V9;a#$_F0a*PnYtMdK#GfQO z&{~f&#g>%t>cax?dw{I`^#TzNLYDP41&Ref=N?o|LmcTq==m{Q>(x9KDP`D9!U;0y!0J=eH<7|(j1d4dDf$;D_&!*oj**2DHurxkDmdvo^}^3 zip$*x=u;NsEW1RngZB(m)r0FG%65J0)vXPJW8$CPN;5`EC>2qJ&OA%7&}L)aUC)mK zmM;<~2Y=npht;mxInu`Xv9TwTdj3Rf7o{G)Ievi?h){^Y@>R9pQQ&lIzmz%_xvOF+ zSo*bn(mP(KRFPYqpxUBR{9rwx(Pe-qsWK-IscLDpqWNz|_F*NST=PoZ#W5 z(HhnA5n7Y_a8>)QemYDUQTTwZ?#Wa0Li`^UrX3N*F@jnZjL4W-6+WB74owxh$ zr^LRf?^M#4M>Z1_uNwD~u(8Q^lafj2ZO+*_BKJ6>i;h{hhd14rj-*n`_QG1=iVD-G z8BcYl;Al9LKJ~~N&ntpZ1d4wjZIux7PYE zqRXITKB=LIOaj!Ncm86PW0pEmRw_~<74O4IZ)Rf)y;qOtRrp3}`tE;v7k%~bBu;F8 zRvAAT*ZnYg=z#UwU|#v*JiZ)=Nq7`{CN~J_Q!L)>X`XVFQI!pj$;wSUC$^XmFWZ@| zD71aDkW*T#+HB{_A7@}BvGp^m7X3;}97x55=f{ft#3Sv`p`qwPYpX!I@g^2JkB@nu zR39}CE?8ujfKcCElXRC<>C{ST*ZH-z$)_^dng7=iYRQ7(_eUNf4zV+{bZ;W(b)E;dMpXG=TS~TVl zTx=V(Pf7lyt0n2)0HL1iPt|X3#RJ#GukmxW)Ey4S<=LR8{N4WsHYO6B zJ$#~BnG1gOXebrPTSk&J=~OBm1_#IV%@iWVB{2E3R`oxy9$?Hqj>6slpZ0`PDYrTD zymFvOSfR^(Q91R#YGHTm`2fC4{OEE68_}e^@)=Rz=`q>R*D|9Gdx72WC;17Q1Og#N zHloe)6hvLR^<6{Z(nu#oD#^CfSM|hD6&H$dn6<1)KW^>2Cl;(^4(%;_0S_6v_r+$0 z4@2`OKfX*&MAvQ9t-Zgz&pMXHTI24d;1V}0oQ;W!w=t@&%y*eN1*sF8i>%}dl@*Y1qB zSUuC~*5*!8?nH^>qX?z@qt-NQajT&{HEyBv@&@}P()ZH*`_%vrxromIk^s-qDmwPG z9QbT=>z{Eq!5oIj6iY=$r|y+R*gc0jf2?!lDBoeCyoN`w*47aihYk~ZYL74+{5b({b%jL?s-YiPVsfGu> zTAf-H_0EcJ%&Yt}dxIfJ@5uXp4(fEOE@WD6hlsnf~OI(d()T5WnuNRqHo*vR+xr{y-uY$iMQ%@ zD4TQ%$9GkG8P-~|F&~5fJFlzzQQ|!|=y#XQktQ~_R)liD$BmYZE6Bs~s1ETkC@%GMk`h$-$~u6XQ~3R(3{ zad>;3^k;#LB%XcrbP~m^QB%9j2MC|3>1=VjETV35QlH#zr1xMC^%Jge}6*+PLw}?@mmE-{bQ-Ie{{5$;a%j3L4s$nYRja(JvV=I zVNiG8wN#>akune7zdi5V4ke0Ip%h7*N23jAVf^AH_MY?gQ@(V6OEa%N_D zd%u5Nc>c>&U&qV#6Hy4o$U$#UYPt((5aKUTH(q%Xo6GE%&Q7}o*#%|u(_kHO@BRBF$^IT$ec0bm;(DF3r&34D{{H}nqw>?M;$ zd1yhRHJY6A>En`mtgVeR;U3{~+uAb;=dE{jbv4J?_0@HF{q+H_}B!XU3SS3Oc(gJ;m^!K9)-v?sbdGUp~UVF_rKinE!exUWfC@a-V^2&c{`lWe8L zErQU#i(&y`LhrIlMRQ2>GA^QjGZ8?H?J;^*e2C^WpB8Tw$arwptd%@!kW}M=Wq4jqo@@BeCiv$(tIIsYFx7$|40n<};=-Os zxl_!+0pWpZV-8F#b6T>63u?zX-L;)v1-c}kM0y^XVTqs(kA`taBEV!$bAz01XRb}@ zT?%T_45GoAT}LVcowhSVmHnJ~LQ(G3)t3WB1J4`@)rcQU_)NHFkN?Rg_?tYx2D;ys zYs{48RHe=cPixneh@pKusz#JVn2uL#umAxMfEZAG6Dxjh=P0Tchg1leoU&?g%q}r> zJwn;))(r5`I+wog@qCa2jVPNL*!bRV<%h|&@LW(EFO*qqMZL4eO&HSJgQb0?>nz$8 zn+eU&e#;zHhVBT1PrM-vcF72+(oh5aDnVqVfYKu3JRtmP8*xb%mLJn^$NR)jVnuaJ zj4_DwhHiKfy>COZL$p2JX>njz5LKl`&?!NPmo*Jb{E5aZ(< z2gzV4)eS4;v~(|5ID8>2U{#}wYqZ?kRpj*0Q1`VyJgRJfWBprSk9$*k_LuuSb+Y$8 zw*qXt&!(FTznss@ecS=_tn`jxudmI-fXT{lt}b5^msMC`v}X@?2Yg;ii{5MXU}6u| zrOyhIE+SV!6!ic*`my}1@CZarnY$jtk%tHTAyMC3i!jQzS{oRzR&18`TCw zN4@?8)dx;`Sdt*7NrAp;9iVESJd5WaSjNM4>O{7)^%{$^_L-I`;dvA4w6^+B1UJ5! zuKyB+LDQ+5Ru&}rkIY2{D+&}@Q7;*>pEjCdkFZLOs0I4ri-eN<-cUspXLl1OXqR; z><1lD^p4P)v`lyp1ElsxjvVJk%(+82yxY)O*H2ToZ=^T;e^})05_o}`O9b-lkKW5& zD~Bw^mMLN5rGpo%@@amEFHGO9ZVBcWTDmm&J)7Y$ZA@An*9L({rFr?f9(8a8Mqv4n zzV;NzF7<@uH%~H7a7x;^79DK8eEUk6IU^;S%n6fQNYDE5q8#KyVM<~-nyS-iUl zXt|m9c89AhsK1@ARZ)NJ+qO7iz>o3()qTaWc_MURDe)P)?F9!@3b!ZUEflWYT3ha_ z0!^+kYiUy0#~4qeIn-cHiQ?hL@!N^{URsQuHKJ??o0jmG`kn^LMrby*ddCS=^S(Be z=Mf`jNr)_iA0Q+i0R4U-EOxhN5!Q&I%K61I?njikaTlzN(R+>1%PkPnV0g_M&L5=) zvNPcNc}q0?h`9NmzJE=kB;T= z@Y)vHLY2JVL03IKnYDw2dHf6WXZ?Gl;@2|}^Ni`?)EW#R`X4Qf{+CBYINQ>>#TKfq z7xVwmgDllJ?KF58trhZ5fqp)!ZD7;XTN$r7cpk1DBIg375ibcGQR?WYU3cBn_+GeR zBwiE;d5uwe@VdhEuHvhVd zf1sqZf+*ctVpmlSo4%BT~-Vi-wbaHktFQ1KA$`&^wKm# zepr3S{_qFw8cr1!?RoKfvRTvGe5t(6p01|;upO;!iQzQedE2u77JxSH5^7LVwofk2 zp@xMWZ~fKCeDw#fRtzs`c!NuUu|c*?+=Ch9cMFAAzLfWsZtN7b#tKM#X55$MW_B1K zNH>ji=ohhY{?_qfHE4$XfrWPyf@X3n-=rgVMyWJ6N12BUJRGj022#A<8uuVcIL%oC zwl(p6fumkOVJ4K>zuKbQcG+3Xmr>8UT$?YHw?$gJ^cRCb^IkTz`D!cT{=5m1#Uqrr zd^#2T^aED7tLDTy?jzB2^x0~PYpRp+F?=#QFBTHmdcFg6%?<9yDhoO-_Tn&Lz|whZ z%q>Bx)$I+&R$^^B0W@6j?ISbu67)>^rykI58_+Xq}h#)x?%E3 z9&yi=bfV>;No;MMP?nRIxjFEkHj_(-$M2`z!IHjH8h@>J0i?|pOw1R{+YGOuwdf2b zULg-#V;|_}#F;Ng24jwOk@eH9e2zQ1sbz|;@3dhq+zDi{qqIe%w+jPZ*!!w~eX~+r zb-R~B&LSwem>X+#DCSPa-bNnXcOqak>!9z7q$d(w>J)9Au660QeV9nCl*^mb&lVW3 z#q05U`Sd}wUR^LuVkott&{oe-XBKI{Kx+EBe4IV;!ngx1xt7{oAZ^R9s(kLFbN~p< zc?ht=asV(Oexw!JJo2&fC^l9<2hli_r!bvRHoNL*Dfs1u1Db@;m#NC)RjOya>+!&R zFAH}sx(L21OoSZolM1ojH8k8&7&s6iJsv=d&lyY=?9=jA2Y<&44*or{_XNaTkOFnI zkEQvd(pNO3AWPD-sxG|;Wbf{Geb}2Kh_E#u*Q?<7xh9|yLzP-aBhOSoO^k=w6R^(i2!p= z{C=RZTVuW|N^znG{htiKX2fiVo~N?gso0r_L*jA>Rk$zwEQJ}~x|Ut}A!q8_e+~QP zXjfoDT#$dyg)#Q} zRI2`UUU7pN!Rowbdv_QIo1f*8H>vk%MHF6`+zj1@+s+>TPIJ!L_4Z4zGy?UQ%94d~ zl+sT&X3WRMN~2+k4kw!R%?-0K5xu9BI3J=3)0A)mywIte)`jRrgyWs=W3y)Tod?&> zMJSy@4{*bUkhByF_*`K>9pAmwc5G4gRnnsVdSW>LJEnCjkq!}tD2<#NmliLBLhja~ zpk{V43d|gd&-)g3ayES$3!(+57;&=R#XH})ZF`jqh68^JEM48=3ZH>z}(slh0chO6G0rUE~_rp|n*! z$FB2z`mfgLJEEs06UC|NV{k(j7INo}c9Tx*!&jK~!LoxjtZaOfR6D~^G99)gVtx zFBbFQhT)Sv9djk;s{wNL`}V#?el<&0KWQ5GEYz+?d{&)=;5?9!6x6jdm6M-a|FqDL zjlC(MrruOqhN%@}k;CZ4EdRh7k1`;s1d^u;#A3%sr3+Pk$2%5q_ybGJ=d?i<=XI|` z2$NES>3!hc3-xz$_F1#;?HUDBVCD_SZfYbf2Kp?R-`DsI?1ob<&T8A;K0cx*vwnfm zYBs#D8__}C8eY89*V@%E3smkVgO)+FSXdrry#kyGZx(BxnY;eax!M1!zoq`&YAvBZ zO=|uttF?r9FkS?&c^ak( zO+}eCb`VCVF2AyLc|G$7)-NmW-a@;_<2q#68eGUW&O;pG*YG+HqE64>$~ zK#U*x)RX}|T)V{?U3f=>4x*Ugh0T&^PD$@&6h4~ag!a%jix556nkodmd1!<#Uc7Hx zQ~GIXP0-tazL*KM`xA6MHAx#n={W*e)*W1gg5Oey5OfR1Tb`Io(=2sUmSzHrXLod6 z`gL)NGlB!e5C3dwvvB7y>zQV5tHPa+O3!?_;&|{^%wH?YNd>s1PPNP&M~Rm~zG~OL zS$M?!Mk>JBbqp7PPM&@xkn;QUy)(3l2PKwyTU4HUhVBD(u_@YOVZHJT8r$K3oS!6& zo*Vmnx#-mtT{=@tU!69mKK8hVZR_ZmlCow+Lt}yMx_n%0s25Xf@}xrrCUz-+lCSeZ zNACOgjy9zjT{^O`{_Ii4bV@9s*x==vrN)MS@v5KRWN7-eV~z!Gc|)cFFU)>=X0pG( zM`6frYESvA>?Qm9Xi_}=RKo1uIn{^89WoV5K$#%RARbTX~f*?8uqyiv9 z!N_wT_bi+rw8i$PCC(@mBKx{h)heLQ!X>v?7sy_`6J=X@A!tORNEkmMzS{KU*O}|L*5lr9z<^jE-MR#Yf@K9>>zS96i-fJ1FL7RrjpX z#JT>Hw&k~VY7mw>bRHV@qxGd<9lgU*DWd0LvWv2x1Eg$L`vPj($dDY9I#U(y!Hw}M zI^p&Lg`NGM#YVFzAU~|yE))H?*Wb;8XMizRw9{MU|ATk+(;hO}7qGnj`T=gqBl106 zvFnxX906ixKTGFl8#Rca>XwW+45>HF4?ir}snbIknmpjbzS{~f&2=+(g*1jqsrXAh zvs}I4Ch;wC-q_JIs>AcWT9P33lJvWc$^YXv{@J`Gba@{%m0dnUu-%aY!(;4*>N;oy zdL5hhokzt-?GFq8-1eP*8VyDRvl9CDq);4S@cj-A96Ak4!}`X|aGpIrKJ|nG5_~mgCI_eX%mYnq**{Y- zCnT#$GlDEM)Q4N0R0k2U4?z* z7)*b*P<{AjM6EL^s6tCs`W{`E$mT$VCU4CE*A*-WnJo3(TMziZv7PLZIX!wy)RnDM zR%1(R8Z~nJ=-G`tVp|0n`PC=<4EEkHCgLu|d>0Mn2{N3CqrP|&EWEgV?N5E1G=&N^PT$WWqT#ny=fjF)LhpG!aap?l+|LR(AaawzWr}CduCgRkvKjX7Iwf zw7tgkXDa>Aa=ZUmF~CcI9yn!k4l<;(PB*!+Jw&_JmJbs>=}?mcv>6SA0!LeKp$*X5 z3eyE{Jt`vW<`4ene=^AUzq;F>t;zqW=>J;Ge|KQ|ucR|2GZ|vEoZ&0u!n>5U(ceyI z%@jQ!+(E5*>Rxf3MG2dz%ER}dy=nBWX)GKWi+$&_AxnVMTQ6naVubt@Ed1nF_1rUQ zy3k)4F(cc~`|4s(@FDIijoBBSzVfwm-M*kFhA~|p54r_=MDi`Mt;0kDl(+np4{R~f zB<{aXF`5jg%W4>CcXgVVPl5VF@eanZIpx^d3jIh&4e2}trvLmI*e_~7c{Z; z{><2`!uXl|V%jPF?~G@WDY*)9#Vy=CpSPaf*b=Kv;C0n z{B*~LOoW$8MaY6K-ol;Oc?Eu`RnSAMl{XgRqZ5tLf1$kSUrGJ`wKB%PB=cXL*b}9< z3WDtCJ7{H6Tyo5Iir9O)*n*9|(VO%60l7O3>$3TSc@__y45BZSQU)&e4^6=PchIdo zr)XnihOQT6>D@%v!M{;Bw5@>8=`^vJFl5(@jKDKB%jX1smS&v3=rkoh4}ETCItktq zK8gCFkA_@JEv{RuCMv!7rWlQEBEajom1!yu5nKr~BeDCqLrG#(R+s+F>9w7R(}1rC z_L?3kFU{CpIKkMcb>$nTE8JQOL~De^L0E->Yvfh1Gm7KGl&@VuSH8(04zzm!ug0o0 zuXiOk^0KuCV+0wf2OkY_OL52h4!EvDS}{l+4q1V;mLz_djxE#6(GlY7l-F#Y_7>2!^FQixLUqHD}zK<+h{f%S_S zwbD!Z>PbgRBWZ5ksXQCJ_4&E}8w|7Y09b&;iDo#3A~`+%2s07eqDW>qXV@pdWa!u)BlmR9C|zn(9lR&c^c?Nm`+Yo-klqy4<4)Lt_?mn1#)*8)TmzdGf?NSx_y#BGzOny_T z?Z_Slx^+bipoa(lz~FevBCO`B)zFx!9lNMRzbW&G?C8}Awb-^v`hH?-wgY6w<)*oX zD6^D^c*hCj6vhT4e^U#>Kuy7|p~9CbcZegEdfp*5kRNeN)>~*d2DV8tXM46pJ|iWO zdh(u9c5WzWs7kKnBVl%xSdRt_OkvwfFy6CNB%lE3WV?;wxgTVTtl+8^VdU1|=a1JQ zLdx7UfK6Bg%k!>sO6J{qk^6o>3-8oWr>#eWQlT(Pf*Xuu_mb(>jr(-pLJ*9CAHf;< zE#YDl)DW>aZDDF1tpJ=Xior}8keR}SM#8=Di3$Fs+hxx&bd=;oAdrwU15kuw-L%`8 zO>KkPmdT^cZd$;|l$45#74L$L+*EGxqN;FbXt$Nzz^x>T&F=s_;eFHj4sQtqq(3m~ z-T@!&&Pl;T66UyQ9hHGTaGtvv89$%(corOzx{MH*VY?8pL>crz42V9OZJPS5xIu)> zuG#8IxC!idn=J0tNhD>oe}r0Dkrudbk6Owx_$Oqe^GSs=`z6uVq$Bb;d|C^6!H3J% zk1zX}mc?ZsKNT7A)mWjNJ{FmoI5@m(q#*ruMO@M|o@jyo{e{jtI|ZM`7FZu z4jBscxsz;H?6#8Trxq*rC6%;W_jbrVj8Ds>Q=_X`8t**!kyVXiIjwMQYHdDkq5UpKW7)jkfB0s=cBz|ZDTm%Vrx88dV zp)2H=CZ$MHcqpDKB(7tP#zTmpgSTY(t}^0!MUYj(g(3v9VN{gg6tyqaOPVw==tQ$d z!QXXpNQP`MM@TQ##ToL%&wmHl^f+L>EUpvX6eoy#vaoBnx^?M=KU@RNZi|>Itz3&i z(#9FK;k(sM$k5v+O)wi6E<8q?YOevy%PmX`RG0T?4)3znBf!!~On)-{p4 z$+)^=T7e{yneS-FK4v~a2+xEbE7z9Y7Z*AM8nDGLG4b6W?7cyA_|%_zt8y7>aza+T zLs?}nnoO1Pm- z5KgldiqdjtqBO}0zJcnYv<&f3Rqi_ImAFX#a(NF}QHe-zp3zI_g(fKZo;V;} z&=v344sbP1&$Bzn3F2{f+Aq)f)Eq}^l-3m1H7tpdnbIO1a_wU)g}tH4K^VA#&DoN# z40J}uKHPbick<3y(Eg|p24h5_{%)P)2Rll`#auW zUx~EI(?UG=XAb@jXuoG%{*Fyefs#0ibBQGG>vOkrJ(W_!wrKYYZtAz+0p@n~*I+vq zGDbzo2i>j31xeBpxEi6l$-G4%Gi_yq(&MJDUS7Ai$sdLAfZH{3WY;dhWKdrr1S=>Q z)p>BoRJ5LQyo&l&oWH4ejDKwrEb|+q4EhXX#;)yH&0TOX582eY&zq|YZF##Q#Dp-KRT~yjj{=Hn?19R_FoG*O4Qfs6dYC*{;CjT{*_GpE){B{SY`P zB__akz^qQ&v57Z<*I75yH+o;p?|^5zXrttYu_g3VgE09&={T>n|I z8G*Zr^V258-RTqdCRH`H{Z%buwE*|NdUZ)1Jf_g|{gce#ay{kAap7+nw=s=nETK0C zeOm}6b?dvLi1fx|LanCv*Ipggs_?Opw5~ioV?dl_p(8cYV1HWV8}Q`Y%+C!?qvUo` z@Mt3~_P+OSX8b7W++N>O_xYIKMvX8jUtt8%6=>kHB)u7-7`l8Tua@>b$I4c#>CpRw zqsr*F7%{L;r9E`KN}TtOFEc>$a~4gY9|9+KK>`4DkwTunvbs<` z(Rxmt!mC}qEKQ7`mFS=J9w*d)BJ+sf7JPF09dLgAMFtUi9IEah3g*o3BXQq!I2r0uV*Qnm8d@wf5TSoGp8Wf(4uLC5 zjyC4Xdl3DF)HY+$NEwE7|0UfC_m&4LjVWzDUlt@4STdV&Z6+tlF+@9^zp-a9pc4OFjq4UOSq}K2q!`9pzN06=9H#YCr zpv@KShS+T-z*cVBgyf@~Twzu@y zUvV)*cf8&?U&11Qds`GeXER^kHP2XHI!=z&R-d9*jB)vqb)Iw40*sq(wsehkGx_sZ zHk_+i5Yv;?H4CIlz8#9$MB~A9tu!OH#pK-FaGf|&eHNO;4fmLW?kRr4tH@Nq5jbp# zbmF)z#Cs%nm;In{kXm#mYC{!O33@WFRQ1Xgyk=MX>!`wE9*m2>VEtu97jJ*)LraVtNC}dMEfVZ$S^}ZT1AwBxBE~ zm5-tAZ-|I*Pbw~PR_Cu|U}M|k4>=-xO#~ZW-itdlJQqoH%-({enxOl@s|_Dk zDz#L-kX8d|R*!uK>NS43D6Owz4hG2VH?zi;9B8ni>qIVQ1pEi3{v>jzl*6um?8Dt2 z2*RMDve$i8(YfciCpaekp9uwS3_k;jc99?-biLRnS(NUNR*LN(tY@FCTtj5tXqH~> zZx&qj+PhqqInZJ|OU5akyvzRX!h^B1;V`(-v9%KZaz?FD4sN0#rB0OXK~cNLglUMZ z8oz8BOc%Kfpge*o>h`&t-@r$A#G>fO9Hj(TFQgg!8(vR~aElM#+fg}>x5dO;jZQDy zX2g$pJo7YcpCg`Hl|JEyEVFEghJ&8vPpw!_{t=5l*-ii#CR|NkqECB}{NDj=yJCZ+DAXv=VRt7 zaSHsRJl~4L(R3x)2{lat%?y$)>=53aNmjRd8zZN&$k=r)3nC@TAIdjnws@oT1Lt#( z!8%bP9*5z;E#HiIk8 zWYY9tYA{$Nc1W9Gab$c(CL|oNryMhkfB)ONc4>qu_v-xaI~h8lw|{0}k$vO-bYkJC zr#Ve)c!ThcKO4L?6BZ@D?~Iw7rW_8Vy2JMHOj|bj(I~tPeY}YqD)V{bvE$mEo5}Hc z4Ib!-Hs;9|AdB$PZdapwMfV}@*30`<2J^Psy~Obt&@P;q?iq~|w8BwBMGAyyO=@1& zHb)P=c|AnFlHn!HSFw`j=iCc1+~4ivtu0HNkFeJE6cq8akuDxyeszo&ac4zMsYtL}7<9aA+3U!%c#r9@9&mLX;Id4Tpn}HT z@n>&~kb**VuclNP8m*TE&+;sAJ_AO$rVn2`UJB;f&7{i201N9foo+Q&gPztdn7{n2 z{2icAsC+U&F|{Q_HX$Wu72k^uEc%vl;3=SnF4fqL%7#3e&mxrVnvuals8yuo&)K~c zgBjV>DI~Ej8rF1g1ppSZbGXE^ffq0u4p zBG6$J{P1M=(1bIjhWb)Ek3G^eIT?iMR_{u~5G}EOe6ER=nx2uvTdHMyHnzPNH2{3Z zm3WNFN-=^a@R~{Pr0qyEi+)I{og{Bj^2tG*X0gYSYOHPKbCd-n2A?l zvy)`Wa2V)P1{9DNAde&H@47?HdN76~3;(JPSx0(hNw+r8lL)`Hvb-Rz8;?#|9Ckv2 z@3)N!<25*6YPb~f9;YSIz16w#9dJB~^D262N*~0x{P^SR-a&l`bL}fE7sYy3+?=e7 z+9%pbmwfv(G^6@?ezkBA zh1A#A#gr%?9vw(0zg9V>sDPCWF5-0x*l}zvBTGz&NP0t}hVJ(0AuSa~W!FqRa9#+ip1^=(gc_eP@XA|YGNyDK+V~(-;$?cf9ClB#U4&|q3H(Q-E~uz#&g zXHsZTnz56c?gk|usPA*h?n1&s#`=sT>=0uPnL6R>?CG9wPfEzQZ|y!>ef!qk9)R^F z{bu_Ermt6M2b^QrblwZE2;P@sU!6Ch9Y}`-(D$Pa(d_#q*(XN-Igt9Pv-jTvtpCH$ zF%V+m;6Z2RbFtrhj(z^2cuDUwrXx=Rs2`17-Q!cCLuo> zqA{GeKU%6E43TNYZ)eK?VW)lr&HaZR0(kvssD3hm6lkX6AFbqXK(gN%!N0EkZ{FcA znWLTFU%K}9Sm0lGkLhwWAX?9ir-jt+n@}!sPB^J`vJ7=AKU%|y=3Z#~!Ge7{r16!4 zXQaT)aG+4zBt(~Ap^zRI9>aFE*zT?z{pb$?&R=%pZz1Df_VORm^k07BZ%M*m{_!vW z_#a8(U;go5-9P^2$NutTKU9VO@?(GbvENq#|H||JJkRs}iok@W_jNN!j6e@n!^a)1 z1h^IMSjh{8Moqw?3mNQ0HxKT`|C-K&Qf5%o16BuN`w?470GbM1yq8^Xxu!QnxDAQ@KX0cQUIG5-Gbp8#n5_mLYqK7+ezGMLg|hIA2_QAeM&GJ6Af zbUDMM404d_gZthsgAZt!_-5zonbffbPf944SjL^{*;`9&SSxW!tWCNz0%?X{w$Y$L zA&Ed)^qJwY#Tbq|`D4rT{o&vA{mB&Q&Hr{0O5K2ZIay7=scipJbreDW?E}X76C3- z^$w+r{#C<4HhR!cGi=S8=t0K2a>`MdNJ62n;-|@#>17A^Hsa z!H1H$Wy2j}uTxJFV}IgzH~O9D3!J(knXr7cB7*aw4aVqJWSFZ{lhKj=yol2{ILEH9Wku}*p0Cy@rZ zrJP%GO(qLM*yij>)tyNQa()bPe;y9{($MxD@Yq^L`)Yi@UkJ@5>T=DPy-AIB_!duG z62?2iT*4FHm!y}XW1Eou+LVo{FH??{>mz3qqyZlEYmC!Vi;Er4tb`YbUW?s&z!tqo zAvYj|(T-d*g)H}?=;5QmG8>XNf~XQqwh@|mTp|B>CPKsWFH9L_+4yqMFc zwSpGU+VxhF7&BRtONUzxlW$-^uvoMD)AaX_G;4_R!>&_C*6PLVW7sz$pVl27yni86`vfLr z4W-w~n17y*qf&><|yssbsW*Z)MI)EEsqIg&RHf9O( zRYiSpGf}bqi-D>yEOSmuoI}ouE{6%a&5Y1_q@G4XH$R=dGqGKB&3xoBmiJmki_455 z4Z!4@?4m9E3`~U}OTV}e&+QP$ zK?5X-UkY%woG;c!c6KV~G|pe-C#rHBz7X$unR#;+)JkI;#Xj`4dF)$WzF+tA44jW; z212~LsttK)v!D8n#eBM2p+2lz&?`sqJ^nsBV{fixa z-XlnxisdB`%dP=hTANA~-D^W}6uyOP7UHZGk3LUZP3Iz1#(nRUjmi}Es26#kBB;x9 zFay?aFQ6haxZlCmf^%fM;5Mk~rir9;YtWulzC-DoFF96&_+JAwCIY0n+tHK7LYo!O zpusr>3cwsSW=Ek)Zb7Bls&mGMwK5N#4G&LR+2}Hk3CByU*o|-e3v9?xn0~%z-eZai;7z&4fAUmSG38msS(Q zY{yv{w+21Z;*>~&!G6*SmMgh$b!+7{(W6NFB@VwwpV{F3s@VOFsjB^FS$)@^GWzXi zAjR?3R_0sAbC~v3v*WYA0~i4AhBlEx3^oQ06K+?E+!2Frq{?CaP(Pvv^Ivm%4TDA! zR)#G#t6n6FKq`11E52xd?qXaKq(!yHAN3;q9zpqC3E$c=--lvIcNp1sfVu!WcoD)# z%mUJGl&$W|YNmA?3TYe9=avR9C$iZv?Q*N`)3#mVpYx;8@Y~bR-SE>)E5{WLBIQ)Z zIH?4KZoEYSg(NPqfhX}m!S2+cgEu@Hmn2_OhjZ4uL z+3RMoO=N&r@gpccE%=*@4Q84>Iu!CM_%!Zd(-8MOLz!gV%_OT*Qw6iuD>!e}(E_H= zq%$Q&<5-Xqt74y|Z_u!cmyqFCX2COwup>g!$=^zT3Vg59nO*kbDS`ipv@ zsA5QwrU)3n6w96GA@o$Z^1AfVz_zNdtz9@!HUsOU8K2^Pe3yYf`y-7|i1$b$JkM>8 z=Xk5M%n-_ccjQZ}o~9U=Fb^e-mlJF>Lbs`aI6%RFy401 zq-$A2Mc;^P`mCHkeG7PEGI1NKLZd}aI@AXs(zcs!2UYD~Dy*4Ec97hoRAlulP88!O z7E^AGT=Xl%ESV6_g>)xV#>&oObnEfAzdz%W*grdj*50Y?jZ>`b%_fo4(V+$q2IxpD z8BDsp(VKGK->0aq8NOw_R$&NeQLr{dhA6d6sFyew8Odba#NHgj5FjMtNSg1K5Z=h- zy{ap+;mzeFeVlOTq0FX~CUzo4yp%>(ZHWn*>TSN{jX*>Yl=^GrCQX4VObtzj;*>XC znp2-9^R!GN$k)9C4XH0uur>ijC{&Wrwdj7v5WtBUPSNwuSmTUSl?@dF8iAbngjL0| z-do>cw8CARO&A8)X=xc5cX&A^Q%{r;Mq8i7B z=2CXs4$pIP!Ykya%7mHf`?!$ts(4=EJq#b~qJl5o@D;uK9s&AgZnur2IF(jQP6TIn zD(NC_zP=n62y7KOp?}UeSH9HH3*X2+ySLC5YGt=}UHgd*h80dBjx$ZqOSuQI?*NL0 zEi-sB&}B!0zEfBKSu~qvA6xNih*-y27LjJDJnVYy4ArBl)eD}4gj4bAcL!+STOD(d z*(F>RP<-2Zq20XhUZ(dDf-%S$CQZ1e{^@fv-G@YwZ7zLD(VqN9fUs@3>}p$>ldr;R zz1qXT;_blx}A^r1VltF%ejYJNrC4&t;xmn8b0(-hD(iA$X{Bi zmVAUNdT#_s8=`TeSnhiFOEK?I----0WnblG(vZF0tmOuYlbR4dHJGBm&S}dS;0|la zhoKRnc6^+%O62wi3&#M@3Tk+HfelkT8an^*t7C%S%IwqNp*MSL3}4aVYWX%K30#c| z@xs5sH)x=4!zw_7S8n8KiaghQ0^1En5Oqsqc2re^t!oGh%@hfx;BD@7SMMX^mKvN% z?M34KN4+T;RT~`)mA(YA*DHQDww%Wih9Hxs_nV)reg`maSGMfGB^IvTY0pdR_kS3U z!)YfK^9ZmlrLpQKX$YSlepMIEp&VhPLKOwRbR^}c!7`Pgd zf|2UuMY%c?%a$Nnx%(RY2#^gQl&@)mN79~_VCglMe7GZ`jRd4u&;Smw zEc3MCtpzWaX`1C-z4DjjDNbr`IxIaPCU;ws>x>ug$hzJLIbJk_om`bS-9?RzWyS14 z4)WqQ{U5&pyp&t9$&*L0>P#e!YRpK9^wc)tefsQ|giXNqaCQ9C7nfN`;!)eHR!&o7 z^u|rI`;fA=Xc&x*|I{EMz?krU+)|?+A~E{IxFOP8|Ac!0oxthdjAkF@+n>dlFA~BS z@8V3ue`y}|nGUB;K?Xf=_V;P%Z~y-%rlMXmQGDe!vUJsmHvquWF?| z)f?pJE*aBXwY|p3DLY2V=JAuK@zPTB3c@X8L6Nq7%!#vvf&q%Q*FMS+AtU%Q!MV%O zx|{-I_Mw-GS&!2+xIVvl;q9t|$V92=Rv*WF2PpDBM^&FMgSkVVTM!VpDxbQtgh50NFsr13+U zapBK5+1|wsSW9JY8_#s6ty#gL+j-U?xB0Z(NV4~ek;;a9$5%G$U_$w#vIVe(zPw#^ zdwa+53-Ap-o?50G_UKx{#Q?vP0qjkp%(31ZiL|oKC7iwG&#s(^ylEdLAhA zR6Z2l<|4;X%=@As5XHGAnuPmtZg=R^^CRbt2>`B2bXr5NPq=5mp(R{B6-9=?`Y@q- z$80ZI;Ih)VQ$LZbFEVl^x~4uhli^Zs+-Yw*?ZH^Y$eDt&!6qvPnJftZd0Y>GiM9;A z;euSf1Ug9G8_Vg0M{W+8o-|pmTyVD#f=+T(=NA4qVy>XXX~6HIwTvqb?TB} z1?A~Hk$VA%D0!Wn9qZB z_Q&Vg0Exx=x8)e)=(W0=EEN=XgQ&@O`p4aaA?po|^^s9`9gXZ#a8qI=-(g-#1H?A5 zYq$QB(*CBn6*5S4Ckty#0C`zHV{;F$JrNq(VI`Tm|`ZbMUs7l!n~P)g@FtAa2;f9DK^3B8wZIb#C??SjH$MIC;Ezt~7+8e3Et z*h4+?aEC3yj;?fWwt2c}n$MR3QeDbQvgA_!vAK~OBhxx8%=(uhL7V}8+y#^F1dm45 zUPEU(MPJC1Vktv6h~=2zT%GVrCU}FdgY0%t0qQky+!k}dm$}H^ovI%YSk=E;;L+b{ZLT0ek&eF)-`-27Qm*&H zeM5Z5Vi5q9nBhlT)2fiwq$VCuO$wl5v~<~@ayG`a(VNI?=((^=HiI^es2MXu&>q;crFH? z?w=7Vqr|%)q0KwZq{lV0hqK2->l5OhF~R}_n|<<;jK~g{YMJ%CM%&~U6@@SF!zaXW z4k&PVGcszoM7;B&P|1`9j;{1c+DaRx9j)4*MqKq%vGZ2G1IUbS9>?V`fW7aL-XuO3 zh>Hb&h+d-3KC%oJins{R;{PH??_T=`#f=E6YjY=4$hCVGoK7AQoS{o?7b*>)=ify4 z4>lG8oSR<5EqL?YY0Q^8~qEscz6qTc?&++3@OyBh@QV(wH8nqBNFy7eV?5A!+QgL~U1ywOpm1G)3p5yGFjr|nZI70=RZ*^y^obW8d$XE=v6~f$^(M-|_4Qj(>WKl|Q zT!HZe%Y5?{^)QOKt&`dI+fi*hRzPm~-M&MWk-sDHC4n zAdvI{mY&D}z3pA{o7jLXygGE9ixAY=+pWr1xmp7I%>K?A$blD2)3;cxaGJUf?<44VJG ziv!UupX8iI;9wbM53%92Tj%wd-yq;Omy)I1Z6v-L#r8bbbxq+|!Ry7@v4xvo817AE zBDgpq*%MNCa0KkpqYS~-&Ll+4G7A{UF>KK=H?La$5E+_rha{-ayiHYxK6}a&lEQCc zqfXONYx~kHG4j13SshKfufQ%Y=~w=`-xSHugvaa+{nAH!`z=3JMem3mQ*z_oa){#u zU@m<;@e%j6NVPfT?AlEes%?w*dfpVx?ZR?LGC3h370>{yz*8$R+8#HuHD#*TuUJjB zV{SAKefy<4k=~+3xA$lQH6oct7g|u~a->3rtt}l|A(}A)1d|B|oxO2*^0=)kNjW!) zVz@N4IoKS~9v6-1r0^fOf(Cxyi7HzPdqKNhkDJu zua-=ahzFwC1l9{Z$Yz_*mkYbcYZR zkxa?s7;np2#ad+h7=Gt4&PI65$PeHFqkB?|`r|eZI8SJI_O_uJQ^RqLgEp zI)cSz4Tq5Dzma? z@2hG;P3D&k72JUWYR+6C(GSISak8=Vv#vECsz;!^QWw`h`YWOb!1tFS?Ej#ETL59F2 zmW|n}s`RR^Tk~xEiv~UTU zcigLLS#O7U4Sw7*k|L6m-ff*|ru(pUmfA9$S4UWSaggKsmNVnpF=m3XO-GC8Ex zbKjY`9?*=d#Z7^7PjS}39Rlw}04OQN@_Ge&uqic2(@=qZIzL-Dmn4zKk{O%zR?)lBf>&uij*Qv&`WPJyqQJ+u zz_`v`QIv;j2%E61bmi)gjq#E^k-k;+sk2w;$}A%0jS#xc1Zltds3Ba~^Rc|h_&a02 z3F+$jiBB;%7e?3e>c)hdZnL7RqaJdNk!KmNpEEGmx9h>agA zkFjtSM_(&!Cy%erfjq)PK>`XX?I;{mYJc+?S$Jxn ze_SyrTIUK?59aN+5I+he&J1~ioV0*%!*M!G$|xsR7EII)Z!goi@(kCQd-Q@I?d~UN zpxar>vNK@ZKyGSML7qqoIRJjbp&V_^6RipK>Cddh-RtPnADmC+W<8Bp>vyigR*^lu zEpAPk;OoVV_*IPU9tQ1S;OpaMZv(m{%M;;-AL%>({j}@f=sf-p-!n2_JOcN(WTS}y&;%J<6rCVhl!6gI zk_i<&y@>kb&S`-BkG;^sM^v3*!raab4>&^{%gRqkuwGd-y!$}W$0>GP;fsPGf9seT z2|{B(hUFLo6}-+)>w7fLDc$%l3GHQTTe-kv)!E<`S52I(aZ|smGQ<;9P&&Gs9Wym% z-#I+g?*{oRU~ezzFRqPnRQy93K`Fwr2^;};WY?`ChGw2KQ@RDv62xxRh}{O&$~ zxWz0Yx!JZwro`I-e8R+E+#kcy19GR4IF@QZSTTmIq2Dh=Ord)#5i2@{;SO-L?LTC% z^?R`gNMl7tGQRDHMYGS-auI&g3SR;L;a9Q4zaIYa^5s7?U;L3!#%wEOet1kuzmq&V zPvQQ>0{`Ty|4842^L>}!n$%jZH7l*6 z2eHTSUXs``27Ry-H3TI&#*cb@UjG)=#LC!EUjMs4_Wz`C|8;7vi190#9*&dVd!wVZ zg?;By;1uRbh3qfHPf!wRZaGPQUGpV?DaZ?bdhiE(){jkVsOh z=I?;tN$Q7<&^FsJGM;Iy9i$_Ui!-K|`5o|!9nFjpd;`my_LuwPe@MapAJqECGxe<> z9)WRkg!82*e`qtuc~V$zmpj7+9b5Q*idBLQbF>(B7Ln60uG`$8vi>S*$tw8C_?)OE zyuZ{8`LNWfTzgY5-ck3tWUNW7<%6BdNd651*S6o;rXQ{^#~1+61OPDFF>7_EYMKZv zhWAeB#GJ|&p5>%q5Sb3E>t1DycUi`H*8(CgN>DyVOW)RfEb6mb!(N zz(^ED-!Jsja}eL|T060qyvKE^NK5K+B7LOvs-tDM?s-kD)Qu3gx>$y|$L;Hs3@wPr z$v?E8l2=Wv^VFD_xROMVHY=K?i-26?_7dv|!}_KA$(ex#Y5ezfGVe;6{!s9QU5aBh zZA5c;(p;ap^<*DoKu@~oOLLeErFaxSoFZuaV)K$eujldtM(d`R)Ku5rg;RCjD`VL`blkqb`E)aE~>^ z&E(Z=MyA{g;M*VU!4DpJYaOl^Y^4@&o8;8C2s)BweVB0*K2-Vc%Q(;agK1N#KqT#^ z>>tGml75nERTB=7QH|Pg=-f?ia@ATzzw3s-+Tp*903>Ux>s0HTlu4Y}G%Icy3u26s zE#+~QoxNo${FPffJmqk$b=?hj|3!qfVk5Q*i3F%%mi^*O6xuJJk{xFiXJj#T{=(ml z0RZLznYXpSirtvPefe?1%Ss&&_}GFaRr?RV13a+x^IwQ>i5Ff_ShFt{?UETW;XUgdbm<)8Fiv*%xH*j# zHS=F=B~M!aOkmz@kCoMpU?@qQ*i<~ZH~wVVURfEfZv87(yENa(oMdNhpBcR02aW$t zvHE{q==86bm;80Ff6x5-f02tiUfMPybe5v>D#G1{WqK(-S>hQkq~M7x$*)Cob9dt5 zT(X>koMgZ-*=1*YK;F-Zt7p5$H!j`flYLQCpqc*I9}|(iOjXN_WJQb=xfGc}2Uce^ zj>Sk6Po&(}WE$2t8XE!s!CKOwW}>r; zcTyoabx;c=iln_Ba@sT0=)Onx84^j(RTV7`AQe9}4f|iG`2x--q~JzyqRhX~FcIT_ z{T*=h*gTz#`@*iT} zeG;#zWcndM@-r8nfMM@KCEL5Hcpt=*-${o;q1MQK=85vRs6nH&O!HTD-vJV6tO@!5 z8k_LHO9}YYwSU}bfaT#tRS}DDuhFb^0|Mr#v^OjXGJ5(@hv$Km+=`EL7J=FmqmSbm zWA(yyUnii*Yl>m734ec_~u|;K#Lk@6nK>( zL2;a~hF5c8@s+bZ4b1xOhsgK`E`8!c7z^XZ4(Hziks6_;6Z4%8LKgR2+3K}!%1cjS z_u>?I?-gR=bhqA}km5K8O+n(M~*nw=3D8(w_R z;%B<Y7g~R?hF%eQeOQtycM< zYPIQRg<@M>6sUDl|7Mrs{gnWDg2^^WJ#e6z3C2r14^xUdV4o_RpxFrM{etx6AmnZy z^EJx>C2gE8t2PJ>SYNPR$KAZj8`V0LqpM-esOmiX}9{-FYp0&g(<=Px@r%K9QOdNaM3N6-j=&g*Xh9V{nRq4fC6{wM>>R zDc90*%)8i0IK)XK7MQe*5_=U^i(oU>kQ~JI4?BY09|y#$9#>(;%ADvS#1XvtfiKX( z51G+`=dGhPS?lO~jNVNmYc&|?qW8g8DHFDa^k@*z^9G3HN!TOvrTKEo$6&L;ZS5V# z+i0R0G*i$*?Pz9=$n1WuOW;AV0>E(Uq)b-vLVU_e7b?DfG+`j7w)n~^P`X<06+Q+Q zu@{zSxrV`vlz5r#jJHP)#X?d-ueKaS8!qjCs5JvGw^{Y5b^d^qGc?)xx)aCSooSWC zZTDO!l>Yi+{VZZW58$0n(Yqr{yzg*AM+fv{)oTv-?4BVp=%>V(eIM<0yl)c9{FY?w zs~n9#D}o>-sK&tEQEiczg^T{ffmAFG!};`uYN2!KYGb{{*wCx-P}W2?VR1boW( z9ib_NYp#R^Vlo?zlFOljbI7KLV@6%|JLhrW3`IFDJ!AmZI^mUA79p&P8KD~}`M9WL zE+kkn{GnH(0fYLDTVD-NHo*9M`1a4Vi3 zD4{lZoNeYY)kkyz?hSg@8O)zqU%#&cc}vO8Df=W5AIlztjtD3GP`2uL;X9x&s^IFI z89WR3oImt9hD7Pbx!SQF(D_dA6Pk-sNpvMwyLoqI-8O@M`jn;IJuUkvK#ZWrn-@S4 zmX9n^n{qE1CYPMwNeU4#91*GJw=o?mn9>tpT_yu%noLVQu)#MpP~+DGT6sm32%OO0 zX31-S*VVei=4D9-uw#Yklnu$bd9n?RE|&Sl2KpcYlBwJyzFsg{YNU-^@HzYVbjAU- zK&z$SM()s^lS@l?wrYdECO+UJ+hH45)`Edntvtf zAxrR#lwbP}Kh>F0QZf@1?K3{c=x^4yx!bnudX|2NRa7EtU! zvLFsnQ(n)H!BTz$-M0XF|JX?ny0qh&y!$l2VPn$zl(4?|N6N3i^7!Q%v^fc6D{`b& zB(q!;*MCOPKu7%oXt3wToVziEIcl90EY9k1ruLG0ez);D!7EmDA2`HmWYq&;!;WZK zv_4*j{z0U<|L`xX)&h@1zGFACH~eGWK2N%VPM>hVGm`bEuSkto_p?22Lh0xHYS{z} zQ}v|@q&}6fzP0A0^IE!sl65Cn8^ald;4ZRzj?zAJO?ZOi{}hhBGfYsVw%eR@Zr!bI z-s36W^aGQ4<$EP(W07Y>bQk z&7`^8C1g%dy21~x*J;$QwyIsj%q?7Q!QU{k)w26^#s(YWBJfj_0HB2Ek20dphG7NV z8t&<_@!UEJbj4A=>i3IsiI~ zztX>fDB74LJ39B$>Wzoq=d-<3MOW_hn7IM`SrO`ar$DM|AV}(xP8h>_wXu^Ugoa++ zLoMD_C&-RJ^lr!dDNo&FGGrN+9O;BM@cA&jeO1Rb%E=cgAfg^l!N4@L;n;x_=W5u9 z_y)SBZ;k4@Ws0#bkRfzit*h5WpCTWFwLueuwbFU8-rZeG3K%E9qE_4t(44m?Vr|U# zcADpTCcaJq$wZ`*oHE)1W7H~nU&-!5T=OCII0DaOmp8((a-*q zVajC{tjb6l%CR^T6QclI8ZimjVjKF(Wk++4@^#;*>D7KDLXvu|!cm{hcYXGl<0M~t za(j1Ou=i_x1eoGI0En9`s#VR_)7IpQjwY}eYi+Thd;o4^0aB33pPce1O(W^vD=ins z(VDs0g*`e}A&P(z$d#iIt<0CTwIA%oD~cIj4({ZL;_Q&j8=1u@OXJ!Hb!XnV-`h2< zsdY2u73pM_x&tOz#!6UI&$Tr$>h#7VBW6eRY-OdNtm!@SAVzJ~Tq5 z>F^rlL*MW4%z36{9ZH1VEBI>731rm9HDG7wVpg25`JTqM+l)~!*HfZa!tBs2?T3To zsWNB!iO1~Rsvf(J!OiFAD8?lhHZu zQ8qer6R?BSP9Inb8i|3Vt;H3#Tu!SUdXuUawawkrsIj*+Z9DDwY2FnA$@-G9e!Qq& zZ^JY3Ed1pMW=GD#&#NPS%Fhq-z~1oPhy2P%faw_sk-E|l#M}hf$~Pe~en>>1`F85- z<-h@NsSh3RZE1r+aM9^xHH`U(DNXHe=*v!y^gNTi*Z|>1&WE`2`wJSm&ZY~BS9Nso@*K9e(F5D?3q>N_VV8SeBVRp-r4>{~DA#bqNYrugTXnrqQG*<^F_ zGS=-0lC!!=7;1~a54mQC)jcKB_G2VjCrw_C0i_3O6gTlL@8hHq1_y1x+E~CcUxun*N3*?GhNet#oEaw^KFIDSIe2sdIgN9-n$K8FnDTl3hr|)jS)yOT>muxQ zhVho?$OY;+9tE|c3@m6ycN0CGf$kqaVT-GztX5Dm{XfC}d z402)4cX>CMc3y%1&6yCzyAqys0?R=2j#?q6)CH~bprDX@G{ZZY)vDw}?dha%GeO5B zAnPzUzEtgvda_W`GY^s>noD@`D|&vR<=ka0iJd(1@~ZmzXnSWx>> zOmTh5gnjIJeA>*<&`R9ID6l$d0x2teB;ffrV&tClOHxKYtqx9aFLvTOxwTH+*L{rl zb<9MmCun66jqSRTH5v~Ic z|F`DVZ#1mw}%?+MMgGN&?6ixBcGI>!QZ@FH^^$EED$`&C|oW-);!8MT$(? z^775rQ4ob}rNTb#cHyVlw+k0aU_>{#{R-rR=@_)CZnu13@Bz69{4YWe&i(_g|Hr`> zAWgRxh9p_1rssO7%kXDajANU#*kDUzL&>NZm>tf0(i(S`9RP^+P=|a2opbU7f04)l zXgk&5K=0>&z6&(!eb#Xo0`~ zy(3EZbxdR!4-eO`F#62cNhS!-!a&s>OnjrmQzkR`YB#IGMQKh^L|2?v^$7gw)s9={&Iy-yYiW5DCunumM55(_16ZM z%Fq-ISr*(=ZdD{{hMeaWo~nj)T<+{FcmqSUJbMPM{>$_X{4_NnouVNfr9q8$hVIyh z*PbRVzX=sy6emMgLFe$-Avo5dgSA@aJ9R~}@{W_Tm&lJw#8wau3*4yHQ=+mtEQvBY z6?bum0^a`z;eTTqpz)xAV&4@~_0a8&tta?)JkgiHo&_#PO@1dX?ogSL0{-~!l(XZZ z0ui^+{Ut&Sb!}!p46@u$Gl1tK)B+Vtbm`Eo964agp3Ehz3K?NibB8sm2$K+UloJ4m zqR^FM01o`SSDN@({QGzQr?}v+aE!cUjAE?_(2RWx0Da;|V$CBkh!$UV0=*&Ir{6%` zgYXcL9sKMMjh3mG=ZLY=spfMOdHID7IvmcU=AEHhBbqNXSiIahfG$UGYFd)_nTFt~ zTi|w2L9;yTA0J`%&w2$kx&igP3T>RkQZj1I$&)l=+0{y&YNDq6In8YbdjBWc1Ai|C zDI_H@eRo;p#6gex&O$}hi_n>8nyI`zGcO3(ipS{M&Be_Z%R{sawWFDx^=cfJ)DEhO%6(p=jz zqBTc-eA%C6Y_RNyH~W*yd~{=D^UZe3GNX?)&xg&L^i=sPl7*e3(n9iF-#X{g%lROS zMlwdNtEEw_mic5nsMS0U}7D&eWXy z-faH)!2|ytE*ML8lLlPmjz;hywe=~j-cJTipar&SFi=nnnGeW6(79!V7@kW7(j{uOy8%BMw`Ncg(b{C*Gl~%g?JqW{jBmmQ^;B=HU{B(rzg1e8MOGk@N4Wq23QR8H(S zo_2WksN<2r0@%l);kQ#{Gs`@NW3MQR(=T601b3@eD;~U0Gd8W@i`>$W`a82{i=(Ni zHV8`Mt9EtP7?s}&XS;o`^sETzXhYu{xHTH{A0Eb^B*WI@9HKG|X&t&6aZckL_tguZ zy6#n->!ozr*KP;K0r5A}_wzUq+*cJI-0tP`Hvr77z$YvVB57#BDunto@BQ2DOKE{m zgKI7{9p>*~6y3fv$Uj?4VFTYw&`G#Y!Sx_1XCupdD>BYjXC43(6mWjuo6@7+g*29}Rq}4yIynMi94?Od{|5WCc$Juf; zbAX$J-6Ht>8v8@}JY1Xk%ho0A#EaDght=7dzhm!jW4gq;Pnl0>mC4wL``!+QzHNn% zih#FK5})$(MVsdohb;5B&a>5(L8&anZeFGaHb1|!$UGrs5^|6+adv@VeECfWo-*CL z&+xCR@$Ep|bh0tYawTym4~96)FMkNLliC&SvKg}?q#VlE`@KdJBw-ZOEwoL&5bL8W zv%81e(DpaMR1~&&jP+5_HX2$&QLeX2Gq-hfLXY6o?JuE}|sDyhHkjc6jJH0<@o4ZHuP?AsUj` z9akK30ld<8yO}>3qnH0JmZ^Wed^YIyT6R%69`2clX+3zkxi?x}kpr+VJCb0Ukj)3UW$HZ+eQMg8%I^^@ys}l|n3s z!C82JaRz+uwcK}~_0*~U@879-M~1Tl*nMkC(xQ`s7KwM5m@(tTa zQG*w>F&sFb5I!81dWMvTbiCBtf+TT4|%h{|XhUj;*mS$xh#-lwOcDn!8cj%2LKV4u@G`DkAC`vZ;5 z$@)a=?4}GQS9}BATd-%Qc+(VVBsIS_D!NA@g$I^KNLs&Io|L(s7pNDUWx9^3afJrkbSiFw%LQT{^OG-oNQ>XMO8As^y!D~dYi z&(BZst?*BKMi3dbxiErk8-7?=eq3f8)K}|ChYu9{{Be9GRl_FH?Om|8x*E@WR&>G= zu0XQmNA>>ks0^!sln`sK=ATST=l&G=M!NgqOq850GzkN@S(JD%yI#+#X_;5Z{JFG* z<7Aw+h<%7LOeBSL?zivL1I6)Hpbi_-&7Vx@O)F%d6OVlPp?3-N7V^ampXUc-^W)oO zRH5~X!n&#k4(zoW90{f@r{%whZ0L@?DQC2niiaRZxCC+&uico*C>uRV3*|KSeYwv_ z=zfy`{@n`m{c4ltU_fusk(qYP<5R9DYiiQ`z7<+pW7Q{aUyw6s=U`5?MfNt9>Tam2 zud<FKI*mt=V#JA08f~f%k@pKIl6$jZDCsjetA{*(7|f3j_c$exV5JiL@O|%xJ=L z*R(anhQLe)Y1SD+rX1JB54leI?EQI#OuZW#rM}CO`^q=Tz$BpVUyoKI#&6Moi>pkd z-%Z+@ti(c9hEKL@u}g%!l4)dU-GjS-Os;my_OxhCDbme+AtKHL*1o7)mh$u5@yo_dh+Xc z)X}aTw*Nx2+uN^ypXt%zT5G!dlVX;Wy7l&`oC&D*OHtos(H_g2T}7wTjQ-*mq%MPh zC-YAMbjB}77NRcmcU1UaxBo&Y|21^~lDdE2PW`m%{hzB$ADqdJ?*qpA{vg{xS*{}8 zjVg!m5B~U#Joj~1y_fA4pnTz2cfX^_ny|?yIGHUacPkW|5?CZO8j_5{2UfQSmF z5KH32JJkT_f1!E9KK*ff{bS5I00{YT3ReeY$NQlh^gq=b{9FA&--tjiIX!;_?nQ`! zm<@xZ&DgfLRz2m2xLBU~m{1bE*Uc^M`UdbAh_W#<;2 z5~~n>{DXX5!!f;Jt@?fkev-BF@Vum(5tW0H>xk>|&Ci&hQ#d(HaZTia1XJ%t#L? z^0&X7Dx@l!zqIkv$kZso`0cqb&~zuwMN?bqrxz7AIr`j)fFYs;QsD`2<_?87;VvUk$$kq%i$@ql~Dk7wj9yDukigxogK*h1_2Uggcc?!yB?zaFA#e$4c`&@<| zO8F53ouM6;q=~lp)U$oPymI%%RETm^ANj;Cgv>aW-ehy95CytW{}+<({Q)m=o@?Rx zN{(5?wOIcF%iVvt*WhcgOONh2^#!C^nhNhrl#kOQBVpGzRLi zu@*6{?v9HsNuZGfvHKM(!W9qZW?o#A#`49L&WF&?-9vfAL-Da&_}%<|(b2MWFN~&v zKIw)nDy1Wwi?u~nfh)7pQ4u$$$xSHfz7RpG275mSI6*HdiGE5yV@7-?LW)tzHts=c z%N%_<7s>FMqLG)fDc6`CZV*Awiy4z8yLcTbmX3hUsC3333^aW_r_Qh)eR1B{sok#6 z1+-}oU=c7*Plqoy4?PJfNITQPkb3PcMU4|)4Jv=tA%t$mD(=hQeV*p{CeVr^rc0Tc?JY#I^+QD&PGg@!Ffw{~=gS5z}Wl{jRfI`gm2W&cEp$a(ts=z5zFFbIT5p|fj z+Gh2((>d$9Zs%Ugf_lAGEOWkfMLMMy*1?G!`;nYk`-uZt@2l|Xk2ti#R+ZHAZStoW z=$Xlt+m5`!0WxO1Ytt%dRodP+^rfxFThbVeWNxgBQGIj&V9+DG*CgA&PV3 zsu{JGypAc^frQ>^LJof1{qOVi?z69n}$OML%QA zb;jU!g~I&BbJ!fl>$li3>5G_;VV|AKDpY(9t-6?m9FNDIn1TaRN&_$NGYZZM4_}u# zL^{6ifAtQp4R)^u0uNvklrR5qrBk3GmVJV{wl6Z2uN^2j;+IgCuda(eX{8nYs9TS| zGH}~J>_qsBM6Nf=r@b1WtAE*VeyA)GM=3zR=J}*Fm@xr&uLde2Ziu@kS6eY?I1ucr zExh9R9(+{t6kp8HQcrlyn-X7~5-t=&LHzh#lLMGUE8-u&UhqQVUA)kY?+28)v?!xut4CSJ zYL#rLap}xhSE&Z{&I|BbTv9%6Vih1qTRzQ5HszXG{;ZxoX-Z$T)Z+gue>dv>Qka!Q;RcfA^cQuZ~u7hzTr>X%b(%-q;dSdg5hZBcQ4 zPE%LT2Fkk~s@Z#=WN(f!Hmr>YKgdKjQEBRWRdeKWXqr9s7kaCh=c$vVN}_`tIv1Tc) zER6?a9}`$d(~-%WsA~y^G(DD*KtX*l>ID-PN%VrE`ibt=8Rq$iuF#;5l#^5rS3~&{ z_74jV|I$H1{75IU_6b_FuX)EieeEszy<@&X^K++z%qo(H9R0by`({2d9XuB}Ggs<{ zELZ#_MjnrLECTh8bk(OxAF|9K(Q$f6tyv{H`E5oa;=SR;F}gf*mWLy5EFaC|XyVgb za-^*(SZkt}9w->JSLsHZfE|sgH_aI`K#lk#_%nUZCg3&2Qc6Lu&*@b23P%OZOK{Fl&E)47|lTYc%5Nr)|Ur%I@%qEg5Udm>%=yfYcS%P9r>el?Vrx zqNk_y-QS^{s-A4lK$`OE>XwA@nujv#`!s}= zMv4_)D$nop$t)k3xD#W|OG}9x^geQhs7oI?Y_N$tnef5k3I zfk99tUzke6Ld&M{IeN_=p1kVsruO^c^JQ(8Ndf1EWQz?&I z)krdn))4_2+X^Nu5}*s!K6;XHh^fUuLKf*Q)6>?aXHDOKAgZ{NDWJHe4|q~3FMu@4 zYk<+WRfX`thDQGufX=+Q5v|>un3X8PeP7E!?qwfSbILn0S(wNQBHv2n{M z&be*3KF%V8nbyH8$tGt;s&5i>)iUO_JzuoGtgkn*t}YuF47$w&qybtbnuJ$83BmN6W+{}S!<*K%*U%SN+cYXJ z&6#VbSKo&-=2%A)Dc4-p&#RnYjGJb0sG{zo= zFm3cst`crld1tUS8eq=3_DUbIoNoipdh~Va_&aUn2$;>&_lh^;(XeomrZqzsspW!0cn@_Mjp3 zq_LSntP`McyTuaNb(fA(Y`ZV|>Aa`Z)z!%y+7r90yAwX#@M#Qu!og3HHq5=+jNd!OAt>& zTT%!nJq7<#KL0}%`@iifIr{3aegl14oM%2ELEwT4rGFwq_LLy}qb@PqBCbC9<3#yv zx)XI7DOOF8Zxh%j`Dj)JtiDbSb$T6!Et5LO{Akn!;mcpib9S?+d}e;l#&HE=aAenv z1E~;Q%Ks9V+y?V0pXU97qYwTXPG`hyQSHW<59FP4rIWC6zJ2YJ$t}a)GUx)J;N|%n z;{5WU%cZ0#3r<-lnU@QnX03WLyw|5gDj3@M%Bggtz;aa25 zqfM(uj3MvuGC<54K^j{i>O~J`w0^+CTmX|qvTD6NcB)eCazAZ^28lFrYJ^>zE1O*f z6Cr9l7O7b0F{TvYz>r$C%p#_2n~G6bm*0@0vdS~)IDUGl-43+Oc$ED}tF#SWJvf8x(~bIdDx)-SER4Z~dMz!FxE1qp6Z znRb1Bn5}vQ+tQjF@3GF98aE#+(ULjeWHz7`KfL^UDIvoB3%;d=B`??Y)e}Rr>qW*K zw-TER21S;}{46|f4m*&_mnlw7eGxx@#PkH(W3jO6cjdujQOCJyNMYN2-Q^jsnSI-J zCwbeFxlb=9-QQtTQPef8=X(gGIptABlSU?I<@eh_CNRexpfGKMregB!NaT3y>uWmB z>YfB^Is%OrV8U8DIE))v6y2^jVO{)afWz+7)mLCLh_#7{b*5IEx%v4(;uwpotn=>5 z{CI|d*ix9b=`&Z?Cv|HN%&?4>4L)MPC@g|K*d_gnH=Xk(Xmt>y`LR)~h-&|>%JTPy z@;d!t%J+l?G9O)#W#fHga3>@k-N_W2LNvq{C(OdDcwN>zR}4h7sGL>6l~VJ1zRFkR zgN<*f3|X41w-l2*ngsR&t?XG_1tg1**2z(?7foCQULC?o+ypW)?cfWOO{}&L_^5Ll zwv8fdUXP#H7a;%Q`>`Y-XP@AjaO$fD#2=DY7bMag5th)qN$w>%L{lfDn=pYdgY9fS zi>#jO5S9ukPm3f&F)G7{B0SUCclLTutd1RxQG_zmjNo-Wz(MX1=1V9+0kl z*jgRP!!=QD$r0H%6nLP0Glgu+RJ&||vwpy?ZYFd*CBR96?@(QTrD}%+W`)^+cyOXg zvPOAmyL@LJFPD1S2QzKD6dx4SwlO>`DYGzExmSF}(`A0>&oPLfV-o*`#{{ilbLFqJ zW#Hoz_$hv+G7uU1lxqTj2!X|9vZmoTkvB5yH*YPDn8bZ02oGlmu}#;stgiE3)wR95 zUzpNRB6$nmKlA~>ec%;R{wX52x3d`*Xt2-!1&#rk;XYx~f%@*pe&0Zzgmr|0pnskH z|7SGJ3)9?GFI4PMnZcU+j`0fb|J6fEp}d4K&4eAo@h25NZXBzZ2Si(jE5Fcd+G7v_ z>&9(-FJb8z!0BLZZ^6~*!oQ3bN~KUr{vcFgf0H(7Kj7T`w>xVdz-h~uBcJ!_RpXT? z$$dN^^lj{>2H;0B?*nB)1agORZ9K>H_FybX;0wPBQ8N5rXMZ&sx_&|XJ4`Z2W#Wtv zh2~Fm>r|B zSd$8dlhKgF9kTVg${fEeXa?KLx(la}S^rHQf3kj{D_N}17T>x;xE3gZ7MeAQdPB;) zWgChWh>Dtv#=4fm>`WaEKRdG>Yr%c;4RY&t~3ELlKz$zRG!`TP!@ z%p%pWF`_t$m~%U6;)N}VQrUsQ&|X2(?|%BHUa>(dy(wEEBVnL1*DBzDFjF;rF$Y*Z zP@sX+aI_-MH<9ui2t@8eZbyUT=EF+Wq6!b~)261_`X-}ZOXW}asrF@<5zzi}aPz`0 zZt!B@GBHmT*=qu){gQ%-yN8cKpg?Pj9oh1cNVN(@h7a#e zqNQHfRqbp&2GGorfF`B1`Qgq0C6+{Nzx)>pu8UxD^R-LU8;-Zx!VMoiV&HVK$2n93 zKBFx;2%zfw4^8C%VPN&WWqx~BMaI=qVt91mQ5e7Q9`$2K(-cX+Nl#&eUrGvLRRbNY zo|15FGzLLqr^nVdsB`8`NMpq-DG3+*6f&M)-B^Q}`y8U1%RNsqx-Jo7CrOV^lVlll zsJkIX>Tf(~dZ&}`Sv&Ua9e3E8)aAMF2JfetqrzML*V+G&o-^F)bpcFvDc1G($U2cXw#a|@eT&ioa8H67`sI7$B>}bP}R3ZXL22w+C7CS ze{;I`%)q5@-Wcq_Te7|CiFjJW&n+~sp zsUhB(2WoG!co{bK2|${eZbY^wT|tak0nHXlC*4XO?0RW|edSo|4)BU$pSfDe|jid^MII8yUybtpG}GTD0$) z$?QxON_9<)-%8TJ(q=A7(HZ@Gf*e4$qkzn#!bCvZ=nhK(x+}BRJd)+G~I1DR! z0!593=IgB05hLY_<_i_v0cQsueClA3%Lh5=GYzKoW5FgFimn11Qx9060bxDY4g@l_ z^yyx}N!BPfwc>g&Du}RdQs)A}Nr>2DdmI>lgKug^SG(_QUZfmX&E~VNb65I_WMp7T z*)~XWj)lkG$oJU$Zj;$3JfDnDTR7$|jd9$>o#HFiTq^7Jbm)dRo})Vj?YaEXM@2xV z-;NjapDMq;axp3gIRWkFXu{L_G1!auzwcki-xl9d4W3M1W4ARQ{N2ahGm?>V0cTtF|D%d_1&}QF;^F zW*;lCk?bX;eZQ1um6|jRv_=26yW_Uv zNllHajaA;+QaPTd7Z!_lMyr!A!@Q0eq4KEukehz0BU-WB54TVFNqBql<`K{1K$}?w zM6JgfxeIU#J!l+vRkpIzGhgRx_3^!-3q+i07j_d&&lpzsQEps-dAA(W*OF+6Rnn+r zVr)g2Un4#FvwjL_-im~0MV<~}v-khX;)U1bMhnnh837qPy#nw)6p{i-#{Trpe@?y$ zLRZlknO)-$^2&Y?YIG~YjFCGFXQuYg1d$w)pq3@b=0^{_?ajog=uLX!nd%+qK>8sp(ri1 zIDSJ5$+{6b+GR)P_-Q&P*nKhBIH8}&M#e^;X3TmEtDcPkYge79&!j=^OdX#RCe2iS z^<1<~I=7>H`em$P!Co=VJg%+PacE7}nY`6k+B){mBQw}cBY^~;6jQE@b73IR9Idg` zY_dEFkv-EQ_<=foxo#6@As=B=X|r1-88rwyX^n(InjxYgc@{@9gTw@<{o75_k}V?G zn*DGoErQ6-&+}Z|WgZa#X<;*mg8=uyqU-Ug0r4Hv^Xsealat>hh>?Kl@&%04R zP|uLMrd^SmJGJ(ak2_f$!hI$ag9H{0CTFIU6OF=__*@K*!K~Q4+NI~!GjM%u#e-xq z2MOhVk`A|Y2Jg)^D8Fe^y5i{XQt}#C$UJKlDMeq8kD4vE$?rjK8Lq09 zUt*6k$xyN#yu7e!(x)L|Gg-4G_qbw&OR2oyj_%nUYp@^7jJ!b8+N4k`7n7@I*_IVR zr=w^~(2zL>^paP!m2Hng}lRJJsk_7TxaW5WvBDwR06FjA+7KdQP&7Fd^oW?q6tS@G6a;4 zGSoe{JQv~opdY*KVQSs55jTV?3@T@)Qes@vCaXB6ZWY@qG>#Q2HTI&z`^4m1vR(V| z(tP@CHp^=pa_=d5O4U1`joqCfGV>t@^?T5B zk9A1jZ>`{3-tI*3+%fvR790q@pLHKSCPVMDB*bkWa9F1D^%?ohU4U8_g*`s}nQO)6(kS~Ja*1<@z*OMA}QJB{44j2mfqQ%E_m^ZB6HRZcJ;8*KsWXv_$i5}Xd$_UOHy`P-f?~SjTo29xsAP7 zT&Y>I3e-lnx$6ZtwA~O+M9TCJ9*@TFU5XY{;MiwRcVTp10l?;L8vwqih?Du45u}Bv zMfv&O2x|gAk7`S}z9JkqQ9w9qv}a7vYxlST9p=NokuN%_#QTKppb_CuE)sL*XjzW= zVRuzkRVil8fi3?{Ou-~Qet2~@L611L^{L05VV(l4-n>Kg;ENLVkrH|ZRc}VWuy=7F zc$+J!@Rl3@#laaTsN+KM#o$nwI3&Xp)Hn|y47GvQFVTh+7}Nj)lLmNp?9P*%PDuD(tRF?3 zi5o}i9hMq8NKoJ!uQ0?r`7__^l5uVTtPl0tF{KZrMgMwLnBoY325c#Ct+sA0;{GiO zIf*QSCy$1$#5vHn+}OEVOV_kRva5!$UrB2zs%DrLJN0?_2IG;1M01$#c645KQfj6- zjiC39!TWSc5JQ`!1Q1wsNg&@s&vh}`+iGjU9#CaiMTuyX`8&dCjQEyBolV@4C+RWtQ>UKzLN+qT=xx<3^SEEkG zWL73$#*df_pd~WIfjM_TAd=l=pG_l72%7NBH<0?_JZ3AQ9OTjlWTL4H7pg1E?@r7F zDFj@8*UH*>Outv?cjQu=e9_IsG}pq~9Pg=N z;EXe;pJRm7^m>h>dKDR0fYwQi^G?`EP4LF{BG87Ie%}Rjlbzs3Wuj1%OMXmi-Tl_V zjXkC3c63jRMVgl=L>CFJ7*^-&O-j&w9opfl1!xiDKzqrQrEW@SrsAyiOThDp4--Yo zN=idDLQHIq(%jQ%wqEaO>?ht^Y-YX~)6A#aBN?8p6Cc9gcg^wjm{{txGe^6u%Ts1N zpg^P$0Y|!K$A)Fks7ta%(zfyV?Xe&Cl~v=;6qpf=LcK7ZoJDT@4bkU}1D{6Y7cx+r zoUZR*ubG^ewHiJb>*3UI<=sk`p zR4{#RX&6UQb;pZJ`fiA(!fxn&+OPHHU2aNcV=Nf0EQ!%vs6b^P*Fbtkv+VLt<>GFB zGBqqx4P_OOwt;TvF7sauWjJ{z>7YSy@!A2A7v+^eP%9=kU&$%O++vbDop45f1o6-x zuf_hdQD;HlV>CsnGg5(b71cA75pDF@sifMt;Z@hU#(jZaH;t;mqh@;QVe;x*<O#a|i?Ztn=r+&hP;KM^*FZ1~J4#X#>H zYXo1KB5VF%*qQ1x%1rU@X^xDg*Wu;synk@HA&FsbH9APt%;v-;}l)`oRA-e?ep*L9=xa+v&#EG>U~C4wlP_^=tlX5-zd0< zzv0q^`PgxEQH)DXG2%f@O!pb1t7pMCSJ$MjjQNU-IpqMrmdcewo+lRaRlO4tECr?=9B{Vm6<}>=M9a0fn1sI0 zP$08gE{8s~JmS4`wLzRlU_J1|)0>w;&mfEiSc#znsE%=@+OVMx^!;{#Ys@=FKjD@u z9s*-+oOaET4;B_3$nr9;de3??|2y42p?-OmS;d{U({h148!DG!N9>>z#WCRL}%>p;1}j>?@-eFJ1!6y>QMz zydP%amAV>7G-~oK!^%^*P`#+9g^u}HN77Z)^3DXSSGO{P{@sAQh}N_rzvR4?b(eoU zjt9GlOFsaRH^X?v3v=``IZz=Frs4b^-?|q<3RaKRo^G*P&M2>NcZ?E#l8F*q21b(41luu&3@X6-Tdho zP5JAzY{Aa2`L(m~DSu$hE{v@Iv3TMy8FZ5G_ZLg`Hv#+}n)cMW&Y|2pA9Mc^nmAVA zMs377PXPOqDL+nmDBT9qL?N(&+Tc^?KZ58aqj~NOEgGWdWlADYGFLpbWw?eu1=f4s z5j;-~P^X9rv>xC<)A}(|eQcUgDC}67LK2tkvV8wj&*5XrgUzh8(q#>Wax+a>=<==Ao-X^pN7|l?zGjwR^3} zyV|vk-$42Z_%XQ)S#f|Ntn(S;!-&i?ru~Nn`fxuN>fThsRFPrUI>ed#Vg`!!cU(mR+OuD)z%>9)a@@u?Oxw0SZ#v(A3% zJzEKHz@z7EBDYEL? z3~^0Pwiz-#dPICX^DTw*j+RCe!GI+bSNq}0<@fw5dU~Cl@^Z@W60W$eR9pP1faf0^ znZVO`LUrTrdk6!Yfj@ka>ox9*ia}38E@~BgB(^25-MRo)%ZzI-!Z?30x9#H!Xh697 z?cFfjNoO*0LG*N{5ZB){rxl%R33<`gqqR+T{ejH-iTq0ssnJaD0}gkCW_qQqT;Gr_ zqbqRIvmoy;(q}aK8J<$W7UNczP%okmV^_*ty9r*kttxUv2e29qM_n;K4pt%JGPz^{ z?2ro`7@kxQJshGLbf*0f74P`@=qht_y7E_H5%8t~^RZw}2#ps0|#TQaPbCZB*krEper+n&b3E#gxj7dPV zw`{5OWR~x{KIP@MyF3kc?f~=5E)JHt$;@vtx9Q7|q$U}^@qM7^CqpJGNEPb7aj8R8 z{dkR@-%)i&-`vs3|JbKQ#M#u-aWw`sA3m)@Bt#i#ZwY^(cX1WT<*n6y*;k9aA>8h^ z(OCr}Px<+`9K&UmFZ0WCHTmZ_HdP;FQ@(2~XuNYrPJ5Y0fYR^Sr|?*>AXyS}`b2X@ zIb)`#bV~u%aldMSU+f^_oaM`H>*b{OUV}Poy!H_m#G}OuGXlh~5Hddj@ahO_Pmq+@ zP)R&su5;mEs(}ulf0(C#WsXvG6&I(pJwXSYwYgLcnkIL zc|;AahX`y9`it`%c6dgG>U78>4PH?w93!))VLGj%IHNI#J##~tpy<8#-juTMu&wTQ zrLMFG<(c8|M|}g#U2|c{+6@VkA5qEt_mm;Gg$*)wAxda~_Ny&-tnXATv|)$KUX<34 zA5N}Cs&u`XL9@X>IQ+-rBv1iT9T@sFC&Ecg5T$VQPXIDvffMo4D(HQf?R#by0 zKbUCh^y6jYx?%OZY+D^WH{2+KlB*?rl-#Y6l;;VoA{Z|{wqlaGR*=RN6c!CGWM7kF z(n8+a0xuXL-h^h7z#NaB1RkP`9NTPy-;>%ijNj_0bM0>gQAG7B%o|X2E@-(4+war6 zrE-c^!M}dd+%*tiDRR5^0khE(S7Ywvl9-gb@JVi)o15>@vo11paqhb3%?(Jt5qecQ z%97hE?2sXhd*;5-ac?E7jgq@eAx`v5=%J9~8*{#bsdpqgE9-ZZslO228w&H6tsb3U zzdpCweV2VXOr()fbfgq&Wz{y|#rNvcvlz2!+5)~YDm@$1MzTQ8$Xvy=etY@uz-RoYzl6mJaAkjgG#K}ug+Nl0R z-dv0Nt?Jw>Z5$tX7&$yC2aT_>x+R@40ssL_9S~cV7=T%@(Q#7oph9R?mU)dI(uXvs zN4B*g!uiVej@2i4wA%b`;#VLdkI(-SgjcX?WKin?x=bOGy+Uo5Q;J7LV+k!aEQNDy zRM}#SoO$u3@s&1DNvqR?j)e&b{1xXI%B!u-v^e z6Gf%dzSyEel-R7otp1($2HlI>AiSkU?JLNkQcQ>`x~yAB^OO$h`Yf0~cSQnAvVO^1 zjPNWLD|u4sfGxSpe0fJec`$2%xKi%2y^jAlan50z?ZeaC@9>Z~dmab>HR|Jk9#IE+n7N|D? zt}$UK%xwQFRD8kG0#H=`1#+4#?=&e_@BSDY->(o#{LL?Q>kdA1cRObd+A7>h%>Ona zw|0ieXJ`4NELX^jR-mki@$m=p6IP2|ChodZIkv-}4bl!#eyy*6#Jc7#cp%%Z0C9(x z$O>a0V{Bu0!6Yw&8?R7nsn;Aa;a^-=aSNW1QU%|aq8%y(Y8B)IpE3+M+ANfs7oxTU zdNBLhl*3JB^yY_~F}CdxW6tJ4>6Q6G1l=0X+C|eIB6W*@#S8*Psd_)L$R6x_f2pyK zkQ0R0N_4ceHkg&%Zj)*@lSzrNlP|q-a{e4Hr6s-qEm?C~s-pxy8h2_RU{I(gGb=M?MQIW_A-(*Y+Z@M5emT<&tLO~coYD92VV zWBR$K@0##ncedU42dc>??UD()SD5%Yb(l9? z)0eqPI3zYunrY`*m<&{p!Pp5hiLn>>cIFO{yX$kKS*@12B%xKllJO3Km= z6OE2HGZ@9dIy1qC{bjJ?ZNnJa8T98;^GZVNKzC z>M`Vk;e=V=g)gx`FQl3Ak<-suNOBG48KB+*u*kmf&I#Tc`yg%gko5=RwvQ;@%+k`l z!>qog<)gRrilOWAU#=AGXgwKkRm#VtXfcJwLsJar4_@aIDB#t+4iaW zP!0ew4a6%K0Z{XGGEU}oFU!NLr+0Zw% ztjjjp9sem&Z9!6>WD|y3C8yHyj!y-x;)vb`G4%vfom&iOpN;ydxS!MaT;liW5lwQo z)G1zk*7UilD!=oX!s`ZJ3h|p`NQS!;4eP_j6G?i{WPq|N9ap%@t7@MNxi*jz{C+X^M_?F_neNpd9J;!R#? zpYajY{qFcB0(B|UGh0EF=CToC^*LGf`4}(E_x;hpt|F5c02yG4T@FRY15ow1u&tR2 z#nMa21Hk{Jpgya(YZF;hQfu>;p_ssqZAFJT9ji6F-h?qKQbdXuf`lK)e*LHu^35_& z7-z7hJ7?;+#27q$z9_(NSFgnN_#VSkuaYTKGxPb&OekkEn}YWaBXql~a4QWVH|wx8z3f33v&Y zI=ZVqf1Y@s^JOTWD`-2j?mIH{d$JBu*zoGUD$4pbW&8SDP`RNM82~V!KuEBCxiNOMYwiMI`Jp(`Z66=q zrmBhBQ^~UA@Mvrw|}$ z7=X!WWKZrW!4B(?T7H@zp{oFFu0_^ z-R9U@5!^UVOjAb5$|$eG61^|}ZwdZ`$rN1+d4)X_cK_~sxcjs!@*!M_ai*Z7Q?y;I zle~md&SGb-a!Y()v#&A*X}M3>ZhSwC=LFePdAOsrN>=85y0U0B-2Uj15pXz~{#|L` z_ja4}UycrlZolyyiSg!|)UdDJZfcD;Bj2JruRC5`I1hv*huzu3N%K*2hmA9t#-MrpmmNZQwi=A;CB0FZ+`AR$g`$n(YtW1|N-|GLCwsAk`uQRLclYKc>oOF33vz z(`Bk0--`zrk?^?w`dS65?I7l<|vu3>A&U(c{E;Xd;aOGnmtgmQb=o#_gFG zRxK{hl&;!m?_&x5ScJK*sgYYds^&cL0}1iO#^lV|8;()Ddmvi&O-m$W^3i6A44X#T zzbzH<`|8Vox$=T9ff6sYL%Fc_d~(#QtXJo{|2!t6T9p`N1muw2tB2uOtQBm9yaQ!P ze|RGWllzh(L4H(%I15!#g001^;-27j!+!rVHLQRj32dzI3{rf8c zb?e`?#bP-*Yr$$bj$fg%BMIc1^@qyVe+1u|P3E_5 zZ5(&YFVJ5a!1kBRgH{w!PEg(pgcU{*sPshSTSYCAD<5e>n~p2r!oJrn`~Kh575~GY z-2X4l)wjWPp@?JNnOm+0E36G$9hRT{W#~ToaD6Co-KyE&UxzpvD~gFiEmK0-rnIJS zH_;1^hzP~bs+o&MtFikr?RKEtpvt%)!Hz>BtHUB3`5l)qLqhoNFOBPQ=Z-VWf1N$} zK$0KYhobt4X$KGHC(;9}wYGR*1_I1T=@hyM#>cs;-ZP2bbp@CJL!7a}(luHE5KxD4TVn=jls zaC_Tw>MujTLIDH+B>QZI9ViNwrBimaWM75-e(e9xAF}nTB!otp>3aXMu+U7#_=Wbd zr0jq2<^P!|@}0}Zh9~~`|J;@OALD%$@nOZk%*j8a-k)Lm&xP>s`N5wn_uta5KZnGh zL*jo=y1c0!6C^azYMtxg>LBvSatW1z-SvrnS}r;Gty=b`;|R)MxCs`AxY*mXDBQbs z1oc<`dh`pF-|<)>xY32U225rWFn|FbUi~zl)qll`Jd&sGa%ax;1ClHP&i=9?x`pL} z6x2D1^(u5+5}R%nq^Lt$%n5AYf})u{w_wzWGB4T@j8EUW%Nwsfz3$2WedJD`{vL$~ z@w)-3&aTY{zn#B{%oI5yN5jJH1-!^!(TKcO3LfQTi~J78;X3)7e0N^$QmDDCkJ%B_sivl$;TJr55TP7y9%MbQIXZX5LJ?l8(lUd;z++VD4? zw`N5Tq%~hG!Y610irHfd)7K4Ug8)k>S+l||?E*(?tA*U58!6)L#s>IY!M=O3cks(U zMt0B2TIJa{ptpZ$h@Kq@oYdBa7NoeGMHa32r-E`NV#wK~st56z?)zSlLIaK@9$+Tn-k4_4^^+xG4sB+erg78QoG9;IDA z$lA{W3L5lXu%F!G;1lF;Aiz35LSF#d^~b;bE5*NmQ2;dHH!`f8;A6YcYmQy|Dn!<_ zqpe8n9!O{dW_Ebn)-nIIqcUux*Uj7lQ2VK23vt^9)FnX-^d{Vgb^V+cHOvb>4TJ4tn!Vj<{Qv-FGKx7 z(bTL6(LI4v8AdjZgAI#q2Peh^y^bZMG?hmr2=TFUFTkj9?2~fA80$>T_mx^|%lp>% z*2<^GPPb(vGkCuADhvcxG!p&2Rase98CJPP#((H?v&)T}3wkHL+H-UGFGWk96R|>7hf& zg|bd2G0#vYwYyB#u7zk2U#j+-NsJz=>mRmT&=5u!kPay^* z(xpC%HX3*|_2_|nCymI>xqI-$h63oWWxS;(ih{{Ehzp9OovmX)-YxsVanCvNF4n}{ zZ7=dbl!|Nsby4zlZAOf@2a2PRu&OD6fRL^CWl;@E7SBlw!O<1FbdxYps{k6 zk~}*u7eSqd6gj@#$&}KZ(>I;H^`hS4RT6u{*l_8m9srHe2eKMBJX1nD7kjxt$}@=e z@cW+5mM%T&#rC-e8Jx1!b(BK)msKYP>XP42Pk^9A#6qI)Ig&Ou&4{%FIw^LqSv%29dbTln76kQAZv(`Jg8->#REqkkE-cRGHEfLYswie-!qfWil2kwSKKcw zth2*Pqb)Y0up+06_q$3DZhk2HX3ko=J6#S-u{IQx<+YW%RIM5O-p)rDt<;yL2( zVT&dcQ1#{W;#d6z(o5JeO7SmSD|h3>>y!kJt0y;_g0DW0G|7$Ch%lace`TF~h4O^o z-6)GvR<6j>%+m7K_cOWyPZ|yXyTa+4oZnWPJB2_)k|)_za+r`}Q%v~%h6&M(=Op`r z6|+~lV_gdfm7DMT4strn*UfCFw#PP5+k2n48W~m2m%Mc786K2e(DpFb?%w0oZfQWv zEE=1Ru_N{oo|PpmHf{+#(cNPYFdgOQCO~Libr8Dsj#~9b?U&xC)&>4qiuPB&CoEy2 z*4!?*bNS0ZWSjArzgb6eC*fT9VqbfXO}0^57-dWm512QrFzl^!ni>!F<;iRl5vA*F38S{FB=fz#~?00cu{P z8+$-5Vvadq>n3yZ7JM2$>hK8G!Ud`&`g8I16c8$#)WNmw;*$$av zCr@)Xz^0&Lr!{?v*n!aeNrAEg@lp5NNhy$QNoLo_9tV*-yCY?FW^z_*nOPpT0>?~z zk;B6V@eRkevLPoGy8m`A@Ed>Nzu}AO+CL-d?*9V)`+7=n_J5Q@`YH3rOw#^e=~4d` z*;WSgJ!RHc_*yO?q1uZ zdg`vWWrha=guUNrkUV(uc7vL7n!qlUn4Z z+SFPcD3-X#Bx8}V|?1pOyIabVQS^z{G{bKuBW%3VHHsY>cZkVQi@zcd{>%VK7cyi zdbW|maZSGslY&}wrlQ!{duB~A@#PyWIaxHhz`i~H^wrK$-->P_F96!M%3G0ne)c4p z+Z%jufbB|QCF8bbsI|}Oyg?Qa;eK-YdK4hQy5?+2)}Ju=W-~brz#<_>rrRXpDwa8$ zu%vpiHLO0o`Bnua(W@S^=JVQ|CmbS^ZA__-A9?I}wD)kJF9lE<_XN}QeY|e%LQr-2 z;oAdfQscsa(<1xx(9!qNX44M;Y-RSvJXn0A&)fmaY_UJb!n zkuyu(PA;E5Z%dxTzPPC4yP`2l-!y%^+@Cp>B}uW&(#Ock6}PwKK`WFZoW=M>Jl&Bs zuP+`^oV~l=`E1&tW;Mo4x8X>1nZnWgteT?bAlG;mI2rLxyX`GUts_a1 z(HmA_l#(QYe84DKL+lO*RQ#bd5}9CeL*0?8+X)beiDrgER|;J*?NXtqlPTUtkzM>( z^#yk*Bep~Y_0Fdm2KT&_(4BJrzF+$MXkFu7z$Vv*>tlO-kuHT6Ovc(^%4?DNCacp( zcgMcH)2Mu`N>k#)s+MW2u9su{7y%6)i!S-o7I2b`|Am1zF?S(xugmqNMSH)Py37J} zUF*@uy`S{N-c*cxT2r2*W?jqIT9u01liZ3OkRyD>Zua;?WK=7*Tr3`dYNYmn2t>OA z!(*X3`(*}Je~qI@M13VmieQB@Gim#*1C0V$$mVH3jWVG9U~0%26J? z#n))>-kp^s^A)^(4~s|V?Kwoz@?Z0;w0zuHqB-i`C?sE%F^F|bw+8Yp_bdX>H_r~m z%8NM}onPGJ5P^-{>B))@By!g-7TfYpwT*d=xQ8@VCP>lqt*N!gi*GZVMvxuWov>c- zmJSO4WN(^LH>r-w_(&u~MsxM4pND1Czbg$&=zG=+{>c&mAPk-v0zh%EEwMkUnvWA_ zPXP7>x+=C1dCtjWh7hZT(D;s-PIzlISVd_F@XB*ct!2YQm!2W^pO1SLowXM3_jpDv zPx-yVMB4Q*GiTh_GV5=S)?%G)5O7)xs+t$1jvJ`hc+_$Dr3B5s*;_S|zjgJ8QUPb2 zyx|^Ksr+lN#-%-jM7hxo|(wiRtLHDD*_;LaIDZ z(8Y1daei&XK_N5^!5Us6Hns&2_5$e3-X|c;Lb>0fo_%;IA1I{aZDEi9+0&kFceOAs zJ6hFJ)6C$C`FAPht^vvN@+C06+LfDulycd3)Ysm9dNt?Hn|@e=k4^)m!rq(0wz%7v z;Ib**WUKgSaR1T+?|ZP z9hWqUVXQ%G53J$R<^jNP^Km3-P1eFrBJwp-Xqhd}xj^f_qW6b6@>1TtbUFnk19|fP zh{Ig9xybz4`}3;zd>Xi0ER=CdDOM+afSGl<$jUM{A?Et!kixOG4iObxbS^*>6_#Z( zTSuI*te-Zl3{}*M^?pm0FWAcquF^)ma;Vseo`O&VDc*K|Wuerz4puOvdlLG5ug-RI z6mgpLC1_GVNCJ&WwF0Z48Y^14kyWvK0OX?H4c;G)1))ufYqRVa1Lde#(L;1!!BJPRV&-3r`|#E2Ddp8^O*&$(~y z^)Wr8NxlZ^muueKaA^xVMBm|VgAdc_X_|PN(B({9vyeT>F_%Z?&+^o!MgIXy=EIEy ziyfx2#+Y^LqKMvTjZ>BtFR>OU55kRFBk{?+%7;0V52VPc?gQFOaXlILzMTYUb20U8 zq{jGd`MQ?cdc==?&ihsd4Vu){j`3U2UmS(5X}}|1kTnJj#J$6N(#{N_G45NnpL#eg z(1j>Z``i#?;ukB$nc9H5m~F!>mOVU8q08I87AJsGbOu)tpcR>{zB09cK)VSZZ!KTY z>(^Kp;hoXhpv*2;h2#z$V_Po9;@D`d_8k!XKfkr`+x7Zcg~xNvI8)RL0x*VD@jLRR zM8s>B{sj&Be?P;8Ainp|L!VnkwC~dJB|5za(XR>bNO)cv<(v9=59V+w*155BpMUF1!l5sQ(* z(S?WDIyuhn-K=XdDS!Qj{+6mp!>iO?S*=xmIxA8L^+1V>yyd+P^viseSh4k#kchk-HHE^ zFL*L-qyupk{mP% z_VZ#=;h;AQYj8!7cAv3%QaIC%0Qk)#>!0<9%T6ZUg<%t2OQDr~RtcA-@^BHGRPGn= zX0}E-686Z*3q^!ji4>n0zca)40%mSaUZ*$?wvwjzdjxKsK!MC?3CN~D#+3mCx*}lF z3=Le>KEHFme0d%Vmub;d=i@`w*2O#zCZO(*ns`Evr*D+?`*s5!oWJ`-cw3_X*Zvz& zwHd-~;|w|h0N(%m+_YffI8NiatT)IB5Swh#&urp5)srsrc?S+qEha>3poOi4PWd%*dMank- zHrTm;csFQ&->Gk!;%b6%kC%NKB*@FKM|n#0t0}}xa?W~bLPx|ui&QfXnaoqQ8P@tUPS$R|#m#L!HHjIy zAiO!lwtsrN?}uf5t(EfLgQ1ktE71n5WXe^C-y&S{90n(lX2nm)=i|5%69R|ImH){n zO;kM$3eA~I)6^tM6_4L|@!>(VNvy_Dp`$$Y_=(2Lyr!vD3OmWhs1cnk$*srIagN_$ zzwfF)KA~f#&)SssZZ*~R=THGnVY;CqxiQ+oKLn|N2-0&vZUjX7^%myUPG&Jtl&qC>BL?wgrtl!zCpfg1nllB2JlRN7p?!HBen>LcJR8!L=*l- zJ?kO=jhoHUNcG2n`-i~|m$8|w-5TdGHvJSkLi!3@3`nWKHizeNmx350>OW*E;6JR| zGmLS1V2 zoQtOjGjbV+y&F!0rWNi9RC(aGbzYE zo;*xw$DBNAj6Lw~%&;*AtW|}+Jc!I~ZHDX?d5g7ZywmL*Wc3du^zsDhDzYC-eT4JY zoqSxpRowL2TqC2(g*jFljfkwWgcQx0ng;ldzi4QPy(=I(pYkEz)qJz~L~Q#BP*we{ zviip_{l7at>2Lo{ShEN}_#cc50Bki-Ci=aT!9P3DBGTY~`R)7*vuN>%9IHh&Dq_+&Q3`7&-)WD!$pgDt%V+&xb z|62{i-47O>rGt6(3FFLrWftjq=V&SXr|z8HGcalkk~4imBAOwvtJD0n((J)xlRW%I zYoW^2F-ZV#(azFMv}`hhsmXuzJ~L#c(deQ$bcE){tARF<-@1|Ek0CDCQRdbM#0F0v zuG`q{@TQ<)QG%kZkRIfV3_IG5FD0JO?H7mlqRDIU=NU_R!Gxlw-$IL_cKT@-6yMpF z_LW^VN9aW8rV#9zR4k)#@$z-4X3dGvO`yzKins&@>+VHd>wT8>;tG-G9e24Gp z`>(Iq=GDK!g=)2F9GT+cWR-J92(FB28K+7;dAr`cN#J?%t@*=)Fna2HrJ;`}d)V2& zR@|C&lGXG=ll51c>?G6q#IRN-tec4t{-h)gUUb_{oj?b@Jr@XWzX^fXXT<@BY_eqqWB)MND!Ki(4mh+DCY zYw;+j1RkMV%;i)$75C6D;$Dt?++Jd;F$>hz`(W#ntj0ld!}e?cfomON%hW2&6Odv< zXqriSX>ghdB{(HS(|3_1}vZzG%6`lYLRG9Vw{Y z+k3d~I^Pzuz3e2ie{*0oR^}SC5Ys-OGh6EH>5+$AbTATHHOXr^`rv;kp85U@WUws2 zf)?ZOSh8}*Ag;rtMFJB|u(W`xSzRrEHAo+fe|~*U@OmrBG3;Jjq3DHykN{ z+{7QBxp01{WmY zWo7x978V3<#oqn-cO}`neik|`Q5_0Ke5^$iW@NVwQV>owzN=nA54{Ygas=()Df*V= zw6}D>d^jqdBiZ_xb=3U~fKQ}+8!>%7^lhQ9=%d}#i$M`7L zM(JE*+3_LLiEwU%JBPM)kbck7sfiW$X?dlq#MiF`C-(bcMYV;r3u{&Sgz}(eAcq?vDmZEav1*b#~qh5@PrWG>XU#F(s)6{~J$|o122kHYJ3(MfGBCw(%$jAUNM0=s=Idq! zN;;|rZ)9USzcn}iXjxS8^0#kwTJfbj_19fr{0cYP(}{gZ{T1;EXR%v&*b#LMqc$XY*1zxY7(i?vfJDh4y)K z>##ix*;y+gUcXNsa*=I9sLc9|Zm33)TCz5t_%e+x;d3^7L= zg^eLkWbi45TP5iBo~jejly<=8W(`|DL8H3;!oyk>3N0O~Syf>*YV>oFB+qs3^-y}e zQe;a}aZAC`qE&EJ)RuJ{43R0q(l(V5P)^|s3p<%tUEYEi zLJ$j$M@W|A{;`&JuS9D8x@mcEJ)JVq>@)WS5lU32EI1$Jg1BpqCVSA4c}_BW_NBVX z-(kYZ;&9k)Mu|ae29XdTjSwB>v_RJyAs}S!b)0v29;?cQf_$X{%p`|7!c ztMQ^A-n}L18Uo;9`kzemv8hh+jj{bZC$I2_>U7LE+pp4k=lFiSGu%L3a!v7NNQffC z$f``g4h+RO)9+7B{|iL_FhB*0r*IhKxctrvYhe`GV__ig61D1)Njlft8uTJ_R{G0S z7Hx(0&mU1(d%R3yGz2=LlA5U2kUhyk&LjDgDWeYog0rHR*HIysJ3iw* z1QI?(8s@Kn6E`Xs*u!JVf|{A*ndGZ_tCQbkOZpe2yOOlkP_ z`VcO=As4j~auy@9H5V#ld&JW9;LgR~6u(|qZQO^u_ipMZNjaw*Rz&QT$}?l^^w7lN zo^zaSc2Qq`u+BXsgZtQ=Y?gs6JJ4&}&E;7I<`^G6`qYqn^Qtk|ossw4m0gM3v|tsO z9A|!_EYw|_H^cIiQ;QGstq*F6q!dt3HYyQ$Xxi8YS0v2>e~sC^>d~OobH+DoiLc`F zjXKa&k>6VbQHx9llPYEBpQlL95)44H*T>Iwh=V8&D@YWX>?FCBUKZ%g(BdrbfB#)2i+m&g*k{ ziRPPduRW{Yc4jSo!>P5J9}9Jjs!|Dj*ixnKEL@v7jLduoscE{1iPM8RKcDA##jrrK z?ppUkfzq;vMg{!l9dk!#i9*}~f`h#w^AJ%6Ol~KHHt&TO&988pV%)N$RSblZgAE8># zBz&8lIuqLGtF@6?T#CW5f_s_^axYT~Jxa_+J@=yr@-)Ym@H3_DQWx6m52tq5x>Hh@ zN)ZUd4cr$*^|SHyYwG80a(D1s49Roe1?SmNFD2I;Td*M%Cv&D=KI(Y!`ng#0{SCDO zZOJlH&{Yu4W6+L6(KZKhOwzk!TPdPXj^{6>`{R5I7GxtRK5JdCb*h7NG7{CavZ6{9 zu0oxc)hnA)zmbdxB^#1!+`e51@(0|8Zy0Dj?DCSKuY*LTxz5Sk))q*B@87wy=)p#b zw#nqt(rF7Zy$nY0Nw|<#)5@v2&6gQlUG4ltd|F;Tx9_sd-MAcXN!b`VV&Z=`^SyOZ z&*wE+O5Eo-St-^ZyGwBC5&%mwYKz9#Ivk$!9rAZXu=x$*MLDpqv*i{(_AQUtFI#Jh z{kj=r_m(C;8Sg!19%Uizw=*1RGb}PyYg*5-qEM}HxW*!_eppKO&dbd#B{Rt3MNbN{ zmuV9z=v=XvM!j&^w2-5J=C_96fXndQ`4m??r{;Yc=kJ_yCkM&>mWb4k#ZQM=?i2JQ zZe&$F4mHUCGy!=&tFfLm7Z&$ylQnL#dH87g#;ve?bXt$@sJm>|_uc4PBSI3XwQqV9 zo<2ysP(G(e4am|eMfLk*pVaaAJHfCvkeBNi#pmbhw=}G|;DcRZYQ*t6j;7Jl7HJj> zTm=LQt@h*fU6-rGlB_#f;jI#R&=-AWo)8bh+L&)IX==)~-5S&FkadFuPmk_gk@0`y zytmfakaR0dg&c5hd9_cWVd*b6bVwY-x0k}%)BL?(R2x;(EQ<=Hy_8`(=J^+y#{aTN z#(!F#RJLJ_`&Hq<%E+hzjcqGEwK!U4WusF;z%AO}s9+v8kf*ROcvOCUO_>KP+BSlB zu_c{#ZeO>EeCu?RJy^DG`#AgRZ(6Gx?VM(63UIMvmca_byhPQB!9j!Ibe3RVs;(s( zEl8K27~+kffD7yQk4HJNK9Q0}_Wf7hYFd}D{IHrKqw+83E8d7gN{XFR)Tc9%S6?`NdEUvxaK>2xu>!OR6UVN>5YYgD zv)mt*%L`2$cq*iTmXf2o5E~D;&mJI)#^a(oX7u|7YEh)Y(BmHP6XSjp^B7loY5CP` zN4&zxy>vqU9_?_ZTo+MQD~U3cSdl$gzKcp3H&`A9mmTP4a;i^6r}T*@2dlu1=NpZZ zvIx@C>9`QtJEw1#9V85YgbCN$$(R?fWo8HShL4-TP`=P2XGYwY`Zcj-%WHhjSK0BH z-GkoYZCH_FrExb82}AoEU>+X!Y`TP>9-%AF`$yC}gZI+UI%ykLnhGbe{;O7G{GWd~ z%vSYy*w+kND?rT$iItEb`)Eqn5Uu37eL8gG=<|)k-0Xe7<4>7F zQ~Y9CF>H+0tuKx!vt(o)F9JH5Wz1%@-Ii}y5MpfC)?1=US_LZxIX{59O)b1%dINws zAf7d%`TM@bt?WHq(|A4N<7D5zBujTI7=2Q1)jivO18o^XFutR=xO4A*!KzDrW1|Mi z&uYA%>T*?)JFQw3eW(hm(NaxtnhXBTM2cumA-&}=4`b7Y9zZi3Q$}wP%+=5o?=w)e zJ?X1Gh^lS{_rt{kSo0iB>7s6h6$aiqj_|k}`ORqIfbnJd+HR}@=@xGc#tHVx(w^RR zC&kK1+^8Da-sjP?KUG9{azox=obOh1v{=<&e>Nj zLItGs&4TT}GM1;&lm|V%h-IMOeG*`5)YC!NDzggdNYrXaIj5$l`Tk9(`VwTw!_S-jqdyL&704xhd{@pR@29$56}9}=$RH5 z+@OYJwnrRhiPwB1en!9VlH6ojt;W&~2k}4;i3olsWASl)c3Zpjk$@yk7?_&+&ZM_M z#xsfY%J9+_ZE`=4c~MYmeO2C85dY!OVf#l?OUuiIBjnvw^*mJ;HVsh7f>GcqE1CA} zOWTW=?!vLRk$QGapW>Iyu!A5pFR^D-nlQvwuhnw@o z$9ax@*(*luI7TA4Y!6B+^z2RRRcnglvuoSpdmP_29=5F=a3w!=zvkJw<6+Seg1xH{ z`nd4AW6hGO`N9XMoOj6=_h0~*L*deK03$TKOm_TPNI|rX>QdD4;J3=f-^hdi@clm~ zn0gPZbeY<$uUWz=_wI4E^lJf1Dn=bjRkuE08>ZP%aNnNkPd=Mu#08y#z@6_5Rjxl# z;+yg(-%mECAksk*=mEp#>GHLP@C!Oxz0G77kx<>~tY?bXkeHC(1~#rkU~689G~S6{ z5KUg~?BRN*cAp_#Xl!cNq+R^*5$*;?xxBY|Z)S4nHu5$V4V4tqVCXjE@d2`-RfWs6 zuy>5`Al6=Q6?ynFQFstf7ZY+mqaB$^KjqmGdfqxNwx%A%Mvh3($XXKAF(ZOYJ1O*> zQ9Cj{&i7a?Ioc(Ol~EPW(+kdi`-D=v!;)967bh|ydy`zx@l1>Pk$TvjH9KGJk8tTD zp3uTqvT{C@9|Gk{Cl|~a2H?{dvq3ryPJ# zBo3>S8MPY76lf1@W_>*|ADDZg1p1&;Oa^~EvmoaYeOwktH@4!0-%Wp3AHVHGuiI@% zGO6?Vh>bqyM5-i{IZO)2gISWw)!?+L9c~V$8uVuZ#7re5ECnXZ^T*p~P?wU-A+)JE z31+d8CY1L+Np*hF0_h(H#h}ct`nF{s zWtJ^Sn`4rIglIG#*rb4-?KXS$ckpf_e4=dgf(eFL;F_Ka&Dw{z%cbOJ2Df2z(r10F zmP-ud+vhKmo6X<8M+~}}ap7k!3V(;xBCt}=0%^bGu*F#Wmb`h`i69j+rh0dMI~9HT za98CJ9FjM_kCh%-g}nKI{kf`fttDNwytGvz7fL$G%5yrq z+ASH8xg)`B6A`sq6hDE zRY0_xY*K28tKo3kAE$0^u1oXXHb%J!{v;D-d3&Qmm7oF zBK+dK7fuC?cE!l=JiV>em(A?aiN|-UhBen+q`#*kf<6hxotmecLW^ zb8Be;370+VJ6gglt4{Bg+9n`+>c`c8ED2Kh4d=aC`vtP*OgxURlukT z?u#Rfe&|UKH{6a-CTh{9;Tb^j8|dEu`1RqHS8$>pb65{V`@=27aL`xMaT??NDT@Ltdjllj!?xHZ=z8o!?YrWs^G+h6HMw|uigEm#5gsrDT{c)|&fo#PdKc_ikZx3m_x8CSBDT!{x z*^qW+ZuT|gBz)=a(bAtZYl{9X|0X@i$>Qb;n}~UN?#JDrTZ=?FL7r_w>0)(JxO0PJ zU)XD~3OEMjs}{9?Yr1YXkON_qWi|aQU2JjTFuAh2>&pbq6~^`^?781bL)0;J4=9tb zFBReYdb@{yk)dcM-8_Dg*wrrEc(~V=?h18;2-f$BFP6Mq+j#oLFId%A>RawK7N{$p zYKXcJ%gk@vylX?4s9Us6QXNQKSP+6dgP71?LRaTUE-bh=Hj?{Jhnh&&{i078S3j(= zK0ifHh{jyIDmJRfus2|Dgeh=Q(fyfDIu2M{)Q*vEQ#&-9Uy)2q_81vl{2J%(i1ij9 zU($lUEoypCnDDq%aZ5gP8ZQMUNN$2r>p67r_I2-&osw8eRX$6`5)gr7%X>V%j*c!(c(Ht(}O-EQhlaTn2K1 z_E;W<)qDb=6L_VcfvPi|QvU-z7--CHU*Y`3A2kqmB1i(25{-GdZlOs&$q*^77^iTD z5sRJ|GwK3Uh#rte2p*U_rfzgCy9G)v_^_!zI%YhWZAk@f930Cj_ko*cZ7;YJv`3!- z279t=lSbek+%S&2p?!ofGug>0NBwCeM+6HbREJoRXGR4;rm)q(8kdLRvOtFN79Z8B zaB}ur&O)Kkw@g}kGOB&y@}MJ4dG?6Re4d8R>I^;rz~=y+WP*n6JPOAxz4%d z8gc`wakMV|nwJ(qfigYg%nZy$kg$!xb4mrCs8zWUXzb~f%3+Z&R@+)IGsRW%Nfkqn zZ``;ui_@-NfFQz?U+`gEcTL!o*u1xbV}09Gu2enuNnTG^f555G&-OVqS?>PnsA!o? zfVSTw4-33rY8W+mkGk_rYR}A5hd9OFI~fV?8+D)T7YkdOQhfE?oCZYPE+v1`gc^nQ zq&|LIspK!Zzdt!9S@-T|b=8Q(;>o4(6VHyHg3@P~uU3GEUoyUhKjf)EaQ(D@rO9;c@~^TGn0Xe#VyO+f3rA=ZP;2=!Fxi8}#xvqt8#v%bT1atGB~ErTR*n zBNvv1k;&eUFFvGAIi8)b!iBI`-B2*5ZJ+B@6w0=~c6Wn!km_Au*^lM=JiuhnCYJio zDZD2q;`jG$>N4H1)a|TS<d}P>42ljI$&lDc6 zwO&WPMuWR|ON_r7o+1pJQolH;9#)s2TjZ3s)BuwSZH>B0G;zcuY1pgpX5EqbTF2v` z7;SLJjzLG>U!(w@^s~aR+ul(Q&zxxMn(bcd3d}Gb(+*+GRtb~yW$c@~3*uMFUUJRq z3+ZfLOeFT)-LvpoNF1;hO^)ZADz*I>lZH3XLVh|5as{|#9qarnSr?Q5A0)d@VeNV$ zmRC+!g5vAzy)lJd!|JIXOF{Imu@$rcTFVR3=o_uefRA=JG7#oT;TLc5dh}XRm3b+U zE;=v)yLN$05&n%H(P|+ha`)c#2jf0q+0`2**Cnu267Ozv@(G60EloOyA0& zupJ8E#|Bh%(0FOR;2X94w;z+q2C+s|I1fqc-ZfW!eR{jhJorEpt=-Fd?;E68bkSNx zLr;qbr5HZ~m$8-O^|8E%0q7JN zq>Qx~t(b0QUw`8BY257xV;h;gb6%|X28?Pi1aci{r`L0IzHtTw)8`bcPRhMM!tJ5ONC zbO8G)sXp8TRT1K`b>^JKJ9>nb0+12Hzd$^o9!xQ+j7|^_ z6Rxi%j^~H|f4FRpVO z$4f2YnBETIu0n&Mm5=H^Qof5Go3BFgkVsR4=a~Fg-2h=TEeJ6(Ph*DXRl0nID2-7y z7=2)aW8MM}jVUdzU~iT!4Pe&J8!MBu&pj@CZy#Ws~N%RcIcBcj(Oo%N9E2FjLH#F*0pIudyeu;Ui z`=Y1;h1lNJy@Rc0(ktSB7cteeJIX(oIj4>)WPv~xMxS^xF#-YvIj`LxoL>1<5RBf6 zl}Qw^cO5a6ps4@?#W&|tWZSjY8xxEJ<~q3jXrQv23nnWPLv zI-P23Zz^6Er|7<%<{u|wtjsi-uzg9mqzt$@4JPayT=6MbmLbeo&ns`<1T`8YF=*|; zis~Nj*WepQ)eG;rZI2_Z)Ml=&ykHkCX{rVWmKDcLi*GB*^n&kUUYgAZh_@jXPl+$l zcYlJA1nFyrlsyL+%C&GiLhNKKQhTL2>a38Li4TGVa1@M$b7R(;Zs^?%?m6DKrx9eS z)~VuuB_1H^c3#|~-qFg4a11RutX^2Cts~1BZ+_9-b53`FHxzlkotZ&&NtG2u4rRMV z!>Oe?iZ=RUUq*4-PWV9hLG^C;X#C4_^Vc2P^dA_$RC8hsON(Rxd!FoG*yTxQ` zr8YW$%$YBbbUQ;(2+i~ouj$e#1aYsszFXPQ+6~c$q46Sdle1Hs`(3HdGxipi|E`8e zD*VrqNkvV6g{cAs|G9e`ygu@_F}sm6hPgHDY4c?2t2o7)6o=RiGbV=4)<6Ju`Y|8q z#gs-UqcF;lfck@`u@AtaE2s%rksmDP8pi~Yg}P&z^%L~ys)rFt)V40m5TfXHbj>rQ zj0(Si%E0L%y)j6=l$e{_N92%I@t>e5kT(Uzb{o7(nDLThnG?9r19l{h%$lXG%&B@a z@Zf+ydiZu;>ZAcX?As({C*2cxJlf2)^*_ChYCcl1tFgIKCErHFNGPi1da;~ihPuaa zLWo{aiO2OyG5Af0gl=5m=$pU6!~bz8W50|dgDB1Mjt!qW+x-iPF=#FCT~^k`2f~ck z?D{enhiz~o6BK*H$e+i-_{$JLyXI>6z3$Hq7Uw@TSL=C7=_l*Ov=RYmiKMix)1ccPPPqQXu;Fj7;qoFJ4_v{VWbYG>SWkRN^ z)P7o3AoJ;r5Y6tT&%4j7 zHS5eRI#5dVUp(AuDErN8?K=2UuPqGeTs>b`sf)jIUvrvUCaxHvFw=uiN5ROWg#E;6 zyJHS{x|sYa`hS`2UuJI<$6QG2!4=~b)7+zZf03Ki(2ZV~NJekK4smtD&?H2O7nO2t!-!q<5!~T&XUZE6-;_m;}4*9qC>)$K0hB$xP zw!k5c?CefdAQA#|j`h0w+tyWqo1j#p!fxDwd}XY}IMA38KG8?nC>mJ8^9AnSlFy>b zf2CN=HCAhG7NBzQnK8$0m8hM)S+0ep!-#GH7D?FU=Q!c0I~}di?+? zJm|^FZ;a+Y^fE+;#{)B()$!Bk%iIxO*bMhH1j;Y4E51vTu9XPD9v%q2BYQk-#=%2! zna>7NDHWH#TT4G)^{@t`XNFgbjCqyR9 zcKvt8mpgGyzjnZ_DIOA?=!ms8ycQzj`3!9kl6-l|bY@(Itsii5 z-avj?{9hfw`0g?RAVJ6T#^&ZYGq+u*~hVB_PMx46ZyXSCt9VFr;2@fpXKcc%jDFW6ZmixmR6SJ?MxNo!azg5LSV%=@dJ0HpiLO z@e7|MBAjauW?dJem&A&HvAuuF0d^!AzwCQ6#PZe*d7b$Lj?MEm;bce|?18`hCp@o62KdKoHPZoK z1CQfQp%y7(M1|LqfAFTsbi>h~_y0ew!K5^(dXinQS+T$bY)AA+^gh`lJ6Fa6Q$A-@^azY~xP zxf88w5=ksR;xZcQVEtxbG;M^}f<9|9I0`v?#J3m2vlE-MVw*mEwgS{)e``%E&yM>r zs`FF09q$@m{H42iG1f}$8KE%E za%Wj$azW8B!Qr|;t&4+|F~r+8st{YHy;uE(vET1zCW(QzEf^ME0((fqY~gH1QT&AV zzTPvHzSl->zsXOnca~`;c~I=gi0<27^1YYKxEW}b-5Jzu?i8~#zdyHS>fo=Hg=wd_ zZ8dlmby@k{&+@+01bxu_ zyuN{+B%vd@rwx7h_5?_a@wc|tG2Tp@u`@q)US^i3NPo6}lw@cg38oz z7(?ahV=%?D`KfD}scFKEu>R2^4dppga7=zdGya+*QsJ80F-NMu;j^Hs|Up4w>Ka7U}0TWw- z;a^88Zwi;oYGc;P93RzN8RI1`HD$y{makErH&d6NZ@5!`H$I}Ou4TH3YvEVZwVa#T zE^H?Q3puGH+U|#7oIYc;h@J$S#*mWs%Bj;IY?`{O``^(56?vOFb+c4Z#78!s#*j^Zymv?@-9k-KTdrucFFj~2V<1hDv zt>;B&vOiClV$l5BD^)cmiGt4+gcWjE^{D$`1r#YzIoRPZfvmddi2ml)Xj<{%QGFpt zH2@XPmAtJ^n{|ZC9XCU>Ewjl96f^S8MUOv8`r~rXcrVNFx+jk{3fE%PUjx;v-^7uX z&QMO)$j^xy4VQR+zu8+4qJ8m8_mgfbXL_cgrb=ne&rb#$??ko20S3zXCPIwIF|zQR z&;Hg$~-AHg|D zKf427fQ+h4pvvo&6JHj!44_H=JNqEKk?EM$zJ%^IzMrsd{Bkq+shO1W#zpQpZ*8On zU>FuoetDK_qRnItu-T-BYF5#QnHW#%)|nFms3{~wb*qi z&YHpR%SO|CX|!W!1)_T*_uf3Qlj!d-kr#wUJcTC(|55sI_(V~poEjt`OTFLgY}odf zCiQO>skFZC8&kDTqF9g~M$pIcBTu2uoTeW9P9TuB$zMMmcSs z85mwnD|7IygtIsNuAH+3hrA7Y+gn2CVb4QZH{wRF+u2ErRDAIEn!T06-pI7k=2dH} zPyQM!KCVNd4Ba&GUk(hsBTejw)9Za+fwj!zrWWrPiShQm-}dQNBjF$LSdp4|n=j!= z$lY_n2W}%8#5K;prZvChv}j9uy7RlW&hvT(eOS#3w#qcCXxjfv1%!tW{%6tp5=d0q zy+#B>L{5+MT8n`Ssi7cF>pM>0GP&UC%4UXi#FIIf8`R1{4M_X{v@>;6c!gyD(j(&3 zPf#6xwQN%dL7aF~!5ARSfg@7Z7)AdR4l3Wl;h;G4q_mVJh{?HC2e08WC8fSB+^NSU z+ZsMXrh0o{1iG_Ft?M93;ysF^hTV|8_^rI7P*0WnGncYcWZw?Jq?T;IR)RgecAwW( zP2|?-CL45$;{6qg0JmT_ipP&pbK=xqnH5Ra9*Ay?Yhy&D-?p>Y`yle-JEJ2^T)=DGkq)6PLXE z$6F;|6pRMO8HbAFf%N~8xZ8YX&-^C{V3gqU6L35ugET?_88{OlN!<7_3z-4O+|W$z zPyouBfBxmqeXoCS9{sORXP^uwsaTBE=}e~SO{Dl71i}njtyO}NQ(y$ow1C{nUusth z)y94W2q)LIWu9~C|2L|b^Gl|v6Mj#%K-oMsL6GF}OS;>q{Ta9N0sQViD)jyRJNHN{ za5?jJeU1tIg!qoL*L-q zH=_&4&@9y-}fH=Bq@_48@`~S@%hf;%F&4CtRzJeL>KtC6H52^f^g` zzaFFygvTrqIIqmqxVxfhpFFRaNWp4u3SC@O*;L%BH#&-3wQ8fVZLTw#nCS!X3kO2| zl;6gh#e#e)t_2KbxY7ea>AiLKZa2m!u$J>M+jF2Jciu13(TQ66HMbSos&x%m{}GH)zj3mdV$(0D7bG z^IP{)aE>>17x|S=#dfUGz3t+a3DkH>3up+c_}eiiQ(&lj`zgs`&8!TWIfh=8+&*{? zTvQa69heMXij6(-W(=Qt25U{$h>fsgf9elIA)i_y0Per~oM_MIy5@SUPSi$33d9;V z=J8@?Hh0|~Pg;D81~FvMq#%R9Wq6)h9j&zRjrC^}W%}0UksKdDAQGkT#{fH{J5a3K z`cy&yZVW9bD0@L(r^xaX)Oy?cdIzJhwgF&gzv+= z2txK*1N~4QR)WWvXT2&VTp;My7QTedeFqEOjBr)SXeV-_?6E%>1{>AwgS_&Nx#8o5Fy{=jM%JBEoTMVP@)0%G(b32snZAPaBwi#!_@LV@gYNrEJL^&S+4~@ z&I^`+C)=^azB>FlNFBBMah}}7qZAb;WwY}+ue)+GJ%%Hp)kOv}(G1MG%`m13`|CCV zD_@8G$rD+Ibgfchd_)oMJSl%7pd zi&1RVHAV-+euAj28>c!N5*|++_+Ht~Khf4(g!>=C1Bii((88A_%kzusk|c{gY@>X7 zW;$50>td`mudIzF#v~Q&3m5eUxq5OX?slnBKgFVEv#P^cu4fF@x#ThiGw@A0W<@-o zcA(FS3bqtO`=KNSmm$!=snj$)OjwV?FhpQYhvzN-n5i8Lr?X>zEdBPZSINI-Oao1e z2SB4df5=wR6uM>>+r7m>Skuw*Vh0>vHSMcX=qry<3IXTOcYt4&OR^i-e{Y&#L&rTD z5mxBr^~pF)En zGluu~Q#cQ5(REa2!u|O0QL*MSWA33`SDB$_+vb`#7X<*MOm4Rg}!P~k47c`P7 zlb=DyvG4V-#yr_dnrDUMso9M<-{e!lwhx{=0@$g#tL4ucIL*yt%52Wf@5-2& zDL$ZgdlQ{r9s`W_`dVetl4u*9%AcHBWsXuSAH9msz9>_ja#P4rpi6(%+Pu8rKCieX za1|F9cqB^}^}KyAD%Y=)v5xB&VJo7|<|yVF*O&zXd0fJ%Rf#8XIeVrwB?*R^P!r;7 zHZOJ#s?XtFM^JSUBy{jj=OU5{FE0GCo2KpWSDW3vE^xtks=)Ofb<7|K3y^Y1iLPXF zeKp{P^-Qizbb15+W=A|cSiAltq&igQv>$ao5sj)TgQrlfAx$!V__X@?9W;dh2!FT_ zU@I#;bjMPGmRPogQ9O&9Ny=EB^9g04`vPUO*e{UKh!@o3jyT1{0L~_5&7T-wN^ng& z{mrr=X&hVCV^8WuIkp=tko#q5S)Pp&@d5rU@1vv5ZcC@kPo-#5d#g+Va+nNnb>e-W z%~TWWHM28M+LdOiIox@VLzMZjUwUeO&xAyhJ8M4sLcFIuvawgPsy@hbM?wQf{qbWB z6(+QP_V|Zny3>G55+lg=!2Z%gU0#oa@)A83LgRWI&(bJf$@kUbA?EW9Z|L#J+ces7 zVa6~T`=QN@6iXX9_qYbMS)#KAAnB)G`w63&#JC{xr;m5}*HdZIUxp8$BgA1^x|L>KR)fi6+(T-DGCOw+8E58;zR zt!jfN{Co%dh3q)7R}e1PM!H4?VraH*k}16_`COf6;H2P6s-5bG*H^+mdhr?3wI96O zNaZY>m_o(u-68Ig0u!E0dW|Pe5z!tMeNq7##J0^-JVHN8)_^c}>%ML_H*3fV6~U@i zL6O@g&1UN-7zC-|1>VqDS_y0|m zp{0AqP3^c@9({PH=`98uTJIT7?BjiCR{rvSxk<4$ja182h2h7vlR>6S`+4w)(8rn> zq>(XGs;iGuGio?MfVPy>Pr?2u`UB8Q+tOMyVYkuLlFC%~&SEom?WK3Z^DZGBlI+pP z@!jiOJMEzi8PJoqa7ypfHX^r;hH+lgxAV0Z217l{bb;lTsd;r#IvtI43=9*l5sJ~v zWcoIPI5E~@c$7hYJ{mY*#x&cj(EQr*wtB~$Xi?z4+VJ3j|{m+<~E75x|A|AV-VjiZ3{5h{6zKtP6Ljwj1_P4RDEJs{UOZLiKY`{)% zHD@vj1DQ{^Md2d2Ujcb>q8G-9Gys%EW~B3S)D()_POJSx?_+qo7OfY1qaXXR&kg(Z z@!nAJRtn#N!*}Ye5mROFlLJY{aAOhFRICHMH|(D3UDnMeAn;sh?QoYO+)m?=+{WqZ zvBKSV564&f{aBO^l6&5#&v3dvw;n4ql56V8#IJhneDNvn9!-fp7N^oww08)8Ea% zIT)(x77RggwtpQd7eXt75i_O}BHPr*%BshC%bqJiVGl){66v^lu{{7aoSaEX=K^bI z1xN|f)PX&DZg6sAFb& zV!ODMPGprN{F>%dzo}$*U9`MR{gZ9s@!bQMb@hVoYV}w*Hy&p9vEL#Agb-u`UkL|} zLFBs-hl#m%Wqvh+h}y^ICe4u&q`E7lkPZ4TkXeU`pCEam6)YsMV8SD$wv;FHAI`ub z^^bW6Noif0^65SEd=-C!V%@_5PWC4C8(aW2W~|FbiW=vslk`gAGcffzNr>^U*>f90 zW_9R$K-sIC;te9Cp7hu0ujtp#v7Vo@&W>WKLv`-d0(9DE>+WmMRkfqgP#iL@#J;fP zHNTDI6@t@STc+cF@0mGT$6xvfH8{R&BpsK;D%$fNuJI@`%4rB4eO4IPJ1oBm5cQOM zr+mLg%jwVZ#CcTy!Bn^8w&$tY3F+l1mJF2fSiOev0tho>1xB7b+_A_^0Ook52@py$ z-q0k@L*=C>MltJ_`6gYBl+|jcs&BDEQJcK+hs&!f zWP%K$PPo?%g^U0~aw8Ee^B7=EG@Y{c1?SJL%-b+X!T0p=!xNd>LYfzJl35)a=}!M& zaA%R;r7{5Ryc56?+%w-Y{E5CdcrE;lmI_8yAHVkMr2OIWR3MMktzIysOPZw$p&jU0 zG#jRy`<4GI-&nbrh4d=4?G^g&^Z*F-C;)9C(AXJ1p!W)CU()ZGE+Vn86-m@hro1mp zFM54(_C$@R8QD#m z5>aK}gs+3x>oj6{Zk*LlC21;~%7P`f1D-1Wyo+QK_z~iB!haldA@nrM3_aV2#*Z9r$dmmbT`@uJW0hOZ@cEk{ug>&X6qj~Gsyd2GCfeI5#iFEH z#&YI`OMB8YazE$b=bnRFGQ_@sQQUeRo-S7?MY7ROvoc><7CtlNKSZ`&)-|HDACiR}UJ7r|_6*xUYS|ZTG`r|>#%f}gHc{bZP z(7iA4^X!Vi2T(Ur|LH+H`J z)C9giK|Z%W`*C7~O`A1|uXJYDHJ&(1<~j4uJxJIrxLXkfE}8LFhDF^r8m+Dse^gTR zY_vG&Ax?6QOT4Iy-W?j}Mr6Ymo3-x#H9tC@mYW1L->%D9Ano0EzDL%P zkPJL#y$H@EM;r58Ks~beKs8(b(Z*wOEi>*q=g+W1rjj=gP~@9e$!DiYCwh85c+^-$ z3Uu;U^ivVVc<~e9Zjd&n;sgnCTLZ|q`z)dSHLR-rS}(mpv{2Bvk)X0bvx?a(a}9i^ zZ~?U4IB08Oe&$P1#w(B*#U|?ZxIGU_#4}%>z59-Kr__nW&D!vrXWkyW##yoquRW}I z0q}prdgvu=C_(PIF=2yD%Z>*+mt(j$?^0WrpS#XX4fT|LIKRr~frBy*E}@)_Bc$-! z4naTs$v5fCKsl;f zB!ybDC*vy|4B*zup#ivW>Tx6PO~0M9Ilee_lWPC*&I2A&pbSXV)Eg{~GZS{B08}GK z3AKa2~8R;io#v&s00bm!`7UxQS$O5ma>-6TeR@?l#*!E7KWsbX`(VuB{(85C8rI zD`Ie!lg_@+RNSy*ZWfQ*Z$#xL*m~!rwdJDOyEMzIC#hI)Ej(11E<~#K zw9T0iOuU@9<{7gQaUK|{MW~AOGB3o%t6-k!xH(efBm=WqSLVw^n44S9THX-ZoC#+o zT!}=HqorcUy;-4sz#H0>e+xS_(u%?O+N*xy!a4dz&}b&KSs;x%2u4*SC4a{8e!zc$ zGq#AKUW{ra$7?IWR+12b-OKGrG*F2QRgP?~gPE`h(bndb@Ascm>;qs6W`rtACF~t! zf2{38X=?*9)Z|$8S^@ArQP({n#WfqrXOefbeu!MEM0|I)e;^dF{;JpCxW;sNrgy!E z<@o$U1=VLhJFSVc*me-gnvmW_k+Vkpko)*ZqM2{D;5Z~TI;2LeQEfaJ`3k$$m47q#SMs7RjkJ3te_&u zK}Y1)sN3+##yqH-s#0@n>ufki>Xr@$J{@=uoCuc=wz0`GQis{2@9C9U3gTmpFZNmA zS|eXiIXpAL=qtgG7`)oum~tnzcoV6iCkp>C>H4r&rC)fs2ev{skMtku@?i!tWP!>j zEKGg24NR*1bVPj4i=!CTqVQ)e>to>8Sw;qX;v7fXCU>)Bzws&f#3&pADG+dHp-sTN%w z5!f!Aev0r(Ravb}fi3H%OeQ|G!U_|k%0^H|y4tJ5AaB{m^2Dq3KV`D$-ACzxs3b8a zW`Il{+erTE1>B~7{I!z3p_lu_H!7L0p1$Zf`?9q2X_*D337+Ho{tRjS7)ft?A)X?i z%T|uY3jr<+GD02I(VF}t*DGH71DTE6_SW(N-mmM-Nn>(Uif!r!zu00TU&zbyX8%ai zj5|(KKHOXB{9$GinnoLyt;sqURH)7yxsA~RGMNzq@5gz$FtqqMI=pf`wT_p{2$32{ z7;=ITUf;c`gCEJ(e=?kUrAxmVP3xt_iusT(s*Ugb;U0LhMvsh_{UF;-@z^9ujL~%_ z{#t5EXdyk!n<4#969ns2+VaYe&oQoYJCxSo54JAfCpCc&t|`zJXtoU^0s^c+!=Q8Sd2Ir27aqzxe^!oMV*E&-X(8!` zBMFs!xTb1CP%~HEGI<|sGR-dN5W?purR&@w+#<^$lclf*!Bfmdnp*p+-M#KuCZFT6 z=j>+-(QZd?RIl1KImJQf+?)Zo{*+p;;C;}(?iSVVlhTjkJn}Q@dUxH9VSCR&l4pQ= zYSs|K>iTl$C+GsDj$#jZ=yx{@ZXA`*9=O&g&99rGLDe;-B+n;IM9VNiQ$e?$g2rbi*PP+X20$voA&&ck5^hi*pV zizCGb!jn#_WQl>K=U)K80y8xQaoDL5w+6BgHZ*UMHLo|n&>mNfr)d~ji_M?Loq<@| z+o4P$4!5{#Z&&)1(hl3bi|c@6hw5IT$*s(!qo>o7s^W=$jvDbWsV>Gw99#c@QS6_f z$b+*wc*s;)DC=93%3{qT`T%Az`@9UXT|+qTKx55gSXXz8WS@ISEfBz<)<1X^u9OBvhyVdu3esCBuZ35`j{;ii^J zs~;;@g%$Y&h0!234Rp^gRW*t3pCF>sA?EmgrusB7_2gzIQg7#!JvTy$Zq}zwyf9qq zM-Sr8L4wEW=lh=#+Y4EUoV7qhpvrZUxrc&MFO&-RJWL3eAmP;^7)cx=WMjl%*z7t@*q-l7)ASo=+^ip3)CcPnVD?wcsIkQ zcGh$A(aOOIhEbJg<5$BWP{ouU%rsKFQ(i!dhz}fE7eB8Kz3eT@-|?uNGt%v%uS?CV zx?_Gd`&_WE1f+`$v$snpuIW{$STZcHv6G+S=YyD{Z_K!@L4J^*LN1U07GS!Nvo`wa z!NLag54v<%P_U)=6^A5^_HQ9%zV(0-9 z^Cyl39pr7)l6Gw2j3o1<4RU=0;2JopPdZm6DrI&cRM{%cH7Nc$_e2qs2K)R3wuZVB57}YzV|Wh0T02a z4{%D`z?c&E@A#}B_jo?y91t(XW*f0TgXgC%2ENHNBLgE!_hhu7ZZ=DS_&I`hI4-JY z@8y3NS^s>M{I_dnG#F!b-gU%0jp?tDsW;$t$eF}!{TL~lVWuD3kP2;}zYxTS13;`(S zpy%#@L=%~F+N@Y96bgb>8xb4A&7bc!KGnWVifT!lzL&?ZYDcw^>!iTR5gl5xgQ9Mf zX8+WE`MtcqpjyVNHk9DQf$5$sN0O=cXS_Y&jtk#-R8qwcaa$Rngl+w7FVvkRtl~f= z`9&_s(~v+5z}h$7senQ7)W7ViSkvsIt2nT6k)RWUFwzodG-au99@#r~41GZcEmNFi z9JA}P@iY@)KbL*DE*z6Rk6h_G*W8tt64kB?^lkF#x3V^$71Lxnc*x{I53c(XAaH6V zzBO&D!hPG4Vl{j@;5x8$3AQ4WQ0YLz}Ez(SPTA2Q}_LyV0 z4vkh{ioN-pip6`qa;%x{eXK362pe%b01m%<9{07mD4PrSl7wp$-y#KgpojH1ZVzS=h4 zuYmPbS5K83@VFu!%<2=(J`A$u5NXNHqerfDB&Z-*<)*G*tf`!;-Lpq)H|FVwSzFsSuh~ofsEUy%u5WoERt9g|pAP9^2p>-N$g@Sv3B6hD ze-m#oFf{l%ktu(7->8Nht!LMtaq61h#e*n>qUAiwMeteDn*r1KxrHR$S*A?M)nhIn zMndBiWT6ZhGBD#xty+njR_vB}9pS}?3JjODkL@5G14WQiI!Uz*nP-_o!7 zzwpKX-P!$nr0clf3UfXL;IJi(HykMROe31~ckfJqDVH#{KYvL--;e<+Owv;=Qq7{8 zRC(cdBhPfGv6DDWgZSzAv#rIsI6?mC0b)%MOx4mAh^^=JW5+E#Z9;KA|3O<~LyU`+ zn=GU@TO(zZG^3zs2pu>D_ikHdY5K(|@#B^H^BeBT{0w4IfE=f1-yW=G!~!AQ*KSNl zbZj`{O2m6I`NSE=&41d=`?zIigzWw967zH-A7faObM@K^(HK4YHyuufqAoKVduOR` zkuhbd4niSlhF~n8fX@^ZbmE910#&FM~+%MU^xgGB~%dzhYFb;lnvNj7ssca5H97N1+tVZ=C`*Y!s^EpL2Bh+&s?M z2$dSyoGw$u)W9KCDrkwQ9gD2kQ*U8ikh|OM()@V58&{e2uFDL=d$bYH2VDu)?v$eX z5yg$eIsA>Sao&znB#_FiKptK#h;VTJ)cg6lgSowmv z)5{HCSu4)Vbn-K5>S}ZhJXzmLP`;+YTI?$j+fy$AnIR|F+vhKCJpWdq*={D}2>$|S z2&U6_Pv0zwl=EFk*6tmfv|F9=9w^N*Qn*LO6dC*k8yn{d=;Y|_sIfv0ILgOiRE535 zY4sIA7rm*nC$(?TBP|xwv34k|#;9R0Ndf?Rir)#|tbHz%e8XLozZJy&L7y6?V(J{K ztTEu9F^ZGw%W9A+|9}LU=3`YCqd!UG;~M+AIfIYTZ9WWoDna|P*ujlzy;1SU7q0He zXmPxGt(O{wAPqhc9h%bAq5+08z&nP~b!z{7m^fe_;P{A6iRf@Iursy)t~Z;HL4VA( z0zLbLKk{~7B-K$+)r+*^gjx5~oA2CBtn}sJIbaX*AVl8@HI=0H7bk6fyPdpb!G7VW zZ7R^Wm~!SFs;X)eZBZ9KQp6;Lwml78G_vL!cUk2A1X(XHeOq7+rBxba?4y_gOVf}0 z>g6tUl7VF$GW3*pVoJ(d8V;6ba01m7o+rrB_@7 zhqc&OXcVX>2AA08Zf!obZ8NiZ7v_Xw$tt5-&(Uk1c5Ne4yh+HgDR9d-Bi%jcB)|9F z95@uZ7%6}TUPcD-+2Tv!t4TlL8lLAQ`5Z?Rn6T$(jqwQ{6XM|7)O6sYpL)OM;8Bd! z`c-VkRRufbt@nj+*gC$NRmc2fs{nkdqPZ?rcItEtVAV!HO_ZV{BJ}=)LBms`&s#a_ z`@A2YVU`lkhXi>Yn{z4RRd8PZYF*GYDMd4X7YW;?-ZuBH#@^4rwX ziQAXkJqNeD;)kq?=4`dS<1_geBx#!`7J#8+UX;lfCes*&EG>$9h-jY}%Hu-ySPA;m z>N#>i&grgr-~&|G87SbS+UFL9--M+hpcf6wdtn}RR~~@X zh+^rQ(}32lRXwuzCwOSw-?=S4W758t#V&Txe>f3owv(N*IT9qPxe83{i+cfr?-|{@b)mw$x$B*n zEiso+?U02GtCP_`YgAG+&3R9s$I6;{mO;QswolU%7N(S$VT1Fc(e#tOQKWrM(`xim zkE!0Q=YnP(xQ*0y%qAA=zMbp4I+Yj&R`czfF{3GRw2jM>Zyv@haQorpJn#$M-DE)( zXP(;lDo}rb%Iky#qtuJ=gWU3la2{dPquX3DfTPP#g zr>$)?GW7cxWDwt7>gRnDow(##rTEEcG-Y~j%z-sY;$8Dd{Rk~K-f|yRNh2plTwV2y zTN~MKN_0W4LaxDX5i3_jpx_W|>BQ(OPP&tRSmPc5h5)XO35ZEOD@SCt0$G5z_!r6V zczAVOD;Xh&WeuKJC@pvyoFx_Q2F9T1%Ho>MuS1J|O5Y<3P``-2SSYjAcjQ+{PW-XXw7z0!Fgrt&* z?&yQNr22cWorTOlV+ZVMnz#6}`G z81W_LfFt4hA2@?0c*V%uYL|TrVpIUP{NDKT<mn&XjuUf;sOy|Gh#UDApr@Dr zH8cN{-VZU!U-6I}{sh^m|Dddvxx9khpx3M80LbSei=QBjKT0J5O#i2t`G3s}`adD% z|Ni^mnP~GS*nfgFIj-`4Xy9P|%5VVr<%j=_8uGs_cK^4U!JiIDni?j8cS8mXn3LF< zqWiGx8Sy=(c}+U!EwkLpJl`%FE@a13OtE1&Q;SgpxWqe9DAoA*80!gD_G9cHCTs!X z@!mJ!IH0*FE>D%BXDR7Zp^1(AH*F*N*G3tnTLMea%! z?=U>n*x(Zm_F9clU6?EVq&t&kV_5On?H(zmR8Vj`z@7r#@TXOGmI;nsTvB&o^Uxu^ zWfj|$sHaPiFcZLC`X_kO|7S7x;^Ud$5aGU%CH~Sp(&2x{2+~R8U*K2f8L+sRB@`n3 zklf0d4&=FO90hi$O^P!pj(=Q{uW{U9Y3IRqCVh$~OfjUg&h2GcAM<3Q>`bfHG(pum zVzY>-kop~ga>kJH9~hVsie2skn-|o~JepI<;NC7Eu3BRlL$@58DZmgv;f1}+?`qr* z{2lpU-?etgwNvN->QiK%wrltAm)=jISK1?whbgdr*TdD&Jp;zs2?b#KoO^Zin()E7 zz2`Rj(uJ|=T%<9)fx|An($#;c57Tbz14ewka&f%!6BJ%*_Pn)8=C<$M*JiM*PlH~O zN8(C|SoeG;KF#1XWtk9=_Yk?Ze@Q`q&O&y@?o9H+CmYpA1cQfitWePCmvWqUhwnzN zSyS3>5R5<-+mJW3A>Y{7Z0hiNpT5YnJ74#?X65SRIi|+LzNhQtX!}Asf_^aj=MvP* zeVy~4XXJC*JMMeR}-@y6k2=b8CCwHGv{pXdD$R4I$)uZkst#DisN-Ud#N89wO6 zj+Y6e93ih%WEmu45aAlU>e*3#vXe7y=NctNx{(5V%o^jXQIPfux7|`RspBkz5DK&v zs1zCkdfLWiYaN9h9+(4n*#{KJ&o{33x~RnVB(`cxn|&Pe{X4R3FW(mML9N$nUYVZp zrpqk=0#Ma2%$(V5S4pVQ(Wqn+y)Gj1S{NxL>1`bI4Hx9ZN4D7>1afNN5{Q!mJW$H| z+(Re|wiplCZcameY;KhhXUsiwMJgGtG@KW*3~`Fe^xc9gY|d)5&B}Jr;#&$cIOExX z)tvy`LMwZ5zOwMpRI`FbJvmEVi8g%axvefzG)E*I*k0R|^P<#mM4whpB0N!ew`0tmfz3g)RwXm&m9 zQ;5a_xk)o3?kB?{R2-@c(yUEmyT6T95_aWN(@m!Iy%QR`#VmS3%a&TJfOpU9E=<++uBsY(`~bea_J?ka8-|V3NZ!F4I9ovn zXqSAK)X6c~V|}(FTyt{&w5};6(?fGI|MiJKc^V7C^5dF$U=6EN5rBQJcB(2cbwXne zM9xScf*2pPSMKwX(xVcDJlv~@@;lmP0&y@sijSZt_lw|zPg4{n?jP~YCFc>yu>#<;Zhy#8d21IqfDv*l%?W3xWb|zJtWA>#4c1f z1KVVbSU6%jFWhZn=`ISvuSP&&tyC*2V7TS@{*iD=^CsGMh$Rz1v_EMpeSh5bKz8?l z?LriqnTG$E#wwB_Bq+EJQRFS%k_(qh(odkHc_iBhU)2HLz>?f}JfW9L6O1KW{f z#Ut6i51UkV?n#}7TNe}I68Srhk|JmH)|S`_X}iSz6Ul8^g63GcqnllRe4ar=9J5Pf zSJgAVAym2pdHuCay)Mq82Kwlsj%@oC;Fc`l(QC!Rj(3o{6@0rX5yFi>LC$n(IJL_A z#yQ67@F{{7aum}t2ftr|8BPUL9a5)Q1BV{ohk69KC6gJ*<-`4oQi-*g>+o$3u4NDb1D>214wmBC4tkkCgU}g8c@N~ zZcSZVpyz&CUtR?cfjTXusLU&2Mw;K@AV>T38i64{#VokHb-72<W;`Sj@ zk**o_ROq?`UDq>GoHsd^P<%F;bb$Dyy`2Nm%c< zd&i6aKkR*FSXBSM?;r|FN_UsiBF)fJBHb+@k^|C14k29v0t!e72uOE#gY+-dYpwZxf1gCe^$e*m;~xn;8yOnrN;pNBU*))) zkKF{xf!rjRPPj8yAunoh-;C4_U8O!VeBoqKbEWit4DkoO_J_hj1LtIWg9O;h`#uAh67MBo>tw%)ASK(t65oHdm< zpmXu%sIZ8@t`@8y@op0Ej(kR$|0x`j2Z%@DZpf~YJ~1;(>uSTR5o^+W?)r@MM0l@w zn}ROX4i-vxs><(ly|H{vr6+XqoBCD=Ck&0poYPPA3{Wljx2>8zgu;}^ooejGL>OwK z`Bi~FZsrHdXp_u|qa_firScg6FlSvDQ=JhKO4Axb)rhv76fw zrfX~OaISC^IJ+;dJ%C%gGX{SRKiZee{&croiDt3dV2x{iOJhgW83{yO8hdt`{U$s5 z19ZUU1*laGn<&>?DS>@J8w`*e+mGH+!qH}?zxnFcHZ>%6M%h}j?6X!-$6#^0WKnOI z({4usFqyDj^800^r$-yFlOV#3t5?i=qWP-($^`}Mp`{xu&PUWdxe#<_jFBp0#PR*z zE4+~o)K95xnF0e^3fbKspr8gnnLh0%RQ@VQ&GGuI(L75>s^Xw%fHqovnW~?kE!ZUy z=ywD7wT{ZL zW_gwy2=w`s){n^b z_h{KORcmV-qvv0}lj0pn?p=Y7i0Z~9rG&ZN0hd?3_N05j-GA_k&+CL{Qy%m9Bv2bH z#C2{)G6>TMZli4SRn3{@6TtC|BKBA6$$z6QwNLcL?XNH4n(*b-Vp`Z-N6$M}KfzI50@qh4t6T!`+C z!aTv7eCp)IGa_Kk(o;ZCbP-}q8^`*&6A}hz3SKk)XewQj%OQ=YZD9X zn7X`&f%(n-3FX@Mm6)s;^+z1l2L)>dP)8HB9#i4glZr8kDSOZjUTTS30PEyg{it#J zN}Tu3!L4V}zNg_xW)9S$Wh-?_c|c(9@vGbqe4^{E&(I4aFYj-pjGByis?3zgt!i5b z4;=S;T!E-)7$F^jP!B!^)tB>{rdiibc5sNq&d8cP5K%o$3Q_fA#YAvf)V9q>351zHZu+SBXz#VQ(QYcq~8>knBx&iStd2_GXAe8QI78u(1*jW>gyb*bpt0r`MBe z!J{n=p-Y@0%N!vT;+6KJCAS1?camE0vg)I!yO))ALPK7{q{Zzkmey>CnIkO(*#;}x zjj_-1(5yI;{`5#}n{paKoO&gwrhplda96OxHuQb6!Z(UQD-gtZ<*Gzyst%{D8}~(6 zK`7B5pepUQry1*Sj!kY;1*0y9cJ=yW%s&!_+?${-hu=d5m*%@92q&wPk9%`ZJD#3p z9@u#*dReAlCrS}FD_LaF`!TDmm#`}qm*q5BxySI4l`}L>Tbi${plh8xY@|ufrk<|o zWo8i3r44K(6bsY`ddzAwS4;3rUc<1K%?&hkmETGI>H}G`(It6MI?WzBK*|XF4oW!9 zZyT7fPBz>mLIZd-jJIPC!P1ab>{;Izk5hC&UiJZs6u%>b;cGu{g&R%;mV;MPdOm%* zU}C}%ePof@sgD=-=S~JFRUrN!ctOMdH}t=r=gn(af6Jd^4q&L;A?bul-pd*Bpy=*H z;b@rcYQNcamoJb)_rYfR(*w)@K`HP*gIWB|P%rT}>qLMsPtc!<(+-mRHGTIncIQ~Y zT=REl{zrC7|21noR%*#cqkodS=cC*@mo5sox{p>Hj)M|4+x{3YcV%u&rmIU#&7SVX zwXT#zm4{$1M&M_W?4AQC^{NrlO#cLLXsIA#FV>TB3d!=hV!9$cI=)ZpsXa zC0<1WHAI19?jj|F&mPnQcNP77+4UN*{33(`07;4r(08>zBDrbuFubyNyne8pU7?~> zUNY35CX^+T2T8uJ5%LPoil&f-R-c6nBY}D^_n1<&jytNt8{+I*Usi;%F9$woP@(EJ zyboE;9k1cR+Y>TeO!t4q<3x+%mLgX;6MfeEG9zh+^q8fl`GZ2!J3A837nXs0YK92` zB0OOkL}{Ik52Ji{SquHdOqLp5z`geb2ciJs?JAUkK3-P#zUk`)0cWX6t=X@l#2xgv z{={fnt116BN>5uFT(d@4t|Ga`#Z)75YNM+jS#!E{Cn$k4lz`g5=ZQ+2(#(Mrm(L;L ze8YibK9f6H_#DT%DRFB+KST!0xV!rl8!NV$`TG$ru0E;9>#pvsjpB4#Q#GU1D&SPp z?EGC)k2D4$+s(W0y5`CAJD|SxKlKD13%g{kq$isI@^teYkY4MuD5K~plAn_u_7~ks z#XhE<1nXQb)9wzfBKby6=X$r~gr=v}zXZK{%<@!-vyXf?(BzI7t?Tx6b=o~i%T`#P zZJnp9+JpHHl4`lj0EH#-&__--p1;7)?ZLG|<;|pfaZbz+m6OyTV=vVLgq#RUi{|dL z=u~NTt{o|lM2^6Mit`hlcP=kR%W8xaYvBGg_J$?(6NeZ0_;zGmo(~bWTS^YdtN6)6 z<8#Iq#z@fifxC)=5j@++hogvwkGeX+q_1LIcvVM@K|xbhoWtW^LNz4f1FYD+34*1l zGrQ=1vr!7&xj5b77Ag0%(ggSTleLXoLxQ%z%wIkN=1$IqJD*pUein>sJ&XL3tDv6zM6RDkq&xkjTWJN9-0Ece|GQZP#&XjKz1 zOfyl2HP{uP*el&*a4Z?d<8Yzk)ZJLkh%0OGg|`;Bz5^?oF+rGXVXevV83-6X>uv*h z{&lo0HG`5VzJPscCyQh!g?wKwT; zvZi4LySm<$Jv8U0ZW{HUUiEFfrxC&nqYW($0JW17qpg_=pYR`*LN)P;Z3%75%nKtN z*{sgEnByFUimt6uYK$#d_yj1tP4u3^9nSph<)`=VlcP?!a4y{L7sEt;8}YKwuY-+S zmb-W!nKpr!D9aZXUn`UYz760Jqyh*EJLS)nlQrTZTc2;s=M{4+uDNU$>^w*-f9sJU z#s;Df5_GiUvIUY>j~+oiJIlm&8jW?!B*1+SE9l)Qm{)vsOM1WNFaBa}sHja<7d%Q} zv5b2YFGZ`j+E?3%N?ec7>*g}2s1LT6T(m(pG++ zdHrY>$oYna(9L+O-90#HJEoEB3;<7#R#%{AbBDOwE@#>*S$|Cq(>^`gO#=B$!&Z;T zZ2Z~DU^7<(u9pUHGy^*@;noG>F~;{@6R;gJfD{PWy(bZ<&9r*|3sLKF{1S(V_;qev zJMg9JYl1j$@Wm~#-7PQ@*vTNik^BPw^*icT+`h4Sa#Cl^YH~B##-WEY26ec+N|cec)n_(R7b`te6sto zgK5tOeYDKo#Ja0@xziLA&Q%ljF>Zi#YX+9h%1g7UNldUKZ`T*-3&@aJ=axH{7%Cgb zFO=R{`xF)P>m^kDPJb=DaVasiD{2~_Z&MpI{iZT#0&S#U{TUnlI@49>R(5rmqlZ#E z)v?U3j`V21i{U~GP6=Cm*x!rH84djAY)Wt~{D-w88r=tZX>IkT?iW_KhL`8kBqgck_BPR5D zLA^dhAVn?M!t6OVv@(i5*F`)T$D!UD2#OqGx~l9tQk0jX@w4~TIew?MQUoDVOgTsq zb;;SiqFGN8CA!$4D=bau?VMDpQ8uEoDOpi#qJB+`RRK6TLL^vi=W@$(?Tb?t!nx80 z>uc)YMjnV|gP+zu1m z>|CHNMWT%Z!n6aqTiY2PrsOm$7n=6iu-wGGn9HB{l>Uu~(S`HhsOWb3Q0)-<*pB7K zH*P$&0k|s0eNu_%)4p7*D%_V;z4dUyz5RY?dc~aW1X0i1B7~?O&#GD&kj(P_YW%=s zL3nPOu)^!{`M{1u5?mdFC(5bDPpI>1+8g&%3q0pd*At3?{((MUoOE5iE;FJ%3C`n> z-myh?wO0}RpA?@yB`@ri5*L@m+ADoaCO9GWF5v}Z5)T!`{9ODemzZkxgd57i!CW8m zo&1&A*}zp6w)X$PaQNqd`Og9IA4Bi|wE^+ph^K!~U51{@M-F;DT}=>t>(^dN)HP=o zanXjid!3#k*cx$|Wne%!g7ch7n2rnNjY}ePc)u(?PJ5-@+)Y}6E_!hz z?PABZo1OE@0e<6Lpv=Vvz43ebt=Kv)W>3({PRhOq*D(uwbdzhkJNnp^@+jW^G+Ckw zX0%hucTdhwdAT@Gy&veYo%~6pZQj%E>0RfC5c<8|Su`&BbzI%^Ao&T?Ghu4C2aUkT zFJ|%33`nvi(hlP#@U6TFqUskKyLhc>1Ot{ z&#O^iSBFVz?AfZDB5kb|k+q@Nu_6|(JND!MzF2YnR&HJXI4+#?JAy&u`yLKs=%qxt z^4%E@oqbg!w#UEi1D$gH{mn3Lsj)<_JgW6zyFf1rwTPDQ`iX-W3=5 zKz*wA)cb^Gg_aD`c}|a0QEF=-sK(eS=z@n7n$mIYSizc?&$Q4}Usz?~@`NTGXlM43 zdwZAIBY93b2|Iq$hHC6anU&a!Ud9zJ?vuqYh}ylBeyUjOpe@{2f1ZW6_3z#A{||ot zrvQK$NG$lzUjIb_z`&2#CCpS?QsErUk%K>Tz7U-LFOT6xja)80@GApp5?8Z{k-981 z+aM=4q+&S&o5Uj?F*_K zZ=h2rg5>@DBq?Wf_0$JtpHn;pDzWj*aCb>FD4Qp9Dnd$@FbSR1hZ*QMzho#${AgGX zHO!6orLSoD79BdVWK1f;qF#%+@j{B`ef}B^oqRkK+?~VTmM%$&87=&x&se94<3{E6 zl%s>AMSWnS5>Y4+&vXh1tohpT+-2t0em!K&a4)HlIS9A3?322J=_H-zu4G`}c( z?_Bo@u;RB_0d-$klqvUULZ~VHr~5+Q_z~w^l>7S4O-*p+@C>TQ2H$%z4%|DoncaFM zyQi0!02SeCi73xgvN+u)8y4&8xMvTx83SJ2Mlqv?R)c@+T;J@JIQ6s&6z$;^4$QY^(DtEwuh1H(jlRnL~X>-%bW6&u-^wRZOyf-|B&x~)g! zJwq?J1PQ!q<3{ zx<&;xwarspljA%*0I7>5>MtLM0u7>pfD#%;cWaw~qU+M?9#_fjVs_x|Kj@|_U=84} z{${N@?Lc~?+#Gp074bkZjfp9Uy)C?2h0SDQxU~vv$QHY#1Lp&AzQ|~vnB4JJ-0I9` zoWkU4WvnIzf*_!8nq&Z4)T2wexmXwMmR5Nknk^i;D^vM}Yx?Vxej2Iv>#>KFrA1z3 z!S5R?W!%dMM>l5r770S(l5)|Gl7_hzMo_GqE>k=eJwT_TDibeW5oIUL#2oasgE^yS z*=XmfTq%vN?iq6|!=vw(*iN(JFIcERHq5QKk_n= z;+EQzT2ECL3wMGrGzWx6LJ@N2i;DgC?&2V?z7AB*efRW8&%m@}pzwYu`LN+}TZFI1 z8d1@2bz37&cZw2{JX?}4&sRR7(cnrS2j5Ep&&gewBfz0DXiL!Q+mUHP^A0W|IM*pR z+g}tvUda#{$igk*=r(1_Tyq}{JDOBAdd7dz;Kbw%`8D&9==Nvc^lb`K^1eL*wlf$e z9keyS?omdvxNkD(237kq{?obnB(O&XXsTkl0rcMG%$e7G0b&rfH}?~<{5KF}Y42j1 zfp6tfU#y&$f97hMGC)Txy)18m3%s=Bf;1z@-cZW1E8!?G>$w6D8^K=cL&2y#sQ>(?l!6?-Flq@+RU z(yZQSee%Mmi5DApha1O0ovf&JbhXd0JHMDT^puk!VH3F^kGiMXaGBXEwQEc+adNr5 zOvPSow;Y{&G|0F;iJ6*jyVf+c=!lr(!QG3i;M+~>W^`md_Hm|M}N z6TMrGG-W>`g-~t#f$pjSC=&yA`T_ZB%airUniC$WDmWLarIe zCK|Kf_@8NjxB3&-lg)T%U8Q!LF$+&Z8`dASA3Os33j9^l37otH<%?QnlO6DKuLQOw zSfb2OVJkCP6%)v}u?9I`6t4o-EjJ3$yf+9;^g=gJw2YT{!W|A6>K4#j8YogtRV$Wivi_)I`z`=CaTuRTk*Y@AUOWYugbd`NiYW=E4)P8lN%~(@h zX5nj``D)zVVc%aTmxJ-`mL48|yFsNM4vs0oxH_D9pJmTjX6|Zkx6_@i;@_hw{Q>Hp z^21UKyXTmyp<(Y+s7p0^03H>bemr}~Cq^r>6(Ekr44Al?tlZ3#fM`GONOw7i{iCF6 z55zd9x_px+KRK58Bd@&tZhWHA6Mr)trEJKA&evB)(!l z7aQDy@prvKpmRzS|?T9}Z9GhQQX7D{ggboXpszwYAHprMBp_D6#U0N6*P!ssgy+V-gMi=r< z8XZNphEY+l(8n-VvzUZ&W2j6`3>SJ80`ZXAn(I3}lbFi2$Lq+TdX zQHX|C<;UTw6y9a|#jILXJ_2t%74Ef}?04aYt{#PwDo zM%$u&f*@)awLQ*^xSf}^W{MK)jfocGO=eMi%lmkge%d;3zpT`b?6JXz>X^2svOh`=+Nx{w`4JOQ(DP+(5iFXf z4`IQRrS^!DH5lmGs}iP@5ELc(04$w3g&>h`|zKjstoFssLMlHvsNWS@(d+vMtV+w?L>p84jnHAVun`RoX>l0eIr?t0mPBTy_ z5JQRU^01~kLCdzut(*yB&_WWY*}8ZGIE!qPMcbmlYJTfT@gT1H8^M@I?VZLlFSlMC zHjR9M<-Ld2^-!us_?oQDW8Zi=ltL~r$!hh6%6qXsc)D4!Wn;8_7oH$beipCEkEWyj z79@sdFgF_J275aHo3b?x;zj2qfX1}r9oHG~vTc>{_#0eK^_vyHg9ugKbGmPKw#kON zF%HR;ZXTEA8=r&tKm+@M#wvXs_!zI1LaFwRFN03n=>muCQEIDoVYdvS*8en>NpRkx#>Vi;<5L zlAO4t zDgKzKhhPyRYj-J(4+-}UF_jdZoNN}dxAk`yD}2`mA4J~h^gfZ^i4>MTzf~&v2|6>w z-rrqWeyY3zadBd$?^U7Q(+Wu?6(LBx+XOU#dXj6)7&c1+lbS<%fnVfT*OFh>DvtWn zdBZ2Fn;=xGp`E`J>BG$*CcI4d(@&J5mh3qDMg%;d<;dmxkL=4~U^M4E8eQcWy9>%2 z_2dJV^d178IM9ZRpNbRIx{K75w5qYL(ktC~VZfc~^{m*!S)83Akk)6bv}*wn7Z_@UvFASJ!?&3awf4E}C8Ef#A9Net}<5&vw!bf|^zpEaX~!bK0+jwN2kGtd}(y ziYwMFAX?^Q+Yt8FAC+SOEQ*J{oPOlrH zIw`FN64nlfDWQ(<&FWnPd@J@N&j*^Z?SHCPqJlMAraEgk>%Mjx0TLDCNzlDWX@(fo zyv_)k9mAkA$E1TMb>0W$!kMt?Pr461Y?(MRZ>n`ncr{BWyWW!1&ZBvLPEqrF^^{!E@pFYyd)Y{#NB(*p*nv$gvpZ?x^ZB^uTcm z+FeuPu|YfUsf(#}syt`$zN825He;vS_xDtEk2i~3c}{ZuIRI1N*!hg%yh5zp+_AR%Ag4FwRz%~ZlBNbP zNmxTz&7IWuORo6sXC7O3A=%nb-ZZ+^x$x(148Neq*#NZ&U-a6b7yoz>`Ou5J*iORQ zvi&;Mj{)s-5lDI^cqxE=xNufBU)g{91(p7%{?nqMEHogT#tg&U>sF}Hexi`jp7Qgw zRQ$-VRal9bDeC1a($kbOSlQLuas7^QaH>|}rFG%?ReR}mXYcfz@}S;9;?TK=PpEBp zNfhir6{gTOB4)G5{Eo?;DmmRCr|N({$9zFQcxfyT z#0D%ny{dw*!}%X4?6D+S+KVWu%YRV41|2;sKz4V|z4*{S8A5AG&!FttE?&fEM!fUX zIL*sF?co=iJWBV6bh4wwKokLEWn-u&gHA7}HGd7aZ(j0*?uV92 z*#H%g+qs_DN{ro=+3|$w9wV9?TPoQp@kcRctNw?HbB*i(9SO{oYBNDs zY4!`dJN+kKg&!iN*Z-0enIjDN7dTSkx0d$V(B$dYQ)`0dX3o~$surF{R514zF-p*` zP3}Td_zHmTPyhA4myrol0^unM z$i6{v)dats#Y~tJoa27+@zd3uPvHJU0ROX}S9OR~_bTJ1g&wB|#}lttwf$KO@JXP4 zq4G6v6$-w=dIJP@O1&j%pr%IiMRJIP+j(uh6h6>TeA%Y#!oH|xQ7I;)a{6;d_bl9> z9Aq*lrcrAKPL>l+nw!OWr$6TK&@M3RuSm*|HhV{8X|mFv4M<8$;e9XPJfWhOFpVf0 zgw56h3a4xWee89l?u}v7cy-&8#g@BbTh2mHS84{G*4;fiI&wMX1Gd_!LJ}<2ez~YFR6d2ZBU(2Zb4j!lBn;4-O$AJl3 zpF63FO=}2Td?$-IdK)SA;#VYAW;Q@3>d~#55u2JU?lr!zg(N^E-o`I6M^-E{;S`}| z;EAqB?r^##~{!@6LEd#&up=U3Oc9{rko zicGxkNFO^VV`c;DSW7wQOd^3ht*#8J+Lj5HNU@aGP@KUucu_ia?Hb+-Ja zMu3_x{%epQv9^#)HL2FG0Mb~&xA<=YQ$eYbtG-NYZG@=&E>iDqL)Fx%5BZ^u=KajH zg6VD-C8IUa{QE#}>w649#7-bZ1=pkcGl+q*E|LMk0!Nm-HB$b~W%2X{n8$eg_f_fO zKTb{k2jSX(Z(#ZV6t?}hZ~y<}fc<6_q`R0~{{tjn*X&6m24P#o&|JS06-^-rAZ>@N*yh%t`q5;gM^`qvLc_{A0KvTJwCq z1Y}|PY(i_AwkzwBWO%OrWV;(;fwJ2N@+<#ChL|P^4oqw>$Q(anGZL zpSp;rirU(2=z$5|>F`v%Jg015BPV=YvIvQ=LIbKVE3qoO5Wd8EHZ~i2YuaJ9zn&zdJ3w z)f$;uYzxPG*#{6#Gq-#R`rN*1IXz4RdAp5ivhNJ)9%}MgVvZ}_a*T1rpsY%48v8z4 z-uG79GdOOErRj-4H}~cvHY4^E5l!r%^;Tf{?9YJhUju#t1#u67KHnF>9Sa7;uouhs zvEDlu8b7I|?>-@-T zyjv{52GI2rwxSIb^XT|06b%C;nTtoLr znfUf_;Z=yPN03T?egfL)gS6F{m)(~_({+?1Es(-F6FRmTzI{D?O;ouz1SHwcYq zhj8==jr#XwhRLZuT}PkjSD;+gwb5=heu{ZQDsTYBSJK$H6uIPaoEdCv=%>F1?1bdo zPZU8-ydw`-xnylggWq4fke1qw4SRIm#E%#>^C?#`dUG%UTS)gxAY|?6$!;sp#P>@0 zP_g<*3f7JkeOcREdFhhtwOh+I4*MuYuy~%CEO&m<8!nkH`uCBNzil?~zNo{9q=?I$YJ*lCR>>e##vdQ(MnBD~ z7yw=7214=}FNtL)<=a}&lTC9nRqee0B0^rd)$-#B_cgO#iPD22qa_`ttfE(b)2~`! z)}BqzHHFhh&OKfU5{P{UXJ?Flgr4=F`Kl|PA4YX+`d(6O*09>(ev22TVHzX#bn#V{ zkz(9K*C5HMel%V2z~T41o|L*d?@#;eAF7}eXOP9n%B=qckUkM=M2{C+uSltz0HC&& zu7_UusXpi2u8F`-3ztbSL(ie#SwdxDFXI%`BjO@%Rk)hv1bnt*m!G}ZP&h3WkGR*F zgqp6+K-rhJY;rIVY)URU!4&MUb4pkM-D{@@Hv8WPSt^vRUOE1z^I@tOaW(Z@TXa#w zGlEuiRveNw7WZFU;FWUY&4R9ZokjvgC4+Ulq2zmNPjEKy$Mh_Vc3t-3 zyW{OrY9CQK+smsPd(#X;bEGD6#%?9^cb)x)l-J5Xa+%#nCvE_?!K6i`Yfvq|~qvMG5bM7MNg)knnucw2A-dgTUksSf}4ANq#ONcT* zisC}sohlHxD(T+>))(|VSMRWvyS!f+TBTp{&C6x-APJqUXalbG&|I0f*Xcr*y^|}xAxF_0WZF@t}U+yt%2E9-4WHa?iql{U^p+#)~reF}o4`l_L%8#{R31vh7lXJF0QQKG=(eygRM;Xejg0wP0&MH z@TfArQ-Ct(5g+t;2LPF_XU>NoM^W@G!}d`#?}rpq7E?bTnX_U@2E@tKD4S zCK$4|*$omdJg+F=>7(e)y&QcpPKL3l&kY`RMFeo#wVj&s7w+hQB`AV8Y_lOU$rAf7t`cvzwEM`C3b>&%Z_0`=$i*d+ort{{uIuXN*mHVS%u)*8$njjozuqu3{CT&|y#>VW4X z93e^sRW90u-!Pm_NHQaRIapgPt@3An$GPOKH-~nIf4Y2h8BH`7AXvlY=XNu0<2J0i z`BezBww60nW$~q{+3``gcWBxQTa?Q2Wj^fXo*tw$*bC0cWeLA@WtUeO&^X(qO%=IG^7KjFRcMZ)5 zb58_AR-&5rVTASZ?_#85#|c7>@v=^|{h!$8D6in%Qg$7W)D$l-8qe+d(=<%J{rIdlRf(i|3LTT4?(_C}krvc+!sn~C{qP(9 zX#JmNia*5zFa!VO{xMHT6OXTyt6;bTpYdQmE){~Fk~)Da!=pR?g2U$JV0{neje%e_K`cL6Dl0(`%%}&?@Yjf(@8zyZ!*3Xrn2wCTAAd zG|Ja;*Vwq7Nfe5A7LV`}gm;YQdA0}fiIBAaNLgtkSyAyxPaV#$z z*(MV$o4zieH_A>>B0mPI$jbzejW6$6rVqhhB_>AQ)cm4y#Z}J)kF8VaGbq}Uyxqon zoUvuWN}Q^^{XjXXPq4P+D&0722S5K0&F|%F6&emT`|z_$5NqIGt6S`3_+*T#OtpSdp=y!o0;K|30Z&QNDO7Cg$S@6h;h0Xh|Al0c=8O z9i?hqP9_#Kh(pZ8`c3>ghg)Q;uT_MejQ=tHW$B~}oWE%pQgR-pY-KSnh6PmIllm;$C<7dz@o^H(qOgUfT9S7X;@+cbhwt`cFwTDT05jK+ACrzRXUsb+74Zp)U z6?$kTn@)awvrCzC47(4rM8~1Z8BIOO`1)|gL%8QNb9I|(Z6)8XbsjE2m`?&oAGj($8+(-?7SADmZ)vU6s+nzIIFiuKMxRg-s zW1aJcKJ=_Rd0>`u9ZEM?>-&5~rMG<}P9snq)@ikRbp1r(50I}AN_T5aRgvN%FAIkU^`==Im~5Z@0Xhl= zHdJMP>!bLy`ok_fl&+Md1hPa`4d>`I_IUtnJc@y8o$sYoYK}x~jkrOojEos{W#{+s z3rb}TqJYfzo7FN#1i2$Or}f#lr_Wua=Tt>AaJ`c(>@uj!o2QWO<5tv-EeU*v{fF8h zA8L<{%Pj2FkqWDu3h`D==!JS^7LENestNg zAcyzmd954XnzZJkNs;{-5VH=}`eCx0L0@$eo8&l6Wb_JBhDeRz8Ly?yHuRr4s;fWYa4TXq<5m7QpHjhvN&-#zSye$e&k%^qP@?bBYnEMjTn`1 zDjELCARI5D<9wJK3e+5fL7THTq2@q+%%oA*Q&YRBg1yt)Y)+NNB?=6N;IW@>Tz~m* zI*wuBf4nuzMfEAh{sDUPP1%x2s_*JkoxAy+52EILn)Fh0$llH|UuRH;n!$B9vAvi^ zvR#6D;#S3VjY}?Ev22;yY)_qS5E|`-pUa@yz7+M= zx11=JZ|lboA1Hq{^opKV@Bf8_C%9hgy~yogK$Wer&=S;qisEpX`^q>^XZD5KGSlu{ z4W&>9+p(I0ost0%q&CAb`~1F;VYA`o&$?-iTvz2r$*+2c(GCEOoLI2y-D&3`S{k(y zBS<4NTkBQ1$QVd)(;J<$0p#Grd4O(dZvoJhBQ2%dHO zbEouP=i)m(=!R5BDPhnsvVGO};F|FunKj+jHH;op@_L-v4>`$6&vH6~>?k5Ll05#3 zlAe`)?0depd_&F+yEHsE+`462m0o=}r7$#E87`8Dk&`W84-Q?2NS8r>J+3$?d*XXPCWuclTnG+$CQtjZq$Mlh))tY~|yEtc+^L14J;KCMRI`VIa&*EB^><kj5@^CN$1G5Xed}9ioFj-+FQBP6sGiLzuQ&T^k#Z&KOz3*a$JE-Ji{;X6!h?z^UKvu{-E%v zS-FNWM&@Un)FX`({4lp=;+;ub!{P__whH5)FRjFZkSr-#5Kt*AOp;fe#l*w;cX;itee{&>j24)*2X+pdU;t>Ib8o1c5;0=vl;|>i>qZ>z^jB|2q>G z2Www9V8AX~+O}MTKM1Xd;axz4Kz$^kCLlsCJlEDt3wf+$h=cz zRDrv&Fk_k0TK!tY287CR?x#LLS_;{LcAk~OI$AmEPBO!C5L_kPT;Dz4JrP|=r+!Df z)`$fV#yqx?z?t$!i@agN5L!&@!FP653CK~5qkUO!4@o2=YX)E=Vn~JytYfGB; zw`}czn10a1T731F!yq@fhH+`)dX$M-?{!j5T4BPER@7HrgifZPLtsKH4M?e_?`A&C6E zTI&5G4|gE1%miq{vh{3<*DDkmxwf}7A<4G|&6aU)RKR+9!H>p8qHtsX8mQ6u zmU#yRZk^=ZSpWGh>96myu;Ds%$Zs6?LAtQ3J6La3+p6I4?g_Igor&&Z4Ta?yp@2g$ zvfjC=6<9CtNKEgK4g`r7fAgtqWV=$!a<;pC5KGO@ho&h_HA@IIQDuwAcJ_=bS@o%F zyF5P6!u96(7S%^deA8TbXlC05sZQAx|KM-R9$RzrvMZG&VPSE=vt~noO0GDdLgFjB zFi@u%LPAZX;OazuLNnf<{dt`NGhP$$fRX%~hmOpx_ocKF-jMV+)dpIh1z-rupzXt5 z0JcDYBqSSJr7~Sw#%XRHtWoKbBIp`Zsc;m#=R?r*XM>FE(0V2w)licHJV7i<>CH>| zz4jvft~_Ave3BUk+u^|9SYDN)s@5gDW%UQNZ&}5XiLelzij%{r0#w=!-c%{A7VSm- zslLp1V`!f-5S}DQGHlz*8>MlQQM8&@QE%Y3so)cf<3RpEykk4R2IN+)gX^jRVUlTs z>oRZ{wx2y@qpFQw7trcV-AAQ$2^x0IihpU0R;+j#CZ;AE4-{to)f)@oozcxY_`$y5 z>*1d2lotx@ObP^O<$V+sS$IK_8yBNAMkr_g{b4P&#xUhpEQ#p={}JT)JB|M9=xN}r1OTqngOXFsnK>dqys?{-*633*t~i`%t@Hyc>4rhVh1nkjuJ z`my(MbNJP_m3KIJUYCD{KYmf8+11>0*)6pHDRA(NIRVX*^+IbbJ~p&)_~fO$3Eq`% zZ4LYoQhXIb!MOk$no?o{1q0XZ8;OGa6eHr?UR?EYUL;3BvW`-UJxIY>f9ctY*YRaV zw(X}G@r&Lfu~$qnot4ihct(LNfXQ)#4EkvZSm3*{-SoZnEadpzi_$eTdTY8EO*INz zO~yv9-@2e6POA+%6fVe(SWkSljl#C|c{3bYjXIQ`+$4BCDWgslJA1E?x&z2V8=54^ zdc4-Z$#$;wuBccOzL{pi;44N0U18J;81+t8M-5F$Ga0p?egrN@kn^?rqd^Yrj(dj0 z9#irv#Jh4I2A8H})=v@&r3#k65y<~QGyikF`oCGPuo^>itn&=-e%`N%LD3)aDSpUG z3{0GBDDmm?HqKx!Kj~T^-5#x)W`eDB&2@C!J0?LIjWDy!{-b%ohTSi_jF=iY9yI65R=^ zk2mAsEZ$p=(Poh~Tw0!}`xlLgnl<{YL1PLGpCA@bw}CER(NF}~k}ZN0A&IL%8!11Z zlCX=@p1G!u$15&2ZDM>Fw;qFTI_<>oCvi61Sc8_f$zbd`vq(jAVpON6K5MAr?h2%J zst+(_L}tB91tmvrfmr~>13qeIkvqzjInF`hOM<-m%DH*Qf}Yx6EtDh!_M-3Wick{> zVRtd4qAgmefft#k}M zbazO{NW;(|FoVR9-tF_8=bZbTwa&WtuHXIh{4tBQ_8KEYA9TO~A$l6$x>^A8OQ9b3neIiQpZ3r)t|R_mw_)A;!DbbYQ*h$;;R( zE~7~Hc-_?TJwSKTBk8Hm->ULXOcVSHQh)S8-RY($GtRxy$krc>AgwYxg8x!G$zcCw z?xS!B=zVV~m7}J%{S^q79W_1OIZj?&kadg=BnT~G>}gNg0hvl~WUstKoH@cc{k`Ay z=Sw3yZCiA3BDz9z!u(XL5+ECg=7+vZ4=s=l;ZV^WJoFQpAV z89%IxGS0Q<@Vxik3jgVn4UjexguMR;6djAg4gLdSO@QpynmcDynyxrfI(Q2QChLE6 z274<6%1E;!EVm}$57)FWxdD~S!Cwfo@*F(gBZG0Abf|dA67tsEq12flM!gRGNjj_j zq-_^7r?-P{WSt*VY+Cp2TxG#4zSoP5wRXvIYos$#dv)q!kLtkcV$nWMXE-tR-@_Vs z8mcRq(cm({==S^SWj?T*Ha|ie2HVU;y6Itdu9vtaauC*$rDDuDm^*)VSh2aHVmhM( z#}gHmEj^&COWT8w(58HvhwgtnMckXpVy4@y9(lo3OTK@oh+ywzn z23G_({|9D!A+fl^U#U@q%C_u}uE>P!G5N6u7<&C6(J(6V~f3+@R~hYHT=)9o2Csq~Y>?WXtFISKjqBo`zP4vgVvHj>6h0Lz`+%v*O%+^HqnJwA#;%6} z@O%9YFTN=3Z1m?`0CP)KE>RAtLp$k2oxfN|xR$nVo%yO$ptQD7)y|fT`)Nf-w*{Xz zwehILxzl+T-wT6pt&w@;^Wm!Zg{w^ZMRyTx*5ikNtdwyfZJ^cKkc z%;U)FE}U*v3bf5NroWN%XL2=FVNgxw#M;7o$Um^5$W+t~_5PJkQkpaGm%j+}FZv;V z9W>%0dv;dl$A7$dC*!Cen7+Mw$B`JDM*hp?EX#FI--m$NyGL5<3R3t7e8P5pkPg}~=;^LWnKVyn?DEO+ghTCIJ?fwVOny2kBEISW3(H~6w zLyCCoM{pYZx2`fO9b8s{$~Av;lVkPtm2TblA=#D(?^If#5x$Bkm@+X^)XZbDAZ-x}I9e#}JsW zckj9E`_jbUmG5~gr|QffiC#Z4dR}Xct=82`fG5ec!wk+s_W^j*24H99scIE3Dyl^3qdA@&xA2hrcWAI{n0h^Nsg&kn#J3zQm(9$r^@=-4e1? zbh|jbA1;)q&Uhnt+NTelZDXia)9-I79gh0$bT?KUwo<x==%cjl_ z{IBOv_cpEtid=rA*05-tdnoi4&3pi;c|cntaeUwp=$s0`P{HKy@1^Sde9*E2oVmYR z4*8#-H;0^kia_QZ^Lp^EiUMtVyO;{uNBO3vd*u07N8cXz*x@Yqo;+4NJp|~``E57N zTIK2GWL+O7Lq&D!Hw}+4Dp}EQN*_ku_Q87CmnOSaHMTqe>SR4jh>xBUVCBqrzGCEd22 zQ)r@>$xC_b{4=h zgHjFUgT=mB!Lw^zQVjc~m%GNq5)qe@2kk4RB&wJ0tH>ch3FbI+EN6e=4Cf6&>mzR2 z7JE!^0V?Rrne^qjY07*0jq92oM5>a|uaZWG=Fciv zd!#ii?ncw*>QMnFUG7}CUPc^{UA7>Z(1LyMJJye@2dVrv$h?~Iq7tRf`R}6X$c9mz_ivqXI(>S%CkY>p8ytV9?T@;n!%eshu`rSRQX;=XQqQjQ5_!-1MJqDM9WGRmIHcI>~xdq^)usp z*ijXh2pzDNX=ezXfIvX(bLMJ+i`OOE=;ZYgumXlpv`*ZG-s4MRwmb_dWsW$^9lCSq zE(|P4h!)XUs$Dh)B*`^T->FKU@N`W2GcL&!+B#R+d*Bnm<}DGzaJ`JejQg z%C7R_IL*7wHu6mC;W`k^JTi*=QvGPFCH-+Vj(Lr^k))jC@kderV{$M&o3C-UZpgFs zlHZQMDPb>{g&kD&pzVd!4z;%-ywy@7uI`vEB57i80r(^&$Y~x@B|otTuTz*=?-DB%0{3S3JT`HRj2t10j?i0j;FnYF8+i>s9T(m;d5Q)Zc0 ztFCd%wk~a?St8?AMNekoQVC0VZC#$V9V))>w^=#4>C>WxS`lu7Q0BlgyIu$;fk{1O`J}=ZV!Pg878!omKtY3WA0QkJ-bKN00_NXn7oRNYV_v`FCVAJXi&O5W8D6n(TGIe|8OV}WHLbNa57 zBf{&niI+5a97XWe^eLV6TNBEcG1zl+NlpH%Hph+CtMEU^{j_u}=-(+HlHRogt0%<@ z$}WH@%QFw@1Yi#0xp?xJkRiQ#0EyzzamsMj-~QsiX9NBJLYRG&{7;~I$?3nm+ZbH| zKzA_7`pqAZd4<9$*eDl3E&sP8KzR;GX#PKaSp=eR?^Ibqz!J%z|;Xn9mx%@#mICwaJOxJYrKGO$-?RL^BS6BJHUnF)X1p1tT#{*;TzI8CYL zrA!j=%)xj&D_YYWIot3l^&IT#3HfkA^E-6=5%&96@BPkmNe-d>+4{Vuy;I~Nf58ag z@cQ&5G^9M)W;P zIMg4*5*M(ou~_9mUeQEqO0Oo>j;ILY&iD(e8Z{@vXY<|&B_I77kUH;kgSRuG43400 z0)ZuyRTp!fv-pHDLaKH~-ZWeCyyE-$7_&+@VtC72$(2!=Ei|TtP84GxKx(=b-;VgE zoiGXCdyr;*O2vzASKe9iAnFL5fRyOTV(on7dz-=8TVq}&@LPz3dyML}fBM1hUriHM z8VVkj(Zj$KE!jRI`64Ej{*qeb&ijb2Y1_xqcL1{-ny$n;~n7r>nKZC7(x4 zik^NuNa{G6+{_U|dU|NZ&FYjj+jcW?#wL8x-Z=idQU%r&elo>a=1ZgYR&jUV4KSXG z{-%1%%KiPz@F9mB4sGXxnXnuT+Mfru+Dxr&Xt9aT&Lzq9$K(cL@0hfT12j+- z9k|i~Nqr8K@h$BAjaG8+eMU9cjxTvFP(Obz7QpJjF!spT+~ryi zI{`gqg?9OT+iqKXMc(I=AE5-AB%yK#6>~S_`97fr4KtMsr%Q{>bK5dSO5|rcBpA?)<;UZC)0WyD z4Vq=fl-2`6OLYF%*AqC;+Q}z>kl3bQ4DooUcBDBkx#wgQ@(hIWdBn=})KBahZWD_h z`RMF?86N(R0YKOhYQ8mpY_9Vkh=19*-qMebb+Xx8!efihPBuccl(QqRWPnmO1lBpDpxbZmT3=M`Z#iJ7S>q?e!W%BN8JFrm7OPjvJ#qm z1+=}pqj?pG?DKlyt{LV5e?a->s=V$}&QHJH-N$9}xW8T7PGbtzLqqhy#42+utcT#r zBu%{?naiE`6~G3Qg$@uWI40~13H!wD+I@=BB!u`fxe>pglgB_6ef*ZX*qzN?mo%(y z;=-<9zqGhmveKG4fvZmvfp~-94b*^8@-Fmeu=Md`_HV#tJ}n=cEBo4nZfFb^L)Yt{ zyf-&!WNGATV}Bk3V1Xr%kMAuHZfyf%NcmxD0?=9jy(@K5d^?-ji*>fReVn&)5osnh z4zv~$?cqDG!VXUfy(vuhj(e7c_BeWK;=UjT)($RU|KD?MqQto*irvcGDKC5Wyk!VOy z3l|+(enLsSc|Q1CMTMZ63AIq>gmSq#n}i%Mb!@y0&)SfZRdomys4Y@0>MeL%9kpC7 z0Eu>$!kr2d4|wLfo&{JerZZQsFv_*V{u09jfUcH>gXz_1T|+a=H!ujt;V?fILz3~U z8tYh7JfRQ1Xbz!6JuN(K)iLCrdO-9%jnMLWOdL06P7meX*9~$295d9BP*FeLbL9yn zVu8hxPHi)ogc0K_ctS!lhN>X}4<*7>syLe{2@fusVr**JGC}n5`h6?{(>F%v4wbFE zW!NnS*v4kP@l;<XDEP;rh44gD@86hD)5S#RZkj29O z52%^MCzr&K7pz6vCxi#%w~dc>wm1^3d8Zt`h3$+@IdOK&Gvmz=mKHnRBi&w5Ub#qJ zFn#>`>vOl#6NCQol!z^pYyo6pnYaJ?t#(hX3Fk`84+_S%6|=};T6zmr%=D=nRbL8~ zsQ@8!5m;<*eudxKAtLDh%xN?;Wv|!Wqn24u(~bNms1b6)N1r&EnmTboM5y#bk3)?S zqpGOu7tK-IbGn~Xx&FHEjnq)jrH?90&~bs1eIKez7ff(oXW+>H_6q?&?an5vMt(H; z2uwb7f&vSh&jz-l?+26}_JNej&?&D`?GfuO-iGPBnsUQy6p1{{O{XK)C*>|A%PadG zGV2|Bsf!Gn5)KfM5=b)h zrnV!CVnoLo_7{%B1?zGizI=7F>oPfHs1zJqhf%f`Pq5EI**eG1a9KFX@zqi*c&Sz~ zpLryC!VX007}0CNKl6+4j9FWwE^eQhVQnDLabPD^uC#A5;)%$_S!ugbU;HH+S$T^R z(_C}G1vm4LHFzWBObGYH9At-_a$_PtZ(wi!o{sSVGT-ug7S3`$)iG*Wb$wYhE8HRy zdU<;PIs~s$92FlE;PUN8Z>sJZ{Oqo)C7s*qc7n}n6|%ig=RN@Qi~Cw=Y=7k;{UOIW z^}MR$C*nmEuO!;T+~*sB?uFEe)qJiFb*5NV@V#9+9e?w;M*Ghk0pHR1a50&js1IB- zn@M-w{r3D*^lP5F!n%W-Oo(!Hbf@=KVP3AbOZoEiRE7|9jfNT=Mx*O*FWt=#AJFSP zR#63bZ4&*0mz>Q5*Cjwx8tTPhcN0<$)Tcs#9Z~B>e>M&(wGp}JmCbRj66VQsTO;!& zL7gHrn~tbzqrlHYn2$`AAaF(}Zx@Ff;|vfk5}yIv>`$l6B$WI!5*HE@NjWLj+Mq)&Ac2LQY4m!1RO$ksd-nqw8;Piv@Qp<#qg*h#y7(su6}N>^eWI?a zo<_pG*EeEQE_DhK3o2P9N}J|ApN{D6ew6oF) z@kDQ443@LftKJr&7`sdyf1mpn&TyW;)WO{ccU1VRP8P|t%>*bFbDL&_(VS0up1juY zysEy8Usq(Z?9-;$ZSDx$n0zP3>w8?`$>{T8EcUwVy7Prm@t%nS-M2axOvarP7@h!I zpeWms??e5Q(%_-NQ4i_yu+ye9pMYoSd=lxiHNP6(z7Bo(&HC^lMAb3=IWmv=HF)8y zdv$*pFX&#cc$ELMqK+~aZ5YT+0efZY`o*j#IHNdPDdDa-m_?3UQHfxat|K_)uck~Aa@w{?KxAJ-xkWU{Fc$vrAl5>l?^}V2mA`et% zPf78Wi@;Xw{!CM~>Xb(mI97}8MWPsCYyQRWTJ=#R+w0xREQK*Y{E1UaJ;0Up`$Con z31aQh?+}_=;@WK@aY;YqS{^zVmh4*4qh7=!NGVnZ1d^;~1(kb0SPi}ab*_0-M7Tsl zb}FI)?(G&3wg=j3=S52g8fixNO4Hf5D&@0EjD-CHwbkT8Vi@Oru5_hcA6~}Lc zmbILdH0kLU`jpt2n@VK@057VXhvoH!AbM7^?wGFOlT+o9SeBf}%#);_Pn~}Pk82u) zd&_Aq;Rjw+T-w^AqyS9UP0v@hxR>lJp}0sKZy0g`oqgT!cM-`aE3@fvRr92}z4T5O zgBJTsC!f*{?`%Q%qk7+Jjtn~KBOR}*UDY-l$F$~==W~AY+3jzoT3ei|3jKrR?c|q8 z{XiS?4~D$OgB{jR{e59sZnn`*t)?{G8247`AA*Q%uI4`1E}|dyc_l2B0xcm`=2o{9 zj5kfn3s@{&GbDkA^>w89i@O)e`)Lvsjtrv{y%*ELEv!pQlVpAb6Yx42Qu5sfX~P1% z)P;4gs-vP>te>HSq8I_HtUA$`hNQ8g8J1)|CKoErGwjux1q9PltlUKSYl(Yi4WV@k zk@8G)8S2e5d9~MsKB26`s04~MdFbmcGsB0Cyqy9zU!;_XxVvHoNqW0PK>q7md|uw z33J3}U?;r*VKx(*<32~OWN#=<9O@~va=b6?e|24b2UC)L$OSD{F7e5>X-lG6b+HP) zWmvjey9IWd4jmwFtid~~J|_nhrle=JuOkIMYft?}Nu95r6i57d_2PlWAx#NW^HzUq z+3zmQ=Z87R6rh0{oSGZ!wKkD{KdXh6h$x@9YjC4a67HG)EpIlGHC)y>*QdxJrU>ybpbj<2fo$R*wNnXvMe|4B0jWCIbnChQ`od7?Cl0m z7s&Nk40k#v?5;J{SY5Ht2wDNeFQF1wM$te}LT4&ezM%L?>V?VY4*pC=NDO3Lb+2=9 z1M0;>g-po_dsm>ApR|3o)w(z`A7|5;Jaa{=w9xb^7Y(z?HqT$7Yf)Z@cyg$+K1UR5 zx}&OMIO8LXmZTI$i?OC)raRN38D*QW)V-(<2tm-et6(@> zbt>Hl&wr>^<^#$rk&ekd4t5~V(lGaWYD4<$)X3-vOMSDKoLz1IMBSt!(OBjUtti38GZ9A}Q+#p|M;tbI>_b!8g3TSR zIoFV7FC3wS{U%W`U*^SR|2^;OpC;^IKa7CBBF%fP-N|IK&!oRUTsB};iUOf3@1ZMt zdf*lU_D*MV+CS#vKUY0D85}fF+2-)tsTAA2<3OdRtZQ+t>dk}=HZ;CZywss_>b1d? zVTIcHuq)4aK#lsmB_@1zSNAJjU4CO4iw9>*dsNiFV$0-C=Sbki(b*@#1MXjtuVKgv z=gf_FIXYPjdGNGo-)o|Waldjify~Vd^ePl>uo~&UA{d51R)LLSZGO5=R9=(s$a~dR zesW~x+9e;D7nTH;U5?u2I}D$!z1`od@BVtuD#H3E9{O@3fRiMpSgUN+tUV99Brxyt zmTsYADb|nenzTPi_@O@p10C_gG|XU9jLxd&aSG$>#+WyREL~|aSHb2#U;Otpgw zV-cNf3@{`hJ@E9RROz~BY zA~(j20W{t@5H^|8Cb=S^vf+#vp%%~Rv0%|F{$$2YNOP0q&?(E=8)h42kJp1eJi~5yXMhmZ z(C=X3>8L2XejP>Uwv^6~Z;26B_=pTAK*aI;W%Bd-8R*-#SnOCLH_R?Tdp`A#;#{?J zt5Ke@PddB@PHQEnv9Iu$Zcy?~rnOu=Zqx!G~RQo2nH z)x8)f2S)3fpnR?0o;@HWV|#iiuppBv*JztLf1;>qD{2Z{gnOK^WLacG9cRZ`Ww zTH^cuh~bgqdfxl@1`#?yD$74UVMBpnL>pu8Hqyb!>TT_p9_h7^a(vcE$+ZcbS?Ux7 zE4jl8?UbqhtgStidX|2c(24IoK2|+gWyR+Ry3rWcpv)7Y(*KzB{si_vR@{a_uPDmH zNyMUN(#1uO@p_gY+v&zfvfrO_5l&tG9|Dxba&(3|@^iRuej zrQ$v6L}e+vg)JrmmR&!N1VX)sfGqa1kxzLb5iPOQDO&mNWF^v*zN@Fc8NVtYz!ne z`;Tw*U*QLXa9Pa)^!s^;I!niDe|;fJY5W&$EXxu=7<#Ob`0Dk!fA z1Yugkv>=0nu6NBBo9Cou+|Xv=yDoOTn#;+Z53JS8?7>;f`1tN7JCmC$NO00@HX{B; zxMW|*;k-Hfpe)3YdjX%)7mEXP7*`Qo09*`@%%`b^1=CL=H5>vz=_Rqaf;hg{w8|jl zMEazk`4uL=e+zRna($9dK11d|2mMb?+yCm>{!jF5c+MZUrz~q)9ptCC>Vi^m>lF`Q ziI*Xo4wEbo<*0jz!lRalbH1&bbH2A=pWQ;c^Y<6O@oiObqia@q>?DA<7JNG(%lh;z zm%xG+W!MJUxc#uGH{-GXeXq}{wsvG${IM5>zk6nm#^JG;lUTVkXojD}+U4?HJK$cI zWnKSfjT|{_PEB+v+4t7sD&e5amC1*E!AN-TwPtt}cSnO#2VjnZ#er$k5M!xucJ z_vVs@Z88LqWx}@`-fS&ULvuqy`>{j^Cs%=AkF_7g+&ja@Ql#2JhDW;xifztKwN5jS z-X-6sKgX!z4MBOu+P*=NcBRsk$r?7)K5r1_|M4XOdvJX8z&BLDV06eWk)%_S^A>y)vq1b#Q{K8ItmYx6$~VcI@U0a>>3-gO$-lwZ_-fy zYi;@$q7D{65<-p7V3U>W!8E73APXoE6mNO|fG~3a@^q;MO9QG-`s~-j+1OX{3Fbwlc{=pw!_gnyb@|f&ZI;!P)8=cSt8bjrr79{F6!a+tZQ#T+CeUi^SqeSLwJogUv zv`3z5TK1uxSVgJ;wqD1VZr=s{OzYTzs2tr1s3-Wq;dn&*UiB(-8KmsDj0`D)z21ik zW6RGl+4Er(8>;eCL35S##%(ryIC%t2rLdnkrVvBgxiJT53zoF=OuN4CHn&%MBKV(Q z8de2X%21spHm)m_f;CO04P5nNRT%xbjZHKG}mG?%TbE0?XL}P zen2hNh9w0WC<&WBa>nnB;tIHWO=;j!NoIewL@53hXhG)@#q;QBZ_OCE(3&i-qOC5p zs|~M}5z+5^&{&xwtlyLDv4&t;b_VcvX0)n4{9%KCMywY;naVd;8U*e8vtx@g@6x4x z2{#iTcipM{rnLT90x9_ zntYdI(VWwLm6eio51+ek+S=JaRM0)!bs4>d-i3ymTI^6)!PCHViScuUOe!6lFZ4P zV6f?(b@kwZ@s)>3d~ATkcQE_|PsfzCui+~ze5yCAlAy$k;2jVUo3Of{Zsqv?yWH|} zmCADSf;GK-Z`|w-%e`q^AVk6w34^hd-B-PBMVj>`7k!rZcsn67I=D{} zu`Jv-y6dFGd*>Gy^(H$0ms3)jgT+F{gcKzB8^0IDG?jFd|U%#gucA zmYy07)nhj5NA!anneHK~Q@{v&q{phu_$TH>@$1s!o^Bo|nyIr|C-}&JFW>juaA?r& z6wT5&_B$d4<9V|5ZoZxi%!VSq-l$bA`MC1ey^UwJm$08IyGp@5I^Rg&E5=Hf7s5on z8w)EZ438P69JF{zhJU@1Z=_JLD4wzrXxHoNApJ95FG|c`7c-2c&Fp3=IrwUBHG1c6 zuyqplyH~tHUU}#=-12ksFGhzF`TO9J^;OLM=D783UmQu*i+o6mA`n!pTZ@jMf#r=t zzS*19=Tg zEUhq4%a75jS3PUZ^16u|Zj2L>W^wEFCjf1<1{MQy76L~?UZ@wbs;(hSL?OLkzM({x zRC~|-Y&9-GB>&aIkT2APXK;w(SAx`1pyICFK_+^@+K#lRtSD*<+oewFH{Wa4v*<(f zUN44shG4$>)W~Q$zEO%G9I1yLwq_yQHwj9EY-Ntpu@%WhW|phZs}>gj5*OA$ zJU;2-VGI<7Y`NcFeDoTCxx?F8b9$w}t3!X?jlhxv+d?wSE2PyQ9mkDK!$mRr(56q} z0h*QC8<(S>Nqw>{vRpjz6S@H0_Y!%yb4RQv!+A-CkBf5CER5e&J#Jx{Q23g6E8dn> zfg_ujYriu<9%V4s?)kC?nU4hW^kg>q`+ZK5S10^u?l{5XR~Mi7^J|f3wZ7?I zDG!N-5Bc&gNlz5T+vzQQYF|#|&&s|)hPAqj<+I6EGTG(IuY^K9n+uN5os)e7Ykype zl8XP>@S1(dT3`a=23&V*7{=M0^vH?|g}q^yThIh9u@gih`V30i=d#{%$;bceN2=>l z%-!X<;E0!Q@ENp{^hPn>D6|(4xY=BJ*2nVZC;jLQCwT1V@n&yacl0T8@zvBC+GQPG zFyq9Y_-^8{>^`3ShS-RYwnlPqwNKKdhI)RMm+uiZ(9ns8HuBQ=Ka%7CppFVXcK*+1 zTD6Pq{mRn|8)US%IV;u@l25p$PIpc!8dOo6(gU%A0pjT|zPa$16N-$=`YVoG$#~M8 zK>>|=R8OyoyO!;jmE|9_G-E>NCxZ9rAenI1b?c4|m)MN!`nl*optuR#{7GdcuLgdH z`?WqvYw?K%dc&lR*gCk99muZ$Z>`6vfBcTzl07c_?ac?@@%5Ikccb_(G%?21{Vt%GT$G*A796PPmbU zht0Nst_qC3__Cc)MR%Ce?|9VaP+?-CS-F%&v3;P~kZMm4wd4&OBJg(2v=&{a0pQvV z-G)YR!Mwm6-Fjn|6-_(O9->192|$LY9Nl+eN$Rl}$b9P0&KaXg+$GS5GdZ^0IDS^q z(DNQ_*vvHZy5wU^@qp(xb`n^4CPbw&fkSVoZv9#L@ zx$3CXW)Lqx0T)4T^gg}I(G6Qkc~-gnj>%$p76eLN|c~aA=YFNCg1tA9xngo9g+#mR8Yk&yu~wW9$IaZb5v^ zYA;Qi+kUf^!(@qZIU*P^%I6@KUMMlQ=+^;EaYsLk9H%#6glS4ceXLci$pYJx;NUT- za=|d8=Js#2kz2E3#xAMMCSaeBr5K74OxD$>yMSpR;$PyDm!7ZA)cHYE&iuJeOY-0^ zF;PYxpwRR-WsvW~-sr$UXW576ZBP1DrGGpTVJ_n~>e}3jQ-yhV*q~G(o4kd9;*%1B z@*KQ*bFGlJZVB7@^#`;l?E7VWxoi9dglBR*SmdH`{2G`M#sXw&;5$J1shyW!Z)|?7 z`f+RcO!aE;Z^6-liS0JZ9tMlDygjyY!#R>N9^rX6)GxQ9TK6$Ia4cHx9KzdYX)_M! zOX~|xe&@6V$F<&h?tKQTDsJiL)s>Y|r-zhJ!bd0;+ko&YrN~bhpx2M+InqJ!J`nBzJ_i(E=5tTmHeH36?zwqP|6KHmAVWVlJ zK?8f4Tg`+0mv^5rrY0?%oPhooRYN>1hX`7bwONnsJwIU+byZ(={wT(s;Sv<~9u zYZ|6|Cl_Y3V&Sv;d}?dfHbTAmM1M3*JIvhDo}QtZW%KY26A}vYnz57f8S>MueSlLRx``!8>2wG3Wsdk2^y|B z7*kW~n96CQfsQ?=xTp5H{I1?RF{I&cY?);#hqMq zwTzy%eKFN~?=<&_-^QhRRq!6^Htz%mwv8Ka5PI6VftBFQt>;T?6V(+Nq8S2kcrO6? zUn_#5n?ME9R2};mB#kE}sklt2yLC(pO|A3ygdA-CKcl_{p z+9RI)>36dMFSz?+Mr5y$Xz*ty)|TW%9mfwm)yW#I+BJ^W9wd+7abg|iIQGseY_{$y zoZ~eDcWYVWEM$}1AE2}YbMS-~$hWdvf!yTPjp!6~v%bSy=Tg{s@Ze(n2@bJ`$v|(G zgj(bDn?RYDiN_Vn%@_bM&Htv;ZkMMBAgOZtDNJeK63r-3014Lsu=JX!@-D<4Yx18( zC!lUk`adhtDvr-T1J~vM6p*4d0OR2Oh=klk)mtJJZi$OANrQ4uUP3z#7F=#|+N&#* z+y7m)_CFL&zW;wa{$FV#f&a>42feqv2VBdSpAa}W{+3~Omm0Wr|NRKn|5()ge}H2B z+wc9qEP(pLqns9j76oqDeQyTNXnarK4apVs<$e8w8`bHkBTqFK=XdFZgkklmPpAvo zxx|iMLj0#im)X^7Cq;LEy|bRD*i3q1{PV;(-s>T-H~EA%fG!V#OMQ%9x^vzIOEvta z+Z-a5!N0*#;F(1>gjyrL(khghhrYU0ylpn<$9C)qW7U|cLbk`h1_kSDo04)NT4F@b{~z|3&__py*`lxun0 z@+)2VNq@xug3&)I<376_2h{{hi@yeZv%^alKmp3^@v|FN>bS?5A8NvrFOdphX+ zFSz(YE3mv^jKA7m9R_G}kVv*FwEuSpuVMk1Y2lZ?chCzRwfV$xWbxVYgi(oEw=@6S zAgP$am<)L7rZrpZc$bNIG;*qce~SL$oafg~dApx$0$WNl`jd*sNm5)v(yZjGkZyhi zp#s^G__BZpjY+6=WSl!w#7~Nsx5`#NTvD=cHng4&xc84(MZWV0a~+Cd&9+37-@%+O zdQ6VvIh0Yt3~xV{(*b%}=TtXo-zgG6t!N989&Mbw0VC1m>x${yL0@?b&FZ-tSeIj4 zDjO6uKxgcku5(TN-aQQ_acTZsW#!B26rI27=OPBzjjDZAS-HtsYuVlF`X%0 zv+*8VlFl#H61w4AQZb0J0e#-zjJtlBd0z~3_T+vw1C0On!jcq@Bo6a#KTbbdy z-*lko!}bTHF(*pc01wc2o4T#{d7@r?NKE!lkbcvu@&rOA z;WTNC5Dy{6Qw5WA<6k=y0sQviDW+a!CYsRFK=ywP>iRmc--5achohg+;ENEjc9@i`m3AQY^H;IU2ma z2a};`g4|b=SW*vrm#s(~^Z}UMXuz~9xX91xa`7K+)1KR#jLn&v2CZvi(zhy@3{S=gt}Oj`*3GiA@oUaRtb-K=--Iz1Z~n|5Tl zE%+EqP|!C!@duRV|0*UPea`xc3d7oP8VUz9G;184DBDKkk<5vqK&HllA9HC(>BbT#T z?(65l(B1k4dl-#^HS4ba!iOVG>-~I4vLdqq`}e_^n8)Qps>PLD*$0TC5S(#9z)-8D z-NF-+27=V#a@^sx0Q}bd=K9+Ff^BFXGmkpRCajR;r+glk%ftk(80rHZ^p4W8s)u2K zf={D34@7*>SrOJMQM6xeY;Mj7J#db$=PhB^6JC0RB^HKCM7@lk?bXs{y780%L%Lm+{T}p8{KKBFQ=)e6-p-iCLkg|TWo`B2^A85QezpP`x(3sy zw=z8o8YU)ei?0?-7N8G!qR*^+%E7Bt7AtQTd!)_MerL4vKmJ4NR`a=;VHVlfCyD{;|eiIhqr{uYmfEwxn3jeg>BHS)LM2DMSmX^Bu>fpIYPr{a#ksvIVW%p694;+%n`U=QDwzhEg^;ij0?Wk>zDspNf`V`x75)!#EDR#9!M62K0OyWT0FUm-UL2A}!=% z&xz(6#}l!1icx|jZ8)|5x)p~LVsJzGnYr70Y84P2^F7VAK+4`Z;2whJ&$89}9O`Pd z*2|Lk;N^ZcjzFzk>Ed@5uePU`z%{Q zW#{rdeGZkVfc$unp~Ug?2MCMfCcOAYp;iG2^&m7oFeA5SXcc+*LK+C3Pn$aGSu{$@WM=_@ac4fe9K1_bY}z9 zQC#L%p0nA}-`T&*?iwA6G%!Y#hK?~n$z8nACeG_SQ{;Wx`xgOsZ_G?=k`HyZQ zXdRqfZR(vnc~R@Qj^^YWFy(q&Y^i;{^rl~(I@JY3`2`Po@No5d^$b>=h@t1Tob&jA zG)>9({3Mg5CfF?7_|Vn{?}JnJ#GC*FOO^$&wA1-lge7qw2fS)5^&)i;pH@h?pU$sj zlVx5MV;P?ABZ64)sqKfaFgvlCKE+GuW0zO|`Ti-5JDi)Xi|h%BBA@*4>dl;P!0i6Fw>UI&#;-B9&s|=pUO5TpdYMJ`;8Z3O z>Nq+l*5brKW)laFju=mNa-sL-ln)}^29&l~2&QJ(Y<+Brxr4g3LxH34@+fEDFGXsm z*RRhw;1=n3P|n82_?|H&^$LgSPc>fn{ZO+X?L@P!z7T4_oJ?ox@V@@qi3I<#T)G{r zZ(9Ur8^P4rO7|46rkWn1Pue@zexXu15D>70*r5zUaQPuhX(m}0eMRw0PAJND{e~+>W?^Mf02M5$zR-<@j<7i#cXY; zh{#TJyO)+?v&|-^afZTs!9#^N`dKiAj|{N6%pWLC=cEvfdwEOwIm4CU6?&9-TmEQa z$EWqWaL;*O)1T|}+B*2|F>o!C92c52mdwerMGiL17)e_!I`%z9>Q+hQ(0c46=%7%B zTD^6lIKlda%-tjftcsI;qO+Mjm-9|1@XGK!Ydz4iXRg2J$sC)xDCMS-ud^-qH6)Bq zXgIF(6v|5K^LAB9B27LZ%`fHmWtw*~MzfwI7FL*!G=?J6Km=qHh90tYA8%gqQBveJ`UfjawJ7lrk2X`mta8riP5Vt|W;r~uG?!eT3dwt)SNM$i6&H7+ z?+XC9p|&hwvH??J*mbVZ*CW%ylhx}wz(1|iRVb>kup4*>zK!b50z0@eAMjnPi^93a zJ|7?d=?LAsLwy@zfm!U$TlFJtGdLq+WOMTFzK^$lQ^?*SJFGc&h0r?c0rmHGK zU(NA*$Oyug%eVQvgt7T~ZLWdlzSKA!WDvgAag8_h2lU;dh39vyX0LcV2MY3W`bEPG z<1cuPx`?JNhhy}X&=4PJU)fI%=XBl;_7Qcs-#%=^!|W6{(xZSa{9CANtf|k8Q{<4rh|UFeEh&L<#Na1U?d@aB3i-f zN=w0gy;Jp?_xr3o(_TY!VXQw;aF5Vxq2+M#mHk0NyKNm0HAG8bpRW?0emQ!OL=SSW zSLS(dmhc|j`k!)&{|)~7PwmscG*JJypa0Fx=D92O@9{GexVe-6Qd+$fJcEj8HpA*W z+Cvt=^}LwF>jB-;!8yfcr~j-*=&HJ7*J={Et4#I93u9r9WPfEY1sVgT;(q-Z#pcT< zCKg>{eR-Gey>WypD<2K^L60!Qu5(Fq3rfAxD{=ze-JQU`MAHlHLkQJ-dGa5Ahv4-BmEb<{R( zJPHcSBYzE76eNd(PUP$MfpOPgrKHR*_vOTGa(RdAN%$ zRlnE%Q;9H}Py;j@PTq$LS4f&f)`a3{D1 zm*6hJA@8QAyI=QA|NA%dpIL9M_f{9HxFz?VI{Vyx_dVy^dw)B;kU5A!Suazk0@YBB ztf>#}>v7#ls#8Rf~Zx}9#2h-%>hZ$fpbOy0yr>p@a2Qn1Lg}eKX zPPwU4ejoC@A=aN`D04hox|HNe|9Wlx8?{bK$$F2B z)KLoW)ie6w^`e7xnj)vb*_I6+mLqwy<`&M7_21$=^0$XRJJo=l=dlz8* zsokiU06UE2t2?Nb!3cio3TWl`bK5ifevA+FOSLRcdyjAYa8EM1J2H>Ya^Q>7nb)Sa zc7bSLM%=l%SsNOSSagp2u=-R_-$If-TYjvcl=KH6`?;S+DkJO1OFd=^&y0<$K5-TQ zq=~cz;gk4XKE0D`EEl=ZanIh(J7#o8yX-xCI(a$qmpxa*^!cAnMcem{6;;k+Hdq~t zE7<)r&+m#1c+<2{n32Qk`*vNAwHq6m_AqJ%?f@Yuv>B4t8A;!tVkdit0o9o%00O>k zGx~|>s)B;q5`#S6Rat8~V=*)z*`UkRZHvQ!B-tuaqK3~@MwRWS&eI;BYcU^Cv4v#^adMSMw*>hmOvOTrZ+M#5Qzv>j< zP+UKz9lE31ny#x-K8n(WYuDfu+MiX-3JLQ)?x@+N!YI%+orqkSBWkA}OLa?WM0sQ5e z82_mRnx3r`3w|>Q#L{Fudk9p3j0r@O`$-BoMwG{6BMWYMW6A~rKjew!&>b%TCno8T zYx`h1`u+9v1yEL7^5OH?J^`}^J~v~@JLOCK*xvdClG7)Veh<_=@2S6MwE4LAlY>3$ z&5ZGOvMk#nz2nkUmE`j{|KzK1zV&mX?&cFpy6wC}x1EC*Rm}ipO%#xTnS~=QvMeLl z;Y%yo_+f8i!%^aC(Xo>8vBjcv1?+`X z&=G(5{b>!LYV(Y=gb)0|IG<`d8O{?i53<+S z{z!#TB(!|;F%nZWNr>{Zj#+pNT9Z~-n$y0v$ljhNTgFzGPS?b-U#FPgM}{yn>gKVB*c@7-rhfcyc!EG}u7@HbjFj%2|56xAy`V*53Um?5A>CJ@!P*~l^+$Z#$RKHZJ)uCsuCGCwtS|fGIC><1a^Rsal`(G!8=qnML9YCvewGT82=0@DnUdH>;&* z^Aa;Gn5V#>KEQZ$Xw#ojR^|;i81cYC@SR*`E_6G-_?EoBUof{`ptNl&4(M-K^!ilC zRX`!%G4}T#3)PcOvn%t+Yq?_8QoH-c?*jOk@!PHt!{Ljr++hdzJ@(%O@*S#pL3oPu zr>j4AoxM2)xb(b~4}X@T091rd_^a046{=T9ezs}_EQOdcGL;i`Me8xs^Xh9a;~(YC z#ma+vMA%$pWns}yMCZypYo)(FB6ihUA%LF8Mzxa($cND(9wt*f6w5wOio*@^U>?!H= z3sk)o%Zq$eE~O#G>Ew$g4_-2TJ&$>?_kPI;@oAJv&bHFVfbmCMc;cY$L=dMxN9su1 z5?{P@g%YL)hB|iw8PSK;XfM&~r)JX~ZZJVj%+J&kEDpsOv((4VVf17}9&%yE!qs(p z4f{MC-vs%*{JRRvlt$hA=$LzWPPPpZh(syNHx>pP576g)I3g|T&!bl;-6QeT_D*6_Ok>~Tg0o_kDBU4&PO|NK19bV#4GlK$8k*IQCwL)n@C*@VH~qpvGb zfJdA@&A?-6foSuVVrcgyT@c6%#%dnamzm1=F?1)-r{n8Hd5ORF;r$?w`g&8z>3N)C zMqJwal#BwH!6#*^WqcK*q&nv_%b~F1`hev7U819uJ%go^L)h9@2m5XM#%aEvDigMK zROYL_bQ>yON&U!>!(Efc5-nfBqqDX*zPVI}77aR5&m=`xVKnncon>oaSDY_pPqXJ0 zsS}-=jFP2prU~8YB=qz1(_;vI3KKLskI)o78la>xu33h8x@!5pq69c}1FG8?a1?y2 z2lGYxx4yWzxk)Fe*SJgYn)06J*yPQ;-7o!A6)xrVZAm3S5H{!@pwUS$5~3TiU{o;z z(Hu*i>LK{#_TUMPKAzg6M@;HS3d9pXY@Rfm{Z^eGGg3QQpps)OwyzD-xLeiZz4JmCX;yPe11PI}ESZ zDii+#S@lMe0hAoB*AJdbu%o2Svtg+_l6T5-4Iv7JP#{qrB2|Qb@iyvt(ndi2Q>=ai z{lgbk(Xgdx0r&HdAw^qOPQzRA0m}h1=w;q2t=nyJP!4qjQgrW)u$|)x;+~`Y7x4+HEBJ%kT~l+)jub$wtCU`c2;YMH@w@k8BvK zfexPQ?WUE{O{a6LoviBtml$0oU@aRjuMY0S{!;4I_1=tLmTgpIv=F#Ijg<;mCVZa} zystaRG?`|bwLTprlaRtw-bUKT{aGc#C?y7jQ6v(&7- z+K$iW{xexRmt{FRfXv3R=>+W=s;JEJynEq$IgYcrqChLroW9`A8Zc+{5JpQWHigQv zoDZ;%t#^K0>VCyI^^LXGDnT53@9;d>H1DiE7Jtfo^VHSs@yLSakB%zrX4wKpmjvt; z9dA)y4%LYDwyH!Sd(qgn`HLKfM5!a2GkqDND(=j~rMW|?rIWz-1_VG59WLl3b%htm zBiRJPd|piKa2O&XGv+5V0SkePFH0yUDSJvYpT#~+{#Kgef=MA2M(^EMDs^zT6zk_8 z$&|lt$m6f$Odr9TyrpYlc!K!ho*?Z6FIzx7T#$K$=w>187H72a1r%lat*}Eq+F2!Es;5}K|_qg7)tgO&6R!ymv9`H?^o0^O^`EJip*D!wa)mScU`LNWg97JV> z9cQg@eAg|py2=jY>$#Q3@>k#Gt9IY29HtSzff*WgCfvt_m}vpCmtJM+CH$SOg7{Mo0BA-rWIBrAX_kMvEfR*(M%KVAm zLDorq>QG znWejVo$?CLUXTu!qa7`3?kyi@@7Uhicil%Zdb?-Jrab2V7KjMzF3?R);*O~d3Ya^GoG-BC<~2BrCklJ|xM z(<0YdJ}0vj3*@$d!y;riJyD|2nO8hJ@cK-CM)gRz30KYsx(v(6cJ$p0KE)*3)U^*c zIlvArK}d^bcNH7YJo<7s>HCX$cq}DTuyiKE=3D~BkAMD{m#}l(gNS&L^*sd>ZH}}p6HaWb-uDIx<9k7{5zmvjXd^(k_W}%kzv@nAF znI}fDnV;9e=lL_$n&jnMb!ly$>>n`7wyuX)pHvSzB^^(Sq#0KD?`afOhf9OA%-9Q@ zK(KAQGf3~(w9KW!iw=16>{9eXD#brzOB*(8JI%rIdXQMfUp9~IFh zh{@G5wX$xmtAESFwsKz9ykPN`HQj@X5=ZEZrEG~jD{jcLi7e;W1HwF~Q)B;Z%@CX7 z?jwe@fFT1Q!W1<};IFwTmCjTZ;_-qQ&)r}eH}e~A?*z}@iFt@uvcZ|0T^(w~nDfQp z{PPd&b@kdj#!o?hS~tkxJBcIy?6 zh#Z=+J@pSskJXN5TNTJN{I}l?gL_ICLKC6G-om-Jv^8H{{9LX!cJ!55zKK)GCVk(! zr5i_H6^VfF&O%zG(`KQQ7&r9m7*v$MK>Fu<;xgOe2k;2~M!F3Sl|zb9RBoJ!2LCkg zbJ9mj&T0EB3c8G#jBelE%b9f6=8{@tt-;VX&wTfnrwu&YvRv~}(9BqfY zpQwu;@9ljio01fhP{Z3!1=bTf*s$?-hCW9I@ll?%C+07|OyTIIAW z33H|Z@wOQW^hQmjhUNZ(BhEbgkan%h&I13Mj8kn?A|0kYycnZOj=DMSTIt+BU&=c? zQdqo`W!7`9y)m4@kG=uOV%Qo_=gV}2!ivE7-pQ**tFEqwyUpuEgs*C2?_8@zc2ej- z+LmsNhnJ*Y_$;G~&kUvgyyh+&BNU#=_EQAx@DO&o|HD!Cv0KuOqC0sW&o@~SYmnVO zB7qvI;L=3>gOlNn>H&X+644nb4grt19Oo~PWkn-i)qZHIHpBeKUmz6`kIT)jaFoy{ zl>av9cPUQDr#_E^N#zueuR5Ti%(*sZEb|X1y{S75QcEACMaaK-o?S+dn5fxU_{e<> zlTll=5(zyBT3>n*zDr7U?LFxtPkGt&_T($&n}U@5dgofGQ@(oIB^K?iH~H%H_+XSY zY{mVc`jWHI%|2c6=AP}j$e>3?kNonPlLB}dip^mZ6$M%;Z;U{!-_#& z4eER!%7%J98CA!E9#4+>LaWvi3*?@vAB?a|b=Rl1>5PWK?zO7YB?kYLljE2#7wNa^ z@HLN-=FS(*dp>dbdW5Hsu81bdKzcQHDat_mrv5X0s1p7Q1ke5jS}u+{B zXpHo6i0hYl;aUpfj7ra4Im{x`F5?{*o}38e^&Z%CE_2kGg+TUDaeOP4;u6?-zFMCG z2vZ7X&1OlMgYl{)(>&?d^W1JRhB-!%(7pY!(!9?mUw;nCXr~=y9*{Q!p>qtn2b0$< z^Q>?hlWhu89Eq z#7^ILfizWCH%XYq>hY%Vk_lGPYbiKo{FOfNgpq%&L2A8gmc^` zjhp*q!IqM zm_?yolQO^ENx)VQse}oV(par7y2Q6!KfnMYKx8Sm zMeD?ZOxJmi`ajQhVcr!ymH<3Wa3DbFp=A_V(9~jl8ud{umbcE}((L=Xf(Q>7ls^@U zm5t5A68(`i+hew?6dMKdNZsAGqh}fwDe8J};hx=jlGy%4%gQo9j3gKEbDQjCsK&~2 ziy|2Ig~5c}3IL+jCNg~WO-3;Wh>fj8uzx+I9zQ9Ds0+gh`-9zlJU`UbJXv>e$*dzf z`>=)6|CH$3 zmm@`p=xiqR8trnlfo*w8+Pom3ZboyAmuY9x#R1=!u0VQXwWp(`;3fn(yhoPYu42yH zZrgk&LAlTr%+)W|MVnA#z-Ti?I+F+Wez|4#5IM=~5#V86T{Xs5Ni0&rX06xfZfa+sM!E+_FYUlW1lQbX*rcZS=cLdq($ktTX7?0iW;(nDr z=myjxD8*PZ4E0xEaj!=D8LDJ|Wb!^Gqmi^i`FenS;32}iLI#K67}iFlQMyR79@~fK z4)kGp6{9@JvKV!Ocj%Nek9g!+e_Uj&Wgi$$>b7Ty21w3-YrX7CpM0{NKo&5I5wGun zKoy*iRQrbJYEW;i;#bY2K75jf{ta7p46U-nTWjrXnLcD0B9#>Eu$)YT+7~1~Dr;h$ zV2A?3>cW3Vy}9iQ!dE_&&OpZYg^RV_V7Y^Z*+06I_p+7gd#C13$k)v1C&BIT$ot0Q zF_|9D`F2$aDn};lBQ|c)P1-jPFs5Jwe0ecMvD&`@jZ_SwdRi=WEp?HNpKF1<2l#dC z?GQ~boiU4W`G_H97ve;VM3~c5*C!n<@F*DoFO&8x$KuYJKn3c$qu9SBE5wS#h3R9I zj;Nr?C;-kI!9(NouC_Y!uoDisX~_$mmm&K=l%q0uA;)XJ+(VTR_?@CMa4iZC_U4tUTg@J`poCK9K#+{8=IC#9 zaT1J@Pd**y(JtHpb?A<*O!Bck+#LNrttj8${>CP80jK$TaLJ@8ERbEj)P7y1;h?eH zqDTchE&Be(3VmKpbLnM}G)#4fqv;$`)&Vb_HPOuPz<~6-$9F%i>6tDOEnDPvpWhB& z<~&$Be^c1)xI7C9oOSOMFg)!m&^QbS7WU4=`D3je4rI#CYdaTym%6_|r*fYoi7^R*O|*To2tY~VuR?Tb$h-Q|s&S-4tzD4Pm|7Jo$;Ej;r+ z+)Mcvs4)+~EY_u&md#0Efij2pGktmFDur9)0vAR7XKi2ko(%+)Yfd)uZe~!_`tdqH z9^2(VO%7wa=l*dN77{YJ3O-lQS(rL^+J83w+}ne|@^Ife`u3ZF{=f8ng3e{81rt8zjU!dmArt><`rE$bX!4><$t)Dr3(S70Cl;OMR zFVOMy)h`f6J}_U{z}U3sUd!D12*20`Xq1CT;fL<H!c1ZeLO?z{Sc4)|R{-t{V zx)A^8%u>VEGSPL6EE-TwsTjUdcU1PbCdebb2>OL>FEv}Eg4&gEyH=gnldT4r18@2M zp{@E%6AAIlQ?3b<(4&=7n+5*6rY%Re#-e|Kle z&t|nFCgX|;!bkff;dqt(NB_<`#QvRNXeTKV%rjAT;3D))bK!qJPQ03GE3uyKdb6%C z1rq=8cU7?wfAGsu6BB1x_(NSxN=bZKyRzSlRDc`fA9mu8k22@pB&AIOgq>r-HgW8P=MD(_)1z9{=!#s3FW0r3I9Kh`DnK78Fm zBW+U!f-ov7+7R#`O;QrV?mCWI3*^EQrnG|-fhdeW=yTfB4)ml5;b?V^yIJ@d`G2T0 zY;+C88m#3V)asmfRP;c#7#JL1x!cHMVp;9>sd|MTuz{=d{J;NG1x1OlsI}aU$VyAk zp%OVZ|GPQV-`_lkut&y?+^<;cV0ow@6M>%heKfHv6OFEaf5H9NXJJp#qd=e&vU`;G z`Ds#haeucj%N-Ue=|e0mm$p7%#*AyF;oO?iy4;<_6-$Vv8( zN0kd?7DRacpE51XVGqbkv~%s%Es5nZGx8f9{$MbQXQ!sk9Io_`LOT-X0vOM)UNpM= z^F#FXv=s|+bAmw4WT<2CKR-P+R0DT>UnKw0#8^=Z;{77oF6%AZyAYPopuw0FnJxQ2 znkx&Dz0l^2mTndeZyt~l`a{kC^|URb=33Mv%tUaxoWmr z$@B|kp@BeXz#r(>3`hxd z_s$*cJ6LzIv9WP*?&9K;5#ZzD;Zu>25|PnSGtkpf)6z1s@^LUS^RUp;J`m&Nc_<(( zEX=?mAtNp*%_k%*_`4A_92^{cJbX$50!l$9S|-8&^5a)Ci1;pu4Q&nsjTwYajD|ss z_NyJl0Q3_J?N1MY-sw*dG;|D1tUK6uad7c~9Z>f`=x7)i=$IH-SeTf=-T}b(AWUK` z5+(tKJEYnc*vu|ug2C~h?y@MBw~*@$AFv8py1v4}y-z_&Ma{;}@qm*{SVUAzTtZUm zk+O=an)+kiXL|YuhDOF#);2F}?V$EqrnauNt-YhOtGlOnWOQtNVsh&H^wRRmkJYvHjm@pYqvMmGr)TFE zm%rsg17ZA|Sit{(C>Jpx7dj>;1}64zxzNzPfF}kqCKi*x9TEj?Yzr4sX2IaQWQy^h z%3A=Zug(FvrRy;6eOBQmw!`0|{YkR_oM5m1e@XUN!Tz^g(;$2dG~nc65QF4Ehtm&A z8#Z2=opUSK9`Ep|r@ALE`xnI}KP^5gvbr|?a>rHq+4EIDxbf6mP37XBzd+n+H>ICo z&Y&1m`p(T@j{cN2eE9xbvcPwJGc$g99Rz6D?ihS>Pi&>B`U+_ynUDHWTmbkAN{Tj-ggTc?_aR))EZ_$jba+GlvM`883??@?7{Rix^x<*hY^3K0%3o@XRRF(43$ z=5wW`UCTW=$v%y*_0_DeGw`5P4A@lIj*{E7L_N=QUvOJc-5SH3*+QWT9-KgVB3< zHkGa=j{pH8KZ}6kU+-lp>LS4jN7H))7tHC7YY^2Jc5`)v&+hcBaH$pXNwfGk(``Wd zI7>^cj`7mz5Hi+-{l&-|DK9$V+nyP$$DFER}*{AEq!@ zm^|+=y7Lf~a?!}38=b5a&d$vk8v8UpR(ESUi@Bqwr)<^b7UedPDfsoZ^{{F9TX#R7 zK$bb^#9^1CJ+9E*IIirwNgsmlV7vV+;dld+%t5@WL5{+N0;+kjB%U#o>4Sx zi_o_$qwDcua<~oiWMj-@{JT!9)zvZ07%pzC;k{2)o<*T+?L7o>WV|bA^^KgHYI8U} z6EOSa&1dP#%+=(d&`dtF!1#1U%D$;=6EA~iwl%x1KAmr5q4|X&2l8u;qqY_4Oy^b5 z(O}PeWf`C5<)Z#2?r!}}+3^==RdE-S_tkdSI%_b0fe1(BB^U)d2no=OC~o|ta33I| zX%uhg!n_fDL-y*&$}d)&GiuhYY_Y=6{9?i*LX_w;$)fRlxL)%_QDV#Y#c$nZjJ4{3 zZsC-6!j9dOIR$N6g0WNw!Kl})XG({LL#sJ}zro5BHMfk4wJk7!O z#YUW@aG&kp~q4z@yC@%%R@KZquh z(sx8y$1m?`o0diMENEmvXfy)Y>0~LFKIZ!{Y~~Lz2$NI9u}Xv=WW$>+q6>cTV;=RwMyiH3W9ld%G{*O z3l|45+!I?W|3U$n(%3SNe42>cvVZ<%2r>7Mi zjJ;-^s~YICDtbCT8w&I&vA3U67uvmsW|eI5i`XY(dT?6{F!n-*bgSMb_V2r<2x~)J zygh8o>+3^|M)Ncb8+zo8#-a`=cqwV#F5(|6YVL@!Rtr2p)PwQCF61A<0X8qrnhv+g z`@TR`Uec`UkdZd?sJMW`TfKInJ{}$-fcfxZu&ogzR8Z;keZUs({GKD@!&)Y5J?Spf zY)f`Eq}6NtGwN-^jO9#ZB~Z+inM9~bd_ZC|>Iz7&Q~9V>RaH;g;$iDnqw0d@nD=h6 z2p2)#!4k6Iu{VpULv3YHCbRMQDI6Xb_K(`mD(q}hZq3!zxl%c+5e`0p8 zyms6PDFv_k`V(p1&@h{g^}bNCrW<=Nq+Vh-LXY>(=q9}RY3e)O{mV2x^3ikQlFO(n ziu)54&CgT1lc&X=w-7#TccPP`?j1Is)>tT?R|%sjd1T$yPfFUxxjSgC{p^!xf*;_s zCCBa;!_I5c6^*F6^zSLA6Hg-bnb$I0a!a$73DrPsQcx3?x#XKlgM~5g*nLQn03E1d zH{~g43eTEt3<800_Y9s^Y^J^sJ@Lc&X~&a?%&>Zx%xRe9noB;NOOLh~Z}OE~JL&B^ zXWN-u%ALgt-T3VZL5Wve9t~j+3Gn^e)wjD6`wkEL*9i?+Mh{o7(0@`SBCk6+>Yj_dmJt zo)`!MS%}djLUCDjMYG^4foDI@Pd@f5Ug;vohbNZ44bKP*`m}ubQEcr1BJsiZHIP&0 z5FO9_nHN@+yO**s=lx!F+`XO`{c;fzG1XSJ%Hl9%%KYUbOmI6SWU`DN)zb#IwF|=@ z5#An&Qk|yTLvzWfA$ibsjmcpAEj#^jOwO8xR_dz?$#e!?z~$SZU?ZG7ZPXM)e0N5u z9amOua9|+=W)3iF#OK@3(;}}d{CN4eLqrymXUx=}9TZ2;C@@+FXLysZpXd|fEDT_#4Q6~v+BHDgNTcetB0zt+81`; z+r>H3Y~kVqu(#Q1*?BdI<(rc1wM+eCI>UR<8_SWE)xnPrWz(!{p|!J5J`!R}^j2d8 zp+w?w0ajNCZr&{ zW?eexZ++ZgqT3o9*RPY_mEt`jd+BnmMBc4|pZwkte@jO#6IQgNP-yR0-xs<0x>}Hm z6_?ZngB2|}(;NZAaaG}TW;lm`D_~vf1^Ca_3L^J+QDAcO`R{#eGrfyByWE-Y2w!7N zmvg~j?~ye|D~2hP;w0@A{L3YG<=!BO&eh7)fU11?@WoQVAr?KHGuFXDmLMXWJjw(V zud@=Zwj~Fgr*Yi~+VvNmvr5ENRF^M4n{M5YUM!Xo;2`oKIH?c}eJ)B4qK#i*FmBFH z%m0DcXk2&UvOjBr+=lynJ`Z_3Zae9qd=NH&0_njTRk;%DjKKYZ;YlPNJf`a)t&qEU zFlCp&(PvjR`Eb@OR}(4R?3xwSVF02H0!zD>-j68It6G4c%dKCK6e@GWP35|`n~?5b zxm!=GJgfWs{O%XNPr!_x5JZnZN`4w36el4g&~G%}ptLq`ZclAinXmYsYxhTE>iu;> zS-ZYBY8(kdO&Ph9#L67nDCcb$flh?iZFTJ@=MqzhF`nIWxj>MLb@?mR^_wcig)(yI zwqq!@PXJikHe-1%7*#HB@GbDu+|>idml7N^rEKIWMZ=IS1i~93g0KSU>D@CVOpttH zSQf2shK@j8{k#3o4mnXDO&S`IO|Q1Ni+&{eqv9Wa>Nm`lDdXj-sHb2@c| z5oJ2lwjB`W;^t2BbMneMJs;guPR@gQKKt^@I<9aZ8FIs2emgwGTjsCspIVgiQv*6N zFB06@`U@mF$?DP5+^LG0AYN+e=y~LA#u2WCyY=kdC}Ozj&Ru|ka>7O@ldIykv_zxe z+ukn_!pU=gnX=3QS>%Y~6>VJ`m}7MRI{LbVN_IQvP1@pmzRKOR&(nk`E8)86f;Ud@ zW=u@j*3+1IsP+8Q9?&}Lv}JX;3hSPZtgTU$$MW<4ys?MT#Gb23KdUsmm~nRM`oMgV z#x44=aq*?>tMp|A*XW}|-o132m!mBhp$4uv189u#oeJI8+>#@wd#%ory<0HoO9OvF zG6(t`<}3~l4us9rxSf-C(^J&Aw5FSnE&oT15({&v$+8IcE3_>Fi?QV6ugFbdOTlhe z%=nVX^I~+OWp0gI67KzrrN1chxM=Q-HS6*_10}GkqbL#n)@kClz6&@oZbv1??Mu!c z)0?Q6jFivO0d^UiJ&&;PSpOZrfD5FXj)#$G11B!8`>MLn&VzfXQM|7N=$Myat zY?@|g+ind_hd_NHw!QSzK`y+0*$DwxE7$Tq3MoUhdhGZ(A}8b=f4lFCFn3dFlbg?X z*-|0JAF`ikb%)+*ZWaL1rUhq=w+`#=<^lH&NcCm>4vUldHjM7I*ritVQe-iAfU>i* z@exhvcf1mZLNKTzBx9Y0Hp(^?ReT-?hIHZ zL_VvnF8GORVost249ukKO@6tX4R#`#K2HjVkYO7)d_n8=EefXKNIkdKG@hYuj8Dmv zjrC;rcJxG#*0xDnUxb`u3+l+@3@+AK1``92iv8q7a#@n)E-6+s3obf0iOcLMZK^rt zpiRIsH$t)VmZq@OnunZ3*_x8U&o%ghbmR+HNBT~cU<#8ORm5)l>E^?(;TEd1&vg~C z7UGRgu3tUguRj5BoWMzqQPd3ETh&aDMv1n5SxNZk&T(2ozXTYysqc}U8T+5L*Kzzy zz+HKTGx8MWomA6D%Rfc~2&*9d+(x$@^>t$-Jv+}ed=|ZPUszCe+w~Sjrqr1OA*w+KM{A8QO z;?)#)%fUGccB4IxYq`1{;?_1&@1VYcuc(#O)_s?T|W2bLz)K=M&3%oj>k<87z$Ec3SD6_D`MlonFX#b2z@|5f z_angBXoov{dufK3apP;pCvdBKmdE1{gp=aNdHn)&2y8P z&cRm?te7U33o%!Yww^pY>MyJkz(plj)Q`1vTmw`9A_J1Y&=mZi-opPe z2q^eJ3<3%~{NE^`h`0ps=0Al33W^H+--ZIh(6Ii60{#iz{J$RsJcw#z)Lv~W*w%OC zS+9=)GpUfSy|BIeS!OB@%dmVTzh>MLnKDjR=gjO*rQ=&PKy%P<0`1jgt!CGaa`q}u z|9z-x@@*!+qs@kkr89Z%9H!qh-~u3Dn2 zQ9vUBG9|Gx`{}QT8&d~tHpC36_+O9-vLAM{u%xZzv7w^pW}SKD@5U|VCMZWMob=rj z+Erz(`r_7A3+aP{Ct`VTu4Ma7Ds+UomUj3 z?-i?LFKKjkgwN|a#1I|g#tPc&MTy|cd#m_zY1!6$3A;l=(6VJ@#^azLJMvkT8t?92dz7G7$A>*6KbVUZn3T~eL z)y~5w37pQFy=vIoIwp3;h!S0OVXQ}T+XnqQ-9k}G*o=NFbeB)TsBrfe7r?I#{~l~e zH9dVYFMH=IALDU86f?NY0w(fEDwYS{rd?680O2~cG@l3ds_jV9bvgYR%S_*K;Ns7@_CZKh%Ok|Jm8E&V(PCiag zP+M_#ZYz=zl#IxG)6`(sZay!<=j&Q}cFiL~;B;lU<(N9H>Di_Yn=#y-m?PVJ=QK;| zH1btdW|02pJ97RL8ko0jC`WZtUl&g?{lQcldOJpx)kMW1#aT3EQG+4 zjkL#x&vu9FInaYBU_`V>I`tkL_nuWPgwzgwH_kkNw9gyekDi=+cGnNJxR4zxGc9%O+yAXF3tpR?eA4kN0E<5V1r)i zRfg=i^t;b<-t0v$Z6j~SgdpM?dRK9~{&cxVZj)=QSC?+yzZJ>c@Yr3=y>{`H;UbUY z+VfVm5ZW)8_wI6BHUAXpH%?1e(~_ZS%F(~AyH$NgZ2$&XT3EOu{;EV-uOzvi0Gglz z3{=+LjUs_RiyFj|oeQYEuqFRKH7Mq<``e-a+wRIBBlrb6K;>^P2;bm*_8FiQ=_X;g zya0H46dvdOTiWiE(@M4mG5ik^maU@QKcZ|eBEqVMnZFLZpNEb&sLUHZnRf_&9D;m> zt-s-GJ%P;1-??rQxg?fwoyr$BmG6^=+g>2LNlCWQt!)$2tYW@$iH-7;97!pm38|qe zD^iNf++}$sv+br=UmY*9MBeVW4#v?em3=9c<~t5``p$Ra!^_7=s{Eq(y#-Pfvg*_( z(Ivh;jdU+6fSq1LfKhlb_7MWt2mcf-D9@O&NbKcWN6Sf}bK7{FfUP}IVlUeC0$JIg z`sf=XC1LR~d&_nUqh*P`i?Ik2KYm8R|LES~%mBS$L5?jezqFNHlAKPp+?1~`4#H@+ zJ;O5Zn}Z63C201RoDWCEoT+H8YfZO$=qFyDN(9-(sBiJNHy!Y=$T*iSW3?05rlpZS z>rqMsPqZLcGB#z8_+UYq{YIV-Gagvz6pe>V}2MP6wy%K@{gj%(Q7wfBaxwb7giGBSwI9_({u9xPr2r&`Z!6 zt+_D zaSxm0uvkAD;N=t8deyUQ_4>03&(e!1t6(H;6%i#@V9jTtC*f_PUvQq){I*=P!NCBe zWGt@8*~Fi*F_`L@w|;A5GqO*;27_}r!~w$0x9G{1XkoASi$ldaPo)&@07+NFp*BpN zLUG?)7?dEX(d`t7qG<&ePy!HG_#$4hoBW}Hi+DGObVlcUt@>(I<1oUyHr(TL??^8z z7Fi7|-(EQVto69xT{qVStxGTX>Wv+^DwB8j#(0f2Rc7Zg)k?HMVC$2fBe5K}qs&sS z&Z6v(44gR$%wd@EXC|Ex7urRP1eu2fHgByB=h@=hofK>c+N|yMX!8JNRU^WS(M|dW8iCV1r$RO9`!mc%G3zgiDvRwbe_OgyyF!* zum`~L`Zo-;f4$RAqG8t#Y zdj5`QvZB2Bjt`=rqqTyq5y6gdCP7j=Bz6$jYV$Y;JwsYl6A~TbyXiu!@88l52Iq`1GI_B3SkVK>rD#t*(EF#b{Bx(BUSffa>Xr5 z!k%-4DMm$6flG~*Hp0=`ejNF`HU?kQbubX1QNgJYy}Pk58JG&^)H+`5oeJ>*^}I8eopULZqKulHSc;{HwGYp!_5(hf;(MNM|) z2%PK;oTXHAR&^=|?#p}4#23#hH-wre1wMW>$oQ_&gDb&9MoXGzwLmq9;&QiR z-{BPzM(`xLCqLE}sp*Bf%L@w_xGHZr{x$d>BMFYlE1_;iE9@CgMR1m6yeYhFGi{Z8 zWXtUC*vX7hJ``aqKv}JdAtcKxuF|4C7G+gd&74(pfS4sVbF8n(SnCm+Gj89pe&aRp zjN5U;v%G^aEqR07P$nfr*@-*S8AnO@{KIa#9C*T`-@)@x)pt=`&KC@{9@0}2@nXn3GVJL8<*hj z?(P;`Pp@ z)|(~KcwGxQ1)BL+vw8O(xd7*wnFxbV__Gt2Y^b;^9?MEZ&T6)G^Bs zG2@t2d596v@6uwRg%PxcQ$Ke|I%#VZon-oT>2{Yk2(;a%qFic?kY9z&$6|Pocp~)e zA~eF9wSjE1R`uLH@3dvfap%BHj#MJV34Ltr=f_$unK7-u{*v&f%R;XF0}xB|JKh7m zz%j&YTFe|yE^nM`X$_tRV*5#`A3y=YL#T4~gt}DlgnaRb*96!2SD*ra7gc{%u8z;sr z%)Tk*)u)*pO^j*&=Gc5NkDHoX2P}IdZ~aRep&l>KgL*w?aZ1b9LB|GH9Jd(LdL0{n z0K2p=+Z3iAu*caRGZpaa$sfRd*e1P+Ej`XKZjPKwEw`|Gx77aibrfR-+gF>% z0hM!%vm?!nyHEM!v7F_IeK!8-i_NRl%=+*5OMr9zB=Zqws=s)-`)gi*i$`z)9>&H? zKe^E*K?#OsqS7J}w|UCD-UivXB1rhuxUfO}mW9&wb*a%hzPNz>=UKvy?VSiLpUKll zgcWH&T<7)#`_d#(=RYe~s~KMg-T9v{rMOrjN3y36i90isE_@8%!Dz(Z*>CVn*()k> zPi}brYv!f$&m!g}-n^LGELr}NVO6-^Er=UHl)FLP7DgaeOIdx=2f0xT>?hk$VJ0jW z5D;v9saT(@qCdjZU((TP6}nZ?>xEsn#EfRw4a`P-#StFW zc%5qkvfW($?%~h?&Ny|N_=5PnF9E4VAK!|SL*cxY6SQ(n(}hedPT78)?#o4=QK3yh zuhu1xLD?Z4Zge|UtnbidH3eU(J?THmQfYBgeTn_`JcM=)^m$vU#_vC%f?kcAWmoTj zRJd2Eo#x28HA1$!q*hkK8XHlLEOH)CXL4WcVS@*37r?>~ec(1yALN!VX7cU(BoECX zmxmbq{XiB9>we+3p6C0;htn+C_{wzc@q>m(HMvJOP6icrL6@%}udE*L1SHftUD%1;DhRsO)E?5u!k_(?( zd^@sn+p<^g-PC;q&SdnB)eR@wce@Bk0$vz7nnei?ctpr%%TLQ#XcPEtR7|k~+K|nH z{Mq|Z0VUFkpQeCso$b%p?*Gn*5fSY{%(=BfCLYo9|8Ut$*x5P*a9t;I9$uhOg`8Ev#Mt8N2RnCi9X6nVo1dG7lbf86 zi$jl`Rq3napUB=n9sWQ?6%!{r7e^x#CvpJ(E9vemt?K;M+2qd?X;pSka^L`}iHHDr zU*ISHES6GZ=OPD=zrHP{#s@%z|E}>*Krc{9R)L3)960`}1f1}b1IOPdylmva@y`=> z^1txMz@5kfB2VPN@z>S<{KbF3gp~luFc1>>8?5}-^ZgB0{wD%i${M)ie`1jT1|GAs z@pJrZAi+ItRCBdtTMDI}b%$iHd4fMT^C2kzOaIu^FMVsGgEv1{gM)4Omw&YTayM+d z3mLf?snAgj@`p27<$)flJ2J!wJYHhjVR9c|h7WIkQuAmlxW@Rr*gu|n-Gn~-$2u#m zNxjqXIK_$aUh(B!(!9Atnicf;gXw%ch$h$9gK@rL{;;DmQ;{{%N(nup*;lBo^#w=9 z=h3Rw+urmZxfj}WH+>~y=4SXXl6~UY{pDHDPq>XtKQ-gbgJb<%T`24Dx^J*aNu-PZ zdl`G4OzZRY7~Jej@mk{R8^)bYD8`OBW~x3Y?nvL-?H$O68p03gqgHnzr@iB$#UIVO z`LbPuY`7fWzRiqt*gtQO43UN3sE_ov$qKoxN7OE#BrC zI0MpYNWOx<$XYjZ4DN+u7QCRp_S7jhJFPV+D+;R!hsp|1%IBwHlp(Khc-v!WD|OqA{cS#)DDim;!zzzLAkMs@p!Xc1M*)37DMh z%g-0wOB@?d8sAveeXC%78bzg}07qgzf<`S)98NO2f(akswj|wghNva+wW1Db?a*cU zGE8dU7LG|3*~VyS#!VBV^GL9`0CTQ7U=|_{74PDH5=E-oXO0@)lM}V$eLS)(zqD@Xpuc z4Sx@d?kO>nD(CaC!zLer2SlfYfxxJ(ZMvA$_e^G_L>qFHU;7`&yv2%-Sw@j16GvpT zd#UzvK@tXgFI^S3IXq3dJ4I8S$wS2wkGA>^j{{_-()c zvr0SJDG$NB9}sR zrbaQFpN5?aK6W^qrCFW+a;bfKdm&LIZC7t)Fm!1_7>;`tT`FluTe?iL7#0aT1NUXj z)r@~>FOe-~y<>xFCW@Fbt9Z~dnxf=8|6vH}iG!bR4d) z(-r>98gqLXg~K(4LqjW{boN*0*0w_z=OS-4)T^6MOs(chm=8D)NBYcuX=xm@|4KGJ zgj$LW63~)}uZHYSJq@!3l_3BsV#XJ{q~VE6s%R&;Itg{&g{ueU@@RJG)Pss1Utu^^ zp`x&3^#6cj%S_7pcexYXz;g9pnLEMG0pv^ky@v6z1FPYGGHlAv_phtn{|U(xzR(Q+ zFKqgMN!WDhPaBI-W4+t6d^YW~@^V&`&6*6@eR8i~@B0V=V49O(X$$ZMi`G3079TMS zAu}Nn=~OO%RlX7-8bNVvbsk%Jnm|@f&Z#eZ<}9`3b;E7oIdoxe4v8Dc;8j9`Lhq{b zycKdgR0Ou*I-0y14TqLs;i;C+Nf1$90EZ50*=H&QD*h}KPll<(d7J$9Jj&4=ISLD2 zRN{z$i2bbVQpbBIwZKVRQ;5uL&Q$_!GOkM6^DoNf%P#(Y@r<+ycy*lF!Hs!R+=dyI zt@%?&-8yR`WeA4#Tf}bMzLOik1L8Oq!fQ;8nFsjDMPc~3T&kGW`zEzBNS`>5T@&s! z*j9TTI6e+D%CtzZ!A3^3zBmdOFO6jq>(h5kpUm;)$`@09m!(rz!uLn!?|h6CbK@{C zU&mNLwmPPxnoFz0?Lc4xtLlqLQ0MF#5e%@X+h7vXNWF83%nS0@{+`FuYT?!VFA zx!kaSUmfiU)tys^8dg-^mkAAdIm;@UD{b?0$3NA7b~+AseuOWyGrR-q_-+XXS)PCy zGs>%U=4Fc z)>Dat`zPMwW=TrAINn=W3lS8p=}X(%Ww(Y?o7+z5g^RBsN|6&sJY065s2VDWJ?TmwO08MgZNym=WFnt_39bbH+%(h5dv|tvT{s_EyL6NO{()f7ZX$F zZA+3#qbRF^WvNZp(PxljvCZxe)dsi5*sn6nd`lxcP)^JI1tct{lRD`4pLH5%Y@P4x z?yO4H-!Xapv{4az2ey}{ij9r(R5iZX%SE}p9BLSVAnMaA?1-rP+dI5J{T2j#KYrDJ zFsE4*=icZEL8CQ%&0K#9S1I+J!XirS$p7rfuVt!f=;s-6JMr59qK>2FTs!s^t zH+#XFQm$wSbumJeJFEtB%-9Gv9W8~Fy>L_6rn;g^xB+UWpur7&-yl1{%rX=6r`O?s z`n+kH%!dF2!20GYPuGI2@5$D8jkDgdQKxj*0c_1ln5^zC7xU+>_pWSmqSm(PsV&ZozQds)QF)w z`t*hH+lfVkwR;IAf%4$C_DmGzm51q)W&s&R9y5nAX}*3H8JNsm%Ue>?8EzlTqu)eH ztgIu-THTa_Y?!!L$sTd^T$^nz$(VkEkb6At8&D{ zVW8lFooN=hNlgL2nO02xO3+Vmtk_!3c=0&bf0|;YC+@}c`(twi$_H$GDzw4vtijs~ zmTcsRI(&RZ>mnVW~s;U zyM-vo9d2FyEYj+R_ll;$~8Yl1p42SfN@ zfrQf0K=(l*4VGdT+gGHE9V8(;E)Lyfs?Tt7EQkX~oVu&ndh4mv7dEfC+I|L9rI$VQ zJ{7CS8g8zti@J!bJbKc5C?yg2SFPxtm%91bDsr7JgjPt;NEKz~%%e>Z4leJPTn=>J zvoW3rwiU;!9?Lu4HhRZRN+t_e}jhdy` z*8M#EK=t#~Nvm10zMpx&!`G7X9#)!GN4o%HA$HVKFyDq*#FG->al|u7e8zg~hpL#s z=wsz!;bXP`ojPHqoziLA-bFQN!CxB3^{xwVj?+Mg`!1eR9ml(~P)?*u> zF~ojH%0F~=m=V~z^g8Avs?=E91O zQ^|3~vb+c)WGYUt#;b@WuZhC25jsE#CeVm@$F1`&@0G0O3a*(!=U(8*N|=Xqej7~Tik6jB_9&V`G(SSw_!wbET?A% zGQRM~BM|TacoH9o?)=(T566iwQy`^BkNO=ZK87xIrzoCz^R82)*dhG6etIREY{vr! z<~}wrmI2n4FSbteA|!19dtqJiClQ-z+E|8m!&u!-UEVv;w8*T^=V{u>daHDS-EEKZ zb)!0kc-n=z_If{~(qjRIpYOO5cgAicL5JDI@Q!@Dh3Feh9HkO(tH|+I~u+X~;&PD&TcF1&v@X5|`s}&#*7Aa5?Bn zItJkg}KZGmOTcG++^Ym3K94aS(2GViAc#9PiN1l$$)`_IQsW zq%2{Fk>IgMO)Vps1_R=Qf|9*1&%{{J)^gYBjUcXxTtU#8%Cry4I>Pb}f4+l%s+(hr7T7bz_503%v`Gc|@(I z)QO1_o6OkiH-ASlLwBy$?ty*tiuLYCD)CJPkeX&)v7Kx%^U~hl+Q%@>-LTJwCH+ue zn~tNd-F2j`UJPGfA4wRT>}-{x-W@d-0R=Zeuc-nkPf-yR9`!lCOT@u{yU8hYyiP z({zPCZ_4Ve;KxN3pGYW`|H%&fr(O0YXX1v4Gs|*`W_O?t&y?S=(b!b%Kz6B1oR9nl zYGbn8Qp4!ul(UXtfOCTabc27+UKZXtD6wRpCugXnbiC?_bx3=unL1Jn3@~mkF-%vaC=YLTtX6TGC zCjQN-YQy{j#D3Y1{f-|eS0YFV65m;<_`;{t5p zH~xDsdRP6FJ znC+fI!o^suqN)H<4LbM$gVtEqEDCVrK9R^xk-;84dV{x)wzd$$g$wtP)6%xzRC#4{cKRy%;Kp_DtB27 zVEtXA_NVH-4RW>3N#D0jTUU^}Q!Ix#BEzU*qCyeC&Z+00&VJkS5=<^HfC`}I!2W`! zFU<{24VE1gKJbBd`Cr8nSQjlg*DaQUuR-|Xy%@VFidzH?k*%JOTa^p$(n>QrvYONl zt0mNGHdz@yV%(Ej$4jW` z9-B#9GuoP5_qN*^8Ugcr_6y`j)R^w)QH_Q99Th+pJvH*);d9n4Q!KBgB`?JYCrivV zZ7pr2;O1dR12hVPB^X9h1nL+BVJjUO8xAt0qg&471Z7=I7?|)$Menu<%@9fs&g)T& z!@Z^HPTXSGC5vzcDOpMz>2dR&rEDksAA4^qB%n|&S`5x;Z0uCugJ3K%){k&a??9`C zec+V=W0#K_!j5WYZ{ng>IowM)-L+qA>ke!PkvEHqt+bdIPQ5Yly*Fk0_y=%0iuDw} zqJ5v&ZVl8K)t_7Q`W&E{H{6N=38;f&zk;4h&37*ZO-=s-b8;2*vKTc>M$^DX*h@*F zAqe@<)2u(PKZA+>jDv#i-@jWA*$*6(FVz`VkisuO|71fj7&*Q=V4@<<4;2vz+QT2)AXV-@5&z z3Q+-pvz!lGIy_rlSkaaN3FsLt4Nj3_D}m*nDn2@cclCq#WA69^8(?W{XTN!|;}a(N>)lamX?(Cp zc}I@l-Q>6?-}Ice7P;R_I-6#dPxK0g9rJP^-*dgI{S-IfQg)IWS*iFJV3C7>k+ zkSTeLt$5v5C`uwxF*FZg$B;OM+z~*%8a4|Om5W?;+2yWSVl1rm``s2TneQ0K%GprS zm5Jk@F{Z_SkQu6|fulyy-E8X<6HUr~20b1GPqh92ZP!LAGL|%6ki4`#9iA3hlov6X zs@2PCwua-mk+DGcxf`O9rp+_)Q9_<=inT3Y8C%+_Q%51OMsJ_w_7Sr##DvB3ZeLqq zsA?|SfR}jMwEm)&Pt(v+{xF|Kl|yX3%o`z-?*%&UmbXT}w))8U)?~wtDTm+Hyko0u zV5>JSpbvGrd(ia{mOgYBSv2svvb|(TwoiXsZb&Nyax$Y@gCa1_Q_8qgeT<}MxkhzV zWh!>s@T&EbQiqbOs{%3HP@<%VZ+g+n0nf)q;Gy5K-#t8c!zry+m|;TSrGfeSF4JU9 zgJ_84#)}wbowsT}zzvAbS~tov`9`=C;7U{~;Xr`02Z#~{)~0&7og=Jpf8jSYHG=6s zun!Csz16uScRtl)Uh62(^p+u|hO|aKPRS;x@EJK!(krxvsuS#7(-vAXm-+f#z*Tfm zWwu?c%r)TQRT(TANZ8PYZ!FcuVFu%d+-u+spj?({# zoE8Kz7j~y66)=KLsVJoOblEL0Xv!P65`=TN;aaa9WC$5bpu~AY;?QzcuDS(C{orzs zmELw-)7G(lMu76V(f#e< zZ8B9Y2t`3Sf2JWNICy5R>fvhn!5Z0xAcX`Qc?Ad|IJ;iU z*k?>L1|A0qf1CQbHOdO+XvvDPsoWOJc%ns`a-Z*uy(Fplp5_cIYrRf?OM8>WzHM25 z*7ch#((V9t?}Qs15^QK%pfRF>_K}u^k_8$g7kCuqNij?h<|8_webk(lU^9T06Z*H6 zOL0GAEqpQwwn_dgUlcH|j--4ZXHqnx9ZCn;!nVSR+#_no*(oT+S2i#`I-y`d`PTPQ zzov$Ntr1(9)hF-biI|LF)I2mgL?oyiMWuy%L8r6S`*5*hNff}jFvwXn9NGIIMxguj zng9($?{6G%42W3=oS#&%GHXA9z_(Lx9B9fM`JM2OI!~7;_F;pfW?H+fvd8|udyS0v zEPx+8iAqlu1ZiyaiRt2OzvJ(GD*3Q;!He;r5g+aE^5fu5=~6G10&{aW(>FnReCk4| zhz(-m?Wo*{7U)snLJVGd!W9u6?cp?GytT3|_yZ&X!kQW*Yj0=1c7(6!Y7Js1^qs8c zg$~LDkXKW`>AFS$NK-l%;w&Dm?+o2pPAY6JNqU=X@)OLv=}}5LqXeSFx4CFsV}wy| zralHdmw%X(QZrl15tC7p?NdVapCto2!+9z9+a>dEp8aw!ijqRLVE}sc3a<)0Xj^&B zTtH19)kb6Nc581-u&2RoxrXW|lWQ?i<6&IH<6Dq?Je}icXOGp7xf-4KElEp^cA6-W zRlG&|$vao74PYvyy(8S}TFUl0Ow2b>Qug1RDIwl?n~VycAYSzhFE1^!0myHecT9~; zVgo{Ouo;5k=gRnm~|lz(a|7cT!~&>pTH&s!?p zf-|!w_KiW|vOtxEfJ{b^Z^h@cSV*MEEw`Hmpj?F%q|1S9QPdWr`?)2drF~S7MYKq3zTwyjPEK zAs}lb!!Y{z3fSDdc2qX5)y~x2KjXbmw?8qpQRH93L10GzfFBfLmgZ8CcHB-@pQ^>v z9Fj>A-wUX_E$bZS)2JvxQOA9;-tqGY7*ph{6!@3RhF0GEhCQ`oy=v;%(o-2%nran& zSGH!HkU&Y_H^n336eTSh>=aM?=kqD=u|8j6LzCeA*Ppd)E?HZfZnCKFr2XK!V119+gGPnEu!ERGSqE zM-*s&{c8gyPTWle8p{5!F`#A3+`rWzkvj00bPV;E~YDBdJZNj=>-B+4e{`?Jtj_$U2I1uT)z}2?s&fLBFSgP zmIj&U-tfNZ0W~`w3b0V#m>+5Uu*Z)-poDt0YuZB=#%guy!kD}eWnnO`7|m!vcRuue zL$UyCeEF{>&869n9s3!-<8SMa6eS}z`K$rElVcr5w}tIGS>C0Q*&l5ByepcXg^vZc zdo=Di>ZTTke%A;jUQw#J(W`>1VcdmBO+4ldu8vt>Udf&%F=ZjeWlJu^(}E<(z0K5~ z4I#E=XJx0?2a7m!2SQ)N)5nw~8xv?Ve1sX_o@V*sXw^5%#AMdQYY_`VR|~|z`%!55 zx+Fe74g(T5p?^SOXe(PK*pJm#WYVS-g*6Tn85#N`u3~g;s7no5f;x^JF%KQbI%T!yesVor5U)Z;@fV z|AGwrFJW{9&{Y2&mB7x<$UxRKOSr(1qK*iH*gB>TX&z7c5p*>501WL;jhs;(Fx$l|gqOa@M$&Me?k6!AZ zTYW@-#WkeUM=BN_5*ObET5nq%aX=la9WL@NU%N6cJ^*TUO~bv|aU(H3`8%#}O9bO4 z)R!aKq)Yn?B^=}A#;Q33g0+yk2=>WIZ;EpbhKt?PS@LCiI|FWi>e{(PY(|$7j!&?j zS-ULDerZmDxuP7H98jxCAV46Iu2=g?)GJbXQ;ow+$l|bW(4|{kq$OK$#LL6U!PW4) zPEiS*SKQU-<)B_#bm{Y&Py53KndoUav_9$~nY=N6M6M-jx{efndO3}he%jCQ0n-{l zT$s5|M`kYR)J83Ci|RAtWn;Ki$6IZdYyV!N->io-MVTm-3;!KVK!YALdjCf2Bf7mi z_aU#Ssh(f=JWmYw>S%9U^Af$puGo)m-ltEf+fhGe_OphkSzM$p`x;&e>H=@}@sR5~ z8Fz7aLu5#k9wc^=$L-+H_b-)6oC)t>);UM(~|F|+kFBi?Etlc=kmEUUa>e8};dIEUrA z-BQ6(9(sk>!c`aDiWt&=l8+{H>JovKlyf0khhh;f0dJ%c= z?V(}NQ5)y?h%My3 zW0(~@b@p}AUf9Pn9`FyNowLMgrcAP!>X_B1XJAkuj_zj2UBCaS{<{Cb`-qyCX5{RM z{aI^MzR6mMf6J=}nRCESsGP?0M>ur208Z9S)Q#M>(zu2~8lxoDhQp)GUboZPuiTQawvKMWgR({~x zq&{N-?Opc5Kuh$+Mo^t$;~pW+Shg4AxR-_PG^b8KPRY;*OnX#gU3B(oZXAk%QzsdP zaUFsS9bG*<+zWa7NR%k556fyUMp6ErGwS6zk+R+rh!@){Z3}UCC`CBmZ@z+|`jun> zM_D-tcf3IR=yv*G8qtMXcTG5e(YEG}Ep5l`_Aq?h$|J>%tzOWINXt;?oy6(DB%|O1 zGj2cs(3hKj;-^`LBX0+$xRrxx1*$>DLpIKqYMQWBu1>{OI zQN=8SUz?rSD8ZCG3Tm&JQCMZYmkj-S!FEmddI2eXl|{43zC?yOBR>g7{N_zPo$6jg z3y?EBpR8Iuw3f=4#*8z6v~*M77hQCCH{YE8a`mYaVVPM&w3g2<4Q-8GNt#Fu%CN*h zwtR3yf!(Y+%-P(QY@kVrw-)S(#^0~sUFbO`w~PnBb}&e&w*Nt({r+`~MY3Tf{VDux zj6K3=t!UoHuH1@hv!_;~cs-1KCKfsGJZYOf2Hxq{KC$yCZTFRl=nv*I7FIhVB?m!{ zq&JMFyn`GBoN2}{YaQuoTM4U`_q>l-iVABlCk|>FyI}LlH9nmm7Ms8OM@zbd#CSaE zAg;oKajNWGi*r~D!t8x5GRTIlU;F9!AciN{B z65I{WZ4d7?8cIg}3frDP-(fBPh%6wAf5@fAf4ktsYJi#fo< z3*6fy3TZ-Sx{xCIwM}kjPmZ-Nw4tgNcMLf2=WnV6BAt(oGIE+7-0U2igKxe&dEu1! zUdAxuu7<`yDWbBEInB)KlosoJtZr*$q}flW%pD2*aJk{Knzj)aF>#QW+L5{aMP0`g za%1)L?E1+I-w11Ez&7u@9F7+0)(0JW2u zwa@L;;|8wpv5yb3()lQhPHxwX_AVm2bEci@0np%+Mkh0UBI2XUj%ixIzo09|FBEj1 zzO=f=rhT95Tgb1$Y@OF49}*dZNXgN#Jp+S4`aCxl?@Br~4U+#+F5(8zPgAeN8E@DU z!2V`maoI}G1Nm6GcyTxVxx7M|01 zu^vdMTqtl%-&F7__`qq#OT|LFes-_4u*-Q%4`O*twNtYnnRRPmsgzH^S9<>HN?gM2 z17L9&lejdV+2ope+Nh+uga)P^@QJ>qg>!qHGqX_D)_PzLW=Rk`L?wRw5$V(rQ?H({*cfCg{C3vSlO7$vbxL}t_dH)##VxRTM(sTI2Ptjig>u?e{oH8JeI(T@LVKL#9r6zx#~FvI zbl3snDG(rSt}Q}2&+5EtxJqHdhOEZ=25oh?iOnq_a>WxEd+btmDdBRb>y>5)4t2_U zEZ@IEE@of0K*DXE=~N!&+i27dv9Zy~u7N99nU)qr>cs<)*d+UezMg$^#( zl}wWs9AOz-G^9>NPrc&gJ4XCMTScIvwb4y0tGni;HEHk5yr%&d75^Bb3jUlWgU7W# zhSt>D$OZ#Xza2wM9?ZkUaSKjhq{`CCl5vEPNN1PSPrLtmd_I~In|Fhs(#&y*7+A)) z)^|wr+3+K*EtdkGG8K&Sl81AVM4dQ>0-A9-YU!Bg0?h&wwP7i(^Z4~jllWZE^&*-)=u%5%2 z%XRRpY{(|vqb1=^@x<^VjV+mDw7|&b-5RZd5uf zFJM86_ngzQH~DQfnV?qi+@=F1X+L>X59!8SM`SEkpLS9N6iPr6+Bptfhl-`JcdgdJ zINi&Ymj7BFJcZvURR`Tlz(~k^AWY(#PLKp0MUay54bITyzTl2%IJg)rnRX}!$7zJO~rs&YCyTi+G60v;Nwt{TQ% zaYW@4re9pJ;H~y=j{L2is@B@5rb&TNNzf~~KfL2XYV{xpdGLx_UFdU|<~vuO zlw8n@(_R@ial;v5ZqQ8P$aGM(bXw9~tGjg&q9;e0Y+$SK489$gE0n}@t(wVXW&N-_ zR$08ZOjAFX>n4OKu9*+OiUI=s6%lY0!|80=w2)|Wn7d1kcy1#t-o4DYj>k;ojbPNy zGobR9zLLy`hO!v92QKE#!2Ar9O2jCTLZXA$+%6nJs4ml{NA39`G-%I)`&lc<4wDhR zt2S+ao}2ru(65+-`{rhJQtU(WuGwL^5{>(I;BHSxXpDtuZ!|)gPn2ZvLOfDoGrVq0CEDVroD1d+v{Nx`{myd>4c+Ez# z@Uf*w?Ao|1JS}3H8^-Y(2nF>g|=f##bim#i67L^soR{lALzpFU{rd>gN zoqawGoF2{^aJ-y25b9sNY0_i928teA**WnGCqLYp3$lx?pL||s=M&R2yhom#<_UzH zu^(K@HJp)H3Oy*9Ovx(+(b2aV=d(Mv7t{&qT2R#&+RVz1nw{ShF)RLFqFfFa7bK^h zhq~D+7OaaJJJCwosRjn_l(K})84|TT+-PsHlbujC0easaFJlu(o$m-OANP)PNtgO| zS{7w+Xb>yjW?S@|6D zTd;WQ@CO#hfCShnuBDQn|8drnel<8@Q?6{F>t{^o4!Q?CI9!6Zv8}mv`8GAVa5=r* zI=DLX(@f##ndG-5QYYE?45rpb)8(o;nOrS#!=$~9^$H&l6X@*Daw9z{KXsyY5=JpD z7twlTH>L0!2&Pk0qza|Q&Sm{sJ(S4{EA_b6kwsx>xY)3E=?JEtLhD2V|ba^ir& zn{3ufss^4x7lBT3cnXTQPV-Um`r-VU_PcsvLac!l7t&7|Uk|Y-%F>06XhZ@xICaYLvPHN@=V&3PF5SS`tP% zd=YPoggPg&t?gZuSnUVs$A@~dC6R8YJ&Qz$e0*1&9e8bf*Qj6dMkO3>aCQChnrX0T zU4c=adAECDz{t!(6C7F+myt1xmQL?4zSjXJa*uXcZYgj${*)8=Q)LlXN4eb!RKva7 z)zC>Q8{hE7QABquC&8nT&NO~!Asf#Nt6o}+bHWP<`@E&Mj`Z@8TL(>^*_;x(Hn%Fp z2^Oh;B#zg`N_$LmSjw4XE$3R^_Hsf7F)=nT3B3z3*km2E7uay=EL);4<~sX+t6Zyh z$CP)uVkv4qL-<*inw9fCZ-b&DXFu1e+{+E)e511(ES$`I4jukmk-!pV$?IJn6${5; zY-O2$hfx0~GU}gyVP0c{yqCj}Z#{mC4fg-MsTajKEF~MY=6cGcA4gfIPG0Hg9=Fac zH!`1WZ4QXyGINEbF%%8b4*5cr4`ij+4I~`(y&_qk+A4ACWHQIcjx#ybT}6cosh5A5 zFFdk%m)F{%=IE>}DW3G7%zXWKaL@m*%Amaz<0Gf-MP~rdZ_ZN5!{`Bn5AUnU@@wNi z3RDkxYpAbMCzSVjvx*M#C_(&faHLM2Z=*8*npItly_CNzBGjU@v7s%Wb(Y79EnHc) z>5%;B`h!-!JbKPHS%3M5Zz`RpDPoXV`2!hp8ca`BpQ7g*)%yew_);@|ik&B7luzMg z4$CXVLH9GSRh?aT~BHQAp+S1j@rmFb${7TS^y_M>AP~oIz zBMkzzcBjwM#(wqVpfSW4I%VSQ>T`co723PTnQ>P+(?LUZPdR#*W4_^^%MnzUEVd%t z=ZIzqT@fvvq5~iw5%pJE6g;@|w`4ifT2m#0VQ=_KgGo*Pho51LciQeZ;AfZ~vlEw2 zTMKNdL|Goi3%*`74x8flmasK4#YcgOk-6CqKVd#MYiz3umxAZ7tVbjf>obzHFMd7u z_Vo9hWfGn}`&5nV3i0c_EH-Kmq{~lOli5zf4O>M-h3;bTx;j+$7(HODy%;;cm#XmF zr0jpDBIAwkc(F@g27C~wW|bE=s>{lXub`=lQukKyI&5bVg7=%|gyhZMR~WasgczCIh5*dd zk}B$MY!CjzVH>kW`fGj{egk9b%zmu*Wcv?knZOfA1J`zS<-PMP45=54bo8LL@@fEFdGpo^PKpfA9DPXvJiH+`FmCK5?=j+ zJ4W>96qtD-TT3sfSbuk1*^l5E){&*Qn`JvPp-t}xq&IKQIrgW^FQ@o38 z)IlK_jvg0$lxL%kLoG>K>Qr9a!J25G5z0hk8rbC^6cq&D-Gyp+Q2X5^v<0fIRs~Nl zE%ESpwl)eAog3W;3Gn&JBTyZpf}*ALR}`E!f6!)F(0p|wM>)|9sCVBhpRP#+8~oth zw_Pg${oS-Sn(J$a&9cp2!~Vqh*0zM@Ub_rV!|ce;31Hft!ll zsi@CZmSH?(sMnbwS%q%9@^7lS*y*AIx)c?=HY%EL zyK9Z5DPiB;VZWT1-IVGx4q0Rng_FY-O{>q72=$qA`11Ez#SzfHz07~dvc6Ie8MkYl zNAr+K(W`LE0G^`S26kR)WhjKL;qoE6g`bMt;bE>l-jSxRb~?AQxvJ63utq91H<5GFsd#^q4%`Dz0xvKB_t4@p?W|}h1ixcD*d=xMbAsLjWKDcbZ&jFfz5mG8vD=L zW%r?_5xlR`l%SDfQXLcW^ZYQvjDJ-0<1CAvOF0iw;ngQ6TrFMjb94*X(@Q0i`oU%W z`GjB1DpjFlXbvnwrZ<45mhhwGauk}4s4=g`3qLcnzB=0n*7QXRa^=F{>T5xlV z(B2C6dpHsb*6R&3ny7y5JnkI*@(-hUVK+HSR-~ZduU$F`zwFw}u!jDpJ4T$IN=#np z-0%EjKFFw|gmLN(Hk@jWHCM3h@~7(%TR)VPQVW2UG{$dU^3|ny%gw!2%a7W2;Fw4K z=SCp=0C(zv{Li*ZR(aoi!D<^6*Har;7Lx6E3=fh*1+QlygQAi@*X7kquBmae9C?5u zBGN3u%}`b_TE!|Wbtc(|TY>^JpEB43k2(0>RyEE4l z`+ttlsXUHxn@z589#_`)FcH^@w7-dGpY&=0CtgE-K+a3~(r44<8ijkk!kKH4S>2BL z6@J6A)Q0uvIB7iKg_R3TV{Km=@J)TOVXI{H;4eu`;vDH`3ZLq5yO8pY=1YtXomC{D={|ydtBSt}5rkk0>_-^pP_9^%^0mMp4Aw1s zNC)??txjK*Upf`9xvT1Cyvi=3R5KvqpK738!66iI@ZqRfmHx6-%H6V&D*6;zskF70j}GUb-Y@L7{yko+t7n-j>WNBQl&Rx- z^9J67-G6#iGvaTQAKwBF3!0JY^8O_6&PHO}<0u6*(DB$W%`kq) z#$}Vcfmv7DVtxHL~_uCE(*u%Z85@axo^=C~^2 zH{uTI>#SEF-u%7>7`~;E2i%KQW-7JNZFm*2eg5Wt`k71qUZJlFD*=Sp$QJ_G3e@fP{m?U z^k~QJqCRqbaX2J~G8ulw#*pK4C0~9DZs5?8n?t)#uhH_Pc%M_ozG%E8rb6+NxKnZk z_0Ch=U@^B&eA5gWAg-Z|jv@KFbs;L!5ouiM96oo;O*qtl+F`1mCNRj5K25h$l($bK zrW+gO6hT<&VFRn}q$^GE8M6e6WjpChpvMy5;pbh9-lCPkeR1kvI&p*njU^AZGGC-W zZC8?5MrFTWWyhJ`$+V9Bo})R7NP-_cObR0XMw~XM9OpV;jbVErFQ{X|oV?o{Y{FKH zzaly~{w^Nj_oGWu+380}%vl0K*3(A^p4D#O^H2U>WO7r}H^@ch6d~-?WpiaiC{sHz zyJApmZ~O&Nrnq)*+;ig>WLTLmqE33CP<=0H1AV-v{~LQ>85CFBrr87n1WSSif(CbY zm*DQwxVt++0)gNfAh^2)ZQR`*LescI<8Il0=lf>&+nt%+`LR<|yEQ+$PIuSou2WB) ze)_(z`x2L=wd)nVNj0v4_s+DIu`V^VgjQg=Mt-a*jDqYVUEBwa4iyXgo!mCRPL)^N@a7AS+{@Wujp1%I`#A2t)S3!u`&F8R7ULx~}QrTF{IvZSd)x2kQ%XN0$@ zNgk_VzIka$)E0f|4a2$hS$ncN_LUTAhJs0H92TUn@$g90G}=m4*SlRL%Hb0C^3nVO zSPyF1FCxyc=o?sSCcUavkxD7uAVq029w>R|4V=t?)RcyP!IJ*(+HpuAU+|zcWoy}b zEu#5Sn~U7KyHNWw1(8o4V^a9|Y07jQ;{Vod+@}sypCq^hG%I_j{ z!tY&!TThAloP&@`VpY<3b3^&dTPrsy0D1W%U4qcmb?;@g0OktVzWc&M8NXJKS zD)!&o6&Qi@?=>Baz{zYq&C=o^^^h8H1=KKv(dLw3JKi8TU=jbXH)Q<~Z$AGI?&7z< z*o~#6wvpD!uz4A+R{lW0wm(_<{8GU7TbK$>-{eI}1l85A)IeefVz{D2?AoZ48tUg{ z^9Jprj3J>eY|#eM#3NR8pALnF2>cgyRI@0gB*1L7RpDLMgx451%O1g&pz{e|u=bT& zREGXETSP(~lk_PnMBH59$dcXElnXV7SAX3}N&LFt!-w)4KalI&I>PR7f?FwG*yiM! zY_>j%X*CMSYxhyKGC27jc!kx@xq|R@X zcRl06cfk+XKD$#RXOR>a8TNU&J`4Ndd@+KlThvY5JmJtQF9H}&5%W%y!jpoOnt}#8 zSttQp2v`ruHr~4OPf%JLJ2gFpqDIQT6j?!Y+Z;1f!r|eK_X!q(d9tRZ9$^&LPC8t=l-u z!C*OouGub;!=<))((tG2xLRH&40hyJg&3@G_Cxv-$Ce-zRXQ<+7ij3x?4~&F#G0%v zGyBiqR5y&?#NHq65{@YGH*aJNv|5r1;yw8B z-!OE1yCt4S8QAYm`t?r;U|wG2uUaMrS3eg#B~OmlK%_5Gzu}7wOP}_E>GO?Tqn<2* zQFz~?K^F(=`}wK2Fo?FnkrR^74%8cdV;p1}R~0}PJ|jbvx#n6k%1)TzrywEm!S{9Y zPPui}aRHm|$}oI2aU(8QR zy(J{KY0jZ2yrm$qj`rzINyoJBO=#1jdWSE1krK-ZIo^QJ)n=KB2#thQybD43qt!=b zX6guBUaJ{R4eGhCSJ(-Y-W-y&4uuI^uAe01;`FZVd@dJYA8;ACt;r`z@rd9gc&yo> zkq#Q%4KY+oU4&m!VQi0*>6p1WC{jiF4pJw%or;UU*L255O`LpqjI3L=`S7W~|M=n* z4mg&S?u0~2_<*UP@LXA8_xrir8-xeG`92`Xw_uKqRQKKdmdulV7~5H3YhB;eRN5ZeWbo$IMRwT zREH`9_`%e>`zdNq5JR{p+frbG{f)`HWFmo~UZWdw^5Cm7H{}^)Gu_4nISUVsXi(L_ z+YD1unDjS||EMI_s_X0RkeNj?Wn4nQDq`J!Za+({d3h;iTNAr9Iht4$Y1ca3EJ)VA zIbnI1cGlW!g>SD&bX+Shl3ts!FdR)@(S`QnezxNt4=WJK2yl#K6BJ?k*9NUo*pi7W zm`8d(xHCwFv5iknzLwSAYEm*SQ*eu=#U$nIj8hISjkP_~&S5}uBESbc1YGY2?LN$- z03qWjSP3;lBX3}%iD`*AosT5Ty4BAJRh_4g0nt*F{o94h!0$<^T)6S0M9mXyHksHi zRo!OR5+$pWTs5J}k_(q6noJ!bHLZjgPe!JNl;c}^z`<9`I^7=$v+3CIJ1S(TFDnjd zT`GH%aQBjR<|J`>a@CR|1VWG&GZOrUIflnT7!{8$B_*u;h)5S@S8BDW|AUdQhX1c~ z_HnP)?j9W(>JUt$D~8hg_UY@X@KJ@~@L`hv_ZN}d?CS;Q?JGFh zzx$P9eDB3-Z>Xvh@cq(Pw^I0n3uC9dyY!0wc7fBDhLcc_vqg4V`e;{%+@6AV`2Lso ztLCP?WXgEcq-it#Dx5Gh!M7zv^lU8VFlXE#3}j9lpX#H|`xN}&l+SK3=gge;1(QT2 ztF&9?=FS*r3iio&(YY^YXhg9B&R`twFit_KV?Gt&Q8k_Kr(F}xzUTx3feSxdls&c1 zwkRogKUY5ZxZ061_M;$c@;S%cMy_cCJqq+V6CG{ZNdxu>!m2d-WyfcCzLK0|Ki8gB zb-PFVJQI<9c*5+SJm2BtHfBG@`cPWMk`W5Sww!7nL8&<{ZrnmYG*kpF5Nl7dQ?$8J z&K~c8&t6)1m8F#~RhBrG@K5FDZbvjjjX(RZIz1`Dn74?Q;;yuY}hhmR}P3gk7^ci&km>l=6;&YnzRszqCy9^?cMi?63 z1^?8g9EJ11MXMCC7_EueUgFo~#LW42VZ+N0^=)=AQHjz8qt%5tF36a&`xQ=8bOGb6 zm2t)k&i;G9tloi^o_a=>iz>=FraiR=Q*%lcq+&WYZ^2)D_esDMjXBFYAg|*|L4)$E zu1i)CBzY$1esi8n=FW2#TVVP}`84pIux?{bO^iKDy^H>sx??O7IpO7O7KUJXMrG^U zcbUv09kUfVZfVb-J=xn@zlta!2cj43AtXS~qZTODRtkUpCj;VejtYMOu`ocfiVap7 zHE!!F5-_*W(D|14$y&p!U^T3POY*AEHi zqNLtQZ&bbEDKPyr7D6knecj8_X&8@R)gS*FwB0@dSf1kCe<$+%I5J}yv#4F0WdX)^ z&2Kfz0Ei0GL6b{gXNT`}@TWnxf8dHvEDjA#`n&2fX(n8AM8+~^2XqDbeUz@GYzaDC zKB3X0D0;O<<%88MDSC~MW8cQ;mcqK6-pX7*lD_$kAJ-Y=dFv!7WWuM)aN}c;SOV0RYNH>D!;b z!1k-Ud?5I@^@p^bofbt?XM0<;e43eG6v;$AG0sO3hDghT3k`T*>r0swHTm^rX^AM- z6P(JV@J=LPz9-6OM34%2w*_t!=#)Dv8`rF5@F02IB*;rjj+X4eLciucwHR8s$Ng=a> zrRTh`?RBjS9)Jg6WSNnmpsJ79-9ggW;y^7o-}cB8-t~TnH9I9LF~&7(Fy{Jwd-~Pu z7Za;whX;&m0VJ6wvNgAw6_^h2RdDolW~(UgwO~2D?2N;8`n0V@;4jq+{>)NLj4J39 z&2?ob`e@Oz^~YL$o10&9epbfP%e>)|D{sd%*;v0WrB&wJ4i_-4CV7PWRa)XFG^XlkhKAAb^ zS2jz=8uCcOyKa5(jD~!P+{Y{-8t1+soAlh(Oxx(?(&L)ucaBt1rHiB z%EK1tB)wb=(_a6gy;;TTOhXs5-f65;5K_SzZg%0q%03CslH?iY#Y1eEH4M5Go5_v& z15m7Ksfp@2@+%Gp0bD9#$Xxg?cy`Mas-#>upe_WX^V!O+Z4nY~Q6)c^M2#;3kra`U zmcwc2!4Kf4C0g}>fWtokIgA+rM$Efn#oDP1cR@9Q*-nmK$F-uG4g%mf<=De z64<5^#pcEW%V`LVX=1E*Z9l{wYhtVF_)bT>^3LRenyo0?`jsACDFRy^Ejz3sCQ zuoU;+oXHY}R}wWY|70(V&A(xCQLA#eNYBeqst&YZPuVm(V@$^28q3mp0w)uNk=0aD z=a~Bk(8I*^8ajBhmR%3FdtOU9%5Z-Qz_=mZuPd{^O$`SA6Geu~J#PJ$klCsaM9UtPAg`&#x+FpMK&UQxViAxcl+cetD zC*I!o$oNDr{`16j&V{y{BTt9n)&d@-=>7F^L*vbe?8H;*+inQef(rbSV2`7tfGJtE zmX6h|?6c2jb(9O)mCKX%whT@Ob>jqr_2%;fEaFhefS)b7{PgZzZgUfssJ*RC&bTx0 zCoO6emYf8cW4Ouy)X`#{Dh~ayj{{yIL^G8neib-@v zTE-enGD(E0uo6=3Ds!DryeXW&B0yzE+HYz5fc0E<)s&1M2*1O#(nKUwut#1jTW7Vb z>&12?=jSo(;J{>>0grvBTqcST_HYR%U(L0Lb*4=AkJS%{Mh9u~4<+p^0=74DS}lp* zKJCikn&{MR zp5=<}H%8u%eX+WZp>4_w{*<-N9k}mx!-M4yip5Z(Om~)3NzOiMY8fuN6s*x(AUG^L z6yfKGT7XhsQz-1;2?V`W(IuvsWrT^wt13KE3HBxW=mx0-&Xlw6glEcaKW3yAUd3px z8O4uT5NK~Oyg98A6^^#PD?sHJB#^Ru&Kp^(Ux&?1hCHE9a3q;LN3y4*=PPP6WpZP? z`*{&TJ%4ZWU;Q7C4Mo7h)pARFDi1k6$)zg>xbhClA6)I;j)b^pz4q+AnBpi!INDzm z5VgJwbSN0e4J9T;k73aIKa;!u#jz4q-{NrMbtp}R4x%*Mk|-<> zTmD=2MBRQ-I`B=wEtA2a>slGZ^fHZj{I;&dn5C-mhWs2uV{cqMl4r`CgL6Gka!+G<+`V)|2;wrd1s zI7Vn8%RRO2u$3%e$@`Z!s{i7;VducB^)8|#wpw6QQKpicjJyH-8djTE%BMx}Aj@0) z1oR6~2|>k)Ih1()v!=^*E=#7&hL}?)DI#u-775{fa9T}?ji+uwkL{q;53~>O>DYa1 zl(|V<6E%0dD3@ZiCdaqc^CIX_|1GDd|ETvVh0pi1uctfXO3Gl=THLp&%l$1H3vKBj5?RfBSk5l0)9$F2t5R-Mc7 z*=+7E1^4!YLlv%f>f`nGALk37?Z$?`PzKnwMYeO3o#KQLlb=D%hZ19L_yDs82;@k) zK6o+9;+S%Skn1$Z3_Q$me2%L8d6}lDA;U`xY8Lh_-q9;`CuVG#Z75$@u;=9Q97O{j zukwB_+YpPxfP8b#IH@uy%e;5Tdg+93JX?sE_OjKQd#a?f{T0Vp+T09s3*#s1PXgOC z0tU|B>Uma}PgirwaH4|KqlIQr#UcgPX}+;LmF2xA-6QE??WUMHNQ4u9wC5Tm-}OZ?b*ee zW?b!IU6OUKa*qCV)mTl1IqjE{#Nv~JAr z1#UjzMayEEl2TI(Y`@|;(!S9}1C{&ot?CY%T8JcEC~UIH^aQ?2p?I*LtfIR~@-}wf zAb7?-xn?M`EjfWjD0xVB(T#Y}zwaK}thDm!FUxGD-!0QxtH+ws z=+i`gKc7R0?Z%@w19^k>G7jCE^`{{3>Pwo7+3^FA^EN=paI?xz9R2(Eg-z)Mx$@0X z-1B%s8z=36dL_W)$DzvBYi@snS%*A)p#8!n+!IBOxv<#V1O0P@<7`7%9liMTz}-(Z zU=iY~aYe)Y1wUscGFqrVOJ_#rgsn)D=~Zl!3=jVH8IrTk2Y>uI2Kxs5sxKuk-F%{S zxcuP`Azs~hd(}SEI&PJ6y*@-q1C{9MzvWmn%_1~Ss=9(&m4lq#s?uHWgtOw#B>B&ORqp#(?Y_wu{W*Y!>@M?X{l_Nxx5MzL`lfFH>OxIRo9{$e5EX zOp|s(XFif|zIH`NI3cSFeW*njmu{N1yLwE`qLSN}pGKgFgCmDoMR|-{KSyt!eV*-e zOAiy8$}%g*&bA2;+u&yV3W{-30G=a7;66&sFjkHy4kbqu4Lu@=4D`pM$bM-Ha3#s4 z%(u2)AFX7(22(aSHODxiscndrB4CmqP1?o!gdG-iR!*xqLhcRE+3K}P=aTK2q^A@} z*??mJG(t2ebxWKu-yk^>Ql;IUF_$f>&;2`{as_(R9Kbq^kdxT!ZVync*H1^%Xb>}-7@9BTw6oE*}7g_p8hM-eUe3a5W1y8kD?N6REl{qfoEpi6-c-O>L&0J~j!1VGpZ9*0 z+{0WTNGLBkYn&5S3HJIIQrftjx^-5k=2rkk^AB)!y}o{Y*yU_#PF-XO+%vO%UgZ^P zCQizJ{&C<)n79J&nyK2)i;vkOiUouqHEz;t^$$4|*DmBEfY*RhL)#2tx%fi)@Rwzt zGdeb6sMU=Om<)6YJ?AxcC4-}1gEKtI8h)6LGgB8U2$%ca@)%Q(k_bNg`e&1g7fU&B zJPSE;Eia`~Y9-4D4bs;;y%Bs4v24sZH&C*772txtSswpHVYvhgMbzNzpJUFqUO2o@ z#;0UsdJ9Mzyx=Sryh#^)Ddm%UHBMg|WE+MS4!R446eF!fluBYQKHO;?zL^k?-LsO3fm0UHD@`f(+Gf%t>toZ zI>m23EORIFBJHA-R5N}lc&5J0W`eQeX(F1zU2P>VmB81xozQ#zH6aaV;qFz620_Ci0lakGd_F}(uP9Q z+5DI$x~ILT^_TdG#tX)Bc5K%vmmC&Bwt`rn-?I%w%nEm*?v``w$s;;U6wKHzJKUkm z$TS$HTfPw1)bBnTpb})H^N)Fa``wH$%W6n59A&$B6*FCxTYG z!*OwQt-`Hl4L?2^(Pa_}*oUaXS*>rwqPpzgEhYm(&X4DqPTsM9_CaT&zUBI>9w{QiqPjdiu5v@l=n z_#|XxboK=k)LwqHZ-L z@)&M^oLHNMb$mJKVz@xb~%=t=m9+Kv0 zu}z4}ZvYR0w$#UrR0WNiiBcXD-Kx^!uTA{80Rb$0>Xlm~(YfRJ?LG&0sAWq;>}pw4 zjpqbkDxY@*g6}`3Xio1QvP6!o~4RMaoVxM}@fS77re35YG{28Pnp$(S> zq0&SFP}>Ia#WeW#zmP@hbVktYFpQT2dt#ZF;&rrXAeVNl0KxBg>&`kd6weU%C-ky{ zG8x9s>N`pWk9p`7BhmL8_2kpt3N0=bzG0>rxJ%Ts#9$b#INms8*)qd?&EeI@rSNg6 zLUF4tj&*?Fb*QpkqyG07`a6H7~t80SvkSFaNB@V7eX6uA5Sr9v8fb^N