From 78bd976bcc69af8348c62de0c09dc2e608281eb7 Mon Sep 17 00:00:00 2001 From: openpowerwtf <52765606+openpowerwtf@users.noreply.ggithub.com> Date: Sun, 21 Aug 2022 20:37:30 -0500 Subject: [PATCH] litex software build 32BE --- dev/build/litex/a2o.py | 2 +- dev/build/litex/a2o/core.py | 11 +- dev/build/litex/a2o/crt0.S | 72 +- dev/build/litex/a2o/csr-defs.h | 0 dev/build/litex/a2o/irq.h | 21 + dev/build/litex/a2o/system.h | 60 +- dev/build/litex/a2o_32.py | 4 + dev/sim/verilator/cmod7_kintex_rom.init | 10822 +++++++++++++++------- dev/sim/verilator/tb_litex_soc.cpp | 156 +- dev/sim/verilator/wbuart32 | 1 + readme.md | 34 + 11 files changed, 7798 insertions(+), 3385 deletions(-) delete mode 100644 dev/build/litex/a2o/csr-defs.h create mode 120000 dev/sim/verilator/wbuart32 diff --git a/dev/build/litex/a2o.py b/dev/build/litex/a2o.py index cbf4cbb..2265074 100755 --- a/dev/build/litex/a2o.py +++ b/dev/build/litex/a2o.py @@ -72,7 +72,7 @@ def _to_signal(obj): class BaseSoC(SoCCore): - def __init__(self, sys_clk_freq=int(50e6), + def __init__(self, sys_clk_freq=int(100e6), with_analyzer=False, uart_baudrate=115200, **kwargs): diff --git a/dev/build/litex/a2o/core.py b/dev/build/litex/a2o/core.py index 7788220..63a67e6 100644 --- a/dev/build/litex/a2o/core.py +++ b/dev/build/litex/a2o/core.py @@ -24,12 +24,12 @@ GAS_FLAGS = { 'WB_64LE' : '-defsym BIOS_LE=1' } +#wtf skip crc and ram memtest for now! GCC_FLAGS = { - 'WB_32BE' : '-mcpu=a2 -m32 -mbig-endian -fno-stack-protector -Xassembler -defsym -Xassembler BIOS_32=1', + 'WB_32BE' : '-mcpu=a2 -m32 -mbig-endian -fno-stack-protector -Xassembler -defsym -Xassembler BIOS_32=1 -DCONFIG_BIOS_NO_BOOT=1 -DCONFIG_BIOS_NO_CRC=1 -DCONFIG_MAIN_RAM_INIT=1', 'WB_64LE' : '-mcpu=a2 -m64 -mlittle-endian -mabi=elfv2 -fno-stack-protector -Xassembler -defsym -Xassembler BIOS_LE=1' } - class A2O(CPU, AutoCSR): name = 'a2o' human_name = 'a2o' @@ -68,16 +68,17 @@ class A2O(CPU, AutoCSR): variant = 'WB_64LE' if variant == 'WB_32BE': - #self.family = 'ppc' # kills meson build - self.family = 'powerpc' + self.family = 'ppc' # kills meson build unless update meson.build file + #self.family = 'powerpc' self.data_width = 32 self.endianness = 'big' self.gcc_triple = 'powerpc-linux-gnu' self.linker_output_format = 'elf32-powerpc' + self.platform = platform self.variant = variant - self.human_name = CPU_VARIANTS.get(variant, 'a2o') + self.human_name = 'a2o_' + variant # CPU_VARIANTS.get(variant, 'a2o') self.external_variant = None self.reset = Signal() self.interrupt = Signal(3) diff --git a/dev/build/litex/a2o/crt0.S b/dev/build/litex/a2o/crt0.S index 994f45c..3607278 100644 --- a/dev/build/litex/a2o/crt0.S +++ b/dev/build/litex/a2o/crt0.S @@ -10,7 +10,7 @@ # litex boot kernel (original ppc-embedded architecture) # resets to 32BE # set up translations for starting bios (inc. BE/LE) -# copy modifiable rom data to ram - or do in bios? +# copy modifiable rom data to ram # set up msr for running bios (inc. 32/64) # jump to bios @@ -23,8 +23,15 @@ # 32/64 #.set BIOS_32,1 -# this is for xlate setup of 2nd entry; it should be related to _fdata i think +# this is for i/d xlate setup of 2nd entry; it should be related to _fdata i think .set BIOS_START,0x10000 +# this is for d xlate setup of 3rd entry; it needs to be defined by memory map; it could be done by bios code, +# but has to be done before uart_init is called +.set CSR_START,0xFFF00000 + +# needed for litex +.set ROM_INIT,1 + # not needed for litex .set BIOS_STACK_0,_fstack-8 .set BIOS_STACK_1,_fstack-8 @@ -81,6 +88,9 @@ _start: int_000: b boot_start +# ints need to handle save/restore and call to isr (like uart_isr()) +# enable in a2node when it's safe (stack set up, etc.) + # critical input .org 0x020 int_020: @@ -233,9 +243,6 @@ int_340: # ------------------------------------------------------------------------------------------------------------------------------ # initial translation -# both erats: -# 00000000 64K: (rom, BE) -# 00010000 64K: (ram, BE or LE) # .org 0x400 boot_start: @@ -271,6 +278,18 @@ boot_start: eratwe r8,r0,0 isync +# derat 29 @ I=1!!! + li r0,0x001D # entry #29 + ori r10,r10,0x0F00 # word 2 with WIMG=F + load32 r4,CSR_START # word 1 rpn(32:51)=32:51 rpn(22:31)=54:63 + load32 r8,CSR_START + ori r8,r8,0x023F # word 0 epn=32:51 class=52:53 v=54 x=55 size=56:59 thrd=60:63 size: 0001=4K 0011=64K 0101=1M 0111=16M 1010=1G + + eratwe r10,r0,2 + eratwe r4,r0,1 + eratwe r8,r0,0 + isync + lis r3,0x8800 # 32=ecl 36:37=tlbsel (10=i, 11=d) # ierat 15 @00000000 @@ -307,6 +326,49 @@ boot_start: init_t0: +.ifdef ROM_INIT +######################################################################################################################################## +# VMA/LMA: copy .data, clear .bss +rominit: + lis r1,_fdata_rom@h + ori r1,r1,_fdata_rom@l + lis r2,_fdata@h + ori r2,r2,_fdata@l + lis r3,_edata_rom@h + ori r3,r3,_edata_rom@l + lis r4,_fbss@h + ori r4,r4,_fbss@l + lis r5,_ebss@h + ori r5,r5,_ebss@l + + subf r9,r1,r3 + srwi. r9,r9,2 + beq romcopy_done + mtctr r9 + addi r1,r1,-4 + addi r2,r2,-4 + +romcopy: + lwzu r9,4(r1) + stwu r9,4(r2) + bdnz romcopy + +romcopy_done: + subf r9,r4,r5 + srwi. r9,r9,2 + beq romclear_done + + mtctr r9 + addi r4,r4,-4 + li r9,0 + +romclear: + stwu r9,4(r4) + bdnz romclear + +romclear_done: +.endif + # set up threads # set thread configuration diff --git a/dev/build/litex/a2o/csr-defs.h b/dev/build/litex/a2o/csr-defs.h deleted file mode 100644 index e69de29..0000000 diff --git a/dev/build/litex/a2o/irq.h b/dev/build/litex/a2o/irq.h index aa99301..4cd7d57 100644 --- a/dev/build/litex/a2o/irq.h +++ b/dev/build/litex/a2o/irq.h @@ -1,6 +1,27 @@ #ifndef __IRQ_H #define __IRQ_H +// what do i implement for this? +// what if i want uart polling? uart still gen's uart_irq +// assign uart_irq = ((uart_pending_status[0] & uart_enable_storage[0]) | (uart_pending_status[1] & uart_enable_storage[1])); +// i have to disable in node i guess +/* uwatt +static inline void irq_setmask(unsigned int mask) +{ + int irq; + + // Enable all interrupts at a fixed priority level for now + int priority_level = PPC_EXT_INTERRUPT_PRIO; + + // Iterate over IRQs configured in mask, and enable / mask in ICS + for (irq = 0; irq < PPC_XICS_SRC_NUM; irq++) { + if ((mask >> irq) & 0x1) + xics_ics_write_xive(irq, priority_level); + else + xics_ics_write_xive(irq, 0xff); + } +} +*/ static inline void irq_setmask(unsigned int mask) { } diff --git a/dev/build/litex/a2o/system.h b/dev/build/litex/a2o/system.h index ac9d3fa..a14ffbe 100644 --- a/dev/build/litex/a2o/system.h +++ b/dev/build/litex/a2o/system.h @@ -1,61 +1,21 @@ -// a2p - #ifndef __SYSTEM_H #define __SYSTEM_H -#include - -/* -void flush_l2_cache(void) { -} -*/ -static void flush_cpu_icache(void); -static void flush_cpu_dcache(void); - -static void flush_cpu_icache(void) { -} -static void flush_cpu_dcache(void) { -} - -#define CSR_ACCESSORS_DEFINED - -#ifdef __ASSEMBLER__ -#define MMPTR(x) x -#else /* ! __ASSEMBLER__ */ - -/* CSRs are stored in subregister slices of CONFIG_CSR_DATA_WIDTH (native - * endianness), with the least significant slice at the lowest aligned - * (base) address. */ - -#include -#if !defined(CONFIG_CSR_DATA_WIDTH) -#error CSR_DATA_WIDTH MUST be set before including this file! +#ifdef __cplusplus +extern "C" { #endif -/* CSR subregisters (a.k.a. "simple CSRs") are embedded inside uint32_t - * aligned locations: */ -#define MMPTR(a) (*((volatile uint32_t *)(a))) - -static inline unsigned long swizzle(unsigned long v); - -static inline unsigned long swizzle(unsigned long v) { - return ((v & 0x000000FF) << 24) | ((v & 0x0000FF00) << 8) | ((v & 0x00FF0000) >> 8) | ((v & 0xFF000000) >> 24); - //return v; +static inline void flush_cpu_icache(void) { } +static inline void flush_cpu_dcache(void){ +}; +void flush_l2_cache(void); -static inline void csr_write_simple(unsigned long v, unsigned long a) -{ - //MMPTR(a) = v; - MMPTR(a) = swizzle(v); -} +void busy_wait(unsigned int ms); +void busy_wait_us(unsigned int us); -static inline unsigned long csr_read_simple(unsigned long a) -{ - //return MMPTR(a); - return swizzle(MMPTR(a)); +#ifdef __cplusplus } - -#endif /* ! __ASSEMBLER__ */ +#endif #endif /* __SYSTEM_H */ - diff --git a/dev/build/litex/a2o_32.py b/dev/build/litex/a2o_32.py index 4954241..fd589b2 100755 --- a/dev/build/litex/a2o_32.py +++ b/dev/build/litex/a2o_32.py @@ -101,6 +101,10 @@ class BaseSoC(SoCCore): # no irq yet, but should be able to connect; need irq handler in crt0.s self.add_constant('UART_POLLING') + # skip bios crc for sim + #self.add_constant('CONFIG_BIOS_NO_CRC') # doesnt work? + #self.add_config("BIOS_NO_CRC") # doesnt work? + #had to -DCONFIG_BIOS_NO_CRC=1 in GCC_FLAGS # this appears to be how to set up fixed csr order but not sure it works this way. https://github.com/litex-hub/linux-on-litex-vexriscv/blob/master/soc_linux.py #SoCCore.csr_map diff --git a/dev/sim/verilator/cmod7_kintex_rom.init b/dev/sim/verilator/cmod7_kintex_rom.init index deb17e7..7c1dc83 100644 --- a/dev/sim/verilator/cmod7_kintex_rom.init +++ b/dev/sim/verilator/cmod7_kintex_rom.init @@ -1,213 +1,212 @@ -48000400 -44000002 +00040048 00000000 00000000 00000000 00000000 00000000 00000000 -48001010 00000000 +00000048 00000000 00000000 00000000 00000000 00000000 00000000 -48000000 00000000 +00000048 00000000 00000000 00000000 00000000 00000000 00000000 -48000000 00000000 +00000048 00000000 00000000 00000000 00000000 00000000 00000000 -48000000 00000000 +00000048 00000000 00000000 00000000 00000000 00000000 00000000 -48000000 00000000 +00000048 00000000 00000000 00000000 00000000 00000000 00000000 -48000000 00000000 +00000048 00000000 00000000 00000000 00000000 00000000 00000000 -48000000 00000000 +00000048 00000000 00000000 00000000 00000000 00000000 00000000 -48000000 00000000 +00000048 00000000 00000000 00000000 00000000 00000000 00000000 -48012134 00000000 +00000048 00000000 00000000 00000000 00000000 00000000 00000000 -48000000 00000000 +00000048 00000000 00000000 00000000 00000000 00000000 00000000 -48000000 00000000 +00000048 00000000 00000000 00000000 00000000 00000000 00000000 -48000000 00000000 +00000048 00000000 00000000 00000000 00000000 00000000 00000000 -48000000 00000000 +00000048 00000000 00000000 00000000 00000000 00000000 00000000 -48000000 00000000 +00000048 00000000 00000000 00000000 00000000 00000000 00000000 -48000000 00000000 +00000048 00000000 00000000 00000000 00000000 00000000 00000000 -48000000 00000000 +00000048 00000000 00000000 00000000 00000000 00000000 00000000 -48000000 00000000 +00000048 00000000 00000000 00000000 00000000 00000000 00000000 -48000000 00000000 +00000048 00000000 00000000 00000000 00000000 00000000 00000000 -48000000 00000000 +00000048 00000000 00000000 00000000 00000000 00000000 00000000 -48000000 00000000 +00000048 00000000 00000000 00000000 00000000 00000000 00000000 -48000000 00000000 +00000048 00000000 00000000 00000000 00000000 00000000 00000000 -48000000 00000000 +00000048 00000000 00000000 00000000 00000000 00000000 00000000 -48000000 00000000 +00000048 00000000 00000000 00000000 00000000 00000000 00000000 -48000000 00000000 +00000048 00000000 00000000 00000000 00000000 00000000 00000000 -48000000 00000000 +00000048 00000000 00000000 00000000 00000000 00000000 00000000 -48000000 00000000 +00000048 00000000 00000000 00000000 @@ -254,78 +253,123 @@ 00000000 00000000 00000000 -7CBE6AA6 -2C250000 -408200E0 -3C608C00 -3800001F -38400015 -38800000 -3900023F -7C7CFBA6 -7C4011A6 -7C8009A6 -7D0001A6 -4C00012C -39400000 -654A0000 -614A003F -3800001E -38800000 -64840001 -60840000 -39000000 -65080001 -61080000 -6108023F -7D4011A6 -7C8009A6 -7D0001A6 -4C00012C -3C608800 -3800000F -3840003F -38800000 -3900023F -7C7CFBA6 -7C4011A6 -7C8009A6 -7D0001A6 -4C00012C -3800000D -38800000 -64840001 -60840000 -39000000 -65080001 -61080000 -6108023F -7D4011A6 -7C8009A6 -7D0001A6 -4C00012C -48000004 -39400000 -654A8002 -614AB000 -7D400124 -4C00012C -802008FA -48000020 -39400000 -654A8002 -614AB000 -7D400124 -4C00012C -802008FE -48000004 -3C600000 -60630C34 -7C6903A6 -7C7E6AA6 -4E800421 -480002E4 00000000 +A66ABE7C +0000252C +94018240 +008C603C +1F000038 +15004038 +00008038 +3F020039 +A6FB7C7C +A611407C +A609807C +A601007D +2C01004C +00004039 +00004A65 +BF004A61 +1E000038 +00008038 +01008464 +00008460 +00000039 +01000865 +00000861 +3F020861 +A611407D +A609807C +A601007D +2C01004C +1D000038 +000F4A61 +00008038 +F0FF8464 +00008460 +00000039 +F0FF0865 +00000861 +3F020861 +A611407D +A609807C +A601007D +2C01004C +0088603C +0F000038 +3F004038 +00008038 +3F020039 +A6FB7C7C +A611407C +A609807C +A601007D +2C01004C +0D000038 +00008038 +01008464 +00008460 +00000039 +01000865 +00000861 +3F020861 +A611407D +A609807C +A601007D +2C01004C +04000048 +0000203C +00002160 +0000403C +00004260 +0000603C +00006360 +0000803C +00008460 +0000A03C +0000A560 +5018217D +BFF02955 +1C008241 +A603297D +FCFF2138 +FCFF4238 +04002185 +04002295 +F8FF0042 +5028247D +BFF02955 +18008241 +A603297D +FCFF8438 +00002039 +04002495 +FCFF0042 +01002038 +A66B367C +F808217C +A66B377C +2C01004C +00004039 +02804A65 +00B04A61 +2401407D +2C01004C +00002080 +20000048 +00004039 +02804A65 +00B04A61 +2401407D +2C01004C +00002080 +04000048 +0000603C +00006360 +A603697C +A66A7E7C +2104804E +30020048 00000000 00000000 00000000 @@ -465,6 +509,8 @@ 00000000 00000000 00000000 +00000048 +00000048 00000000 00000000 00000000 @@ -472,6 +518,7 @@ 00000000 00000000 00000000 +00000048 00000000 00000000 00000000 @@ -506,11 +553,7 @@ 00000000 00000000 00000000 -48000000 -48000000 00000000 -48000000 -48000000 00000000 00000000 00000000 @@ -518,7 +561,6 @@ 00000000 00000000 00000000 -48000000 00000000 00000000 00000000 @@ -528,3268 +570,7430 @@ 00000000 00000000 00000000 +0000603C +00006360 +A603C97C +2004804E +E0FF2194 +A602087C +24000190 +08006190 +0C008190 +1000A190 +1400C190 +77006038 +2E406354 +74006360 +2E406354 +66006360 +2E406354 +21006360 +18006190 +1C006190 +24000180 +A603C87C +20002138 +2000804E +00000048 +A602087C +781B697C +060063E8 +7833C87C +0000A62F +4D480048 +00008039 +0004A03F +4401403F +0110BD63 +0100003F +C607BD7B +E483187B +01000038 +0026BD63 +0400803B +FFFF603B +0400E63B +0800C63B +41045A63 +0300203B +00261863 +00006981 +40282B7C +10008040 +AE58447D +00002A2C +48008240 +0000282C +3C008241 +04004981 +04008838 +08000839 +FFFF4A39 +01002A39 +B407477D +20002979 +FFFF0A2C +01002939 +08008040 +01002039 +0100292C +FFFF2939 +8C048240 +00480048 +3A000A28 +8C038241 +88008141 +22000A28 +04028241 +30008141 +F7FFCA38 +3E06C654 +17000628 +28008141 +36500A7C +39C04A7D +1C008241 +00004981 +01004A39 +00004991 +64FFFF4B +2C000A28 +58038241 +0000C982 +40B0257C +2C008140 +AEB0447D +00002A2C +20008241 +3A000A28 +C4038141 +08000A28 +C8038140 +3650067C +39E8C67C +BC038241 +D4039E40 +FFFFD63A +0000C992 +F8010048 +7B000A28 +7C008241 +20008141 +5B000A28 +70008241 +5D000A28 +A4FF8240 +88FF9E41 +0200A03A +14000048 +7D000A28 +90FF8240 +74FF9E41 +0100A03A +04004981 +FFFF4A39 +B4074A7D +E4265679 +0100CA38 +14B2C87E +2000C678 +FFFF0A2C +0100C638 +08008040 +0100C038 +0100262C +FFFFC638 +84008240 +FFFF0A2C +30FF8240 +FEFF6038 +F0FEFF4B +01006338 +B407637C +1CFF9E41 +0400E982 +40B8077C +38018140 +0100D738 +0400C990 +0A00C9E8 +E426F47A +14A2C87E +08007693 +0C009691 +FFFF062C +18008241 +E426C678 +1432C87C +0C00A682 +0100B53A +0C00A692 +0100C038 +7B000A28 +08008241 +0200C038 +2EA1C87C +04007691 +0800E992 +B8FEFF4B +0400F682 +FFFF172C +74008241 +0800F682 +FFFF172C +68008240 +0000D680 +00A8067C +68FF8240 +0800E992 +01006B39 +0100CA38 +08007691 +2000C678 +FFFF0A2C +0100C638 +08008040 +0100C038 +0100262C +B407567D +FFFFC638 +60FE8241 +E4265779 +2EB87F7D +FFFF0B2C +28008241 +2EB87E7D +FFFF0B2C +1C008240 +0800C992 +3CFEFF4B +FFFF4A39 +F0FFD63A +B4074A7D +ECFEFF4B +FFFF4A39 +B8FFFF4B +0100CB38 +0000C990 +0000E982 +40B8257C +10008140 +AEB8447D +00002A2C +10008240 +00006991 +FDFF6038 +C0FDFF4B +22000A28 +70008240 +3C009E41 +04004981 +4050077C +10008141 +00006991 +FFFF6038 +9CFDFF4B +01006A39 +E4264A79 +04006991 +1452687D +2E51287F +0400CB90 +0800EB92 +0C008B91 +0A0049E9 +01006338 +B407637C +FFFF0A2C +A0FD8241 +9CFD9E41 +E4264A79 +1452487D +0C00CA80 +0100C638 +0C00CA90 +84FDFF4B +5C000A28 +3C008240 +0100D73A +2000CA7A +4050257C +2C008140 +0000C992 +AE50447D +75000A28 +94008141 +5B000A28 +24008141 +22000A28 +0C008241 +2F000A28 +7C008240 +00004981 +01004A39 +00004991 +1CFFFF4B +A4FF4A39 +3E064A55 +36500A7C +39D0567D +E0FF8240 +00024A75 +50008241 +04004039 +A603497D +0200F73A +0000E992 +0000E982 +40B8257C +48008140 +AEB8447D +00002A2C +3C008241 +D0FFCA3A +3E06D656 +09001628 +20008140 +F2064A55 +BFFF4A39 +3E064A55 +05000A28 +0C008140 +00006991 +98FDFF4B +0100F73A +0000E992 +B4FF0042 +00004981 +FFFF4A39 +00004991 +68FFFF4B +04004981 +FFFF4A39 +08004991 +98FCFF4B +94FC9E41 +0A0049E9 +FFFF0A2C +88FC8241 +E4264A79 +2E50487D +FFFF4A39 +01000A28 +74FC8140 +0400C980 +FFFFC638 +01004639 +B407D77C +20004A79 +FFFF062C +01004A39 +08008040 +01004039 +01002A2C +B407F67E +FFFF4A39 +40FC8241 +E426EB7A +2E58C87C +FFFFC638 +01000628 +1C008141 +2E58DF7C +FFFF062C +10008241 +2E58DE7C +FFFF062C +D4FD8241 +FFFFF73A +C0FFFF4B +DF004671 +5D00062C +4CFC8241 +E0FF4A39 +3E064A55 +5E000A28 +28FF8141 +0100D63A +0000C992 +FCFBFF4B +0400C980 +4030077C +FCFD8140 +01004639 +E426C678 +04004991 +1432E87E +2E31887F +04007791 +0800D792 +0C009791 +04FCFF4B +E426E578 +2E28447D +FFFF0A2C +10008241 +2E28487D +FFFF0A2C +9CFD8241 +FFFFE738 +4CFBFF4B +00000000 +00000001 +000C0000 +00002039 +00002391 +04002391 +FFFF2039 +08002391 +2000804E +00000000 +00000000 +00000000 +00004C3C +20714238 +A602087C +E9420048 +81FF21F8 +782BBC7C +7833DF7C +781B7E7C +78239D7C +00000060 +7833C47C +A8DE6238 +9D2A0048 +00000060 +00000060 +D0DE6238 +8D2A0048 +00000060 +4D420048 +00000060 +FD350048 +00000060 +78FBE67F +78E3857F +78EBA47F +78F3C37F +A9F9FF4B +00000060 +00000048 +00000000 +00000001 +80040000 +00004C3C +A0704238 +A602087C +51420048 +41FE21F8 +00000060 +00000060 +08DF6238 +98DFE23B +292A0048 +00000060 +78FBFD7F +00000060 +20DF6238 +152A0048 +00000060 +00007F88 +0000232C +80008240 +F0FF203D +F0FF403D +08382961 +04384A61 +20002979 +20004A79 +00006990 +7D01003D +00006A90 +40780861 +F0FF403D +F0FFC03F +00384A61 +0C38DE63 +20004A79 +2000DE7B +00000A91 +F0FF803F +01004039 +10389C63 +00004991 +0000E03B +00005E91 +20009C7B +0100603B +00003C81 +0000292C +20008240 +00000060 +78DF6238 +EC010048 +C5400048 +00000060 +0100FF3B +6CFFFF4B +8D400048 +00000060 +0000232C +04018241 +2D400048 +00000060 +51000328 +80028241 +1B000328 +78028241 +14FA3D7D +10002989 +0018097C +D0008240 +01003F39 +B4073F7D +0E00092C +CC008240 +F0FFA03F +F0FF403F +0838BD63 +04385A63 +F0FF203F +5F00003F +00383963 +F0FF803F +F0FFE03E +0C389C63 +1038F762 +0000C03B +6000613B +2000BD7B +20005A7B +2000397B +105E1863 +20009C7B +2000F77A +0000E03B +0100C03A +F13F0048 +00000060 +0000232C +34008241 +00003F2C +68008240 +0000FD93 +0000FA93 +00001993 +0000DD92 +0000DC92 +753F0048 +00000060 +60006198 +0100FF3B +B407FF7F +0000DC92 +00003F2C +B8FF8241 +00003781 +0000292C +ACFF8240 +45006038 +BD3F0048 +00000060 +94FFFF4B +7A006368 +3400637C +7ED97F54 +00007E93 +C4FEFF4B +01001F2C +1C008241 +02001F2C +24008240 +153F0048 +00000060 +62006198 +A0FFFF4B +053F0048 +00000060 +61006198 +90FFFF4B +03001F2C +98008241 +84FF8140 +E93E0048 +00000060 +FCFF3F39 +B407297D +144A3B7D +04006998 +60002189 +60008188 +03002939 +00F8097C +58FF8240 +62004189 +61002189 +01008438 +63006138 +0C404979 +3EC63F55 +2E442A55 +7853FF7F +7D310048 +00000060 +3E04FF57 +00181F7C +44008241 +43006038 +FD3E0048 +00000060 +01003E39 +B4073E7D +0001092C +C8FE8240 +00000060 +50DF6238 +9D270048 +00000060 +3C000048 +593E0048 +00000060 +63006198 +E4FEFF4B +63002189 +01000928 +2C008241 +02000928 +58008241 +0000292C +74008240 +4B006038 +A13E0048 +00000060 +01006038 +C0012138 +B03F0048 +64002139 +6000A188 +2C4C607C +68008138 +0000C03B +FCFFA538 +B407A57C +BD230048 +00000060 +4B006038 +653E0048 +00000060 +3CFEFF4B +4B006038 +553E0048 +00000060 +64002139 +2C4CC07C +0000A038 +00008038 +00006038 +35FCFF4B +0100FE3B +55006038 +B407FE7F +293E0048 +00000060 +00011F2C +34FFFF4B +00000060 +88DF6238 +D1260048 +00000060 +00006038 +70FFFF4B +00000000 +00000001 +800A0000 +00004C3C +086D4238 +A602087C +B53E0048 +41FF21F8 +0100223D +00852939 +78239E7C +781B7D7C +782BBC7C +00000060 +000089E8 +B8DF6238 +00000060 +00000060 +00000060 +00000060 +00000060 +00000060 +E5250048 +00000060 +C8DF223B +D8DF023B +E0DFE23A +F0E2423B +F0DFC23A +E8DFA23A +00001E2C +1C008141 +00000060 +80E96238 +39260048 +00000060 +C0002138 +883E0048 +78F3DF7F +10001E2C +08008140 +1000E03B +78E3847F +78CB237F +B407FF7F +0D260048 +00000060 +0000603B +AED89D7C +78C3037F +01007B3B +F5250048 +00000060 +00F81B7C +E8FF8041 +78FBFB7F +10001B2C +60008240 +78D3437F +0000603B +D1250048 +00000060 +AED89D7C +E0FF2439 +3E062955 +5E000928 +54008140 +78ABA37E +B1250048 +00000060 +01007B3B +00D81F7C +D8FF8141 +78FBFB7F +10001B2C +40008240 +50F0DF7F +14FABD7F +B407DE7F +14FA9C7F +38FFFF4B +78BBE37E +01007B3B +75250048 +00000060 +B4077B7F +88FFFF4B +78B3C37E +61250048 +00000060 +B0FFFF4B +78D3437F +01007B3B +4D250048 +00000060 +B4077B7F +A8FFFF4B +00000000 +00000001 +800B0000 +00004C3C +846B4238 +A602087C +F8FFE1FB +100001F8 +91FF21F8 +00000060 +D8FB8238 +00000060 +00806238 +0000E483 +5020837C +20008478 +152F0048 +00000060 +781B657C +40181F7C +20008240 +781B647C +00000060 +F8DF6238 +DD240048 +00000060 +70002138 +683D0048 +78FBE47F +00000060 +18E06238 +C1240048 +00000060 +00000060 +48E06238 +B1240048 +00000060 +D4FFFF4B +00000000 +00000001 +80010000 +08000039 +A603097D +782BA97C +00004039 +000049F9 +08002939 +F8FF0042 +000064F8 +00002389 +20000928 +70008241 +0000292C +0C008240 +00006038 +2000804E +01006338 +E0FFFF4B +01002939 +34000048 +0000E998 +7853437D +01002939 +00004989 +20000A28 +F4FF8241 +00002A2C +2000824D +01004339 +241F6378 +B4074A7D +2A19257D +00000989 +20000828 +C8FF8241 +0000282C +B8FF8240 +7853437D +2000804E +01002339 +00004039 +0000E038 +00004399 +00006038 +ACFFFF4B +00000000 +00000000 +00000000 +00004C3C +306A4238 +A602087C +F53B0048 +B1FF21F8 +00000060 +50F6E23B +00000060 +D0F6623B +781B7E7C +78239D7C +782BBC7C +00D83F7C +0C008240 +00006038 +44000048 +00003FE9 +78F3C37F +080089E8 +B52B0048 +00000060 +0000232C +30008240 +00003FE9 +78EBA37F +78E3847F +000089E9 +180041F8 +A603897D +2104804E +180041E8 +00007FE8 +50002138 +CC3B0048 +0800FF3B +A4FFFF4B +00000000 +00000001 +80050000 +00004C3C +94694238 +A602087C +F8FFE1FB +100001F8 +D1FF21F8 +00000060 +D0F6E23B +00000060 +D0F62239 +00483F7C +0C008240 +30002138 +A43B0048 +00009FE9 +180041F8 +0800FF3B +A603897D +2104804E +180041E8 +D0FFFF4B +00000000 +00000001 +80010000 +2000804E +00000000 +00000000 +00000000 +00004C3C +24694238 +A602087C +E53A0048 +71FF21F8 +00000060 +88E06238 +1D230048 +00000060 +00000060 +D0F6A23B +00000060 +00000060 +00000060 +0000C03B +B0E0823B +80E0623B +80E9423B +00000060 +00002039 +50F6E23B +3C000048 +00005FE9 +18000A81 +00F0087C +28008240 +1000AAE8 +08008AE8 +0000252C +08008240 +78DB657F +78E3837F +51220048 +00000060 +01002039 +0800FF3B +00E83F7C +C4FF8240 +0000292C +10008241 +78D3437F +2D220048 +00000060 +01003E39 +B4073E7D +0900092C +90FF8240 +90002138 +803A0048 +00000000 +00000001 +80060000 +00004C3C +54684238 +A602087C +100001F8 +A1FF21F8 +F0FF203D +00202961 +20002979 +00008980 +00000060 +C0E06238 +D5210048 +00000060 +60002138 +100001E8 +A603087C +2000804E +00000000 +00000001 +80000000 +00004C3C +04684238 +A602087C +100001F8 +A1FE21F8 +0001E038 +A603E97C +60002139 +F0FF403D +784B287D +00304A61 +20004A79 +0000EA80 +01002939 +04004A39 +FFFFE998 +F0FF0042 +60002189 +00000060 +80E08238 +0000092C +08008241 +7843047D +00000060 +D8E06238 +4D210048 +00000060 +60012138 +100001E8 +A603087C +2000804E +00000000 +00000001 +80000000 +00004C3C +7C674238 +A602087C +F8FFE1FB +100001F8 +81FF21F8 +0000032C +1C008141 +00000060 +E8E06238 +01210048 +00000060 +80002138 +8C390048 +7823897C +000069E8 +0000A038 +60008138 +FD1C0048 +00000060 +600021E9 +00002989 +0000092C +10008241 +00000060 +F8E06238 +C0FFFF4B +20007F78 +00000060 +78FBE47F +08E16238 +AD200048 +00000060 +F0FF203D +00182961 +20002979 +0000E993 +9CFFFF4B +00000000 +00000001 +80010000 +00004C3C +D8664238 +A602087C +A5380048 +71FF21F8 +0100032C +1C008141 +00000060 +20E16238 +61200048 +00000060 +90002138 +D0380048 +78239F7C +00007FE8 +0000A038 +6000A13B +78EBA47F +591C0048 +00000060 +600021E9 +781B7E7C +00000060 +38E16238 +00002989 +0000092C +BCFF8240 +08007FE8 +0000A038 +78EBA47F +291C0048 +00000060 +600021E9 +00002989 +0000092C +10008241 +00000060 +50E16238 +8CFFFF4B +20006478 +78F3C37F +F9290048 +00000060 +781B647C +00000060 +68E16238 +CD1F0048 +00000060 +6CFFFF4B +00000000 +00000001 +80030000 +00004C3C +08664238 +A602087C +100001F8 +A1FF21F8 +00000060 +58E26238 +991F0048 +00000060 +00000060 +78E26238 +F11F0048 +00000060 +60002138 +100001E8 +A603087C +2000804E +00000000 +00000001 +80000000 +00004C3C +B8654238 +A602087C +79370048 +61FF21F8 +0100032C +1C008141 +00000060 +F8E26238 +411F0048 +00000060 +A0002138 +A4370048 +78239B7C +781B7D7C +00007BE8 +0000A038 +6000413B +78D3447F +351B0048 +00000060 +600021E9 +781B7F7C +00000060 +38E16238 +00002989 +0000092C +B8FF8240 +08007BE8 +0000A038 +78D3447F +051B0048 +00000060 +600021E9 +781B7C7C +00000060 +F8E06238 +00002989 +0000092C +88FF8240 +0100C03B +04006038 +02001D2C +58008241 +10007BE8 +0000A038 +78D3447F +C51A0048 +00000060 +600021E9 +20007E78 +00000060 +28E36238 +00002989 +0000092C +48FF8240 +04006038 +04001D2C +1C008240 +18007BE8 +0000A038 +78D3447F +891A0048 +00000060 +20006378 +01003E39 +A603297D +2000887B +1CFF4042 +02000328 +20008241 +04000328 +24008241 +01000328 +28008240 +00009F9B +0100FF3B +DCFFFF4B +00009FB3 +0200FF3B +D0FFFF4B +00001F91 +0400FF3B +C4FFFF4B +00000060 +38E36238 +CCFEFF4B +00000000 +00000001 +80060000 +00004C3C +50644238 +A602087C +15360048 +61FF21F8 +0100032C +1C008141 +00000060 +48E36238 +D91D0048 +00000060 +A0002138 +40360048 +78239C7C +781B7E7C +00007CE8 +0000A038 +6000613B +78DB647F +CD190048 +00000060 +600021E9 +781B7D7C +00000060 +68E36238 +00002989 +0000092C +B8FF8240 +08007CE8 +0000A038 +78DB647F +9D190048 +00000060 +600021E9 +781B7F7C +00000060 +88E36238 +00002989 +0000092C +88FF8240 +01006038 +02001E2C +38008241 +10007CE8 +0000A038 +78DB647F +61190048 +00000060 +600021E9 +20006378 +00002989 +0000092C +10008241 +00000060 +28E36238 +48FFFF4B +01002339 +A603297D +50E8BF7F +40FF4042 +00005F81 +2EE95F7D +0400FF3B +F0FFFF4B +00000000 +00000001 +80050000 +00004C3C +44634238 +A602087C +09350048 +61FF21F8 +0200032C +1C008141 +00000060 +A8E36238 +CD1C0048 +00000060 +A0002138 +34350048 +78239F7C +00007FE8 +0000A038 +6000C13B +78F3C47F +C5180048 +00000060 +600021E9 +781B7D7C +00000060 +C8E36238 +00002989 +0000092C +BCFF8240 +08007FE8 +0000A038 +78F3C47F +95180048 +00000060 +600021E9 +781B7C7C +00000060 +D8E36238 +00002989 +0000092C +8CFF8240 +10007FE8 +78F3C47F +0000A038 +65180048 +00000060 +600021E9 +781B7E7C +00000060 +28E36238 +00002989 +0000092C +5CFF8240 +00000060 +8817DE7B +0000E03B +01002039 +E8E3623B +14E2DF7C +14EA9F7C +40F03F7C +20008240 +00000060 +0000292C +48E46238 +28FF8240 +00000060 +68E46238 +1CFFFF4B +2EE8BF7C +2EE0FF7C +4038057C +14008241 +78DB637F +D11B0048 +00000060 +00002039 +0400FF3B +B0FFFF4B +00000000 +00000001 +80050000 +00004C3C +04624238 +A602087C +CD330048 +71FF21F8 +0000032C +1C008141 +00000060 +90E46238 +8D1B0048 +00000060 +90002138 +F8330048 +78239E7C +781B7F7C +00007EE8 +0000A038 +6000813B +78E3847F +81170048 +00000060 +600021E9 +781B7D7C +00000060 +38E16238 +00002989 +0000092C +B8FF8240 +01001F2C +38008241 +08007EE8 +78E3847F +0000A038 +49170048 +00000060 +600021E9 +20006478 +00002989 +0000092C +14008241 +00000060 +B0E46238 +7CFFFF4B +04008038 +78EBA57F +B407847C +78EBA37F +49F4FF4B +00000060 +68FFFF4B +00000000 +00000001 +80040000 +00004C3C +30614238 +A602087C +F9320048 +71FF21F8 +0000032C +1C008141 +00000060 +C8E46238 +B91A0048 +00000060 +90002138 +24330048 +78239E7C +781B7F7C +00007EE8 +0000A038 +6000813B +78E3847F +AD160048 +00000060 +600021E9 +781B7D7C +00000060 +38E16238 +00002989 +0000092C +B8FF8240 +01001F2C +38008241 +08007EE8 +78E3847F +0000A038 +75160048 +00000060 +600021E9 +781B647C +00002989 +0000092C +14008241 +00000060 +38E36238 +7CFFFF4B +FFFF8038 +78EBA37F +912F0048 +00000060 +70FFFF4B +00000000 +00000001 +80040000 +00004C3C +64604238 +A602087C +25320048 +61FF21F8 +0100032C +1C008141 +00000060 +E8E46238 +ED190048 +00000060 +A0002138 +50320048 +78239E7C +781B7F7C +00007EE8 +0000A038 +6000813B +78E3847F +E1150048 +00000060 +600021E9 +781B7B7C +00000060 +38E16238 +00002989 +0000092C +B8FF8240 +08007EE8 +0000A038 +78E3847F +B1150048 +00000060 +600021E9 +781B7A7C +00000060 +38E36238 +00002989 +0000092C +88FF8240 +0000A03B +0000C038 +02001F2C +7C008241 +10007EE8 +0000A038 +78E3847F +71150048 +00000060 +600021E9 +FFFFA333 +1019BD7F +00000060 +18E56238 +00002989 +0000092C +44FF8240 +03001F2C +3C008241 +18007EE8 +0000A038 +78E3847F +35150048 +00000060 +600021E9 +FFFFC330 +1019C67C +00002989 +0000092C +14008241 +00000060 +38E56238 +04FFFF4B +0000C038 +78EBA57F +78D3447F +78DB637F +6D2B0048 +00000060 +F0FEFF4B +00000000 +00000001 +80060000 +F0FF203D +01004039 +00282961 +20002979 +00004991 +2000804E +00000000 +00000000 +00000000 +00004C3C +F45E4238 +A602087C +B9300048 +61FF21F8 +0000032C +1C008141 +00000060 +68E66238 +7D180048 +00000060 +A0002138 +E4300048 +78239E7C +781B7F7C +00007EE8 +0000A038 +6000813B +78E3847F +71140048 +00000060 +600021E9 +781B7B7C +00000060 +38E16238 +00002989 +0000092C +B8FF8240 +0000A03B +00006038 +01001F2C +A8008241 +08007EE8 +0000A038 +78E3847F +31140048 +00000060 +600021E9 +781B7D7C +00000060 +88E66238 +00002989 +0000092C +78FF8240 +02001F2C +34008241 +10007EE8 +0000A038 +78E3847F +F9130048 +00000060 +600021E9 +00002989 +0000092C +14008241 +00000060 +98E66238 +40FFFF4B +00006038 +03001F2C +34008140 +18007EE8 +0000A038 +78E3847F +BD130048 +00000060 +600021E9 +00002989 +0000092C +10008241 +00000060 +A8E66238 +04FFFF4B +781B647C +78DB667F +0000A038 +78EBA37F +A9ECFF4B +00000060 +00000000 +00000001 +80050000 +00004C3C +AC5D4238 +A602087C +692F0048 +D1FE21F8 +D52E0048 +00000060 +00000060 +80E9E23B +78FBE37F +31170048 +00000060 +00000060 +10E76238 +21170048 +00000060 +00000060 +38E76238 +11170048 +00000060 +00000060 +60E76238 +01170048 +00000060 +00000060 +88E76238 +F1160048 +00000060 +00000060 +B0E76238 +E1160048 +00000060 +78FBE37F +D5160048 +00000060 +00000060 +E0E76238 +C5160048 +00000060 +00000060 +08E86238 +B5160048 +00000060 +78FBE37F +A9160048 +00000060 +00000060 +30E86238 +99160048 +00000060 +69F1FF4B +00000060 +78FBE37F +85160048 +00000060 +00000060 +58E86238 +75160048 +00000060 +78FBE37F +69160048 +00000060 +00000060 +78E86238 +59160048 +00000060 +6400A038 +00000060 +00000060 +B0E88238 +C0E86238 +3D160048 +00000060 +0400C038 +2000A038 +00000060 +00000060 +E0E88238 +F0E86238 +1D160048 +00000060 +20008038 +00000060 +18E96238 +09160048 +00000060 +40008038 +00000060 +38E96238 +F5150048 +00000060 +40008038 +00000060 +50E96238 +E1150048 +00000060 +00408038 +00000060 +68E96238 +CD150048 +00000060 +78FBE37F +C1150048 +00000060 +00000060 +88E96238 +B1150048 +00000060 +2000803C +0001603C +092B0048 +00000060 +0000C038 +781B7E7C +0000A038 +2000803C +0001603C +15280048 +00000060 +01001E2C +14008241 +00000060 +C0E96238 +6D150048 +00000060 +78FBE37F +61150048 +00000060 +21F2FF4B +00000060 +00003E2C +40008241 +00000060 +E0E96238 +41150048 +00000060 +F5EAFF4B +00000060 +0000232C +14008241 +00000060 +18EA6238 +21150048 +00000060 +78FBE37F +15150048 +00000060 +00000060 +00000060 +30EA6238 +68EAA23B +FD140048 +00000060 +00000060 +51050048 +00000060 +80EAC23B +78EBA47F +78F3C37F +00000060 +D9140048 +00000060 +A000813B +E000413B +6000613B +88EA223B +40008038 +78E3837F +81050048 +00000060 +A0002189 +0000092C +4C008241 +78FBE37F +A1140048 +00000060 +78DB657F +78D3447F +78E3837F +F5EFFF4B +00000060 +781B647C +E00061E8 +78DB657F +A5F0FF4B +00000060 +0000232C +10008240 +78CB237F +65140048 +00000060 +78EBA47F +78F3C37F +55140048 +00000060 +8CFFFF4B +00000000 +00000001 +80070000 +00004C3C +905A4238 +A602087C +392C0048 +41FF21F8 +0100423D +0889EA3B +0A004039 +A603497D +781B7E7C +78239B7C +00002039 +00000039 +64362A79 +01002939 +AE511F7D +F4FF0042 +00000060 +50F6A23B +00000060 +D0F6823B +00E03D7C +4C008240 +78F3C37F +2D110048 +00000060 +0A004039 +A603497D +00000060 +10E02239 +00003BF9 +00002039 +64362A79 +AE505F7D +00000A2C +2C028240 +01002939 +ECFF0042 +00006038 +C0002138 +F42B0048 +00003DE9 +78F3C37F +080049EB +DD100048 +00000060 +781B657C +78F3C37F +78D3447F +F5100048 +00000060 +0000232C +40008240 +0A004039 +A603497D +00002039 +64362A79 +AE505F7D +B407237D +00000A2C +28008240 +00003DE9 +64366378 +4000A038 +141A7F7C +080089E8 +05110048 +00000060 +0800BD3B +40FFFF4B +01002939 +C4FF0042 +F0FFFF4B +01004A39 +AC010042 +00002039 +C0010048 +0A000039 +A603097D +00004039 +00002039 +64364879 +AE401F7D +0000082C +0C008241 +01002939 +B407297D +01004A39 +E4FF0042 +00006038 +0100092C +7C008241 +0000392C +74008240 +0100223D +2A8669E8 +0000232C +64008241 +00000060 +0000C03B +80E9E23A +0000803B +78BBE37E +A1120048 +00000060 +AEE03F7D +0000092C +24008241 +14E27F7C +D90F0048 +00000060 +04006338 +00F0037C +08008040 +78F3C37F +B4077E7C +40009C3B +80023C28 +CCFF8240 +00003E2C +30008240 +01006038 +00002039 +AEC93D7D +0000BBFB +00003D89 +0000092C +B4008240 +01002039 +0100423D +28862A91 +90FEFF4B +01009E3B +50002039 +D6E3897F +00000060 +00000060 +0000403B +0A00003B +A0EAA23A +B8E0823A +B407967F +AED03F7D +0000092C +30008241 +01005839 +96B32A7D +B407587D +14D2BF7C +D6B1297D +00480A7C +40008240 +782BA47C +78A3837E +D5110048 +00000060 +40005A3B +80023A28 +C0FF8240 +96E3387D +D6E1297D +00C0097C +5CFF8241 +78BBE37E +AD110048 +00000060 +4CFFFF4B +78F3C47F +78ABA37E +99110048 +00000060 +C4FFFF4B +00002039 +50FFFF4B +0100223D +C888A93B +00002039 +00004039 +00003D99 +0A002039 +A603297D +64364879 +AE401F7D +B407497D +0000082C +40FE8241 +64362979 +144A3F7D +B407637C +00000039 +8002BF38 +AE18C97C +B407197D +0000262C +2CFE8241 +78FBEA7F +0000EA88 +0000072C +18008241 +AE18EA7C +0000272C +18008241 +4030077C +08FE8240 +40004A39 +40282A7C +D8FF8240 +AE41DD7C +01006338 +01000839 +B4FFFF4B +00000000 +00000001 +800C0000 +00004C3C +38574238 +A602087C +01290048 +81FF21F8 +782BBF7C +781B7C7C +0000A680 +783BFE7C +0000A42F +10009E40 +00003F81 +0028097C +C8008240 +FFFF0839 +4028087C +24008040 +0100223D +00852939 +07006038 +000089E8 +A90F0048 +00000060 +80002138 +FC280048 +0100A538 +0000A690 +90009E41 +00009F80 +5028A47C +2000BD78 +01000528 +24008140 +01006438 +FFFFA538 +20006378 +2000A578 +14229E7C +141A7E7C +050D0048 +00000060 +00003F81 +78EBA47F +00000060 +A8EA6238 +AE499E7F +0000BF80 +142ABE7C +25100048 +00000060 +00003F81 +01002939 +00003F91 +FFFFBD3B +2100BD7B +80FF8241 +0100223D +00852939 +08006038 +000089E8 +0D0F0048 +00000060 +DCFFFF4B +00003F81 +01008038 +00000060 +A8EA6238 +AE499E7F +0000BF80 +142ABE7C +CD0F0048 +00000060 +00003F81 +01002939 +00003F91 +30FFFF4B +00000000 +00000001 +80040000 +00004C3C +FC554238 +00002039 +0100423D +0100023D +30862A91 +0100423D +34862A91 +FFFF4039 +38864891 +0A000039 +A603097D +0100423D +0000E038 +3C862A91 +0100423D +00002039 +40864A39 +64362879 +01002939 +AE51E87C +F4FF0042 +2000804E +00000000 +00000000 +00000000 +00004C3C +94554238 +A602087C +29270048 +F1FE21F8 +00002039 +74002191 +70002191 +0100223D +F0842939 +0100C23E +00000060 +0100C23F +00000060 +000049EB +0100A23E +00000060 +00000060 +781B7F7C +0100A03B +6800013B +6000E13A +0082D63A +20009B78 +7000213B +A8EA823B +3086DE3B +10E0823A +4086B53A +68EA623A +B0EA423A +78D3437F +310D0048 +00000060 +3E066954 +3E066A54 +1B00092C +74008240 +78D3437F +150D0048 +00000060 +68006198 +78D3437F +050D0048 +00000060 +00000060 +49EB2239 +3E066354 +69006198 +AE48237D +04002971 +F0008241 +0200203A +78D3437F +D90C0048 +00000060 +01003139 +3E066354 +B407297D +AE89787C +7E000328 +CC008241 +0100313A +05003128 +D4FF8240 +FFFF4039 +3E064355 +0A000328 +94078241 +0D000328 +8C078241 +3E064955 +781B687C +1800092C +E8008141 +0000232C +FC008241 +FFFF2939 +17000928 +F0008141 +00000060 +C8ABE238 +88172979 +AA4A277D +143A297D +A603297D +2004804E +A4020000 +04030000 +B4020000 +34030000 +4C040000 +CC020000 +D0000000 +10010000 +B4010000 +D0000000 +D0030000 +D0000000 +D0000000 +B4050000 +7C040000 +B4050000 +D0000000 +D0000000 +D0000000 +D0000000 +D0000000 +D0000000 +D0000000 +AC040000 +02002039 +144A377D +00004039 +0000203A +08004999 +E426297A +2A48967C +78C3037F +B407307E +85150048 +00000060 +0000232C +14008240 +E426107A +1482167E +08005089 +0CFFFF4B +0100313A +12003128 +C8FF8240 +F8FEFF4B +8900092C +74048241 +4C008141 +7F00092C +4C008241 +8500892F +80039E41 +80004971 +4CFE8240 +00000060 +49EB2239 +AE48287D +97002971 +38FE8241 +78DB687F +78FBE77F +78CB267F +7400A138 +78EBA47F +09FCFF4B +1CFEFF4B +FF00892F +C4FF9E40 +74002181 +0000292C +08FE8241 +70002182 +5088297E +FFFF2939 +2000317A +20002379 +788B257E +74002191 +01008338 +141A7F7C +14229F7C +5D090048 +00000060 +0100223D +00852939 +08006038 +000009EA +7883047E +9D0B0048 +00000060 +7400A180 +788B247E +78E3837F +142ABF7C +6D0C0048 +00000060 +7883047E +20006038 +750B0048 +00000060 +7883047E +08006038 +650B0048 +00000060 +FFFF3139 +20003179 +FFFF092C +E4FF8240 +14020048 +70002181 +00004039 +78BBE47E +78FBE37F +AE495F7D +74002181 +AE483F7E +AE495F7D +DDF7FF4B +00000060 +74002181 +0000232C +AE493F7E +3C008240 +0000203A +7400013A +600021E9 +AE88697C +0100313A +0000232C +1CFD8241 +78DB687F +78FBE77F +78CB267F +7883057E +78EBA47F +EDFAFF4B +D4FFFF4B +78FBE57F +789B647E +7893437E +B50B0048 +00000060 +0000312C +B0FF8241 +0000203A +24000048 +0100223D +00852939 +08006038 +0100313A +B407317E +000089E8 +9D0A0048 +00000060 +70004181 +74002181 +5050297D +4088097C +D0FF8141 +70FFFF4B +0100223D +00852939 +08006038 +000089E8 +6D0A0048 +00000060 +74002181 +FFFF2939 +74002191 +74002181 +0000092C +D4FF8240 +70FCFF4B +00002039 +FFFFA03B +00003F99 +78EBA37F +10012138 +60230048 +74004181 +70002181 +4050097C +48FC8140 +0100223D +00852939 +AE507F7C +000089E8 +110A0048 +00000060 +74002181 +01002939 +74002191 +20FCFF4B +74002181 +0000092C +14FC8241 +0100223D +00852939 +08006038 +000089E8 +DD090048 +00000060 +74002181 +FFFF2939 +CCFFFF4B +74008180 +7000A180 +4028047C +E0FB8040 +FFFFA538 +5028A47C +2100B178 +38008241 +14223F7D +788B257E +01008438 +784B237D +20008478 +14229F7C +35070048 +00000060 +788B247E +781B657C +78E3837F +650A0048 +00000060 +0100223D +00852939 +20006038 +000009EA +7883047E +61090048 +00000060 +7883047E +08006038 +51090048 +00000060 +FFFF3139 +20003179 +FFFF092C +E4FF8240 +70002181 +FFFF2939 +34000048 +74002182 +70002181 +4088097C +44FB8140 +70002181 +B407317E +2000307A +4088097C +18008141 +74002181 +4080097C +2C008041 +70002191 +1CFBFF4B +0100223D +00852939 +20006038 +0100313A +000089E8 +E1080048 +00000060 +BCFFFF4B +0100223D +00852939 +08006038 +FFFF103A +2000107A +000089E8 +BD080048 +00000060 +ACFFFF4B +7400A180 +70008180 +4020057C +C8FA8040 +5020857C +142ABF7C +20008478 +78E3837F +79090048 +00000060 +70002181 +84FEFF4B +0100BD6B +B407BD7F +9CFAFF4B +0100223D +00852939 +08006038 +000089E8 +65080048 +00000060 +74002181 +FFFF2939 +74002191 +74002181 +0000092C +D4FF8240 +70002181 +0000092C +60FA8241 +0000203A +24000048 +0100223D +00852939 +20006038 +0100313A +B407317E +000089E8 +19080048 +00000060 +70002181 +2000307A +4088097C +D4FF8141 +74002181 +4080097C +FCFE8040 +0100223D +00852939 +08006038 +FFFF103A +2000107A +000089E8 +DD070048 +00000060 +D4FFFF4B +74008180 +70002182 +4088047C +E8F98040 +14223F7D +5088247E +784B237D +2000307A +01008438 +7883057E +14229F7C +49050048 +00000060 +FFFF9138 +781B657C +20008478 +78E3837F +75080048 +00000060 +0100223D +00852939 +20006038 +000029EA +788B247E +71070048 +00000060 +788B247E +08006038 +FFFF103A +5D070048 +00000060 +2100107A +E8FF8240 +14FEFF4B +0A003EE9 +1000832B +0000092C +58009E40 +38008041 +FFFF4939 +08005E91 +FFFF0A2C +0C008240 +00005E81 +08005E91 +0A001EE9 +04005E81 +64361079 +00400A7C +1482157E +68008240 +08003E91 +0100223D +00852939 +07006038 +000089E8 +F1060048 +00000060 +0CF9FF4B +E4FF8041 +06005EE9 +0050097C +D8FF8241 +00001E81 +01002939 +08003E91 +0048087C +0C008040 +00002039 +08003E91 +0A003EE9 +78A3907E +00480A7C +0C008241 +64363079 +1482157E +74002181 +0000092C +18008240 +70002181 +0000092C +74008241 +0000203A +4C000048 +0100223D +00852939 +08006038 +000089E8 +71060048 +00000060 +74002181 +FFFF2939 +74002191 +BCFFFF4B +0100223D +00852939 +20006038 +0100313A +B407317E +000089E8 +41060048 +00000060 +70002181 +20002F7A +4088097C +D4FF8141 +74002181 +4078097C +48008041 +70002191 +7883047E +78FBE37F +21040048 +00000060 +78FBE37F +3D040048 +00000060 +7400A180 +20006378 +70006190 +4028037C +10F88140 +5018657C +142ABF7C +20006478 +48FDFF4B +0100223D +00852939 +08006038 +FFFFEF39 +2000EF79 +000089E8 +C1050048 +00000060 +90FFFF4B +70002181 +00004039 +7200A1EB +AE495F7D +00003F89 +0000292C +6C008241 +21000928 +64008241 +0100823F +3686DCEB +78FBE47F +0100623C +40866338 +6436C97B +0100DE3B +144A637C +81030048 +00000060 +09001E2C +48008141 +3486DC93 +0100223D +0100023D +368649E9 +30862881 +0050097C +08008040 +30864891 +0100423D +3C862A81 +01002939 +3C862A91 +0100223D +34862981 +0100423D +38862A91 +E4FAFF4B +00002039 +0100423D +34862A91 +B4FFFF4B +00000000 +00000001 +80110000 +791B697C +08008240 +F0FF2139 +0000242C +00006038 +2000824D +0000252C +FEFF6038 +2000824D +00004489 +00004991 +00006488 +3400637C +7ED96354 +01006368 +2000804E +00000000 +00000000 +00000000 +00004C3C +F04B4238 +00000060 +49EBC238 +F8FFE1FB +781B6B7C +781B6A7C +7853477D +00002A89 +01004A39 +AE30097D +08000871 +ECFF8240 +2D000928 +B8008240 +00002A89 +0100C038 +02004739 +0000A52F +48019E41 +1000052C +28008240 +3000092C +20008240 +00002A89 +DF002971 +5800092C +18018240 +01002A89 +1000A038 +02004A39 +FFFF8039 +922B8C7D +00000039 +00006038 +D2290C7C +F800007C +B407007C +D0FFE93B +20002779 +09001F28 +0000882F +68008141 +78FBE97F +B407297D +0048057C +80008140 +FFFF0039 +24009C41 +4060237C +1C008141 +0C008240 +0000097C +10008141 +D219657C +01000039 +141A697C +01004A39 +FFFF2A89 +ACFFFF4B +2B000928 +10008241 +B407297D +0000C038 +48FFFF4B +00002A89 +02004739 +F0FFFF4B +BFFFE73B +19001F28 +0C008141 +C9FF2939 +90FFFF4B +9FFFE738 +19000728 +0C008141 +A9FF2939 +7CFFFF4B +0000242C +24009C40 +0100223D +C0882939 +22000039 +FFFF6038 +00000991 +24008240 +F8FFE1EB +2000804E +0000A62F +08009E41 +D000637C +ECFF8241 +0000282C +08008241 +FFFF6A39 +000064F9 +D8FFFF4B +30002039 +F4FE9E40 +0800A038 +ECFEFF4B +3000092C +C8FE8241 +0A00A038 +DCFEFF4B +00000000 +00000000 +00010000 +00004C3C +404A4238 +0100223D +C8842939 +0000C9E8 +44FEFF4B +00000000 +00000000 +00000000 +00004C3C +1C4A4238 +20008A78 +0000232C +30008241 +FF000A28 +1C008140 +0100223D +C0882939 +8A004039 +FFFF6038 +00004991 +2000804E +00008398 +01006038 +2000804E +00006038 +2000804E +00000000 +00000000 +00000000 +01004539 +A603497D +00002039 +08000042 +2000804E +AE48447D +AE49437D +01002939 +ECFFFF4B +00000000 +00000000 +00000000 +4020237C +4C008140 +142A447D +40182A7C +40008140 +0100E538 +A603E97C +142A037D +00002039 +FFFF2939 +08000042 +2000804E +AE48EA7C +AE49E87C +ECFFFF4B +AE48447D +AE49437D +01002939 +F4FF0042 +2000804E +01004539 +00002039 +A603497D +ECFFFF4B +00000000 +00000000 +00000000 +00004039 +AE50247D +AE51237D +0000292C +01004A39 +F0FF8240 +2000804E +00000000 +00000000 +00000000 +781B697C +00004989 +00000A2C +0C008240 +5048637C +2000804E +01002939 +E8FFFF4B +00000000 +00000000 +00000000 +781B687C +0000252C +38008241 +A603A97C +00004039 +AE50687C +AE50247D +4048037C +14008240 +10004042 +01004A39 +0000232C +E4FF8240 +5018697C +B407637C +2000804E +00006038 +2000804E +00000000 +00000000 +00000000 +01004539 +A603497D +781B697C +08000042 +2000804E +00004489 +01008438 +01002939 +FFFFA538 +00002A2C +FFFF4999 +E0FF8240 +0100E538 +00004039 +A603E97C +00000039 +0C000048 +AE51097D +01004A39 +F8FF0042 +2000804E +00000000 +00000000 +00000000 +01004439 +A603497D +781B697C +0C000042 +5048637C +2000804E +00004989 +00000A2C +F0FF8241 +01002939 +E4FFFF4B +00000000 +00000000 +00000000 +00004C3C +EC474238 +02002389 +01002971 +84008241 +A602087C +F8FFE1FB +100001F8 +D1FF21F8 +000023A1 +00004039 +781B7F7C +000043B1 +0000292C +10008241 +3E062355 +30002138 +EC190048 +100083E9 +180041F8 +A603897D +2104804E +180041E8 +781B697C +3E066354 +0000092C +D8FF8040 +02005F89 +04000039 +FFFF092C +74074A7D +08008241 +08000039 +78434A7D +FFFF6038 +02005F99 +B0FFFF4B +FFFF6038 +2000804E +00000000 +00000001 +80010000 +00004C3C +44474238 +A602087C +F8FFE1FB +100001F8 +D1FF21F8 +02004489 +02004A71 +28008241 +080084E9 +781B7F7C +180041F8 +3E066354 +A603897D +2104804E +180041E8 +0000032C +08008040 +FFFFE03B +78FBE37F +30002138 +34190048 +00000000 +00000001 +80010000 +00004C3C +E0464238 +A602087C +AD180048 +C1FF21F8 +02002489 +02002971 +54008241 +781B7F7C +78239E7C +0000A03B +00007F88 +0100FF3B +0000232C +10008240 +78EBA37F +40002138 +C4180048 +08009EE9 +78F3C47F +180041F8 +A603897D +2104804E +180041E8 +0000232C +C8FF8241 +FFFFA03B +C0FFFF4B +FFFFA03B +C8FFFF4B +00000000 +00000001 +80030000 +00004C3C +5C464238 +A602087C +100001F8 +E1FF21F8 +700021F9 +0100223D +00852939 +480081F8 +781B647C +5000A1F8 +5800C1F8 +000069E8 +6000E1F8 +680001F9 +780041F9 +4800A138 +39010048 +00000060 +20002138 +100001E8 +A603087C +2000804E +00000000 +00000001 +80000000 +00004C3C +F4454238 +A602087C +C1170048 +C1FF21F8 +0100223D +00852939 +781B7F7C +0000A03B +0000C9EB +02003E89 +02002971 +30008240 +FFFFA03B +78EBA37F +40002138 +DC170048 +A603897D +180041F8 +2104804E +180041E8 +0000232C +08008241 +FFFFA03B +00007F88 +0100FF3B +08009EE9 +78F3C47F +0000232C +D0FF8240 +A603897D +0A006038 +180041F8 +2104804E +180041E8 +0000232C +A8FF8241 +A0FFFF4B +00000000 +00000001 +80030000 +781B6A7C +2700E038 +7823837C +0002A970 +10008241 +EA05A554 +0700E038 +B407A57C +7853487D +922B4A7D +D2292A7D +5040297D +3E062955 +09000928 +0C008140 +144A277D +3E062955 +01006338 +30002939 +4028287C +FFFF2399 +CCFF8040 +2000804E +00000000 +00000000 +00000000 +00004C3C +E8444238 +A602087C +85160048 +41FF21F8 +02002389 +02002971 +80068241 +00000060 +00000060 +781B7B7C +782BB17C +0000803B +68EC023B +2000413B +EEFFE03A +E9FFC03A +60ECA23A +0000A48B +00003D2C +50068241 +0100243B +25001D28 +14008240 +0100A48B +0200243B +25001D28 +20008240 +01009C3B +B4079C7F +78DB647F +78EBA37F +2DFDFF4B +00000060 +24020048 +0000403A +0000603A +0000E03B +1F001F28 +90008141 +2B001D28 +6C008241 +40008141 +20001D28 +64008241 +23001D28 +6C008241 +D0FF3D39 +3E062955 +09000928 +90008141 +B407297D +4000EA73 +70008241 +0A00521E +144A527E +B407527E +18000048 +2D001D28 +30008241 +30001D28 +C8FF8240 +0100FF63 +0000B98B +0100393B +00003D2C +90FF8240 +D4000048 +0200FF63 +0400FF63 +E4FFFF4B +0800FF63 +DCFFFF4B +1000FF63 +D4FFFF4B +7F001F28 +8CFF8140 +6C001D28 +74008240 +8000FF63 +BCFFFF4B +0A00B31F +144ABD7F +2000FF63 +B407B37F +A8FFFF4B +2A001D28 +38008240 +0200B1EB +4000E973 +0800313A +48018240 +00001D2C +10008041 +2000FF63 +78EBB37F +7CFFFF4B +D000BD7F +2800FF63 +B407B37F +6CFFFF4B +2E001D28 +9CFF8240 +4000E973 +00058240 +4000FF63 +54FFFF4B +68001D28 +18008240 +0001E973 +08008241 +0002FF63 +0001FF63 +38FFFF4B +6A001D28 +70FF8241 +7A001D28 +68FF8241 +74001D28 +60FF8241 +0000122C +0C008040 +BFFFFF73 +0000403A +2000A963 +9BFF4939 +3E064A55 +02000A28 +0C008140 +61000928 +B4008240 +0800913A +0700C03B +78C3117F +0800E973 +4C008240 +789B727E +789B7F7E +40F83E7C +F0008041 +50983E7D +0000A03B +B407297D +40983E7C +08008141 +D000A97F +149A7D7E +0000E03B +B407737E +40903E7C +08008141 +784B3F7D +14E29F7F +B4079C7F +5098BE7F +0000E03B +B407BD7F +40F83E7C +BC008240 +14E2FE7F +B407FF7F +2000BE7B +00001E2C +F4038141 +78EBBC7F +00001D2C +08008040 +0000803B +14FA9C7F +78A3917E +B4079C7F +78CB247F +98FDFF4B +78EBB27F +44FEFF4B +63001D28 +1C008240 +00003181 +0800913A +0100C03B +78D3517F +20002199 +40FFFF4B +73001D28 +6C008240 +0800913A +000031EA +0000312C +08008240 +78ABB17E +FFFF8038 +4000E973 +08008241 +7893447E +788B237E +B9F9FF4B +00000060 +781B7E7C +00FFFF4B +78DB647F +20006038 +FFFFFF3B +85FAFF4B +00000060 +F8FEFF4B +AEF8717C +78DB647F +0100FF3B +6DFAFF4B +00000060 +2CFFFF4B +64001D28 +0C008241 +69001D28 +80008240 +0800913A +8000E973 +50008241 +000071E8 +0000232C +0C008040 +D000637C +0004FF63 +EFFFFE73 +4000E973 +18008241 +0000322C +10008240 +0000E03B +0000232C +84008241 +0A00A038 +78D3447F +F5FBFF4B +5018FA7F +B407FF7F +6C000048 +020031E9 +0001EA73 +784B237D +ACFF8241 +3407237D +0002EA73 +A0FF8241 +7407237D +98FFFF4B +75001D28 +24018240 +EFFFFF73 +0A00A038 +0800913A +8000E973 +70018241 +000071E8 +F9FFFE73 +4000E973 +A0FF8241 +0000322C +98FF8240 +0000232C +90FF8240 +38B0FE7F +0000E03B +78FBFD7F +78F3D17F +4000C973 +20008241 +3C04D157 +00F8127C +14008140 +78935D7E +0010C973 +08008240 +38B8D17F +10002972 +54018241 +FFFF3F39 +B407297D +144A217D +20002989 +3000092C +20018240 +EFFF3172 +08002972 +28008240 +01002972 +78018241 +78FBF27F +00E8137C +14008140 +50985D7E +789B7D7E +14FA527E +B407527E +5098BD7F +10002972 +B407BD7F +7C018241 +78DB647F +30006038 +FDF8FF4B +00000060 +00102972 +3C018240 +01009C3B +B4079C7F +78935E7E +00F81E7C +80018141 +0000C03B +00F8127C +08008041 +5090DF7F +14E2DE7F +78FBFC7F +FFFF9C3B +FFFF1C2C +78018240 +14F2FF7F +84FDFF4B +6F001D28 +54008241 +70001D28 +10008240 +1010FF63 +1000A038 +D0FEFF4B +78000928 +20008240 +58001D28 +0C008241 +0010FF63 +E4FFFF4B +0018FF63 +1002A038 +ACFEFF4B +78DB647F +25006038 +02009C3B +61F8FF4B +00000060 +20FBFF4B +0800A038 +8CFEFF4B +00003181 +0001EA73 +784B237D +8CFE8241 +3E042355 +0002EA73 +80FE8241 +3E062355 +78FEFF4B +00102972 +0C008240 +0100BD3B +08000048 +0200BD3B +B407BD7F +D0FEFF4B +06042972 +C8FE8241 +E4FFFF4B +78DB647F +20006038 +0100DE3B +F5F7FF4B +00000060 +B407DE7F +00F0137C +E4FF8141 +00002039 +00E8137C +08008041 +50983D7D +144A9C7F +144ABD7F +B4079C7F +B407BD7F +ACFEFF4B +78EBBE7F +D0FFFF4B +02009C3B +58006038 +B4079C7F +00082972 +08008240 +78006038 +78DB647F +99F7FF4B +00000060 +ACFEFF4B +06042972 +A4FE8241 +20006038 +02002972 +08008241 +2B006038 +00042972 +08008241 +2D006038 +01009C3B +B4079C7F +C4FFFF4B +78DB647F +30006038 +FFFFDE3B +51F7FF4B +00000060 +B407DE7F +64FEFF4B +AEE07A7C +78DB647F +39F7FF4B +00000060 +70FEFF4B +78DB647F +20006038 +FFFFDE3B +21F7FF4B +00000060 +2000DE7B +F0FBFF4B +FFFF803B +78E3837F +C0002138 +38100048 +00000000 +00000001 +800F0000 +7823697C +07002971 +70008240 +000043E9 +000024E9 +00482A7C +60008240 +FEFEE03C +8080003D +FEFEE760 +80800861 +C607E778 +C6070879 +FEFEE764 +80800865 +FFFEE760 +80800861 +14000048 +000043E9 +000024E9 +00482A7C +24008240 +143A2A7D +08006338 +7850297D +08008438 +3940297D +DCFF8241 +00006038 +2000804E +00000389 +00004489 +01002039 +FFFF8438 +0000282C +1C008240 +34000048 +AE48037D +01002939 +AE48447D +0000282C +20008241 +AE48447D +40400A7C +E4FF8241 +B407037D +50186A7C +B407637C +2000804E +00006038 +50186A7C +B407637C +2000804E +00000000 +00000000 +00000000 +00004C3C +503D4238 +A602087C +100001F8 +E1FF21F8 +010E0048 +00000060 +0000232C +F4FF8241 +A10D0048 +00000060 +20002138 +100001E8 +B407637C +A603087C +2000804E +00000000 +00000001 +80000000 +00004C3C +043D4238 +A602087C +F8FFE1FB +100001F8 +D1FF21F8 +781B7F7C +D50D0048 +00000060 +0A001F28 +10008240 +00008038 +0D006038 +D5FFFF4B +78FBE37F +30002138 +080F0048 +00000000 +00000001 +80010000 +00004C3C +B43C4238 +781B677C +00000060 +20008A78 +00000039 +00006038 +70ECC238 +01004A39 +0000042C +08008040 +01004039 +01002A2C +FFFF4A39 +2000824D +AE40A77C +22C06978 +01000839 +28446378 +782A297D +B407297D +64172979 +2E4AA67C +781AA37C +D0FFFF4B +00000000 +00000000 +00000000 +00004C3C +443C4238 +C2E88778 +0100E738 +A603E97C +FFFF203D +00000060 +FFFF2961 +781B6A7C +20002979 +70F00239 +6C000042 +FEE88A54 +F8FF4A1D +38008854 +14228A7C +1442637C +21008478 +44008241 +FFFF8438 +20008478 +01004439 +A603497D +00000060 +00000039 +70F0E238 +AE40437D +01000839 +784A4A7D +A8154A79 +2E50477D +3EC22955 +784A497D +20002979 +E0FF0042 +F848237D +20006378 +2000804E +0000EA88 +08004A39 +784AE77C +A815E778 +2E38E87C +3EC22955 +784AE97C +F9FFEA88 +784AE77C +A815E778 +2E38E87C +3EC22955 +784AE97C +FAFFEA88 +784AE77C +A815E778 +2E38E87C +3EC22955 +784AE77C +FBFF2A89 +783A297D +A8152979 +2E48287D +3EC2E754 +783A297D +FCFFEA88 +784AE77C +A815E778 +2E38E87C +3EC22955 +784AE77C +FDFF2A89 +783A297D +A8152979 +2E48287D +3EC2E754 +783A297D +FEFFEA88 +784AE77C +A815E778 +2E38E87C +3EC22955 +784AE77C +FFFF2A89 +783A297D +A8152979 +2E48287D +3EC2E754 +783A297D +20002979 +CCFEFF4B +00000000 +00000000 +00000000 +2000804E +00000000 +00000000 +00000000 +00004039 +F0FF003D +F0FF203D +08380861 +04382961 +20000879 +20002979 +00004891 +00004991 +0100203D +A0862961 +D619297D +F0FF403D +0100E038 +00384A61 +20004A79 +00002A91 +01004039 +F0FF203D +00004891 +0C382961 +F0FF003D +20002979 +10380861 +00004991 +20000879 +00004881 +00002A2C +2000824D +0000E990 +F0FFFF4B +00000000 +00000000 +00000000 +6400631C +00004039 +F0FF203D +F0FF003D +08382961 +04380861 +20002979 +20000879 +00004991 +0100E038 +00004891 +F0FF403D +F0FF003D +00384A61 +10380861 +20004A79 +20000879 +00006A90 +01004039 +00004991 +F0FF203D +0C382961 +20002979 +00004991 +00004881 +00002A2C +2000824D +0000E990 +F0FFFF4B +00000000 +00000000 +00000000 +00004C3C +BC394238 +A602087C +100001F8 +A1FF21F8 +FF032328 +28008141 +781B647C +00000060 +70F46238 +41F3FF4B +00000060 +60002138 +100001E8 +A603087C +2000804E +1000203D +4048237C +28008040 +A0056578 +66002039 +924BA57C +82B26478 +00000060 +78F46238 +05F3FF4B +00000060 +C4FFFF4B +0040203D +02656478 +4048237C +24008040 +64558578 +82B26378 +5018657C +6600A038 +922BA37C +00000060 +88F46238 +C8FFFF4B +82176378 +66002039 +64556578 +5020A57C +781B647C +924BA57C +00000060 +98F46238 +A4FFFF4B +00000000 +00000001 +80000000 +00004C3C +EC384238 +A602087C +F8FFE1FB +100001F8 +91FF21F8 +142AC47C +782BBF7C +2000C678 +7823857C +781B647C +00000060 +A8F46238 +65F2FF4B +00000060 +78FBE37F +F9FEFF4B +00000060 +B8F46238 +4DF2FF4B +00000060 +70002138 +D80A0048 +00000000 +00000001 +80010000 +00004C3C +84384238 +F0FF403D +AAAA203D +08284A61 +AAAA2961 +20004A79 +00000A81 +00002391 +00002381 +04002391 +5555203D +55552961 +00002391 +00002381 +04002391 +00002A81 +4040097C +38008241 +A602087C +100001F8 +A1FF21F8 +781B647C +00000060 +C0F46238 +CDF1FF4B +00000060 +60002138 +100001E8 +01006038 +A603087C +2000804E +00006038 +2000804E +00000000 +00000001 +80000000 +00004C3C +F0374238 +A602087C +B9090048 +C1FF21F8 +82F08478 +01004439 +A603497D +AAAA203D +781B7F7C +781B7C7C +781B7D7C +AAAA2961 +58000042 +E5FCFF4B +00000060 +0000C03B +AAAA003D +78FBE97F +AAAA0861 +40E8297C +44008240 +5555203D +55552961 +40E83F7C +50008240 +B5FCFF4B +00000060 +5555403D +55554A61 +40E83C7C +44008240 +78F3C37F +40002138 +8C090048 +00003D91 +0400BD3B +A0FFFF4B +00004981 +00400A7C +0C008241 +0100DE3B +B407DE7F +04002939 +A0FFFF4B +00003F91 +0400FF3B +A4FFFF4B +00003C81 +0050097C +0C008241 +0100DE3B +B407DE7F +04009C3B +A0FFFF4B +00000000 +00000001 +80040000 +00004C3C +08374238 +FFFF2428 +04018140 +A602087C +2680907D +F0FFC1FB +F8FFE1FB +08008191 +100001F8 +D1FF21F8 +82F08478 +B4079F7C +20008478 +01000439 +A603097D +781B7E7C +01002039 +00004039 +0000252E +78000042 +E1FBFF4B +00000060 +FFFFFF3B +2000FF7B +01005F39 +A603497D +00006038 +00000039 +01002039 +8C009241 +42F82A79 +E0072979 +D000297D +08D02971 +7852297D +64172A79 +2E505E7D +3E044A55 +00400A7C +0C008241 +01006338 +B407637C +01000839 +B407087D +C4FF0042 +30002138 +08008181 +2081907D +84080048 +30009241 +42F82879 +E0072979 +D000297D +08D02971 +7842297D +20004779 +64172879 +01004A39 +2E41FE7C +B4074A7D +5CFFFF4B +01002939 +3E042955 +E0FFFF4B +01002939 +3E042955 +84FFFF4B +00006038 +2000804E +00000000 +00000003 +80020000 +00004C3C +E4354238 +A602087C +2600807D +08008191 +8D070048 +51FF21F8 +781B7D7C +782BBC7C +7833D87C +0000A62D +82F09978 +D0008E41 +04002681 +020046EB +0000092C +54008240 +2080603F +00000060 +03007B63 +0000C03B +0100E03B +00003C2E +20007B7B +2000B77B +F0F4C23A +40F0397C +9C008240 +2810257B +2000A47B +00000060 +F0F46238 +81FCFF4B +00000060 +80E96238 +05EFFF4B +00000060 +2080E03E +79FAFF4B +00000060 +0300F762 +0000C03B +0100E03B +0000603B +00003C2E +2000F77A +00003A2D +2000B67B +2000DC7B +B407C57F +40F0397C +8C008240 +00003A2C +24018241 +2810A578 +2000A47B +00000060 +00F56238 +19FCFF4B +00000060 +80E96238 +9DEEFF4B +00000060 +FC000048 +0100403B +40FFFF4B +44009241 +42F8E97B +E007FF7B +D000FF7F +38D8FF7F +784AFF7F +6417C97B +2000C57B +2E49FD7F +FF7FC973 +14008240 +2810A578 +78BBE47E +78B3C37E +C1FBFF4B +0100DE3B +20FFFF4B +0100FF3B +2000FF7B +CCFFFF4B +50009241 +42F8E97B +E007FF7B +D000FF7F +38B8FF7F +784AFF7F +6417C97B +2E489D7C +40F8047C +38008240 +FF7F8973 +1C008240 +18008A41 +00000060 +2810857B +78B3C47E +00F56238 +65FBFF4B +0100DE3B +1CFFFF4B +0100FF3B +2000FF7B +C0FFFF4B +01007B3B +B4077B7F +C4FF8E41 +080098E9 +00002C2C +B8FF8241 +1000D8E8 +A603897D +3A108357 +78FBE57F +14EA637C +180041F8 +20006378 +2104804E +180041E8 +0000232C +8CFF8241 +B0002138 +08008181 +78DB637F +2081837D +E8050048 +00000000 +00000003 +800A0000 +00004C3C +CC334238 +A602087C +2680907D +08008191 +89050048 +71FF21F8 +7833DD7C +E0FF643B +781B7F7C +78239E7C +782BBC7C +781B647C +14DA637F +00003D2E +00000060 +10F56238 +35EDFF4B +00000060 +00000060 +28F56238 +0C009240 +00000060 +38F56238 +19EDFF4B +00000060 +78F3C37F +ADF9FF4B +00000060 +48F56238 +01EDFF4B +00000060 +00002039 +F0FF403D +F0FF003D +08384A61 +04380861 +20004A79 +20000879 +00002A91 +00003C2C +00002891 +F0FF203D +FFFF0039 +00382961 +20002979 +00000991 +01002039 +00002A91 +B8008240 +F0FF403D +0C384A61 +20004A79 +00002A91 +F0FF203D +FFFF4039 +10382961 +20002979 +00000981 +78FBE97F +000049F9 +080049F9 +100049F9 +180049F9 +20002939 +40483B7C +E8FF8040 +F505A03F +00E1BD63 +D2E9BE7F +01004039 +F0FF203D +0C382961 +20002979 +00004991 +F0FF203D +10382961 +20002979 +00002981 +00000060 +50F56238 +5040297D +924BBD7F +2DECFF4B +00000060 +78EBA37F +C1F8FF4B +00000060 +60F56238 +15ECFF4B +00000060 +00000060 +80E96238 +05ECFF4B +00000060 +7DF7FF4B +00000060 +01002039 +F0FF403D +08384A61 +20004A79 +00002A91 +F0FF403D +0C384A61 +20004A79 +00002A91 +F0FF203D +10382961 +20002979 +0000C980 +F4009241 +22E8CA7B +01004A39 +A603497D +2080A03C +C2E8C77B +0300A560 +00002039 +00000039 +2000A578 +84000042 +01004039 +F0FF203D +0C382961 +20002979 +00004991 +F0FF203D +10382961 +20002979 +00008980 +F505203D +00E12961 +D249DE7F +00000060 +5030847C +68F56238 +9223DE7F +55EBFF4B +00000060 +78F3C37F +E9F7FF4B +00000060 +60F56238 +3DEBFF4B +00000060 +00000060 +80E96238 +2DEBFF4B +00000060 +90002138 +08008181 +2081907D +8C030048 +0000282C +38008241 +42F82A79 +E0072979 +D000297D +3828297D +7852297D +963B497D +01000839 +B407087D +D6394A7D +50484A7D +481F4A79 +2A505F7D +44FFFF4B +01002939 +20002979 +D8FFFF4B +00003FE9 +08003FE9 +10003FE9 +18003FE9 +2000FF3B +40F83B7C +E8FF8040 +1CFFFF4B +00000000 +00000003 +80050000 +00004C3C +F4304238 +A602087C +B1020048 +61FF21F8 +781B7E7C +78239F7C +781B647C +00000060 +78F56238 +79EAFF4B +00000060 +78FBE37F +0DF7FF4B +00000060 +48F56238 +61EAFF4B +00000060 +78F3C37F +2DF8FF4B +791B7D7C +F0008240 +78FBF97F +00023F28 +08008140 +0002203B +78FBFA7F +00803F28 +0C008140 +FFFF403B +20045A57 +78CB247F +78F3C37F +89F8FF4B +0000A038 +781B7B7C +78D3447F +78F3C37F +5DF9FF4B +0000C038 +781B7C7C +0100A038 +78F3C37F +78FBE47F +69FAFF4B +14E23B7D +781B7E7C +141A297D +0000092C +68008241 +82F8257B +78DB647F +00000060 +88F56238 +C9E9FF4B +00000060 +82F0457B +78E3847F +00000060 +A0F56238 +B1E9FF4B +00000060 +82F0E57B +78F3C47F +00000060 +B8F56238 +99E9FF4B +00000060 +00000060 +D0F56238 +89E9FF4B +00000060 +78EBA37F +A0002138 +E4010048 +00000060 +0100A03B +E0F56238 +69E9FF4B +00000060 +E0FFFF4B +0000A03B +D8FFFF4B +00000000 +00000001 +80070000 +2000804E +00000000 +00000000 +00000000 +F0FF403D +08404A61 +20004A79 +00002A81 +0000292C +F8FF8240 +F0FF203D +00402961 +20002979 +00006980 +02004039 +F0FF203D +10402961 +20002979 +3E066354 +00004991 +2000804E +00000000 +00000000 +00000000 +F0FF203D +08402961 +20002979 +00006980 +7400637C +82D16378 +2000804E +00000000 +00000000 +00000000 +F0FF403D +04404A61 +20004A79 +00002A81 +0000292C +F8FF8240 +20006378 +F0FF203D +01004039 +00402961 +20002979 +00006990 +F0FF203D +10402961 +20002979 +00004991 +2000804E +00000000 +00000000 +00000000 +F0FF203D +10402961 +20002979 +00004981 +00004991 +F0FF203D +03004039 +14402961 +20002979 +00004991 +2000804E +00000000 +00000000 +00000000 +F0FF403D +04404A61 +20004A79 +00002A81 +0000292C +F8FF8240 +2000804E +00000000 +00000000 +00000000 +70FFC1F9 +78FFE1F9 +80FF01FA +88FF21FA +90FF41FA +98FF61FA +A0FF81FA +A8FFA1FA +B0FFC1FA +B8FFE1FA +C0FF01FB +C8FF21FB +D0FF41FB +D8FF61FB +E0FF81FB +E8FFA1FB +F0FFC1FB +F8FFE1FB +100001F8 +2000804E +70FFC1E9 +78FFE1E9 +80FF01EA +88FF21EA +90FF41EA +98FF61EA +A0FF81EA +A8FFA1EA +B0FFC1EA +B8FFE1EA +C0FF01EB +C8FF21EB +D0FF41EB +D8FF61EB +E0FF81EB +100001E8 +E8FFA1EB +A603087C +F0FFC1EB +F8FFE1EB +2000804E +F0FFC1EB +100001E8 +F8FFE1EB +A603087C +2000804E +70FFCCF9 +78FFECF9 +80FF0CFA +88FF2CFA +90FF4CFA +98FF6CFA +A0FF8CFA +A8FFACFA +B0FFCCFA +B8FFECFA +C0FF0CFB +C8FF2CFB +D0FF4CFB +D8FF6CFB +E0FF8CFB +E8FFACFB +F0FFCCFB +F8FFECFB +2000804E +70FFCCE9 +78FFECE9 +80FF0CEA +88FF2CEA +90FF4CEA +98FF6CEA +A0FF8CEA +A8FFACEA +B0FFCCEA +B8FFECEA +C0FF0CEB +C8FF2CEB +D0FF4CEB +D8FF6CEB +E0FF8CEB +E8FFACEB +F0FFCCEB +F8FFECEB +2000804E +A0FF81DA +A8FFA1DA +B0FFC1DA +B8FFE1DA +C0FF01DB +C8FF21DB +D0FF41DB +D8FF61DB +E0FF81DB +E8FFA1DB +F0FFC1DB +F8FFE1DB +100001F8 +2000804E +A0FF81CA +A8FFA1CA +B0FFC1CA +B8FFE1CA +C0FF01CB +C8FF21CB +D0FF41CB +D8FF61CB +E0FF81CB +100001E8 +E8FFA1CB +A603087C +F0FFC1CB +F8FFE1CB +2000804E +F0FFC1CB +100001E8 +F8FFE1CB +A603087C +2000804E +00000000 +50760000 +00000000 +16000000 +00000000 +00000100 +00000000 +58760000 +00000000 +16000000 +00000000 +20000100 +00000000 +60760000 +00000000 +16000000 +00000000 +40000100 +00000000 +68760000 +00000000 +16000000 +00000000 +60000100 +00000000 +70760000 +00000000 +16000000 +00000000 +80000100 +00000000 +78760000 +00000000 +16000000 +00000000 +A0000100 +00000000 +80760000 +00000000 +16000000 +00000000 +C0000100 +00000000 +88760000 +00000000 +16000000 +00000000 +E0000100 +00000000 +90760000 +00000000 +16000000 +00000000 +00010100 +00000000 +98760000 +00000000 +16000000 +00000000 +20010100 +00000000 +A0760000 +00000000 +16000000 +00000000 +40010100 +00000000 +A8760000 +00000000 +16000000 +00000000 +60010100 +00000000 +B0760000 +00000000 +16000000 +00000000 +80010100 +00000000 +B8760000 +00000000 +16000000 +00000000 +A0010100 +00000000 +C0760000 +00000000 +16000000 +00000000 +C0010100 +00000000 +C8760000 +00000000 +16000000 +00000000 +E0010100 +00000000 +00000100 +00000000 +16000000 +00000000 +84180000 +00000000 +08000100 +00000000 +16000000 +00000000 +78610000 +00000000 +10000100 +00000000 +16000000 +00000000 +80610000 +00000000 +20000100 +00000000 +16000000 +00000000 +AC170000 +00000000 +28000100 +00000000 +16000000 +00000000 +90610000 +00000000 +30000100 +00000000 +16000000 +00000000 +98610000 +00000000 +40000100 +00000000 +16000000 +00000000 +CC160000 +00000000 +48000100 +00000000 +16000000 +00000000 +B0610000 +00000000 +50000100 +00000000 +16000000 +00000000 +C8610000 +00000000 +60000100 +00000000 +16000000 +00000000 +28190000 +00000000 +68000100 +00000000 +16000000 +00000000 +E0610000 +00000000 +70000100 +00000000 +16000000 +00000000 +E8610000 +00000000 +80000100 +00000000 +16000000 +00000000 +FC170000 +00000000 +88000100 +00000000 +16000000 +00000000 +18620000 +00000000 +90000100 +00000000 +16000000 +00000000 +20620000 +00000000 +A0000100 +00000000 +16000000 +00000000 +DC160000 +00000000 +A8000100 +00000000 +16000000 +00000000 +40620000 +00000000 +B0000100 +00000000 +16000000 +00000000 +48620000 +00000000 +C0000100 +00000000 +16000000 +00000000 +BC1C0000 +00000000 +C8000100 +00000000 +16000000 +00000000 +50650000 +00000000 +D0000100 +00000000 +16000000 +00000000 +58650000 +00000000 +E0000100 +00000000 +16000000 +00000000 +9C1F0000 +00000000 +E8000100 +00000000 +16000000 +00000000 +70650000 +00000000 +F0000100 +00000000 +16000000 +00000000 +80650000 +00000000 +00010100 +00000000 +16000000 +00000000 +D01E0000 +00000000 +08010100 +00000000 +16000000 +00000000 +98650000 +00000000 +10010100 +00000000 +16000000 +00000000 +A8650000 +00000000 +20010100 +00000000 +16000000 +00000000 +B01B0000 +00000000 +28010100 +00000000 +16000000 +00000000 +C0650000 +00000000 +30010100 +00000000 +16000000 +00000000 +D0650000 +00000000 +40010100 +00000000 +16000000 +00000000 +481A0000 +00000000 +48010100 +00000000 +16000000 +00000000 +E8650000 +00000000 +50010100 +00000000 +16000000 +00000000 +F8650000 +00000000 +60010100 +00000000 +16000000 +00000000 +FC1D0000 +00000000 +68010100 +00000000 +16000000 +00000000 +10660000 +00000000 +70010100 +00000000 +16000000 +00000000 +20660000 +00000000 +80010100 +00000000 +16000000 +00000000 +F8190000 +00000000 +88010100 +00000000 +16000000 +00000000 +38660000 +00000000 +90010100 +00000000 +16000000 +00000000 +48660000 +00000000 +A0010100 +00000000 +16000000 +00000000 +600F0000 +00000000 +A8010100 +00000000 +16000000 +00000000 +B8660000 +00000000 +B0010100 +00000000 +16000000 +00000000 +C8660000 +00000000 +C0010100 +00000000 +16000000 +00000000 +E8200000 +00000000 +C8010100 +00000000 +16000000 +00000000 +E0660000 +00000000 +D0010100 +00000000 +16000000 +00000000 +E8660000 +00000000 +E0010100 +00000000 +16000000 +00000000 +0C210000 +00000000 +E8010100 +00000000 +16000000 +00000000 +F0660000 +00000000 +F0010100 +00000000 +16000000 +00000000 +F8660000 +00000000 +00020100 +00000000 +16000000 +00000000 +B86A0000 +00000000 +10020100 +00000000 +16000000 +00000000 +C06A0000 +00000000 +20020100 +00000000 +16000000 +00000000 +C86A0000 +00000000 +30020100 +00000000 +16000000 +00000000 +D06A0000 +00000000 +40020100 +00000000 +16000000 +00000000 +D86A0000 +00000000 +50020100 +00000000 +16000000 +00000000 +E06A0000 +00000000 +60020100 +00000000 +16000000 +00000000 +E86A0000 +00000000 +70020100 +00000000 +16000000 +00000000 +F06A0000 +00000000 +80020100 +00000000 +16000000 +00000000 +F86A0000 +00000000 +90020100 +00000000 +16000000 +00000000 +006B0000 +00000000 +A0020100 +00000000 +16000000 +00000000 +086B0000 +00000000 +B0020100 +00000000 +16000000 +00000000 +106B0000 +00000000 +C0020100 +00000000 +16000000 +00000000 +186B0000 +00000000 +D0020100 +00000000 +16000000 +00000000 +206B0000 +00000000 +E0020100 +00000000 +16000000 +00000000 +286B0000 +00000000 +F0020100 +00000000 +16000000 +00000000 +306B0000 +00000000 +00030100 +00000000 +16000000 +00000000 +386B0000 +00000000 +10030100 +00000000 +16000000 +00000000 +406B0000 +00000000 +00040100 +00000000 +16000000 +00000000 +E4350000 +00000000 +08040100 +00000000 +16000000 +00000000 +C4330000 +00000000 +18040100 +00000000 +16000000 +00000000 +486B0000 +00000000 +20040100 +00000000 +16000000 +00000000 +E85F0000 +00000000 +28040100 +00000000 +16000000 +00000000 +10600000 +00000000 +30040100 +00000000 +16000000 +00000000 +10600000 +00000000 +38040100 +00000000 +16000000 +00000000 +10600000 +00000000 +40040100 +00000000 +16000000 +00000000 +10600000 +00000000 +48040100 +00000000 +16000000 +00000000 +10600000 +00000000 +50040100 +00000000 +16000000 +00000000 +10600000 +00000000 +58040100 +00000000 +16000000 +00000000 +10600000 +00000000 +60040100 +00000000 +16000000 +00000000 +10600000 +00000000 +68040100 +00000000 +16000000 +00000000 +10600000 +00000000 +C8040100 +00000000 +16000000 +00000000 +20030100 +00000000 +D8040100 +00000000 +16000000 +00000000 +FC420000 +00000000 +E0040100 +00000000 +16000000 +00000000 +B0420000 +00000000 +F0040100 +00000000 +16000000 +00000000 +D0040100 +00000000 +F8040100 +00000000 +16000000 +00000000 +D0040100 +00000000 +00050100 +00000000 +16000000 +00000000 +D0040100 +00000000 +00050000 +00000000 +05000000 +00000000 +D0760000 +00000000 +04050000 +00000000 +04000000 +00000000 +D0760000 +00000000 +10050000 +00000000 +05000000 +00000000 +D87B0000 +00000000 +14050000 +00000000 +04000000 +00000000 +D87B0000 +00000000 +08050000 +00000000 +05000000 +01000000 +00000100 +00000000 +0C050000 +00000000 +04000000 +01000000 +00000100 +00000000 +18050000 +00000000 +05000000 +01000000 +28060100 +00000000 +1C050000 +00000000 +04000000 +01000000 +28060100 +00000000 +20050000 +00000000 +05000000 +01000000 +880B0100 +00000000 +24050000 +00000000 +04000000 +01000000 +880B0100 +00000000 +94050000 +00000000 +03000000 +01000000 +A05E0000 +00000000 +B0050000 +00000000 +03000000 +01000000 +A45E0000 +00000000 +B8050000 +00000000 +05000000 +01000000 +54220000 +00000000 +BC050000 +00000000 +04000000 +01000000 +54220000 +00000000 +F0080000 +00000000 +05000000 +01000000 +00000200 +00000000 +F4080000 +00000000 +04000000 +01000000 +00000200 +00000000 +A05E0000 +00000000 +01000000 +01000000 +F8FF0100 +00000000 +A45E0000 +00000000 +01000000 +01000000 +F8FF0100 +00000000 +00000000 +00000000 +45786563 +7574696E +6720626F +6F746564 +2070726F +6772616D +20617420 +30782530 +386C780A +0A000000 +2D2D3D3D +3D3D3D3D +3D3D3D3D +3D3D3D20 +1B5B316D +4C696674 +6F666621 +1B5B306D +203D3D3D +3D3D3D3D +3D3D3D3D +3D3D3D3D +2D2D0A00 +00000000 +426F6F74 +696E6720 +66726F6D +20736572 +69616C2E +2E2E0A00 +50726573 +73205120 +6F722045 +53432074 +6F206162 +6F727420 +626F6F74 +20636F6D +706C6574 +656C792E +0A000000 +00000000 +546F6F20 +6D616E79 +20636F6E +73656375 +74697665 +20657272 +6F72732C +2061626F +7274696E +67000000 +54696D65 +6F75740A +00000000 +00000000 +43616E63 +656C6C65 +640A0000 +00000000 +734C3544 +64534D6D +6B656B72 +6F0A0000 +7A364948 +47376359 +44494436 +6F0A0000 +4D656D6F +72792064 +756D703A +00000000 +0A307825 +30386C78 +20200000 +00000000 +25303278 +20000000 +20202000 +00000000 +2E000000 +00000000 +25630000 +00000000 +2042494F +53204352 +43207061 +73736564 +20282530 +3878290A +00000000 +00000000 +2042494F +53204352 +43206661 +696C6564 +20286578 +70656374 +65642025 +3038782C +20676F74 +20253038 +78290A00 +00000000 +20546865 +20737973 +74656D20 +77696C6C +20636F6E +74696E75 +652C2062 +75742065 +78706563 +74207072 +6F626C65 +6D732E0A +00000000 +00000000 +2D000000 +00000000 +0A4C6974 +65582042 +494F532C +20617661 +696C6162 +6C652063 +6F6D6D61 +6E64733A +0A000000 +00000000 +252D3234 +73202D20 +25730A00 +00000000 +42757474 +6F6E7320 +76616C75 +653A2030 +78257800 +00000000 +4964656E +743A2025 +73000000 +00000000 +6C656473 +203C7661 +6C75653E +00000000 +496E636F +72726563 +74207661 +6C756500 +53657474 +696E6773 +204C6564 +7320746F +20307825 +78000000 +63726320 +3C616464 +72657373 +3E203C6C +656E6774 +683E0000 +496E636F +72726563 +74206164 +64726573 +73000000 +00000000 +496E636F +72726563 +74206C65 +6E677468 +00000000 +00000000 +43524333 +323A2025 +30387800 +00000000 +6C656473 +00000000 +53657420 +4C656473 +2076616C +75650000 +62757474 +6F6E7300 +47657420 +42757474 +6F6E7320 +76616C75 +65000000 +00000000 +666C7573 +685F6370 +755F6463 +61636865 +00000000 +00000000 +466C7573 +68204350 +55206461 +74612063 +61636865 +00000000 +63726300 +00000000 +436F6D70 +75746520 +43524333 +32206F66 +20612070 +61727420 +6F662074 +68652061 +64647265 +73732073 +70616365 +00000000 +6964656E +74000000 +4964656E +74696669 +6572206F +66207468 +65207379 +7374656D +00000000 +00000000 +68656C70 +00000000 +5072696E +74207468 +69732068 +656C7000 +41766169 +6C61626C +65206D65 +6D6F7279 +20726567 +696F6E73 +3A0A0000 +00000000 +524F4D20 +20202020 +20203078 +30303030 +30303030 +20307831 +30303030 +200A5352 +414D2020 +20202020 +30783030 +30313030 +30302030 +78313030 +3030200A +4D41494E +5F52414D +20203078 +30313030 +30303030 +20307831 +30303030 +3030200A +43535220 +20202020 +20203078 +66666630 +30303030 +20307831 +30303030 +20000000 +00000000 +6D656D5F +77726974 +65203C61 +64647265 +73733E20 +3C76616C +75653E20 +5B636F75 +6E745D20 +5B73697A +655D0000 +00000000 +496E636F +72726563 +7420636F +756E7400 +496E636F +72726563 +74207369 +7A650000 +6D656D5F +636F7079 +203C6473 +743E203C +7372633E +205B636F +756E745D +00000000 +496E636F +72726563 +74206465 +7374696E +6174696F +6E206164 +64726573 +73000000 +496E636F +72726563 +7420736F +75726365 +20616464 +72657373 +00000000 +00000000 +6D656D5F +636D7020 +3C616464 +72313E20 +3C616464 +72323E20 +3C636F75 +6E743E00 +496E636F +72726563 +74206164 +64723100 +496E636F +72726563 +74206164 +64723200 +44696666 +6572656E +74206D65 +6D6F7279 +20636F6E +74656E74 +3A0A6164 +6472313A +20307825 +30386C78 +2C20636F +6E74656E +743A2030 +78253038 +780A6164 +6472323A +20307825 +30386C78 +2C20636F +6E74656E +743A2030 +78253038 +780A0000 +00000000 +6D656D5F +636D7020 +66696E69 +73686564 +2C207361 +6D652063 +6F6E7465 +6E742E00 +6D656D5F +636D7020 +66696E69 +73686564 +2C206469 +66666572 +656E7420 +636F6E74 +656E742E +00000000 +6D656D5F +72656164 +203C6164 +64726573 +733E205B +6C656E67 +74685D00 +00000000 +0A496E63 +6F727265 +6374206C +656E6774 +68000000 +00000000 +6D656D5F +74657374 +203C6164 +64723E20 +5B3C6D61 +7873697A +653E5D00 +00000000 +6D656D5F +73706565 +64203C61 +6464723E +203C7369 +7A653E20 +5B3C7265 +61646F6E +6C793E5D +205B3C72 +616E646F +6D3E5D00 +496E636F +72726563 +74207265 +61646F6E +6C792076 +616C7565 +00000000 +00000000 +496E636F +72726563 +74207261 +6E646F6D +2076616C +75650000 +6D656D5F +636D7000 +436F6D70 +61726520 +6D656D6F +72792063 +6F6E7465 +6E740000 +6D656D5F +73706565 +64000000 +00000000 +54657374 +206D656D +6F727920 +73706565 +64000000 +00000000 +6D656D5F +74657374 +00000000 +00000000 +54657374 +206D656D +6F727920 +61636365 +73730000 +00000000 +6D656D5F +636F7079 +00000000 +00000000 +436F7079 +20616464 +72657373 +20737061 +63650000 +00000000 +6D656D5F +77726974 +65000000 +00000000 +57726974 +65206164 +64726573 +73207370 +61636500 +00000000 +6D656D5F +72656164 +00000000 +00000000 +52656164 +20616464 +72657373 +20737061 +63650000 +00000000 +6D656D5F +6C697374 +00000000 +00000000 +4C697374 +20617661 +696C6162 +6C65206D +656D6F72 +79207265 +67696F6E +73000000 +626F6F74 +203C6164 +64726573 +733E205B +72315D20 +5B72325D +205B7233 +5D000000 +496E636F +72726563 +74207231 +00000000 +496E636F +72726563 +74207232 +00000000 +496E636F +72726563 +74207233 +00000000 +73657269 +616C626F +6F740000 +00000000 +426F6F74 +2066726F +6D205365 +7269616C +20285346 +4C290000 +7265626F +6F740000 +5265626F +6F740000 +626F6F74 +00000000 +426F6F74 +2066726F +6D204D65 +6D6F7279 +00000000 +00000000 +1B5B316D +20202020 +20202020 +5F5F2020 +205F205F +5F202020 +2020205F +20205F5F +1B5B306D +0A000000 +1B5B316D +20202020 +2020202F +202F2020 +285F2920 +2F5F5F5F +5F207C20 +7C2F5F2F +1B5B306D +0A000000 +1B5B316D +20202020 +20202F20 +2F5F5F2F +202F205F +5F2F202D +5F293E20 +203C1B5B +306D0A00 +00000000 +1B5B316D +20202020 +202F5F5F +5F5F2F5F +2F5C5F5F +2F5C5F5F +2F5F2F7C +5F7C1B5B +306D0A00 +00000000 +1B5B316D +20202042 +75696C64 +20796F75 +72206861 +72647761 +72652C20 +65617369 +6C79211B +5B306D0A +00000000 +00000000 +20286329 +20436F70 +79726967 +68742032 +3031322D +32303232 +20456E6A +6F792D44 +69676974 +616C0A00 +20286329 +20436F70 +79726967 +68742032 +3030372D +32303135 +204D2D4C +6162730A +00000000 +00000000 +2042494F +53206275 +696C7420 +6F6E2041 +75672032 +31203230 +32322032 +303A3237 +3A34340A +00000000 +204C6974 +65582067 +69742073 +6861313A +20333361 +65333031 +640A0000 +00000000 +2D2D3D3D +3D3D3D3D +3D3D3D3D +3D3D3D3D +3D201B5B +316D536F +431B5B30 +6D203D3D +3D3D3D3D +3D3D3D3D +3D3D3D3D +3D3D3D3D +2D2D0A00 +00000000 +61326F5F +57425F36 +344C4500 +00000000 +1B5B316D +4350551B +5B306D3A +09092573 +20402025 +644D487A +0A000000 +00000000 +57495348 +424F4E45 +00000000 +00000000 +1B5B316D +4255531B +5B306D3A +09092573 +2025642D +62697420 +40202564 +4769420A +00000000 +00000000 +1B5B316D +4353521B +5B306D3A +09092564 +2D626974 +20646174 +610A0000 +00000000 +1B5B316D +524F4D1B +5B306D3A +09092564 +4B69420A +00000000 +1B5B316D +5352414D +1B5B306D +3A090925 +644B6942 +0A000000 +1B5B316D +4D41494E +2D52414D +1B5B306D +3A092564 +4B694220 +0A000000 +00000000 +2D2D3D3D +3D3D3D3D +3D3D3D3D +201B5B31 +6D496E69 +7469616C +697A6174 +696F6E1B +5B306D20 +3D3D3D3D +3D3D3D3D +3D3D3D3D +2D2D0A00 +00000000 +4D656D6F +72792069 +6E697469 +616C697A +6174696F +6E206661 +696C6564 +0A000000 +2D2D3D3D +3D3D3D3D +3D3D3D3D +3D3D3D3D +201B5B31 +6D426F6F +741B5B30 +6D203D3D +3D3D3D3D +3D3D3D3D +3D3D3D3D +3D3D3D3D +2D2D0A00 +00000000 +4E6F2062 +6F6F7420 +6D656469 +756D2066 +6F756E64 +0A000000 +2D2D3D3D +3D3D3D3D +3D3D3D3D +3D3D3D20 +1B5B316D +436F6E73 +6F6C651B +5B306D20 +3D3D3D3D +3D3D3D3D +3D3D3D3D +3D3D3D3D +2D2D0A00 +00000000 +1B5B3932 +3B316D6C +69746578 +1B5B306D +3E200000 +00000000 +0A257300 +00000000 +436F6D6D +616E6420 +6E6F7420 +666F756E +64000000 +00000000 +252D2A73 +00000000 +252E2A73 +00000000 +25732573 +00000000 +4F410000 +00000000 +4F420000 +00000000 +4F430000 +00000000 +4F440000 +00000000 +4F480000 +00000000 +4F460000 +00000000 +5B410000 +00000000 +5B420000 +00000000 +5B430000 +00000000 +5B440000 +00000000 +5B480000 +00000000 +5B460000 +00000000 +5B317E00 +00000000 +5B327E00 +00000000 +5B337E00 +00000000 +5B347E00 +00000000 +5B357E00 +00000000 +5B367E00 +00000000 +00202020 +20202020 +20202828 +28282820 +20202020 +20202020 +20202020 +20202020 +20881010 +10101010 +10101010 +10101010 +10040404 +04040404 +04040410 +10101010 +10104141 +41414141 +01010101 +01010101 +01010101 +01010101 +01010101 +10101010 +10104242 +42424242 +02020202 +02020202 +02020202 +02020202 +02020202 +10101010 +20000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +43000000 +00000000 +504F5349 +58000000 +286E756C +6C290000 +2A666C6F +61742A00 +00000000 +21100000 +42200000 +63300000 +84400000 +A5500000 +C6600000 +E7700000 +08810000 +29910000 +4AA10000 +6BB10000 +8CC10000 +ADD10000 +CEE10000 +EFF10000 +31120000 +10020000 +73320000 +52220000 +B5520000 +94420000 +F7720000 +D6620000 +39930000 +18830000 +7BB30000 +5AA30000 +BDD30000 +9CC30000 +FFF30000 +DEE30000 +62240000 +43340000 +20040000 +01140000 +E6640000 +C7740000 +A4440000 +85540000 +6AA50000 +4BB50000 +28850000 +09950000 +EEE50000 +CFF50000 +ACC50000 +8DD50000 +53360000 +72260000 +11160000 +30060000 +D7760000 +F6660000 +95560000 +B4460000 +5BB70000 +7AA70000 +19970000 +38870000 +DFF70000 +FEE70000 +9DD70000 +BCC70000 +C4480000 +E5580000 +86680000 +A7780000 +40080000 +61180000 +02280000 +23380000 +CCC90000 +EDD90000 +8EE90000 +AFF90000 +48890000 +69990000 +0AA90000 +2BB90000 +F55A0000 +D44A0000 +B77A0000 +966A0000 +711A0000 +500A0000 +333A0000 +122A0000 +FDDB0000 +DCCB0000 +BFFB0000 +9EEB0000 +799B0000 +588B0000 +3BBB0000 +1AAB0000 +A66C0000 +877C0000 +E44C0000 +C55C0000 +222C0000 +033C0000 +600C0000 +411C0000 +AEED0000 +8FFD0000 +ECCD0000 +CDDD0000 +2AAD0000 +0BBD0000 +688D0000 +499D0000 +977E0000 +B66E0000 +D55E0000 +F44E0000 +133E0000 +322E0000 +511E0000 +700E0000 +9FFF0000 +BEEF0000 +DDDF0000 +FCCF0000 +1BBF0000 +3AAF0000 +599F0000 +788F0000 +88910000 +A9810000 +CAB10000 +EBA10000 +0CD10000 +2DC10000 +4EF10000 +6FE10000 +80100000 +A1000000 +C2300000 +E3200000 +04500000 +25400000 +46700000 +67600000 +B9830000 +98930000 +FBA30000 +DAB30000 +3DC30000 +1CD30000 +7FE30000 +5EF30000 +B1020000 +90120000 +F3220000 +D2320000 +35420000 +14520000 +77620000 +56720000 +EAB50000 +CBA50000 +A8950000 +89850000 +6EF50000 +4FE50000 +2CD50000 +0DC50000 +E2340000 +C3240000 +A0140000 +81040000 +66740000 +47640000 +24540000 +05440000 +DBA70000 +FAB70000 +99870000 +B8970000 +5FE70000 +7EF70000 +1DC70000 +3CD70000 +D3260000 +F2360000 +91060000 +B0160000 +57660000 +76760000 +15460000 +34560000 +4CD90000 +6DC90000 +0EF90000 +2FE90000 +C8990000 +E9890000 +8AB90000 +ABA90000 +44580000 +65480000 +06780000 +27680000 +C0180000 +E1080000 +82380000 +A3280000 +7DCB0000 +5CDB0000 +3FEB0000 +1EFB0000 +F98B0000 +D89B0000 +BBAB0000 +9ABB0000 +754A0000 +545A0000 +376A0000 +167A0000 +F10A0000 +D01A0000 +B32A0000 +923A0000 +2EFD0000 +0FED0000 +6CDD0000 +4DCD0000 +AABD0000 +8BAD0000 +E89D0000 +C98D0000 +267C0000 +076C0000 +645C0000 +454C0000 +A23C0000 +832C0000 +E01C0000 +C10C0000 +1FEF0000 +3EFF0000 +5DCF0000 +7CDF0000 +9BAF0000 +BABF0000 +D98F0000 +F89F0000 +176E0000 +367E0000 +554E0000 +745E0000 +932E0000 +B23E0000 +D10E0000 +F01E0000 +00000000 +96300777 +2C610EEE +BA510999 +19C46D07 +8FF46A70 +35A563E9 +A395649E +3288DB0E +A4B8DC79 +1EE9D5E0 +88D9D297 +2B4CB609 +BD7CB17E +072DB8E7 +911DBF90 +6410B71D +F220B06A +4871B9F3 +DE41BE84 +7DD4DA1A +EBE4DD6D +51B5D4F4 +C785D383 +56986C13 +C0A86B64 +7AF962FD +ECC9658A +4F5C0114 +D96C0663 +633D0FFA +F50D088D +C8206E3B +5E10694C +E44160D5 +727167A2 +D1E4033C +47D4044B +FD850DD2 +6BB50AA5 +FAA8B535 +6C98B242 +D6C9BBDB +40F9BCAC +E36CD832 +755CDF45 +CF0DD6DC +593DD1AB +AC30D926 +3A00DE51 +8051D7C8 +1661D0BF +B5F4B421 +23C4B356 +9995BACF +0FA5BDB8 +9EB80228 +0888055F +B2D90CC6 +24E90BB1 +877C6F2F +114C6858 +AB1D61C1 +3D2D66B6 +9041DC76 +0671DB01 +BC20D298 +2A10D5EF +8985B171 +1FB5B606 +A5E4BF9F +33D4B8E8 +A2C90778 +34F9000F +8EA80996 +18980EE1 +BB0D6A7F +2D3D6D08 +976C6491 +015C63E6 +F4516B6B +62616C1C +D8306585 +4E0062F2 +ED95066C +7BA5011B +C1F40882 +57C40FF5 +C6D9B065 +50E9B712 +EAB8BE8B +7C88B9FC +DF1DDD62 +492DDA15 +F37CD38C +654CD4FB +5861B24D +CE51B53A +7400BCA3 +E230BBD4 +41A5DF4A +D795D83D +6DC4D1A4 +FBF4D6D3 +6AE96943 +FCD96E34 +468867AD +D0B860DA +732D0444 +E51D0333 +5F4C0AAA +C97C0DDD +3C710550 +AA410227 +10100BBE +86200CC9 +25B56857 +B3856F20 +09D466B9 +9FE461CE +0EF9DE5E +98C9D929 +2298D0B0 +B4A8D7C7 +173DB359 +810DB42E +3B5CBDB7 +AD6CBAC0 +2083B8ED +B6B3BF9A +0CE2B603 +9AD2B174 +3947D5EA +AF77D29D +1526DB04 +8316DC73 +120B63E3 +843B6494 +3E6A6D0D +A85A6A7A +0BCF0EE4 +9DFF0993 +27AE000A +B19E077D +44930FF0 +D2A30887 +68F2011E +FEC20669 +5D5762F7 +CB676580 +71366C19 +E7066B6E +761BD4FE +E02BD389 +5A7ADA10 +CC4ADD67 +6FDFB9F9 +F9EFBE8E +43BEB717 +D58EB060 +E8A3D6D6 +7E93D1A1 +C4C2D838 +52F2DF4F +F167BBD1 +6757BCA6 +DD06B53F +4B36B248 +DA2B0DD8 +4C1B0AAF +F64A0336 +607A0441 +C3EF60DF +55DF67A8 +EF8E6E31 +79BE6946 +8CB361CB +1A8366BC +A0D26F25 +36E26852 +95770CCC +03470BBB +B9160222 +2F260555 +BE3BBAC5 +280BBDB2 +925AB42B +046AB35C +A7FFD7C2 +31CFD0B5 +8B9ED92C +1DAEDE5B +B0C2649B +26F263EC +9CA36A75 +0A936D02 +A906099C +3F360EEB +85670772 +13570005 +824ABF95 +147AB8E2 +AE2BB17B +381BB60C +9B8ED292 +0DBED5E5 +B7EFDC7C +21DFDB0B +D4D2D386 +42E2D4F1 +F8B3DD68 +6E83DA1F +CD16BE81 +5B26B9F6 +E177B06F +7747B718 +E65A0888 +706A0FFF +CA3B0666 +5C0B0111 +FF9E658F +69AE62F8 +D3FF6B61 +45CF6C16 +78E20AA0 +EED20DD7 +5483044E +C2B30339 +612667A7 +F71660D0 +4D476949 +DB776E3E +4A6AD1AE +DC5AD6D9 +660BDF40 +F03BD837 +53AEBCA9 +C59EBBDE +7FCFB247 +E9FFB530 +1CF2BDBD +8AC2BACA +3093B353 +A6A3B424 +0536D0BA +9306D7CD +2957DE54 +BF67D923 +2E7A66B3 +B84A61C4 +021B685D +942B6F2A +37BE0BB4 +A18E0CC3 +1BDF055A +8DEF022D +256C7542 +00000000 +256C752E +256C754B +69420000 +00000000 +256C752E +256C754D +69420000 +00000000 +256C752E +256C7547 +69420000 +00000000 +25732030 +7825782D +30782578 +20000000 +2020200D +00000000 +6D656D74 +6573745F +61636365 +73732065 +72726F72 +20402025 +702C2065 +78697469 +6E67206D +656D7465 +73742E0A +00000000 +20205772 +6974653A +00000000 +00000000 +20202052 +6561643A +00000000 +00000000 +4D656D73 +70656564 +20617420 +25702028 +00000000 +00000000 +52616E64 +6F6D2C20 +00000000 +00000000 +53657175 +656E7469 +616C2C20 +00000000 +292E2E2E +0A000000 +20205772 +69746520 +73706565 +643A2000 +2F730000 +00000000 +20202052 +65616420 +73706565 +643A2000 +4D656D74 +65737420 +61742025 +70202800 +20206275 +73206572 +726F7273 +3A202025 +642F256C +640A0000 +20206164 +64722065 +72726F72 +733A2025 +642F256C +640A0000 +20206461 +74612065 +72726F72 +733A2025 +642F256C +640A0000 +4D656D74 +65737420 +4B4F0A00 +00000000 +4D656D74 +65737420 +4F4B0A00 +00000000 +00800000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +03000100 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +01000000 +01000000 +01000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000100 +00000000 +20000100 +00000000 +40000100 +00000000 +60000100 +00000000 +80000100 +00000000 +A0000100 +00000000 +C0000100 +00000000 +E0000100 +00000000 +00010100 +00000000 +20010100 +00000000 +40010100 +00000000 +60010100 +00000000 +80010100 +00000000 +A0010100 +00000000 +C0010100 +00000000 +E0010100 +00000000 +84180000 +00000000 +78610000 +00000000 +80610000 +00000000 +00000000 +00000000 +AC170000 +00000000 +90610000 +00000000 +98610000 +00000000 +00000000 +00000000 +CC160000 +00000000 +B0610000 +00000000 +C8610000 +00000000 +00000000 +00000000 +28190000 +00000000 +E0610000 +00000000 +E8610000 +00000000 +00000000 +00000000 +FC170000 +00000000 +18620000 +00000000 +20620000 +00000000 +00000000 +00000000 +DC160000 +00000000 +40620000 +00000000 +48620000 +00000000 +00000000 +00000000 +BC1C0000 +00000000 +50650000 +00000000 +58650000 +00000000 +02000000 +00000000 +9C1F0000 +00000000 +70650000 +00000000 +80650000 +00000000 +02000000 +00000000 +D01E0000 +00000000 +98650000 +00000000 +A8650000 +00000000 +02000000 +00000000 +B01B0000 +00000000 +C0650000 +00000000 +D0650000 +00000000 +02000000 +00000000 +481A0000 +00000000 +E8650000 00000000 +F8650000 00000000 +02000000 00000000 +FC1D0000 00000000 +10660000 00000000 +20660000 00000000 +02000000 00000000 +F8190000 00000000 +38660000 00000000 +48660000 00000000 +02000000 00000000 +600F0000 00000000 +B8660000 00000000 +C8660000 00000000 +01000000 00000000 +E8200000 00000000 +E0660000 00000000 +E8660000 00000000 +01000000 00000000 +0C210000 00000000 +F0660000 00000000 +F8660000 00000000 +01000000 00000000 +B86A0000 00000000 +10000000 00000000 +C06A0000 00000000 +0E000000 00000000 +C86A0000 00000000 +06000000 00000000 +D06A0000 00000000 +02000000 00000000 +D86A0000 00000000 +01000000 00000000 +E06A0000 00000000 +85000000 00000000 +E86A0000 00000000 +10000000 00000000 +F06A0000 00000000 +0E000000 00000000 +F86A0000 00000000 +06000000 00000000 +006B0000 00000000 -6D61696E -28256929 -0A000001 -FFF80000 -FFF80000 -08080808 -08080808 -08282828 -28280808 -08080808 -08080808 -08080808 -08080808 -A0101010 -10101010 -10101010 -10101010 -04040404 -04040404 -04041010 -10101010 -10414141 -41414101 -01010101 -01010101 -01010101 -01010101 -01010110 -10101010 -10424242 -42424202 -02020202 -02020202 -02020202 -02020202 -02020210 -10101008 +02000000 00000000 +086B0000 00000000 +01000000 00000000 +106B0000 00000000 +85000000 00000000 +186B0000 00000000 +01000000 00000000 +206B0000 00000000 -A0101010 -10101010 -10101010 -10101010 -10101010 -10101010 -10101010 -10101010 -01010101 -01010101 -01010101 -01010101 -01010101 -01010110 -01010101 -01010102 -02020202 -02020202 -02020202 -02020202 -02020202 -02020210 -02020202 -02020202 -41626F72 -7465642E -00000000 -30313233 -34353637 -38394142 -43444546 -4748494A -4B4C4D4E -4F505152 -53545556 -5758595A -00000000 -30313233 -34353637 -38396162 -63646566 -6768696A -6B6C6D6E -6F707172 -73747576 -7778797A -00000000 -3C4E554C -4C3E0000 -00001D18 -00001D48 -00001D48 -00001D28 -00001D48 -00001D48 -00001D48 -00001D48 -00001D48 -00001D48 -00001D48 -00001D08 -00001D48 -00001CF8 -00001D48 -00001D48 -00001D38 -00002480 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024B8 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -000024E0 -00001FBC -000024D0 -000024E0 -000024E0 -000024E0 -000024E0 -000024D0 -000024E0 -000024E0 -000024E0 -000024E0 -00002304 -000024AC -0000225C -000024E0 -000024E0 -000020D8 -000024E0 -00002558 -000024E0 -000024E0 -000024C4 -00000000 -9421FFF0 -7C691B78 -99210008 -3D200001 -81292000 -39090001 -3D400001 -910A2000 -89410008 -99490000 -60000000 -38210010 -4E800020 -9421FFC0 -7C0802A6 -90010044 -90610038 -3D200001 -39292000 -9121000C -3D200001 -39292040 -91210010 -81210038 -2C090000 -4182000C -3920FFFF -48000190 -3D200000 -392936D0 -91210008 -48000028 -8121000C -39490004 -9141000C -81410008 -814A0000 -91490000 -81210008 -39290004 -91210008 -81410008 -3D200000 -39293B4C -7C0A4840 -4180FFCC -3D200001 -3929247C -91210008 -48000024 -81210008 -39490004 -91410008 -39400000 -91490000 -81210008 -39290004 -91210008 -81410008 -3D200001 -39292498 -7C0A4840 -4180FFD0 -3D200000 -38690C00 -4CC63182 -480026D1 -38600077 -48002719 -38600074 -48002711 -38600066 -48002709 -3860000A -48002701 -80810038 -3D200000 -386908F0 -4CC63182 -480028F5 -3D200300 -91210034 -81210034 -7D334BA6 -60000000 -39200000 -91210030 -81210030 -7D3603A6 -60000000 -39200000 -9121002C -8121002C -7D3D43A6 -60000000 -39200000 -91210028 -81210028 -7D3C43A6 -60000000 -3D20FE00 -91210024 -81210024 -7D3053A6 -60000000 -7D36FAA6 -91210020 -81210020 -552905EA -9121001C -8121001C -7D36FBA6 -60000000 -39200000 -91210018 -81210018 -7D3053A6 -60000000 -39200000 -91210014 -81210014 -7D3453A6 -60000000 -81210010 -7D234B78 -4801136C -48000000 -7D234B78 -80010044 -7C0803A6 -38210040 -4E800020 -9421FFE0 -7C0802A6 -90010024 -90610018 -39200001 -9121000C -81410018 -3D200867 -61295309 -7C0A4800 -4182000C -3C608000 -4BFFF9B5 -39200000 -91210008 -4800008C -81210008 -552A103A -3D200001 -39292340 -7D2A4A14 -81290000 -91210010 -81210008 -552A103A -3D200001 -392923E0 -7D2A4A14 -81290000 -91210014 -8121000C -2C090000 -4182001C -81410010 -81210014 -7C0A4800 -4082000C -39200001 -48000008 -39200000 -9121000C -8121000C -2C090000 -40820010 -81210008 -7D234B78 -4BFFF92D -81210008 -39290001 -91210008 -81210008 -2809001F -4081FF70 -39200021 -91210008 -81210008 -552A103A -3D200001 -39292340 -7D2A4A14 -81290000 -91210010 -81210008 -552A103A -3D200001 -392923E0 -7D2A4A14 -81290000 -55290644 -91210014 -8121000C -2C090000 -4182001C -81410010 -81210014 -7C0A4800 -4082000C -39200001 -48000008 -39200000 -9121000C -8121000C -2C090000 -40820010 -81210008 -7D234B78 -4BFFF88D -39200022 -91210008 -4800008C -81210008 -552A103A -3D200001 -39292340 -7D2A4A14 -81290000 -91210010 -81210008 -552A103A -3D200001 -392923E0 -7D2A4A14 -81290000 -91210014 -8121000C -2C090000 -4182001C -81410010 -81210014 -7C0A4800 -4082000C -39200001 -48000008 -39200000 -9121000C -8121000C -2C090000 -40820010 -81210008 -7D234B78 -4BFFF805 -81210008 -39290001 -91210008 -81210008 -28090023 -4081FF70 -4BFFF7E5 -48000000 -9421FFF0 -90610008 -9081000C -48011234 -60000000 -38210010 -4E800020 -48000000 -9421FFF0 -7C691B78 -99210008 -89210008 -3D400000 -394A0904 -7D2A48AE -552907BC -2C090000 -41820010 -89210008 -3929FFE0 -99210008 -89210008 -7D234B78 -38210010 -4E800020 -9421FFF0 -7C691B78 -B1210008 -A1210008 -5529402E -7D2A0734 -A1210008 -5529C23E -5529043E -7D290734 -7D494B78 -7D290734 -5529043E -7D234B78 -38210010 -4E800020 -9421FFF0 -90610008 -81210008 -552A463E -81210008 -5529C23E -5529042E -7D4A4B78 -81210008 -5529402E -5529021E -7D4A4B78 -81210008 -5529C00E -7D494B78 -7D234B78 -38210010 -4E800020 -9421FFF0 -90610008 -9081000C -48000028 -81210008 -89290000 -2C090000 -4082000C -39200000 -4800002C -81210008 -39290001 -91210008 -81210008 -89490000 -8121000C -5529063E -7C0A4840 -4082FFC8 -81210008 -7D234B78 -38210010 -4E800020 -9421FFE0 -90610018 -9081001C -81210018 -91210008 -48000058 -8121001C -9121000C -48000030 -81210008 -89490000 -8121000C -89290000 -7C0A4840 -4082000C -81210008 -48000040 -8121000C -39290001 -9121000C -8121000C -89290000 -2C090000 -4082FFC8 -81210008 -39290001 -91210008 -81210008 -89290000 -2C090000 -4082FFA0 -39200000 -7D234B78 -38210020 -4E800020 -9421FFE0 -7C0802A6 -90010024 -90610018 -9081001C -80610018 -480003DD -7C6A1B78 -81210018 -7D295214 -91210008 -81210008 -89490000 -8121001C -5529063E -7C0A4840 -4082000C -81210008 -48000024 -81210008 -3929FFFF -91210008 -81410008 -81210018 -7C0A4840 -4080FFC8 -39200000 -7D234B78 -80010024 -7C0803A6 -38210020 -4E800020 -9421FFE0 -90610008 -9081000C -90A10010 -48000030 -81210008 -89490000 -81210010 -5529063E -7C0A4840 -4082000C -81210008 -48000038 -81210008 -39290001 -91210008 -8121000C -3949FFFF -9141000C -2C090000 -41820014 -81210008 -89290000 -2C090000 -4082FFB4 -39200000 -7D234B78 -38210020 -4E800020 -9421FFE0 -90610018 -9081001C -81210018 -91210008 -60000000 -8141001C -392A0001 -9121001C -81210018 -39090001 -91010018 -894A0000 -99490000 -89290000 -2C090000 -4082FFD8 -81210008 -7D234B78 -38210020 -4E800020 -9421FFD0 -90610018 -9081001C -90A10020 -81210018 -91210008 -48000048 -8121001C -89490000 -81210008 -99490000 -81210008 -89290000 -2C090000 -41820010 -8121001C -39290001 -9121001C -81210008 -39290001 -91210008 -81210020 -3929FFFF -91210020 -81210020 -2C090000 -4082FFB4 -81210018 -7D234B78 -38210030 -4E800020 -9421FFE0 -90610018 -9081001C -81210018 -89490000 -8121001C -39090001 -9101001C -89290000 -7D295050 -5529063E -99210008 -89210008 -7D290774 -2C090000 -40820020 -81210018 -39490001 -91410018 -89290000 -2C090000 -41820008 -4BFFFFB4 -89210008 -7D290774 -7D234B78 -38210020 -4E800020 -9421FFD0 -90610018 -9081001C -90A10020 -39200000 -9121000C -39200000 -99210008 -4800005C -81210018 -89490000 -8121001C -39090001 -9101001C -89290000 -7D295050 -5529063E -99210008 -89210008 -7D290774 -2C090000 -40820038 -81210018 -39490001 -91410018 -89290000 -2C090000 -41820020 -8121000C -39290001 -9121000C -8141000C -81210020 -7C0A4840 -4180FF9C -89210008 -7D290774 -7D234B78 -38210030 -4E800020 -9421FFE0 -90610018 -9081001C -81210018 -91210008 -48000010 -81210018 -39290001 -91210018 -81210018 -89290000 -2C090000 -4082FFE8 -60000000 -8141001C -392A0001 -9121001C -81210018 -39090001 -91010018 -894A0000 -99490000 -89290000 -2C090000 -4082FFD8 -81210008 -7D234B78 -38210020 -4E800020 -9421FFD0 -90610018 -9081001C -90A10020 -81210018 -91210008 -81210020 -2C090000 -4182007C -48000010 -81210018 -39290001 -91210018 -81210018 -89290000 -2C090000 -4082FFE8 -4800002C -81210020 -3929FFFF -91210020 -81210020 -2C090000 -40820014 -81210018 -39400000 -99490000 -48000030 -8141001C -392A0001 -9121001C -81210018 -39090001 -91010018 -894A0000 -99490000 -89290000 -2C090000 -4082FFB0 -81210008 -7D234B78 -38210030 -4E800020 -9421FFE0 -90610018 -81210018 -91210008 -48000010 -81210008 -39290001 -91210008 -81210008 -89290000 -2C090000 -4082FFE8 -81410008 -81210018 -7D295050 -7D234B78 -38210020 -4E800020 -9421FFE0 -90610018 -9081001C -81210018 -91210008 -48000010 -81210008 -39290001 -91210008 -8121001C -3949FFFF -9141001C -2C090000 -41820014 -81210008 -89290000 -2C090000 -4082FFD4 -81410008 -81210018 -7D295050 -7D234B78 -38210020 -4E800020 -9421FFE0 -90610018 -9081001C -39200000 -91210010 -81210018 -91210008 -4800007C -8121001C -9121000C -48000028 -81210008 -89490000 -8121000C -89290000 -7C0A4840 -41820024 -8121000C -39290001 -9121000C -8121000C -89290000 -2C090000 -4082FFD0 -48000008 -60000000 -8121000C -89290000 -2C090000 -4082000C -81210010 -48000030 -81210010 -39290001 -91210010 -81210008 -39290001 -91210008 -81210008 -89290000 -2C090000 -4082FF7C -81210010 -7D234B78 -38210020 -4E800020 -9421FFD0 -90610018 -9081001C -90A10020 -39200000 -91210010 -81210018 -91210008 -8121001C -9121000C -48000050 -81210008 -89290000 -7D2A4B78 -8121000C -89290000 -7D295050 -91210010 -81210010 -2C090000 -40820038 -81210008 -39290001 -91210008 -8121000C -39290001 -9121000C -81210020 -3929FFFF -91210020 -81210020 -2C090000 -4082FFAC -48000008 -60000000 -81210010 -7D234B78 -38210030 -4E800020 -9421FFD0 -90610018 -9081001C -90A10020 -81210018 -91210008 -4800001C -81210008 -39490001 -91410008 -8141001C -554A063E -99490000 -81210020 -3949FFFF -91410020 -2C090000 -4082FFD8 -81210018 -7D234B78 -38210030 -4E800020 -9421FFD0 -90610018 -9081001C -90A10020 -81210018 -91210008 -8121001C -9121000C -48000024 -8141000C -392A0001 -9121000C -81210008 -39090001 -91010008 -894A0000 -99490000 -81210020 -3949FFFF -91410020 -2C090000 -4082FFD0 -81210018 -7D234B78 -38210030 -4E800020 -9421FFD0 -90610018 -9081001C -90A10020 -81410018 -8121001C -7C0A4840 -41810050 -81210018 -91210008 -8121001C -9121000C -48000024 -8141000C -392A0001 -9121000C -81210008 -39090001 -91010008 -894A0000 -99490000 -81210020 -3949FFFF -91410020 -2C090000 -4082FFD0 -48000064 -81410018 -81210020 -7D2A4A14 -91210008 -8141001C -81210020 -7D2A4A14 -9121000C -4800002C -8121000C -3929FFFF -9121000C -81210008 -3929FFFF -91210008 -8121000C -89490000 -81210008 -99490000 -81210020 -3949FFFF -91410020 -2C090000 -4082FFC8 -81210018 -7D234B78 -38210030 -4E800020 -9421FFE0 -7C0802A6 -90010024 -90610018 -9081001C -8061001C -4BFFFC51 -7C691B78 -9121000C -8121000C -2C090000 -4082000C -81210018 -48000068 -80610018 -4BFFFC2D -7C691B78 -91210008 -48000040 -81210008 -3929FFFF -91210008 -80A1000C -8081001C -80610018 -4BFFFD65 -7C691B78 -2C090000 -4082000C -81210018 -48000024 -81210018 -39290001 -91210018 -81410008 -8121000C -7C0A4840 -4080FFB8 -39200000 -7D234B78 -80010024 -7C0803A6 -38210020 -4E800020 -9421FFD0 -90610018 -9081001C -90A10020 -81210018 -91210008 -48000030 -8121001C -552A063E -81210008 -39090001 -91010008 -89290000 -7C0A4840 -40820010 -81210008 -3929FFFF -4800001C -81210020 -3949FFFF -91410020 -2C090000 -4082FFC4 -39200000 -7D234B78 -38210030 -4E800020 -9421FFD0 -7C0802A6 -90010034 -90610018 -9081001C -90A10020 -39200000 -91210008 -81210020 -2C090000 -4082008C -3920000A -91210020 -81210018 -89290000 -28090030 -408200E4 -39200008 -91210020 -81210018 -39290001 -91210018 -81210018 -89290000 -7D234B78 -4BFFF541 -7C691B78 -28090058 -408200B4 -81210018 -39290001 -89290000 -7D2A4B78 -3D200000 -39290904 -7D2950AE -71290044 -2C090000 -4182008C -81210018 -39290001 -91210018 -39200010 -91210020 -48000074 -81210020 -2C090010 -40820068 -81210018 -89290000 -28090030 -40820058 -81210018 -39290001 -89290000 -7D234B78 -4BFFF4C5 -7C691B78 -28090058 -40820038 -81210018 -39290002 -91210018 -48000028 -81410008 -81210020 -7D2A49D6 -8141000C -7D2A4A14 -91210008 -81210018 -39290001 -91210018 -81210018 -89290000 -7D2A4B78 -3D200000 -39290904 -7D2950AE -71290044 -2C090000 -41820064 -81210018 -89290000 -7D2A4B78 -3D200000 -39290904 -7D2950AE -5529077A -2C090000 -41820014 -81210018 -89290000 -3929FFD0 -4800001C -81210018 -89290000 -7D234B78 -4BFFF41D -7C691B78 -3929FFC9 -9121000C -8141000C -81210020 -7C0A4840 -4180FF5C -8121001C -2C090000 -41820010 -8121001C -81410018 -91490000 -81210008 -7D234B78 -80010034 -7C0803A6 -38210030 -4E800020 -9421FFE0 -7C0802A6 -90010024 -90610008 -9081000C -90A10010 -81210008 -89290000 -2809002D -4082002C -81210008 -39290001 -81410010 -7D455378 -8081000C -7D234B78 -4BFFFDE9 -7C691B78 -7D2900D0 -4800001C -81210010 -7D254B78 -8081000C -80610008 -4BFFFDC9 -7C691B78 -7D234B78 -80010024 -7C0803A6 -38210020 -4E800020 -9421FFE0 -90610018 -39200000 -91210008 -48000030 -81210008 -1D49000A -81210018 -81290000 -38E90001 -81010018 -90E80000 -89290000 -7D2A4A14 -3929FFD0 -91210008 -81210018 -81290000 -89290000 -7D2A4B78 -3D200000 -39290904 -7D2950AE -5529077A -2C090000 -4082FFB0 -81210008 -7D234B78 -38210020 -4E800020 -9421FF70 -90610068 -9081006C -90A10070 -90C10074 -90E10078 -9101007C -91210080 -81210080 -55290672 -2C090000 -41820010 -3D200000 -39290A10 -4800000C -3D200000 -39290A38 -91210010 -81210080 -552906F6 -2C090000 -41820010 -81210080 -5529003C -91210080 -81210074 -2C090001 -40810010 -81210074 -2C090024 -4081000C -39200000 -480003FC -81210080 -552907FE -2C090000 -4182000C -39200030 -48000008 -39200020 -99210014 -39200000 -99210008 -81210080 -552907BC -2C090000 -41820080 -81210070 -2C090000 -40800028 -3920002D -99210008 -81210070 -7D2900D0 -91210070 -81210078 -3929FFFF -91210078 -48000050 -81210080 -5529077A -2C090000 -4182001C -3920002B -99210008 -81210078 -3929FFFF -91210078 -48000028 -81210080 -55290738 -2C090000 -41820018 -39200020 -99210008 -81210078 -3929FFFF -91210078 -81210080 -552906B4 -2C090000 -41820038 -81210074 -2C090010 -40820014 -81210078 -3929FFFE -91210078 -4800001C -81210074 -2C090008 -40820010 -81210078 -3929FFFF -91210078 -39200000 -9121000C -81210070 -2C090000 -4082006C -8121000C -39490001 -9141000C -39410008 -7D2A4A14 -39400030 -99490010 -48000058 -81410074 -81210070 -7D095396 -7D4851D6 -7D2A4850 -81410010 -7D4A4A14 -8121000C -39090001 -9101000C -894A0000 -39010008 -7D284A14 -99490010 -81210074 -81410070 -7D2A4B96 -91210070 -81210070 -2C090000 -4082FFB0 -8141000C -8121007C -7C0A4800 -4081000C -8121000C -9121007C -81410078 -8121007C -7D295050 -91210078 -81210080 -71290011 -2C090000 -40820044 -4800002C -81410068 -8121006C -7C0A4840 -40800010 -81210068 -39400020 -99490000 -81210068 -39290001 -91210068 -81210078 -3949FFFF -91410078 -2C090000 -4181FFC8 -89210008 -2C090000 -4182002C -81410068 -8121006C -7C0A4840 -40800010 -81210068 -89410008 -99490000 -81210068 -39290001 -91210068 -81210080 -552906B4 -2C090000 -4182009C -81210074 -2C090008 -40820030 -81410068 -8121006C -7C0A4840 -40800010 -81210068 -39400030 -99490000 -81210068 -39290001 -91210068 -48000064 -81210074 -2C090010 -40820058 -81410068 -8121006C -7C0A4840 -40800010 -81210068 -39400030 -99490000 -81210068 -39290001 -91210068 -81410068 -8121006C -7C0A4840 -40800014 -81210010 -89490021 -81210068 -99490000 -81210068 -39290001 -91210068 -81210080 -552906F6 -2C090000 -40820070 -4800002C -81410068 -8121006C -7C0A4840 -40800010 -81210068 -89410014 -99490000 -81210068 -39290001 -91210068 -81210078 -3949FFFF -91410078 -2C090000 -4181FFC8 -4800002C -81410068 -8121006C -7C0A4840 -40800010 -81210068 -39400030 -99490000 -81210068 -39290001 -91210068 -8121007C -3949FFFF -9141007C -8141000C -7C0A4800 -4180FFC4 -48000038 -81410068 -8121006C -7C0A4840 -4080001C -39410018 -8121000C -7D2A4A14 -89490000 -81210068 -99490000 -81210068 -39290001 -91210068 -8121000C -3949FFFF -9141000C -2C090000 -4181FFBC -4800002C -81410068 -8121006C -7C0A4840 -40800010 -81210068 -39400020 -99490000 -81210068 -39290001 -91210068 -81210078 -3949FFFF -91410078 -2C090000 -4181FFC8 -81210068 -7D234B78 -38210090 -4E800020 -9421FFD0 -7C0802A6 -90010034 -90610018 -9081001C -90A10020 -90C10024 -80C10024 -80A10020 -8081001C -80610018 -4800044D -7C691B78 -91210008 -81410008 -8121001C -7C0A4840 -41800010 -8121001C -3929FFFF -48000008 -81210008 -7D234B78 -80010034 -7C0803A6 -38210030 -4E800020 -9421FF80 -7C0802A6 -90010084 -90610018 -9081001C -90A10020 -90C1002C -90E10030 -91010034 -91210038 -9141003C -40860024 -D8210040 -D8410048 -D8610050 -D8810058 -D8A10060 -D8C10068 -D8E10070 -D9010078 -39200003 -9921000C -39200000 -9921000D -39210088 -91210010 -39210020 -91210014 -3921000C -7D264B78 -80A10020 -8081001C -80610018 -48000389 -7C691B78 -91210008 -81210008 -7D234B78 -80010084 -7C0803A6 -38210080 -4E800020 -9421FF80 -7C0802A6 -90010084 -90610018 -9081001C -90A10020 -90C1002C -90E10030 -91010034 -91210038 -9141003C -40860024 -D8210040 -D8410048 -D8610050 -D8810058 -D8A10060 -D8C10068 -D8E10070 -D9010078 -39200003 -9921000C -39200000 -9921000D -39210088 -91210010 -39210020 -91210014 -3921000C -7D264B78 -80A10020 -8081001C -80610018 -480002E1 -7C691B78 -91210008 -81410008 -8121001C -7C0A4840 -41800010 -8121001C -3929FFFF -48000008 -81210008 -7D234B78 -80010084 -7C0803A6 -38210080 -4E800020 -9421FFE0 -7C0802A6 -90010024 -90610008 -9081000C -90A10010 -80C10010 -80A1000C -3D207FFF -6124FFFF -80610008 -48000275 -7C691B78 -7D234B78 -80010024 -7C0803A6 -38210020 -4E800020 -9421FF80 -7C0802A6 -90010084 -90610018 -9081001C -90A10020 -90C10024 -90E10028 -9101002C -91210030 -91410034 -40860024 -D8210038 -D8410040 -D8610048 -D8810050 -D8A10058 -D8C10060 -D8E10068 -D9010070 -39200002 -9921000C -39200000 -9921000D -39210088 -91210010 -39210018 -91210014 -3921000C -7D264B78 -80A1001C -3D207FFF -6124FFFF -80610018 -480001D1 -7C691B78 -91210008 -81210008 -7D234B78 -80010084 -7C0803A6 -38210080 -4E800020 -3D200001 -81292488 -1D290081 -3D293619 -394962E9 -3D200001 -91492488 -3D200001 -81292488 -7D234B78 -4E800020 -9421FFF0 -90610008 -3D200001 -81410008 -91492488 -60000000 -38210010 -4E800020 -9421FFF0 -7C0802A6 -90010014 -3D200000 -38690A04 -4CC63182 -4800111D -48000000 -9421FFE0 -7C0802A6 -90010024 -90610018 -39200001 -91210008 -89210008 -2C090000 -41820014 -80610018 -4BFFEB75 -7C691B78 -48000008 -81210018 -7D234B78 -80010024 -7C0803A6 -38210020 -4E800020 -9421FFE0 -7C0802A6 -90010024 -7C691B78 -B1210018 -39200001 -91210008 -89210008 -2C090000 -41820018 -A1210018 -7D234B78 -4BFFEAE1 -7C691B78 -48000008 -A1210018 -7D234B78 -80010024 -7C0803A6 -38210020 -4E800020 -9421FFE0 -7C0802A6 -90010024 -90610018 -39200001 -91210008 -89210008 -2C090000 -41820014 -80610018 -4BFFEAD5 -7C691B78 -48000008 -81210018 -7D234B78 -80010024 -7C0803A6 -38210020 -4E800020 -9421FFE0 -7C0802A6 -90010024 -7C691B78 -B1210018 -39200001 -91210008 -89210008 -2C090000 -41820018 -A1210018 -7D234B78 -4BFFEA41 -7C691B78 -48000008 -A1210018 -7D234B78 -80010024 -7C0803A6 -38210020 -4E800020 -9421FFA0 -7C0802A6 -90010064 -90610048 -9081004C -90A10050 -90C10054 -8121004C -2C090000 -4080000C -39200000 -48000D3C -81210048 -91210018 -81410048 -8121004C -7D2A4A14 -9121001C -8141001C -81210048 -7C0A4840 -40800CBC -3920FFFF -9121001C -8141001C -81210048 -7D295050 -9121004C -48000CA0 -81210050 -89290000 -28090025 -41820034 -81410018 -8121001C -7C0A4840 -40800014 -81210050 -89490000 -81210018 -99490000 -81210018 -39290001 -91210018 -48000C54 -39200000 -91210024 -81210050 -39290001 -91210050 -81210050 -89290000 -3929FFE0 -28090010 -4181007C -552A103A -3D200000 -39290A68 -7D2A4A14 -81490000 -3D200000 -39290A68 -7D2A4A14 -7D2903A6 -4E800420 -81210024 -61290010 -91210024 -4BFFFFAC -81210024 -61290004 -91210024 -4BFFFF9C -81210024 -61290008 -91210024 -4BFFFF8C -81210024 -61290020 -91210024 -4BFFFF7C -81210024 -61290001 -91210024 -4BFFFF6C -3920FFFF -91210028 -81210050 -89290000 -7D2A4B78 -3D200000 -39290904 -7D2950AE -5529077A -2C090000 -4182001C -39210050 -7D234B78 -4BFFF501 -7C691B78 -91210028 -4800009C -81210050 -89290000 -2809002A -4082008C -81210050 -39290001 -91210050 -81210054 -89290000 -28090007 -41810030 -81210054 -81490008 -81210054 -89290000 -39090001 -5507063E -81010054 -98E80000 -5529103A -7D2A4A14 -48000018 -81210054 -81290004 -39090004 -81410054 -910A0004 -81290000 -91210028 -81210028 -2C090000 -4080001C -81210028 -7D2900D0 -91210028 -81210024 -61290010 -91210024 -3920FFFF -9121002C -81210050 -89290000 -2809002E -408200D4 -81210050 -39290001 -91210050 -81210050 -89290000 -7D2A4B78 -3D200000 -39290904 -7D2950AE -5529077A -2C090000 -4182001C -39210050 -7D234B78 -4BFFF409 -7C691B78 -9121002C -48000078 -81210050 -89290000 -2809002A -40820068 -81210050 -39290001 -91210050 -81210054 -89290000 -28090007 -41810030 -81210054 -81490008 -81210054 -89290000 -39090001 -5507063E -81010054 -98E80000 -5529103A -7D2A4A14 -48000018 -81210054 -81290004 -39090004 -81410054 -910A0004 -81290000 -9121002C -8121002C -2C090000 -4080000C -39200000 -9121002C -3920FFFF -91210030 -81210050 -89290000 -28090068 -41820054 -81210050 -89290000 -2809006C -41820044 -81210050 -89290000 -2809004C -41820034 -81210050 -89290000 -2809005A -41820024 -81210050 -89290000 -2809007A -41820014 -81210050 -89290000 -28090074 -4082004C -81210050 -89290000 -91210030 -81210050 -39290001 -91210050 -81210030 -2C09006C -40820028 -81210050 -89290000 -2809006C -40820018 -3920004C -91210030 -81210050 -39290001 -91210050 -3920000A -91210014 -81210050 -89290000 -3929FFDB -28090053 -41810550 -552A103A -3D200000 -39290AAC -7D2A4A14 -81490000 -3D200000 -39290AAC -7D2A4A14 -7D2903A6 -4E800420 -81210024 -552906F6 -2C090000 -40820048 -4800002C -81410018 -8121001C -7C0A4840 -40800010 -81210018 -39400020 -99490000 -81210018 -39290001 -91210018 -81210028 -3929FFFF -91210028 -81210028 -2C090000 -4181FFC4 -81210054 -89290000 -28090007 -41810030 -81210054 -81490008 -81210054 -89290000 -39090001 -5507063E -81010054 -98E80000 -5529103A -7D2A4A14 -48000018 -81210054 -81290004 -39090004 -81410054 -910A0004 -81290000 -99210044 -81410018 -8121001C -7C0A4840 -40800010 -81210018 -89410044 -99490000 -81210018 -39290001 -91210018 -4800002C -81410018 -8121001C -7C0A4840 -40800010 -81210018 -39400020 -99490000 -81210018 -39290001 -91210018 -81210028 -3929FFFF -91210028 -81210028 -2C090000 -4181FFC4 -480007E0 -81210054 -89290000 -28090007 -41810030 -81210054 -81490008 -81210054 -89290000 -39090001 -5507063E -81010054 -98E80000 -5529103A -7D2A4A14 -48000018 -81210054 -81290004 -39090004 -81410054 -910A0004 -81290000 -91210020 -81210020 -2C090000 -40820010 -3D200000 -39290A60 -91210020 -8121002C -7D244B78 -80610020 -4BFFEA25 -7C691B78 -91210034 -81210024 -552906F6 -2C090000 -40820048 -4800002C -81410018 -8121001C -7C0A4840 -40800010 -81210018 -39400020 -99490000 -81210018 -39290001 -91210018 -81210028 -3949FFFF -91410028 -81410034 -7C0A4800 -4180FFC4 -39200000 -91210010 -48000048 -81410018 -8121001C -7C0A4840 -40800014 -81210020 -89490000 -81210018 -99490000 -81210018 -39290001 -91210018 -81210020 -39290001 -91210020 -81210010 -39290001 -91210010 -81410010 -81210034 -7C0A4800 -4180FFB0 -4800002C -81410018 -8121001C -7C0A4840 -40800010 -81210018 -39400020 -99490000 -81210018 -39290001 -91210018 -81210028 -3949FFFF -91410028 -81410034 -7C0A4800 -4180FFC4 -4800065C -81410028 -3920FFFF -7C0A4800 -40820018 -39200008 -91210028 -81210024 -61290021 -91210024 -81210054 -89290000 -28090007 -41810030 -81210054 -81490008 -81210054 -89290000 -39090001 -5507063E -81010054 -98E80000 -5529103A -7D2A4A14 -48000018 -81210054 -81290004 -39090004 -81410054 -910A0004 -81290000 -7D2A4B78 -81210024 -8101002C -80E10028 -38C00010 -7D455378 -8081001C -80610018 -4BFFEFBD -7C691B78 -91210018 -480005B4 -81210030 -2C09006C -40820074 -81210054 -89290000 -28090007 -41810030 -81210054 -81490008 -81210054 -89290000 -39090001 -5507063E -81010054 -98E80000 -5529103A -7D2A4A14 -48000018 -81210054 -81290004 -39090004 -81410054 -910A0004 -81290000 -91210040 -81410018 -81210048 -7D495050 -81210040 -91490000 -48000538 -81210030 -2C09005A -41820010 -81210030 -2C09007A -4082007C -81210054 -89290000 -28090007 -41810030 -81210054 -81490008 -81210054 -89290000 -39090001 -5507063E -81010054 -98E80000 -5529103A -7D2A4A14 -48000018 -81210054 -81290004 -39090004 -81410054 -910A0004 -81290000 -9121003C -81410018 -81210048 -7D295050 -7D2A4B78 -8121003C -91490000 -60000000 -480004A8 -81210054 -89290000 -28090007 -41810030 -81210054 -81490008 -81210054 -89290000 -39090001 -5507063E -81010054 -98E80000 -5529103A -7D2A4A14 -48000018 -81210054 -81290004 -39090004 -81410054 -910A0004 -81290000 -91210038 -81410018 -81210048 -7D495050 -81210038 -91490000 -48000438 -81410018 -8121001C -7C0A4840 -40800010 -81210018 -39400025 -99490000 -81210018 -39290001 -91210018 -4800040C -39200008 -91210014 -480000A8 -81210024 -61290040 -91210024 -39200010 -91210014 -48000090 -81210024 -61290002 -91210024 -4800007C -81410018 -8121001C -7C0A4840 -40800010 -81210018 -39400025 -99490000 -81210018 -39290001 -91210018 -81210050 -89290000 -2C090000 -41820034 -81410018 -8121001C -7C0A4840 -40800014 -81210050 -89490000 -81210018 -99490000 -81210018 -39290001 -91210018 -48000370 -81210050 -3929FFFF -91210050 -48000360 -60000000 -81210030 -2C09004C -40820090 -81210054 -89290000 -81410054 -894A0000 -554A07FE -554A063E -7D4A4A14 -5548063E -81410054 -990A0000 -28090006 -41810030 -81210054 -81490008 -81210054 -89290000 -39090002 -5507063E -81010054 -98E80000 -5529103A -7D2A4A14 -48000020 -81210054 -81290004 -39290007 -55290038 -39090008 -81410054 -910A0004 -81490000 -81690004 -91410008 -9161000C -48000298 -81210030 -2C09006C -40820088 -81210054 -89290000 -28090007 -41810030 -81210054 -81490008 -81210054 -89290000 -39090001 -5507063E -81010054 -98E80000 -5529103A -7D2A4A14 -48000018 -81210054 -81290004 -39090004 -81410054 -910A0004 -81290000 -9121000C -39200000 -91210008 -81210024 -552907BC -2C090000 -4182021C -8121000C -9121000C -7D29FE70 -91210008 -48000208 -81210030 -2C09005A -41820010 -81210030 -2C09007A -40820068 -81210054 -89290000 -28090007 -41810030 -81210054 -81490008 -81210054 -89290000 -39090001 -5507063E -81010054 -98E80000 -5529103A -7D2A4A14 -48000018 -81210054 -81290004 -39090004 -81410054 -910A0004 -81290000 -9121000C -39200000 -91210008 -4800018C -81210030 -2C090074 -40820068 -81210054 -89290000 -28090007 -41810030 -81210054 -81490008 -81210054 -89290000 -39090001 -5507063E -81010054 -98E80000 -5529103A -7D2A4A14 -48000018 -81210054 -81290004 -39090004 -81410054 -910A0004 -81290000 -9121000C -7D29FE70 -91210008 -4800011C -81210030 -2C090068 -40820090 -81210054 -89290000 -28090007 -41810030 -81210054 -81490008 -81210054 -89290000 -39090001 -5507063E -81010054 -98E80000 -5529103A -7D2A4A14 -48000018 -81210054 -81290004 -39090004 -81410054 -910A0004 -81290000 -5529043E -9121000C -39200000 -91210008 -81210024 -552907BC -2C090000 -4182009C -A121000E -7D290734 -9121000C -7D29FE70 -91210008 -48000084 -81210054 -89290000 -28090007 -41810030 -81210054 -81490008 -81210054 -89290000 -39090001 -5507063E -81010054 -98E80000 -5529103A -7D2A4A14 -48000018 -81210054 -81290004 -39090004 -81410054 -910A0004 -81290000 -9121000C -39200000 -91210008 -81210024 -552907BC -2C090000 -41820014 -8121000C -9121000C -7D29FE70 -91210008 -8141000C -81210024 -8101002C -80E10028 -80C10014 -7D455378 -8081001C -80610018 -4BFFEA09 -7C691B78 -91210018 -81210050 -39290001 -91210050 -81210050 -89290000 -2C090000 -4082F358 -8121004C -2C090000 -41820034 -81410018 -8121001C -7C0A4840 -40800014 -81210018 -39400000 -99490000 -48000014 -8121001C -3929FFFF -39400000 -99490000 -81410018 -81210048 -7D295050 -7D234B78 -80010064 -7C0803A6 -38210060 -4E800020 -9421FFF0 -90610008 -3D200001 -81410008 -9149248C -60000000 -38210010 -4E800020 -9421FFF0 -90610008 -9081000C -3D200001 -81410008 -91492490 -3D200001 -8141000C -91492494 -60000000 -38210010 -4E800020 -9421FFF0 -7C0802A6 -90010014 -90610008 -3D200001 -8129248C -2C090000 -41820020 -3D200001 -8129248C -81410008 -554A063E -7D435378 -7D2903A6 -4E800421 -81210008 -7D234B78 -80010014 -7C0803A6 -38210010 -4E800020 -9421FFF0 -7C0802A6 -90010014 -3D200001 -81292494 -2C090000 -4182FFF4 -3D200001 -81292494 -7D2903A6 -4E800421 -7C691B78 -2C090000 -4182FFD8 -3D200001 -81292490 -7D2903A6 -4E800421 -7C691B78 -7D234B78 -80010014 -7C0803A6 -38210010 -4E800020 -9421FFF0 -7C0802A6 -90010014 -3D200001 -81292494 -2C090000 -41820028 -3D200001 -81292494 -7D2903A6 -4E800421 -7C691B78 -2C090000 -4182000C -39200001 -48000008 -39200000 -7D234B78 -80010014 -7C0803A6 -38210010 -4E800020 -9421FFF0 -7C0802A6 -90010014 -90610008 -80610008 -48000025 -3860000A -4BFFFED9 -39200001 -7D234B78 -80010014 -7C0803A6 -38210010 -4E800020 -9421FFF0 -7C0802A6 -90010014 -90610008 -48000020 -81210008 -89290000 -7D234B78 -4BFFFE9D -81210008 -39290001 -91210008 -81210008 -89290000 -2C090000 -4082FFD8 -60000000 -60000000 -80010014 -7C0803A6 -38210010 -4E800020 -9421FEE0 -7C0802A6 -90010124 -90610118 -9081011C -3921000C -80C1011C -80A10118 -38800100 -7D234B78 -4BFFEBF9 -7C691B78 -91210008 -3941000C -81210008 -7D2A4A14 -39400000 -99490000 -3921000C -7D234B78 -4BFFFF59 -81210008 -7D234B78 -80010124 -7C0803A6 -38210120 -4E800020 -9421FF80 -7C0802A6 -90010084 -90610018 -90810024 -90A10028 -90C1002C -90E10030 -91010034 -91210038 -9141003C -40860024 -D8210040 -D8410048 -D8610050 -D8810058 -D8A10060 -D8C10068 -D8E10070 -D9010078 -39200001 -9921000C -39200000 -9921000D -39210088 -91210010 -39210020 -91210014 -3921000C -7D244B78 -80610018 -4BFFFF19 -7C691B78 -91210008 -81210008 -7D234B78 -80010084 -7C0803A6 -38210080 -4E800020 -0001C000 -00000000 -00000000 -00000000 -00000000 -00000000 -00000000 -00000000 -696E666F -20746578 -74006865 -61646572 -20746578 -74000000 +0F000000 00000000 +286B0000 00000000 +89000000 00000000 -5822C905 -FFFFFFFF -91B6D1A3 -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -7E11EE88 -FFFFFFFF -7FFFFFFF -FFFFFFFF -FFFFFFFF -8C20BDE6 -FFFFFFFF -76D0DADF -15111F42 -FFFFFFFF -36108E50 -FFFFFFFF -FFFFFFFF -328A0CED -FFFFFFFF -FFFFFFFF -AF224C19 -FFFFFFFF -FFFFFFFF -D624B27A -FFFFFFFF -FFFFFFFF -FFFFFFFF -DBFD3628 -89F0006E -FFFFFFFF -FFFFFFFF -FFFFFFFF -00001104 -00010000 +306B0000 00000000 -0000000D -7C61CC14 -7D230595 -7AC37392 -7E094C11 -7E1CB115 -7A338886 -7C6004D1 -7E09B038 -7C360591 -7E2B00D1 -60000000 -60000000 -60000000 -00010000 -00010004 -00010008 -0001000C -00010010 -00010014 -00010018 -0001001C -00010020 -00010024 -00010028 -0001002C -00010030 -48000014 -60000000 -60000000 -60000000 -60000000 -9023009C -802300A0 -7C2903A6 -382300A4 -384300D8 -80810000 -80A20000 -90850000 -38210004 -38420004 -4200FFEC -3C804800 -60840006 -90850000 -80230094 -7C3B03A6 -80230098 -7C3A03A6 -80230080 -7C2FF120 -80230084 -7C2103A6 -80230088 -7C2903A6 -8023008C -7C2803A6 -80230090 -7C2FCBA6 -80030000 -80230004 -80430008 -80830010 -80A30014 -80C30018 -80E3001C -81030020 -81230024 -81430028 -8163002C -81830030 -81A30034 -81C30038 -81E3003C -82030040 -82230044 -82430048 -8263004C -82830050 -82A30054 -82C30058 -82E3005C -83030060 -83230064 -83430068 -8363006C -83830070 -83A30074 -83C30078 -83E3007C -8063000C -4C000064 -4800000C -60000000 -60000000 -7C2FCBA6 -3C200001 -60212340 -90010000 -90410008 -9061000C -90810010 -90A10014 -90C10018 -90E1001C -91010020 -91210024 -91410028 -9161002C -91810030 -91A10034 -91C10038 -91E1003C -92010040 -92210044 -92410048 -9261004C -92810050 -92A10054 -92C10058 -92E1005C -93010060 -93210064 -93410068 -9361006C -93810070 -93A10074 -93C10078 -93E1007C -7C4FCAA6 -90410004 -7C400026 -90410080 -7C4102A6 -90410084 -7C4902A6 -90410088 -7C4802A6 -9041008C -7C4FCAA6 -90410090 -3C600001 -60632040 -8023009C -3C600867 -60635309 -48000E13 -60000000 -60000000 -60000000 -60000000 -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -60000000 -60000000 -60000000 +85000000 00000000 -CD75F313 -FFFFFFFF +386B0000 00000000 -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -FFFFFFFF -008A0C68 -FFFFFFFF -7FFFFFFF -FFFFFFFF -FFFFFFFF -8C20BDE6 -FFFFFFFF -08AEBF68 -80000001 -FFFFFFFF +87000000 +00000000 +406B0000 +00000000 +88000000 +00000000 +43000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +43000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +43000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +43000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +43000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +43000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +43000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +E4350000 +00000000 +C4330000 +00000000 +00000000 +00000000 +486B0000 +00000000 +E85F0000 +00000000 +10600000 +00000000 +10600000 +00000000 +10600000 +00000000 +10600000 +00000000 +10600000 +00000000 +10600000 +00000000 +10600000 +00000000 +10600000 +00000000 +10600000 00000000 -FFFFFFFF -FFFFFFFF -328A0CED -FFFFFFFF -FFFFFFFF -AF224C19 -FFFFFFFF -FFFFFFFF -D624B27A -FFFFFFFF -FFFFFFFF -FFFFFFFF -9BFD3628 -98F0006E FFFFFFFF FFFFFFFF FFFFFFFF -00001104 -00010038 +FFFF0000 +01004153 +43494900 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00004153 +43494900 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +20030100 +00000000 +00000300 +00000000 +FC420000 +00000000 +B0420000 +00000000 +00000000 +00000000 +D0040100 +00000000 +D0040100 +00000000 +D0040100 +00000000 +F5FEFF6F +00000000 +30760000 +00000000 +05000000 +00000000 +28760000 +00000000 +06000000 +00000000 +F8750000 +00000000 +0A000000 +00000000 +01000000 +00000000 +0B000000 +00000000 +18000000 +00000000 +15000000 +00000000 +00000000 +00000000 +03000070 +00000000 +00000000 +00000000 +07000000 +00000000 +78530000 +00000000 +08000000 +00000000 +280B0000 +00000000 +09000000 +00000000 +18000000 +00000000 +1E000000 +00000000 +08000000 +00000000 +FBFFFF6F +00000000 +01000008 +00000000 +F9FFFF6F +00000000 +65000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +7E95C2ED diff --git a/dev/sim/verilator/tb_litex_soc.cpp b/dev/sim/verilator/tb_litex_soc.cpp index 064672f..2246236 100644 --- a/dev/sim/verilator/tb_litex_soc.cpp +++ b/dev/sim/verilator/tb_litex_soc.cpp @@ -29,6 +29,14 @@ #include "Vsoc_iuq.h" #include "Vsoc_iuq_cpl_top.h" #include "Vsoc_iuq_cpl.h" +#include "Vsoc_iuq_slice_top.h" +#include "Vsoc_iuq_slice.h" +#include "Vsoc_iuq_rn_top.h" +#include "Vsoc_iuq_rn.h" +#include "Vsoc_iuq_rn_map__A24.h" +#include "Vsoc_xu.h" +#include "Vsoc_xu_gpr.h" +#include "Vsoc_tri_144x78_2r4w.h" #ifdef TRACING #include "verilated_vcd_c.h" @@ -37,9 +45,14 @@ VerilatedVcdC *t; unsigned int t = 0; #endif -/* -#include "uart/uartsim.h" -*/ +// using https://github.com/ZipCPU/wbuart32 sim driver +// how does cpp get compiled in without this? can verilator be told to add more cpp? see a2p! +// UART=port +// 0xA20 = 2592 +#ifdef UART +#include "wbuart32/bench/cpp/uartsim.h" +#include "wbuart32/bench/cpp/uartsim.cpp" +#endif Vsoc* m; #ifdef OLD_PUBLIC @@ -57,7 +70,7 @@ double sc_time_stamp() { // $time in verilog const char* tbName = "tb_litex_soc"; const int resetCycle = 10; const int threadRunCycle = resetCycle + 5; -const int runCycles = 100000; +const int runCycles = 100000000; const int hbCycles = 500; const int quiesceCycles = 50; const int threads = 1; @@ -65,10 +78,11 @@ const std::string testFile = ""; const unsigned int bootAdr = 0x00000000; const bool failMaxCycles = true; const unsigned int stopOnHang = 500; -const unsigned int stopOnLoop = 10; +const unsigned int stopOnLoop = 20; const unsigned long iarPass = 0x7F0; const unsigned long iarFail = 0x7F4; -const bool debugWB = false; +const bool debugWB = true; +const bool debugWBReq = false; // Cythonize this and use it for cocotb too... @@ -153,7 +167,6 @@ void Memory::write(unsigned int adr, unsigned int be, unsigned int dat) { " " <" <read(adr) << std::endl; } - } Memory mem; @@ -179,6 +192,7 @@ int main(int argc, char **argv) { cout << "Tracing enabled." << endl; #endif + int i; bool ok = true; bool done = false; bool resetDone = false; @@ -201,6 +215,22 @@ int main(int argc, char **argv) { unsigned int iu0Comp, iu1Comp, iu0CompLast, iu1CompLast; unsigned long iu0CompIFAR, iu1CompIFAR, iu0CompIFARLast, iu1CompIFARLast, iuCompFlushIFAR; + unsigned long gprCompMap[36], lastGprCompMap[36]; + unsigned int vHi, vLo; + VlWide<3> gpr[144]; + + + /* + # renamables + for i in range(36): + good, arch = sim.safeint(gprCompMap[i].value.binstr, 2, rc=True) + if good and arch != lastGprCompMap[i]: + sim.msg(f'C0: GPR Update: R{i:02d}={hex(gpr[arch], 16)}') + lastGprCompMap[i] = arch + */ + for (i = 0; i < 36; i++) { + lastGprCompMap[i] = i; + } /* # GPR pool and arch map @@ -261,9 +291,71 @@ int main(int argc, char **argv) { */ + // memory setup //mem.write(0xFFFFFFFC, 0x48000002); //mem.loadFile(testFile); + // uart setup + /* + // i_setup[30] True if we are not using hardware flow control. This bit +// is ignored within this module, as any receive hardware flow +// control will need to be implemented elsewhere. +// +// i_setup[29:28] Indicates the number of data bits per word. This will +// either be 2'b00 for an 8-bit word, 2'b01 for a 7-bit word, 2'b10 +// for a six bit word, or 2'b11 for a five bit word. +// +// i_setup[27] Indicates whether or not to use one or two stop bits. +// Set this to one to expect two stop bits, zero for one. +// +// i_setup[26] Indicates whether or not a parity bit exists. Set this +// to 1'b1 to include parity. +// +// i_setup[25] Indicates whether or not the parity bit is fixed. Set +// to 1'b1 to include a fixed bit of parity, 1'b0 to allow the +// parity to be set based upon data. (Both assume the parity +// enable value is set.) +// +// i_setup[24] This bit is ignored if parity is not used. Otherwise, +// in the case of a fixed parity bit, this bit indicates whether +// mark (1'b1) or space (1'b0) parity is used. Likewise if the +// parity is not fixed, a 1'b1 selects even parity, and 1'b0 +// selects odd. +// +// i_setup[23:0] Indicates the speed of the UART in terms of clocks. +// So, for example, if you have a 200 MHz clock and wish to +// run your UART at 9600 baud, you would take 200 MHz and divide +// by 9600 to set this value to 24'd20834. Likewise if you wished +// to run this serial port at 115200 baud from a 200 MHz clock, +// you would set the value to 24'd1736 + */ + /* + m_baud_counts = (isetup & 0x0ffffff); + m_nbits = 8-((isetup >> 28)&0x03); + m_nstop =((isetup >> 27)&1)+1; + m_nparity = (isetup >> 26)&1; + m_fixdp = (isetup >> 25)&1; + m_evenp = (isetup >> 24)&1; + */ + + // 100MHz, 115200 = 868 + #ifdef UART + UARTSIM *uart; + int uartPort = UART; // 0-stdin/stdout + //unsigned uartConfig = 1736; + unsigned uartConfig = 868; + //unsigned uartConfig = 434; + //unsigned uartConfig = 217; + //unsigned uartConfig = 217; + + cout << "Initializing UART on port " << uartPort << " with config=" << hex << setw(8) << setfill('0') << uartConfig << endl; + uart = new UARTSIM(uartPort); + uart->setup(uartConfig); + #endif + + + // do something + root->soc->soc_rst = 1; cout << dec << setw(8) << cycle << " Resetting..." << endl; @@ -298,6 +390,32 @@ int main(int argc, char **argv) { if ((tick % ticks1x) == 0) { // core + + // completion + + // gpr change + for (i = 0; i < 36; i++) { + gprCompMap[i] = root->soc->a2owb->c0->iuq0->iuq_slice_top0->slice0->rn_top0->fx_rn0->gpr_rn_map->comp_map_l2[i]; + if (gprCompMap[i] != lastGprCompMap[i]) { + // need to left shift by 18 unused (96-78)! + vHi = root->soc->a2owb->c0->xu0->gpr->gpr0->mem[gprCompMap[i]][2] << 18; + vHi |= root->soc->a2owb->c0->xu0->gpr->gpr0->mem[gprCompMap[i]][1] >> 14; + vLo = root->soc->a2owb->c0->xu0->gpr->gpr0->mem[gprCompMap[i]][1] << 18; + vLo |= root->soc->a2owb->c0->xu0->gpr->gpr0->mem[gprCompMap[i]][0] >> 14; + cout << dec << setw(8) << setfill('0') << cycle << " C0: GPR Update: R"; + cout << dec << setw(2) << setfill('0') << i << "="; + //cout << hex << setw(8) << setfill('0') << uppercase << root->soc->a2owb->c0->xu0->gpr->gpr0->mem[gprCompMap[i]][0] << " "; + //cout << hex << setw(8) << setfill('0') << uppercase << root->soc->a2owb->c0->xu0->gpr->gpr0->mem[gprCompMap[i]][1] << " "; + //cout << hex << setw(8) << setfill('0') << uppercase << root->soc->a2owb->c0->xu0->gpr->gpr0->mem[gprCompMap[i]][2] << " "; + cout << hex << setw(8) << setfill('0') << uppercase << vHi << ""; + cout << hex << setw(8) << setfill('0') << uppercase << vLo << " "; + cout << "[" << dec << setw(3) << setfill('0') << gprCompMap[i] << "]"; + cout << endl; + lastGprCompMap[i] = gprCompMap[i]; + } + } + + // completions iu0Comp = root->soc->a2owb->c0->iuq0->iuq_cpl_top0->iuq_cpl0->cp2_i0_completed; iu1Comp = root->soc->a2owb->c0->iuq0->iuq_cpl_top0->iuq_cpl0->cp2_i1_completed; iu0CompIFAR = root->soc->a2owb->c0->iuq0->iuq_cpl_top0->iuq_cpl0->cp2_i0_ifar << 2; @@ -324,11 +442,13 @@ int main(int argc, char **argv) { quiesceCount = 5; } else if ((iu0Comp == iu0CompLast) && (!iu0Comp || (iu0CompIFAR == iu0CompIFARLast)) && (iu1Comp == iu1CompLast) && (!iu1Comp || (iu1CompIFAR == iu1CompIFARLast))) { - lastCompSame++; - if (stopOnLoop && (lastCompSame == stopOnLoop)) { - ok = false; - cout << "*** Loop detected for " << dec << stopOnLoop << " iterations ***" << endl; - } + if (!iu0Comp || !iu1Comp) { // don't count if both are valid (assume only 1-op loops are bad) + lastCompSame++; + if (stopOnLoop && (lastCompSame == stopOnLoop)) { + ok = false; + cout << "*** Loop detected for " << dec << stopOnLoop << " iterations ***" << endl; + } + } } else { iu0CompLast = iu0Comp; iu0CompIFARLast = iu0CompIFAR; @@ -360,11 +480,11 @@ int main(int argc, char **argv) { } else if (root->soc->a2owb->wb_cyc && root->soc->a2owb->wb_stb) { if (!root->soc->a2owb->wb_we) { - if (debugWB) + if (!wbRdPending && debugWBReq) cout << dec << setw(8) << setfill('0') << uppercase << cycle << " WB RD RA=" << setw(8) << hex << setfill('0') << root->soc->a2owb->wb_adr << endl; wbRdPending = true; } else { - if (debugWB) + if (!wbWrPending && debugWBReq) cout << dec << setw(8) << setfill('0') << uppercase << cycle << " WB WR RA=" << setw(8) << hex << setfill('0') << root->soc->a2owb->wb_adr << " SEL=" << root->soc->a2owb->wb_sel << " DATA=" << setw(8) << hex << setfill('0') << root->soc->a2owb->wb_datw << endl; wbWrPending = true; @@ -373,7 +493,13 @@ int main(int argc, char **argv) { // leds, btns, mem, etc. - // uart + } else { + + if (resetDone) { + #ifdef UART + m->serial_rx = (*uart)(m->serial_tx); + #endif + } } diff --git a/dev/sim/verilator/wbuart32 b/dev/sim/verilator/wbuart32 new file mode 120000 index 0000000..8de3a03 --- /dev/null +++ b/dev/sim/verilator/wbuart32 @@ -0,0 +1 @@ +/home/wtf/projects/wbuart32 \ No newline at end of file diff --git a/readme.md b/readme.md index 2e17f9c..dabdcd4 100644 --- a/readme.md +++ b/readme.md @@ -8,6 +8,40 @@ * runs simple version of kernel/bios/random test with cocotb (A2L2 interface partially implemented in Python) and Verilog core wrappers (A2L2<->mem/wb interfaces) * wrapper converts A2L2 interface to mem and Wishbone interfaces * verilator now runs with a2o_litex and litex SOC + * verilator & litex software build working for 32BE but looks like problem with printf %d + +``` +litex_term socket://localhost:2592 + + __ _ __ _ __ + / / (_) /____ | |/_/ + / /__/ / __/ -_)> < + /____/_/\__/\__/_/|_| + Build your hardware, easily! + + (c) Copyright 2012-2022 Enjoy-Digital + (c) Copyright 2007-2015 M-Labs + + BIOS built on Aug 21 2022 18:36:00 + + LiteX git sha1: 33ae301d + +--=============== SoC ==================-- +CPU: a2owb @ 10�MHz +BUS: WISHBONE 39-bit @ 4GiB +CSR: 39-bit data +ROM: 6�KiB +SRAM: 6�KiB +MAIN-RAM: 16��{KiB + +--========== Initialization ============-- + +--============= Console ================-- + +litex> wtf +Command not found +litex> +``` ## To Do