From ff99322e986f8400995b4371dc39ea59e1252d5c Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 9 Jan 2008 05:39:28 +0000 Subject: [PATCH] Add x86-64 disassembler support. --- backends/ChangeLog | 10 + backends/Makefile.am | 5 +- backends/x86_64_init.c | 5 +- libcpu/ChangeLog | 9 + libcpu/Makefile.am | 16 +- libcpu/defs/i386 | 147 ++++--- libcpu/defs/x86_64 | 341 --------------- libcpu/i386_data.h | 466 ++++++++++++++++++--- libcpu/i386_disasm.c | 118 +++++- libcpu/i386_parse.y | 5 +- tests/ChangeLog | 11 + tests/Makefile.am | 7 +- tests/run-disasm-x86-64.sh | 36 ++ tests/{run-disasm.sh => run-disasm-x86.sh} | 0 tests/testfile44.S.bz2 | Bin 16107 -> 16435 bytes tests/testfile44.expect.bz2 | Bin 53649 -> 54232 bytes tests/testfile45.S.bz2 | Bin 0 -> 22669 bytes tests/testfile45.expect.bz2 | Bin 0 -> 74090 bytes 18 files changed, 694 insertions(+), 482 deletions(-) delete mode 100644 libcpu/defs/x86_64 create mode 100755 tests/run-disasm-x86-64.sh rename tests/{run-disasm.sh => run-disasm-x86.sh} (100%) create mode 100644 tests/testfile45.S.bz2 create mode 100644 tests/testfile45.expect.bz2 diff --git a/backends/ChangeLog b/backends/ChangeLog index 3e35ef26..25155db3 100644 --- a/backends/ChangeLog +++ b/backends/ChangeLog @@ -1,3 +1,13 @@ +2008-01-08 Ulrich Drepper + + * Makefile.am: Add x86-64 disassembler. + * x86_64_init.c (x86_64_init): Hook up disassembler. + +2007-12-28 Ulrich Drepper + + * Makefile.am: Add x86 disassembler. + * i386_init.c (i386_init): Hook up disassembler. + 2007-12-15 Roland McGrath * ppc_regs.c (ppc_register_info): Return "spefscr", not "spr512". diff --git a/backends/Makefile.am b/backends/Makefile.am index ef21717c..79fccfdc 100644 --- a/backends/Makefile.am +++ b/backends/Makefile.am @@ -1,6 +1,6 @@ ## Process this file with automake to create Makefile.in ## -## Copyright (C) 2000-2006, 2007 Red Hat, Inc. +## Copyright (C) 2000-2006, 2007, 2008 Red Hat, Inc. ## This file is part of Red Hat elfutils. ## ## Red Hat elfutils is free software; you can redistribute it and/or modify @@ -72,8 +72,7 @@ am_libebl_sh_pic_a_OBJECTS = $(sh_SRCS:.c=.os) x86_64_SRCS = x86_64_init.c x86_64_symbol.c x86_64_corenote.c \ x86_64_retval.c x86_64_regs.c i386_auxv.c -# XXX Not yet -# cpu_x86_64 = ../libcpu/libcpu_x86_64.a +cpu_x86_64 = ../libcpu/libcpu_x86_64.a libebl_x86_64_pic_a_SOURCES = $(x86_64_SRCS) am_libebl_x86_64_pic_a_OBJECTS = $(x86_64_SRCS:.c=.os) diff --git a/backends/x86_64_init.c b/backends/x86_64_init.c index 8524b771..4e9eb55c 100644 --- a/backends/x86_64_init.c +++ b/backends/x86_64_init.c @@ -1,5 +1,5 @@ /* Initialization of x86-64 specific backend library. - Copyright (C) 2002, 2005, 2006, 2007 Red Hat, Inc. + Copyright (C) 2002, 2005, 2006, 2007, 2008 Red Hat, Inc. This file is part of Red Hat elfutils. Written by Ulrich Drepper , 2002. @@ -54,8 +54,7 @@ x86_64_init (elf, machine, eh, ehlen) HOOK (eh, return_value_location); HOOK (eh, register_info); HOOK (eh, auxv_info); - // XXX Not yet. - // HOOK (eh, disasm); + HOOK (eh, disasm); return MODVERSION; } diff --git a/libcpu/ChangeLog b/libcpu/ChangeLog index 9ce29d29..9bb8175d 100644 --- a/libcpu/ChangeLog +++ b/libcpu/ChangeLog @@ -1,3 +1,12 @@ +2008-01-08 Ulrich Drepper + + * Makefile.am: Enable x86-64 again. + * defs/i386: Lots of changes for x86-64. + * i386_data.h: Add support for use in x86-64 disassembler. + * i386_disasm.c: Likewise. + * i386_parse.y: Likewise. + * defs/x86_64: Removed. + 2008-01-04 Ulrich Drepper * defs/i386: Cleanups, remove masks which are not needed. diff --git a/libcpu/Makefile.am b/libcpu/Makefile.am index a11f0209..c2e5b747 100644 --- a/libcpu/Makefile.am +++ b/libcpu/Makefile.am @@ -1,6 +1,6 @@ ## Process this file with automake to create Makefile.in ## -## Copyright (C) 2002, 2004, 2005, 2007 Red Hat, Inc. +## Copyright (C) 2002, 2004, 2005, 2007, 2008 Red Hat, Inc. ## This file is part of Red Hat elfutils. ## ## Red Hat elfutils is free software; you can redistribute it and/or modify @@ -43,13 +43,11 @@ if MUDFLAP libmudflap = -lmudflap endif -# XXX x86-64 uncommented for now. -noinst_LIBRARIES = libcpu_i386.a# libcpu_x86_64.a +noinst_LIBRARIES = libcpu_i386.a libcpu_x86_64.a noinst_PROGRAMS = i386_gendis libcpu_i386_a_SOURCES = i386_disasm.c -# XXX Unused for now. -#libcpu_x86_64_a_SOURCES = x86_64_disasm.c +libcpu_x86_64_a_SOURCES = x86_64_disasm.c i386_gendis_SOURCES = i386_gendis.c i386_lex.l i386_parse.y @@ -58,11 +56,11 @@ x86_64_disasm.o: x86_64.mnemonics x86_64_dis.h i386_disasm.c i386_dis.h: i386_gendis $(srcdir)/defs/i386 m4 -Di386 -DDISASSEMBLER $(srcdir)/defs/i386 | ./i386_gendis - > $@ -x86_64_dis.h: i386_gendis $(srcdir)/defs/x86_64 - m4 -Dx86_64 -DDISASSEMBLER $(srcdir)/defs/x86_64 | ./i386_gendis - > $@ +x86_64_dis.h: i386_gendis $(srcdir)/defs/i386 + m4 -Dx86_64 -DDISASSEMBLER $(srcdir)/defs/i386 | ./i386_gendis - > $@ -i386.mnemonics x86_64.mnemonics: %.mnemonics: $(srcdir)/defs/% - m4 -D$( $@ diff --git a/libcpu/defs/i386 b/libcpu/defs/i386 index 8c6602e2..9c90d824 100644 --- a/libcpu/defs/i386 +++ b/libcpu/defs/i386 @@ -1,6 +1,8 @@ %mask {s} 1 %mask {w} 1 %mask {w1} 1 +%mask {W1} 1 +%mask {W2} 1 dnl floating point reg suffix %mask {D} 1 %mask {imm8} 8 @@ -8,6 +10,7 @@ dnl floating point reg suffix %mask {imm16} 16 %mask {reg} 3 %mask {reg16} 3 +%mask {reg64} 3 %mask {tttn} 4 %mask {mod} 2 %mask {moda} 2 @@ -17,6 +20,8 @@ dnl like {r_m} but referencing byte register %mask {8r_m} 3 dnl like {r_m} but referencing 16-bit register %mask {16r_m} 3 +dnl like {r_m} but referencing 32- or 64-bit register +%mask {64r_m} 3 %mask {disp8} 8 dnl imm really is 8/16/32 bit depending on the situation. %mask {imm} 8 @@ -62,18 +67,18 @@ ifdef(`i386', 0001010{w},{imm}:adc {imm}{w},{ax}{w} 1000000{w},{mod}010{r_m},{imm}:adc{w} {imm}{w},{mod}{r_m}{w} 1000001{w},{mod}010{r_m},{imms8}:adc{w} {imms8},{mod}{r_m} -0001000{w},{mod}{reg}{r_m}:adc {reg}{w},{mod}{r_m} -0001001{w},{mod}{reg}{r_m}:adc {mod}{r_m},{reg}{w} +0001000{w},{mod}{reg}{r_m}:adc {reg}{w},{mod}{r_m}{w} +0001001{w},{mod}{reg}{r_m}:adc {mod}{r_m}{w},{reg}{w} 0000010{w},{imm}:add {imm}{w},{ax}{w} 1000000{w},{mod}000{r_m},{imm}:add{w} {imm}{w},{mod}{r_m}{w} 10000011,{mod}000{r_m},{imms8}:add{w0} {imms8},{mod}{r_m} -0000000{w},{mod}{reg}{r_m}:add {reg}{w},{mod}{r_m} -0000001{w},{mod}{reg}{r_m}:add {mod}{r_m},{reg}{w} +0000000{w},{mod}{reg}{r_m}:add {reg}{w},{mod}{r_m}{w} +0000001{w},{mod}{reg}{r_m}:add {mod}{r_m}{w},{reg}{w} 01100110,00001111,11010000,{Mod}{xmmreg}{R_m}:addsubpd {Mod}{R_m},{xmmreg} 11110010,00001111,11010000,{Mod}{xmmreg}{R_m}:addsubps {Mod}{R_m},{xmmreg} 0010010{w},{imm}:and {imm}{w},{ax}{w} 1000000{w},{mod}100{r_m},{imm}:and{w} {imm}{w},{mod}{r_m}{w} -1000001{w},{mod}100{r_m},{imms}:and{w} {imms},{mod}{r_m} +1000001{w},{mod}100{r_m},{imms8}:and{w} {imms8},{mod}{r_m} 0010000{w},{mod}{reg}{r_m}:and {reg}{w},{mod}{r_m}{w} 0010001{w},{mod}{reg}{r_m}:and {mod}{r_m}{w},{reg}{w} 01100110,00001111,01010100,{Mod}{xmmreg}{R_m}:andpd {Mod}{R_m},{xmmreg} @@ -83,6 +88,8 @@ ifdef(`i386', ifdef(`i386', `01100011,{mod}{reg16}{r_m}:arpl {reg16},{mod}{r_m} 01100010,{moda}{reg}{r_m}:bound {reg},{moda}{r_m} +', +`01100011,{mod}{reg64}{r_m}:movslq {mod}{r_m},{reg64} ')dnl 00001111,10111100,{mod}{reg}{r_m}:bsf {mod}{r_m},{reg} 00001111,10111101,{mod}{reg}{r_m}:bsr {mod}{r_m},{reg} @@ -95,12 +102,12 @@ ifdef(`i386', 00001111,10111010,{mod}110{r_m},{imm8}:btr{w} {imm8},{mod}{r_m} 00001111,10101011,{mod}{reg}{r_m}:bts {reg},{mod}{r_m} 00001111,10111010,{mod}101{r_m},{imm8}:bts{w} {imm8},{mod}{r_m} -11101000,{rel}:call {rel} -11111111,{mod}010{r_m}:call *{mod}{r_m} +11101000,{rel}:call{W} {rel} +11111111,{mod}010{64r_m}:call{W} *{mod}{64r_m} ifdef(`i386', `10011010,{absval},{sel}:lcall {sel},{absval} ')dnl -11111111,{mod}011{r_m}:lcall *{mod}{r_m} +11111111,{mod}011{64r_m}:lcall{W} *{mod}{64r_m} # SPECIAL 10011000:[{rex.w}?cltq:{dpfx}?cbtw:cwtl] 10011000:INVALID # SPECIAL 10011001:[{rew.w}?cqto:{dpfx}?cltd:cwtd] @@ -120,10 +127,17 @@ ifdef(`i386', 10000011,{mod}111{r_m},{imms8}:cmp{w0} {imms8},{mod}{r_m} 0011100{w},{mod}{reg}{r_m}:cmp {reg}{w},{mod}{r_m}{w} 0011101{w},{mod}{reg}{r_m}:cmp {mod}{r_m}{w},{reg}{w} -11110010,00001111,11000010,{Mod}{xmmreg}{R_m},{imm8}:cmpsd {imm8},{Mod}{R_m},{xmmreg} +ifdef(`ASSEMBLER', +`11110010,00001111,11000010,{Mod}{xmmreg}{R_m},{imm8}:cmpsd {imm8},{Mod}{R_m},{xmmreg} 11110011,00001111,11000010,{Mod}{xmmreg}{R_m},{imm8}:cmpss {imm8},{Mod}{R_m},{xmmreg} 01100110,00001111,11000010,{Mod}{xmmreg}{R_m},{imm8}:cmppd {imm8},{Mod}{R_m},{xmmreg} 00001111,11000010,{Mod}{xmmreg}{R_m},{imm8}:cmpps {imm8},{Mod}{R_m},{xmmreg} +', +`11110010,00001111,11000010,{Mod}{xmmreg}{R_m},{imm8}:INVALID {Mod}{R_m},{xmmreg} +11110011,00001111,11000010,{Mod}{xmmreg}{R_m},{imm8}:INVALID {Mod}{R_m},{xmmreg} +01100110,00001111,11000010,{Mod}{xmmreg}{R_m},{imm8}:INVALID {Mod}{R_m},{xmmreg} +00001111,11000010,{Mod}{xmmreg}{R_m},{imm8}:INVALID {Mod}{R_m},{xmmreg} +')dnl 1010011{w}:{RE}cmps{w} {es_di},{ds_si} 00001111,1011000{w},{mod}{reg}{r_m}:cmpxchg {reg}{w},{mod}{r_m}{w} ifdef(`i386', @@ -146,7 +160,7 @@ ifdef(`i386', ')dnl 1111011{w},{mod}110{r_m}:div{w} {mod}{r_m}{w} 00001111,01110111:emms -11001000,{imm16},{imm8}:enter {imm16},{imm8} +11001000,{imm16},{imm8}:enter{W} {imm16},{imm8} 11011001,11010000:fnop 11011001,11100000:fchs 11011001,11100001:fabs @@ -342,33 +356,44 @@ ifdef(`ASSEMBLER', 0110110{w}:{R}ins{w} {dx},{es_di} 11001101,{imm8}:int {imm8} 11001100:int3 -11001110:into +ifdef(`i386', +`11001110:into +')dnl 00001111,00001000:invd # ORDER 00001111,00000001,11111000:swapgs 00001111,00000001,{mod}111{r_m}:invlpg {mod}{r_m} # ORDER END -11001111:iret{W} +11001111:iret{W1} 0111{tttn},{disp8}:j{tttn} {disp8} 00001111,1000{tttn},{rel}:j{tttn} {rel} 00001111,1001{tttn},{mod}000{8r_m}:set{tttn} {mod}{8r_m} # SPECIAL 11100011,{disp8}:[{dpfx}?jcxz:jecxz] {disp8} 11100011,{disp8}:INVALID {disp8} 11101011,{disp8}:jmp {disp8} -11101001,{rel}:jmp {rel} -11111111,{mod}100{r_m}:jmp *{mod}{r_m} +11101001,{rel}:jmp{W} {rel} +11111111,{mod}100{64r_m}:jmp{W} *{mod}{64r_m} 11101010,{absval},{sel}:ljmp {sel},{absval} -11111111,{mod}101{r_m}:ljmp *{mod}{r_m} +11111111,{mod}101{64r_m}:ljmp{W} *{mod}{64r_m} 10011111:lahf 00001111,00000010,{mod}{reg}{16r_m}:lar {mod}{16r_m},{reg} -11000101,{mod}{reg}{r_m}:lds {mod}{r_m},{reg} +ifdef(`i386', +`11000101,{mod}{reg}{r_m}:lds {mod}{r_m},{reg} +')dnl 10001101,{mod}{reg}{r_m}:lea {mod}{r_m},{reg} -11001001:leave -11000100,{mod}{reg}{r_m}:les {mod}{r_m},{reg} +11001001:leave{W} +ifdef(`i386', +`11000100,{mod}{reg}{r_m}:les {mod}{r_m},{reg} +')dnl 00001111,10110100,{mod}{reg}{r_m}:lfs {mod}{r_m},{reg} -00001111,00000001,{mod}010{r_m}:lgdt{w0} {mod}{r_m} 00001111,10110101,{mod}{reg}{r_m}:lgs {mod}{r_m},{reg} +ifdef(`i386', +`00001111,00000001,{mod}010{r_m}:lgdt{w0} {mod}{r_m} 00001111,00000001,{mod}011{r_m}:lidt{w0} {mod}{r_m} +', +`00001111,00000001,{mod}010{r_m}:lgdt {mod}{r_m} +00001111,00000001,{mod}011{r_m}:lidt {mod}{r_m} +')dnl 00001111,00000000,{mod}010{16r_m}:lldt {mod}{16r_m} 00001111,00000001,{mod}110{16r_m}:lmsw {mod}{16r_m} 11110000:lock @@ -385,10 +410,10 @@ ifdef(`ASSEMBLER', 1011{w}{reg},{imm}:mov {imm}{w},{reg}{w} 1010000{w},{abs}:mov {abs},{ax}{w} 1010001{w},{abs}:mov {ax}{w},{abs} -00001111,00100000,11{ccc}{reg}:mov {ccc},{reg} -00001111,00100010,11{ccc}{reg}:mov {reg},{ccc} -00001111,00100001,11{ddd}{reg}:mov {ddd},{reg} -00001111,00100011,11{ddd}{reg}:mov {reg},{ddd} +00001111,00100000,11{ccc}{reg64}:mov {ccc},{reg64} +00001111,00100010,11{ccc}{reg64}:mov {reg64},{ccc} +00001111,00100001,11{ddd}{reg64}:mov {ddd},{reg64} +00001111,00100011,11{ddd}{reg64}:mov {reg64},{ddd} 10001100,{mod}{sreg3}{r_m}:mov {sreg3},{mod}{r_m} 10001110,{mod}{sreg3}{r_m}:mov {mod}{r_m},{sreg3} 1010010{w}:{R}movs{w} {ds_si},{es_di} @@ -398,12 +423,8 @@ ifdef(`ASSEMBLER', 00001111,10110111,{mod}{reg}{16r_m}:movzwl {mod}{16r_m},{reg} 1111011{w},{mod}100{r_m}:mul{w} {mod}{r_m}{w} 1111011{w},{mod}011{r_m}:neg{w} {mod}{r_m}{w} -ifdef(`ASSEMBLER', -`10010000:nop 11110011,10010000:pause -', -`10010000:{R}INVALID -')dnl +10010000:nop 1111011{w},{mod}010{r_m}:not{w} {mod}{r_m}{w} 0000100{w},{mod}{reg}{r_m}:or {reg}{w},{mod}{r_m}{w} 0000101{w},{mod}{reg}{r_m}:or {mod}{r_m}{w},{reg}{w} @@ -413,17 +434,36 @@ ifdef(`ASSEMBLER', 1110011{w},{imm8}:out {ax}{w},{imm8} 1110111{w}:out {ax}{w},{dx} 0110111{w}:{R}outs{w} {ds_si},{dx} -10001111,{mod}000{r_m}:pop{w} {mod}{r_m} -01011{reg}:pop {reg} -00001111,10{sreg3}001:pop {sreg3} -01100001:popa{W} +ifdef(`i386', +`10001111,{mod}000{r_m}:pop{w} {mod}{r_m} +', +# XXX This is not the cleanest way... +`10001111,11000{reg64}:pop {reg64} +10001111,{mod}000{r_m}:pop{W} {mod}{r_m} +')dnl +00001111,10{sreg3}001:pop{W} {sreg3} 10011101:popf{W} -11111111,{mod}110{r_m}:push{w} {mod}{r_m} -01010{reg}:push {reg} -011010{s}0,{imm}:push {imm}{s} +# XXX This is not the cleanest way... +ifdef(`i386', +`11111111,{mod}110{r_m}:push{w} {mod}{r_m} +', +`11111111,11110{reg64}:push {reg64} +11111111,{mod}110{r_m}:pushq {mod}{r_m} +')dnl +ifdef(`i386', +`01010{reg}:push {reg} +01011{reg}:pop {reg} +', +`01010{reg64}:push {reg64} +01011{reg64}:pop {reg64} +')dnl +011010{s}0,{imm}:push{W} {imm}{s} 000{sreg2}110:push {sreg2} -00001111,10{sreg3}000:push {sreg3} -01100000:pusha{W} +00001111,10{sreg3}000:push{W} {sreg3} +ifdef(`i386', +`01100000:pusha{W} +01100001:popa{W} +')dnl 10011100:pushf{W} 1101000{w},{mod}010{r_m}:rcl{w} {mod}{r_m}{w} 1101001{w},{mod}010{r_m}:rcl{w} %cl,{mod}{r_m}{w} @@ -434,8 +474,8 @@ ifdef(`ASSEMBLER', 00001111,00110010:rdmsr 00001111,00110011:rdpmc 00001111,00110001:rdtsc -11000011:ret -11000010,{imm16}:ret {imm16} +11000011:ret{W} +11000010,{imm16}:ret{W} {imm16} 11001011:lret 11001010,{imm16}:lret {imm16} 1101000{w},{mod}000{r_m}:rol{w} {mod}{r_m}{w} @@ -453,7 +493,7 @@ ifdef(`ASSEMBLER', 0001101{w},{mod}{reg}{r_m}:sbb {mod}{r_m}{w},{reg}{w} 0001110{w},{imm}:sbb {imm}{w},{ax}{w} 1000000{w},{mod}011{r_m},{imm}:sbb{w} {imm}{w},{mod}{r_m}{w} -1000001{w},{mod}011{r_m},{imms}:sbb{w} {imms},{mod}{r_m} +1000001{w},{mod}011{r_m},{imms8}:sbb{w} {imms8},{mod}{r_m} 1010111{w}:{RE}scas {es_di},{ax}{w} 00001111,1001{tttn},{mod}000{r_m}:set{tttn} {mod}{r_m} 1101000{w},{mod}100{r_m}:shl{w} {mod}{r_m}{w} @@ -471,14 +511,27 @@ ifdef(`ASSEMBLER', 00001111,00000001,11000010:vmlaunch 00001111,00000001,11000011:vmresume 00001111,00000001,11000100:vmxoff -00001111,01111000,{mod}{reg}{r_m}:vmread {reg},{mod}{r_m} -00001111,01111001,{mod}{reg}{r_m}:vmwrite {mod}{r_m},{reg} -00001111,00000001,{mod}000{r_m}:sgdtl {mod}{r_m} +00001111,01111000,{mod}{reg64}{64r_m}:vmread {reg64},{mod}{64r_m} +00001111,01111001,{mod}{reg64}{64r_m}:vmwrite {mod}{64r_m},{reg64} +ifdef(`i386', +`00001111,00000001,{mod}000{r_m}:sgdtl {mod}{r_m} +', +`00001111,00000001,{mod}000{r_m}:sgdt {mod}{r_m} +')dnl # ORDER END # ORDER -00001111,00000001,11001000:monitor %eax,%ecx,%edx +ifdef(`i386', +`00001111,00000001,11001000:monitor %eax,%ecx,%edx 00001111,00000001,11001001:mwait %eax,%ecx -00001111,00000001,{mod}001{r_m}:sidtl {mod}{r_m} +', +`00001111,00000001,11001000:monitor %rax,%rcx,%rdx +00001111,00000001,11001001:mwait %rax,%rcx +')dnl +ifdef(`i386', +`00001111,00000001,{mod}001{r_m}:sidtl {mod}{r_m} +', +`00001111,00000001,{mod}001{r_m}:sidt {mod}{r_m} +')dnl # ORDER END 00001111,00000000,{mod}000{r_m}:sldt {mod}{r_m} 00001111,00000001,{mod}100{r_m}:smsw {mod}{r_m} @@ -491,7 +544,7 @@ ifdef(`ASSEMBLER', 0010101{w},{mod}{reg}{r_m}:sub {mod}{r_m}{w},{reg}{w} 0010110{w},{imm}:sub {imm}{w},{ax}{w} 1000000{w},{mod}101{r_m},{imm}:sub{w} {imm}{w},{mod}{r_m}{w} -1000001{w},{mod}101{r_m},{imms}:sub{w} {imms},{mod}{r_m} +1000001{w},{mod}101{r_m},{imms8}:sub{w} {imms8},{mod}{r_m} 1000010{w},{mod}{reg}{r_m}:test {reg}{w},{mod}{r_m}{w} 1010100{w},{imm}:test {imm}{w},{ax}{w} 1111011{w},{mod}000{r_m},{imm}:test{w} {imm}{w},{mod}{r_m}{w} @@ -515,7 +568,7 @@ ifdef(`ASSEMBLER', 0011001{w},{mod}{reg}{r_m}:xor {mod}{r_m}{w},{reg}{w} 0011010{w},{imm}:xor {imm}{w},{ax}{w} 1000000{w},{mod}110{r_m},{imm}:xor{w} {imm}{w},{mod}{r_m}{w} -1000001{w},{mod}110{r_m},{imms}:xor{w} {imms},{mod}{r_m} +1000001{w},{mod}110{r_m},{imms8}:xor{w} {imms8},{mod}{r_m} 00001111,01110111:emms 01100110,00001111,11011011,{Mod}{xmmreg}{R_m}:pand {Mod}{R_m},{xmmreg} 00001111,11011011,{MOD}{mmxreg}{R_M}:pand {MOD}{R_M},{mmxreg} diff --git a/libcpu/defs/x86_64 b/libcpu/defs/x86_64 deleted file mode 100644 index 090c4751..00000000 --- a/libcpu/defs/x86_64 +++ /dev/null @@ -1,341 +0,0 @@ -%mask {s} 1 -%mask {w} 1 -%mask {D} 1 -%mask {imm8} 8 -%mask {imm16} 16 -%mask {reg} 3 -%mask {tttn} 4 -%mask {gg} 2 -%mask {mod} 2 -%mask {MOD} 2 -%mask {r_m} 3 -%mask {disp8} 8 -# imm really is 8/16/32 bit depending on the situation. -%mask {imm} 8 -%mask {abs} 32 -%mask {sel} 16 -%mask {imm32} 32 -%mask {dispA} 32 -%mask {ccc} 3 -%mask {ddd} 3 -%mask {sreg3} 3 -%mask {sreg2} 2 -%mask {mmxreg} 3 -%mask {R_M} 3 -%mask {0g} 2 -%mask {GG} 2 -%mask {gG} 2 -%mask {Mod} 2 -%mask {xmmreg} 3 -%mask {R_m} 3 -%mask {xmmreg1} 3 -%mask {xmmreg2} 3 -%mask {mmreg} 3 -%prefix {R} -%prefix {RE} -%suffix {W} -%suffix {WW} -%synonym {xmmreg1} {xmmreg} -%synonym {xmmreg2} {xmmreg} - -%% -0001010{w},{imm}:adc {imm}{w},{ax}{w} -1000000{w},{mod}010{r_m},{imm}:adc{w} {imm},{mod}{r_m} -1000001{w},{mod}010{r_m},{imm8}:adc{w} {imm8},{mod}{r_m} -0001000{w},{mod}{reg}{r_m}:adc{w} {reg},{mod}{r_m} -0001001{w},{mod}{reg}{r_m}:adc{w} {mod}{r_m},{reg} -0000010{w},{imm}:add {imm}{w},{ax}{w} -1000000{w},{mod}000{r_m},{imm}:add{w} {imm},{mod}{r_m} -1000001{w},{mod}000{r_m},{imm8}:add{w} {imm8},{mod}{r_m} -0000000{w},{mod}{reg}{r_m}:add {reg}{w},{mod}{r_m} -0000001{w},{mod}{reg}{r_m}:add {mod}{r_m},{reg}{w} -01100110,00001111,01011000,{Mod}{xmmreg}{R_m}:addpd {Mod}{R_m},{xmmreg} -00001111,01011000,{Mod}{xmmreg}{R_m}:addps {Mod}{R_m},{xmmreg} -11110010,00001111,01011000,{Mod}{xmmreg}{R_m}:addsd {Mod}{R_m},{xmmreg} -11110011,00001111,01011000,{Mod}{xmmreg}{R_m}:addss {Mod}{R_m},{xmmreg} -01100110,00001111,11010000,{Mod}{xmmreg}{R_m}:addsubpd {Mod}{R_m},{xmmreg} -11110010,00001111,11010000,{Mod}{xmmreg}{R_m}:addsubps {Mod}{R_m},{xmmreg} -# -# -# -0010000{w},{mod}{reg}{r_m}:and{w} {reg},{mod}{r_m} -0010001{w},{mod}{reg}{r_m}:and{w} {mod}{r_m},{reg} -0010010{w},{imm}:and {imm}{w},{ax}{w} -100000{s}{w},{mod}100{r_m},{imm}:and{w} {imm}{s},{mod}{r_m} -01100011,{mod}{reg}{r_m}:arpl {reg},{mod}{r_m} -01100010,{mod}{reg}{r_m}:bound {reg},{mod}{r_m} -00001111,10111100,{mod}{reg}{r_m}:bsf {reg},{mod}{r_m} -00001111,10111101,{mod}{reg}{r_m}:bsr {reg},{mod}{r_m} -00001111,11001{reg}:bswap {reg} -00001111,10111010,{mod}100{r_m},{imm8}:bt {imm8},{mod}{r_m} -00001111,10100011,{mod}{reg}{r_m}:bt {reg},{mod}{r_m} -00001111,10111010,{mod}111{r_m},{imm8}:btc {imm8},{mod}{r_m} -00001111,10111011,{mod}{reg}{r_m}:btc {reg},{mod}{r_m} -00001111,10111010,{mod}110{r_m},{imm8}:btr {imm8},{mod}{r_m} -00001111,10110011,{mod}{reg}{r_m}:btr {reg},{mod}{r_m} -00001111,10111010,{mod}101{r_m},{imm8}:bts {imm8},{mod}{r_m} -00001111,10101011,{mod}{reg}{r_m}:bts {reg},{mod}{r_m} -11101000,{abs}:call {abs} -11111111,{mod}010{r_m}:call *{mod}{r_m} -10011010,{abs},{sel}:lcall {sel},{abs} -11111111,{mod}011{r_m}:lcall {mod}{r_m} -10011000:cbt{WW} -#SPECIAL 10011001:[{dpfx}?cltd:cwtd] -11111000:clc -11111100:cld -11111010:cli -00001111,00000110:clts -11110101:cmc -00001111,0100{tttn},{mod}{reg}{r_m}:cmov{tttn} {mod}{r_m},{reg} -0011100{w},{mod}{reg}{r_m}:cmp{w} {reg},{mod}{r_m} -0011101{w},{mod}{reg}{r_m}:cmp{w} {mod}{r_m},{reg} -0011110{w},{imm}:cmp {imm}{w},{ax}{w} -100000{s}{w},{mod}111{r_m},{imm}:cmp{w} {imm}{s},{mod}{r_m} -1010011{w}:{RE}cmps{w} -00001111,1011000{w},{mod}{reg}{r_m}:cmpxchg{w} {reg},{mod}{r_m} -00001111,11000111,{mod}{reg}{r_m}:cmpxchg8b {reg},{mod}{r_m} -00001111,10100010:cpuid -00100111:daa -00101111:das -1111111{w},{mod}001{r_m}:dec{w} {mod}{r_m} -01001{reg}:dec {reg} -1111011{w},{mod}110{r_m}:div{w} {mod}{r_m} -11001000,{imm16},{imm8}:enter {imm16},{imm8} -11110100:hlt -1111011{w},{mod}111{r_m}:idiv{w} {mod}{r_m} -1111011{w},{mod}101{r_m}:imul{w} {mod}{r_m} -00001111,10101111,{mod}{reg}{r_m}:imul {reg},{mod}{r_m} -011010{s}1,{mod}{reg}{r_m},{imm}:imul {imm}{s},{mod}{r_m},{reg} -1110010{w},{imm8}:in {imm8},{ax}{w} -1110110{w}:in {dx},{ax}{w} -1111111{w},{mod}000{r_m}:inc{w} {mod}{r_m} -01000{reg}:inc {reg} -0110110{w}:{R}ins{w} {dx},{es_di} -11001101,{imm8}:int {imm8} -11001100:int 3 -11001110:into -00001111,00001000:invd -00001111,00000001,{mod}111{r_m}:invlpg {mod}{r_m} -11001111:iret{W} -0111{tttn},{disp8}:j{tttn} {disp8} -00001111,1000{tttn},{dispA}:j{tttn} {dispA} -#SPECIAL 11100011,{disp8}:[{dpfx}?jcxz:jecxz] {disp8} -11101011,{disp8}:jmp {disp8} -11101001,{dispA}:jmp {dispA} -11111111,{mod}100{r_m}:jmp *{mod}{r_m} -11101010,{abs},{sel}:ljmp {sel},{abs} -11111111,{mod}101{r_m}:ljmp {mod}{r_m} -10011111:lahf -00001111,00000010,{mod}{reg}{r_m}:lar {mod}{r_m},{reg} -11000101,{mod}{reg}{r_m}:lds {mod}{r_m},{reg} -10001101,{mod}{reg}{r_m}:lea {mod}{r_m},{reg} -11001001:leave -11000100,{mod}{reg}{r_m}:les {mod}{r_m},{reg} -00001111,10110100,{mod}{reg}{r_m}:lfs {mod}{r_m},{reg} -00001111,00000001,{mod}010{r_m}:lgdt{WW} {mod}{r_m} -00001111,10110101,{mod}{reg}{r_m}:lgs {mod}{r_m},{reg} -00001111,00000001,{mod}011{r_m}:lidt{WW} {mod}{r_m} -00001111,00000000,{mod}010{r_m}:lldt{WW} {mod}{r_m} -00001111,00000001,{mod}110{r_m}:lmsw {mod}{r_m} -11110000:lock -1010110{w}:{R}lods {ds_si},{ax}{w} -11100010,{disp8}:loop {disp8} -11100001,{disp8}:loope {disp8} -11100000,{disp8}:loopne {disp8} -00001111,00000011,{mod}{reg}{r_m}:lsl {mod}{r_m},{reg} -00001111,10110010,{mod}{reg}{r_m}:lss {mod}{r_m},{reg} -00001111,00000000,{mod}011{r_m}:ltr {mod}{r_m} -1000100{w},{mod}{reg}{r_m}:mov{w} {reg},{mod}{r_m} -1000101{w},{mod}{reg}{r_m}:mov{w} {mod}{r_m},{reg} -1100011{w},{mod}000{r_m},{imm}:mov{w} {imm},{mod}{r_m} -1011{w}{reg},{imm}:mov{w} {imm},{reg} -1010000{w},{abs}:mov {ax}{w},{abs} -1010001{w},{abs}:mov {abs},{ax}{w} -00001111,00100000,11{ccc}{reg}:mov {reg},{ccc} -00001111,00100010,11{ccc}{reg}:mov {ccc},{reg} -00001111,00100001,11{ddd}{reg}:mov {reg},{ddd} -00001111,00100011,11{ddd}{reg}:mov {ddd},{reg} -10001100,{mod}{sreg3}{r_m}:mov {sreg3},{mod}{r_m} -10001110,{mod}{sreg3}{r_m}:mov {mod}{r_m},{sreg3} -1010010{w}:{R}movs{w} {ds_si},{es_di} -00001111,1011111{w},{mod}{reg}{r_m}:movsx{w} {mod}{r_m},{reg} -00001111,1011011{w},{mod}{reg}{r_m}:movzx{w} {mod}{r_m},{reg} -1111011{w},{mod}100{r_m}:mul{w} {mod}{r_m} -1111011{w},{mod}011{r_m}:neg{w} {mod}{r_m} -10010000:nop -11110011,10010000:pause -1111011{w},{mod}010{r_m}:not{w} {mod}{r_m} -0000100{w},{mod}{reg}{r_m}:or{w} {reg},{mod}{r_m} -0000101{w},{mod}{reg}{r_m}:or{w} {mod}{r_m},{reg} -100000{s}{w},{mod}001{r_m},{imm}:or{w} {imm}{s},{mod}{r_m} -0000110{w},{imm}:mov {imm}{w},{ax}{w} -1110011{w},{imm8}:out {ax}{w},{imm8} -1110111{w}:out {ax}{w},{dx} -0110111{w}:{R}outs{w} {ds_si},{dx} -10001111,{mod}000{r_m}:pop {mod}{r_m} -01011{reg}:pop {reg} -000{sreg2}111:pop {sreg2} -00001111,10{sreg3}001:pop {sreg3} -01100001:popa{W} -10011101:popf{W} -11111111,{mod}110{r_m}:push {mod}{r_m} -01010{reg}:push {reg} -011010{s}0,{imm}:push {imm}{s} -000{sreg2}110:push {sreg2} -00001111,10{sreg3}000:push {sreg3} -01100000:pusha{W} -10011100:pushf{W} -1101000{w},{mod}010{r_m}:rcl{w} {mod}{r_m} -1101001{w},{mod}010{r_m}:rcl{w} %cl,{mod}{r_m} -1100000{w},{mod}010{r_m},{imm8}:rcl{w} {imm8},{mod}{r_m} -1101000{w},{mod}011{r_m}:rcr{w} {mod}{r_m} -1101001{w},{mod}011{r_m}:rcr{w} %cl,{mod}{r_m} -1100000{w},{mod}011{r_m},{imm8}:rcr{w} {imm8},{mod}{r_m} -00001111,00110010:rdmsr -00001111,00110011:rdpmc -00001111,00110001:rdtsc -11000011:ret -11000010,{imm16}:ret {imm16} -11001011:lret -11001010,{imm16}:lret {imm16} -1101000{w},{mod}000{r_m}:rol{w} {mod}{r_m} -1101001{w},{mod}000{r_m}:rol{w} %cl,{mod}{r_m} -1100000{w},{mod}000{r_m},{imm8}:rol{w} {imm8},{mod}{r_m} -1101000{w},{mod}001{r_m}:ror{w} {mod}{r_m} -1101001{w},{mod}001{r_m}:ror{w} %cl,{mod}{r_m} -1100000{w},{mod}001{r_m},{imm8}:ror{w} {imm8},{mod}{r_m} -00001111,10101010:rsm -10011110:sahf -1101000{w},{mod}111{r_m}:sar{w} {mod}{r_m} -1101001{w},{mod}111{r_m}:sar{w} %cl,{mod}{r_m} -1100000{w},{mod}111{r_m},{imm8}:sar{w} {imm8},{mod}{r_m} -0001100{w},{mod}{reg}{r_m}:sbb{w} {reg},{mod}{r_m} -0001101{w},{mod}{reg}{r_m}:sbb{w} {mod}{r_m},{reg} -0001110{w},{imm}:sbb {imm}{w},{ax}{w} -100000{s}{w},{mod}011{r_m},{imm}:sbb{w} {imm}{s},{mod}{r_m} -1010111{w}:{RE}scas {es_di},{ax}{w} -00001111,1001{tttn},{mod}000{r_m}:set{tttn} {mod}{r_m} -00001111,00000001,{mod}000{r_m}:sgdt {mod}{r_m} -1101000{w},{mod}100{r_m}:shl{w} {mod}{r_m} -1101001{w},{mod}100{r_m}:shl{w} %cl,{mod}{r_m} -1100000{w},{mod}100{r_m},{imm8}:shl{w} {imm8},{mod}{r_m} -1101000{w},{mod}101{r_m}:shr{w} {mod}{r_m} -00001111,10100100,{mod}{reg}{r_m},{imm8}:shld {imm8},{reg},{mod}{r_m} -00001111,10100101,{mod}{reg}{r_m}:shld %cl,{reg},{mod}{r_m} -1101001{w},{mod}101{r_m}:shr{w} %cl,{mod}{r_m} -1100000{w},{mod}101{r_m},{imm8}:shr{w} {imm8},{mod}{r_m} -00001111,10101100,{mod}{reg}{r_m},{imm8}:shrd {imm8},{reg},{mod}{r_m} -00001111,10101101,{mod}{reg}{r_m}:shrd %cl,{reg},{mod}{r_m} -00001111,00000001,{mod}001{r_m}:sidt {mod}{r_m} -00001111,00000000,{mod}000{r_m}:sldt {mod}{r_m} -00001111,00000001,{mod}100{r_m}:smsw {mod}{r_m} -11111001:stc -11111101:std -11111011:sti -1010101{w}:{R}stos {ax}{w},{es_di} -00001111,00000000,{mod}001{r_m}:str {mod}{r_m} -0010100{w},{mod}{reg}{r_m}:sub{w} {reg},{mod}{r_m} -0010101{w},{mod}{reg}{r_m}:sub{w} {mod}{r_m},{reg} -0010110{w},{imm}:sub {imm}{w},{ax}{w} -100000{s}{w},{mod}101{r_m},{imm}:sub{w} {imm}{s},{mod}{r_m} -1000010{w},{mod}{reg}{r_m}:test{w} {reg},{mod}{r_m}{w} -1000011{w},{mod}{reg}{r_m}:test{w} {mod}{r_m}{w},{reg} -0010100{w},{imm}:test {imm}{w},{ax}{w} -1111011{w},{mod}000{r_m},{imm}:test{w} {imm},{mod}{r_m} -00001111,00001011:ud2a -00001111,00000000,{mod}100{r_m}:verr {mod}{r_m} -00001111,00000000,{mod}101{r_m}:verw {mod}{r_m} -10011011:wait -00001111,00001001:wbinvd -00001111,00110000:wrmsr -00001111,1100000{w},{mod}{reg}{r_m}:xadd{w} {reg},{mod}{r_m} -1000011{w},{mod}{reg}{r_m}:xchg{w} {reg},{mod}{r_m} -11010111:xlat -0011000{w},{mod}{reg}{r_m}:xor{w} {reg},{mod}{r_m} -0011001{w},{mod}{reg}{r_m}:xor{w} {mod}{r_m},{reg} -0011010{w},{imm}:xor {imm}{w},{ax}{w} -100000{s}{w},{mod}110{r_m},{imm}:xor{w} {imm}{s},{mod}{r_m} -00001111,01110111:emms -00001111,01101110,{mod}{mmxreg}{r_m}:movd {mod}{r_m},{mmxreg} -00001111,01111110,{mod}{mmxreg}{r_m}:movd {mmxreg},{mod}{r_m} -00001111,01101111,{MOD}{mmxreg}{R_M}:movq {MOD}{R_M},{mmxreg} -00001111,01111111,{MOD}{mmxreg}{R_M}:movq {mmxreg},{MOD}{R_M} -00001111,01101011,{MOD}{mmxreg}{R_M}:packssdw {MOD}{R_M},{mmxreg} -00001111,01100011,{MOD}{mmxreg}{R_M}:packsswb {MOD}{R_M},{mmxreg} -00001111,01100111,{MOD}{mmxreg}{R_M}:packuswb {MOD}{R_M},{mmxreg} -00001111,111111{gg},{MOD}{mmxreg}{R_M}:padd{gg} {MOD}{R_M},{mmxreg} -00001111,111111{0g},{MOD}{mmxreg}{R_M}:padds{0g} {MOD}{R_M},{mmxreg} -00001111,110111{0g},{MOD}{mmxreg}{R_M}:paddus{0g} {MOD}{R_M},{mmxreg} -00001111,11011011,{MOD}{mmxreg}{R_M}:pand {MOD}{R_M},{mmxreg} -00001111,11011111,{MOD}{mmxreg}{R_M}:pandn {MOD}{R_M},{mmxreg} -00001111,011101{gg},{MOD}{mmxreg}{R_M}:pcmpeq{gg} {MOD}{R_M},{mmxreg} -00001111,011001{gg},{MOD}{mmxreg}{R_M}:pcmpgt{gg} {MOD}{R_M},{mmxreg} -00001111,11110101,{MOD}{mmxreg}{R_M}:pmaddwd {MOD}{R_M},{mmxreg} -00001111,11100101,{MOD}{mmxreg}{R_M}:pmulhw {MOD}{R_M},{mmxreg} -00001111,11010101,{MOD}{mmxreg}{R_M}:pmullw {MOD}{R_M},{mmxreg} -00001111,11101011,{MOD}{mmxreg}{R_M}:por {MOD}{R_M},{mmxreg} -00001111,111100{GG},{MOD}{mmxreg}{R_M}:psll{GG} {MOD}{R_M},{mmxreg} -00001111,011100{GG},11110{mmxreg},{imm8}:psll{GG} {imm8},{mmxreg} -00001111,111000{gG},{MOD}{mmxreg}{R_M}:psra{gG} {MOD}{R_M},{mmxreg} -00001111,011100{gG},11100{mmxreg},{imm8}:psra{gG} {imm8},{mmxreg} -00001111,110100{GG},{MOD}{mmxreg}{R_M}:psrl{GG} {MOD}{R_M},{mmxreg} -00001111,011100{GG},11010{mmxreg},{imm8}:psrl{GG} {imm8},{mmxreg} -00001111,111110{gg},{MOD}{mmxreg}{R_M}:psub{gg} {MOD}{R_M},{mmxreg} -00001111,111010{0g},{MOD}{mmxreg}{R_M}:psubs{0g} {MOD}{R_M},{mmxreg} -00001111,110110{0g},{MOD}{mmxreg}{R_M}:psubus{0g} {MOD}{R_M},{mmxreg} -00001111,011010{gg},{MOD}{mmxreg}{R_M}:punpckh{gg} {MOD}{R_M},{mmxreg} -00001111,011000{gg},{MOD}{mmxreg}{R_M}:punpckl{gg} {MOD}{R_M},{mmxreg} -00001111,11101111,{MOD}{mmxreg}{R_M}:pxor {MOD}{R_M},{mmxreg} -00001111,01011000,{Mod}{xmmreg}{R_m}:addps {Mod}{R_m},{xmmreg} -11110011,00001111,01011000,{Mod}{xmmreg}{R_m}:addss {Mod}{R_m},{xmmreg} -00001111,01010101,{Mod}{xmmreg}{R_m}:andnps {Mod}{R_m},{xmmreg} -00001111,01010100,{Mod}{xmmreg}{R_m}:andps {Mod}{R_m},{xmmreg} -00001111,11000010,{Mod}{xmmreg}{R_m},00000000:cmpeqps {Mod}{R_m},{xmmreg} -00001111,11000010,{Mod}{xmmreg}{R_m},00000001:cmpltps {Mod}{R_m},{xmmreg} -00001111,11000010,{Mod}{xmmreg}{R_m},00000010:cmpleps {Mod}{R_m},{xmmreg} -00001111,11000010,{Mod}{xmmreg}{R_m},00000011:cmpunordps {Mod}{R_m},{xmmreg} -00001111,11000010,{Mod}{xmmreg}{R_m},00000100:cmpneqps {Mod}{R_m},{xmmreg} -00001111,11000010,{Mod}{xmmreg}{R_m},00000101:cmpnltps {Mod}{R_m},{xmmreg} -00001111,11000010,{Mod}{xmmreg}{R_m},00000110:cmpnleps {Mod}{R_m},{xmmreg} -00001111,11000010,{Mod}{xmmreg}{R_m},00000111:cmpordps {Mod}{R_m},{xmmreg} -11110011,00001111,11000010,{Mod}{xmmreg}{R_m},00000000:cmpeqss {Mod}{R_m},{xmmreg} -11110011,00001111,11000010,{Mod}{xmmreg}{R_m},00000001:cmpltss {Mod}{R_m},{xmmreg} -11110011,00001111,11000010,{Mod}{xmmreg}{R_m},00000010:cmpless {Mod}{R_m},{xmmreg} -11110011,00001111,11000010,{Mod}{xmmreg}{R_m},00000011:cmpunordss {Mod}{R_m},{xmmreg} -11110011,00001111,11000010,{Mod}{xmmreg}{R_m},00000100:cmpneqss {Mod}{R_m},{xmmreg} -11110011,00001111,11000010,{Mod}{xmmreg}{R_m},00000101:cmpnltss {Mod}{R_m},{xmmreg} -11110011,00001111,11000010,{Mod}{xmmreg}{R_m},00000110:cmpnless {Mod}{R_m},{xmmreg} -11110011,00001111,11000010,{Mod}{xmmreg}{R_m},00000111:cmpordss {Mod}{R_m},{xmmreg} -00001111,00101111,{Mod}{xmmreg}{R_m}:comiss {Mod}{R_m},{xmmreg} -00001111,00101010,{MOD}{xmmreg}{R_M}:cvtpi2ps {MOD}{R_M},{xmmreg} -00001111,00101101,{MOD}{mmreg}{R_M}:cvtps2pi {MOD}{R_M},{mmreg} -11110011,00001111,00101010,{mod}{xmmreg}{r_m}:cvtsi2ss {mod}{r_m},{xmmreg} -11110011,00001111,00101101,{Mod}{reg}{R_m}:cvtss2si {Mod}{R_m},{reg} -00001111,00101100,{Mod}{mmreg}{R_m}:cvttps2pi {Mod}{R_m},{mmreg} -11110011,00001111,00101100,{Mod}{reg}{R_m}:cvttss2si {Mod}{R_m},{reg} -00001111,01011110,{Mod}{xmmreg}{R_m}:divps {Mod}{R_m},{xmmreg} -11110011,00001111,01011110,{Mod}{xmmreg}{R_m}:divss {Mod}{R_m},{xmmreg} -00001111,10101110,{mod}001{r_m}:fxrstor {mod}{r_m} -00001111,10101110,{mod}000{r_m}:fxsave {mod}{r_m} -00001111,10101110,{mod}010{r_m}:ldmxcsr {mod}{r_m} -00001111,01011111,{Mod}{xmmreg}{R_m}:maxps {Mod}{R_m},{xmmreg} -11110011,00001111,01011111,{Mod}{xmmreg}{R_m}:maxss {Mod}{R_m},{xmmreg} -00001111,01011101,{Mod}{xmmreg}{R_m}:minps {Mod}{R_m},{xmmreg} -11110011,00001111,01011101,{Mod}{xmmreg}{R_m}:minss {Mod}{R_m},{xmmreg} -00001111,00101000,{Mod}{xmmreg}{R_m}:movaps {Mod}{R_m},{xmmreg} -00001111,00101001,{Mod}{xmmreg}{R_m}:movaps {xmmreg},{Mod}{R_m} -# ORDER: -00001111,00010010,11{xmmreg1}{xmmreg2}:movhlps {xmmreg1},{xmmreg2} -00001111,00010011,11{xmmreg1}{xmmreg2}:movhlps {xmmreg2},{xmmreg1} -00001111,00010010,{Mod}{xmmreg}{R_m}:movlps {Mod}{R_m},{xmmreg} -00001111,00010011,{Mod}{xmmreg}{R_m}:movlps {xmmreg},{Mod}{R_m} -# ORDER END: -# ORDER: -00001111,00010110,11{xmmreg1}{xmmreg2}:movlhps {xmmreg1},{xmmreg2} -00001111,00010111,11{xmmreg1}{xmmreg2}:movlhps {xmmreg2},{xmmreg1} -00001111,00010110,{Mod}{xmmreg}{R_m}:movhps {Mod}{R_m},{xmmreg} -00001111,00010111,{Mod}{xmmreg}{R_m}:movhps {xmmreg},{Mod}{R_m} -# ORDER END: -# BOGUS -00000000,11{reg}111:fadd {reg} -00001111,00000001,11000001:vmcall diff --git a/libcpu/i386_data.h b/libcpu/i386_data.h index 5148fa06..398c672b 100644 --- a/libcpu/i386_data.h +++ b/libcpu/i386_data.h @@ -101,7 +101,7 @@ data_prefix (int *prefixes, char *bufp, size_t *bufcntp, size_t bufsize) else if (*prefixes & has_es) { ch = 'e'; - *prefixes &= has_es; + *prefixes &= ~has_es; } else if (*prefixes & has_fs) { @@ -132,10 +132,26 @@ data_prefix (int *prefixes, char *bufp, size_t *bufcntp, size_t bufsize) return 0; } -static const char regs[8][4] = +#ifdef X86_64 +static const char hiregs[8][4] = + { + "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15" + }; +static const char aregs[8][4] = + { + "rax", "rcx", "rdx", "rbx", "rsp", "rbp", "rsi", "rdi" + }; +static const char dregs[8][4] = { "eax", "ecx", "edx", "ebx", "esp", "ebp", "esi", "edi" }; +#else +static const char aregs[8][4] = + { + "eax", "ecx", "edx", "ebx", "esp", "ebp", "esi", "edi" + }; +# define dregs aregs +#endif static int general_mod$r_m (GElf_Addr addr __attribute__ ((unused)), @@ -158,7 +174,48 @@ general_mod$r_m (GElf_Addr addr __attribute__ ((unused)), return r; uint_fast8_t modrm = data[opoff1 / 8]; - if ((*prefixes & has_addr16) == 0) +#ifndef X86_64 + if (unlikely ((*prefixes & has_addr16) != 0)) + { + int16_t disp = 0; + bool nodisp = false; + + if ((modrm & 0xc7) == 6 || (modrm & 0xc0) == 0x80) + /* 16 bit displacement. */ + disp = read_2sbyte_unaligned (&data[opoff1 / 8 + 1]); + else if ((modrm & 0xc0) == 0x40) + /* 8 bit displacement. */ + disp = *(const int8_t *) &data[opoff1 / 8 + 1]; + else if ((modrm & 0xc0) == 0) + nodisp = true; + + char tmpbuf[sizeof ("-0x1234(%rr,%rr)")]; + int n; + if ((modrm & 0xc7) == 6) + n = snprintf (tmpbuf, sizeof (tmpbuf), "0x%" PRIx16, disp); + else + { + n = 0; + if (!nodisp) + n = snprintf (tmpbuf, sizeof (tmpbuf), "%s0x%" PRIx16, + disp < 0 ? "-" : "", disp < 0 ? -disp : disp); + + if ((modrm & 0x4) == 0) + n += snprintf (tmpbuf + n, sizeof (tmpbuf) - n, "(%%b%c,%%%ci)", + "xp"[(modrm >> 1) & 1], "sd"[modrm & 1]); + else + n += snprintf (tmpbuf + n, sizeof (tmpbuf) - n, "(%%%s)", + ((const char [4][3]) { "si", "di", "bp", "bx" })[modrm & 3]); + } + + if (*bufcntp + n + 1 > bufsize) + return *bufcntp + n + 1 - bufsize; + + memcpy (&bufp[*bufcntp], tmpbuf, n + 1); + *bufcntp += n; + } + else +#endif { if ((modrm & 7) != 4) { @@ -174,16 +231,53 @@ general_mod$r_m (GElf_Addr addr __attribute__ ((unused)), else if ((modrm & 0xc0) == 0) nodisp = true; - char tmpbuf[sizeof ("-0x12345678(%rrr)")]; + char tmpbuf[sizeof ("-0x12345678(%rrrr)")]; int n; if (nodisp) - n = snprintf (tmpbuf, sizeof (tmpbuf), "(%%%s)", regs[modrm & 7]); + { + n = snprintf (tmpbuf, sizeof (tmpbuf), "(%%%s)", +#ifdef X86_64 + (*prefixes & has_rex_b) ? hiregs[modrm & 7] : +#endif + aregs[modrm & 7]); +#ifdef X86_64 + if (*prefixes & has_addr16) + { + if (*prefixes & has_rex_b) + tmpbuf[n++] = 'd'; + else + tmpbuf[2] = 'e'; + } +#endif + } else if ((modrm & 0xc7) != 5) - n = snprintf (tmpbuf, sizeof (tmpbuf), "%s0x%" PRIx32 "(%%%s)", - disp < 0 ? "-" : "", disp < 0 ? -disp : disp, - regs[modrm & 7]); + { + int p; + n = snprintf (tmpbuf, sizeof (tmpbuf), "%s0x%" PRIx32 "(%%%n%s)", + disp < 0 ? "-" : "", disp < 0 ? -disp : disp, &p, +#ifdef X86_64 + (*prefixes & has_rex_b) ? hiregs[modrm & 7] : +#endif + aregs[modrm & 7]); +#ifdef X86_64 + if (*prefixes & has_addr16) + { + if (*prefixes & has_rex_b) + tmpbuf[n++] = 'd'; + else + tmpbuf[p] = 'e'; + } +#endif + } else - n = snprintf (tmpbuf, sizeof (tmpbuf), "0x%" PRIx32, disp); + { +#ifdef X86_64 + n = snprintf (tmpbuf, sizeof (tmpbuf), "%s0x%" PRIx32 "(%%rip)", + disp < 0 ? "-" : "", disp < 0 ? -disp : disp); +#else + n = snprintf (tmpbuf, sizeof (tmpbuf), "0x%" PRIx32, disp); +#endif + } if (*bufcntp + n + 1 > bufsize) return *bufcntp + n + 1 - bufsize; @@ -208,10 +302,14 @@ general_mod$r_m (GElf_Addr addr __attribute__ ((unused)), else nodisp = true; - char tmpbuf[sizeof ("-0x12345678(%rrr,%rrr,N)")]; + char tmpbuf[sizeof ("-0x12345678(%rrrr,%rrrr,N)")]; char *cp = tmpbuf; int n; - if ((modrm & 0xc0) != 0 || (sib & 0x3f) != 0x25) + if ((modrm & 0xc0) != 0 || (sib & 0x3f) != 0x25 +#ifdef X86_64 + || (*prefixes & has_rex_x) != 0 +#endif + ) { if (!nodisp) { @@ -225,14 +323,40 @@ general_mod$r_m (GElf_Addr addr __attribute__ ((unused)), if ((modrm & 0xc7) != 0x4 || (sib & 0x7) != 0x5) { *cp++ = '%'; - cp = mempcpy (cp, regs[sib & 7], 3); + cp = stpcpy (cp, +#ifdef X86_64 + (*prefixes & has_rex_b) ? hiregs[sib & 7] : + (*prefixes & has_addr16) ? dregs[sib & 7] : +#endif + aregs[sib & 7]); +#ifdef X86_64 + if ((*prefixes & (has_rex_b | has_addr16)) + == (has_rex_b | has_addr16)) + *cp++ = 'd'; +#endif } - if ((sib & 0x38) != 0x20) + if ((sib & 0x38) != 0x20 +#ifdef X86_64 + || (*prefixes & has_rex_x) != 0 +#endif + ) { *cp++ = ','; *cp++ = '%'; - cp = mempcpy (cp, regs[(sib >> 3) & 7], 3); + cp = stpcpy (cp, +#ifdef X86_64 + (*prefixes & has_rex_x) + ? hiregs[(sib >> 3) & 7] : + (*prefixes & has_addr16) + ? dregs[(sib >> 3) & 7] : +#endif + aregs[(sib >> 3) & 7]); +#ifdef X86_64 + if ((*prefixes & (has_rex_b | has_addr16)) + == (has_rex_b | has_addr16)) + *cp++ = 'd'; +#endif *cp++ = ','; *cp++ = '0' + (1 << (sib >> 6)); @@ -243,7 +367,13 @@ general_mod$r_m (GElf_Addr addr __attribute__ ((unused)), else { assert (! nodisp); - n = snprintf (cp, sizeof (tmpbuf), "0x%" PRIx32, disp); +#ifdef X86_64 + if ((*prefixes & has_addr16) == 0) + n = snprintf (cp, sizeof (tmpbuf), "0x%" PRIx64, + (int64_t) disp); + else +#endif + n = snprintf (cp, sizeof (tmpbuf), "0x%" PRIx32, disp); cp += n; } @@ -283,7 +413,7 @@ FCT_MOD$R_M (GElf_Addr addr __attribute__ ((unused)), size_t avail = bufsize - *bufcntp; int needed; if (*prefixes & (has_rep | has_repne)) - needed = snprintf (&bufp[*bufcntp], avail, "%%%s", regs[byte]); + needed = snprintf (&bufp[*bufcntp], avail, "%%%s", dregs[byte]); else needed = snprintf (&bufp[*bufcntp], avail, "%%mm%" PRIxFAST8, byte); if ((size_t) needed > avail) @@ -344,7 +474,13 @@ generic_abs (int *prefixes __attribute__ ((unused)), const uint8_t *end __attribute__ ((unused)), DisasmGetSymCB_t symcb __attribute__ ((unused)), void *symcbarg __attribute__ ((unused)), - const char *absstring) + const char *absstring +#ifdef X86_64 + , int abslen +#else +# define abslen 4 +#endif + ) { int r = data_prefix (prefixes, bufp, bufcntp, bufsize); if (r != 0) @@ -352,12 +488,22 @@ generic_abs (int *prefixes __attribute__ ((unused)), assert (opoff1 % 8 == 0); assert (opoff1 / 8 == 1); - if (*param_start + 4 > end) + if (*param_start + abslen > end) return -1; - *param_start += 4; - uint32_t absval = read_4ubyte_unaligned (&data[1]); + *param_start += abslen; +#ifndef X86_64 + uint32_t absval; +# define ABSPRIFMT PRIx32 +#else + uint64_t absval; +# define ABSPRIFMT PRIx64 + if (abslen == 8) + absval = read_8ubyte_unaligned (&data[1]); + else +#endif + absval = read_4ubyte_unaligned (&data[1]); size_t avail = bufsize - *bufcntp; - int needed = snprintf (&bufp[*bufcntp], avail, "%s0x%" PRIx32, + int needed = snprintf (&bufp[*bufcntp], avail, "%s0x%" ABSPRIFMT, absstring, absval); if ((size_t) needed > avail) return needed - avail; @@ -383,7 +529,11 @@ FCT_absval (GElf_Addr addr __attribute__ ((unused)), { return generic_abs (prefixes, opoff1, bufp, bufcntp, bufsize, data, param_start, end, symcb, - symcbarg, "$"); + symcbarg, "$" +#ifdef X86_64 + , 4 +#endif + ); } static int @@ -404,7 +554,11 @@ FCT_abs (GElf_Addr addr __attribute__ ((unused)), { return generic_abs (prefixes, opoff1, bufp, bufcntp, bufsize, data, param_start, end, symcb, - symcbarg, ""); + symcbarg, "" +#ifdef X86_64 + , 8 +#endif + ); } static int @@ -576,7 +730,12 @@ FCT_ds_xx (const char *reg, size_t avail = bufsize - *bufcntp; int needed = snprintf (&bufp[*bufcntp], avail, "(%%%s%s)", - *prefixes & idx_addr16 ? "" : "e", reg); +#ifdef X86_64 + *prefixes & idx_addr16 ? "e" : "r", +#else + *prefixes & idx_addr16 ? "" : "e", +#endif + reg); if ((size_t) needed > avail) return (size_t) needed - avail; *bufcntp += needed; @@ -665,7 +824,12 @@ FCT_es_di (GElf_Addr addr __attribute__ ((unused)), { size_t avail = bufsize - *bufcntp; int needed = snprintf (&bufp[*bufcntp], avail, "%%es:(%%%sdi)", - *prefixes & idx_addr16 ? "" : "e"); +#ifdef X86_64 + *prefixes & idx_addr16 ? "e" : "r" +#else + *prefixes & idx_addr16 ? "" : "e" +#endif + ); if ((size_t) needed > avail) return (size_t) needed - avail; *bufcntp += needed; @@ -757,9 +921,14 @@ FCT_imms (GElf_Addr addr __attribute__ ((unused)), void *symcbarg __attribute__ ((unused))) { size_t avail = bufsize - *bufcntp; - int_fast8_t byte = *(*param_start)++; + int8_t byte = *(*param_start)++; +#ifdef X86_64 + int needed = snprintf (&bufp[*bufcntp], avail, "$0x%" PRIx64, + (int64_t) byte); +#else int needed = snprintf (&bufp[*bufcntp], avail, "$0x%" PRIx32, (int32_t) byte); +#endif if ((size_t) needed > avail) return (size_t) needed - avail; *bufcntp += needed; @@ -793,8 +962,13 @@ FCT_imm$s (GElf_Addr addr __attribute__ ((unused)), { if (*param_start + 4 > end) return -1; - uint32_t word = read_4ubyte_unaligned_inc (*param_start); + int32_t word = read_4sbyte_unaligned_inc (*param_start); +#ifdef X86_64 + int needed = snprintf (&bufp[*bufcntp], avail, "$0x%" PRIx64, + (int64_t) word); +#else int needed = snprintf (&bufp[*bufcntp], avail, "$0x%" PRIx32, word); +#endif if ((size_t) needed > avail) return (size_t) needed - avail; *bufcntp += needed; @@ -893,7 +1067,6 @@ FCT_imm8 (GElf_Addr addr __attribute__ ((unused)), return 0; } -#ifndef X86_64 static int FCT_rel (GElf_Addr addr __attribute__ ((unused)), int *prefixes __attribute__ ((unused)), @@ -913,15 +1086,19 @@ FCT_rel (GElf_Addr addr __attribute__ ((unused)), size_t avail = bufsize - *bufcntp; if (*param_start + 4 > end) return -1; - uint32_t rel = read_4ubyte_unaligned_inc (*param_start); + int32_t rel = read_4sbyte_unaligned_inc (*param_start); +#ifdef X86_64 + int needed = snprintf (&bufp[*bufcntp], avail, "0x%" PRIx64, + (uint64_t) (addr + rel + (*param_start - data))); +#else int needed = snprintf (&bufp[*bufcntp], avail, "0x%" PRIx32, (uint32_t) (addr + rel + (*param_start - data))); +#endif if ((size_t) needed > avail) return (size_t) needed - avail; *bufcntp += needed; return 0; } -#endif static int FCT_mmxreg (GElf_Addr addr __attribute__ ((unused)), @@ -971,14 +1148,33 @@ FCT_mod$r_m (GElf_Addr addr __attribute__ ((unused)), uint_fast8_t modrm = data[opoff1 / 8]; if ((modrm & 0xc0) == 0xc0) { + if (*prefixes & has_addr16) + return -1; + int is_16bit = (*prefixes & has_data16) != 0; if (*bufcntp + 5 - is_16bit > bufsize) return *bufcntp + 5 - is_16bit - bufsize; bufp[(*bufcntp)++] = '%'; - memcpy (&bufp[*bufcntp], regs[modrm & 7] + is_16bit, - sizeof (regs[0]) - is_16bit); - *bufcntp += 3 - is_16bit; + + char *cp; +#ifdef X86_64 + if ((*prefixes & has_rex_b) != 0 && !is_16bit) + { + cp = stpcpy (&bufp[*bufcntp], hiregs[modrm & 7]); + if ((*prefixes & has_rex_w) == 0) + *cp++ = 'd'; + } + else +#endif + { + cp = stpcpy (&bufp[*bufcntp], dregs[modrm & 7] + is_16bit); +#ifdef X86_64 + if ((*prefixes & has_rex_w) != 0) + bufp[*bufcntp] = 'r'; +#endif + } + *bufcntp = cp - bufp; return 0; } @@ -1013,6 +1209,9 @@ FCT_moda$r_m (GElf_Addr addr __attribute__ ((unused)), uint_fast8_t modrm = data[opoff1 / 8]; if ((modrm & 0xc0) == 0xc0) { + if (*prefixes & has_addr16) + return -1; + if (*bufcntp + 3 > bufsize) return *bufcntp + 3 - bufsize; @@ -1029,6 +1228,14 @@ FCT_moda$r_m (GElf_Addr addr __attribute__ ((unused)), #endif +#ifdef X86_64 +static const char rex_8bit[8][3] = + { + [0] = "a", [1] = "c", [2] = "d", [3] = "b", + [4] = "sp", [5] = "bp", [6] = "si", [7] = "di" + }; +#endif + static int FCT_mod$r_m$w (GElf_Addr addr __attribute__ ((unused)), int *prefixes __attribute__ ((unused)), @@ -1053,24 +1260,60 @@ FCT_mod$r_m$w (GElf_Addr addr __attribute__ ((unused)), uint_fast8_t modrm = data[opoff1 / 8]; if ((modrm & 0xc0) == 0xc0) { + if (*prefixes & has_addr16) + return -1; + + if (*bufcntp + 5 > bufsize) + return *bufcntp + 5 - bufsize; + if ((data[opoff3 / 8] & (1 << (7 - (opoff3 & 7)))) == 0) { - if (*bufcntp + 3 > bufsize) - return *bufcntp + 3 - bufsize; bufp[(*bufcntp)++] = '%'; - bufp[(*bufcntp)++] = "acdb"[modrm & 3]; - bufp[(*bufcntp)++] = "lh"[(modrm & 4) >> 2]; + +#ifdef X86_64 + if (*prefixes & has_rex) + { + if (*prefixes & has_rex_r) + *bufcntp += snprintf (bufp + *bufcntp, bufsize - *bufcntp, + "r%db", 8 + (modrm & 7)); + else + { + char *cp = stpcpy (bufp + *bufcntp, hiregs[modrm & 7]); + *cp++ = 'l'; + *bufcntp = cp - bufp; + } + } + else +#endif + { + bufp[(*bufcntp)++] = "acdb"[modrm & 3]; + bufp[(*bufcntp)++] = "lh"[(modrm & 4) >> 2]; + } } else { int is_16bit = (*prefixes & has_data16) != 0; - if (*bufcntp + 5 - is_16bit > bufsize) - return *bufcntp + 5 - is_16bit - bufsize; bufp[(*bufcntp)++] = '%'; - memcpy (&bufp[*bufcntp], regs[modrm & 7] + is_16bit, - sizeof (regs[0]) - is_16bit); - *bufcntp += 3 - is_16bit; + + char *cp; +#ifdef X86_64 + if ((*prefixes & has_rex_b) != 0 && !is_16bit) + { + cp = stpcpy (&bufp[*bufcntp], hiregs[modrm & 7]); + if ((*prefixes & has_rex_w) == 0) + *cp++ = 'd'; + } + else +#endif + { + cp = stpcpy (&bufp[*bufcntp], dregs[modrm & 7] + is_16bit); +#ifdef X86_64 + if ((*prefixes & has_rex_w) != 0) + bufp[*bufcntp] = 'r'; +#endif + } + *bufcntp = cp - bufp; } return 0; } @@ -1081,7 +1324,6 @@ FCT_mod$r_m$w (GElf_Addr addr __attribute__ ((unused)), } -#ifndef X86_64 static int FCT_mod$8r_m (GElf_Addr addr __attribute__ ((unused)), int *prefixes __attribute__ ((unused)), @@ -1114,7 +1356,6 @@ FCT_mod$8r_m (GElf_Addr addr __attribute__ ((unused)), bufcntp, bufsize, data, param_start, end, symcb, symcbarg); } -#endif static int FCT_mod$16r_m (GElf_Addr addr __attribute__ ((unused)), @@ -1140,7 +1381,7 @@ FCT_mod$16r_m (GElf_Addr addr __attribute__ ((unused)), if (*bufcntp + 3 > bufsize) return *bufcntp + 3 - bufsize; bufp[(*bufcntp)++] = '%'; - memcpy (&bufp[*bufcntp], regs[byte] + 1, sizeof (regs[0]) - 1); + memcpy (&bufp[*bufcntp], dregs[byte] + 1, sizeof (dregs[0]) - 1); *bufcntp += 2; return 0; } @@ -1150,6 +1391,45 @@ FCT_mod$16r_m (GElf_Addr addr __attribute__ ((unused)), symcb, symcbarg); } +#ifdef X86_64 +static int +FCT_mod$64r_m (GElf_Addr addr __attribute__ ((unused)), + int *prefixes __attribute__ ((unused)), + const char *op1str __attribute__ ((unused)), + size_t opoff1 __attribute__ ((unused)), + size_t opoff2 __attribute__ ((unused)), + size_t opoff3 __attribute__ ((unused)), + char *bufp __attribute__ ((unused)), + size_t *bufcntp __attribute__ ((unused)), + size_t bufsize __attribute__ ((unused)), + const uint8_t *data __attribute__ ((unused)), + const uint8_t **param_start __attribute__ ((unused)), + const uint8_t *end __attribute__ ((unused)), + DisasmGetSymCB_t symcb __attribute__ ((unused)), + void *symcbarg __attribute__ ((unused))) +{ + assert (opoff1 % 8 == 0); + uint_fast8_t modrm = data[opoff1 / 8]; + if ((modrm & 0xc0) == 0xc0) + { + uint_fast8_t byte = data[opoff1 / 8] & 7; + if (*bufcntp + 4 > bufsize) + return *bufcntp + 4 - bufsize; + char *cp = &bufp[*bufcntp]; + *cp++ = '%'; + cp = stpcpy (cp, (*prefixes & has_rex_b) ? hiregs[byte] : aregs[byte]); + *bufcntp = cp - bufp; + return 0; + } + + return general_mod$r_m (addr, prefixes, op1str, opoff1, opoff2, opoff3, bufp, + bufcntp, bufsize, data, param_start, end, + symcb, symcbarg); +} +#else +static typeof (FCT_mod$r_m) FCT_mod$64r_m __attribute__ ((alias ("FCT_mod$r_m"))); +#endif + static int FCT_reg (GElf_Addr addr __attribute__ ((unused)), int *prefixes __attribute__ ((unused)), @@ -1171,11 +1451,69 @@ FCT_reg (GElf_Addr addr __attribute__ ((unused)), byte >>= 8 - (opoff1 % 8 + 3); byte &= 7; int is_16bit = (*prefixes & has_data16) != 0; - if (*bufcntp + 4 > bufsize) - return *bufcntp + 4 - bufsize; + if (*bufcntp + 5 > bufsize) + return *bufcntp + 5 - bufsize; bufp[(*bufcntp)++] = '%'; - memcpy (&bufp[*bufcntp], regs[byte] + is_16bit, sizeof (regs[0]) - is_16bit); - *bufcntp += 3 - is_16bit; +#ifdef X86_64 + if ((*prefixes & has_rex_r) != 0 && !is_16bit) + { + *bufcntp += snprintf (&bufp[*bufcntp], bufsize - *bufcntp, "r%d", + 8 + byte); + if ((*prefixes & has_rex_w) == 0) + bufp[(*bufcntp)++] = 'd'; + } + else +#endif + { + memcpy (&bufp[*bufcntp], dregs[byte] + is_16bit, 3 - is_16bit); +#ifdef X86_64 + if ((*prefixes & has_rex_w) != 0 && !is_16bit) + bufp[*bufcntp] = 'r'; +#endif + *bufcntp += 3 - is_16bit; + } + return 0; +} + +static int +FCT_reg64 (GElf_Addr addr __attribute__ ((unused)), + int *prefixes __attribute__ ((unused)), + const char *op1str __attribute__ ((unused)), + size_t opoff1 __attribute__ ((unused)), + size_t opoff2 __attribute__ ((unused)), + size_t opoff3 __attribute__ ((unused)), + char *bufp __attribute__ ((unused)), + size_t *bufcntp __attribute__ ((unused)), + size_t bufsize __attribute__ ((unused)), + const uint8_t *data __attribute__ ((unused)), + const uint8_t **param_start __attribute__ ((unused)), + const uint8_t *end __attribute__ ((unused)), + DisasmGetSymCB_t symcb __attribute__ ((unused)), + void *symcbarg __attribute__ ((unused))) +{ + uint_fast8_t byte = data[opoff1 / 8]; + assert (opoff1 % 8 + 3 <= 8); + byte >>= 8 - (opoff1 % 8 + 3); + byte &= 7; + if ((*prefixes & has_data16) != 0) + return -1; + if (*bufcntp + 5 > bufsize) + return *bufcntp + 5 - bufsize; + bufp[(*bufcntp)++] = '%'; +#ifdef X86_64 + if ((*prefixes & has_rex_r) != 0) + { + *bufcntp += snprintf (&bufp[*bufcntp], bufsize - *bufcntp, "r%d", + 8 + byte); + if ((*prefixes & has_rex_w) == 0) + bufp[(*bufcntp)++] = 'd'; + } + else +#endif + { + memcpy (&bufp[*bufcntp], aregs[byte], 3); + *bufcntp += 3; + } return 0; } @@ -1202,15 +1540,34 @@ FCT_reg$w (GElf_Addr addr __attribute__ ((unused)), assert (opoff1 % 8 + 3 <= 8); byte >>= 8 - (opoff1 % 8 + 3); byte &= 7; - if (*bufcntp + 3 > bufsize) - return *bufcntp + 3 - bufsize; + + if (*bufcntp + 4 > bufsize) + return *bufcntp + 4 - bufsize; + bufp[(*bufcntp)++] = '%'; - bufp[(*bufcntp)++] = "acdb"[byte & 3]; - bufp[(*bufcntp)++] = "lh"[byte >> 2]; + +#ifdef X86_64 + if (*prefixes & has_rex) + { + if (*prefixes & has_rex_r) + *bufcntp += snprintf (bufp + *bufcntp, bufsize - *bufcntp, + "r%db", 8 + byte); + else + { + char* cp = stpcpy (bufp + *bufcntp, rex_8bit[byte]); + *cp++ = 'l'; + *bufcntp = cp - bufp; + } + } + else +#endif + { + bufp[(*bufcntp)++] = "acdb"[byte & 3]; + bufp[(*bufcntp)++] = "lh"[byte >> 2]; + } return 0; } -#ifndef X86_64 static int FCT_freg (GElf_Addr addr __attribute__ ((unused)), int *prefixes __attribute__ ((unused)), @@ -1238,6 +1595,7 @@ FCT_freg (GElf_Addr addr __attribute__ ((unused)), return 0; } +#ifndef X86_64 static int FCT_reg16 (GElf_Addr addr __attribute__ ((unused)), int *prefixes __attribute__ ((unused)), diff --git a/libcpu/i386_disasm.c b/libcpu/i386_disasm.c index a9edcffd..ecdbfb65 100644 --- a/libcpu/i386_disasm.c +++ b/libcpu/i386_disasm.c @@ -90,7 +90,12 @@ static const unsigned short int mneidx[] = enum { - idx_cs = 0, + idx_rex_b = 0, + idx_rex_x, + idx_rex_r, + idx_rex_w, + idx_rex, + idx_cs, idx_ds, idx_es, idx_fs, @@ -106,6 +111,11 @@ enum enum { #define prefbit(pref) has_##pref = 1 << idx_##pref + prefbit (rex_b), + prefbit (rex_x), + prefbit (rex_r), + prefbit (rex_w), + prefbit (rex), prefbit (cs), prefbit (ds), prefbit (es), @@ -226,7 +236,7 @@ i386_disasm (const uint8_t **startp, const uint8_t *end, GElf_Addr addr, while (data < end) { unsigned int i; - for (i = 0; i < nknown_prefixes; ++i) + for (i = idx_cs; i < nknown_prefixes; ++i) if (known_prefixes[i] == *data) break; if (i == nknown_prefixes) @@ -237,6 +247,11 @@ i386_disasm (const uint8_t **startp, const uint8_t *end, GElf_Addr addr, ++data; } +#ifdef X86_64 + if (data < end && (*data & 0xf0) == 0x40) + prefixes |= ((*data++) & 0xf) | has_rex; +#endif + assert (data <= end); if (data == end) { @@ -407,19 +422,29 @@ i386_disasm (const uint8_t **startp, const uint8_t *end, GElf_Addr addr, { uint_fast8_t modrm = codep[-1]; - if ((prefixes & has_addr16) == 0) +#ifndef X86_64 + if (likely ((prefixes & has_addr16) != 0)) + { + /* Account for displacement. */ + if ((modrm & 0xc7) == 6 || (modrm & 0xc0) == 0x80) + param_start += 2; + else if ((modrm & 0xc0) == 0x40) + param_start += 1; + } + else +#endif { /* Account for SIB. */ if ((modrm & 0xc0) != 0xc0 && (modrm & 0x7) == 0x4) param_start += 1; - } - /* Account for displacement. */ - if ((modrm & 0xc7) == 5 || (modrm & 0xc0) == 0x80 - || ((modrm & 0xc7) == 0x4 && (codep[0] & 0x7) == 0x5)) - param_start += 4; - else if ((modrm & 0xc0) == 0x40) - param_start += 1; + /* Account for displacement. */ + if ((modrm & 0xc7) == 5 || (modrm & 0xc0) == 0x80 + || ((modrm & 0xc7) == 0x4 && (codep[0] & 0x7) == 0x5)) + param_start += 4; + else if ((modrm & 0xc0) == 0x40) + param_start += 1; + } if (unlikely (param_start > end)) goto not; @@ -484,6 +509,7 @@ i386_disasm (const uint8_t **startp, const uint8_t *end, GElf_Addr addr, size_t start_idx = bufcnt; switch (*fmt++) { + char mnebuf[16]; const char *str; case 'm': @@ -493,15 +519,6 @@ i386_disasm (const uint8_t **startp, const uint8_t *end, GElf_Addr addr, { switch (*data) { - case 0x90: - if (prefixes & ~has_rep) - goto print_prefix; - /* Discard the 'rep' prefix string possibly - already in the buffer. */ - bufcnt = 0; - str = prefixes & has_rep ? "pause" : "nop"; - break; - case 0x98: if (prefixes & ~has_data16) goto print_prefix; @@ -517,9 +534,56 @@ i386_disasm (const uint8_t **startp, const uint8_t *end, GElf_Addr addr, case 0xe3: if (prefixes & ~has_addr16) goto print_prefix; +#ifdef X86_64 + str = prefixes & has_addr16 ? "jecxz" : "jrcxz"; +#else str = prefixes & has_addr16 ? "jcxz" : "jecxz"; +#endif break; + case 0x0f: +#ifdef X86_64 + if (data[1] == 0xc7) + { + str = ((prefixes & has_rex_w) + ? "cmpxchg16b" : "cmpxchg8b"); + break; + } +#endif + if (data[1] == 0xc2) + { + if (param_start >= end) + goto not; + if (*param_start > 7) + goto not; + static const char cmpops[][9] = + { + [0] = "cmpeq", + [1] = "cmplt", + [2] = "cmple", + [3] = "cmpunord", + [4] = "cmpneq", + [5] = "cmpnlt", + [6] = "cmpnle", + [7] = "cmpord" + }; + char *cp = stpcpy (mnebuf, cmpops[*param_start]); + if (correct_prefix & (has_rep | has_repne)) + *cp++ = 's'; + else + *cp++ = 'p'; + if (correct_prefix & (has_data16 | has_repne)) + *cp++ = 'd'; + else + *cp++ = 's'; + *cp = '\0'; + str = mnebuf; + /* Eat the immediate byte indicating the + operation. */ + ++param_start; + break; + } + default: assert (! "INVALID not handled"); } @@ -565,11 +629,23 @@ i386_disasm (const uint8_t **startp, const uint8_t *end, GElf_Addr addr, ADD_CHAR ('w'); prefixes &= ~has_data16; } -#ifdef x86_64 +#ifdef X86_64 else - abort (); + ADD_CHAR ('q'); #endif break; + case suffix_W1: + if (prefixes & has_data16) + { + ADD_CHAR ('w'); + prefixes &= ~has_data16; + } +#ifdef X86_64 + else if (prefixes & has_rex_w) + ADD_CHAR ('q'); +#endif + break; + case suffix_tttn:; static const char tttn[16][3] = { diff --git a/libcpu/i386_parse.y b/libcpu/i386_parse.y index 5cfd3df2..896b11d0 100644 --- a/libcpu/i386_parse.y +++ b/libcpu/i386_parse.y @@ -108,7 +108,7 @@ struct instruction /* Suffix. */ enum { suffix_none = 0, suffix_w, suffix_w0, suffix_W, suffix_tttn, - suffix_w1, suffix_D } suffix; + suffix_w1, suffix_W1, suffix_D } suffix; /* Flag set if modr/m is used. */ int modrm; @@ -324,6 +324,8 @@ instr: bytes ':' bitfieldopt kID bitfieldopt optargs newp->suffix = suffix_w1; else if (strcmp ($5->name, "W") == 0) newp->suffix = suffix_W; + else if (strcmp ($5->name, "W1") == 0) + newp->suffix = suffix_W1; else if (strcmp ($5->name, "D") == 0) newp->suffix = suffix_D; else @@ -1130,6 +1132,7 @@ instrtable_out (void) EMIT_SUFFIX (tttn); EMIT_SUFFIX (D); EMIT_SUFFIX (w1); + EMIT_SUFFIX (W1); fputc_unlocked ('\n', outfile); diff --git a/tests/ChangeLog b/tests/ChangeLog index 7ad6942a..4a76f034 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,14 @@ +2008-01-08 Ulrich Drepper + + * Makefile.am (TESTS): Add run-disasm-x86-64.sh. + (EXTRA): Add testfile45.S.bz2, testfile45.expect.bz2, + run-disasm-x86-64.sh. + * run-disasm-x86-64.sh: New file. + * testfile45.S.bz2: New file. + * testfile45.expect.bz2: New file. + * testfile44.S.bz2: New tests. + * testfile44.expect.bz2: Adjust. + 2008-01-04 Ulrich Drepper * testfile44.S.bz2: New tests. diff --git a/tests/Makefile.am b/tests/Makefile.am index 25631e3c..42f71ce4 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,6 +1,6 @@ ## Process this file with automake to create Makefile.in ## -## Copyright (C) 1996-2002, 2003, 2004, 2005, 2006, 2007 Red Hat, Inc. +## Copyright (C) 1996-2002, 2003, 2004, 2005, 2006, 2007, 2008 Red Hat, Inc. ## This file is part of Red Hat elfutils. ## ## Red Hat elfutils is free software; you can redistribute it and/or modify @@ -84,7 +84,7 @@ TESTS = run-arextract.sh run-arsymtest.sh newfile test-nlist \ dwfl-bug-addr-overflow run-addrname-test.sh \ dwfl-bug-fd-leak dwfl-bug-report \ run-dwfl-bug-offline-rel.sh run-dwfl-addr-sect.sh \ - run-disasm.sh + run-disasm-x86.sh run-disasm-x86-64.sh # run-show-ciefde.sh if !STANDALONE @@ -135,7 +135,8 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \ testfile37.bz2 testfile37.debug.bz2 \ testfile38.bz2 testfile39.bz2 testfile40.bz2 testfile40.debug.bz2 \ testfile41.bz2 testfile42.bz2 testfile43.bz2 \ - testfile44.S.bz2 testfile44.expect.bz2 run-disasm.sh + testfile44.S.bz2 testfile44.expect.bz2 run-disasm-x86.sh \ + testfile45.S.bz2 testfile45.expect.bz2 run-disasm-x86-64.sh installed_TESTS_ENVIRONMENT = libdir=$(DESTDIR)$(libdir) \ bindir=$(DESTDIR)$(bindir) \ diff --git a/tests/run-disasm-x86-64.sh b/tests/run-disasm-x86-64.sh new file mode 100755 index 00000000..2d9ed631 --- /dev/null +++ b/tests/run-disasm-x86-64.sh @@ -0,0 +1,36 @@ +#! /bin/sh +# Copyright (C) 2007, 2008 Red Hat, Inc. +# This file is part of Red Hat elfutils. +# +# Red Hat elfutils is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by the +# Free Software Foundation; version 2 of the License. +# +# Red Hat elfutils is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with Red Hat elfutils; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. +# +# Red Hat elfutils is an included package of the Open Invention Network. +# An included package of the Open Invention Network is a package for which +# Open Invention Network licensees cross-license their patents. No patent +# license is granted, either expressly or impliedly, by designation as an +# included package. Should you wish to participate in the Open Invention +# Network licensing program, please visit www.openinventionnetwork.com +# . + +. $srcdir/test-subr.sh + +# Run x86-64 test. +case "$(arch)" in + x86_64) + tempfiles testfile45.o + testfiles testfile45.S testfile45.expect + gcc -m64 -c -o testfile45.o testfile45.S + testrun_compare ../src/objdump -d testfile45.o < testfile45.expect + ;; +esac diff --git a/tests/run-disasm.sh b/tests/run-disasm-x86.sh similarity index 100% rename from tests/run-disasm.sh rename to tests/run-disasm-x86.sh diff --git a/tests/testfile44.S.bz2 b/tests/testfile44.S.bz2 index c3af52625e9a60c962097d1ce6bec8463dfd14a3..cbd0da3d1faff52981768aa147f96574d16bb601 100644 GIT binary patch literal 16435 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 literal 16107 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 s(g~ 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 literal 53649 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 literal 0 HcmV?d00001 diff --git a/tests/testfile45.expect.bz2 b/tests/testfile45.expect.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..ac814e31a7d8b72a004f1843486f3857fd6b9d38 GIT binary patch literal 74090 zcmcG02|Sct`|xdFDrK!K(GU`4mo>^BStt9>SjQT&Q-neY*|S89HTyOwMOiD%U~E}q zFlj8=^4+6n>3N^`dB6An{r=y5&YbPKu5-?Ho$H))pXHwG#txD~3P#*|Mr09XDAEM3 z!_dG)RY2J{X1-O#GZAF6hM87iUZB@W>H6S!%}| ztEwW0VF%q}(V7nCNna0nRREB-1gqo&u+h|z-)z;VC%3At6a?ffMbCW&C@_s1Bys`n z=Nf_2md76`Ug~{JQui(5pwA|joSb*mD>4ciW&QJ#gPigr7?rej zUj#naMHE;^(1B98U%Rz;emvhk8WGoPH^5bWP6m?vWZ7-R#- z9u2F?zhNZ1$4+Rm2$@x0wbU>I>T)J_bN|?g6(kgT|3E?B0%v0 zAgct3OYEsafiE_%KS&>sgIKP*hLHLH_=U(Li5q^T& zB$L&XuRbp^@QiO>FZ$+0Ete!nQv$DlIygPy14^DKw7b!}b&Gz`=u)q!c3!Mbt~`^i z!~H?+$a5BTor(K~4tFH;l& zK+=JFG#xSXDb3Qc zwky`!k`MhwozWp?2fmwABNQv_?p@sJj)m#$blH~;9*r#-r011OQa^SNT@?$;(wK+Gx`F5cq4_?h}<@9*O zGLW5u{?XN{QIM_$CyEmt3~F}pqw^|P8J{YiH9go|%tr-+FilzeH-j^dg;|S!h3Sqj z{3abI9Sh@-a#JBjtM#+Nir&~AD#NPw@C)|A#1 z9e?-Dagk7n)~Pw^0c~z#h0s(g(4In1qYr+F;CrSIalvgHo@l*7=Q4C`0KH|Awy)*8 z1h$XdHD~4qZxv=HN59`*A6S3YPZGHJ<@=Y7%#d)!#l_vj7rTcQyP=@21As0>qqny= zD(WZ#0Hk?bVDw#7=x=fLe+&K%_`CO$CQ)8z6Y> zD+vI4^qUt76Hd=7DJjaKY70>{U=rgd#7aPDOGhwGb$4yGd^H%byo6PJZEUlWXC)lF zIWaMAE(cHweFYRAhZ3LsaX4_MYwd3IHy--vB#lDtz05_)cQgAy`<3?N#Gq$04TOO? zfavmI-h|3ngq}Gb2%G}p=x{FfPav}L0j;chg9^l%IKtS zEzIN=W)l6AX@aCIbd4QpgZ1_GZ>%~S!=3CHv(cU2&r!8y&c>gdjX_^xpAmZW_&gf| zJBgmA=-i;Dr0Af(+-~5&YAS|3ODe1SjO_ZN6jk`p$h7S&yA8X|waaoA1NHsBQwh6m z3Zal;hW_Bd!1EJElVpR4SF`4*vQ0b(k}=QZ8jdc0F+6BBPgp8_~)Zr=PuMSg3U z|Ky2n3739Vx8WNA0P+OUbd5Ya;e^czjM>DuHQ&2o6Fi2-<#n1-N?DT`h^)2}SM!G)FyS1aLnR zcRNWaLGQKz)}zw?$HYaUU{UYWo~EVm8Sb6=KC`^vN~k(>^B#YV%J?$`&-68S9l<{* z)qj{AnKWO+4>nG89h#wj%m5@`yNU02E6MAS%_l8}WWP5cmK+=7fN;jNuHk_fj`r-! zWzv(wPFeYebQif&jOB^$_|%VF!+$?SxM3xJG#oOMRHzrHBhnCv;`D2~19e?&=4SMq zmP4xpBo0OO-UA`_(p%s0eslX{u(U$QbXZ!9%^3~*gCC02hdv)!Ab)u{v;7u-v2!4E zL^#>r?HCOk`ZI4jg@m4ph@6E9MaNj%#QAo02D`<{MM_U@zn%5$>p$Lw4v4Wi-WUIB zsrFJbb=k@ACfKsYRU+5YTmwm%@x#85Tm^lh!dFFYna;W$SMUw z^V)NXEDebb8TgMu6cgL4)Tx=sjuF2LPi)U4n0t?i2`2A%{4kee3NFViO^8RB?u{H} zaXtD}q9R8am68&NG7*+56mFj? zR)8>2hU;?aM?oQqXX16q>=?ofp;o%2mPuzgl&PR$7k~nw;C2FC0-fS{#RpK!vy4ee z#sIYrwUQ$=_jZ!8l7mt-V*z6-wBU9!A(G1!N}Ob@??9GwJJgr~#sE7-4Rru`p*dhK z$%YAr5r)Zz$wpMrC}^}i1ZvG_O=PY3r?E8B53^$mSJT#!*s``&1x=GOR$^?@zdKxC?u{zyz9f7mW01`YX}$0bS1umM|0IK}&dCF{oxZ5m z+Axf&?Qn)e%QvMsoPCW-C#=S%yBBXsp*oAEf_7WJUW@fw@GU2AM&(ZKVU5wJ>20qOIClL*jR3hv>q6ZzCj*#9TN#@t&h@0?)W>V>* zh38Ih?q|O7uR7KJSg(JR!?;fIYTgH;mQXT2*qxDlD@OS(6mQXjC4%?M*xa`+OEW3d zd+!brlBtX?mmz1v$;%s)_^;R5mqVUy{*Y_jDf^20KI;Kd`EId}J7|^j-;@doeuk;I zY_{XM*tNYyGTOm-I#$L-nvb+WnU@FOfuHLUsS$c_tw@t$geAK ze`m97c;RF${l-ps;8bhiw8plpj&pR)TG=ge{~dJZw&={)oi_N(ww~|%nBN$5bL3L}8Xh}Y zRyQ^!-1s1SZGh%}bAy+k#96{*Nf_;LPtn-`Md;aN=%6s7QiQKW(p+YHeHLA=CH+h; zaKSbceDmv@6pC?{M2?}ItMJ0rgvq>G zmYfETs{h8Bt#z#r7;+UmeY(CAl+l?^u`;>ZGN)xwKM-{=RLyQ@ZAq3iUY36>zXJv1 zrXpvt51JASa@GRp`PSMO;5=^;mKF-Ls;fhdVQ!C&fc1x(S6?h08E;x29I%jS+*%zg zF-kTnQEtjgE7{uH8IavZJEu>v;<>&vc!NJ*@E5EmM|O_uJCjzTR!;sp=d@1vM|Is4 zbwh3Kui4$YNmaV9?>%_`ijZUkxfdxU1uj6|-=wBySNsmHMiNsP7-V>=k_z~fDsyr- zv?4C58(p+gxY5YUfWJ}Ti%SJBF=KAGOq-gg8M0~EU8%nQqg-G;#|9LH_W zYJj?-89-ZctGw)L!_~d3jth1$!n+X+CVzx~;V8Zyoo1944-lDJgTwaNnb0E;01%sl z`Pc#^93=Wi9^amRuNKygx7dJ1-&x`~s+ba)-+!!=jX0k-rxXC8 zrD!96RiB4>;e?1DUDf7R{Zv4(hMm!LVOpAFS_;^(JsKK>*B#O{2cxts{8~`OQykBe zwt(3Y5au;jCEA3_x5-HLF-VJMO^dwASul9x231lY9|AF~4--yIQBk84OiW9Lb_$g_ zb#;oZ?gh=B&-YqdJa@!6G0$2aw+_8QMssts-;sm}f}tV=)BZm@fdf3=-LXo_dF_NE zkDgOiJ&>81nRY<*kDhVVJ^pk!K)fTl|C#hN^g~Pvl^Nu0OsI6$m6S$Pv&*%{IUqK* zT3T9K7V-jA3<{O~FIFLf=igK@}53R|R(WtXmK- zsu&1Q#^|>^MDdjOj&#yWzpSQQmR@gnZ*M4YO>(X|pt*VQXH5O5I>^<4{@qAfp)a7O zMDkfTiqyo;9&=Qa+pwrDlZ)ugs^~qpJb~IQog5)@!OHVFn-S@*w=-T*B)f^0*Kbp$ zej2y_l{jA{o{>#~=m{xVb^t$q)IPFtWm{MbUTmAI;;}re#!p04<)$xKNlHQ0jVQVh z$|3c_DK`ZOUCu%vKE1#G_$Aoisbp|v`?IEQaaU*K*gh`xj}CqNIr1sL3?~dhR9C^Z zsLJw<>(=y)dQd`J{d|~;sc#DzIpr17>#rJi-nF5LNx8@8-pMK1DMm$1ERmLwEBHwC zN!pmz7~d1;Jz*BE#&g9d7-7A-}s=mGgcasNLz*clNdIz@nAfqB6iwkXnuHjvchE1 zcg{zr-RA)Z0Nmg_#SIPvuzbly%-%JxqmDYW4vx($`gWtx(PY<&S4$t~PVkynKF|h; zlIa*}p|tuC;XFRjNOe!*MXr{KgUc|ZelKtV{JZr2$3Dp;5s@n*S*)GxD73Fq=>Lcw zPOA2%zqZWb_Prusn$P-zmg0Mp+sG9+1$|5YN3n8Qa_|MmEJ=eG>bouFm_}omm?zRq z@iH2UOz6MBX@x)(Wj-(GhS`EN+f|ZFk#>Hm3GY)|Jf-k!Dn4jACDS5>#hN!4cwjds zxvxl%OhNk3-=5}m28yLP__XBp`$My{@A>Ue;ih@eInNZ9K)?NNz;~*zG#A{-G?fhu zpFq>Hd)Ep!YF&>FkR9XpEQ!LE0>CMNgj^3~lL%?iJP-hujk^o(q91vL?eyOQ#IiUL zmgg005it3fAQb-tFaZGM0a6enVAA$Eee`1ZC%-ho42gh=-j?OPDajT2&*uQZ{T*=7 z9B3oaRan$ip@!Yg&qn$p@z1qhf>d7tAQbSgnA~mwh{yqA*_MDww}8nCu%uA1h|Azq zWp9=xrEVpdrI^4b*{}X6F6P)hE*A%PM@!W&kd8dVM>y^L4O$sIUw_B_)E!(hrV-FS$K%V32&!uoql~-ZH!H^pW)r{ejx?Th8AbruTNU! z%MJWn1|<7E4$=F%I`=s_xuhzld%II^k}E6U*w;BYbP+2Pu{56jJ z@(Fp&GO00g%+(r{-T#B{wsUvqN894HB_z%ZWLo0L+X5TD9*F~&O&IU0VtoXZE-|sq zdCi?LZajB=E5;qI=<2?!wG##k_$q#}^+hXTowtDb%tK5VV(RM$vUjt02ur^V zxA06VFo}C|N-khI;Ak}nZ)N>^lIl?z83BPif0VFu{_iEsMgF~n#M9UyHvrfP2y8_T zJ&Jv{a`^bsvreyd7jIL}LXj5uRS_$}ZUmyF?t2~ta#Y{81Gl5qEf%!|ge zK7Q-SxxUakd?HNaeVPcjZIAEO*??G{q-XzJub!O^*Se#Xzka0~zX59Y$?uu8Wl$v4zyjan{npz!X9`|} zHC(XneRpJr#F$ZMW7pK+qsYo$pCRdRih;AqY_3Tv(zSV$2t&Rb&ur)=vDBiU7Q9P) zKP|*)U<`E%pNcs3_FZ;((^nh8?C2%_9{_{ZV8#8Xh9KDpqxBE_K`ofp$ z@Xda%^{oyqv(0X|VGb8~lHfg@S zro9DUOF4xR!zDm^hM6xKot^Es8n|0;0vY#(Z@^n{1(n9Nmh^g#=dPlL%UoE#TEmpi zd|L1@N_!F2n?oq7wY6mfKj6GL+%(Dr);}M<7^FU2Te-V?QieD{^SKY^UrVDDtg8d) z^_eXu#uW0Cy_Ge?UW0$-(V=O?d-*PYBZ zd)ah&4Hwed))lIA@)M7&#lQeNi|^F#gjAQ{kB4Q>-(w$RDLs_Sy5D4eYPikZGcb^e z|8a1zn~n6}#G-FyNp3XVSsHu+1~MqF&LGH>z{&0*v*s+%ZRm9&SnPchg_?CXnis?P zsd@A^<+b)l)V(5g{eCJ^v)3A+y zL|q@uSudcTJI}Tk1#6i6K7DX!dmC)&SwLxHwV)L>KdajVvN!RAN$C zo0ckCh=E;qc<2cBQBdo_tlhNhMoasg+tES@n zw9-BgNrnkfj$}cfN;l=H||gi3jEDNC~Tw z7B|gb5<_uqYcTJ8G|8hL$vR9KtOjOn{lI#n=A4_E3?9BJsNWnudyNU^O4@tDA5Z%NL<%5Mf%)!TK+i!C+N&ll9MMnZ{#rB0>V6-@Y^L zUluR1tCF08*&9nudj!~vW4udIF})hvy(V?{%dnsr(z`MKlTTtyJSAFs-_%E*KJO)6 zG**`KZZRk=%K;nqb~O_NM^zh(2npQ~avh_oFHc9ooG-z#{SmzSp<=EjZs0sTM)9 zef8+%=7k9iDxfxd2E-@rR&m)ozI`Xqt*fpy$HWEkumzQ>-LpHM#b z!zFNfTXNl4jJmVdSd8Qo$%(o$=Fp|Rz`(ld!n>t(Fj5sV4zFbkdw3#_)8WMkP z=E{%imkH9$UC-7He4`ZJ4~D)I=HD_dChCJb0+ zXXL_GcTKI+;No-$(FVI}P{g_C!DQ!Dzw&;)MjSqu#ZYk3ItAPd$;qI4B?)eayyZ_~ zkf9otJxW)nJ_pG9EMdA`>5}#J=`%>buhDmfW@lXw@TI~NUWzk^q1qZmeNx&C&B^L* z*FF$uB6jzH7kq7O!SW1iP`-l@OKNwLrn?9Pl_lj#c{ZfKHH!kjy#7lf?RZ8iBE9Ei z*X8w>h;$!#v{=**Shyhbk=J>Pb$ni zt;a-iNYd>U`o#~oxDkkZhQuW4cMu3l&`0=$>NV<@U@I!Aefg4urS?NFjw7JEn|lBu zdHn+ih#v6bAtDD{hHg;g9Ir=2`Au^{2{`DKjt zNdHd1=XlH;MNwsI2s5V;?FrU$uS{1$L}>dp7sRMq`A3jNh#0!RO$z(WCO&^;gCUsa z^<&RluOH{G@P3ygW52(`yU!k`Os_;ZGuPH$$$kiKR`Ds3oy-d)q~zU;V~RO za{U!SGT2!75VsmrG78GYS>o9l^{I6dCHVKMr`@e}V^ zA9OsnoZM z1}a$b146X_?m5+yAP*M(+XHe203c)k_>kp*AWQJ~PY=it0JQ%T6if#t4BpfE1wmk6 z;4f_bR&k%-8TbQOZ}Jaf`3t6N`!9JDf?zuUU^D#l12#Nx{GY)9kpl=k^B)lYCN;97 zI=}q4)ph+#ZQ+EN^KXdtsCx=OgTFBEz27D~c?(zOI=65k+S)LMLzE-OGlDqYVJR!X z+Xe4C?HkJx_H!O62NB=0UDiaGB2kI?s3@<{p2!e6T+ zia0Fq)r}b!Bx>>F3e^Vj_;YNNYnhv2-DkaYZ#I@RHl_!OFU?}T%^Rk&ycf~zfyQPZ z+nYDmtIqgz<@7q8euc!gY0nRtElO0n&o)%P}i}m?=7j;-O%{MoA>i3uxEg&>uc=?0QSv8HTd} zg`u2W<~B|4#zJj5=9#NuB!vIua?uYTw(ZGidab38Pokfp`*4dH z`@1`MG|R4RUiQbEo#O%1alCSzSnS8_^4q5+Z{0Y!|LDiv&Ij~{DSghjkqOhK(6@Q@ za(iDtGu+9xV%}>HT(53@s&^ZY4HAEN=UJ__WbTk#)W&QiMIa}V<%(IkCMUL(CVvVk zy;wHCpd42@SAFYH$S2s19*ZT*U-Q5YdASv5R_)HVnPldjd&I|f;5Z_3Ij&q1zw}{R zRrZPvX%P41^eMKpPbz3*I6md*f1t}RWl-)1j(>gWT-Bi`R#@E)KWDk`hr5q=9!Hxx z7VeA;ejA+Yx6+X&E4}QQ5xGa#K1<^I<<8?6i+<_py_d@-EpZ$EQ!2g6OER;?5(1Ma zRI;T$?`ZJ`WS4CidC!{pPnr4-pv*rmOR4VR`)TG|gM+rqY3o&79xV*mmzK5$ea9ym ze#(A|4%(dtX_3sCGm(ASUO|~y)m$>+V==Y>5Kr}i0U>(2Y4f$v=ogwDY$8T#e}A)_ zc4!Opfi3Uad)1z8q4AOz?{7W3yhd@`bpEmxxY1YJaKbG>HXo&OrZd9UF_kQMR7FSW z!9!s~LB^-gU0TJ)C%=tA&x|{>6vD*COFlc?(JWLor zI-zCUou43lhXek44liSO+on_q%9vCLHDx+YM@MUL>&v}2?gp;p$;zjVOHBA1D9?(D zO4m1>h2FABPJgFRGZMbwN)n#rO5u;dNmkxZBBfjjSHPID+V+W6q}QVYbZ&gUKRigwmA(-^Lgaq= z>2r7P+MaFjnE2~T$C-BwIRK@*^wYCwv?MOLY9l5~#gRQgGG%x3xy!z%FQ0Pnv(t^G zflmWAvE>O^Hp%T*Wg1AaOs|CoTwFqzUK+mQmS)eO#AM@VmdqD@Y&U(;n)y+C9+I)| zs z!1xo&#fH>6tGZjv`jnfheDS!aH|+!03yumF=8c<@|@M?I)W#`VGlV?TJTv zh-iK5;(1R#tfJu~w|da%p7&s{@hvXPb^8=aX;^H7LX1F~^!toiUU3qfLEWhPDY1wK z)KccM-LwOZsCUohwZ_-m1^`_Cco<61ugjR+Fi~wS@sd^c`rQvg-V`ono1o2~rK)7fN61WoazA3hNJm5N8X zZs~bH`b1AD{z+4M2Yw;gZbo+d)%Y&h8P#2E zY)6`_R}oGoQ5yS{XR6SV^W$U!&eS8nb%V8w+xxjy&tiR>%-q@l|A}46R@UikS<{Bi z%+aMwEuOc+21y689ab}o9NzCIUU&Ii{rI|D`N@T59M0VCGrO6{d-v?3{g3nh1t|+E zk~`>I5owmMiISil93Gid538^CLJha@$h8cPV@py+z&!hfHb3U<`pJq0+tGmPW|Eqf z<(aG=FV5cSnmR8_v(Dl-^}^!53lm%Bx{X# zoIr$5Z0E}+n2n87D^sN6*ejD$?oP$YMioKgjMv*NjHQI^Z=Ro=7}_jFNYe9MCm+A8 zCDI9nNp&#l7^&MqF?>11b`-TTJDzBl`deDums7(AZO88?%L>VS{kqa;zQUe;>rs$y zPmrw#a;MDP=D4@z@*NY$p?YD7Mr7K=#Qn7QE?$>nv{+h{I9yg3GHS~lg(fB9WjyZ+ z+&aKS6 zHdD%Eb!3sA@=q7I*cXQLU(ffsjA}hbSOb@1; ztcH_YMphpaSsoO$Sj!z=e3kpM>P^k;={5GI;qXP`Z(FG~)#8iL{-5K>X4+Pq!%joh zGuXNPp9|FQ`8xq{XzQNh{CH&vN8eG>*uzIT|$Rk3+9=@q-$I!4Y#GDnO~ zbkZ=-($}@8GGvI=ad)%$n^7=P*(7$!At#;m2h>Cg~oioxz zV+ouk%`2@ugE9*K5wJg7oJCqM)P{{3!+0^AO&+(2x??u#OaKdoA z3v)*1y(@u{q=Z$Mk}@lq3DU!*Am(Vg01*LfJ zeTR}dl7Ng(Q?g<>M}+*SvZ3WUeaTJ}s%8^Q_*mI0kE@x)Vw0v<``pfyXnZa?&@pFo z8facxtuqd%4l zic6Uq-we!JKe0JTAN%C$)NQXsG4y0(u&gXhv&+0{!04o3=Ma{a-QeQXDcnHqq@-+= zzg2mpXzu+&?%fk<-{h6yZx=MblpB)oH(TWn+4Ji?ygOy_lxWP(q-9>w#<*DQwLzql z4+_d6H1;8^{#Z6^%Fo`ak;HAq+aF2L}Na38Xlq^0$|zZZUm5 zEYPntQrsx&kx-fwP~j3WT;b~?11wfWnSaT4e=iH&HEvoOxB5&F8;Hv9|0b2v)G^u8 zfrLxFoGdi2+#EQq(-&vg@_A>wYtdB2M>=IYvJ~62yv{W@d)I9^*y74mo7zwb7Qokb zMXd%v@*=4cy_}!b3k0|__n-4%%6QE0C4f6Iz_>9}qGvqZgbiL4dd)W?U^F% zp1e_1^yp#*tv|L&PVb4i$BD+5vtg&OP2T3NW^+m|YNA2VKuQIfuDX`k zKMuVgplnu2w`VDln@M^s+^&acd~u@d>gTh)JuOl@t84~YpSwjGpSFnW7s0QHxsV<& z5+$!{Hy7=&T-~E&SAAs_%33w8I|qB|`h_DP|MJMOLP2(>+3=G|cD#>sLN$8enIyQjFj_$R;j!O3vJM(P zr)8<}Fw8#CUse;zr_RL%j2%>WfE!S7HDJj zOs(Sa4D-$MdPZdl=FT3G6Zg2cjE19U=YNehGqumm3lJz7yGLDGu!7_Z(>HFv;$ybmEZtPDeZ1AEEP!uT zqM_eiE$?Q;2l)<{d*=)G?2Qox`(ek#OQ_!}4o&ucI>lSsKzn>x)5^FP z3N8JJd=t*(g5oU6eT%A`8ET1h-M5F$K=j;ltDN@xZ+*cdn<#D`mmFDmFdAwguC1dK zVRx3VQq295bS;{PC?N>rM422^#Ib_#-OtK+!17p@0Hp#3NH$DmSdL{}b(fM;pMeB%sUB@vutjAYvzU#sl5!_mH$GSh| zx*Hb`$rcr3lHBk6->607+UEG1@p3*dS)yTm4js#dw`rwN9er+*6qvgZ|0zKxQwt`> zw1TqmQ^eZ(ik70)B32@F)nez#sI}Ry(-=~j;8Pg8XTG*8q|<$x=BT8ps~ORFRaivH zMOqbpoIC~Q!foR@NJJVMlS@K`+^*<1ni#(2Sy#JK5;M8eFFm&8I>+&aD&j0uU+LAy zhdi~U8{_|rx}d@%;lC(75o4T3u36!aHhGxO5^H0Z_TUwL0NJE;UUzBNU26p6SaqD^ z__qHV%+-L6l8fdvfA2h$QC@-HbKl&v@l3ETM4QAZDuzS=Y6x{r5sG!TA`vCkd}yyHotzJEPTzB zl!*w1$~X>#S;GTW72Kl)GTl7-eIzHJ{4Ypj$(H*d4}(*&=46`p%3SLd&>y&aa($a^@pkKpD*ix8B0)u>B!Eg%-#WZ%hsV*SI#>wIdUGz#>gL?mJA2YnCf z`#mMWDq2P{oZ#;ru@MoW+kO*HL3B#dy)6I~l5}60FSOGwaFLcLGBUOQBi-jyye#Hk zSq=S-{aTVnLrMn3+ndHb4T=3TRKt=Gu^7lB(H3NS#v)7X-!_K_(==0O~WBV!d2IZB1w z)FbzwKs6A30pJY6xV!uD<0GlxyGGR8M$<*!VFi24A{mQ)cC8ukU&?M zcw^CJ<{y_JnN#LSIJ&~THbCY1L$4tJ&3bdB|L`h12juvh8?lNvN+I0sXSAc*?H1#D zdM4bUj}QwxeR+u5lGf|glwtA+C^XWyM7mBycpzrB{A0`3HSNdyqvz#HqYo{1^M&o0 zghWF|JB(TQJw!+hzwqh~-jDw*H790)#|c~-ep=P?ZIW($0_ptrg=D{1Y*I#bv7X~C z62>=Omrk?3?Tr%h5Mkk?PgVTBPaL_w@7sZOPf>I;5(Bh)K+AvY(*$XST@4)=)D2eC6Qg{tWWoHjR#3b`~e zHa48B9G#q*J?-z%_3^Jg=A+hQTL zy;y4ku(+iMPEPu*`j^+5p?J)echK2;l|bOmYJIXNwrR`Tpk&e9JbQ(rFBXq+lQoDH zGwIx_JKl?dwzw%PsKwrdDbQg?aC=~Pdknm;5hz?8)Z3?QW?E?@M$1yGfJkeG zqii(HozXcGt(X9VOW=hniIl=`*_zf5?V=WJ;u$W#;4;(5Nwbzrog+I|{Qk5aFSjB1 zZ8OpJWlyD{ZmJZ{v^aU~rpyFy;T-Zm0m8phQ~v^(p1F4$B)LA6Ud^voa#h}zsu`ja zb)2*ZbfZJlY}JKH+cl~#oC!U0Nr;5sC23m|zv84Oy?I>q0kK^IZxNS7nhUMyJ#I3^ z=-Tu8Vd)%+Zi2B25KCP;xHWg8swVDmGJc$k`4}yi`;Zz{=hxWhs+Rhs-SK1b@3=H^ zr-tGmkVR>h5*1U?2fRN)cRoz_ym)1TXd;#6O^BN>M3n2kf;9wg8Iew^iHkk|CjNsi zmwPV#Eta=whPtngPgbjyIWuddx!m+lcQ8zEYD`b>)&KBP%-c&$EVVe-+G%;g$yrG6 z`kUe5-XWBAVMNqyQmnJ66sq#WFM*h$YTdq@V*Ee7%aBV%X;CzEBr%ONbaS7`L5a(& z=d{DDNy0;CFW(4n6b%CfuMIA$&!&cc=D6Au|M{{ehZ87&Qp9m`7{^sr8sWLCH^SGmw36r^kH66se&?z2&sEKtKB>Ir`+*kl8|L+gf@qW zpb8bypQyRYI^_R~Myh{C<-}A-vfC8P&Ot~>&n4Niz@Qzs#Vy9Rmj^Le$YK2#npy}1 zB9I5S#lYdCTsm~1;W7fx9c{ocGA1l=c->g7 z>$?miag2$N8iQhzVv-sYm^K2QSk?~vJXHt3^Y-M51~dDaB_Uh2JI@srRUoP$>Q92x zV4^vEUTO%u09+Sc`vhKFZ=0Z~2ATx$@T)Agt_}lxVVpoq%k)va2F&o^)#6)$ZiTJl zYdgV~ftVk@*Q(Ppdl&2>mcnO`gT9C)DpfN_j_u`xD2E5A3}dJ7@1CK*UQ4!ct+y-* zm)6pT>`Ya^W2FE@sYh^4$Ow{r)GCdz>}{1HiCPAB%~i)iv``bXIljDi`4^hP;l=O`#_QTfbs!P-Ktcp zk7TC!bn{1*`Oa#cIEV?_!z;e6t926zv~-G!O0;s$5C~TkcxM)Lkq4VIJju?GV6#CG z6!aTD2F$Du!*WE6`k96N7lxCe-(|NbLclM>zJ2+Qi9Lwj9-j&t2yVM}7VSC{IB)4H zdw=R_gv|9j_Y?0aCOG9?4^Mrrmh?LBn$Gn&;?|VXnH`+SH5c?v;}WCWZ642Z)9#BL zFPJdTTa)%SncP0zRJ7}Kn$;XQEd{f7#`P^tbG3sb?c=i%5*VzgzM|r@i>T*6btX7y zVgV1Yt6PcY2Wtv8D-2@-Z{~U=cGSpf!P4K?rgAMLdR)NU%SSwnfjq24MI}NYyr4Ej z|LKA${8Q}&5fQ9F9mZF{1Pr(m2tYdpTfmgjBn2q+6km~HZca> zpEV_%ua45vaw#h6fIW!rPZvx9yVud#KB!C}1L8+~l>H=IRWGpczPYD0$rBtfwdt4Sz&AYsCI{0#ZLXgi# zTG|Vro;1X+%ejOBm{f(AOiBM@prFpPE zNZtKB-}xPQ#xhz8Ggk4^2L`ib-|?=u7myvSwptGz>14|Yv1+r)p}4h~mPu+UP8Ygo zDZ9q3N*xxeT@>{!qfL#6kmtFm@7>O z%ll?{crW3rrrzFhGiOu4GvWQa(|1`#Sc0~D`@$v}cqg86IS>ZOER>lmp_MRI5Qu72 z6w(MR=&#Z?|0!TlzF?cU9O(?GiUe_wVQ~+Cl6sobZ~%0_z4j&1e!o7T_w#2N6fM)n5=?2r^??)vuj zQM{PnqCb9|HxCli?9j4SUI&W$a#G@QveR(M?P{TSL&WbYGaPFO0~|QS5sYfW1=X7}y8vOjx>Dndl?_bX2<0h4ff1@DEv@XgU)d(NEz2sHlPeio!Lhr+U1- z>LxFYEYawOAU*x-Q{k{e(4d9kt|4BJapobio%QvE%U$kyr=4D?xw)~il<>)zwMVA8K>6C*!a5;FuU`v= z>Ox@%1j3Cf=E7$oBP9(!D+0Xz=$-=rTo4fQ>(`@t*nOGSJ=Nsx#Kg#N0Pz1)pyr;b z8kfB?^FE)Zis8P*+t^+1nVPs@+bCrHY5XZSOd~<(7rAoR&Jk4gr+tpv_~Z!wYmMmJ zx`{tix2MFx21EJ~+EvjT@8@UkH$NYo4fMd=3=N4z`>20~lt; z56IxrS)~3OvvD$#_yG>h?CebZfE@Ux3FXL7Tr{FU_WD$C(Fa*Z>>zlC z9yr&{$*HcON%NhhZFUDOAI2xNTH83e$gvc{oPv#^~c+FmS5Wd8%q-LTbQ~p z-9Y%q_M|~gs(0e>y6`y`am;nk6B+Pa5oSp;(ZQc#$v?``=xn6Z`#rPku9|D_-#`>W z<4BqCAIxYEM3^rxkMHO2K$GG2)*oHzp8`a@$#*qgjP%oA+!6`z4vLvU`+9$0YdzTh zy&oNk|1Xh0d(;13)BIoatoOz=8MyxSF4w;h)hG8i?}n&9c(k|TD?)j#GGu+$tMfFouPkz)zICen@CDM@Bs;lB_Pv2da-qYPR|nRkI_|rNsq?W&@~x&=R__k2>aE~j zp_pGx9IRmt31>*Rx2(W$9@k;iV{xHMMImTNux>uyx^)lVPWD5t~m*sELp@LeSpL!Z9q zw{9`JI1FkIpj)MV7gu5jH~lvf#P1G{d@Rfe;h#i~Z~bui$Y!-K8)UL?;+G9OwiHd5 zRW}C~Sax?Wt5>=B`$mGO&*~R2ivzQbP3-EMI^#j^-E=|mlO_fupJ!-ZPLtG#<{gA? zZsNvCq8ydBR@*8m92}MA2SX~!zkYhu)%k-e2t42k~&lKr&n;GYp`+_HYuGjOfJLwA(U8z1}3ZTNw()iYdS ztWdOFin?O7U1AS^5;&ix7zsW0 zDf%n0=K|!$uQ0HTM;E|p{WqMO|A)Hwj%%X%7REypP(+F-9RvhLL?F_uf*?wjB2A>D zAYBL$N)V+kOukPdrT%}uzTlk~qM_i6mHdEqL$A|%G-b;>MCZ?u;8Uwa>dcw}E z64Z1+0+LMBbS!V3oV>WGTvq#vDdQq2vbq3vfhz&oy#!`xmlyynVvP=E1P~eg>m6n$ zYMtn`v|Fil3M!T5o40EAZs$fyaNW2U5IVn4>-E;p>13e>E0ey(OM zFrQ#EcNQopsWmioG>#k%4GPwCZJr+iRdz6E&sjMefYO`H0LQF24XBOqNn?qjjOM|a zm>B<#&GQlrmWu*1v;RlhagyX2w>4z{sA_;3`m<`nD9Gu$Hh6MN*sx33a7@cF;(-qq zfRdv^0P2hv_!W#=gXJHfqiEjZ}1+ljtQtzA+~n|gAh25+>B$7K^Vi@fu@s|`Y$vE{~3qeYN8l1jKa49a%rDFmbg8)C>`kxg-MNV=2S4**J12=dw z|JNc#wubBwk*9cp>KwZIXRQ{78Ph_5ru=v3CHLW|s8h;&zdP)&>L;KZfsTGe&;PYl zH<+1u@MI+b195%Du#b^YfJ^>&=hQc}P6bAS?|)*Dbo-k6Ndk1b~h`Z;GJi$&{d0C4)|ItB z4B3^LA;`Cz5qFN<1jvCHrtI7NzVl<}{>IE$H+iZgQ>=m<= z5x!-%X=Scv17o!nYemWlBlc6-sxLl&_YYRdm|gN8-Z>TAJhA+_pkM<(iOJzpZ-??4 ziGUfD+8LDmQLW+K!yY3+?VmqAR^XThEAYTRE=r@evx5*%;Dx0BtRVi81 zsXfpUb`a=q-o{mJ9@acSE?e~6`z1cTHMOFk=Mqjj^{BUo}&6l_Ve6~KNe0APW2B%FL}Og z*2eRKryP&~`JxSP`xf|rO^o410mDVdb#)_wSz~&m4w4={1iBM*tSpc1jg;L;kB`|Pr~(m)1n1u{rKEo zI_RvAv5`N#WOOLp5c*lDxp`m!!#*(33rbv`Ykxw=4=2MeFq>JoDxh%1C{i7uMN{d< zSrgBf@qiM){ zKH~~j7#_Cxe8FxuOKOxS8gVrl~%AOi(cftkHIuBSE*Uqi)2zr%_u9qV1+`WB2*d%?? z7RM98z~ly&(iZ2I^SnmQET9q19d=H;ir@Z7EzZ4}B`2TEB`1d`w;McXpU?r1S@;um zdjXXeeK$=aJR5zd+`_?B{QV+gnbj6jQ`YbXNJIGPEMj@J&;304EmadNG=z$!nxjO7wK!y+EmQInfGNn`6}G$(j;F zbqqa)#f5!+C7xG8tlO+GObu=9@G={@l(Vek)n0Oh<*o6&iREFaTBr?U5TEsY+u+#YCdZm+Iw&e}1OC9KF*S`MT1-c`*~p%xZB_Kuo8f3YGM zRK@truLgUiUjiLKbt!0R40N@+samRRLh(|Mlcfe9*KUej=6M;DJ4FvCUccnHpfldr zWK%9(Fp6_V)D?xDIDU@JUf|rEm#d|XncZe`Y5B!3M=`Hpy9B8huQ2o)*R1!AM6KMn zXTNmOpx3yTq5tL+h4aC&Hm}mm{TyHE{m@&4?;?Y`%WHU?qqmw`3Ct76BT2;Qy>}Zn z@kT!mB)}4BsX7C~POM=1w5J0jFSlBv&%N@C00X_OC`ab)@wuGC-<^I;eu#2HJAX6 zK^VZ-NCEs1GdLB4O%2i#9V^!@Z5rEho#v08j2z*<*^zJ;EI3XIZ}=EldRKQ#GQ@gc zL_Dpv@<|wh@8IsxL z8iz})3AfL^_@OJXBfsx4zWCK7kBsPQQA^rhT+weEw+TIGMbAe8-p^ z^8eT1U$g1a%<9$quN%XoY53nyPLgNcnqN@+_ulwlo8rkycu8WWmRFGUkuq^d( zpIme+e%;(p8qY7zAJG}~35c!BvBXzg$r#$THSq89%WA+>*a<6^euu1K?-$aGtQk^Y zj;7m9JT;EZT>9+w0qvz&F0HdtVq$Hyz4d&*9nWoXDbtXU+J&1iPe%$=r=y^CZ4|PF z69A*usi78C%tRRl8ol9tDHAJbnYG5zFy})oGhg?d*lDe zSLE1Iri%jEJo$M2I`O86j{;Vj8-;;JH-*J{*bt!IbwpG1?eWD?-A4c7DMzUC=um}W z--tDrH7JUrmZ1{k!zD;5goRxX1xNHb}DA5!jclom0 zBy+G7J_0v**EM(_8+wM+pRo-uh2G;c{Ia+=$e!bgg`dR^Y!Ro*XrNFmlyKL%ayafR zYFhxRT%mt_jry3cU&DBdX(LZNRv%ZbFQWZuaP`@Jhk@vhA<3}#C2Qz(ZKSgc9@iw| z@f}#{3m|p}12P0z&hg%mfjt7Ud7K}R?;IKWv6rLli_S(kd9&D+RPGv&l<~Ov5-sJ| z2I0MkF-7GiC8_e!NM8aEJQ>wBwmUH1QLb_K&62#{;hO8Y^!By1=cM3fGR(XbV#h~V(#b|en#ngLzb5zFKJScn~mgB2ZH*Fe9yE1XNA_HOQxsMi(UJHwCnzfCjRELts$nPn zr51G1qN#kDCYCk7lbFHTTelzQBaO?05A}P!aTC)Qmija{1VRY6`D(t75&Z0Uks0V# zX=PXJ7-W1RQKa?$yYTOC9+KqPki2r5-1;JjM>|PkFPRrf3UTl7A?@UF!I%I6B z^|IRy%e)jR(h^?)S_pl)DBUngnhTv>EC4Ew{`}>mbg%S~XBO6SXko~=Tt8{xO0apo zt=HM;x~04zM03mPcnYW0RhsPO`Ahc}{DRb?ml24sFHR1#Y6Bz5 zuTkY_Od(r;n)83UAbOzYDb)b$1qcM}9+DSAG(bYY-%pwffJcD&J@fp-`;Q_V0V(0XgWuo4Ma_oGAY5Vf62?zmxm#K_C!a;(thx&EzhEhEB$u)mKt!>4%Of z1g_IrC6^!fu(57G*f${EPIejsJ&=5x=hdLhxqh9kb{qXZxy*H}arKT(1)=VA5og`Daw;qc5>Nxz!7kWpQ`X$t;<0zq2uUKA>Ok z)(;$Ty#1lmWv{qF_5t?SrdP|rMn;;qEK6NH+?=HBs-bDg@UNH7vX|M-yWnj;)_Dmf za^29DHWcdcERAM1jQM!(1`8W|DGS@_o5qf9#;M5?FOt0O#9V@6xoZY6y5}z%>3PXk z-}-EUO8elXTU>2(&wI*jY+jw)BjT-8Lz3Gi0Wr6_@3$LkO?kvCL>(p5o|MSOj>#v= z@F+8vp8DqMm1e=cr@2 zi6?db@e)njHmvzktju+J|oJ5wJOJ_vcv+ePUkg7D079NGK6c0E2-= z0HmPoe;(#6Cw%6)ea54u*VWc3_|*pMMr?Vo&)APO@y3jn$;G}wH%L7oj$b-deNIEl zp6;C^jA!&-`wGi_`3?l+{ocWs@6o*7!_C;%`NbPFR?0uQGP4edq48I^JE6qx(2xf^ z6N>Gh{Jh<@KMT_<{~|II3lNz&*B(jDbd5#m=1V5+^GyHk1M#h3BqJUF6X5X$Z6T00 z@QL^eL~E=K97)okOMJu5FhnQNeCu*|%n&K-8@5u5lQ^8e7rUhl&qwGta%74iC+lB7 z_|c)R7WI-YRr50vnU*0})~Fi>MX7O3u;xk(9IJKvF>$;I+WhQxxv?J0xw_cvLRy}h z(o7^~zUz+i-UK38h``b~)B^JGt5w8aK4*0Nbu~2v(%DIX#<-f7rgGD}TKT+&K+<#( zmVTuc#jmKTZUMSf3vU=ObMBNri{0P`S>Qn>w+G8hUa<5uxKx`_-)Fp@V;{^aRv)TkXz?7EtDB1uurboa7+;sf%((1uL zUcbDcWe_6_@G8Uu|9t{ns-io2Gqszq^Z{WLA zJ}Rn4wX?RPK+FY!D2Cq*1I`gpAK7$&-u>I5xRVRA_RkoCfk-x>Wd#sbE+b3s)l*<7Y*Sch7>ESSwdlrZ+wvtA#Du$fq(oQKgYR>8O@(MIA8_zHqO!axmC+@pIc* zeu{(Rt%a0NHN$)=VO%UAA`iM%uW2Dcs87Xas~?fAYK``QhQXoz6rHn%2X3%|%}3D_ zS!Q-KXwt6ORwzbx7qgE+thf>e#@!6#G89ks<-qsm8n_H!sZl2Iw;cSmQb8aP!JdaV zpWCTdEL6`^T@Z1&z0<`$|CED~H72X83Mv0WaZ!${r+}(f{&|=|uTpVkxu(Db`djc` zKx;W(@D5jrM?Ts7MM1&(KT_$j`{cUQPu z1Sh>nb>Iz<;3dUpOi@%oa7m+7FRdrQ;HHMtd6U(5`yzZ7fjT|l|%xWMJ7EFn!c&XUT=LQ~Q zVy3603fFo69s#qH?%a&tSpw|tzGst9w6OM`|$U=$IOw&4i{D<4Bz_B{lP|+*vrgFo4%I60$Zv*!yaeh^`5knQ#K13t!+tf zLAmelZw=h|(U>6k(Q)@Jk@))B0%5T(3S_(uf2^}4kLzBbqb$7fE-1l9eU;{>4aL;t z7FT_F$W>nX=?Pgh_bDX@)ZC{#VSQ1HZKw$WISeMKUS%=fEB@oNzSaHC6El&;^k@Wu zUi4}d$PnwlqEv21Z}^>GgHMf@*7}3mZ9%$1T+&T8+U&bx8J|lilpK_7q|3b9uIGRM zgLh)gcV};F>wa&xd#m%#72CH`2cZWqukEQq9`hI|fmPjUM|BGo4?#?)W+`D!rCMOy zYi9*f+iln1X=QVTHQESfLsD+#Q+c*s4}*3EJjQsK|CrdbN6$tK=^^$Kcw4VnXJ(G< zN_-zTih^3Vp`JAV$SB=UP(GM?YdsVEhA0x znJc)Y80rmJStVDQcaO008~k=%Ni7HZYYtUc%iudqmAmx(&18-8nc)EOaAZ*6kB+IS zDg8F8TY)Md-^r5{IJB95$N=>YHWDcn9`nTbcn*(fV>5rM1J7RkCPF`crnxot>o_rh z_5<2liE<&-(v*e+sm*- zmF}Y&gU|$cX)-IV(j>$#Ya4-v;NT`6nN7tZotK98KN6hHQ$j6`(w5AF3&S(rre{2Y zNx}GSxbm2y*W^^mT$ap+uK{W151$~&hEZyV^UI?3fmoT$n+p~)UuUx;69uH%?!pOC z;Gt*S0W;Z3L4Y=r#uf5cA!M!lDVBhS9~^Y^HaUmv`vTvp!;t5YJSPIYh3p9T|29jpC8X{0P7rl^?F9s%m&MsnH3w#r9{|GCo={y ztyVZ}aDT8kaeI&ZT<}I)4Wy3*3M`ti$+)^K(sg#1nMo>l7sD^n*+m-HS-O8s?P@zz zXj*6`@gWQ~ANR@Q!|ch+^KPxl5JKk|^m#p+>;B_@YZps5c)N2DGJBpBGHm2(8Ue1G za==O|zHfDw+qmjJd!LI?|BR;Si|aU5iUaZruL1$PsDA#I+Rl$S-k@Dvb(@vDE$ZYJ z4%*x2YZT%$B~sHX(dNW)g(K9zIrhM}E``*EFF{Y%9-8oh<%QikGhIJ^oA~m1V84lt z%GxOG!^dvD8JRB$pXguER&P}@S8eLod#EZ62Q$6bw@0kbYVbYE?x*fje!Ni0HLN;X z_L1P|!QR=3z2INhF(reX(IKYtex0(2QV|4Gn72Yv(A=bdOC#pAxYjycB!(&meBBQcMI^)jB--1;!1;tD8bidYT zyUe^WqymEl@tz8M_QX%S&WLH{I4%5p=H4q(X++?%iRihuF>~pYy+Mv6Zm|akkBB+7 zjjB$lp!VkNEh)(8=43XXW>%6Mc3{vUu#h%}##tWeD!*BKAG!Av78Sk^lA{8h?Vehz z?@r+3{s>yBF}!aYTrB`MhYY>kUiR%>`HVJurbK!CwuGpw1XEz1{($otkgNR2f%G1N z<#uz+z>s9@z`zT7@px`I{wH)VfsF?ZwI_h?`@oMd7SPz_en|BBrZJMOOx;Fb^UG_- zLc@{m_Qy*TZ0g3vQu7>>AkCNToPeDcWfFENFwq=sG=Qq_%yfF5T|WybD*S5R(X0JE zdBfo0l9IKD@(z)(k<&U8{BqNgq1^DCMBK%fra}PI{0EyQzx&VG=UeuRx>#oS-1ddocUIXh(AoDJ z)CSOqKGnd_FNZ89YRhis$r&(fUUq@?XTe)AwC~{~7c^b^ahF{!9LuSdt=mjYL_x6o z(oyql`J?TccdY9jc9`iy-zW}eMnWL(ZeqW7vDUuyE;8OSz~jG1)7Nw!#M-HJo;NZ9 znAoM47f&T3x-N>wyqTFS`JBgm*V}g8@xT z>9=kb6!XlWUY-+N7b?)YB)jY}T%fxH=-DQGlGBT`JY;5l51g)HgcrurR$jkyO2_vC zZOx^=LNe#62D+$Z7LU$fDyuW0dVGq&hZ1;~eF5OX3~pZ+%Y7Yo@dhjPc}3U3fPvk! zcPJl(pyiJJxn=T)6ClQ$mYyhWchjeRl$2K0&FQU0KgdlP8bG`Kfkw13Ppe)D^YF$s z7xOdx64Tc`U`bNjY&nwfT_~u#90~!r8QwCKo~xt zNruvxZUa`hJ^`+~Iijk9ZbA-yQ4y&+v$uV?Q;H3UY+Bj>cKr=Dvy!dxv9#Wcq8z_9 z!Y2@8ESKqQr#l$RPhoAvRA5gaZ5c>cYH9LJiFhx?~iuhg~uge}+L z_MIMdTrsI(2F<$1Te=%QJc%6;QOct2ZVjdlk&uUw*6P2+iPDBIe_l<@=uY6NE;qV- zD>5a|^Z0w$r2aR?sSX1YTw~3TT-+)Wa!TBT)z6k4;65C-2M*5+dqABB<125cJ&Z%t zCR%e2o(c@o%pWcpkIr^$TL_$!vmIu|yw_6|r8%BQT)GNHSzK-+ZDD+TGP3Q{AZr;? z(FAUKgHw)e1MLN(JR&vwueN?<6;M_yy+H*BKX?z zKVG?fObgHvi;>IK`Sxv2S|`F>u1MODyN&zxO^bvi{hZ9?yPcEW={p%(tD)YimV@p- z&jW+6sknp$0LlYqS-YuXXf)*aqhPWNJqCZI6u)sUm5|^XavaX~=|7Qch-E)-BuwJf z9c~^D>vN2Ce%-&P>R#2q-z9L>yezFgv-JMfO=8D03QQy#(9on_uAo<2aw?aflTSUt zb^HaJng!;haO&2J#78g1s9ob}F7OQaxu-A6vAW!|Ex_s6W7`u1aVCv&u`Z+$j}t9{ zt`;Fzzy-BFlDx;9ZldK060~eG=JE_lyw_Ss)R>JyD(?!t#%<0S!m9b_CO$aFW<5`9 z@-j$$e6!zDJ^jZdvS)4w*@rQsg^p$rXEIbU3g5l=9uI{;9TaUyxUe-0RY6G8F6hG9 zwKTSZfj|N_E^W3wzX{qO_D7Fnl4ozS9wGjiU~^sYI3J%#OYK|JQ_kC_hg!b65=O_5 zi8Or(V90p#D6uH#T=$-zFDhqjvFbtn>zPs&4=ZpA;?P?e9WVr0^jn{*Q&hlSd1SZf zJKkQiIkM9-E_pXrrrD*l8+`~G-PotWGy0gud4Wx5|D|t3x1B8lP z%H#*EYpAO}xT)5zJy>^r=7|4LfpP7Kh7TeDCTgyT@zuDO=-q3YWFwvL=JKgvhB)^J zpe_o&MFRBPZS{@5Qpqa{6`$45*Bx$(Q-<1O>y#Twq_1BR`i|Xtv%cR<;aD~K!w}r9 z$CH=Ll|-n&RbfR@5jbnlJkg+wL$nZrWBlB|c~AQ89%5?=B0O;WAVD|h+W{+;obAH< zTWi(0HQoc_q1w;zuSZMCN7m0!PgZ{;d@6(xhMl59*7y0yoC0JkNQCL9*oVWxYws?c zH6C;vzr9*7pD<6@t1E3C@7so_BUGEM5`rAY+pX8=JE>x*@4+@zT+lE0^%CM0bywq! zM3mgZb|MuC2rD|w`M`UMW7=h%Z>|?ImAN`E$!uT)n_~$*AKhHW_IT}2>KzbzKR+MC zIpg} z__-=Jua4Db&Gb{Vo7{LQ!r`uIf{F7$=L8^c)Q&h`>b4xZ>Jh6Wrf7=-K};ZYH?FZ> z$QWG19Yl6dmkA0K5Uf?L3Uj^I(P#86t2;=D-KB&1je)yJC0)G)sEB{yv+4<$@IvOJ zRH5&QM~t3N=D(+D-o9b1l*I5ZmY<-M>4xhHGjPw!Jb^8XzBzV{ zn3+bf*vG)RVlJY1vq*17ub3%(_!^W?ihS(yT;IrFvR_p;dv_mITlIk8FLKL0ZlXCT zRVn5YHv7@zboI<8Azj_a;dZo20Vj`(-g*%&Q<-HHqgkZzw$C+|FXY=&qL=0!-yw#o zkZP<-ec7X$`7EPR){t-Ral_x<{*j|V)L05{vP)8NEqnJub3O9a44?7R^Y88HdKd6X z=%E_;A2{mps7$~u>>|__nrrS`4fn+%cdF}?#haqF`#)Y=ew19h9c4q z6O8tDZeJt*z4^9=AE3Z*pdUgC|ir)?0)=Tircg22bqU*^lvw9Pf`Flk*PzppH!J|%A^})}s z+Ohzyao_&&j|=E_S>D*)-ld(*-gMFw1#b#SZz}YOfYj6du!y%jim9G$Vuc3jCyUET z4U_@hdZJn!lH4;%w~jqVb57ld3=zkim238ET^VOW3Nma?UFyNJ2zF~@s1d0_Ab~=) zJoW-Twj;`KY;UzMfm&6%TofowM7$ep^_iFmzCQiRe3Y zg}CcFxU{rV{Kg|&&PS;Qr6;qMo!&8zLmx}NOh5$4QQfo2G9ItyZ2d&9cExC^1`>`& zs93fJ1)Q&U&zA8^;Pv$7no(dJrVu?QIrx=s*z*3P(FI~H)OYfyYVfA2GfH_3&TXIq zsr2EXRC1t#7Emo1n}uj-nD8YXpLfcnx28E>^vVL4-)8rwZC!$?P%+Eog;U+ialxr! z!X)HWAlpzqA**rU25uo}F;owi|8_lWjTB-<4=}z9d!E!Ia=S3<`$aGQNTwdmykH*l zxblQDL5vy)o8I~?tMHh8r0Jv)ZA}2avDH^|FJ^~*v;gOJfRiBveJS7nCUWjz8p7|< zrLOFGNsPKbSPiuIVmTwqtLFG=5PYr4@oHS(8cflsgd*KxH7uDbWvuwHQ#y-ej!^N& z#(u7t?x-QQ$WZ9I82V)+9+EgP%564YN8^uJ zyX(IH5WhA<#1|1{JCmk}JdaXTlHf}__`N}0G+0$)awSOd`j>aA!Trub1nskB(g?`p zh{hU<=&a4%e5Kl?hEp+ZOtNJck9YTF<_ugC@%uDbFbxJXs)MgKG7O-+Inv5{oSfEP z3=GzvOB=p|Ze9T9mEfISA1t!so-e6`fJL@8ToX$CUmD0I!}y0EbPa3E9-+KkExL9( z%Usog#NE}wGMN!hZa|(h-c-$%B%@5MQXnuD{Ey}ou=~PmDj39y{1>{_0 z#2-FH&CD$QDxWEU1njxA486Z|pMGchV7h-VLngb75X7IT{l7Fqubqzmq=1!&o*zxC zE$+#L*LmD4!o$Onl13F;!H9}8UO3kTCO=0KoI6XyFSu|)!v{L~(8Qxe?wIS)JG4DK z-)b5ADifk#wly9{rAVr;Zkex0J9ys(zszivwrHvt6^TRo0&Mr^VbbePocj%nZy~TS zWdoJmhlVXY+n5-+V;wu&)i0AzJ3YD^BW&C4__R~EY;&x`)%80@fuQe8Y>jh<504>D z{q%!w+avuvjK0+LiS_dt8mbc#~ zM1V>_V&puC=aiYg8AqhPv>xLWB%&I8-$f^+eG2KNa3%C(2PsCHb*=&bHNc5`S`J@y zm`hYBY~$%uj*(UV zA9VL{p_BrrmMQpqq7*9C_Nw-<_(Y-Xps%ZZa=y4H6s?)tt6Hs3Fe%(;3SUqaPdvYU z`!@0NiE<4enEXxWkC||ylAQx3?CPiT!Z&t|>!331Jwjlh_W2o!5 zO#^#1OwnCHFov~&R>VS4+E`m5xnUVbx_1_G1l81D2oW$zQhxSj8s}@%Hx=S?DM8|Q zl^ZrNZz-evZ5TJK6SVp5Tr0A~t1V1Y!~O2L6A-@g;}xnFhH6_OzQhFO{divDJAgGL zo4-ycCtAtfs|k+%d`bfbY}q@;Z=T;R{jFir!> z@;o!77pAp{WAxJ|b!oT<20pw&o4^YX*dq}Vc$H4aY!oT^Z+PdYl^rL+9z&?!T9{I? z0-$uQFD}Vp6p;Nm0-@K}=%b@wrKYAP0@59JHZCjK^}53q%u5)r!k(TbF&AmhR3DTV zx2C4%pKk!pv8{Js9!g3E_6*)>7bJr~7w{N}@+VC0?eFiSv%S)$1Lt3ngvfFK2@U}G zN`Z|Fo^!^L-?$O`HzWxPBIWno<>u)WD}Bn69KHZJ&D)tBAxB2g&Q9Bb1&}!5EE7)B z{u`t7(ZV7{J_gq!*tztQwAud={hu%Wrt()9fJLC$;GJ{~t5-u$PtX4T#Fl@=3Lqu& z7o2}_^Uv4AfiOGm=;-HUYG-0cFXlUk=E$M3SdR2aujyZr{%QY0@~`}WIdief9vat$I6OSu0wj5fFQ*|K0Pv;9Y37j&gq%^V&Iq|){v!Ez zY519g4Q@I(1gzzBOAh#uU;70|aTCp{BZL_Nd_<&5b%jqNwWHs49KpuBFP_AX@zeR( zfw->uHACzWoPZr5%SL5mM*O#ccJn=`-m8JsFybOzIN~BDB_(F{J_1f|`ytL`NvPcf zLmc*H!?c4LnT+!$n52QdG@AXrfv9#Z57gdC-KH06iFWiU;jSE6S8qvv11DYl`kbZlW$n>2l zn6X_wl&Uc!Sgknj;xz#nHT}k?HMb>cbY1**o0f<248ENZwr&=nbN&W4b94TcCVsC= zZ2T|?PKj`Fi*+T44x0Ut4VAHcq&SDOx@ODrhhRB4f0s!h7X)H9q#e_1Kj|bq0Gz%V z{g9ZrD$`y&t~2v=>214<{Oe&$#huOSDY4zgiYptrI0PxgOFhS~ISegWM|nO%61;A| z%6|hyqjCF#y9CCdFU($Y$ferBjJ5mp+lm7AwC5*9_0!=K-qXz^M2v>kpw85UYpt{j zF?gA1l2LPrI*5phz#TS@+EvXxl36AAJ9cE7Zm=%9xpg*g3br7_LIT@cV-{@1a z&ONcgAORR&)(eaQ7ElXRTKzez zZ0XNOmySB8&NmaV6*&?zDo-f_F*R+LIs^)oDZ$l%v)t%zW(K*pcMtDvgOP3}P?!44MBbKF zr;DNKIo_eZ~t%o2CT>DRst?bIt5t|d@*Roaz zr#Gs9%#TkGLc2CjRL=CrkFqzc#_e6HQOhy#q`Ny~q`s*+;)jc@P`MhofhovQg6Ii((hkzG8Am} zM|V$jVVBjaFF4-b7+eVDlf+QvK>OoxI}S|i3SP`H$m~UyV2@=1{=+r~kWCawuhR;K0D<0%#*FQ>?_D-{bSz0L=HiWzjwi7?WvQPnbfFL zD40Kg9xfVLy$*mr6zE%!;Mk^^9U)@q1KTbk5A7d|e*36~fUTu1!|o#6`04v^{J3vy zU6~jLKc@Kv{HeU*#p%n83sThFC*FCU_Gm<0VLBjir1yx?Ub1L{y|#&RC}H{Z);O8v zbfrX}#3$xE+QZ%AH;b_eT#8(oZe*p#+l$@YooJK{?QvP6?BDqgP?BdP?z;hWJt zOiyKhoP9_EcHG(N^!ZEvPYB>Kz+OU1AFeBmLKcVqU}U+c-o^>yML$;gQu5f1v=+9P z>D4-XU|AS;k%`|lVWsM^#>wr#S<`df_Tq|8hSBxP9!nJKJ|zhPsww3wnm#<6m|gl- zyD_?A)-QNAu-0=UHVWQPKgLoJ; zRS#)x@sNGKfR~#unMTcSJ>7WPf6^^yUQkqk|LguwYpYwag#;&PQ1P=V9Li$9`_V-$ zVK3X%fXXPBY%|-RrsFyF6*Yv`CXS$kA%gUbS7f9wuIocPGT2L0q>8I`=~1tepU0N_}nX~wn0#0SNBA-X?ZDTVX4<2r!Ts;MlMEGERkIH2!YdH)W(tPsu zvDlM7nO~|p5}N5|YIfIseq+eYr6i+a zGOjZ##IKgmV_OA+Zn~!{hJ9OjzP!A{DQV4iEUw8EZgg~VF+g?#3~uknP-CHGo& zHyFn6=ZJb=)C{hUE3Dg~4Mcv5dBY4cMpr}W4OxeDyHC4;_Bpej`emA^hZSPr@S5he z`TF)u41UiocrjtvLqzA#i4!%aH_82Vj$Z0yLQ<{&M7*E2hZJM2QT>{jF2NN^v z+)THp>a~2Ao9>C$>cD{c`!Ar~RCTG3nOa?IZbd>6EwvXlb{|fn(zaao$5Ulz2q}xb z8FX&j&2v-Mp)+-RXu>#X*$KtbKMPO+Bl&wAx{E+OZy9QX|sboNO01~PB)>&d3{lF zc?(?zqdi*nfI$4smt>lj6*Jnb5V6GM3_sD`#wpK9G-CiqCET)jsrJ@rskKB$9%8pC z^cKOR)uNoMn6M%~YGSDCk}dm8zRTKYsv%z5EyZ%d$Gl^+Nb&4Q;a!}v)|KW3==e~z zR)I;WyMM`8@E}@qy=hlb9N4khF5&7_B!u+iA(_6=yF09-AdqSxkBAr_!sN;LFgj@H zdU3q2M8k(?x7U2-+9qQ#mg|s#;GMDRz~NT6ZT331kFN=SZR6F_^7_VfQzr>tB?oH7 zlmY=Mx>`A6G)qvFkAT{7S-pzylvG#D?q@CxfyN(_8u~x%LuKT@wSp@$%IeL6u>%39 zn!%})Q=8&bZYcSwGf@v7jHJQEFDW7=qc;1L<1&t?%|seA-VW9V_{QdauHq7O|D(>zLvMC>Wl{>a;fyXCiRN8fg1hJGwONS-Y6R+T0IcjP}Ak)CYq4uwD@ub*2JmRim;@?iw2$X*vZ`Dx_Xj_GNQil0}v*Q<}Ympv;jkuj^k+`=V3i2A`e z^v(Hnzz3bUlM6F5XusN0Jb^-k=J;vx$~Tn7#k4{8G3{|`@K@ShEJo|m&tBcM^5HP= zdv&|1q=8ORKuXADSsOd0|I#zZ93bXP(W7Je|#aijdYEX5* z;6-FF8Z&z#EF-Lqj+ycVgx>9&!ujNjY3DzoUk1gfHQmm$t*Uzb@@CrOYV(G$NOMY> zdK-|HXF=Ki4mzAgX6oJmt^00&F0FCli}zs>h7qu*@6BGnJZ^Hq(Li{anezO~_XNL_ zC$vq>y3SZh*t98hNf5zh&hoj1Px`{68>Z|}a69Ddoj19E+tp(56(@RHyR~911M1{h zGZ<8*sy{5)4i)6}UMzyvI8fDTCcoL3s~EUtf=t!hUf?;AmL*TDm@wG!dy)|5u)q#W%TXBxc&`kB zH$%qnc>rP&L}sVJYUsM#fL+VlZYXLSa;x!I&AjO$;+JF~+$3x6XOr_nhxL z@ArNG+nR0dy_dDuT6^ui*M9c1e$Veg_YybSUo$V~a*?TYlW((}#>z@hi}b|Bsd*45 zWs+S@a}!;3H@q}*pix=a-gL)7vFF?4a?WVp_ckuHBu7(H)SH~qu+qzs-kR-Nu5meh z3YS6Tq2D@Ya&#sRlu<$&+5&pEMr8m*pVxIqUp*$O9MZMp<`L`e6QDZ7t9DlkP2l z=xwN7ZK=DRgvCJi;wQ*X41F)53rd48{G2t8mu`(Vj3j4IU^=WV)vLj5N?3_jUR57k z!(qq=J7{s=#cP22{uBd8XZM^yuTuqep#E z7Gobmzk7u6KlZ~7T@xWg~*L{C{B6MVltoVRX>Zt%ctzc7- zcq{_7GD%19x(Trt6*b%diDqlV#aM2hj!77o%nWMa#ERHaRb3hsG_UUzvFoH-`vDuzZ*zvXrHZs)P6^v=lXxzxx5Y4#`oz!82S4*f zTEou7?bOms9Rj4*EHNaA>!Hu48*`+Y@8ENvO0GL_az42AHisDRi>jX9M+2wPwEeP9 z6|igdmg3c3C`;tuC=&)7$a;g#xtqkFe?9cX59*EYc_Go?FmWJ|PC}K)`T291Umqcv zARP~w8{?@LC|xTMw9h$WIbQ9yfJy%B=P;XKnf)I_)h|kfN=b|O-n7(vaC0$FMRVJh zu$y*~e#T$4^-37g>2`aJN^kVn2Gf%lqh}+jKJdZvJqoLaTwow9TI^IS%jKK{dl)j$ zfbBvkZ7I3Y@?|-x{pQO8LtD%(8f@~rP;cD7cebN2OxY6~wf>#rTv zwpX^4$u5XQ9eK{KIa^)zaDofPb8_6n2x0B07a;AT%)07$>lZK8K-&y%4<^dV*=!TP zTiAA7gqzFB0p|Sv4s4&;Rd0{P|4_*3PkUmyUAEew#F!D(Q}9=LV{9nxg{9OVGo1QF zKfiMan*U+hy3aKp zIB~7iv-l@_zrk;md%Kq^dJZ$0v@nbcu^{Bz@xgLbWdsL)jlnpwS@dy6&QL^z+SGC{ z*h1>8?!(PP5ofTlJKv`!$b-0l{%{{L0MV)8+9OC zUpCR{9@OvCrtg!o9Y;>%s!kc4Ro=OmI`CX!pXBCktm)5-ZS&J1MLD5{a4Hn}z z^kJvjM9~~}-un3SMor;2g{-Zdq|tBuq=lzqpyR{Gt~h437c>kUb5tPI^uNrcQ|P0i zsV56JBq<7sB{*sB=&cVJzXw)1(8i)Gj(UEG#^NG((<4{B+3>tfUSj z-d!JRIDJA=KCWn++6!Tu?Mm8b2cDi@4&8g^vhK(C=Gvz|pBb}j+T#?WpBNUFE_b)m zg}A&>g=o_$g-@HXbD5F@d~nE3adc?^1h3{t$gYUqSZ-MS0rS9EJ@dDgXIA4A?3Kid zq_!PX)6=sHJD<@>){jriB{bRAj*fxqays3$EVFY4*Nn00kqm+yZocw#@kr`3dZi9v z<)W4?q$UB$My4hT0?%lXsHtYLm!TVAh$9Ww3f+52S6xXRQ7b_jP0HUTaF=KODBnu6 zS>41P@AFA=j-->zHiU<0x_ZQ7YPi)*cmv6hTu^}VtNN%-0dEb`9O=PBzArLiZpj`LKtzJ5`QI;h6c!7P(J#0qY_?iAOGyVy44d zle6TS*17q3>74MwO}h2ec=?PCUczSD?Z-h&32CXsGoQnq#KRhKD?{v)CVpjs(~UEm zaagLWygZGQbbp-l;DI}{dm~z;^4>|+n)GMXwVtJm62w0my=lY0X6?; z&+5-;O18>^&j_0Ci66qpk5zn1e%mLR&=ma1fmGDKgJgn%yJLR@ zx1JHa@okg;j?pR5gCfZ*!p>f454)ZyyKS)oG%Zi6)brKicluJbK}#FdMy`F)Z0M{P zCCOf1Wvw(4C+AE0uopPvj&j!QqV7JPTDiO1B1%VzaeO%3C{;b->E59(*2aoo3^Bl) zz@!4*aa)Eq<0yC-|KYvm8_^l6TJ{csCRtN+^9#B!-%Lg#^U2lYcPHHTrarE8)woU#xE2sX8uL}&t4N_&0is0C%1_q;Sj>!H;Pzy0 zY}o<~97Frgbs?eoy7EZ>{m-Byb7;ewkqJLPIXuB_3Pkt?9VKX(+-v+pd zh9P3uTkovvF<_n7*(2zbVh3Zgx&|qOjECG5ndG;KAM0%N&PJA<*3kt(QiA|UssR8= zT?0T;>nNtKrJk??Fd&FT^6|^Fqg)TYQC2jQn+l^F!N;?+fZVTvoP_|^2`FG4X%(!$ zrJt);AA4D?IQtpuTQ-sir2hfsqK&p0(zs+reHxcgJKLQX73+bB2Y~>^3G&mi?r0;I zibRI4T?ot(T#PI=(xc=08=g`mC2S7d4N=aME-p zzYXB5r&&DgjR7#8h3#rNjpJQ;T5dfNxD{on)u#5gY;c;{Xd^UlqvVOsHOOLUZ``a@ zpHG`-(`%)7d_QDLn<815Z;1ChCaA3JCa$A0M^~ARMyTVlk$I?qD8wO!E&{`2GgDpo z#>IyB0`x;oLvKXvWgBXj5(JAj?fTv$-V)9|S74TImcp&A-KJaC7OMH;ZTlh9owU(j zQ;oh2m)eof!n!>}CYNU)0&3!{l7ZLNIlT*eUv5t1A;LIWxY|61`0={3xT~==*fvJg zSM0zQfWX1}QcrAJM662n>iP=H_S3drv1A_Bsngb7wwZir2Fr-r6j&LnRukuqbOU`Yi$# z_Tl(50=pn(xqjtp7eBkN%i#^@OG8h7n+m)hVhN(37~aaW-oPZIf)OpQdjobFe_?hi zz&PjHfX|v*)6B#N^{NNryR46x#5_#Yl1zd?PMRz_j+0M@IbjrFAv>9!PKH6#rp;kr zj>?@>-`1n_>BSA)U9+Ic)!UoUg2FcOk!d6OZEq(EA&@s;EoKun?hRC*3R62u;7)gIz3rZ>qgQ>$X%^QkjfgvY|2K zuHTg>fH*0N`TDhLU27=zh z8s~w50h;)%O4P-}uPACCp;yiboycFB*sknOrE&sYh*O03vA28Qz`1mF6XJH!yEmPb z5Z)50iSMoVOhjEwpS|6x+1$BJ4Trmj+Ks0__wY60X@uFy(Yj%7Du2_aLj!$4g#%sp z_4mJ1y}b|_=>RQaVI)4`3=IwSsh!rz_Fvc+_Z^RnLb$#Txg2rs$wkY~kNW`>za^kx z`W?j&Frj?^dDZUeq3rf;r_IsNrSkWiR*0N>dg!I*r8@^N!NL-rTW8-yPAu(cJ}rNo z!ZQ+0bH$BU)ZYqf;&(8Sg;2g#i|h9r{24@+jwyjOE%TU~ah^zW~}rhqD_S^Wr=` zO=5XmLX&{R!&{HVSrhB7FV@RDJ*qTz8dsMl0}Pn_=(&*h*RM|Ey?871M9@`%LuTuc zl$uQyHRsH>yWbck`TFa@9-%{0J_J<==0z+$ewFd`{w8J7-On%2o#Tua#GlO)SmyJ2 zbHkfb^EyELw%oF_7MW0K{&6w!;eo8U9q0269=vHAjocH~VO#)c(#gSL5Hos(#j=VjD6*xghZjVI37mFXK(78@2zn8Pc~BtP;eeux+O`F$TADb(UvBq+3@ z<5gt*>kY0|`2@au{g#6=bT{#4XFcGuU&b+T!0o zK%&hE6(U*tX#pQUpsZ(x0pxZO+Az~FQ+eY#+mAw^OBl{1=T%{ASEg_qOIo>0$lT>{tW!;B-%z~rEG9g!u(4&Eqj z+$?Y+_41lYzGd-M;Ww#K@a1`qf1}CDG;_jwbuJ`GEMJ)JcU`9zF6>Uy&2wZJrVNaT zAeL#&X~=G_L+{ywr4FZLHK-y|Aa=6p$wzqD*S+^zOp`#i=U;TEKD3U-{bbfF#BgWd zK$xRu#F!5#Q=8}4&@YBhCEN(f;1%Ya{AgD~Nwrzq^C%Kc^`G3CQoAdgGtjidX{$xb zol8CUOgA>gOFK|@!huutH0m|Mawd8Rt8Zhu92(=n@If2F7Q+OaCIcaJ^E*9BHHKUQ zcG`QH{Gh7b$n8QJ9e}Ubclj~CxLma{iFv15m{WUUcc_Xnaw~HRlv4CSc3`9Z#tbu} z#l9@FGD}zXv)a!4k!gE^BN`7-58vPJdscNe{bJmKCw2<0gfm8cA@QQ!DE}-oF+h%GVxcVT6Dub11G72)Fv)D<^@nsF>WMY|)|V*qQ6wxR2&d@gIU#OhjR=Pfqzz6Q z+zKkQ3LQ0SgUJ!6iaFNYXIz)ecWMoYnj$Wa2EqTlEWNnYQ-;c`&WxZvo8%Zwoh*~D zi}R&U{5-DVs!R8`%q;h=dQ~>hoM=-t;;nSUp$xhbz)#aAe^H;qHip$1&yTVj6#y}5 z%OVQ#e%>LCn9@lbb<_p>X`;~{>I@fDCi+x!gWDm-!fv)f{|U%ZYqqzM=%=d ztd%xsOi6FKkBsL9*Pp?Wl`}ECv_8CH?}w1Cx4J2B`7VbGqD2bMvyBJ7)1tHEqQP(+ zGTEYz7(-3wV6GA(A4)&)ra#{nYcH02*VOw~(Vkc|GGBlGbIfx+jDeV~*`;IebYdsU zZerE-INK+9Q)l0DIs(TaPMt2X*GG%c+q?BK?Dnr)o0aA|rNZtf<)`l2uFqI7Vc`g$vgEYEyNssNmzsOszqe7Hft{JXYPH2;o;KV=hB}d__?$gp4&#ef27T z(=*XSvbRkP7QR}(*<_QM65f8u24a|4dk$qF=4or|z{lNgjT()K(^SP}Www2|+pJNI z-*ZRju34PU%uU79`IF4;y~a0~6guQPNRnWtcJSe8aeT!lo5$Lt(zJf@)0=GNuMFOv z{3D>Ho39*y$OOGciS2sedV>FJ771O!*l{nUi_+dZ~vB#^ic$_#v&Yo9KIdPccI0= zo3^)yN;nJk2(U|6Ui4Q>t6{2{Bt;y@!lR*=$7T>0xAqx;y}v%)(jyT2t?AQ4W_MKM zPJR10c+X(zqOghB2RGi=CwN&EOL1UrK)hR19k|ov+8v{ zHk?~m3$?0B72aHEr?>Mu@Phk2)R*-0ANDfoDs_|D+56W?4gg*TfcbiTS_u$k+H1j^ z_s8GoGpge(hIxoO}UvR*x@CYrV#psNP> z$kG5#h~N3h9s$JF|5;?o>OS331%#ZTtS|SUzdU$qjPES-|o<~S- z+Y#Zw7}%*hZo+1fk;ypPp=TsOG63(seKlz4G>-5Tc=P+4@Brp9QJn?fg3AijaX=if z_LlOW?&t*MiuSzY+f3TuZDX-EB|r2T=I;|ajjKJbm0J1Gd&BfYNpaRl*1GH<`cMh} z_~u^fklpX1MC%_1X{=vT4&PDbPMaie22SUMmUXO~7B7@(h>ku!h3MfZ? z6PaGFI8O`c1liM^MO+qEl3ki-#C7;r-z*QArlul;3vaboJL%lLcy6Ix^$4=}#Ll}H zW4(VUqd`fSv!y}@edX-i^o_c%h}xVeu4@?(`T2e-|EPEI*_w9^+#}e`vR0E=jAz~A z0CB#}-61&?skoCIaCvbw>I>< zcD-T-a>A!v%E)UgrxDsvn0wDm@y$Mu@{&|Qv==-`>fag^Ps`q@?^cpPuzPg@q*WYw z*XE^c;W^vQlqpq4#}W;a#rudFH13(u>+F2&=w*!IQxfp=EjOAhoV?FoyVnAIo7YnW z%C0r_YP)I?AsYf7AGzuMWJ-86Ei zyosY2f+X3-dL1&QBU`8k`eOhNJmIqxfi8B`Z^on+fJ(~cWHADE|D7Q7XB8Gk0ARTRCW?AI9DK8d@oVjM#whzjsJC#=kcvvA_Qb1 zE7BY6+w{S@{Q;N#(KV;3o8Zi^?c+_x%uu4)&jb}0sS(lAA#HRyf~d+_Hr zHEf&*4NA*PHKE~x7f^WPtA^Zn1dF{+T8U(Jk@REJLV-wz{v%~zl-ooRNNj$HM!3!1 zq2FkLHx9{K^auF)Aji$^C`n*@)=XE?*s1O&Nn-_yfa^fTj$)~I$BIjs zuzITt3A3g>Z?>|nRRXdtqCXN3)8Vn{!x-(5&V@3OH%%d^=qrNC)!yGt(Fua7Bl*cQ zO*7Y;Q1eY}S)tB)6e{Q5*m?L>{+?JeXEbSdMu&AsU86BVtDr}Iz8a%< zw1Yde!20~<^>{gg;$PQV2boe!2+0_KG9_}NX-_moK+by+7(x>B!=0>so8-pAgR>`w zln~|vhj)id>vr}#Z)mVu?uf=ZW-qX1$n7)bpFWN7dOPM+i#x6iY$R}y^+BfOhZ`^F zYRQH1wyA#pl$h8gVvQDcEgO#?$0^iq0F<=T71Gj@5mrU1s3;xo^gGW|uj_MsdS&eb zDzY=u{LE~wd;m=(WHezccKi{vKZ1d(l_}T&!>yX4<3TUQwpTO-K1_Qs?f@DosQp-+ zxxuA5!Q~33%59LZNMNH{MdVUD1D-tHVh?qGe^D0n>Geg3*C}E9O*;Z(Lys5f9}m_4 zh*YU)ve%TiCu$BmWQn=!P~p6s%QR2Kiqe`9BDNDM_aJzAj2YdY@yv+Ju%6y%J>zw} z7?XMNf$%aKyBv!(Eah><$!|Fma5@g!x|}>irRxJ0kIUm>RQk6A)FHqK>*N2;$_+|~ z--C1e|GEkXh?IaC9IaC8`&D5)1y*VA5?Q=-2p(AAYUGSs`g7zF(c_s84!Z+*JNhq! zF=9HFuG<9$yP)d^(bZtZJ}|my0gVA$R0D8TV{{4FHtY3th=tC_6f$62_Wx@ECL$*w zfv&q>f&o{>y^xIRYK&)0XO9kosbks2FYVINV^tlakg;WI==i@`$`1z`7iXfA`Ghfb zG@jKM31-dn(dE!`Dj0@GOqEcXT(Ae*vmVXSHPq2j;OOW;qdGeWxj}(0El3wqr3!!y zK39zilnM%T;-=HMX*&YYMQLELIpDKsKL9vW0hAfKVEc1uGy-d=nEfAmw4TK!FQ9R> ze^+faYhlnmJNsq5pI>mmAgTKP4B*};EzpIue|_h8HRiGvCQxw>N1MBx3gPn z5E$JtH}0?13Qz|M+HQEdw7}eaqO*$-Qhh_KTgAbOX#H zYoTi@c^>@IrHpf3Fdo|9hMy2HHD=;)!H@?6M9a<&*r3hU06#z1 zoUieLo>e-!JYF@3Hk-^Y70f2WCaN(3efL`CXuCeXOYXD%|9401e-c!j9i831clM!) zT9txRq7x%!LcKVkh@PRmQ@3Xz3GIS5%%WZ*ai4g~G>=4QVWAK_Z3`B7@KUZlr_$wh z3-)%quW(@EF>E%nA3~0cr8T2){D}qmpMjR{)Y)d2%Pe-v?w(!H*icdy4mW!D?T257 zsk0WpVYHyowyoEaa0CsMT({+H9pWm-EyWg?K>f!fP*dPL;cs}AdI|93RBC=C@DA_t zUY}fz63NZ-v+(uSCQY@RYBTb5P~NFOTDRU>W1zKtwnJ?J8R$D2ZeKYBy{!55gx0AH zbgG}BeYHJAYw9)nB_24Mym|d-gI`CFELCo+?B3Ovcqios0jLV{VIHUo^n#c zmW1LU`{F^;g+CR`=GaIaffTv#3(I|p-+^CZ!*TR7c6#n_KVg}O>YAQzw4qh3WoOr{ zPF)7UptUR6yk>+&9g7Sgq2?<5D<>IhxG6xWMx#e9R^kA+L{j_Y{^5&M?WP z?2dAT8UQz2|K*!1ZQCRyC;*E8&l{)EXy9E37DJ;;UQFR0jC6iUyzl%ZTJo^=Mdbs2 z=f=!SKN=;bXRAJzsyh7XE!5t>nkeqsjdOoSIw zBe;<;E^PRJuXp~HoBx-vLWuvH)Bj6{sQsfW(0fZ+U3fZ-21QJc$`5@c>vGsP2Tl!r zI@T)ye>za}I^2Dm75I+Mh;{GGTvbcB}1;K_HlC$ zVDn^BbrOc@F~!Vb0ryDSf4phZF0UE!|NidybN7e>x5;JPOE`OTU0;+^Dd5%Q?`{-0 z#d;=a5L((tfkFLdJo9j~^fHem*bE)cp+Dp>yM;^6)I9~Bz5h2+IVvui!yv5!)F*Vp z3Z1rwUzvYNy&M8Q^Xq5+Zyvf|-TM1ehn5C|9c5{d9Bzr~y-KO7{d39=S5W5X zJJbH$y+J3aKivnifKkgVNcio}#bmZ`mAP?vN$dij4tv{CvM{Sq087D;A=Q9DTAK>z zF#({FUra;137-SoKv-I0bD8~$MmK&iQg=1&X++GB;j|_;fsbI~`V|%~aPK7Ha1G`c zI!|8!h~%emBz4yK<>Fdaba!J6eq%C!WobbXLT8gJW*gy9n1mdAfin(v{=gZSLzkB{ z^m1~@IiCe+^Iaf0uG?pU#>oHe4WGINc{n?gHETbMisr!Yc^WSP@er5U2UN_3({2$X z>Ck*mE|mJ+DCAc|2y1Zsz2sH)%=AgEdB_9cc8_zN$Pm zbm!UXTr|2n*iQqFp{@tIF%^d5JO#mMZHH+tvGah_`#%2%Xu>-%{9X=|{f~2HxN~DR zHpU_7W?37ZxeQ033*h`134K2I&p9OYfy?>lE?PhA-zO%p>2&O81l90cPp06jwZ z?|TH=Z4yg2Bi)#v;!Egr|8wVwc*!&32()G*ls_|V#9&kZ+#-|A+gJta&xQlFEOwD3 zG}d>i|21t;&Z;$oXfca!i=eQPgCTlH7dwY&nK{UL4`Us~oxX$JI-lslP04308cMDB zRWJrTZHOc`U|fv}XU$*w{jrQPm>In=L*kQ(8G6y#d)%23XtMgu%U&qOi+zROtW z(`dlSlOFSDakrxnSW+^$gb3_X#)?_w%PG0kyBO-HW;I5)VhYTPSz17Yw>QYw(oK)< ziWMQJ>ALoYh*a+$7A}ktX~;&?Uf$3xB7=?^e%2l9a+sHUhdEm-aE+FL8KZ0iGj(?w_{8_5lez1PN%F)PuWFI( z$^v8Y{MNc5uXPtZO7kIZ4ERHkh$cv=&Dij3IUK$KOmUS`FZ}aZ-JYSc;A|vv%9@LJ z{}K`N>R*NG^k-6|aRv3S=B5t2aG%944TA(|Tm(C|vvay@cS_6Il8$G00v;}Gq^+Cw z#Bcx?D5!EJ3BoeH$xkAei%7^_;mxgV=Hz*l=L2sHL;PK~dt{6_fjn5fEnI zPem@D0j;1i%gW7&k!)Q5uW?Eqx3aJx&*l=@-lK2?A0}SM=th1wX4A_Z`)|-$tF&9K zd|>!93gO0ucr$_mb*a=Ay=eUzd&5S}UKTs&a?}tM`i{JXO(Vl~#%;ll^}ez7=<*Xb zxSx=A%P1p7WX|QW+2nXx^w9NUT|J$o;@)yM!wZ3>xh?@U8rj#$A%~q#v{Za(r$O@KD=xtKYxBmkiV`#psqHK$Wwh^r!c2!pB-gW1QIY?j=Rt%d0|caQ?=srK z5uCsKm?10H(_mZ&nQv66vYeh~S2b)m{5Br(%=FkRukiODi?6SfXc4N*v-hDwpFjYf zUN#CgD&08|L>h7>=!f#Y^n#<7gl&W!p`lES#_F}TOYk{){*u+2_|&QlU}pg1jQvOG zh?&r~Gf~*PQBhG4pIc8XrEXmGcLe(b#>=*T>uE`8yHyHOV*t}Rf2c~!znRPtlEkyU z#5Sl)-gK$i1hz>un$R6(9yw7<0axCLHUw{ub*)OGbv7UMGTK@5=JX(_>6+WH$QDh^ zH8}cC(xCq?d^PksuF)10R3zEj&^hSW|K2;Be%|k}E3M^;BWFwcU56&RN{WwYica_o zWrex>=TiKqU!^@%Iq=L+c`yAWTtepkW!V?Xz`qh7%|2Aw`%D=~KKRc~TD#WmCQWm5 z!`m|Ny<~uF@3(jZUbI`aU<~~!blIJzwbM-+kuHsP1`|Dj)n`Lbeg?&*Z+dX@+o!Pe z8@sf9a=OwQmL~Dt6aho8^qj`{8?vg`4J)}3%mx3Wq-Nc31d3uPEBo%!#vPtI({7>^ zfoW|^zpBuuFGrNl*qhCLYq56MtGi)u$;BfR`uo72!P+W^;%QD>y=zus6d!gw&Z4h3 z%AoN0{5+M&F+rB17pNNdW{sYFH*Tx+GHzD-i0T)!&#CDCEU0~3?8J}ZYj)9I8UQ%^ zeYo=h(;_du2NAh;1JbrN5XT-1s5lCn*hM6T#2NFa&JG;i@l6|^ z>~7%uMQ8Tj=LEs>8}ioPU+u;23K|kv!{N>%^&g`PH)uEcb?x0*^S)4^p?;aiWfNLQ z`Wl0__H@rTBs((cI!)gV24E>Lv#Dmhpo6IYAq9f#bHaSs_z&Taj zjr%m_zp)!U`jSuG@n|A)TrmsOJ;8E)y9Ley*!i+|!2~skZ_}(PVR6k?`jpb92iuW_ zmQ3}>T0}PixrymV`3?h`FB}F*=#ikSgQFL!hRN-zNGN`Gga|2HFwrx_o|Ybm-9A5? z=0Zs*^5%Xw{gkjVLO$}6$A0P|ndyoOUnF2y6h0g4>jr<~dbv>} zI|ugK@#qZ1s1D1NZgK6JoUJXlAkQ|HtdPoo0B8*x=SLx>LNV@p?dVPW4sMb@mVfQi z@sGi6Fk?p4{qsUrIa|>7lRX9<4VV>v$w?~q2(uaUy>z9N>nYPsdY@3o8;@7hov0gc z;7?* zR{z7&&L=$xY|XL|EYP~n?-U?hEcj-BDM9U)ocG#ceiRy;F`ir(qL17$z9G7QjsOw1c_?_+h*$}& zXs!LF-T{GrthA8`?6@l0MS2`;p3Rky2kdp|+hY;kaShy%Q4|-ez#C;_x>l1~V=UzK z@uY%aPJ@FpEITa{{ym`lOMl`JEQg_sGAs@xxDmM5h_6j>A8M|tL?T=K_71Fc$yT!M zK2aA6{Cu4={G#zQ)c&n%BboQXMib$>mB}bT|K2JZ&?w!g9BZ@fDEl6WT2PG@)KM2HPIK9!TmGyl+55%(^=VEFxI2?;KsH?=S3g-@xQ<$MlTc9rwLJyq zJ?+iKvL5->qc$&j4-^9hCkgn8qRE$;EfUCs^U)*KI7bJgrO4l;K3CGTt<%6BC% zaN(uN4O)nEVMg|~Yu9dIZ%1^#tt2P`%y+$`y=n=xay_#-`i>!u+ZtbFmC&TRd{*X z9;r9&`mC3F={xeHoVN1R(;7}JZ3CSg=PBG2n%!m~WO0%3MyyBmT6`I7vQ}JEzrCmIFA9HzyYJKu_UhdV*4{{S;KXo-+B|9t(F+^jzPUAt!f&PQQk&*!815=|02~l8FKWc^)lG}w@aJV?%s4Z z&CjqE^Gy)*eJtvG%E|oJPI)m=U%_VwUp)91ZFOQzAp~b@&4{%4WmWT!ND3Q1bH*^Y zPc0Jg3HGNzgsQhm8m9M#{UhVA^IZUoAZ|4Zt5sQX_N++p^` z?&mYz)!v95d18C&fsCf+(LYL;s=iQtKrQl8A@ncR?JNNY0I#iI;iv<;?;qu#?^Ex6 zTHI&$m&^gx4(LDfDmxTMy?Skp-t?!_PfRNMV=sx(7Fdt_6dC%fxby#9hyPK#RIb~v zg8#90AtfEy|Mrc|!8fNKhzV^rJF>pC3cVRN7aw1DC-2r;uCQ4{QHvgyD!gBVY@nL+(+gtKV~YjEb@*s*geLtF~Ry#;hJ)GN3Z~Ho*&rJ ztyeE2IunBes7S)g)i}s0i_>uT-)8p}Upl5gHCz|!R+Ja3YVqS&pp~cm> zlet`p?!4qZGjrLir&pet9fPh^Zkgdn46KAv7CE&sx5^)i#1@*>U!iKscId4Jl&lUk zuT?|jVTaw=%bb(bYMMh?gEcU z7H^cvY{Fr)*==8?RFzj6zi*(p21SrB^01_zXI$Bsn$Xgrsx2h`PezCQmS!F8;?((- z#&6u|xbmON;d-52ae0I__R2~f7vSt$?Oyyl92fHil!Y$Q%Ah!E<;4W`eHcxO;FTMm z=v)U=H7E>cQxzT0A*HWdXgO44u2f_E;ej!s=#rnESVAP(briLjL-cpa#;DXx=G2}l z5(FSz{fetjiMut(yoqZyAtAi5Fd`bAIPi%mC`5|uaI z+*_wIF|n||^=tQ!2)@Q&^@OY%Sz(bwlxTp81z160A+9(|43$P9u@=U{2paNw80ri@ zm>u+|Ouy${U7M|n^_LBQn$mOphR^h9S-SD+NjO92L0H6b-kC;2oxLtg{aC4Lp1uF) zIuaiEs%d|$41CM1bJhcx_^3-!pls3C=HC&JfT~E>9HroZyQPe>PV(+eCHFoFC(vFN zof)sI^xg3?c;33pzx43@w#}Dbm8pd2Ww$4JaHB_pv~EUsvD3Gos5xUvI{q>Hz3KrK z=M>-@f-$zBpVRrO<5;KpX#!$tukx=C4^D$BDJ%P2#k`e34r*FlM0YY}fIZSVKc_C;IyI>t*Z z<*&WDZ7x;{x-wW`d_}QGX?m@vU^GA|C|<|JX-l)xV1i>1JQkg7>M^wzRM={K(o=Y5 zq_5!k_7^+=x4@-HJU3Shmk}(U2q1JWFYpb<7vK6@`KsD3tZB zI~R?-wtVXm6H5wb_xKD+By35)^l$@%vN`}L6n=$TkJ+Y~$j@P>2pF5-t$Rc$81Ox# z)+hH+sW<5B@qS+HxFd@p>0i@`@az39EQJ@#8RIdGChi3`WRnTE8e^l_Jq2y;drZe} zrpJ2^ijszug1J@T$3@Hp<3hnt$;ngij^%s0_TjP5T&~TJe&|M4jVGN!G>rBT1B$Vj zlSs&XZh?QRdsq!6h{&!ToQjO~(0Z$w>U-z2u>AGdigu6(DW++>ry%V(Bdu=R5q+W^TE!EYiTorDQXlz^#e9%fHvP3Ux)sh8VjJ zdT>IA?}!O0$59qXO{^hYz+>{k8O_}sHgQPIW}hMc-k8M?+1;<)cEZYF^M#R2awE); z&*L(0QBw`@dUW--+DbvTqOaoySulgu#lf6^t&3rr^<;GAW^QFYD zxiu};;e+q=djf?4*D9Z*W>VH}C-#e^!n_V|xwWG?ULr9e zeVecYNOK6{U={4w0as6 zT#OgCku-giUvpV`Qr1g{5MFm1qaEPelrGqx({HaSM>)*6(KR&5p6knX4V+}H#&+d< zZl3<}!9Jvk+L2%~QWu)del;YTu{}!Kgr7^vIF1bH3zlq%rfa2~;d_kYZxJK-H1=UT z-|Z4b4|;!+3b-T*$g}D0JWBP0;kN3T*E;G*_*<@yHnd^feSy~v?UDLAG(S~>y>qR; zFb?Wd9<1^)?>wi36dc%R*X`aY+vP0Lts1ZozW{0P4RoRC=ouqYSXjD2$1htwzz~r1 z2UGgG4IV)Cj!fCyb(GC;#1&_dC;j8jS-Ze&-N%Btkp8)@=m= zGsHl^GVv{N3SoeCBIi-p+sYagI~pKW;9|efe*RC{>CN_|%EAYTkN|yRbjKhGtKkH& z>ir#)ymELhl?S}WHWnk6X4~w_6-`#>S&@9g|F|O6r?2fRD^&rVE^UFk`A*iY-8Fen z+iAyN{Y1eWI>Nb#xoY#0z!xMe9OszKq2bHkt{{$5*`ch-lQD-%oKfV26-Vd@G^X42 zx_U-zAXe>XV4tIoAGZJgkRnTe0vZ&4yuLT8S{mF@m)mb)1nqMRvT*TlxZka1NanB~ zp9BMzaXVbEA38I)^u`Be5XjJ<(-awhg0arLyFvQig&vivQrC}B6rYLGRYST&Ce1{? z7sU}u(h(TPp{P1#JTIdhq$*esKSw{Bx_D>v$_t5h8D(Js&7wr~i{i9gFFnhR4P5Gw z$}(+Y@<5stE4xFWG^ni{=5z8S0v^aE;C}>NrDngO`Nz?-P$ykn5XUCIFtSf%Jbp;D zPFbEn2D$bqh8Q&*WjelH(r#?A#RMam#ARTz@^0C;Ua+=D=(6adkS}0(Q+z&)G@*A} z?a8?hP1#q9aIe89WJ^z2R*8_i8v6p`Fjikl@4KPpw{CTd2dh7JD=OXJ9lW@EhL9H` z%U%%PA1+ip-qRg~>S?@wBZZ5#t*MC2{&g%dTB9oD-@blebb`a8WnI0bbjN8C5g#ZKvPg+%HCi*7)y4$lmb;3F=i8} zdaT^T5Qp>40@2=gHXNs6OSi-lUrxKT3A*L{#Z^z&)yd9gzvSxhW5sD67i-N&3LtIr zwm*~s+eNj-<_98Gocj9x6NWU#p@DnnOARhNZDHJ~kjdChn)UiT8yj6XO9+89tfh^$ z)@5@~(U7?_(1w)&W;B(D2z=JEqzWrh?T(y5xoa{;3$aI=%TESvwBoE3o$M7QbMGe> zuAOZ4^Uih^+XG!a=`FEvd+**&znN90rJ%5Pi z7=e3j3X+suCG+EYFaQ!wodpF$axDZ zJX{@39htu9zNm+%+Iac2t z;%E|qz+!LN?x^abg0;X;URpww$b;h3>tRa6IB8Trzy8ymjray3djD^v zpgbqO!3JlyGDkIZiKcaR8OS%h&aDiRvo4X-pWjfIeY|r-TJYZPq%vO5yOMG6?R+Qs zfSvE%j&lBJ?w zz1vTUv$|9ePutfw`bmcOO6B#xo0G1?S+pDy%s)W|K{W3GRrS5CHsH2|F+#ELXF_8{^S$Q53yAIEJwR(r-#w=GVTguT!nnlE8El ze=Jf)M`1_#3z@rm4hP=A1kSc;Xr)si&LO(Q8VYPdSCLjIGFDB&k<;)sBf{(we>vPR zeUqx~%v;dLHq#9g`pHxN!{!1f!yLz0u)!|KOE_yrjoejrjYOCV9Q7PM9`-ns(x!-5 z>09I?PTsS_T<=VvwmmQry2!OWn*{3^B%^;O0({=CpJ$ z?6=-)>3LJ+FrC)bzLhXW!&ii1wS|wrM%h@K&+hVupWQ*-5IQB4l9y+w0D~|a9mgG~ z&$pPHA3VMQUPa^Cx-RdG6HjClR3fu8s)A|Djngx4D9bO6CLEoHFn1K^v_+VYg~O7U zHwl7F?tnngPaU**@L(fH(yj#1L5ARmTBf+f(Erugm%u~yz5icSQW2?S9Z8~1NOq%= z(qak8UI}GFh%uI#X-Af{kaeWRIwaYbQCYH+tiwzhObjzIjWK5X-)Z^%zRTzTdi@^P zIrpCP+;f*X+kMXSyq~QER-q?pny(T6x*TOZADVceppUaij;tkV3rox{&}u%QRtHH> zaX?ps>m-F(wwrgK-p$1s_y_S2->4GgV12p4z@mtBUO-KkZw=0C_QleX4@1Tsq|k2$ z5NI*y-O?zQ!?_7Sn$0kFtX{NwT4w{7`8hOFTF0QfJnj&LO#9kmz!?|U&C;d!7|2DP zb8M+k^N?%3zEp1ISG(~x=*^>xHt)g@A1e>@D?C#`aK6Ze=$tuU#Meez6f@by%!cNs zvW1#i?9}`5Z4Io#(pOQ%STfec;hr{K=THT+!I;Mg4o)e?fgSM1o=6WQ$Af6ROhUfELBhc#h!Hu_ zgg3rVTl?6{U|G`6bHN!?+HnglN~WD3;hnIpUPc;PH|VS=dUt{%-HNA z;*dPhM<5?XWOAofE@?_<;I|E8WqLRg6Xm5k(ojmtm%k&)&P@kQZ-7_Qf(>r+r4|vfR17y@ah3H1IyN8b;9ECiEei|e>4hEHiPb7 z%PDNnr|rsM(WjWz&+16hhAr>(68kXExbWvsHqy5;#6Nhm&y$d;i(GK% z?!K|Hrv&PbVDZg(p`p;PpJX>(=3cYrsF?pi`wKD3c4?N%uoRou9OWNh4qxCwhe!!0 zJeYO6j^q`nKexBfc_r7%=69ESQE>~X&zU5O;r*W4C0*u4 z?3m2{^(m`6O0mPRp>hPpzPrT4H?_b!KkfCOD8ezTrjAkIL+q33__@p+KH4sMM=|7#Hx@|OUaYT;>!!36x6BQ_Hrw{-^)Y! zc)xe)_VX2^M}0FZ@F)E2D)3j_1o+jQl@EHT;Cma|1X& z`oCZg{si$bMEX#}N}XFgcmwYHTfjRik?{;?5*;7N|7W_QtiL}k0_!-Sre6oUR|&5l zEK}2iW6QnDi=K}>bGo*)@z>r9P81WgrDvBwkK=|I9Nz2ygT$|(n>l|}Fx|><&HSGF zDB?3L%m<_(D={P0zFkS_N>+1K6@eL3@2lHJMjn6s2m8`hQh#(UG&D2>@T-qNy1Q<( zM#deay3Ge&sfXz{nD^i7{5N|c;Ilx-to~bQis|%V*@M-GA6yULub6}PX|kfi!9tXFdqaFKX*{8-Q@1K%%oHP_F2Zfn(bs(NYn;Gjze;l9DnWTdBh zDMPKn9T$GImbC5u@(I?(uiM9GBcnf6t>ls|Szgo8@W{xF4^ls$FD6(@(C)CK+ASHX zoVRpyqXyFz$hRF+_tE#^AEGw?NLu{Zc(nE-M>VokQj)qdOW$UFRyF6UG^m<5mz|>D zBFk9h>>}>SVSaw|(a})`wwVEFK-gB1moX!a|A8uTKvnMFk+ReBQ-X@R zgAk$zjz7+6gI+QY%OdR4#rlV&ujh8+zjs8D#}$2f7G=>TIwRWB-+!v}2bD}C2k&Qa z6K8Izpn$XI(J`^k>N&T*Ef9&gg!(8hms@jVh8zpRvcf!4SnTi?*E40^Apz29^z*m# zV=ML|>gJ*nkj9~m_d}+eA?TP(!fF~8ODOGdFN(ju921=52{88OHI%^5ZA}RQC zy6MC<5l_h;k|C#Q{1P#yZ1?Bnfq*#`iO@0`Gl0KVbl7oDYOk4j^S;fthY^%6+pNBs zOmqLxvIiDi-tk3`>i$EO8OTBP*n1tPe7wqE_oMLG=mQMJo{)-t<1?lEJy*((nxCPC zq~?vM6C)B&z37*ixr??*CnWX??`#y!C@4Nnk3x#dR~CXw6jm=l~v|xN#EB3hZnTUTM!Mj$HhTv!(Gg4zPrR9@z`UL^9CEZUs%2{ zx=w!Tw9jJI(ynPG+^)yh)!saH=9*hKl-UL6K3ekEyi|YnhB?x4dJEpU*tq-Z4Pv=Y zuFG6-?VYL7L2}#TuBFyCW|Jj6@)oN#;#=rSz1?Oh4!7#whi=VGA9q6Od<}c3>m==` z2eN>SL?jxJQt#JyG!50v_e2bN7?~2@ka7budG^|y)MLG(*WQV_bUt~fAW()XvRE^t z&Wv$pjoMt7Y2gTh!}T-gd%b$RlIpw^Gv`sMguk&w=_k%F^tZZ?n?$XRI&%8drY6-> z>tb&nxhr(!j!j$K{xg%NM;V99xFZ}%%=q!~d2;%b zNry9@&XfVwV=m!Cpdc*ZfDc@*;``H{qtpHF->L^-d%G*cdrX$`;9`hS-Ly&M!bBu7 z7>6-!SfS&HXi&@q31{{6WYt?M$(jUeW`^8rQH!WfZwb_Hpah3~jEMeH-rQ&19X{nz zOgjlnaf!{C)~oP!Q<|r{5|bTj7=h`v;CgJ#wGQtohHjqk(u>T_aJiHuqxmKV(Z$uL zyyvilITdn0KYV=7Pp^)wTUb#$XHi~Nq}yE?L2+>H_N@*tX0Qi7!nG7K8Ww)6vPP@h z3!V7=171K+4MlO-VGBbfVy?AYp@U(jt<0=y%u*FkqRa5ESQ<4gGH%JM!j0I9FO3{!(87dvGHvfjo z;PQL|OQtFvLwwTC+?R(0EaHsbjZGQNljbQ2?lM0=3GarSWTP)@t&6&PUgdnUs!FQL z`Lwmk+tC~&tR3hP6SJ{;lsY|}Vby?an&syQTp1{$cMUAm;vvR#Pwlz}=C!`hG`m-8 zqjhSR19WnQB)4X{sFZZ<7UH6}+b**lR$^k-qN7hFt7tqEvc~^`MJ_+|NV};HNwoY$xg$ma|Wi1YHjP{2JGn3 zP4UTKnoV@+W32UF3^rMFgjZSL1o%0?bHHBc$m+YB@|t5C-`k(xekoQ=-Av`-Ug3B^ z1k=h!0#J`aD@eD#_qAgOAdL_p}{+bI8egl-sV4WrNejjsWj#2$0+aKv|}B5VTs5yhzQ^tp*~U}WE6!~67{lJ<&Y9$iF zR)EY;Paa$_jt|74ifwuP5F9g&AI$wPan;Xo6Q%fSGf}5AmaDYLLZSDPjuh;OuiRM_ zktUdIL}gB#rY5RCzWmg@w>4N#pOR{71B6uXP1Vg;JKY~b!f5l4_tCS7hB|K}+fz?B z_5oiDs8osQ?{O+1*pp)>TaA@J=cv9N*mTddP1iLN``r{XR?uJOx?f|CBkVbI4I)@Tv2g zk z1WC`?)`8fPf+XJ@baZqpQM55uYRE05#~56hsly=a<;H7t`Jp})8TlA*FYXo;Lr9dj zMM^jih{R-Z_=QT+cv3jAGHYtS=v^li@1g}+W4fO%G1iJdncn@Km9MwmG<$?U1<~oE z&#EYMvXvdgCdunHClOQUs^t;s1kDWIGQFDJ;I9?kGicPnVCyf!2}{_nZ%Ql|6BV!u=EUL4mB-5vy`a{iGlNJ!*8Q4xhUJRZ#>cA&Sr_8Z3ud~LzwY~!z zW1|Zs#juMiJ{ee2Qgs78HG>v7T-kHreMx*^dN5|7YQSd-;pq1mQx>QDuCvyq(`<1t zyx!}P50a9(d{cTh``y5-Ywz)2hSkM7Z;8Wv0Z*1MEQ-QTLj6KzTF5{kYb* zxKLI!F7KwPx_OI~l#0va+`nuEsJf0FTrlW(w@8;wCAqe8M` zUv52FC-oAwzXNvuP-&f!X?VoFjAIMq#Jv+7o0&B)!k&dz6K{~Lt`_v#L< z35*-F)*LAtv3iMd0tQ7Ex{It^=gLG$)IR{kZ$Ae#uK7>!-Fl1sLw6eUz z39L3GvFBg}X31POCbo$59kQ}YNJjycSHf1H_Cf4+z zLhh_P9~X=wyzHFTiJot2q1S~vMHuxTXCl+?J!r+I6rEes7NwgO#P+-7%ssTkYS>*i zUl}P6!#xCUit_G4l@D{kqCJraJ7qG@e zl+_*?ZXHT%oU~yO#$24xgLg5zSy34fT_rdAvWl`fL`pb{53E@WG!iI>xD!I0HJNqQq!4ra~@?{ zGK2Dl1owGbTcS+(XtT#8_yQ!N$dNk|&%i%CWtNhYLnnigOI9l0DB*y9mMDcUkHPSv zR;acmR4pfWnSUZTykPg{v0na(gq@Ez?fnunZz6i<5iJ_QKc zkO`AM6vbdRu!)##VEQy@X2Yg@yYH$R1u;GFiFg3x^F2BYy~S<3v0cs9kW;NUsBQRl zRT0Uq3cIb~7lh@1Dei=TRtKTMm#i!gSbj6fbaTiY6A##LeBv0ZA{-tYO@bB(J{GwNZWUT?6SVYR_qow_@g^tx411|Lq4wQoETw^1W| zgwmM-8_pirRmR-K`s}Fz+w9vT21`weYo`3y9U$xeURhqxy)DdqW<+pFfXf}60Qp$=JnmZj^_*4)zpU% zdB}s``849AjiJmjT5SX^L7$Xh2;H?UF2`zSM*~?APc&f?qnO{0N$7`7RFObD(x~Ol z#%2l8c0F;c4R0WR7Q5+z`9!qRTlDPa=T@#+u7yY!L7CS@Ky1)o+rr1zEx2FT`I{Eh z6!(0{t{6)y1}~>S`3S<`>h$z#6?gf}IBE+f{w@i64JNu!^xTa%#yfz4~y!tsSHkMVD9zfGA8c7aF`-T|ldl7RfhNiX$ znX}4VBv8?h%B8^^YF^cfTj{cwuMrt8_%cI_-TVmGlO_B4kDU%kml2xkNIkj@LrElb zO^@Gqb8A+%Ik4JH+LmD)RNY{8H_wS zObhFzUorGKz@MK5=ha|uWV6La`O6u<7xl$H>Ctl({Vrkv70Gohq@T*9)WIrhmJv-8 zevHN55k3a=kSMO$Gw=BD)KqD>_j#MZb_dKZf@R!`PAXhW^s70{%UGFwBB+dLVr1M#Pn3RdV+3gF;T{(qyJ&0~+ z_pG0*CvYg)5RXxo0)DOq^kM^ftcjm2Qz+ij!Rla!?`n%)945G%n6EVjeWgAJmrqpg z3Yj?w+3&t66?>>dwVw*K13{S8Ee`fip7fv5+poXSQ({%S(9xQxP!|+aF}-k& zEc34Yql@Wx=Q66rTpu0DgtX+*@8w@RH%eV5D_IBBH=k;DR$~zxg#poKAz`P%Lw&GF zviKs|IuF)g)czFG&lBgwl}Z;~oGz??0H4Dy_@=rpmJe439|M%sf%VZYvqpr8l)_K5 z1Wl>@o1?X?N-nhc-k{$lJ#2S1NBY!o6MIpLtckylzHX2No{* zid%d0b-S3j$5T(Kdf`|*#%O52c4@&j2E74ywThydFB}dZanq7*@Z-+SLY~^W(LnJR zVO|p^$t)V=>L$4Ttjrv!oiB9!G8uZPA!R7P@(?@ONa3JfOV+4=Wq+`W!Fq2Mv9Yp4 zTi~(z`Gro;5cj&pX)x=TP7jFrUHuzw zTY&lPCphEjvk6dXArAn!L)0pE4-pr}?grhNwI+ZDhhz}Bd!!2F{EH4QC_5L? zzaLi_wPmV4m1I4+{MA`!+wru~!QzrsTJ)E&!M9_#hT?mU&62X_nzc9+VY?j6ndUtHo2ga{{w(pCNx+-}{nl!&leTVXY#E(iVFvr}6Qo#_lAeD+OuP zS(E6Pcz;h6k&CL}i*uDlIJ<#Wkl8RE3v>!Tl6oc6lu_?YFV6@-HIz)tH-t_c<)6oz zyzUw#S|hqI>GnQ|YJno{S8EoDZ0H2P=_Vm1AD*d4)iIZuOa^VCwbF#sS|(RVK1UES zX+TBFyX$DuS$+hW_4xP2*Gh=H_q`Ft&tKX&UvyLlbT; za>tFz!{m>AWew7>(Q%8Tt3==rb15tyUtkHlR!VBk?ZeNV?qT0S%6FXgzT8$vXat0^ z*8;M4-+}pmC`+vz`qq-4$o6{V)s)uHZ`;uuRAReR^j6gDg^Vb0FhdtQ92D3TG}u#Z zE?KOc_z}MNwfe@1F@sG8tD)w;`Tjle_OvFh$z!;IPBd_hztj7AIJL2p_M0ET3P z@ouyvxU3E+17^TYvykquK<@6EKlcv^fjh#2gSBg;6KZPUR)T$Lw8$+9p>9dR{y&io z8d&#F>4G#7^uOk;5*#Ri|7gL^|I&@`z<073a0f`ph&ci-o2Y}5ir<@HE#>Yy(DLTj z*7WP>PZr4VEBEf-@a$fsXYI@L+sWTsQBy*?ck!R?zCBh>e7J`f^+0MTr-N2{6J^lgGKhF!U zmRnpWszXqZ)>M;~+H8Ok?JvzM7;t!1G6v02J-P1YWIbtaDsQ&Id?q}64=A6 znBap`TcFOa;Gmd0s#g21B)Y;PHL)T52c$t(z2{bDVF)oYAb2ZN`lD0>f*jt%G2m6h zI><8m9p3E(TydRmk5m4X%gQ;bySCi>=8wa!7qOt7aV}qYs4}49+=t>rVI9d9oWkUR zVh4v}hf?pYcKQ*fH9;-nC-$uS@aE=?#xD;pKhV|iT>pBlK86n3wg57xwYPXbIxW}h z3zXiC6K)amPD|BMJ1yL@^}zaVz+m}p>{dCgGY~GMWSEOf99v>@+0z$Ool@_4G13NM z7UkKz59!G8pF=?SQZx@(S@|^(fi71hBd!fCJV!OKm)lsR{hP&WaI##4F{&2Jg4X z#9^6S&*Hm=cQzd{zN<$JPN@thC~d|0*8b#60)?RD7O=Y@e|JIF zWXqG8-s!z?S}N^rW)!!oG#pn>6f7rKE(|210yfJ2RIK&fR2+ii#qx;y7#yf%K0 ze$Mej=cyWLbd&g5ihtzO zsVg9K;|_FH)%RbGARD}kzw{v65FTlsuy|&#wdv~kYVQ~D<7P+Or{y_p7 z><9j(!4|ySoxk(sFTOkL9E=L{{p_fHHMpCfphr3-Ht8T`xJmF zU2e{4|f$)H$`z%Q@H{^?;U#b@2d``~a(*C#2C|Nr9GJuGN^BEW?x1^@~ zE!NN*0mUBKA)H(m2+8@P=y_`3e%E6iF+n`ilXQi<_h?(STds5mdBx4rbPV(rR^QhP z6(neT#j(Z3B@QR`=&4QCjg<}#UiB-I-wR(OqkB=TVrgGRdGUq!9c%{Qj zPhN4P_@kkEx$&yw{?C)+?y=H`j&2Hc&hvV){asp#!-jX4wbELA*7B^qHb@@XW>zZp zeo6L-D9H+dBn}O8nveh3MHMn7T)WO}{cd&;=8|Of;hE?gh!Rs-cfr5WuO97mUE>AP zT61?8&-V>9IPeg_ycdNEv;y=XA6HsOt~E$O)}bc_XqG$*-g=O5`rEK2z5;PR>`PT=2JW zs-Ha*|EWW--m)|;7sNN>kp0z<83(kq?ta(FDREaFSLd`yZo+_E;^!cM!ZU;cI9 z)uOT+Ei><&VSC55YW&pRcJ=Fdy4+44ktjNYO~PI_I-l;c!&wol)|c+n{?pJ_qB>}1 zwBP|!{k7ssM36{@t46PQ)w|r%k-3e*%xTZWH@Biu>!2gQhh_kTZUj5A>!>qNvH|%8 zl(mT&SY@~O9osCn-4@s~1+Q#RIkos0?3thPH1t&Y)-yCT$Uq+GI#rCq3BGCZsBD;B zuqWrvi|m}nNlP&)DVZBcyo~%M{WANS9R(VXg@EAlmyawBR4K*as$RtfWih(M`n_T;j6EM>DT`y)hNzE928 z+R(3abbFdNN~;RCvVgsIStnw!LR+?;;v&0&z`(}c3kV-XQX98{7Ey8L=0{spRCeGZF-?ge zz&>|+Zo}&!WkB}yq#2-{`UwrJ1(baZBmuK-F!g5Kx`I5k==%&ZG%5r1xD1NP4LZ%u zlz|PMosrQu`6pGZIYn`CEkV?Tc>X(Yl}%CwI#Ob5iFAugI!`-QcNm@a-n41^YaKDM zxFf0uTP}e$rYw2buObMqgt*71=J671vLiVI4i4uMAV$$^zWU!M&3RwhaP*+}mCGPh z=!Sb&Q=dQV(mALt``Ra=G1vA?1-2U;5gc6a=Qm!qw4SHizRdqLt+>?5dvSe;@#p>h z`Ux7UdR#)}=X$w!+dn%Vh-)y2W#JoE$F@~zOi zi^05A>N{R*(zr&QU2=t3Z|^dlsKCbw`U5gy`#PG>j2PEZXA8I}Gq79P@8#{n{j3Z6 zB;H!~2Gu8}8Y^b2dV+TO^qrgX#NrU_RV+BID|#pCa#(HpW!m6NOgHKdreo#!^65`! zuKLFNeq`}aRqiCp4H=}u>nVuTK2>vQ>6Zlt5A>KHD&z?lJo`l4g4tXp;M3{ zs%d;bUzFw)`zJ4)z^q@BU2!iS=9G$sId5#8h%TsGyLj<9rZRX;vvQahI!0I;uiW_< z)z4m<#)H~%6%x{E|ofl1VzU8A$m6WX$rG${+6fgSag3 zfF5nyZhCihXZO8>U`kbI7h}+E${hh#7p`iI>(2+hV~I`BQE+ws?%hrK{PiktH*8hs z#%#0Pq4G#Xxl!fO6EXV}Xw!*I1bo_z#)dYcvY(Ifh;zu5`78qep#0k0t_2U%-m%@_ z0{?okbEaP$l7I`UCpW#={zz>d(3Hw-&YM-~Se zzEN|4tq82lNX2P~hcoi$CX}XccVmd$cZ{MCeMT!o71g)Hg~AEO?Fx$Ds9*ny_sB%T zs5YruNi|gIRkHoFq(<7n`=FT}FJo_dmz(lmzvL@+@<5417RtwCQZQW*kUW9;1{mW% z354cI-r2tP$Ug;AkF4kU?gs?yLM%sS2?a@`cS>_m9;kGY0*Ny1=C_f2nGH=HzQ=<( zVMh*$d=6f|k#qa!ea)=*aq>&uPi1zoW3T8GTu>!}pU#0+v5~Ps8`t^Iad;?5#PZ-Z z$~7Hv+ykc-k`u2cRCqR*JV=zE^p^Sfy!W)2X|}fTMJ}`^(=>ZOf@>zYh4lrj(3}u@ z&9dpWH6tg9rr@U|D6bG9M|rpnefdQRVl(;-pm8+Xk1`Dp7mLzOX4$}de4%0!{)PmTf_Iu=~Q$W5Y>Eq{wa7xGf;(V zism@qQ4%F65`cb#dk|}Qjv+ki?0buwz)N*o%N2#qfd$*OY?NNEM6%+#Dv}&jUMh6> zZ4v8y-UG#?!Rk8OboT47mMu()VoEBR*}PoWc<1!$gZ=jXXZDz%*!O4WB&PA!o1CwW zNMtje-Gza=@P0Ae&TM*x)wqwn&|&rNA8{ zYinw!#s`S|sl_aK2)yGTGQTugT-pxuFZRhs-~C^XA90>rW3C=sEui%cM12Jo(TG;% zSKq*?9Uf^u}ejgL!VB&grxmf>)7pO3XQJ4_YF`(%Gm|1V5G`((|-s)$h^ z{pOj(>-dN$=GY+uF~0Dwz9^EZ*&{lu*G!79dc9m1Sh<-flW=GvePW?y%r4ShA0Hd= zpjAHb%t9E+UjqaQ@N53Rv37asPt&`7DK3GaUqyHQF6Y6PAHCo+u?n4s2@(>-cok?? zEgc*a1ikYAZsn!eIGsIETD`;dT*aP1Da+$`m1Ygi&BWDbj-ULWST#n~QpHkEP#fY> z<2t?3vTEY6bEh_laP_dTApbM7=7TU^q&_LG?Wy+VHot5EBS@)-wb4TPszTbY?K{X> zh>3YbdBs~5zsu%bb?J@3sz;VsvtNAw9Z33)776L*?EzrU(a~vNt`-gYj;;^!E`H_> zI}ziRtX7`3-&5zPR_gO-orB)q7asUuK7Y|^UDZD4ZG}P4a<-j2s$IN)>%HA$FPptx z*Ia(p=%Nl@W4&6D@9fO$w5vsr9ruAR!S&bl@K<01to{-wH_-3=+S^U80xh_q{c$O0 zPqz#9%z%Ed3)yh_OZ9G0HFz>skR~93G~-{W2<&9C{~pVnmJ?rd`|MTh>Bnb$FQ>um zbafAcc>=K{aPjcvqywv)g#j~hpea`50O&z8S@+4`Gyl)=R?EU*9c>Vf^>pX^r&Bp9 zDm~(*6~_1;V|vf(!SWrT=amaGc6OTu<+Wiq3#ENY1Er;FV0O+)uLNnA1+V1a=|DDk z{O?aC_U{~mBV9ota#j$oN)vjzFqu}5d2_Drc$?W&Rzk~yAdy~x{?^##% z>Y}iBxm@Sj@0~7JstRL){pymgHbQ|;vbuY}l-W5ayA++vvuW(Tau9rzYb*~OJaYM^ z+_r