From d654667304a6da4bec7754425696fb81a4a3e697 Mon Sep 17 00:00:00 2001 From: Benjamin Herrenschmidt Date: Thu, 18 Jun 2020 17:14:41 +1000 Subject: [PATCH] console: Add support for the 16550 UART And rebuild various binaries Signed-off-by: Benjamin Herrenschmidt --- hello_world/hello_world.bin | Bin 4744 -> 5048 bytes hello_world/hello_world.elf | Bin 80528 -> 86040 bytes hello_world/hello_world.hex | 158 ++-- include/microwatt_soc.h | 4 + lib/console.c | 132 ++- litedram/generated/arty/litedram_core.init | 886 +++++++++--------- .../generated/nexys-video/litedram_core.init | 886 +++++++++--------- litedram/generated/sim/litedram_core.init | 862 +++++++++-------- tests/test_decrementer.bin | Bin 4976 -> 5352 bytes tests/test_illegal.bin | Bin 4760 -> 5224 bytes tests/test_misc.bin | Bin 5208 -> 5288 bytes tests/test_mmu.bin | Bin 20504 -> 20504 bytes tests/test_privileged.bin | Bin 16408 -> 16408 bytes tests/test_sc.bin | Bin 4760 -> 5224 bytes tests/test_xics.bin | Bin 12392 -> 12392 bytes 15 files changed, 1573 insertions(+), 1355 deletions(-) diff --git a/hello_world/hello_world.bin b/hello_world/hello_world.bin index dda2b66b7468d5072bdb2f304390b821f4622ccb..92eb5ac5ff69dc4740248485db8163be68baceba 100755 GIT binary patch delta 689 zcmZuvO-my|5Pivpq+KFT#DjvYP4H_pejGEfO2>tbM2Hu0FAAdpLGdD99LSKtlU{9D z@Zuiyuqz(K(;oI9yZ!+GfFOD?!5^Rq_Ez^K5!AU%SJkUmRj+EN@Atszpw)jB!88C@ zspZccpNyC0enA$ko(iE5q#ccB!4&=NU0`=?90xgIsM-PBIfw;B9-Y{cvdqX@nblN1JMdMo1=ENo^C6SY-!KS z!0M>r921D!9s^tAV4i9GD|~uy0K(}632-hZ1PT-{gz;P15%eYt9_F(k`q&NP zBzy0R?Z+Oby?<@Y3y3E|d^#^lF(AKBH7Z`9M5uUP__UF5&TrhjqknBLhC&!OzI62i zkt7>in$#fLFp$0Pz=Zh^VhI2)V%UjsFh)Guw`Ha$}4y!P72nnWoU4EDZ$`n`TxJB z<>UxK1rY{@CHfo;^BkENk`ov}1~w?YoZKNSGr2&JLmVc+z~EpBG}#hts=veJctJ@6 zn4ADi9B3OOgJ$82|4j}I4M{IJ7?Lf(>g5t@K<=KLASj`XO%n%HlO0=T2+(nkVk6?A8k`8WBVfEY^#P|@T$!ZHBY;9ZFT diff --git a/hello_world/hello_world.elf b/hello_world/hello_world.elf index d89e408e44fa6b4c7300a77983901c9dfa4e5ce5..d3eda58b1650b96635c8853b37c5747f91b6f107 100755 GIT binary patch literal 86040 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 diff --git a/hello_world/hello_world.hex b/hello_world/hello_world.hex index f799a45..322ed94 100644 --- a/hello_world/hello_world.hex +++ b/hello_world/hello_world.hex @@ -515,79 +515,117 @@ e8010010ebc1fff0 3c4000014e800020 7c0802a63842a000 f821ffe1f8010010 -6000000048000229 -386372783c62ffff -600000004800018d -60000000480000f9 -480001355463063e +60000000480001dd +386373a83c62ffff +6000000048000141 +600000004800002d +480000a95463063e 4bffffec60000000 0100000000000000 3c40000100000080 -3d20c0003842a000 -6129200060000000 -f922800079290020 -612900203d20c000 -7c0004ac79290020 -3d40001c7d204eea -614a200079290600 -e94280007d295392 -3929ffff394a0018 -7d2057ea7c0004ac -000000004e800020 -0000000000000000 -3842a0003c400001 -419e00082fa40000 -6000000060630002 -39290020e9228000 -7c604fea7c0004ac -000000004e800020 -0000000000000000 -3842a0003c400001 -e922800060000000 -3929002039400000 -7d404fea7c0004ac -000000004e800020 -0000000000000000 -3842a0003c400001 -e922800060000000 +600000003842a000 +6000000039228000 +8929000039428008 +419e00302f890000 +39290014e92a0000 +7d204eaa7c0004ac +4182ffec71290001 +7c0004ace86a0000 +5463063e7c601eaa +e92a00004e800020 7c0004ac39290010 712900017d204eea -e86280004082ffe8 +e86a00004082ffec 7c0004ac38630008 -5463063e7c601eea +4bffffd07c601eea +0000000000000000 +3c40000100000000 +600000003842a000 +6000000039228000 +8929000039428008 +419e002c2f890000 +39290014e92a0000 +7d204eaa7c0004ac +4182ffec71290020 +7c0004ace92a0000 +4e8000207c604faa +39290010e92a0000 +7d204eea7c0004ac +4082ffec71290008 +e94a00005469063e +7d2057ea7c0004ac 000000004e800020 0000000000000000 3842a0003c400001 -e922800060000000 -7c0004ac39290010 -712900087d204eea -5469063e4082ffe8 -7c0004ace9428000 -4e8000207d2057ea +fbc1fff07c0802a6 +3bc3fffffbe1fff8 +f821ffd1f8010010 +2fbf00008ffe0001 +38210030409e0010 +4bfffe5c38600000 +409e000c2b9f000a +4bffff413860000d +4bffff397fe3fb78 +000000004bffffd0 +0000028001000000 +7d4348ae39200000 +409e000c2f8a0000 +4e8000207d234b78 +4bffffe839290001 0000000000000000 3c40000100000000 -7c0802a63842a000 -fbe1fff8fbc1fff0 -f80100103bc3ffff -8ffe0001f821ffd1 -409e00102fbf0000 -3860000038210030 -2b9f000a4bfffe10 -3860000d409e000c -7fe3fb784bffff81 -4bffffd04bffff79 -0100000000000000 -3920000000000280 -2f8a00007d4348ae -7d234b78409e000c -392900014e800020 -000000004bffffe8 +3d20c0003842a000 +7929002061290020 +7d204eea7c0004ac +792906003d00c000 +7908002061080008 +7d0046ea7c0004ac +3940000071080020 +3d40c00041820018 +794a0020614a0040 +7d4056ea7c0004ac +600000003d00c000 +38e2800060000000 +7908002061082000 +3d00001cf9028008 +7d29439261082000 +79080fc37948f804 +3940000141820080 +6108200c3d00c000 +7908002099470000 +7c0004ac3940ff80 +e94280087d4047aa +7d2057aa7c0004ac +7929c202e9428008 +7c0004ac394a0004 +e92280087d2057aa +3929000c39400003 +7d404faa7c0004ac +39290010e9228008 +7d404faa7c0004ac +39400007e9228008 +7c0004ac39290008 +4e8000207d404faa +990700003d40c000 +614a20183929ffff +7c0004ac794a0020 +4e8000207d2057ea 0000000000000000 -3842a0003c400001 -000000004bfffe1c +3c40000100000000 +600000003842a000 +2ea4000039228000 +2f89000089290000 +e922800860000000 +41960024419e0030 +2fa3000039400002 +614a0001419e0008 +7c0004ac39290004 +4e8000207d404faa +4bffffe039400000 +6063000241960008 +7c0004ac39290020 +4e8000207c604fea 0000000000000000 -3842a0003c400001 -000000004bfffe68 0000000000000000 6f57206f6c6c6548 000000000a646c72 diff --git a/include/microwatt_soc.h b/include/microwatt_soc.h index 8b69889..4d61d27 100644 --- a/include/microwatt_soc.h +++ b/include/microwatt_soc.h @@ -79,6 +79,10 @@ #define UART_REG_TX 0x00 #define UART_REG_DLL 0x00 #define UART_REG_IER 0x04 +#define UART_REG_IER_RDI 0x01 +#define UART_REG_IER_THRI 0x02 +#define UART_REG_IER_RLSI 0x04 +#define UART_REG_IER_MSI 0x08 #define UART_REG_DLM 0x04 #define UART_REG_IIR 0x08 #define UART_REG_FCR 0x08 diff --git a/lib/console.c b/lib/console.c index 892c76f..0750190 100644 --- a/lib/console.c +++ b/lib/console.c @@ -5,22 +5,29 @@ #include "microwatt_soc.h" #include "io.h" -#define UART_FREQ 115200 +#define UART_BAUDS 115200 /* * Core UART functions to implement for a port */ -static uint64_t potato_uart_base; +bool uart_is_std; + +static uint64_t uart_base; + +static unsigned long uart_divisor(unsigned long uart_freq, unsigned long bauds) +{ + return uart_freq / (bauds * 16); +} static uint64_t potato_uart_reg_read(int offset) { - return readq(potato_uart_base + offset); + return readq(uart_base + offset); } static void potato_uart_reg_write(int offset, uint64_t val) { - writeq(val, potato_uart_base + offset); + writeq(val, uart_base + offset); } static int potato_uart_rx_empty(void) @@ -65,22 +72,13 @@ static void potato_uart_write(char c) potato_uart_reg_write(POTATO_CONSOLE_TX, val); } -static unsigned long potato_uart_divisor(unsigned long proc_freq, unsigned long uart_freq) -{ - return proc_freq / (uart_freq * 16) - 1; -} - -void potato_uart_init(void) +static void potato_uart_init(uint64_t uart_freq) { - uint64_t proc_freq; - - potato_uart_base = UART_BASE; - proc_freq = readq(SYSCON_BASE + SYS_REG_CLKINFO) & SYS_REG_CLKINFO_FREQ_MASK; - - potato_uart_reg_write(POTATO_CONSOLE_CLOCK_DIV, potato_uart_divisor(proc_freq, UART_FREQ)); + unsigned long div = uart_divisor(uart_freq, UART_BAUDS) - 1; + potato_uart_reg_write(POTATO_CONSOLE_CLOCK_DIV, div); } -void potato_uart_set_irq_en(bool rx_irq, bool tx_irq) +static void potato_uart_set_irq_en(bool rx_irq, bool tx_irq) { uint64_t en = 0; @@ -91,25 +89,76 @@ void potato_uart_set_irq_en(bool rx_irq, bool tx_irq) potato_uart_reg_write(POTATO_CONSOLE_IRQ_EN, en); } -void potato_uart_irq_dis(void) +static bool std_uart_rx_empty(void) { - potato_uart_reg_write(POTATO_CONSOLE_IRQ_EN, 0x00); + return !(readb(uart_base + UART_REG_LSR) & UART_REG_LSR_DR); } -int getchar(void) +static uint8_t std_uart_read(void) { - while (potato_uart_rx_empty()) - /* Do nothing */ ; + return readb(uart_base + UART_REG_RX); +} - return potato_uart_read(); +static bool std_uart_tx_full(void) +{ + return !(readb(uart_base + UART_REG_LSR) & UART_REG_LSR_THRE); } -int putchar(int c) +static void std_uart_write(uint8_t c) { - while (potato_uart_tx_full()) - /* Do Nothing */; + writeb(c, uart_base + UART_REG_TX); +} + +static void std_uart_set_irq_en(bool rx_irq, bool tx_irq) +{ + uint8_t ier = 0; - potato_uart_write(c); + if (tx_irq) + ier |= UART_REG_IER_THRI; + if (rx_irq) + ier |= UART_REG_IER_RDI; + writeb(ier, uart_base + UART_REG_IER); +} + +static void std_uart_init(uint64_t uart_freq) +{ + unsigned long div = uart_divisor(uart_freq, UART_BAUDS); + + writeb(UART_REG_LCR_DLAB, uart_base + UART_REG_LCR); + writeb(div & 0xff, uart_base + UART_REG_DLL); + writeb(div >> 8, uart_base + UART_REG_DLM); + writeb(UART_REG_LCR_8BIT, uart_base + UART_REG_LCR); + writeb(UART_REG_MCR_DTR | + UART_REG_MCR_RTS, uart_base + UART_REG_MCR); + writeb(UART_REG_FCR_EN_FIFO | + UART_REG_FCR_CLR_RCVR | + UART_REG_FCR_CLR_XMIT, uart_base + UART_REG_FCR); +} + +int getchar(void) +{ + if (uart_is_std) { + while (std_uart_rx_empty()) + /* Do nothing */ ; + return std_uart_read(); + } else { + while (potato_uart_rx_empty()) + /* Do nothing */ ; + return potato_uart_read(); + } +} + +int putchar(int c) +{ + if (uart_is_std) { + while(std_uart_tx_full()) + /* Do Nothing */; + std_uart_write(c); + } else { + while (potato_uart_tx_full()) + /* Do Nothing */; + potato_uart_write(c); + } return c; } @@ -140,10 +189,35 @@ size_t strlen(const char *s) void console_init(void) { - potato_uart_init(); + uint64_t sys_info; + uint64_t proc_freq; + uint64_t uart_info = 0; + uint64_t uart_freq = 0; + + proc_freq = readq(SYSCON_BASE + SYS_REG_CLKINFO) & SYS_REG_CLKINFO_FREQ_MASK; + sys_info = readq(SYSCON_BASE + SYS_REG_INFO); + + if (sys_info & SYS_REG_INFO_HAS_LARGE_SYSCON) { + uart_info = readq(SYSCON_BASE + SYS_REG_UART0_INFO); + uart_freq = uart_info & 0xffffffff; + } + if (uart_freq == 0) + uart_freq = proc_freq; + + uart_base = UART_BASE; + if (uart_info & SYS_REG_UART_IS_16550) { + uart_is_std = true; + std_uart_init(proc_freq); + } else { + uart_is_std = false; + potato_uart_init(proc_freq); + } } void console_set_irq_en(bool rx_irq, bool tx_irq) { - potato_uart_set_irq_en(rx_irq, tx_irq); + if (uart_is_std) + std_uart_set_irq_en(rx_irq, tx_irq); + else + potato_uart_set_irq_en(rx_irq, tx_irq); } diff --git a/litedram/generated/arty/litedram_core.init b/litedram/generated/arty/litedram_core.init index b75722c..3604d59 100644 --- a/litedram/generated/arty/litedram_core.init +++ b/litedram/generated/arty/litedram_core.init @@ -518,7 +518,7 @@ a64b5a7d14004a39 4e80002060000000 0000000000000000 3c4c000100000000 -7c0802a63842a5c4 +7c0802a63842a6c4 fbe1fff8fbc1fff0 f821ff51f8010010 f88100d83be10020 @@ -527,67 +527,67 @@ f88100d83be10020 f8e100f038c100d8 f90100f87fe3fb78 f9410108f9210100 -6000000048001b0d +6000000048001c19 7fe3fb787c7e1b78 -6000000048001625 +6000000048001601 7fc3f378382100b0 -00000000480020cc +00000000480021d8 0000028001000000 000000004e800020 0000000000000000 4c00012c7c0007ac 000000004e800020 0000000000000000 -3842a5203c4c0001 +3842a6203c4c0001 7d8000267c0802a6 -9181000848002009 -48001519f821fed1 +9181000848002115 +480015fdf821fed1 3c62ffff60000000 -4bffff3938637b88 +4bffff3938637b98 548400023880ffff 7c8026ea7c0004ac 3fe0c0003c62ffff -63ff000838637ba8 +63ff000838637bb8 3c62ffff4bffff15 -38637bc87bff0020 +38637bd87bff0020 7c0004ac4bffff05 73e900017fe0feea 3c62ffff41820010 -4bfffee938637be0 +4bfffee938637bf0 4e00000073e90002 3c62ffff41820010 -4bfffed138637be8 +4bfffed138637bf8 4d80000073e90004 3c62ffff41820010 -4bfffeb938637bf0 +4bfffeb938637c00 4d00000073e90008 3c62ffff41820010 -4bfffea138637bf8 +4bfffea138637c08 4182001073e90010 -38637c083c62ffff +38637c183c62ffff 3f62ffff4bfffe8d -7f63db783b7b7f88 +7f63db783b7b7f98 418e00284bfffe7d 608400103c80c000 7c0004ac78840020 3c62ffff7c8026ea -38637c187884b582 +38637c287884b582 4192004c4bfffe55 608400183c80c000 7c0004ac78840020 3c62ffff7c8026ea -38637c3078846022 +38637c4078846022 3c80c0004bfffe2d 7884002060840030 7c8026ea7c0004ac 7884b2823c62ffff -4bfffe0938637c48 +4bfffe0938637c58 612900203d20c000 7c0004ac79290020 3c80000f7d204eea 6084424079290600 7c8923923c62ffff -4bfffdd938637c60 +4bfffdd938637c70 3fa0c000418a0258 7bbd002063bd0038 7fa0eeea7c0004ac @@ -604,7 +604,7 @@ f9410108f9210100 57ff063e4bfffd29 7fe6fb783c62ffff 7f84e3787fc5f378 -4bfffd5138637c80 +4bfffd5138637c90 7d29fb787f89f378 419e01642f890000 7d29f8387f89f038 @@ -624,9 +624,9 @@ f9410108f9210100 7f80feaa7c0004ac 579c063e4bfffc81 7f84e3783c62ffff -4bfffcb138637ca0 +4bfffcb138637cb0 4082009073890002 -38637cc03c62ffff +38637cd03c62ffff 7c0004ac4bfffc9d 392000067f40f7aa 7d20ffaa7c0004ac @@ -644,7 +644,7 @@ f9410108f9210100 579c063e7f80feaa 738900014bfffbe1 3c62ffff4082ffdc -4bfffc1138637cd8 +4bfffc1138637ce8 614a60083d40c000 7c0004ac794a0020 5529021e7d20562a @@ -652,62 +652,62 @@ f9410108f9210100 7d20572a7c0004ac 4bfffbe17f63db78 3c62ffff7bbd0020 -38637ce87fa4eb78 +38637cf87fa4eb78 3be000014bfffbcd 4bfffbc17f63db78 3ca2ffff41920028 3c62ffff3c82ffff -38847d1838a57d08 -4bfffba138637d20 +38847d2838a57d18 +4bfffba138637d30 6000000048000fbd 3c62ffff418e0024 -4bfffb8938637d50 +4bfffb8938637d60 4800014438600000 3ba000003be00000 2fbf00004bffffb0 3c62ffff419e0084 -4bfffb6138637d68 +4bfffb6138637d78 38a000403c9df000 3861007078840020 -600000004800137d +6000000048001489 3d400002e9210070 794a83e4614a464c 614a457f79290600 419e00807fa95000 -38637d803c62ffff +38637d903c62ffff 886100774bfffb1d 8921007589410076 88e1007389010074 88a1007188c10072 f861006088810070 -38637e003c62ffff +38637e103c62ffff 3c62ffff4bfffaed -4bfffae138637e30 +4bfffae138637e40 38a0ffff3c80ff00 54a5042260844000 3c60400078840020 -60000000480012f5 -38637e503c62ffff +6000000048001401 +38637e603c62ffff 4bfffb354bfffab5 892100754bffff28 409e00102f890001 2f890015a1210082 3c62ffff419e0010 -4bffff6c38637da0 +4bffff6c38637db0 3f02ffffebe10090 3b2100b03bc00000 -7fffea143b187db8 +7fffea143b187dc8 a12100a87bff0020 419d00347f89f040 3c62ffff80810088 -4bfffa5138637de0 +4bfffa5138637df0 e86100884bfffad1 419eff582fa3ffff 8181000838210130 -48001b347d838120 +48001c407d838120 38a000383c9ff000 7f23cb7878840020 -600000004800124d +6000000048001359 2f890001812100b0 eb4100d0409e004c eb8100b8eb6100c0 @@ -716,14 +716,14 @@ eb8100b8eb6100c0 4bfff9e93f9cf000 7b4500207c9de214 7f63db7878840020 -6000000048001205 +6000000048001311 7fe9fa14a12100a6 3bde00017bff0020 4bffff507bde0020 409efdcc2b9c0020 409efdc42b9e00ba 409efdbc2b9f0018 -38637cd03c62ffff +38637ce03c62ffff 4bfffd784bfff995 0300000000000000 3d20c80000000880 @@ -783,10 +783,10 @@ eb8100b8eb6100c0 4e80002098640000 0000000000000000 3c4c000100000000 -7c0802a638429d7c -f821ff214800185d +7c0802a638429e7c +f821ff2148001969 3c62ffff7c7e1b78 -4bfff7a138637f20 +4bfff7a138637f30 3ca0802060000000 60a5000339010060 3920002a39400004 @@ -837,7 +837,7 @@ f821ff214800185d 3ee2ffff213e0003 7ed607b479350020 3be000007d2907b4 -3af77f483b010070 +3af77f583b010070 7ebdaa147f3db214 4bfffd757f5d4a14 3b8000003860000f @@ -879,7 +879,7 @@ f821ff214800185d 2f9f00204bffffcc 7fbd0e707fbfe214 3c62ffff409e006c -4bfff4b938637f30 +4bfff4b938637f40 7fc3f37860000000 4bfffb8d3be00000 419c00707f9fe800 @@ -891,42 +891,42 @@ f821ff214800185d 3860000b7d20572a 3860000f4bfffaed 382100e04bfffb21 -7cbfe05048001554 +7cbfe05048001660 7ca50e703c62ffff 7fa4eb787ca50194 -7ca507b438637f38 +7ca507b438637f48 600000004bfff43d 7fc3f3784bffff84 4bfffb593bff0001 4bffff7c7fff07b4 0100000000000000 3c4c000100000b80 -7c0802a6384299cc +7c0802a638429acc 614a08003d40c800 794a00203920000e f821ffa1f8010010 7d20572a7c0004ac -38637ff03c62ffff +3862800060000000 600000004bfff3dd e801001038210060 4e8000207c0803a6 0100000000000000 3c4c000100000080 -7c0802a638429974 +7c0802a638429a74 614a08003d40c800 794a002039200001 f821ffa1f8010010 7d20572a7c0004ac -38637f683c62ffff +38637f783c62ffff 600000004bfff385 e801001038210060 4e8000207c0803a6 0100000000000000 3c4c000100000080 -7c0802a63842991c +7c0802a638429a1c 7d0903a639000080 3d2040003d40aaaa -48001409614aaaaa +48001515614aaaaa 91490000f821ff81 4200fff839290004 600000004bfff3a1 @@ -950,7 +950,7 @@ e801001038210060 2fbf00004200ffe8 3c62ffff419e001c 7fe4fb7838a00100 -4bfff28138637e68 +4bfff28138637e78 3d00000860000000 7d0903a63ce08020 3d40400060e70003 @@ -972,7 +972,7 @@ e801001038210060 4200ffd4394a0004 419e001c2fbd0000 3ca000083c62ffff -38637e907fa4eb78 +38637ea07fa4eb78 600000004bfff1cd 3940000039202000 3d2a10007d2903a6 @@ -989,12 +989,12 @@ e801001038210060 4200ffdc394a0001 419e001c2fbe0000 38a020003c62ffff -38637eb87fc4f378 +38637ec87fc4f378 600000004bfff145 386000007fffea14 2f9f00007ffff214 3c62ffff409e00a4 -4bfff12138637ee0 +4bfff12138637ef0 7c9602a660000000 788400203d400004 392000007d4903a6 @@ -1011,13 +1011,13 @@ e90a00003d404000 7d2548507cb602a6 7ca54b963ca06400 7fe4fb783c62ffff -78a5006038637ef0 +78a5006038637f00 600000004bfff095 3821008038600001 -000000004800119c +00000000480012a8 0000038001000000 -384296303c4c0001 -480010f57c0802a6 +384297303c4c0001 +480012017c0802a6 3fe0c800f821fec1 63ff00143bc00001 4bfffc497bff0020 @@ -1032,16 +1032,16 @@ e90a00003d404000 7c0004ac7d20ff2a 7c0004ac7fc0e72a 3c62ffff7fa0ff2a -38637fa83b810070 +38637fb83b810070 4bffefe93e02ffff 3d22ffff60000000 3de2fffffb810080 -3dc2ffff39297fb8 +3dc2ffff39297fc8 3ae100633e42ffff 3ac10061f9210098 -3a107f483be00000 -39ce7fd039ef7fc8 -392100643a527f88 +3a107f583be00000 +39ce7fe039ef7fd8 +392100643a527f98 3e80c8003b200001 f92100883ea0c800 7f39f83039210068 @@ -1136,7 +1136,7 @@ e94100a04bfff585 3a2000004bfffd6c 3c62ffff4bffff70 7fe4fb787fc5f378 -4bffecb138637fd8 +4bffecb138637fe8 3d20c80060000000 7929002061290014 7f204f2a7c0004ac @@ -1159,12 +1159,12 @@ e94100a04bfff585 7d40472a7c0004ac 7ce04f2a7c0004ac 382101404bffffb4 -48000cd438600001 +48000de038600001 0100000000000000 3c4c000100001280 -7c0802a6384291a4 -38637f903c62ffff -f821ff7148000c91 +7c0802a6384292a4 +38637fa03c62ffff +f821ff7148000d9d 3be000003f60c800 7b7b0020637b1000 600000004bffebbd @@ -1211,378 +1211,412 @@ f821ff7148000c91 4082001c2c230000 7f80df2a7c0004ac 7f80d72a7c0004ac -48000b6438210090 +48000c7038210090 7f80df2a7c0004ac 4bffffec38600001 0100000000000000 3c4c000100000680 -3d20c00038428ff4 -6129200060000000 -f922806879290020 -612900203d20c000 -7c0004ac79290020 -3d40001c7d204eea -614a200079290600 -e94280687d295392 -3929ffff394a0018 +60000000384290f4 +6000000039228080 +8929000039428078 +419e002c2f890000 +39290014e92a0000 +7d204eaa7c0004ac +4182ffec71290020 +7c0004ace92a0000 +4e8000207c604faa +39290010e92a0000 +7d204eea7c0004ac +4082ffec71290008 +e94a00005469063e 7d2057ea7c0004ac 000000004e800020 0000000000000000 -38428f903c4c0001 -e922806860000000 +384290703c4c0001 +fbc1fff07c0802a6 +3bc3fffffbe1fff8 +f821ffd1f8010010 +2fbf00008ffe0001 +38210030409e0010 +48000bbc38600000 +409e000c2b9f000a +4bffff413860000d +4bffff397fe3fb78 +000000004bffffd0 +0000028001000000 +384290103c4c0001 +612900203d20c000 +7c0004ac79290020 +3d00c0007d204eea +6108000879290600 +7c0004ac79080020 +710800207d0046ea +4182001839400000 +614a00403d40c000 +7c0004ac794a0020 +3d00c0007d4056ea +6000000060000000 +6108200038e28080 +f902807879080020 +610820003d00001c +7948f8047d294392 +4182008079080fc3 +3d00c00039400001 +994700006108200c +3940ff8079080020 +7d4047aa7c0004ac +7c0004ace9428078 +e94280787d2057aa +394a00047929c202 +7d2057aa7c0004ac +39400003e9228078 +7c0004ac3929000c +e92280787d404faa 7c0004ac39290010 -712900087d204eea -5469063e4082ffe8 -7c0004ace9428068 -4e8000207d2057ea +e92280787d404faa +3929000839400007 +7d404faa7c0004ac +3d40c0004e800020 +3929ffff99070000 +794a0020614a2018 +7d2057ea7c0004ac +000000004e800020 0000000000000000 -3c4c000100000000 -7c0802a638428f4c -fbe1fff8fbc1fff0 -f80100103bc3ffff -8ffe0001f821ffd1 -409e00102fbf0000 -3860000038210030 -2b9f000a48000a8c -3860000d409e000c -7fe3fb784bffff81 -4bffffd04bffff79 -0100000000000000 -2c24000000000280 -3881fff040820008 -f86400002b850024 -4d9d002038600000 -78c683e43cc00001 -e924000060c62600 -2b8a002089490000 -7cc75436419d002c -4082001470e80001 -409e00542fa50000 -4800005c38a0000a -f924000039290001 -2fa500004bffffcc -2b8a0030409e0038 -409e003c38a0000a -2f8a007889490001 -89490001409e0030 -2f8a007838a00010 -39290002409e0020 -48000014f9240000 -409e000c2f850010 -419effd82b8a0030 -4800003038600000 -54ca063e38c9ffd0 -419d00342b8a0009 -7f8928007cc90734 -38e700014c9c0020 -f8e400007c6519d2 -e8e400007c691a14 -2fa9000089270000 -4e800020409effc8 -554a063e3949ff9f -419d00102b8a0019 -7d2907343929ffa9 -3949ffbf4bffffbc +408200082c240000 +2b8500243881fff0 +38600000f8640000 +3cc000014d9d0020 +60c6260078c683e4 +89490000e9240000 +419d002c2b8a0020 +70e800017cc75436 +2fa5000040820014 +38a0000a409e0054 +392900014800005c +4bffffccf9240000 +409e00382fa50000 +38a0000a2b8a0030 +89490001409e003c +409e00302f8a0078 +38a0001089490001 +409e00202f8a0078 +f924000039290002 +2f85001048000014 +2b8a0030409e000c +38600000419effd8 +38c9ffd048000030 +2b8a000954ca063e +7cc90734419d0034 +4c9c00207f892800 +7c6519d238e70001 +7c691a14f8e40000 +89270000e8e40000 +409effc82fa90000 +3949ff9f4e800020 2b8a0019554a063e -3929ffc94d9d0020 -000000004bffffe4 -0000000000000000 -7d4348ae39200000 -409e000c2f8a0000 -4e8000207d234b78 -4bffffe839290001 -0000000000000000 -78aae8c200000000 -392a000139000000 -420000307d2903a6 -792a1f2478a9e8c2 -7d0352141d29fff8 -7ca92a147c845214 -3945000139200000 -420000187d4903a6 -7d24402a4e800020 -390800087d23412a -7d4448ae4bffffc4 -392900017d4849ae -000000004bffffdc -0000000000000000 -2b8900193923ff9f -3863ffe04d9d0020 -4e8000207c6307b4 +3929ffa9419d0010 +4bffffbc7d290734 +554a063e3949ffbf +4d9d00202b8a0019 +4bffffe43929ffc9 +0000000000000000 +3920000000000000 +2f8a00007d4348ae +7d234b78409e000c +392900014e800020 +000000004bffffe8 +0000000000000000 +3900000078aae8c2 +7d2903a6392a0001 +78a9e8c242000030 +1d29fff8792a1f24 +7c8452147d035214 +392000007ca92a14 +7d4903a639450001 +4e80002042000018 +7d23412a7d24402a +4bffffc439080008 +7d4849ae7d4448ae +4bffffdc39290001 +0000000000000000 +3923ff9f00000000 +4d9d00202b890019 +7c6307b43863ffe0 +000000004e800020 0000000000000000 -3c4c000100000000 -7c0802a638428cfc -7d9080263d203736 -792907c661293534 -9181000865293332 -480007d961293130 -7c7d1b78f821ffa1 -3be000007cde3378 -3d206665f9210020 -792907c661296463 -6129393865296261 -7ca92b78f9210028 -409e00802fa90000 -409e00082fbf0000 -7fbf20403be00001 -419d005838600000 -3b9fffff2e270000 -7d3bf1d27f65f392 -7ca12a147ca92850 -4192001088650020 -600000004bffff41 -2fbb00005463063e -7f65db78e93d0000 -3b9cffff7c69e1ae -e93d0000409effc8 -7fe9fa1438600001 -38210060fbfd0000 -7d90812081810008 -2b9e001048000774 -7929e102409e0014 -7fff07b43bff0001 -7d29f3924bffff68 -000000004bfffff0 -0000058003000000 -38428bf03c4c0001 -480006e97c0802a6 -eb630000f821ffb1 -7c9c23787c7f1b78 -3bc000007cbd2b78 -4bfffe0d7fa3eb78 -7fa3f04060000000 -e95f0000409d0014 -7fa9e0407d3b5050 -38210050419c0010 -480006f038600001 -3bde00017d3df0ae -e93f0000992a0000 -f93f000039290001 -000000004bffffb8 -0000058001000000 -38428b703c4c0001 -480006617c0802a6 -7c7d1b78f821ffa1 -7ca32b787c9b2378 -38a0000a38800000 -eb5d00007cde3378 -7d1943787cfc3b78 -4bfffc497d3f4b78 -3940000060000000 -2fbe00007c6307b4 -2faa0000409e006c -39400001409e0008 -7f8348007d3f5214 -409d00447d2a07b4 -2f8300007c6a1850 -3929000178690020 -3d408000419c0010 -409e00087f835000 -2c29000139200001 -418200143929ffff -7d5a3850e8fd0000 -419c00307faad840 -3860000038210060 -2b9c001048000604 -7bdee102409e0014 -7d4a07b4394a0001 -7fdee3924bffff7c -9b2700004bfffff0 -394a0001e95d0000 -4bffffa8f95d0000 +38428cf03c4c0001 +3d2037367c0802a6 +612935347d908026 +65293332792907c6 +6129313091810008 +f821ffa1480007d9 +7cde33787c7d1b78 +f92100203be00000 +612964633d206665 +65296261792907c6 +f921002861293938 +2fa900007ca92b78 +2fbf0000409e0080 +3be00001409e0008 +386000007fbf2040 +2e270000419d0058 +7f65f3923b9fffff +7ca928507d3bf1d2 +886500207ca12a14 +4bffff4141920010 +5463063e60000000 +e93d00002fbb0000 +7c69e1ae7f65db78 +409effc83b9cffff +38600001e93d0000 +fbfd00007fe9fa14 +8181000838210060 +480007747d908120 +409e00142b9e0010 +3bff00017929e102 +4bffff687fff07b4 +4bfffff07d29f392 +0300000000000000 +3c4c000100000580 +7c0802a638428be4 +f821ffb1480006e9 +7c7f1b78eb630000 +7cbd2b787c9c2378 +7fa3eb783bc00000 +600000004bfffe0d +409d00147fa3f040 +7d3b5050e95f0000 +419c00107fa9e040 +3860000138210050 +7d3df0ae480006f0 +992a00003bde0001 +39290001e93f0000 +4bffffb8f93f0000 0100000000000000 -3c4c000100000780 -7c0802a638428a74 -f821fed148000539 -f86100607c741b79 -4182006838600000 -419e00602fa40000 -6000000039210040 -3b4100203ac4ffff -60000000f9210070 -392280603ae00000 -3ba100603a428018 -89250000f9210078 -2fa90000ebc10060 -7ff4f050419e0010 -419c00207fbfb040 -993e000039200000 -7e941850e8610060 -382101307e8307b4 -2b89002548000508 -409e048839450001 -8925000038e00000 -f8a10068e9010070 -7d2741ae7cea07b4 -8d25000139070001 -2b8900647d0807b4 -2b890069419e0058 -2b890075419e0050 -2b890078419e0048 -2b890058419e0040 -2b890070419e0038 -2b890063419e0030 -2b890073419e0028 -2b890025419e0020 -2b89004f419e0018 -2b89006f419e0010 -409eff8838e70001 -2b890025394a0002 -7d1a42147d4a07b4 -992800207d5a5214 -409e00209aea0020 -f9210060393e0001 -993e000039200025 -38a90002e9210068 -892100414bffff04 -3a2600087fffb050 -3a600030eb660000 -3929ffd23b010042 -4082039c712900fd -3b2000043aa00000 -3a0000013b800000 -7ddb00d039e0002d -2b89006c48000108 -88f8000138d80001 -419d0118419e033c -419e02402b890063 -2b89004f419d0038 -2b890058419e01e8 -3949ffd0419e0188 -2b8a0009554a063e -395c0001419d00c4 -993c00207f81e214 -480000b0795c0020 -419e03042b890068 -419e000c2b890069 -409effc82b890064 -7d41e2142b890075 -7f6adb789aea0020 -57291838419e0034 -7e0948363929ffff -418200207f694839 -e921006099e80000 -f921006039290001 -7d52482a7b291f24 -e88100607dca5038 -38e0000a7d465378 -7f45d378f9410080 -7e689b7839200000 -7c9e20507fa3eb78 -4bfffc9d7c84f850 -e9410080e8810060 -38c0000a7ea7ab78 -7d4553787c9e2050 -7fa3eb787c84f850 -3b1800014bfffaed -e901006089380000 +3c4c000100000580 +7c0802a638428b64 +f821ffa148000661 +7c9b23787c7d1b78 +388000007ca32b78 +7cde337838a0000a +7cfc3b78eb5d0000 +7d3f4b787d194378 +600000004bfffc49 +7c6307b439400000 +409e006c2fbe0000 +409e00082faa0000 +7d3f521439400001 +7d2a07b47f834800 +7c6a1850409d0044 +786900202f830000 +419c001039290001 +7f8350003d408000 +39200001409e0008 +3929ffff2c290001 +e8fd000041820014 +7faad8407d5a3850 +38210060419c0030 +4800060438600000 +409e00142b9c0010 +394a00017bdee102 +4bffff7c7d4a07b4 +4bfffff07fdee392 +e95d00009b270000 +f95d0000394a0001 +000000004bffffa8 +0000078001000000 +38428a683c4c0001 +480005397c0802a6 +7c741b79f821fed1 +38600000f8610060 +2fa4000041820068 +39210040419e0060 +3ac4ffff60000000 +f92100703b410020 +3ae0000060000000 +3a42802839228070 +f92100783ba10060 +ebc1006089250000 419e00102fa90000 -7fbf50407d5e4050 -7e268b78419dfee4 -2b8900734bfffe90 -419d006c419e016c -419e00d42b89006f -409efef02b890070 -38e000107d21e214 -7c8af8507f66db78 -390000209ae90020 -7f45d37839200002 -4bfffc0d7fa3eb78 -e8a10078e8810060 -7c9e20507fa3eb78 -4bfffb757c84f850 -7ea7ab78e8810060 -7f65db7838c00010 -4bffff5c7c9e2050 -419e00182b890078 -419e01cc2b89007a -4bfffeb82b890075 -7d21e2143aa00001 -7c8af85038e00010 -9ae900207e689b78 -7f45d3787b291f24 -7d72482a7fa3eb78 -7f6b583839200000 -f96100807d665b78 -e88100604bfffb89 +7fbfb0407ff4f050 +39200000419c0020 +e8610060993e0000 +7e8307b47e941850 +4800050838210130 +394500012b890025 +38e00000409e0488 +e901007089250000 +7cea07b4f8a10068 +390700017d2741ae +7d0807b48d250001 +419e00582b890064 +419e00502b890069 +419e00482b890075 +419e00402b890078 +419e00382b890058 +419e00302b890070 +419e00282b890063 +419e00202b890073 +419e00182b890025 +419e00102b89004f +38e700012b89006f +394a0002409eff88 +7d4a07b42b890025 +7d5a52147d1a4214 +9aea002099280020 +393e0001409e0020 +39200025f9210060 +e9210068993e0000 +4bffff0438a90002 +7fffb05089210041 +eb6600003a260008 +3b0100423a600030 +712900fd3929ffd2 +3aa000004082039c +3b8000003b200004 +39e0002d3a000001 +480001087ddb00d0 +38d800012b89006c +419e033c88f80001 +2b890063419d0118 +419d0038419e0240 +419e01e82b89004f +419e01882b890058 +554a063e3949ffd0 +419d00c42b8a0009 +7f81e214395c0001 +795c0020993c0020 +2b890068480000b0 +2b890069419e0304 +2b890064419e000c +2b890075409effc8 +9aea00207d41e214 +419e00347f6adb78 +3929ffff57291838 +7f6948397e094836 +99e8000041820020 +39290001e9210060 +7b291f24f9210060 +7dca50387d52482a +7d465378e8810060 +f941008038e0000a +392000007f45d378 +7fa3eb787e689b78 +7c84f8507c9e2050 +e88100604bfffc9d +7ea7ab78e9410080 +7c9e205038c0000a +7c84f8507d455378 +4bfffaed7fa3eb78 +893800003b180001 +2fa90000e9010060 +7d5e4050419e0010 +419dfee47fbf5040 +4bfffe907e268b78 +419e016c2b890073 +2b89006f419d006c +2b890070419e00d4 +7d21e214409efef0 +7f66db7838e00010 +9ae900207c8af850 +3920000239000020 +7fa3eb787f45d378 +e88100604bfffc0d +7fa3eb78e8a10078 +7c84f8507c9e2050 +e88100604bfffb75 38c000107ea7ab78 -e96100807c9e2050 -4bfffeec7d655b78 -38e000087d21e214 +7c9e20507f65db78 +2b8900784bffff5c +2b89007a419e0018 +2b890075419e01cc +3aa000014bfffeb8 +38e000107d21e214 7e689b787c8af850 7b291f249ae90020 7fa3eb787f45d378 392000007d72482a 7d665b787f6b5838 -4bfffb35f9610080 +4bfffb89f9610080 7ea7ab78e8810060 -7c9e205038c00008 -7d21e2144bffffac -38e0000a39000020 -9ae9002038c00001 -392000007f45d378 -7fa3eb787c8af850 -e92100604bfffaf9 -e92100609b690000 -f921006039290001 -7d21e2144bfffe6c -f901009038a0000a -38800000f9410088 -9ae900207f43d378 -600000004bfff73d -7f63db78f8610080 -600000004bfff861 -7fa91840e9210080 -7c634850409d0040 -e9010090e9410088 -392300012fa30000 -409e00087d4af850 -2c29000139200001 -3929ffffe8c10060 -7ce8305041820010 -419d00207faa3840 -7f65db78e8810060 -7c9e20507fa3eb78 -4bfff9cd7c84f850 -38e000204bfffdd4 -e8e1006098e60000 -f8e1006038e70001 -2b87006c4bffffb4 -409efdb03b200008 -4bfffda87cd83378 -3b2000022b870068 -7cd83378409efd9c -4bfffd903b200001 -4bfffd883b200008 -3b0100413a600020 -993e00004bfffc60 -e92100607d455378 -f921006039290001 -000000004bfffb24 -0000128001000000 -f9e1ff78f9c1ff70 -fa21ff88fa01ff80 -fa61ff98fa41ff90 -faa1ffa8fa81ffa0 -fae1ffb8fac1ffb0 -fb21ffc8fb01ffc0 -fb61ffd8fb41ffd0 -fba1ffe8fb81ffe0 -fbe1fff8fbc1fff0 -4e800020f8010010 -e9e1ff78e9c1ff70 -ea21ff88ea01ff80 -ea61ff98ea41ff90 -eaa1ffa8ea81ffa0 -eae1ffb8eac1ffb0 -eb21ffc8eb01ffc0 -eb61ffd8eb41ffd0 -e8010010eb81ffe0 -7c0803a6eba1ffe8 -ebe1fff8ebc1fff0 -ebc1fff04e800020 -ebe1fff8e8010010 -4e8000207c0803a6 +7c9e205038c00010 +7d655b78e9610080 +7d21e2144bfffeec +7c8af85038e00008 +9ae900207e689b78 +7f45d3787b291f24 +7d72482a7fa3eb78 +7f6b583839200000 +f96100807d665b78 +e88100604bfffb35 +38c000087ea7ab78 +4bffffac7c9e2050 +390000207d21e214 +38c0000138e0000a +7f45d3789ae90020 +7c8af85039200000 +4bfffaf97fa3eb78 +9b690000e9210060 +39290001e9210060 +4bfffe6cf9210060 +38a0000a7d21e214 +f9410088f9010090 +7f43d37838800000 +4bfff73d9ae90020 +f861008060000000 +4bfff8617f63db78 +e921008060000000 +409d00407fa91840 +e94100887c634850 +2fa30000e9010090 +7d4af85039230001 +39200001409e0008 +e8c100602c290001 +418200103929ffff +7faa38407ce83050 +e8810060419d0020 +7fa3eb787f65db78 +7c84f8507c9e2050 +4bfffdd44bfff9cd +98e6000038e00020 +38e70001e8e10060 +4bffffb4f8e10060 +3b2000082b87006c +7cd83378409efdb0 +2b8700684bfffda8 +409efd9c3b200002 +3b2000017cd83378 +3b2000084bfffd90 +3a6000204bfffd88 +4bfffc603b010041 +7d455378993e0000 +39290001e9210060 +4bfffb24f9210060 +0100000000000000 +f9c1ff7000001280 +fa01ff80f9e1ff78 +fa41ff90fa21ff88 +fa81ffa0fa61ff98 +fac1ffb0faa1ffa8 +fb01ffc0fae1ffb8 +fb41ffd0fb21ffc8 +fb81ffe0fb61ffd8 +fbc1fff0fba1ffe8 +f8010010fbe1fff8 +e9c1ff704e800020 +ea01ff80e9e1ff78 +ea41ff90ea21ff88 +ea81ffa0ea61ff98 +eac1ffb0eaa1ffa8 +eb01ffc0eae1ffb8 +eb41ffd0eb21ffc8 +eb81ffe0eb61ffd8 +eba1ffe8e8010010 +ebc1fff07c0803a6 +4e800020ebe1fff8 +e8010010ebc1fff0 +7c0803a6ebe1fff8 +000000004e800020 6d6f636c65570a0a 63694d206f742065 2120747461776f72 @@ -1631,7 +1665,7 @@ ebe1fff8e8010010 203a46464f204853 7479622078257830 00000000000a7365 -3236343266663032 +6633623461653832 0000000000000000 0039326232623162 4d4152446574694c diff --git a/litedram/generated/nexys-video/litedram_core.init b/litedram/generated/nexys-video/litedram_core.init index b75722c..3604d59 100644 --- a/litedram/generated/nexys-video/litedram_core.init +++ b/litedram/generated/nexys-video/litedram_core.init @@ -518,7 +518,7 @@ a64b5a7d14004a39 4e80002060000000 0000000000000000 3c4c000100000000 -7c0802a63842a5c4 +7c0802a63842a6c4 fbe1fff8fbc1fff0 f821ff51f8010010 f88100d83be10020 @@ -527,67 +527,67 @@ f88100d83be10020 f8e100f038c100d8 f90100f87fe3fb78 f9410108f9210100 -6000000048001b0d +6000000048001c19 7fe3fb787c7e1b78 -6000000048001625 +6000000048001601 7fc3f378382100b0 -00000000480020cc +00000000480021d8 0000028001000000 000000004e800020 0000000000000000 4c00012c7c0007ac 000000004e800020 0000000000000000 -3842a5203c4c0001 +3842a6203c4c0001 7d8000267c0802a6 -9181000848002009 -48001519f821fed1 +9181000848002115 +480015fdf821fed1 3c62ffff60000000 -4bffff3938637b88 +4bffff3938637b98 548400023880ffff 7c8026ea7c0004ac 3fe0c0003c62ffff -63ff000838637ba8 +63ff000838637bb8 3c62ffff4bffff15 -38637bc87bff0020 +38637bd87bff0020 7c0004ac4bffff05 73e900017fe0feea 3c62ffff41820010 -4bfffee938637be0 +4bfffee938637bf0 4e00000073e90002 3c62ffff41820010 -4bfffed138637be8 +4bfffed138637bf8 4d80000073e90004 3c62ffff41820010 -4bfffeb938637bf0 +4bfffeb938637c00 4d00000073e90008 3c62ffff41820010 -4bfffea138637bf8 +4bfffea138637c08 4182001073e90010 -38637c083c62ffff +38637c183c62ffff 3f62ffff4bfffe8d -7f63db783b7b7f88 +7f63db783b7b7f98 418e00284bfffe7d 608400103c80c000 7c0004ac78840020 3c62ffff7c8026ea -38637c187884b582 +38637c287884b582 4192004c4bfffe55 608400183c80c000 7c0004ac78840020 3c62ffff7c8026ea -38637c3078846022 +38637c4078846022 3c80c0004bfffe2d 7884002060840030 7c8026ea7c0004ac 7884b2823c62ffff -4bfffe0938637c48 +4bfffe0938637c58 612900203d20c000 7c0004ac79290020 3c80000f7d204eea 6084424079290600 7c8923923c62ffff -4bfffdd938637c60 +4bfffdd938637c70 3fa0c000418a0258 7bbd002063bd0038 7fa0eeea7c0004ac @@ -604,7 +604,7 @@ f9410108f9210100 57ff063e4bfffd29 7fe6fb783c62ffff 7f84e3787fc5f378 -4bfffd5138637c80 +4bfffd5138637c90 7d29fb787f89f378 419e01642f890000 7d29f8387f89f038 @@ -624,9 +624,9 @@ f9410108f9210100 7f80feaa7c0004ac 579c063e4bfffc81 7f84e3783c62ffff -4bfffcb138637ca0 +4bfffcb138637cb0 4082009073890002 -38637cc03c62ffff +38637cd03c62ffff 7c0004ac4bfffc9d 392000067f40f7aa 7d20ffaa7c0004ac @@ -644,7 +644,7 @@ f9410108f9210100 579c063e7f80feaa 738900014bfffbe1 3c62ffff4082ffdc -4bfffc1138637cd8 +4bfffc1138637ce8 614a60083d40c000 7c0004ac794a0020 5529021e7d20562a @@ -652,62 +652,62 @@ f9410108f9210100 7d20572a7c0004ac 4bfffbe17f63db78 3c62ffff7bbd0020 -38637ce87fa4eb78 +38637cf87fa4eb78 3be000014bfffbcd 4bfffbc17f63db78 3ca2ffff41920028 3c62ffff3c82ffff -38847d1838a57d08 -4bfffba138637d20 +38847d2838a57d18 +4bfffba138637d30 6000000048000fbd 3c62ffff418e0024 -4bfffb8938637d50 +4bfffb8938637d60 4800014438600000 3ba000003be00000 2fbf00004bffffb0 3c62ffff419e0084 -4bfffb6138637d68 +4bfffb6138637d78 38a000403c9df000 3861007078840020 -600000004800137d +6000000048001489 3d400002e9210070 794a83e4614a464c 614a457f79290600 419e00807fa95000 -38637d803c62ffff +38637d903c62ffff 886100774bfffb1d 8921007589410076 88e1007389010074 88a1007188c10072 f861006088810070 -38637e003c62ffff +38637e103c62ffff 3c62ffff4bfffaed -4bfffae138637e30 +4bfffae138637e40 38a0ffff3c80ff00 54a5042260844000 3c60400078840020 -60000000480012f5 -38637e503c62ffff +6000000048001401 +38637e603c62ffff 4bfffb354bfffab5 892100754bffff28 409e00102f890001 2f890015a1210082 3c62ffff419e0010 -4bffff6c38637da0 +4bffff6c38637db0 3f02ffffebe10090 3b2100b03bc00000 -7fffea143b187db8 +7fffea143b187dc8 a12100a87bff0020 419d00347f89f040 3c62ffff80810088 -4bfffa5138637de0 +4bfffa5138637df0 e86100884bfffad1 419eff582fa3ffff 8181000838210130 -48001b347d838120 +48001c407d838120 38a000383c9ff000 7f23cb7878840020 -600000004800124d +6000000048001359 2f890001812100b0 eb4100d0409e004c eb8100b8eb6100c0 @@ -716,14 +716,14 @@ eb8100b8eb6100c0 4bfff9e93f9cf000 7b4500207c9de214 7f63db7878840020 -6000000048001205 +6000000048001311 7fe9fa14a12100a6 3bde00017bff0020 4bffff507bde0020 409efdcc2b9c0020 409efdc42b9e00ba 409efdbc2b9f0018 -38637cd03c62ffff +38637ce03c62ffff 4bfffd784bfff995 0300000000000000 3d20c80000000880 @@ -783,10 +783,10 @@ eb8100b8eb6100c0 4e80002098640000 0000000000000000 3c4c000100000000 -7c0802a638429d7c -f821ff214800185d +7c0802a638429e7c +f821ff2148001969 3c62ffff7c7e1b78 -4bfff7a138637f20 +4bfff7a138637f30 3ca0802060000000 60a5000339010060 3920002a39400004 @@ -837,7 +837,7 @@ f821ff214800185d 3ee2ffff213e0003 7ed607b479350020 3be000007d2907b4 -3af77f483b010070 +3af77f583b010070 7ebdaa147f3db214 4bfffd757f5d4a14 3b8000003860000f @@ -879,7 +879,7 @@ f821ff214800185d 2f9f00204bffffcc 7fbd0e707fbfe214 3c62ffff409e006c -4bfff4b938637f30 +4bfff4b938637f40 7fc3f37860000000 4bfffb8d3be00000 419c00707f9fe800 @@ -891,42 +891,42 @@ f821ff214800185d 3860000b7d20572a 3860000f4bfffaed 382100e04bfffb21 -7cbfe05048001554 +7cbfe05048001660 7ca50e703c62ffff 7fa4eb787ca50194 -7ca507b438637f38 +7ca507b438637f48 600000004bfff43d 7fc3f3784bffff84 4bfffb593bff0001 4bffff7c7fff07b4 0100000000000000 3c4c000100000b80 -7c0802a6384299cc +7c0802a638429acc 614a08003d40c800 794a00203920000e f821ffa1f8010010 7d20572a7c0004ac -38637ff03c62ffff +3862800060000000 600000004bfff3dd e801001038210060 4e8000207c0803a6 0100000000000000 3c4c000100000080 -7c0802a638429974 +7c0802a638429a74 614a08003d40c800 794a002039200001 f821ffa1f8010010 7d20572a7c0004ac -38637f683c62ffff +38637f783c62ffff 600000004bfff385 e801001038210060 4e8000207c0803a6 0100000000000000 3c4c000100000080 -7c0802a63842991c +7c0802a638429a1c 7d0903a639000080 3d2040003d40aaaa -48001409614aaaaa +48001515614aaaaa 91490000f821ff81 4200fff839290004 600000004bfff3a1 @@ -950,7 +950,7 @@ e801001038210060 2fbf00004200ffe8 3c62ffff419e001c 7fe4fb7838a00100 -4bfff28138637e68 +4bfff28138637e78 3d00000860000000 7d0903a63ce08020 3d40400060e70003 @@ -972,7 +972,7 @@ e801001038210060 4200ffd4394a0004 419e001c2fbd0000 3ca000083c62ffff -38637e907fa4eb78 +38637ea07fa4eb78 600000004bfff1cd 3940000039202000 3d2a10007d2903a6 @@ -989,12 +989,12 @@ e801001038210060 4200ffdc394a0001 419e001c2fbe0000 38a020003c62ffff -38637eb87fc4f378 +38637ec87fc4f378 600000004bfff145 386000007fffea14 2f9f00007ffff214 3c62ffff409e00a4 -4bfff12138637ee0 +4bfff12138637ef0 7c9602a660000000 788400203d400004 392000007d4903a6 @@ -1011,13 +1011,13 @@ e90a00003d404000 7d2548507cb602a6 7ca54b963ca06400 7fe4fb783c62ffff -78a5006038637ef0 +78a5006038637f00 600000004bfff095 3821008038600001 -000000004800119c +00000000480012a8 0000038001000000 -384296303c4c0001 -480010f57c0802a6 +384297303c4c0001 +480012017c0802a6 3fe0c800f821fec1 63ff00143bc00001 4bfffc497bff0020 @@ -1032,16 +1032,16 @@ e90a00003d404000 7c0004ac7d20ff2a 7c0004ac7fc0e72a 3c62ffff7fa0ff2a -38637fa83b810070 +38637fb83b810070 4bffefe93e02ffff 3d22ffff60000000 3de2fffffb810080 -3dc2ffff39297fb8 +3dc2ffff39297fc8 3ae100633e42ffff 3ac10061f9210098 -3a107f483be00000 -39ce7fd039ef7fc8 -392100643a527f88 +3a107f583be00000 +39ce7fe039ef7fd8 +392100643a527f98 3e80c8003b200001 f92100883ea0c800 7f39f83039210068 @@ -1136,7 +1136,7 @@ e94100a04bfff585 3a2000004bfffd6c 3c62ffff4bffff70 7fe4fb787fc5f378 -4bffecb138637fd8 +4bffecb138637fe8 3d20c80060000000 7929002061290014 7f204f2a7c0004ac @@ -1159,12 +1159,12 @@ e94100a04bfff585 7d40472a7c0004ac 7ce04f2a7c0004ac 382101404bffffb4 -48000cd438600001 +48000de038600001 0100000000000000 3c4c000100001280 -7c0802a6384291a4 -38637f903c62ffff -f821ff7148000c91 +7c0802a6384292a4 +38637fa03c62ffff +f821ff7148000d9d 3be000003f60c800 7b7b0020637b1000 600000004bffebbd @@ -1211,378 +1211,412 @@ f821ff7148000c91 4082001c2c230000 7f80df2a7c0004ac 7f80d72a7c0004ac -48000b6438210090 +48000c7038210090 7f80df2a7c0004ac 4bffffec38600001 0100000000000000 3c4c000100000680 -3d20c00038428ff4 -6129200060000000 -f922806879290020 -612900203d20c000 -7c0004ac79290020 -3d40001c7d204eea -614a200079290600 -e94280687d295392 -3929ffff394a0018 +60000000384290f4 +6000000039228080 +8929000039428078 +419e002c2f890000 +39290014e92a0000 +7d204eaa7c0004ac +4182ffec71290020 +7c0004ace92a0000 +4e8000207c604faa +39290010e92a0000 +7d204eea7c0004ac +4082ffec71290008 +e94a00005469063e 7d2057ea7c0004ac 000000004e800020 0000000000000000 -38428f903c4c0001 -e922806860000000 +384290703c4c0001 +fbc1fff07c0802a6 +3bc3fffffbe1fff8 +f821ffd1f8010010 +2fbf00008ffe0001 +38210030409e0010 +48000bbc38600000 +409e000c2b9f000a +4bffff413860000d +4bffff397fe3fb78 +000000004bffffd0 +0000028001000000 +384290103c4c0001 +612900203d20c000 +7c0004ac79290020 +3d00c0007d204eea +6108000879290600 +7c0004ac79080020 +710800207d0046ea +4182001839400000 +614a00403d40c000 +7c0004ac794a0020 +3d00c0007d4056ea +6000000060000000 +6108200038e28080 +f902807879080020 +610820003d00001c +7948f8047d294392 +4182008079080fc3 +3d00c00039400001 +994700006108200c +3940ff8079080020 +7d4047aa7c0004ac +7c0004ace9428078 +e94280787d2057aa +394a00047929c202 +7d2057aa7c0004ac +39400003e9228078 +7c0004ac3929000c +e92280787d404faa 7c0004ac39290010 -712900087d204eea -5469063e4082ffe8 -7c0004ace9428068 -4e8000207d2057ea +e92280787d404faa +3929000839400007 +7d404faa7c0004ac +3d40c0004e800020 +3929ffff99070000 +794a0020614a2018 +7d2057ea7c0004ac +000000004e800020 0000000000000000 -3c4c000100000000 -7c0802a638428f4c -fbe1fff8fbc1fff0 -f80100103bc3ffff -8ffe0001f821ffd1 -409e00102fbf0000 -3860000038210030 -2b9f000a48000a8c -3860000d409e000c -7fe3fb784bffff81 -4bffffd04bffff79 -0100000000000000 -2c24000000000280 -3881fff040820008 -f86400002b850024 -4d9d002038600000 -78c683e43cc00001 -e924000060c62600 -2b8a002089490000 -7cc75436419d002c -4082001470e80001 -409e00542fa50000 -4800005c38a0000a -f924000039290001 -2fa500004bffffcc -2b8a0030409e0038 -409e003c38a0000a -2f8a007889490001 -89490001409e0030 -2f8a007838a00010 -39290002409e0020 -48000014f9240000 -409e000c2f850010 -419effd82b8a0030 -4800003038600000 -54ca063e38c9ffd0 -419d00342b8a0009 -7f8928007cc90734 -38e700014c9c0020 -f8e400007c6519d2 -e8e400007c691a14 -2fa9000089270000 -4e800020409effc8 -554a063e3949ff9f -419d00102b8a0019 -7d2907343929ffa9 -3949ffbf4bffffbc +408200082c240000 +2b8500243881fff0 +38600000f8640000 +3cc000014d9d0020 +60c6260078c683e4 +89490000e9240000 +419d002c2b8a0020 +70e800017cc75436 +2fa5000040820014 +38a0000a409e0054 +392900014800005c +4bffffccf9240000 +409e00382fa50000 +38a0000a2b8a0030 +89490001409e003c +409e00302f8a0078 +38a0001089490001 +409e00202f8a0078 +f924000039290002 +2f85001048000014 +2b8a0030409e000c +38600000419effd8 +38c9ffd048000030 +2b8a000954ca063e +7cc90734419d0034 +4c9c00207f892800 +7c6519d238e70001 +7c691a14f8e40000 +89270000e8e40000 +409effc82fa90000 +3949ff9f4e800020 2b8a0019554a063e -3929ffc94d9d0020 -000000004bffffe4 -0000000000000000 -7d4348ae39200000 -409e000c2f8a0000 -4e8000207d234b78 -4bffffe839290001 -0000000000000000 -78aae8c200000000 -392a000139000000 -420000307d2903a6 -792a1f2478a9e8c2 -7d0352141d29fff8 -7ca92a147c845214 -3945000139200000 -420000187d4903a6 -7d24402a4e800020 -390800087d23412a -7d4448ae4bffffc4 -392900017d4849ae -000000004bffffdc -0000000000000000 -2b8900193923ff9f -3863ffe04d9d0020 -4e8000207c6307b4 +3929ffa9419d0010 +4bffffbc7d290734 +554a063e3949ffbf +4d9d00202b8a0019 +4bffffe43929ffc9 +0000000000000000 +3920000000000000 +2f8a00007d4348ae +7d234b78409e000c +392900014e800020 +000000004bffffe8 +0000000000000000 +3900000078aae8c2 +7d2903a6392a0001 +78a9e8c242000030 +1d29fff8792a1f24 +7c8452147d035214 +392000007ca92a14 +7d4903a639450001 +4e80002042000018 +7d23412a7d24402a +4bffffc439080008 +7d4849ae7d4448ae +4bffffdc39290001 +0000000000000000 +3923ff9f00000000 +4d9d00202b890019 +7c6307b43863ffe0 +000000004e800020 0000000000000000 -3c4c000100000000 -7c0802a638428cfc -7d9080263d203736 -792907c661293534 -9181000865293332 -480007d961293130 -7c7d1b78f821ffa1 -3be000007cde3378 -3d206665f9210020 -792907c661296463 -6129393865296261 -7ca92b78f9210028 -409e00802fa90000 -409e00082fbf0000 -7fbf20403be00001 -419d005838600000 -3b9fffff2e270000 -7d3bf1d27f65f392 -7ca12a147ca92850 -4192001088650020 -600000004bffff41 -2fbb00005463063e -7f65db78e93d0000 -3b9cffff7c69e1ae -e93d0000409effc8 -7fe9fa1438600001 -38210060fbfd0000 -7d90812081810008 -2b9e001048000774 -7929e102409e0014 -7fff07b43bff0001 -7d29f3924bffff68 -000000004bfffff0 -0000058003000000 -38428bf03c4c0001 -480006e97c0802a6 -eb630000f821ffb1 -7c9c23787c7f1b78 -3bc000007cbd2b78 -4bfffe0d7fa3eb78 -7fa3f04060000000 -e95f0000409d0014 -7fa9e0407d3b5050 -38210050419c0010 -480006f038600001 -3bde00017d3df0ae -e93f0000992a0000 -f93f000039290001 -000000004bffffb8 -0000058001000000 -38428b703c4c0001 -480006617c0802a6 -7c7d1b78f821ffa1 -7ca32b787c9b2378 -38a0000a38800000 -eb5d00007cde3378 -7d1943787cfc3b78 -4bfffc497d3f4b78 -3940000060000000 -2fbe00007c6307b4 -2faa0000409e006c -39400001409e0008 -7f8348007d3f5214 -409d00447d2a07b4 -2f8300007c6a1850 -3929000178690020 -3d408000419c0010 -409e00087f835000 -2c29000139200001 -418200143929ffff -7d5a3850e8fd0000 -419c00307faad840 -3860000038210060 -2b9c001048000604 -7bdee102409e0014 -7d4a07b4394a0001 -7fdee3924bffff7c -9b2700004bfffff0 -394a0001e95d0000 -4bffffa8f95d0000 +38428cf03c4c0001 +3d2037367c0802a6 +612935347d908026 +65293332792907c6 +6129313091810008 +f821ffa1480007d9 +7cde33787c7d1b78 +f92100203be00000 +612964633d206665 +65296261792907c6 +f921002861293938 +2fa900007ca92b78 +2fbf0000409e0080 +3be00001409e0008 +386000007fbf2040 +2e270000419d0058 +7f65f3923b9fffff +7ca928507d3bf1d2 +886500207ca12a14 +4bffff4141920010 +5463063e60000000 +e93d00002fbb0000 +7c69e1ae7f65db78 +409effc83b9cffff +38600001e93d0000 +fbfd00007fe9fa14 +8181000838210060 +480007747d908120 +409e00142b9e0010 +3bff00017929e102 +4bffff687fff07b4 +4bfffff07d29f392 +0300000000000000 +3c4c000100000580 +7c0802a638428be4 +f821ffb1480006e9 +7c7f1b78eb630000 +7cbd2b787c9c2378 +7fa3eb783bc00000 +600000004bfffe0d +409d00147fa3f040 +7d3b5050e95f0000 +419c00107fa9e040 +3860000138210050 +7d3df0ae480006f0 +992a00003bde0001 +39290001e93f0000 +4bffffb8f93f0000 0100000000000000 -3c4c000100000780 -7c0802a638428a74 -f821fed148000539 -f86100607c741b79 -4182006838600000 -419e00602fa40000 -6000000039210040 -3b4100203ac4ffff -60000000f9210070 -392280603ae00000 -3ba100603a428018 -89250000f9210078 -2fa90000ebc10060 -7ff4f050419e0010 -419c00207fbfb040 -993e000039200000 -7e941850e8610060 -382101307e8307b4 -2b89002548000508 -409e048839450001 -8925000038e00000 -f8a10068e9010070 -7d2741ae7cea07b4 -8d25000139070001 -2b8900647d0807b4 -2b890069419e0058 -2b890075419e0050 -2b890078419e0048 -2b890058419e0040 -2b890070419e0038 -2b890063419e0030 -2b890073419e0028 -2b890025419e0020 -2b89004f419e0018 -2b89006f419e0010 -409eff8838e70001 -2b890025394a0002 -7d1a42147d4a07b4 -992800207d5a5214 -409e00209aea0020 -f9210060393e0001 -993e000039200025 -38a90002e9210068 -892100414bffff04 -3a2600087fffb050 -3a600030eb660000 -3929ffd23b010042 -4082039c712900fd -3b2000043aa00000 -3a0000013b800000 -7ddb00d039e0002d -2b89006c48000108 -88f8000138d80001 -419d0118419e033c -419e02402b890063 -2b89004f419d0038 -2b890058419e01e8 -3949ffd0419e0188 -2b8a0009554a063e -395c0001419d00c4 -993c00207f81e214 -480000b0795c0020 -419e03042b890068 -419e000c2b890069 -409effc82b890064 -7d41e2142b890075 -7f6adb789aea0020 -57291838419e0034 -7e0948363929ffff -418200207f694839 -e921006099e80000 -f921006039290001 -7d52482a7b291f24 -e88100607dca5038 -38e0000a7d465378 -7f45d378f9410080 -7e689b7839200000 -7c9e20507fa3eb78 -4bfffc9d7c84f850 -e9410080e8810060 -38c0000a7ea7ab78 -7d4553787c9e2050 -7fa3eb787c84f850 -3b1800014bfffaed -e901006089380000 +3c4c000100000580 +7c0802a638428b64 +f821ffa148000661 +7c9b23787c7d1b78 +388000007ca32b78 +7cde337838a0000a +7cfc3b78eb5d0000 +7d3f4b787d194378 +600000004bfffc49 +7c6307b439400000 +409e006c2fbe0000 +409e00082faa0000 +7d3f521439400001 +7d2a07b47f834800 +7c6a1850409d0044 +786900202f830000 +419c001039290001 +7f8350003d408000 +39200001409e0008 +3929ffff2c290001 +e8fd000041820014 +7faad8407d5a3850 +38210060419c0030 +4800060438600000 +409e00142b9c0010 +394a00017bdee102 +4bffff7c7d4a07b4 +4bfffff07fdee392 +e95d00009b270000 +f95d0000394a0001 +000000004bffffa8 +0000078001000000 +38428a683c4c0001 +480005397c0802a6 +7c741b79f821fed1 +38600000f8610060 +2fa4000041820068 +39210040419e0060 +3ac4ffff60000000 +f92100703b410020 +3ae0000060000000 +3a42802839228070 +f92100783ba10060 +ebc1006089250000 419e00102fa90000 -7fbf50407d5e4050 -7e268b78419dfee4 -2b8900734bfffe90 -419d006c419e016c -419e00d42b89006f -409efef02b890070 -38e000107d21e214 -7c8af8507f66db78 -390000209ae90020 -7f45d37839200002 -4bfffc0d7fa3eb78 -e8a10078e8810060 -7c9e20507fa3eb78 -4bfffb757c84f850 -7ea7ab78e8810060 -7f65db7838c00010 -4bffff5c7c9e2050 -419e00182b890078 -419e01cc2b89007a -4bfffeb82b890075 -7d21e2143aa00001 -7c8af85038e00010 -9ae900207e689b78 -7f45d3787b291f24 -7d72482a7fa3eb78 -7f6b583839200000 -f96100807d665b78 -e88100604bfffb89 +7fbfb0407ff4f050 +39200000419c0020 +e8610060993e0000 +7e8307b47e941850 +4800050838210130 +394500012b890025 +38e00000409e0488 +e901007089250000 +7cea07b4f8a10068 +390700017d2741ae +7d0807b48d250001 +419e00582b890064 +419e00502b890069 +419e00482b890075 +419e00402b890078 +419e00382b890058 +419e00302b890070 +419e00282b890063 +419e00202b890073 +419e00182b890025 +419e00102b89004f +38e700012b89006f +394a0002409eff88 +7d4a07b42b890025 +7d5a52147d1a4214 +9aea002099280020 +393e0001409e0020 +39200025f9210060 +e9210068993e0000 +4bffff0438a90002 +7fffb05089210041 +eb6600003a260008 +3b0100423a600030 +712900fd3929ffd2 +3aa000004082039c +3b8000003b200004 +39e0002d3a000001 +480001087ddb00d0 +38d800012b89006c +419e033c88f80001 +2b890063419d0118 +419d0038419e0240 +419e01e82b89004f +419e01882b890058 +554a063e3949ffd0 +419d00c42b8a0009 +7f81e214395c0001 +795c0020993c0020 +2b890068480000b0 +2b890069419e0304 +2b890064419e000c +2b890075409effc8 +9aea00207d41e214 +419e00347f6adb78 +3929ffff57291838 +7f6948397e094836 +99e8000041820020 +39290001e9210060 +7b291f24f9210060 +7dca50387d52482a +7d465378e8810060 +f941008038e0000a +392000007f45d378 +7fa3eb787e689b78 +7c84f8507c9e2050 +e88100604bfffc9d +7ea7ab78e9410080 +7c9e205038c0000a +7c84f8507d455378 +4bfffaed7fa3eb78 +893800003b180001 +2fa90000e9010060 +7d5e4050419e0010 +419dfee47fbf5040 +4bfffe907e268b78 +419e016c2b890073 +2b89006f419d006c +2b890070419e00d4 +7d21e214409efef0 +7f66db7838e00010 +9ae900207c8af850 +3920000239000020 +7fa3eb787f45d378 +e88100604bfffc0d +7fa3eb78e8a10078 +7c84f8507c9e2050 +e88100604bfffb75 38c000107ea7ab78 -e96100807c9e2050 -4bfffeec7d655b78 -38e000087d21e214 +7c9e20507f65db78 +2b8900784bffff5c +2b89007a419e0018 +2b890075419e01cc +3aa000014bfffeb8 +38e000107d21e214 7e689b787c8af850 7b291f249ae90020 7fa3eb787f45d378 392000007d72482a 7d665b787f6b5838 -4bfffb35f9610080 +4bfffb89f9610080 7ea7ab78e8810060 -7c9e205038c00008 -7d21e2144bffffac -38e0000a39000020 -9ae9002038c00001 -392000007f45d378 -7fa3eb787c8af850 -e92100604bfffaf9 -e92100609b690000 -f921006039290001 -7d21e2144bfffe6c -f901009038a0000a -38800000f9410088 -9ae900207f43d378 -600000004bfff73d -7f63db78f8610080 -600000004bfff861 -7fa91840e9210080 -7c634850409d0040 -e9010090e9410088 -392300012fa30000 -409e00087d4af850 -2c29000139200001 -3929ffffe8c10060 -7ce8305041820010 -419d00207faa3840 -7f65db78e8810060 -7c9e20507fa3eb78 -4bfff9cd7c84f850 -38e000204bfffdd4 -e8e1006098e60000 -f8e1006038e70001 -2b87006c4bffffb4 -409efdb03b200008 -4bfffda87cd83378 -3b2000022b870068 -7cd83378409efd9c -4bfffd903b200001 -4bfffd883b200008 -3b0100413a600020 -993e00004bfffc60 -e92100607d455378 -f921006039290001 -000000004bfffb24 -0000128001000000 -f9e1ff78f9c1ff70 -fa21ff88fa01ff80 -fa61ff98fa41ff90 -faa1ffa8fa81ffa0 -fae1ffb8fac1ffb0 -fb21ffc8fb01ffc0 -fb61ffd8fb41ffd0 -fba1ffe8fb81ffe0 -fbe1fff8fbc1fff0 -4e800020f8010010 -e9e1ff78e9c1ff70 -ea21ff88ea01ff80 -ea61ff98ea41ff90 -eaa1ffa8ea81ffa0 -eae1ffb8eac1ffb0 -eb21ffc8eb01ffc0 -eb61ffd8eb41ffd0 -e8010010eb81ffe0 -7c0803a6eba1ffe8 -ebe1fff8ebc1fff0 -ebc1fff04e800020 -ebe1fff8e8010010 -4e8000207c0803a6 +7c9e205038c00010 +7d655b78e9610080 +7d21e2144bfffeec +7c8af85038e00008 +9ae900207e689b78 +7f45d3787b291f24 +7d72482a7fa3eb78 +7f6b583839200000 +f96100807d665b78 +e88100604bfffb35 +38c000087ea7ab78 +4bffffac7c9e2050 +390000207d21e214 +38c0000138e0000a +7f45d3789ae90020 +7c8af85039200000 +4bfffaf97fa3eb78 +9b690000e9210060 +39290001e9210060 +4bfffe6cf9210060 +38a0000a7d21e214 +f9410088f9010090 +7f43d37838800000 +4bfff73d9ae90020 +f861008060000000 +4bfff8617f63db78 +e921008060000000 +409d00407fa91840 +e94100887c634850 +2fa30000e9010090 +7d4af85039230001 +39200001409e0008 +e8c100602c290001 +418200103929ffff +7faa38407ce83050 +e8810060419d0020 +7fa3eb787f65db78 +7c84f8507c9e2050 +4bfffdd44bfff9cd +98e6000038e00020 +38e70001e8e10060 +4bffffb4f8e10060 +3b2000082b87006c +7cd83378409efdb0 +2b8700684bfffda8 +409efd9c3b200002 +3b2000017cd83378 +3b2000084bfffd90 +3a6000204bfffd88 +4bfffc603b010041 +7d455378993e0000 +39290001e9210060 +4bfffb24f9210060 +0100000000000000 +f9c1ff7000001280 +fa01ff80f9e1ff78 +fa41ff90fa21ff88 +fa81ffa0fa61ff98 +fac1ffb0faa1ffa8 +fb01ffc0fae1ffb8 +fb41ffd0fb21ffc8 +fb81ffe0fb61ffd8 +fbc1fff0fba1ffe8 +f8010010fbe1fff8 +e9c1ff704e800020 +ea01ff80e9e1ff78 +ea41ff90ea21ff88 +ea81ffa0ea61ff98 +eac1ffb0eaa1ffa8 +eb01ffc0eae1ffb8 +eb41ffd0eb21ffc8 +eb81ffe0eb61ffd8 +eba1ffe8e8010010 +ebc1fff07c0803a6 +4e800020ebe1fff8 +e8010010ebc1fff0 +7c0803a6ebe1fff8 +000000004e800020 6d6f636c65570a0a 63694d206f742065 2120747461776f72 @@ -1631,7 +1665,7 @@ ebe1fff8e8010010 203a46464f204853 7479622078257830 00000000000a7365 -3236343266663032 +6633623461653832 0000000000000000 0039326232623162 4d4152446574694c diff --git a/litedram/generated/sim/litedram_core.init b/litedram/generated/sim/litedram_core.init index f5bcd28..583a2ff 100644 --- a/litedram/generated/sim/litedram_core.init +++ b/litedram/generated/sim/litedram_core.init @@ -518,7 +518,7 @@ a64b5a7d14004a39 4e80002060000000 0000000000000000 3c4c000100000000 -7c0802a638429ac4 +7c0802a638429cc4 fbe1fff8fbc1fff0 f821ff51f8010010 f88100d83be10020 @@ -527,67 +527,67 @@ f88100d83be10020 f8e100f038c100d8 f90100f87fe3fb78 f9410108f9210100 -600000004800112d +6000000048001239 7fe3fb787c7e1b78 -6000000048000c45 +6000000048000c21 7fc3f378382100b0 -00000000480016ec +00000000480017f8 0000028001000000 000000004e800020 0000000000000000 4c00012c7c0007ac 000000004e800020 0000000000000000 -38429a203c4c0001 +38429c203c4c0001 7d8000267c0802a6 -9181000848001629 -48000b39f821fed1 +9181000848001735 +48000c1df821fed1 3c62ffff60000000 -4bffff3938637ca8 +4bffff3938637bb8 548400023880ffff 7c8026ea7c0004ac 3fe0c0003c62ffff -63ff000838637cc8 +63ff000838637bd8 3c62ffff4bffff15 -38637ce87bff0020 +38637bf87bff0020 7c0004ac4bffff05 73e900017fe0feea 3c62ffff41820010 -4bfffee938637d00 +4bfffee938637c10 4e00000073e90002 3c62ffff41820010 -4bfffed138637d08 +4bfffed138637c18 4d80000073e90004 3c62ffff41820010 -4bfffeb938637d10 +4bfffeb938637c20 4d00000073e90008 3c62ffff41820010 -4bfffea138637d18 +4bfffea138637c28 4182001073e90010 -38637d283c62ffff -600000004bfffe8d -7f63db783b628060 +38637c383c62ffff +3f62ffff4bfffe8d +7f63db783b7b7f70 418e00284bfffe7d 608400103c80c000 7c0004ac78840020 3c62ffff7c8026ea -38637d387884b582 +38637c487884b582 4192004c4bfffe55 608400183c80c000 7c0004ac78840020 3c62ffff7c8026ea -38637d5078846022 +38637c6078846022 3c80c0004bfffe2d 7884002060840030 7c8026ea7c0004ac 7884b2823c62ffff -4bfffe0938637d68 +4bfffe0938637c78 612900203d20c000 7c0004ac79290020 3c80000f7d204eea 6084424079290600 7c8923923c62ffff -4bfffdd938637d80 +4bfffdd938637c90 3fa0c000418a0258 7bbd002063bd0038 7fa0eeea7c0004ac @@ -604,7 +604,7 @@ f9410108f9210100 57ff063e4bfffd29 7fe6fb783c62ffff 7f84e3787fc5f378 -4bfffd5138637da0 +4bfffd5138637cb0 7d29fb787f89f378 419e01642f890000 7d29f8387f89f038 @@ -624,9 +624,9 @@ f9410108f9210100 7f80feaa7c0004ac 579c063e4bfffc81 7f84e3783c62ffff -4bfffcb138637dc0 +4bfffcb138637cd0 4082009073890002 -38637de03c62ffff +38637cf03c62ffff 7c0004ac4bfffc9d 392000067f40f7aa 7d20ffaa7c0004ac @@ -644,7 +644,7 @@ f9410108f9210100 579c063e7f80feaa 738900014bfffbe1 3c62ffff4082ffdc -4bfffc1138637df8 +4bfffc1138637d08 614a60083d40c000 7c0004ac794a0020 5529021e7d20562a @@ -652,62 +652,62 @@ f9410108f9210100 7d20572a7c0004ac 4bfffbe17f63db78 3c62ffff7bbd0020 -38637e087fa4eb78 +38637d187fa4eb78 3be000014bfffbcd 4bfffbc17f63db78 3ca2ffff41920028 3c62ffff3c82ffff -38847e3838a57e28 -4bfffba138637e40 +38847d4838a57d38 +4bfffba138637d50 6000000048000605 3c62ffff418e0024 -4bfffb8938637e70 +4bfffb8938637d80 4800014438600000 3ba000003be00000 2fbf00004bffffb0 3c62ffff419e0084 -4bfffb6138637e88 +4bfffb6138637d98 38a000403c9df000 3861007078840020 -600000004800099d +6000000048000aa9 3d400002e9210070 794a83e4614a464c 614a457f79290600 419e00807fa95000 -38637ea03c62ffff +38637db03c62ffff 886100774bfffb1d 8921007589410076 88e1007389010074 88a1007188c10072 f861006088810070 -38637f203c62ffff +38637e303c62ffff 3c62ffff4bfffaed -4bfffae138637f50 +4bfffae138637e60 38a0ffff3c80ff00 54a5042260844000 3c60400078840020 -6000000048000915 -38637f703c62ffff +6000000048000a21 +38637e803c62ffff 4bfffb354bfffab5 892100754bffff28 409e00102f890001 2f890015a1210082 3c62ffff419e0010 -4bffff6c38637ec0 +4bffff6c38637dd0 3f02ffffebe10090 3b2100b03bc00000 -7fffea143b187ed8 +7fffea143b187de8 a12100a87bff0020 419d00347f89f040 3c62ffff80810088 -4bfffa5138637f00 +4bfffa5138637e10 e86100884bfffad1 419eff582fa3ffff 8181000838210130 -480011547d838120 +480012607d838120 38a000383c9ff000 7f23cb7878840020 -600000004800086d +6000000048000979 2f890001812100b0 eb4100d0409e004c eb8100b8eb6100c0 @@ -716,14 +716,14 @@ eb8100b8eb6100c0 4bfff9e93f9cf000 7b4500207c9de214 7f63db7878840020 -6000000048000825 +6000000048000931 7fe9fa14a12100a6 3bde00017bff0020 4bffff507bde0020 409efdcc2b9c0020 409efdc42b9e00ba 409efdbc2b9f0018 -38637df03c62ffff +38637d003c62ffff 4bfffd784bfff995 0300000000000000 3d20c80000000880 @@ -734,33 +734,33 @@ eb8100b8eb6100c0 7d20572a7c0004ac 000000004e800020 0000000000000000 -384294003c4c0001 +384296003c4c0001 3d40c8007c0802a6 3920000e614a0800 f8010010794a0020 7c0004acf821ffa1 -600000007d20572a -4bfff91138628080 +3c62ffff7d20572a +4bfff91138637f90 3821006060000000 7c0803a6e8010010 000000004e800020 0000008001000000 -384293a83c4c0001 +384295a83c4c0001 3d40c8007c0802a6 39200001614a0800 f8010010794a0020 7c0004acf821ffa1 -600000007d20572a -4bfff8b938628040 +3c62ffff7d20572a +4bfff8b938637f50 3821006060000000 7c0803a6e8010010 000000004e800020 0000008001000000 -384293503c4c0001 +384295503c4c0001 390000807c0802a6 3d40aaaa7d0903a6 614aaaaa3d204000 -f821ff8148000f5d +f821ff8148001069 3929000491490000 4bfff8d54200fff8 3940008060000000 @@ -783,7 +783,7 @@ f821ff8148000f5d 4200ffe839290004 419e001c2fbf0000 38a001003c62ffff -38637f887fe4fb78 +38637e987fe4fb78 600000004bfff7b5 3ce0802039000100 60e700037d0903a6 @@ -806,7 +806,7 @@ f821ff8148000f5d 2fbd00004200ffd4 3c62ffff419e001c 7fa4eb7838a00100 -4bfff70138637fb0 +4bfff70138637ec0 3920002060000000 7d2903a639400000 794800203d2a1000 @@ -823,11 +823,11 @@ f821ff8148000f5d 2fbe00004200ffdc 3c62ffff419e001c 7fc4f37838a00020 -4bfff67938637fd8 +4bfff67938637ee8 7fffea1460000000 7ffff21438600000 409e00ac2f9f0000 -3862800060000000 +38637f103c62ffff 600000004bfff655 394000807c9602a6 7d4903a678840020 @@ -844,16 +844,16 @@ e90a00003d404000 4200fff8394a0008 7d2548507cb602a6 60a580003ca0000c -7ca54b9660000000 -386280107fe4fb78 +7ca54b963c62ffff +38637f207fe4fb78 4bfff5c178a50320 3860000160000000 -48000ce838210080 +48000df438210080 0100000000000000 3c4c000100000380 -7c0802a63842905c -3862806860000000 -f821ff7148000c69 +7c0802a63842925c +38637f783c62ffff +f821ff7148000d75 3be000003f60c800 7b7b0020637b1000 600000004bfff575 @@ -895,378 +895,412 @@ f821ff7148000c69 4082001c2c230000 7f80df2a7c0004ac 7f80d72a7c0004ac -48000b6438210090 +48000c7038210090 7f80df2a7c0004ac 4bffffec38600001 0100000000000000 3c4c000100000680 -3d20c00038428ed4 -6129200060000000 -f92280f879290020 -612900203d20c000 -7c0004ac79290020 -3d40001c7d204eea -614a200079290600 -e94280f87d295392 -3929ffff394a0018 +60000000384290d4 +6000000039228010 +8929000039428008 +419e002c2f890000 +39290014e92a0000 +7d204eaa7c0004ac +4182ffec71290020 +7c0004ace92a0000 +4e8000207c604faa +39290010e92a0000 +7d204eea7c0004ac +4082ffec71290008 +e94a00005469063e 7d2057ea7c0004ac 000000004e800020 0000000000000000 -38428e703c4c0001 -e92280f860000000 +384290503c4c0001 +fbc1fff07c0802a6 +3bc3fffffbe1fff8 +f821ffd1f8010010 +2fbf00008ffe0001 +38210030409e0010 +48000bbc38600000 +409e000c2b9f000a +4bffff413860000d +4bffff397fe3fb78 +000000004bffffd0 +0000028001000000 +38428ff03c4c0001 +612900203d20c000 +7c0004ac79290020 +3d00c0007d204eea +6108000879290600 +7c0004ac79080020 +710800207d0046ea +4182001839400000 +614a00403d40c000 +7c0004ac794a0020 +3d00c0007d4056ea +6000000060000000 +6108200038e28010 +f902800879080020 +610820003d00001c +7948f8047d294392 +4182008079080fc3 +3d00c00039400001 +994700006108200c +3940ff8079080020 +7d4047aa7c0004ac +7c0004ace9428008 +e94280087d2057aa +394a00047929c202 +7d2057aa7c0004ac +39400003e9228008 +7c0004ac3929000c +e92280087d404faa 7c0004ac39290010 -712900087d204eea -5469063e4082ffe8 -7c0004ace94280f8 -4e8000207d2057ea +e92280087d404faa +3929000839400007 +7d404faa7c0004ac +3d40c0004e800020 +3929ffff99070000 +794a0020614a2018 +7d2057ea7c0004ac +000000004e800020 0000000000000000 -3c4c000100000000 -7c0802a638428e2c -fbe1fff8fbc1fff0 -f80100103bc3ffff -8ffe0001f821ffd1 -409e00102fbf0000 -3860000038210030 -2b9f000a48000a8c -3860000d409e000c -7fe3fb784bffff81 -4bffffd04bffff79 -0100000000000000 -2c24000000000280 -3881fff040820008 -f86400002b850024 -4d9d002038600000 -78c683e43cc00001 -e924000060c62600 -2b8a002089490000 -7cc75436419d002c -4082001470e80001 -409e00542fa50000 -4800005c38a0000a -f924000039290001 -2fa500004bffffcc -2b8a0030409e0038 -409e003c38a0000a -2f8a007889490001 -89490001409e0030 -2f8a007838a00010 -39290002409e0020 -48000014f9240000 -409e000c2f850010 -419effd82b8a0030 -4800003038600000 -54ca063e38c9ffd0 -419d00342b8a0009 -7f8928007cc90734 -38e700014c9c0020 -f8e400007c6519d2 -e8e400007c691a14 -2fa9000089270000 -4e800020409effc8 -554a063e3949ff9f -419d00102b8a0019 -7d2907343929ffa9 -3949ffbf4bffffbc +408200082c240000 +2b8500243881fff0 +38600000f8640000 +3cc000014d9d0020 +60c6260078c683e4 +89490000e9240000 +419d002c2b8a0020 +70e800017cc75436 +2fa5000040820014 +38a0000a409e0054 +392900014800005c +4bffffccf9240000 +409e00382fa50000 +38a0000a2b8a0030 +89490001409e003c +409e00302f8a0078 +38a0001089490001 +409e00202f8a0078 +f924000039290002 +2f85001048000014 +2b8a0030409e000c +38600000419effd8 +38c9ffd048000030 +2b8a000954ca063e +7cc90734419d0034 +4c9c00207f892800 +7c6519d238e70001 +7c691a14f8e40000 +89270000e8e40000 +409effc82fa90000 +3949ff9f4e800020 2b8a0019554a063e -3929ffc94d9d0020 -000000004bffffe4 -0000000000000000 -7d4348ae39200000 -409e000c2f8a0000 -4e8000207d234b78 -4bffffe839290001 -0000000000000000 -78aae8c200000000 -392a000139000000 -420000307d2903a6 -792a1f2478a9e8c2 -7d0352141d29fff8 -7ca92a147c845214 -3945000139200000 -420000187d4903a6 -7d24402a4e800020 -390800087d23412a -7d4448ae4bffffc4 -392900017d4849ae -000000004bffffdc -0000000000000000 -2b8900193923ff9f -3863ffe04d9d0020 -4e8000207c6307b4 +3929ffa9419d0010 +4bffffbc7d290734 +554a063e3949ffbf +4d9d00202b8a0019 +4bffffe43929ffc9 +0000000000000000 +3920000000000000 +2f8a00007d4348ae +7d234b78409e000c +392900014e800020 +000000004bffffe8 +0000000000000000 +3900000078aae8c2 +7d2903a6392a0001 +78a9e8c242000030 +1d29fff8792a1f24 +7c8452147d035214 +392000007ca92a14 +7d4903a639450001 +4e80002042000018 +7d23412a7d24402a +4bffffc439080008 +7d4849ae7d4448ae +4bffffdc39290001 +0000000000000000 +3923ff9f00000000 +4d9d00202b890019 +7c6307b43863ffe0 +000000004e800020 0000000000000000 -3c4c000100000000 -7c0802a638428bdc -7d9080263d203736 -792907c661293534 -9181000865293332 -480007d961293130 -7c7d1b78f821ffa1 -3be000007cde3378 -3d206665f9210020 -792907c661296463 -6129393865296261 -7ca92b78f9210028 -409e00802fa90000 -409e00082fbf0000 -7fbf20403be00001 -419d005838600000 -3b9fffff2e270000 -7d3bf1d27f65f392 -7ca12a147ca92850 -4192001088650020 -600000004bffff41 -2fbb00005463063e -7f65db78e93d0000 -3b9cffff7c69e1ae -e93d0000409effc8 -7fe9fa1438600001 -38210060fbfd0000 -7d90812081810008 -2b9e001048000774 -7929e102409e0014 -7fff07b43bff0001 -7d29f3924bffff68 -000000004bfffff0 -0000058003000000 -38428ad03c4c0001 -480006e97c0802a6 -eb630000f821ffb1 -7c9c23787c7f1b78 -3bc000007cbd2b78 -4bfffe0d7fa3eb78 -7fa3f04060000000 -e95f0000409d0014 -7fa9e0407d3b5050 -38210050419c0010 -480006f038600001 -3bde00017d3df0ae -e93f0000992a0000 -f93f000039290001 -000000004bffffb8 -0000058001000000 -38428a503c4c0001 -480006617c0802a6 -7c7d1b78f821ffa1 -7ca32b787c9b2378 -38a0000a38800000 -eb5d00007cde3378 -7d1943787cfc3b78 -4bfffc497d3f4b78 -3940000060000000 -2fbe00007c6307b4 -2faa0000409e006c -39400001409e0008 -7f8348007d3f5214 -409d00447d2a07b4 -2f8300007c6a1850 -3929000178690020 -3d408000419c0010 -409e00087f835000 -2c29000139200001 -418200143929ffff -7d5a3850e8fd0000 -419c00307faad840 -3860000038210060 -2b9c001048000604 -7bdee102409e0014 -7d4a07b4394a0001 -7fdee3924bffff7c -9b2700004bfffff0 -394a0001e95d0000 -4bffffa8f95d0000 +38428cd03c4c0001 +3d2037367c0802a6 +612935347d908026 +65293332792907c6 +6129313091810008 +f821ffa1480007d9 +7cde33787c7d1b78 +f92100203be00000 +612964633d206665 +65296261792907c6 +f921002861293938 +2fa900007ca92b78 +2fbf0000409e0080 +3be00001409e0008 +386000007fbf2040 +2e270000419d0058 +7f65f3923b9fffff +7ca928507d3bf1d2 +886500207ca12a14 +4bffff4141920010 +5463063e60000000 +e93d00002fbb0000 +7c69e1ae7f65db78 +409effc83b9cffff +38600001e93d0000 +fbfd00007fe9fa14 +8181000838210060 +480007747d908120 +409e00142b9e0010 +3bff00017929e102 +4bffff687fff07b4 +4bfffff07d29f392 +0300000000000000 +3c4c000100000580 +7c0802a638428bc4 +f821ffb1480006e9 +7c7f1b78eb630000 +7cbd2b787c9c2378 +7fa3eb783bc00000 +600000004bfffe0d +409d00147fa3f040 +7d3b5050e95f0000 +419c00107fa9e040 +3860000138210050 +7d3df0ae480006f0 +992a00003bde0001 +39290001e93f0000 +4bffffb8f93f0000 0100000000000000 -3c4c000100000780 -7c0802a638428954 -f821fed148000539 -f86100607c741b79 -4182006838600000 -419e00602fa40000 -6000000039210040 -3b4100203ac4ffff -60000000f9210070 -392280f03ae00000 -3ba100603a4280a8 -89250000f9210078 -2fa90000ebc10060 -7ff4f050419e0010 -419c00207fbfb040 -993e000039200000 -7e941850e8610060 -382101307e8307b4 -2b89002548000508 -409e048839450001 -8925000038e00000 -f8a10068e9010070 -7d2741ae7cea07b4 -8d25000139070001 -2b8900647d0807b4 -2b890069419e0058 -2b890075419e0050 -2b890078419e0048 -2b890058419e0040 -2b890070419e0038 -2b890063419e0030 -2b890073419e0028 -2b890025419e0020 -2b89004f419e0018 -2b89006f419e0010 -409eff8838e70001 -2b890025394a0002 -7d1a42147d4a07b4 -992800207d5a5214 -409e00209aea0020 -f9210060393e0001 -993e000039200025 -38a90002e9210068 -892100414bffff04 -3a2600087fffb050 -3a600030eb660000 -3929ffd23b010042 -4082039c712900fd -3b2000043aa00000 -3a0000013b800000 -7ddb00d039e0002d -2b89006c48000108 -88f8000138d80001 -419d0118419e033c -419e02402b890063 -2b89004f419d0038 -2b890058419e01e8 -3949ffd0419e0188 -2b8a0009554a063e -395c0001419d00c4 -993c00207f81e214 -480000b0795c0020 -419e03042b890068 -419e000c2b890069 -409effc82b890064 -7d41e2142b890075 -7f6adb789aea0020 -57291838419e0034 -7e0948363929ffff -418200207f694839 -e921006099e80000 -f921006039290001 -7d52482a7b291f24 -e88100607dca5038 -38e0000a7d465378 -7f45d378f9410080 -7e689b7839200000 -7c9e20507fa3eb78 -4bfffc9d7c84f850 -e9410080e8810060 -38c0000a7ea7ab78 -7d4553787c9e2050 -7fa3eb787c84f850 -3b1800014bfffaed -e901006089380000 +3c4c000100000580 +7c0802a638428b44 +f821ffa148000661 +7c9b23787c7d1b78 +388000007ca32b78 +7cde337838a0000a +7cfc3b78eb5d0000 +7d3f4b787d194378 +600000004bfffc49 +7c6307b439400000 +409e006c2fbe0000 +409e00082faa0000 +7d3f521439400001 +7d2a07b47f834800 +7c6a1850409d0044 +786900202f830000 +419c001039290001 +7f8350003d408000 +39200001409e0008 +3929ffff2c290001 +e8fd000041820014 +7faad8407d5a3850 +38210060419c0030 +4800060438600000 +409e00142b9c0010 +394a00017bdee102 +4bffff7c7d4a07b4 +4bfffff07fdee392 +e95d00009b270000 +f95d0000394a0001 +000000004bffffa8 +0000078001000000 +38428a483c4c0001 +480005397c0802a6 +7c741b79f821fed1 +38600000f8610060 +2fa4000041820068 +39210040419e0060 +3ac4ffff3e42ffff +f92100703b410020 +3ae0000060000000 +3a527fb839228000 +f92100783ba10060 +ebc1006089250000 419e00102fa90000 -7fbf50407d5e4050 -7e268b78419dfee4 -2b8900734bfffe90 -419d006c419e016c -419e00d42b89006f -409efef02b890070 -38e000107d21e214 -7c8af8507f66db78 -390000209ae90020 -7f45d37839200002 -4bfffc0d7fa3eb78 -e8a10078e8810060 -7c9e20507fa3eb78 -4bfffb757c84f850 -7ea7ab78e8810060 -7f65db7838c00010 -4bffff5c7c9e2050 -419e00182b890078 -419e01cc2b89007a -4bfffeb82b890075 -7d21e2143aa00001 -7c8af85038e00010 -9ae900207e689b78 -7f45d3787b291f24 -7d72482a7fa3eb78 -7f6b583839200000 -f96100807d665b78 -e88100604bfffb89 +7fbfb0407ff4f050 +39200000419c0020 +e8610060993e0000 +7e8307b47e941850 +4800050838210130 +394500012b890025 +38e00000409e0488 +e901007089250000 +7cea07b4f8a10068 +390700017d2741ae +7d0807b48d250001 +419e00582b890064 +419e00502b890069 +419e00482b890075 +419e00402b890078 +419e00382b890058 +419e00302b890070 +419e00282b890063 +419e00202b890073 +419e00182b890025 +419e00102b89004f +38e700012b89006f +394a0002409eff88 +7d4a07b42b890025 +7d5a52147d1a4214 +9aea002099280020 +393e0001409e0020 +39200025f9210060 +e9210068993e0000 +4bffff0438a90002 +7fffb05089210041 +eb6600003a260008 +3b0100423a600030 +712900fd3929ffd2 +3aa000004082039c +3b8000003b200004 +39e0002d3a000001 +480001087ddb00d0 +38d800012b89006c +419e033c88f80001 +2b890063419d0118 +419d0038419e0240 +419e01e82b89004f +419e01882b890058 +554a063e3949ffd0 +419d00c42b8a0009 +7f81e214395c0001 +795c0020993c0020 +2b890068480000b0 +2b890069419e0304 +2b890064419e000c +2b890075409effc8 +9aea00207d41e214 +419e00347f6adb78 +3929ffff57291838 +7f6948397e094836 +99e8000041820020 +39290001e9210060 +7b291f24f9210060 +7dca50387d52482a +7d465378e8810060 +f941008038e0000a +392000007f45d378 +7fa3eb787e689b78 +7c84f8507c9e2050 +e88100604bfffc9d +7ea7ab78e9410080 +7c9e205038c0000a +7c84f8507d455378 +4bfffaed7fa3eb78 +893800003b180001 +2fa90000e9010060 +7d5e4050419e0010 +419dfee47fbf5040 +4bfffe907e268b78 +419e016c2b890073 +2b89006f419d006c +2b890070419e00d4 +7d21e214409efef0 +7f66db7838e00010 +9ae900207c8af850 +3920000239000020 +7fa3eb787f45d378 +e88100604bfffc0d +7fa3eb78e8a10078 +7c84f8507c9e2050 +e88100604bfffb75 38c000107ea7ab78 -e96100807c9e2050 -4bfffeec7d655b78 -38e000087d21e214 +7c9e20507f65db78 +2b8900784bffff5c +2b89007a419e0018 +2b890075419e01cc +3aa000014bfffeb8 +38e000107d21e214 7e689b787c8af850 7b291f249ae90020 7fa3eb787f45d378 392000007d72482a 7d665b787f6b5838 -4bfffb35f9610080 +4bfffb89f9610080 7ea7ab78e8810060 -7c9e205038c00008 -7d21e2144bffffac -38e0000a39000020 -9ae9002038c00001 -392000007f45d378 -7fa3eb787c8af850 -e92100604bfffaf9 -e92100609b690000 -f921006039290001 -7d21e2144bfffe6c -f901009038a0000a -38800000f9410088 -9ae900207f43d378 -600000004bfff73d -7f63db78f8610080 -600000004bfff861 -7fa91840e9210080 -7c634850409d0040 -e9010090e9410088 -392300012fa30000 -409e00087d4af850 -2c29000139200001 -3929ffffe8c10060 -7ce8305041820010 -419d00207faa3840 -7f65db78e8810060 -7c9e20507fa3eb78 -4bfff9cd7c84f850 -38e000204bfffdd4 -e8e1006098e60000 -f8e1006038e70001 -2b87006c4bffffb4 -409efdb03b200008 -4bfffda87cd83378 -3b2000022b870068 -7cd83378409efd9c -4bfffd903b200001 -4bfffd883b200008 -3b0100413a600020 -993e00004bfffc60 -e92100607d455378 -f921006039290001 -000000004bfffb24 -0000128001000000 -f9e1ff78f9c1ff70 -fa21ff88fa01ff80 -fa61ff98fa41ff90 -faa1ffa8fa81ffa0 -fae1ffb8fac1ffb0 -fb21ffc8fb01ffc0 -fb61ffd8fb41ffd0 -fba1ffe8fb81ffe0 -fbe1fff8fbc1fff0 -4e800020f8010010 -e9e1ff78e9c1ff70 -ea21ff88ea01ff80 -ea61ff98ea41ff90 -eaa1ffa8ea81ffa0 -eae1ffb8eac1ffb0 -eb21ffc8eb01ffc0 -eb61ffd8eb41ffd0 -e8010010eb81ffe0 -7c0803a6eba1ffe8 -ebe1fff8ebc1fff0 -ebc1fff04e800020 -ebe1fff8e8010010 -4e8000207c0803a6 +7c9e205038c00010 +7d655b78e9610080 +7d21e2144bfffeec +7c8af85038e00008 +9ae900207e689b78 +7f45d3787b291f24 +7d72482a7fa3eb78 +7f6b583839200000 +f96100807d665b78 +e88100604bfffb35 +38c000087ea7ab78 +4bffffac7c9e2050 +390000207d21e214 +38c0000138e0000a +7f45d3789ae90020 +7c8af85039200000 +4bfffaf97fa3eb78 +9b690000e9210060 +39290001e9210060 +4bfffe6cf9210060 +38a0000a7d21e214 +f9410088f9010090 +7f43d37838800000 +4bfff73d9ae90020 +f861008060000000 +4bfff8617f63db78 +e921008060000000 +409d00407fa91840 +e94100887c634850 +2fa30000e9010090 +7d4af85039230001 +39200001409e0008 +e8c100602c290001 +418200103929ffff +7faa38407ce83050 +e8810060419d0020 +7fa3eb787f65db78 +7c84f8507c9e2050 +4bfffdd44bfff9cd +98e6000038e00020 +38e70001e8e10060 +4bffffb4f8e10060 +3b2000082b87006c +7cd83378409efdb0 +2b8700684bfffda8 +409efd9c3b200002 +3b2000017cd83378 +3b2000084bfffd90 +3a6000204bfffd88 +4bfffc603b010041 +7d455378993e0000 +39290001e9210060 +4bfffb24f9210060 +0100000000000000 +f9c1ff7000001280 +fa01ff80f9e1ff78 +fa41ff90fa21ff88 +fa81ffa0fa61ff98 +fac1ffb0faa1ffa8 +fb01ffc0fae1ffb8 +fb41ffd0fb21ffc8 +fb81ffe0fb61ffd8 +fbc1fff0fba1ffe8 +f8010010fbe1fff8 +e9c1ff704e800020 +ea01ff80e9e1ff78 +ea41ff90ea21ff88 +ea81ffa0ea61ff98 +eac1ffb0eaa1ffa8 +eb01ffc0eae1ffb8 +eb41ffd0eb21ffc8 +eb81ffe0eb61ffd8 +eba1ffe8e8010010 +ebc1fff07c0803a6 +4e800020ebe1fff8 +e8010010ebc1fff0 +7c0803a6ebe1fff8 +000000004e800020 6d6f636c65570a0a 63694d206f742065 2120747461776f72 @@ -1315,7 +1349,7 @@ ebe1fff8e8010010 203a46464f204853 7479622078257830 00000000000a7365 -3236343266663032 +6633623461653832 0000000000000000 0039326232623162 4d4152446574694c diff --git a/tests/test_decrementer.bin b/tests/test_decrementer.bin index 8c3be5446294069dac6969e3cb88e4fcb20645dd..c793b1b814113b365785ec3417795eaf14b18778 100755 GIT binary patch literal 5352 zcmeHLPe>eR6#vcc;try84><%3$*j#~QxiSpu$!pNDj4I63B)GXF{6j}q%;KAe%l?r z8HAQn3LcskYW5J?LZQb%Y*PZg83-Y{ndG7-&>Srir@!~jtgfQAA|i=9px=D&{oZ@O z_h$ZSTnBL?=>T3EFg5TnK9%P>^i5)FpcI`fBx7D5B9Mo6PP!Dm zskqYKrM*jgcTn-Y6dhCeYNI^riTrbA(C#GAo1l-n(2oVLPvo+~*xK*o|LIq_ZRvM2 zANm_K9O19?2yEaq38&3iau@8joOMa6zuv(LaE=f3sm4Fh^2^_`L;Y0qKh*6%-1A@R z9Nut#@p*pneL1JxRHew6GU4)UFs4c!!%EI9`!Fg8{rNlS`1?@OUAe60zpHY+ci?LO zcW&u_)n~u;JG0xncE9=W)&Jfz+`+>e|Myo37z@k(^H-&)se{Mw~z~PYVinCnV(`%cl)e@fz-%r ze}eK)7qslSquOiSetnNZY$C)itz&J$%DG1HOT^Eu^U!q4_1}(1(-u6eH6EuHHIGY< zo+aU1$-xY8c6-ey{Xmb#E?u(<0bd<{1Bc2P^!*3t%d=o$^-JJ>a{{+*nIXBuIs4Yn z)#Ce)>L{z{o=wh4kEH(mt6A`)xeql5)-$uPT|H*4Hs(3NpS-Re zYl>O4p(d3#VNz}e@-EPqIRe<3qnu03+HE#^sP75%SM9(~`mB5XA`L6BH@(O|$3UOl zf8CiX#Fo4B4?ZyS9{sQ{8Hra%9dKb<;(5Lu%)$k`z*z}u&w9#xa33dzeG2R-)4gF1Kz!QwQ<pHBx=C!moU-Ve=D0D5CMmWJtu@dd^tN$Ru%0TBlGK-G5igY- zym+(-!h#p^7l^gcyI=(`(prR?3N3hv#P&I}eW^)WS4#*%n}y_M=gl|YH}fXR+t&s# z0H6c`JlaCLCyiqgPI@!|BLt97EVSn{IF7w^=M$zpll8P2!{7kA5T~i8JjrlGypDJs z@p_WsXH%YH@Tl4@8)U!7B*dKt7;qTg0y$scYhg|wCx$URu9HYN*d|6 z^4P|Jc7Zh2`l5F7{jFxJB(1l9umae}O}$$DO)WqDjveT$mH&ZW{)65BX75DR{)OZI zg>%}cOfu6k#hjqy-e8KE(FsO-mIky+v%i1M=5Ihr_Z700|Gvug-#NF|-+oE|RG&uA z+pDX8w$b|QjbDF;HW4=X+?pGt)goVBGi4{+ehv=@;b~Mg9ZrVxC7dg9{^@c&#RKWi zX_hXn0+RFJLr(QawkA{TJ1-aw#4W0S$f0gWK zgq`!7K?w}?dP-Mg!sY{ys&PIjwADL~Kv4>5DvzbmoBvAyjj!&+6vhb%)mqo(q8n zN>}12fM0>G3>e<;#~|!4^vAN+`HfgG8p`WsVGQpVJU{Ul`eNDT_Wn$f-w!)6ufmCO zM!jHK3?*o CNQH3# diff --git a/tests/test_illegal.bin b/tests/test_illegal.bin index 980e2bd00d0cb314ce2e78e864b0b3be2942e357..727876cf46da68ffefca3b1659275b558a4f8dd1 100755 GIT binary patch literal 5224 zcmeHLO-vI}5dOAp=%%T$2M$djx~+I9{u+W%r~=-oR;(3g{tVX==;9lqNa-*tIm3vo2;lHhmNpuoV-a2HD14w|DY*YEXhc z%Ir)spZ01q@Q*S;^WW6f&fiq}+3&xWUM*dJE_z$bMVGal<*p_`5B5A=NXhO6O{Beu zdBsLDXPMJFy-6)+ozrp=@{cTQJ;2C+GBqvTf9heg>u>e^&HflQoBwwG&1In7|Hl0P zji2MTH%51K>v7{hYW$;D*dW5b@pjJzVYg`P?B%SYX8zx<^y7JizW0b4*-KCXLc{GOWb%F_3-`7pyL5WaE3SHZyI zr%Io*-Q>^g*T{CEocl|CUZIwku&B_zGLxbnA?aHL7X1ONhJoIECw%fN8??1iDI>r) z^VOIq{jFWDJEdv^9mz@a-J>_}D*F~{z6$ddi4*2uApiF@9Gr$q{fFT={|6jW6-RHL z;}}zUFB#r?45I0$40PO_1mfJca8=5fczOC?Fx1b0VQltQdx3+8z#G2{s|w?os0yzC zFcJ6&{ zVmK@FGsff6JGd5It#>+?f1N7-==4^K=mIXQi2RwDTm DKWA$6 delta 540 zcmaE%F++8N2IGc}n*aIh|NnnvUs3emxWl+#elwe@6 zRAA7oWN1+ODaGJm`O4k1R)L|x4=4`@j0_Go3=5nrfC33XbuR^gdS1DC);?r+ul(`9 z$$7Gb+Bdz1_jGk{#iAXIfT@7S}gwmKWr_cgoql4 zANzpOG|!Qdp{{2xFt|PdG1xnQCua%C+5*KjEkR-x-pUy64oNL8Q2;vH3hEO#M^7JK NE(V4G$KYTP4FIl{rIG*u diff --git a/tests/test_misc.bin b/tests/test_misc.bin index a32d52ca137639fc3457f722191f047fd846a309..f080480ecd9086a9638636dee8f5753ca4511f4f 100755 GIT binary patch literal 5288 zcmeHLJxo(k6#ibR^rgYr!GT1guc$-urycvGC9e>nwgj3$bbYmUz)2z|ZPMDO!9)y3 zV~mjnNi+<^II)8gnH+R+23??-$XL_J^_=@&p%T==^)+elz2|)QobP_;bhy_GBmpf3 z1kF`nut4KAoCunL6$hrXtG?+Xjrpg6>Fj*VR5|FihTs8zlJg$56o67&7s1*gxxQcW zVs22yWHh7YOB#Yv@^8$ys5G~R4#K||OA;@{WbB|lGL!q`D&Q*MD&Q*MD&Q*MD&Q*M zD&Q*MD&Q*MD&Q*cUkYrCw_AKiuZi`o#ywqu5yM<>l<({0uamD{ICi@v#MPJ|Yu$4b zIlkA|KGD7Zw1?jhV1BOeR3fNE7k#e03h{eP{2ClQgw+XquL&F5hs`!| zDb&AKws%CDV}W8lr&tNczesV|&bD)o?L#wnWsf^+0;^N!QMGz$3{3%3;Rxjhx;Bp@ zq`&r}v@oQV6@K0roBbSA8)x*ij*S8-iLGAI$~Iq_{x=TIeI&$6ccY#Pb{+vs;Q(e0 z?gNr4dgG@^`|;vT8`%!inu?m{ns5!9&M5nY-mUaE$-Xl1Ak6qe`lRGQdg>d0(qmbR z(>b&BElTZ3Q!FEn)=*J}N_N$@_k&`ozX zwLCvMKrw0kq%TzV){@1QBWls2IMmxZ=W8P$FfhaUEMeHaFkqCaS8VM`Po8_;g^FIJ zY`?U1ZnjX2wnqO9^PbM#9$9eKKEhC)?0saDwV^Wrz8N7xdb`$imcP`_J{$M(tMiQ> zW*g_^UOt6q2@ju%{(~y571GGNKQH;$s2-}s=1kIF@~ZCk7e#bF{fSG1ewt?zBO^SH K=5J1DH2wngVuZi| literal 5208 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 Qz*m7lfy>&(dP?T=e{6|~O8@`> literal 20504 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 N#R=udE=@-j`Cm3I7bO4y diff --git a/tests/test_privileged.bin b/tests/test_privileged.bin index 340b7c0f0cf67ab4f669c57e4086487cc4020118..e030f08fbc94835d8e2935f37769d61a94a408ef 100755 GIT binary patch delta 1344 zcmZuwU1$_n6h1RqvlF{*1{yKq#@?OH#*C)UO2N)FZk%MLF1x4+#GgV-*9=lu3MJIS zZZpda>O)hI*4$DQG!_g2#R^3QU&JMO>7#|xCm*cchuzqRJhZSOKey-J*`(6Cu*|*R z`TNdy&b{JGSA6N)UdjAPUnN^_8WEVblMpji#&REQf(!uUt8{N-J3SfG`fs59ny^1y zW4V1R^WH$%8Eu0LMij2wC%`f9haGo?vHp4}i2WJ!BoVLC2Qg#tOu;c#kQ%?RSfdLq zzb&tMN$^C}rDnut@S?+uj?1HXwlA9adyqE^G@-?|%@_ox4?lr;`2gtSHk`K)z|8JG zxK2OT_7QT+Q;># z#g6BWTYPcR?d|g2VU)0sF2&QSwx=v7vV|`g9WXs8fs^NLagi67S#DPDFNc7AB4c~W z3UeUy*sC(mAa6bu!hhGTdV5z{uDJY%cN#@2ZTDP)O*1yO-$p^jxIn5k*zYf9TNL-; z3d>1AEMArSWY8z-YnR_fJOsYU^AzyRZNq5Wg6CQJOIJnPNE1Ja_^Mzx!SUBjt7*s= z=$=H6JR;NMi79CZttYxYtkdahq8{;w@T*S(Od3h-7GPJs19a<72;AF82u?vC|C60Z z{A^8NJM!*8t20W#Kf-<0rtiYPzNp06nu5!~{TI;x32K17ZT#r|p2(S35$Jmb0kT10 zS6vV|nnyAJUt9_N?19$8C_q;DE}S4`TIuPe>dwfgjLrA2ud)Pd-vB%|)aK*ivx6m; z+YC2$^9S`h-UpF2SKh+!OC3nQ%o`!r-Ao#H^=t6}i@A82lR~wu8v4^@&layjQb_(3 z{!2m$R0t}Nf>ynxfP%OZ;O_&*D&u_bI{}rh*eM&bXwL@r<8}~-BtcB>xd|kQC%(KC z140Ee#ffIZQg1CwTLJCQP-;c^I(d{?Fj&C-n2L1JuXgrsI(Pc>bL8IT Q_RrLNKeQ)Wsbp{c2eU)9I{*Lx delta 1652 zcmah}Urbw79R8hB{tmm65JACk`v>iXCMz*6x5D6-76z+er%d-Iqnf!T#w_x18MoX! zg2_yLU|vl~WU>b#doYX3B*6!hI`^P&Gf`tAI+=X{786WnQiSdJokI~u7I%`*Y(-Nq2j{E$r4Y1qNzHpx> z4{m;EwU;&>Q%cp5a;gYN=#*AT=k!-ejkcErjjL&X4QlgFqu=*LFs#sc-%W~VI_St5 z9Tj&_Fr?8r=QaPq=2Xx$0`Hk+D8zWVH^XQ}BhsUDMJwjdT<^ScvCsre=uLa02;+D&(~_vWJ%E zop%G#XZOAk3EYKk3bw~^ zpL3lxy|DEb@Jqn|mNkq@yrqC&20jV-5L+y#HBeO{rn&^hz9gr=@dNgxv(y;0vdSUY z2T4&+)DlG%Qb!cqzy2J?v3j^SqmbP%BNToZ>1~wl#JFfsu{&2d>Q~^mdbsJ4TzUxC z+7A9;;Gt!&DBzU<-hp~1&&TyLIIs4nP4V0wRg_m0)ZLUREBK1Ut1q55AL8fid#37C zwf`H-sIws8*0a~wI?U}qnR{J`Xq{)oTR(!JxgAlN?IJSjPMc!zS8AK^^vdP4#{<#U zc6hSI;WyqHR-8j>vxVy9VrO3>w-IA?m5c-i`Dr50xgxD3u`uqF!0LBlI_^_@cmu#b z-GjXe?DIXoDAl5cU0@KTN$e~z@gbo^d5mUQ+!LvajU_5P6uVUt+eZ|FX#x9p@C?E0 z0`C*o4C~s({7q6x#LQub*EvVR9d5VaT4N~@6{bMv1URXGIM3oPi-~<)Jng<%Bx*wGou1U|GR?1xzaZ0ATmwFf7MyJ1)GI^I zu;fmcqVj2wv<=Qhw-2b%16~~2A%_^p4e-7N?}p%Yc@!i?#)M4ve&)B!g-AURtO?!Z@!p%6H}lOm)0gmEKnzfN z0l&WK_NQpRi}QXRFeAXy)TVnWP4o0K-_lghxtQ_0%uzVNUrd4?rsa(`TDQ`WX?SUX zp&G1&lPhDE}~iv;XUp{WpG2T3;XC@wF$7|G55-pJ5#jd)E71 zAEce4wY{5j%7*=ayVi@B{o$NLHb}ouy8Tr9L&LJ}^m?$>qt7M7bf);p@)x%yaewNc z_YblmWW#Ijq%mBQd64ZG-%A=Hx?5O&tt7ur?*bP~>k#~5a-1kZluUY1kWh`!vCFX} zhaHRG6{hLTqaWg&o^H?5owX2Ud=lXsCwyfL>_4^tHQPb0#td4Xe07qw)(wHRdEPU~yAHwnarZQ+)Z zIs8sj#!%Y>mbKASsRa(60Pli6tZ2+Jzxk~FvJxJ=xa1|-8QN1p63o3yb4`w-#`NZ- zzKsoJfX6|$PbDr048*6pa}*!zN`&&9qLCKd5vN#31TBHI44LGzEguB=l4k);ZKJ-x zx)#w8Cw<)3-_-1LTxU`1FJUP5dD(RQ>;U^Mq!&~m3F+S5-sn2R@?vbCnk8FoPIE;(EJ-_tY1a| delta 540 zcmaE%F++8N2IGc}n*aIh|NnnvUs3emxWl+#elwe@6 zRAA7oWN1+ODaGJm`O4k1R)L|x4=4`@j0_Go3=5nrfC33XbuR^gdS1DC);?r+ul(`9 z$$7Gb+Bdz1_jGk{#iAXIfT@7S}gwmKWr_cgoql4 zANzpOG|!Qdp{{2xFt|PdG1xnQCua%C+5*KjEkR-x-pUy64oNL8Q2;vH3hEO#M^7JK NE(V4G$KYTP4FIl{rIG*u diff --git a/tests/test_xics.bin b/tests/test_xics.bin index 8ad9b3a58ee372b9966f84e7b065a6e9f1a539af..80d15083433eaebd347203b7d8cf815c9bccaa1d 100755 GIT binary patch delta 1813 zcmZuxZ)jUp6hAlr`dU(Lo2E&csIOW5@H)4a$u!S2-CN7rl5DF&XKi)(TpVnQfr5jC zCge>J>_Ay}nOJbMQVZ*t&`})iw{(6{^n8e900UXN z+!iHI&|lkz$a$)Go+aPVlb(qtf^`Jz_BGL4p68~P{xuT-he`m;y|2L4!=`zve~X&`v&GS#rFkPZN6;r8GFe^2fX2? z>WVWGJ>}g`uF*N~tNAPc)L&RYa4`N^C)fM~?VFg-uyX=qnrWtC@tNjN!Ur2b^^DGo zIiR4$oFJ=iEly{AkJ0H4&oDcr4@C{*-*s@!GTKiI&62>XnkQ>Ck2%GhI$k9svgx9~ zcXZgg%k+Z3lghp`lMnu`KkPe#mImD|5exNKHr{xK z4N>OQp9_pNu4BH}BE_hkv@tL;xssZR>Zz&dT1t%$*gl=8zCcIes+RsanZF`fShLN- zzJT^Yp;9JXIelj+KP}?v@Al+R)8)VzanN$$`L^}H%)|!1*8q2;01MGc8y)OC(D?~A zaaokhaBoK4;f?PC{iw4izkuPFM3{gXy=a;VHp?}{Re=`~)1WJo{%tYejVkz>vkx)s z?B;3xuri3(0ra#HR@u`q2JxxP0?hXI;a>zmPpKUg^@ano*N@9N0?PD#^F74hiWMv1 zlX`Z*l^mDBIL?w=MDq6k$r>gXB}hhC{x;_SfKAaCgZ|g+sXkLjReq$}Q>uuL>DhXM z63^2HTxZ7t;Yr)2RL5`uo8~Dvs zI>gSQ05NbW83`oBC5{h64((|GP4xq=0AExM;uw$f_{$ov!!<%>rN2Z#=JkeQD~A9% z(Z4jLFZ@d_3$ z*^$FtJ*P2N6Ml3Q*M;AJIk+KShgfBU1+6s(&@gYBit3m7G_)@yzsW}k<8An2fAvN% zj4`vD(G4FTwz1A(u~$N$;3^!o>=?g``<5!XNgY>QQQsElxB7kPM(d@%QTbgDQsZaM M%b)!|{;dA~2d?2Hng9R* delta 1395 zcmaKrT}V@57{{M8bxv{MzS^dkK#A#mI4V(GRmf9|HHmdgtXW#a%42$7i9#aYRgwvqcp?7BK` zk@V}j6tP_LT6dy*_P6K-XxIdpId&N)&xm60>B?ZAqfG_PwEPqV9Q(PFUPhh3d>Y$i zF`BfgDmi|Ml~dFR(<`W(7(SSRe=1v3{5V*@s47wqg_zY!=<4SVNP_2mXl4_%mY#R!qv%mf^ zEe1?YD@THVN23Jhr>4bX)bJ~vmaKu)wAdOH00x!|agRF(cxQp9rH6->@QZ9v4nObW zBQ`RAKzEKF(gI7R7Gb7$P`jCJe}?Tt*_zsp=FokbXR@V^0o`h#)Pcv2SHn&#IcmJ) z*X;d$&oNd-&3l+Oash`G^J%P&#ps>^%|>KvYCcHvOvV1kyAnO~1#!#hTUkA$#fX?{*FYo%BU-NPJY>%_I!cZ z&FB4c>*A-H~)McFMd#F2^ON7Nj%Z<_bw0>J2 zogqu+cJ2r%Ejp=P|0#MC_&Ectxd5hI2_V;tYKsc7iB(R*^RO}G-h_ipvfi< zOQm`7hv?0RCshS_GHN`55!`!dZzCEeVN1i@m4nYTG2t#ZQPa#1=x_x1n=(juy-~WS G|Nj7V&9X@V