diff options
Diffstat (limited to 'recipes/binutils/binutils-2.20.1/binutils-nios2-files.patch')
-rw-r--r-- | recipes/binutils/binutils-2.20.1/binutils-nios2-files.patch | 41026 |
1 files changed, 41026 insertions, 0 deletions
diff --git a/recipes/binutils/binutils-2.20.1/binutils-nios2-files.patch b/recipes/binutils/binutils-2.20.1/binutils-nios2-files.patch new file mode 100644 index 0000000000..0601aebc3e --- /dev/null +++ b/recipes/binutils/binutils-2.20.1/binutils-nios2-files.patch @@ -0,0 +1,41026 @@ +Index: binutils-2.20.1/bfd/cpu-nios2.c +=================================================================== +--- /dev/null ++++ binutils-2.20.1/bfd/cpu-nios2.c +@@ -0,0 +1,71 @@ ++/* NOT ASSIGNED TO FSF. COPYRIGHT ALTERA. */ ++/* bfd back-end for Altera Nios II support ++ ++ Copyright (C) 2003 ++ by Nigel Gray (ngray@altera.com). ++ ++This file is part of BFD, the Binary File Descriptor library. ++ ++This program 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; either version 2 of the License, or ++(at your option) any later version. ++ ++This program 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 this program; if not, write to the Free Software ++Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ ++ ++#include "bfd.h" ++#include "sysdep.h" ++#include "libbfd.h" ++ ++static const bfd_arch_info_type *nios2_compatible ++ (const bfd_arch_info_type *, const bfd_arch_info_type *); ++ ++/* The default routine tests bits_per_word, which is wrong on mips as ++ mips word size doesn't correlate with reloc size. */ ++ ++static const bfd_arch_info_type * ++nios2_compatible (const bfd_arch_info_type *a, const bfd_arch_info_type *b) ++{ ++ if (a->arch != b->arch) ++ return NULL; ++ ++ /* Machine compatibility is checked in ++ _bfd_mips_elf_merge_private_bfd_data. */ ++ ++ return a; ++} ++ ++#define N(BITS_WORD, BITS_ADDR, NUMBER, PRINT, DEFAULT, NEXT) \ ++ { \ ++ BITS_WORD, /* bits in a word */ \ ++ BITS_ADDR, /* bits in an address */ \ ++ 8, /* 8 bits in a byte */ \ ++ bfd_arch_nios2, \ ++ NUMBER, \ ++ "nios2", \ ++ PRINT, \ ++ 3, \ ++ DEFAULT, \ ++ nios2_compatible, \ ++ bfd_default_scan, \ ++ NEXT, \ ++ } ++ ++#define NN(index) (&arch_info_struct[(index) + 1]) ++ ++static const bfd_arch_info_type arch_info_struct[] = ++{ ++ N (32, 32, bfd_mach_nios2, "nios2", FALSE, 0), ++}; ++ ++/* There is only one architecture - but we give the default a machine number of 0 ++ so the linker can distinguish it */ ++const bfd_arch_info_type bfd_nios2_arch = ++N (32, 32, 0, "nios2", TRUE, &arch_info_struct[0]); +Index: binutils-2.20.1/bfd/elf32-nios2.c +=================================================================== +--- /dev/null ++++ binutils-2.20.1/bfd/elf32-nios2.c +@@ -0,0 +1,5003 @@ ++/* NOT ASSIGNED TO FSF. COPYRIGHT ALTERA. */ ++/* New Jersey-specific support for 32-bit ELF ++ ++ Copyright (C) 2005 ++ by Nigel Gray (ngray@altera.com). ++ ++ Copyright (C) 2008, CodeSourcery Inc. ++ ++ ++This file is part of BFD, the Binary File Descriptor library. ++ ++This program 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; either version 2 of the License, or ++(at your option) any later version. ++ ++This program 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 this program; if not, write to the Free Software ++Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ ++ ++/* This file handles Altera New Jersey ELF targets */ ++ ++#include "bfd.h" ++#include "sysdep.h" ++#include "libbfd.h" ++#include "bfdlink.h" ++#include "genlink.h" ++#include "elf-bfd.h" ++#include "elf/nios2.h" ++#include "opcode/nios2.h" ++ ++/* Use RELA relocations. */ ++#ifndef USE_RELA ++#define USE_RELA ++#endif ++ ++#ifdef USE_REL ++#undef USE_REL ++#endif ++ ++/* Function prototypes. */ ++ ++static reloc_howto_type *nios2_elf32_bfd_reloc_type_lookup ++ (bfd *, bfd_reloc_code_real_type); ++ ++static bfd_boolean nios2_elf32_relax_section ++ (bfd *, asection *, struct bfd_link_info *, bfd_boolean *); ++#if 0 ++static bfd_boolean nios2_elf32_relax_delete_bytes ++ (bfd *, asection *, bfd_vma, int); ++#endif ++static reloc_howto_type *nios2_elf32_rtype_to_howto ++ (unsigned int r_type, bfd_boolean rela_p); ++ ++static void nios2_elf32_info_to_howto ++ (bfd * abfd, arelent * cache_ptr, Elf_Internal_Rela * dst); ++ ++static bfd_boolean nios2_elf32_relocate_section ++ (bfd * output_bfd, struct bfd_link_info * info, bfd * input_bfd, ++ asection * input_section, bfd_byte * contents, ++ Elf_Internal_Rela * relocs, Elf_Internal_Sym * local_syms, ++ asection ** local_sections); ++ ++static reloc_howto_type *lookup_howto (unsigned int rtype); ++ ++static bfd_reloc_status_type nios2_elf_final_gp ++ (bfd *, asymbol *, bfd_boolean, char **, bfd_vma *, ++ struct bfd_link_info *); ++ ++static bfd_boolean nios2_elf_assign_gp ++ (bfd *, bfd_vma *, struct bfd_link_info *); ++ ++static bfd_reloc_status_type nios2_elf32_ignore_reloc ++ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); ++ ++static bfd_reloc_status_type nios2_elf32_hi16_relocate ++ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); ++ ++static bfd_reloc_status_type nios2_elf32_lo16_relocate ++ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); ++ ++static bfd_reloc_status_type nios2_elf32_hiadj16_relocate ++ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); ++ ++static bfd_reloc_status_type nios2_elf32_pcrel_lo16_relocate ++ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); ++ ++static bfd_reloc_status_type nios2_elf32_pcrel_hiadj16_relocate ++ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); ++ ++static bfd_reloc_status_type nios2_elf32_pcrel16_relocate ++ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); ++ ++static bfd_reloc_status_type nios2_elf32_call26_relocate ++ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); ++ ++static bfd_reloc_status_type nios2_elf32_gprel_relocate ++ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); ++ ++static bfd_reloc_status_type nios2_elf32_ujmp_relocate ++ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); ++ ++static bfd_reloc_status_type nios2_elf32_cjmp_relocate ++ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); ++ ++static bfd_reloc_status_type nios2_elf32_callr_relocate ++ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); ++ ++static bfd_reloc_status_type nios2_elf32_do_hi16_relocate ++ (bfd *, reloc_howto_type *, asection *, ++ bfd_byte *, bfd_vma, bfd_vma, bfd_vma); ++ ++static bfd_reloc_status_type nios2_elf32_do_lo16_relocate ++ (bfd *, reloc_howto_type *, asection *, ++ bfd_byte *, bfd_vma, bfd_vma, bfd_vma); ++ ++static bfd_reloc_status_type nios2_elf32_do_hiadj16_relocate ++ (bfd *, reloc_howto_type *, asection *, ++ bfd_byte *, bfd_vma, bfd_vma, bfd_vma); ++ ++static bfd_reloc_status_type nios2_elf32_do_pcrel_lo16_relocate ++ (bfd *, reloc_howto_type *, asection *, ++ bfd_byte *, bfd_vma, bfd_vma, bfd_vma); ++ ++static bfd_reloc_status_type nios2_elf32_do_pcrel_hiadj16_relocate ++ (bfd *, reloc_howto_type *, asection *, ++ bfd_byte *, bfd_vma, bfd_vma, bfd_vma); ++ ++static bfd_reloc_status_type nios2_elf32_do_pcrel16_relocate ++ (bfd *, reloc_howto_type *, asection *, ++ bfd_byte *, bfd_vma, bfd_vma, bfd_vma); ++ ++static bfd_reloc_status_type nios2_elf32_do_call26_relocate ++ (bfd *, reloc_howto_type *, asection *, ++ bfd_byte *, bfd_vma, bfd_vma, bfd_vma); ++ ++static bfd_reloc_status_type nios2_elf32_do_gprel_relocate ++ (bfd *, reloc_howto_type *, asection *, ++ bfd_byte *, bfd_vma, bfd_vma, bfd_vma); ++ ++static bfd_reloc_status_type nios2_elf32_do_ujmp_relocate ++ (bfd *, reloc_howto_type *, asection *, ++ bfd_byte *, bfd_vma, bfd_vma, bfd_vma); ++ ++static bfd_reloc_status_type nios2_elf32_do_cjmp_relocate ++ (bfd *, reloc_howto_type *, asection *, ++ bfd_byte *, bfd_vma, bfd_vma, bfd_vma); ++ ++static bfd_reloc_status_type nios2_elf32_do_callr_relocate ++ (bfd *, reloc_howto_type *, asection *, ++ bfd_byte *, bfd_vma, bfd_vma, bfd_vma); ++ ++static bfd_boolean nios2_elf32_section_from_shdr ++ (bfd *, Elf_Internal_Shdr *, const char *name, int shindex); ++ ++static bfd_boolean nios2_elf32_section_flags ++ (flagword *, const Elf_Internal_Shdr *); ++ ++static bfd_boolean nios2_elf32_fake_sections ++ (bfd *, Elf_Internal_Shdr *, asection *); ++ ++ ++ ++static bfd_boolean nios2_elf32_check_relocs ++ (bfd *, struct bfd_link_info *, asection *, ++ const Elf_Internal_Rela *); ++ ++static asection *nios2_elf32_gc_mark_hook (asection * sec, ++ struct bfd_link_info * ++ info, ++ Elf_Internal_Rela * rel, ++ struct elf_link_hash_entry ++ * h, ++ Elf_Internal_Sym * sym); ++ ++void ++_bfd_set_link_info (struct bfd_link_info *info); ++ ++void ++_bfd_set_force_make_executable (bfd_boolean force); ++ ++ ++/* Target vector. */ ++extern const bfd_target bfd_elf32_littlenios2_vec; ++extern const bfd_target bfd_elf32_bignios2_vec; ++ ++/* Offset of tp and dtp pointers from start of TLS block. */ ++#define TP_OFFSET 0x7000 ++#define DTP_OFFSET 0x8000 ++ ++/* The relocation table used for SHT_REL sections. */ ++ ++static reloc_howto_type elf_nios2_howto_table_rel[] = { ++ /* No relocation. */ ++ HOWTO (R_NIOS2_NONE, /* type */ ++ 0, /* rightshift */ ++ 0, /* size (0 = byte, 1 = short, 2 = long) */ ++ 0, /* bitsize */ ++ FALSE, /* pc_relative */ ++ 0, /* bitpos */ ++ complain_overflow_dont, /* complain_on_overflow */ ++ bfd_elf_generic_reloc, /* special_function */ ++ "R_NIOS2_NONE", /* name */ ++ FALSE, /* partial_inplace */ ++ 0, /* src_mask */ ++ 0, /* dst_mask */ ++ FALSE), /* pcrel_offset */ ++ ++ /* 16-bit signed immediate relocation */ ++ HOWTO (R_NIOS2_S16, /* type */ ++ 0, /* rightshift */ ++ 2, /* size (0 = byte, 1 = short, 2 = long) */ ++ 16, /* bitsize */ ++ FALSE, /* pc_relative */ ++ 6, /* bitpos */ ++ complain_overflow_signed, /* complain on overflow */ ++ bfd_elf_generic_reloc, /* special function */ ++ "R_NIOS2_S16", /* name */ ++ FALSE, /* partial_inplace */ ++ 0x003fffc0, /* src_mask */ ++ 0x003fffc0, /* dest_mask */ ++ FALSE), /* pcrel_offset */ ++ ++ /* 16-bit unsigned immediate relocation */ ++ HOWTO (R_NIOS2_U16, /* type */ ++ 0, /* rightshift */ ++ 2, /* size (0 = byte, 1 = short, 2 = long) */ ++ 16, /* bitsize */ ++ FALSE, /* pc_relative */ ++ 6, /* bitpos */ ++ complain_overflow_unsigned, /* complain on overflow */ ++ bfd_elf_generic_reloc, /* special function */ ++ "R_NIOS2_U16", /* name */ ++ FALSE, /* partial_inplace */ ++ 0x003fffc0, /* src_mask */ ++ 0x003fffc0, /* dest_mask */ ++ FALSE), /* pcrel_offset */ ++ ++ HOWTO (R_NIOS2_PCREL16, /* type */ ++ 0, /* rightshift */ ++ 2, /* size (0 = byte, 1 = short, 2 = long) */ ++ 16, /* bitsize */ ++ TRUE, /* pc_relative */ ++ 6, /* bitpos */ ++ complain_overflow_signed, /* complain on overflow */ ++ nios2_elf32_pcrel16_relocate, /* special function */ ++ "R_NIOS2_PCREL16", /* name */ ++ FALSE, /* partial_inplace */ ++ 0x003fffc0, /* src_mask */ ++ 0x003fffc0, /* dest_mask */ ++ TRUE), /* pcrel_offset */ ++ ++ HOWTO (R_NIOS2_CALL26, /* type */ ++ 2, /* rightshift */ ++ 2, /* size (0 = byte, 1 = short, 2 = long) */ ++ 26, /* bitsize */ ++ FALSE, /* pc_relative */ ++ 6, /* bitpos */ ++ complain_overflow_dont, /* complain on overflow */ ++ nios2_elf32_call26_relocate, /* special function */ ++ "R_NIOS2_CALL26", /* name */ ++ FALSE, /* partial_inplace */ ++ 0xffffffc0, /* src_mask */ ++ 0xffffffc0, /* dst_mask */ ++ FALSE), /* pcrel_offset */ ++ ++ HOWTO (R_NIOS2_IMM5, ++ 0, ++ 2, ++ 5, ++ FALSE, ++ 6, ++ complain_overflow_bitfield, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_IMM5", ++ FALSE, ++ 0x000007c0, ++ 0x000007c0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_CACHE_OPX, ++ 0, ++ 2, ++ 5, ++ FALSE, ++ 22, ++ complain_overflow_bitfield, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_CACHE_OPX", ++ FALSE, ++ 0x07c00000, ++ 0x07c00000, ++ FALSE), ++ ++ HOWTO (R_NIOS2_IMM6, ++ 0, ++ 2, ++ 6, ++ FALSE, ++ 6, ++ complain_overflow_bitfield, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_IMM6", ++ FALSE, ++ 0x00000fc0, ++ 0x00000fc0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_IMM8, ++ 0, ++ 2, ++ 8, ++ FALSE, ++ 6, ++ complain_overflow_bitfield, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_IMM8", ++ FALSE, ++ 0x00003fc0, ++ 0x00003fc0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_HI16, ++ 0, ++ 2, ++ 32, ++ FALSE, ++ 6, ++ complain_overflow_dont, ++ nios2_elf32_hi16_relocate, ++ "R_NIOS2_HI16", ++ FALSE, ++ 0x003fffc0, ++ 0x003fffc0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_LO16, ++ 0, ++ 2, ++ 32, ++ FALSE, ++ 6, ++ complain_overflow_dont, ++ nios2_elf32_lo16_relocate, ++ "R_NIOS2_LO16", ++ FALSE, ++ 0x003fffc0, ++ 0x003fffc0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_HIADJ16, ++ 0, ++ 2, ++ 32, ++ FALSE, ++ 6, ++ complain_overflow_dont, ++ nios2_elf32_hiadj16_relocate, ++ "R_NIOS2_HIADJ16", ++ FALSE, ++ 0x003fffc0, ++ 0x003fffc0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_BFD_RELOC_32, ++ 0, ++ 2, /* long */ ++ 32, ++ FALSE, ++ 0, ++ complain_overflow_dont, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_BFD_RELOC32", ++ FALSE, ++ 0xffffffff, ++ 0xffffffff, ++ FALSE), ++ ++ HOWTO (R_NIOS2_BFD_RELOC_16, ++ 0, ++ 1, /* short */ ++ 16, ++ FALSE, ++ 0, ++ complain_overflow_bitfield, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_BFD_RELOC16", ++ FALSE, ++ 0x0000ffff, ++ 0x0000ffff, ++ FALSE), ++ ++ HOWTO (R_NIOS2_BFD_RELOC_8, ++ 0, ++ 0, /* byte */ ++ 8, ++ FALSE, ++ 0, ++ complain_overflow_bitfield, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_BFD_RELOC8", ++ FALSE, ++ 0x000000ff, ++ 0x000000ff, ++ FALSE), ++ ++ HOWTO (R_NIOS2_GPREL, ++ 0, ++ 2, ++ 32, ++ FALSE, ++ 6, ++ complain_overflow_dont, ++ nios2_elf32_gprel_relocate, ++ "R_NIOS2_GPREL", ++ FALSE, ++ 0x003fffc0, ++ 0x003fffc0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_GNU_VTINHERIT, ++ 0, ++ 2, /* short */ ++ 0, ++ FALSE, ++ 0, ++ complain_overflow_dont, ++ NULL, ++ "R_NIOS2_GNU_VTINHERIT", ++ FALSE, ++ 0, ++ 0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_GNU_VTENTRY, ++ 0, ++ 2, /* byte */ ++ 0, ++ FALSE, ++ 0, ++ complain_overflow_dont, ++ _bfd_elf_rel_vtable_reloc_fn, ++ "R_NIOS2_GNU_VTENTRY", ++ FALSE, ++ 0, ++ 0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_UJMP, ++ 0, ++ 2, ++ 32, ++ FALSE, ++ 6, ++ complain_overflow_dont, ++ nios2_elf32_ujmp_relocate, ++ "R_NIOS2_UJMP", ++ FALSE, ++ 0x003fffc0, ++ 0x003fffc0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_CJMP, ++ 0, ++ 2, ++ 32, ++ FALSE, ++ 6, ++ complain_overflow_dont, ++ nios2_elf32_cjmp_relocate, ++ "R_NIOS2_CJMP", ++ FALSE, ++ 0x003fffc0, ++ 0x003fffc0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_CALLR, ++ 0, ++ 2, ++ 32, ++ FALSE, ++ 6, ++ complain_overflow_dont, ++ nios2_elf32_callr_relocate, ++ "R_NIOS2_CALLR", ++ FALSE, ++ 0x003fffc0, ++ 0x003fffc0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_ALIGN, ++ 0, ++ 2, ++ 0, ++ FALSE, ++ 0, ++ complain_overflow_dont, ++ nios2_elf32_ignore_reloc, ++ "R_NIOS2_ALIGN", ++ FALSE, ++ 0, ++ 0, ++ TRUE), ++ ++ ++ HOWTO (R_NIOS2_GOT16, ++ 0, ++ 2, ++ 16, ++ FALSE, ++ 6, ++ complain_overflow_bitfield, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_GOT16", ++ FALSE, ++ 0x003fffc0, ++ 0x003fffc0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_CALL16, ++ 0, ++ 2, ++ 16, ++ FALSE, ++ 6, ++ complain_overflow_bitfield, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_CALL16", ++ FALSE, ++ 0x003fffc0, ++ 0x003fffc0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_GOTOFF_LO, ++ 0, ++ 2, ++ 16, ++ FALSE, ++ 6, ++ complain_overflow_dont, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_GOTOFF_LO", ++ FALSE, ++ 0x003fffc0, ++ 0x003fffc0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_GOTOFF_HA, ++ 0, ++ 2, ++ 16, ++ FALSE, ++ 6, ++ complain_overflow_dont, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_GOTOFF_HA", ++ FALSE, ++ 0x003fffc0, ++ 0x003fffc0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_PCREL_LO, ++ 0, ++ 2, ++ 16, ++ TRUE, ++ 6, ++ complain_overflow_dont, ++ nios2_elf32_pcrel_lo16_relocate, ++ "R_NIOS2_PCREL_LO", ++ FALSE, ++ 0x003fffc0, ++ 0x003fffc0, ++ TRUE), ++ ++ HOWTO (R_NIOS2_PCREL_HA, ++ 0, ++ 2, ++ 16, ++ FALSE, /* This is a PC-relative relocation, but we need to subtract ++ PC ourselves before the HIADJ. */ ++ 6, ++ complain_overflow_dont, ++ nios2_elf32_pcrel_hiadj16_relocate, ++ "R_NIOS2_PCREL_HA", ++ FALSE, ++ 0x003fffc0, ++ 0x003fffc0, ++ TRUE), ++ ++ HOWTO (R_NIOS2_TLS_GD16, ++ 0, ++ 2, ++ 16, ++ FALSE, ++ 6, ++ complain_overflow_bitfield, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_TLS_GD16", ++ FALSE, ++ 0x003fffc0, ++ 0x003fffc0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_TLS_LDM16, ++ 0, ++ 2, ++ 16, ++ FALSE, ++ 6, ++ complain_overflow_bitfield, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_TLS_LDM16", ++ FALSE, ++ 0x003fffc0, ++ 0x003fffc0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_TLS_LDO16, ++ 0, ++ 2, ++ 16, ++ FALSE, ++ 6, ++ complain_overflow_bitfield, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_TLS_LDO16", ++ FALSE, ++ 0x003fffc0, ++ 0x003fffc0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_TLS_IE16, ++ 0, ++ 2, ++ 16, ++ FALSE, ++ 6, ++ complain_overflow_bitfield, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_TLS_IE16", ++ FALSE, ++ 0x003fffc0, ++ 0x003fffc0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_TLS_LE16, ++ 0, ++ 2, ++ 16, ++ FALSE, ++ 6, ++ complain_overflow_bitfield, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_TLS_LE16", ++ FALSE, ++ 0x003fffc0, ++ 0x003fffc0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_TLS_DTPMOD, ++ 0, ++ 2, ++ 32, ++ FALSE, ++ 0, ++ complain_overflow_dont, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_TLS_DTPMOD", ++ FALSE, ++ 0xffffffff, ++ 0xffffffff, ++ FALSE), ++ ++ HOWTO (R_NIOS2_TLS_DTPREL, ++ 0, ++ 2, ++ 32, ++ FALSE, ++ 0, ++ complain_overflow_dont, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_TLS_DTPREL", ++ FALSE, ++ 0xffffffff, ++ 0xffffffff, ++ FALSE), ++ ++ HOWTO (R_NIOS2_TLS_TPREL, ++ 0, ++ 2, ++ 32, ++ FALSE, ++ 0, ++ complain_overflow_dont, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_TLS_TPREL", ++ FALSE, ++ 0xffffffff, ++ 0xffffffff, ++ FALSE), ++ ++ HOWTO (R_NIOS2_COPY, ++ 0, ++ 2, ++ 32, ++ FALSE, ++ 0, ++ complain_overflow_dont, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_COPY", ++ FALSE, ++ 0, ++ 0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_GLOB_DAT, ++ 0, ++ 2, ++ 32, ++ FALSE, ++ 0, ++ complain_overflow_dont, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_GLOB_DAT", ++ FALSE, ++ 0xffffffff, ++ 0xffffffff, ++ FALSE), ++ ++ HOWTO (R_NIOS2_JUMP_SLOT, ++ 0, ++ 2, ++ 32, ++ FALSE, ++ 0, ++ complain_overflow_dont, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_JUMP_SLOT", ++ FALSE, ++ 0xffffffff, ++ 0xffffffff, ++ FALSE), ++ ++ HOWTO (R_NIOS2_RELATIVE, ++ 0, ++ 2, ++ 32, ++ FALSE, ++ 0, ++ complain_overflow_dont, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_RELATIVE", ++ FALSE, ++ 0xffffffff, ++ 0xffffffff, ++ FALSE), ++ ++ HOWTO (R_NIOS2_GOTOFF, ++ 0, ++ 2, ++ 32, ++ FALSE, ++ 0, ++ complain_overflow_dont, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_GOTOFF", ++ FALSE, ++ 0xffffffff, ++ 0xffffffff, ++ FALSE), ++ ++/* Add other relocations here. */ ++}; ++ ++static unsigned char elf_code_to_howto_index[R_NIOS2_ILLEGAL + 1]; ++ ++static reloc_howto_type * ++lookup_howto (unsigned int rtype) ++{ ++ static int initialized = 0; ++ int i; ++ int howto_tbl_size = (int) (sizeof (elf_nios2_howto_table_rel) ++ / sizeof (elf_nios2_howto_table_rel[0])); ++ ++ if (!initialized) ++ { ++ initialized = 1; ++ memset (elf_code_to_howto_index, 0xff, ++ sizeof (elf_code_to_howto_index)); ++ for (i = 0; i < howto_tbl_size; i++) ++ elf_code_to_howto_index[elf_nios2_howto_table_rel[i].type] = i; ++ } ++ ++ BFD_ASSERT (rtype <= R_NIOS2_ILLEGAL); ++ i = elf_code_to_howto_index[rtype]; ++ if (i >= howto_tbl_size) ++ return 0; ++ return elf_nios2_howto_table_rel + i; ++} ++ ++/* Map for converting BFD reloc types to New Jersey reloc types. */ ++struct elf_reloc_map ++{ ++ bfd_reloc_code_real_type bfd_val; ++ enum elf_nios2_reloc_type elf_val; ++}; ++ ++static const struct elf_reloc_map nios2_reloc_map[] = { ++ {BFD_RELOC_NIOS2_S16, R_NIOS2_S16}, ++ {BFD_RELOC_NIOS2_U16, R_NIOS2_U16}, ++ {BFD_RELOC_16_PCREL, R_NIOS2_PCREL16}, ++ {BFD_RELOC_NIOS2_CALL26, R_NIOS2_CALL26}, ++ {BFD_RELOC_NIOS2_IMM5, R_NIOS2_IMM5}, ++ {BFD_RELOC_NIOS2_CACHE_OPX, R_NIOS2_CACHE_OPX}, ++ {BFD_RELOC_NIOS2_IMM6, R_NIOS2_IMM6}, ++ {BFD_RELOC_NIOS2_IMM8, R_NIOS2_IMM8}, ++ {BFD_RELOC_NIOS2_HI16, R_NIOS2_HI16}, ++ {BFD_RELOC_NIOS2_LO16, R_NIOS2_LO16}, ++ {BFD_RELOC_NIOS2_HIADJ16, R_NIOS2_HIADJ16}, ++ {BFD_RELOC_32, R_NIOS2_BFD_RELOC_32}, ++ {BFD_RELOC_16, R_NIOS2_BFD_RELOC_16}, ++ {BFD_RELOC_8, R_NIOS2_BFD_RELOC_8}, ++ {BFD_RELOC_NIOS2_GPREL, R_NIOS2_GPREL}, ++ {BFD_RELOC_VTABLE_INHERIT, R_NIOS2_GNU_VTINHERIT}, ++ {BFD_RELOC_VTABLE_ENTRY, R_NIOS2_GNU_VTENTRY}, ++ {BFD_RELOC_NIOS2_UJMP, R_NIOS2_UJMP}, ++ {BFD_RELOC_NIOS2_CJMP, R_NIOS2_CJMP}, ++ {BFD_RELOC_NIOS2_CALLR, R_NIOS2_CALLR}, ++ {BFD_RELOC_NIOS2_ALIGN, R_NIOS2_ALIGN}, ++ {BFD_RELOC_NIOS2_GOT16, R_NIOS2_GOT16}, ++ {BFD_RELOC_NIOS2_CALL16, R_NIOS2_CALL16}, ++ {BFD_RELOC_NIOS2_GOTOFF_LO, R_NIOS2_GOTOFF_LO}, ++ {BFD_RELOC_NIOS2_GOTOFF_HA, R_NIOS2_GOTOFF_HA}, ++ {BFD_RELOC_NIOS2_PCREL_LO, R_NIOS2_PCREL_LO}, ++ {BFD_RELOC_NIOS2_PCREL_HA, R_NIOS2_PCREL_HA}, ++ {BFD_RELOC_NIOS2_TLS_GD16, R_NIOS2_TLS_GD16}, ++ {BFD_RELOC_NIOS2_TLS_LDM16, R_NIOS2_TLS_LDM16}, ++ {BFD_RELOC_NIOS2_TLS_LDO16, R_NIOS2_TLS_LDO16}, ++ {BFD_RELOC_NIOS2_TLS_IE16, R_NIOS2_TLS_IE16}, ++ {BFD_RELOC_NIOS2_TLS_LE16, R_NIOS2_TLS_LE16}, ++ {BFD_RELOC_NIOS2_TLS_DTPMOD, R_NIOS2_TLS_DTPMOD}, ++ {BFD_RELOC_NIOS2_TLS_DTPREL, R_NIOS2_TLS_DTPREL}, ++ {BFD_RELOC_NIOS2_TLS_TPREL, R_NIOS2_TLS_TPREL}, ++ {BFD_RELOC_NIOS2_COPY, R_NIOS2_COPY}, ++ {BFD_RELOC_NIOS2_GLOB_DAT, R_NIOS2_GLOB_DAT}, ++ {BFD_RELOC_NIOS2_JUMP_SLOT, R_NIOS2_JUMP_SLOT}, ++ {BFD_RELOC_NIOS2_RELATIVE, R_NIOS2_RELATIVE}, ++ {BFD_RELOC_NIOS2_GOTOFF, R_NIOS2_GOTOFF} ++}; ++ ++/* The Nios II linker needs to keep track of the number of relocs that it ++ decides to copy as dynamic relocs in check_relocs for each symbol. ++ This is so that it can later discard them if they are found to be ++ unnecessary. We store the information in a field extending the ++ regular ELF linker hash table. */ ++ ++struct elf32_nios2_dyn_relocs ++{ ++ struct elf32_nios2_dyn_relocs *next; ++ ++ /* The input section of the reloc. */ ++ asection *sec; ++ ++ /* Total number of relocs copied for the input section. */ ++ bfd_size_type count; ++ ++ /* Number of pc-relative relocs copied for the input section. */ ++ bfd_size_type pc_count; ++}; ++ ++/* Nios II ELF linker hash entry. */ ++ ++struct elf32_nios2_link_hash_entry ++{ ++ struct elf_link_hash_entry root; ++ ++ /* Track dynamic relocs copied for this symbol. */ ++ struct elf32_nios2_dyn_relocs *dyn_relocs; ++ ++#define GOT_UNKNOWN 0 ++#define GOT_NORMAL 1 ++#define GOT_TLS_GD 2 ++#define GOT_TLS_IE 4 ++ unsigned char tls_type; ++ ++ /* We need to detect and take special action for symbols which are only ++ referenced with %call() and not with %got(). Such symbols do not need ++ a dynamic GOT reloc in shared objects, only a dynamic PLT reloc. Lazy ++ linking will not work if the dynamic GOT reloc exists. ++ To check for this condition efficiently, we compare got_types_used against ++ CALL16_USED, meaning ++ (got_types_used & (GOT16_USED | CALL16_USED)) == CALL16_USED. */ ++#define GOT16_USED 1 ++#define CALL16_USED 2 ++ unsigned char got_types_used; ++}; ++ ++#define elf32_nios2_hash_entry(ent) \ ++ ((struct elf32_nios2_link_hash_entry *) (ent)) ++ ++/* Get the Nios II elf linker hash table from a link_info structure. */ ++#define elf32_nios2_hash_table(info) \ ++ ((struct elf32_nios2_link_hash_table *) ((info)->hash)) ++ ++/* Nios II ELF linker hash table. */ ++struct elf32_nios2_link_hash_table ++ { ++ /* The main hash table. */ ++ struct elf_link_hash_table root; ++ ++ /* Short-cuts to get to dynamic linker sections. */ ++ asection *sgot; ++ asection *sgotplt; ++ asection *srelgot; ++ asection *splt; ++ asection *srelplt; ++ asection *sdynbss; ++ asection *srelbss; ++ asection *sbss; ++ ++ union { ++ bfd_signed_vma refcount; ++ bfd_vma offset; ++ } tls_ldm_got; ++ ++ /* Small local sym to section mapping cache. */ ++ struct sym_cache sym_sec; ++ ++ bfd_vma res_n_size; ++ }; ++ ++struct nios2_elf32_obj_tdata ++{ ++ struct elf_obj_tdata root; ++ ++ /* tls_type for each local got entry. */ ++ char *local_got_tls_type; ++ ++ /* TRUE if TLS GD relocs have been seen for this object. */ ++ bfd_boolean has_tlsgd; ++}; ++ ++#define elf32_nios2_tdata(abfd) \ ++ ((struct nios2_elf32_obj_tdata *) (abfd)->tdata.any) ++ ++#define elf32_nios2_local_got_tls_type(abfd) \ ++ (elf32_nios2_tdata (abfd)->local_got_tls_type) ++ ++#define is_nios2_elf(bfd) \ ++ (bfd_get_flavour (bfd) == bfd_target_elf_flavour \ ++ && elf_object_id (bfd) == NIOS2_ELF_TDATA) ++/* The name of the dynamic interpreter. This is put in the .interp ++ section. */ ++ ++#define ELF_DYNAMIC_INTERPRETER "/lib/ld.so.1" ++ ++/* PLT implementation for position-dependent code. */ ++ ++static const bfd_vma nios2_plt_entry[] = { /* .PLTn: */ ++ 0x03c00034, /* movhi r15, %hiadj(plt_got_slot_address) */ ++ 0x7bc00017, /* ldw r15, %lo(plt_got_slot_address)(r15) */ ++ 0x7800683a /* jmp r15 */ ++}; ++ ++static const bfd_vma nios2_plt0_entry[] = { /* .PLTresolve */ ++ 0x03800034, /* movhi r14, %hiadj(res_0) */ ++ 0x73800004, /* addi r14, r14, %lo(res_0) */ ++ 0x7b9fc83a, /* sub r15, r15, r14 */ ++ 0x03400034, /* movhi r13, %hiadj(_GLOBAL_OFFSET_TABLE_) */ ++ 0x6b800017, /* ldw r14, %lo(_GLOBAL_OFFSET_TABLE_+4)(r13) */ ++ 0x6b400017, /* ldw r13, %lo(_GLOBAL_OFFSET_TABLE_+8)(r13) */ ++ 0x6800683a /* jmp r13 */ ++}; ++ ++/* PLT implementation for position-independent code. */ ++ ++static const bfd_vma nios2_so_plt_entry[] = { /* .PLTn */ ++ 0x03c00034, /* movhi r15, %hiadj(index * 4) */ ++ 0x7bc00004, /* addi r15, r15, %lo(index * 4) */ ++ 0x00000006 /* br .PLTresolve */ ++}; ++ ++static const bfd_vma nios2_so_plt0_entry[] = { /* .PLTresolve */ ++ 0x001ce03a, /* nextpc r14 */ ++ 0x03400034, /* movhi r13, %hiadj(_GLOBAL_OFFSET_TABLE_) */ ++ 0x6b9b883a, /* add r13, r13, r14 */ ++ 0x6b800017, /* ldw r14, %lo(_GLOBAL_OFFSET_TABLE_+4)(r13) */ ++ 0x6b400017, /* ldw r13, %lo(_GLOBAL_OFFSET_TABLE_+8)(r13) */ ++ 0x6800683a /* jmp r13 */ ++}; ++ ++/* Support for core dump NOTE sections */ ++static bfd_boolean ++nios2_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) ++{ ++ int offset; ++ size_t size; ++ ++ switch (note->descsz) ++ { ++ default: ++ return FALSE; ++ ++ case 212: /* Linux/Nios II */ ++ /* pr_cursig */ ++ elf_tdata (abfd)->core_signal = bfd_get_16 (abfd, note->descdata + 12); ++ ++ /* pr_pid */ ++ elf_tdata (abfd)->core_pid = bfd_get_32 (abfd, note->descdata + 24); ++ ++ /* pr_reg */ ++ offset = 72; ++ size = 136; ++ ++ break; ++ } ++ ++ /* Make a ".reg/999" section. */ ++ return _bfd_elfcore_make_pseudosection (abfd, ".reg", ++ size, note->descpos + offset); ++} ++ ++static bfd_boolean ++nios2_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) ++{ ++ switch (note->descsz) ++ { ++ default: ++ return FALSE; ++ ++ case 124: /* Linux/Nios II elf_prpsinfo */ ++ elf_tdata (abfd)->core_program ++ = _bfd_elfcore_strndup (abfd, note->descdata + 28, 16); ++ elf_tdata (abfd)->core_command ++ = _bfd_elfcore_strndup (abfd, note->descdata + 44, 80); ++ } ++ ++ /* Note that for some reason, a spurious space is tacked ++ onto the end of the args in some (at least one anyway) ++ implementations, so strip it off if it exists. */ ++ ++ { ++ char *command = elf_tdata (abfd)->core_command; ++ int n = strlen (command); ++ ++ if (0 < n && command[n - 1] == ' ') ++ command[n - 1] = '\0'; ++ } ++ ++ return TRUE; ++} ++ ++/* Create an entry in a Nios II ELF linker hash table. */ ++ ++static struct bfd_hash_entry * ++link_hash_newfunc (struct bfd_hash_entry *entry, ++ struct bfd_hash_table *table, const char *string) ++{ ++ /* Allocate the structure if it has not already been allocated by a ++ subclass. */ ++ if (entry == NULL) ++ { ++ entry = bfd_hash_allocate (table, ++ sizeof (struct elf32_nios2_link_hash_entry)); ++ if (entry == NULL) ++ return entry; ++ } ++ ++ /* Call the allocation method of the superclass. */ ++ entry = _bfd_elf_link_hash_newfunc (entry, table, string); ++ if (entry != NULL) ++ { ++ struct elf32_nios2_link_hash_entry *eh; ++ ++ eh = (struct elf32_nios2_link_hash_entry *) entry; ++ eh->dyn_relocs = NULL; ++ eh->tls_type = GOT_UNKNOWN; ++ eh->got_types_used = 0; ++ } ++ ++ return entry; ++} ++ ++/* Given a BFD reloc type, return a howto structure. */ ++ ++static reloc_howto_type * ++nios2_elf32_bfd_reloc_type_lookup (bfd * abfd ATTRIBUTE_UNUSED, ++ bfd_reloc_code_real_type code) ++{ ++ int i; ++ for (i = 0; ++ i < (int) (sizeof (nios2_reloc_map) / sizeof (struct elf_reloc_map)); ++ ++i) ++ { ++ if (nios2_reloc_map[i].bfd_val == code) ++ return &elf_nios2_howto_table_rel[(int) nios2_reloc_map[i].elf_val]; ++ } ++ ++ return NULL; ++} ++ ++/* Given a reloc name, return a howto structure. */ ++ ++static reloc_howto_type * ++nios2_elf32_bfd_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED, ++ const char *r_name) ++{ ++ unsigned int i; ++ for (i = 0; ++ i < (sizeof (elf_nios2_howto_table_rel) ++ / sizeof (elf_nios2_howto_table_rel[0])); ++ i++) ++ if (elf_nios2_howto_table_rel[i].name != NULL ++ && strcasecmp (elf_nios2_howto_table_rel[i].name, r_name) == 0) ++ return &elf_nios2_howto_table_rel[i]; ++ ++ return NULL; ++} ++ ++/* Helper function for nios2_elf32_info_to_howto. */ ++ ++static reloc_howto_type * ++nios2_elf32_rtype_to_howto (unsigned int r_type, ++ bfd_boolean rela_p ATTRIBUTE_UNUSED) ++{ ++ BFD_ASSERT (r_type < R_NIOS2_ILLEGAL); ++ return &elf_nios2_howto_table_rel[r_type]; ++} ++ ++/* Given a ELF32 relocation, fill in a arelent structure. */ ++ ++static void ++nios2_elf32_info_to_howto (bfd * abfd ATTRIBUTE_UNUSED, arelent * cache_ptr, ++ Elf_Internal_Rela * dst) ++{ ++ unsigned int r_type; ++ ++ r_type = ELF32_R_TYPE (dst->r_info); ++ cache_ptr->howto = nios2_elf32_rtype_to_howto (r_type, FALSE); ++ ++ /* FIXME - do we need to do anything else here??? */ ++} ++ ++/* Return the base VMA address which should be subtracted from real addresses ++ when resolving @dtpoff relocation. ++ This is PT_TLS segment p_vaddr. */ ++ ++static bfd_vma ++dtpoff_base (struct bfd_link_info *info) ++{ ++ /* If tls_sec is NULL, we should have signalled an error already. */ ++ if (elf_hash_table (info)->tls_sec == NULL) ++ return 0; ++ return elf_hash_table (info)->tls_sec->vma; ++} ++ ++/* Return the relocation value for @tpoff relocation ++ if STT_TLS virtual address is ADDRESS. */ ++ ++static bfd_vma ++tpoff (struct bfd_link_info *info, bfd_vma address) ++{ ++ struct elf_link_hash_table *htab = elf_hash_table (info); ++ ++ /* If tls_sec is NULL, we should have signalled an error already. */ ++ if (htab->tls_sec == NULL) ++ return 0; ++ return address - htab->tls_sec->vma; ++} ++ ++/* The assembler has output long jmp/call sequences for all calls ++ and pc-relative branches that it cannot guarantee are within ++ range, so the linker must attempt to "relax" these sequences to ++ short branches and calls if it can. We avoid having to re-relax by ++ replacing redundant instructions with nops instead of deleting them. */ ++static bfd_boolean ++nios2_elf32_relax_section (bfd * abfd, ++ asection * sec, ++ struct bfd_link_info *link_info, bfd_boolean * again) ++{ ++ Elf_Internal_Shdr *symtab_hdr; ++ Elf_Internal_Rela *internal_relocs; ++ Elf_Internal_Rela *irel, *irelend; ++ bfd_byte *contents = NULL; ++ Elf_Internal_Sym *isymbuf = NULL; ++ ++#define OP_MATCH_NOP 0x0001883a ++ ++ /* Assume nothing changes. */ ++ *again = FALSE; ++ ++ /* We don't have to do anything for a relocatable link, if ++ this section does not have relocs, or if this is not a ++ code section. */ ++ if (link_info->relocatable ++ || (sec->flags & SEC_RELOC) == 0 ++ || sec->reloc_count == 0 || (sec->flags & SEC_CODE) == 0) ++ return TRUE; ++ ++ /* If this is the first time we have been called for this section, ++ initialize the cooked size. */ ++ if (sec->size == 0) ++ sec->size = sec->rawsize; ++ ++ symtab_hdr = &elf_tdata (abfd)->symtab_hdr; ++ ++ /* Get a copy of the native relocations. */ ++ internal_relocs = (_bfd_elf_link_read_relocs ++ (abfd, sec, (void *) NULL, (Elf_Internal_Rela *) NULL, ++ link_info->keep_memory)); ++ if (internal_relocs == NULL) ++ goto error_return; ++ ++ /* Walk through them looking for relaxing opportunities. */ ++ irelend = internal_relocs + sec->reloc_count; ++ for (irel = internal_relocs; irel < irelend; irel++) ++ { ++ bfd_vma symval; ++ ++ /* If this isn't something that can be relaxed, then ignore ++ this reloc. */ ++ if (ELF32_R_TYPE (irel->r_info) != (int) R_NIOS2_UJMP ++ && ELF32_R_TYPE (irel->r_info) != (int) R_NIOS2_CJMP ++ && ELF32_R_TYPE (irel->r_info) != (int) R_NIOS2_CALLR) ++ { ++ continue; ++ } ++ ++ /* Get the section contents if we haven't done so already. */ ++ if (contents == NULL) ++ { ++ /* Get cached copy if it exists. */ ++ if (elf_section_data (sec)->this_hdr.contents != NULL) ++ contents = elf_section_data (sec)->this_hdr.contents; ++ else ++ { ++ /* Go get them off disk. */ ++ contents = (bfd_byte *) bfd_malloc (sec->rawsize); ++ if (contents == NULL) ++ goto error_return; ++ ++ if (!bfd_get_section_contents (abfd, sec, contents, ++ (file_ptr) 0, sec->rawsize)) ++ goto error_return; ++ } ++ } ++ ++ /* Read this BFD's local symbols if we haven't done so already. */ ++ if (isymbuf == NULL && symtab_hdr->sh_info != 0) ++ { ++ isymbuf = (Elf_Internal_Sym *) symtab_hdr->contents; ++ if (isymbuf == NULL) ++ isymbuf = bfd_elf_get_elf_syms (abfd, symtab_hdr, ++ symtab_hdr->sh_info, 0, ++ NULL, NULL, NULL); ++ if (isymbuf == NULL) ++ goto error_return; ++ } ++ ++ /* Get the value of the symbol referred to by the reloc. */ ++ if (ELF32_R_SYM (irel->r_info) < symtab_hdr->sh_info) ++ { ++ /* A local symbol. */ ++ Elf_Internal_Sym *isym; ++ asection *sym_sec; ++ ++ isym = isymbuf + ELF32_R_SYM (irel->r_info); ++ if (isym->st_shndx == SHN_UNDEF) ++ sym_sec = bfd_und_section_ptr; ++ else if (isym->st_shndx == SHN_ABS) ++ sym_sec = bfd_abs_section_ptr; ++ else if (isym->st_shndx == SHN_COMMON) ++ sym_sec = bfd_com_section_ptr; ++ else ++ sym_sec = bfd_section_from_elf_index (abfd, isym->st_shndx); ++ symval = (isym->st_value ++ + sym_sec->output_section->vma + sym_sec->output_offset); ++ } ++ else ++ { ++ unsigned long indx; ++ struct elf_link_hash_entry *h; ++ ++ /* An external symbol. */ ++ indx = ELF32_R_SYM (irel->r_info) - symtab_hdr->sh_info; ++ h = elf_sym_hashes (abfd)[indx]; ++ BFD_ASSERT (h != NULL); ++ if (h->root.type != bfd_link_hash_defined ++ && h->root.type != bfd_link_hash_defweak) ++ { ++ /* This appears to be a reference to an undefined ++ symbol. Just ignore it--it will be caught by the ++ regular reloc processing. */ ++ continue; ++ } ++ ++ symval = (h->root.u.def.value ++ + h->root.u.def.section->output_section->vma ++ + h->root.u.def.section->output_offset); ++ } ++ ++ /* For simplicity of coding, we are going to modify the section ++ contents, the section relocs, and the BFD symbol table. We ++ must tell the rest of the code not to free up this ++ information. It would be possible to instead create a table ++ of changes which have to be made, as is done in coff-mips.c; ++ that would be more work, but would require less memory when ++ the linker is run. */ ++ ++ /* try to turn : ++ * movhi at, %hi(symbol) ++ * movui at, %lo(symbol) ++ * callr at ++ * into: ++ * call symbol ++ */ ++ if (ELF32_R_TYPE (irel->r_info) == (int) R_NIOS2_CALLR) ++ { ++ bfd_vma targ_addr = symval + irel->r_addend; ++ bfd_vma curr_addr = (sec->output_section->vma + sec->output_offset); ++ bfd_vma targ_page, curr_page; ++ targ_page = targ_addr & 0xf0000000; ++ curr_page = curr_addr & 0xf0000000; ++ ++ if (targ_page == curr_page) ++ { ++ /* change the opcode to a call */ ++ bfd_put_32 (abfd, OP_MATCH_CALL, contents + irel->r_offset); ++ /* Note that we've changed the relocs, section contents, etc. */ ++ elf_section_data (sec)->relocs = internal_relocs; ++ elf_section_data (sec)->this_hdr.contents = contents; ++ symtab_hdr->contents = (unsigned char *) isymbuf; ++ ++ /* Fix the relocation's type. */ ++ irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), ++ R_NIOS2_CALL26); ++ ++ /* replace next two instructions with nops */ ++ bfd_put_32 (abfd, OP_MATCH_NOP, contents + irel->r_offset + 4); ++ bfd_put_32 (abfd, OP_MATCH_NOP, contents + irel->r_offset + 8); ++ } ++ } ++ ++ /* try to turn : ++ * movhi at, %hi(symbol) ++ * movui at, %lo(symbol) ++ * jmp at ++ * into: ++ * br symbol ++ */ ++ if (ELF32_R_TYPE (irel->r_info) == (int) R_NIOS2_UJMP) ++ { ++ bfd_vma pcrel_offset; ++ Elf_Internal_Rela *irelalign = NULL; ++ Elf_Internal_Rela *irela = elf_section_data (sec)->relocs; ++ Elf_Internal_Rela *irelend = irel + sec->reloc_count; ++ ++ for (; irela < irelend; irela++) ++ { ++ if (ELF32_R_TYPE (irela->r_info) == (int) R_NIOS2_ALIGN ++ && irela->r_offset > irel->r_offset + 4 ++ && 8 < (1 << irela->r_addend)) ++ { ++ irelalign = irela; ++ break; ++ } ++ } ++ ++ /* calculate the pcrelative offset from current location */ ++ pcrel_offset = symval; ++ pcrel_offset -= (sec->output_section->vma + sec->output_offset); ++ pcrel_offset += irel->r_addend; ++ ++ /* we need to compute the pcrel_offset from the next instruction */ ++ pcrel_offset -= (irel->r_offset + 4); ++ ++ /* does this value fit in 16 bits */ ++ if ((irelalign == NULL && (long) pcrel_offset <= 0x8004 ++ && (long) pcrel_offset >= -0x8000) || (irelalign != NULL ++ && (long) pcrel_offset ++ <= 0x7ffc ++ && (long) pcrel_offset ++ >= -0x8000)) ++ { ++ /* change the opcode to an unconditional branch */ ++ bfd_put_32 (abfd, OP_MATCH_BR, contents + irel->r_offset); ++ /* Note that we've changed the relocs, section contents, etc. */ ++ elf_section_data (sec)->relocs = internal_relocs; ++ elf_section_data (sec)->this_hdr.contents = contents; ++ symtab_hdr->contents = (unsigned char *) isymbuf; ++ ++ /* Fix the relocation's type. */ ++ irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), ++ R_NIOS2_PCREL16); ++ ++ /* replace next two instructions with nops */ ++ bfd_put_32 (abfd, OP_MATCH_NOP, contents + irel->r_offset + 4); ++ bfd_put_32 (abfd, OP_MATCH_NOP, contents + irel->r_offset + 8); ++ } ++ } ++ ++ /* try to turn : ++ * b{cond} a, b skip ++ * movhi at, %hi(symbol) ++ * movui at, %lo(symbol) ++ * jmp at ++ * skip: ++ * ... ++ * into: ++ * br{opp_cond} a, b, symbol ++ */ ++ if (ELF32_R_TYPE (irel->r_info) == (int) R_NIOS2_CJMP) ++ { ++ bfd_vma pcrel_offset; ++ Elf_Internal_Rela *irelalign = NULL; ++ Elf_Internal_Rela *irela = elf_section_data (sec)->relocs; ++ Elf_Internal_Rela *irelend = irel + sec->reloc_count; ++ ++ for (; irela < irelend; irela++) ++ { ++ if (ELF32_R_TYPE (irela->r_info) == (int) R_NIOS2_ALIGN ++ && irela->r_offset > irel->r_offset + 4 ++ && 8 < (1 << irela->r_addend)) ++ { ++ irelalign = irela; ++ break; ++ } ++ } ++ ++ /* calculate the pcrelative offset from current location */ ++ pcrel_offset = symval; ++ pcrel_offset -= (sec->output_section->vma + sec->output_offset); ++ pcrel_offset += irel->r_addend; ++ ++ /* we need to compute the pcrel_offset from this instruction ++ * ie the movhi */ ++ pcrel_offset -= (irel->r_offset); ++ ++ /* does this value fit in 16 bits */ ++ if ((irelalign == NULL && (long) pcrel_offset <= 0x8008 ++ && (long) pcrel_offset >= -0x8000) || (irelalign != NULL ++ && (long) pcrel_offset ++ <= 0x7ffc ++ && (long) pcrel_offset ++ >= -0x8000)) ++ { ++ unsigned long opcode, op_a, op_b; ++ /* get the conditional branch opcode */ ++ opcode = bfd_get_32 (abfd, contents + irel->r_offset - 4); ++ /* reverse the condition */ ++ switch (opcode & OP_MASK_OP) ++ { ++ case OP_MATCH_BEQ: ++ opcode = (opcode & ~OP_MASK_OP) | OP_MATCH_BNE; ++ break; ++ case OP_MATCH_BNE: ++ opcode = (opcode & ~OP_MASK_OP) | OP_MATCH_BEQ; ++ break; ++ case OP_MATCH_BGE: ++ case OP_MATCH_BGEU: ++ case OP_MATCH_BLT: ++ case OP_MATCH_BLTU: ++ /* swap the operands */ ++ op_a = (opcode & OP_MASK_RRT) << 5; ++ op_b = (opcode & OP_MASK_RRS) >> 5; ++ opcode = ++ (opcode & ~(OP_MASK_RRS | OP_MASK_RRT)) | op_a | op_b; ++ break; ++ default: ++ fprintf (stderr, ++ "relaxation error - expecting conditional branch, " ++ "aborting\n"); ++ abort (); ++ break; ++ } ++ ++ /* We must set the branch target to zero so that the skip over ++ the jmp doesn't get added to the jmp. */ ++ opcode = opcode & (~OP_MASK_IMM16); ++ ++ /* Change the opcode to the reversed conditional branch. */ ++ bfd_put_32 (abfd, opcode, contents + irel->r_offset - 4); ++ /* Note that we've changed the relocs, section contents, etc. */ ++ elf_section_data (sec)->relocs = internal_relocs; ++ elf_section_data (sec)->this_hdr.contents = contents; ++ symtab_hdr->contents = (unsigned char *) isymbuf; ++ ++ /* Fix the relocation's type. */ ++ irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), ++ R_NIOS2_PCREL16); ++ ++ /* This relocation's offset has also been reduced by 4 bytes. */ ++ irel->r_offset -= 4; ++ ++ /* Replace next two instructions with nops. */ ++ bfd_put_32 (abfd, OP_MATCH_NOP, contents + irel->r_offset + 4); ++ bfd_put_32 (abfd, OP_MATCH_NOP, contents + irel->r_offset + 8); ++ bfd_put_32 (abfd, OP_MATCH_NOP, contents + irel->r_offset + 12); ++ } ++ } ++ ++ /* Otherwise, leave alone. */ ++ } ++ ++ if (isymbuf != NULL && symtab_hdr->contents != (unsigned char *) isymbuf) ++ { ++ if (!link_info->keep_memory) ++ free (isymbuf); ++ else ++ { ++ /* Cache the symbols for elf_link_input_bfd. */ ++ symtab_hdr->contents = (unsigned char *) isymbuf; ++ } ++ } ++ ++ if (contents != NULL ++ && elf_section_data (sec)->this_hdr.contents != contents) ++ { ++ if (!link_info->keep_memory) ++ free (contents); ++ else ++ { ++ /* Cache the section contents for elf_link_input_bfd. */ ++ elf_section_data (sec)->this_hdr.contents = contents; ++ } ++ } ++ ++ if (internal_relocs != NULL ++ && elf_section_data (sec)->relocs != internal_relocs) ++ free (internal_relocs); ++ ++ ++ return TRUE; ++ ++error_return: ++ if (isymbuf != NULL && symtab_hdr->contents != (unsigned char *) isymbuf) ++ free (isymbuf); ++ if (contents != NULL ++ && elf_section_data (sec)->this_hdr.contents != contents) ++ free (contents); ++ if (internal_relocs != NULL ++ && elf_section_data (sec)->relocs != internal_relocs) ++ free (internal_relocs); ++ ++ return FALSE; ++} ++#if 0 ++/* Delete some bytes from a section while relaxing. ++ * Copied from mn10200 port */ ++ ++static bfd_boolean ++nios2_elf32_relax_delete_bytes (bfd * abfd, ++ asection * sec, bfd_vma addr, int count) ++{ ++ Elf_Internal_Shdr *symtab_hdr; ++ unsigned int sec_shndx; ++ bfd_byte *contents; ++ Elf_Internal_Rela *irel, *irelend; ++ Elf_Internal_Rela *irelalign; ++ bfd_vma toaddr; ++ Elf_Internal_Sym *isym; ++ Elf_Internal_Sym *isymend; ++ struct elf_link_hash_entry **sym_hashes; ++ struct elf_link_hash_entry **end_hashes; ++ unsigned int symcount; ++ asection *asec; ++ ++ sec_shndx = _bfd_elf_section_from_bfd_section (abfd, sec); ++ ++ contents = elf_section_data (sec)->this_hdr.contents; ++ ++ /* The deletion must stop at the next ALIGN reloc for an aligment ++ power larger than the number of bytes we are deleting. */ ++ ++ irelalign = NULL; ++ /* +1 because we need to readjust symbols at end of section */ ++ toaddr = sec->size + 1; ++ ++ irel = elf_section_data (sec)->relocs; ++ irelend = irel + sec->reloc_count; ++ ++ for (; irel < irelend; irel++) ++ { ++ if (ELF32_R_TYPE (irel->r_info) == (int) R_NIOS2_ALIGN ++ && irel->r_offset > addr && count < (1 << irel->r_addend)) ++ { ++ irelalign = irel; ++ /* +1 because we need to readjust symbols at end of section */ ++ toaddr = irel->r_offset + 1; ++ break; ++ } ++ } ++ ++ ++ /* Actually delete the bytes. */ ++ memmove (contents + addr, contents + addr + count, ++ (size_t) ((toaddr - 1) - addr - count)); ++ ++ if (irelalign == NULL) ++ sec->size -= count; ++ else ++ { ++ int i; ++ ++#define NOP_OPCODE (0x0001883a) ++ ++ BFD_ASSERT ((count & 3) == 0); ++ for (i = 0; i < count; i += 4) ++ bfd_put_32 (abfd, (bfd_vma) NOP_OPCODE, ++ contents + (toaddr - 1) - count + i); ++ } ++ ++ /* get the symbol table */ ++ symtab_hdr = &elf_tdata (abfd)->symtab_hdr; ++ isym = (Elf_Internal_Sym *) symtab_hdr->contents; ++ ++ /* Adjust all the reloc offsets in this section. */ ++ for (irel = elf_section_data (sec)->relocs; irel < irelend; irel++) ++ { ++ /* Get the new reloc address. */ ++ if ((irel->r_offset > addr && irel->r_offset < toaddr)) ++ irel->r_offset -= count; ++ } ++ ++ /* Adjust relocations against targets in this section whose positions ++ * have moved as a result of the relaxation */ ++ ++ for (asec = abfd->sections; asec; asec = asec->next) ++ { ++ irelend = elf_section_data (asec)->relocs + asec->reloc_count; ++ for (irel = elf_section_data (asec)->relocs; irel < irelend; irel++) ++ { ++ Elf_Internal_Sym *sym; ++ /* if the symbol which this reloc is against doesn't change ++ * we need to change the reloc addend */ ++ ++ sym = isym + ELF32_R_SYM (irel->r_info); ++ if (sym->st_shndx == sec_shndx ++ && !(sym->st_value > addr && sym->st_value < toaddr) ++ && sym->st_value + irel->r_addend > addr ++ && sym->st_value + irel->r_addend < toaddr) ++ { ++ irel->r_addend -= count; ++ } ++ ++ } ++ } ++ ++ /* Adjust the local symbols defined in this section. */ ++ for (isymend = isym + symtab_hdr->sh_info; isym < isymend; isym++) ++ { ++ if (isym->st_shndx == sec_shndx ++ && isym->st_value > addr && isym->st_value < toaddr) ++ isym->st_value -= count; ++ ++ ++ } ++ ++ /* Now adjust the global symbols defined in this section. */ ++ symcount = (symtab_hdr->sh_size / sizeof (Elf32_External_Sym) ++ - symtab_hdr->sh_info); ++ sym_hashes = elf_sym_hashes (abfd); ++ end_hashes = sym_hashes + symcount; ++ for (; sym_hashes < end_hashes; sym_hashes++) ++ { ++ struct elf_link_hash_entry *sym_hash = *sym_hashes; ++ if ((sym_hash->root.type == bfd_link_hash_defined ++ || sym_hash->root.type == bfd_link_hash_defweak) ++ && sym_hash->root.u.def.section == sec ++ && sym_hash->root.u.def.value > addr ++ && sym_hash->root.u.def.value < toaddr) ++ { ++ sym_hash->root.u.def.value -= count; ++ } ++ } ++ ++ return TRUE; ++} ++#endif ++struct bfd_link_info *nios2_link_info = NULL; ++ ++void ++_bfd_set_link_info (struct bfd_link_info *info) ++{ ++ nios2_link_info = info; ++} ++ ++bfd_boolean linker_force_make_executable = FALSE; ++ ++void ++_bfd_set_force_make_executable (bfd_boolean force) ++{ ++ linker_force_make_executable = force; ++} ++ ++/* Set the GP value for OUTPUT_BFD. Returns FALSE if this is a ++ dangerous relocation. */ ++ ++static bfd_boolean ++nios2_elf_assign_gp (bfd *output_bfd, bfd_vma *pgp, struct bfd_link_info *info) ++{ ++ ++ bfd_boolean gp_found; ++ struct bfd_hash_entry *h; ++ struct bfd_link_hash_entry *lh; ++ ++ /* If we've already figured out what GP will be, just return it. */ ++ *pgp = _bfd_get_gp_value (output_bfd); ++ if (*pgp) ++ return TRUE; ++ ++ h = bfd_hash_lookup (&info->hash->table, "_gp", FALSE, FALSE); ++ lh = (struct bfd_link_hash_entry *) h; ++lookup: ++ if (lh) ++ { ++ switch (lh->type) ++ { ++ case bfd_link_hash_undefined: ++ case bfd_link_hash_undefweak: ++ case bfd_link_hash_common: ++ gp_found = FALSE; ++ break; ++ case bfd_link_hash_defined: ++ case bfd_link_hash_defweak: ++ gp_found = TRUE; ++ *pgp = lh->u.def.value; ++ break; ++ case bfd_link_hash_indirect: ++ case bfd_link_hash_warning: ++ lh = lh->u.i.link; ++ /* @@FIXME ignoring warning for now */ ++ goto lookup; ++ case bfd_link_hash_new: ++ default: ++ abort (); ++ } ++ } ++ else ++ gp_found = FALSE; ++ ++ if (!gp_found) ++ { ++ /* Only get the error once. */ ++ *pgp = 4; ++ _bfd_set_gp_value (output_bfd, *pgp); ++ return FALSE; ++ } ++ ++ _bfd_set_gp_value (output_bfd, *pgp); ++ ++ return TRUE; ++} ++ ++/* We have to figure out the gp value, so that we can adjust the ++ symbol value correctly. We look up the symbol _gp in the output ++ BFD. If we can't find it, we're stuck. We cache it in the ELF ++ target data. We don't need to adjust the symbol value for an ++ external symbol if we are producing relocatable output. */ ++ ++static bfd_reloc_status_type ++nios2_elf_final_gp (bfd *output_bfd, asymbol *symbol, bfd_boolean relocatable, ++ char **error_message, bfd_vma *pgp, ++ struct bfd_link_info *info) ++{ ++ if (bfd_is_und_section (symbol->section) && !relocatable) ++ { ++ *pgp = 0; ++ return bfd_reloc_undefined; ++ } ++ ++ *pgp = _bfd_get_gp_value (output_bfd); ++ if (*pgp == 0 && (!relocatable || (symbol->flags & BSF_SECTION_SYM) != 0)) ++ { ++ /* if this is called without link_info, then ++ we cannot be doing a final link */ ++ if (info == NULL) ++ relocatable = TRUE; ++ ++ if (relocatable) ++ { ++ /* Make up a value. */ ++ *pgp = symbol->section->output_section->vma + 0x4000; ++ _bfd_set_gp_value (output_bfd, *pgp); ++ } ++ else if (!nios2_elf_assign_gp (output_bfd, pgp, info)) ++ { ++ *error_message = ++ (char *) ++ _("global pointer relative relocation when _gp not defined"); ++ return bfd_reloc_dangerous; ++ } ++ } ++ ++ return bfd_reloc_ok; ++} ++ ++ ++/* Relocations that require special handling */ ++ ++/* This is for relocations used only when relaxing to ensure ++ changes in size of section don't screw up .align. */ ++static bfd_reloc_status_type ++nios2_elf32_ignore_reloc (bfd *abfd ATTRIBUTE_UNUSED, arelent *reloc_entry, ++ asymbol *symbol ATTRIBUTE_UNUSED, ++ void *data ATTRIBUTE_UNUSED, asection *input_section, ++ bfd *output_bfd, ++ char **error_message ATTRIBUTE_UNUSED) ++{ ++ if (output_bfd != NULL) ++ reloc_entry->address += input_section->output_offset; ++ return bfd_reloc_ok; ++} ++ ++static bfd_reloc_status_type ++nios2_elf32_hi16_relocate (bfd *abfd, arelent *reloc_entry, asymbol *symbol, ++ void *data, asection *input_section, ++ bfd *output_bfd, ++ char **error_message ATTRIBUTE_UNUSED) ++{ ++ /* This part is from bfd_elf_generic_reloc. */ ++ if (output_bfd != (bfd *) NULL ++ && (symbol->flags & BSF_SECTION_SYM) == 0 ++ && (!reloc_entry->howto->partial_inplace || reloc_entry->addend == 0)) ++ { ++ reloc_entry->address += input_section->output_offset; ++ return bfd_reloc_ok; ++ } ++ ++ if (output_bfd != NULL) ++ /* FIXME: See bfd_perform_relocation. Is this right? */ ++ return bfd_reloc_ok; ++ ++ return nios2_elf32_do_hi16_relocate (abfd, reloc_entry->howto, ++ input_section, ++ data, reloc_entry->address, ++ (symbol->value ++ + symbol->section->output_section->vma ++ + symbol->section->output_offset), ++ reloc_entry->addend); ++} ++ ++static bfd_reloc_status_type ++nios2_elf32_lo16_relocate (bfd *abfd, arelent *reloc_entry, asymbol *symbol, ++ void *data, asection *input_section, ++ bfd *output_bfd, ++ char **error_message ATTRIBUTE_UNUSED) ++{ ++/* This part is from bfd_elf_generic_reloc. */ ++ if (output_bfd != (bfd *) NULL ++ && (symbol->flags & BSF_SECTION_SYM) == 0 ++ && (!reloc_entry->howto->partial_inplace || reloc_entry->addend == 0)) ++ { ++ reloc_entry->address += input_section->output_offset; ++ return bfd_reloc_ok; ++ } ++ ++ if (output_bfd != NULL) ++ /* FIXME: See bfd_perform_relocation. Is this right? */ ++ return bfd_reloc_ok; ++ ++ return nios2_elf32_do_lo16_relocate (abfd, reloc_entry->howto, ++ input_section, ++ data, reloc_entry->address, ++ (symbol->value ++ + symbol->section->output_section->vma ++ + symbol->section->output_offset), ++ reloc_entry->addend); ++} ++ ++static bfd_reloc_status_type ++nios2_elf32_hiadj16_relocate (bfd *abfd, arelent *reloc_entry, asymbol *symbol, ++ void *data, asection *input_section, ++ bfd *output_bfd, ++ char **error_message ATTRIBUTE_UNUSED) ++{ ++ /* This part is from bfd_elf_generic_reloc. */ ++ if (output_bfd != (bfd *) NULL ++ && (symbol->flags & BSF_SECTION_SYM) == 0 ++ && (!reloc_entry->howto->partial_inplace || reloc_entry->addend == 0)) ++ { ++ reloc_entry->address += input_section->output_offset; ++ return bfd_reloc_ok; ++ } ++ ++ if (output_bfd != NULL) ++ /* FIXME: See bfd_perform_relocation. Is this right? */ ++ return bfd_reloc_ok; ++ ++ return nios2_elf32_do_hiadj16_relocate (abfd, reloc_entry->howto, ++ input_section, ++ data, reloc_entry->address, ++ (symbol->value ++ + ++ symbol->section->output_section-> ++ vma + ++ symbol->section->output_offset), ++ reloc_entry->addend); ++} ++ ++static bfd_reloc_status_type ++nios2_elf32_pcrel_lo16_relocate (bfd *abfd, arelent *reloc_entry, ++ asymbol *symbol, void *data, ++ asection *input_section, bfd *output_bfd, ++ char **error_message ATTRIBUTE_UNUSED) ++{ ++ /* This part is from bfd_elf_generic_reloc. */ ++ if (output_bfd != (bfd *) NULL ++ && (symbol->flags & BSF_SECTION_SYM) == 0 ++ && (!reloc_entry->howto->partial_inplace || reloc_entry->addend == 0)) ++ { ++ reloc_entry->address += input_section->output_offset; ++ return bfd_reloc_ok; ++ } ++ ++ if (output_bfd != NULL) ++ /* FIXME: See bfd_perform_relocation. Is this right? */ ++ return bfd_reloc_ok; ++ ++ return nios2_elf32_do_pcrel_lo16_relocate ( ++ abfd, reloc_entry->howto, input_section, data, reloc_entry->address, ++ (symbol->value + symbol->section->output_section->vma + ++ symbol->section->output_offset), ++ reloc_entry->addend); ++} ++ ++static bfd_reloc_status_type ++nios2_elf32_pcrel_hiadj16_relocate (bfd *abfd, arelent *reloc_entry, ++ asymbol *symbol, void *data, ++ asection *input_section, bfd *output_bfd, ++ char **error_message ATTRIBUTE_UNUSED) ++{ ++ /* This part is from bfd_elf_generic_reloc. */ ++ if (output_bfd != (bfd *) NULL ++ && (symbol->flags & BSF_SECTION_SYM) == 0 ++ && (!reloc_entry->howto->partial_inplace || reloc_entry->addend == 0)) ++ { ++ reloc_entry->address += input_section->output_offset; ++ return bfd_reloc_ok; ++ } ++ ++ if (output_bfd != NULL) ++ /* FIXME: See bfd_perform_relocation. Is this right? */ ++ return bfd_reloc_ok; ++ ++ return nios2_elf32_do_pcrel_hiadj16_relocate ( ++ abfd, reloc_entry->howto, input_section, data, reloc_entry->address, ++ (symbol->value + symbol->section->output_section->vma + ++ symbol->section->output_offset), ++ reloc_entry->addend); ++} ++ ++static bfd_reloc_status_type ++nios2_elf32_pcrel16_relocate (bfd *abfd, arelent *reloc_entry, asymbol *symbol, ++ void *data, asection *input_section, ++ bfd *output_bfd, ++ char **error_message ATTRIBUTE_UNUSED) ++{ ++ /* This part is from bfd_elf_generic_reloc. */ ++ if (output_bfd != (bfd *) NULL ++ && (symbol->flags & BSF_SECTION_SYM) == 0 ++ && (!reloc_entry->howto->partial_inplace || reloc_entry->addend == 0)) ++ { ++ reloc_entry->address += input_section->output_offset; ++ return bfd_reloc_ok; ++ } ++ ++ if (output_bfd != NULL) ++ /* FIXME: See bfd_perform_relocation. Is this right? */ ++ return bfd_reloc_ok; ++ ++ return nios2_elf32_do_pcrel16_relocate (abfd, reloc_entry->howto, ++ input_section, ++ data, reloc_entry->address, ++ (symbol->value ++ + ++ symbol->section->output_section-> ++ vma + ++ symbol->section->output_offset), ++ reloc_entry->addend); ++} ++ ++static bfd_reloc_status_type ++nios2_elf32_call26_relocate (bfd *abfd, arelent *reloc_entry, asymbol *symbol, ++ void *data, asection *input_section, ++ bfd *output_bfd, ++ char **error_message ATTRIBUTE_UNUSED) ++{ ++ /* This part is from bfd_elf_generic_reloc. */ ++ if (output_bfd != (bfd *) NULL ++ && (symbol->flags & BSF_SECTION_SYM) == 0 ++ && (!reloc_entry->howto->partial_inplace || reloc_entry->addend == 0)) ++ { ++ reloc_entry->address += input_section->output_offset; ++ return bfd_reloc_ok; ++ } ++ ++ if (output_bfd != NULL) ++ /* FIXME: See bfd_perform_relocation. Is this right? */ ++ return bfd_reloc_ok; ++ ++ return nios2_elf32_do_call26_relocate (abfd, reloc_entry->howto, ++ input_section, ++ data, reloc_entry->address, ++ (symbol->value ++ + ++ symbol->section->output_section-> ++ vma + ++ symbol->section->output_offset), ++ reloc_entry->addend); ++} ++ ++static bfd_reloc_status_type ++nios2_elf32_gprel_relocate (bfd *abfd, arelent *reloc_entry, asymbol *symbol, ++ void *data, asection *input_section, ++ bfd *output_bfd, char **msg) ++{ ++ bfd_vma relocation; ++ bfd_vma gp; ++ bfd_reloc_status_type r; ++ ++ ++ /* This part is from bfd_elf_generic_reloc. */ ++ if (output_bfd != (bfd *) NULL ++ && (symbol->flags & BSF_SECTION_SYM) == 0 ++ && (!reloc_entry->howto->partial_inplace || reloc_entry->addend == 0)) ++ { ++ reloc_entry->address += input_section->output_offset; ++ return bfd_reloc_ok; ++ } ++ ++ if (output_bfd != NULL) ++ /* FIXME: See bfd_perform_relocation. Is this right? */ ++ return bfd_reloc_ok; ++ ++ relocation = symbol->value ++ + symbol->section->output_section->vma + symbol->section->output_offset; ++ ++ if ((r = ++ nios2_elf_final_gp (abfd, symbol, FALSE, msg, &gp, ++ nios2_link_info)) == bfd_reloc_ok) ++ { ++ relocation = relocation + reloc_entry->addend - gp; ++ reloc_entry->addend = 0; ++ if ((signed) relocation < -32768 || (signed) relocation > 32767) ++ { ++ *msg = _("global pointer relative address out of range"); ++ r = bfd_reloc_outofrange; ++ } ++ else ++ { ++ r = nios2_elf32_do_gprel_relocate (abfd, reloc_entry->howto, ++ input_section, ++ data, reloc_entry->address, ++ relocation, reloc_entry->addend); ++ } ++ } ++ ++ return r; ++} ++ ++static bfd_reloc_status_type ++nios2_elf32_ujmp_relocate (bfd *abfd, arelent *reloc_entry, asymbol *symbol, ++ void *data, asection *input_section, ++ bfd *output_bfd, char **msg ATTRIBUTE_UNUSED) ++{ ++ /* This part is from bfd_elf_generic_reloc. */ ++ if (output_bfd != (bfd *) NULL ++ && (symbol->flags & BSF_SECTION_SYM) == 0 ++ && (!reloc_entry->howto->partial_inplace || reloc_entry->addend == 0)) ++ { ++ reloc_entry->address += input_section->output_offset; ++ return bfd_reloc_ok; ++ } ++ ++ if (output_bfd != NULL) ++ /* FIXME: See bfd_perform_relocation. Is this right? */ ++ return bfd_reloc_ok; ++ ++ return nios2_elf32_do_ujmp_relocate (abfd, reloc_entry->howto, ++ input_section, ++ data, reloc_entry->address, ++ (symbol->value ++ + symbol->section->output_section->vma ++ + symbol->section->output_offset), ++ reloc_entry->addend); ++} ++ ++static bfd_reloc_status_type ++nios2_elf32_cjmp_relocate (bfd *abfd, arelent *reloc_entry, asymbol *symbol, ++ void *data, asection *input_section, ++ bfd *output_bfd, char **msg ATTRIBUTE_UNUSED) ++{ ++ /* This part is from bfd_elf_generic_reloc. */ ++ if (output_bfd != (bfd *) NULL ++ && (symbol->flags & BSF_SECTION_SYM) == 0 ++ && (!reloc_entry->howto->partial_inplace || reloc_entry->addend == 0)) ++ { ++ reloc_entry->address += input_section->output_offset; ++ return bfd_reloc_ok; ++ } ++ ++ if (output_bfd != NULL) ++ /* FIXME: See bfd_perform_relocation. Is this right? */ ++ return bfd_reloc_ok; ++ ++ return nios2_elf32_do_cjmp_relocate (abfd, reloc_entry->howto, ++ input_section, ++ data, reloc_entry->address, ++ (symbol->value ++ + symbol->section->output_section->vma ++ + symbol->section->output_offset), ++ reloc_entry->addend); ++} ++ ++static bfd_reloc_status_type ++nios2_elf32_callr_relocate (bfd *abfd, arelent *reloc_entry, asymbol *symbol, ++ void *data, asection *input_section, ++ bfd *output_bfd, char **msg ATTRIBUTE_UNUSED) ++{ ++ /* This part is from bfd_elf_generic_reloc. */ ++ if (output_bfd != (bfd *) NULL ++ && (symbol->flags & BSF_SECTION_SYM) == 0 ++ && (!reloc_entry->howto->partial_inplace || reloc_entry->addend == 0)) ++ { ++ reloc_entry->address += input_section->output_offset; ++ return bfd_reloc_ok; ++ } ++ ++ if (output_bfd != NULL) ++ /* FIXME: See bfd_perform_relocation. Is this right? */ ++ return bfd_reloc_ok; ++ ++ ++ return nios2_elf32_do_callr_relocate (abfd, reloc_entry->howto, ++ input_section, ++ data, reloc_entry->address, ++ (symbol->value ++ + ++ symbol->section->output_section-> ++ vma + ++ symbol->section->output_offset), ++ reloc_entry->addend); ++} ++ ++/* Do the relocations which require special handling. */ ++ ++static bfd_reloc_status_type ++nios2_elf32_do_hi16_relocate (bfd *abfd, reloc_howto_type *howto, ++ asection *input_section ATTRIBUTE_UNUSED, ++ bfd_byte *data, bfd_vma offset, ++ bfd_vma symbol_value, bfd_vma addend) ++{ ++ symbol_value = symbol_value + addend; ++ addend = 0; ++ symbol_value = (symbol_value >> 16) & 0xffff; ++ return _bfd_final_link_relocate (howto, abfd, input_section, ++ data, offset, symbol_value, addend); ++} ++ ++ ++static bfd_reloc_status_type ++nios2_elf32_do_lo16_relocate (bfd *abfd, reloc_howto_type *howto, ++ asection *input_section ATTRIBUTE_UNUSED, ++ bfd_byte *data, bfd_vma offset, ++ bfd_vma symbol_value, bfd_vma addend) ++{ ++ symbol_value = symbol_value + addend; ++ addend = 0; ++ symbol_value = symbol_value & 0xffff; ++ return _bfd_final_link_relocate (howto, abfd, input_section, ++ data, offset, symbol_value, addend); ++} ++ ++/* The usual way of loading a 32-bit constant into a Nios II register is to ++ load the high 16 bits in one instruction and then add the low 16 bits with ++ a signed add. This means that the high halfword needs to be adjusted to ++ compensate for the sign bit of the low halfword. This function returns the ++ adjusted high halfword for a given 32-bit constant. */ ++ ++static bfd_vma hiadj(bfd_vma symbol_value) ++{ ++ return ++ (((symbol_value >> 16) & 0xffff) + ((symbol_value >> 15) & 0x01)) & 0xffff; ++} ++ ++static bfd_reloc_status_type ++nios2_elf32_do_hiadj16_relocate (bfd *abfd, reloc_howto_type *howto, ++ asection *input_section ATTRIBUTE_UNUSED, ++ bfd_byte *data, bfd_vma offset, ++ bfd_vma symbol_value, bfd_vma addend) ++{ ++ symbol_value = symbol_value + addend; ++ addend = 0; ++ symbol_value = hiadj(symbol_value); ++ return _bfd_final_link_relocate (howto, abfd, input_section, data, offset, ++ symbol_value, addend); ++} ++ ++static bfd_reloc_status_type ++nios2_elf32_do_pcrel_lo16_relocate (bfd *abfd, reloc_howto_type *howto, ++ asection *input_section ATTRIBUTE_UNUSED, ++ bfd_byte *data, bfd_vma offset, ++ bfd_vma symbol_value, bfd_vma addend) ++{ ++ symbol_value = symbol_value + addend; ++ addend = 0; ++ symbol_value = symbol_value & 0xffff; ++ return _bfd_final_link_relocate (howto, abfd, input_section, ++ data, offset, symbol_value, addend); ++} ++ ++static bfd_reloc_status_type ++nios2_elf32_do_pcrel_hiadj16_relocate (bfd *abfd, reloc_howto_type *howto, ++ asection *input_section ++ ATTRIBUTE_UNUSED, ++ bfd_byte *data, bfd_vma offset, ++ bfd_vma symbol_value, bfd_vma addend) ++{ ++ symbol_value = symbol_value + addend; ++ symbol_value -= (input_section->output_section->vma + ++ input_section->output_offset); ++ symbol_value -= offset; ++ addend = 0; ++ symbol_value = hiadj(symbol_value); ++ return _bfd_final_link_relocate (howto, abfd, input_section, data, offset, ++ symbol_value, addend); ++} ++ ++static bfd_reloc_status_type ++nios2_elf32_do_pcrel16_relocate (bfd *abfd, reloc_howto_type *howto, ++ asection *input_section ATTRIBUTE_UNUSED, ++ bfd_byte *data, bfd_vma offset, ++ bfd_vma symbol_value, bfd_vma addend) ++{ ++ /* NIOS2 pc relative relocations are relative to the next 32-bit instruction ++ so we need to subtract 4 before doing a final_link_relocate. */ ++ symbol_value = symbol_value + addend - 4; ++ addend = 0; ++ return _bfd_final_link_relocate (howto, abfd, input_section, ++ data, offset, symbol_value, addend); ++} ++ ++static bfd_reloc_status_type ++nios2_elf32_do_call26_relocate (bfd *abfd, reloc_howto_type *howto, ++ asection *input_section ATTRIBUTE_UNUSED, ++ bfd_byte *data, bfd_vma offset, ++ bfd_vma symbol_value, bfd_vma addend) ++{ ++ /* Check that the relocation is in the same page as the current address. */ ++ if (((symbol_value + addend) & 0xf0000000) ++ != ((input_section->output_section->vma + offset) & 0xf0000000)) ++ return bfd_reloc_overflow; ++ ++ return _bfd_final_link_relocate (howto, abfd, input_section, ++ data, offset, symbol_value, addend); ++} ++ ++ ++static bfd_reloc_status_type ++nios2_elf32_do_gprel_relocate (bfd *abfd, reloc_howto_type *howto, ++ asection *input_section ATTRIBUTE_UNUSED, ++ bfd_byte *data, bfd_vma offset, ++ bfd_vma symbol_value, bfd_vma addend) ++{ ++ /* Because we need the output_bfd, the special handling is done ++ in nios2_elf32_relocate_section or in nios2_elf32_gprel_relocate. */ ++ return _bfd_final_link_relocate (howto, abfd, input_section, ++ data, offset, symbol_value, addend); ++} ++ ++static bfd_reloc_status_type ++nios2_elf32_do_ujmp_relocate (bfd *abfd, reloc_howto_type *howto, ++ asection *input_section ATTRIBUTE_UNUSED, ++ bfd_byte *data, bfd_vma offset, ++ bfd_vma symbol_value, bfd_vma addend) ++{ ++ bfd_vma symbol_lo16, symbol_hi16; ++ bfd_reloc_status_type r; ++ symbol_value = symbol_value + addend; ++ addend = 0; ++ symbol_hi16 = (symbol_value >> 16) & 0xffff; ++ symbol_lo16 = symbol_value & 0xffff; ++ ++ r = _bfd_final_link_relocate (howto, abfd, input_section, ++ data, offset, symbol_hi16, addend); ++ ++ if (r == bfd_reloc_ok) ++ return _bfd_final_link_relocate (howto, abfd, input_section, ++ data, offset + 4, symbol_lo16, addend); ++ ++ return r; ++} ++ ++static bfd_reloc_status_type ++nios2_elf32_do_cjmp_relocate (bfd *abfd, reloc_howto_type *howto, ++ asection *input_section ATTRIBUTE_UNUSED, ++ bfd_byte *data, bfd_vma offset, ++ bfd_vma symbol_value, bfd_vma addend) ++{ ++ bfd_vma symbol_lo16, symbol_hi16; ++ bfd_reloc_status_type r; ++ symbol_value = symbol_value + addend; ++ addend = 0; ++ symbol_hi16 = (symbol_value >> 16) & 0xffff; ++ symbol_lo16 = symbol_value & 0xffff; ++ ++ r = _bfd_final_link_relocate (howto, abfd, input_section, ++ data, offset, symbol_hi16, addend); ++ ++ if (r == bfd_reloc_ok) ++ return _bfd_final_link_relocate (howto, abfd, input_section, ++ data, offset + 4, symbol_lo16, addend); ++ ++ return r; ++} ++ ++static bfd_reloc_status_type ++nios2_elf32_do_callr_relocate (bfd *abfd, reloc_howto_type *howto, ++ asection *input_section ATTRIBUTE_UNUSED, ++ bfd_byte *data, bfd_vma offset, ++ bfd_vma symbol_value, bfd_vma addend) ++{ ++ bfd_vma symbol_lo16, symbol_hi16; ++ bfd_reloc_status_type r; ++ symbol_value = symbol_value + addend; ++ addend = 0; ++ symbol_hi16 = (symbol_value >> 16) & 0xffff; ++ symbol_lo16 = symbol_value & 0xffff; ++ ++ r = _bfd_final_link_relocate (howto, abfd, input_section, ++ data, offset, symbol_hi16, addend); ++ ++ if (r == bfd_reloc_ok) ++ return _bfd_final_link_relocate (howto, abfd, input_section, ++ data, offset + 4, symbol_lo16, addend); ++ ++ return r; ++} ++ ++/* The function nios2_elf32_relocate_section is used by the linker ++ to perform relocations. */ ++static bfd_boolean ++nios2_elf32_relocate_section (bfd * output_bfd, ++ struct bfd_link_info *info, ++ bfd * input_bfd, ++ asection * input_section, ++ bfd_byte * contents, ++ Elf_Internal_Rela * relocs, ++ Elf_Internal_Sym * local_syms, ++ asection ** local_sections) ++{ ++ Elf_Internal_Shdr *symtab_hdr; ++ struct elf_link_hash_entry **sym_hashes; ++ Elf_Internal_Rela *rel; ++ Elf_Internal_Rela *relend; ++ struct elf32_nios2_link_hash_table *htab; ++ asection *sgot; ++ asection *splt; ++ asection *sreloc = NULL; ++ bfd_vma *local_got_offsets; ++ bfd *dynobj = NULL; ++ ++ symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr; ++ sym_hashes = elf_sym_hashes (input_bfd); ++ relend = relocs + input_section->reloc_count; ++ ++ htab = elf32_nios2_hash_table (info); ++ sgot = htab->sgot; ++ splt = htab->splt; ++ local_got_offsets = elf_local_got_offsets (input_bfd); ++ ++ dynobj = elf_hash_table (info)->dynobj; ++ ++#if 0 ++ size_t psymalloc = 0; ++ _bfd_generic_link_output_symbols(output_bfd, input_bfd, info, &psymalloc); ++#endif ++ for (rel = relocs; rel < relend; rel++) ++ { ++ reloc_howto_type *howto; ++ unsigned long r_symndx; ++ Elf_Internal_Sym *sym; ++ asection *sec; ++ struct elf_link_hash_entry *h; ++ struct elf32_nios2_link_hash_entry *eh; ++ bfd_vma relocation; ++ bfd_vma gp; ++ bfd_vma reloc_address; ++ bfd_reloc_status_type r = bfd_reloc_ok; ++ const char *name = NULL; ++ int r_type; ++ const char *format; ++ char msgbuf[256]; ++ const char* msg = (const char*) NULL; ++ bfd_boolean unresolved_reloc; ++ bfd_vma off; ++ int use_plt; ++ ++ ++ ++ r_type = ELF32_R_TYPE (rel->r_info); ++ ++ r_symndx = ELF32_R_SYM (rel->r_info); ++ ++ if (info->relocatable) ++ { ++ /* This is a relocatable link. We don't have to change ++ anything, unless the reloc is against a section symbol, ++ in which case we have to adjust according to where the ++ section symbol winds up in the output section. */ ++ if (r_symndx < symtab_hdr->sh_info) ++ { ++ sym = local_syms + r_symndx; ++ ++ if (ELF_ST_TYPE (sym->st_info) == STT_SECTION) ++ { ++ sec = local_sections[r_symndx]; ++ rel->r_addend += sec->output_offset + sym->st_value; ++ } ++ } ++ continue; ++ } ++ ++ /* This is a final link. */ ++ howto = lookup_howto ((unsigned) ELF32_R_TYPE (rel->r_info)); ++ h = NULL; ++ sym = NULL; ++ sec = NULL; ++ ++ if (r_symndx < symtab_hdr->sh_info) ++ { ++ sym = local_syms + r_symndx; ++ sec = local_sections[r_symndx]; ++ relocation = _bfd_elf_rela_local_sym (output_bfd, sym, &sec, rel); ++ } ++ else ++ { ++ bfd_boolean warned; ++ ++ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, ++ r_symndx, symtab_hdr, sym_hashes, ++ h, sec, relocation, ++ unresolved_reloc, warned); ++ } ++ ++ if (sec != NULL && elf_discarded_section (sec)) ++ { ++ /* For relocs against symbols from removed linkonce sections, ++ or sections discarded by a linker script, we just want the ++ section contents zeroed. Avoid any special processing. */ ++ _bfd_clear_contents (howto, input_bfd, contents + rel->r_offset); ++ rel->r_info = 0; ++ rel->r_addend = 0; ++ continue; ++ } ++ ++ if (sec && sec->output_section != NULL) ++ reloc_address = sec->output_section->vma + sec->output_offset + ++ rel->r_offset; ++ else ++ reloc_address = 0; ++ ++ if (howto != NULL) ++ { ++ switch (howto->type) ++ { ++ case R_NIOS2_HI16: ++ r = ++ nios2_elf32_do_hi16_relocate (input_bfd, howto, input_section, ++ contents, rel->r_offset, ++ relocation, rel->r_addend); ++ break; ++ case R_NIOS2_LO16: ++ r = ++ nios2_elf32_do_lo16_relocate (input_bfd, howto, input_section, ++ contents, rel->r_offset, ++ relocation, rel->r_addend); ++ break; ++ case R_NIOS2_PCREL_LO: ++ r = ++ nios2_elf32_do_pcrel_lo16_relocate (input_bfd, howto, ++ input_section, contents, ++ rel->r_offset, relocation, ++ rel->r_addend); ++ break; ++ case R_NIOS2_HIADJ16: ++ r = ++ nios2_elf32_do_hiadj16_relocate (input_bfd, howto, ++ input_section, contents, ++ rel->r_offset, relocation, ++ rel->r_addend); ++ break; ++ case R_NIOS2_PCREL_HA: ++ r = ++ nios2_elf32_do_pcrel_hiadj16_relocate (input_bfd, howto, ++ input_section, contents, ++ rel->r_offset, ++ relocation, ++ rel->r_addend); ++ break; ++ case R_NIOS2_PCREL16: ++ r = ++ nios2_elf32_do_pcrel16_relocate (input_bfd, howto, ++ input_section, contents, ++ rel->r_offset, relocation, ++ rel->r_addend); ++ break; ++ case R_NIOS2_GPREL: ++ /* Turns an absolute address into a gp-relative address. */ ++ if (!nios2_elf_assign_gp (output_bfd, &gp, info)) ++ { ++ format = _("global pointer relative relocation at address " ++ "0x%08x when _gp not defined\n"); ++ sprintf(msgbuf, format, reloc_address); ++ msg = msgbuf; ++ r = bfd_reloc_dangerous; ++ } ++ else ++ { ++ bfd_vma symbol_address = rel->r_addend + relocation; ++ relocation = relocation + rel->r_addend - gp; ++ rel->r_addend = 0; ++ if ((signed) relocation < -32768 ++ || (signed) relocation > 32767) ++ { ++ format = _("Unable to reach %s (at 0x%08x) from the " ++ "global pointer (at 0x%08x) because the " ++ "offset (%d) is out of the allowed range, " ++ "-32678 to 32767.\n" ); ++ sprintf(msgbuf, format, name, symbol_address, gp, ++ (signed)relocation); ++ msg = msgbuf; ++ r = bfd_reloc_outofrange; ++ } ++ else ++ { ++ r = ++ _bfd_final_link_relocate (howto, input_bfd, ++ input_section, contents, ++ rel->r_offset, relocation, ++ rel->r_addend); ++ } ++ } ++ ++ break; ++ case R_NIOS2_UJMP: ++ r = ++ nios2_elf32_do_ujmp_relocate (input_bfd, howto, input_section, ++ contents, rel->r_offset, ++ relocation, rel->r_addend); ++ break; ++ case R_NIOS2_CJMP: ++ r = ++ nios2_elf32_do_cjmp_relocate (input_bfd, howto, input_section, ++ contents, rel->r_offset, ++ relocation, rel->r_addend); ++ break; ++ case R_NIOS2_CALLR: ++ r = ++ nios2_elf32_do_callr_relocate (input_bfd, howto, ++ input_section, contents, ++ rel->r_offset, relocation, ++ rel->r_addend); ++ break; ++ case R_NIOS2_CALL26: ++ /* Handle relocations which should use the PLT entry. ++ NIOS2_BFD_RELOC_32 relocations will use the symbol's value, ++ which may point to a PLT entry, but we don't need to handle ++ that here. If we created a PLT entry, all branches in this ++ object should go to it. */ ++ if (h != NULL && splt != NULL && h->plt.offset != (bfd_vma) -1) ++ { ++ /* If we've created a .plt section, and assigned a PLT entry ++ to this function, it should not be known to bind locally. ++ If it were, we would have cleared the PLT entry. */ ++ BFD_ASSERT (!SYMBOL_CALLS_LOCAL (info, h)); ++ ++ relocation = (splt->output_section->vma ++ + splt->output_offset ++ + h->plt.offset); ++ ++ unresolved_reloc = FALSE; ++ } ++ r = ++ nios2_elf32_do_call26_relocate (input_bfd, howto, ++ input_section, contents, ++ rel->r_offset, relocation, ++ rel->r_addend); ++ break; ++ case R_NIOS2_ALIGN: ++ r = bfd_reloc_ok; ++ /* For symmetry this would be ++ r = nios2_elf32_do_ignore_reloc (input_bfd, howto, ++ input_section, contents, ++ rel->r_offset, relocation, ++ rel->r_addend); ++ but do_ignore_reloc would do no more than return bfd_reloc_ok. ++ */ ++ break; ++ ++ case R_NIOS2_GOT16: ++ case R_NIOS2_CALL16: ++ /* Relocation is to the entry for this symbol in the ++ global offset table. */ ++ if (sgot == NULL) ++ { ++ r = bfd_reloc_notsupported; ++ break; ++ } ++ ++ use_plt = 0; ++ ++ if (h != NULL) ++ { ++ bfd_boolean dyn; ++ ++ eh = (struct elf32_nios2_link_hash_entry *)h; ++ use_plt = (eh->got_types_used == CALL16_USED && ++ h->plt.offset != (bfd_vma) -1); ++ ++ off = h->got.offset; ++ BFD_ASSERT (off != (bfd_vma) -1); ++ dyn = elf_hash_table (info)->dynamic_sections_created; ++ if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info->shared, h) ++ || (info->shared ++ && SYMBOL_REFERENCES_LOCAL (info, h)) ++ || (ELF_ST_VISIBILITY (h->other) ++ && h->root.type == bfd_link_hash_undefweak)) ++ { ++ /* This is actually a static link, or it is a -Bsymbolic ++ link and the symbol is defined locally. We must ++ initialize this entry in the global offset table. ++ Since the offset must always be a multiple of 4, we ++ use the least significant bit to record whether we ++ have initialized it already. ++ ++ When doing a dynamic link, we create a .rela.got ++ relocation entry to initialize the value. This is ++ done in the finish_dynamic_symbol routine. */ ++ if ((off & 1) != 0) ++ off &= ~1; ++ else ++ { ++ bfd_put_32 (output_bfd, relocation, ++ sgot->contents + off); ++ h->got.offset |= 1; ++ } ++ } ++ else ++ unresolved_reloc = FALSE; ++ } ++ else ++ { ++ BFD_ASSERT (local_got_offsets != NULL && ++ local_got_offsets[r_symndx] != (bfd_vma) -1); ++ ++ off = local_got_offsets[r_symndx]; ++ ++ /* The offset must always be a multiple of 4. We use the ++ least significant bit to record whether we have already ++ generated the necessary reloc. */ ++ if ((off & 1) != 0) ++ off &= ~1; ++ else ++ { ++ bfd_put_32 (output_bfd, relocation, ++ sgot->contents + off); ++ ++ if (info->shared) ++ { ++ asection * srelgot; ++ Elf_Internal_Rela outrel; ++ bfd_byte *loc; ++ ++ srelgot = htab->srelgot; ++ BFD_ASSERT (srelgot != NULL); ++ ++ outrel.r_addend = relocation; ++ outrel.r_offset = (sgot->output_section->vma ++ + sgot->output_offset ++ + off); ++ outrel.r_info = ELF32_R_INFO (0, R_NIOS2_RELATIVE); ++ loc = srelgot->contents; ++ loc += (srelgot->reloc_count++ * ++ sizeof (Elf32_External_Rela)); ++ bfd_elf32_swap_reloca_out (output_bfd, &outrel, loc); ++ } ++ ++ local_got_offsets[r_symndx] |= 1; ++ } ++ } ++ ++ if (use_plt && info->shared) ++ { ++ off = ((h->plt.offset - 24) / 12 + 3) * 4; ++ relocation = htab->sgotplt->output_offset + off; ++ } ++ else ++ relocation = sgot->output_offset + off; ++ ++ /* This relocation does not use the addend. */ ++ rel->r_addend = 0; ++ ++ r = _bfd_final_link_relocate (howto, input_bfd, input_section, ++ contents, rel->r_offset, ++ relocation, rel->r_addend); ++ break; ++ ++ case R_NIOS2_GOTOFF_LO: ++ case R_NIOS2_GOTOFF_HA: ++ case R_NIOS2_GOTOFF: ++ /* Relocation is relative to the start of the ++ global offset table. */ ++ ++ BFD_ASSERT (sgot != NULL); ++ if (sgot == NULL) ++ { ++ r = bfd_reloc_notsupported; ++ break; ++ } ++ ++ /* Note that sgot->output_offset is not involved in this ++ calculation. We always want the start of .got. If we ++ define _GLOBAL_OFFSET_TABLE in a different way, as is ++ permitted by the ABI, we might have to change this ++ calculation. */ ++ relocation -= sgot->output_section->vma; ++ switch (howto->type) ++ { ++ case R_NIOS2_GOTOFF_LO: ++ r = nios2_elf32_do_lo16_relocate (input_bfd, howto, ++ input_section, contents, ++ rel->r_offset, relocation, ++ rel->r_addend); ++ break; ++ case R_NIOS2_GOTOFF_HA: ++ r = nios2_elf32_do_hiadj16_relocate (input_bfd, howto, ++ input_section, contents, ++ rel->r_offset, ++ relocation, ++ rel->r_addend); ++ break; ++ default: ++ r = _bfd_final_link_relocate (howto, input_bfd, ++ input_section, contents, ++ rel->r_offset, relocation, ++ rel->r_addend); ++ break; ++ } ++ break; ++ ++ case R_NIOS2_TLS_LDO16: ++ relocation -= dtpoff_base (info) + DTP_OFFSET; ++ ++ r = _bfd_final_link_relocate (howto, input_bfd, input_section, ++ contents, rel->r_offset, ++ relocation, rel->r_addend); ++ break; ++ case R_NIOS2_TLS_LDM16: ++ { ++ bfd_vma off; ++ ++ if (htab->sgot == NULL) ++ abort (); ++ ++ off = htab->tls_ldm_got.offset; ++ ++ if ((off & 1) != 0) ++ off &= ~1; ++ else ++ { ++ /* If we don't know the module number, create a relocation ++ for it. */ ++ if (info->shared) ++ { ++ Elf_Internal_Rela outrel; ++ bfd_byte *loc; ++ ++ if (htab->srelgot == NULL) ++ abort (); ++ ++ outrel.r_addend = 0; ++ outrel.r_offset = (htab->sgot->output_section->vma ++ + htab->sgot->output_offset ++ + off); ++ outrel.r_info = ELF32_R_INFO (0, R_NIOS2_TLS_DTPMOD); ++ ++ loc = htab->srelgot->contents; ++ loc += (htab->srelgot->reloc_count++ ++ * sizeof (Elf32_External_Rela)); ++ bfd_elf32_swap_reloca_out (output_bfd, &outrel, loc); ++ } ++ else ++ bfd_put_32 (output_bfd, 1, ++ htab->sgot->contents + off); ++ ++ htab->tls_ldm_got.offset |= 1; ++ } ++ ++ relocation = (htab->sgot->output_offset + off); ++ ++ r = _bfd_final_link_relocate (howto, input_bfd, ++ input_section, contents, ++ rel->r_offset, relocation, ++ rel->r_addend); ++ } ++ ++ break; ++ case R_NIOS2_TLS_GD16: ++ case R_NIOS2_TLS_IE16: ++ { ++ bfd_vma off; ++ int indx; ++ char tls_type; ++ ++ if (htab->sgot == NULL) ++ abort (); ++ ++ indx = 0; ++ if (h != NULL) ++ { ++ bfd_boolean dyn; ++ dyn = htab->root.dynamic_sections_created; ++ if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info->shared, h) ++ && (!info->shared ++ || !SYMBOL_REFERENCES_LOCAL (info, h))) ++ { ++ unresolved_reloc = FALSE; ++ indx = h->dynindx; ++ } ++ off = h->got.offset; ++ tls_type = (((struct elf32_nios2_link_hash_entry *) h) ++ ->tls_type); ++ } ++ else ++ { ++ if (local_got_offsets == NULL) ++ abort (); ++ off = local_got_offsets[r_symndx]; ++ tls_type = (elf32_nios2_local_got_tls_type (input_bfd) ++ [r_symndx]); ++ } ++ ++ if (tls_type == GOT_UNKNOWN) ++ abort (); ++ ++ if ((off & 1) != 0) ++ off &= ~1; ++ else ++ { ++ bfd_boolean need_relocs = FALSE; ++ Elf_Internal_Rela outrel; ++ bfd_byte *loc = NULL; ++ int cur_off = off; ++ ++ /* The GOT entries have not been initialized yet. Do it ++ now, and emit any relocations. If both an IE GOT and a ++ GD GOT are necessary, we emit the GD first. */ ++ ++ if ((info->shared || indx != 0) ++ && (h == NULL ++ || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT ++ || h->root.type != bfd_link_hash_undefweak)) ++ { ++ need_relocs = TRUE; ++ if (htab->srelgot == NULL) ++ abort (); ++ loc = htab->srelgot->contents; ++ loc += (htab->srelgot->reloc_count * ++ sizeof (Elf32_External_Rela)); ++ } ++ ++ if (tls_type & GOT_TLS_GD) ++ { ++ if (need_relocs) ++ { ++ outrel.r_addend = 0; ++ outrel.r_offset = (htab->sgot->output_section->vma ++ + htab->sgot->output_offset ++ + cur_off); ++ outrel.r_info = ELF32_R_INFO (indx, ++ R_NIOS2_TLS_DTPMOD); ++ ++ bfd_elf32_swap_reloca_out (output_bfd, &outrel, ++ loc); ++ htab->srelgot->reloc_count++; ++ loc += sizeof (Elf32_External_Rela); ++ ++ if (indx == 0) ++ bfd_put_32 (output_bfd, ++ (relocation - dtpoff_base (info) - ++ DTP_OFFSET), ++ htab->sgot->contents + cur_off + 4); ++ else ++ { ++ outrel.r_addend = 0; ++ outrel.r_info = ELF32_R_INFO (indx, ++ R_NIOS2_TLS_DTPREL); ++ outrel.r_offset += 4; ++ ++ bfd_elf32_swap_reloca_out (output_bfd, &outrel, ++ loc); ++ htab->srelgot->reloc_count++; ++ loc += sizeof (Elf32_External_Rela); ++ } ++ } ++ else ++ { ++ /* If we are not emitting relocations for a ++ general dynamic reference, then we must be in a ++ static link or an executable link with the ++ symbol binding locally. Mark it as belonging ++ to module 1, the executable. */ ++ bfd_put_32 (output_bfd, 1, ++ htab->sgot->contents + cur_off); ++ bfd_put_32 (output_bfd, (relocation - ++ dtpoff_base (info) - ++ DTP_OFFSET), ++ htab->sgot->contents + cur_off + 4); ++ } ++ ++ cur_off += 8; ++ } ++ ++ if (tls_type & GOT_TLS_IE) ++ { ++ if (need_relocs) ++ { ++ if (indx == 0) ++ outrel.r_addend = (relocation - ++ dtpoff_base (info)); ++ else ++ outrel.r_addend = 0; ++ outrel.r_offset = (htab->sgot->output_section->vma ++ + htab->sgot->output_offset ++ + cur_off); ++ outrel.r_info = ELF32_R_INFO (indx, ++ R_NIOS2_TLS_TPREL); ++ ++ bfd_elf32_swap_reloca_out (output_bfd, &outrel, ++ loc); ++ htab->srelgot->reloc_count++; ++ loc += sizeof (Elf32_External_Rela); ++ } ++ else ++ bfd_put_32 (output_bfd, (tpoff (info, relocation) ++ - TP_OFFSET), ++ htab->sgot->contents + cur_off); ++ cur_off += 4; ++ } ++ ++ if (h != NULL) ++ h->got.offset |= 1; ++ else ++ local_got_offsets[r_symndx] |= 1; ++ } ++ ++ if ((tls_type & GOT_TLS_GD) && r_type != R_NIOS2_TLS_GD16) ++ off += 8; ++ relocation = (htab->sgot->output_offset + off); ++ ++ r = _bfd_final_link_relocate (howto, input_bfd, input_section, ++ contents, rel->r_offset, ++ relocation, rel->r_addend); ++ } ++ ++ break; ++ case R_NIOS2_TLS_LE16: ++ if (info->shared) ++ { ++ (*_bfd_error_handler) ++ (_("%B(%A+0x%lx): R_NIOS2_TLS_LE16 relocation not " ++ "permitted in shared object"), ++ input_bfd, input_section, ++ (long) rel->r_offset, howto->name); ++ return FALSE; ++ } ++ else ++ relocation = tpoff (info, relocation) - TP_OFFSET; ++ ++ r = _bfd_final_link_relocate (howto, input_bfd, input_section, ++ contents, rel->r_offset, ++ relocation, rel->r_addend); ++ break; ++ ++ case R_NIOS2_BFD_RELOC_32: ++ if (info->shared ++ && (input_section->flags & SEC_ALLOC) != 0 ++ && (h == NULL ++ || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT ++ || h->root.type != bfd_link_hash_undefweak)) ++ { ++ Elf_Internal_Rela outrel; ++ bfd_byte *loc; ++ bfd_boolean skip, relocate; ++ ++ /* When generating a shared object, these relocations ++ are copied into the output file to be resolved at run ++ time. */ ++ ++ skip = FALSE; ++ relocate = FALSE; ++ ++ outrel.r_offset = ++ _bfd_elf_section_offset (output_bfd, info, input_section, ++ rel->r_offset); ++ if (outrel.r_offset == (bfd_vma) -1) ++ skip = TRUE; ++ else if (outrel.r_offset == (bfd_vma) -2) ++ skip = TRUE, relocate = TRUE; ++ outrel.r_offset += (input_section->output_section->vma ++ + input_section->output_offset); ++ ++ if (skip) ++ memset (&outrel, 0, sizeof outrel); ++ else if (h != NULL ++ && h->dynindx != -1 ++ && (!info->shared ++ || !info->symbolic ++ || !h->def_regular)) ++ { ++ outrel.r_info = ELF32_R_INFO (h->dynindx, r_type); ++ outrel.r_addend = rel->r_addend; ++ } ++ else ++ { ++ /* This symbol is local, or marked to become local. */ ++ outrel.r_addend = relocation + rel->r_addend; ++ relocate = TRUE; ++ outrel.r_info = ELF32_R_INFO (0, R_NIOS2_RELATIVE); ++ } ++ ++ sreloc = elf_section_data (input_section)->sreloc; ++ if (sreloc == NULL) ++ abort (); ++ ++ loc = sreloc->contents; ++ loc += sreloc->reloc_count++ * sizeof (Elf32_External_Rela); ++ bfd_elf32_swap_reloca_out (output_bfd, &outrel, loc); ++ ++ /* This reloc will be computed at runtime, so there's no ++ need to do anything now, except for R_NIOS2_BFD_RELOC_32 ++ relocations that have been turned into ++ R_NIOS2_RELATIVE. */ ++ if (!relocate) ++ break; ++ } ++ ++ r = _bfd_final_link_relocate (howto, input_bfd, ++ input_section, contents, ++ rel->r_offset, relocation, ++ rel->r_addend); ++ break; ++ ++ case R_NIOS2_TLS_DTPREL: ++ relocation -= dtpoff_base (info); ++ /* Fall through. */ ++ ++ default: ++ r = _bfd_final_link_relocate (howto, input_bfd, ++ input_section, contents, ++ rel->r_offset, relocation, ++ rel->r_addend); ++ break; ++ } ++ } ++ else ++ { ++ r = bfd_reloc_notsupported; ++ } ++ ++ if (r != bfd_reloc_ok) ++ { ++ if (h != NULL) ++ name = h->root.root.string; ++ else ++ { ++ name = (bfd_elf_string_from_elf_section ++ (input_bfd, symtab_hdr->sh_link, sym->st_name)); ++ if (name == NULL || *name == '\0') ++ name = bfd_section_name (input_bfd, sec); ++ } ++ ++ switch (r) ++ { ++ case bfd_reloc_overflow: ++ r = info->callbacks->reloc_overflow ++ (info, NULL, name, howto->name, (bfd_vma) 0, ++ input_bfd, input_section, rel->r_offset); ++ break; ++ ++ case bfd_reloc_undefined: ++ r = info->callbacks->undefined_symbol ++ (info, name, input_bfd, input_section, rel->r_offset, TRUE); ++ break; ++ ++ case bfd_reloc_outofrange: ++ if (msg == NULL) ++ msg = _("relocation out of range"); ++ break; ++ ++ case bfd_reloc_notsupported: ++ if (msg == NULL) ++ msg = _("unsupported relocation"); ++ break; ++ ++ case bfd_reloc_dangerous: ++ if (msg == NULL) ++ msg = _("dangerous relocation"); ++ break; ++ ++ default: ++ if (msg == NULL) ++ msg = _("unknown error"); ++ break; ++ } ++ ++ if (msg) ++ { ++ r = info->callbacks->warning ++ (info, msg, name, input_bfd, input_section, rel->r_offset); ++ return linker_force_make_executable; ++ } ++ } ++ } ++ return TRUE; ++} ++ ++ ++ ++/* Handle an NIOS2 specific section when reading an object file. This ++ is called when elfcode.h finds a section with an unknown type. ++ FIXME: We need to handle the SHF_NIOS2_GPREL flag. */ ++ ++static bfd_boolean ++nios2_elf32_section_from_shdr (bfd *abfd, ++ Elf_Internal_Shdr *hdr, const char *name, int shindex) ++{ ++ asection *newsect; ++ ++ /* NG - I'm keeping this code commented out at the moment ++ in case we add a .mdebug section. */ ++ ++ /* ++ switch (hdr->sh_type) ++ { ++ case SHT_NIOS2_DEBUG: ++ if (strcmp (name, ".mdebug") != 0) ++ return FALSE; ++ break; ++ default: ++ return FALSE; ++ } ++ */ ++ ++ if (!_bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex)) ++ return FALSE; ++ ++ newsect = hdr->bfd_section; ++ ++ /* ditto */ ++ /* ++ if (hdr->sh_type == SHT_NIOS2_DEBUG) ++ { ++ if (! bfd_set_section_flags (abfd, newsect, ++ (bfd_get_section_flags (abfd, newsect) ++ | SEC_DEBUGGING))) ++ return FALSE; ++ } ++ */ ++ return TRUE; ++} ++ ++/* Convert NIOS2 specific section flags to bfd internal section flags. */ ++ ++static bfd_boolean ++nios2_elf32_section_flags (flagword *flags, const Elf_Internal_Shdr *hdr) ++{ ++ if (hdr->sh_flags & SHF_NIOS2_GPREL) ++ *flags |= SEC_SMALL_DATA; ++ ++ return TRUE; ++} ++ ++/* Set the correct type for an NIOS2 ELF section. We do this by the ++ section name, which is a hack, but ought to work. */ ++ ++static bfd_boolean ++nios2_elf32_fake_sections (bfd *abfd ATTRIBUTE_UNUSED, ++ Elf_Internal_Shdr *hdr, asection *sec) ++{ ++ register const char *name; ++ ++ name = bfd_get_section_name (abfd, sec); ++ ++ if (strcmp (name, ".mdebug") == 0) ++ { ++ /* we don't yet have an .mdebug section, but I'm leaving this here ++ in case we ever do ++ hdr->sh_type = SHT_NIOS2_DEBUG; ++ ++ if ((abfd->flags & DYNAMIC) != 0 ) ++ hdr->sh_entsize = 0; ++ else ++ hdr->sh_entsize = 1; ++ */ ++ } ++ else if ((sec->flags & SEC_SMALL_DATA) ++ || strcmp (name, ".sdata") == 0 ++ || strcmp (name, ".sbss") == 0 ++ || strcmp (name, ".lit4") == 0 || strcmp (name, ".lit8") == 0) ++ hdr->sh_flags |= SHF_NIOS2_GPREL; ++ ++ return TRUE; ++} ++ ++/* Create .got, .gotplt, and .rela.got sections in DYNOBJ, and set up ++ shortcuts to them in our hash table. */ ++ ++static bfd_boolean ++create_got_section (bfd *dynobj, struct bfd_link_info *info) ++{ ++ struct elf32_nios2_link_hash_table *htab; ++ ++ htab = elf32_nios2_hash_table (info); ++ ++ if (! _bfd_elf_create_got_section (dynobj, info)) ++ return FALSE; ++ ++ htab->sgot = bfd_get_section_by_name (dynobj, ".got"); ++ htab->sgotplt = bfd_get_section_by_name (dynobj, ".got.plt"); ++ if (!htab->sgot || !htab->sgotplt) ++ abort (); ++ ++ /* In order for the two loads in .PLTresolve to share the same %hiadj, ++ _GLOBAL_OFFSET_TABLE_ must be aligned to a 16-byte boundary. */ ++ if (!bfd_set_section_alignment (dynobj, htab->sgotplt, 4)) ++ return FALSE; ++ ++ htab->srelgot = bfd_make_section_with_flags (dynobj, ++ ".rela.got", ++ (SEC_ALLOC | SEC_LOAD ++ | SEC_HAS_CONTENTS ++ | SEC_IN_MEMORY ++ | SEC_LINKER_CREATED ++ | SEC_READONLY)); ++ if (htab->srelgot == NULL ++ || ! bfd_set_section_alignment (dynobj, htab->srelgot, 2)) ++ return FALSE; ++ return TRUE; ++} ++ ++/* Create .plt, .rela.plt, .got, .got.plt, .rela.got, .dynbss, and ++ .rela.bss sections in DYNOBJ, and set up shortcuts to them in our ++ hash table. */ ++ ++static bfd_boolean ++nios2_elf32_create_dynamic_sections (bfd *dynobj, struct bfd_link_info *info) ++{ ++ struct elf32_nios2_link_hash_table *htab; ++ ++ htab = elf32_nios2_hash_table (info); ++ if (!htab->sgot && !create_got_section (dynobj, info)) ++ return FALSE; ++ ++ _bfd_elf_create_dynamic_sections (dynobj, info); ++ ++ htab->splt = bfd_get_section_by_name (dynobj, ".plt"); ++ ++ /* In order for the two loads in a shared object .PLTresolve to share the ++ same %hiadj, the start of the PLT (as well as the GOT) must be aligned ++ to a 16-byte boundary. This is because the addresses for these loads ++ include the -(.plt+4) PIC correction. */ ++ if (!bfd_set_section_alignment (dynobj, htab->splt, 4)) ++ return FALSE; ++ ++ htab->srelplt = bfd_get_section_by_name (dynobj, ".rela.plt"); ++ htab->sdynbss = bfd_get_section_by_name (dynobj, ".dynbss"); ++ if (!htab->splt || !htab->srelplt || !htab->sdynbss) ++ return FALSE; ++ if (!info->shared) ++ { ++ htab->srelbss = bfd_get_section_by_name (dynobj, ".rela.bss"); ++ if (!htab->srelbss) ++ return FALSE; ++ } ++ ++ return TRUE; ++} ++ ++/* Copy the extra info we tack onto an elf_link_hash_entry. */ ++ ++static void ++nios2_elf32_copy_indirect_symbol (struct bfd_link_info *info, ++ struct elf_link_hash_entry *dir, ++ struct elf_link_hash_entry *ind) ++{ ++ struct elf32_nios2_link_hash_entry *edir, *eind; ++ ++ edir = (struct elf32_nios2_link_hash_entry *) dir; ++ eind = (struct elf32_nios2_link_hash_entry *) ind; ++ ++ if (eind->dyn_relocs != NULL) ++ { ++ if (edir->dyn_relocs != NULL) ++ { ++ struct elf32_nios2_dyn_relocs **pp; ++ struct elf32_nios2_dyn_relocs *p; ++ ++ /* Add reloc counts against the indirect sym to the direct sym ++ list. Merge any entries against the same section. */ ++ for (pp = &eind->dyn_relocs; (p = *pp) != NULL; ) ++ { ++ struct elf32_nios2_dyn_relocs *q; ++ ++ for (q = edir->dyn_relocs; q != NULL; q = q->next) ++ if (q->sec == p->sec) ++ { ++ q->pc_count += p->pc_count; ++ q->count += p->count; ++ *pp = p->next; ++ break; ++ } ++ if (q == NULL) ++ pp = &p->next; ++ } ++ *pp = edir->dyn_relocs; ++ } ++ ++ edir->dyn_relocs = eind->dyn_relocs; ++ eind->dyn_relocs = NULL; ++ } ++ ++ if (ind->root.type == bfd_link_hash_indirect ++ && dir->got.refcount <= 0) ++ { ++ edir->tls_type = eind->tls_type; ++ eind->tls_type = GOT_UNKNOWN; ++ } ++ ++ edir->got_types_used |= eind->got_types_used; ++ ++ _bfd_elf_link_hash_copy_indirect (info, dir, ind); ++} ++ ++/* Look through the relocs for a section during the first phase. */ ++ ++static bfd_boolean ++nios2_elf32_check_relocs (bfd *abfd, struct bfd_link_info *info, ++ asection *sec, const Elf_Internal_Rela *relocs) ++{ ++ bfd *dynobj; ++ Elf_Internal_Shdr *symtab_hdr; ++ struct elf_link_hash_entry **sym_hashes, **sym_hashes_end; ++ const Elf_Internal_Rela *rel; ++ const Elf_Internal_Rela *rel_end; ++ struct elf32_nios2_link_hash_table *htab; ++ asection *sgot; ++ asection *srelgot; ++ asection *sreloc = NULL; ++ bfd_signed_vma *local_got_refcounts; ++ ++ if (info->relocatable) ++ return TRUE; ++ ++ dynobj = elf_hash_table (info)->dynobj; ++ symtab_hdr = &elf_tdata (abfd)->symtab_hdr; ++ sym_hashes = elf_sym_hashes (abfd); ++ sym_hashes_end = ++ sym_hashes + symtab_hdr->sh_size / sizeof (Elf32_External_Sym); ++ if (!elf_bad_symtab (abfd)) ++ sym_hashes_end -= symtab_hdr->sh_info; ++ local_got_refcounts = elf_local_got_refcounts (abfd); ++ ++ htab = elf32_nios2_hash_table (info); ++ sgot = htab->sgot; ++ srelgot = htab->srelgot; ++ ++ rel_end = relocs + sec->reloc_count; ++ for (rel = relocs; rel < rel_end; rel++) ++ { ++ unsigned int r_type; ++ struct elf_link_hash_entry *h; ++ unsigned long r_symndx; ++ ++ r_symndx = ELF32_R_SYM (rel->r_info); ++ if (r_symndx < symtab_hdr->sh_info) ++ h = NULL; ++ else ++ { ++ h = sym_hashes[r_symndx - symtab_hdr->sh_info]; ++ while (h->root.type == bfd_link_hash_indirect ++ || h->root.type == bfd_link_hash_warning) ++ h = (struct elf_link_hash_entry *) h->root.u.i.link; ++ } ++ ++ r_type = ELF32_R_TYPE (rel->r_info); ++ ++ switch (r_type) ++ { ++ case R_NIOS2_GOT16: ++ case R_NIOS2_CALL16: ++ case R_NIOS2_TLS_GD16: ++ case R_NIOS2_TLS_IE16: ++ /* This symbol requires a global offset table entry. */ ++ { ++ int tls_type, old_tls_type; ++ ++ switch (r_type) ++ { ++ default: ++ case R_NIOS2_GOT16: ++ case R_NIOS2_CALL16: ++ tls_type = GOT_NORMAL; ++ break; ++ case R_NIOS2_TLS_GD16: ++ tls_type = GOT_TLS_GD; ++ break; ++ case R_NIOS2_TLS_IE16: ++ tls_type = GOT_TLS_IE; ++ break; ++ } ++ ++ if (dynobj == NULL) ++ { ++ /* Create the .got section. */ ++ elf_hash_table (info)->dynobj = dynobj = abfd; ++ nios2_elf32_create_dynamic_sections (dynobj, info); ++ } ++ ++ if (sgot == NULL) ++ { ++ sgot = htab->sgot; ++ BFD_ASSERT (sgot != NULL); ++ } ++ ++ if (srelgot == NULL ++ && (h != NULL || info->shared)) ++ { ++ srelgot = bfd_get_section_by_name (dynobj, ".rela.got"); ++ BFD_ASSERT (srelgot != NULL); ++ } ++ ++ if (h != NULL) ++ { ++ struct elf32_nios2_link_hash_entry *eh = ++ (struct elf32_nios2_link_hash_entry *)h; ++ h->got.refcount++; ++ old_tls_type = elf32_nios2_hash_entry(h)->tls_type; ++ if (r_type == R_NIOS2_CALL16) ++ { ++ /* Make sure a plt entry is created for this symbol if it ++ turns out to be a function defined by a dynamic object. ++ */ ++ h->plt.refcount++; ++ ++ h->needs_plt = 1; ++ ++ h->type = STT_FUNC; ++ ++ eh->got_types_used |= CALL16_USED; ++ } ++ else ++ eh->got_types_used |= GOT16_USED; ++ } ++ else ++ { ++ /* This is a global offset table entry for a local symbol. */ ++ if (local_got_refcounts == NULL) ++ { ++ bfd_size_type size; ++ ++ size = symtab_hdr->sh_info; ++ size *= (sizeof (bfd_signed_vma) + sizeof(char)); ++ local_got_refcounts = ((bfd_signed_vma *) ++ bfd_zalloc (abfd, size)); ++ if (local_got_refcounts == NULL) ++ return FALSE; ++ elf_local_got_refcounts (abfd) = local_got_refcounts; ++ elf32_nios2_local_got_tls_type (abfd) = ++ (char *) (local_got_refcounts + symtab_hdr->sh_info); ++ } ++ local_got_refcounts[r_symndx]++; ++ old_tls_type = ++ elf32_nios2_local_got_tls_type (abfd) [r_symndx]; ++ } ++ ++ /* We will already have issued an error message if there is a ++ TLS / non-TLS mismatch, based on the symbol type. We don't ++ support any linker relaxations. So just combine any TLS ++ types needed. */ ++ if (old_tls_type != GOT_UNKNOWN && old_tls_type != GOT_NORMAL ++ && tls_type != GOT_NORMAL) ++ tls_type |= old_tls_type; ++ ++ if (old_tls_type != tls_type) ++ { ++ if (h != NULL) ++ elf32_nios2_hash_entry (h)->tls_type = tls_type; ++ else ++ elf32_nios2_local_got_tls_type (abfd) [r_symndx] = tls_type; ++ } ++ } ++ /* Fall through */ ++ case R_NIOS2_TLS_LDM16: ++ if (r_type == R_NIOS2_TLS_LDM16) ++ htab->tls_ldm_got.refcount++; ++ ++ if (htab->sgot == NULL) ++ { ++ if (htab->root.dynobj == NULL) ++ htab->root.dynobj = abfd; ++ if (!create_got_section (htab->root.dynobj, info)) ++ return FALSE; ++ } ++ break; ++ ++ /* This relocation describes the C++ object vtable hierarchy. ++ Reconstruct it for later use during GC. */ ++ case R_NIOS2_GNU_VTINHERIT: ++ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) ++ return FALSE; ++ break; ++ ++ /* This relocation describes which C++ vtable entries are actually ++ used. Record for later use during GC. */ ++ case R_NIOS2_GNU_VTENTRY: ++ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend)) ++ return FALSE; ++ break; ++ ++ case R_NIOS2_BFD_RELOC_32: ++ case R_NIOS2_CALL26: ++ case R_NIOS2_HIADJ16: ++ case R_NIOS2_LO16: ++ ++ if (h != NULL) ++ { ++ /* If this reloc is in a read-only section, we might ++ need a copy reloc. We can't check reliably at this ++ stage whether the section is read-only, as input ++ sections have not yet been mapped to output sections. ++ Tentatively set the flag for now, and correct in ++ adjust_dynamic_symbol. */ ++ if (!info->shared) ++ h->non_got_ref = 1; ++ ++ /* Make sure a plt entry is created for this symbol if it ++ turns out to be a function defined by a dynamic object. */ ++ h->plt.refcount++; ++ ++ if (r_type == R_NIOS2_CALL26) ++ h->needs_plt = 1; ++ } ++ ++ /* If we are creating a shared library, we need to copy the ++ reloc into the shared library. */ ++ if (info->shared ++ && (sec->flags & SEC_ALLOC) != 0 ++ && (r_type == R_NIOS2_BFD_RELOC_32 ++ || (h != NULL && ! h->needs_plt ++ && (! info->symbolic || ! h->def_regular)))) ++ { ++ struct elf32_nios2_dyn_relocs *p; ++ struct elf32_nios2_dyn_relocs **head; ++ ++ /* When creating a shared object, we must copy these ++ reloc types into the output file. We create a reloc ++ section in dynobj and make room for this reloc. */ ++ if (sreloc == NULL) ++ { ++ const char *name; ++ ++ name = (bfd_elf_string_from_elf_section ++ (abfd, ++ elf_elfheader (abfd)->e_shstrndx, ++ elf_section_data (sec)->rel_hdr.sh_name)); ++ if (name == NULL) ++ return FALSE; ++ ++ BFD_ASSERT (CONST_STRNEQ (name, ".rela") ++ && strcmp (bfd_get_section_name (abfd, sec), ++ name + 5) == 0); ++ ++ sreloc = bfd_get_section_by_name (dynobj, name); ++ if (sreloc == NULL) ++ { ++ sreloc = bfd_make_section_with_flags ( ++ dynobj, ++ name, ++ (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | ++ SEC_IN_MEMORY | SEC_LINKER_CREATED | SEC_READONLY)); ++ if (sreloc == NULL || ++ !bfd_set_section_alignment (dynobj, sreloc, 2)) ++ return FALSE; ++ } ++ elf_section_data (sec)->sreloc = sreloc; ++ } ++ ++ /* If this is a global symbol, we count the number of ++ relocations we need for this symbol. */ ++ if (h != NULL) ++ head = &((struct elf32_nios2_link_hash_entry *) h)->dyn_relocs; ++ else ++ { ++ /* Track dynamic relocs needed for local syms too. ++ We really need local syms available to do this ++ easily. Oh well. */ ++ ++ asection *s; ++ void *vpp; ++ Elf_Internal_Sym *isym; ++ ++ isym = bfd_sym_from_r_symndx (&htab->sym_sec, ++ abfd, r_symndx); ++ if (isym == NULL) ++ return FALSE; ++ ++ s = bfd_section_from_elf_index (abfd, isym->st_shndx); ++ if (s == NULL) ++ s = sec; ++ ++ vpp = &elf_section_data (s)->local_dynrel; ++ head = (struct _bfd_nios2_elf_dyn_relocs **) vpp; ++ } ++ ++ p = *head; ++ if (p == NULL || p->sec != sec) ++ { ++ bfd_size_type amt = sizeof *p; ++ p = ((struct elf32_nios2_dyn_relocs *) ++ bfd_alloc (htab->root.dynobj, amt)); ++ if (p == NULL) ++ return FALSE; ++ p->next = *head; ++ *head = p; ++ p->sec = sec; ++ p->count = 0; ++ p->pc_count = 0; ++ } ++ ++ p->count += 1; ++ ++ } ++ break; ++ } ++ } ++ ++ return TRUE; ++} ++ ++ ++/* Return the section that should be marked against GC for a given ++ relocation. */ ++ ++asection * ++nios2_elf32_gc_mark_hook (asection *sec, ++ struct bfd_link_info *info ATTRIBUTE_UNUSED, ++ Elf_Internal_Rela *rel, ++ struct elf_link_hash_entry *h, ++ Elf_Internal_Sym *sym) ++{ ++ if (h != NULL) ++ switch (ELF32_R_TYPE (rel->r_info)) ++ { ++ case R_NIOS2_GNU_VTINHERIT: ++ case R_NIOS2_GNU_VTENTRY: ++ return NULL; ++ } ++ return _bfd_elf_gc_mark_hook (sec, info, rel, h, sym); ++} ++ ++/* Update the got entry reference counts for the section being removed. */ ++ ++static bfd_boolean ++nios2_elf32_gc_sweep_hook (bfd *abfd, ++ struct bfd_link_info *info, ++ asection *sec, ++ const Elf_Internal_Rela *relocs) ++{ ++ Elf_Internal_Shdr *symtab_hdr; ++ struct elf_link_hash_entry **sym_hashes; ++ bfd_signed_vma *local_got_refcounts; ++ const Elf_Internal_Rela *rel, *relend; ++ bfd *dynobj; ++ asection *sgot; ++ asection *srelgot; ++ struct elf32_nios2_link_hash_table *htab; ++ ++ htab = elf32_nios2_hash_table (info); ++ sgot = htab->sgot; ++ srelgot = htab->srelgot; ++ ++ elf_section_data (sec)->local_dynrel = NULL; ++ ++ dynobj = elf_hash_table (info)->dynobj; ++ if (dynobj == NULL) ++ return TRUE; ++ ++ symtab_hdr = &elf_tdata (abfd)->symtab_hdr; ++ sym_hashes = elf_sym_hashes (abfd); ++ local_got_refcounts = elf_local_got_refcounts (abfd); ++ ++ relend = relocs + sec->reloc_count; ++ for (rel = relocs; rel < relend; rel++) ++ { ++ unsigned long r_symndx; ++ struct elf_link_hash_entry *h = NULL; ++ int r_type; ++ ++ r_symndx = ELF32_R_SYM (rel->r_info); ++ if (r_symndx >= symtab_hdr->sh_info) ++ { ++ h = sym_hashes[r_symndx - symtab_hdr->sh_info]; ++ while (h->root.type == bfd_link_hash_indirect ++ || h->root.type == bfd_link_hash_warning) ++ h = (struct elf_link_hash_entry *) h->root.u.i.link; ++ } ++ ++ r_type = ELF32_R_TYPE (rel->r_info); ++ switch (r_type) ++ { ++ case R_NIOS2_GOT16: ++ case R_NIOS2_CALL16: ++ if (h != NULL) ++ { ++ if (h->got.refcount > 0) ++ --h->got.refcount; ++ } ++ else if (local_got_refcounts != NULL) ++ { ++ if (local_got_refcounts[r_symndx] > 0) ++ --local_got_refcounts[r_symndx]; ++ } ++ break; ++ ++ case R_NIOS2_PCREL_LO: ++ case R_NIOS2_PCREL_HA: ++ case R_NIOS2_BFD_RELOC_32: ++ case R_NIOS2_CALL26: ++ if (h != NULL) ++ { ++ struct elf32_nios2_link_hash_entry *eh; ++ struct elf32_nios2_dyn_relocs **pp; ++ struct elf32_nios2_dyn_relocs *p; ++ ++ eh = (struct elf32_nios2_link_hash_entry *) h; ++ ++ if (h->plt.refcount > 0) ++ --h->plt.refcount; ++ ++ if (r_type == R_NIOS2_PCREL_LO || r_type == R_NIOS2_PCREL_HA || ++ r_type == R_NIOS2_BFD_RELOC_32) ++ { ++ for (pp = &eh->dyn_relocs; (p = *pp) != NULL; ++ pp = &p->next) ++ if (p->sec == sec) ++ { ++ p->count -= 1; ++ if (p->count == 0) ++ *pp = p->next; ++ break; ++ } ++ } ++ } ++ break; ++ ++ default: ++ break; ++ } ++ } ++ ++ return TRUE; ++} ++ ++/* Install 16-bit immediate value VALUE at offset OFFSET into section SEC. */ ++ ++static void ++nios2_elf32_install_imm16 (asection *sec, bfd_vma offset, bfd_vma value) ++{ ++ bfd_vma word = bfd_get_32 (sec->owner, sec->contents + offset); ++ ++ BFD_ASSERT(value <= 0xffff); ++ ++ bfd_put_32 (sec->owner, word | ((value & 0xffff) << 6), ++ sec->contents + offset); ++} ++ ++/* Install COUNT 32-bit values DATA starting at offset OFFSET into section SEC. ++ */ ++ ++static void ++nios2_elf32_install_data (asection *sec, const bfd_vma *data, bfd_vma offset, ++ int count) ++{ ++ while (count--) ++ { ++ bfd_put_32 (sec->owner, *data, sec->contents + offset); ++ offset += 4; ++ ++data; ++ } ++} ++ ++ ++/* Finish up dynamic symbol handling. We set the contents of various ++ dynamic sections here. */ ++ ++static bfd_boolean ++nios2_elf32_finish_dynamic_symbol (bfd * output_bfd, ++ struct bfd_link_info * info, ++ struct elf_link_hash_entry * h, ++ Elf_Internal_Sym * sym) ++{ ++ struct elf32_nios2_link_hash_table *htab; ++ struct elf32_nios2_link_hash_entry *eh = ++ (struct elf32_nios2_link_hash_entry *)h; ++ bfd *dynobj; ++ int use_plt; ++ ++ htab = elf32_nios2_hash_table (info); ++ ++ dynobj = elf_hash_table (info)->dynobj; ++ ++ if (h->plt.offset != (bfd_vma) -1) ++ { ++ asection *splt; ++ asection *sgotplt; ++ asection *srela; ++ bfd_vma plt_index; ++ bfd_vma got_offset; ++ Elf_Internal_Rela rela; ++ bfd_byte *loc; ++ bfd_vma got_address; ++ ++ /* This symbol has an entry in the procedure linkage table. Set ++ it up. */ ++ ++ BFD_ASSERT (h->dynindx != -1); ++ ++ splt = htab->splt; ++ sgotplt = htab->sgotplt; ++ srela = htab->srelplt; ++ BFD_ASSERT (splt != NULL && sgotplt != NULL && srela != NULL); ++ ++ /* Emit the PLT entry. */ ++ if (info->shared) ++ { ++ nios2_elf32_install_data (splt, nios2_so_plt_entry, h->plt.offset, ++ 3); ++ plt_index = (h->plt.offset - 24) / 12; ++ got_offset = (plt_index + 3) * 4; ++ nios2_elf32_install_imm16 (splt, h->plt.offset, ++ hiadj(plt_index * 4)); ++ nios2_elf32_install_imm16 (splt, h->plt.offset + 4, ++ (plt_index * 4) & 0xffff); ++ nios2_elf32_install_imm16 (splt, h->plt.offset + 8, ++ 0xfff4 - h->plt.offset); ++ got_address = (sgotplt->output_section->vma + sgotplt->output_offset ++ + got_offset); ++ ++ /* Fill in the entry in the global offset table. There are no ++ res_n slots for a shared object PLT, instead the .got.plt entries ++ point to the PLT entries. */ ++ bfd_put_32 (output_bfd, ++ splt->output_section->vma + splt->output_offset ++ + h->plt.offset, sgotplt->contents + got_offset); ++ } ++ else ++ { ++ plt_index = (h->plt.offset - 28 - htab->res_n_size) / 12; ++ got_offset = (plt_index + 3) * 4; ++ ++ nios2_elf32_install_data (splt, nios2_plt_entry, h->plt.offset, 3); ++ got_address = (sgotplt->output_section->vma + sgotplt->output_offset ++ + got_offset); ++ nios2_elf32_install_imm16 (splt, h->plt.offset, hiadj(got_address)); ++ nios2_elf32_install_imm16 (splt, h->plt.offset + 4, ++ got_address & 0xffff); ++ ++ /* Fill in the entry in the global offset table. */ ++ bfd_put_32 (output_bfd, ++ splt->output_section->vma + splt->output_offset ++ + plt_index * 4, sgotplt->contents + got_offset); ++ } ++ ++ /* Fill in the entry in the .rela.plt section. */ ++ rela.r_offset = got_address; ++ rela.r_info = ELF32_R_INFO (h->dynindx, R_NIOS2_JUMP_SLOT); ++ rela.r_addend = 0; ++ loc = srela->contents + plt_index * sizeof (Elf32_External_Rela); ++ bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); ++ ++ if (!h->def_regular) ++ { ++ /* Mark the symbol as undefined, rather than as defined in ++ the .plt section. Leave the value alone. */ ++ sym->st_shndx = SHN_UNDEF; ++ /* If the symbol is weak, we do need to clear the value. ++ Otherwise, the PLT entry would provide a definition for ++ the symbol even if the symbol wasn't defined anywhere, ++ and so the symbol would never be NULL. */ ++ if (!h->ref_regular_nonweak) ++ sym->st_value = 0; ++ } ++ } ++ ++ use_plt = (eh->got_types_used == CALL16_USED && ++ h->plt.offset != (bfd_vma) -1); ++ ++ if (!use_plt && h->got.offset != (bfd_vma) -1 ++ && (elf32_nios2_hash_entry (h)->tls_type & GOT_TLS_GD) == 0 ++ && (elf32_nios2_hash_entry (h)->tls_type & GOT_TLS_IE) == 0) ++ { ++ asection *sgot; ++ asection *srela; ++ Elf_Internal_Rela rela; ++ bfd_byte *loc; ++ bfd_vma offset; ++ ++ /* This symbol has an entry in the global offset table. Set it ++ up. */ ++ ++ sgot = htab->sgot; ++ srela = htab->srelgot; ++ BFD_ASSERT (sgot != NULL && srela != NULL); ++ ++ offset = (h->got.offset & ~(bfd_vma) 1); ++ rela.r_offset = (sgot->output_section->vma ++ + sgot->output_offset + offset); ++ ++ /* If this is a -Bsymbolic link, and the symbol is defined ++ locally, we just want to emit a RELATIVE reloc. Likewise if ++ the symbol was forced to be local because of a version file. ++ The entry in the global offset table will already have been ++ initialized in the relocate_section function. */ ++ ++ if (info->shared && SYMBOL_REFERENCES_LOCAL (info, h)) ++ { ++ rela.r_info = ELF32_R_INFO (0, R_NIOS2_RELATIVE); ++ rela.r_addend = bfd_get_signed_32 (output_bfd, ++ (sgot->contents + offset)); ++ bfd_put_32 (output_bfd, (bfd_vma) 0, sgot->contents + offset); ++ } ++ else ++ { ++ bfd_put_32 (output_bfd, (bfd_vma) 0, ++ sgot->contents + offset); ++ rela.r_info = ELF32_R_INFO (h->dynindx, R_NIOS2_GLOB_DAT); ++ rela.r_addend = 0; ++ } ++ ++ loc = srela->contents; ++ loc += srela->reloc_count++ * sizeof (Elf32_External_Rela); ++ bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); ++ } ++ ++ if (use_plt && h->got.offset != (bfd_vma) -1) ++ { ++ bfd_vma offset = (h->got.offset & ~(bfd_vma) 1); ++ asection *sgot = htab->sgot; ++ asection *splt = htab->splt; ++ bfd_put_32 (output_bfd, (splt->output_section->vma + splt->output_offset ++ + h->plt.offset), sgot->contents + offset); ++ } ++ ++ if (h->needs_copy) ++ { ++ asection *s; ++ Elf_Internal_Rela rela; ++ bfd_byte *loc; ++ ++ /* This symbol needs a copy reloc. Set it up. */ ++ ++ BFD_ASSERT (h->dynindx != -1 ++ && (h->root.type == bfd_link_hash_defined ++ || h->root.type == bfd_link_hash_defweak)); ++ ++ s = bfd_get_section_by_name (h->root.u.def.section->owner, ++ ".rela.bss"); ++ BFD_ASSERT (s != NULL); ++ ++ rela.r_offset = (h->root.u.def.value ++ + h->root.u.def.section->output_section->vma ++ + h->root.u.def.section->output_offset); ++ rela.r_info = ELF32_R_INFO (h->dynindx, R_NIOS2_COPY); ++ rela.r_addend = 0; ++ loc = s->contents + s->reloc_count++ * sizeof (Elf32_External_Rela); ++ bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); ++ } ++ ++ /* Mark _DYNAMIC and _GLOBAL_OFFSET_TABLE_ as absolute. */ ++ if (strcmp (h->root.root.string, "_DYNAMIC") == 0 ++ || h == elf_hash_table (info)->hgot) ++ sym->st_shndx = SHN_ABS; ++ ++ return TRUE; ++} ++ ++/* Finish up the dynamic sections. */ ++ ++static bfd_boolean ++nios2_elf32_finish_dynamic_sections (bfd * output_bfd, ++ struct bfd_link_info * info) ++{ ++ bfd *dynobj; ++ asection *sgotplt; ++ asection *sdyn; ++ struct elf32_nios2_link_hash_table *htab; ++ ++ htab = elf32_nios2_hash_table (info); ++ ++ dynobj = elf_hash_table (info)->dynobj; ++ ++ sgotplt = htab->sgotplt; ++ BFD_ASSERT (sgotplt != NULL); ++ sdyn = bfd_get_section_by_name (dynobj, ".dynamic"); ++ ++ if (elf_hash_table (info)->dynamic_sections_created) ++ { ++ asection *splt; ++ Elf32_External_Dyn *dyncon, *dynconend; ++ ++ splt = htab->splt; ++ BFD_ASSERT (splt != NULL && sdyn != NULL); ++ ++ dyncon = (Elf32_External_Dyn *) sdyn->contents; ++ dynconend = (Elf32_External_Dyn *) (sdyn->contents + sdyn->size); ++ for (; dyncon < dynconend; dyncon++) ++ { ++ Elf_Internal_Dyn dyn; ++ const char *name; ++ asection *s; ++ ++ bfd_elf32_swap_dyn_in (dynobj, dyncon, &dyn); ++ ++ switch (dyn.d_tag) ++ { ++ default: ++ break; ++ ++ case DT_PLTGOT: ++ name = ".got"; ++ goto get_vma; ++ case DT_JMPREL: ++ name = ".rela.plt"; ++ get_vma: ++ s = bfd_get_section_by_name (output_bfd, name); ++ BFD_ASSERT (s != NULL); ++ dyn.d_un.d_ptr = s->vma; ++ bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon); ++ break; ++ ++ case DT_PLTRELSZ: ++ s = bfd_get_section_by_name (output_bfd, ".rela.plt"); ++ BFD_ASSERT (s != NULL); ++ dyn.d_un.d_val = s->size; ++ bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon); ++ break; ++ ++ case DT_RELASZ: ++ /* The procedure linkage table relocs (DT_JMPREL) should ++ not be included in the overall relocs (DT_RELA). ++ Therefore, we override the DT_RELASZ entry here to ++ make it not include the JMPREL relocs. Since the ++ linker script arranges for .rela.plt to follow all ++ other relocation sections, we don't have to worry ++ about changing the DT_RELA entry. */ ++ s = bfd_get_section_by_name (output_bfd, ".rela.plt"); ++ if (s != NULL) ++ dyn.d_un.d_val -= s->size; ++ bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon); ++ break; ++ ++ case DT_NIOS2_GP: ++ s = bfd_get_section_by_name (output_bfd, ".got"); ++ BFD_ASSERT (s != NULL); ++ dyn.d_un.d_ptr = s->vma + 0x7ff0; ++ bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon); ++ break; ++ } ++ } ++ ++ /* Fill in the first entry in the procedure linkage table. */ ++ if (splt->size > 0) ++ { ++ bfd_vma got_address = (sgotplt->output_section->vma + ++ sgotplt->output_offset); ++ if (info->shared) ++ { ++ bfd_vma corrected = got_address - (splt->output_section->vma + ++ splt->output_offset + 4); ++ nios2_elf32_install_data (splt, nios2_so_plt0_entry, 0, 6); ++ nios2_elf32_install_imm16 (splt, 4, hiadj (corrected)); ++ nios2_elf32_install_imm16 (splt, 12, (corrected & 0xffff) + 4); ++ nios2_elf32_install_imm16 (splt, 16, (corrected & 0xffff) + 8); ++ ++ elf_section_data (splt->output_section)->this_hdr.sh_entsize ++ = 24; ++ } ++ else ++ { ++ /* Divide by 4 here, not 3 because we already corrected for the ++ res_N branches. */ ++ bfd_vma res_size = (splt->size - 28) / 4; ++ bfd_vma res_start = (splt->output_section->vma + ++ splt->output_offset); ++ bfd_vma res_offset; ++ ++ for (res_offset = 0; res_offset < res_size; res_offset += 4) ++ bfd_put_32 (output_bfd, ++ 6 | ((res_size - (res_offset + 4)) << 6), ++ splt->contents + res_offset); ++ ++ nios2_elf32_install_data (splt, nios2_plt0_entry, res_size, 7); ++ nios2_elf32_install_imm16 (splt, res_size, hiadj (res_start)); ++ nios2_elf32_install_imm16 (splt, res_size + 4, ++ res_start & 0xffff); ++ nios2_elf32_install_imm16 (splt, res_size + 12, ++ hiadj (got_address)); ++ nios2_elf32_install_imm16 (splt, res_size + 16, ++ (got_address & 0xffff) + 4); ++ nios2_elf32_install_imm16 (splt, res_size + 20, ++ (got_address & 0xffff) + 8); ++ ++ elf_section_data (splt->output_section)->this_hdr.sh_entsize ++ = 28 + res_size; ++ } ++ } ++ } ++ /* Fill in the first three entries in the global offset table. */ ++ if (sgotplt->size > 0) ++ { ++ if (sdyn == NULL) ++ bfd_put_32 (output_bfd, (bfd_vma) 0, sgotplt->contents); ++ else ++ bfd_put_32 (output_bfd, ++ sdyn->output_section->vma + sdyn->output_offset, ++ sgotplt->contents); ++ bfd_put_32 (output_bfd, (bfd_vma) 0, sgotplt->contents + 4); ++ bfd_put_32 (output_bfd, (bfd_vma) 0, sgotplt->contents + 8); ++ } ++ ++ elf_section_data (sgotplt->output_section)->this_hdr.sh_entsize = 4; ++ ++ return TRUE; ++} ++ ++/* Adjust a symbol defined by a dynamic object and referenced by a ++ regular object. The current definition is in some section of the ++ dynamic object, but we're not including those sections. We have to ++ change the definition to something the rest of the link can ++ understand. */ ++ ++static bfd_boolean ++nios2_elf32_adjust_dynamic_symbol (struct bfd_link_info * info, ++ struct elf_link_hash_entry * h) ++{ ++ struct elf32_nios2_link_hash_table *htab; ++ bfd *dynobj; ++ asection *s; ++ unsigned align2; ++ ++ htab = elf32_nios2_hash_table (info); ++ dynobj = elf_hash_table (info)->dynobj; ++ ++ /* Make sure we know what is going on here. */ ++ BFD_ASSERT (dynobj != NULL ++ && (h->needs_plt ++ || h->u.weakdef != NULL ++ || (h->def_dynamic ++ && h->ref_regular ++ && !h->def_regular))); ++ ++ /* If this is a function, put it in the procedure linkage table. We ++ will fill in the contents of the procedure linkage table later, ++ when we know the address of the .got section. */ ++ if (h->type == STT_FUNC ++ || h->needs_plt) ++ { ++ if (h->plt.refcount <= 0 ++ || SYMBOL_CALLS_LOCAL (info, h) ++ || (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT ++ && h->root.type == bfd_link_hash_undefweak)) ++ { ++ /* This case can occur if we saw a PLT reloc in an input ++ file, but the symbol was never referred to by a dynamic ++ object, or if all references were garbage collected. In ++ such a case, we don't actually need to build a procedure ++ linkage table, and we can just do a PCREL reloc instead. */ ++ h->plt.offset = (bfd_vma) -1; ++ h->needs_plt = 0; ++ } ++ ++ return TRUE; ++ } ++ ++ /* Reinitialize the plt offset now that it is not used as a reference ++ count any more. */ ++ h->plt.offset = (bfd_vma) -1; ++ ++ /* If this is a weak symbol, and there is a real definition, the ++ processor independent code will have arranged for us to see the ++ real definition first, and we can just use the same value. */ ++ if (h->u.weakdef != NULL) ++ { ++ BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined ++ || h->u.weakdef->root.type == bfd_link_hash_defweak); ++ h->root.u.def.section = h->u.weakdef->root.u.def.section; ++ h->root.u.def.value = h->u.weakdef->root.u.def.value; ++ return TRUE; ++ } ++ ++ /* If there are no non-GOT references, we do not need a copy ++ relocation. */ ++ if (!h->non_got_ref) ++ return TRUE; ++ ++ /* This is a reference to a symbol defined by a dynamic object which ++ is not a function. */ ++ ++ /* If we are creating a shared library, we must presume that the ++ only references to the symbol are via the global offset table. ++ For such cases we need not do anything here; the relocations will ++ be handled correctly by relocate_section. */ ++ if (info->shared) ++ return TRUE; ++ ++ if (h->size == 0) ++ { ++ (*_bfd_error_handler) (_("dynamic variable `%s' is zero size"), ++ h->root.root.string); ++ return TRUE; ++ } ++ ++ /* We must allocate the symbol in our .dynbss section, which will ++ become part of the .bss section of the executable. There will be ++ an entry for this symbol in the .dynsym section. The dynamic ++ object will contain position independent code, so all references ++ from the dynamic object to this symbol will go through the global ++ offset table. The dynamic linker will use the .dynsym entry to ++ determine the address it must put in the global offset table, so ++ both the dynamic object and the regular object will refer to the ++ same memory location for the variable. */ ++ ++ s = htab->sdynbss; ++ BFD_ASSERT (s != NULL); ++ ++ /* We must generate a R_NIOS2_COPY reloc to tell the dynamic linker to ++ copy the initial value out of the dynamic object and into the ++ runtime process image. We need to remember the offset into the ++ .rela.bss section we are going to use. */ ++ if ((h->root.u.def.section->flags & SEC_ALLOC) != 0) ++ { ++ asection *srel; ++ ++ srel = htab->srelbss; ++ BFD_ASSERT (srel != NULL); ++ srel->size += sizeof (Elf32_External_Rela); ++ h->needs_copy = 1; ++ } ++ ++ align2 = bfd_log2 (h->size); ++ if (align2 > h->root.u.def.section->alignment_power) ++ align2 = h->root.u.def.section->alignment_power; ++ ++ /* align dynbss */ ++ s->size = BFD_ALIGN (s->size, (bfd_size_type)1 << align2); ++ if (align2 > bfd_get_section_alignment (dynobj, s) ++ && !bfd_set_section_alignment (dynobj, s, align2)) ++ return FALSE; ++ ++ /* Define the symbol as being at this point in the section. */ ++ h->root.u.def.section = s; ++ h->root.u.def.value = s->size; ++ ++ /* Increment the section size to make room for the symbol. */ ++ s->size += h->size; ++ ++ return TRUE; ++} ++ ++static bfd_boolean ++adjust_dynrelocs (struct elf_link_hash_entry *h, PTR inf) ++{ ++ struct bfd_link_info *info; ++ struct elf32_nios2_link_hash_table *htab; ++ ++ if (h->root.type == bfd_link_hash_indirect) ++ return TRUE; ++ ++ if (h->root.type == bfd_link_hash_warning) ++ /* When warning symbols are created, they **replace** the "real" ++ entry in the hash table, thus we never get to see the real ++ symbol in a hash traversal. So look at it now. */ ++ h = (struct elf_link_hash_entry *) h->root.u.i.link; ++ ++ info = (struct bfd_link_info *) inf; ++ htab = elf32_nios2_hash_table (info); ++ ++ if (h->plt.offset != (bfd_vma)-1) ++ h->plt.offset += htab->res_n_size; ++ if (htab->splt == h->root.u.def.section) ++ h->root.u.def.value += htab->res_n_size; ++ ++ return TRUE; ++} ++ ++/* Allocate space in .plt, .got and associated reloc sections for ++ dynamic relocs. */ ++ ++static bfd_boolean ++allocate_dynrelocs (struct elf_link_hash_entry *h, PTR inf) ++{ ++ struct bfd_link_info *info; ++ struct elf32_nios2_link_hash_table *htab; ++ struct elf32_nios2_link_hash_entry *eh; ++ struct elf32_nios2_dyn_relocs *p; ++ int use_plt; ++ ++ if (h->root.type == bfd_link_hash_indirect) ++ return TRUE; ++ ++ if (h->root.type == bfd_link_hash_warning) ++ /* When warning symbols are created, they **replace** the "real" ++ entry in the hash table, thus we never get to see the real ++ symbol in a hash traversal. So look at it now. */ ++ h = (struct elf_link_hash_entry *) h->root.u.i.link; ++ ++ info = (struct bfd_link_info *) inf; ++ htab = elf32_nios2_hash_table (info); ++ ++ if (htab->root.dynamic_sections_created ++ && h->plt.refcount > 0) ++ { ++ /* Make sure this symbol is output as a dynamic symbol. ++ Undefined weak syms won't yet be marked as dynamic. */ ++ if (h->dynindx == -1 ++ && !h->forced_local) ++ { ++ if (! bfd_elf_link_record_dynamic_symbol (info, h)) ++ return FALSE; ++ } ++ ++ if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, info->shared, h)) ++ { ++ asection *s = htab->splt; ++ ++ /* Allocate room for the header. */ ++ if (s->size == 0) ++ { ++ if (info->shared) ++ s->size = 24; ++ else ++ s->size = 28; ++ } ++ ++ h->plt.offset = s->size; ++ ++ /* If this symbol is not defined in a regular file, and we are ++ not generating a shared library, then set the symbol to this ++ location in the .plt. This is required to make function ++ pointers compare as equal between the normal executable and ++ the shared library. */ ++ if (! info->shared ++ && !h->def_regular) ++ { ++ h->root.u.def.section = s; ++ h->root.u.def.value = h->plt.offset; ++ } ++ ++ /* Make room for this entry. */ ++ s->size += 12; ++ ++ /* We also need to make an entry in the .rela.plt section. */ ++ htab->srelplt->size += sizeof (Elf32_External_Rela); ++ ++ /* And the .got.plt section. */ ++ htab->sgotplt->size += 4; ++ } ++ else ++ { ++ h->plt.offset = (bfd_vma) -1; ++ h->needs_plt = 0; ++ } ++ } ++ else ++ { ++ h->plt.offset = (bfd_vma) -1; ++ h->needs_plt = 0; ++ } ++ ++ eh = (struct elf32_nios2_link_hash_entry *) h; ++ use_plt = (eh->got_types_used == CALL16_USED && ++ h->plt.offset != (bfd_vma) -1); ++ ++ if (h->got.refcount > 0) ++ { ++ asection *s; ++ bfd_boolean dyn; ++ int tls_type = eh->tls_type; ++ int indx; ++ ++ /* Make sure this symbol is output as a dynamic symbol. ++ Undefined weak syms won't yet be marked as dynamic. */ ++ if (h->dynindx == -1 ++ && !h->forced_local) ++ { ++ if (! bfd_elf_link_record_dynamic_symbol (info, h)) ++ return FALSE; ++ } ++ ++ s = htab->sgot; ++ h->got.offset = s->size; ++ ++ if (tls_type == GOT_UNKNOWN) ++ abort (); ++ ++ if (tls_type == GOT_NORMAL) ++ /* Non-TLS symbols need one GOT slot. */ ++ s->size += 4; ++ else ++ { ++ if (tls_type & GOT_TLS_GD) ++ /* R_NIOS2_TLS_GD16 needs 2 consecutive GOT slots. */ ++ s->size += 8; ++ if (tls_type & GOT_TLS_IE) ++ /* R_NIOS2_TLS_IE16 needs one GOT slot. */ ++ s->size += 4; ++ } ++ ++ dyn = htab->root.dynamic_sections_created; ++ ++ indx = 0; ++ if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info->shared, h) ++ && (!info->shared ++ || !SYMBOL_REFERENCES_LOCAL (info, h))) ++ indx = h->dynindx; ++ ++ if (tls_type != GOT_NORMAL ++ && (info->shared || indx != 0) ++ && (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT ++ || h->root.type != bfd_link_hash_undefweak)) ++ { ++ if (tls_type & GOT_TLS_IE) ++ htab->srelgot->size += sizeof (Elf32_External_Rela); ++ ++ if (tls_type & GOT_TLS_GD) ++ htab->srelgot->size += sizeof (Elf32_External_Rela); ++ ++ if ((tls_type & GOT_TLS_GD) && indx != 0) ++ htab->srelgot->size += sizeof (Elf32_External_Rela); ++ } ++ else if ((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT ++ || h->root.type != bfd_link_hash_undefweak) ++ && !use_plt && (info->shared ++ || WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, 0, h))) ++ htab->srelgot->size += sizeof (Elf32_External_Rela); ++ } ++ else ++ h->got.offset = (bfd_vma) -1; ++ ++ if (eh->dyn_relocs == NULL) ++ return TRUE; ++ ++ /* In the shared -Bsymbolic case, discard space allocated for ++ dynamic pc-relative relocs against symbols which turn out to be ++ defined in regular objects. For the normal shared case, discard ++ space for pc-relative relocs that have become local due to symbol ++ visibility changes. */ ++ ++ if (info->shared) ++ { ++ if (h->def_regular ++ && (h->forced_local ++ || info->symbolic)) ++ { ++ struct elf32_nios2_dyn_relocs **pp; ++ ++ for (pp = &eh->dyn_relocs; (p = *pp) != NULL; ) ++ { ++ p->count -= p->pc_count; ++ p->pc_count = 0; ++ if (p->count == 0) ++ *pp = p->next; ++ else ++ pp = &p->next; ++ } ++ } ++ ++ /* Also discard relocs on undefined weak syms with non-default ++ visibility. */ ++ if (eh->dyn_relocs != NULL ++ && h->root.type == bfd_link_hash_undefweak) ++ { ++ if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT) ++ eh->dyn_relocs = NULL; ++ ++ /* Make sure undefined weak symbols are output as a dynamic ++ symbol in PIEs. */ ++ else if (h->dynindx == -1 ++ && !h->forced_local) ++ { ++ if (! bfd_elf_link_record_dynamic_symbol (info, h)) ++ return FALSE; ++ } ++ } ++ } ++ else ++ { ++ /* For the non-shared case, discard space for relocs against ++ symbols which turn out to need copy relocs or are not ++ dynamic. */ ++ ++ if (!h->non_got_ref ++ && ((h->def_dynamic ++ && !h->def_regular) ++ || (htab->root.dynamic_sections_created ++ && (h->root.type == bfd_link_hash_undefweak ++ || h->root.type == bfd_link_hash_undefined)))) ++ { ++ /* Make sure this symbol is output as a dynamic symbol. ++ Undefined weak syms won't yet be marked as dynamic. */ ++ if (h->dynindx == -1 ++ && !h->forced_local) ++ { ++ if (! bfd_elf_link_record_dynamic_symbol (info, h)) ++ return FALSE; ++ } ++ ++ /* If that succeeded, we know we'll be keeping all the ++ relocs. */ ++ if (h->dynindx != -1) ++ goto keep; ++ } ++ ++ eh->dyn_relocs = NULL; ++ ++ keep: ; ++ } ++ ++ /* Finally, allocate space. */ ++ for (p = eh->dyn_relocs; p != NULL; p = p->next) ++ { ++ asection *sreloc = elf_section_data (p->sec)->sreloc; ++ sreloc->size += p->count * sizeof (Elf32_External_Rela); ++ } ++ ++ return TRUE; ++} ++ ++/* Set the sizes of the dynamic sections. */ ++ ++static bfd_boolean ++nios2_elf32_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED, ++ struct bfd_link_info *info) ++{ ++ bfd *dynobj; ++ asection *s; ++ bfd_boolean plt; ++ bfd_boolean got; ++ bfd_boolean relocs; ++ bfd *ibfd; ++ struct elf32_nios2_link_hash_table *htab; ++ ++ htab = elf32_nios2_hash_table (info); ++ dynobj = elf_hash_table (info)->dynobj; ++ BFD_ASSERT (dynobj != NULL); ++ ++ htab->res_n_size = 0; ++ if (elf_hash_table (info)->dynamic_sections_created) ++ { ++ /* Set the contents of the .interp section to the interpreter. */ ++ if (info->executable) ++ { ++ s = bfd_get_section_by_name (dynobj, ".interp"); ++ BFD_ASSERT (s != NULL); ++ s->size = sizeof ELF_DYNAMIC_INTERPRETER; ++ s->contents = (unsigned char *) ELF_DYNAMIC_INTERPRETER; ++ } ++ } ++ else ++ { ++ /* We may have created entries in the .rela.got section. ++ However, if we are not creating the dynamic sections, we will ++ not actually use these entries. Reset the size of .rela.got, ++ which will cause it to get stripped from the output file ++ below. */ ++ s = htab->srelgot; ++ if (s != NULL) ++ s->size = 0; ++ } ++ ++ /* Set up .got offsets for local syms, and space for local dynamic ++ relocs. */ ++ for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next) ++ { ++ bfd_signed_vma *local_got; ++ bfd_signed_vma *end_local_got; ++ char *local_tls_type; ++ bfd_size_type locsymcount; ++ Elf_Internal_Shdr *symtab_hdr; ++ asection *srel; ++ ++ if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour) ++ continue; ++ ++ for (s = ibfd->sections; s != NULL; s = s->next) ++ { ++ struct elf32_nios2_dyn_relocs *p; ++ ++ for (p = elf_section_data (s)->local_dynrel; p != NULL; p = p->next) ++ { ++ if (!bfd_is_abs_section (p->sec) ++ && bfd_is_abs_section (p->sec->output_section)) ++ { ++ /* Input section has been discarded, either because ++ it is a copy of a linkonce section or due to ++ linker script /DISCARD/, so we'll be discarding ++ the relocs too. */ ++ } ++ else if (p->count != 0) ++ { ++ srel = elf_section_data (p->sec)->sreloc; ++ srel->size += p->count * sizeof (Elf32_External_Rela); ++ if ((p->sec->output_section->flags & SEC_READONLY) != 0) ++ info->flags |= DF_TEXTREL; ++ } ++ } ++ } ++ ++ local_got = elf_local_got_refcounts (ibfd); ++ if (!local_got) ++ continue; ++ ++ symtab_hdr = &elf_tdata (ibfd)->symtab_hdr; ++ locsymcount = symtab_hdr->sh_info; ++ end_local_got = local_got + locsymcount; ++ local_tls_type = elf32_nios2_local_got_tls_type (ibfd); ++ s = htab->sgot; ++ srel = htab->srelgot; ++ for (; local_got < end_local_got; ++local_got, ++local_tls_type) ++ { ++ if (*local_got > 0) ++ { ++ *local_got = s->size; ++ if (*local_tls_type & GOT_TLS_GD) ++ /* TLS_GD relocs need an 8-byte structure in the GOT. */ ++ s->size += 8; ++ if (*local_tls_type & GOT_TLS_IE) ++ s->size += 4; ++ if (*local_tls_type == GOT_NORMAL) ++ s->size += 4; ++ ++ if (info->shared || *local_tls_type == GOT_TLS_GD) ++ srel->size += sizeof (Elf32_External_Rela); ++ } ++ else ++ *local_got = (bfd_vma) -1; ++ } ++ } ++ ++ if (htab->tls_ldm_got.refcount > 0) ++ { ++ /* Allocate two GOT entries and one dynamic relocation (if necessary) ++ for R_NIOS2_TLS_LDM16 relocations. */ ++ htab->tls_ldm_got.offset = htab->sgot->size; ++ htab->sgot->size += 8; ++ if (info->shared) ++ htab->srelgot->size += sizeof (Elf32_External_Rela); ++ } ++ else ++ htab->tls_ldm_got.offset = -1; ++ ++ /* Allocate global sym .plt and .got entries, and space for global ++ sym dynamic relocs. */ ++ elf_link_hash_traverse (& htab->root, allocate_dynrelocs, info); ++ ++ /* The check_relocs and adjust_dynamic_symbol entry points have ++ determined the sizes of the various dynamic sections. Allocate ++ memory for them. */ ++ plt = FALSE; ++ got = FALSE; ++ relocs = FALSE; ++ for (s = dynobj->sections; s != NULL; s = s->next) ++ { ++ const char *name; ++ ++ if ((s->flags & SEC_LINKER_CREATED) == 0) ++ continue; ++ ++ /* It's OK to base decisions on the section name, because none ++ of the dynobj section names depend upon the input files. */ ++ name = bfd_get_section_name (dynobj, s); ++ ++ if (strcmp (name, ".plt") == 0) ++ { ++ /* Remember whether there is a PLT. */ ++ plt = s->size != 0; ++ ++ /* Correct for the number of res_N branches. */ ++ if (plt && !info->shared) ++ { ++ htab->res_n_size = (s->size-28) / 3; ++ s->size += htab->res_n_size; ++ } ++ } ++ else if (CONST_STRNEQ (name, ".rela")) ++ { ++ if (s->size != 0) ++ { ++ relocs = TRUE; ++ ++ /* We use the reloc_count field as a counter if we need ++ to copy relocs into the output file. */ ++ s->reloc_count = 0; ++ } ++ } ++ else if (CONST_STRNEQ (name, ".got")) ++ got = s->size != 0; ++ else if (strcmp (name, ".dynbss") != 0) ++ { ++ /* It's not one of our sections, so don't allocate space. */ ++ continue; ++ } ++ ++ if (s->size == 0) ++ { ++ /* If we don't need this section, strip it from the ++ output file. This is mostly to handle .rela.bss and ++ .rela.plt. We must create both sections in ++ create_dynamic_sections, because they must be created ++ before the linker maps input sections to output ++ sections. The linker does that before ++ adjust_dynamic_symbol is called, and it is that ++ function which decides whether anything needs to go ++ into these sections. */ ++ s->flags |= SEC_EXCLUDE; ++ continue; ++ } ++ ++ if ((s->flags & SEC_HAS_CONTENTS) == 0) ++ continue; ++ ++ /* Allocate memory for the section contents. */ ++ /* FIXME: This should be a call to bfd_alloc not bfd_zalloc. ++ Unused entries should be reclaimed before the section's contents ++ are written out, but at the moment this does not happen. Thus in ++ order to prevent writing out garbage, we initialise the section's ++ contents to zero. */ ++ s->contents = (bfd_byte *) bfd_zalloc (dynobj, s->size); ++ if (s->contents == NULL) ++ return FALSE; ++ } ++ ++ /* Adjust dynamic symbols that point to the plt to account for the ++ now-known number of resN slots. */ ++ if (htab->res_n_size) ++ elf_link_hash_traverse (& htab->root, adjust_dynrelocs, info); ++ ++ if (elf_hash_table (info)->dynamic_sections_created) ++ { ++ /* Add some entries to the .dynamic section. We fill in the ++ values later, in elf_nios2_finish_dynamic_sections, but we ++ must add the entries now so that we get the correct size for ++ the .dynamic section. The DT_DEBUG entry is filled in by the ++ dynamic linker and used by the debugger. */ ++#define add_dynamic_entry(TAG, VAL) \ ++ _bfd_elf_add_dynamic_entry (info, TAG, VAL) ++ ++ if (!info->shared) ++ { ++ if (!add_dynamic_entry (DT_DEBUG, 0)) ++ return FALSE; ++ } ++ ++ if (got) ++ if (!add_dynamic_entry (DT_PLTGOT, 0)) ++ return FALSE; ++ ++ if (plt) ++ if (!add_dynamic_entry (DT_PLTRELSZ, 0) ++ || !add_dynamic_entry (DT_PLTREL, DT_RELA) ++ || !add_dynamic_entry (DT_JMPREL, 0)) ++ return FALSE; ++ ++ if (relocs) ++ { ++ if (!add_dynamic_entry (DT_RELA, 0) ++ || !add_dynamic_entry (DT_RELASZ, 0) ++ || !add_dynamic_entry (DT_RELAENT, sizeof (Elf32_External_Rela))) ++ return FALSE; ++ } ++ ++ if (!info->shared) ++ { ++ if (!add_dynamic_entry (DT_NIOS2_GP, 0)) ++ return FALSE; ++ } ++ ++ if ((info->flags & DF_TEXTREL) != 0) ++ { ++ if (!add_dynamic_entry (DT_TEXTREL, 0)) ++ return FALSE; ++ } ++ } ++#undef add_dynamic_entry ++ ++ return TRUE; ++} ++ ++/* Create a Nios II elf linker hash table. */ ++ ++static struct bfd_link_hash_table * ++nios2_elf32_link_hash_table_create (bfd *abfd) ++{ ++ struct elf32_nios2_link_hash_table *ret; ++ bfd_size_type amt = sizeof (struct elf32_nios2_link_hash_table); ++ ++ ret = bfd_malloc (amt); ++ if (ret == NULL) ++ return NULL; ++ ++ if (!_bfd_elf_link_hash_table_init (& ret->root, abfd, ++ link_hash_newfunc, ++ sizeof (struct ++ elf32_nios2_link_hash_entry))) ++ { ++ free (ret); ++ return NULL; ++ } ++ ++ ret->sgot = NULL; ++ ret->sgotplt = NULL; ++ ret->srelgot = NULL; ++ ret->splt = NULL; ++ ret->srelplt = NULL; ++ ret->sdynbss = NULL; ++ ret->srelbss = NULL; ++ ret->sbss = NULL; ++ ret->tls_ldm_got.refcount = 0; ++ ret->sym_sec.abfd = NULL; ++ return &ret->root.root; ++} ++ ++static enum elf_reloc_type_class ++nios2_elf32_reloc_type_class (const Elf_Internal_Rela *rela) ++{ ++ switch ((int) ELF32_R_TYPE (rela->r_info)) ++ { ++ case R_NIOS2_RELATIVE: ++ return reloc_class_relative; ++ case R_NIOS2_JUMP_SLOT: ++ return reloc_class_plt; ++ case R_NIOS2_COPY: ++ return reloc_class_copy; ++ default: ++ return reloc_class_normal; ++ } ++} ++ ++/* Return 1 if target is one of ours. */ ++ ++static bfd_boolean ++is_nios2_elf_target (const struct bfd_target *targ) ++{ ++ return (targ == &bfd_elf32_littlenios2_vec ++ || targ == &bfd_elf32_bignios2_vec); ++} ++ ++/* Hook called by the linker routine which adds symbols from an object ++ file. We use it to put .comm items in .sbss, and not .bss. */ ++ ++static bfd_boolean ++nios2_elf_add_symbol_hook (bfd *abfd, ++ struct bfd_link_info *info, ++ Elf_Internal_Sym *sym, ++ const char **namep ATTRIBUTE_UNUSED, ++ flagword *flagsp ATTRIBUTE_UNUSED, ++ asection **secp, ++ bfd_vma *valp) ++{ ++ bfd *dynobj; ++ ++ if (sym->st_shndx == SHN_COMMON ++ && !info->relocatable ++ && is_nios2_elf (info->output_bfd) ++ && sym->st_size <= elf_gp_size (abfd)) ++ { ++ /* Common symbols less than or equal to -G nn bytes are automatically ++ put into .sbss. */ ++ struct elf32_nios2_link_hash_table *htab; ++ ++ htab = elf32_nios2_hash_table (info); ++ if (htab->sbss == NULL) ++ { ++ flagword flags = SEC_IS_COMMON | SEC_LINKER_CREATED; ++ ++ dynobj = elf_hash_table (info)->dynobj; ++ if (!dynobj) ++ dynobj = abfd; ++ ++ htab->sbss = bfd_make_section_anyway_with_flags (dynobj, ".sbss", ++ flags); ++ if (htab->sbss == NULL) ++ return FALSE; ++ } ++ ++ *secp = htab->sbss; ++ *valp = sym->st_size; ++ } ++ ++ if (ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC) ++ elf_tdata (info->output_bfd)->has_ifunc_symbols = TRUE; ++ ++ return TRUE; ++} ++ ++/* Decide whether to attempt to turn absptr or lsda encodings in ++ shared libraries into pcrel within the given input section. */ ++ ++static bfd_boolean ++nios2_elf32_can_make_relative_eh_frame(bfd *input_bfd ATTRIBUTE_UNUSED, ++ struct bfd_link_info *info ++ ATTRIBUTE_UNUSED, ++ asection *eh_frame_section ++ ATTRIBUTE_UNUSED) ++{ ++ /* We can't use PC-relative encodings in the .eh_frame section. */ ++ return FALSE; ++} ++ ++#define ELF_ARCH bfd_arch_nios2 ++#define ELF_MACHINE_CODE EM_ALTERA_NIOS2 ++ ++/* The Nios II MMU uses a 4K page size. */ ++ ++#define ELF_MAXPAGESIZE 0x1000 ++ ++#define bfd_elf32_bfd_link_hash_table_create \ ++ nios2_elf32_link_hash_table_create ++ ++/* Relocation table lookup macros. */ ++ ++#define bfd_elf32_bfd_reloc_type_lookup nios2_elf32_bfd_reloc_type_lookup ++#define bfd_elf32_bfd_reloc_name_lookup nios2_elf32_bfd_reloc_name_lookup ++ ++/* JUMP_TABLE_LINK macros. */ ++ ++#define bfd_elf32_bfd_relax_section nios2_elf32_relax_section ++ ++/* elf_info_to_howto (using RELA relocations). */ ++ ++#define elf_info_to_howto nios2_elf32_info_to_howto ++ ++/* elf backend functions. */ ++ ++#define elf_backend_can_gc_sections 1 ++#define elf_backend_can_refcount 1 ++#define elf_backend_plt_readonly 1 ++#define elf_backend_want_got_plt 1 ++ ++#define elf_backend_relocate_section nios2_elf32_relocate_section ++#define elf_backend_section_from_shdr nios2_elf32_section_from_shdr ++#define elf_backend_section_flags nios2_elf32_section_flags ++#define elf_backend_fake_sections nios2_elf32_fake_sections ++#define elf_backend_check_relocs nios2_elf32_check_relocs ++ ++#define elf_backend_gc_mark_hook nios2_elf32_gc_mark_hook ++#define elf_backend_gc_sweep_hook nios2_elf32_gc_sweep_hook ++#define elf_backend_create_dynamic_sections \ ++ nios2_elf32_create_dynamic_sections ++#define elf_backend_finish_dynamic_symbol nios2_elf32_finish_dynamic_symbol ++#define elf_backend_finish_dynamic_sections \ ++ nios2_elf32_finish_dynamic_sections ++#define elf_backend_adjust_dynamic_symbol nios2_elf32_adjust_dynamic_symbol ++#define elf_backend_reloc_type_class nios2_elf32_reloc_type_class ++#define elf_backend_size_dynamic_sections nios2_elf32_size_dynamic_sections ++#define elf_backend_add_symbol_hook nios2_elf_add_symbol_hook ++#define elf_backend_copy_indirect_symbol nios2_elf32_copy_indirect_symbol ++ ++#define elf_backend_grok_prstatus nios2_grok_prstatus ++#define elf_backend_grok_psinfo nios2_grok_psinfo ++ ++#undef elf_backend_can_make_relative_eh_frame ++#define elf_backend_can_make_relative_eh_frame \ ++ nios2_elf32_can_make_relative_eh_frame ++ ++/* Support for SGI-ish mips targets. */ ++#define TARGET_LITTLE_SYM bfd_elf32_littlenios2_vec ++#define TARGET_LITTLE_NAME "elf32-littlenios2" ++#define TARGET_BIG_SYM bfd_elf32_bignios2_vec ++#define TARGET_BIG_NAME "elf32-bignios2" ++ ++#define elf_backend_got_header_size 12 ++ ++#include "elf32-target.h" +Index: binutils-2.20.1/gas/config/tc-nios2.c +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/config/tc-nios2.c +@@ -0,0 +1,3361 @@ ++/* NOT ASSIGNED TO FSF. COPYRIGHT ALTERA. */ ++/* tc-nios2.c -- assemble code for a New Jersey processor. ++ ++ Copyright (C) 2003 ++ by Nigel Gray (ngray@altera.com). ++ ++ ++ This file is part of GAS. ++ ++ GAS 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; either version 2, or (at your option) ++ any later version. ++ ++ GAS 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 GAS; see the file COPYING. If not, write to the Free ++ Software Foundation, 59 Temple Place - Suite 330, Boston, MA ++ 02111-1307, USA. */ ++ ++ ++#include <stdio.h> ++#include <limits.h> ++#include <string.h> ++#include <stdlib.h> ++#include "as.h" ++#include "opcode/nios2.h" ++#include "elf/nios2.h" ++#include "tc-nios2.h" ++#include "bfd.h" ++#include "dwarf2dbg.h" ++#include "subsegs.h" ++#include "safe-ctype.h" ++#include "dw2gencfi.h" ++ ++/* We can choose our endianness at run-time, regardless of configuration. */ ++extern int target_big_endian; ++ ++#ifndef OBJ_ELF ++ /* We are not supporting any other target ++ so we throw a compile time error. */ ++OBJ_ELF not defined ++#endif ++ typedef enum ++{ ++ relax_section = 0, ++ relax_none, ++ relax_all ++} ++relax_optionT; ++ ++ ++/* Struct contains all assembler options set with .set. */ ++struct ++{ ++ /* .set noat -> noat = 1 allows assembly code to use at without warning ++ and macro expansions will generate a warning. ++ .set at -> noat = 0, assembly code using at will warn ++ macro expansions will not generate warnings. */ ++ bfd_boolean noat; ++ ++ /* .set nobreak -> nobreak = 1 allows assembly code to use ba,bt without ++ warning. ++ .set break -> nobreak = 0, assembly code using ba,bt will warn. */ ++ bfd_boolean nobreak; ++ ++ /* .cmd line option -relax-all allows all branches and calls to be replaced ++ with longer versions. ++ -no-relax inhibits branch/call conversion. ++ default value is relax_section, which relaxes branches within a section. ++ */ ++ relax_optionT relax; ++ ++} ++nios2_as_options = ++{ ++FALSE, FALSE, relax_section}; ++ ++ ++typedef struct nios2_insn_reloc ++{ ++ /* Any expression in the instruction is parsed into ++ this field which is passed to fix_new_exp() to ++ generate a fixup. */ ++ expressionS reloc_expression; ++ ++ /* The type of the relocation to be applied. */ ++ bfd_reloc_code_real_type reloc_type; ++ ++ /* pc relative. */ ++ unsigned int reloc_pcrel; ++ ++ /* The next relocation to be applied to the instruction. */ ++ struct nios2_insn_reloc *reloc_next; ++} ++nios2_insn_relocS; ++ ++ ++/* ------------------------------------------------------------------ ++ This struct is used by the functions in tc-nios2.c to assemble an ++ instruction ++ ------------------------------------------------------------------*/ ++ ++typedef struct nios2_insn_info ++{ ++ /* Assembled instruction. */ ++ unsigned long insn_code; ++ /* Pointer to the relevant bit of the opcode table. */ ++ const struct nios2_opcode *insn_nios2_opcode; ++ /* After parsing ptrs to the tokens in the instruction fill this array ++ it is terminated with a null pointer (hence the first +1). ++ The second +1 is because in some parts of the code the opcode ++ is not counted as a token, but still placed in this array. */ ++ const char *insn_tokens[NIOS2_MAX_INSN_TOKENS + 1 + 1]; ++ ++ /* This holds information used to generate fixups ++ and eventually relocations if it is not null. */ ++ nios2_insn_relocS *insn_reloc; ++} ++nios2_insn_infoS; ++ ++ ++/* This struct associates an argument assemble function with ++ an argument syntax string. Used by the assembler to find out ++ how to parse and assemble a set of instruction operands and ++ return the instruction field values. */ ++ ++typedef struct nios2_arg_info ++{ ++ const char *args; ++ void (*assemble_args_func) (nios2_insn_infoS * insn_info); ++} ++nios2_arg_infoS; ++ ++/* This struct is used to convert New Jersey pseudo-ops into the ++ corresponding real op. */ ++typedef struct nios2_ps_insn_info ++{ ++ const char *pseudo_insn; ++ const char *insn; ++ const char *arg_modifier; ++ void (*arg_modifer_func) (const char *arg, char **parsedArgs, int numArg, ++ int startIndex); ++ int num; ++ int index; ++} ++nios2_ps_insn_infoS; ++ ++ ++ ++/* Function prototypes. */ ++static void NIOS2_CHECK_ASSEMBLY (unsigned int opcode, ++ const char *exp_opcode); ++static void s_nios2_sdata (int); ++void nios2_assemble_args_dst (nios2_insn_infoS * insn_info); ++void nios2_assemble_args_tsi (nios2_insn_infoS * insn_info); ++void nios2_assemble_args_tsu (nios2_insn_infoS * insn_info); ++void nios2_assemble_args_o (nios2_insn_infoS * insn_info); ++void nios2_assemble_args_m (nios2_insn_infoS * insn_info); ++void nios2_assemble_args_s (nios2_insn_infoS * insn_info); ++void nios2_assemble_args_tis (nios2_insn_infoS * insn_info); ++void nios2_assemble_args_dc (nios2_insn_infoS * insn_info); ++void nios2_assemble_args_cs (nios2_insn_infoS * insn_info); ++void nios2_assemble_args_ldst (nios2_insn_infoS * insn_info); ++void nios2_assemble_args_none (nios2_insn_infoS * insn_info); ++void nios2_assemble_args_dsj (nios2_insn_infoS * insn_info); ++void nios2_assemble_args_is (nios2_insn_infoS * insn_info); ++void nios2_assemble_args_sto (nios2_insn_infoS * insn_info); ++void nios2_assemble_args_d (nios2_insn_infoS * insn_info); ++void nios2_assemble_args_b (nios2_insn_infoS * insn_info); ++ ++nios2_insn_relocS *nios2_insn_reloc_new (bfd_reloc_code_real_type reloc_type, ++ unsigned int pcrel); ++void nios2_insn_reloc_destroy (nios2_insn_relocS * reloc); ++unsigned long nios2_assemble_expression (const char *exprstr, ++ nios2_insn_infoS * insn, ++ nios2_insn_relocS * prev_reloc, ++ bfd_reloc_code_real_type reloc_type, ++ unsigned int pcrel); ++char *nios2_consume_separator (char *argStr, const char *separator); ++char *nios2_consume_arg (char *argStr, const char *argType); ++void nios2_parse_args (char *argStr, const char *parseStr, char **parsedArgs); ++ ++void nios2_modify_arg (const char *modifier, char **parsedArgs, int unused, ++ int index); ++void nios2_append_arg (const char *append, char **parsedArgs, int numAppend, ++ int startIndex); ++void nios2_insert_arg (const char *insert, char **parsedArgs, int numInsert, ++ int startIndex); ++void nios2_swap_args (const char *unused, char **parsedArgs, int index_1, ++ int index_2); ++void nios2_negate_arg (const char *modifier ATTRIBUTE_UNUSED, ++ char **parsedArgs, int unused ATTRIBUTE_UNUSED, ++ int index); ++void nios2_translate_pseudo_insn (nios2_insn_infoS * insn); ++void md_apply_fix (fixS * fixP, valueT * valP, segT seg ATTRIBUTE_UNUSED); ++valueT md_chars_to_number (char *buf, int n); ++void md_number_to_imm (char *buf, valueT val, int n); ++void md_number_to_disp (char *buf, valueT val, int n); ++void md_number_to_field (char *buf, valueT val, int n); ++static void nios2_align (int log_size, const char *pfill, symbolS * sym); ++static void s_nios2_ucons (int nbytes); ++static void s_nios2_set (int equiv); ++static void s_nios2_align (int ignore); ++static void s_nios2_text (int); ++static void s_nios2_data (int); ++static void s_nios2_section (int); ++static bfd_boolean nios2_coproc_reg (const char *reg_name); ++static void output_insn (void); ++static void output_ubranch (void); ++static void output_cbranch (void); ++static void output_call (void); ++static void output_movia (void); ++static void output_andi (void); ++static void output_addi (void); ++static void output_ori (void); ++static void output_xori (void); ++static int can_evaluate_expr (void); ++static int get_expr_value (void); ++ ++ ++bfd_boolean nios2_check_overflow (valueT fixup, reloc_howto_type * howto); ++ ++/* The known current alignment of the current section. */ ++static int nios2_current_align; ++static segT nios2_current_align_seg; ++ ++/* The last seen label in the current section. This is used to auto-align ++ labels preceeding instructions. */ ++static symbolS *nios2_last_label; ++ ++ ++static int nios2_auto_align_on = 1; ++ ++/* This array holds the chars that always start a comment. If the ++ pre-processor is disabled, these aren't very useful. */ ++const char comment_chars[] = "#"; ++ ++/* This array holds the chars that only start a comment at the beginning of ++ a line. If the line seems to have the form '# 123 filename' ++ .line and .file directives will appear in the pre-processed output. */ ++/* Note that input_file.c hand checks for '#' at the beginning of the ++ first line of the input file. This is because the compiler outputs ++ #NO_APP at the beginning of its output. */ ++/* Also note that C style comments are always supported. */ ++const char line_comment_chars[] = "#"; ++ ++/* This array holds machine specific line separator characters. */ ++const char line_separator_chars[] = ";"; ++ ++/* Chars that can be used to separate mant from exp in floating point nums. */ ++const char EXP_CHARS[] = "eE"; ++ ++/* Chars that mean this number is a floating point constant. */ ++/* As in 0f12.456 */ ++/* or 0d1.2345e12 */ ++const char FLT_CHARS[] = "rRsSfFdDxXpP"; ++ ++/* Also be aware that MAXIMUM_NUMBER_OF_CHARS_FOR_FLOAT may have to be ++ changed in read.c. Ideally it shouldn't have to know about it at all, ++ but nothing is ideal around here. */ ++ ++/* Handle of the OPCODE hash table. */ ++static struct hash_control *nios2_opcode_hash = NULL; ++ ++/* Handle of the Register hash table. */ ++static struct hash_control *nios2_reg_hash = NULL; ++ ++/* Handle of the parse args hash table. */ ++static struct hash_control *nios2_arg_hash = NULL; ++ ++/* Pseudo-op hash table. */ ++static struct hash_control *nios2_ps_hash = NULL; ++ ++#ifdef OBJ_ELF ++/* Pre-defined "_GLOBAL_OFFSET_TABLE_" */ ++symbolS * GOT_symbol; ++#endif ++ ++#define streq(a, b) (strcmp (a, b) == 0) ++ ++/* Mode of the assembler. */ ++typedef enum ++{ ++ NIOS2_MODE_ASSEMBLE, /* Ordinary operation. */ ++ NIOS2_MODE_TEST /* Hidden mode used for self testing. */ ++} ++NIOS2_MODE; ++ ++static NIOS2_MODE nios2_mode = NIOS2_MODE_ASSEMBLE; ++ ++/* This function is used to in self-checking mode ++ to check the assembled instruction ++ opcode should be the assembled opcode, and exp_opcode ++ the parsed string representing the expected opcode. */ ++void ++NIOS2_CHECK_ASSEMBLY (unsigned int opcode, const char *exp_opcode) ++{ ++ if (nios2_mode == NIOS2_MODE_TEST) ++ { ++ if ((exp_opcode) == NULL) ++ { ++ as_bad (_("expecting opcode string in self test mode")); ++ } ++ else if ((opcode) != strtoul ((exp_opcode), NULL, 16)) ++ { ++ as_bad (_("assembly 0x%08x, expected %s"), (opcode), (exp_opcode)); ++ } ++ } ++} ++ ++/* Machine-dependent command-line options. */ ++ ++const char *md_shortopts = "r"; ++ ++struct option md_longopts[] = { ++#define OPTION_RELAX_ALL (OPTION_MD_BASE + 0) ++ {"relax-all", no_argument, NULL, OPTION_RELAX_ALL}, ++#define OPTION_NORELAX (OPTION_MD_BASE + 1) ++ {"no-relax", no_argument, NULL, OPTION_NORELAX}, ++#define OPTION_RELAX_SECTION (OPTION_MD_BASE + 2) ++ {"relax-section", no_argument, NULL, OPTION_RELAX_SECTION}, ++#define OPTION_EB (OPTION_MD_BASE + 3) ++ {"EB", no_argument, NULL, OPTION_EB}, ++#define OPTION_EL (OPTION_MD_BASE + 4) ++ {"EL", no_argument, NULL, OPTION_EL} ++}; ++ ++size_t md_longopts_size = sizeof (md_longopts); ++ ++/* Machine dependent pseudo-ops. ++ These are actually assembler directives. ++ Format of each entry is: ++ ++ { "directive", handler_func, param } */ ++const pseudo_typeS md_pseudo_table[] = { ++ {"align", s_nios2_align, 0}, ++ {"text", s_nios2_text, 0}, ++ {"data", s_nios2_data, 0}, ++ {"section", s_nios2_section, 0}, ++ {"section.s", s_nios2_section, 0}, ++ {"sect", s_nios2_section, 0}, ++ {"sect.s", s_nios2_section, 0}, ++ /* .dword and .half are included for compatibility with MIPS. */ ++ {"dword", cons, 8}, ++ {"half", cons, 2}, ++ /* NIOS2 native word size is 4 bytes, so we override ++ the GAS default of 2. */ ++ {"word", cons, 4}, ++ /* Explicitly unaligned directives. */ ++ {"2byte", s_nios2_ucons, 2}, ++ {"4byte", s_nios2_ucons, 4}, ++ {"8byte", s_nios2_ucons, 8}, ++ {"16byte", s_nios2_ucons, 16}, ++#ifdef OBJ_ELF ++ {"sdata", s_nios2_sdata, 0}, ++#endif ++ {"set", s_nios2_set, 0}, ++ {NULL, NULL, 0} ++}; ++ ++#define BYTE_F 32764 ++#define BYTE_B -32768 ++#define ABS (long)0xffffffff /* Special value to indicate ++ non-pc relative jmp. */ ++ ++#define UBRANCH 1 ++#define UJMP 2 ++#define CBRANCH 3 ++#define CJMP 4 ++ ++ ++#define RELAX_MAX_SIZE(type) nios2_relax_table[nios2_relax_table[type \ ++ ].rlx_more].rlx_length ++#define RELAX_SIZE(type) nios2_relax_table[type].rlx_length ++#define RELAX_SUBSTATE(type) type ++ ++/* Machine dependent relaxations. */ ++struct relax_type nios2_relax_table[] = { ++ /* First entry unused (ends relaxation sequence). */ ++ {1, 1, 0, 0}, ++ /* Unconditional branch. */ ++ {BYTE_F, BYTE_B, 4, 2}, /* br label (label is in range) */ ++ /* Unconditional jmp. */ ++ {ABS, ABS, 12, 0}, /* movhi at, %hi(label) ; ++ ori at, %lo(label) ; jmp at */ ++ /* Conditional branch. */ ++ {BYTE_F, BYTE_B, 4, 4}, /* br{cond} label (label is in range) */ ++ /* Conditional jmp. */ ++ {ABS, ABS, 16, 0}, /* br{opp_cond} skip ; movhi at, %hi(label) ; ++ ori at, %lo(label) ; jmp at ; skip: } */ ++}; ++ ++ ++/* This is just the generic relax_frag function but ++ amended to include absolute jmps in the relax table. */ ++ ++long ++nios2_relax_frag (segT segment, fragS * fragP, long stretch) ++{ ++ const relax_typeS *this_type; ++ const relax_typeS *start_type; ++ relax_substateT next_state; ++ relax_substateT this_state; ++ long growth; ++ offsetT aim; ++ addressT target; ++ addressT address; ++ symbolS *symbolP; ++ const relax_typeS *table; ++ ++ target = fragP->fr_offset; ++ address = fragP->fr_address; ++ table = nios2_relax_table; ++ this_state = fragP->fr_subtype; ++ start_type = this_type = table + this_state; ++ symbolP = fragP->fr_symbol; ++ ++ if (symbolP) ++ { ++ fragS *sym_frag; ++ ++ sym_frag = symbol_get_frag (symbolP); ++ ++#ifndef DIFF_EXPR_OK ++#if 0 ++#if !defined (MANY_SEGMENTS) && !defined (BFD_ASSEMBLER) ++ know ((S_GET_SEGMENT (symbolP) == SEG_ABSOLUTE) ++ || (S_GET_SEGMENT (symbolP) == SEG_DATA) ++ || (S_GET_SEGMENT (symbolP) == SEG_BSS) ++ || (S_GET_SEGMENT (symbolP) == SEG_TEXT)); ++#endif ++#endif ++ know (sym_frag != NULL); ++#endif ++ know (!(S_GET_SEGMENT (symbolP) == absolute_section) ++ || sym_frag == &zero_address_frag); ++ target += S_GET_VALUE (symbolP); ++ ++ /* If frag has yet to be reached on this pass, ++ assume it will move by STRETCH just as we did. ++ If this is not so, it will be because some frag ++ between grows, and that will force another pass. */ ++ ++ if (stretch != 0 ++ && sym_frag->relax_marker != fragP->relax_marker ++ && S_GET_SEGMENT (symbolP) == segment) ++ { ++ target += stretch; ++ } ++ } ++ ++ ++ /* NG we subtract 4 because all pc relative branches are ++ from the next instruction. */ ++ aim = target - address - fragP->fr_fix - 4; ++ ++ if (aim < 0) ++ { ++ /* Look backwards. */ ++ for (next_state = this_type->rlx_more; next_state;) ++ { ++ if (aim >= this_type->rlx_backward ++ || this_type->rlx_backward == ABS) ++ next_state = 0; ++ else ++ { ++ /* Grow to next state. */ ++ this_state = next_state; ++ this_type = table + this_state; ++ next_state = this_type->rlx_more; ++ } ++ } ++ } ++ else ++ { ++ /* Look forwards. */ ++ ++ for (next_state = this_type->rlx_more; next_state;) ++ { ++ if (aim <= this_type->rlx_forward || this_type->rlx_forward == ABS) ++ next_state = 0; ++ else ++ { ++ /* Grow to next state. */ ++ this_state = next_state; ++ this_type = table + this_state; ++ next_state = this_type->rlx_more; ++ } ++ } ++ } ++ ++ ++ growth = this_type->rlx_length - start_type->rlx_length; ++ ++ if (growth != 0) ++ fragP->fr_subtype = this_state; ++ ++ return growth; ++} ++ ++/*-------------------------------------------------------------------------------- ++ The next table associates pointers to functions which parse the arguments to an ++ instruction and fill in the relevant fields of the instruction ++ --------------------------------------------------------------------------------*/ ++ ++const nios2_arg_infoS nios2_arg_info_structs[] = { ++ /* args, assemble_args_func */ ++ {"d,s,t", nios2_assemble_args_dst}, ++ {"d,s,t,E", nios2_assemble_args_dst}, ++ {"t,s,i", nios2_assemble_args_tsi}, ++ {"t,s,i,E", nios2_assemble_args_tsi}, ++ {"t,s,u", nios2_assemble_args_tsu}, ++ {"t,s,u,E", nios2_assemble_args_tsu}, ++ {"s,t,o", nios2_assemble_args_sto}, ++ {"s,t,o,E", nios2_assemble_args_sto}, ++ {"o", nios2_assemble_args_o}, ++ {"o,E", nios2_assemble_args_o}, ++ {"s", nios2_assemble_args_s}, ++ {"s,E", nios2_assemble_args_s}, ++ {"", nios2_assemble_args_none}, ++ {"E", nios2_assemble_args_none}, ++ {"i(s)", nios2_assemble_args_is}, ++ {"i(s)E", nios2_assemble_args_is}, ++ {"m", nios2_assemble_args_m}, ++ {"m,E", nios2_assemble_args_m}, ++ {"t,i(s)", nios2_assemble_args_tis}, ++ {"t,i(s)E", nios2_assemble_args_tis}, ++ {"d,c", nios2_assemble_args_dc}, ++ {"d,c,E", nios2_assemble_args_dc}, ++ {"c,s", nios2_assemble_args_cs}, ++ {"c,s,E", nios2_assemble_args_cs}, ++ {"l,d,s,t", nios2_assemble_args_ldst}, ++ {"l,d,s,t,E", nios2_assemble_args_ldst}, ++ {"d,s,j", nios2_assemble_args_dsj}, ++ {"d,s,j,E", nios2_assemble_args_dsj}, ++ {"d", nios2_assemble_args_d}, ++ {"d,E", nios2_assemble_args_d}, ++ {"b", nios2_assemble_args_b}, ++ {"b,E", nios2_assemble_args_b} ++}; ++ ++#define NIOS2_NUM_ARGS \ ++ ((sizeof(nios2_arg_info_structs)/sizeof(nios2_arg_info_structs[0]))) ++const int nios2_num_arg_info_structs = NIOS2_NUM_ARGS; ++ ++ ++const nios2_ps_insn_infoS nios2_ps_insn_info_structs[] = { ++ /* pseudo-op, real-op, arg, arg_modifier_func, num, index */ ++ {"mov", "add", "zero", nios2_append_arg, 1, 3}, ++ {"movi", "addi", "zero", nios2_insert_arg, 1, 2}, ++ {"movhi", "orhi", "zero", nios2_insert_arg, 1, 2}, ++ {"movui", "ori", "zero", nios2_insert_arg, 1, 2}, ++ {"movia", "orhi", "zero", nios2_insert_arg, 1, 2}, ++ {"nop", "add", "zero", nios2_append_arg, 3, 1}, ++ {"bgt", "blt", "", nios2_swap_args, 1, 2}, ++ {"bgtu", "bltu", "", nios2_swap_args, 1, 2}, ++ {"ble", "bge", "", nios2_swap_args, 1, 2}, ++ {"bleu", "bgeu", "", nios2_swap_args, 1, 2}, ++ {"cmpgt", "cmplt", "", nios2_swap_args, 2, 3}, ++ {"cmpgtu", "cmpltu", "", nios2_swap_args, 2, 3}, ++ {"cmple", "cmpge", "", nios2_swap_args, 2, 3}, ++ {"cmpleu", "cmpgeu", "", nios2_swap_args, 2, 3}, ++ {"cmpgti", "cmpgei", "+1", nios2_modify_arg, 0, 3}, ++ {"cmpgtui", "cmpgeui", "+1", nios2_modify_arg, 0, 3}, ++ {"cmplei", "cmplti", "+1", nios2_modify_arg, 0, 3}, ++ {"cmpleui", "cmpltui", "+1", nios2_modify_arg, 0, 3}, ++ {"subi", "addi", "", nios2_negate_arg, 0, 3} ++ /* Add further pseudo-ops here. */ ++}; ++ ++#define NIOS2_NUM_PSEUDO_INSNS \ ++ ((sizeof(nios2_ps_insn_info_structs)/ \ ++ sizeof(nios2_ps_insn_info_structs[0]))) ++const int nios2_num_ps_insn_info_structs = NIOS2_NUM_PSEUDO_INSNS; ++ ++/* Special relocation directive strings. */ ++ ++struct nios2_special_relocS ++{ ++ const char *string; ++ bfd_reloc_code_real_type reloc_type; ++}; ++ ++struct nios2_special_relocS nios2_special_reloc[] = { ++ {"%hiadj", BFD_RELOC_NIOS2_HIADJ16}, ++ {"%hi", BFD_RELOC_NIOS2_HI16}, ++ {"%lo", BFD_RELOC_NIOS2_LO16}, ++ {"%gprel", BFD_RELOC_NIOS2_GPREL}, ++ {"%call", BFD_RELOC_NIOS2_CALL16}, ++ {"%gotoff_lo", BFD_RELOC_NIOS2_GOTOFF_LO}, ++ {"%gotoff_hiadj", BFD_RELOC_NIOS2_GOTOFF_HA}, ++ {"%tls_gd", BFD_RELOC_NIOS2_TLS_GD16}, ++ {"%tls_ldm", BFD_RELOC_NIOS2_TLS_LDM16}, ++ {"%tls_ldo", BFD_RELOC_NIOS2_TLS_LDO16}, ++ {"%tls_ie", BFD_RELOC_NIOS2_TLS_IE16}, ++ {"%tls_le", BFD_RELOC_NIOS2_TLS_LE16}, ++ {"%gotoff", BFD_RELOC_NIOS2_GOTOFF}, ++ {"%got", BFD_RELOC_NIOS2_GOT16} ++}; ++ ++#define NIOS2_NUM_SPECIAL_RELOCS \ ++ (sizeof(nios2_special_reloc)/sizeof(nios2_special_reloc[0])) ++const int nios2_num_special_relocs = NIOS2_NUM_SPECIAL_RELOCS; ++ ++/* The function nios2_modify_arg appends the string modifier to the string ++ contained in the argument at index in the array parsedArgs[]. */ ++void ++nios2_modify_arg (const char *modifier, ++ char **parsedArgs, int unused ATTRIBUTE_UNUSED, int index) ++{ ++ gas_assert (index < NIOS2_MAX_INSN_TOKENS); ++ ++ /* We can't just strcat here because strcat will free the memory pointed ++ to by the first argument and allocate new memory - but at this stage, ++ parsedArgs[index] may point into the middle of a block of allocated ++ memory, so trying to free it will cause a seg fault. */ ++ char *tmp = parsedArgs[index]; ++ parsedArgs[index] = ++ (char *) malloc (strlen (parsedArgs[index]) + strlen (modifier) + 1); ++ strcpy (parsedArgs[index], tmp); ++ strcat (parsedArgs[index], modifier); ++} ++ ++ ++void ++nios2_negate_arg (const char *modifier ATTRIBUTE_UNUSED, ++ char **parsedArgs, int unused ATTRIBUTE_UNUSED, int index) ++{ ++ char *tmp = parsedArgs[index]; ++ parsedArgs[index] = ++ (char *) malloc (strlen ("~(") + strlen (parsedArgs[index]) + ++ strlen (")+1") + 1); ++ ++ strcpy (parsedArgs[index], "~("); ++ strcat (parsedArgs[index], tmp); ++ strcat (parsedArgs[index], ")+1"); ++} ++ ++/* The function nios2_swap_args swaps the pointers at indices index_1 and ++ index_2 in the array parsedArgs[] - this is used for operand swapping ++ for comparison operations. */ ++void ++nios2_swap_args (const char *unused ATTRIBUTE_UNUSED, ++ char **parsedArgs, int index_1, int index_2) ++{ ++ char *tmp; ++ gas_assert (index_1 < NIOS2_MAX_INSN_TOKENS && index_2 < NIOS2_MAX_INSN_TOKENS); ++ tmp = parsedArgs[index_1]; ++ parsedArgs[index_1] = parsedArgs[index_2]; ++ parsedArgs[index_2] = tmp; ++} ++ ++/* This function appends the string append to the array of strings in ++ parsedArgs numAppend times starting at index startIndex in the array. */ ++void ++nios2_append_arg (const char *append, char **parsedArgs, int numAppend, ++ int startIndex) ++{ ++ int i, count; ++ char *tmp; ++ ++ gas_assert ((startIndex + numAppend) < NIOS2_MAX_INSN_TOKENS); ++ i = startIndex; ++ count = numAppend; ++ ++ if (nios2_mode == NIOS2_MODE_TEST) ++ tmp = parsedArgs[startIndex]; ++ else ++ tmp = NULL; ++ ++ while (count > 0) ++ { ++ parsedArgs[i] = (char *) append; ++ ++i; ++ --count; ++ } ++ ++ gas_assert (i == (startIndex + numAppend)); ++ parsedArgs[i] = tmp; ++ parsedArgs[i + 1] = NULL; ++} ++ ++/* This function inserts the string insert numInsert times in the array ++ parsedArgs, starting at the index startIndex. */ ++void ++nios2_insert_arg (const char *insert, char **parsedArgs, int numInsert, ++ int startIndex) ++{ ++ int i, count, from, to; ++ ++ gas_assert ((startIndex + numInsert) < NIOS2_MAX_INSN_TOKENS); ++ ++ to = startIndex + numInsert; ++ from = startIndex; ++ ++ /* Move the existing arguments up to create space. */ ++ i = NIOS2_MAX_INSN_TOKENS; ++ while ((i - numInsert) >= startIndex) ++ { ++ parsedArgs[i] = parsedArgs[i - numInsert]; ++ --i; ++ } ++ ++ i = startIndex; ++ count = numInsert; ++ while (count > 0) ++ { ++ parsedArgs[i] = (char *) insert; ++ ++i; ++ --count; ++ } ++} ++ ++/* This function swaps the pseudo-op for a real op. ++ FIXME - only works for 1-to-1 correspondence. */ ++void ++nios2_translate_pseudo_insn (nios2_insn_infoS * insn) ++{ ++ ++ nios2_ps_insn_infoS *ps_insn; ++ ++ /* Find which real insn the pseudo-op transates to and ++ switch the insn_info ptr to point to it. */ ++ ps_insn = ++ (nios2_ps_insn_infoS *) hash_find (nios2_ps_hash, ++ insn->insn_nios2_opcode->name); ++ ++ if (ps_insn != NULL) ++ { ++ insn->insn_nios2_opcode = ++ (struct nios2_opcode *) hash_find (nios2_opcode_hash, ps_insn->insn); ++ insn->insn_tokens[0] = insn->insn_nios2_opcode->name; ++ /* Modify the args so they work with the real insn. */ ++ ps_insn->arg_modifer_func (ps_insn->arg_modifier, ++ (char **) insn->insn_tokens, ps_insn->num, ++ ps_insn->index); ++ } ++ else ++ { ++ /* we cannot recover from this. */ ++ as_fatal (_("unrecognized pseudo-instruction %s"), ++ ps_insn->pseudo_insn); ++ } ++} ++ ++/******************************************************************** ++ The following functions are called by machine-independent parts of ++ the assembler ++ ********************************************************************/ ++ ++int ++md_parse_option (int c, char *arg ATTRIBUTE_UNUSED) ++{ ++ switch (c) ++ { ++ case 'r': ++ /* hidden option for self-test mode */ ++ nios2_mode = NIOS2_MODE_TEST; ++ break; ++ case OPTION_RELAX_ALL: ++ nios2_as_options.relax = relax_all; ++ break; ++ case OPTION_NORELAX: ++ nios2_as_options.relax = relax_none; ++ break; ++ case OPTION_RELAX_SECTION: ++ nios2_as_options.relax = relax_section; ++ break; ++ case OPTION_EB: ++ target_big_endian = 1; ++ break; ++ case OPTION_EL: ++ target_big_endian = 0; ++ break; ++ default: ++ return 0; ++ break; ++ } ++ ++ return 1; ++} ++ ++/* We can choose to be big-endian or little-endian at runtime based ++ on a switch. */ ++const char * ++nios2_target_format (void) ++{ ++ return target_big_endian ? "elf32-bignios2" : "elf32-littlenios2"; ++} ++ ++/* Machine-dependent usage message. */ ++void ++md_show_usage (FILE * stream) ++{ ++ fprintf (stream, " NIOS2 options:\n" ++ " -relax-all replace all branch and call " ++ "instructions with jmp and callr sequences\n" ++ " -relax-section replace identified out of range " ++ "branches with jmp sequences (default)\n" ++ " -no-relax do not replace any branches or calls\n" ++ " -EB force big-endian byte ordering\n" ++ " -EL force little-endian byte ordering\n"); ++} ++ ++/* This function is called once, at assembler startup time. ++ It should set up all the tables, etc. that the MD part of the ++ assembler will need. */ ++void ++md_begin (void) ++{ ++ int i; ++ const char *inserted; ++ ++ /* Create and fill a hashtable for the New Jersey opcodes, registers and ++ arguments. */ ++ nios2_opcode_hash = hash_new (); ++ nios2_reg_hash = hash_new (); ++ nios2_arg_hash = hash_new (); ++ nios2_ps_hash = hash_new (); ++ ++ for (i = 0; i < NUMOPCODES; ++i) ++ { ++ inserted = ++ hash_insert (nios2_opcode_hash, nios2_opcodes[i].name, ++ (PTR) & nios2_opcodes[i]); ++ if (inserted != NULL) ++ { ++ fprintf (stderr, _("internal error: can't hash `%s': %s\n"), ++ nios2_opcodes[i].name, inserted); ++ /* Probably a memory allocation problem? Give up now. */ ++ as_fatal (_("Broken assembler. No assembly attempted.")); ++ } ++ } ++ ++ for (i = 0; i < nios2_num_regs; ++i) ++ { ++ inserted = ++ hash_insert (nios2_reg_hash, nios2_regs[i].name, ++ (PTR) & nios2_regs[i]); ++ if (inserted != NULL) ++ { ++ fprintf (stderr, _("internal error: can't hash `%s': %s\n"), ++ nios2_regs[i].name, inserted); ++ /* Probably a memory allocation problem? Give up now. */ ++ as_fatal (_("Broken assembler. No assembly attempted.")); ++ } ++ ++ } ++ ++ for (i = 0; i < nios2_num_arg_info_structs; ++i) ++ { ++ inserted = ++ hash_insert (nios2_arg_hash, nios2_arg_info_structs[i].args, ++ (PTR) & nios2_arg_info_structs[i]); ++ if (inserted != NULL) ++ { ++ fprintf (stderr, _("internal error: can't hash `%s': %s\n"), ++ nios2_arg_info_structs[i].args, inserted); ++ /* Probably a memory allocation problem? Give up now. */ ++ as_fatal (_("Broken assembler. No assembly attempted.")); ++ } ++ } ++ ++ for (i = 0; i < nios2_num_ps_insn_info_structs; ++i) ++ { ++ inserted = ++ hash_insert (nios2_ps_hash, nios2_ps_insn_info_structs[i].pseudo_insn, ++ (PTR) & nios2_ps_insn_info_structs[i]); ++ if (inserted != NULL) ++ { ++ fprintf (stderr, _("internal error: can't hash `%s': %s\n"), ++ nios2_ps_insn_info_structs[i].pseudo_insn, inserted); ++ /* Probably a memory allocation problem? Give up now. */ ++ as_fatal (_("Broken assembler. No assembly attempted.")); ++ } ++ } ++ ++ /* Assembler option defaults. */ ++ nios2_as_options.noat = FALSE; ++ nios2_as_options.nobreak = FALSE; ++ ++ /* Debug information is incompatible with relaxation. */ ++ if (debug_type != DEBUG_UNSPECIFIED) ++ { ++ nios2_as_options.relax = relax_none; ++ } ++ ++ /* Initialize the alignment data. */ ++ nios2_current_align_seg = now_seg; ++ nios2_last_label = NULL; ++ nios2_current_align = 0; ++} ++ ++ ++ ++ ++/* Made this global to avoid changing one function prototype. */ ++nios2_insn_infoS insn; ++ ++/* Assembles a single line of Nios II assembly language. */ ++void ++md_assemble (char *op_str) ++{ ++ char *argstr; ++ char *op_strdup; ++ nios2_arg_infoS *arg_info; ++ unsigned long saved_pinfo = 0; ++ ++ /* Make sure we are aligned on a 4-byte boundary. */ ++ if (nios2_current_align < 2) ++ nios2_align (2, NULL, nios2_last_label); ++ else if (nios2_current_align > 2) ++ nios2_current_align = 2; ++ nios2_last_label = NULL; ++ ++ ++ /* We don't want to clobber to op_str ++ because we want to be able to use it in messages. */ ++ op_strdup = strdup (op_str); ++ ++ insn.insn_tokens[0] = strtok (op_strdup, " "); ++ argstr = strtok (NULL, ""); ++ ++ /* Assemble the opcode. */ ++ insn.insn_nios2_opcode = ++ (struct nios2_opcode *) hash_find (nios2_opcode_hash, ++ insn.insn_tokens[0]); ++ insn.insn_reloc = NULL; ++ ++ if (insn.insn_nios2_opcode != NULL) ++ { ++ /* Set the opcode for the instruction. */ ++ insn.insn_code = insn.insn_nios2_opcode->match; ++ ++ /* Parse the arguments pointed to by argstr. */ ++ if (nios2_mode == NIOS2_MODE_ASSEMBLE) ++ { ++ nios2_parse_args (argstr, insn.insn_nios2_opcode->args, ++ (char **) &insn.insn_tokens[1]); ++ } ++ else ++ { ++ nios2_parse_args (argstr, insn.insn_nios2_opcode->args_test, ++ (char **) &insn.insn_tokens[1]); ++ } ++ ++ /* We need to preserve the MOVIA macro as this is clobbered by ++ translate_pseudo_insn. */ ++ if (insn.insn_nios2_opcode->pinfo == NIOS2_INSN_MACRO_MOVIA) ++ { ++ saved_pinfo = NIOS2_INSN_MACRO_MOVIA; ++ } ++ /* If the instruction is an pseudo-instruction, we want to replace it ++ with its real equivalent, and then continue. */ ++ if ((insn.insn_nios2_opcode->pinfo & NIOS2_INSN_MACRO) == ++ NIOS2_INSN_MACRO) ++ { ++ nios2_translate_pseudo_insn (&insn); ++ } ++ ++ /* Find the assemble function, and call it. */ ++ arg_info = ++ (nios2_arg_infoS *) hash_find (nios2_arg_hash, ++ insn.insn_nios2_opcode->args); ++ if (arg_info != NULL) ++ { ++ arg_info->assemble_args_func (&insn); ++ ++ if (nios2_as_options.relax != relax_none ++ && insn.insn_nios2_opcode->pinfo & NIOS2_INSN_UBRANCH) ++ output_ubranch (); ++ else if (nios2_as_options.relax != relax_none ++ && insn.insn_nios2_opcode->pinfo & NIOS2_INSN_CBRANCH) ++ output_cbranch (); ++ else if (nios2_as_options.relax == relax_all ++ && insn.insn_nios2_opcode->pinfo & NIOS2_INSN_CALL) ++ output_call (); ++ else if (insn.insn_nios2_opcode->pinfo & NIOS2_INSN_ANDI) ++ output_andi (); ++ else if (insn.insn_nios2_opcode->pinfo & NIOS2_INSN_ORI) ++ output_ori (); ++ else if (insn.insn_nios2_opcode->pinfo & NIOS2_INSN_XORI) ++ output_xori (); ++ else if (insn.insn_nios2_opcode->pinfo & NIOS2_INSN_ADDI) ++ output_addi (); ++ else if (saved_pinfo == NIOS2_INSN_MACRO_MOVIA) ++ output_movia (); ++ else ++ output_insn (); ++ } ++ else ++ { ++ /* The assembler is broken. */ ++ fprintf (stderr, ++ _("internal error: %s is not a valid argument syntax\n"), ++ insn.insn_nios2_opcode->args); ++ /* Probably a memory allocation problem. Give up now. */ ++ as_fatal (_("Broken assembler. No assembly attempted.")); ++ } ++ } ++ else ++ { ++ /* Unrecognised instruction - error. */ ++ as_bad (_("unrecognised instruction %s"), insn.insn_tokens[0]); ++ } ++} ++ ++/* Output a normal instruction. */ ++static void ++output_insn () ++{ ++ char *f; ++ nios2_insn_relocS *reloc; ++ ++ f = frag_more (4); ++ /* This allocates enough space for the instruction ++ and puts it in the current frag. */ ++ md_number_to_chars (f, insn.insn_code, 4); ++ /* Emit debug info. */ ++ dwarf2_emit_insn (4); ++ /* Create any fixups. */ ++ reloc = insn.insn_reloc; ++ while (reloc != NULL) ++ { ++ /* This creates any fixups to be acted on later. */ ++ fix_new_exp (frag_now, f - frag_now->fr_literal, 4, ++ &reloc->reloc_expression, reloc->reloc_pcrel, ++ reloc->reloc_type); ++ reloc = reloc->reloc_next; ++ } ++} ++ ++/* Output an unconditional branch. */ ++static void ++output_ubranch (void) ++{ ++ char *f; ++ nios2_insn_relocS *reloc; ++ symbolS *symp; ++ offsetT offset; ++ ++ reloc = insn.insn_reloc; ++ ++ /* If the reloc is NULL, there was an error assembling the branch. */ ++ if (reloc != NULL) ++ { ++ ++ symp = reloc->reloc_expression.X_add_symbol; ++ offset = reloc->reloc_expression.X_add_number; ++ ++ /* We must tag debug info here since we can't do it after ++ calling frag_var. */ ++ dwarf2_emit_insn (4); ++ ++ /* We create a machine dependent frag which can grow ++ to accommodate the largest possible instruction sequence ++ this may generate. */ ++ f = frag_var (rs_machine_dependent, ++ RELAX_MAX_SIZE (UBRANCH), ++ RELAX_SIZE (UBRANCH), ++ RELAX_SUBSTATE (UBRANCH), symp, offset, NULL); ++ ++ md_number_to_chars (f, insn.insn_code, 4); ++ ++ /* We leave fixup generation to md_convert_frag. */ ++ } ++} ++ ++/* Output a conditional branch. */ ++static void ++output_cbranch (void) ++{ ++ char *f; ++ nios2_insn_relocS *reloc; ++ symbolS *symp; ++ offsetT offset; ++ ++ reloc = insn.insn_reloc; ++ ++ /* If the reloc is NULL, there was an error assembling the branch. */ ++ if (reloc != NULL) ++ { ++ ++ symp = reloc->reloc_expression.X_add_symbol; ++ offset = reloc->reloc_expression.X_add_number; ++ ++ /* We must tag debug info here since we can't do it after ++ calling frag_var. */ ++ dwarf2_emit_insn (4); ++ ++ /* We create a machine dependent frag which can grow ++ to accommodate the largest possible instruction sequence ++ this may generate. */ ++ f = frag_var (rs_machine_dependent, ++ RELAX_MAX_SIZE (CBRANCH), ++ RELAX_SIZE (CBRANCH), ++ RELAX_SUBSTATE (CBRANCH), symp, offset, NULL); ++ ++ md_number_to_chars (f, insn.insn_code, 4); ++ ++ ++ /* We leave fixup generation to md_convert_frag. */ ++ } ++} ++ ++/* Output a call sequence. Since calls are not pc-relative for NIOS2, ++ but are page-relative, we cannot tell at any stage in assembly ++ whether a call will be out of range since a section may be linked ++ at any address. So if we are relaxing, we convert all call instructions ++ to long call sequences, and rely on the linker to relax them back to ++ short calls. */ ++static void ++output_call (void) ++{ ++ char *f; ++ nios2_insn_relocS *reloc; ++ f = frag_more (12); ++ /* This allocates enough space for the instruction ++ and puts it in the current frag. */ ++ reloc = insn.insn_reloc; ++ ++ /* If the reloc is NULL, there was an error assembling the branch. */ ++ if (reloc != NULL) ++ { ++ md_number_to_chars (f, OP_MATCH_ORHI | 0x00400000, 4); ++ dwarf2_emit_insn (4); ++ md_number_to_chars (f + 4, OP_MATCH_ORI | 0x08400000, 4); ++ dwarf2_emit_insn (4); ++ md_number_to_chars (f + 8, OP_MATCH_CALLR | 0x08000000, 4); ++ dwarf2_emit_insn (4); ++ fix_new (frag_now, f - frag_now->fr_literal, 4, ++ reloc->reloc_expression.X_add_symbol, ++ reloc->reloc_expression.X_add_number, 0, ++ BFD_RELOC_NIOS2_CALLR); ++ ++ ++ } ++} ++ ++ ++static int ++can_evaluate_expr (void) ++{ ++ /* Remove this check for null and the invalid insn "ori r9, 1234" seg faults. */ ++ if (!insn.insn_reloc) ++ { ++ /* ??? Ideally we should do something other than as_fatal here as we can ++ continue to assemble. ++ However this function (actually the output_* functions) should not ++ have been called in the first place once an illegal instruction had ++ been encountered. */ ++ as_fatal (_("Invalid instruction encountered, cannot recover. No assembly attempted.")); ++ } ++ ++ if (insn.insn_reloc->reloc_expression.X_op == O_constant) ++ return 1; ++ ++ return 0; ++} ++ ++static int ++get_expr_value (void) ++{ ++ int value = 0; ++ if (insn.insn_reloc->reloc_expression.X_op == O_constant) ++ value = insn.insn_reloc->reloc_expression.X_add_number; ++ return value; ++} ++ ++/* Output an addi - will silently convert to ++ orhi if rA = r0 and (expr & 0xffff0000) == 0. */ ++static void ++output_addi (void) ++{ ++ int expr_val = 0; ++ if (can_evaluate_expr ()) ++ { ++ expr_val = get_expr_value (); ++ if (GET_INSN_FIELD (RRS, insn.insn_code) == 0 && ++ (expr_val & 0xffff) == 0 && expr_val != 0) ++ { ++ ++ /* We really want a movhi (orhi) here. */ ++ insn.insn_code = (insn.insn_code & ~OP_MATCH_ADDI) | OP_MATCH_ORHI; ++ insn.insn_reloc->reloc_expression.X_add_number = ++ (insn.insn_reloc->reloc_expression.X_add_number >> 16) & 0xffff; ++ insn.insn_reloc->reloc_type = BFD_RELOC_NIOS2_U16; ++ } ++ } ++ ++ /* Output an instruction. */ ++ output_insn (); ++} ++ ++static void ++output_andi (void) ++{ ++ int expr_val = 0; ++ if (can_evaluate_expr ()) ++ { ++ expr_val = get_expr_value (); ++ if (expr_val != 0 && (expr_val & 0xffff) == 0) ++ { ++ /* We really want a movhi (orhi) here. */ ++ insn.insn_code = (insn.insn_code & ~OP_MATCH_ANDI) | OP_MATCH_ANDHI; ++ insn.insn_reloc->reloc_expression.X_add_number = ++ (insn.insn_reloc->reloc_expression.X_add_number >> 16) & 0xffff; ++ insn.insn_reloc->reloc_type = BFD_RELOC_NIOS2_U16; ++ } ++ } ++ ++ /* Output an instruction. */ ++ output_insn (); ++} ++ ++static void ++output_ori (void) ++{ ++ int expr_val = 0; ++ if (can_evaluate_expr ()) ++ { ++ expr_val = get_expr_value (); ++ if (expr_val != 0 && (expr_val & 0xffff) == 0) ++ { ++ /* We really want a movhi (orhi) here. */ ++ insn.insn_code = (insn.insn_code & ~OP_MATCH_ORI) | OP_MATCH_ORHI; ++ insn.insn_reloc->reloc_expression.X_add_number = ++ (insn.insn_reloc->reloc_expression.X_add_number >> 16) & 0xffff; ++ insn.insn_reloc->reloc_type = BFD_RELOC_NIOS2_U16; ++ } ++ } ++ ++ /* Output an instruction. */ ++ output_insn (); ++} ++ ++static void ++output_xori (void) ++{ ++ int expr_val = 0; ++ if (can_evaluate_expr ()) ++ { ++ expr_val = get_expr_value (); ++ if (expr_val != 0 && (expr_val & 0xffff) == 0) ++ { ++ /* We really want a movhi (orhi) here. */ ++ insn.insn_code = (insn.insn_code & ~OP_MATCH_XORI) | OP_MATCH_XORHI; ++ insn.insn_reloc->reloc_expression.X_add_number = ++ (insn.insn_reloc->reloc_expression.X_add_number >> 16) & 0xffff; ++ insn.insn_reloc->reloc_type = BFD_RELOC_NIOS2_U16; ++ } ++ } ++ ++ /* Output an instruction. */ ++ output_insn (); ++} ++ ++ ++/* Output a movhi/addi pair for the movia pseudo-op. */ ++static void ++output_movia (void) ++{ ++ char *f; ++ nios2_insn_relocS *reloc; ++ f = frag_more (8); ++ unsigned long reg_index = GET_INSN_FIELD (IRT, insn.insn_code); ++ ++ /* This allocates enough space for the instruction ++ and puts it in the current frag. */ ++ reloc = insn.insn_reloc; ++ ++ /* If the reloc is NULL, there was an error assembling the movia. */ ++ if (reloc != NULL) ++ { ++ md_number_to_chars (f, insn.insn_code, 4); ++ dwarf2_emit_insn (4); ++ md_number_to_chars (f + 4, ++ OP_MATCH_ADDI | (reg_index << OP_SH_IRT) | ++ (reg_index << OP_SH_IRS), 4); ++ dwarf2_emit_insn (4); ++ fix_new (frag_now, f - frag_now->fr_literal, 4, ++ reloc->reloc_expression.X_add_symbol, ++ reloc->reloc_expression.X_add_number, 0, ++ BFD_RELOC_NIOS2_HIADJ16); ++ fix_new (frag_now, f + 4 - frag_now->fr_literal, 4, ++ reloc->reloc_expression.X_add_symbol, ++ reloc->reloc_expression.X_add_number, 0, BFD_RELOC_NIOS2_LO16); ++ ++ } ++} ++ ++/* Function md_chars_to_number takes the sequence of ++ bytes in buf and returns the corresponding value ++ in an int. n must be 1, 2 or 4. */ ++valueT ++md_chars_to_number (char *buf, int n) ++{ ++ int i; ++ valueT val; ++ ++ gas_assert (n == 1 || n == 2 || n == 4); ++ ++ val = 0; ++ if (target_big_endian) ++ { ++ for (i = 0; i < n; ++i) ++ { ++ val = val | ((buf[i] & 0xff) << 8 * (n - (i + 1))); ++ } ++ } ++ else ++ { ++ for (i = 0; i < n; ++i) ++ { ++ val = val | ((buf[i] & 0xff) << 8 * i); ++ } ++ } ++ return val; ++} ++ ++ ++/* This function turns a C long int, short int or char ++ into the series of bytes that represent the number ++ on the target machine. */ ++void ++md_number_to_chars (char *buf, valueT val, int n) ++{ ++ gas_assert (n == 1 || n == 2 || n == 4); ++ if (target_big_endian) ++ { ++ number_to_chars_bigendian (buf, val, n); ++ } ++ else ++ { ++ number_to_chars_littleendian (buf, val, n); ++ } ++} ++ ++/* This function is identical to md_number_to_chars. */ ++void ++md_number_to_imm (char *buf, valueT val, int n) ++{ ++ md_number_to_chars (buf, val, n); ++} ++ ++/* This function is identical to md_number_to_chars. */ ++void ++md_number_to_disp (char *buf, valueT val, int n) ++{ ++ md_number_to_chars (buf, val, n); ++} ++ ++/* This function is identical to md_number_to_chars. */ ++void ++md_number_to_field (char *buf, valueT val, int n) ++{ ++ md_number_to_chars (buf, val, n); ++} ++ ++/* Turn a string in input_line_pointer into a floating point constant ++ of type TYPE, and store the appropriate bytes in *LITP. The number ++ of LITTLENUMS emitted is stored in *SIZEP. An error message is ++ returned, or NULL on OK. */ ++char * ++md_atof (int type, char *litP, int *sizeP) ++{ ++ int prec; ++ LITTLENUM_TYPE words[4]; ++ char *t; ++ int i; ++ ++ switch (type) ++ { ++ case 'f': ++ prec = 2; ++ break; ++ case 'd': ++ prec = 4; ++ break; ++ default: ++ *sizeP = 0; ++ return _("bad call to md_atof"); ++ } ++ ++ t = atof_ieee (input_line_pointer, type, words); ++ if (t) ++ input_line_pointer = t; ++ ++ *sizeP = prec * 2; ++ ++ if (! target_big_endian) ++ { ++ for (i = prec - 1; i >= 0; i--) ++ { ++ md_number_to_chars (litP, (valueT) words[i], 2); ++ litP += 2; ++ } ++ } ++ else ++ { ++ for (i = 0; i < prec; i++) ++ { ++ md_number_to_chars (litP, (valueT) words[i], 2); ++ litP += 2; ++ } ++ } ++ ++ return NULL; ++} ++ ++ ++ ++int md_short_jump_size; ++int md_long_jump_size; ++ ++void ++md_create_short_jump (char *result_ptr ATTRIBUTE_UNUSED, ++ addressT from_addr ATTRIBUTE_UNUSED, ++ addressT to_addr ATTRIBUTE_UNUSED, ++ fragS * frag ATTRIBUTE_UNUSED, ++ symbolS * to_symbol ATTRIBUTE_UNUSED) ++{ ++ abort (); ++} ++ ++void ++md_create_long_jump (char *ptr ATTRIBUTE_UNUSED, ++ addressT from_addr ATTRIBUTE_UNUSED, ++ addressT to_addr ATTRIBUTE_UNUSED, ++ fragS * frag ATTRIBUTE_UNUSED, ++ symbolS * to_symbol ATTRIBUTE_UNUSED) ++{ ++ abort (); ++} ++ ++int ++md_estimate_size_before_relax (fragS * fragp, segT segment ATTRIBUTE_UNUSED) ++{ ++ /* We only support ELF targets. */ ++ ++ switch (nios2_as_options.relax) ++ { ++ case relax_none: ++ case relax_section: ++ break; ++ case relax_all: ++ /* The NIOS2 linker performs relaxation so the assembler ++ always assumes the worst case, so that the linker can ++ replace with a better case if possible - this way, linker ++ relaxation can never cause a short branch to be out of range. */ ++ while (nios2_relax_table[fragp->fr_subtype].rlx_more != 0) ++ fragp->fr_subtype = nios2_relax_table[fragp->fr_subtype].rlx_more; ++ break; ++ default: ++ abort (); ++ break; ++ } ++ ++ /* Return the estimated size of the frag. */ ++ return nios2_relax_table[fragp->fr_subtype].rlx_length; ++} ++ ++ ++void ++md_convert_frag (bfd * headers ATTRIBUTE_UNUSED, segT seg ATTRIBUTE_UNUSED, ++ fragS * fragp) ++{ ++ unsigned char *buffer = fragp->fr_literal + fragp->fr_fix; ++ relax_substateT subtype = fragp->fr_subtype; ++ unsigned int growth = RELAX_SIZE (subtype); ++ unsigned int br_opcode, br_op_a, br_op_b; ++ ++ switch (subtype) ++ { ++ case UBRANCH: ++ /* We just need to generate the fixup for the symbol and offset. */ ++ fix_new (fragp, fragp->fr_fix, 4, fragp->fr_symbol, fragp->fr_offset, 1, ++ BFD_RELOC_16_PCREL); ++ break; ++ case UJMP: ++ /* Replace ubranch at fr_fix with : ++ movhi at, %hi(symbol+offset) ++ ori at, %lo(symbol+offset) ++ jmp at ++ */ ++ md_number_to_chars (buffer, OP_MATCH_ORHI | 0x00400000, 4); ++ md_number_to_chars (buffer + 4, OP_MATCH_ORI | 0x08400000, 4); ++ md_number_to_chars (buffer + 8, OP_MATCH_JMP | 0x08000000, 4); ++ fix_new (fragp, fragp->fr_fix, 4, fragp->fr_symbol, fragp->fr_offset, 0, ++ BFD_RELOC_NIOS2_UJMP); ++ break; ++ case CBRANCH: ++ /* We just need to generate the fixup for the symbol and offset. */ ++ fix_new (fragp, fragp->fr_fix, 4, fragp->fr_symbol, fragp->fr_offset, 1, ++ BFD_RELOC_16_PCREL); ++ break; ++ case CJMP: ++ /* Replace cbranch at fr_fix with : ++ b(opposite condition) r, s, skip ++ movhi at, %hi(symbol+offset) ++ ori at, %lo(symbol+offset) ++ jmp at ++ skip: ++ ... ++ */ ++ br_opcode = md_chars_to_number (buffer, 4); ++ ++ switch (br_opcode & OP_MASK_OP) ++ { ++ case OP_MATCH_BEQ: ++ br_opcode = ++ (br_opcode & ~OP_MASK_OP) | OP_MATCH_BNE | (12 << OP_SH_IMM16); ++ break; ++ case OP_MATCH_BNE: ++ br_opcode = ++ (br_opcode & ~OP_MASK_OP) | OP_MATCH_BEQ | (12 << OP_SH_IMM16); ++ break; ++ case OP_MATCH_BGE: ++ case OP_MATCH_BGEU: ++ case OP_MATCH_BLT: ++ case OP_MATCH_BLTU: ++ /* Swap the operands. */ ++ br_op_a = (br_opcode & OP_MASK_RRT) << 5; ++ br_op_b = (br_opcode & OP_MASK_RRS) >> 5; ++ br_opcode = ++ (br_opcode & ~(OP_MASK_RRS | OP_MASK_RRT)) | br_op_a | br_op_b | ++ (12 << OP_SH_IMM16); ++ break; ++ default: ++ as_bad_where (fragp->fr_file, fragp->fr_line, ++ _("expecting conditional branch for relaxation\n")); ++ abort (); ++ } ++ ++ md_number_to_chars (buffer, br_opcode, 4); ++ md_number_to_chars (buffer + 4, OP_MATCH_ORHI | 0x00400000, 4); ++ md_number_to_chars (buffer + 8, OP_MATCH_ORI | 0x08400000, 4); ++ md_number_to_chars (buffer + 12, OP_MATCH_JMP | 0x08000000, 4); ++ fix_new (fragp, fragp->fr_fix + 4, 4, fragp->fr_symbol, ++ fragp->fr_offset, 0, BFD_RELOC_NIOS2_CJMP); ++ break; ++ default: ++ as_bad_where (fragp->fr_file, fragp->fr_line, ++ _("can't relax instruction\n")); ++ abort (); ++ break; ++ } ++ ++ fragp->fr_fix += growth; ++} ++ ++ ++/* Round up section size. */ ++valueT ++md_section_align (asection * seg ATTRIBUTE_UNUSED, valueT size) ++{ ++ /* I think byte alignment is fine here */ ++ return size; ++} ++ ++ ++int ++nios2_force_relocation (fixS * fixp) ++{ ++ if (fixp->fx_r_type == BFD_RELOC_VTABLE_INHERIT ++ || fixp->fx_r_type == BFD_RELOC_VTABLE_ENTRY ++ || fixp->fx_r_type == BFD_RELOC_NIOS2_ALIGN) ++ return 1; ++ ++ return generic_force_reloc (fixp); ++} ++ ++/* nios2_fix_adjustable is called to see whether a reloc against a defined ++ symbol should be converted into a reloc against a section. */ ++int ++nios2_fix_adjustable (fixS * fixp) ++{ ++ if (fixp->fx_addsy == NULL) ++ return 1; ++ ++#ifdef OBJ_ELF ++ /* Prevent all adjustments to global symbols. */ ++ if (OUTPUT_FLAVOR == bfd_target_elf_flavour ++ && (S_IS_EXTERNAL (fixp->fx_addsy) || S_IS_WEAK (fixp->fx_addsy))) ++ return 0; ++#endif ++ if (fixp->fx_r_type == BFD_RELOC_VTABLE_INHERIT ++ || fixp->fx_r_type == BFD_RELOC_VTABLE_ENTRY) ++ return 0; ++ ++ /* Preserve relocations against symbols with function type. */ ++ if (symbol_get_bfdsym (fixp->fx_addsy)->flags & BSF_FUNCTION) ++ return 0; ++ ++ /* Don't allow symbols to be discarded on GOT related relocs. */ ++ if (fixp->fx_r_type == BFD_RELOC_NIOS2_GOT16 ++ || fixp->fx_r_type == BFD_RELOC_NIOS2_CALL16 ++ || fixp->fx_r_type == BFD_RELOC_NIOS2_GOTOFF_LO ++ || fixp->fx_r_type == BFD_RELOC_NIOS2_GOTOFF_HA ++ || fixp->fx_r_type == BFD_RELOC_NIOS2_TLS_GD16 ++ || fixp->fx_r_type == BFD_RELOC_NIOS2_TLS_LDM16 ++ || fixp->fx_r_type == BFD_RELOC_NIOS2_TLS_LDO16 ++ || fixp->fx_r_type == BFD_RELOC_NIOS2_TLS_IE16 ++ || fixp->fx_r_type == BFD_RELOC_NIOS2_TLS_LE16 ++ || fixp->fx_r_type == BFD_RELOC_NIOS2_TLS_DTPMOD ++ || fixp->fx_r_type == BFD_RELOC_NIOS2_TLS_DTPREL ++ || fixp->fx_r_type == BFD_RELOC_NIOS2_TLS_TPREL ++ || fixp->fx_r_type == BFD_RELOC_NIOS2_GOTOFF) ++ return 0; ++ ++ return 1; ++} ++ ++/* nios2_frob_symbol is called in adjust_reloc_syms through the macro ++ tc_frob_symbol - it is used to remove *ABS* references from the ++ symbol table. */ ++int ++nios2_frob_symbol (symbolS * symp) ++{ ++ if ((OUTPUT_FLAVOR == bfd_target_elf_flavour ++ && (symp) == section_symbol (absolute_section)) ++ || !S_IS_DEFINED (symp)) ++ return 1; ++ else ++ return 0; ++} ++ ++/* The function tc_gen_reloc creates a relocation structure for the ++ fixup fixp, and returns a pointer to it. This structure is passed ++ to bfd_install_relocation so that it can be written to the object ++ file for linking. ++*/ ++arelent * ++tc_gen_reloc (asection * section ATTRIBUTE_UNUSED, fixS * fixp) ++{ ++ arelent *reloc; ++ reloc = (arelent *) xmalloc (sizeof (arelent)); ++ reloc->sym_ptr_ptr = (asymbol **) xmalloc (sizeof (asymbol *)); ++ *reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy); ++ ++ reloc->address = fixp->fx_frag->fr_address + fixp->fx_where; ++ reloc->addend = fixp->fx_offset; // fixp->fx_addnumber; ++ ++ if (fixp->fx_pcrel) ++ { ++ switch (fixp->fx_r_type) ++ { ++ case BFD_RELOC_16: ++ fixp->fx_r_type = BFD_RELOC_16_PCREL; ++ break; ++ case BFD_RELOC_NIOS2_LO16: ++ fixp->fx_r_type = BFD_RELOC_NIOS2_PCREL_LO; ++ break; ++ case BFD_RELOC_NIOS2_HIADJ16: ++ fixp->fx_r_type = BFD_RELOC_NIOS2_PCREL_HA; ++ break; ++ default: ++ break; ++ } ++ } ++ ++ reloc->howto = bfd_reloc_type_lookup (stdoutput, fixp->fx_r_type); ++ if (reloc->howto == NULL) ++ { ++ as_bad_where (fixp->fx_file, fixp->fx_line, ++ _("can't represent relocation type %s"), ++ bfd_get_reloc_code_name (fixp->fx_r_type)); ++ ++ /* Set howto to a garbage value so that we can keep going. */ ++ reloc->howto = bfd_reloc_type_lookup (stdoutput, BFD_RELOC_32); ++ gas_assert (reloc->howto != NULL); ++ } ++ return reloc; ++} ++ ++long ++md_pcrel_from (fixS * fixP ATTRIBUTE_UNUSED) ++{ ++ return 0; ++} ++ ++ ++/* Apply a fixup to the object file. */ ++void ++md_apply_fix (fixS * fixP, valueT * valP, segT seg ATTRIBUTE_UNUSED) ++{ ++ const struct nios2_opcode *opcode; ++ enum overflow_type overflow_msg_type; ++ bfd_boolean overflowed = FALSE; ++ valueT fixup = 0; ++ ++ /* Assert that the fixup is one we can handle. */ ++ gas_assert (fixP != NULL && valP != NULL && ++ (fixP->fx_r_type == BFD_RELOC_8 || ++ fixP->fx_r_type == BFD_RELOC_16 || ++ fixP->fx_r_type == BFD_RELOC_32 || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_S16 || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_U16 || ++ fixP->fx_r_type == BFD_RELOC_16_PCREL || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_CALL26 || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_IMM5 || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_CACHE_OPX || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_IMM6 || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_IMM8 || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_HI16 || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_LO16 || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_HIADJ16 || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_GPREL || ++ fixP->fx_r_type == BFD_RELOC_VTABLE_INHERIT || ++ fixP->fx_r_type == BFD_RELOC_VTABLE_ENTRY || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_UJMP || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_CJMP || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_CALLR || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_ALIGN || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_GOT16 || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_CALL16 || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_GOTOFF_LO || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_GOTOFF_HA || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_TLS_GD16 || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_TLS_LDM16 || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_TLS_LDO16 || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_TLS_IE16 || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_TLS_LE16 || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_GOTOFF || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_TLS_DTPREL ++ /* Add other relocs here as we generate them. */ ++ )); ++ ++ ++ /* The value passed in valP can be the value of a fully ++ resolved expression, or it can be the value of a partially ++ resolved expression. In the former case, both fixP->fx_addsy ++ and fixP->fx_subsy are NULL, and fixP->fx_offset == *valP, and ++ we can fix up the instruction that fixP relates to. ++ In the latter case, one or both of fixP->fx_addsy and ++ fixP->fx_subsy are not NULL, and fixP->fx_offset may or may not ++ equal *valP. We don't need to check for fixP->fx_subsy being null ++ because the generic part of the assembler generates an error if ++ it is not an absolute symbol. */ ++ ++ if (fixP->fx_addsy != NULL) ++ { ++ fixP->fx_addnumber = fixP->fx_offset; ++ fixP->fx_done = 0; ++ ++ switch (fixP->fx_r_type) ++ { ++ case BFD_RELOC_NIOS2_TLS_GD16: ++ case BFD_RELOC_NIOS2_TLS_LDM16: ++ case BFD_RELOC_NIOS2_TLS_LDO16: ++ case BFD_RELOC_NIOS2_TLS_IE16: ++ case BFD_RELOC_NIOS2_TLS_LE16: ++ case BFD_RELOC_NIOS2_TLS_DTPMOD: ++ case BFD_RELOC_NIOS2_TLS_DTPREL: ++ case BFD_RELOC_NIOS2_TLS_TPREL: ++ S_SET_THREAD_LOCAL (fixP->fx_addsy); ++ break; ++ default: ++ break; ++ } ++ } ++ else ++ { ++ valueT value; ++ ++ char *buf; ++ reloc_howto_type *howto; ++ howto = bfd_reloc_type_lookup (stdoutput, fixP->fx_r_type); ++ ++ if (howto == NULL) ++ { ++ as_bad_where (fixP->fx_file, fixP->fx_line, ++ _("relocation is not supported")); ++ } ++ else ++ { ++ fixup += *valP; ++ ++ /* If this is a pc-relative relocation, we need to ++ subtract the current offset within the object file ++ FIXME : for some reason fixP->fx_pcrel isn't 1 when it should be ++ so I'm using the howto structure instead to determine this. */ ++ if (howto->pc_relative == 1) ++ fixup = fixup - (fixP->fx_frag->fr_address + fixP->fx_where + 4); ++ ++ ++ ++ /* Get the instruction to be fixed up. */ ++ buf = fixP->fx_frag->fr_literal + fixP->fx_where; ++ value = md_chars_to_number (buf, 4); ++ ++ /* What opcode is the instruction? This will determine ++ whether we check for overflow in immediate values ++ and what error message we get. */ ++ opcode = nios2_find_opcode_hash (value); ++ overflow_msg_type = opcode->overflow_msg; ++ ++ overflowed = nios2_check_overflow (fixup, howto); ++ ++ ++ if (overflowed) ++ { ++ unsigned int range_min; ++ unsigned int range_max; ++ unsigned int address; ++ switch (overflow_msg_type) ++ { ++ case call_target_overflow: ++ range_min = ++ ((fixP->fx_frag->fr_address + ++ fixP->fx_where) & 0xf0000000); ++ range_max = range_min + 0x0fffffff; ++ address = fixup | range_min; ++ ++ as_bad_where (fixP->fx_file, fixP->fx_line, ++ _(overflow_msgs[call_target_overflow]), ++ address, range_min, range_max); ++ break; ++ case branch_target_overflow: ++ as_bad_where (fixP->fx_file, fixP->fx_line, ++ _(overflow_msgs[branch_target_overflow]), ++ fixup, BYTE_B, BYTE_F); ++ break; ++ case address_offset_overflow: ++ as_bad_where (fixP->fx_file, fixP->fx_line, ++ _(overflow_msgs[address_offset_overflow]), ++ opcode->name, fixup, -32768, 32767); ++ break; ++ case signed_immed16_overflow: ++ as_bad_where (fixP->fx_file, fixP->fx_line, ++ _(overflow_msgs[signed_immed16_overflow]), ++ fixup, -32768, 32767); ++ break; ++ case unsigned_immed16_overflow: ++ as_bad_where (fixP->fx_file, fixP->fx_line, ++ _(overflow_msgs[unsigned_immed16_overflow]), ++ fixup, 0, 65535); ++ break; ++ case unsigned_immed5_overflow: ++ as_bad_where (fixP->fx_file, fixP->fx_line, ++ _(overflow_msgs[unsigned_immed5_overflow]), ++ fixup, 0, 31); ++ break; ++ case custom_opcode_overflow: ++ as_bad_where (fixP->fx_file, fixP->fx_line, ++ _(overflow_msgs[custom_opcode_overflow]), ++ fixup, 0, 255); ++ break; ++ default: ++ as_bad_where (fixP->fx_file, fixP->fx_line, ++ _ ++ ("unspecified overflow in immediate argument")); ++ break; ++ } ++ } ++ ++ ++ /* Apply the rightshift. */ ++ fixup = ((signed)fixup) >> howto->rightshift; ++ ++ /* Truncate the fixup to right size. */ ++ switch (fixP->fx_r_type) ++ { ++ case BFD_RELOC_NIOS2_HI16: ++ fixup = (fixup >> 16) & 0xFFFF; ++ break; ++ case BFD_RELOC_NIOS2_LO16: ++ fixup = fixup & 0xFFFF; ++ break; ++ case BFD_RELOC_NIOS2_HIADJ16: ++ fixup = ((fixup >> 16) & 0xFFFF) + ((fixup >> 15) & 0x01); ++ break; ++ default: ++ fixup = ++ (fixup << (32 - howto->bitsize)) >> (32 - howto->bitsize); ++ break; ++ } ++ ++ /* Fixup the instruction. */ ++ value = (value & ~howto->dst_mask) | (fixup << howto->bitpos); ++ md_number_to_chars (buf, value, 4); ++ } ++ ++ fixP->fx_done = 1; ++ } ++ ++ if (fixP->fx_r_type == BFD_RELOC_VTABLE_INHERIT) ++ { ++ fixP->fx_done = 0; ++ if (fixP->fx_addsy ++ && !S_IS_DEFINED (fixP->fx_addsy) && !S_IS_WEAK (fixP->fx_addsy)) ++ S_SET_WEAK (fixP->fx_addsy); ++ } ++ else if (fixP->fx_r_type == BFD_RELOC_VTABLE_ENTRY) ++ { ++ fixP->fx_done = 0; ++ } ++} ++ ++bfd_boolean ++nios2_check_overflow (valueT fixup, reloc_howto_type * howto) ++{ ++ /* Apply the rightshift before checking for overflow. */ ++ fixup = ((signed)fixup) >> howto->rightshift; ++ ++ /* Check for overflow - return TRUE if overflow, FALSE if not. */ ++ switch (howto->complain_on_overflow) ++ { ++ case complain_overflow_dont: ++ break; ++ case complain_overflow_bitfield: ++ if ((fixup >> howto->bitsize) != 0) ++ return TRUE; ++ break; ++ case complain_overflow_signed: ++ if ((fixup & 0x80000000) > 0) ++ { ++ /* Check for negative overflow. */ ++ if ((signed) fixup < ((signed) 0x80000000 >> howto->bitsize)) ++ return TRUE; ++ } ++ else ++ { ++ /* Check for positive overflow. */ ++ if (fixup >= ((unsigned) 1 << (howto->bitsize - 1))) ++ return TRUE; ++ } ++ break; ++ case complain_overflow_unsigned: ++ if ((fixup >> howto->bitsize) != 0) ++ return TRUE; ++ break; ++ default: ++ as_bad (_("error checking for overflow - broken assembler")); ++ break; ++ } ++ ++ return FALSE; ++} ++ ++/* Called just before the assembler exits. */ ++void ++md_end () ++{ ++ /* FIXME - not yet implemented */ ++} ++ ++/* Under ELF we need to default _GLOBAL_OFFSET_TABLE. ++ Otherwise we have no need to default values of symbols. */ ++ ++symbolS * ++md_undefined_symbol (char * name ATTRIBUTE_UNUSED) ++{ ++#ifdef OBJ_ELF ++ if (name[0] == '_' && name[1] == 'G' ++ && streq (name, GLOBAL_OFFSET_TABLE_NAME)) ++ { ++ if (!GOT_symbol) ++ { ++ if (symbol_find (name)) ++ as_bad ("GOT already in the symbol table"); ++ ++ GOT_symbol = symbol_new (name, undefined_section, ++ (valueT) 0, & zero_address_frag); ++ } ++ ++ return GOT_symbol; ++ } ++#endif ++ ++ return 0; ++} ++ ++ ++/* Creates a new nios2_insn_relocS and returns a pointer to it. */ ++nios2_insn_relocS * ++nios2_insn_reloc_new (bfd_reloc_code_real_type reloc_type, unsigned int pcrel) ++{ ++ nios2_insn_relocS *retval; ++ retval = (nios2_insn_relocS *) malloc (sizeof (nios2_insn_relocS)); ++ if (retval == NULL) ++ { ++ as_bad (_("can't create relocation")); ++ abort (); ++ } ++ ++ /* Fill out the fields with default values. */ ++ retval->reloc_next = NULL; ++ retval->reloc_type = reloc_type; ++ retval->reloc_pcrel = pcrel; ++ return retval; ++} ++ ++/* Frees up memory previously allocated by nios2_insn_reloc_new(). */ ++void ++nios2_insn_reloc_destroy (nios2_insn_relocS * reloc) ++{ ++ gas_assert (reloc != NULL); ++ free (reloc); ++} ++ ++/* The various nios2_assemble_* functions call this ++ function to generate an expression from a string representing an expression. ++ It then tries to evaluate the expression, and if it can, returns its value. ++ If not, it creates a new nios2_insn_relocS and stores the expression and ++ reloc_type for future use. */ ++unsigned long ++nios2_assemble_expression (const char *exprstr, ++ nios2_insn_infoS * insn, ++ nios2_insn_relocS * prev_reloc, ++ bfd_reloc_code_real_type reloc_type, ++ unsigned int pcrel) ++{ ++ nios2_insn_relocS *reloc; ++ char *saved_line_ptr; ++ unsigned short value; ++ int i; ++ ++ gas_assert (exprstr != NULL); ++ gas_assert (insn != NULL); ++ ++ /* Check for relocation operators. ++ Change the relocation type and advance the ptr to the start of ++ the expression proper. */ ++ for (i = 0; i < nios2_num_special_relocs; i++) ++ { ++ if (strstr (exprstr, nios2_special_reloc[i].string) != NULL) ++ { ++ reloc_type = nios2_special_reloc[i].reloc_type; ++ exprstr += strlen (nios2_special_reloc[i].string) + 1; ++ ++ /* %lo and %hiadj have different meanings for PC-relative ++ expressions. */ ++ if (pcrel) ++ { ++ if (reloc_type == BFD_RELOC_NIOS2_LO16) ++ reloc_type = BFD_RELOC_NIOS2_PCREL_LO; ++ if (reloc_type == BFD_RELOC_NIOS2_HIADJ16) ++ reloc_type = BFD_RELOC_NIOS2_PCREL_HA; ++ } ++ ++ break; ++ } ++ } ++ ++ /* We potentially have a relocation. */ ++ reloc = nios2_insn_reloc_new (reloc_type, pcrel); ++ if (prev_reloc != NULL) ++ prev_reloc->reloc_next = reloc; ++ else ++ insn->insn_reloc = reloc; ++ ++ /* Parse the expression string. */ ++ saved_line_ptr = input_line_pointer; ++ input_line_pointer = (char *) exprstr; ++ expression (&reloc->reloc_expression); ++ input_line_pointer = saved_line_ptr; ++ ++ /* This is redundant as the fixup will put this into ++ the instruction, but it is included here so that ++ self-test mode (-r) works. */ ++ value = 0; ++ if (nios2_mode == NIOS2_MODE_TEST) ++ { ++ if (reloc->reloc_expression.X_op == O_constant) ++ value = reloc->reloc_expression.X_add_number; ++ } ++ ++ return (unsigned long) value; ++} ++ ++/* The function consume_separate takes a pointer into a string ++ of instruction tokens (args) and a pointer into a string representing ++ the expected sequence of tokens and separators. It finds the first ++ instance of the character pointed to by separator in argStr, and ++ returns a pointer to the next element of argStr, which is the ++ following token in the sequence. */ ++char * ++nios2_consume_separator (char *argStr, const char *separator) ++{ ++ char *argPtr; ++ ++ /* If we have a opcode reg, expr(reg) type instruction, and ++ * we are separating the expr from the (reg), we find the last ++ * (, just in case the expression has brackets. */ ++ ++ if (*separator == '(') ++ argPtr = strrchr (argStr, *separator); ++ else ++ argPtr = strchr (argStr, *separator); ++ ++ if (argPtr != NULL) ++ *argPtr++ = 0; ++ else ++ as_bad (_("expecting %c near %s"), *separator, argStr); ++ return argPtr; ++} ++ ++/* The function consume_arg takes a pointer into a string ++ of instruction tokens (args) and a pointer into a string ++ representing the expected sequence of tokens and separators. ++ It checks whether the first argument in argStr is of the ++ expected type, throwing an error if it is not, and returns ++ the pointer argStr. */ ++char * ++nios2_consume_arg (char *argStr, const char *argType) ++{ ++ char *temp; ++ int regno = -1; ++ ++ switch (*argType) ++ { ++ case 'c': ++ if (strncmp (argStr, "ctl", strlen ("ctl")) != 0 ++ && strncmp (argStr, "cpuid", strlen ("cpuid")) != 0 ++ && strncmp (argStr, "status", strlen ("status")) != 0 ++ && strncmp (argStr, "estatus", strlen ("estatus")) != 0 ++ && strncmp (argStr, "bstatus", strlen ("bstatus")) != 0 ++ && strncmp (argStr, "ienable", strlen ("ienable")) != 0 ++ && strncmp (argStr, "ipending", strlen ("ipending")) != 0 ++ && strncmp (argStr, "exception", strlen ("exception")) != 0 ++ && strncmp (argStr, "pteaddr", strlen ("pteaddr")) != 0 ++ && strncmp (argStr, "tlbacc", strlen ("tlbacc")) != 0 ++ && strncmp (argStr, "tlbmisc", strlen ("tlbmisc")) != 0 ++ && strncmp (argStr, "fstatus", strlen ("fstatus")) != 0 ++ && strncmp (argStr, "config", strlen ("config")) != 0 ++ && strncmp (argStr, "mpubase", strlen ("mpubase")) != 0 ++ && strncmp (argStr, "mpuacc", strlen ("mpuacc")) != 0 ++ && strncmp (argStr, "badaddr", strlen ("badaddr")) != 0) ++ { ++ as_bad (_("expecting control register")); ++ } ++ break; ++ case 'd': ++ case 's': ++ case 't': ++ ++ /* We check to make sure we don't have a control register. */ ++ if (strncmp (argStr, "ctl", strlen ("ctl")) == 0 ++ || strncmp (argStr, "cpuid", strlen ("cpuid")) == 0 ++ || strncmp (argStr, "status", strlen ("status")) == 0 ++ || strncmp (argStr, "estatus", strlen ("estatus")) == 0 ++ || strncmp (argStr, "bstatus", strlen ("bstatus")) == 0 ++ || strncmp (argStr, "ienable", strlen ("ienable")) == 0 ++ || strncmp (argStr, "ipending", strlen ("ipending")) == 0 ++ || strncmp (argStr, "exception", strlen ("exception")) == 0 ++ || strncmp (argStr, "pteaddr", strlen ("pteaddr")) == 0 ++ || strncmp (argStr, "tlbacc", strlen ("tlbacc")) == 0 ++ || strncmp (argStr, "tlbmisc", strlen ("tlbmisc")) == 0 ++ || strncmp (argStr, "fstatus", strlen ("fstatus")) == 0 ++ || strncmp (argStr, "config", strlen ("config")) == 0 ++ || strncmp (argStr, "mpubase", strlen ("mpubase")) == 0 ++ || strncmp (argStr, "mpuacc", strlen ("mpuacc")) == 0 ++ || strncmp (argStr, "badaddr", strlen ("badaddr")) == 0) ++ { ++ as_bad (_("illegal use of control register")); ++ } ++ ++ /* And whether coprocessor registers are valid here. */ ++ if (nios2_coproc_reg (argStr) ++ && insn.insn_nios2_opcode->match != OP_MATCH_CUSTOM) ++ { ++ as_bad (_("illegal use of coprocessor register\n")); ++ } ++ ++ ++ /* Extract a register number if the register is of the ++ form r[0-9]+, if it is a normal register, set ++ regno to its number (0-31), else set regno to -1. */ ++ if (argStr[0] == 'r' && ISDIGIT (argStr[1])) ++ { ++ char *p = argStr; ++ ++ ++p; ++ regno = 0; ++ do ++ { ++ regno *= 10; ++ regno += *p - '0'; ++ ++p; ++ } ++ while (ISDIGIT (*p)); ++ } ++ else ++ regno = -1; ++ ++ /* And whether we are using at. */ ++ if (!nios2_as_options.noat ++ && (regno == 1 ++ || strncmp (argStr, "at", strlen ("at")) == 0)) ++ as_warn (_("Register at (r1) can sometimes be corrupted by assembler " ++ "optimizations.\n" ++ "Use .set noat to turn off those optimizations (and this " ++ "warning).")); ++ ++ /* And whether we are using oci registers. */ ++ if (!nios2_as_options.nobreak ++ && (regno == 25 ++ || strncmp (argStr, "bt", strlen ("bt")) == 0)) ++ as_warn (_("The debugger will corrupt bt (r25). If you don't need to " ++ "debug this\n" ++ "code then use .set nobreak to turn off this warning.")); ++ ++ if (!nios2_as_options.nobreak ++ && (regno == 30 ++ || strncmp (argStr, "ba", strlen ("ba")) == 0)) ++ as_warn (_("The debugger will corrupt ba (r30). If you don't need to " ++ "debug this\n" ++ "code then use .set nobreak to turn off this warning.")); ++ break; ++ case 'i': ++ case 'u': ++ if (*argStr == '%') ++ { ++ if (strstr (argStr, "%hi(") || strstr (argStr, "%lo(") ++ || strstr (argStr, "%hiadj(") || strstr (argStr, "%gprel(") ++ || strstr (argStr, "%got(") || strstr (argStr, "%call(") ++ || strstr (argStr, "%gotoff_lo(") ++ || strstr (argStr, "%gotoff_hiadj(") ++ || strstr (argStr, "%tls_gd(") || strstr (argStr, "%tls_ldm(") ++ || strstr (argStr, "%tls_ldo(") || strstr (argStr, "%tls_ie(") ++ || strstr (argStr, "%tls_le(") || strstr (argStr, "%gotoff(")) ++ { ++ /* We zap the brackets because we don't want them confused with ++ separators. */ ++ temp = strchr (argStr, '('); ++ if (temp != NULL) ++ *temp = ' '; ++ temp = strchr (argStr, ')'); ++ if (temp != NULL) ++ *temp = ' '; ++ } ++ else ++ as_bad (_("badly formed expression near %s"), argStr); ++ } ++ break; ++ case 'm': ++ case 'j': ++ case 'k': ++ case 'l': ++ case 'b': ++ /* We can't have %hi, %lo or %hiadj here. */ ++ if (*argStr == '%') ++ as_bad (_("badly formed expression near %s"), argStr); ++ break; ++ default: ++ break; ++ } ++ ++#if 0 ++ /* ??? SPR:173865 This is actually supported by the HW but the documentation ++ is a bit funny. ++ The compiler really want the extra register, so let it have it! */ ++ /* checks for jmp 31 */ ++ /* TODO: move test that insn is jmp to somewhere better.*/ ++ if ((strncmp (insn.insn_nios2_opcode->name, "jmp", strlen ("jmp")) == 0) ++ && (regno == 31 ++ || strncmp (argStr, "ra", strlen ("ra")) == 0)) ++ as_bad (_("It is illegal to jump to the address contained in register ra " ++ "(r31). " ++ "To return from subroutines called by call or callr, use ret " ++ "instead of jmp.")); ++#endif ++ ++ return argStr; ++} ++ ++/* The principal argument parsing function which takes a string ++ representing the instruction arguments, and extracts the argument ++ tokens. */ ++void ++nios2_parse_args (char *argStr, const char *parseStr, char **parsedArgs) ++{ ++ char *p; ++ char *end = NULL; ++ int i; ++ p = argStr; ++ i = 0; ++ bfd_boolean terminate = FALSE; ++ ++ /* This rest of this function is it too fragile and it mostly works, ++ therefore special case this one. */ ++ if (*parseStr == 0 && argStr != 0) ++ { ++ as_bad (_("too many arguments")); ++ parsedArgs[0] = NULL; ++ return; ++ } ++ ++ ++ while (p != NULL && !terminate && i < NIOS2_MAX_INSN_TOKENS) ++ { ++ parsedArgs[i] = nios2_consume_arg (p, parseStr); ++ ++parseStr; ++ if (*parseStr != '\0') ++ { ++ p = nios2_consume_separator (p, parseStr); ++ ++parseStr; ++ } ++ else ++ { ++ /* Check that the argument string has no trailing arguments. */ ++ /* If we've got a %lo etc relocation, we've zapped the brackets with ++ spaces. */ ++ if (strstr (p, "%lo") == p || strstr (p, "%hi") == p ++ || strstr (p, "%hiadj") == p || strstr (p, "%gprel") == p ++ || strstr (p, "%got") == p || strstr (argStr, "%call") ++ || strstr (p, "%gotoff_lo") == p ++ || strstr (p, "%gotoff_hiadj") == p ++ || strstr (p, "%tls_gd") == p || strstr (p, "%tls_ldm") == p ++ || strstr (p, "%tls_ldo") == p || strstr (p, "%tls_ie") == p ++ || strstr (p, "%tls_le") == p || strstr (p, "%gotoff") == p) ++ end = strpbrk (p, ","); ++ else ++ end = strpbrk (p, " ,"); ++ ++ if (end != NULL) ++ as_bad (_("too many arguments")); ++ } ++ ++ if (*parseStr == '\0' || (p != NULL && *p == '\0')) ++ terminate = TRUE; ++ ++i; ++ } ++ ++ parsedArgs[i] = NULL; ++ ++ if (*parseStr != '\0' && insn.insn_nios2_opcode->match != OP_MATCH_BREAK) ++ as_bad (_("missing argument")); ++ ++} ++ ++ ++/* Checks whether the register name is a coprocessor ++ register - returns TRUE if it is, FALSE otherwise. */ ++static bfd_boolean ++nios2_coproc_reg (const char *reg_name) ++{ ++ gas_assert (reg_name != NULL); ++ ++ /* Check that we do have a valid register name and that it is a ++ coprocessor register. ++ It must begin with c, not be a control register, and be a valid ++ register name. */ ++ ++ if (strncmp (reg_name, "c", 1) == 0 && ++ strncmp (reg_name, "ctl", strlen ("ctl")) != 0 && ++ hash_find (nios2_reg_hash, reg_name) != NULL) ++ return TRUE; ++ else ++ return FALSE; ++} ++ ++ ++/********************************************************************* ++ Argument assemble functions ++ ++ Description : All take an instruction argument string, and a pointer ++ to an instruction opcode. Upon return the insn_opcode ++ has the relevant fields filled in to represent the arg ++ string. The return value is NULL if successful, or ++ an error message if an error was detected ++ *********************************************************************/ ++ ++/* Assembles register arguments "dst, src1, src2". */ ++void ++nios2_assemble_args_dst (nios2_insn_infoS * insn_info) ++{ ++ struct nios2_reg *dst, *src1, *src2; ++ ++ if (insn_info->insn_tokens[1] != NULL && ++ insn_info->insn_tokens[2] != NULL && insn_info->insn_tokens[3] != NULL) ++ { ++ dst = ++ (struct nios2_reg *) hash_find (nios2_reg_hash, ++ insn_info->insn_tokens[1]); ++ src1 = ++ (struct nios2_reg *) hash_find (nios2_reg_hash, ++ insn_info->insn_tokens[2]); ++ src2 = ++ (struct nios2_reg *) hash_find (nios2_reg_hash, ++ insn_info->insn_tokens[3]); ++ ++ if (dst == NULL) ++ as_bad (_("unknown register %s"), insn_info->insn_tokens[1]); ++ else ++ SET_INSN_FIELD (RRD, insn_info->insn_code, dst->index); ++ ++ if (src1 == NULL) ++ as_bad (_("unknown register %s"), insn_info->insn_tokens[2]); ++ else ++ SET_INSN_FIELD (RRS, insn_info->insn_code, src1->index); ++ ++ if (src2 == NULL) ++ as_bad (_("unknown register %s"), insn_info->insn_tokens[3]); ++ else ++ SET_INSN_FIELD (RRT, insn_info->insn_code, src2->index); ++ ++ ++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[4]); ++ } ++} ++ ++ ++/* Assembles arguments successfully parsed by nios2_parse_args_tsi. */ ++void ++nios2_assemble_args_tsi (nios2_insn_infoS * insn_info) ++{ ++ struct nios2_reg *dst, *src1; ++ unsigned int src2; ++ ++ if (insn_info->insn_tokens[1] != NULL && ++ insn_info->insn_tokens[2] != NULL && insn_info->insn_tokens[3] != NULL) ++ { ++ dst = ++ (struct nios2_reg *) hash_find (nios2_reg_hash, ++ insn_info->insn_tokens[1]); ++ src1 = ++ (struct nios2_reg *) hash_find (nios2_reg_hash, ++ insn_info->insn_tokens[2]); ++ src2 = ++ nios2_assemble_expression (insn_info->insn_tokens[3], insn_info, ++ insn_info->insn_reloc, BFD_RELOC_NIOS2_S16, ++ 0); ++ ++ if (dst == NULL) ++ as_bad (_("unknown register %s"), insn_info->insn_tokens[1]); ++ else ++ SET_INSN_FIELD (IRT, insn_info->insn_code, dst->index); ++ ++ if (src1 == NULL) ++ as_bad (_("unknown register %s"), insn_info->insn_tokens[2]); ++ else ++ SET_INSN_FIELD (IRS, insn_info->insn_code, src1->index); ++ ++ SET_INSN_FIELD (IMM16, insn_info->insn_code, src2); ++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[4]); ++ ++ SET_INSN_FIELD (IMM16, insn_info->insn_code, 0); ++ } ++} ++ ++ ++/* Assembles args successfully parsed by nios2_parse_args_tsu. */ ++void ++nios2_assemble_args_tsu (nios2_insn_infoS * insn_info) ++{ ++ struct nios2_reg *dst, *src1; ++ unsigned int src2; ++ ++ if (insn_info->insn_tokens[1] != NULL && ++ insn_info->insn_tokens[2] != NULL && insn_info->insn_tokens[3] != NULL) ++ { ++ dst = ++ (struct nios2_reg *) hash_find (nios2_reg_hash, ++ insn_info->insn_tokens[1]); ++ src1 = ++ (struct nios2_reg *) hash_find (nios2_reg_hash, ++ insn_info->insn_tokens[2]); ++ src2 = ++ nios2_assemble_expression (insn_info->insn_tokens[3], insn_info, ++ insn_info->insn_reloc, BFD_RELOC_NIOS2_U16, ++ 0); ++ ++ if (dst == NULL) ++ as_bad (_("unknown register %s"), insn_info->insn_tokens[1]); ++ else ++ SET_INSN_FIELD (IRT, insn_info->insn_code, dst->index); ++ ++ if (src1 == NULL) ++ as_bad (_("unknown register %s"), insn_info->insn_tokens[2]); ++ else ++ SET_INSN_FIELD (IRS, insn_info->insn_code, src1->index); ++ ++ SET_INSN_FIELD (IMM16, insn_info->insn_code, src2); ++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[4]); ++ ++ SET_INSN_FIELD (IMM16, insn_info->insn_code, 0); ++ } ++} ++ ++ ++/* Assembles args successfully parsed by nios2_parse_args_sti. */ ++void ++nios2_assemble_args_sto (nios2_insn_infoS * insn_info) ++{ ++ struct nios2_reg *dst, *src1; ++ unsigned int src2; ++ ++ if (insn_info->insn_tokens[1] != NULL && ++ insn_info->insn_tokens[2] != NULL && insn_info->insn_tokens[3] != NULL) ++ { ++ dst = ++ (struct nios2_reg *) hash_find (nios2_reg_hash, ++ insn_info->insn_tokens[1]); ++ src1 = ++ (struct nios2_reg *) hash_find (nios2_reg_hash, ++ insn_info->insn_tokens[2]); ++ src2 = ++ nios2_assemble_expression (insn_info->insn_tokens[3], insn_info, ++ insn_info->insn_reloc, BFD_RELOC_16_PCREL, ++ 1); ++ ++ if (dst == NULL) ++ as_bad (_("unknown register %s"), insn_info->insn_tokens[1]); ++ else ++ SET_INSN_FIELD (IRS, insn_info->insn_code, dst->index); ++ ++ if (src1 == NULL) ++ as_bad (_("unknown register %s"), insn_info->insn_tokens[2]); ++ else ++ SET_INSN_FIELD (IRT, insn_info->insn_code, src1->index); ++ ++ SET_INSN_FIELD (IMM16, insn_info->insn_code, src2); ++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[4]); ++ ++ SET_INSN_FIELD (IMM16, insn_info->insn_code, 0); ++ } ++} ++ ++ ++void ++nios2_assemble_args_o (nios2_insn_infoS * insn_info) ++{ ++ unsigned long immed; ++ ++ if (insn_info->insn_tokens[1] != NULL) ++ { ++ immed = ++ nios2_assemble_expression (insn_info->insn_tokens[1], insn_info, ++ insn_info->insn_reloc, BFD_RELOC_16_PCREL, ++ 1); ++ SET_INSN_FIELD (IMM16, insn_info->insn_code, immed); ++ ++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[2]); ++ ++ SET_INSN_FIELD (IMM16, insn_info->insn_code, 0); ++ } ++} ++ ++ ++void ++nios2_assemble_args_is (nios2_insn_infoS * insn_info) ++{ ++ struct nios2_reg *addr_src; ++ unsigned long immed; ++ ++ if (insn_info->insn_tokens[1] != NULL && insn_info->insn_tokens[2] != NULL) ++ { ++ addr_src = ++ (struct nios2_reg *) hash_find (nios2_reg_hash, ++ insn_info->insn_tokens[2]); ++ ++ immed = ++ nios2_assemble_expression (insn_info->insn_tokens[1], insn_info, ++ insn_info->insn_reloc, BFD_RELOC_NIOS2_S16, ++ 0); ++ ++ SET_INSN_FIELD (IMM16, insn_info->insn_code, immed); ++ ++ if (addr_src == NULL) ++ as_bad (_("unknown base register %s"), insn_info->insn_tokens[2]); ++ else ++ SET_INSN_FIELD (RRS, insn_info->insn_code, addr_src->index); ++ ++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[3]); ++ ++ SET_INSN_FIELD (IMM16, insn_info->insn_code, 0); ++ } ++} ++ ++ ++void ++nios2_assemble_args_m (nios2_insn_infoS * insn_info) ++{ ++ unsigned long immed; ++ if (insn_info->insn_tokens[1] != NULL) ++ { ++ immed = ++ nios2_assemble_expression (insn_info->insn_tokens[1], insn_info, ++ insn_info->insn_reloc, ++ BFD_RELOC_NIOS2_CALL26, 0); ++ ++ SET_INSN_FIELD (IMM26, insn_info->insn_code, immed); ++ ++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[2]); ++ ++ SET_INSN_FIELD (IMM26, insn_info->insn_code, 0); ++ } ++} ++ ++ ++void ++nios2_assemble_args_s (nios2_insn_infoS * insn_info) ++{ ++ struct nios2_reg *src; ++ ++ if (insn_info->insn_tokens[1] != NULL) ++ { ++ src = ++ (struct nios2_reg *) hash_find (nios2_reg_hash, ++ insn_info->insn_tokens[1]); ++ ++ if (src == NULL) ++ as_bad (_("unknown register %s"), insn_info->insn_tokens[1]); ++ else ++ SET_INSN_FIELD (RRS, insn_info->insn_code, src->index); ++ ++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[2]); ++ } ++} ++ ++ ++void ++nios2_assemble_args_tis (nios2_insn_infoS * insn_info) ++{ ++ struct nios2_reg *addr_src, *dst; ++ unsigned long immed; ++ ++ if (insn_info->insn_tokens[1] != NULL && ++ insn_info->insn_tokens[2] != NULL && insn_info->insn_tokens[3] != NULL) ++ { ++ ++ dst = ++ (struct nios2_reg *) hash_find (nios2_reg_hash, ++ insn_info->insn_tokens[1]); ++ addr_src = ++ (struct nios2_reg *) hash_find (nios2_reg_hash, ++ insn_info->insn_tokens[3]); ++ immed = ++ nios2_assemble_expression (insn_info->insn_tokens[2], insn_info, ++ insn_info->insn_reloc, BFD_RELOC_NIOS2_S16, ++ 0); ++ ++ ++ if (addr_src == NULL) ++ as_bad (_("unknown register %s"), insn_info->insn_tokens[3]); ++ else ++ SET_INSN_FIELD (RRS, insn_info->insn_code, addr_src->index); ++ ++ if (dst == NULL) ++ as_bad (_("unknown register %s"), insn_info->insn_tokens[1]); ++ else ++ SET_INSN_FIELD (RRT, insn_info->insn_code, dst->index); ++ ++ SET_INSN_FIELD (IMM16, insn_info->insn_code, immed); ++ ++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[4]); ++ ++ SET_INSN_FIELD (IMM16, insn_info->insn_code, 0); ++ } ++} ++ ++ ++/* Assemble rdctl dst, ctl. */ ++void ++nios2_assemble_args_dc (nios2_insn_infoS * insn_info) ++{ ++ struct nios2_reg *dst, *ctl; ++ ++ if (insn_info->insn_tokens[1] != NULL && insn_info->insn_tokens[2] != NULL) ++ { ++ ctl = ++ (struct nios2_reg *) hash_find (nios2_reg_hash, ++ insn_info->insn_tokens[2]); ++ dst = ++ (struct nios2_reg *) hash_find (nios2_reg_hash, ++ insn_info->insn_tokens[1]); ++ ++ if (ctl == NULL) ++ as_bad (_("unknown register %s"), insn_info->insn_tokens[1]); ++ else ++ SET_INSN_FIELD (RCTL, insn_info->insn_code, ctl->index); ++ ++ if (dst == NULL) ++ as_bad (_("unknown register %s"), insn_info->insn_tokens[2]); ++ else ++ SET_INSN_FIELD (RRD, insn_info->insn_code, dst->index); ++ ++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[3]); ++ } ++} ++ ++ ++/* Assemble wrctl ctl, src. */ ++void ++nios2_assemble_args_cs (nios2_insn_infoS * insn_info) ++{ ++ struct nios2_reg *src, *ctl; ++ ++ if (insn_info->insn_tokens[1] != NULL && insn_info->insn_tokens[2] != NULL) ++ { ++ ctl = ++ (struct nios2_reg *) hash_find (nios2_reg_hash, ++ insn_info->insn_tokens[1]); ++ src = ++ (struct nios2_reg *) hash_find (nios2_reg_hash, ++ insn_info->insn_tokens[2]); ++ ++ if (ctl == NULL) ++ as_bad (_("unknown register %s"), insn_info->insn_tokens[1]); ++ else if (ctl->index == 4) ++ as_bad (_("ipending control register (ctl4) is read-only\n")); ++ else ++ SET_INSN_FIELD (RCTL, insn_info->insn_code, ctl->index); ++ ++ if (src == NULL) ++ as_bad (_("unknown register %s"), insn_info->insn_tokens[2]); ++ else ++ SET_INSN_FIELD (RRS, insn_info->insn_code, src->index); ++ ++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[3]); ++ } ++} ++ ++ ++ ++void ++nios2_assemble_args_ldst (nios2_insn_infoS * insn_info) ++{ ++ struct nios2_reg *dst, *src1, *src2; ++ unsigned long custom_n; ++ ++ if (insn_info->insn_tokens[1] != NULL && ++ insn_info->insn_tokens[2] != NULL && ++ insn_info->insn_tokens[3] != NULL && insn_info->insn_tokens[4] != NULL) ++ { ++#if 0 /* ??? Unused/half commented out code */ ++ char *end_p; ++ /* custom_n = nios2_strtoul(insn_info->insn_tokens[1], &end_p); */ ++#endif ++ custom_n = ++ nios2_assemble_expression (insn_info->insn_tokens[1], insn_info, ++ insn_info->insn_reloc, ++ BFD_RELOC_NIOS2_IMM8, 0); ++ ++ dst = ++ (struct nios2_reg *) hash_find (nios2_reg_hash, ++ insn_info->insn_tokens[2]); ++ src1 = ++ (struct nios2_reg *) hash_find (nios2_reg_hash, ++ insn_info->insn_tokens[3]); ++ src2 = ++ (struct nios2_reg *) hash_find (nios2_reg_hash, ++ insn_info->insn_tokens[4]); ++ ++ SET_INSN_FIELD (CUSTOM_N, insn_info->insn_code, custom_n); ++ ++ if (dst == NULL) ++ as_bad (_("unknown register %s"), insn_info->insn_tokens[2]); ++ else ++ SET_INSN_FIELD (RRD, insn_info->insn_code, dst->index); ++ ++ if (src1 == NULL) ++ as_bad (_("unknown register %s"), insn_info->insn_tokens[3]); ++ else ++ SET_INSN_FIELD (RRS, insn_info->insn_code, src1->index); ++ ++ if (src2 == NULL) ++ as_bad (_("unknown register %s"), insn_info->insn_tokens[4]); ++ else ++ SET_INSN_FIELD (RRT, insn_info->insn_code, src2->index); ++ ++ /* Set or clear the bits to indicate whether coprocessor registers are ++ used. */ ++ if (nios2_coproc_reg (insn_info->insn_tokens[2])) ++ SET_INSN_FIELD (CUSTOM_C, insn_info->insn_code, 0); ++ else ++ SET_INSN_FIELD (CUSTOM_C, insn_info->insn_code, 1); ++ ++ if (nios2_coproc_reg (insn_info->insn_tokens[3])) ++ SET_INSN_FIELD (CUSTOM_A, insn_info->insn_code, 0); ++ else ++ SET_INSN_FIELD (CUSTOM_A, insn_info->insn_code, 1); ++ ++ if (nios2_coproc_reg (insn_info->insn_tokens[4])) ++ SET_INSN_FIELD (CUSTOM_B, insn_info->insn_code, 0); ++ else ++ SET_INSN_FIELD (CUSTOM_B, insn_info->insn_code, 1); ++ ++ ++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[5]); ++ } ++} ++ ++ ++void ++nios2_assemble_args_none (nios2_insn_infoS * insn_info ATTRIBUTE_UNUSED) ++{ ++ /* Nothing to do. */ ++} ++ ++ ++void ++nios2_assemble_args_dsj (nios2_insn_infoS * insn_info) ++{ ++ struct nios2_reg *dst, *src1; ++ unsigned int src2; ++ ++ if (insn_info->insn_tokens[1] != NULL && ++ insn_info->insn_tokens[2] != NULL && insn_info->insn_tokens[3] != NULL) ++ { ++ dst = ++ (struct nios2_reg *) hash_find (nios2_reg_hash, ++ insn_info->insn_tokens[1]); ++ src1 = ++ (struct nios2_reg *) hash_find (nios2_reg_hash, ++ insn_info->insn_tokens[2]); ++ ++ /* A 5-bit constant expression. */ ++ src2 = ++ nios2_assemble_expression (insn_info->insn_tokens[3], insn_info, ++ insn_info->insn_reloc, ++ BFD_RELOC_NIOS2_IMM5, 0); ++ ++ if (dst == NULL) ++ as_bad (_("unknown register %s"), insn_info->insn_tokens[1]); ++ else ++ SET_INSN_FIELD (RRD, insn_info->insn_code, dst->index); ++ ++ if (src1 == NULL) ++ as_bad (_("unknown register %s"), insn_info->insn_tokens[2]); ++ else ++ SET_INSN_FIELD (RRS, insn_info->insn_code, src1->index); ++ ++ SET_INSN_FIELD (IMM5, insn_info->insn_code, src2); ++ ++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[4]); ++ ++ SET_INSN_FIELD (IMM5, insn_info->insn_code, 0); ++ } ++} ++ ++ ++/* Assembles register arguments "dst". */ ++void ++nios2_assemble_args_d (nios2_insn_infoS * insn_info) ++{ ++ struct nios2_reg *dst; ++ ++ if (insn_info->insn_tokens[1] != NULL) ++ { ++ dst = ++ (struct nios2_reg *) hash_find (nios2_reg_hash, ++ insn_info->insn_tokens[1]); ++ ++ if (dst == NULL) ++ as_bad (_("unknown register %s"), insn_info->insn_tokens[1]); ++ else ++ SET_INSN_FIELD (RRD, insn_info->insn_code, dst->index); ++ ++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[2]); ++ } ++} ++ ++/* Assemble break op. */ ++void ++nios2_assemble_args_b (nios2_insn_infoS * insn_info) ++{ ++ unsigned int imm5 = 0; ++ ++ if (insn_info->insn_tokens[1] != NULL) ++ { ++ /* A 5-bit constant expression. */ ++ imm5 = ++ nios2_assemble_expression (insn_info->insn_tokens[1], insn_info, ++ insn_info->insn_reloc, ++ BFD_RELOC_NIOS2_IMM5, 0); ++ ++ SET_INSN_FIELD (TRAP_IMM5, insn_info->insn_code, imm5); ++ ++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[2]); ++ } ++ ++ SET_INSN_FIELD (TRAP_IMM5, insn_info->insn_code, imm5); ++ ++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[2]); ++} ++ ++/* Machine-dependent assembler directive handling follows */ ++ ++/* .set sets assembler options eg noat/at and is also used ++ to set symbol values (.equ, .equiv ). */ ++void ++s_nios2_set (int equiv) ++{ ++ char *directive = input_line_pointer; ++ char delim = get_symbol_end (); ++ char *endline; ++ endline = input_line_pointer; ++ *endline = delim; ++ ++ /* We only want to handle ".set XXX" if the ++ user has tried ".set XXX, YYY" they are not ++ trying a directive. This prevents ++ us from polluting the name space. */ ++ ++ SKIP_WHITESPACE (); ++ ++ if (is_end_of_line[(unsigned char) *input_line_pointer]) ++ { ++ bfd_boolean done = FALSE; ++ *endline = 0; ++ ++ if (!strcmp (directive, "noat")) ++ { ++ done = TRUE; ++ nios2_as_options.noat = TRUE; ++ } ++ ++ if (!strcmp (directive, "at")) ++ { ++ done = TRUE; ++ nios2_as_options.noat = FALSE; ++ } ++ ++ if (!strcmp (directive, "nobreak")) ++ { ++ done = TRUE; ++ nios2_as_options.nobreak = TRUE; ++ } ++ ++ if (!strcmp (directive, "break")) ++ { ++ done = TRUE; ++ nios2_as_options.nobreak = FALSE; ++ } ++ ++ if (!strcmp (directive, "norelax")) ++ { ++ done = TRUE; ++ nios2_as_options.relax = relax_none; ++ } ++ else if (!strcmp (directive, "relaxsection")) ++ { ++ done = TRUE; ++ nios2_as_options.relax = relax_section; ++ } ++ else if (!strcmp (directive, "relaxall")) ++ { ++ done = TRUE; ++ nios2_as_options.relax = relax_all; ++ } ++ ++ ++ if (done) ++ { ++ *endline = delim; ++ demand_empty_rest_of_line (); ++ return; ++ } ++ } ++ ++ ++ /* If we fall through to here, either we have ".set XXX, YYY" ++ or we have ".set XXX" where XXX is unknown or we have ++ a syntax error. */ ++ input_line_pointer = directive; ++ *endline = delim; ++ s_set (equiv); ++} ++ ++/* nop fill pattern for text section. */ ++static char const nop[4] = { 0x3a, 0x88, 0x01, 0x00 }; ++ ++/* nios2_frob_label() is called when after a label is recognized. */ ++ ++void ++nios2_frob_label (symbolS * lab) ++{ ++ /* Update the label's address with the current output pointer. */ ++ symbol_set_frag (lab, frag_now); ++ S_SET_VALUE (lab, (valueT) frag_now_fix ()); ++ ++ /* Record this label for future adjustment after we find out what ++ kind of data it references, and the required alignment therewith. */ ++ nios2_last_label = lab; ++} ++ ++ ++ ++/* Hook into cons for auto-alignment. */ ++ ++void ++nios2_cons_align (int size) ++{ ++ int log_size; ++ const char *pfill = NULL; ++ ++ log_size = 0; ++ while ((size >>= 1) != 0) ++ ++log_size; ++ ++ if (subseg_text_p (now_seg)) ++ { ++ pfill = (const char *) &nop; ++ } ++ else ++ pfill = NULL; ++ ++ if (nios2_auto_align_on) ++ nios2_align (log_size, pfill, NULL); ++ ++ nios2_last_label = NULL; ++} ++ ++static void ++s_nios2_sdata (int ignore ATTRIBUTE_UNUSED) ++{ ++ int temp; ++ ++ temp = get_absolute_expression (); ++ subseg_new (".sdata", 0); ++ demand_empty_rest_of_line (); ++} ++ ++/* Map 's' to SHF_NIOS2_GPREL. */ ++/* This is from the Alpha code tc-alpha.c. */ ++int ++nios2_elf_section_letter (int letter, char **ptr_msg) ++{ ++ if (letter == 's') ++ return SHF_NIOS2_GPREL; ++ ++ *ptr_msg = _("Bad .section directive: want a,s,w,x,M,S,G,T in string"); ++ return 0; ++} ++ ++/* Map SHF_ALPHA_GPREL to SEC_SMALL_DATA. */ ++/* This is from the Alpha code tc-alpha.c. */ ++flagword ++nios2_elf_section_flags (flagword flags, int attr, int type ATTRIBUTE_UNUSED) ++{ ++ if (attr & SHF_NIOS2_GPREL) ++ flags |= SEC_SMALL_DATA; ++ return flags; ++} ++ ++/* Explicitly unaligned cons. */ ++ ++static void ++s_nios2_ucons (int nbytes) ++{ ++ int hold; ++ hold = nios2_auto_align_on; ++ nios2_auto_align_on = 0; ++ cons (nbytes); ++ nios2_auto_align_on = hold; ++} ++ ++static int nios2_tls_ldo_reloc; ++ ++void ++nios2_cons (expressionS *exp, int size) ++{ ++ /* Handle %tls_ldo(...) */ ++ ++ nios2_tls_ldo_reloc = 0; ++ ++ SKIP_WHITESPACE (); ++ if (input_line_pointer[0] == '%') ++ { ++ if (strncmp (input_line_pointer + 1, "tls_ldo", 7) == 0) ++ { ++ if (size != 4) ++ as_bad (_("Illegal operands: %%tls_ldo in %d-byte data field"), ++ size); ++ else ++ { ++ input_line_pointer += 8; ++ nios2_tls_ldo_reloc = 1; ++ } ++ } ++ if (nios2_tls_ldo_reloc) ++ { ++ SKIP_WHITESPACE (); ++ if (input_line_pointer[0] != '(') ++ as_bad (_("Illegal operands: %%tls_ldo requires arguments in ()")); ++ else ++ { ++ int c; ++ char *end = ++input_line_pointer; ++ int npar = 0; ++ ++ while (! is_end_of_line[(c = *end)]) ++ { ++ if (c == '(') ++ npar++; ++ else if (c == ')') ++ { ++ if (!npar) ++ break; ++ npar--; ++ } ++ end++; ++ } ++ ++ if (c != ')') ++ as_bad (_("Illegal operands: %%tls_ldo requires arguments in ()")); ++ else ++ { ++ *end = '\0'; ++ expression (exp); ++ *end = c; ++ if (input_line_pointer != end) ++ as_bad (_("Illegal operands: %%tls_ldo requires arguments in ()")); ++ else ++ { ++ input_line_pointer++; ++ SKIP_WHITESPACE (); ++ c = *input_line_pointer; ++ if (! is_end_of_line[c] && c != ',') ++ as_bad (_("Illegal operands: garbage after %%tls_ldo()")); ++ } ++ } ++ } ++ } ++ } ++ if (!nios2_tls_ldo_reloc) ++ expression (exp); ++} ++ ++void ++nios2_cons_fix_new (fragS *frag, int where, unsigned int nbytes, ++ expressionS *exp) ++{ ++ bfd_reloc_code_real_type r; ++ ++ r = (nbytes == 1 ? BFD_RELOC_8 : ++ (nbytes == 2 ? BFD_RELOC_16 : ++ (nbytes == 4 ? BFD_RELOC_32 : BFD_RELOC_64))); ++ ++ if (nios2_tls_ldo_reloc) ++ r = BFD_RELOC_NIOS2_TLS_DTPREL; ++ ++ fix_new_exp (frag, where, (int) nbytes, exp, 0, r); ++ nios2_tls_ldo_reloc = 0; ++} ++ ++/* Handles all machine-dependent alignment needs. */ ++static void ++nios2_align (int log_size, const char *pfill, symbolS * label) ++{ ++ int align; ++ long max_alignment = 15; ++ ++ /* The front end is prone to changing segments out from under us ++ temporarily when -g is in effect. */ ++ int switched_seg_p = (nios2_current_align_seg != now_seg); ++ ++ align = log_size; ++ if (align > max_alignment) ++ { ++ align = max_alignment; ++ as_bad (_("Alignment too large: %d. assumed"), align); ++ } ++ else if (align < 0) ++ { ++ as_warn (_("Alignment negative: 0 assumed")); ++ align = 0; ++ } ++ ++ if (align != 0) ++ { ++ if (subseg_text_p (now_seg) && align >= 2) ++ { ++ /* First, make sure we're on a four-byte boundary, in case ++ someone has been putting .byte values the text section. */ ++ if (nios2_current_align < 2 || switched_seg_p) ++ frag_align (2, 0, 0); ++ ++ /* Now fill in the alignment pattern. */ ++ if (pfill != NULL) ++ frag_align_pattern (align, pfill, sizeof nop, 0); ++ else ++ frag_align (align, 0, 0); ++ } ++ else ++ { ++ frag_align (align, 0, 0); ++ } ++ ++ if (!switched_seg_p) ++ nios2_current_align = align; ++ ++ /* If the last label was in a different section we can't align it. */ ++ if (label != NULL && !switched_seg_p) ++ { ++ symbolS *sym; ++ int label_seen = FALSE; ++ struct frag *old_frag; ++ valueT old_value; ++ valueT new_value; ++ ++ gas_assert (S_GET_SEGMENT (label) == now_seg); ++ ++ old_frag = symbol_get_frag (label); ++ old_value = S_GET_VALUE (label); ++ new_value = (valueT) frag_now_fix (); ++ ++ /* It is possible to have more than one label at a particular ++ address, especially if debugging is enabled, so we must ++ take care to adjust all the labels at this address in this ++ fragment. To save time we search from the end of the symbol ++ list, backwards, since the symbols we are interested in are ++ almost certainly the ones that were most recently added. ++ Also to save time we stop searching once we have seen at least ++ one matching label, and we encounter a label that is no longer ++ in the target fragment. Note, this search is guaranteed to ++ find at least one match when sym == label, so no special case ++ code is necessary. */ ++ for (sym = symbol_lastP; sym != NULL; sym = symbol_previous (sym)) ++ { ++ if (symbol_get_frag (sym) == old_frag ++ && S_GET_VALUE (sym) == old_value) ++ { ++ label_seen = TRUE; ++ symbol_set_frag (sym, frag_now); ++ S_SET_VALUE (sym, new_value); ++ } ++ else if (label_seen && symbol_get_frag (sym) != old_frag) ++ break; ++ } ++ } ++ record_alignment (now_seg, align); ++ } ++} ++ ++/* This is called from HANDLE_ALIGN in tc-nios2.h. */ ++ ++void ++nios2_handle_align (fragS * fragp) ++{ ++ /* If we are expecting to relax in the linker, then we must output a relocation ++ * to tell the linker we are aligning code. */ ++ if (nios2_as_options.relax == relax_all ++ && (fragp->fr_type == rs_align ++ || fragp->fr_type == rs_align_code) ++ && fragp->fr_address + fragp->fr_fix > 0 ++ && fragp->fr_offset > 1 && now_seg != bss_section) ++ fix_new (fragp, fragp->fr_fix, 4, &abs_symbol, fragp->fr_offset, 0, ++ BFD_RELOC_NIOS2_ALIGN); ++ ++} ++ ++/* Handle the .align pseudo-op. This aligns to a power of two. It ++ also adjusts any current instruction label. We treat this the same ++ way the MIPS port does: .align 0 turns off auto alignment. */ ++ ++static void ++s_nios2_align (int ignore ATTRIBUTE_UNUSED) ++{ ++ int align; ++ char fill; ++ const char *pfill = NULL; ++ long max_alignment = 15; ++ ++ ++ align = get_absolute_expression (); ++ if (align > max_alignment) ++ { ++ align = max_alignment; ++ as_bad (_("Alignment too large: %d. assumed"), align); ++ } ++ else if (align < 0) ++ { ++ as_warn (_("Alignment negative: 0 assumed")); ++ align = 0; ++ } ++ ++ if (*input_line_pointer == ',') ++ { ++ input_line_pointer++; ++ fill = get_absolute_expression (); ++ pfill = (const char *) &fill; ++ } ++ else if (subseg_text_p (now_seg)) ++ { ++ pfill = (const char *) &nop; ++ } ++ else ++ { ++ pfill = NULL; ++ nios2_last_label = NULL; ++ } ++ ++ if (align != 0) ++ { ++ nios2_auto_align_on = 1; ++ nios2_align (align, pfill, nios2_last_label); ++ nios2_last_label = NULL; ++ } ++ else ++ { ++ nios2_auto_align_on = 0; ++ } ++ ++ demand_empty_rest_of_line (); ++} ++ ++ ++/* Handle the .text pseudo-op. This is like the usual one, but it ++ clears the saved last label and resets known alignment. */ ++ ++static void ++s_nios2_text (int i) ++{ ++ s_text (i); ++ nios2_last_label = NULL; ++ nios2_current_align = 0; ++ nios2_current_align_seg = now_seg; ++} ++ ++/* Handle the .data pseudo-op. This is like the usual one, but it ++ clears the saved last label and resets known alignment. */ ++ ++static void ++s_nios2_data (int i) ++{ ++ s_data (i); ++ nios2_last_label = NULL; ++ nios2_current_align = 0; ++ nios2_current_align_seg = now_seg; ++} ++ ++/* Handle the .section pseudo-op. This is like the usual one, but it ++ clears the saved last label and resets known alignment. */ ++ ++static void ++s_nios2_section (int ignore) ++{ ++ obj_elf_section (ignore); ++ nios2_last_label = NULL; ++ nios2_current_align = 0; ++ nios2_current_align_seg = now_seg; ++} ++ ++/* Convert REGNAME to a DWARF-2 register number. */ ++ ++int ++tc_nios2_regname_to_dw2regnum (char *regname) ++{ ++ struct nios2_reg *r = (struct nios2_reg *) hash_find (nios2_reg_hash, ++ regname); ++ if (r == NULL) ++ return -1; ++ return r->index; ++} ++ ++/* Initialize the DWARF-2 unwind information for this procedure. */ ++ ++void ++tc_nios2_frame_initial_instructions (void) ++{ ++ cfi_add_CFA_def_cfa (27, 0); ++} +Index: binutils-2.20.1/gas/config/tc-nios2.h +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/config/tc-nios2.h +@@ -0,0 +1,124 @@ ++/* NOT ASSIGNED TO FSF. COPYRIGHT ALTERA. */ ++/* tc-nios2.h -- header file for tc-nios2.c. ++ ++ Copyright (C) 2003 ++ by Nigel Gray (ngray@altera.com). ++ ++ This file is part of GAS. ++ ++ GAS 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; either version 2, or (at your option) ++ any later version. ++ ++ GAS 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 GAS; see the file COPYING. If not, write to the Free ++ Software Foundation, 59 Temple Place - Suite 330, Boston, MA ++ 02111-1307, USA. */ ++ ++#ifndef TC_NIOS2 ++#define TC_NIOS2 ++ ++/* ++ * If unspecified, default to little endian. We can explicitly specify ++ * a big-endian default by configuring with --target=nios2eb-elf. We ++ * can override the default with the -EB and -EL options. ++ */ ++#ifndef TARGET_BYTES_BIG_ENDIAN ++#define TARGET_BYTES_BIG_ENDIAN 0 ++#endif ++ ++#ifdef OBJ_ELF ++extern const char *nios2_target_format (void); ++#define TARGET_FORMAT nios2_target_format () ++#define TARGET_ARCH bfd_arch_nios2 ++#endif ++ ++/* An NIOS2 instruction consists of tokens and separator characters ++// the tokens are things like the instruction name (add, or jmp etc), ++// the register indices ($5, $7 etc), and constant expressions. The ++// separator characters are commas, brackets and space. ++// The instruction name is always separated from other tokens by a space ++// The maximum number of tokens in an instruction is 5 (the instruction name, ++// 3 arguments, and a 4th string representing the expected instructin opcode ++// after assembly. The latter is only used when the assemble is running in ++// self test mode, otherwise its presence will generate an error. */ ++#define NIOS2_MAX_INSN_TOKENS 6 ++ ++/* There are no machine-specific operands so we #define this to nothing */ ++#define md_operand(x) ++ ++/* function prototypes exported to rest of GAS */ ++extern void md_assemble (char *op_str); ++extern void md_end (void); ++extern void md_begin (void); ++ ++#define TC_FORCE_RELOCATION(fixp) nios2_force_relocation (fixp) ++extern int nios2_force_relocation (struct fix *); ++ ++#define tc_fix_adjustable(fixp) nios2_fix_adjustable (fixp) ++extern int nios2_fix_adjustable (struct fix *); ++ ++#define tc_frob_label(lab) nios2_frob_label(lab) ++extern void nios2_frob_label (symbolS *); ++ ++#define tc_frob_symbol(symp, punt) punt = nios2_frob_symbol(symp) ? 1 : punt ++extern int nios2_frob_symbol (symbolS * symp); ++ ++#define md_cons_align(nbytes) nios2_cons_align (nbytes) ++extern void nios2_cons_align (int); ++ ++extern void md_convert_frag (bfd * headers, segT sec, fragS * fragP); ++ ++/* When relaxing, we need to generate relocations for alignment ++ directives. */ ++#define HANDLE_ALIGN(frag) nios2_handle_align (frag) ++extern void nios2_handle_align (fragS *); ++ ++extern int tc_nios2_regname_to_dw2regnum (char *regname); ++ ++extern void tc_nios2_frame_initial_instructions (void); ++ ++#define md_relax_frag nios2_relax_frag ++extern long nios2_relax_frag ++ (segT segment, fragS * fragP, long stretch); ++ ++#ifdef OBJ_ELF ++#define ELF_TC_SPECIAL_SECTIONS \ ++ { ".sdata", SHT_PROGBITS, SHF_ALLOC + SHF_WRITE + SHF_NIOS2_GPREL }, \ ++ { ".sbss", SHT_NOBITS, SHF_ALLOC + SHF_WRITE + SHF_NIOS2_GPREL }, \ ++ { ".lit4", SHT_PROGBITS, SHF_ALLOC + SHF_WRITE + SHF_NIOS2_GPREL }, \ ++ { ".lit8", SHT_PROGBITS, SHF_ALLOC + SHF_WRITE + SHF_NIOS2_GPREL }, ++ ++/* Processor specific section directives */ ++#define md_elf_section_letter nios2_elf_section_letter ++extern int nios2_elf_section_letter (int, char **); ++#define md_elf_section_flags nios2_elf_section_flags ++extern flagword nios2_elf_section_flags (flagword, int, int); ++#endif ++ ++#define GLOBAL_OFFSET_TABLE_NAME "_GLOBAL_OFFSET_TABLE_" ++ ++#define DIFF_EXPR_OK ++ ++#define TC_PARSE_CONS_EXPRESSION(EXP, NBYTES) nios2_cons (EXP, NBYTES) ++extern void nios2_cons (expressionS *exp, int size); ++ ++#define TC_CONS_FIX_NEW nios2_cons_fix_new ++extern void nios2_cons_fix_new(struct frag *frag, int where, ++ unsigned int nbytes, struct expressionS *exp); ++ ++/* We want .cfi_* pseudo-ops for generating unwind info. */ ++#define TARGET_USE_CFIPOP 1 ++#define DWARF2_DEFAULT_RETURN_COLUMN 31 ++#define DWARF2_CIE_DATA_ALIGNMENT (-4) ++#define tc_regname_to_dw2regnum tc_nios2_regname_to_dw2regnum ++#define tc_cfi_frame_initial_instructions tc_nios2_frame_initial_instructions ++#define tc_cfi_no_pcrel_expr 1 ++ ++#endif // TC_NIOS2 +Index: binutils-2.20.1/gas/doc/c-nios2.texi +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/doc/c-nios2.texi +@@ -0,0 +1,223 @@ ++@c NOT ASSIGNED TO FSF. COPYRIGHT ALTERA. ++@c Copyright 2004 ++@c This is part of the GAS manual. ++@c For copying conditions, see the file as.texinfo. ++@ifset GENERIC ++@page ++@node NiosII-Dependent ++@chapter Altera Nios II Dependent Features ++@end ifset ++@ifclear GENERIC ++@node Machine Dependencies ++@chapter ltera Nios II Dependent Features ++@end ifclear ++ ++@cindex Altera Nios II support ++@cindex Nios support ++@cindex Nios II support ++@menu ++* Nios II Options:: Options ++* Nios II Syntax:: Syntax ++* Nios II Relocations:: Relocations ++* Nios II Directives:: Nios II Machine Directives ++* Nios II Opcodes:: Opcodes ++@end menu ++ ++@node Nios II Options ++@section Options ++@cindex Nios II options ++@cindex options for Nios II ++ ++@table @code ++ ++@cindex @code{relax-all} command line option, Nios II ++@item -relax-all ++Replace all branch and call instructions with @code{jmp} and @code{callr} sequences ++ ++@cindex @code{relax-section} command line option, Nios II ++@item -relax-section ++Replace identified out of range branches with @code{jmp} sequences (default) ++ ++@cindex @code{no-relax} command line option, Nios II ++@item -no-relax ++Do not replace any branches or calls ++ ++@cindex @code{EB} command line option, Nios II ++@item -EB ++Generate big-endian output ++ ++@cindex @code{EL} command line option, Nios II ++@item -EL ++Generate little-endian output ++ ++@end table ++ ++ ++@node Nios II Syntax ++@section Syntax ++@menu ++* Nios II Chars:: Special Characters ++@end menu ++ ++ ++@node Nios II Chars ++@subsection Special Characters ++ ++@cindex line comment character, Nios II ++@cindex Nios II line comment character ++@samp{#} is the line comment character. ++ ++@cindex line separator character, Nios II ++@cindex Nios II line separator character ++@samp{;} is the line separator character. ++ ++ ++@node Nios II Relocations ++@section Nios II Machine Relocations ++ ++@cindex machine relocations, Nios II ++@cindex Nios II machine relocations ++ ++@table @code ++@cindex @code{hiadj} directive, Nios II ++@item %hiadj(@var{expression}) ++Extract the upper 16-bits of @var{expression} and add ++one if the 15th bit is set. ++ ++The value of %hiadj is: ++((@var{expression} >> 16) & 0xffff) + ((@var{expression} >> 15) & 0x01). ++ ++The intention of the @code{%hiadj} relocation is to be used with ++an @code{addi}, @code{ld} or @code{st} instructions ++along with a @code{%lo}. ++ ++@smallexample ++movhi r2, %hiadj(symbol) ++addi r2, r2, %lo(symbol) ++@end smallexample ++ ++@cindex @code{hi} directive, Nios II ++@item %hi(@var{expression}) ++Extract the upper 16-bits of @var{expression}. ++ ++ ++@cindex @code{lo} directive, Nios II ++@item %lo(@var{expression}) ++Extract the lower 16-bits of @var{expression}. ++ ++ ++@cindex @code{gprel} directive, Nios II ++@item %gprel(@var{expression}) ++Subtract the value of the symbol @code{_gp} from ++@var{expression}. ++ ++The intention of the @code{%gprel} relocation is ++to have a fast small area of memory which only ++takes a 16-bit immediate to access. ++ ++@smallexample ++ .section .sdata ++fastint: ++ .int 123 ++ .section .text ++ ldw r4, %gprel(fastint)(gp) ++@end smallexample ++ ++ ++@end table ++ ++ ++@node Nios II Directives ++@section Nios II Machine Directives ++ ++@cindex machine directives, Nios II ++@cindex Nios II machine directives ++ ++@table @code ++ ++@cindex @code{align} directive, Nios II ++@item .align @var{expression} [, @var{expression}] ++This is the generic @var{.align} directive, however ++this aligns to a power of two. ++ ++@cindex @code{half} directive, Nios II ++@item .half @var{expression} ++Create an aligned constant 2-bytes in size ++ ++@cindex @code{word} directive, Nios II ++@item .word @var{expression} ++Create an aligned constant 4-bytes in size ++ ++@cindex @code{dword} directive, Nios II ++@item .dword @var{expression} ++Create an aligned constant 8-bytes in size ++ ++@cindex @code{2byte} directive, Nios II ++@item .2byte @var{expression} ++Create an un-aligned constant 2-bytes in size ++ ++@cindex @code{4byte} directive, Nios II ++@item .4byte @var{expression} ++Create an un-aligned constant 4-bytes in size ++ ++@cindex @code{8byte} directive, Nios II ++@item .8byte @var{expression} ++Create an un-aligned constant 8-bytes in size ++ ++@cindex @code{16byte} directive, Nios II ++@item .16byte @var{expression} ++Create an un-aligned constant 16-bytes in size ++ ++@cindex @code{set noat} directive, Nios II ++@item .set noat ++Allows assembly code to use @code{at} register without ++warning and macro or relaxation expansions will ++generate a warning. ++ ++@cindex @code{set at} directive, Nios II ++@item .set at ++Assembly code using @code{at} register will generate ++warnings, and macro expansion and relaxation will be ++enabled. ++ ++@cindex @code{set nobreak} directive, Nios II ++@item .set nobreak ++Allows assembly code to use @code{ba}, @code{bt}, ++registers without warning. ++ ++@cindex @code{set break} directive, Nios II ++@item .set break ++Turns warnings back on for using @code{ba}, @code{bt} ++registers. ++ ++@cindex @code{set norelax} directive, Nios II ++@item .set norelax ++Do not replace any branches or calls. ++ ++@cindex @code{set relaxsection} directive, Nios II ++@item .set relaxsection ++Replace identified out of range branches with ++@code{jmp} sequences (default). ++ ++@cindex @code{set relaxall} directive, Nios II ++@item .set relaxsection ++Replace all branch and call instructions with ++@code{jmp} and @code{callr} sequences. ++ ++@cindex @code{set} directive, Nios II ++@item .set @dots{} ++All other @code{.set} are the normal use. ++ ++@end table ++ ++@node Nios II Opcodes ++@section Opcodes ++ ++@cindex Nios II opcodes ++@cindex opcodes for Nios II ++@code{@value{AS}} implements all the standard Nios II opcodes. No ++additional pseudo-instructions are needed on this family. ++ ++For information on the Nios II machine instruction set, see the @cite{Nios II ++User's Manual} ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/add.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/add.d +@@ -0,0 +1,16 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 add ++ ++# Test the add instruction ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> add r4,r4,r4 ++0+0004 <[^>]*> addi r4,r4,32767 ++0+0008 <[^>]*> addi r4,r4,-32768 ++0+000c <[^>]*> addi r4,r4,0 ++0+0010 <[^>]*> addi r4,r4,-1 ++0+0014 <[^>]*> addi r4,r4,-1 ++0+0018 <[^>]*> addi r4,r4,13398 ++0+001c <[^>]*> nop +Index: binutils-2.20.1/gas/testsuite/gas/nios2/add.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/add.s +@@ -0,0 +1,13 @@ ++# Source file used to test the add and addi instructions. ++ ++foo: ++ add r4,r4,r4 ++ addi r4,r4,0x7fff ++ addi r4,r4,-0x8000 ++ addi r4,r4,0x0 ++ addi r4,r4,-0x01 ++ subi r4,r4,0x01 ++ addi r4,r4,0x3456 ++ ++# should disassemble to add r0,0,r0 ++ nop +Index: binutils-2.20.1/gas/testsuite/gas/nios2/align_fill.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/align_fill.d +@@ -0,0 +1,23 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 align_fill ++ ++# Test the and macro. ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> addi sp,sp,-8 ++0+0004 <[^>]*> stw fp,4\(sp\) ++0+0008 <[^>]*> mov fp,sp ++0+000c <[^>]*> mov r3,zero ++0+0010 <[^>]*> nop ++0+0014 <[^>]*> nop ++0+0018 <[^>]*> nop ++0+001c <[^>]*> nop ++0+0020 <[^>]*> addi r3,r3,1 ++0+0024 <[^>]*> cmplti r2,r3,100 ++0+0028 <[^>]*> bne r2,zero,0+0020 <[^>*]*> ++0+002c <[^>]*> ldw fp,4\(sp\) ++0+0030 <[^>]*> addi sp,sp,8 ++0+0034 <[^>]*> ret ++ ... +Index: binutils-2.20.1/gas/testsuite/gas/nios2/align_fill.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/align_fill.s +@@ -0,0 +1,20 @@ ++ .file "a.c" ++ .section .text ++ .align 3 ++ .global x ++ .type x, @function ++x: ++ addi sp, sp, -8 ++ stw fp, 4(sp) ++ mov fp, sp ++ mov r3, zero ++ .align 5 ++.L6: ++ addi r3, r3, 1 ++ cmplti r2, r3, 100 ++ bne r2, zero, .L6 ++ ldw fp, 4(sp) ++ addi sp, sp, 8 ++ ret ++ .size x, .-x ++ .ident "GCC: (GNU) 3.3.3 (Altera Nios II 1.0 b302)" +Index: binutils-2.20.1/gas/testsuite/gas/nios2/align_text.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/align_text.d +@@ -0,0 +1,22 @@ ++#objdump: -dr ++#name: NIOS2 align_test ++ ++# Test alignment in text sections. ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++00000000 <label-0x20>: ++ 0: 00000000 call 0 <label-0x20> ++ 4: 0001883a nop ++ 8: 0001883a nop ++ c: 0001883a nop ++ 10: 0001883a nop ++ 14: 0001883a nop ++ 18: 0001883a nop ++ 1c: 0001883a nop ++ ++00000020 <label>: ++ 20: 0001883a nop ++00000024 <label2>: ++ ... +Index: binutils-2.20.1/gas/testsuite/gas/nios2/align_text.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/align_text.s +@@ -0,0 +1,15 @@ ++ .asciz "" # empty string ++ .align 2 ++ ++ nop ++ nop ++ label: ++ .align 5 ++ nop ++ label2: ++ .section mysection ++ .align 2 ++ ++ ++ ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/and.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/and.d +@@ -0,0 +1,17 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 and ++ ++# Test the and macro. ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> and r4,r4,r4 ++0+0004 <[^>]*> andi r4,r4,32767 ++0+0008 <[^>]*> andi r4,r4,32768 ++0+000c <[^>]*> andi r4,r4,65535 ++0+0010 <[^>]*> andi r4,r4,0 ++0+0014 <[^>]*> andhi r4,r4,32767 ++0+0018 <[^>]*> andhi r4,r4,32768 ++0+001c <[^>]*> andhi r4,r4,65535 ++0+0020 <[^>]*> andhi r4,r4,0 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/and.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/and.s +@@ -0,0 +1,13 @@ ++# Source file used to test the and, andhi and andi instructions ++ ++foo: ++ and r4,r4,r4 ++ andi r4,r4,0x7fff ++ andi r4,r4,0x8000 ++ andi r4,r4,0xffff ++ andi r4,r4,0x0 ++ andhi r4,r4,0x7fff ++ andhi r4,r4,0x8000 ++ andhi r4,r4,0xffff ++ andhi r4,r4,0x0 ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/blt.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/blt.d +@@ -0,0 +1 @@ ++This file is obsolete +Index: binutils-2.20.1/gas/testsuite/gas/nios2/blt.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/blt.s +@@ -0,0 +1 @@ ++This file is obsolete +Index: binutils-2.20.1/gas/testsuite/gas/nios2/branch.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/branch.d +@@ -0,0 +1,16 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 branch ++ ++# Test the branch instructions. ++dump.o: file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> beq r4,r5,00000000 <text_label> ++0+0004 <[^>]*> bge r4,r5,00000000 <text_label> ++0+0008 <[^>]*> bgeu r4,r5,00000000 <text_label> ++0+000c <[^>]*> blt r4,r5,00000000 <text_label> ++0+0010 <[^>]*> bltu r4,r5,00000000 <text_label> ++0+0014 <[^>]*> bne r4,r5,00000000 <text_label> ++0+0018 <[^>]*> br 0000001c <text_label\+0x1c> ++[ ]*18: R_NIOS2_PCREL16 external_label ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/branch.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/branch.s +@@ -0,0 +1,15 @@ ++# Source file used to test the beq macro. ++ .globl text_label ++ .text ++.set norelax ++text_label: ++ beq r4,r5,text_label ++ bge r4,r5,text_label ++ bgeu r4,r5,text_label ++ blt r4,r5,text_label ++ bltu r4,r5,text_label ++ bne r4,r5,text_label ++ ++# Branch to an external label. ++ br external_label ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/break.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/break.d +@@ -0,0 +1,12 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 break ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> break 0 ++0+0004 <[^>]*> break 0 ++0+0008 <[^>]*> break 31 ++0+000c <[^>]*> break 14 ++ ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/break.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/break.s +@@ -0,0 +1,8 @@ ++# Source file used to test the 20-bit break instructions ++foo: ++ break ++ break 0 ++ break 31 ++ break 14 ++ ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/bret.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/bret.d +@@ -0,0 +1,8 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 bret ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> bret ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/bret.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/bret.s +@@ -0,0 +1,5 @@ ++# Source file used to test the bret instructions ++foo: ++ bret ++ ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/cache.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/cache.d +@@ -0,0 +1,17 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 cache ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> flushd -32768\(r6\) ++0+0004 <[^>]*> flushd 32767\(r6\) ++0+0008 <[^>]*> flushd 0\(r6\) ++0+000c <[^>]*> flushd -1\(r6\) ++0+0010 <[^>]*> flushd 0\(r6\) ++[ ]*10: R_NIOS2_S16 .text ++0+0014 <[^>]*> flushd 0\(r6\) ++[ ]*14: R_NIOS2_S16 external ++0+0018 <[^>]*> flushi r2 ++0+001c <[^>]*> flushp ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/cache.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/cache.s +@@ -0,0 +1,21 @@ ++# Source file used to test the cache instruction ++foo: ++ flushd -0x8000(r6) ++ flushd 0x7fff(r6) ++ flushd 0x0(r6) ++ flushd -0x0001(r6) ++ ++# use symbol for offset ++ flushd foo(r6) ++ ++# use external symbol ++ .global external ++ flushd external(r6) ++ ++# flushi ++ flushi r2 ++ ++#flushp ++ flushp ++ ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/call.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/call.d +@@ -0,0 +1,11 @@ ++# objdump: -dr --prefix-addresses ++#name: NIOS2 call ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> call 00000000 <foo> ++[ ]*0: R_NIOS2_CALL26 .text\+0xc ++0+0004 <[^>]*> callr r10 ++0+0008 <[^>]*> call 00000000 <foo> ++[ ]*8: R_NIOS2_CALL26 external +Index: binutils-2.20.1/gas/testsuite/gas/nios2/call.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/call.s +@@ -0,0 +1,13 @@ ++# Source file used to test the call and callr instructions ++.text ++.set norelax ++foo: ++ call func1 ++ callr r10 ++# use external symbol ++ .global external ++ call external ++func1: ++ ++ ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/cmp.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/cmp.d +@@ -0,0 +1,24 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 cmp ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> cmpeq r11,r2,r3 ++0+0004 <[^>]*> cmpge r11,r2,r3 ++0+0008 <[^>]*> cmpgeu r11,r2,r3 ++0+000c <[^>]*> cmplt r11,r2,r3 ++0+0010 <[^>]*> cmpltu r11,r2,r3 ++0+0014 <[^>]*> cmpne r11,r2,r3 ++0+0018 <[^>]*> cmpgei r11,r2,0 ++[ ]*18: R_NIOS2_S16 value ++0+001c <[^>]*> cmpgeui r11,r2,0 ++[ ]*1c: R_NIOS2_U16 value\+0x200 ++0+0020 <[^>]*> cmplti r11,r2,0 ++[ ]*20: R_NIOS2_S16 value ++0+0024 <[^>]*> cmpltui r11,r2,0 ++[ ]*24: R_NIOS2_U16 value\+0x200 ++0+0028 <[^>]*> cmpgei r11,r2,32767 ++0+002c <[^>]*> cmpgeui r11,r2,32768 ++0+0030 <[^>]*> cmplti r11,r2,-32768 ++0+0034 <[^>]*> cmpltui r11,r2,65535 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/cmp.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/cmp.s +@@ -0,0 +1,22 @@ ++# Source file used to test the compare instructions ++foo: ++ cmpeq r11,r2,r3 ++ cmpge r11,r2,r3 ++ cmpgeu r11,r2,r3 ++ cmplt r11,r2,r3 ++ cmpltu r11,r2,r3 ++ cmpne r11,r2,r3 ++# test that cmp generates relocations correctly ++ cmpgei r11,r2,value ++ cmpgeui r11,r2,value+0x200 ++ cmplti r11,r2,value ++ cmpltui r11,r2,value+0x200 ++ ++ cmpgei r11,r2,0x7fff ++ cmpgeui r11,r2,0x8000 ++ cmplti r11,r2,-0x8000 ++ cmpltui r11,r2,0xFFFF ++.global value ++ ++ ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/comments.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/comments.d +@@ -0,0 +1,26 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 comments ++ ++# Test the add instruction ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> br 0000001c <start> ++0+0004 <[^>]*> br 00000008 <abort> ++0+0008 <[^>]*> movui r3,0 ++0+000c <[^>]*> movui r2,1 ++0+0010 <[^>]*> movui r3,0 ++0+0014 <[^>]*> movui r2,0 ++0+0018 <[^>]*> br 00000044 <exit> ++0+001c <[^>]*> addi r2,r2,-4 ++0+0020 <[^>]*> movui r11,1 ++0+0024 <[^>]*> movui r5,0 ++0+0028 <[^>]*> movui r6,0 ++0+002c <[^>]*> br 00000030 <ldst> ++0+0030 <[^>]*> movui r2,61452 ++0+0034 <[^>]*> movui r20,64206 ++0+0038 <[^>]*> stw r20,0\(r2\) ++0+003c <[^>]*> ldw r21,0\(r2\) ++0+0040 <[^>]*> br 00000010 <end> ++0+0044 <[^>]*> br 00000044 <exit> +Index: binutils-2.20.1/gas/testsuite/gas/nios2/comments.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/comments.s +@@ -0,0 +1,28 @@ ++.set norelax ++_main: br start ++trap: ++ br abort ++.globl _main ++abort: movui r3, 0x0 ++ movui r2, 0x1 ++ ++end: movui r3, 0x0 ++ movui r2, 0x0 ++ br exit ++ ++start: ++ addi r2, r2, -4 # test for ve numbers ++ movui r11, 0x1 ++ ori r5, r0, %lo(0x0) # r5 = 0x0 ++ ori r6, r0, %lo(0x0) # r6 = 0x0 ++ br ldst ++ ++ldst: ++ movui r2, 0xF00C ++ movui r20, 0xFACE ++ stw r20,(r2) ++ ldw r21, (r2) ++ br end ++ ++ ++exit: br exit +Index: binutils-2.20.1/gas/testsuite/gas/nios2/complex.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/complex.d +@@ -0,0 +1,12 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 complex ++ ++# Test complex expression parsing ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> ldw r2,-1\(r3\) ++0+0004 <[^>]*> ldw r2,1\(r3\) ++0+0008 <[^>]*> ldw r2,0\(r3\) ++ 8: R_NIOS2_S16 stack_top\+0xffffffff +Index: binutils-2.20.1/gas/testsuite/gas/nios2/complex.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/complex.s +@@ -0,0 +1,5 @@ ++foo: ++ ldw r2, (2-3)(r3) ++ ldw r2, 2 + (2-3)(r3) ++ ldw r2, 2 + (stack_top-3)(r3) ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/ctl.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/ctl.d +@@ -0,0 +1,20 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 ctl ++ ++# Test the ctl instructions ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> rdctl r8,ctl31 ++0+0004 <[^>]*> rdctl r8,ctl30 ++0+0008 <[^>]*> rdctl r8,ctl29 ++0+000c <[^>]*> rdctl r8,status ++0+0010 <[^>]*> rdctl r8,bstatus ++0+0014 <[^>]*> rdctl r8,estatus ++0+0018 <[^>]*> wrctl ctl31,r8 ++0+001c <[^>]*> wrctl ctl30,r8 ++0+0020 <[^>]*> wrctl ctl29,r8 ++0+0024 <[^>]*> wrctl status,r8 ++0+0028 <[^>]*> wrctl bstatus,r8 ++0+002c <[^>]*> wrctl estatus,r8 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/ctl.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/ctl.s +@@ -0,0 +1,18 @@ ++# Source file used to test the nor instruction ++ ++foo: ++ rdctl r8,ctl31 ++ rdctl r8,ctl30 ++ rdctl r8,ctl29 ++ rdctl r8,status ++ rdctl r8,bstatus ++ rdctl r8,estatus ++ wrctl ctl31,r8 ++ wrctl ctl30,r8 ++ wrctl ctl29,r8 ++ wrctl status,r8 ++ wrctl bstatus,r8 ++ wrctl estatus,r8 ++ ++ ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/custom.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/custom.d +@@ -0,0 +1,13 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 custom ++ ++# Test the custom instruction ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> custom 0,r11,r2,r3 ++0+0004 <[^>]*> custom 255,r11,r2,r3 ++0+0008 <[^>]*> custom 150,c1,r2,r3 ++0+000c <[^>]*> custom 24,c1,c2,r3 ++0+0010 <[^>]*> custom 56,c1,c2,c3 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/custom.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/custom.s +@@ -0,0 +1,8 @@ ++# test progam for assembling user instructions ++ ++foo: ++ custom 0, r11, r2, r3 ++ custom 255, r11, r2, r3 ++ custom 150, c1, r2, r3 ++ custom 0x18, c1, c2, r3 ++ custom 070, c1, c2, c3 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/etbt.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/etbt.d +@@ -0,0 +1,10 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 etbt ++ ++# Test the et, bt registers ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> add et,bt,r6 ++0+0004 <[^>]*> add et,bt,r6 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/etbt.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/etbt.s +@@ -0,0 +1,4 @@ ++.set nobreak ++foo: ++ add r24, r25, r6 ++ add et, bt, r6 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/flushda.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/flushda.d +@@ -0,0 +1,10 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 flushda ++ ++# Test the jmp instruction. ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> flushda 12\(r2\) ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/flushda.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/flushda.s +@@ -0,0 +1,6 @@ ++# Source file used to test the flushda instruction. ++.text ++.set nobreak ++foo: ++ flushda 12(r2) ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/hilo_symbol.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/hilo_symbol.s +@@ -0,0 +1,3 @@ ++.global long_symbol ++.set long_symbol, 0xDEADBEEF ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/illegal.l +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/illegal.l +@@ -0,0 +1,14 @@ ++.*illegal.s: Assembler messages: ++.*illegal.s:5: Error: unknown register r56 ++.*illegal.s:8: Error: expecting \( near 0x1000 ++.*illegal.s:8: Error: missing argument ++.*illegal.s:9: Error: expecting \) near r5 ++.*illegal.s:10: Error: expecting \( near 0x1000r5\) ++.*illegal.s:10: Error: missing argument ++.*illegal.s:11: Error: expecting \( near 0x1000,r5 ++.*illegal.s:11: Error: missing argument ++.*illegal.s:12: Error: unknown register 0x1000 ++.*illegal.s:14: Error: unrecognised instruction fop ++.*illegal.s:16: Error: too many arguments ++.*illegal.s:17: Error: too many arguments ++.*illegal.s:17: Error: unknown register r2,r4 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/illegal.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/illegal.s +@@ -0,0 +1,17 @@ ++# Source file used to test illegal operands. ++ ++foo: ++# Illegal registers ++ add r3,r4,r56 ++ add r4,r0,r2 ++# Illegal syntax ++ ldw r4,0x1000 ++ ldw r4,0x1000(r5 ++ ldw r4,0x1000r5) ++ ldw r4,0x1000,r5 ++ ldw r4,(0x1000)r5 ++# Illegal opcodes ++ fop r3,r4,r5 ++# Extra operands ++ nop Crapola ++ add r2, r2, r2, r4 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/imm5_symbol.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/imm5_symbol.s +@@ -0,0 +1,4 @@ ++.global imm5 ++.text ++.byte imm5 ++.set imm5, 31 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/jmp.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/jmp.d +@@ -0,0 +1,10 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 jmp ++ ++# Test the jmp instruction. ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> jmp bt ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/jmp.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/jmp.s +@@ -0,0 +1,6 @@ ++# Source file used to test the jmp instruction. ++.text ++.set nobreak ++foo: ++ jmp r25 ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/ldb.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/ldb.d +@@ -0,0 +1,196 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 ldb ++ ++# Test the ld instruction ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> ldb r4,0\(zero\) ++0+0004 <[^>]*> ldb r4,4\(zero\) ++0+0008 <[^>]*> ldb r4,32764\(zero\) ++0+000c <[^>]*> ldb r4,-32768\(zero\) ++0+0010 <[^>]*> ldb r4,0\(r5\) ++0+0014 <[^>]*> ldb r4,4\(r5\) ++0+0018 <[^>]*> ldb r4,32764\(r5\) ++0+001c <[^>]*> ldb r4,-32768\(r5\) ++0+0020 <[^>]*> ldb r4,0\(zero\) ++[ ]*20: R_NIOS2_S16 .data ++0+0024 <[^>]*> ldb r4,0\(zero\) ++[ ]*24: R_NIOS2_S16 big_external_data_label ++0+0028 <[^>]*> ldb r4,0\(zero\) ++[ ]*28: R_NIOS2_S16 small_external_data_label ++0+002c <[^>]*> ldb r4,0\(zero\) ++[ ]*2c: R_NIOS2_S16 big_external_common ++0+0030 <[^>]*> ldb r4,0\(zero\) ++[ ]*30: R_NIOS2_S16 small_external_common ++0+0034 <[^>]*> ldb r4,0\(zero\) ++[ ]*34: R_NIOS2_S16 .bss ++0+0038 <[^>]*> ldb r4,0\(zero\) ++[ ]*38: R_NIOS2_S16 .bss\+0x4000 ++0+003c <[^>]*> ldb r4,0\(zero\) ++[ ]*3c: R_NIOS2_S16 .data\+0x4 ++0+0040 <[^>]*> ldb r4,0\(zero\) ++[ ]*40: R_NIOS2_S16 big_external_data_label\+0x4 ++0+0044 <[^>]*> ldb r4,0\(zero\) ++[ ]*44: R_NIOS2_S16 small_external_data_label\+0x4 ++0+0048 <[^>]*> ldb r4,0\(zero\) ++[ ]*48: R_NIOS2_S16 big_external_common\+0x4 ++0+004c <[^>]*> ldb r4,0\(zero\) ++[ ]*4c: R_NIOS2_S16 small_external_common\+0x4 ++0+0050 <[^>]*> ldb r4,0\(zero\) ++[ ]*50: R_NIOS2_S16 .bss\+0x4 ++0+0054 <[^>]*> ldb r4,0\(zero\) ++[ ]*54: R_NIOS2_S16 .bss\+0x4004 ++0+0058 <[^>]*> ldb r4,0\(zero\) ++[ ]*58: R_NIOS2_S16 .data\+0xffff8000 ++0+005c <[^>]*> ldb r4,0\(zero\) ++[ ]*5c: R_NIOS2_S16 big_external_data_label\+0xffff8000 ++0+0060 <[^>]*> ldb r4,0\(zero\) ++[ ]*60: R_NIOS2_S16 small_external_data_label\+0xffff8000 ++0+0064 <[^>]*> ldb r4,0\(zero\) ++[ ]*64: R_NIOS2_S16 big_external_common\+0xffff8000 ++0+0068 <[^>]*> ldb r4,0\(zero\) ++[ ]*68: R_NIOS2_S16 small_external_common\+0xffff8000 ++0+006c <[^>]*> ldb r4,0\(zero\) ++[ ]*6c: R_NIOS2_S16 .bss\+0xffff8000 ++0+0070 <[^>]*> ldb r4,0\(zero\) ++[ ]*70: R_NIOS2_S16 .bss\+0xffffc000 ++0+0074 <[^>]*> ldb r4,0\(zero\) ++[ ]*74: R_NIOS2_S16 .data\+0x10000 ++0+0078 <[^>]*> ldb r4,0\(r5\) ++[ ]*78: R_NIOS2_S16 .data ++0+007c <[^>]*> ldb r4,0\(r5\) ++[ ]*7c: R_NIOS2_S16 big_external_data_label ++0+0080 <[^>]*> ldb r4,0\(r5\) ++[ ]*80: R_NIOS2_S16 small_external_data_label ++0+0084 <[^>]*> ldb r4,0\(r5\) ++[ ]*84: R_NIOS2_S16 big_external_common ++0+0088 <[^>]*> ldb r4,0\(r5\) ++[ ]*88: R_NIOS2_S16 small_external_common ++0+008c <[^>]*> ldb r4,0\(r5\) ++[ ]*8c: R_NIOS2_S16 .bss ++0+0090 <[^>]*> ldb r4,0\(r5\) ++[ ]*90: R_NIOS2_S16 .bss\+0x4000 ++0+0094 <[^>]*> ldb r4,0\(r5\) ++[ ]*94: R_NIOS2_S16 .data\+0x4 ++0+0098 <[^>]*> ldb r4,0\(r5\) ++[ ]*98: R_NIOS2_S16 big_external_data_label\+0x4 ++0+009c <[^>]*> ldb r4,0\(r5\) ++[ ]*9c: R_NIOS2_S16 small_external_data_label\+0x4 ++0+00a0 <[^>]*> ldb r4,0\(r5\) ++[ ]*a0: R_NIOS2_S16 big_external_common\+0x4 ++0+00a4 <[^>]*> ldb r4,0\(r5\) ++[ ]*a4: R_NIOS2_S16 small_external_common\+0x4 ++0+00a8 <[^>]*> ldb r4,0\(r5\) ++[ ]*a8: R_NIOS2_S16 .bss\+0x4 ++0+00ac <[^>]*> ldb r4,0\(r5\) ++[ ]*ac: R_NIOS2_S16 .bss\+0x4004 ++0+00b0 <[^>]*> ldb r4,0\(r5\) ++[ ]*b0: R_NIOS2_S16 .data\+0xffff8000 ++0+00b4 <[^>]*> ldb r4,0\(r5\) ++[ ]*b4: R_NIOS2_S16 big_external_data_label\+0xffff8000 ++0+00b8 <[^>]*> ldb r4,0\(r5\) ++[ ]*b8: R_NIOS2_S16 small_external_data_label\+0xffff8000 ++0+00bc <[^>]*> ldb r4,0\(r5\) ++[ ]*bc: R_NIOS2_S16 big_external_common\+0xffff8000 ++0+00c0 <[^>]*> ldb r4,0\(r5\) ++[ ]*c0: R_NIOS2_S16 small_external_common\+0xffff8000 ++0+00c4 <[^>]*> ldb r4,0\(r5\) ++[ ]*c4: R_NIOS2_S16 .bss\+0xffff8000 ++0+00c8 <[^>]*> ldb r4,0\(r5\) ++[ ]*c8: R_NIOS2_S16 .bss\+0xffffc000 ++0+00cc <[^>]*> ldbio r4,0\(zero\) ++0+00d0 <[^>]*> ldbio r4,4\(zero\) ++0+00d4 <[^>]*> ldbio r4,32764\(zero\) ++0+00d8 <[^>]*> ldbio r4,-32768\(zero\) ++0+00dc <[^>]*> ldbio r4,0\(r5\) ++0+00e0 <[^>]*> ldbio r4,4\(r5\) ++0+00e4 <[^>]*> ldbio r4,32764\(r5\) ++0+00e8 <[^>]*> ldbio r4,-32768\(r5\) ++0+00ec <[^>]*> ldbio r4,0\(zero\) ++[ ]*ec: R_NIOS2_S16 .data ++0+00f0 <[^>]*> ldbio r4,0\(zero\) ++[ ]*f0: R_NIOS2_S16 big_external_data_label ++0+00f4 <[^>]*> ldbio r4,0\(zero\) ++[ ]*f4: R_NIOS2_S16 small_external_data_label ++0+00f8 <[^>]*> ldbio r4,0\(zero\) ++[ ]*f8: R_NIOS2_S16 big_external_common ++0+00fc <[^>]*> ldbio r4,0\(zero\) ++[ ]*fc: R_NIOS2_S16 small_external_common ++0+0100 <[^>]*> ldbio r4,0\(zero\) ++[ ]*100: R_NIOS2_S16 .bss ++0+0104 <[^>]*> ldbio r4,0\(zero\) ++[ ]*104: R_NIOS2_S16 .bss\+0x4000 ++0+0108 <[^>]*> ldbio r4,0\(zero\) ++[ ]*108: R_NIOS2_S16 .data\+0x4 ++0+010c <[^>]*> ldbio r4,0\(zero\) ++[ ]*10c: R_NIOS2_S16 big_external_data_label\+0x4 ++0+0110 <[^>]*> ldbio r4,0\(zero\) ++[ ]*110: R_NIOS2_S16 small_external_data_label\+0x4 ++0+0114 <[^>]*> ldbio r4,0\(zero\) ++[ ]*114: R_NIOS2_S16 big_external_common\+0x4 ++0+0118 <[^>]*> ldbio r4,0\(zero\) ++[ ]*118: R_NIOS2_S16 small_external_common\+0x4 ++0+011c <[^>]*> ldbio r4,0\(zero\) ++[ ]*11c: R_NIOS2_S16 .bss\+0x4 ++0+0120 <[^>]*> ldbio r4,0\(zero\) ++[ ]*120: R_NIOS2_S16 .bss\+0x4004 ++0+0124 <[^>]*> ldbio r4,0\(zero\) ++[ ]*124: R_NIOS2_S16 .data\+0xffff8000 ++0+0128 <[^>]*> ldbio r4,0\(zero\) ++[ ]*128: R_NIOS2_S16 big_external_data_label\+0xffff8000 ++0+012c <[^>]*> ldbio r4,0\(zero\) ++[ ]*12c: R_NIOS2_S16 small_external_data_label\+0xffff8000 ++0+0130 <[^>]*> ldbio r4,0\(zero\) ++[ ]*130: R_NIOS2_S16 big_external_common\+0xffff8000 ++0+0134 <[^>]*> ldbio r4,0\(zero\) ++[ ]*134: R_NIOS2_S16 small_external_common\+0xffff8000 ++0+0138 <[^>]*> ldbio r4,0\(zero\) ++[ ]*138: R_NIOS2_S16 .bss\+0xffff8000 ++0+013c <[^>]*> ldbio r4,0\(zero\) ++[ ]*13c: R_NIOS2_S16 .bss\+0xffffc000 ++0+0140 <[^>]*> ldbio r4,0\(zero\) ++[ ]*140: R_NIOS2_S16 .data\+0x10000 ++0+0144 <[^>]*> ldbio r4,0\(r5\) ++[ ]*144: R_NIOS2_S16 .data ++0+0148 <[^>]*> ldbio r4,0\(r5\) ++[ ]*148: R_NIOS2_S16 big_external_data_label ++0+014c <[^>]*> ldbio r4,0\(r5\) ++[ ]*14c: R_NIOS2_S16 small_external_data_label ++0+0150 <[^>]*> ldbio r4,0\(r5\) ++[ ]*150: R_NIOS2_S16 big_external_common ++0+0154 <[^>]*> ldbio r4,0\(r5\) ++[ ]*154: R_NIOS2_S16 small_external_common ++0+0158 <[^>]*> ldbio r4,0\(r5\) ++[ ]*158: R_NIOS2_S16 .bss ++0+015c <[^>]*> ldbio r4,0\(r5\) ++[ ]*15c: R_NIOS2_S16 .bss\+0x4000 ++0+0160 <[^>]*> ldbio r4,0\(r5\) ++[ ]*160: R_NIOS2_S16 .data\+0x4 ++0+0164 <[^>]*> ldbio r4,0\(r5\) ++[ ]*164: R_NIOS2_S16 big_external_data_label\+0x4 ++0+0168 <[^>]*> ldbio r4,0\(r5\) ++[ ]*168: R_NIOS2_S16 small_external_data_label\+0x4 ++0+016c <[^>]*> ldbio r4,0\(r5\) ++[ ]*16c: R_NIOS2_S16 big_external_common\+0x4 ++0+0170 <[^>]*> ldbio r4,0\(r5\) ++[ ]*170: R_NIOS2_S16 small_external_common\+0x4 ++0+0174 <[^>]*> ldbio r4,0\(r5\) ++[ ]*174: R_NIOS2_S16 .bss\+0x4 ++0+0178 <[^>]*> ldbio r4,0\(r5\) ++[ ]*178: R_NIOS2_S16 .bss\+0x4004 ++0+017c <[^>]*> ldbio r4,0\(r5\) ++[ ]*17c: R_NIOS2_S16 .data\+0xffff8000 ++0+0180 <[^>]*> ldbio r4,0\(r5\) ++[ ]*180: R_NIOS2_S16 big_external_data_label\+0xffff8000 ++0+0184 <[^>]*> ldbio r4,0\(r5\) ++[ ]*184: R_NIOS2_S16 small_external_data_label\+0xffff8000 ++0+0188 <[^>]*> ldbio r4,0\(r5\) ++[ ]*188: R_NIOS2_S16 big_external_common\+0xffff8000 ++0+018c <[^>]*> ldbio r4,0\(r5\) ++[ ]*18c: R_NIOS2_S16 small_external_common\+0xffff8000 ++0+0190 <[^>]*> ldbio r4,0\(r5\) ++[ ]*190: R_NIOS2_S16 .bss\+0xffff8000 ++0+0194 <[^>]*> ldbio r4,0\(r5\) ++[ ]*194: R_NIOS2_S16 .bss\+0xffffc000 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/ldb.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/ldb.s +@@ -0,0 +1,117 @@ ++ .data ++data_label: ++ .extern big_external_data_label,0x4000 ++ .extern small_external_data_label,4 ++ .comm big_external_common,0x4000 ++ .comm small_external_common,4 ++ .lcomm big_local_common,0x4000 ++ .lcomm small_local_common,4 ++ ++# the small symbols should have space allocated in the sbss section ++# but this is not yet supported in the assembler, so space is allocated ++# in the .bss section and the relocations are not gp-relative. this will ++# be updated when gp-relative relocations are added ++ .text ++ ldb r4,0(r0) ++ ldb r4,4(r0) ++ ldb r4,0x7ffc(r0) ++ ldb r4,-0x8000(r0) ++ ldb r4,0(r5) ++ ldb r4,4(r5) ++ ldb r4,0x7ffc(r5) ++ ldb r4,-0x8000(r5) ++ ldb r4,data_label(r0) ++ ldb r4,big_external_data_label(r0) ++ ldb r4,small_external_data_label(r0) ++ ldb r4,big_external_common(r0) ++ ldb r4,small_external_common(r0) ++ ldb r4,big_local_common(r0) ++ ldb r4,small_local_common(r0) ++ ldb r4,data_label+4(r0) ++ ldb r4,big_external_data_label+4(r0) ++ ldb r4,small_external_data_label+4(r0) ++ ldb r4,big_external_common+4(r0) ++ ldb r4,small_external_common+4(r0) ++ ldb r4,big_local_common+4(r0) ++ ldb r4,small_local_common+4(r0) ++ ldb r4,data_label-0x8000(r0) ++ ldb r4,big_external_data_label-0x8000(r0) ++ ldb r4,small_external_data_label-0x8000(r0) ++ ldb r4,big_external_common-0x8000(r0) ++ ldb r4,small_external_common-0x8000(r0) ++ ldb r4,big_local_common-0x8000(r0) ++ ldb r4,small_local_common-0x8000(r0) ++ ldb r4,data_label+0x10000(r0) ++ ldb r4,data_label(r5) ++ ldb r4,big_external_data_label(r5) ++ ldb r4,small_external_data_label(r5) ++ ldb r4,big_external_common(r5) ++ ldb r4,small_external_common(r5) ++ ldb r4,big_local_common(r5) ++ ldb r4,small_local_common(r5) ++ ldb r4,data_label+4(r5) ++ ldb r4,big_external_data_label+4(r5) ++ ldb r4,small_external_data_label+4(r5) ++ ldb r4,big_external_common+4(r5) ++ ldb r4,small_external_common+4(r5) ++ ldb r4,big_local_common+4(r5) ++ ldb r4,small_local_common+4(r5) ++ ldb r4,data_label-0x8000(r5) ++ ldb r4,big_external_data_label-0x8000(r5) ++ ldb r4,small_external_data_label-0x8000(r5) ++ ldb r4,big_external_common-0x8000(r5) ++ ldb r4,small_external_common-0x8000(r5) ++ ldb r4,big_local_common-0x8000(r5) ++ ldb r4,small_local_common-0x8000(r5) ++ ++ ldbio r4,0(r0) ++ ldbio r4,4(r0) ++ ldbio r4,0x7ffc(r0) ++ ldbio r4,-0x8000(r0) ++ ldbio r4,0(r5) ++ ldbio r4,4(r5) ++ ldbio r4,0x7ffc(r5) ++ ldbio r4,-0x8000(r5) ++ ldbio r4,data_label(r0) ++ ldbio r4,big_external_data_label(r0) ++ ldbio r4,small_external_data_label(r0) ++ ldbio r4,big_external_common(r0) ++ ldbio r4,small_external_common(r0) ++ ldbio r4,big_local_common(r0) ++ ldbio r4,small_local_common(r0) ++ ldbio r4,data_label+4(r0) ++ ldbio r4,big_external_data_label+4(r0) ++ ldbio r4,small_external_data_label+4(r0) ++ ldbio r4,big_external_common+4(r0) ++ ldbio r4,small_external_common+4(r0) ++ ldbio r4,big_local_common+4(r0) ++ ldbio r4,small_local_common+4(r0) ++ ldbio r4,data_label-0x8000(r0) ++ ldbio r4,big_external_data_label-0x8000(r0) ++ ldbio r4,small_external_data_label-0x8000(r0) ++ ldbio r4,big_external_common-0x8000(r0) ++ ldbio r4,small_external_common-0x8000(r0) ++ ldbio r4,big_local_common-0x8000(r0) ++ ldbio r4,small_local_common-0x8000(r0) ++ ldbio r4,data_label+0x10000(r0) ++ ldbio r4,data_label(r5) ++ ldbio r4,big_external_data_label(r5) ++ ldbio r4,small_external_data_label(r5) ++ ldbio r4,big_external_common(r5) ++ ldbio r4,small_external_common(r5) ++ ldbio r4,big_local_common(r5) ++ ldbio r4,small_local_common(r5) ++ ldbio r4,data_label+4(r5) ++ ldbio r4,big_external_data_label+4(r5) ++ ldbio r4,small_external_data_label+4(r5) ++ ldbio r4,big_external_common+4(r5) ++ ldbio r4,small_external_common+4(r5) ++ ldbio r4,big_local_common+4(r5) ++ ldbio r4,small_local_common+4(r5) ++ ldbio r4,data_label-0x8000(r5) ++ ldbio r4,big_external_data_label-0x8000(r5) ++ ldbio r4,small_external_data_label-0x8000(r5) ++ ldbio r4,big_external_common-0x8000(r5) ++ ldbio r4,small_external_common-0x8000(r5) ++ ldbio r4,big_local_common-0x8000(r5) ++ ldbio r4,small_local_common-0x8000(r5) +Index: binutils-2.20.1/gas/testsuite/gas/nios2/ldh.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/ldh.d +@@ -0,0 +1,196 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 ldh ++ ++# Test the ld instruction ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> ldh r4,0\(zero\) ++0+0004 <[^>]*> ldh r4,4\(zero\) ++0+0008 <[^>]*> ldh r4,32764\(zero\) ++0+000c <[^>]*> ldh r4,-32768\(zero\) ++0+0010 <[^>]*> ldh r4,0\(r5\) ++0+0014 <[^>]*> ldh r4,4\(r5\) ++0+0018 <[^>]*> ldh r4,32764\(r5\) ++0+001c <[^>]*> ldh r4,-32768\(r5\) ++0+0020 <[^>]*> ldh r4,0\(zero\) ++[ ]*20: R_NIOS2_S16 .data ++0+0024 <[^>]*> ldh r4,0\(zero\) ++[ ]*24: R_NIOS2_S16 big_external_data_label ++0+0028 <[^>]*> ldh r4,0\(zero\) ++[ ]*28: R_NIOS2_S16 small_external_data_label ++0+002c <[^>]*> ldh r4,0\(zero\) ++[ ]*2c: R_NIOS2_S16 big_external_common ++0+0030 <[^>]*> ldh r4,0\(zero\) ++[ ]*30: R_NIOS2_S16 small_external_common ++0+0034 <[^>]*> ldh r4,0\(zero\) ++[ ]*34: R_NIOS2_S16 .bss ++0+0038 <[^>]*> ldh r4,0\(zero\) ++[ ]*38: R_NIOS2_S16 .bss\+0x4000 ++0+003c <[^>]*> ldh r4,0\(zero\) ++[ ]*3c: R_NIOS2_S16 .data\+0x4 ++0+0040 <[^>]*> ldh r4,0\(zero\) ++[ ]*40: R_NIOS2_S16 big_external_data_label\+0x4 ++0+0044 <[^>]*> ldh r4,0\(zero\) ++[ ]*44: R_NIOS2_S16 small_external_data_label\+0x4 ++0+0048 <[^>]*> ldh r4,0\(zero\) ++[ ]*48: R_NIOS2_S16 big_external_common\+0x4 ++0+004c <[^>]*> ldh r4,0\(zero\) ++[ ]*4c: R_NIOS2_S16 small_external_common\+0x4 ++0+0050 <[^>]*> ldh r4,0\(zero\) ++[ ]*50: R_NIOS2_S16 .bss\+0x4 ++0+0054 <[^>]*> ldh r4,0\(zero\) ++[ ]*54: R_NIOS2_S16 .bss\+0x4004 ++0+0058 <[^>]*> ldh r4,0\(zero\) ++[ ]*58: R_NIOS2_S16 .data\+0xffff8000 ++0+005c <[^>]*> ldh r4,0\(zero\) ++[ ]*5c: R_NIOS2_S16 big_external_data_label\+0xffff8000 ++0+0060 <[^>]*> ldh r4,0\(zero\) ++[ ]*60: R_NIOS2_S16 small_external_data_label\+0xffff8000 ++0+0064 <[^>]*> ldh r4,0\(zero\) ++[ ]*64: R_NIOS2_S16 big_external_common\+0xffff8000 ++0+0068 <[^>]*> ldh r4,0\(zero\) ++[ ]*68: R_NIOS2_S16 small_external_common\+0xffff8000 ++0+006c <[^>]*> ldh r4,0\(zero\) ++[ ]*6c: R_NIOS2_S16 .bss\+0xffff8000 ++0+0070 <[^>]*> ldh r4,0\(zero\) ++[ ]*70: R_NIOS2_S16 .bss\+0xffffc000 ++0+0074 <[^>]*> ldh r4,0\(zero\) ++[ ]*74: R_NIOS2_S16 .data\+0x10000 ++0+0078 <[^>]*> ldh r4,0\(r5\) ++[ ]*78: R_NIOS2_S16 .data ++0+007c <[^>]*> ldh r4,0\(r5\) ++[ ]*7c: R_NIOS2_S16 big_external_data_label ++0+0080 <[^>]*> ldh r4,0\(r5\) ++[ ]*80: R_NIOS2_S16 small_external_data_label ++0+0084 <[^>]*> ldh r4,0\(r5\) ++[ ]*84: R_NIOS2_S16 big_external_common ++0+0088 <[^>]*> ldh r4,0\(r5\) ++[ ]*88: R_NIOS2_S16 small_external_common ++0+008c <[^>]*> ldh r4,0\(r5\) ++[ ]*8c: R_NIOS2_S16 .bss ++0+0090 <[^>]*> ldh r4,0\(r5\) ++[ ]*90: R_NIOS2_S16 .bss\+0x4000 ++0+0094 <[^>]*> ldh r4,0\(r5\) ++[ ]*94: R_NIOS2_S16 .data\+0x4 ++0+0098 <[^>]*> ldh r4,0\(r5\) ++[ ]*98: R_NIOS2_S16 big_external_data_label\+0x4 ++0+009c <[^>]*> ldh r4,0\(r5\) ++[ ]*9c: R_NIOS2_S16 small_external_data_label\+0x4 ++0+00a0 <[^>]*> ldh r4,0\(r5\) ++[ ]*a0: R_NIOS2_S16 big_external_common\+0x4 ++0+00a4 <[^>]*> ldh r4,0\(r5\) ++[ ]*a4: R_NIOS2_S16 small_external_common\+0x4 ++0+00a8 <[^>]*> ldh r4,0\(r5\) ++[ ]*a8: R_NIOS2_S16 .bss\+0x4 ++0+00ac <[^>]*> ldh r4,0\(r5\) ++[ ]*ac: R_NIOS2_S16 .bss\+0x4004 ++0+00b0 <[^>]*> ldh r4,0\(r5\) ++[ ]*b0: R_NIOS2_S16 .data\+0xffff8000 ++0+00b4 <[^>]*> ldh r4,0\(r5\) ++[ ]*b4: R_NIOS2_S16 big_external_data_label\+0xffff8000 ++0+00b8 <[^>]*> ldh r4,0\(r5\) ++[ ]*b8: R_NIOS2_S16 small_external_data_label\+0xffff8000 ++0+00bc <[^>]*> ldh r4,0\(r5\) ++[ ]*bc: R_NIOS2_S16 big_external_common\+0xffff8000 ++0+00c0 <[^>]*> ldh r4,0\(r5\) ++[ ]*c0: R_NIOS2_S16 small_external_common\+0xffff8000 ++0+00c4 <[^>]*> ldh r4,0\(r5\) ++[ ]*c4: R_NIOS2_S16 .bss\+0xffff8000 ++0+00c8 <[^>]*> ldh r4,0\(r5\) ++[ ]*c8: R_NIOS2_S16 .bss\+0xffffc000 ++0+00cc <[^>]*> ldhio r4,0\(zero\) ++0+00d0 <[^>]*> ldhio r4,4\(zero\) ++0+00d4 <[^>]*> ldhio r4,32764\(zero\) ++0+00d8 <[^>]*> ldhio r4,-32768\(zero\) ++0+00dc <[^>]*> ldhio r4,0\(r5\) ++0+00e0 <[^>]*> ldhio r4,4\(r5\) ++0+00e4 <[^>]*> ldhio r4,32764\(r5\) ++0+00e8 <[^>]*> ldhio r4,-32768\(r5\) ++0+00ec <[^>]*> ldhio r4,0\(zero\) ++[ ]*ec: R_NIOS2_S16 .data ++0+00f0 <[^>]*> ldhio r4,0\(zero\) ++[ ]*f0: R_NIOS2_S16 big_external_data_label ++0+00f4 <[^>]*> ldhio r4,0\(zero\) ++[ ]*f4: R_NIOS2_S16 small_external_data_label ++0+00f8 <[^>]*> ldhio r4,0\(zero\) ++[ ]*f8: R_NIOS2_S16 big_external_common ++0+00fc <[^>]*> ldhio r4,0\(zero\) ++[ ]*fc: R_NIOS2_S16 small_external_common ++0+0100 <[^>]*> ldhio r4,0\(zero\) ++[ ]*100: R_NIOS2_S16 .bss ++0+0104 <[^>]*> ldhio r4,0\(zero\) ++[ ]*104: R_NIOS2_S16 .bss\+0x4000 ++0+0108 <[^>]*> ldhio r4,0\(zero\) ++[ ]*108: R_NIOS2_S16 .data\+0x4 ++0+010c <[^>]*> ldhio r4,0\(zero\) ++[ ]*10c: R_NIOS2_S16 big_external_data_label\+0x4 ++0+0110 <[^>]*> ldhio r4,0\(zero\) ++[ ]*110: R_NIOS2_S16 small_external_data_label\+0x4 ++0+0114 <[^>]*> ldhio r4,0\(zero\) ++[ ]*114: R_NIOS2_S16 big_external_common\+0x4 ++0+0118 <[^>]*> ldhio r4,0\(zero\) ++[ ]*118: R_NIOS2_S16 small_external_common\+0x4 ++0+011c <[^>]*> ldhio r4,0\(zero\) ++[ ]*11c: R_NIOS2_S16 .bss\+0x4 ++0+0120 <[^>]*> ldhio r4,0\(zero\) ++[ ]*120: R_NIOS2_S16 .bss\+0x4004 ++0+0124 <[^>]*> ldhio r4,0\(zero\) ++[ ]*124: R_NIOS2_S16 .data\+0xffff8000 ++0+0128 <[^>]*> ldhio r4,0\(zero\) ++[ ]*128: R_NIOS2_S16 big_external_data_label\+0xffff8000 ++0+012c <[^>]*> ldhio r4,0\(zero\) ++[ ]*12c: R_NIOS2_S16 small_external_data_label\+0xffff8000 ++0+0130 <[^>]*> ldhio r4,0\(zero\) ++[ ]*130: R_NIOS2_S16 big_external_common\+0xffff8000 ++0+0134 <[^>]*> ldhio r4,0\(zero\) ++[ ]*134: R_NIOS2_S16 small_external_common\+0xffff8000 ++0+0138 <[^>]*> ldhio r4,0\(zero\) ++[ ]*138: R_NIOS2_S16 .bss\+0xffff8000 ++0+013c <[^>]*> ldhio r4,0\(zero\) ++[ ]*13c: R_NIOS2_S16 .bss\+0xffffc000 ++0+0140 <[^>]*> ldhio r4,0\(zero\) ++[ ]*140: R_NIOS2_S16 .data\+0x10000 ++0+0144 <[^>]*> ldhio r4,0\(r5\) ++[ ]*144: R_NIOS2_S16 .data ++0+0148 <[^>]*> ldhio r4,0\(r5\) ++[ ]*148: R_NIOS2_S16 big_external_data_label ++0+014c <[^>]*> ldhio r4,0\(r5\) ++[ ]*14c: R_NIOS2_S16 small_external_data_label ++0+0150 <[^>]*> ldhio r4,0\(r5\) ++[ ]*150: R_NIOS2_S16 big_external_common ++0+0154 <[^>]*> ldhio r4,0\(r5\) ++[ ]*154: R_NIOS2_S16 small_external_common ++0+0158 <[^>]*> ldhio r4,0\(r5\) ++[ ]*158: R_NIOS2_S16 .bss ++0+015c <[^>]*> ldhio r4,0\(r5\) ++[ ]*15c: R_NIOS2_S16 .bss\+0x4000 ++0+0160 <[^>]*> ldhio r4,0\(r5\) ++[ ]*160: R_NIOS2_S16 .data\+0x4 ++0+0164 <[^>]*> ldhio r4,0\(r5\) ++[ ]*164: R_NIOS2_S16 big_external_data_label\+0x4 ++0+0168 <[^>]*> ldhio r4,0\(r5\) ++[ ]*168: R_NIOS2_S16 small_external_data_label\+0x4 ++0+016c <[^>]*> ldhio r4,0\(r5\) ++[ ]*16c: R_NIOS2_S16 big_external_common\+0x4 ++0+0170 <[^>]*> ldhio r4,0\(r5\) ++[ ]*170: R_NIOS2_S16 small_external_common\+0x4 ++0+0174 <[^>]*> ldhio r4,0\(r5\) ++[ ]*174: R_NIOS2_S16 .bss\+0x4 ++0+0178 <[^>]*> ldhio r4,0\(r5\) ++[ ]*178: R_NIOS2_S16 .bss\+0x4004 ++0+017c <[^>]*> ldhio r4,0\(r5\) ++[ ]*17c: R_NIOS2_S16 .data\+0xffff8000 ++0+0180 <[^>]*> ldhio r4,0\(r5\) ++[ ]*180: R_NIOS2_S16 big_external_data_label\+0xffff8000 ++0+0184 <[^>]*> ldhio r4,0\(r5\) ++[ ]*184: R_NIOS2_S16 small_external_data_label\+0xffff8000 ++0+0188 <[^>]*> ldhio r4,0\(r5\) ++[ ]*188: R_NIOS2_S16 big_external_common\+0xffff8000 ++0+018c <[^>]*> ldhio r4,0\(r5\) ++[ ]*18c: R_NIOS2_S16 small_external_common\+0xffff8000 ++0+0190 <[^>]*> ldhio r4,0\(r5\) ++[ ]*190: R_NIOS2_S16 .bss\+0xffff8000 ++0+0194 <[^>]*> ldhio r4,0\(r5\) ++[ ]*194: R_NIOS2_S16 .bss\+0xffffc000 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/ldh.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/ldh.s +@@ -0,0 +1,117 @@ ++ .data ++data_label: ++ .extern big_external_data_label,0x4000 ++ .extern small_external_data_label,4 ++ .comm big_external_common,0x4000 ++ .comm small_external_common,4 ++ .lcomm big_local_common,0x4000 ++ .lcomm small_local_common,4 ++ ++# the small symbols should have space allocated in the sbss section ++# but this is not yet supported in the assembler, so space is allocated ++# in the .bss section and the relocations are not gp-relative. this will ++# be updated when gp-relative relocations are added ++ .text ++ ldh r4,0(r0) ++ ldh r4,4(r0) ++ ldh r4,0x7ffc(r0) ++ ldh r4,-0x8000(r0) ++ ldh r4,0(r5) ++ ldh r4,4(r5) ++ ldh r4,0x7ffc(r5) ++ ldh r4,-0x8000(r5) ++ ldh r4,data_label(r0) ++ ldh r4,big_external_data_label(r0) ++ ldh r4,small_external_data_label(r0) ++ ldh r4,big_external_common(r0) ++ ldh r4,small_external_common(r0) ++ ldh r4,big_local_common(r0) ++ ldh r4,small_local_common(r0) ++ ldh r4,data_label+4(r0) ++ ldh r4,big_external_data_label+4(r0) ++ ldh r4,small_external_data_label+4(r0) ++ ldh r4,big_external_common+4(r0) ++ ldh r4,small_external_common+4(r0) ++ ldh r4,big_local_common+4(r0) ++ ldh r4,small_local_common+4(r0) ++ ldh r4,data_label-0x8000(r0) ++ ldh r4,big_external_data_label-0x8000(r0) ++ ldh r4,small_external_data_label-0x8000(r0) ++ ldh r4,big_external_common-0x8000(r0) ++ ldh r4,small_external_common-0x8000(r0) ++ ldh r4,big_local_common-0x8000(r0) ++ ldh r4,small_local_common-0x8000(r0) ++ ldh r4,data_label+0x10000(r0) ++ ldh r4,data_label(r5) ++ ldh r4,big_external_data_label(r5) ++ ldh r4,small_external_data_label(r5) ++ ldh r4,big_external_common(r5) ++ ldh r4,small_external_common(r5) ++ ldh r4,big_local_common(r5) ++ ldh r4,small_local_common(r5) ++ ldh r4,data_label+4(r5) ++ ldh r4,big_external_data_label+4(r5) ++ ldh r4,small_external_data_label+4(r5) ++ ldh r4,big_external_common+4(r5) ++ ldh r4,small_external_common+4(r5) ++ ldh r4,big_local_common+4(r5) ++ ldh r4,small_local_common+4(r5) ++ ldh r4,data_label-0x8000(r5) ++ ldh r4,big_external_data_label-0x8000(r5) ++ ldh r4,small_external_data_label-0x8000(r5) ++ ldh r4,big_external_common-0x8000(r5) ++ ldh r4,small_external_common-0x8000(r5) ++ ldh r4,big_local_common-0x8000(r5) ++ ldh r4,small_local_common-0x8000(r5) ++ ++ ldhio r4,0(r0) ++ ldhio r4,4(r0) ++ ldhio r4,0x7ffc(r0) ++ ldhio r4,-0x8000(r0) ++ ldhio r4,0(r5) ++ ldhio r4,4(r5) ++ ldhio r4,0x7ffc(r5) ++ ldhio r4,-0x8000(r5) ++ ldhio r4,data_label(r0) ++ ldhio r4,big_external_data_label(r0) ++ ldhio r4,small_external_data_label(r0) ++ ldhio r4,big_external_common(r0) ++ ldhio r4,small_external_common(r0) ++ ldhio r4,big_local_common(r0) ++ ldhio r4,small_local_common(r0) ++ ldhio r4,data_label+4(r0) ++ ldhio r4,big_external_data_label+4(r0) ++ ldhio r4,small_external_data_label+4(r0) ++ ldhio r4,big_external_common+4(r0) ++ ldhio r4,small_external_common+4(r0) ++ ldhio r4,big_local_common+4(r0) ++ ldhio r4,small_local_common+4(r0) ++ ldhio r4,data_label-0x8000(r0) ++ ldhio r4,big_external_data_label-0x8000(r0) ++ ldhio r4,small_external_data_label-0x8000(r0) ++ ldhio r4,big_external_common-0x8000(r0) ++ ldhio r4,small_external_common-0x8000(r0) ++ ldhio r4,big_local_common-0x8000(r0) ++ ldhio r4,small_local_common-0x8000(r0) ++ ldhio r4,data_label+0x10000(r0) ++ ldhio r4,data_label(r5) ++ ldhio r4,big_external_data_label(r5) ++ ldhio r4,small_external_data_label(r5) ++ ldhio r4,big_external_common(r5) ++ ldhio r4,small_external_common(r5) ++ ldhio r4,big_local_common(r5) ++ ldhio r4,small_local_common(r5) ++ ldhio r4,data_label+4(r5) ++ ldhio r4,big_external_data_label+4(r5) ++ ldhio r4,small_external_data_label+4(r5) ++ ldhio r4,big_external_common+4(r5) ++ ldhio r4,small_external_common+4(r5) ++ ldhio r4,big_local_common+4(r5) ++ ldhio r4,small_local_common+4(r5) ++ ldhio r4,data_label-0x8000(r5) ++ ldhio r4,big_external_data_label-0x8000(r5) ++ ldhio r4,small_external_data_label-0x8000(r5) ++ ldhio r4,big_external_common-0x8000(r5) ++ ldhio r4,small_external_common-0x8000(r5) ++ ldhio r4,big_local_common-0x8000(r5) ++ ldhio r4,small_local_common-0x8000(r5) +Index: binutils-2.20.1/gas/testsuite/gas/nios2/ldw.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/ldw.d +@@ -0,0 +1,196 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 ldw ++ ++# Test the ld instruction ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> ldw r4,0\(zero\) ++0+0004 <[^>]*> ldw r4,4\(zero\) ++0+0008 <[^>]*> ldw r4,32764\(zero\) ++0+000c <[^>]*> ldw r4,-32768\(zero\) ++0+0010 <[^>]*> ldw r4,0\(r5\) ++0+0014 <[^>]*> ldw r4,4\(r5\) ++0+0018 <[^>]*> ldw r4,32764\(r5\) ++0+001c <[^>]*> ldw r4,-32768\(r5\) ++0+0020 <[^>]*> ldw r4,0\(zero\) ++[ ]*20: R_NIOS2_S16 .data ++0+0024 <[^>]*> ldw r4,0\(zero\) ++[ ]*24: R_NIOS2_S16 big_external_data_label ++0+0028 <[^>]*> ldw r4,0\(zero\) ++[ ]*28: R_NIOS2_S16 small_external_data_label ++0+002c <[^>]*> ldw r4,0\(zero\) ++[ ]*2c: R_NIOS2_S16 big_external_common ++0+0030 <[^>]*> ldw r4,0\(zero\) ++[ ]*30: R_NIOS2_S16 small_external_common ++0+0034 <[^>]*> ldw r4,0\(zero\) ++[ ]*34: R_NIOS2_S16 .bss ++0+0038 <[^>]*> ldw r4,0\(zero\) ++[ ]*38: R_NIOS2_S16 .bss\+0x4000 ++0+003c <[^>]*> ldw r4,0\(zero\) ++[ ]*3c: R_NIOS2_S16 .data\+0x4 ++0+0040 <[^>]*> ldw r4,0\(zero\) ++[ ]*40: R_NIOS2_S16 big_external_data_label\+0x4 ++0+0044 <[^>]*> ldw r4,0\(zero\) ++[ ]*44: R_NIOS2_S16 small_external_data_label\+0x4 ++0+0048 <[^>]*> ldw r4,0\(zero\) ++[ ]*48: R_NIOS2_S16 big_external_common\+0x4 ++0+004c <[^>]*> ldw r4,0\(zero\) ++[ ]*4c: R_NIOS2_S16 small_external_common\+0x4 ++0+0050 <[^>]*> ldw r4,0\(zero\) ++[ ]*50: R_NIOS2_S16 .bss\+0x4 ++0+0054 <[^>]*> ldw r4,0\(zero\) ++[ ]*54: R_NIOS2_S16 .bss\+0x4004 ++0+0058 <[^>]*> ldw r4,0\(zero\) ++[ ]*58: R_NIOS2_S16 .data\+0xffff8000 ++0+005c <[^>]*> ldw r4,0\(zero\) ++[ ]*5c: R_NIOS2_S16 big_external_data_label\+0xffff8000 ++0+0060 <[^>]*> ldw r4,0\(zero\) ++[ ]*60: R_NIOS2_S16 small_external_data_label\+0xffff8000 ++0+0064 <[^>]*> ldw r4,0\(zero\) ++[ ]*64: R_NIOS2_S16 big_external_common\+0xffff8000 ++0+0068 <[^>]*> ldw r4,0\(zero\) ++[ ]*68: R_NIOS2_S16 small_external_common\+0xffff8000 ++0+006c <[^>]*> ldw r4,0\(zero\) ++[ ]*6c: R_NIOS2_S16 .bss\+0xffff8000 ++0+0070 <[^>]*> ldw r4,0\(zero\) ++[ ]*70: R_NIOS2_S16 .bss\+0xffffc000 ++0+0074 <[^>]*> ldw r4,0\(zero\) ++[ ]*74: R_NIOS2_S16 .data\+0x10000 ++0+0078 <[^>]*> ldw r4,0\(r5\) ++[ ]*78: R_NIOS2_S16 .data ++0+007c <[^>]*> ldw r4,0\(r5\) ++[ ]*7c: R_NIOS2_S16 big_external_data_label ++0+0080 <[^>]*> ldw r4,0\(r5\) ++[ ]*80: R_NIOS2_S16 small_external_data_label ++0+0084 <[^>]*> ldw r4,0\(r5\) ++[ ]*84: R_NIOS2_S16 big_external_common ++0+0088 <[^>]*> ldw r4,0\(r5\) ++[ ]*88: R_NIOS2_S16 small_external_common ++0+008c <[^>]*> ldw r4,0\(r5\) ++[ ]*8c: R_NIOS2_S16 .bss ++0+0090 <[^>]*> ldw r4,0\(r5\) ++[ ]*90: R_NIOS2_S16 .bss\+0x4000 ++0+0094 <[^>]*> ldw r4,0\(r5\) ++[ ]*94: R_NIOS2_S16 .data\+0x4 ++0+0098 <[^>]*> ldw r4,0\(r5\) ++[ ]*98: R_NIOS2_S16 big_external_data_label\+0x4 ++0+009c <[^>]*> ldw r4,0\(r5\) ++[ ]*9c: R_NIOS2_S16 small_external_data_label\+0x4 ++0+00a0 <[^>]*> ldw r4,0\(r5\) ++[ ]*a0: R_NIOS2_S16 big_external_common\+0x4 ++0+00a4 <[^>]*> ldw r4,0\(r5\) ++[ ]*a4: R_NIOS2_S16 small_external_common\+0x4 ++0+00a8 <[^>]*> ldw r4,0\(r5\) ++[ ]*a8: R_NIOS2_S16 .bss\+0x4 ++0+00ac <[^>]*> ldw r4,0\(r5\) ++[ ]*ac: R_NIOS2_S16 .bss\+0x4004 ++0+00b0 <[^>]*> ldw r4,0\(r5\) ++[ ]*b0: R_NIOS2_S16 .data\+0xffff8000 ++0+00b4 <[^>]*> ldw r4,0\(r5\) ++[ ]*b4: R_NIOS2_S16 big_external_data_label\+0xffff8000 ++0+00b8 <[^>]*> ldw r4,0\(r5\) ++[ ]*b8: R_NIOS2_S16 small_external_data_label\+0xffff8000 ++0+00bc <[^>]*> ldw r4,0\(r5\) ++[ ]*bc: R_NIOS2_S16 big_external_common\+0xffff8000 ++0+00c0 <[^>]*> ldw r4,0\(r5\) ++[ ]*c0: R_NIOS2_S16 small_external_common\+0xffff8000 ++0+00c4 <[^>]*> ldw r4,0\(r5\) ++[ ]*c4: R_NIOS2_S16 .bss\+0xffff8000 ++0+00c8 <[^>]*> ldw r4,0\(r5\) ++[ ]*c8: R_NIOS2_S16 .bss\+0xffffc000 ++0+00cc <[^>]*> ldwio r4,0\(zero\) ++0+00d0 <[^>]*> ldwio r4,4\(zero\) ++0+00d4 <[^>]*> ldwio r4,32764\(zero\) ++0+00d8 <[^>]*> ldwio r4,-32768\(zero\) ++0+00dc <[^>]*> ldwio r4,0\(r5\) ++0+00e0 <[^>]*> ldwio r4,4\(r5\) ++0+00e4 <[^>]*> ldwio r4,32764\(r5\) ++0+00e8 <[^>]*> ldwio r4,-32768\(r5\) ++0+00ec <[^>]*> ldwio r4,0\(zero\) ++[ ]*ec: R_NIOS2_S16 .data ++0+00f0 <[^>]*> ldwio r4,0\(zero\) ++[ ]*f0: R_NIOS2_S16 big_external_data_label ++0+00f4 <[^>]*> ldwio r4,0\(zero\) ++[ ]*f4: R_NIOS2_S16 small_external_data_label ++0+00f8 <[^>]*> ldwio r4,0\(zero\) ++[ ]*f8: R_NIOS2_S16 big_external_common ++0+00fc <[^>]*> ldwio r4,0\(zero\) ++[ ]*fc: R_NIOS2_S16 small_external_common ++0+0100 <[^>]*> ldwio r4,0\(zero\) ++[ ]*100: R_NIOS2_S16 .bss ++0+0104 <[^>]*> ldwio r4,0\(zero\) ++[ ]*104: R_NIOS2_S16 .bss\+0x4000 ++0+0108 <[^>]*> ldwio r4,0\(zero\) ++[ ]*108: R_NIOS2_S16 .data\+0x4 ++0+010c <[^>]*> ldwio r4,0\(zero\) ++[ ]*10c: R_NIOS2_S16 big_external_data_label\+0x4 ++0+0110 <[^>]*> ldwio r4,0\(zero\) ++[ ]*110: R_NIOS2_S16 small_external_data_label\+0x4 ++0+0114 <[^>]*> ldwio r4,0\(zero\) ++[ ]*114: R_NIOS2_S16 big_external_common\+0x4 ++0+0118 <[^>]*> ldwio r4,0\(zero\) ++[ ]*118: R_NIOS2_S16 small_external_common\+0x4 ++0+011c <[^>]*> ldwio r4,0\(zero\) ++[ ]*11c: R_NIOS2_S16 .bss\+0x4 ++0+0120 <[^>]*> ldwio r4,0\(zero\) ++[ ]*120: R_NIOS2_S16 .bss\+0x4004 ++0+0124 <[^>]*> ldwio r4,0\(zero\) ++[ ]*124: R_NIOS2_S16 .data\+0xffff8000 ++0+0128 <[^>]*> ldwio r4,0\(zero\) ++[ ]*128: R_NIOS2_S16 big_external_data_label\+0xffff8000 ++0+012c <[^>]*> ldwio r4,0\(zero\) ++[ ]*12c: R_NIOS2_S16 small_external_data_label\+0xffff8000 ++0+0130 <[^>]*> ldwio r4,0\(zero\) ++[ ]*130: R_NIOS2_S16 big_external_common\+0xffff8000 ++0+0134 <[^>]*> ldwio r4,0\(zero\) ++[ ]*134: R_NIOS2_S16 small_external_common\+0xffff8000 ++0+0138 <[^>]*> ldwio r4,0\(zero\) ++[ ]*138: R_NIOS2_S16 .bss\+0xffff8000 ++0+013c <[^>]*> ldwio r4,0\(zero\) ++[ ]*13c: R_NIOS2_S16 .bss\+0xffffc000 ++0+0140 <[^>]*> ldwio r4,0\(zero\) ++[ ]*140: R_NIOS2_S16 .data\+0x10000 ++0+0144 <[^>]*> ldwio r4,0\(r5\) ++[ ]*144: R_NIOS2_S16 .data ++0+0148 <[^>]*> ldwio r4,0\(r5\) ++[ ]*148: R_NIOS2_S16 big_external_data_label ++0+014c <[^>]*> ldwio r4,0\(r5\) ++[ ]*14c: R_NIOS2_S16 small_external_data_label ++0+0150 <[^>]*> ldwio r4,0\(r5\) ++[ ]*150: R_NIOS2_S16 big_external_common ++0+0154 <[^>]*> ldwio r4,0\(r5\) ++[ ]*154: R_NIOS2_S16 small_external_common ++0+0158 <[^>]*> ldwio r4,0\(r5\) ++[ ]*158: R_NIOS2_S16 .bss ++0+015c <[^>]*> ldwio r4,0\(r5\) ++[ ]*15c: R_NIOS2_S16 .bss\+0x4000 ++0+0160 <[^>]*> ldwio r4,0\(r5\) ++[ ]*160: R_NIOS2_S16 .data\+0x4 ++0+0164 <[^>]*> ldwio r4,0\(r5\) ++[ ]*164: R_NIOS2_S16 big_external_data_label\+0x4 ++0+0168 <[^>]*> ldwio r4,0\(r5\) ++[ ]*168: R_NIOS2_S16 small_external_data_label\+0x4 ++0+016c <[^>]*> ldwio r4,0\(r5\) ++[ ]*16c: R_NIOS2_S16 big_external_common\+0x4 ++0+0170 <[^>]*> ldwio r4,0\(r5\) ++[ ]*170: R_NIOS2_S16 small_external_common\+0x4 ++0+0174 <[^>]*> ldwio r4,0\(r5\) ++[ ]*174: R_NIOS2_S16 .bss\+0x4 ++0+0178 <[^>]*> ldwio r4,0\(r5\) ++[ ]*178: R_NIOS2_S16 .bss\+0x4004 ++0+017c <[^>]*> ldwio r4,0\(r5\) ++[ ]*17c: R_NIOS2_S16 .data\+0xffff8000 ++0+0180 <[^>]*> ldwio r4,0\(r5\) ++[ ]*180: R_NIOS2_S16 big_external_data_label\+0xffff8000 ++0+0184 <[^>]*> ldwio r4,0\(r5\) ++[ ]*184: R_NIOS2_S16 small_external_data_label\+0xffff8000 ++0+0188 <[^>]*> ldwio r4,0\(r5\) ++[ ]*188: R_NIOS2_S16 big_external_common\+0xffff8000 ++0+018c <[^>]*> ldwio r4,0\(r5\) ++[ ]*18c: R_NIOS2_S16 small_external_common\+0xffff8000 ++0+0190 <[^>]*> ldwio r4,0\(r5\) ++[ ]*190: R_NIOS2_S16 .bss\+0xffff8000 ++0+0194 <[^>]*> ldwio r4,0\(r5\) ++[ ]*194: R_NIOS2_S16 .bss\+0xffffc000 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/ldw.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/ldw.s +@@ -0,0 +1,117 @@ ++ .data ++data_label: ++ .extern big_external_data_label,0x4000 ++ .extern small_external_data_label,4 ++ .comm big_external_common,0x4000 ++ .comm small_external_common,4 ++ .lcomm big_local_common,0x4000 ++ .lcomm small_local_common,4 ++ ++# the small symbols should have space allocated in the sbss section ++# but this is not yet supported in the assembler, so space is allocated ++# in the .bss section and the relocations are not gp-relative. this will ++# be updated when gp-relative relocations are added ++ .text ++ ldw r4,0(r0) ++ ldw r4,4(r0) ++ ldw r4,0x7ffc(r0) ++ ldw r4,-0x8000(r0) ++ ldw r4,0(r5) ++ ldw r4,4(r5) ++ ldw r4,0x7ffc(r5) ++ ldw r4,-0x8000(r5) ++ ldw r4,data_label(r0) ++ ldw r4,big_external_data_label(r0) ++ ldw r4,small_external_data_label(r0) ++ ldw r4,big_external_common(r0) ++ ldw r4,small_external_common(r0) ++ ldw r4,big_local_common(r0) ++ ldw r4,small_local_common(r0) ++ ldw r4,data_label+4(r0) ++ ldw r4,big_external_data_label+4(r0) ++ ldw r4,small_external_data_label+4(r0) ++ ldw r4,big_external_common+4(r0) ++ ldw r4,small_external_common+4(r0) ++ ldw r4,big_local_common+4(r0) ++ ldw r4,small_local_common+4(r0) ++ ldw r4,data_label-0x8000(r0) ++ ldw r4,big_external_data_label-0x8000(r0) ++ ldw r4,small_external_data_label-0x8000(r0) ++ ldw r4,big_external_common-0x8000(r0) ++ ldw r4,small_external_common-0x8000(r0) ++ ldw r4,big_local_common-0x8000(r0) ++ ldw r4,small_local_common-0x8000(r0) ++ ldw r4,data_label+0x10000(r0) ++ ldw r4,data_label(r5) ++ ldw r4,big_external_data_label(r5) ++ ldw r4,small_external_data_label(r5) ++ ldw r4,big_external_common(r5) ++ ldw r4,small_external_common(r5) ++ ldw r4,big_local_common(r5) ++ ldw r4,small_local_common(r5) ++ ldw r4,data_label+4(r5) ++ ldw r4,big_external_data_label+4(r5) ++ ldw r4,small_external_data_label+4(r5) ++ ldw r4,big_external_common+4(r5) ++ ldw r4,small_external_common+4(r5) ++ ldw r4,big_local_common+4(r5) ++ ldw r4,small_local_common+4(r5) ++ ldw r4,data_label-0x8000(r5) ++ ldw r4,big_external_data_label-0x8000(r5) ++ ldw r4,small_external_data_label-0x8000(r5) ++ ldw r4,big_external_common-0x8000(r5) ++ ldw r4,small_external_common-0x8000(r5) ++ ldw r4,big_local_common-0x8000(r5) ++ ldw r4,small_local_common-0x8000(r5) ++ ++ ldwio r4,0(r0) ++ ldwio r4,4(r0) ++ ldwio r4,0x7ffc(r0) ++ ldwio r4,-0x8000(r0) ++ ldwio r4,0(r5) ++ ldwio r4,4(r5) ++ ldwio r4,0x7ffc(r5) ++ ldwio r4,-0x8000(r5) ++ ldwio r4,data_label(r0) ++ ldwio r4,big_external_data_label(r0) ++ ldwio r4,small_external_data_label(r0) ++ ldwio r4,big_external_common(r0) ++ ldwio r4,small_external_common(r0) ++ ldwio r4,big_local_common(r0) ++ ldwio r4,small_local_common(r0) ++ ldwio r4,data_label+4(r0) ++ ldwio r4,big_external_data_label+4(r0) ++ ldwio r4,small_external_data_label+4(r0) ++ ldwio r4,big_external_common+4(r0) ++ ldwio r4,small_external_common+4(r0) ++ ldwio r4,big_local_common+4(r0) ++ ldwio r4,small_local_common+4(r0) ++ ldwio r4,data_label-0x8000(r0) ++ ldwio r4,big_external_data_label-0x8000(r0) ++ ldwio r4,small_external_data_label-0x8000(r0) ++ ldwio r4,big_external_common-0x8000(r0) ++ ldwio r4,small_external_common-0x8000(r0) ++ ldwio r4,big_local_common-0x8000(r0) ++ ldwio r4,small_local_common-0x8000(r0) ++ ldwio r4,data_label+0x10000(r0) ++ ldwio r4,data_label(r5) ++ ldwio r4,big_external_data_label(r5) ++ ldwio r4,small_external_data_label(r5) ++ ldwio r4,big_external_common(r5) ++ ldwio r4,small_external_common(r5) ++ ldwio r4,big_local_common(r5) ++ ldwio r4,small_local_common(r5) ++ ldwio r4,data_label+4(r5) ++ ldwio r4,big_external_data_label+4(r5) ++ ldwio r4,small_external_data_label+4(r5) ++ ldwio r4,big_external_common+4(r5) ++ ldwio r4,small_external_common+4(r5) ++ ldwio r4,big_local_common+4(r5) ++ ldwio r4,small_local_common+4(r5) ++ ldwio r4,data_label-0x8000(r5) ++ ldwio r4,big_external_data_label-0x8000(r5) ++ ldwio r4,small_external_data_label-0x8000(r5) ++ ldwio r4,big_external_common-0x8000(r5) ++ ldwio r4,small_external_common-0x8000(r5) ++ ldwio r4,big_local_common-0x8000(r5) ++ ldwio r4,small_local_common-0x8000(r5) +Index: binutils-2.20.1/gas/testsuite/gas/nios2/lineseparator.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/lineseparator.d +@@ -0,0 +1,10 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 lineseparator ++ ++# Test the add instruction ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0x0+0000 mov r5,r4 ++0x0+0004 mov r4,r5 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/lineseparator.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/lineseparator.s +@@ -0,0 +1,4 @@ ++mov r5, r4 ; mov r4, r5 ++ ++ ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/link1.lds +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/link1.lds +@@ -0,0 +1,11 @@ ++/* Simple script for testing relaxation */ ++ ++OUTPUT_FORMAT("elf32-littlenios2", "elf32-littlenios2", "elf32-littlenios2") ++OUTPUT_ARCH(nios2) ++ENTRY(_start) ++SECTIONS ++{ ++ _start = .; ++ text2 0 : { *(text2) } ++ text1 0x8000 : { *(text1) } ++} +Index: binutils-2.20.1/gas/testsuite/gas/nios2/link2.lds +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/link2.lds +@@ -0,0 +1,11 @@ ++/* Simple script for testing relaxation */ ++ ++OUTPUT_FORMAT("elf32-littlenios2", "elf32-littlenios2", "elf32-littlenios2") ++OUTPUT_ARCH(nios2) ++ENTRY(_start) ++SECTIONS ++{ ++ _start = .; ++ text1 0 : { *(text1) } ++ text2 0x80000000 : { *(text2) } ++} +Index: binutils-2.20.1/gas/testsuite/gas/nios2/link3.lds +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/link3.lds +@@ -0,0 +1,11 @@ ++/* Simple script for testing relaxation */ ++ ++OUTPUT_FORMAT("elf32-littlenios2", "elf32-littlenios2", "elf32-littlenios2") ++OUTPUT_ARCH(nios2) ++ENTRY(_start) ++SECTIONS ++{ ++ _start = .; ++ text1 0 : { *(text1) } ++ text2 0x08000000 : { *(text2) } ++} +Index: binutils-2.20.1/gas/testsuite/gas/nios2/mov.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/mov.d +@@ -0,0 +1,11 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 mov ++ ++# Test the mov instruction ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> movz \$4,\$5,\$6 ++0+0004 <[^>]*> movnz \$4,\$5,\$6 ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/mov.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/mov.s +@@ -0,0 +1,5 @@ ++# Source file used to test the movz and movnz instructions ++ ++foo: ++ movz $4,$5,$6 ++ movnz $4,$5,$6 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/movi.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/movi.d +@@ -0,0 +1,13 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 movi ++ ++# Test implicit conversion of movi/movhi etc ++.*: file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> movi r2,32 ++0+0004 <[^>]*> movhi r2,8192 ++0+0008 <[^>]*> movhi r2,65535 ++0+000c <[^>]*> orhi r2,r5,65535 ++0+0010 <[^>]*> xorhi r2,r10,65535 ++0+0014 <[^>]*> andhi r2,r15,65535 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/movi.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/movi.s +@@ -0,0 +1,21 @@ ++# Source file used to test silent conversion of ++# movi to orhi etc ++ ++foo: ++# this doesn't get converted ++movi r2, 0x20 ++ ++# this does ++movi r2, 0x20000000 ++ ++# addi should convert only if the source register is r0 ++addi r2, r0, 0xffff0000 ++# but we can't test for non-conversion because the value would ++# be out of range ++ ++# logical ops should convert for any register ++ori r2, r5, 0xffff0000 ++xori r2, r10, 0xffff0000 ++andi r2, r15, 0xffff0000 ++ ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/movia.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/movia.d +@@ -0,0 +1,18 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 movia ++ ++# Test the movia instruction ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> movhi r2,32897 ++0+0004 <[^>]*> addi r2,r2,-32640 ++0+0008 <[^>]*> movhi r3,0 ++ 8: R_NIOS2_HIADJ16 sym\+0x80000000 ++0+000c <[^>]*> addi r3,r3,0 ++ c: R_NIOS2_LO16 sym\+0x80000000 ++0+0010 <[^>]*> movhi r4,0 ++ 10: R_NIOS2_HIADJ16 sym\+0x80000001 ++0+0014 <[^>]*> addi r4,r4,0 ++ 14: R_NIOS2_LO16 sym\+0x80000001 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/movia.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/movia.s +@@ -0,0 +1,6 @@ ++# Test program for movia reg, immed32 macro ++ ++foo: ++ movia r2, 0x80808080 ++ movia r3, sym + 0x80000000 ++ movia r4, sym - 0x7fffffff +Index: binutils-2.20.1/gas/testsuite/gas/nios2/mul.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/mul.d +@@ -0,0 +1,19 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 mul ++ ++# Test the mul macro. ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> mul r4,r5,r6 ++0+0004 <[^>]*> muli r4,r5,0 ++0+0008 <[^>]*> muli r4,r5,1 ++0+000c <[^>]*> muli r4,r5,-32768 ++0+0010 <[^>]*> muli r4,r5,32767 ++0+0014 <[^>]*> muli r4,r5,0 ++[ ]*14: R_NIOS2_S16 undefined_symbol ++0+0018 <[^>]*> muli r4,r5,16448 ++0+001c <[^>]*> mulxss r4,r5,r6 ++0+0020 <[^>]*> mulxsu r4,r5,r6 ++0+0024 <[^>]*> mulxuu r4,r5,r6 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/mul.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/mul.s +@@ -0,0 +1,15 @@ ++# Source file used to test the mul macro. ++ ++foo: ++ mul r4,r5,r6 ++ muli r4,r5,0 ++ muli r4,r5,1 ++ muli r4,r5,-0x8000 ++ muli r4,r5,0x7fff ++ muli r4,r5,undefined_symbol ++ muli r4,r5,defined_symbol ++ mulxss r4,r5,r6 ++ mulxsu r4,r5,r6 ++ mulxuu r4,r5,r6 ++.data ++.set defined_symbol, 0x4040 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-merged_strings.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-merged_strings.d +@@ -0,0 +1,17 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 reloc against merged strings ++ ++# Test the merged duplicate strings ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> addi r2,r2,32 ++0+0004 <[^>]*> addi r3,r3,63 ++0+0008 <[^>]*> addi r4,r4,70 ++0+000c <[^>]*> call 00000000 <func1> ++0+0010 <[^>]*> addi r2,r2,101 ++0+0014 <[^>]*> addi r3,r3,63 ++0+0018 <[^>]*> addi r4,r4,132 ++0+001c <[^>]*> call 00000000 <func1> ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-merged_strings.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-merged_strings.s +@@ -0,0 +1,21 @@ ++ .section .rodata.str1.1,"aMS",@progbits,1 ++.LC0: ++ .string "DHRYSTONE PROGRAM, 1'ST STRING" ++.LC1: ++ .string "COMMON" ++.LC2: ++ .string "DHRYSTONE PROGRAM, 2'ND STRING" ++ ++ .section .text ++ .align 3 ++ .global func1 ++ .type func1, @function ++func1: ++ #movhi $2, %hiadj(.LC0) ++ addi r2, r2, .LC0 ++ #movhi $3, %hiadj(.LC1) ++ addi r3, r3, .LC1 ++ #movhi $4, %hiadj(.LC2) ++ addi r4, r4, .LC2 ++ .size func1, .-func1 ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-bfd-reloc-xx.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-bfd-reloc-xx.d +@@ -0,0 +1,8 @@ ++#objdump: -s ++#name: NIOS2 R_NIOS2_BFD_RELOC_XX ++ ++# Test the branch instructions. ++.*: +file format elf32-littlenios2 ++ ++Contents of section .text: ++ 0000 fa00cefa efbeadde facefaef beadde00 ................ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-bfd-reloc-xx.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-bfd-reloc-xx.s +@@ -0,0 +1,9 @@ ++# Test for New Jersey 32-bit, 16 and 8-bit relocations ++ ++.global byte_sym ++.global short_sym ++.global long_sym ++ ++.set byte_sym, 0xFA ++.set short_sym, 0xFACE ++.set long_sym, 0xDEADBEEF +Index: binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-cache-opx.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-cache-opx.d +@@ -0,0 +1,10 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 R_NIOS2_CACHE_OPX ++ ++# Test the cache opx relocation ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> cache 0x1f,0x1000\(\$1\) ++0+0004 <[^>]*> Address 0x4 is out of bounds. ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-cache-opx.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-cache-opx.s +@@ -0,0 +1,6 @@ ++# Test the imm5 relocation ++ ++.text ++ cache imm5, 0x1000($1) ++ ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-call26.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-call26.d +@@ -0,0 +1,76 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 nios2-reloc-r-nios2-call26 ++ ++# Test the branch instructions. ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++[ ]*\.\.\. ++[ ]*0: R_NIOS2_CALL26 .text\+0x100 ++[ ]*4: R_NIOS2_CALL26 globalfunc ++0+0008 <[^>]*> nop ++0+000c <[^>]*> nop ++0+0010 <[^>]*> nop ++0+0014 <[^>]*> nop ++0+0018 <[^>]*> nop ++0+001c <[^>]*> nop ++0+0020 <[^>]*> nop ++0+0024 <[^>]*> nop ++0+0028 <[^>]*> nop ++0+002c <[^>]*> nop ++0+0030 <[^>]*> nop ++0+0034 <[^>]*> nop ++0+0038 <[^>]*> nop ++0+003c <[^>]*> nop ++0+0040 <[^>]*> nop ++0+0044 <[^>]*> nop ++0+0048 <[^>]*> nop ++0+004c <[^>]*> nop ++0+0050 <[^>]*> nop ++0+0054 <[^>]*> nop ++0+0058 <[^>]*> nop ++0+005c <[^>]*> nop ++0+0060 <[^>]*> nop ++0+0064 <[^>]*> nop ++0+0068 <[^>]*> nop ++0+006c <[^>]*> nop ++0+0070 <[^>]*> nop ++0+0074 <[^>]*> nop ++0+0078 <[^>]*> nop ++0+007c <[^>]*> nop ++0+0080 <[^>]*> nop ++0+0084 <[^>]*> nop ++0+0088 <[^>]*> nop ++0+008c <[^>]*> nop ++0+0090 <[^>]*> nop ++0+0094 <[^>]*> nop ++0+0098 <[^>]*> nop ++0+009c <[^>]*> nop ++0+00a0 <[^>]*> nop ++0+00a4 <[^>]*> nop ++0+00a8 <[^>]*> nop ++0+00ac <[^>]*> nop ++0+00b0 <[^>]*> nop ++0+00b4 <[^>]*> nop ++0+00b8 <[^>]*> nop ++0+00bc <[^>]*> nop ++0+00c0 <[^>]*> nop ++0+00c4 <[^>]*> nop ++0+00c8 <[^>]*> nop ++0+00cc <[^>]*> nop ++0+00d0 <[^>]*> nop ++0+00d4 <[^>]*> nop ++0+00d8 <[^>]*> nop ++0+00dc <[^>]*> nop ++0+00e0 <[^>]*> nop ++0+00e4 <[^>]*> nop ++0+00e8 <[^>]*> nop ++0+00ec <[^>]*> nop ++0+00f0 <[^>]*> nop ++0+00f4 <[^>]*> nop ++0+00f8 <[^>]*> nop ++0+00fc <[^>]*> nop ++0+0100 <[^>]*> nop ++ ... ++ ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-call26.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-call26.s +@@ -0,0 +1,12 @@ ++# Test for New Jersey 32-bit relocations ++ ++.global globalfunc ++.text ++.set norelax ++start: ++ call localfunc ++ call globalfunc ++ ++.align 8 ++localfunc: ++ nop +Index: binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-gprel.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-gprel.d +@@ -0,0 +1,15 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 gp-relative relocations ++ ++# Test the %gprel macro. ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> movui gp,32784 ++0+0004 <[^>]*> ldw at,-32756\(gp\) ++0+0008 <[^>]*> ldw r2,-32752\(gp\) ++0+000c <[^>]*> ldb r3,-32748\(gp\) ++0+0010 <[^>]*> ldw at,-32744\(gp\) ++0+0014 <[^>]*> ldw r2,-32740\(gp\) ++0+0018 <[^>]*> ldb r3,-32736\(gp\) +Index: binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-gprel.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-gprel.s +@@ -0,0 +1,24 @@ ++.sdata ++sym1: ++.long 0xdead ++sym2: ++.long 0xbeef ++sym3: ++.byte 0x7f ++ ++.section sdata1, "s" ++sym4: ++.long 0xdead ++sym5: ++.long 0xbeef ++sym6: ++.byte 0x7f ++ ++.text ++ movui gp, _gp ++ ldw r1, %gprel(sym1)(gp) ++ ldw r2, %gprel(sym2)(gp) ++ ldb r3, %gprel(sym3)(gp) ++ ldw r1, %gprel(sym4)(gp) ++ ldw r2, %gprel(sym5)(gp) ++ ldb r3, %gprel(sym6)(gp) +Index: binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-hilo16.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-hilo16.d +@@ -0,0 +1,10 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 R_NIOS2_HI16,LO16,HIADJ16 ++ ++# Test the %hi, %lo and %hiadi relocations ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> addi at,at,-8531 ++0+0004 <[^>]*> addi at,at,-16657 ++0+0008 <[^>]*> addi at,at,-8530 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-hilo16.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-hilo16.s +@@ -0,0 +1,6 @@ ++# Test the %hi, lo and %hiadj relocations ++ ++.text ++ addi r1, r1, %hi(long_symbol) ++ addi r1, r1, %lo(long_symbol) ++ addi r1, r1, %hiadj(long_symbol) +Index: binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-imm5.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-imm5.d +@@ -0,0 +1,10 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 R_NIOS2_IMM5 ++ ++# Test the branch instructions. ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> roli at,at,31 ++0+0004 <.[^>]*> Address 0x4 is out of bounds. ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-imm5.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-imm5.s +@@ -0,0 +1,6 @@ ++# Test the imm5 relocation ++ ++.text ++ roli r1, r1, imm5 ++ ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-pcrel16.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-pcrel16.d +@@ -0,0 +1,12 @@ ++#objdump: -s ++#name: NIOS2 R_NIOS2_PCREL16 ++ ++# Test the relative branch relocations. ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++ ++0+0000 <[^>]*> br 00000008 <ext_label> ++0+0004 <[^>]*> br 00000018 <__bss_start\+0x8> ++0+0008 <[^>]*> nop ++0+000c <[^>]*> nop +Index: binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-pcrel16.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-pcrel16.s +@@ -0,0 +1,6 @@ ++# Test for pc-relative relocations ++.set norelax ++.text ++ br ext_label ++ br ext_label + 16 ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-s.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-s.d +@@ -0,0 +1,8 @@ ++ ++a.exe: file format elf32-littlenios2 ++ ++Contents of section .text: ++ 0000 04004408 04006008 c4ff5f08 44004808 ..D...`..._.D.H. ++ 0010 44004008 D.@. ++Contents of section .data: ++Contents of section .sbss: +Index: binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-s16.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-s16.d +@@ -0,0 +1,9 @@ ++#objdump: -s ++#name: NIOS2 R_NIOS2_S16 ++ ++# Test the signed 16-bit relocations. ++.*: +file format elf32-littlenios2 ++ ++Contents of section .text: ++ 0000 04004408 04006008 c4ff5f08 44004808 ..D...`..._.D.H. ++ 0010 44004008 D.@. +Index: binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-s16.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-s16.s +@@ -0,0 +1,13 @@ ++# Test for New Jersey 32-bit, 16 and 8-bit relocations ++ ++.set some_other_sym, 0x1000 ++.text ++# signed 16-bit relocation ++ addi r1, r1, some_sym ++ addi r1, r1, min ++ addi r1, r1, max ++ addi r1, r1, some_sym + some_other_sym + 1 ++ addi r1, r1, some_sym - some_other_sym + 1 ++ ++ ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-u16.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-u16.d +@@ -0,0 +1,9 @@ ++#objdump: -s ++#name: NIOS2 R_NIOS2_U16 ++ ++# Test the unsigned 16-bit relocations. ++.*: +file format elf32-littlenios2 ++ ++Contents of section .text: ++ 0000 0c004408 0c004008 ccff7f08 4c004808 ..D...@.....L.H. ++ 0010 4c004008 L.@. +Index: binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-u16.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-u16.s +@@ -0,0 +1,13 @@ ++# Test for New Jersey 32-bit, 16 and 8-bit relocations ++ ++.set some_other_sym, 0x1000 ++.text ++# signed 16-bit relocation ++ andi r1, r1, some_sym ++ andi r1, r1, min ++ andi r1, r1, max ++ andi r1, r1, some_sym + some_other_sym + 1 ++ andi r1, r1, some_sym - some_other_sym + 1 ++ ++ ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/nios2.exp +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/nios2.exp +@@ -0,0 +1,201 @@ ++# ++# Some generic New Jersey tests ++# ++ ++# "LOSE" marks information about tests which fail at a particular point ++# in time, but which are not XFAILed. Either they used to pass ++# and indicate either regressions or the need to tweak the tests to keep ++# up the with code, or they are new tests and it is unknown whether or not ++# they should pass as-is for the given object formats. ++ ++if ![info exists LD] then { ++ set LD [findfile $base_dir/../../ld/ld-new] ++} ++ ++proc run_list_test { name } { ++ global srcdir subdir ++ set testname "NIOS2 $name" ++ set file $srcdir/$subdir/$name ++ gas_run ${name}.s "" ">&dump.out" ++ if { [regexp_diff "dump.out" "${file}.l"] } then { ++ fail $testname ++ verbose "output is [file_contents "dump.out"]" 2 ++ return ++ } ++ pass $testname ++} ++ ++proc ld_run { obj0 obj1 opts } { ++ global LD ++ global comp_output ++ global srcdir ++ global subdir ++ global host_triplet ++ ++ verbose "Executing $srcdir/lib/run $LD $obj0 $obj1 $opts" ++ catch "exec $srcdir/lib/run $LD $obj0 $obj1 $opts" comp_output ++ set comp_output [prune_warnings $comp_output] ++ verbose "output was $comp_output" ++ return [list $comp_output ""]; ++} ++ ++proc objdump_run { prog opts redir } { ++ global OBJDUMP ++ global comp_output ++ global srcdir ++ global subdir ++ global host_triplet ++ ++ verbose "Executing $srcdir/lib/run $OBJDUMP -s $prog" ++ catch "exec $srcdir/lib/run $OBJDUMP $opts $prog $redir" comp_output ++ set comp_output [prune_warnings $comp_output] ++ verbose "output was $comp_output" ++ return [list $comp_output ""]; ++} ++ ++proc run_reloc_test { name other objdump_opts} { ++ global LD OBJDUMP AS ++ global srcdir subdir ++ set testname "NIOS2 $name" ++ set file $srcdir/$subdir/$name ++ set file1 $srcdir/$subdir/$other ++ gas_run ${name}.s "-o ${name}.o" "" ++ gas_run ${other}.s "-o ${other}.o" "" ++ ld_run ${name}.o ${other}.o "-o ${name}.exe" ++ objdump_run ${name}.exe ${objdump_opts} ">&dump.out" ++ if { [regexp_diff "dump.out" "${file}.d"] } then { ++ fail $testname ++ verbose "output is [file_contents "dump.out"]" 2 ++ return ++ } ++ pass $testname ++} ++ ++proc run_gpreloc_test { name objdump_opts} { ++ global LD OBJDUMP AS ++ global srcdir subdir ++ set testname "NIOS2 $name" ++ set file $srcdir/$subdir/$name ++ gas_run ${name}.s "-o ${name}.o" "" ++ ld_run ${name}.o "" "-o ${name}.exe" ++ objdump_run ${name}.exe ${objdump_opts} ">&dump.out" ++ if { [regexp_diff "dump.out" "${file}.d"] } then { ++ fail $testname ++ verbose "output is [file_contents "dump.out"]" 2 ++ return ++ } ++ pass $testname ++} ++ ++proc run_relax_test { name asm_opts link_opts objdump_opts} { ++ global LD OBJDUMP AS ++ global srcdir subdir ++ set testname "NIOS2 $name" ++ set file $srcdir/$subdir/$name ++ gas_run ${name}.s "-o ${name}.o" ${asm_opts} ++ ld_run ${name}.o "" "-o ${name}.exe -T${srcdir}/${subdir}/${link_opts} --relax" ++ objdump_run ${name}.exe ${objdump_opts} ">&dump.out" ++ if { [regexp_diff "dump.out" "${file}.d"] } then { ++ fail $testname ++ verbose "output is [file_contents "dump.out"]" 2 ++ return ++ } ++ pass $testname ++} ++ ++proc run_relax_section_test { name asm_opts objdump_opts} { ++ global LD OBJDUMP AS ++ global srcdir subdir ++ set testname "NIOS2 $name" ++ set file $srcdir/$subdir/$name ++ gas_run ${name}.s "-o ${name}.o" ${asm_opts} ++ ld_run ${name}.o "" "-o ${name}.exe" ++ objdump_run ${name}.exe ${objdump_opts} ">&dump.out" ++ if { [regexp_diff "dump.out" "${file}.d"] } then { ++ fail $testname ++ verbose "output is [file_contents "dump.out"]" 2 ++ return ++ } ++ pass $testname ++} ++ ++if { [istarget nios2-*-elf] } then { ++ set elf 1 ++ ++ run_dump_test "add" ++ run_dump_test "and" ++ run_dump_test "align_fill" ++ run_dump_test "align_text" ++ ++ run_dump_test "branch" ++ ++ ++ run_dump_test "break" ++ run_dump_test "bret" ++ run_dump_test "cache" ++ ++ run_dump_test "call" ++ ++ ++ run_dump_test "cmp" ++ ++ ++ run_dump_test "jmp" ++ run_dump_test "ldw" ++ run_dump_test "ldh" ++ run_dump_test "ldb" ++ ++ run_dump_test "flushda" ++ ++ run_dump_test "mul" ++ ++ run_dump_test "nor" ++ run_dump_test "or" ++ ++ run_dump_test "ctl" ++ run_dump_test "ret" ++ run_dump_test "rotate" ++ ++ run_dump_test "stw" ++ run_dump_test "sth" ++ run_dump_test "stb" ++ ++ run_dump_test "sub" ++ run_dump_test "sync" ++ run_dump_test "trap" ++ run_dump_test "tret" ++ ++ run_dump_test "custom" ++ run_dump_test "xor" ++ run_dump_test "movia" ++ ++ run_dump_test "complex" ++ run_dump_test "comments" ++ run_dump_test "etbt" ++ run_dump_test "lineseparator" ++ run_dump_test "movi" ++ ++ run_list_test "illegal" ++ run_list_test "warn_nobreak" ++ run_list_test "warn_noat" ++ ++ ++# now lets make sure that the assembler generates all the relocations ++# that it should correctly, and that the linker links them correctly ++ ++ run_reloc_test "nios2-reloc-r-nios2-bfd-reloc-xx" "reloc_symbols" "-s" ++ run_reloc_test "nios2-reloc-r-nios2-s16" "s16_symbol" "-s" ++ run_reloc_test "nios2-reloc-r-nios2-u16" "u16_symbol" "-s" ++ run_reloc_test "nios2-reloc-r-nios2-pcrel16" "pcrel_label" "-dr --prefix-addresses" ++ run_reloc_test "nios2-reloc-r-nios2-hilo16" "hilo_symbol" "-dr --prefix-addresses" ++ run_dump_test "nios2-reloc-r-nios2-call26" ++ run_reloc_test "nios2-reloc-r-nios2-imm5" "imm5_symbol" "-dr --prefix-addresses" ++ run_reloc_test "nios2-reloc-merged_strings" "str2" "-dr --prefix-addresses" ++ run_gpreloc_test "nios2-reloc-r-nios2-gprel" "-dr --prefix-addresses" ++ ++# relaxation tests ++ run_relax_test "relax_ujmp" "-relax-all" "link1.lds" "-dr --prefix-addresses" ++ run_relax_test "relax_cjmp" "-relax-all" "link1.lds" "-dr --prefix-addresses" ++ run_relax_test "relax_callr" "-relax-all" "link3.lds" "-dr --prefix-addresses" ++ run_relax_section_test "relax_section" "-relax-section" "-dr --prefix-addresses" ++} +Index: binutils-2.20.1/gas/testsuite/gas/nios2/nor.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/nor.d +@@ -0,0 +1,9 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 nor ++ ++# Test the nor instruction ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> nor r6,r8,r10 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/nor.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/nor.s +@@ -0,0 +1,5 @@ ++# Source file used to test the nor instruction ++ ++foo: ++ nor r6,r8,r10 ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/or.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/or.d +@@ -0,0 +1,11 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 or ++ ++# Test the nor instruction ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> or r6,r8,r10 ++0+0004 <[^>]*> orhi r6,r7,65535 ++0+0008 <[^>]*> ori r6,r7,65535 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/or.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/or.s +@@ -0,0 +1,7 @@ ++# Source file used to test the nor instruction ++ ++foo: ++ or r6,r8,r10 ++ orhi r6,r7,0xffff ++ ori r6,r7,0xffff ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/pcrel_label.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/pcrel_label.s +@@ -0,0 +1,5 @@ ++.text ++ext_label: ++ nop ++ nop ++.global ext_label +Index: binutils-2.20.1/gas/testsuite/gas/nios2/relax_callr.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/relax_callr.d +@@ -0,0 +1,22 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 relax_callr ++# Test relaxation of callr ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section text1: ++00000000 <[^>]*> call 08000000 <func> ++00000004 <[^>]*> nop ++00000008 <[^>]*> nop ++0000000c <[^>]*> call 0800001c <func1> ++00000010 <[^>]*> nop ++00000014 <[^>]*> nop ++Disassembly of section text2: ++08000000 <[^>]*> nop ++08000004 <[^>]*> br 0800001c <func1> ++08000008 <[^>]*> nop ++0800000c <[^>]*> nop ++08000010 <[^>]*> nop ++08000014 <[^>]*> nop ++08000018 <[^>]*> nop ++0800001c <[^>]*> nop +Index: binutils-2.20.1/gas/testsuite/gas/nios2/relax_callr.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/relax_callr.s +@@ -0,0 +1,17 @@ ++# relaxation test for callr ++ ++.globl text1 ++.section text1, "ax", @progbits ++ ++ call func ++ call func1 ++ ++.section text2, "ax", @progbits ++func: ++ nop ++ br func1 ++ nop ++ nop ++ nop ++func1: ++ nop +Index: binutils-2.20.1/gas/testsuite/gas/nios2/relax_cjmp.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/relax_cjmp.d +@@ -0,0 +1,8227 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 relax_cjmp ++ ++# Test relaxation of conditional jumps ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section text2: ++00000000 <[^>]*> bge r2,r3,00008000 <[^>]*> ++00000004 <[^>]*> nop ++00000008 <[^>]*> nop ++0000000c <[^>]*> nop ++00000010 <[^>]*> blt r3,r2,00000020 <[^>]*> ++00000014 <[^>]*> movhi at,1 ++00000018 <[^>]*> ori at,at,36 ++0000001c <[^>]*> jmp at ++00000020 <[^>]*> bge r3,r2,00000038 <[^>]*> ++00000024 <[^>]*> nop ++00000028 <[^>]*> nop ++0000002c <[^>]*> nop ++00000030 <[^>]*> nop ++00000034 <[^>]*> nop ++00000038 <[^>]*> nop ++Disassembly of section text1: ++00008000 <[^>]*> beq r2,r3,00010000 <[^>]*> ++00008004 <[^>]*> nop ++00008008 <[^>]*> nop ++0000800c <[^>]*> nop ++00008010 <[^>]*> bne r2,r3,00008020 <[^>]*> ++00008014 <[^>]*> movhi at,1 ++00008018 <[^>]*> ori at,at,36 ++0000801c <[^>]*> jmp at ++00008020 <[^>]*> nop ++00008024 <[^>]*> nop ++00008028 <[^>]*> nop ++0000802c <[^>]*> nop ++00008030 <[^>]*> nop ++00008034 <[^>]*> nop ++00008038 <[^>]*> nop ++0000803c <[^>]*> nop ++00008040 <[^>]*> nop ++00008044 <[^>]*> nop ++00008048 <[^>]*> nop ++0000804c <[^>]*> nop ++00008050 <[^>]*> nop ++00008054 <[^>]*> nop ++00008058 <[^>]*> nop ++0000805c <[^>]*> nop ++00008060 <[^>]*> nop ++00008064 <[^>]*> nop ++00008068 <[^>]*> nop ++0000806c <[^>]*> nop ++00008070 <[^>]*> nop ++00008074 <[^>]*> nop ++00008078 <[^>]*> nop ++0000807c <[^>]*> nop ++00008080 <[^>]*> nop ++00008084 <[^>]*> nop ++00008088 <[^>]*> nop ++0000808c <[^>]*> nop ++00008090 <[^>]*> nop ++00008094 <[^>]*> nop ++00008098 <[^>]*> nop ++0000809c <[^>]*> nop ++000080a0 <[^>]*> nop ++000080a4 <[^>]*> nop ++000080a8 <[^>]*> nop ++000080ac <[^>]*> nop ++000080b0 <[^>]*> nop ++000080b4 <[^>]*> nop ++000080b8 <[^>]*> nop ++000080bc <[^>]*> nop ++000080c0 <[^>]*> nop ++000080c4 <[^>]*> nop ++000080c8 <[^>]*> nop ++000080cc <[^>]*> nop ++000080d0 <[^>]*> nop ++000080d4 <[^>]*> nop ++000080d8 <[^>]*> nop ++000080dc <[^>]*> nop ++000080e0 <[^>]*> nop ++000080e4 <[^>]*> nop ++000080e8 <[^>]*> nop ++000080ec <[^>]*> nop ++000080f0 <[^>]*> nop ++000080f4 <[^>]*> nop ++000080f8 <[^>]*> nop ++000080fc <[^>]*> nop ++00008100 <[^>]*> nop ++00008104 <[^>]*> nop ++00008108 <[^>]*> nop ++0000810c <[^>]*> nop ++00008110 <[^>]*> nop ++00008114 <[^>]*> nop ++00008118 <[^>]*> nop ++0000811c <[^>]*> nop ++00008120 <[^>]*> nop ++00008124 <[^>]*> nop ++00008128 <[^>]*> nop ++0000812c <[^>]*> nop ++00008130 <[^>]*> nop ++00008134 <[^>]*> nop ++00008138 <[^>]*> nop ++0000813c <[^>]*> nop ++00008140 <[^>]*> nop ++00008144 <[^>]*> nop ++00008148 <[^>]*> nop ++0000814c <[^>]*> nop ++00008150 <[^>]*> nop ++00008154 <[^>]*> nop ++00008158 <[^>]*> nop ++0000815c <[^>]*> nop ++00008160 <[^>]*> nop ++00008164 <[^>]*> nop ++00008168 <[^>]*> nop ++0000816c <[^>]*> nop ++00008170 <[^>]*> nop ++00008174 <[^>]*> nop ++00008178 <[^>]*> nop ++0000817c <[^>]*> nop ++00008180 <[^>]*> nop ++00008184 <[^>]*> nop ++00008188 <[^>]*> nop ++0000818c <[^>]*> nop ++00008190 <[^>]*> nop ++00008194 <[^>]*> nop ++00008198 <[^>]*> nop ++0000819c <[^>]*> nop ++000081a0 <[^>]*> nop ++000081a4 <[^>]*> nop ++000081a8 <[^>]*> nop ++000081ac <[^>]*> nop ++000081b0 <[^>]*> nop ++000081b4 <[^>]*> nop ++000081b8 <[^>]*> nop ++000081bc <[^>]*> nop ++000081c0 <[^>]*> nop ++000081c4 <[^>]*> nop ++000081c8 <[^>]*> nop ++000081cc <[^>]*> nop ++000081d0 <[^>]*> nop ++000081d4 <[^>]*> nop ++000081d8 <[^>]*> nop ++000081dc <[^>]*> nop ++000081e0 <[^>]*> nop ++000081e4 <[^>]*> nop ++000081e8 <[^>]*> nop ++000081ec <[^>]*> nop ++000081f0 <[^>]*> nop ++000081f4 <[^>]*> nop ++000081f8 <[^>]*> nop ++000081fc <[^>]*> nop ++00008200 <[^>]*> nop ++00008204 <[^>]*> nop ++00008208 <[^>]*> nop ++0000820c <[^>]*> nop ++00008210 <[^>]*> nop ++00008214 <[^>]*> nop ++00008218 <[^>]*> nop ++0000821c <[^>]*> nop ++00008220 <[^>]*> nop ++00008224 <[^>]*> nop ++00008228 <[^>]*> nop ++0000822c <[^>]*> nop ++00008230 <[^>]*> nop ++00008234 <[^>]*> nop ++00008238 <[^>]*> nop ++0000823c <[^>]*> nop ++00008240 <[^>]*> nop ++00008244 <[^>]*> nop ++00008248 <[^>]*> nop ++0000824c <[^>]*> nop ++00008250 <[^>]*> nop ++00008254 <[^>]*> nop ++00008258 <[^>]*> nop ++0000825c <[^>]*> nop ++00008260 <[^>]*> nop ++00008264 <[^>]*> nop ++00008268 <[^>]*> nop ++0000826c <[^>]*> nop ++00008270 <[^>]*> nop ++00008274 <[^>]*> nop ++00008278 <[^>]*> nop ++0000827c <[^>]*> nop ++00008280 <[^>]*> nop ++00008284 <[^>]*> nop ++00008288 <[^>]*> nop ++0000828c <[^>]*> nop ++00008290 <[^>]*> nop ++00008294 <[^>]*> nop ++00008298 <[^>]*> nop ++0000829c <[^>]*> nop ++000082a0 <[^>]*> nop ++000082a4 <[^>]*> nop ++000082a8 <[^>]*> nop ++000082ac <[^>]*> nop ++000082b0 <[^>]*> nop ++000082b4 <[^>]*> nop ++000082b8 <[^>]*> nop ++000082bc <[^>]*> nop ++000082c0 <[^>]*> nop ++000082c4 <[^>]*> nop ++000082c8 <[^>]*> nop ++000082cc <[^>]*> nop ++000082d0 <[^>]*> nop ++000082d4 <[^>]*> nop ++000082d8 <[^>]*> nop ++000082dc <[^>]*> nop ++000082e0 <[^>]*> nop ++000082e4 <[^>]*> nop ++000082e8 <[^>]*> nop ++000082ec <[^>]*> nop ++000082f0 <[^>]*> nop ++000082f4 <[^>]*> nop ++000082f8 <[^>]*> nop ++000082fc <[^>]*> nop ++00008300 <[^>]*> nop ++00008304 <[^>]*> nop ++00008308 <[^>]*> nop ++0000830c <[^>]*> nop ++00008310 <[^>]*> nop ++00008314 <[^>]*> nop ++00008318 <[^>]*> nop ++0000831c <[^>]*> nop ++00008320 <[^>]*> nop ++00008324 <[^>]*> nop ++00008328 <[^>]*> nop ++0000832c <[^>]*> nop ++00008330 <[^>]*> nop ++00008334 <[^>]*> nop ++00008338 <[^>]*> nop ++0000833c <[^>]*> nop ++00008340 <[^>]*> nop ++00008344 <[^>]*> nop ++00008348 <[^>]*> nop ++0000834c <[^>]*> nop ++00008350 <[^>]*> nop ++00008354 <[^>]*> nop ++00008358 <[^>]*> nop ++0000835c <[^>]*> nop ++00008360 <[^>]*> nop ++00008364 <[^>]*> nop ++00008368 <[^>]*> nop ++0000836c <[^>]*> nop ++00008370 <[^>]*> nop ++00008374 <[^>]*> nop ++00008378 <[^>]*> nop ++0000837c <[^>]*> nop ++00008380 <[^>]*> nop ++00008384 <[^>]*> nop ++00008388 <[^>]*> nop ++0000838c <[^>]*> nop ++00008390 <[^>]*> nop ++00008394 <[^>]*> nop ++00008398 <[^>]*> nop ++0000839c <[^>]*> nop ++000083a0 <[^>]*> nop ++000083a4 <[^>]*> nop ++000083a8 <[^>]*> nop ++000083ac <[^>]*> nop ++000083b0 <[^>]*> nop ++000083b4 <[^>]*> nop ++000083b8 <[^>]*> nop ++000083bc <[^>]*> nop ++000083c0 <[^>]*> nop ++000083c4 <[^>]*> nop ++000083c8 <[^>]*> nop ++000083cc <[^>]*> nop ++000083d0 <[^>]*> nop ++000083d4 <[^>]*> nop ++000083d8 <[^>]*> nop ++000083dc <[^>]*> nop ++000083e0 <[^>]*> nop ++000083e4 <[^>]*> nop ++000083e8 <[^>]*> nop ++000083ec <[^>]*> nop ++000083f0 <[^>]*> nop ++000083f4 <[^>]*> nop ++000083f8 <[^>]*> nop ++000083fc <[^>]*> nop ++00008400 <[^>]*> nop ++00008404 <[^>]*> nop ++00008408 <[^>]*> nop ++0000840c <[^>]*> nop ++00008410 <[^>]*> nop ++00008414 <[^>]*> nop ++00008418 <[^>]*> nop ++0000841c <[^>]*> nop ++00008420 <[^>]*> nop ++00008424 <[^>]*> nop ++00008428 <[^>]*> nop ++0000842c <[^>]*> nop ++00008430 <[^>]*> nop ++00008434 <[^>]*> nop ++00008438 <[^>]*> nop ++0000843c <[^>]*> nop ++00008440 <[^>]*> nop ++00008444 <[^>]*> nop ++00008448 <[^>]*> nop ++0000844c <[^>]*> nop ++00008450 <[^>]*> nop ++00008454 <[^>]*> nop ++00008458 <[^>]*> nop ++0000845c <[^>]*> nop ++00008460 <[^>]*> nop ++00008464 <[^>]*> nop ++00008468 <[^>]*> nop ++0000846c <[^>]*> nop ++00008470 <[^>]*> nop ++00008474 <[^>]*> nop ++00008478 <[^>]*> nop ++0000847c <[^>]*> nop ++00008480 <[^>]*> nop ++00008484 <[^>]*> nop ++00008488 <[^>]*> nop ++0000848c <[^>]*> nop ++00008490 <[^>]*> nop ++00008494 <[^>]*> nop ++00008498 <[^>]*> nop ++0000849c <[^>]*> nop ++000084a0 <[^>]*> nop ++000084a4 <[^>]*> nop ++000084a8 <[^>]*> nop ++000084ac <[^>]*> nop ++000084b0 <[^>]*> nop ++000084b4 <[^>]*> nop ++000084b8 <[^>]*> nop ++000084bc <[^>]*> nop ++000084c0 <[^>]*> nop ++000084c4 <[^>]*> nop ++000084c8 <[^>]*> nop ++000084cc <[^>]*> nop ++000084d0 <[^>]*> nop ++000084d4 <[^>]*> nop ++000084d8 <[^>]*> nop ++000084dc <[^>]*> nop ++000084e0 <[^>]*> nop ++000084e4 <[^>]*> nop ++000084e8 <[^>]*> nop ++000084ec <[^>]*> nop ++000084f0 <[^>]*> nop ++000084f4 <[^>]*> nop ++000084f8 <[^>]*> nop ++000084fc <[^>]*> nop ++00008500 <[^>]*> nop ++00008504 <[^>]*> nop ++00008508 <[^>]*> nop ++0000850c <[^>]*> nop ++00008510 <[^>]*> nop ++00008514 <[^>]*> nop ++00008518 <[^>]*> nop ++0000851c <[^>]*> nop ++00008520 <[^>]*> nop ++00008524 <[^>]*> nop ++00008528 <[^>]*> nop ++0000852c <[^>]*> nop ++00008530 <[^>]*> nop ++00008534 <[^>]*> nop ++00008538 <[^>]*> nop ++0000853c <[^>]*> nop ++00008540 <[^>]*> nop ++00008544 <[^>]*> nop ++00008548 <[^>]*> nop ++0000854c <[^>]*> nop ++00008550 <[^>]*> nop ++00008554 <[^>]*> nop ++00008558 <[^>]*> nop ++0000855c <[^>]*> nop ++00008560 <[^>]*> nop ++00008564 <[^>]*> nop ++00008568 <[^>]*> nop ++0000856c <[^>]*> nop ++00008570 <[^>]*> nop ++00008574 <[^>]*> nop ++00008578 <[^>]*> nop ++0000857c <[^>]*> nop ++00008580 <[^>]*> nop ++00008584 <[^>]*> nop ++00008588 <[^>]*> nop ++0000858c <[^>]*> nop ++00008590 <[^>]*> nop ++00008594 <[^>]*> nop ++00008598 <[^>]*> nop ++0000859c <[^>]*> nop ++000085a0 <[^>]*> nop ++000085a4 <[^>]*> nop ++000085a8 <[^>]*> nop ++000085ac <[^>]*> nop ++000085b0 <[^>]*> nop ++000085b4 <[^>]*> nop ++000085b8 <[^>]*> nop ++000085bc <[^>]*> nop ++000085c0 <[^>]*> nop ++000085c4 <[^>]*> nop ++000085c8 <[^>]*> nop ++000085cc <[^>]*> nop ++000085d0 <[^>]*> nop ++000085d4 <[^>]*> nop ++000085d8 <[^>]*> nop ++000085dc <[^>]*> nop ++000085e0 <[^>]*> nop ++000085e4 <[^>]*> nop ++000085e8 <[^>]*> nop ++000085ec <[^>]*> nop ++000085f0 <[^>]*> nop ++000085f4 <[^>]*> nop ++000085f8 <[^>]*> nop ++000085fc <[^>]*> nop ++00008600 <[^>]*> nop ++00008604 <[^>]*> nop ++00008608 <[^>]*> nop ++0000860c <[^>]*> nop ++00008610 <[^>]*> nop ++00008614 <[^>]*> nop ++00008618 <[^>]*> nop ++0000861c <[^>]*> nop ++00008620 <[^>]*> nop ++00008624 <[^>]*> nop ++00008628 <[^>]*> nop ++0000862c <[^>]*> nop ++00008630 <[^>]*> nop ++00008634 <[^>]*> nop ++00008638 <[^>]*> nop ++0000863c <[^>]*> nop ++00008640 <[^>]*> nop ++00008644 <[^>]*> nop ++00008648 <[^>]*> nop ++0000864c <[^>]*> nop ++00008650 <[^>]*> nop ++00008654 <[^>]*> nop ++00008658 <[^>]*> nop ++0000865c <[^>]*> nop ++00008660 <[^>]*> nop ++00008664 <[^>]*> nop ++00008668 <[^>]*> nop ++0000866c <[^>]*> nop ++00008670 <[^>]*> nop ++00008674 <[^>]*> nop ++00008678 <[^>]*> nop ++0000867c <[^>]*> nop ++00008680 <[^>]*> nop ++00008684 <[^>]*> nop ++00008688 <[^>]*> nop ++0000868c <[^>]*> nop ++00008690 <[^>]*> nop ++00008694 <[^>]*> nop ++00008698 <[^>]*> nop ++0000869c <[^>]*> nop ++000086a0 <[^>]*> nop ++000086a4 <[^>]*> nop ++000086a8 <[^>]*> nop ++000086ac <[^>]*> nop ++000086b0 <[^>]*> nop ++000086b4 <[^>]*> nop ++000086b8 <[^>]*> nop ++000086bc <[^>]*> nop ++000086c0 <[^>]*> nop ++000086c4 <[^>]*> nop ++000086c8 <[^>]*> nop ++000086cc <[^>]*> nop ++000086d0 <[^>]*> nop ++000086d4 <[^>]*> nop ++000086d8 <[^>]*> nop ++000086dc <[^>]*> nop ++000086e0 <[^>]*> nop ++000086e4 <[^>]*> nop ++000086e8 <[^>]*> nop ++000086ec <[^>]*> nop ++000086f0 <[^>]*> nop ++000086f4 <[^>]*> nop ++000086f8 <[^>]*> nop ++000086fc <[^>]*> nop ++00008700 <[^>]*> nop ++00008704 <[^>]*> nop ++00008708 <[^>]*> nop ++0000870c <[^>]*> nop ++00008710 <[^>]*> nop ++00008714 <[^>]*> nop ++00008718 <[^>]*> nop ++0000871c <[^>]*> nop ++00008720 <[^>]*> nop ++00008724 <[^>]*> nop ++00008728 <[^>]*> nop ++0000872c <[^>]*> nop ++00008730 <[^>]*> nop ++00008734 <[^>]*> nop ++00008738 <[^>]*> nop ++0000873c <[^>]*> nop ++00008740 <[^>]*> nop ++00008744 <[^>]*> nop ++00008748 <[^>]*> nop ++0000874c <[^>]*> nop ++00008750 <[^>]*> nop ++00008754 <[^>]*> nop ++00008758 <[^>]*> nop ++0000875c <[^>]*> nop ++00008760 <[^>]*> nop ++00008764 <[^>]*> nop ++00008768 <[^>]*> nop ++0000876c <[^>]*> nop ++00008770 <[^>]*> nop ++00008774 <[^>]*> nop ++00008778 <[^>]*> nop ++0000877c <[^>]*> nop ++00008780 <[^>]*> nop ++00008784 <[^>]*> nop ++00008788 <[^>]*> nop ++0000878c <[^>]*> nop ++00008790 <[^>]*> nop ++00008794 <[^>]*> nop ++00008798 <[^>]*> nop ++0000879c <[^>]*> nop ++000087a0 <[^>]*> nop ++000087a4 <[^>]*> nop ++000087a8 <[^>]*> nop ++000087ac <[^>]*> nop ++000087b0 <[^>]*> nop ++000087b4 <[^>]*> nop ++000087b8 <[^>]*> nop ++000087bc <[^>]*> nop ++000087c0 <[^>]*> nop ++000087c4 <[^>]*> nop ++000087c8 <[^>]*> nop ++000087cc <[^>]*> nop ++000087d0 <[^>]*> nop ++000087d4 <[^>]*> nop ++000087d8 <[^>]*> nop ++000087dc <[^>]*> nop ++000087e0 <[^>]*> nop ++000087e4 <[^>]*> nop ++000087e8 <[^>]*> nop ++000087ec <[^>]*> nop ++000087f0 <[^>]*> nop ++000087f4 <[^>]*> nop ++000087f8 <[^>]*> nop ++000087fc <[^>]*> nop ++00008800 <[^>]*> nop ++00008804 <[^>]*> nop ++00008808 <[^>]*> nop ++0000880c <[^>]*> nop ++00008810 <[^>]*> nop ++00008814 <[^>]*> nop ++00008818 <[^>]*> nop ++0000881c <[^>]*> nop ++00008820 <[^>]*> nop ++00008824 <[^>]*> nop ++00008828 <[^>]*> nop ++0000882c <[^>]*> nop ++00008830 <[^>]*> nop ++00008834 <[^>]*> nop ++00008838 <[^>]*> nop ++0000883c <[^>]*> nop ++00008840 <[^>]*> nop ++00008844 <[^>]*> nop ++00008848 <[^>]*> nop ++0000884c <[^>]*> nop ++00008850 <[^>]*> nop ++00008854 <[^>]*> nop ++00008858 <[^>]*> nop ++0000885c <[^>]*> nop ++00008860 <[^>]*> nop ++00008864 <[^>]*> nop ++00008868 <[^>]*> nop ++0000886c <[^>]*> nop ++00008870 <[^>]*> nop ++00008874 <[^>]*> nop ++00008878 <[^>]*> nop ++0000887c <[^>]*> nop ++00008880 <[^>]*> nop ++00008884 <[^>]*> nop ++00008888 <[^>]*> nop ++0000888c <[^>]*> nop ++00008890 <[^>]*> nop ++00008894 <[^>]*> nop ++00008898 <[^>]*> nop ++0000889c <[^>]*> nop ++000088a0 <[^>]*> nop ++000088a4 <[^>]*> nop ++000088a8 <[^>]*> nop ++000088ac <[^>]*> nop ++000088b0 <[^>]*> nop ++000088b4 <[^>]*> nop ++000088b8 <[^>]*> nop ++000088bc <[^>]*> nop ++000088c0 <[^>]*> nop ++000088c4 <[^>]*> nop ++000088c8 <[^>]*> nop ++000088cc <[^>]*> nop ++000088d0 <[^>]*> nop ++000088d4 <[^>]*> nop ++000088d8 <[^>]*> nop ++000088dc <[^>]*> nop ++000088e0 <[^>]*> nop ++000088e4 <[^>]*> nop ++000088e8 <[^>]*> nop ++000088ec <[^>]*> nop ++000088f0 <[^>]*> nop ++000088f4 <[^>]*> nop ++000088f8 <[^>]*> nop ++000088fc <[^>]*> nop ++00008900 <[^>]*> nop ++00008904 <[^>]*> nop ++00008908 <[^>]*> nop ++0000890c <[^>]*> nop ++00008910 <[^>]*> nop ++00008914 <[^>]*> nop ++00008918 <[^>]*> nop ++0000891c <[^>]*> nop ++00008920 <[^>]*> nop ++00008924 <[^>]*> nop ++00008928 <[^>]*> nop ++0000892c <[^>]*> nop ++00008930 <[^>]*> nop ++00008934 <[^>]*> nop ++00008938 <[^>]*> nop ++0000893c <[^>]*> nop ++00008940 <[^>]*> nop ++00008944 <[^>]*> nop ++00008948 <[^>]*> nop ++0000894c <[^>]*> nop ++00008950 <[^>]*> nop ++00008954 <[^>]*> nop ++00008958 <[^>]*> nop ++0000895c <[^>]*> nop ++00008960 <[^>]*> nop ++00008964 <[^>]*> nop ++00008968 <[^>]*> nop ++0000896c <[^>]*> nop ++00008970 <[^>]*> nop ++00008974 <[^>]*> nop ++00008978 <[^>]*> nop ++0000897c <[^>]*> nop ++00008980 <[^>]*> nop ++00008984 <[^>]*> nop ++00008988 <[^>]*> nop ++0000898c <[^>]*> nop ++00008990 <[^>]*> nop ++00008994 <[^>]*> nop ++00008998 <[^>]*> nop ++0000899c <[^>]*> nop ++000089a0 <[^>]*> nop ++000089a4 <[^>]*> nop ++000089a8 <[^>]*> nop ++000089ac <[^>]*> nop ++000089b0 <[^>]*> nop ++000089b4 <[^>]*> nop ++000089b8 <[^>]*> nop ++000089bc <[^>]*> nop ++000089c0 <[^>]*> nop ++000089c4 <[^>]*> nop ++000089c8 <[^>]*> nop ++000089cc <[^>]*> nop ++000089d0 <[^>]*> nop ++000089d4 <[^>]*> nop ++000089d8 <[^>]*> nop ++000089dc <[^>]*> nop ++000089e0 <[^>]*> nop ++000089e4 <[^>]*> nop ++000089e8 <[^>]*> nop ++000089ec <[^>]*> nop ++000089f0 <[^>]*> nop ++000089f4 <[^>]*> nop ++000089f8 <[^>]*> nop ++000089fc <[^>]*> nop ++00008a00 <[^>]*> nop ++00008a04 <[^>]*> nop ++00008a08 <[^>]*> nop ++00008a0c <[^>]*> nop ++00008a10 <[^>]*> nop ++00008a14 <[^>]*> nop ++00008a18 <[^>]*> nop ++00008a1c <[^>]*> nop ++00008a20 <[^>]*> nop ++00008a24 <[^>]*> nop ++00008a28 <[^>]*> nop ++00008a2c <[^>]*> nop ++00008a30 <[^>]*> nop ++00008a34 <[^>]*> nop ++00008a38 <[^>]*> nop ++00008a3c <[^>]*> nop ++00008a40 <[^>]*> nop ++00008a44 <[^>]*> nop ++00008a48 <[^>]*> nop ++00008a4c <[^>]*> nop ++00008a50 <[^>]*> nop ++00008a54 <[^>]*> nop ++00008a58 <[^>]*> nop ++00008a5c <[^>]*> nop ++00008a60 <[^>]*> nop ++00008a64 <[^>]*> nop ++00008a68 <[^>]*> nop ++00008a6c <[^>]*> nop ++00008a70 <[^>]*> nop ++00008a74 <[^>]*> nop ++00008a78 <[^>]*> nop ++00008a7c <[^>]*> nop ++00008a80 <[^>]*> nop ++00008a84 <[^>]*> nop ++00008a88 <[^>]*> nop ++00008a8c <[^>]*> nop ++00008a90 <[^>]*> nop ++00008a94 <[^>]*> nop ++00008a98 <[^>]*> nop ++00008a9c <[^>]*> nop ++00008aa0 <[^>]*> nop ++00008aa4 <[^>]*> nop ++00008aa8 <[^>]*> nop ++00008aac <[^>]*> nop ++00008ab0 <[^>]*> nop ++00008ab4 <[^>]*> nop ++00008ab8 <[^>]*> nop ++00008abc <[^>]*> nop ++00008ac0 <[^>]*> nop ++00008ac4 <[^>]*> nop ++00008ac8 <[^>]*> nop ++00008acc <[^>]*> nop ++00008ad0 <[^>]*> nop ++00008ad4 <[^>]*> nop ++00008ad8 <[^>]*> nop ++00008adc <[^>]*> nop ++00008ae0 <[^>]*> nop ++00008ae4 <[^>]*> nop ++00008ae8 <[^>]*> nop ++00008aec <[^>]*> nop ++00008af0 <[^>]*> nop ++00008af4 <[^>]*> nop ++00008af8 <[^>]*> nop ++00008afc <[^>]*> nop ++00008b00 <[^>]*> nop ++00008b04 <[^>]*> nop ++00008b08 <[^>]*> nop ++00008b0c <[^>]*> nop ++00008b10 <[^>]*> nop ++00008b14 <[^>]*> nop ++00008b18 <[^>]*> nop ++00008b1c <[^>]*> nop ++00008b20 <[^>]*> nop ++00008b24 <[^>]*> nop ++00008b28 <[^>]*> nop ++00008b2c <[^>]*> nop ++00008b30 <[^>]*> nop ++00008b34 <[^>]*> nop ++00008b38 <[^>]*> nop ++00008b3c <[^>]*> nop ++00008b40 <[^>]*> nop ++00008b44 <[^>]*> nop ++00008b48 <[^>]*> nop ++00008b4c <[^>]*> nop ++00008b50 <[^>]*> nop ++00008b54 <[^>]*> nop ++00008b58 <[^>]*> nop ++00008b5c <[^>]*> nop ++00008b60 <[^>]*> nop ++00008b64 <[^>]*> nop ++00008b68 <[^>]*> nop ++00008b6c <[^>]*> nop ++00008b70 <[^>]*> nop ++00008b74 <[^>]*> nop ++00008b78 <[^>]*> nop ++00008b7c <[^>]*> nop ++00008b80 <[^>]*> nop ++00008b84 <[^>]*> nop ++00008b88 <[^>]*> nop ++00008b8c <[^>]*> nop ++00008b90 <[^>]*> nop ++00008b94 <[^>]*> nop ++00008b98 <[^>]*> nop ++00008b9c <[^>]*> nop ++00008ba0 <[^>]*> nop ++00008ba4 <[^>]*> nop ++00008ba8 <[^>]*> nop ++00008bac <[^>]*> nop ++00008bb0 <[^>]*> nop ++00008bb4 <[^>]*> nop ++00008bb8 <[^>]*> nop ++00008bbc <[^>]*> nop ++00008bc0 <[^>]*> nop ++00008bc4 <[^>]*> nop ++00008bc8 <[^>]*> nop ++00008bcc <[^>]*> nop ++00008bd0 <[^>]*> nop ++00008bd4 <[^>]*> nop ++00008bd8 <[^>]*> nop ++00008bdc <[^>]*> nop ++00008be0 <[^>]*> nop ++00008be4 <[^>]*> nop ++00008be8 <[^>]*> nop ++00008bec <[^>]*> nop ++00008bf0 <[^>]*> nop ++00008bf4 <[^>]*> nop ++00008bf8 <[^>]*> nop ++00008bfc <[^>]*> nop ++00008c00 <[^>]*> nop ++00008c04 <[^>]*> nop ++00008c08 <[^>]*> nop ++00008c0c <[^>]*> nop ++00008c10 <[^>]*> nop ++00008c14 <[^>]*> nop ++00008c18 <[^>]*> nop ++00008c1c <[^>]*> nop ++00008c20 <[^>]*> nop ++00008c24 <[^>]*> nop ++00008c28 <[^>]*> nop ++00008c2c <[^>]*> nop ++00008c30 <[^>]*> nop ++00008c34 <[^>]*> nop ++00008c38 <[^>]*> nop ++00008c3c <[^>]*> nop ++00008c40 <[^>]*> nop ++00008c44 <[^>]*> nop ++00008c48 <[^>]*> nop ++00008c4c <[^>]*> nop ++00008c50 <[^>]*> nop ++00008c54 <[^>]*> nop ++00008c58 <[^>]*> nop ++00008c5c <[^>]*> nop ++00008c60 <[^>]*> nop ++00008c64 <[^>]*> nop ++00008c68 <[^>]*> nop ++00008c6c <[^>]*> nop ++00008c70 <[^>]*> nop ++00008c74 <[^>]*> nop ++00008c78 <[^>]*> nop ++00008c7c <[^>]*> nop ++00008c80 <[^>]*> nop ++00008c84 <[^>]*> nop ++00008c88 <[^>]*> nop ++00008c8c <[^>]*> nop ++00008c90 <[^>]*> nop ++00008c94 <[^>]*> nop ++00008c98 <[^>]*> nop ++00008c9c <[^>]*> nop ++00008ca0 <[^>]*> nop ++00008ca4 <[^>]*> nop ++00008ca8 <[^>]*> nop ++00008cac <[^>]*> nop ++00008cb0 <[^>]*> nop ++00008cb4 <[^>]*> nop ++00008cb8 <[^>]*> nop ++00008cbc <[^>]*> nop ++00008cc0 <[^>]*> nop ++00008cc4 <[^>]*> nop ++00008cc8 <[^>]*> nop ++00008ccc <[^>]*> nop ++00008cd0 <[^>]*> nop ++00008cd4 <[^>]*> nop ++00008cd8 <[^>]*> nop ++00008cdc <[^>]*> nop ++00008ce0 <[^>]*> nop ++00008ce4 <[^>]*> nop ++00008ce8 <[^>]*> nop ++00008cec <[^>]*> nop ++00008cf0 <[^>]*> nop ++00008cf4 <[^>]*> nop ++00008cf8 <[^>]*> nop ++00008cfc <[^>]*> nop ++00008d00 <[^>]*> nop ++00008d04 <[^>]*> nop ++00008d08 <[^>]*> nop ++00008d0c <[^>]*> nop ++00008d10 <[^>]*> nop ++00008d14 <[^>]*> nop ++00008d18 <[^>]*> nop ++00008d1c <[^>]*> nop ++00008d20 <[^>]*> nop ++00008d24 <[^>]*> nop ++00008d28 <[^>]*> nop ++00008d2c <[^>]*> nop ++00008d30 <[^>]*> nop ++00008d34 <[^>]*> nop ++00008d38 <[^>]*> nop ++00008d3c <[^>]*> nop ++00008d40 <[^>]*> nop ++00008d44 <[^>]*> nop ++00008d48 <[^>]*> nop ++00008d4c <[^>]*> nop ++00008d50 <[^>]*> nop ++00008d54 <[^>]*> nop ++00008d58 <[^>]*> nop ++00008d5c <[^>]*> nop ++00008d60 <[^>]*> nop ++00008d64 <[^>]*> nop ++00008d68 <[^>]*> nop ++00008d6c <[^>]*> nop ++00008d70 <[^>]*> nop ++00008d74 <[^>]*> nop ++00008d78 <[^>]*> nop ++00008d7c <[^>]*> nop ++00008d80 <[^>]*> nop ++00008d84 <[^>]*> nop ++00008d88 <[^>]*> nop ++00008d8c <[^>]*> nop ++00008d90 <[^>]*> nop ++00008d94 <[^>]*> nop ++00008d98 <[^>]*> nop ++00008d9c <[^>]*> nop ++00008da0 <[^>]*> nop ++00008da4 <[^>]*> nop ++00008da8 <[^>]*> nop ++00008dac <[^>]*> nop ++00008db0 <[^>]*> nop ++00008db4 <[^>]*> nop ++00008db8 <[^>]*> nop ++00008dbc <[^>]*> nop ++00008dc0 <[^>]*> nop ++00008dc4 <[^>]*> nop ++00008dc8 <[^>]*> nop ++00008dcc <[^>]*> nop ++00008dd0 <[^>]*> nop ++00008dd4 <[^>]*> nop ++00008dd8 <[^>]*> nop ++00008ddc <[^>]*> nop ++00008de0 <[^>]*> nop ++00008de4 <[^>]*> nop ++00008de8 <[^>]*> nop ++00008dec <[^>]*> nop ++00008df0 <[^>]*> nop ++00008df4 <[^>]*> nop ++00008df8 <[^>]*> nop ++00008dfc <[^>]*> nop ++00008e00 <[^>]*> nop ++00008e04 <[^>]*> nop ++00008e08 <[^>]*> nop ++00008e0c <[^>]*> nop ++00008e10 <[^>]*> nop ++00008e14 <[^>]*> nop ++00008e18 <[^>]*> nop ++00008e1c <[^>]*> nop ++00008e20 <[^>]*> nop ++00008e24 <[^>]*> nop ++00008e28 <[^>]*> nop ++00008e2c <[^>]*> nop ++00008e30 <[^>]*> nop ++00008e34 <[^>]*> nop ++00008e38 <[^>]*> nop ++00008e3c <[^>]*> nop ++00008e40 <[^>]*> nop ++00008e44 <[^>]*> nop ++00008e48 <[^>]*> nop ++00008e4c <[^>]*> nop ++00008e50 <[^>]*> nop ++00008e54 <[^>]*> nop ++00008e58 <[^>]*> nop ++00008e5c <[^>]*> nop ++00008e60 <[^>]*> nop ++00008e64 <[^>]*> nop ++00008e68 <[^>]*> nop ++00008e6c <[^>]*> nop ++00008e70 <[^>]*> nop ++00008e74 <[^>]*> nop ++00008e78 <[^>]*> nop ++00008e7c <[^>]*> nop ++00008e80 <[^>]*> nop ++00008e84 <[^>]*> nop ++00008e88 <[^>]*> nop ++00008e8c <[^>]*> nop ++00008e90 <[^>]*> nop ++00008e94 <[^>]*> nop ++00008e98 <[^>]*> nop ++00008e9c <[^>]*> nop ++00008ea0 <[^>]*> nop ++00008ea4 <[^>]*> nop ++00008ea8 <[^>]*> nop ++00008eac <[^>]*> nop ++00008eb0 <[^>]*> nop ++00008eb4 <[^>]*> nop ++00008eb8 <[^>]*> nop ++00008ebc <[^>]*> nop ++00008ec0 <[^>]*> nop ++00008ec4 <[^>]*> nop ++00008ec8 <[^>]*> nop ++00008ecc <[^>]*> nop ++00008ed0 <[^>]*> nop ++00008ed4 <[^>]*> nop ++00008ed8 <[^>]*> nop ++00008edc <[^>]*> nop ++00008ee0 <[^>]*> nop ++00008ee4 <[^>]*> nop ++00008ee8 <[^>]*> nop ++00008eec <[^>]*> nop ++00008ef0 <[^>]*> nop ++00008ef4 <[^>]*> nop ++00008ef8 <[^>]*> nop ++00008efc <[^>]*> nop ++00008f00 <[^>]*> nop ++00008f04 <[^>]*> nop ++00008f08 <[^>]*> nop ++00008f0c <[^>]*> nop ++00008f10 <[^>]*> nop ++00008f14 <[^>]*> nop ++00008f18 <[^>]*> nop ++00008f1c <[^>]*> nop ++00008f20 <[^>]*> nop ++00008f24 <[^>]*> nop ++00008f28 <[^>]*> nop ++00008f2c <[^>]*> nop ++00008f30 <[^>]*> nop ++00008f34 <[^>]*> nop ++00008f38 <[^>]*> nop ++00008f3c <[^>]*> nop ++00008f40 <[^>]*> nop ++00008f44 <[^>]*> nop ++00008f48 <[^>]*> nop ++00008f4c <[^>]*> nop ++00008f50 <[^>]*> nop ++00008f54 <[^>]*> nop ++00008f58 <[^>]*> nop ++00008f5c <[^>]*> nop ++00008f60 <[^>]*> nop ++00008f64 <[^>]*> nop ++00008f68 <[^>]*> nop ++00008f6c <[^>]*> nop ++00008f70 <[^>]*> nop ++00008f74 <[^>]*> nop ++00008f78 <[^>]*> nop ++00008f7c <[^>]*> nop ++00008f80 <[^>]*> nop ++00008f84 <[^>]*> nop ++00008f88 <[^>]*> nop ++00008f8c <[^>]*> nop ++00008f90 <[^>]*> nop ++00008f94 <[^>]*> nop ++00008f98 <[^>]*> nop ++00008f9c <[^>]*> nop ++00008fa0 <[^>]*> nop ++00008fa4 <[^>]*> nop ++00008fa8 <[^>]*> nop ++00008fac <[^>]*> nop ++00008fb0 <[^>]*> nop ++00008fb4 <[^>]*> nop ++00008fb8 <[^>]*> nop ++00008fbc <[^>]*> nop ++00008fc0 <[^>]*> nop ++00008fc4 <[^>]*> nop ++00008fc8 <[^>]*> nop ++00008fcc <[^>]*> nop ++00008fd0 <[^>]*> nop ++00008fd4 <[^>]*> nop ++00008fd8 <[^>]*> nop ++00008fdc <[^>]*> nop ++00008fe0 <[^>]*> nop ++00008fe4 <[^>]*> nop ++00008fe8 <[^>]*> nop ++00008fec <[^>]*> nop ++00008ff0 <[^>]*> nop ++00008ff4 <[^>]*> nop ++00008ff8 <[^>]*> nop ++00008ffc <[^>]*> nop ++00009000 <[^>]*> nop ++00009004 <[^>]*> nop ++00009008 <[^>]*> nop ++0000900c <[^>]*> nop ++00009010 <[^>]*> nop ++00009014 <[^>]*> nop ++00009018 <[^>]*> nop ++0000901c <[^>]*> nop ++00009020 <[^>]*> nop ++00009024 <[^>]*> nop ++00009028 <[^>]*> nop ++0000902c <[^>]*> nop ++00009030 <[^>]*> nop ++00009034 <[^>]*> nop ++00009038 <[^>]*> nop ++0000903c <[^>]*> nop ++00009040 <[^>]*> nop ++00009044 <[^>]*> nop ++00009048 <[^>]*> nop ++0000904c <[^>]*> nop ++00009050 <[^>]*> nop ++00009054 <[^>]*> nop ++00009058 <[^>]*> nop ++0000905c <[^>]*> nop ++00009060 <[^>]*> nop ++00009064 <[^>]*> nop ++00009068 <[^>]*> nop ++0000906c <[^>]*> nop ++00009070 <[^>]*> nop ++00009074 <[^>]*> nop ++00009078 <[^>]*> nop ++0000907c <[^>]*> nop ++00009080 <[^>]*> nop ++00009084 <[^>]*> nop ++00009088 <[^>]*> nop ++0000908c <[^>]*> nop ++00009090 <[^>]*> nop ++00009094 <[^>]*> nop ++00009098 <[^>]*> nop ++0000909c <[^>]*> nop ++000090a0 <[^>]*> nop ++000090a4 <[^>]*> nop ++000090a8 <[^>]*> nop ++000090ac <[^>]*> nop ++000090b0 <[^>]*> nop ++000090b4 <[^>]*> nop ++000090b8 <[^>]*> nop ++000090bc <[^>]*> nop ++000090c0 <[^>]*> nop ++000090c4 <[^>]*> nop ++000090c8 <[^>]*> nop ++000090cc <[^>]*> nop ++000090d0 <[^>]*> nop ++000090d4 <[^>]*> nop ++000090d8 <[^>]*> nop ++000090dc <[^>]*> nop ++000090e0 <[^>]*> nop ++000090e4 <[^>]*> nop ++000090e8 <[^>]*> nop ++000090ec <[^>]*> nop ++000090f0 <[^>]*> nop ++000090f4 <[^>]*> nop ++000090f8 <[^>]*> nop ++000090fc <[^>]*> nop ++00009100 <[^>]*> nop ++00009104 <[^>]*> nop ++00009108 <[^>]*> nop ++0000910c <[^>]*> nop ++00009110 <[^>]*> nop ++00009114 <[^>]*> nop ++00009118 <[^>]*> nop ++0000911c <[^>]*> nop ++00009120 <[^>]*> nop ++00009124 <[^>]*> nop ++00009128 <[^>]*> nop ++0000912c <[^>]*> nop ++00009130 <[^>]*> nop ++00009134 <[^>]*> nop ++00009138 <[^>]*> nop ++0000913c <[^>]*> nop ++00009140 <[^>]*> nop ++00009144 <[^>]*> nop ++00009148 <[^>]*> nop ++0000914c <[^>]*> nop ++00009150 <[^>]*> nop ++00009154 <[^>]*> nop ++00009158 <[^>]*> nop ++0000915c <[^>]*> nop ++00009160 <[^>]*> nop ++00009164 <[^>]*> nop ++00009168 <[^>]*> nop ++0000916c <[^>]*> nop ++00009170 <[^>]*> nop ++00009174 <[^>]*> nop ++00009178 <[^>]*> nop ++0000917c <[^>]*> nop ++00009180 <[^>]*> nop ++00009184 <[^>]*> nop ++00009188 <[^>]*> nop ++0000918c <[^>]*> nop ++00009190 <[^>]*> nop ++00009194 <[^>]*> nop ++00009198 <[^>]*> nop ++0000919c <[^>]*> nop ++000091a0 <[^>]*> nop ++000091a4 <[^>]*> nop ++000091a8 <[^>]*> nop ++000091ac <[^>]*> nop ++000091b0 <[^>]*> nop ++000091b4 <[^>]*> nop ++000091b8 <[^>]*> nop ++000091bc <[^>]*> nop ++000091c0 <[^>]*> nop ++000091c4 <[^>]*> nop ++000091c8 <[^>]*> nop ++000091cc <[^>]*> nop ++000091d0 <[^>]*> nop ++000091d4 <[^>]*> nop ++000091d8 <[^>]*> nop ++000091dc <[^>]*> nop ++000091e0 <[^>]*> nop ++000091e4 <[^>]*> nop ++000091e8 <[^>]*> nop ++000091ec <[^>]*> nop ++000091f0 <[^>]*> nop ++000091f4 <[^>]*> nop ++000091f8 <[^>]*> nop ++000091fc <[^>]*> nop ++00009200 <[^>]*> nop ++00009204 <[^>]*> nop ++00009208 <[^>]*> nop ++0000920c <[^>]*> nop ++00009210 <[^>]*> nop ++00009214 <[^>]*> nop ++00009218 <[^>]*> nop ++0000921c <[^>]*> nop ++00009220 <[^>]*> nop ++00009224 <[^>]*> nop ++00009228 <[^>]*> nop ++0000922c <[^>]*> nop ++00009230 <[^>]*> nop ++00009234 <[^>]*> nop ++00009238 <[^>]*> nop ++0000923c <[^>]*> nop ++00009240 <[^>]*> nop ++00009244 <[^>]*> nop ++00009248 <[^>]*> nop ++0000924c <[^>]*> nop ++00009250 <[^>]*> nop ++00009254 <[^>]*> nop ++00009258 <[^>]*> nop ++0000925c <[^>]*> nop ++00009260 <[^>]*> nop ++00009264 <[^>]*> nop ++00009268 <[^>]*> nop ++0000926c <[^>]*> nop ++00009270 <[^>]*> nop ++00009274 <[^>]*> nop ++00009278 <[^>]*> nop ++0000927c <[^>]*> nop ++00009280 <[^>]*> nop ++00009284 <[^>]*> nop ++00009288 <[^>]*> nop ++0000928c <[^>]*> nop ++00009290 <[^>]*> nop ++00009294 <[^>]*> nop ++00009298 <[^>]*> nop ++0000929c <[^>]*> nop ++000092a0 <[^>]*> nop ++000092a4 <[^>]*> nop ++000092a8 <[^>]*> nop ++000092ac <[^>]*> nop ++000092b0 <[^>]*> nop ++000092b4 <[^>]*> nop ++000092b8 <[^>]*> nop ++000092bc <[^>]*> nop ++000092c0 <[^>]*> nop ++000092c4 <[^>]*> nop ++000092c8 <[^>]*> nop ++000092cc <[^>]*> nop ++000092d0 <[^>]*> nop ++000092d4 <[^>]*> nop ++000092d8 <[^>]*> nop ++000092dc <[^>]*> nop ++000092e0 <[^>]*> nop ++000092e4 <[^>]*> nop ++000092e8 <[^>]*> nop ++000092ec <[^>]*> nop ++000092f0 <[^>]*> nop ++000092f4 <[^>]*> nop ++000092f8 <[^>]*> nop ++000092fc <[^>]*> nop ++00009300 <[^>]*> nop ++00009304 <[^>]*> nop ++00009308 <[^>]*> nop ++0000930c <[^>]*> nop ++00009310 <[^>]*> nop ++00009314 <[^>]*> nop ++00009318 <[^>]*> nop ++0000931c <[^>]*> nop ++00009320 <[^>]*> nop ++00009324 <[^>]*> nop ++00009328 <[^>]*> nop ++0000932c <[^>]*> nop ++00009330 <[^>]*> nop ++00009334 <[^>]*> nop ++00009338 <[^>]*> nop ++0000933c <[^>]*> nop ++00009340 <[^>]*> nop ++00009344 <[^>]*> nop ++00009348 <[^>]*> nop ++0000934c <[^>]*> nop ++00009350 <[^>]*> nop ++00009354 <[^>]*> nop ++00009358 <[^>]*> nop ++0000935c <[^>]*> nop ++00009360 <[^>]*> nop ++00009364 <[^>]*> nop ++00009368 <[^>]*> nop ++0000936c <[^>]*> nop ++00009370 <[^>]*> nop ++00009374 <[^>]*> nop ++00009378 <[^>]*> nop ++0000937c <[^>]*> nop ++00009380 <[^>]*> nop ++00009384 <[^>]*> nop ++00009388 <[^>]*> nop ++0000938c <[^>]*> nop ++00009390 <[^>]*> nop ++00009394 <[^>]*> nop ++00009398 <[^>]*> nop ++0000939c <[^>]*> nop ++000093a0 <[^>]*> nop ++000093a4 <[^>]*> nop ++000093a8 <[^>]*> nop ++000093ac <[^>]*> nop ++000093b0 <[^>]*> nop ++000093b4 <[^>]*> nop ++000093b8 <[^>]*> nop ++000093bc <[^>]*> nop ++000093c0 <[^>]*> nop ++000093c4 <[^>]*> nop ++000093c8 <[^>]*> nop ++000093cc <[^>]*> nop ++000093d0 <[^>]*> nop ++000093d4 <[^>]*> nop ++000093d8 <[^>]*> nop ++000093dc <[^>]*> nop ++000093e0 <[^>]*> nop ++000093e4 <[^>]*> nop ++000093e8 <[^>]*> nop ++000093ec <[^>]*> nop ++000093f0 <[^>]*> nop ++000093f4 <[^>]*> nop ++000093f8 <[^>]*> nop ++000093fc <[^>]*> nop ++00009400 <[^>]*> nop ++00009404 <[^>]*> nop ++00009408 <[^>]*> nop ++0000940c <[^>]*> nop ++00009410 <[^>]*> nop ++00009414 <[^>]*> nop ++00009418 <[^>]*> nop ++0000941c <[^>]*> nop ++00009420 <[^>]*> nop ++00009424 <[^>]*> nop ++00009428 <[^>]*> nop ++0000942c <[^>]*> nop ++00009430 <[^>]*> nop ++00009434 <[^>]*> nop ++00009438 <[^>]*> nop ++0000943c <[^>]*> nop ++00009440 <[^>]*> nop ++00009444 <[^>]*> nop ++00009448 <[^>]*> nop ++0000944c <[^>]*> nop ++00009450 <[^>]*> nop ++00009454 <[^>]*> nop ++00009458 <[^>]*> nop ++0000945c <[^>]*> nop ++00009460 <[^>]*> nop ++00009464 <[^>]*> nop ++00009468 <[^>]*> nop ++0000946c <[^>]*> nop ++00009470 <[^>]*> nop ++00009474 <[^>]*> nop ++00009478 <[^>]*> nop ++0000947c <[^>]*> nop ++00009480 <[^>]*> nop ++00009484 <[^>]*> nop ++00009488 <[^>]*> nop ++0000948c <[^>]*> nop ++00009490 <[^>]*> nop ++00009494 <[^>]*> nop ++00009498 <[^>]*> nop ++0000949c <[^>]*> nop ++000094a0 <[^>]*> nop ++000094a4 <[^>]*> nop ++000094a8 <[^>]*> nop ++000094ac <[^>]*> nop ++000094b0 <[^>]*> nop ++000094b4 <[^>]*> nop ++000094b8 <[^>]*> nop ++000094bc <[^>]*> nop ++000094c0 <[^>]*> nop ++000094c4 <[^>]*> nop ++000094c8 <[^>]*> nop ++000094cc <[^>]*> nop ++000094d0 <[^>]*> nop ++000094d4 <[^>]*> nop ++000094d8 <[^>]*> nop ++000094dc <[^>]*> nop ++000094e0 <[^>]*> nop ++000094e4 <[^>]*> nop ++000094e8 <[^>]*> nop ++000094ec <[^>]*> nop ++000094f0 <[^>]*> nop ++000094f4 <[^>]*> nop ++000094f8 <[^>]*> nop ++000094fc <[^>]*> nop ++00009500 <[^>]*> nop ++00009504 <[^>]*> nop ++00009508 <[^>]*> nop ++0000950c <[^>]*> nop ++00009510 <[^>]*> nop ++00009514 <[^>]*> nop ++00009518 <[^>]*> nop ++0000951c <[^>]*> nop ++00009520 <[^>]*> nop ++00009524 <[^>]*> nop ++00009528 <[^>]*> nop ++0000952c <[^>]*> nop ++00009530 <[^>]*> nop ++00009534 <[^>]*> nop ++00009538 <[^>]*> nop ++0000953c <[^>]*> nop ++00009540 <[^>]*> nop ++00009544 <[^>]*> nop ++00009548 <[^>]*> nop ++0000954c <[^>]*> nop ++00009550 <[^>]*> nop ++00009554 <[^>]*> nop ++00009558 <[^>]*> nop ++0000955c <[^>]*> nop ++00009560 <[^>]*> nop ++00009564 <[^>]*> nop ++00009568 <[^>]*> nop ++0000956c <[^>]*> nop ++00009570 <[^>]*> nop ++00009574 <[^>]*> nop ++00009578 <[^>]*> nop ++0000957c <[^>]*> nop ++00009580 <[^>]*> nop ++00009584 <[^>]*> nop ++00009588 <[^>]*> nop ++0000958c <[^>]*> nop ++00009590 <[^>]*> nop ++00009594 <[^>]*> nop ++00009598 <[^>]*> nop ++0000959c <[^>]*> nop ++000095a0 <[^>]*> nop ++000095a4 <[^>]*> nop ++000095a8 <[^>]*> nop ++000095ac <[^>]*> nop ++000095b0 <[^>]*> nop ++000095b4 <[^>]*> nop ++000095b8 <[^>]*> nop ++000095bc <[^>]*> nop ++000095c0 <[^>]*> nop ++000095c4 <[^>]*> nop ++000095c8 <[^>]*> nop ++000095cc <[^>]*> nop ++000095d0 <[^>]*> nop ++000095d4 <[^>]*> nop ++000095d8 <[^>]*> nop ++000095dc <[^>]*> nop ++000095e0 <[^>]*> nop ++000095e4 <[^>]*> nop ++000095e8 <[^>]*> nop ++000095ec <[^>]*> nop ++000095f0 <[^>]*> nop ++000095f4 <[^>]*> nop ++000095f8 <[^>]*> nop ++000095fc <[^>]*> nop ++00009600 <[^>]*> nop ++00009604 <[^>]*> nop ++00009608 <[^>]*> nop ++0000960c <[^>]*> nop ++00009610 <[^>]*> nop ++00009614 <[^>]*> nop ++00009618 <[^>]*> nop ++0000961c <[^>]*> nop ++00009620 <[^>]*> nop ++00009624 <[^>]*> nop ++00009628 <[^>]*> nop ++0000962c <[^>]*> nop ++00009630 <[^>]*> nop ++00009634 <[^>]*> nop ++00009638 <[^>]*> nop ++0000963c <[^>]*> nop ++00009640 <[^>]*> nop ++00009644 <[^>]*> nop ++00009648 <[^>]*> nop ++0000964c <[^>]*> nop ++00009650 <[^>]*> nop ++00009654 <[^>]*> nop ++00009658 <[^>]*> nop ++0000965c <[^>]*> nop ++00009660 <[^>]*> nop ++00009664 <[^>]*> nop ++00009668 <[^>]*> nop ++0000966c <[^>]*> nop ++00009670 <[^>]*> nop ++00009674 <[^>]*> nop ++00009678 <[^>]*> nop ++0000967c <[^>]*> nop ++00009680 <[^>]*> nop ++00009684 <[^>]*> nop ++00009688 <[^>]*> nop ++0000968c <[^>]*> nop ++00009690 <[^>]*> nop ++00009694 <[^>]*> nop ++00009698 <[^>]*> nop ++0000969c <[^>]*> nop ++000096a0 <[^>]*> nop ++000096a4 <[^>]*> nop ++000096a8 <[^>]*> nop ++000096ac <[^>]*> nop ++000096b0 <[^>]*> nop ++000096b4 <[^>]*> nop ++000096b8 <[^>]*> nop ++000096bc <[^>]*> nop ++000096c0 <[^>]*> nop ++000096c4 <[^>]*> nop ++000096c8 <[^>]*> nop ++000096cc <[^>]*> nop ++000096d0 <[^>]*> nop ++000096d4 <[^>]*> nop ++000096d8 <[^>]*> nop ++000096dc <[^>]*> nop ++000096e0 <[^>]*> nop ++000096e4 <[^>]*> nop ++000096e8 <[^>]*> nop ++000096ec <[^>]*> nop ++000096f0 <[^>]*> nop ++000096f4 <[^>]*> nop ++000096f8 <[^>]*> nop ++000096fc <[^>]*> nop ++00009700 <[^>]*> nop ++00009704 <[^>]*> nop ++00009708 <[^>]*> nop ++0000970c <[^>]*> nop ++00009710 <[^>]*> nop ++00009714 <[^>]*> nop ++00009718 <[^>]*> nop ++0000971c <[^>]*> nop ++00009720 <[^>]*> nop ++00009724 <[^>]*> nop ++00009728 <[^>]*> nop ++0000972c <[^>]*> nop ++00009730 <[^>]*> nop ++00009734 <[^>]*> nop ++00009738 <[^>]*> nop ++0000973c <[^>]*> nop ++00009740 <[^>]*> nop ++00009744 <[^>]*> nop ++00009748 <[^>]*> nop ++0000974c <[^>]*> nop ++00009750 <[^>]*> nop ++00009754 <[^>]*> nop ++00009758 <[^>]*> nop ++0000975c <[^>]*> nop ++00009760 <[^>]*> nop ++00009764 <[^>]*> nop ++00009768 <[^>]*> nop ++0000976c <[^>]*> nop ++00009770 <[^>]*> nop ++00009774 <[^>]*> nop ++00009778 <[^>]*> nop ++0000977c <[^>]*> nop ++00009780 <[^>]*> nop ++00009784 <[^>]*> nop ++00009788 <[^>]*> nop ++0000978c <[^>]*> nop ++00009790 <[^>]*> nop ++00009794 <[^>]*> nop ++00009798 <[^>]*> nop ++0000979c <[^>]*> nop ++000097a0 <[^>]*> nop ++000097a4 <[^>]*> nop ++000097a8 <[^>]*> nop ++000097ac <[^>]*> nop ++000097b0 <[^>]*> nop ++000097b4 <[^>]*> nop ++000097b8 <[^>]*> nop ++000097bc <[^>]*> nop ++000097c0 <[^>]*> nop ++000097c4 <[^>]*> nop ++000097c8 <[^>]*> nop ++000097cc <[^>]*> nop ++000097d0 <[^>]*> nop ++000097d4 <[^>]*> nop ++000097d8 <[^>]*> nop ++000097dc <[^>]*> nop ++000097e0 <[^>]*> nop ++000097e4 <[^>]*> nop ++000097e8 <[^>]*> nop ++000097ec <[^>]*> nop ++000097f0 <[^>]*> nop ++000097f4 <[^>]*> nop ++000097f8 <[^>]*> nop ++000097fc <[^>]*> nop ++00009800 <[^>]*> nop ++00009804 <[^>]*> nop ++00009808 <[^>]*> nop ++0000980c <[^>]*> nop ++00009810 <[^>]*> nop ++00009814 <[^>]*> nop ++00009818 <[^>]*> nop ++0000981c <[^>]*> nop ++00009820 <[^>]*> nop ++00009824 <[^>]*> nop ++00009828 <[^>]*> nop ++0000982c <[^>]*> nop ++00009830 <[^>]*> nop ++00009834 <[^>]*> nop ++00009838 <[^>]*> nop ++0000983c <[^>]*> nop ++00009840 <[^>]*> nop ++00009844 <[^>]*> nop ++00009848 <[^>]*> nop ++0000984c <[^>]*> nop ++00009850 <[^>]*> nop ++00009854 <[^>]*> nop ++00009858 <[^>]*> nop ++0000985c <[^>]*> nop ++00009860 <[^>]*> nop ++00009864 <[^>]*> nop ++00009868 <[^>]*> nop ++0000986c <[^>]*> nop ++00009870 <[^>]*> nop ++00009874 <[^>]*> nop ++00009878 <[^>]*> nop ++0000987c <[^>]*> nop ++00009880 <[^>]*> nop ++00009884 <[^>]*> nop ++00009888 <[^>]*> nop ++0000988c <[^>]*> nop ++00009890 <[^>]*> nop ++00009894 <[^>]*> nop ++00009898 <[^>]*> nop ++0000989c <[^>]*> nop ++000098a0 <[^>]*> nop ++000098a4 <[^>]*> nop ++000098a8 <[^>]*> nop ++000098ac <[^>]*> nop ++000098b0 <[^>]*> nop ++000098b4 <[^>]*> nop ++000098b8 <[^>]*> nop ++000098bc <[^>]*> nop ++000098c0 <[^>]*> nop ++000098c4 <[^>]*> nop ++000098c8 <[^>]*> nop ++000098cc <[^>]*> nop ++000098d0 <[^>]*> nop ++000098d4 <[^>]*> nop ++000098d8 <[^>]*> nop ++000098dc <[^>]*> nop ++000098e0 <[^>]*> nop ++000098e4 <[^>]*> nop ++000098e8 <[^>]*> nop ++000098ec <[^>]*> nop ++000098f0 <[^>]*> nop ++000098f4 <[^>]*> nop ++000098f8 <[^>]*> nop ++000098fc <[^>]*> nop ++00009900 <[^>]*> nop ++00009904 <[^>]*> nop ++00009908 <[^>]*> nop ++0000990c <[^>]*> nop ++00009910 <[^>]*> nop ++00009914 <[^>]*> nop ++00009918 <[^>]*> nop ++0000991c <[^>]*> nop ++00009920 <[^>]*> nop ++00009924 <[^>]*> nop ++00009928 <[^>]*> nop ++0000992c <[^>]*> nop ++00009930 <[^>]*> nop ++00009934 <[^>]*> nop ++00009938 <[^>]*> nop ++0000993c <[^>]*> nop ++00009940 <[^>]*> nop ++00009944 <[^>]*> nop ++00009948 <[^>]*> nop ++0000994c <[^>]*> nop ++00009950 <[^>]*> nop ++00009954 <[^>]*> nop ++00009958 <[^>]*> nop ++0000995c <[^>]*> nop ++00009960 <[^>]*> nop ++00009964 <[^>]*> nop ++00009968 <[^>]*> nop ++0000996c <[^>]*> nop ++00009970 <[^>]*> nop ++00009974 <[^>]*> nop ++00009978 <[^>]*> nop ++0000997c <[^>]*> nop ++00009980 <[^>]*> nop ++00009984 <[^>]*> nop ++00009988 <[^>]*> nop ++0000998c <[^>]*> nop ++00009990 <[^>]*> nop ++00009994 <[^>]*> nop ++00009998 <[^>]*> nop ++0000999c <[^>]*> nop ++000099a0 <[^>]*> nop ++000099a4 <[^>]*> nop ++000099a8 <[^>]*> nop ++000099ac <[^>]*> nop ++000099b0 <[^>]*> nop ++000099b4 <[^>]*> nop ++000099b8 <[^>]*> nop ++000099bc <[^>]*> nop ++000099c0 <[^>]*> nop ++000099c4 <[^>]*> nop ++000099c8 <[^>]*> nop ++000099cc <[^>]*> nop ++000099d0 <[^>]*> nop ++000099d4 <[^>]*> nop ++000099d8 <[^>]*> nop ++000099dc <[^>]*> nop ++000099e0 <[^>]*> nop ++000099e4 <[^>]*> nop ++000099e8 <[^>]*> nop ++000099ec <[^>]*> nop ++000099f0 <[^>]*> nop ++000099f4 <[^>]*> nop ++000099f8 <[^>]*> nop ++000099fc <[^>]*> nop ++00009a00 <[^>]*> nop ++00009a04 <[^>]*> nop ++00009a08 <[^>]*> nop ++00009a0c <[^>]*> nop ++00009a10 <[^>]*> nop ++00009a14 <[^>]*> nop ++00009a18 <[^>]*> nop ++00009a1c <[^>]*> nop ++00009a20 <[^>]*> nop ++00009a24 <[^>]*> nop ++00009a28 <[^>]*> nop ++00009a2c <[^>]*> nop ++00009a30 <[^>]*> nop ++00009a34 <[^>]*> nop ++00009a38 <[^>]*> nop ++00009a3c <[^>]*> nop ++00009a40 <[^>]*> nop ++00009a44 <[^>]*> nop ++00009a48 <[^>]*> nop ++00009a4c <[^>]*> nop ++00009a50 <[^>]*> nop ++00009a54 <[^>]*> nop ++00009a58 <[^>]*> nop ++00009a5c <[^>]*> nop ++00009a60 <[^>]*> nop ++00009a64 <[^>]*> nop ++00009a68 <[^>]*> nop ++00009a6c <[^>]*> nop ++00009a70 <[^>]*> nop ++00009a74 <[^>]*> nop ++00009a78 <[^>]*> nop ++00009a7c <[^>]*> nop ++00009a80 <[^>]*> nop ++00009a84 <[^>]*> nop ++00009a88 <[^>]*> nop ++00009a8c <[^>]*> nop ++00009a90 <[^>]*> nop ++00009a94 <[^>]*> nop ++00009a98 <[^>]*> nop ++00009a9c <[^>]*> nop ++00009aa0 <[^>]*> nop ++00009aa4 <[^>]*> nop ++00009aa8 <[^>]*> nop ++00009aac <[^>]*> nop ++00009ab0 <[^>]*> nop ++00009ab4 <[^>]*> nop ++00009ab8 <[^>]*> nop ++00009abc <[^>]*> nop ++00009ac0 <[^>]*> nop ++00009ac4 <[^>]*> nop ++00009ac8 <[^>]*> nop ++00009acc <[^>]*> nop ++00009ad0 <[^>]*> nop ++00009ad4 <[^>]*> nop ++00009ad8 <[^>]*> nop ++00009adc <[^>]*> nop ++00009ae0 <[^>]*> nop ++00009ae4 <[^>]*> nop ++00009ae8 <[^>]*> nop ++00009aec <[^>]*> nop ++00009af0 <[^>]*> nop ++00009af4 <[^>]*> nop ++00009af8 <[^>]*> nop ++00009afc <[^>]*> nop ++00009b00 <[^>]*> nop ++00009b04 <[^>]*> nop ++00009b08 <[^>]*> nop ++00009b0c <[^>]*> nop ++00009b10 <[^>]*> nop ++00009b14 <[^>]*> nop ++00009b18 <[^>]*> nop ++00009b1c <[^>]*> nop ++00009b20 <[^>]*> nop ++00009b24 <[^>]*> nop ++00009b28 <[^>]*> nop ++00009b2c <[^>]*> nop ++00009b30 <[^>]*> nop ++00009b34 <[^>]*> nop ++00009b38 <[^>]*> nop ++00009b3c <[^>]*> nop ++00009b40 <[^>]*> nop ++00009b44 <[^>]*> nop ++00009b48 <[^>]*> nop ++00009b4c <[^>]*> nop ++00009b50 <[^>]*> nop ++00009b54 <[^>]*> nop ++00009b58 <[^>]*> nop ++00009b5c <[^>]*> nop ++00009b60 <[^>]*> nop ++00009b64 <[^>]*> nop ++00009b68 <[^>]*> nop ++00009b6c <[^>]*> nop ++00009b70 <[^>]*> nop ++00009b74 <[^>]*> nop ++00009b78 <[^>]*> nop ++00009b7c <[^>]*> nop ++00009b80 <[^>]*> nop ++00009b84 <[^>]*> nop ++00009b88 <[^>]*> nop ++00009b8c <[^>]*> nop ++00009b90 <[^>]*> nop ++00009b94 <[^>]*> nop ++00009b98 <[^>]*> nop ++00009b9c <[^>]*> nop ++00009ba0 <[^>]*> nop ++00009ba4 <[^>]*> nop ++00009ba8 <[^>]*> nop ++00009bac <[^>]*> nop ++00009bb0 <[^>]*> nop ++00009bb4 <[^>]*> nop ++00009bb8 <[^>]*> nop ++00009bbc <[^>]*> nop ++00009bc0 <[^>]*> nop ++00009bc4 <[^>]*> nop ++00009bc8 <[^>]*> nop ++00009bcc <[^>]*> nop ++00009bd0 <[^>]*> nop ++00009bd4 <[^>]*> nop ++00009bd8 <[^>]*> nop ++00009bdc <[^>]*> nop ++00009be0 <[^>]*> nop ++00009be4 <[^>]*> nop ++00009be8 <[^>]*> nop ++00009bec <[^>]*> nop ++00009bf0 <[^>]*> nop ++00009bf4 <[^>]*> nop ++00009bf8 <[^>]*> nop ++00009bfc <[^>]*> nop ++00009c00 <[^>]*> nop ++00009c04 <[^>]*> nop ++00009c08 <[^>]*> nop ++00009c0c <[^>]*> nop ++00009c10 <[^>]*> nop ++00009c14 <[^>]*> nop ++00009c18 <[^>]*> nop ++00009c1c <[^>]*> nop ++00009c20 <[^>]*> nop ++00009c24 <[^>]*> nop ++00009c28 <[^>]*> nop ++00009c2c <[^>]*> nop ++00009c30 <[^>]*> nop ++00009c34 <[^>]*> nop ++00009c38 <[^>]*> nop ++00009c3c <[^>]*> nop ++00009c40 <[^>]*> nop ++00009c44 <[^>]*> nop ++00009c48 <[^>]*> nop ++00009c4c <[^>]*> nop ++00009c50 <[^>]*> nop ++00009c54 <[^>]*> nop ++00009c58 <[^>]*> nop ++00009c5c <[^>]*> nop ++00009c60 <[^>]*> nop ++00009c64 <[^>]*> nop ++00009c68 <[^>]*> nop ++00009c6c <[^>]*> nop ++00009c70 <[^>]*> nop ++00009c74 <[^>]*> nop ++00009c78 <[^>]*> nop ++00009c7c <[^>]*> nop ++00009c80 <[^>]*> nop ++00009c84 <[^>]*> nop ++00009c88 <[^>]*> nop ++00009c8c <[^>]*> nop ++00009c90 <[^>]*> nop ++00009c94 <[^>]*> nop ++00009c98 <[^>]*> nop ++00009c9c <[^>]*> nop ++00009ca0 <[^>]*> nop ++00009ca4 <[^>]*> nop ++00009ca8 <[^>]*> nop ++00009cac <[^>]*> nop ++00009cb0 <[^>]*> nop ++00009cb4 <[^>]*> nop ++00009cb8 <[^>]*> nop ++00009cbc <[^>]*> nop ++00009cc0 <[^>]*> nop ++00009cc4 <[^>]*> nop ++00009cc8 <[^>]*> nop ++00009ccc <[^>]*> nop ++00009cd0 <[^>]*> nop ++00009cd4 <[^>]*> nop ++00009cd8 <[^>]*> nop ++00009cdc <[^>]*> nop ++00009ce0 <[^>]*> nop ++00009ce4 <[^>]*> nop ++00009ce8 <[^>]*> nop ++00009cec <[^>]*> nop ++00009cf0 <[^>]*> nop ++00009cf4 <[^>]*> nop ++00009cf8 <[^>]*> nop ++00009cfc <[^>]*> nop ++00009d00 <[^>]*> nop ++00009d04 <[^>]*> nop ++00009d08 <[^>]*> nop ++00009d0c <[^>]*> nop ++00009d10 <[^>]*> nop ++00009d14 <[^>]*> nop ++00009d18 <[^>]*> nop ++00009d1c <[^>]*> nop ++00009d20 <[^>]*> nop ++00009d24 <[^>]*> nop ++00009d28 <[^>]*> nop ++00009d2c <[^>]*> nop ++00009d30 <[^>]*> nop ++00009d34 <[^>]*> nop ++00009d38 <[^>]*> nop ++00009d3c <[^>]*> nop ++00009d40 <[^>]*> nop ++00009d44 <[^>]*> nop ++00009d48 <[^>]*> nop ++00009d4c <[^>]*> nop ++00009d50 <[^>]*> nop ++00009d54 <[^>]*> nop ++00009d58 <[^>]*> nop ++00009d5c <[^>]*> nop ++00009d60 <[^>]*> nop ++00009d64 <[^>]*> nop ++00009d68 <[^>]*> nop ++00009d6c <[^>]*> nop ++00009d70 <[^>]*> nop ++00009d74 <[^>]*> nop ++00009d78 <[^>]*> nop ++00009d7c <[^>]*> nop ++00009d80 <[^>]*> nop ++00009d84 <[^>]*> nop ++00009d88 <[^>]*> nop ++00009d8c <[^>]*> nop ++00009d90 <[^>]*> nop ++00009d94 <[^>]*> nop ++00009d98 <[^>]*> nop ++00009d9c <[^>]*> nop ++00009da0 <[^>]*> nop ++00009da4 <[^>]*> nop ++00009da8 <[^>]*> nop ++00009dac <[^>]*> nop ++00009db0 <[^>]*> nop ++00009db4 <[^>]*> nop ++00009db8 <[^>]*> nop ++00009dbc <[^>]*> nop ++00009dc0 <[^>]*> nop ++00009dc4 <[^>]*> nop ++00009dc8 <[^>]*> nop ++00009dcc <[^>]*> nop ++00009dd0 <[^>]*> nop ++00009dd4 <[^>]*> nop ++00009dd8 <[^>]*> nop ++00009ddc <[^>]*> nop ++00009de0 <[^>]*> nop ++00009de4 <[^>]*> nop ++00009de8 <[^>]*> nop ++00009dec <[^>]*> nop ++00009df0 <[^>]*> nop ++00009df4 <[^>]*> nop ++00009df8 <[^>]*> nop ++00009dfc <[^>]*> nop ++00009e00 <[^>]*> nop ++00009e04 <[^>]*> nop ++00009e08 <[^>]*> nop ++00009e0c <[^>]*> nop ++00009e10 <[^>]*> nop ++00009e14 <[^>]*> nop ++00009e18 <[^>]*> nop ++00009e1c <[^>]*> nop ++00009e20 <[^>]*> nop ++00009e24 <[^>]*> nop ++00009e28 <[^>]*> nop ++00009e2c <[^>]*> nop ++00009e30 <[^>]*> nop ++00009e34 <[^>]*> nop ++00009e38 <[^>]*> nop ++00009e3c <[^>]*> nop ++00009e40 <[^>]*> nop ++00009e44 <[^>]*> nop ++00009e48 <[^>]*> nop ++00009e4c <[^>]*> nop ++00009e50 <[^>]*> nop ++00009e54 <[^>]*> nop ++00009e58 <[^>]*> nop ++00009e5c <[^>]*> nop ++00009e60 <[^>]*> nop ++00009e64 <[^>]*> nop ++00009e68 <[^>]*> nop ++00009e6c <[^>]*> nop ++00009e70 <[^>]*> nop ++00009e74 <[^>]*> nop ++00009e78 <[^>]*> nop ++00009e7c <[^>]*> nop ++00009e80 <[^>]*> nop ++00009e84 <[^>]*> nop ++00009e88 <[^>]*> nop ++00009e8c <[^>]*> nop ++00009e90 <[^>]*> nop ++00009e94 <[^>]*> nop ++00009e98 <[^>]*> nop ++00009e9c <[^>]*> nop ++00009ea0 <[^>]*> nop ++00009ea4 <[^>]*> nop ++00009ea8 <[^>]*> nop ++00009eac <[^>]*> nop ++00009eb0 <[^>]*> nop ++00009eb4 <[^>]*> nop ++00009eb8 <[^>]*> nop ++00009ebc <[^>]*> nop ++00009ec0 <[^>]*> nop ++00009ec4 <[^>]*> nop ++00009ec8 <[^>]*> nop ++00009ecc <[^>]*> nop ++00009ed0 <[^>]*> nop ++00009ed4 <[^>]*> nop ++00009ed8 <[^>]*> nop ++00009edc <[^>]*> nop ++00009ee0 <[^>]*> nop ++00009ee4 <[^>]*> nop ++00009ee8 <[^>]*> nop ++00009eec <[^>]*> nop ++00009ef0 <[^>]*> nop ++00009ef4 <[^>]*> nop ++00009ef8 <[^>]*> nop ++00009efc <[^>]*> nop ++00009f00 <[^>]*> nop ++00009f04 <[^>]*> nop ++00009f08 <[^>]*> nop ++00009f0c <[^>]*> nop ++00009f10 <[^>]*> nop ++00009f14 <[^>]*> nop ++00009f18 <[^>]*> nop ++00009f1c <[^>]*> nop ++00009f20 <[^>]*> nop ++00009f24 <[^>]*> nop ++00009f28 <[^>]*> nop ++00009f2c <[^>]*> nop ++00009f30 <[^>]*> nop ++00009f34 <[^>]*> nop ++00009f38 <[^>]*> nop ++00009f3c <[^>]*> nop ++00009f40 <[^>]*> nop ++00009f44 <[^>]*> nop ++00009f48 <[^>]*> nop ++00009f4c <[^>]*> nop ++00009f50 <[^>]*> nop ++00009f54 <[^>]*> nop ++00009f58 <[^>]*> nop ++00009f5c <[^>]*> nop ++00009f60 <[^>]*> nop ++00009f64 <[^>]*> nop ++00009f68 <[^>]*> nop ++00009f6c <[^>]*> nop ++00009f70 <[^>]*> nop ++00009f74 <[^>]*> nop ++00009f78 <[^>]*> nop ++00009f7c <[^>]*> nop ++00009f80 <[^>]*> nop ++00009f84 <[^>]*> nop ++00009f88 <[^>]*> nop ++00009f8c <[^>]*> nop ++00009f90 <[^>]*> nop ++00009f94 <[^>]*> nop ++00009f98 <[^>]*> nop ++00009f9c <[^>]*> nop ++00009fa0 <[^>]*> nop ++00009fa4 <[^>]*> nop ++00009fa8 <[^>]*> nop ++00009fac <[^>]*> nop ++00009fb0 <[^>]*> nop ++00009fb4 <[^>]*> nop ++00009fb8 <[^>]*> nop ++00009fbc <[^>]*> nop ++00009fc0 <[^>]*> nop ++00009fc4 <[^>]*> nop ++00009fc8 <[^>]*> nop ++00009fcc <[^>]*> nop ++00009fd0 <[^>]*> nop ++00009fd4 <[^>]*> nop ++00009fd8 <[^>]*> nop ++00009fdc <[^>]*> nop ++00009fe0 <[^>]*> nop ++00009fe4 <[^>]*> nop ++00009fe8 <[^>]*> nop ++00009fec <[^>]*> nop ++00009ff0 <[^>]*> nop ++00009ff4 <[^>]*> nop ++00009ff8 <[^>]*> nop ++00009ffc <[^>]*> nop ++0000a000 <[^>]*> nop ++0000a004 <[^>]*> nop ++0000a008 <[^>]*> nop ++0000a00c <[^>]*> nop ++0000a010 <[^>]*> nop ++0000a014 <[^>]*> nop ++0000a018 <[^>]*> nop ++0000a01c <[^>]*> nop ++0000a020 <[^>]*> nop ++0000a024 <[^>]*> nop ++0000a028 <[^>]*> nop ++0000a02c <[^>]*> nop ++0000a030 <[^>]*> nop ++0000a034 <[^>]*> nop ++0000a038 <[^>]*> nop ++0000a03c <[^>]*> nop ++0000a040 <[^>]*> nop ++0000a044 <[^>]*> nop ++0000a048 <[^>]*> nop ++0000a04c <[^>]*> nop ++0000a050 <[^>]*> nop ++0000a054 <[^>]*> nop ++0000a058 <[^>]*> nop ++0000a05c <[^>]*> nop ++0000a060 <[^>]*> nop ++0000a064 <[^>]*> nop ++0000a068 <[^>]*> nop ++0000a06c <[^>]*> nop ++0000a070 <[^>]*> nop ++0000a074 <[^>]*> nop ++0000a078 <[^>]*> nop ++0000a07c <[^>]*> nop ++0000a080 <[^>]*> nop ++0000a084 <[^>]*> nop ++0000a088 <[^>]*> nop ++0000a08c <[^>]*> nop ++0000a090 <[^>]*> nop ++0000a094 <[^>]*> nop ++0000a098 <[^>]*> nop ++0000a09c <[^>]*> nop ++0000a0a0 <[^>]*> nop ++0000a0a4 <[^>]*> nop ++0000a0a8 <[^>]*> nop ++0000a0ac <[^>]*> nop ++0000a0b0 <[^>]*> nop ++0000a0b4 <[^>]*> nop ++0000a0b8 <[^>]*> nop ++0000a0bc <[^>]*> nop ++0000a0c0 <[^>]*> nop ++0000a0c4 <[^>]*> nop ++0000a0c8 <[^>]*> nop ++0000a0cc <[^>]*> nop ++0000a0d0 <[^>]*> nop ++0000a0d4 <[^>]*> nop ++0000a0d8 <[^>]*> nop ++0000a0dc <[^>]*> nop ++0000a0e0 <[^>]*> nop ++0000a0e4 <[^>]*> nop ++0000a0e8 <[^>]*> nop ++0000a0ec <[^>]*> nop ++0000a0f0 <[^>]*> nop ++0000a0f4 <[^>]*> nop ++0000a0f8 <[^>]*> nop ++0000a0fc <[^>]*> nop ++0000a100 <[^>]*> nop ++0000a104 <[^>]*> nop ++0000a108 <[^>]*> nop ++0000a10c <[^>]*> nop ++0000a110 <[^>]*> nop ++0000a114 <[^>]*> nop ++0000a118 <[^>]*> nop ++0000a11c <[^>]*> nop ++0000a120 <[^>]*> nop ++0000a124 <[^>]*> nop ++0000a128 <[^>]*> nop ++0000a12c <[^>]*> nop ++0000a130 <[^>]*> nop ++0000a134 <[^>]*> nop ++0000a138 <[^>]*> nop ++0000a13c <[^>]*> nop ++0000a140 <[^>]*> nop ++0000a144 <[^>]*> nop ++0000a148 <[^>]*> nop ++0000a14c <[^>]*> nop ++0000a150 <[^>]*> nop ++0000a154 <[^>]*> nop ++0000a158 <[^>]*> nop ++0000a15c <[^>]*> nop ++0000a160 <[^>]*> nop ++0000a164 <[^>]*> nop ++0000a168 <[^>]*> nop ++0000a16c <[^>]*> nop ++0000a170 <[^>]*> nop ++0000a174 <[^>]*> nop ++0000a178 <[^>]*> nop ++0000a17c <[^>]*> nop ++0000a180 <[^>]*> nop ++0000a184 <[^>]*> nop ++0000a188 <[^>]*> nop ++0000a18c <[^>]*> nop ++0000a190 <[^>]*> nop ++0000a194 <[^>]*> nop ++0000a198 <[^>]*> nop ++0000a19c <[^>]*> nop ++0000a1a0 <[^>]*> nop ++0000a1a4 <[^>]*> nop ++0000a1a8 <[^>]*> nop ++0000a1ac <[^>]*> nop ++0000a1b0 <[^>]*> nop ++0000a1b4 <[^>]*> nop ++0000a1b8 <[^>]*> nop ++0000a1bc <[^>]*> nop ++0000a1c0 <[^>]*> nop ++0000a1c4 <[^>]*> nop ++0000a1c8 <[^>]*> nop ++0000a1cc <[^>]*> nop ++0000a1d0 <[^>]*> nop ++0000a1d4 <[^>]*> nop ++0000a1d8 <[^>]*> nop ++0000a1dc <[^>]*> nop ++0000a1e0 <[^>]*> nop ++0000a1e4 <[^>]*> nop ++0000a1e8 <[^>]*> nop ++0000a1ec <[^>]*> nop ++0000a1f0 <[^>]*> nop ++0000a1f4 <[^>]*> nop ++0000a1f8 <[^>]*> nop ++0000a1fc <[^>]*> nop ++0000a200 <[^>]*> nop ++0000a204 <[^>]*> nop ++0000a208 <[^>]*> nop ++0000a20c <[^>]*> nop ++0000a210 <[^>]*> nop ++0000a214 <[^>]*> nop ++0000a218 <[^>]*> nop ++0000a21c <[^>]*> nop ++0000a220 <[^>]*> nop ++0000a224 <[^>]*> nop ++0000a228 <[^>]*> nop ++0000a22c <[^>]*> nop ++0000a230 <[^>]*> nop ++0000a234 <[^>]*> nop ++0000a238 <[^>]*> nop ++0000a23c <[^>]*> nop ++0000a240 <[^>]*> nop ++0000a244 <[^>]*> nop ++0000a248 <[^>]*> nop ++0000a24c <[^>]*> nop ++0000a250 <[^>]*> nop ++0000a254 <[^>]*> nop ++0000a258 <[^>]*> nop ++0000a25c <[^>]*> nop ++0000a260 <[^>]*> nop ++0000a264 <[^>]*> nop ++0000a268 <[^>]*> nop ++0000a26c <[^>]*> nop ++0000a270 <[^>]*> nop ++0000a274 <[^>]*> nop ++0000a278 <[^>]*> nop ++0000a27c <[^>]*> nop ++0000a280 <[^>]*> nop ++0000a284 <[^>]*> nop ++0000a288 <[^>]*> nop ++0000a28c <[^>]*> nop ++0000a290 <[^>]*> nop ++0000a294 <[^>]*> nop ++0000a298 <[^>]*> nop ++0000a29c <[^>]*> nop ++0000a2a0 <[^>]*> nop ++0000a2a4 <[^>]*> nop ++0000a2a8 <[^>]*> nop ++0000a2ac <[^>]*> nop ++0000a2b0 <[^>]*> nop ++0000a2b4 <[^>]*> nop ++0000a2b8 <[^>]*> nop ++0000a2bc <[^>]*> nop ++0000a2c0 <[^>]*> nop ++0000a2c4 <[^>]*> nop ++0000a2c8 <[^>]*> nop ++0000a2cc <[^>]*> nop ++0000a2d0 <[^>]*> nop ++0000a2d4 <[^>]*> nop ++0000a2d8 <[^>]*> nop ++0000a2dc <[^>]*> nop ++0000a2e0 <[^>]*> nop ++0000a2e4 <[^>]*> nop ++0000a2e8 <[^>]*> nop ++0000a2ec <[^>]*> nop ++0000a2f0 <[^>]*> nop ++0000a2f4 <[^>]*> nop ++0000a2f8 <[^>]*> nop ++0000a2fc <[^>]*> nop ++0000a300 <[^>]*> nop ++0000a304 <[^>]*> nop ++0000a308 <[^>]*> nop ++0000a30c <[^>]*> nop ++0000a310 <[^>]*> nop ++0000a314 <[^>]*> nop ++0000a318 <[^>]*> nop ++0000a31c <[^>]*> nop ++0000a320 <[^>]*> nop ++0000a324 <[^>]*> nop ++0000a328 <[^>]*> nop ++0000a32c <[^>]*> nop ++0000a330 <[^>]*> nop ++0000a334 <[^>]*> nop ++0000a338 <[^>]*> nop ++0000a33c <[^>]*> nop ++0000a340 <[^>]*> nop ++0000a344 <[^>]*> nop ++0000a348 <[^>]*> nop ++0000a34c <[^>]*> nop ++0000a350 <[^>]*> nop ++0000a354 <[^>]*> nop ++0000a358 <[^>]*> nop ++0000a35c <[^>]*> nop ++0000a360 <[^>]*> nop ++0000a364 <[^>]*> nop ++0000a368 <[^>]*> nop ++0000a36c <[^>]*> nop ++0000a370 <[^>]*> nop ++0000a374 <[^>]*> nop ++0000a378 <[^>]*> nop ++0000a37c <[^>]*> nop ++0000a380 <[^>]*> nop ++0000a384 <[^>]*> nop ++0000a388 <[^>]*> nop ++0000a38c <[^>]*> nop ++0000a390 <[^>]*> nop ++0000a394 <[^>]*> nop ++0000a398 <[^>]*> nop ++0000a39c <[^>]*> nop ++0000a3a0 <[^>]*> nop ++0000a3a4 <[^>]*> nop ++0000a3a8 <[^>]*> nop ++0000a3ac <[^>]*> nop ++0000a3b0 <[^>]*> nop ++0000a3b4 <[^>]*> nop ++0000a3b8 <[^>]*> nop ++0000a3bc <[^>]*> nop ++0000a3c0 <[^>]*> nop ++0000a3c4 <[^>]*> nop ++0000a3c8 <[^>]*> nop ++0000a3cc <[^>]*> nop ++0000a3d0 <[^>]*> nop ++0000a3d4 <[^>]*> nop ++0000a3d8 <[^>]*> nop ++0000a3dc <[^>]*> nop ++0000a3e0 <[^>]*> nop ++0000a3e4 <[^>]*> nop ++0000a3e8 <[^>]*> nop ++0000a3ec <[^>]*> nop ++0000a3f0 <[^>]*> nop ++0000a3f4 <[^>]*> nop ++0000a3f8 <[^>]*> nop ++0000a3fc <[^>]*> nop ++0000a400 <[^>]*> nop ++0000a404 <[^>]*> nop ++0000a408 <[^>]*> nop ++0000a40c <[^>]*> nop ++0000a410 <[^>]*> nop ++0000a414 <[^>]*> nop ++0000a418 <[^>]*> nop ++0000a41c <[^>]*> nop ++0000a420 <[^>]*> nop ++0000a424 <[^>]*> nop ++0000a428 <[^>]*> nop ++0000a42c <[^>]*> nop ++0000a430 <[^>]*> nop ++0000a434 <[^>]*> nop ++0000a438 <[^>]*> nop ++0000a43c <[^>]*> nop ++0000a440 <[^>]*> nop ++0000a444 <[^>]*> nop ++0000a448 <[^>]*> nop ++0000a44c <[^>]*> nop ++0000a450 <[^>]*> nop ++0000a454 <[^>]*> nop ++0000a458 <[^>]*> nop ++0000a45c <[^>]*> nop ++0000a460 <[^>]*> nop ++0000a464 <[^>]*> nop ++0000a468 <[^>]*> nop ++0000a46c <[^>]*> nop ++0000a470 <[^>]*> nop ++0000a474 <[^>]*> nop ++0000a478 <[^>]*> nop ++0000a47c <[^>]*> nop ++0000a480 <[^>]*> nop ++0000a484 <[^>]*> nop ++0000a488 <[^>]*> nop ++0000a48c <[^>]*> nop ++0000a490 <[^>]*> nop ++0000a494 <[^>]*> nop ++0000a498 <[^>]*> nop ++0000a49c <[^>]*> nop ++0000a4a0 <[^>]*> nop ++0000a4a4 <[^>]*> nop ++0000a4a8 <[^>]*> nop ++0000a4ac <[^>]*> nop ++0000a4b0 <[^>]*> nop ++0000a4b4 <[^>]*> nop ++0000a4b8 <[^>]*> nop ++0000a4bc <[^>]*> nop ++0000a4c0 <[^>]*> nop ++0000a4c4 <[^>]*> nop ++0000a4c8 <[^>]*> nop ++0000a4cc <[^>]*> nop ++0000a4d0 <[^>]*> nop ++0000a4d4 <[^>]*> nop ++0000a4d8 <[^>]*> nop ++0000a4dc <[^>]*> nop ++0000a4e0 <[^>]*> nop ++0000a4e4 <[^>]*> nop ++0000a4e8 <[^>]*> nop ++0000a4ec <[^>]*> nop ++0000a4f0 <[^>]*> nop ++0000a4f4 <[^>]*> nop ++0000a4f8 <[^>]*> nop ++0000a4fc <[^>]*> nop ++0000a500 <[^>]*> nop ++0000a504 <[^>]*> nop ++0000a508 <[^>]*> nop ++0000a50c <[^>]*> nop ++0000a510 <[^>]*> nop ++0000a514 <[^>]*> nop ++0000a518 <[^>]*> nop ++0000a51c <[^>]*> nop ++0000a520 <[^>]*> nop ++0000a524 <[^>]*> nop ++0000a528 <[^>]*> nop ++0000a52c <[^>]*> nop ++0000a530 <[^>]*> nop ++0000a534 <[^>]*> nop ++0000a538 <[^>]*> nop ++0000a53c <[^>]*> nop ++0000a540 <[^>]*> nop ++0000a544 <[^>]*> nop ++0000a548 <[^>]*> nop ++0000a54c <[^>]*> nop ++0000a550 <[^>]*> nop ++0000a554 <[^>]*> nop ++0000a558 <[^>]*> nop ++0000a55c <[^>]*> nop ++0000a560 <[^>]*> nop ++0000a564 <[^>]*> nop ++0000a568 <[^>]*> nop ++0000a56c <[^>]*> nop ++0000a570 <[^>]*> nop ++0000a574 <[^>]*> nop ++0000a578 <[^>]*> nop ++0000a57c <[^>]*> nop ++0000a580 <[^>]*> nop ++0000a584 <[^>]*> nop ++0000a588 <[^>]*> nop ++0000a58c <[^>]*> nop ++0000a590 <[^>]*> nop ++0000a594 <[^>]*> nop ++0000a598 <[^>]*> nop ++0000a59c <[^>]*> nop ++0000a5a0 <[^>]*> nop ++0000a5a4 <[^>]*> nop ++0000a5a8 <[^>]*> nop ++0000a5ac <[^>]*> nop ++0000a5b0 <[^>]*> nop ++0000a5b4 <[^>]*> nop ++0000a5b8 <[^>]*> nop ++0000a5bc <[^>]*> nop ++0000a5c0 <[^>]*> nop ++0000a5c4 <[^>]*> nop ++0000a5c8 <[^>]*> nop ++0000a5cc <[^>]*> nop ++0000a5d0 <[^>]*> nop ++0000a5d4 <[^>]*> nop ++0000a5d8 <[^>]*> nop ++0000a5dc <[^>]*> nop ++0000a5e0 <[^>]*> nop ++0000a5e4 <[^>]*> nop ++0000a5e8 <[^>]*> nop ++0000a5ec <[^>]*> nop ++0000a5f0 <[^>]*> nop ++0000a5f4 <[^>]*> nop ++0000a5f8 <[^>]*> nop ++0000a5fc <[^>]*> nop ++0000a600 <[^>]*> nop ++0000a604 <[^>]*> nop ++0000a608 <[^>]*> nop ++0000a60c <[^>]*> nop ++0000a610 <[^>]*> nop ++0000a614 <[^>]*> nop ++0000a618 <[^>]*> nop ++0000a61c <[^>]*> nop ++0000a620 <[^>]*> nop ++0000a624 <[^>]*> nop ++0000a628 <[^>]*> nop ++0000a62c <[^>]*> nop ++0000a630 <[^>]*> nop ++0000a634 <[^>]*> nop ++0000a638 <[^>]*> nop ++0000a63c <[^>]*> nop ++0000a640 <[^>]*> nop ++0000a644 <[^>]*> nop ++0000a648 <[^>]*> nop ++0000a64c <[^>]*> nop ++0000a650 <[^>]*> nop ++0000a654 <[^>]*> nop ++0000a658 <[^>]*> nop ++0000a65c <[^>]*> nop ++0000a660 <[^>]*> nop ++0000a664 <[^>]*> nop ++0000a668 <[^>]*> nop ++0000a66c <[^>]*> nop ++0000a670 <[^>]*> nop ++0000a674 <[^>]*> nop ++0000a678 <[^>]*> nop ++0000a67c <[^>]*> nop ++0000a680 <[^>]*> nop ++0000a684 <[^>]*> nop ++0000a688 <[^>]*> nop ++0000a68c <[^>]*> nop ++0000a690 <[^>]*> nop ++0000a694 <[^>]*> nop ++0000a698 <[^>]*> nop ++0000a69c <[^>]*> nop ++0000a6a0 <[^>]*> nop ++0000a6a4 <[^>]*> nop ++0000a6a8 <[^>]*> nop ++0000a6ac <[^>]*> nop ++0000a6b0 <[^>]*> nop ++0000a6b4 <[^>]*> nop ++0000a6b8 <[^>]*> nop ++0000a6bc <[^>]*> nop ++0000a6c0 <[^>]*> nop ++0000a6c4 <[^>]*> nop ++0000a6c8 <[^>]*> nop ++0000a6cc <[^>]*> nop ++0000a6d0 <[^>]*> nop ++0000a6d4 <[^>]*> nop ++0000a6d8 <[^>]*> nop ++0000a6dc <[^>]*> nop ++0000a6e0 <[^>]*> nop ++0000a6e4 <[^>]*> nop ++0000a6e8 <[^>]*> nop ++0000a6ec <[^>]*> nop ++0000a6f0 <[^>]*> nop ++0000a6f4 <[^>]*> nop ++0000a6f8 <[^>]*> nop ++0000a6fc <[^>]*> nop ++0000a700 <[^>]*> nop ++0000a704 <[^>]*> nop ++0000a708 <[^>]*> nop ++0000a70c <[^>]*> nop ++0000a710 <[^>]*> nop ++0000a714 <[^>]*> nop ++0000a718 <[^>]*> nop ++0000a71c <[^>]*> nop ++0000a720 <[^>]*> nop ++0000a724 <[^>]*> nop ++0000a728 <[^>]*> nop ++0000a72c <[^>]*> nop ++0000a730 <[^>]*> nop ++0000a734 <[^>]*> nop ++0000a738 <[^>]*> nop ++0000a73c <[^>]*> nop ++0000a740 <[^>]*> nop ++0000a744 <[^>]*> nop ++0000a748 <[^>]*> nop ++0000a74c <[^>]*> nop ++0000a750 <[^>]*> nop ++0000a754 <[^>]*> nop ++0000a758 <[^>]*> nop ++0000a75c <[^>]*> nop ++0000a760 <[^>]*> nop ++0000a764 <[^>]*> nop ++0000a768 <[^>]*> nop ++0000a76c <[^>]*> nop ++0000a770 <[^>]*> nop ++0000a774 <[^>]*> nop ++0000a778 <[^>]*> nop ++0000a77c <[^>]*> nop ++0000a780 <[^>]*> nop ++0000a784 <[^>]*> nop ++0000a788 <[^>]*> nop ++0000a78c <[^>]*> nop ++0000a790 <[^>]*> nop ++0000a794 <[^>]*> nop ++0000a798 <[^>]*> nop ++0000a79c <[^>]*> nop ++0000a7a0 <[^>]*> nop ++0000a7a4 <[^>]*> nop ++0000a7a8 <[^>]*> nop ++0000a7ac <[^>]*> nop ++0000a7b0 <[^>]*> nop ++0000a7b4 <[^>]*> nop ++0000a7b8 <[^>]*> nop ++0000a7bc <[^>]*> nop ++0000a7c0 <[^>]*> nop ++0000a7c4 <[^>]*> nop ++0000a7c8 <[^>]*> nop ++0000a7cc <[^>]*> nop ++0000a7d0 <[^>]*> nop ++0000a7d4 <[^>]*> nop ++0000a7d8 <[^>]*> nop ++0000a7dc <[^>]*> nop ++0000a7e0 <[^>]*> nop ++0000a7e4 <[^>]*> nop ++0000a7e8 <[^>]*> nop ++0000a7ec <[^>]*> nop ++0000a7f0 <[^>]*> nop ++0000a7f4 <[^>]*> nop ++0000a7f8 <[^>]*> nop ++0000a7fc <[^>]*> nop ++0000a800 <[^>]*> nop ++0000a804 <[^>]*> nop ++0000a808 <[^>]*> nop ++0000a80c <[^>]*> nop ++0000a810 <[^>]*> nop ++0000a814 <[^>]*> nop ++0000a818 <[^>]*> nop ++0000a81c <[^>]*> nop ++0000a820 <[^>]*> nop ++0000a824 <[^>]*> nop ++0000a828 <[^>]*> nop ++0000a82c <[^>]*> nop ++0000a830 <[^>]*> nop ++0000a834 <[^>]*> nop ++0000a838 <[^>]*> nop ++0000a83c <[^>]*> nop ++0000a840 <[^>]*> nop ++0000a844 <[^>]*> nop ++0000a848 <[^>]*> nop ++0000a84c <[^>]*> nop ++0000a850 <[^>]*> nop ++0000a854 <[^>]*> nop ++0000a858 <[^>]*> nop ++0000a85c <[^>]*> nop ++0000a860 <[^>]*> nop ++0000a864 <[^>]*> nop ++0000a868 <[^>]*> nop ++0000a86c <[^>]*> nop ++0000a870 <[^>]*> nop ++0000a874 <[^>]*> nop ++0000a878 <[^>]*> nop ++0000a87c <[^>]*> nop ++0000a880 <[^>]*> nop ++0000a884 <[^>]*> nop ++0000a888 <[^>]*> nop ++0000a88c <[^>]*> nop ++0000a890 <[^>]*> nop ++0000a894 <[^>]*> nop ++0000a898 <[^>]*> nop ++0000a89c <[^>]*> nop ++0000a8a0 <[^>]*> nop ++0000a8a4 <[^>]*> nop ++0000a8a8 <[^>]*> nop ++0000a8ac <[^>]*> nop ++0000a8b0 <[^>]*> nop ++0000a8b4 <[^>]*> nop ++0000a8b8 <[^>]*> nop ++0000a8bc <[^>]*> nop ++0000a8c0 <[^>]*> nop ++0000a8c4 <[^>]*> nop ++0000a8c8 <[^>]*> nop ++0000a8cc <[^>]*> nop ++0000a8d0 <[^>]*> nop ++0000a8d4 <[^>]*> nop ++0000a8d8 <[^>]*> nop ++0000a8dc <[^>]*> nop ++0000a8e0 <[^>]*> nop ++0000a8e4 <[^>]*> nop ++0000a8e8 <[^>]*> nop ++0000a8ec <[^>]*> nop ++0000a8f0 <[^>]*> nop ++0000a8f4 <[^>]*> nop ++0000a8f8 <[^>]*> nop ++0000a8fc <[^>]*> nop ++0000a900 <[^>]*> nop ++0000a904 <[^>]*> nop ++0000a908 <[^>]*> nop ++0000a90c <[^>]*> nop ++0000a910 <[^>]*> nop ++0000a914 <[^>]*> nop ++0000a918 <[^>]*> nop ++0000a91c <[^>]*> nop ++0000a920 <[^>]*> nop ++0000a924 <[^>]*> nop ++0000a928 <[^>]*> nop ++0000a92c <[^>]*> nop ++0000a930 <[^>]*> nop ++0000a934 <[^>]*> nop ++0000a938 <[^>]*> nop ++0000a93c <[^>]*> nop ++0000a940 <[^>]*> nop ++0000a944 <[^>]*> nop ++0000a948 <[^>]*> nop ++0000a94c <[^>]*> nop ++0000a950 <[^>]*> nop ++0000a954 <[^>]*> nop ++0000a958 <[^>]*> nop ++0000a95c <[^>]*> nop ++0000a960 <[^>]*> nop ++0000a964 <[^>]*> nop ++0000a968 <[^>]*> nop ++0000a96c <[^>]*> nop ++0000a970 <[^>]*> nop ++0000a974 <[^>]*> nop ++0000a978 <[^>]*> nop ++0000a97c <[^>]*> nop ++0000a980 <[^>]*> nop ++0000a984 <[^>]*> nop ++0000a988 <[^>]*> nop ++0000a98c <[^>]*> nop ++0000a990 <[^>]*> nop ++0000a994 <[^>]*> nop ++0000a998 <[^>]*> nop ++0000a99c <[^>]*> nop ++0000a9a0 <[^>]*> nop ++0000a9a4 <[^>]*> nop ++0000a9a8 <[^>]*> nop ++0000a9ac <[^>]*> nop ++0000a9b0 <[^>]*> nop ++0000a9b4 <[^>]*> nop ++0000a9b8 <[^>]*> nop ++0000a9bc <[^>]*> nop ++0000a9c0 <[^>]*> nop ++0000a9c4 <[^>]*> nop ++0000a9c8 <[^>]*> nop ++0000a9cc <[^>]*> nop ++0000a9d0 <[^>]*> nop ++0000a9d4 <[^>]*> nop ++0000a9d8 <[^>]*> nop ++0000a9dc <[^>]*> nop ++0000a9e0 <[^>]*> nop ++0000a9e4 <[^>]*> nop ++0000a9e8 <[^>]*> nop ++0000a9ec <[^>]*> nop ++0000a9f0 <[^>]*> nop ++0000a9f4 <[^>]*> nop ++0000a9f8 <[^>]*> nop ++0000a9fc <[^>]*> nop ++0000aa00 <[^>]*> nop ++0000aa04 <[^>]*> nop ++0000aa08 <[^>]*> nop ++0000aa0c <[^>]*> nop ++0000aa10 <[^>]*> nop ++0000aa14 <[^>]*> nop ++0000aa18 <[^>]*> nop ++0000aa1c <[^>]*> nop ++0000aa20 <[^>]*> nop ++0000aa24 <[^>]*> nop ++0000aa28 <[^>]*> nop ++0000aa2c <[^>]*> nop ++0000aa30 <[^>]*> nop ++0000aa34 <[^>]*> nop ++0000aa38 <[^>]*> nop ++0000aa3c <[^>]*> nop ++0000aa40 <[^>]*> nop ++0000aa44 <[^>]*> nop ++0000aa48 <[^>]*> nop ++0000aa4c <[^>]*> nop ++0000aa50 <[^>]*> nop ++0000aa54 <[^>]*> nop ++0000aa58 <[^>]*> nop ++0000aa5c <[^>]*> nop ++0000aa60 <[^>]*> nop ++0000aa64 <[^>]*> nop ++0000aa68 <[^>]*> nop ++0000aa6c <[^>]*> nop ++0000aa70 <[^>]*> nop ++0000aa74 <[^>]*> nop ++0000aa78 <[^>]*> nop ++0000aa7c <[^>]*> nop ++0000aa80 <[^>]*> nop ++0000aa84 <[^>]*> nop ++0000aa88 <[^>]*> nop ++0000aa8c <[^>]*> nop ++0000aa90 <[^>]*> nop ++0000aa94 <[^>]*> nop ++0000aa98 <[^>]*> nop ++0000aa9c <[^>]*> nop ++0000aaa0 <[^>]*> nop ++0000aaa4 <[^>]*> nop ++0000aaa8 <[^>]*> nop ++0000aaac <[^>]*> nop ++0000aab0 <[^>]*> nop ++0000aab4 <[^>]*> nop ++0000aab8 <[^>]*> nop ++0000aabc <[^>]*> nop ++0000aac0 <[^>]*> nop ++0000aac4 <[^>]*> nop ++0000aac8 <[^>]*> nop ++0000aacc <[^>]*> nop ++0000aad0 <[^>]*> nop ++0000aad4 <[^>]*> nop ++0000aad8 <[^>]*> nop ++0000aadc <[^>]*> nop ++0000aae0 <[^>]*> nop ++0000aae4 <[^>]*> nop ++0000aae8 <[^>]*> nop ++0000aaec <[^>]*> nop ++0000aaf0 <[^>]*> nop ++0000aaf4 <[^>]*> nop ++0000aaf8 <[^>]*> nop ++0000aafc <[^>]*> nop ++0000ab00 <[^>]*> nop ++0000ab04 <[^>]*> nop ++0000ab08 <[^>]*> nop ++0000ab0c <[^>]*> nop ++0000ab10 <[^>]*> nop ++0000ab14 <[^>]*> nop ++0000ab18 <[^>]*> nop ++0000ab1c <[^>]*> nop ++0000ab20 <[^>]*> nop ++0000ab24 <[^>]*> nop ++0000ab28 <[^>]*> nop ++0000ab2c <[^>]*> nop ++0000ab30 <[^>]*> nop ++0000ab34 <[^>]*> nop ++0000ab38 <[^>]*> nop ++0000ab3c <[^>]*> nop ++0000ab40 <[^>]*> nop ++0000ab44 <[^>]*> nop ++0000ab48 <[^>]*> nop ++0000ab4c <[^>]*> nop ++0000ab50 <[^>]*> nop ++0000ab54 <[^>]*> nop ++0000ab58 <[^>]*> nop ++0000ab5c <[^>]*> nop ++0000ab60 <[^>]*> nop ++0000ab64 <[^>]*> nop ++0000ab68 <[^>]*> nop ++0000ab6c <[^>]*> nop ++0000ab70 <[^>]*> nop ++0000ab74 <[^>]*> nop ++0000ab78 <[^>]*> nop ++0000ab7c <[^>]*> nop ++0000ab80 <[^>]*> nop ++0000ab84 <[^>]*> nop ++0000ab88 <[^>]*> nop ++0000ab8c <[^>]*> nop ++0000ab90 <[^>]*> nop ++0000ab94 <[^>]*> nop ++0000ab98 <[^>]*> nop ++0000ab9c <[^>]*> nop ++0000aba0 <[^>]*> nop ++0000aba4 <[^>]*> nop ++0000aba8 <[^>]*> nop ++0000abac <[^>]*> nop ++0000abb0 <[^>]*> nop ++0000abb4 <[^>]*> nop ++0000abb8 <[^>]*> nop ++0000abbc <[^>]*> nop ++0000abc0 <[^>]*> nop ++0000abc4 <[^>]*> nop ++0000abc8 <[^>]*> nop ++0000abcc <[^>]*> nop ++0000abd0 <[^>]*> nop ++0000abd4 <[^>]*> nop ++0000abd8 <[^>]*> nop ++0000abdc <[^>]*> nop ++0000abe0 <[^>]*> nop ++0000abe4 <[^>]*> nop ++0000abe8 <[^>]*> nop ++0000abec <[^>]*> nop ++0000abf0 <[^>]*> nop ++0000abf4 <[^>]*> nop ++0000abf8 <[^>]*> nop ++0000abfc <[^>]*> nop ++0000ac00 <[^>]*> nop ++0000ac04 <[^>]*> nop ++0000ac08 <[^>]*> nop ++0000ac0c <[^>]*> nop ++0000ac10 <[^>]*> nop ++0000ac14 <[^>]*> nop ++0000ac18 <[^>]*> nop ++0000ac1c <[^>]*> nop ++0000ac20 <[^>]*> nop ++0000ac24 <[^>]*> nop ++0000ac28 <[^>]*> nop ++0000ac2c <[^>]*> nop ++0000ac30 <[^>]*> nop ++0000ac34 <[^>]*> nop ++0000ac38 <[^>]*> nop ++0000ac3c <[^>]*> nop ++0000ac40 <[^>]*> nop ++0000ac44 <[^>]*> nop ++0000ac48 <[^>]*> nop ++0000ac4c <[^>]*> nop ++0000ac50 <[^>]*> nop ++0000ac54 <[^>]*> nop ++0000ac58 <[^>]*> nop ++0000ac5c <[^>]*> nop ++0000ac60 <[^>]*> nop ++0000ac64 <[^>]*> nop ++0000ac68 <[^>]*> nop ++0000ac6c <[^>]*> nop ++0000ac70 <[^>]*> nop ++0000ac74 <[^>]*> nop ++0000ac78 <[^>]*> nop ++0000ac7c <[^>]*> nop ++0000ac80 <[^>]*> nop ++0000ac84 <[^>]*> nop ++0000ac88 <[^>]*> nop ++0000ac8c <[^>]*> nop ++0000ac90 <[^>]*> nop ++0000ac94 <[^>]*> nop ++0000ac98 <[^>]*> nop ++0000ac9c <[^>]*> nop ++0000aca0 <[^>]*> nop ++0000aca4 <[^>]*> nop ++0000aca8 <[^>]*> nop ++0000acac <[^>]*> nop ++0000acb0 <[^>]*> nop ++0000acb4 <[^>]*> nop ++0000acb8 <[^>]*> nop ++0000acbc <[^>]*> nop ++0000acc0 <[^>]*> nop ++0000acc4 <[^>]*> nop ++0000acc8 <[^>]*> nop ++0000accc <[^>]*> nop ++0000acd0 <[^>]*> nop ++0000acd4 <[^>]*> nop ++0000acd8 <[^>]*> nop ++0000acdc <[^>]*> nop ++0000ace0 <[^>]*> nop ++0000ace4 <[^>]*> nop ++0000ace8 <[^>]*> nop ++0000acec <[^>]*> nop ++0000acf0 <[^>]*> nop ++0000acf4 <[^>]*> nop ++0000acf8 <[^>]*> nop ++0000acfc <[^>]*> nop ++0000ad00 <[^>]*> nop ++0000ad04 <[^>]*> nop ++0000ad08 <[^>]*> nop ++0000ad0c <[^>]*> nop ++0000ad10 <[^>]*> nop ++0000ad14 <[^>]*> nop ++0000ad18 <[^>]*> nop ++0000ad1c <[^>]*> nop ++0000ad20 <[^>]*> nop ++0000ad24 <[^>]*> nop ++0000ad28 <[^>]*> nop ++0000ad2c <[^>]*> nop ++0000ad30 <[^>]*> nop ++0000ad34 <[^>]*> nop ++0000ad38 <[^>]*> nop ++0000ad3c <[^>]*> nop ++0000ad40 <[^>]*> nop ++0000ad44 <[^>]*> nop ++0000ad48 <[^>]*> nop ++0000ad4c <[^>]*> nop ++0000ad50 <[^>]*> nop ++0000ad54 <[^>]*> nop ++0000ad58 <[^>]*> nop ++0000ad5c <[^>]*> nop ++0000ad60 <[^>]*> nop ++0000ad64 <[^>]*> nop ++0000ad68 <[^>]*> nop ++0000ad6c <[^>]*> nop ++0000ad70 <[^>]*> nop ++0000ad74 <[^>]*> nop ++0000ad78 <[^>]*> nop ++0000ad7c <[^>]*> nop ++0000ad80 <[^>]*> nop ++0000ad84 <[^>]*> nop ++0000ad88 <[^>]*> nop ++0000ad8c <[^>]*> nop ++0000ad90 <[^>]*> nop ++0000ad94 <[^>]*> nop ++0000ad98 <[^>]*> nop ++0000ad9c <[^>]*> nop ++0000ada0 <[^>]*> nop ++0000ada4 <[^>]*> nop ++0000ada8 <[^>]*> nop ++0000adac <[^>]*> nop ++0000adb0 <[^>]*> nop ++0000adb4 <[^>]*> nop ++0000adb8 <[^>]*> nop ++0000adbc <[^>]*> nop ++0000adc0 <[^>]*> nop ++0000adc4 <[^>]*> nop ++0000adc8 <[^>]*> nop ++0000adcc <[^>]*> nop ++0000add0 <[^>]*> nop ++0000add4 <[^>]*> nop ++0000add8 <[^>]*> nop ++0000addc <[^>]*> nop ++0000ade0 <[^>]*> nop ++0000ade4 <[^>]*> nop ++0000ade8 <[^>]*> nop ++0000adec <[^>]*> nop ++0000adf0 <[^>]*> nop ++0000adf4 <[^>]*> nop ++0000adf8 <[^>]*> nop ++0000adfc <[^>]*> nop ++0000ae00 <[^>]*> nop ++0000ae04 <[^>]*> nop ++0000ae08 <[^>]*> nop ++0000ae0c <[^>]*> nop ++0000ae10 <[^>]*> nop ++0000ae14 <[^>]*> nop ++0000ae18 <[^>]*> nop ++0000ae1c <[^>]*> nop ++0000ae20 <[^>]*> nop ++0000ae24 <[^>]*> nop ++0000ae28 <[^>]*> nop ++0000ae2c <[^>]*> nop ++0000ae30 <[^>]*> nop ++0000ae34 <[^>]*> nop ++0000ae38 <[^>]*> nop ++0000ae3c <[^>]*> nop ++0000ae40 <[^>]*> nop ++0000ae44 <[^>]*> nop ++0000ae48 <[^>]*> nop ++0000ae4c <[^>]*> nop ++0000ae50 <[^>]*> nop ++0000ae54 <[^>]*> nop ++0000ae58 <[^>]*> nop ++0000ae5c <[^>]*> nop ++0000ae60 <[^>]*> nop ++0000ae64 <[^>]*> nop ++0000ae68 <[^>]*> nop ++0000ae6c <[^>]*> nop ++0000ae70 <[^>]*> nop ++0000ae74 <[^>]*> nop ++0000ae78 <[^>]*> nop ++0000ae7c <[^>]*> nop ++0000ae80 <[^>]*> nop ++0000ae84 <[^>]*> nop ++0000ae88 <[^>]*> nop ++0000ae8c <[^>]*> nop ++0000ae90 <[^>]*> nop ++0000ae94 <[^>]*> nop ++0000ae98 <[^>]*> nop ++0000ae9c <[^>]*> nop ++0000aea0 <[^>]*> nop ++0000aea4 <[^>]*> nop ++0000aea8 <[^>]*> nop ++0000aeac <[^>]*> nop ++0000aeb0 <[^>]*> nop ++0000aeb4 <[^>]*> nop ++0000aeb8 <[^>]*> nop ++0000aebc <[^>]*> nop ++0000aec0 <[^>]*> nop ++0000aec4 <[^>]*> nop ++0000aec8 <[^>]*> nop ++0000aecc <[^>]*> nop ++0000aed0 <[^>]*> nop ++0000aed4 <[^>]*> nop ++0000aed8 <[^>]*> nop ++0000aedc <[^>]*> nop ++0000aee0 <[^>]*> nop ++0000aee4 <[^>]*> nop ++0000aee8 <[^>]*> nop ++0000aeec <[^>]*> nop ++0000aef0 <[^>]*> nop ++0000aef4 <[^>]*> nop ++0000aef8 <[^>]*> nop ++0000aefc <[^>]*> nop ++0000af00 <[^>]*> nop ++0000af04 <[^>]*> nop ++0000af08 <[^>]*> nop ++0000af0c <[^>]*> nop ++0000af10 <[^>]*> nop ++0000af14 <[^>]*> nop ++0000af18 <[^>]*> nop ++0000af1c <[^>]*> nop ++0000af20 <[^>]*> nop ++0000af24 <[^>]*> nop ++0000af28 <[^>]*> nop ++0000af2c <[^>]*> nop ++0000af30 <[^>]*> nop ++0000af34 <[^>]*> nop ++0000af38 <[^>]*> nop ++0000af3c <[^>]*> nop ++0000af40 <[^>]*> nop ++0000af44 <[^>]*> nop ++0000af48 <[^>]*> nop ++0000af4c <[^>]*> nop ++0000af50 <[^>]*> nop ++0000af54 <[^>]*> nop ++0000af58 <[^>]*> nop ++0000af5c <[^>]*> nop ++0000af60 <[^>]*> nop ++0000af64 <[^>]*> nop ++0000af68 <[^>]*> nop ++0000af6c <[^>]*> nop ++0000af70 <[^>]*> nop ++0000af74 <[^>]*> nop ++0000af78 <[^>]*> nop ++0000af7c <[^>]*> nop ++0000af80 <[^>]*> nop ++0000af84 <[^>]*> nop ++0000af88 <[^>]*> nop ++0000af8c <[^>]*> nop ++0000af90 <[^>]*> nop ++0000af94 <[^>]*> nop ++0000af98 <[^>]*> nop ++0000af9c <[^>]*> nop ++0000afa0 <[^>]*> nop ++0000afa4 <[^>]*> nop ++0000afa8 <[^>]*> nop ++0000afac <[^>]*> nop ++0000afb0 <[^>]*> nop ++0000afb4 <[^>]*> nop ++0000afb8 <[^>]*> nop ++0000afbc <[^>]*> nop ++0000afc0 <[^>]*> nop ++0000afc4 <[^>]*> nop ++0000afc8 <[^>]*> nop ++0000afcc <[^>]*> nop ++0000afd0 <[^>]*> nop ++0000afd4 <[^>]*> nop ++0000afd8 <[^>]*> nop ++0000afdc <[^>]*> nop ++0000afe0 <[^>]*> nop ++0000afe4 <[^>]*> nop ++0000afe8 <[^>]*> nop ++0000afec <[^>]*> nop ++0000aff0 <[^>]*> nop ++0000aff4 <[^>]*> nop ++0000aff8 <[^>]*> nop ++0000affc <[^>]*> nop ++0000b000 <[^>]*> nop ++0000b004 <[^>]*> nop ++0000b008 <[^>]*> nop ++0000b00c <[^>]*> nop ++0000b010 <[^>]*> nop ++0000b014 <[^>]*> nop ++0000b018 <[^>]*> nop ++0000b01c <[^>]*> nop ++0000b020 <[^>]*> nop ++0000b024 <[^>]*> nop ++0000b028 <[^>]*> nop ++0000b02c <[^>]*> nop ++0000b030 <[^>]*> nop ++0000b034 <[^>]*> nop ++0000b038 <[^>]*> nop ++0000b03c <[^>]*> nop ++0000b040 <[^>]*> nop ++0000b044 <[^>]*> nop ++0000b048 <[^>]*> nop ++0000b04c <[^>]*> nop ++0000b050 <[^>]*> nop ++0000b054 <[^>]*> nop ++0000b058 <[^>]*> nop ++0000b05c <[^>]*> nop ++0000b060 <[^>]*> nop ++0000b064 <[^>]*> nop ++0000b068 <[^>]*> nop ++0000b06c <[^>]*> nop ++0000b070 <[^>]*> nop ++0000b074 <[^>]*> nop ++0000b078 <[^>]*> nop ++0000b07c <[^>]*> nop ++0000b080 <[^>]*> nop ++0000b084 <[^>]*> nop ++0000b088 <[^>]*> nop ++0000b08c <[^>]*> nop ++0000b090 <[^>]*> nop ++0000b094 <[^>]*> nop ++0000b098 <[^>]*> nop ++0000b09c <[^>]*> nop ++0000b0a0 <[^>]*> nop ++0000b0a4 <[^>]*> nop ++0000b0a8 <[^>]*> nop ++0000b0ac <[^>]*> nop ++0000b0b0 <[^>]*> nop ++0000b0b4 <[^>]*> nop ++0000b0b8 <[^>]*> nop ++0000b0bc <[^>]*> nop ++0000b0c0 <[^>]*> nop ++0000b0c4 <[^>]*> nop ++0000b0c8 <[^>]*> nop ++0000b0cc <[^>]*> nop ++0000b0d0 <[^>]*> nop ++0000b0d4 <[^>]*> nop ++0000b0d8 <[^>]*> nop ++0000b0dc <[^>]*> nop ++0000b0e0 <[^>]*> nop ++0000b0e4 <[^>]*> nop ++0000b0e8 <[^>]*> nop ++0000b0ec <[^>]*> nop ++0000b0f0 <[^>]*> nop ++0000b0f4 <[^>]*> nop ++0000b0f8 <[^>]*> nop ++0000b0fc <[^>]*> nop ++0000b100 <[^>]*> nop ++0000b104 <[^>]*> nop ++0000b108 <[^>]*> nop ++0000b10c <[^>]*> nop ++0000b110 <[^>]*> nop ++0000b114 <[^>]*> nop ++0000b118 <[^>]*> nop ++0000b11c <[^>]*> nop ++0000b120 <[^>]*> nop ++0000b124 <[^>]*> nop ++0000b128 <[^>]*> nop ++0000b12c <[^>]*> nop ++0000b130 <[^>]*> nop ++0000b134 <[^>]*> nop ++0000b138 <[^>]*> nop ++0000b13c <[^>]*> nop ++0000b140 <[^>]*> nop ++0000b144 <[^>]*> nop ++0000b148 <[^>]*> nop ++0000b14c <[^>]*> nop ++0000b150 <[^>]*> nop ++0000b154 <[^>]*> nop ++0000b158 <[^>]*> nop ++0000b15c <[^>]*> nop ++0000b160 <[^>]*> nop ++0000b164 <[^>]*> nop ++0000b168 <[^>]*> nop ++0000b16c <[^>]*> nop ++0000b170 <[^>]*> nop ++0000b174 <[^>]*> nop ++0000b178 <[^>]*> nop ++0000b17c <[^>]*> nop ++0000b180 <[^>]*> nop ++0000b184 <[^>]*> nop ++0000b188 <[^>]*> nop ++0000b18c <[^>]*> nop ++0000b190 <[^>]*> nop ++0000b194 <[^>]*> nop ++0000b198 <[^>]*> nop ++0000b19c <[^>]*> nop ++0000b1a0 <[^>]*> nop ++0000b1a4 <[^>]*> nop ++0000b1a8 <[^>]*> nop ++0000b1ac <[^>]*> nop ++0000b1b0 <[^>]*> nop ++0000b1b4 <[^>]*> nop ++0000b1b8 <[^>]*> nop ++0000b1bc <[^>]*> nop ++0000b1c0 <[^>]*> nop ++0000b1c4 <[^>]*> nop ++0000b1c8 <[^>]*> nop ++0000b1cc <[^>]*> nop ++0000b1d0 <[^>]*> nop ++0000b1d4 <[^>]*> nop ++0000b1d8 <[^>]*> nop ++0000b1dc <[^>]*> nop ++0000b1e0 <[^>]*> nop ++0000b1e4 <[^>]*> nop ++0000b1e8 <[^>]*> nop ++0000b1ec <[^>]*> nop ++0000b1f0 <[^>]*> nop ++0000b1f4 <[^>]*> nop ++0000b1f8 <[^>]*> nop ++0000b1fc <[^>]*> nop ++0000b200 <[^>]*> nop ++0000b204 <[^>]*> nop ++0000b208 <[^>]*> nop ++0000b20c <[^>]*> nop ++0000b210 <[^>]*> nop ++0000b214 <[^>]*> nop ++0000b218 <[^>]*> nop ++0000b21c <[^>]*> nop ++0000b220 <[^>]*> nop ++0000b224 <[^>]*> nop ++0000b228 <[^>]*> nop ++0000b22c <[^>]*> nop ++0000b230 <[^>]*> nop ++0000b234 <[^>]*> nop ++0000b238 <[^>]*> nop ++0000b23c <[^>]*> nop ++0000b240 <[^>]*> nop ++0000b244 <[^>]*> nop ++0000b248 <[^>]*> nop ++0000b24c <[^>]*> nop ++0000b250 <[^>]*> nop ++0000b254 <[^>]*> nop ++0000b258 <[^>]*> nop ++0000b25c <[^>]*> nop ++0000b260 <[^>]*> nop ++0000b264 <[^>]*> nop ++0000b268 <[^>]*> nop ++0000b26c <[^>]*> nop ++0000b270 <[^>]*> nop ++0000b274 <[^>]*> nop ++0000b278 <[^>]*> nop ++0000b27c <[^>]*> nop ++0000b280 <[^>]*> nop ++0000b284 <[^>]*> nop ++0000b288 <[^>]*> nop ++0000b28c <[^>]*> nop ++0000b290 <[^>]*> nop ++0000b294 <[^>]*> nop ++0000b298 <[^>]*> nop ++0000b29c <[^>]*> nop ++0000b2a0 <[^>]*> nop ++0000b2a4 <[^>]*> nop ++0000b2a8 <[^>]*> nop ++0000b2ac <[^>]*> nop ++0000b2b0 <[^>]*> nop ++0000b2b4 <[^>]*> nop ++0000b2b8 <[^>]*> nop ++0000b2bc <[^>]*> nop ++0000b2c0 <[^>]*> nop ++0000b2c4 <[^>]*> nop ++0000b2c8 <[^>]*> nop ++0000b2cc <[^>]*> nop ++0000b2d0 <[^>]*> nop ++0000b2d4 <[^>]*> nop ++0000b2d8 <[^>]*> nop ++0000b2dc <[^>]*> nop ++0000b2e0 <[^>]*> nop ++0000b2e4 <[^>]*> nop ++0000b2e8 <[^>]*> nop ++0000b2ec <[^>]*> nop ++0000b2f0 <[^>]*> nop ++0000b2f4 <[^>]*> nop ++0000b2f8 <[^>]*> nop ++0000b2fc <[^>]*> nop ++0000b300 <[^>]*> nop ++0000b304 <[^>]*> nop ++0000b308 <[^>]*> nop ++0000b30c <[^>]*> nop ++0000b310 <[^>]*> nop ++0000b314 <[^>]*> nop ++0000b318 <[^>]*> nop ++0000b31c <[^>]*> nop ++0000b320 <[^>]*> nop ++0000b324 <[^>]*> nop ++0000b328 <[^>]*> nop ++0000b32c <[^>]*> nop ++0000b330 <[^>]*> nop ++0000b334 <[^>]*> nop ++0000b338 <[^>]*> nop ++0000b33c <[^>]*> nop ++0000b340 <[^>]*> nop ++0000b344 <[^>]*> nop ++0000b348 <[^>]*> nop ++0000b34c <[^>]*> nop ++0000b350 <[^>]*> nop ++0000b354 <[^>]*> nop ++0000b358 <[^>]*> nop ++0000b35c <[^>]*> nop ++0000b360 <[^>]*> nop ++0000b364 <[^>]*> nop ++0000b368 <[^>]*> nop ++0000b36c <[^>]*> nop ++0000b370 <[^>]*> nop ++0000b374 <[^>]*> nop ++0000b378 <[^>]*> nop ++0000b37c <[^>]*> nop ++0000b380 <[^>]*> nop ++0000b384 <[^>]*> nop ++0000b388 <[^>]*> nop ++0000b38c <[^>]*> nop ++0000b390 <[^>]*> nop ++0000b394 <[^>]*> nop ++0000b398 <[^>]*> nop ++0000b39c <[^>]*> nop ++0000b3a0 <[^>]*> nop ++0000b3a4 <[^>]*> nop ++0000b3a8 <[^>]*> nop ++0000b3ac <[^>]*> nop ++0000b3b0 <[^>]*> nop ++0000b3b4 <[^>]*> nop ++0000b3b8 <[^>]*> nop ++0000b3bc <[^>]*> nop ++0000b3c0 <[^>]*> nop ++0000b3c4 <[^>]*> nop ++0000b3c8 <[^>]*> nop ++0000b3cc <[^>]*> nop ++0000b3d0 <[^>]*> nop ++0000b3d4 <[^>]*> nop ++0000b3d8 <[^>]*> nop ++0000b3dc <[^>]*> nop ++0000b3e0 <[^>]*> nop ++0000b3e4 <[^>]*> nop ++0000b3e8 <[^>]*> nop ++0000b3ec <[^>]*> nop ++0000b3f0 <[^>]*> nop ++0000b3f4 <[^>]*> nop ++0000b3f8 <[^>]*> nop ++0000b3fc <[^>]*> nop ++0000b400 <[^>]*> nop ++0000b404 <[^>]*> nop ++0000b408 <[^>]*> nop ++0000b40c <[^>]*> nop ++0000b410 <[^>]*> nop ++0000b414 <[^>]*> nop ++0000b418 <[^>]*> nop ++0000b41c <[^>]*> nop ++0000b420 <[^>]*> nop ++0000b424 <[^>]*> nop ++0000b428 <[^>]*> nop ++0000b42c <[^>]*> nop ++0000b430 <[^>]*> nop ++0000b434 <[^>]*> nop ++0000b438 <[^>]*> nop ++0000b43c <[^>]*> nop ++0000b440 <[^>]*> nop ++0000b444 <[^>]*> nop ++0000b448 <[^>]*> nop ++0000b44c <[^>]*> nop ++0000b450 <[^>]*> nop ++0000b454 <[^>]*> nop ++0000b458 <[^>]*> nop ++0000b45c <[^>]*> nop ++0000b460 <[^>]*> nop ++0000b464 <[^>]*> nop ++0000b468 <[^>]*> nop ++0000b46c <[^>]*> nop ++0000b470 <[^>]*> nop ++0000b474 <[^>]*> nop ++0000b478 <[^>]*> nop ++0000b47c <[^>]*> nop ++0000b480 <[^>]*> nop ++0000b484 <[^>]*> nop ++0000b488 <[^>]*> nop ++0000b48c <[^>]*> nop ++0000b490 <[^>]*> nop ++0000b494 <[^>]*> nop ++0000b498 <[^>]*> nop ++0000b49c <[^>]*> nop ++0000b4a0 <[^>]*> nop ++0000b4a4 <[^>]*> nop ++0000b4a8 <[^>]*> nop ++0000b4ac <[^>]*> nop ++0000b4b0 <[^>]*> nop ++0000b4b4 <[^>]*> nop ++0000b4b8 <[^>]*> nop ++0000b4bc <[^>]*> nop ++0000b4c0 <[^>]*> nop ++0000b4c4 <[^>]*> nop ++0000b4c8 <[^>]*> nop ++0000b4cc <[^>]*> nop ++0000b4d0 <[^>]*> nop ++0000b4d4 <[^>]*> nop ++0000b4d8 <[^>]*> nop ++0000b4dc <[^>]*> nop ++0000b4e0 <[^>]*> nop ++0000b4e4 <[^>]*> nop ++0000b4e8 <[^>]*> nop ++0000b4ec <[^>]*> nop ++0000b4f0 <[^>]*> nop ++0000b4f4 <[^>]*> nop ++0000b4f8 <[^>]*> nop ++0000b4fc <[^>]*> nop ++0000b500 <[^>]*> nop ++0000b504 <[^>]*> nop ++0000b508 <[^>]*> nop ++0000b50c <[^>]*> nop ++0000b510 <[^>]*> nop ++0000b514 <[^>]*> nop ++0000b518 <[^>]*> nop ++0000b51c <[^>]*> nop ++0000b520 <[^>]*> nop ++0000b524 <[^>]*> nop ++0000b528 <[^>]*> nop ++0000b52c <[^>]*> nop ++0000b530 <[^>]*> nop ++0000b534 <[^>]*> nop ++0000b538 <[^>]*> nop ++0000b53c <[^>]*> nop ++0000b540 <[^>]*> nop ++0000b544 <[^>]*> nop ++0000b548 <[^>]*> nop ++0000b54c <[^>]*> nop ++0000b550 <[^>]*> nop ++0000b554 <[^>]*> nop ++0000b558 <[^>]*> nop ++0000b55c <[^>]*> nop ++0000b560 <[^>]*> nop ++0000b564 <[^>]*> nop ++0000b568 <[^>]*> nop ++0000b56c <[^>]*> nop ++0000b570 <[^>]*> nop ++0000b574 <[^>]*> nop ++0000b578 <[^>]*> nop ++0000b57c <[^>]*> nop ++0000b580 <[^>]*> nop ++0000b584 <[^>]*> nop ++0000b588 <[^>]*> nop ++0000b58c <[^>]*> nop ++0000b590 <[^>]*> nop ++0000b594 <[^>]*> nop ++0000b598 <[^>]*> nop ++0000b59c <[^>]*> nop ++0000b5a0 <[^>]*> nop ++0000b5a4 <[^>]*> nop ++0000b5a8 <[^>]*> nop ++0000b5ac <[^>]*> nop ++0000b5b0 <[^>]*> nop ++0000b5b4 <[^>]*> nop ++0000b5b8 <[^>]*> nop ++0000b5bc <[^>]*> nop ++0000b5c0 <[^>]*> nop ++0000b5c4 <[^>]*> nop ++0000b5c8 <[^>]*> nop ++0000b5cc <[^>]*> nop ++0000b5d0 <[^>]*> nop ++0000b5d4 <[^>]*> nop ++0000b5d8 <[^>]*> nop ++0000b5dc <[^>]*> nop ++0000b5e0 <[^>]*> nop ++0000b5e4 <[^>]*> nop ++0000b5e8 <[^>]*> nop ++0000b5ec <[^>]*> nop ++0000b5f0 <[^>]*> nop ++0000b5f4 <[^>]*> nop ++0000b5f8 <[^>]*> nop ++0000b5fc <[^>]*> nop ++0000b600 <[^>]*> nop ++0000b604 <[^>]*> nop ++0000b608 <[^>]*> nop ++0000b60c <[^>]*> nop ++0000b610 <[^>]*> nop ++0000b614 <[^>]*> nop ++0000b618 <[^>]*> nop ++0000b61c <[^>]*> nop ++0000b620 <[^>]*> nop ++0000b624 <[^>]*> nop ++0000b628 <[^>]*> nop ++0000b62c <[^>]*> nop ++0000b630 <[^>]*> nop ++0000b634 <[^>]*> nop ++0000b638 <[^>]*> nop ++0000b63c <[^>]*> nop ++0000b640 <[^>]*> nop ++0000b644 <[^>]*> nop ++0000b648 <[^>]*> nop ++0000b64c <[^>]*> nop ++0000b650 <[^>]*> nop ++0000b654 <[^>]*> nop ++0000b658 <[^>]*> nop ++0000b65c <[^>]*> nop ++0000b660 <[^>]*> nop ++0000b664 <[^>]*> nop ++0000b668 <[^>]*> nop ++0000b66c <[^>]*> nop ++0000b670 <[^>]*> nop ++0000b674 <[^>]*> nop ++0000b678 <[^>]*> nop ++0000b67c <[^>]*> nop ++0000b680 <[^>]*> nop ++0000b684 <[^>]*> nop ++0000b688 <[^>]*> nop ++0000b68c <[^>]*> nop ++0000b690 <[^>]*> nop ++0000b694 <[^>]*> nop ++0000b698 <[^>]*> nop ++0000b69c <[^>]*> nop ++0000b6a0 <[^>]*> nop ++0000b6a4 <[^>]*> nop ++0000b6a8 <[^>]*> nop ++0000b6ac <[^>]*> nop ++0000b6b0 <[^>]*> nop ++0000b6b4 <[^>]*> nop ++0000b6b8 <[^>]*> nop ++0000b6bc <[^>]*> nop ++0000b6c0 <[^>]*> nop ++0000b6c4 <[^>]*> nop ++0000b6c8 <[^>]*> nop ++0000b6cc <[^>]*> nop ++0000b6d0 <[^>]*> nop ++0000b6d4 <[^>]*> nop ++0000b6d8 <[^>]*> nop ++0000b6dc <[^>]*> nop ++0000b6e0 <[^>]*> nop ++0000b6e4 <[^>]*> nop ++0000b6e8 <[^>]*> nop ++0000b6ec <[^>]*> nop ++0000b6f0 <[^>]*> nop ++0000b6f4 <[^>]*> nop ++0000b6f8 <[^>]*> nop ++0000b6fc <[^>]*> nop ++0000b700 <[^>]*> nop ++0000b704 <[^>]*> nop ++0000b708 <[^>]*> nop ++0000b70c <[^>]*> nop ++0000b710 <[^>]*> nop ++0000b714 <[^>]*> nop ++0000b718 <[^>]*> nop ++0000b71c <[^>]*> nop ++0000b720 <[^>]*> nop ++0000b724 <[^>]*> nop ++0000b728 <[^>]*> nop ++0000b72c <[^>]*> nop ++0000b730 <[^>]*> nop ++0000b734 <[^>]*> nop ++0000b738 <[^>]*> nop ++0000b73c <[^>]*> nop ++0000b740 <[^>]*> nop ++0000b744 <[^>]*> nop ++0000b748 <[^>]*> nop ++0000b74c <[^>]*> nop ++0000b750 <[^>]*> nop ++0000b754 <[^>]*> nop ++0000b758 <[^>]*> nop ++0000b75c <[^>]*> nop ++0000b760 <[^>]*> nop ++0000b764 <[^>]*> nop ++0000b768 <[^>]*> nop ++0000b76c <[^>]*> nop ++0000b770 <[^>]*> nop ++0000b774 <[^>]*> nop ++0000b778 <[^>]*> nop ++0000b77c <[^>]*> nop ++0000b780 <[^>]*> nop ++0000b784 <[^>]*> nop ++0000b788 <[^>]*> nop ++0000b78c <[^>]*> nop ++0000b790 <[^>]*> nop ++0000b794 <[^>]*> nop ++0000b798 <[^>]*> nop ++0000b79c <[^>]*> nop ++0000b7a0 <[^>]*> nop ++0000b7a4 <[^>]*> nop ++0000b7a8 <[^>]*> nop ++0000b7ac <[^>]*> nop ++0000b7b0 <[^>]*> nop ++0000b7b4 <[^>]*> nop ++0000b7b8 <[^>]*> nop ++0000b7bc <[^>]*> nop ++0000b7c0 <[^>]*> nop ++0000b7c4 <[^>]*> nop ++0000b7c8 <[^>]*> nop ++0000b7cc <[^>]*> nop ++0000b7d0 <[^>]*> nop ++0000b7d4 <[^>]*> nop ++0000b7d8 <[^>]*> nop ++0000b7dc <[^>]*> nop ++0000b7e0 <[^>]*> nop ++0000b7e4 <[^>]*> nop ++0000b7e8 <[^>]*> nop ++0000b7ec <[^>]*> nop ++0000b7f0 <[^>]*> nop ++0000b7f4 <[^>]*> nop ++0000b7f8 <[^>]*> nop ++0000b7fc <[^>]*> nop ++0000b800 <[^>]*> nop ++0000b804 <[^>]*> nop ++0000b808 <[^>]*> nop ++0000b80c <[^>]*> nop ++0000b810 <[^>]*> nop ++0000b814 <[^>]*> nop ++0000b818 <[^>]*> nop ++0000b81c <[^>]*> nop ++0000b820 <[^>]*> nop ++0000b824 <[^>]*> nop ++0000b828 <[^>]*> nop ++0000b82c <[^>]*> nop ++0000b830 <[^>]*> nop ++0000b834 <[^>]*> nop ++0000b838 <[^>]*> nop ++0000b83c <[^>]*> nop ++0000b840 <[^>]*> nop ++0000b844 <[^>]*> nop ++0000b848 <[^>]*> nop ++0000b84c <[^>]*> nop ++0000b850 <[^>]*> nop ++0000b854 <[^>]*> nop ++0000b858 <[^>]*> nop ++0000b85c <[^>]*> nop ++0000b860 <[^>]*> nop ++0000b864 <[^>]*> nop ++0000b868 <[^>]*> nop ++0000b86c <[^>]*> nop ++0000b870 <[^>]*> nop ++0000b874 <[^>]*> nop ++0000b878 <[^>]*> nop ++0000b87c <[^>]*> nop ++0000b880 <[^>]*> nop ++0000b884 <[^>]*> nop ++0000b888 <[^>]*> nop ++0000b88c <[^>]*> nop ++0000b890 <[^>]*> nop ++0000b894 <[^>]*> nop ++0000b898 <[^>]*> nop ++0000b89c <[^>]*> nop ++0000b8a0 <[^>]*> nop ++0000b8a4 <[^>]*> nop ++0000b8a8 <[^>]*> nop ++0000b8ac <[^>]*> nop ++0000b8b0 <[^>]*> nop ++0000b8b4 <[^>]*> nop ++0000b8b8 <[^>]*> nop ++0000b8bc <[^>]*> nop ++0000b8c0 <[^>]*> nop ++0000b8c4 <[^>]*> nop ++0000b8c8 <[^>]*> nop ++0000b8cc <[^>]*> nop ++0000b8d0 <[^>]*> nop ++0000b8d4 <[^>]*> nop ++0000b8d8 <[^>]*> nop ++0000b8dc <[^>]*> nop ++0000b8e0 <[^>]*> nop ++0000b8e4 <[^>]*> nop ++0000b8e8 <[^>]*> nop ++0000b8ec <[^>]*> nop ++0000b8f0 <[^>]*> nop ++0000b8f4 <[^>]*> nop ++0000b8f8 <[^>]*> nop ++0000b8fc <[^>]*> nop ++0000b900 <[^>]*> nop ++0000b904 <[^>]*> nop ++0000b908 <[^>]*> nop ++0000b90c <[^>]*> nop ++0000b910 <[^>]*> nop ++0000b914 <[^>]*> nop ++0000b918 <[^>]*> nop ++0000b91c <[^>]*> nop ++0000b920 <[^>]*> nop ++0000b924 <[^>]*> nop ++0000b928 <[^>]*> nop ++0000b92c <[^>]*> nop ++0000b930 <[^>]*> nop ++0000b934 <[^>]*> nop ++0000b938 <[^>]*> nop ++0000b93c <[^>]*> nop ++0000b940 <[^>]*> nop ++0000b944 <[^>]*> nop ++0000b948 <[^>]*> nop ++0000b94c <[^>]*> nop ++0000b950 <[^>]*> nop ++0000b954 <[^>]*> nop ++0000b958 <[^>]*> nop ++0000b95c <[^>]*> nop ++0000b960 <[^>]*> nop ++0000b964 <[^>]*> nop ++0000b968 <[^>]*> nop ++0000b96c <[^>]*> nop ++0000b970 <[^>]*> nop ++0000b974 <[^>]*> nop ++0000b978 <[^>]*> nop ++0000b97c <[^>]*> nop ++0000b980 <[^>]*> nop ++0000b984 <[^>]*> nop ++0000b988 <[^>]*> nop ++0000b98c <[^>]*> nop ++0000b990 <[^>]*> nop ++0000b994 <[^>]*> nop ++0000b998 <[^>]*> nop ++0000b99c <[^>]*> nop ++0000b9a0 <[^>]*> nop ++0000b9a4 <[^>]*> nop ++0000b9a8 <[^>]*> nop ++0000b9ac <[^>]*> nop ++0000b9b0 <[^>]*> nop ++0000b9b4 <[^>]*> nop ++0000b9b8 <[^>]*> nop ++0000b9bc <[^>]*> nop ++0000b9c0 <[^>]*> nop ++0000b9c4 <[^>]*> nop ++0000b9c8 <[^>]*> nop ++0000b9cc <[^>]*> nop ++0000b9d0 <[^>]*> nop ++0000b9d4 <[^>]*> nop ++0000b9d8 <[^>]*> nop ++0000b9dc <[^>]*> nop ++0000b9e0 <[^>]*> nop ++0000b9e4 <[^>]*> nop ++0000b9e8 <[^>]*> nop ++0000b9ec <[^>]*> nop ++0000b9f0 <[^>]*> nop ++0000b9f4 <[^>]*> nop ++0000b9f8 <[^>]*> nop ++0000b9fc <[^>]*> nop ++0000ba00 <[^>]*> nop ++0000ba04 <[^>]*> nop ++0000ba08 <[^>]*> nop ++0000ba0c <[^>]*> nop ++0000ba10 <[^>]*> nop ++0000ba14 <[^>]*> nop ++0000ba18 <[^>]*> nop ++0000ba1c <[^>]*> nop ++0000ba20 <[^>]*> nop ++0000ba24 <[^>]*> nop ++0000ba28 <[^>]*> nop ++0000ba2c <[^>]*> nop ++0000ba30 <[^>]*> nop ++0000ba34 <[^>]*> nop ++0000ba38 <[^>]*> nop ++0000ba3c <[^>]*> nop ++0000ba40 <[^>]*> nop ++0000ba44 <[^>]*> nop ++0000ba48 <[^>]*> nop ++0000ba4c <[^>]*> nop ++0000ba50 <[^>]*> nop ++0000ba54 <[^>]*> nop ++0000ba58 <[^>]*> nop ++0000ba5c <[^>]*> nop ++0000ba60 <[^>]*> nop ++0000ba64 <[^>]*> nop ++0000ba68 <[^>]*> nop ++0000ba6c <[^>]*> nop ++0000ba70 <[^>]*> nop ++0000ba74 <[^>]*> nop ++0000ba78 <[^>]*> nop ++0000ba7c <[^>]*> nop ++0000ba80 <[^>]*> nop ++0000ba84 <[^>]*> nop ++0000ba88 <[^>]*> nop ++0000ba8c <[^>]*> nop ++0000ba90 <[^>]*> nop ++0000ba94 <[^>]*> nop ++0000ba98 <[^>]*> nop ++0000ba9c <[^>]*> nop ++0000baa0 <[^>]*> nop ++0000baa4 <[^>]*> nop ++0000baa8 <[^>]*> nop ++0000baac <[^>]*> nop ++0000bab0 <[^>]*> nop ++0000bab4 <[^>]*> nop ++0000bab8 <[^>]*> nop ++0000babc <[^>]*> nop ++0000bac0 <[^>]*> nop ++0000bac4 <[^>]*> nop ++0000bac8 <[^>]*> nop ++0000bacc <[^>]*> nop ++0000bad0 <[^>]*> nop ++0000bad4 <[^>]*> nop ++0000bad8 <[^>]*> nop ++0000badc <[^>]*> nop ++0000bae0 <[^>]*> nop ++0000bae4 <[^>]*> nop ++0000bae8 <[^>]*> nop ++0000baec <[^>]*> nop ++0000baf0 <[^>]*> nop ++0000baf4 <[^>]*> nop ++0000baf8 <[^>]*> nop ++0000bafc <[^>]*> nop ++0000bb00 <[^>]*> nop ++0000bb04 <[^>]*> nop ++0000bb08 <[^>]*> nop ++0000bb0c <[^>]*> nop ++0000bb10 <[^>]*> nop ++0000bb14 <[^>]*> nop ++0000bb18 <[^>]*> nop ++0000bb1c <[^>]*> nop ++0000bb20 <[^>]*> nop ++0000bb24 <[^>]*> nop ++0000bb28 <[^>]*> nop ++0000bb2c <[^>]*> nop ++0000bb30 <[^>]*> nop ++0000bb34 <[^>]*> nop ++0000bb38 <[^>]*> nop ++0000bb3c <[^>]*> nop ++0000bb40 <[^>]*> nop ++0000bb44 <[^>]*> nop ++0000bb48 <[^>]*> nop ++0000bb4c <[^>]*> nop ++0000bb50 <[^>]*> nop ++0000bb54 <[^>]*> nop ++0000bb58 <[^>]*> nop ++0000bb5c <[^>]*> nop ++0000bb60 <[^>]*> nop ++0000bb64 <[^>]*> nop ++0000bb68 <[^>]*> nop ++0000bb6c <[^>]*> nop ++0000bb70 <[^>]*> nop ++0000bb74 <[^>]*> nop ++0000bb78 <[^>]*> nop ++0000bb7c <[^>]*> nop ++0000bb80 <[^>]*> nop ++0000bb84 <[^>]*> nop ++0000bb88 <[^>]*> nop ++0000bb8c <[^>]*> nop ++0000bb90 <[^>]*> nop ++0000bb94 <[^>]*> nop ++0000bb98 <[^>]*> nop ++0000bb9c <[^>]*> nop ++0000bba0 <[^>]*> nop ++0000bba4 <[^>]*> nop ++0000bba8 <[^>]*> nop ++0000bbac <[^>]*> nop ++0000bbb0 <[^>]*> nop ++0000bbb4 <[^>]*> nop ++0000bbb8 <[^>]*> nop ++0000bbbc <[^>]*> nop ++0000bbc0 <[^>]*> nop ++0000bbc4 <[^>]*> nop ++0000bbc8 <[^>]*> nop ++0000bbcc <[^>]*> nop ++0000bbd0 <[^>]*> nop ++0000bbd4 <[^>]*> nop ++0000bbd8 <[^>]*> nop ++0000bbdc <[^>]*> nop ++0000bbe0 <[^>]*> nop ++0000bbe4 <[^>]*> nop ++0000bbe8 <[^>]*> nop ++0000bbec <[^>]*> nop ++0000bbf0 <[^>]*> nop ++0000bbf4 <[^>]*> nop ++0000bbf8 <[^>]*> nop ++0000bbfc <[^>]*> nop ++0000bc00 <[^>]*> nop ++0000bc04 <[^>]*> nop ++0000bc08 <[^>]*> nop ++0000bc0c <[^>]*> nop ++0000bc10 <[^>]*> nop ++0000bc14 <[^>]*> nop ++0000bc18 <[^>]*> nop ++0000bc1c <[^>]*> nop ++0000bc20 <[^>]*> nop ++0000bc24 <[^>]*> nop ++0000bc28 <[^>]*> nop ++0000bc2c <[^>]*> nop ++0000bc30 <[^>]*> nop ++0000bc34 <[^>]*> nop ++0000bc38 <[^>]*> nop ++0000bc3c <[^>]*> nop ++0000bc40 <[^>]*> nop ++0000bc44 <[^>]*> nop ++0000bc48 <[^>]*> nop ++0000bc4c <[^>]*> nop ++0000bc50 <[^>]*> nop ++0000bc54 <[^>]*> nop ++0000bc58 <[^>]*> nop ++0000bc5c <[^>]*> nop ++0000bc60 <[^>]*> nop ++0000bc64 <[^>]*> nop ++0000bc68 <[^>]*> nop ++0000bc6c <[^>]*> nop ++0000bc70 <[^>]*> nop ++0000bc74 <[^>]*> nop ++0000bc78 <[^>]*> nop ++0000bc7c <[^>]*> nop ++0000bc80 <[^>]*> nop ++0000bc84 <[^>]*> nop ++0000bc88 <[^>]*> nop ++0000bc8c <[^>]*> nop ++0000bc90 <[^>]*> nop ++0000bc94 <[^>]*> nop ++0000bc98 <[^>]*> nop ++0000bc9c <[^>]*> nop ++0000bca0 <[^>]*> nop ++0000bca4 <[^>]*> nop ++0000bca8 <[^>]*> nop ++0000bcac <[^>]*> nop ++0000bcb0 <[^>]*> nop ++0000bcb4 <[^>]*> nop ++0000bcb8 <[^>]*> nop ++0000bcbc <[^>]*> nop ++0000bcc0 <[^>]*> nop ++0000bcc4 <[^>]*> nop ++0000bcc8 <[^>]*> nop ++0000bccc <[^>]*> nop ++0000bcd0 <[^>]*> nop ++0000bcd4 <[^>]*> nop ++0000bcd8 <[^>]*> nop ++0000bcdc <[^>]*> nop ++0000bce0 <[^>]*> nop ++0000bce4 <[^>]*> nop ++0000bce8 <[^>]*> nop ++0000bcec <[^>]*> nop ++0000bcf0 <[^>]*> nop ++0000bcf4 <[^>]*> nop ++0000bcf8 <[^>]*> nop ++0000bcfc <[^>]*> nop ++0000bd00 <[^>]*> nop ++0000bd04 <[^>]*> nop ++0000bd08 <[^>]*> nop ++0000bd0c <[^>]*> nop ++0000bd10 <[^>]*> nop ++0000bd14 <[^>]*> nop ++0000bd18 <[^>]*> nop ++0000bd1c <[^>]*> nop ++0000bd20 <[^>]*> nop ++0000bd24 <[^>]*> nop ++0000bd28 <[^>]*> nop ++0000bd2c <[^>]*> nop ++0000bd30 <[^>]*> nop ++0000bd34 <[^>]*> nop ++0000bd38 <[^>]*> nop ++0000bd3c <[^>]*> nop ++0000bd40 <[^>]*> nop ++0000bd44 <[^>]*> nop ++0000bd48 <[^>]*> nop ++0000bd4c <[^>]*> nop ++0000bd50 <[^>]*> nop ++0000bd54 <[^>]*> nop ++0000bd58 <[^>]*> nop ++0000bd5c <[^>]*> nop ++0000bd60 <[^>]*> nop ++0000bd64 <[^>]*> nop ++0000bd68 <[^>]*> nop ++0000bd6c <[^>]*> nop ++0000bd70 <[^>]*> nop ++0000bd74 <[^>]*> nop ++0000bd78 <[^>]*> nop ++0000bd7c <[^>]*> nop ++0000bd80 <[^>]*> nop ++0000bd84 <[^>]*> nop ++0000bd88 <[^>]*> nop ++0000bd8c <[^>]*> nop ++0000bd90 <[^>]*> nop ++0000bd94 <[^>]*> nop ++0000bd98 <[^>]*> nop ++0000bd9c <[^>]*> nop ++0000bda0 <[^>]*> nop ++0000bda4 <[^>]*> nop ++0000bda8 <[^>]*> nop ++0000bdac <[^>]*> nop ++0000bdb0 <[^>]*> nop ++0000bdb4 <[^>]*> nop ++0000bdb8 <[^>]*> nop ++0000bdbc <[^>]*> nop ++0000bdc0 <[^>]*> nop ++0000bdc4 <[^>]*> nop ++0000bdc8 <[^>]*> nop ++0000bdcc <[^>]*> nop ++0000bdd0 <[^>]*> nop ++0000bdd4 <[^>]*> nop ++0000bdd8 <[^>]*> nop ++0000bddc <[^>]*> nop ++0000bde0 <[^>]*> nop ++0000bde4 <[^>]*> nop ++0000bde8 <[^>]*> nop ++0000bdec <[^>]*> nop ++0000bdf0 <[^>]*> nop ++0000bdf4 <[^>]*> nop ++0000bdf8 <[^>]*> nop ++0000bdfc <[^>]*> nop ++0000be00 <[^>]*> nop ++0000be04 <[^>]*> nop ++0000be08 <[^>]*> nop ++0000be0c <[^>]*> nop ++0000be10 <[^>]*> nop ++0000be14 <[^>]*> nop ++0000be18 <[^>]*> nop ++0000be1c <[^>]*> nop ++0000be20 <[^>]*> nop ++0000be24 <[^>]*> nop ++0000be28 <[^>]*> nop ++0000be2c <[^>]*> nop ++0000be30 <[^>]*> nop ++0000be34 <[^>]*> nop ++0000be38 <[^>]*> nop ++0000be3c <[^>]*> nop ++0000be40 <[^>]*> nop ++0000be44 <[^>]*> nop ++0000be48 <[^>]*> nop ++0000be4c <[^>]*> nop ++0000be50 <[^>]*> nop ++0000be54 <[^>]*> nop ++0000be58 <[^>]*> nop ++0000be5c <[^>]*> nop ++0000be60 <[^>]*> nop ++0000be64 <[^>]*> nop ++0000be68 <[^>]*> nop ++0000be6c <[^>]*> nop ++0000be70 <[^>]*> nop ++0000be74 <[^>]*> nop ++0000be78 <[^>]*> nop ++0000be7c <[^>]*> nop ++0000be80 <[^>]*> nop ++0000be84 <[^>]*> nop ++0000be88 <[^>]*> nop ++0000be8c <[^>]*> nop ++0000be90 <[^>]*> nop ++0000be94 <[^>]*> nop ++0000be98 <[^>]*> nop ++0000be9c <[^>]*> nop ++0000bea0 <[^>]*> nop ++0000bea4 <[^>]*> nop ++0000bea8 <[^>]*> nop ++0000beac <[^>]*> nop ++0000beb0 <[^>]*> nop ++0000beb4 <[^>]*> nop ++0000beb8 <[^>]*> nop ++0000bebc <[^>]*> nop ++0000bec0 <[^>]*> nop ++0000bec4 <[^>]*> nop ++0000bec8 <[^>]*> nop ++0000becc <[^>]*> nop ++0000bed0 <[^>]*> nop ++0000bed4 <[^>]*> nop ++0000bed8 <[^>]*> nop ++0000bedc <[^>]*> nop ++0000bee0 <[^>]*> nop ++0000bee4 <[^>]*> nop ++0000bee8 <[^>]*> nop ++0000beec <[^>]*> nop ++0000bef0 <[^>]*> nop ++0000bef4 <[^>]*> nop ++0000bef8 <[^>]*> nop ++0000befc <[^>]*> nop ++0000bf00 <[^>]*> nop ++0000bf04 <[^>]*> nop ++0000bf08 <[^>]*> nop ++0000bf0c <[^>]*> nop ++0000bf10 <[^>]*> nop ++0000bf14 <[^>]*> nop ++0000bf18 <[^>]*> nop ++0000bf1c <[^>]*> nop ++0000bf20 <[^>]*> nop ++0000bf24 <[^>]*> nop ++0000bf28 <[^>]*> nop ++0000bf2c <[^>]*> nop ++0000bf30 <[^>]*> nop ++0000bf34 <[^>]*> nop ++0000bf38 <[^>]*> nop ++0000bf3c <[^>]*> nop ++0000bf40 <[^>]*> nop ++0000bf44 <[^>]*> nop ++0000bf48 <[^>]*> nop ++0000bf4c <[^>]*> nop ++0000bf50 <[^>]*> nop ++0000bf54 <[^>]*> nop ++0000bf58 <[^>]*> nop ++0000bf5c <[^>]*> nop ++0000bf60 <[^>]*> nop ++0000bf64 <[^>]*> nop ++0000bf68 <[^>]*> nop ++0000bf6c <[^>]*> nop ++0000bf70 <[^>]*> nop ++0000bf74 <[^>]*> nop ++0000bf78 <[^>]*> nop ++0000bf7c <[^>]*> nop ++0000bf80 <[^>]*> nop ++0000bf84 <[^>]*> nop ++0000bf88 <[^>]*> nop ++0000bf8c <[^>]*> nop ++0000bf90 <[^>]*> nop ++0000bf94 <[^>]*> nop ++0000bf98 <[^>]*> nop ++0000bf9c <[^>]*> nop ++0000bfa0 <[^>]*> nop ++0000bfa4 <[^>]*> nop ++0000bfa8 <[^>]*> nop ++0000bfac <[^>]*> nop ++0000bfb0 <[^>]*> nop ++0000bfb4 <[^>]*> nop ++0000bfb8 <[^>]*> nop ++0000bfbc <[^>]*> nop ++0000bfc0 <[^>]*> nop ++0000bfc4 <[^>]*> nop ++0000bfc8 <[^>]*> nop ++0000bfcc <[^>]*> nop ++0000bfd0 <[^>]*> nop ++0000bfd4 <[^>]*> nop ++0000bfd8 <[^>]*> nop ++0000bfdc <[^>]*> nop ++0000bfe0 <[^>]*> nop ++0000bfe4 <[^>]*> nop ++0000bfe8 <[^>]*> nop ++0000bfec <[^>]*> nop ++0000bff0 <[^>]*> nop ++0000bff4 <[^>]*> nop ++0000bff8 <[^>]*> nop ++0000bffc <[^>]*> nop ++0000c000 <[^>]*> nop ++0000c004 <[^>]*> nop ++0000c008 <[^>]*> nop ++0000c00c <[^>]*> nop ++0000c010 <[^>]*> nop ++0000c014 <[^>]*> nop ++0000c018 <[^>]*> nop ++0000c01c <[^>]*> nop ++0000c020 <[^>]*> nop ++0000c024 <[^>]*> nop ++0000c028 <[^>]*> nop ++0000c02c <[^>]*> nop ++0000c030 <[^>]*> nop ++0000c034 <[^>]*> nop ++0000c038 <[^>]*> nop ++0000c03c <[^>]*> nop ++0000c040 <[^>]*> nop ++0000c044 <[^>]*> nop ++0000c048 <[^>]*> nop ++0000c04c <[^>]*> nop ++0000c050 <[^>]*> nop ++0000c054 <[^>]*> nop ++0000c058 <[^>]*> nop ++0000c05c <[^>]*> nop ++0000c060 <[^>]*> nop ++0000c064 <[^>]*> nop ++0000c068 <[^>]*> nop ++0000c06c <[^>]*> nop ++0000c070 <[^>]*> nop ++0000c074 <[^>]*> nop ++0000c078 <[^>]*> nop ++0000c07c <[^>]*> nop ++0000c080 <[^>]*> nop ++0000c084 <[^>]*> nop ++0000c088 <[^>]*> nop ++0000c08c <[^>]*> nop ++0000c090 <[^>]*> nop ++0000c094 <[^>]*> nop ++0000c098 <[^>]*> nop ++0000c09c <[^>]*> nop ++0000c0a0 <[^>]*> nop ++0000c0a4 <[^>]*> nop ++0000c0a8 <[^>]*> nop ++0000c0ac <[^>]*> nop ++0000c0b0 <[^>]*> nop ++0000c0b4 <[^>]*> nop ++0000c0b8 <[^>]*> nop ++0000c0bc <[^>]*> nop ++0000c0c0 <[^>]*> nop ++0000c0c4 <[^>]*> nop ++0000c0c8 <[^>]*> nop ++0000c0cc <[^>]*> nop ++0000c0d0 <[^>]*> nop ++0000c0d4 <[^>]*> nop ++0000c0d8 <[^>]*> nop ++0000c0dc <[^>]*> nop ++0000c0e0 <[^>]*> nop ++0000c0e4 <[^>]*> nop ++0000c0e8 <[^>]*> nop ++0000c0ec <[^>]*> nop ++0000c0f0 <[^>]*> nop ++0000c0f4 <[^>]*> nop ++0000c0f8 <[^>]*> nop ++0000c0fc <[^>]*> nop ++0000c100 <[^>]*> nop ++0000c104 <[^>]*> nop ++0000c108 <[^>]*> nop ++0000c10c <[^>]*> nop ++0000c110 <[^>]*> nop ++0000c114 <[^>]*> nop ++0000c118 <[^>]*> nop ++0000c11c <[^>]*> nop ++0000c120 <[^>]*> nop ++0000c124 <[^>]*> nop ++0000c128 <[^>]*> nop ++0000c12c <[^>]*> nop ++0000c130 <[^>]*> nop ++0000c134 <[^>]*> nop ++0000c138 <[^>]*> nop ++0000c13c <[^>]*> nop ++0000c140 <[^>]*> nop ++0000c144 <[^>]*> nop ++0000c148 <[^>]*> nop ++0000c14c <[^>]*> nop ++0000c150 <[^>]*> nop ++0000c154 <[^>]*> nop ++0000c158 <[^>]*> nop ++0000c15c <[^>]*> nop ++0000c160 <[^>]*> nop ++0000c164 <[^>]*> nop ++0000c168 <[^>]*> nop ++0000c16c <[^>]*> nop ++0000c170 <[^>]*> nop ++0000c174 <[^>]*> nop ++0000c178 <[^>]*> nop ++0000c17c <[^>]*> nop ++0000c180 <[^>]*> nop ++0000c184 <[^>]*> nop ++0000c188 <[^>]*> nop ++0000c18c <[^>]*> nop ++0000c190 <[^>]*> nop ++0000c194 <[^>]*> nop ++0000c198 <[^>]*> nop ++0000c19c <[^>]*> nop ++0000c1a0 <[^>]*> nop ++0000c1a4 <[^>]*> nop ++0000c1a8 <[^>]*> nop ++0000c1ac <[^>]*> nop ++0000c1b0 <[^>]*> nop ++0000c1b4 <[^>]*> nop ++0000c1b8 <[^>]*> nop ++0000c1bc <[^>]*> nop ++0000c1c0 <[^>]*> nop ++0000c1c4 <[^>]*> nop ++0000c1c8 <[^>]*> nop ++0000c1cc <[^>]*> nop ++0000c1d0 <[^>]*> nop ++0000c1d4 <[^>]*> nop ++0000c1d8 <[^>]*> nop ++0000c1dc <[^>]*> nop ++0000c1e0 <[^>]*> nop ++0000c1e4 <[^>]*> nop ++0000c1e8 <[^>]*> nop ++0000c1ec <[^>]*> nop ++0000c1f0 <[^>]*> nop ++0000c1f4 <[^>]*> nop ++0000c1f8 <[^>]*> nop ++0000c1fc <[^>]*> nop ++0000c200 <[^>]*> nop ++0000c204 <[^>]*> nop ++0000c208 <[^>]*> nop ++0000c20c <[^>]*> nop ++0000c210 <[^>]*> nop ++0000c214 <[^>]*> nop ++0000c218 <[^>]*> nop ++0000c21c <[^>]*> nop ++0000c220 <[^>]*> nop ++0000c224 <[^>]*> nop ++0000c228 <[^>]*> nop ++0000c22c <[^>]*> nop ++0000c230 <[^>]*> nop ++0000c234 <[^>]*> nop ++0000c238 <[^>]*> nop ++0000c23c <[^>]*> nop ++0000c240 <[^>]*> nop ++0000c244 <[^>]*> nop ++0000c248 <[^>]*> nop ++0000c24c <[^>]*> nop ++0000c250 <[^>]*> nop ++0000c254 <[^>]*> nop ++0000c258 <[^>]*> nop ++0000c25c <[^>]*> nop ++0000c260 <[^>]*> nop ++0000c264 <[^>]*> nop ++0000c268 <[^>]*> nop ++0000c26c <[^>]*> nop ++0000c270 <[^>]*> nop ++0000c274 <[^>]*> nop ++0000c278 <[^>]*> nop ++0000c27c <[^>]*> nop ++0000c280 <[^>]*> nop ++0000c284 <[^>]*> nop ++0000c288 <[^>]*> nop ++0000c28c <[^>]*> nop ++0000c290 <[^>]*> nop ++0000c294 <[^>]*> nop ++0000c298 <[^>]*> nop ++0000c29c <[^>]*> nop ++0000c2a0 <[^>]*> nop ++0000c2a4 <[^>]*> nop ++0000c2a8 <[^>]*> nop ++0000c2ac <[^>]*> nop ++0000c2b0 <[^>]*> nop ++0000c2b4 <[^>]*> nop ++0000c2b8 <[^>]*> nop ++0000c2bc <[^>]*> nop ++0000c2c0 <[^>]*> nop ++0000c2c4 <[^>]*> nop ++0000c2c8 <[^>]*> nop ++0000c2cc <[^>]*> nop ++0000c2d0 <[^>]*> nop ++0000c2d4 <[^>]*> nop ++0000c2d8 <[^>]*> nop ++0000c2dc <[^>]*> nop ++0000c2e0 <[^>]*> nop ++0000c2e4 <[^>]*> nop ++0000c2e8 <[^>]*> nop ++0000c2ec <[^>]*> nop ++0000c2f0 <[^>]*> nop ++0000c2f4 <[^>]*> nop ++0000c2f8 <[^>]*> nop ++0000c2fc <[^>]*> nop ++0000c300 <[^>]*> nop ++0000c304 <[^>]*> nop ++0000c308 <[^>]*> nop ++0000c30c <[^>]*> nop ++0000c310 <[^>]*> nop ++0000c314 <[^>]*> nop ++0000c318 <[^>]*> nop ++0000c31c <[^>]*> nop ++0000c320 <[^>]*> nop ++0000c324 <[^>]*> nop ++0000c328 <[^>]*> nop ++0000c32c <[^>]*> nop ++0000c330 <[^>]*> nop ++0000c334 <[^>]*> nop ++0000c338 <[^>]*> nop ++0000c33c <[^>]*> nop ++0000c340 <[^>]*> nop ++0000c344 <[^>]*> nop ++0000c348 <[^>]*> nop ++0000c34c <[^>]*> nop ++0000c350 <[^>]*> nop ++0000c354 <[^>]*> nop ++0000c358 <[^>]*> nop ++0000c35c <[^>]*> nop ++0000c360 <[^>]*> nop ++0000c364 <[^>]*> nop ++0000c368 <[^>]*> nop ++0000c36c <[^>]*> nop ++0000c370 <[^>]*> nop ++0000c374 <[^>]*> nop ++0000c378 <[^>]*> nop ++0000c37c <[^>]*> nop ++0000c380 <[^>]*> nop ++0000c384 <[^>]*> nop ++0000c388 <[^>]*> nop ++0000c38c <[^>]*> nop ++0000c390 <[^>]*> nop ++0000c394 <[^>]*> nop ++0000c398 <[^>]*> nop ++0000c39c <[^>]*> nop ++0000c3a0 <[^>]*> nop ++0000c3a4 <[^>]*> nop ++0000c3a8 <[^>]*> nop ++0000c3ac <[^>]*> nop ++0000c3b0 <[^>]*> nop ++0000c3b4 <[^>]*> nop ++0000c3b8 <[^>]*> nop ++0000c3bc <[^>]*> nop ++0000c3c0 <[^>]*> nop ++0000c3c4 <[^>]*> nop ++0000c3c8 <[^>]*> nop ++0000c3cc <[^>]*> nop ++0000c3d0 <[^>]*> nop ++0000c3d4 <[^>]*> nop ++0000c3d8 <[^>]*> nop ++0000c3dc <[^>]*> nop ++0000c3e0 <[^>]*> nop ++0000c3e4 <[^>]*> nop ++0000c3e8 <[^>]*> nop ++0000c3ec <[^>]*> nop ++0000c3f0 <[^>]*> nop ++0000c3f4 <[^>]*> nop ++0000c3f8 <[^>]*> nop ++0000c3fc <[^>]*> nop ++0000c400 <[^>]*> nop ++0000c404 <[^>]*> nop ++0000c408 <[^>]*> nop ++0000c40c <[^>]*> nop ++0000c410 <[^>]*> nop ++0000c414 <[^>]*> nop ++0000c418 <[^>]*> nop ++0000c41c <[^>]*> nop ++0000c420 <[^>]*> nop ++0000c424 <[^>]*> nop ++0000c428 <[^>]*> nop ++0000c42c <[^>]*> nop ++0000c430 <[^>]*> nop ++0000c434 <[^>]*> nop ++0000c438 <[^>]*> nop ++0000c43c <[^>]*> nop ++0000c440 <[^>]*> nop ++0000c444 <[^>]*> nop ++0000c448 <[^>]*> nop ++0000c44c <[^>]*> nop ++0000c450 <[^>]*> nop ++0000c454 <[^>]*> nop ++0000c458 <[^>]*> nop ++0000c45c <[^>]*> nop ++0000c460 <[^>]*> nop ++0000c464 <[^>]*> nop ++0000c468 <[^>]*> nop ++0000c46c <[^>]*> nop ++0000c470 <[^>]*> nop ++0000c474 <[^>]*> nop ++0000c478 <[^>]*> nop ++0000c47c <[^>]*> nop ++0000c480 <[^>]*> nop ++0000c484 <[^>]*> nop ++0000c488 <[^>]*> nop ++0000c48c <[^>]*> nop ++0000c490 <[^>]*> nop ++0000c494 <[^>]*> nop ++0000c498 <[^>]*> nop ++0000c49c <[^>]*> nop ++0000c4a0 <[^>]*> nop ++0000c4a4 <[^>]*> nop ++0000c4a8 <[^>]*> nop ++0000c4ac <[^>]*> nop ++0000c4b0 <[^>]*> nop ++0000c4b4 <[^>]*> nop ++0000c4b8 <[^>]*> nop ++0000c4bc <[^>]*> nop ++0000c4c0 <[^>]*> nop ++0000c4c4 <[^>]*> nop ++0000c4c8 <[^>]*> nop ++0000c4cc <[^>]*> nop ++0000c4d0 <[^>]*> nop ++0000c4d4 <[^>]*> nop ++0000c4d8 <[^>]*> nop ++0000c4dc <[^>]*> nop ++0000c4e0 <[^>]*> nop ++0000c4e4 <[^>]*> nop ++0000c4e8 <[^>]*> nop ++0000c4ec <[^>]*> nop ++0000c4f0 <[^>]*> nop ++0000c4f4 <[^>]*> nop ++0000c4f8 <[^>]*> nop ++0000c4fc <[^>]*> nop ++0000c500 <[^>]*> nop ++0000c504 <[^>]*> nop ++0000c508 <[^>]*> nop ++0000c50c <[^>]*> nop ++0000c510 <[^>]*> nop ++0000c514 <[^>]*> nop ++0000c518 <[^>]*> nop ++0000c51c <[^>]*> nop ++0000c520 <[^>]*> nop ++0000c524 <[^>]*> nop ++0000c528 <[^>]*> nop ++0000c52c <[^>]*> nop ++0000c530 <[^>]*> nop ++0000c534 <[^>]*> nop ++0000c538 <[^>]*> nop ++0000c53c <[^>]*> nop ++0000c540 <[^>]*> nop ++0000c544 <[^>]*> nop ++0000c548 <[^>]*> nop ++0000c54c <[^>]*> nop ++0000c550 <[^>]*> nop ++0000c554 <[^>]*> nop ++0000c558 <[^>]*> nop ++0000c55c <[^>]*> nop ++0000c560 <[^>]*> nop ++0000c564 <[^>]*> nop ++0000c568 <[^>]*> nop ++0000c56c <[^>]*> nop ++0000c570 <[^>]*> nop ++0000c574 <[^>]*> nop ++0000c578 <[^>]*> nop ++0000c57c <[^>]*> nop ++0000c580 <[^>]*> nop ++0000c584 <[^>]*> nop ++0000c588 <[^>]*> nop ++0000c58c <[^>]*> nop ++0000c590 <[^>]*> nop ++0000c594 <[^>]*> nop ++0000c598 <[^>]*> nop ++0000c59c <[^>]*> nop ++0000c5a0 <[^>]*> nop ++0000c5a4 <[^>]*> nop ++0000c5a8 <[^>]*> nop ++0000c5ac <[^>]*> nop ++0000c5b0 <[^>]*> nop ++0000c5b4 <[^>]*> nop ++0000c5b8 <[^>]*> nop ++0000c5bc <[^>]*> nop ++0000c5c0 <[^>]*> nop ++0000c5c4 <[^>]*> nop ++0000c5c8 <[^>]*> nop ++0000c5cc <[^>]*> nop ++0000c5d0 <[^>]*> nop ++0000c5d4 <[^>]*> nop ++0000c5d8 <[^>]*> nop ++0000c5dc <[^>]*> nop ++0000c5e0 <[^>]*> nop ++0000c5e4 <[^>]*> nop ++0000c5e8 <[^>]*> nop ++0000c5ec <[^>]*> nop ++0000c5f0 <[^>]*> nop ++0000c5f4 <[^>]*> nop ++0000c5f8 <[^>]*> nop ++0000c5fc <[^>]*> nop ++0000c600 <[^>]*> nop ++0000c604 <[^>]*> nop ++0000c608 <[^>]*> nop ++0000c60c <[^>]*> nop ++0000c610 <[^>]*> nop ++0000c614 <[^>]*> nop ++0000c618 <[^>]*> nop ++0000c61c <[^>]*> nop ++0000c620 <[^>]*> nop ++0000c624 <[^>]*> nop ++0000c628 <[^>]*> nop ++0000c62c <[^>]*> nop ++0000c630 <[^>]*> nop ++0000c634 <[^>]*> nop ++0000c638 <[^>]*> nop ++0000c63c <[^>]*> nop ++0000c640 <[^>]*> nop ++0000c644 <[^>]*> nop ++0000c648 <[^>]*> nop ++0000c64c <[^>]*> nop ++0000c650 <[^>]*> nop ++0000c654 <[^>]*> nop ++0000c658 <[^>]*> nop ++0000c65c <[^>]*> nop ++0000c660 <[^>]*> nop ++0000c664 <[^>]*> nop ++0000c668 <[^>]*> nop ++0000c66c <[^>]*> nop ++0000c670 <[^>]*> nop ++0000c674 <[^>]*> nop ++0000c678 <[^>]*> nop ++0000c67c <[^>]*> nop ++0000c680 <[^>]*> nop ++0000c684 <[^>]*> nop ++0000c688 <[^>]*> nop ++0000c68c <[^>]*> nop ++0000c690 <[^>]*> nop ++0000c694 <[^>]*> nop ++0000c698 <[^>]*> nop ++0000c69c <[^>]*> nop ++0000c6a0 <[^>]*> nop ++0000c6a4 <[^>]*> nop ++0000c6a8 <[^>]*> nop ++0000c6ac <[^>]*> nop ++0000c6b0 <[^>]*> nop ++0000c6b4 <[^>]*> nop ++0000c6b8 <[^>]*> nop ++0000c6bc <[^>]*> nop ++0000c6c0 <[^>]*> nop ++0000c6c4 <[^>]*> nop ++0000c6c8 <[^>]*> nop ++0000c6cc <[^>]*> nop ++0000c6d0 <[^>]*> nop ++0000c6d4 <[^>]*> nop ++0000c6d8 <[^>]*> nop ++0000c6dc <[^>]*> nop ++0000c6e0 <[^>]*> nop ++0000c6e4 <[^>]*> nop ++0000c6e8 <[^>]*> nop ++0000c6ec <[^>]*> nop ++0000c6f0 <[^>]*> nop ++0000c6f4 <[^>]*> nop ++0000c6f8 <[^>]*> nop ++0000c6fc <[^>]*> nop ++0000c700 <[^>]*> nop ++0000c704 <[^>]*> nop ++0000c708 <[^>]*> nop ++0000c70c <[^>]*> nop ++0000c710 <[^>]*> nop ++0000c714 <[^>]*> nop ++0000c718 <[^>]*> nop ++0000c71c <[^>]*> nop ++0000c720 <[^>]*> nop ++0000c724 <[^>]*> nop ++0000c728 <[^>]*> nop ++0000c72c <[^>]*> nop ++0000c730 <[^>]*> nop ++0000c734 <[^>]*> nop ++0000c738 <[^>]*> nop ++0000c73c <[^>]*> nop ++0000c740 <[^>]*> nop ++0000c744 <[^>]*> nop ++0000c748 <[^>]*> nop ++0000c74c <[^>]*> nop ++0000c750 <[^>]*> nop ++0000c754 <[^>]*> nop ++0000c758 <[^>]*> nop ++0000c75c <[^>]*> nop ++0000c760 <[^>]*> nop ++0000c764 <[^>]*> nop ++0000c768 <[^>]*> nop ++0000c76c <[^>]*> nop ++0000c770 <[^>]*> nop ++0000c774 <[^>]*> nop ++0000c778 <[^>]*> nop ++0000c77c <[^>]*> nop ++0000c780 <[^>]*> nop ++0000c784 <[^>]*> nop ++0000c788 <[^>]*> nop ++0000c78c <[^>]*> nop ++0000c790 <[^>]*> nop ++0000c794 <[^>]*> nop ++0000c798 <[^>]*> nop ++0000c79c <[^>]*> nop ++0000c7a0 <[^>]*> nop ++0000c7a4 <[^>]*> nop ++0000c7a8 <[^>]*> nop ++0000c7ac <[^>]*> nop ++0000c7b0 <[^>]*> nop ++0000c7b4 <[^>]*> nop ++0000c7b8 <[^>]*> nop ++0000c7bc <[^>]*> nop ++0000c7c0 <[^>]*> nop ++0000c7c4 <[^>]*> nop ++0000c7c8 <[^>]*> nop ++0000c7cc <[^>]*> nop ++0000c7d0 <[^>]*> nop ++0000c7d4 <[^>]*> nop ++0000c7d8 <[^>]*> nop ++0000c7dc <[^>]*> nop ++0000c7e0 <[^>]*> nop ++0000c7e4 <[^>]*> nop ++0000c7e8 <[^>]*> nop ++0000c7ec <[^>]*> nop ++0000c7f0 <[^>]*> nop ++0000c7f4 <[^>]*> nop ++0000c7f8 <[^>]*> nop ++0000c7fc <[^>]*> nop ++0000c800 <[^>]*> nop ++0000c804 <[^>]*> nop ++0000c808 <[^>]*> nop ++0000c80c <[^>]*> nop ++0000c810 <[^>]*> nop ++0000c814 <[^>]*> nop ++0000c818 <[^>]*> nop ++0000c81c <[^>]*> nop ++0000c820 <[^>]*> nop ++0000c824 <[^>]*> nop ++0000c828 <[^>]*> nop ++0000c82c <[^>]*> nop ++0000c830 <[^>]*> nop ++0000c834 <[^>]*> nop ++0000c838 <[^>]*> nop ++0000c83c <[^>]*> nop ++0000c840 <[^>]*> nop ++0000c844 <[^>]*> nop ++0000c848 <[^>]*> nop ++0000c84c <[^>]*> nop ++0000c850 <[^>]*> nop ++0000c854 <[^>]*> nop ++0000c858 <[^>]*> nop ++0000c85c <[^>]*> nop ++0000c860 <[^>]*> nop ++0000c864 <[^>]*> nop ++0000c868 <[^>]*> nop ++0000c86c <[^>]*> nop ++0000c870 <[^>]*> nop ++0000c874 <[^>]*> nop ++0000c878 <[^>]*> nop ++0000c87c <[^>]*> nop ++0000c880 <[^>]*> nop ++0000c884 <[^>]*> nop ++0000c888 <[^>]*> nop ++0000c88c <[^>]*> nop ++0000c890 <[^>]*> nop ++0000c894 <[^>]*> nop ++0000c898 <[^>]*> nop ++0000c89c <[^>]*> nop ++0000c8a0 <[^>]*> nop ++0000c8a4 <[^>]*> nop ++0000c8a8 <[^>]*> nop ++0000c8ac <[^>]*> nop ++0000c8b0 <[^>]*> nop ++0000c8b4 <[^>]*> nop ++0000c8b8 <[^>]*> nop ++0000c8bc <[^>]*> nop ++0000c8c0 <[^>]*> nop ++0000c8c4 <[^>]*> nop ++0000c8c8 <[^>]*> nop ++0000c8cc <[^>]*> nop ++0000c8d0 <[^>]*> nop ++0000c8d4 <[^>]*> nop ++0000c8d8 <[^>]*> nop ++0000c8dc <[^>]*> nop ++0000c8e0 <[^>]*> nop ++0000c8e4 <[^>]*> nop ++0000c8e8 <[^>]*> nop ++0000c8ec <[^>]*> nop ++0000c8f0 <[^>]*> nop ++0000c8f4 <[^>]*> nop ++0000c8f8 <[^>]*> nop ++0000c8fc <[^>]*> nop ++0000c900 <[^>]*> nop ++0000c904 <[^>]*> nop ++0000c908 <[^>]*> nop ++0000c90c <[^>]*> nop ++0000c910 <[^>]*> nop ++0000c914 <[^>]*> nop ++0000c918 <[^>]*> nop ++0000c91c <[^>]*> nop ++0000c920 <[^>]*> nop ++0000c924 <[^>]*> nop ++0000c928 <[^>]*> nop ++0000c92c <[^>]*> nop ++0000c930 <[^>]*> nop ++0000c934 <[^>]*> nop ++0000c938 <[^>]*> nop ++0000c93c <[^>]*> nop ++0000c940 <[^>]*> nop ++0000c944 <[^>]*> nop ++0000c948 <[^>]*> nop ++0000c94c <[^>]*> nop ++0000c950 <[^>]*> nop ++0000c954 <[^>]*> nop ++0000c958 <[^>]*> nop ++0000c95c <[^>]*> nop ++0000c960 <[^>]*> nop ++0000c964 <[^>]*> nop ++0000c968 <[^>]*> nop ++0000c96c <[^>]*> nop ++0000c970 <[^>]*> nop ++0000c974 <[^>]*> nop ++0000c978 <[^>]*> nop ++0000c97c <[^>]*> nop ++0000c980 <[^>]*> nop ++0000c984 <[^>]*> nop ++0000c988 <[^>]*> nop ++0000c98c <[^>]*> nop ++0000c990 <[^>]*> nop ++0000c994 <[^>]*> nop ++0000c998 <[^>]*> nop ++0000c99c <[^>]*> nop ++0000c9a0 <[^>]*> nop ++0000c9a4 <[^>]*> nop ++0000c9a8 <[^>]*> nop ++0000c9ac <[^>]*> nop ++0000c9b0 <[^>]*> nop ++0000c9b4 <[^>]*> nop ++0000c9b8 <[^>]*> nop ++0000c9bc <[^>]*> nop ++0000c9c0 <[^>]*> nop ++0000c9c4 <[^>]*> nop ++0000c9c8 <[^>]*> nop ++0000c9cc <[^>]*> nop ++0000c9d0 <[^>]*> nop ++0000c9d4 <[^>]*> nop ++0000c9d8 <[^>]*> nop ++0000c9dc <[^>]*> nop ++0000c9e0 <[^>]*> nop ++0000c9e4 <[^>]*> nop ++0000c9e8 <[^>]*> nop ++0000c9ec <[^>]*> nop ++0000c9f0 <[^>]*> nop ++0000c9f4 <[^>]*> nop ++0000c9f8 <[^>]*> nop ++0000c9fc <[^>]*> nop ++0000ca00 <[^>]*> nop ++0000ca04 <[^>]*> nop ++0000ca08 <[^>]*> nop ++0000ca0c <[^>]*> nop ++0000ca10 <[^>]*> nop ++0000ca14 <[^>]*> nop ++0000ca18 <[^>]*> nop ++0000ca1c <[^>]*> nop ++0000ca20 <[^>]*> nop ++0000ca24 <[^>]*> nop ++0000ca28 <[^>]*> nop ++0000ca2c <[^>]*> nop ++0000ca30 <[^>]*> nop ++0000ca34 <[^>]*> nop ++0000ca38 <[^>]*> nop ++0000ca3c <[^>]*> nop ++0000ca40 <[^>]*> nop ++0000ca44 <[^>]*> nop ++0000ca48 <[^>]*> nop ++0000ca4c <[^>]*> nop ++0000ca50 <[^>]*> nop ++0000ca54 <[^>]*> nop ++0000ca58 <[^>]*> nop ++0000ca5c <[^>]*> nop ++0000ca60 <[^>]*> nop ++0000ca64 <[^>]*> nop ++0000ca68 <[^>]*> nop ++0000ca6c <[^>]*> nop ++0000ca70 <[^>]*> nop ++0000ca74 <[^>]*> nop ++0000ca78 <[^>]*> nop ++0000ca7c <[^>]*> nop ++0000ca80 <[^>]*> nop ++0000ca84 <[^>]*> nop ++0000ca88 <[^>]*> nop ++0000ca8c <[^>]*> nop ++0000ca90 <[^>]*> nop ++0000ca94 <[^>]*> nop ++0000ca98 <[^>]*> nop ++0000ca9c <[^>]*> nop ++0000caa0 <[^>]*> nop ++0000caa4 <[^>]*> nop ++0000caa8 <[^>]*> nop ++0000caac <[^>]*> nop ++0000cab0 <[^>]*> nop ++0000cab4 <[^>]*> nop ++0000cab8 <[^>]*> nop ++0000cabc <[^>]*> nop ++0000cac0 <[^>]*> nop ++0000cac4 <[^>]*> nop ++0000cac8 <[^>]*> nop ++0000cacc <[^>]*> nop ++0000cad0 <[^>]*> nop ++0000cad4 <[^>]*> nop ++0000cad8 <[^>]*> nop ++0000cadc <[^>]*> nop ++0000cae0 <[^>]*> nop ++0000cae4 <[^>]*> nop ++0000cae8 <[^>]*> nop ++0000caec <[^>]*> nop ++0000caf0 <[^>]*> nop ++0000caf4 <[^>]*> nop ++0000caf8 <[^>]*> nop ++0000cafc <[^>]*> nop ++0000cb00 <[^>]*> nop ++0000cb04 <[^>]*> nop ++0000cb08 <[^>]*> nop ++0000cb0c <[^>]*> nop ++0000cb10 <[^>]*> nop ++0000cb14 <[^>]*> nop ++0000cb18 <[^>]*> nop ++0000cb1c <[^>]*> nop ++0000cb20 <[^>]*> nop ++0000cb24 <[^>]*> nop ++0000cb28 <[^>]*> nop ++0000cb2c <[^>]*> nop ++0000cb30 <[^>]*> nop ++0000cb34 <[^>]*> nop ++0000cb38 <[^>]*> nop ++0000cb3c <[^>]*> nop ++0000cb40 <[^>]*> nop ++0000cb44 <[^>]*> nop ++0000cb48 <[^>]*> nop ++0000cb4c <[^>]*> nop ++0000cb50 <[^>]*> nop ++0000cb54 <[^>]*> nop ++0000cb58 <[^>]*> nop ++0000cb5c <[^>]*> nop ++0000cb60 <[^>]*> nop ++0000cb64 <[^>]*> nop ++0000cb68 <[^>]*> nop ++0000cb6c <[^>]*> nop ++0000cb70 <[^>]*> nop ++0000cb74 <[^>]*> nop ++0000cb78 <[^>]*> nop ++0000cb7c <[^>]*> nop ++0000cb80 <[^>]*> nop ++0000cb84 <[^>]*> nop ++0000cb88 <[^>]*> nop ++0000cb8c <[^>]*> nop ++0000cb90 <[^>]*> nop ++0000cb94 <[^>]*> nop ++0000cb98 <[^>]*> nop ++0000cb9c <[^>]*> nop ++0000cba0 <[^>]*> nop ++0000cba4 <[^>]*> nop ++0000cba8 <[^>]*> nop ++0000cbac <[^>]*> nop ++0000cbb0 <[^>]*> nop ++0000cbb4 <[^>]*> nop ++0000cbb8 <[^>]*> nop ++0000cbbc <[^>]*> nop ++0000cbc0 <[^>]*> nop ++0000cbc4 <[^>]*> nop ++0000cbc8 <[^>]*> nop ++0000cbcc <[^>]*> nop ++0000cbd0 <[^>]*> nop ++0000cbd4 <[^>]*> nop ++0000cbd8 <[^>]*> nop ++0000cbdc <[^>]*> nop ++0000cbe0 <[^>]*> nop ++0000cbe4 <[^>]*> nop ++0000cbe8 <[^>]*> nop ++0000cbec <[^>]*> nop ++0000cbf0 <[^>]*> nop ++0000cbf4 <[^>]*> nop ++0000cbf8 <[^>]*> nop ++0000cbfc <[^>]*> nop ++0000cc00 <[^>]*> nop ++0000cc04 <[^>]*> nop ++0000cc08 <[^>]*> nop ++0000cc0c <[^>]*> nop ++0000cc10 <[^>]*> nop ++0000cc14 <[^>]*> nop ++0000cc18 <[^>]*> nop ++0000cc1c <[^>]*> nop ++0000cc20 <[^>]*> nop ++0000cc24 <[^>]*> nop ++0000cc28 <[^>]*> nop ++0000cc2c <[^>]*> nop ++0000cc30 <[^>]*> nop ++0000cc34 <[^>]*> nop ++0000cc38 <[^>]*> nop ++0000cc3c <[^>]*> nop ++0000cc40 <[^>]*> nop ++0000cc44 <[^>]*> nop ++0000cc48 <[^>]*> nop ++0000cc4c <[^>]*> nop ++0000cc50 <[^>]*> nop ++0000cc54 <[^>]*> nop ++0000cc58 <[^>]*> nop ++0000cc5c <[^>]*> nop ++0000cc60 <[^>]*> nop ++0000cc64 <[^>]*> nop ++0000cc68 <[^>]*> nop ++0000cc6c <[^>]*> nop ++0000cc70 <[^>]*> nop ++0000cc74 <[^>]*> nop ++0000cc78 <[^>]*> nop ++0000cc7c <[^>]*> nop ++0000cc80 <[^>]*> nop ++0000cc84 <[^>]*> nop ++0000cc88 <[^>]*> nop ++0000cc8c <[^>]*> nop ++0000cc90 <[^>]*> nop ++0000cc94 <[^>]*> nop ++0000cc98 <[^>]*> nop ++0000cc9c <[^>]*> nop ++0000cca0 <[^>]*> nop ++0000cca4 <[^>]*> nop ++0000cca8 <[^>]*> nop ++0000ccac <[^>]*> nop ++0000ccb0 <[^>]*> nop ++0000ccb4 <[^>]*> nop ++0000ccb8 <[^>]*> nop ++0000ccbc <[^>]*> nop ++0000ccc0 <[^>]*> nop ++0000ccc4 <[^>]*> nop ++0000ccc8 <[^>]*> nop ++0000cccc <[^>]*> nop ++0000ccd0 <[^>]*> nop ++0000ccd4 <[^>]*> nop ++0000ccd8 <[^>]*> nop ++0000ccdc <[^>]*> nop ++0000cce0 <[^>]*> nop ++0000cce4 <[^>]*> nop ++0000cce8 <[^>]*> nop ++0000ccec <[^>]*> nop ++0000ccf0 <[^>]*> nop ++0000ccf4 <[^>]*> nop ++0000ccf8 <[^>]*> nop ++0000ccfc <[^>]*> nop ++0000cd00 <[^>]*> nop ++0000cd04 <[^>]*> nop ++0000cd08 <[^>]*> nop ++0000cd0c <[^>]*> nop ++0000cd10 <[^>]*> nop ++0000cd14 <[^>]*> nop ++0000cd18 <[^>]*> nop ++0000cd1c <[^>]*> nop ++0000cd20 <[^>]*> nop ++0000cd24 <[^>]*> nop ++0000cd28 <[^>]*> nop ++0000cd2c <[^>]*> nop ++0000cd30 <[^>]*> nop ++0000cd34 <[^>]*> nop ++0000cd38 <[^>]*> nop ++0000cd3c <[^>]*> nop ++0000cd40 <[^>]*> nop ++0000cd44 <[^>]*> nop ++0000cd48 <[^>]*> nop ++0000cd4c <[^>]*> nop ++0000cd50 <[^>]*> nop ++0000cd54 <[^>]*> nop ++0000cd58 <[^>]*> nop ++0000cd5c <[^>]*> nop ++0000cd60 <[^>]*> nop ++0000cd64 <[^>]*> nop ++0000cd68 <[^>]*> nop ++0000cd6c <[^>]*> nop ++0000cd70 <[^>]*> nop ++0000cd74 <[^>]*> nop ++0000cd78 <[^>]*> nop ++0000cd7c <[^>]*> nop ++0000cd80 <[^>]*> nop ++0000cd84 <[^>]*> nop ++0000cd88 <[^>]*> nop ++0000cd8c <[^>]*> nop ++0000cd90 <[^>]*> nop ++0000cd94 <[^>]*> nop ++0000cd98 <[^>]*> nop ++0000cd9c <[^>]*> nop ++0000cda0 <[^>]*> nop ++0000cda4 <[^>]*> nop ++0000cda8 <[^>]*> nop ++0000cdac <[^>]*> nop ++0000cdb0 <[^>]*> nop ++0000cdb4 <[^>]*> nop ++0000cdb8 <[^>]*> nop ++0000cdbc <[^>]*> nop ++0000cdc0 <[^>]*> nop ++0000cdc4 <[^>]*> nop ++0000cdc8 <[^>]*> nop ++0000cdcc <[^>]*> nop ++0000cdd0 <[^>]*> nop ++0000cdd4 <[^>]*> nop ++0000cdd8 <[^>]*> nop ++0000cddc <[^>]*> nop ++0000cde0 <[^>]*> nop ++0000cde4 <[^>]*> nop ++0000cde8 <[^>]*> nop ++0000cdec <[^>]*> nop ++0000cdf0 <[^>]*> nop ++0000cdf4 <[^>]*> nop ++0000cdf8 <[^>]*> nop ++0000cdfc <[^>]*> nop ++0000ce00 <[^>]*> nop ++0000ce04 <[^>]*> nop ++0000ce08 <[^>]*> nop ++0000ce0c <[^>]*> nop ++0000ce10 <[^>]*> nop ++0000ce14 <[^>]*> nop ++0000ce18 <[^>]*> nop ++0000ce1c <[^>]*> nop ++0000ce20 <[^>]*> nop ++0000ce24 <[^>]*> nop ++0000ce28 <[^>]*> nop ++0000ce2c <[^>]*> nop ++0000ce30 <[^>]*> nop ++0000ce34 <[^>]*> nop ++0000ce38 <[^>]*> nop ++0000ce3c <[^>]*> nop ++0000ce40 <[^>]*> nop ++0000ce44 <[^>]*> nop ++0000ce48 <[^>]*> nop ++0000ce4c <[^>]*> nop ++0000ce50 <[^>]*> nop ++0000ce54 <[^>]*> nop ++0000ce58 <[^>]*> nop ++0000ce5c <[^>]*> nop ++0000ce60 <[^>]*> nop ++0000ce64 <[^>]*> nop ++0000ce68 <[^>]*> nop ++0000ce6c <[^>]*> nop ++0000ce70 <[^>]*> nop ++0000ce74 <[^>]*> nop ++0000ce78 <[^>]*> nop ++0000ce7c <[^>]*> nop ++0000ce80 <[^>]*> nop ++0000ce84 <[^>]*> nop ++0000ce88 <[^>]*> nop ++0000ce8c <[^>]*> nop ++0000ce90 <[^>]*> nop ++0000ce94 <[^>]*> nop ++0000ce98 <[^>]*> nop ++0000ce9c <[^>]*> nop ++0000cea0 <[^>]*> nop ++0000cea4 <[^>]*> nop ++0000cea8 <[^>]*> nop ++0000ceac <[^>]*> nop ++0000ceb0 <[^>]*> nop ++0000ceb4 <[^>]*> nop ++0000ceb8 <[^>]*> nop ++0000cebc <[^>]*> nop ++0000cec0 <[^>]*> nop ++0000cec4 <[^>]*> nop ++0000cec8 <[^>]*> nop ++0000cecc <[^>]*> nop ++0000ced0 <[^>]*> nop ++0000ced4 <[^>]*> nop ++0000ced8 <[^>]*> nop ++0000cedc <[^>]*> nop ++0000cee0 <[^>]*> nop ++0000cee4 <[^>]*> nop ++0000cee8 <[^>]*> nop ++0000ceec <[^>]*> nop ++0000cef0 <[^>]*> nop ++0000cef4 <[^>]*> nop ++0000cef8 <[^>]*> nop ++0000cefc <[^>]*> nop ++0000cf00 <[^>]*> nop ++0000cf04 <[^>]*> nop ++0000cf08 <[^>]*> nop ++0000cf0c <[^>]*> nop ++0000cf10 <[^>]*> nop ++0000cf14 <[^>]*> nop ++0000cf18 <[^>]*> nop ++0000cf1c <[^>]*> nop ++0000cf20 <[^>]*> nop ++0000cf24 <[^>]*> nop ++0000cf28 <[^>]*> nop ++0000cf2c <[^>]*> nop ++0000cf30 <[^>]*> nop ++0000cf34 <[^>]*> nop ++0000cf38 <[^>]*> nop ++0000cf3c <[^>]*> nop ++0000cf40 <[^>]*> nop ++0000cf44 <[^>]*> nop ++0000cf48 <[^>]*> nop ++0000cf4c <[^>]*> nop ++0000cf50 <[^>]*> nop ++0000cf54 <[^>]*> nop ++0000cf58 <[^>]*> nop ++0000cf5c <[^>]*> nop ++0000cf60 <[^>]*> nop ++0000cf64 <[^>]*> nop ++0000cf68 <[^>]*> nop ++0000cf6c <[^>]*> nop ++0000cf70 <[^>]*> nop ++0000cf74 <[^>]*> nop ++0000cf78 <[^>]*> nop ++0000cf7c <[^>]*> nop ++0000cf80 <[^>]*> nop ++0000cf84 <[^>]*> nop ++0000cf88 <[^>]*> nop ++0000cf8c <[^>]*> nop ++0000cf90 <[^>]*> nop ++0000cf94 <[^>]*> nop ++0000cf98 <[^>]*> nop ++0000cf9c <[^>]*> nop ++0000cfa0 <[^>]*> nop ++0000cfa4 <[^>]*> nop ++0000cfa8 <[^>]*> nop ++0000cfac <[^>]*> nop ++0000cfb0 <[^>]*> nop ++0000cfb4 <[^>]*> nop ++0000cfb8 <[^>]*> nop ++0000cfbc <[^>]*> nop ++0000cfc0 <[^>]*> nop ++0000cfc4 <[^>]*> nop ++0000cfc8 <[^>]*> nop ++0000cfcc <[^>]*> nop ++0000cfd0 <[^>]*> nop ++0000cfd4 <[^>]*> nop ++0000cfd8 <[^>]*> nop ++0000cfdc <[^>]*> nop ++0000cfe0 <[^>]*> nop ++0000cfe4 <[^>]*> nop ++0000cfe8 <[^>]*> nop ++0000cfec <[^>]*> nop ++0000cff0 <[^>]*> nop ++0000cff4 <[^>]*> nop ++0000cff8 <[^>]*> nop ++0000cffc <[^>]*> nop ++0000d000 <[^>]*> nop ++0000d004 <[^>]*> nop ++0000d008 <[^>]*> nop ++0000d00c <[^>]*> nop ++0000d010 <[^>]*> nop ++0000d014 <[^>]*> nop ++0000d018 <[^>]*> nop ++0000d01c <[^>]*> nop ++0000d020 <[^>]*> nop ++0000d024 <[^>]*> nop ++0000d028 <[^>]*> nop ++0000d02c <[^>]*> nop ++0000d030 <[^>]*> nop ++0000d034 <[^>]*> nop ++0000d038 <[^>]*> nop ++0000d03c <[^>]*> nop ++0000d040 <[^>]*> nop ++0000d044 <[^>]*> nop ++0000d048 <[^>]*> nop ++0000d04c <[^>]*> nop ++0000d050 <[^>]*> nop ++0000d054 <[^>]*> nop ++0000d058 <[^>]*> nop ++0000d05c <[^>]*> nop ++0000d060 <[^>]*> nop ++0000d064 <[^>]*> nop ++0000d068 <[^>]*> nop ++0000d06c <[^>]*> nop ++0000d070 <[^>]*> nop ++0000d074 <[^>]*> nop ++0000d078 <[^>]*> nop ++0000d07c <[^>]*> nop ++0000d080 <[^>]*> nop ++0000d084 <[^>]*> nop ++0000d088 <[^>]*> nop ++0000d08c <[^>]*> nop ++0000d090 <[^>]*> nop ++0000d094 <[^>]*> nop ++0000d098 <[^>]*> nop ++0000d09c <[^>]*> nop ++0000d0a0 <[^>]*> nop ++0000d0a4 <[^>]*> nop ++0000d0a8 <[^>]*> nop ++0000d0ac <[^>]*> nop ++0000d0b0 <[^>]*> nop ++0000d0b4 <[^>]*> nop ++0000d0b8 <[^>]*> nop ++0000d0bc <[^>]*> nop ++0000d0c0 <[^>]*> nop ++0000d0c4 <[^>]*> nop ++0000d0c8 <[^>]*> nop ++0000d0cc <[^>]*> nop ++0000d0d0 <[^>]*> nop ++0000d0d4 <[^>]*> nop ++0000d0d8 <[^>]*> nop ++0000d0dc <[^>]*> nop ++0000d0e0 <[^>]*> nop ++0000d0e4 <[^>]*> nop ++0000d0e8 <[^>]*> nop ++0000d0ec <[^>]*> nop ++0000d0f0 <[^>]*> nop ++0000d0f4 <[^>]*> nop ++0000d0f8 <[^>]*> nop ++0000d0fc <[^>]*> nop ++0000d100 <[^>]*> nop ++0000d104 <[^>]*> nop ++0000d108 <[^>]*> nop ++0000d10c <[^>]*> nop ++0000d110 <[^>]*> nop ++0000d114 <[^>]*> nop ++0000d118 <[^>]*> nop ++0000d11c <[^>]*> nop ++0000d120 <[^>]*> nop ++0000d124 <[^>]*> nop ++0000d128 <[^>]*> nop ++0000d12c <[^>]*> nop ++0000d130 <[^>]*> nop ++0000d134 <[^>]*> nop ++0000d138 <[^>]*> nop ++0000d13c <[^>]*> nop ++0000d140 <[^>]*> nop ++0000d144 <[^>]*> nop ++0000d148 <[^>]*> nop ++0000d14c <[^>]*> nop ++0000d150 <[^>]*> nop ++0000d154 <[^>]*> nop ++0000d158 <[^>]*> nop ++0000d15c <[^>]*> nop ++0000d160 <[^>]*> nop ++0000d164 <[^>]*> nop ++0000d168 <[^>]*> nop ++0000d16c <[^>]*> nop ++0000d170 <[^>]*> nop ++0000d174 <[^>]*> nop ++0000d178 <[^>]*> nop ++0000d17c <[^>]*> nop ++0000d180 <[^>]*> nop ++0000d184 <[^>]*> nop ++0000d188 <[^>]*> nop ++0000d18c <[^>]*> nop ++0000d190 <[^>]*> nop ++0000d194 <[^>]*> nop ++0000d198 <[^>]*> nop ++0000d19c <[^>]*> nop ++0000d1a0 <[^>]*> nop ++0000d1a4 <[^>]*> nop ++0000d1a8 <[^>]*> nop ++0000d1ac <[^>]*> nop ++0000d1b0 <[^>]*> nop ++0000d1b4 <[^>]*> nop ++0000d1b8 <[^>]*> nop ++0000d1bc <[^>]*> nop ++0000d1c0 <[^>]*> nop ++0000d1c4 <[^>]*> nop ++0000d1c8 <[^>]*> nop ++0000d1cc <[^>]*> nop ++0000d1d0 <[^>]*> nop ++0000d1d4 <[^>]*> nop ++0000d1d8 <[^>]*> nop ++0000d1dc <[^>]*> nop ++0000d1e0 <[^>]*> nop ++0000d1e4 <[^>]*> nop ++0000d1e8 <[^>]*> nop ++0000d1ec <[^>]*> nop ++0000d1f0 <[^>]*> nop ++0000d1f4 <[^>]*> nop ++0000d1f8 <[^>]*> nop ++0000d1fc <[^>]*> nop ++0000d200 <[^>]*> nop ++0000d204 <[^>]*> nop ++0000d208 <[^>]*> nop ++0000d20c <[^>]*> nop ++0000d210 <[^>]*> nop ++0000d214 <[^>]*> nop ++0000d218 <[^>]*> nop ++0000d21c <[^>]*> nop ++0000d220 <[^>]*> nop ++0000d224 <[^>]*> nop ++0000d228 <[^>]*> nop ++0000d22c <[^>]*> nop ++0000d230 <[^>]*> nop ++0000d234 <[^>]*> nop ++0000d238 <[^>]*> nop ++0000d23c <[^>]*> nop ++0000d240 <[^>]*> nop ++0000d244 <[^>]*> nop ++0000d248 <[^>]*> nop ++0000d24c <[^>]*> nop ++0000d250 <[^>]*> nop ++0000d254 <[^>]*> nop ++0000d258 <[^>]*> nop ++0000d25c <[^>]*> nop ++0000d260 <[^>]*> nop ++0000d264 <[^>]*> nop ++0000d268 <[^>]*> nop ++0000d26c <[^>]*> nop ++0000d270 <[^>]*> nop ++0000d274 <[^>]*> nop ++0000d278 <[^>]*> nop ++0000d27c <[^>]*> nop ++0000d280 <[^>]*> nop ++0000d284 <[^>]*> nop ++0000d288 <[^>]*> nop ++0000d28c <[^>]*> nop ++0000d290 <[^>]*> nop ++0000d294 <[^>]*> nop ++0000d298 <[^>]*> nop ++0000d29c <[^>]*> nop ++0000d2a0 <[^>]*> nop ++0000d2a4 <[^>]*> nop ++0000d2a8 <[^>]*> nop ++0000d2ac <[^>]*> nop ++0000d2b0 <[^>]*> nop ++0000d2b4 <[^>]*> nop ++0000d2b8 <[^>]*> nop ++0000d2bc <[^>]*> nop ++0000d2c0 <[^>]*> nop ++0000d2c4 <[^>]*> nop ++0000d2c8 <[^>]*> nop ++0000d2cc <[^>]*> nop ++0000d2d0 <[^>]*> nop ++0000d2d4 <[^>]*> nop ++0000d2d8 <[^>]*> nop ++0000d2dc <[^>]*> nop ++0000d2e0 <[^>]*> nop ++0000d2e4 <[^>]*> nop ++0000d2e8 <[^>]*> nop ++0000d2ec <[^>]*> nop ++0000d2f0 <[^>]*> nop ++0000d2f4 <[^>]*> nop ++0000d2f8 <[^>]*> nop ++0000d2fc <[^>]*> nop ++0000d300 <[^>]*> nop ++0000d304 <[^>]*> nop ++0000d308 <[^>]*> nop ++0000d30c <[^>]*> nop ++0000d310 <[^>]*> nop ++0000d314 <[^>]*> nop ++0000d318 <[^>]*> nop ++0000d31c <[^>]*> nop ++0000d320 <[^>]*> nop ++0000d324 <[^>]*> nop ++0000d328 <[^>]*> nop ++0000d32c <[^>]*> nop ++0000d330 <[^>]*> nop ++0000d334 <[^>]*> nop ++0000d338 <[^>]*> nop ++0000d33c <[^>]*> nop ++0000d340 <[^>]*> nop ++0000d344 <[^>]*> nop ++0000d348 <[^>]*> nop ++0000d34c <[^>]*> nop ++0000d350 <[^>]*> nop ++0000d354 <[^>]*> nop ++0000d358 <[^>]*> nop ++0000d35c <[^>]*> nop ++0000d360 <[^>]*> nop ++0000d364 <[^>]*> nop ++0000d368 <[^>]*> nop ++0000d36c <[^>]*> nop ++0000d370 <[^>]*> nop ++0000d374 <[^>]*> nop ++0000d378 <[^>]*> nop ++0000d37c <[^>]*> nop ++0000d380 <[^>]*> nop ++0000d384 <[^>]*> nop ++0000d388 <[^>]*> nop ++0000d38c <[^>]*> nop ++0000d390 <[^>]*> nop ++0000d394 <[^>]*> nop ++0000d398 <[^>]*> nop ++0000d39c <[^>]*> nop ++0000d3a0 <[^>]*> nop ++0000d3a4 <[^>]*> nop ++0000d3a8 <[^>]*> nop ++0000d3ac <[^>]*> nop ++0000d3b0 <[^>]*> nop ++0000d3b4 <[^>]*> nop ++0000d3b8 <[^>]*> nop ++0000d3bc <[^>]*> nop ++0000d3c0 <[^>]*> nop ++0000d3c4 <[^>]*> nop ++0000d3c8 <[^>]*> nop ++0000d3cc <[^>]*> nop ++0000d3d0 <[^>]*> nop ++0000d3d4 <[^>]*> nop ++0000d3d8 <[^>]*> nop ++0000d3dc <[^>]*> nop ++0000d3e0 <[^>]*> nop ++0000d3e4 <[^>]*> nop ++0000d3e8 <[^>]*> nop ++0000d3ec <[^>]*> nop ++0000d3f0 <[^>]*> nop ++0000d3f4 <[^>]*> nop ++0000d3f8 <[^>]*> nop ++0000d3fc <[^>]*> nop ++0000d400 <[^>]*> nop ++0000d404 <[^>]*> nop ++0000d408 <[^>]*> nop ++0000d40c <[^>]*> nop ++0000d410 <[^>]*> nop ++0000d414 <[^>]*> nop ++0000d418 <[^>]*> nop ++0000d41c <[^>]*> nop ++0000d420 <[^>]*> nop ++0000d424 <[^>]*> nop ++0000d428 <[^>]*> nop ++0000d42c <[^>]*> nop ++0000d430 <[^>]*> nop ++0000d434 <[^>]*> nop ++0000d438 <[^>]*> nop ++0000d43c <[^>]*> nop ++0000d440 <[^>]*> nop ++0000d444 <[^>]*> nop ++0000d448 <[^>]*> nop ++0000d44c <[^>]*> nop ++0000d450 <[^>]*> nop ++0000d454 <[^>]*> nop ++0000d458 <[^>]*> nop ++0000d45c <[^>]*> nop ++0000d460 <[^>]*> nop ++0000d464 <[^>]*> nop ++0000d468 <[^>]*> nop ++0000d46c <[^>]*> nop ++0000d470 <[^>]*> nop ++0000d474 <[^>]*> nop ++0000d478 <[^>]*> nop ++0000d47c <[^>]*> nop ++0000d480 <[^>]*> nop ++0000d484 <[^>]*> nop ++0000d488 <[^>]*> nop ++0000d48c <[^>]*> nop ++0000d490 <[^>]*> nop ++0000d494 <[^>]*> nop ++0000d498 <[^>]*> nop ++0000d49c <[^>]*> nop ++0000d4a0 <[^>]*> nop ++0000d4a4 <[^>]*> nop ++0000d4a8 <[^>]*> nop ++0000d4ac <[^>]*> nop ++0000d4b0 <[^>]*> nop ++0000d4b4 <[^>]*> nop ++0000d4b8 <[^>]*> nop ++0000d4bc <[^>]*> nop ++0000d4c0 <[^>]*> nop ++0000d4c4 <[^>]*> nop ++0000d4c8 <[^>]*> nop ++0000d4cc <[^>]*> nop ++0000d4d0 <[^>]*> nop ++0000d4d4 <[^>]*> nop ++0000d4d8 <[^>]*> nop ++0000d4dc <[^>]*> nop ++0000d4e0 <[^>]*> nop ++0000d4e4 <[^>]*> nop ++0000d4e8 <[^>]*> nop ++0000d4ec <[^>]*> nop ++0000d4f0 <[^>]*> nop ++0000d4f4 <[^>]*> nop ++0000d4f8 <[^>]*> nop ++0000d4fc <[^>]*> nop ++0000d500 <[^>]*> nop ++0000d504 <[^>]*> nop ++0000d508 <[^>]*> nop ++0000d50c <[^>]*> nop ++0000d510 <[^>]*> nop ++0000d514 <[^>]*> nop ++0000d518 <[^>]*> nop ++0000d51c <[^>]*> nop ++0000d520 <[^>]*> nop ++0000d524 <[^>]*> nop ++0000d528 <[^>]*> nop ++0000d52c <[^>]*> nop ++0000d530 <[^>]*> nop ++0000d534 <[^>]*> nop ++0000d538 <[^>]*> nop ++0000d53c <[^>]*> nop ++0000d540 <[^>]*> nop ++0000d544 <[^>]*> nop ++0000d548 <[^>]*> nop ++0000d54c <[^>]*> nop ++0000d550 <[^>]*> nop ++0000d554 <[^>]*> nop ++0000d558 <[^>]*> nop ++0000d55c <[^>]*> nop ++0000d560 <[^>]*> nop ++0000d564 <[^>]*> nop ++0000d568 <[^>]*> nop ++0000d56c <[^>]*> nop ++0000d570 <[^>]*> nop ++0000d574 <[^>]*> nop ++0000d578 <[^>]*> nop ++0000d57c <[^>]*> nop ++0000d580 <[^>]*> nop ++0000d584 <[^>]*> nop ++0000d588 <[^>]*> nop ++0000d58c <[^>]*> nop ++0000d590 <[^>]*> nop ++0000d594 <[^>]*> nop ++0000d598 <[^>]*> nop ++0000d59c <[^>]*> nop ++0000d5a0 <[^>]*> nop ++0000d5a4 <[^>]*> nop ++0000d5a8 <[^>]*> nop ++0000d5ac <[^>]*> nop ++0000d5b0 <[^>]*> nop ++0000d5b4 <[^>]*> nop ++0000d5b8 <[^>]*> nop ++0000d5bc <[^>]*> nop ++0000d5c0 <[^>]*> nop ++0000d5c4 <[^>]*> nop ++0000d5c8 <[^>]*> nop ++0000d5cc <[^>]*> nop ++0000d5d0 <[^>]*> nop ++0000d5d4 <[^>]*> nop ++0000d5d8 <[^>]*> nop ++0000d5dc <[^>]*> nop ++0000d5e0 <[^>]*> nop ++0000d5e4 <[^>]*> nop ++0000d5e8 <[^>]*> nop ++0000d5ec <[^>]*> nop ++0000d5f0 <[^>]*> nop ++0000d5f4 <[^>]*> nop ++0000d5f8 <[^>]*> nop ++0000d5fc <[^>]*> nop ++0000d600 <[^>]*> nop ++0000d604 <[^>]*> nop ++0000d608 <[^>]*> nop ++0000d60c <[^>]*> nop ++0000d610 <[^>]*> nop ++0000d614 <[^>]*> nop ++0000d618 <[^>]*> nop ++0000d61c <[^>]*> nop ++0000d620 <[^>]*> nop ++0000d624 <[^>]*> nop ++0000d628 <[^>]*> nop ++0000d62c <[^>]*> nop ++0000d630 <[^>]*> nop ++0000d634 <[^>]*> nop ++0000d638 <[^>]*> nop ++0000d63c <[^>]*> nop ++0000d640 <[^>]*> nop ++0000d644 <[^>]*> nop ++0000d648 <[^>]*> nop ++0000d64c <[^>]*> nop ++0000d650 <[^>]*> nop ++0000d654 <[^>]*> nop ++0000d658 <[^>]*> nop ++0000d65c <[^>]*> nop ++0000d660 <[^>]*> nop ++0000d664 <[^>]*> nop ++0000d668 <[^>]*> nop ++0000d66c <[^>]*> nop ++0000d670 <[^>]*> nop ++0000d674 <[^>]*> nop ++0000d678 <[^>]*> nop ++0000d67c <[^>]*> nop ++0000d680 <[^>]*> nop ++0000d684 <[^>]*> nop ++0000d688 <[^>]*> nop ++0000d68c <[^>]*> nop ++0000d690 <[^>]*> nop ++0000d694 <[^>]*> nop ++0000d698 <[^>]*> nop ++0000d69c <[^>]*> nop ++0000d6a0 <[^>]*> nop ++0000d6a4 <[^>]*> nop ++0000d6a8 <[^>]*> nop ++0000d6ac <[^>]*> nop ++0000d6b0 <[^>]*> nop ++0000d6b4 <[^>]*> nop ++0000d6b8 <[^>]*> nop ++0000d6bc <[^>]*> nop ++0000d6c0 <[^>]*> nop ++0000d6c4 <[^>]*> nop ++0000d6c8 <[^>]*> nop ++0000d6cc <[^>]*> nop ++0000d6d0 <[^>]*> nop ++0000d6d4 <[^>]*> nop ++0000d6d8 <[^>]*> nop ++0000d6dc <[^>]*> nop ++0000d6e0 <[^>]*> nop ++0000d6e4 <[^>]*> nop ++0000d6e8 <[^>]*> nop ++0000d6ec <[^>]*> nop ++0000d6f0 <[^>]*> nop ++0000d6f4 <[^>]*> nop ++0000d6f8 <[^>]*> nop ++0000d6fc <[^>]*> nop ++0000d700 <[^>]*> nop ++0000d704 <[^>]*> nop ++0000d708 <[^>]*> nop ++0000d70c <[^>]*> nop ++0000d710 <[^>]*> nop ++0000d714 <[^>]*> nop ++0000d718 <[^>]*> nop ++0000d71c <[^>]*> nop ++0000d720 <[^>]*> nop ++0000d724 <[^>]*> nop ++0000d728 <[^>]*> nop ++0000d72c <[^>]*> nop ++0000d730 <[^>]*> nop ++0000d734 <[^>]*> nop ++0000d738 <[^>]*> nop ++0000d73c <[^>]*> nop ++0000d740 <[^>]*> nop ++0000d744 <[^>]*> nop ++0000d748 <[^>]*> nop ++0000d74c <[^>]*> nop ++0000d750 <[^>]*> nop ++0000d754 <[^>]*> nop ++0000d758 <[^>]*> nop ++0000d75c <[^>]*> nop ++0000d760 <[^>]*> nop ++0000d764 <[^>]*> nop ++0000d768 <[^>]*> nop ++0000d76c <[^>]*> nop ++0000d770 <[^>]*> nop ++0000d774 <[^>]*> nop ++0000d778 <[^>]*> nop ++0000d77c <[^>]*> nop ++0000d780 <[^>]*> nop ++0000d784 <[^>]*> nop ++0000d788 <[^>]*> nop ++0000d78c <[^>]*> nop ++0000d790 <[^>]*> nop ++0000d794 <[^>]*> nop ++0000d798 <[^>]*> nop ++0000d79c <[^>]*> nop ++0000d7a0 <[^>]*> nop ++0000d7a4 <[^>]*> nop ++0000d7a8 <[^>]*> nop ++0000d7ac <[^>]*> nop ++0000d7b0 <[^>]*> nop ++0000d7b4 <[^>]*> nop ++0000d7b8 <[^>]*> nop ++0000d7bc <[^>]*> nop ++0000d7c0 <[^>]*> nop ++0000d7c4 <[^>]*> nop ++0000d7c8 <[^>]*> nop ++0000d7cc <[^>]*> nop ++0000d7d0 <[^>]*> nop ++0000d7d4 <[^>]*> nop ++0000d7d8 <[^>]*> nop ++0000d7dc <[^>]*> nop ++0000d7e0 <[^>]*> nop ++0000d7e4 <[^>]*> nop ++0000d7e8 <[^>]*> nop ++0000d7ec <[^>]*> nop ++0000d7f0 <[^>]*> nop ++0000d7f4 <[^>]*> nop ++0000d7f8 <[^>]*> nop ++0000d7fc <[^>]*> nop ++0000d800 <[^>]*> nop ++0000d804 <[^>]*> nop ++0000d808 <[^>]*> nop ++0000d80c <[^>]*> nop ++0000d810 <[^>]*> nop ++0000d814 <[^>]*> nop ++0000d818 <[^>]*> nop ++0000d81c <[^>]*> nop ++0000d820 <[^>]*> nop ++0000d824 <[^>]*> nop ++0000d828 <[^>]*> nop ++0000d82c <[^>]*> nop ++0000d830 <[^>]*> nop ++0000d834 <[^>]*> nop ++0000d838 <[^>]*> nop ++0000d83c <[^>]*> nop ++0000d840 <[^>]*> nop ++0000d844 <[^>]*> nop ++0000d848 <[^>]*> nop ++0000d84c <[^>]*> nop ++0000d850 <[^>]*> nop ++0000d854 <[^>]*> nop ++0000d858 <[^>]*> nop ++0000d85c <[^>]*> nop ++0000d860 <[^>]*> nop ++0000d864 <[^>]*> nop ++0000d868 <[^>]*> nop ++0000d86c <[^>]*> nop ++0000d870 <[^>]*> nop ++0000d874 <[^>]*> nop ++0000d878 <[^>]*> nop ++0000d87c <[^>]*> nop ++0000d880 <[^>]*> nop ++0000d884 <[^>]*> nop ++0000d888 <[^>]*> nop ++0000d88c <[^>]*> nop ++0000d890 <[^>]*> nop ++0000d894 <[^>]*> nop ++0000d898 <[^>]*> nop ++0000d89c <[^>]*> nop ++0000d8a0 <[^>]*> nop ++0000d8a4 <[^>]*> nop ++0000d8a8 <[^>]*> nop ++0000d8ac <[^>]*> nop ++0000d8b0 <[^>]*> nop ++0000d8b4 <[^>]*> nop ++0000d8b8 <[^>]*> nop ++0000d8bc <[^>]*> nop ++0000d8c0 <[^>]*> nop ++0000d8c4 <[^>]*> nop ++0000d8c8 <[^>]*> nop ++0000d8cc <[^>]*> nop ++0000d8d0 <[^>]*> nop ++0000d8d4 <[^>]*> nop ++0000d8d8 <[^>]*> nop ++0000d8dc <[^>]*> nop ++0000d8e0 <[^>]*> nop ++0000d8e4 <[^>]*> nop ++0000d8e8 <[^>]*> nop ++0000d8ec <[^>]*> nop ++0000d8f0 <[^>]*> nop ++0000d8f4 <[^>]*> nop ++0000d8f8 <[^>]*> nop ++0000d8fc <[^>]*> nop ++0000d900 <[^>]*> nop ++0000d904 <[^>]*> nop ++0000d908 <[^>]*> nop ++0000d90c <[^>]*> nop ++0000d910 <[^>]*> nop ++0000d914 <[^>]*> nop ++0000d918 <[^>]*> nop ++0000d91c <[^>]*> nop ++0000d920 <[^>]*> nop ++0000d924 <[^>]*> nop ++0000d928 <[^>]*> nop ++0000d92c <[^>]*> nop ++0000d930 <[^>]*> nop ++0000d934 <[^>]*> nop ++0000d938 <[^>]*> nop ++0000d93c <[^>]*> nop ++0000d940 <[^>]*> nop ++0000d944 <[^>]*> nop ++0000d948 <[^>]*> nop ++0000d94c <[^>]*> nop ++0000d950 <[^>]*> nop ++0000d954 <[^>]*> nop ++0000d958 <[^>]*> nop ++0000d95c <[^>]*> nop ++0000d960 <[^>]*> nop ++0000d964 <[^>]*> nop ++0000d968 <[^>]*> nop ++0000d96c <[^>]*> nop ++0000d970 <[^>]*> nop ++0000d974 <[^>]*> nop ++0000d978 <[^>]*> nop ++0000d97c <[^>]*> nop ++0000d980 <[^>]*> nop ++0000d984 <[^>]*> nop ++0000d988 <[^>]*> nop ++0000d98c <[^>]*> nop ++0000d990 <[^>]*> nop ++0000d994 <[^>]*> nop ++0000d998 <[^>]*> nop ++0000d99c <[^>]*> nop ++0000d9a0 <[^>]*> nop ++0000d9a4 <[^>]*> nop ++0000d9a8 <[^>]*> nop ++0000d9ac <[^>]*> nop ++0000d9b0 <[^>]*> nop ++0000d9b4 <[^>]*> nop ++0000d9b8 <[^>]*> nop ++0000d9bc <[^>]*> nop ++0000d9c0 <[^>]*> nop ++0000d9c4 <[^>]*> nop ++0000d9c8 <[^>]*> nop ++0000d9cc <[^>]*> nop ++0000d9d0 <[^>]*> nop ++0000d9d4 <[^>]*> nop ++0000d9d8 <[^>]*> nop ++0000d9dc <[^>]*> nop ++0000d9e0 <[^>]*> nop ++0000d9e4 <[^>]*> nop ++0000d9e8 <[^>]*> nop ++0000d9ec <[^>]*> nop ++0000d9f0 <[^>]*> nop ++0000d9f4 <[^>]*> nop ++0000d9f8 <[^>]*> nop ++0000d9fc <[^>]*> nop ++0000da00 <[^>]*> nop ++0000da04 <[^>]*> nop ++0000da08 <[^>]*> nop ++0000da0c <[^>]*> nop ++0000da10 <[^>]*> nop ++0000da14 <[^>]*> nop ++0000da18 <[^>]*> nop ++0000da1c <[^>]*> nop ++0000da20 <[^>]*> nop ++0000da24 <[^>]*> nop ++0000da28 <[^>]*> nop ++0000da2c <[^>]*> nop ++0000da30 <[^>]*> nop ++0000da34 <[^>]*> nop ++0000da38 <[^>]*> nop ++0000da3c <[^>]*> nop ++0000da40 <[^>]*> nop ++0000da44 <[^>]*> nop ++0000da48 <[^>]*> nop ++0000da4c <[^>]*> nop ++0000da50 <[^>]*> nop ++0000da54 <[^>]*> nop ++0000da58 <[^>]*> nop ++0000da5c <[^>]*> nop ++0000da60 <[^>]*> nop ++0000da64 <[^>]*> nop ++0000da68 <[^>]*> nop ++0000da6c <[^>]*> nop ++0000da70 <[^>]*> nop ++0000da74 <[^>]*> nop ++0000da78 <[^>]*> nop ++0000da7c <[^>]*> nop ++0000da80 <[^>]*> nop ++0000da84 <[^>]*> nop ++0000da88 <[^>]*> nop ++0000da8c <[^>]*> nop ++0000da90 <[^>]*> nop ++0000da94 <[^>]*> nop ++0000da98 <[^>]*> nop ++0000da9c <[^>]*> nop ++0000daa0 <[^>]*> nop ++0000daa4 <[^>]*> nop ++0000daa8 <[^>]*> nop ++0000daac <[^>]*> nop ++0000dab0 <[^>]*> nop ++0000dab4 <[^>]*> nop ++0000dab8 <[^>]*> nop ++0000dabc <[^>]*> nop ++0000dac0 <[^>]*> nop ++0000dac4 <[^>]*> nop ++0000dac8 <[^>]*> nop ++0000dacc <[^>]*> nop ++0000dad0 <[^>]*> nop ++0000dad4 <[^>]*> nop ++0000dad8 <[^>]*> nop ++0000dadc <[^>]*> nop ++0000dae0 <[^>]*> nop ++0000dae4 <[^>]*> nop ++0000dae8 <[^>]*> nop ++0000daec <[^>]*> nop ++0000daf0 <[^>]*> nop ++0000daf4 <[^>]*> nop ++0000daf8 <[^>]*> nop ++0000dafc <[^>]*> nop ++0000db00 <[^>]*> nop ++0000db04 <[^>]*> nop ++0000db08 <[^>]*> nop ++0000db0c <[^>]*> nop ++0000db10 <[^>]*> nop ++0000db14 <[^>]*> nop ++0000db18 <[^>]*> nop ++0000db1c <[^>]*> nop ++0000db20 <[^>]*> nop ++0000db24 <[^>]*> nop ++0000db28 <[^>]*> nop ++0000db2c <[^>]*> nop ++0000db30 <[^>]*> nop ++0000db34 <[^>]*> nop ++0000db38 <[^>]*> nop ++0000db3c <[^>]*> nop ++0000db40 <[^>]*> nop ++0000db44 <[^>]*> nop ++0000db48 <[^>]*> nop ++0000db4c <[^>]*> nop ++0000db50 <[^>]*> nop ++0000db54 <[^>]*> nop ++0000db58 <[^>]*> nop ++0000db5c <[^>]*> nop ++0000db60 <[^>]*> nop ++0000db64 <[^>]*> nop ++0000db68 <[^>]*> nop ++0000db6c <[^>]*> nop ++0000db70 <[^>]*> nop ++0000db74 <[^>]*> nop ++0000db78 <[^>]*> nop ++0000db7c <[^>]*> nop ++0000db80 <[^>]*> nop ++0000db84 <[^>]*> nop ++0000db88 <[^>]*> nop ++0000db8c <[^>]*> nop ++0000db90 <[^>]*> nop ++0000db94 <[^>]*> nop ++0000db98 <[^>]*> nop ++0000db9c <[^>]*> nop ++0000dba0 <[^>]*> nop ++0000dba4 <[^>]*> nop ++0000dba8 <[^>]*> nop ++0000dbac <[^>]*> nop ++0000dbb0 <[^>]*> nop ++0000dbb4 <[^>]*> nop ++0000dbb8 <[^>]*> nop ++0000dbbc <[^>]*> nop ++0000dbc0 <[^>]*> nop ++0000dbc4 <[^>]*> nop ++0000dbc8 <[^>]*> nop ++0000dbcc <[^>]*> nop ++0000dbd0 <[^>]*> nop ++0000dbd4 <[^>]*> nop ++0000dbd8 <[^>]*> nop ++0000dbdc <[^>]*> nop ++0000dbe0 <[^>]*> nop ++0000dbe4 <[^>]*> nop ++0000dbe8 <[^>]*> nop ++0000dbec <[^>]*> nop ++0000dbf0 <[^>]*> nop ++0000dbf4 <[^>]*> nop ++0000dbf8 <[^>]*> nop ++0000dbfc <[^>]*> nop ++0000dc00 <[^>]*> nop ++0000dc04 <[^>]*> nop ++0000dc08 <[^>]*> nop ++0000dc0c <[^>]*> nop ++0000dc10 <[^>]*> nop ++0000dc14 <[^>]*> nop ++0000dc18 <[^>]*> nop ++0000dc1c <[^>]*> nop ++0000dc20 <[^>]*> nop ++0000dc24 <[^>]*> nop ++0000dc28 <[^>]*> nop ++0000dc2c <[^>]*> nop ++0000dc30 <[^>]*> nop ++0000dc34 <[^>]*> nop ++0000dc38 <[^>]*> nop ++0000dc3c <[^>]*> nop ++0000dc40 <[^>]*> nop ++0000dc44 <[^>]*> nop ++0000dc48 <[^>]*> nop ++0000dc4c <[^>]*> nop ++0000dc50 <[^>]*> nop ++0000dc54 <[^>]*> nop ++0000dc58 <[^>]*> nop ++0000dc5c <[^>]*> nop ++0000dc60 <[^>]*> nop ++0000dc64 <[^>]*> nop ++0000dc68 <[^>]*> nop ++0000dc6c <[^>]*> nop ++0000dc70 <[^>]*> nop ++0000dc74 <[^>]*> nop ++0000dc78 <[^>]*> nop ++0000dc7c <[^>]*> nop ++0000dc80 <[^>]*> nop ++0000dc84 <[^>]*> nop ++0000dc88 <[^>]*> nop ++0000dc8c <[^>]*> nop ++0000dc90 <[^>]*> nop ++0000dc94 <[^>]*> nop ++0000dc98 <[^>]*> nop ++0000dc9c <[^>]*> nop ++0000dca0 <[^>]*> nop ++0000dca4 <[^>]*> nop ++0000dca8 <[^>]*> nop ++0000dcac <[^>]*> nop ++0000dcb0 <[^>]*> nop ++0000dcb4 <[^>]*> nop ++0000dcb8 <[^>]*> nop ++0000dcbc <[^>]*> nop ++0000dcc0 <[^>]*> nop ++0000dcc4 <[^>]*> nop ++0000dcc8 <[^>]*> nop ++0000dccc <[^>]*> nop ++0000dcd0 <[^>]*> nop ++0000dcd4 <[^>]*> nop ++0000dcd8 <[^>]*> nop ++0000dcdc <[^>]*> nop ++0000dce0 <[^>]*> nop ++0000dce4 <[^>]*> nop ++0000dce8 <[^>]*> nop ++0000dcec <[^>]*> nop ++0000dcf0 <[^>]*> nop ++0000dcf4 <[^>]*> nop ++0000dcf8 <[^>]*> nop ++0000dcfc <[^>]*> nop ++0000dd00 <[^>]*> nop ++0000dd04 <[^>]*> nop ++0000dd08 <[^>]*> nop ++0000dd0c <[^>]*> nop ++0000dd10 <[^>]*> nop ++0000dd14 <[^>]*> nop ++0000dd18 <[^>]*> nop ++0000dd1c <[^>]*> nop ++0000dd20 <[^>]*> nop ++0000dd24 <[^>]*> nop ++0000dd28 <[^>]*> nop ++0000dd2c <[^>]*> nop ++0000dd30 <[^>]*> nop ++0000dd34 <[^>]*> nop ++0000dd38 <[^>]*> nop ++0000dd3c <[^>]*> nop ++0000dd40 <[^>]*> nop ++0000dd44 <[^>]*> nop ++0000dd48 <[^>]*> nop ++0000dd4c <[^>]*> nop ++0000dd50 <[^>]*> nop ++0000dd54 <[^>]*> nop ++0000dd58 <[^>]*> nop ++0000dd5c <[^>]*> nop ++0000dd60 <[^>]*> nop ++0000dd64 <[^>]*> nop ++0000dd68 <[^>]*> nop ++0000dd6c <[^>]*> nop ++0000dd70 <[^>]*> nop ++0000dd74 <[^>]*> nop ++0000dd78 <[^>]*> nop ++0000dd7c <[^>]*> nop ++0000dd80 <[^>]*> nop ++0000dd84 <[^>]*> nop ++0000dd88 <[^>]*> nop ++0000dd8c <[^>]*> nop ++0000dd90 <[^>]*> nop ++0000dd94 <[^>]*> nop ++0000dd98 <[^>]*> nop ++0000dd9c <[^>]*> nop ++0000dda0 <[^>]*> nop ++0000dda4 <[^>]*> nop ++0000dda8 <[^>]*> nop ++0000ddac <[^>]*> nop ++0000ddb0 <[^>]*> nop ++0000ddb4 <[^>]*> nop ++0000ddb8 <[^>]*> nop ++0000ddbc <[^>]*> nop ++0000ddc0 <[^>]*> nop ++0000ddc4 <[^>]*> nop ++0000ddc8 <[^>]*> nop ++0000ddcc <[^>]*> nop ++0000ddd0 <[^>]*> nop ++0000ddd4 <[^>]*> nop ++0000ddd8 <[^>]*> nop ++0000dddc <[^>]*> nop ++0000dde0 <[^>]*> nop ++0000dde4 <[^>]*> nop ++0000dde8 <[^>]*> nop ++0000ddec <[^>]*> nop ++0000ddf0 <[^>]*> nop ++0000ddf4 <[^>]*> nop ++0000ddf8 <[^>]*> nop ++0000ddfc <[^>]*> nop ++0000de00 <[^>]*> nop ++0000de04 <[^>]*> nop ++0000de08 <[^>]*> nop ++0000de0c <[^>]*> nop ++0000de10 <[^>]*> nop ++0000de14 <[^>]*> nop ++0000de18 <[^>]*> nop ++0000de1c <[^>]*> nop ++0000de20 <[^>]*> nop ++0000de24 <[^>]*> nop ++0000de28 <[^>]*> nop ++0000de2c <[^>]*> nop ++0000de30 <[^>]*> nop ++0000de34 <[^>]*> nop ++0000de38 <[^>]*> nop ++0000de3c <[^>]*> nop ++0000de40 <[^>]*> nop ++0000de44 <[^>]*> nop ++0000de48 <[^>]*> nop ++0000de4c <[^>]*> nop ++0000de50 <[^>]*> nop ++0000de54 <[^>]*> nop ++0000de58 <[^>]*> nop ++0000de5c <[^>]*> nop ++0000de60 <[^>]*> nop ++0000de64 <[^>]*> nop ++0000de68 <[^>]*> nop ++0000de6c <[^>]*> nop ++0000de70 <[^>]*> nop ++0000de74 <[^>]*> nop ++0000de78 <[^>]*> nop ++0000de7c <[^>]*> nop ++0000de80 <[^>]*> nop ++0000de84 <[^>]*> nop ++0000de88 <[^>]*> nop ++0000de8c <[^>]*> nop ++0000de90 <[^>]*> nop ++0000de94 <[^>]*> nop ++0000de98 <[^>]*> nop ++0000de9c <[^>]*> nop ++0000dea0 <[^>]*> nop ++0000dea4 <[^>]*> nop ++0000dea8 <[^>]*> nop ++0000deac <[^>]*> nop ++0000deb0 <[^>]*> nop ++0000deb4 <[^>]*> nop ++0000deb8 <[^>]*> nop ++0000debc <[^>]*> nop ++0000dec0 <[^>]*> nop ++0000dec4 <[^>]*> nop ++0000dec8 <[^>]*> nop ++0000decc <[^>]*> nop ++0000ded0 <[^>]*> nop ++0000ded4 <[^>]*> nop ++0000ded8 <[^>]*> nop ++0000dedc <[^>]*> nop ++0000dee0 <[^>]*> nop ++0000dee4 <[^>]*> nop ++0000dee8 <[^>]*> nop ++0000deec <[^>]*> nop ++0000def0 <[^>]*> nop ++0000def4 <[^>]*> nop ++0000def8 <[^>]*> nop ++0000defc <[^>]*> nop ++0000df00 <[^>]*> nop ++0000df04 <[^>]*> nop ++0000df08 <[^>]*> nop ++0000df0c <[^>]*> nop ++0000df10 <[^>]*> nop ++0000df14 <[^>]*> nop ++0000df18 <[^>]*> nop ++0000df1c <[^>]*> nop ++0000df20 <[^>]*> nop ++0000df24 <[^>]*> nop ++0000df28 <[^>]*> nop ++0000df2c <[^>]*> nop ++0000df30 <[^>]*> nop ++0000df34 <[^>]*> nop ++0000df38 <[^>]*> nop ++0000df3c <[^>]*> nop ++0000df40 <[^>]*> nop ++0000df44 <[^>]*> nop ++0000df48 <[^>]*> nop ++0000df4c <[^>]*> nop ++0000df50 <[^>]*> nop ++0000df54 <[^>]*> nop ++0000df58 <[^>]*> nop ++0000df5c <[^>]*> nop ++0000df60 <[^>]*> nop ++0000df64 <[^>]*> nop ++0000df68 <[^>]*> nop ++0000df6c <[^>]*> nop ++0000df70 <[^>]*> nop ++0000df74 <[^>]*> nop ++0000df78 <[^>]*> nop ++0000df7c <[^>]*> nop ++0000df80 <[^>]*> nop ++0000df84 <[^>]*> nop ++0000df88 <[^>]*> nop ++0000df8c <[^>]*> nop ++0000df90 <[^>]*> nop ++0000df94 <[^>]*> nop ++0000df98 <[^>]*> nop ++0000df9c <[^>]*> nop ++0000dfa0 <[^>]*> nop ++0000dfa4 <[^>]*> nop ++0000dfa8 <[^>]*> nop ++0000dfac <[^>]*> nop ++0000dfb0 <[^>]*> nop ++0000dfb4 <[^>]*> nop ++0000dfb8 <[^>]*> nop ++0000dfbc <[^>]*> nop ++0000dfc0 <[^>]*> nop ++0000dfc4 <[^>]*> nop ++0000dfc8 <[^>]*> nop ++0000dfcc <[^>]*> nop ++0000dfd0 <[^>]*> nop ++0000dfd4 <[^>]*> nop ++0000dfd8 <[^>]*> nop ++0000dfdc <[^>]*> nop ++0000dfe0 <[^>]*> nop ++0000dfe4 <[^>]*> nop ++0000dfe8 <[^>]*> nop ++0000dfec <[^>]*> nop ++0000dff0 <[^>]*> nop ++0000dff4 <[^>]*> nop ++0000dff8 <[^>]*> nop ++0000dffc <[^>]*> nop ++0000e000 <[^>]*> nop ++0000e004 <[^>]*> nop ++0000e008 <[^>]*> nop ++0000e00c <[^>]*> nop ++0000e010 <[^>]*> nop ++0000e014 <[^>]*> nop ++0000e018 <[^>]*> nop ++0000e01c <[^>]*> nop ++0000e020 <[^>]*> nop ++0000e024 <[^>]*> nop ++0000e028 <[^>]*> nop ++0000e02c <[^>]*> nop ++0000e030 <[^>]*> nop ++0000e034 <[^>]*> nop ++0000e038 <[^>]*> nop ++0000e03c <[^>]*> nop ++0000e040 <[^>]*> nop ++0000e044 <[^>]*> nop ++0000e048 <[^>]*> nop ++0000e04c <[^>]*> nop ++0000e050 <[^>]*> nop ++0000e054 <[^>]*> nop ++0000e058 <[^>]*> nop ++0000e05c <[^>]*> nop ++0000e060 <[^>]*> nop ++0000e064 <[^>]*> nop ++0000e068 <[^>]*> nop ++0000e06c <[^>]*> nop ++0000e070 <[^>]*> nop ++0000e074 <[^>]*> nop ++0000e078 <[^>]*> nop ++0000e07c <[^>]*> nop ++0000e080 <[^>]*> nop ++0000e084 <[^>]*> nop ++0000e088 <[^>]*> nop ++0000e08c <[^>]*> nop ++0000e090 <[^>]*> nop ++0000e094 <[^>]*> nop ++0000e098 <[^>]*> nop ++0000e09c <[^>]*> nop ++0000e0a0 <[^>]*> nop ++0000e0a4 <[^>]*> nop ++0000e0a8 <[^>]*> nop ++0000e0ac <[^>]*> nop ++0000e0b0 <[^>]*> nop ++0000e0b4 <[^>]*> nop ++0000e0b8 <[^>]*> nop ++0000e0bc <[^>]*> nop ++0000e0c0 <[^>]*> nop ++0000e0c4 <[^>]*> nop ++0000e0c8 <[^>]*> nop ++0000e0cc <[^>]*> nop ++0000e0d0 <[^>]*> nop ++0000e0d4 <[^>]*> nop ++0000e0d8 <[^>]*> nop ++0000e0dc <[^>]*> nop ++0000e0e0 <[^>]*> nop ++0000e0e4 <[^>]*> nop ++0000e0e8 <[^>]*> nop ++0000e0ec <[^>]*> nop ++0000e0f0 <[^>]*> nop ++0000e0f4 <[^>]*> nop ++0000e0f8 <[^>]*> nop ++0000e0fc <[^>]*> nop ++0000e100 <[^>]*> nop ++0000e104 <[^>]*> nop ++0000e108 <[^>]*> nop ++0000e10c <[^>]*> nop ++0000e110 <[^>]*> nop ++0000e114 <[^>]*> nop ++0000e118 <[^>]*> nop ++0000e11c <[^>]*> nop ++0000e120 <[^>]*> nop ++0000e124 <[^>]*> nop ++0000e128 <[^>]*> nop ++0000e12c <[^>]*> nop ++0000e130 <[^>]*> nop ++0000e134 <[^>]*> nop ++0000e138 <[^>]*> nop ++0000e13c <[^>]*> nop ++0000e140 <[^>]*> nop ++0000e144 <[^>]*> nop ++0000e148 <[^>]*> nop ++0000e14c <[^>]*> nop ++0000e150 <[^>]*> nop ++0000e154 <[^>]*> nop ++0000e158 <[^>]*> nop ++0000e15c <[^>]*> nop ++0000e160 <[^>]*> nop ++0000e164 <[^>]*> nop ++0000e168 <[^>]*> nop ++0000e16c <[^>]*> nop ++0000e170 <[^>]*> nop ++0000e174 <[^>]*> nop ++0000e178 <[^>]*> nop ++0000e17c <[^>]*> nop ++0000e180 <[^>]*> nop ++0000e184 <[^>]*> nop ++0000e188 <[^>]*> nop ++0000e18c <[^>]*> nop ++0000e190 <[^>]*> nop ++0000e194 <[^>]*> nop ++0000e198 <[^>]*> nop ++0000e19c <[^>]*> nop ++0000e1a0 <[^>]*> nop ++0000e1a4 <[^>]*> nop ++0000e1a8 <[^>]*> nop ++0000e1ac <[^>]*> nop ++0000e1b0 <[^>]*> nop ++0000e1b4 <[^>]*> nop ++0000e1b8 <[^>]*> nop ++0000e1bc <[^>]*> nop ++0000e1c0 <[^>]*> nop ++0000e1c4 <[^>]*> nop ++0000e1c8 <[^>]*> nop ++0000e1cc <[^>]*> nop ++0000e1d0 <[^>]*> nop ++0000e1d4 <[^>]*> nop ++0000e1d8 <[^>]*> nop ++0000e1dc <[^>]*> nop ++0000e1e0 <[^>]*> nop ++0000e1e4 <[^>]*> nop ++0000e1e8 <[^>]*> nop ++0000e1ec <[^>]*> nop ++0000e1f0 <[^>]*> nop ++0000e1f4 <[^>]*> nop ++0000e1f8 <[^>]*> nop ++0000e1fc <[^>]*> nop ++0000e200 <[^>]*> nop ++0000e204 <[^>]*> nop ++0000e208 <[^>]*> nop ++0000e20c <[^>]*> nop ++0000e210 <[^>]*> nop ++0000e214 <[^>]*> nop ++0000e218 <[^>]*> nop ++0000e21c <[^>]*> nop ++0000e220 <[^>]*> nop ++0000e224 <[^>]*> nop ++0000e228 <[^>]*> nop ++0000e22c <[^>]*> nop ++0000e230 <[^>]*> nop ++0000e234 <[^>]*> nop ++0000e238 <[^>]*> nop ++0000e23c <[^>]*> nop ++0000e240 <[^>]*> nop ++0000e244 <[^>]*> nop ++0000e248 <[^>]*> nop ++0000e24c <[^>]*> nop ++0000e250 <[^>]*> nop ++0000e254 <[^>]*> nop ++0000e258 <[^>]*> nop ++0000e25c <[^>]*> nop ++0000e260 <[^>]*> nop ++0000e264 <[^>]*> nop ++0000e268 <[^>]*> nop ++0000e26c <[^>]*> nop ++0000e270 <[^>]*> nop ++0000e274 <[^>]*> nop ++0000e278 <[^>]*> nop ++0000e27c <[^>]*> nop ++0000e280 <[^>]*> nop ++0000e284 <[^>]*> nop ++0000e288 <[^>]*> nop ++0000e28c <[^>]*> nop ++0000e290 <[^>]*> nop ++0000e294 <[^>]*> nop ++0000e298 <[^>]*> nop ++0000e29c <[^>]*> nop ++0000e2a0 <[^>]*> nop ++0000e2a4 <[^>]*> nop ++0000e2a8 <[^>]*> nop ++0000e2ac <[^>]*> nop ++0000e2b0 <[^>]*> nop ++0000e2b4 <[^>]*> nop ++0000e2b8 <[^>]*> nop ++0000e2bc <[^>]*> nop ++0000e2c0 <[^>]*> nop ++0000e2c4 <[^>]*> nop ++0000e2c8 <[^>]*> nop ++0000e2cc <[^>]*> nop ++0000e2d0 <[^>]*> nop ++0000e2d4 <[^>]*> nop ++0000e2d8 <[^>]*> nop ++0000e2dc <[^>]*> nop ++0000e2e0 <[^>]*> nop ++0000e2e4 <[^>]*> nop ++0000e2e8 <[^>]*> nop ++0000e2ec <[^>]*> nop ++0000e2f0 <[^>]*> nop ++0000e2f4 <[^>]*> nop ++0000e2f8 <[^>]*> nop ++0000e2fc <[^>]*> nop ++0000e300 <[^>]*> nop ++0000e304 <[^>]*> nop ++0000e308 <[^>]*> nop ++0000e30c <[^>]*> nop ++0000e310 <[^>]*> nop ++0000e314 <[^>]*> nop ++0000e318 <[^>]*> nop ++0000e31c <[^>]*> nop ++0000e320 <[^>]*> nop ++0000e324 <[^>]*> nop ++0000e328 <[^>]*> nop ++0000e32c <[^>]*> nop ++0000e330 <[^>]*> nop ++0000e334 <[^>]*> nop ++0000e338 <[^>]*> nop ++0000e33c <[^>]*> nop ++0000e340 <[^>]*> nop ++0000e344 <[^>]*> nop ++0000e348 <[^>]*> nop ++0000e34c <[^>]*> nop ++0000e350 <[^>]*> nop ++0000e354 <[^>]*> nop ++0000e358 <[^>]*> nop ++0000e35c <[^>]*> nop ++0000e360 <[^>]*> nop ++0000e364 <[^>]*> nop ++0000e368 <[^>]*> nop ++0000e36c <[^>]*> nop ++0000e370 <[^>]*> nop ++0000e374 <[^>]*> nop ++0000e378 <[^>]*> nop ++0000e37c <[^>]*> nop ++0000e380 <[^>]*> nop ++0000e384 <[^>]*> nop ++0000e388 <[^>]*> nop ++0000e38c <[^>]*> nop ++0000e390 <[^>]*> nop ++0000e394 <[^>]*> nop ++0000e398 <[^>]*> nop ++0000e39c <[^>]*> nop ++0000e3a0 <[^>]*> nop ++0000e3a4 <[^>]*> nop ++0000e3a8 <[^>]*> nop ++0000e3ac <[^>]*> nop ++0000e3b0 <[^>]*> nop ++0000e3b4 <[^>]*> nop ++0000e3b8 <[^>]*> nop ++0000e3bc <[^>]*> nop ++0000e3c0 <[^>]*> nop ++0000e3c4 <[^>]*> nop ++0000e3c8 <[^>]*> nop ++0000e3cc <[^>]*> nop ++0000e3d0 <[^>]*> nop ++0000e3d4 <[^>]*> nop ++0000e3d8 <[^>]*> nop ++0000e3dc <[^>]*> nop ++0000e3e0 <[^>]*> nop ++0000e3e4 <[^>]*> nop ++0000e3e8 <[^>]*> nop ++0000e3ec <[^>]*> nop ++0000e3f0 <[^>]*> nop ++0000e3f4 <[^>]*> nop ++0000e3f8 <[^>]*> nop ++0000e3fc <[^>]*> nop ++0000e400 <[^>]*> nop ++0000e404 <[^>]*> nop ++0000e408 <[^>]*> nop ++0000e40c <[^>]*> nop ++0000e410 <[^>]*> nop ++0000e414 <[^>]*> nop ++0000e418 <[^>]*> nop ++0000e41c <[^>]*> nop ++0000e420 <[^>]*> nop ++0000e424 <[^>]*> nop ++0000e428 <[^>]*> nop ++0000e42c <[^>]*> nop ++0000e430 <[^>]*> nop ++0000e434 <[^>]*> nop ++0000e438 <[^>]*> nop ++0000e43c <[^>]*> nop ++0000e440 <[^>]*> nop ++0000e444 <[^>]*> nop ++0000e448 <[^>]*> nop ++0000e44c <[^>]*> nop ++0000e450 <[^>]*> nop ++0000e454 <[^>]*> nop ++0000e458 <[^>]*> nop ++0000e45c <[^>]*> nop ++0000e460 <[^>]*> nop ++0000e464 <[^>]*> nop ++0000e468 <[^>]*> nop ++0000e46c <[^>]*> nop ++0000e470 <[^>]*> nop ++0000e474 <[^>]*> nop ++0000e478 <[^>]*> nop ++0000e47c <[^>]*> nop ++0000e480 <[^>]*> nop ++0000e484 <[^>]*> nop ++0000e488 <[^>]*> nop ++0000e48c <[^>]*> nop ++0000e490 <[^>]*> nop ++0000e494 <[^>]*> nop ++0000e498 <[^>]*> nop ++0000e49c <[^>]*> nop ++0000e4a0 <[^>]*> nop ++0000e4a4 <[^>]*> nop ++0000e4a8 <[^>]*> nop ++0000e4ac <[^>]*> nop ++0000e4b0 <[^>]*> nop ++0000e4b4 <[^>]*> nop ++0000e4b8 <[^>]*> nop ++0000e4bc <[^>]*> nop ++0000e4c0 <[^>]*> nop ++0000e4c4 <[^>]*> nop ++0000e4c8 <[^>]*> nop ++0000e4cc <[^>]*> nop ++0000e4d0 <[^>]*> nop ++0000e4d4 <[^>]*> nop ++0000e4d8 <[^>]*> nop ++0000e4dc <[^>]*> nop ++0000e4e0 <[^>]*> nop ++0000e4e4 <[^>]*> nop ++0000e4e8 <[^>]*> nop ++0000e4ec <[^>]*> nop ++0000e4f0 <[^>]*> nop ++0000e4f4 <[^>]*> nop ++0000e4f8 <[^>]*> nop ++0000e4fc <[^>]*> nop ++0000e500 <[^>]*> nop ++0000e504 <[^>]*> nop ++0000e508 <[^>]*> nop ++0000e50c <[^>]*> nop ++0000e510 <[^>]*> nop ++0000e514 <[^>]*> nop ++0000e518 <[^>]*> nop ++0000e51c <[^>]*> nop ++0000e520 <[^>]*> nop ++0000e524 <[^>]*> nop ++0000e528 <[^>]*> nop ++0000e52c <[^>]*> nop ++0000e530 <[^>]*> nop ++0000e534 <[^>]*> nop ++0000e538 <[^>]*> nop ++0000e53c <[^>]*> nop ++0000e540 <[^>]*> nop ++0000e544 <[^>]*> nop ++0000e548 <[^>]*> nop ++0000e54c <[^>]*> nop ++0000e550 <[^>]*> nop ++0000e554 <[^>]*> nop ++0000e558 <[^>]*> nop ++0000e55c <[^>]*> nop ++0000e560 <[^>]*> nop ++0000e564 <[^>]*> nop ++0000e568 <[^>]*> nop ++0000e56c <[^>]*> nop ++0000e570 <[^>]*> nop ++0000e574 <[^>]*> nop ++0000e578 <[^>]*> nop ++0000e57c <[^>]*> nop ++0000e580 <[^>]*> nop ++0000e584 <[^>]*> nop ++0000e588 <[^>]*> nop ++0000e58c <[^>]*> nop ++0000e590 <[^>]*> nop ++0000e594 <[^>]*> nop ++0000e598 <[^>]*> nop ++0000e59c <[^>]*> nop ++0000e5a0 <[^>]*> nop ++0000e5a4 <[^>]*> nop ++0000e5a8 <[^>]*> nop ++0000e5ac <[^>]*> nop ++0000e5b0 <[^>]*> nop ++0000e5b4 <[^>]*> nop ++0000e5b8 <[^>]*> nop ++0000e5bc <[^>]*> nop ++0000e5c0 <[^>]*> nop ++0000e5c4 <[^>]*> nop ++0000e5c8 <[^>]*> nop ++0000e5cc <[^>]*> nop ++0000e5d0 <[^>]*> nop ++0000e5d4 <[^>]*> nop ++0000e5d8 <[^>]*> nop ++0000e5dc <[^>]*> nop ++0000e5e0 <[^>]*> nop ++0000e5e4 <[^>]*> nop ++0000e5e8 <[^>]*> nop ++0000e5ec <[^>]*> nop ++0000e5f0 <[^>]*> nop ++0000e5f4 <[^>]*> nop ++0000e5f8 <[^>]*> nop ++0000e5fc <[^>]*> nop ++0000e600 <[^>]*> nop ++0000e604 <[^>]*> nop ++0000e608 <[^>]*> nop ++0000e60c <[^>]*> nop ++0000e610 <[^>]*> nop ++0000e614 <[^>]*> nop ++0000e618 <[^>]*> nop ++0000e61c <[^>]*> nop ++0000e620 <[^>]*> nop ++0000e624 <[^>]*> nop ++0000e628 <[^>]*> nop ++0000e62c <[^>]*> nop ++0000e630 <[^>]*> nop ++0000e634 <[^>]*> nop ++0000e638 <[^>]*> nop ++0000e63c <[^>]*> nop ++0000e640 <[^>]*> nop ++0000e644 <[^>]*> nop ++0000e648 <[^>]*> nop ++0000e64c <[^>]*> nop ++0000e650 <[^>]*> nop ++0000e654 <[^>]*> nop ++0000e658 <[^>]*> nop ++0000e65c <[^>]*> nop ++0000e660 <[^>]*> nop ++0000e664 <[^>]*> nop ++0000e668 <[^>]*> nop ++0000e66c <[^>]*> nop ++0000e670 <[^>]*> nop ++0000e674 <[^>]*> nop ++0000e678 <[^>]*> nop ++0000e67c <[^>]*> nop ++0000e680 <[^>]*> nop ++0000e684 <[^>]*> nop ++0000e688 <[^>]*> nop ++0000e68c <[^>]*> nop ++0000e690 <[^>]*> nop ++0000e694 <[^>]*> nop ++0000e698 <[^>]*> nop ++0000e69c <[^>]*> nop ++0000e6a0 <[^>]*> nop ++0000e6a4 <[^>]*> nop ++0000e6a8 <[^>]*> nop ++0000e6ac <[^>]*> nop ++0000e6b0 <[^>]*> nop ++0000e6b4 <[^>]*> nop ++0000e6b8 <[^>]*> nop ++0000e6bc <[^>]*> nop ++0000e6c0 <[^>]*> nop ++0000e6c4 <[^>]*> nop ++0000e6c8 <[^>]*> nop ++0000e6cc <[^>]*> nop ++0000e6d0 <[^>]*> nop ++0000e6d4 <[^>]*> nop ++0000e6d8 <[^>]*> nop ++0000e6dc <[^>]*> nop ++0000e6e0 <[^>]*> nop ++0000e6e4 <[^>]*> nop ++0000e6e8 <[^>]*> nop ++0000e6ec <[^>]*> nop ++0000e6f0 <[^>]*> nop ++0000e6f4 <[^>]*> nop ++0000e6f8 <[^>]*> nop ++0000e6fc <[^>]*> nop ++0000e700 <[^>]*> nop ++0000e704 <[^>]*> nop ++0000e708 <[^>]*> nop ++0000e70c <[^>]*> nop ++0000e710 <[^>]*> nop ++0000e714 <[^>]*> nop ++0000e718 <[^>]*> nop ++0000e71c <[^>]*> nop ++0000e720 <[^>]*> nop ++0000e724 <[^>]*> nop ++0000e728 <[^>]*> nop ++0000e72c <[^>]*> nop ++0000e730 <[^>]*> nop ++0000e734 <[^>]*> nop ++0000e738 <[^>]*> nop ++0000e73c <[^>]*> nop ++0000e740 <[^>]*> nop ++0000e744 <[^>]*> nop ++0000e748 <[^>]*> nop ++0000e74c <[^>]*> nop ++0000e750 <[^>]*> nop ++0000e754 <[^>]*> nop ++0000e758 <[^>]*> nop ++0000e75c <[^>]*> nop ++0000e760 <[^>]*> nop ++0000e764 <[^>]*> nop ++0000e768 <[^>]*> nop ++0000e76c <[^>]*> nop ++0000e770 <[^>]*> nop ++0000e774 <[^>]*> nop ++0000e778 <[^>]*> nop ++0000e77c <[^>]*> nop ++0000e780 <[^>]*> nop ++0000e784 <[^>]*> nop ++0000e788 <[^>]*> nop ++0000e78c <[^>]*> nop ++0000e790 <[^>]*> nop ++0000e794 <[^>]*> nop ++0000e798 <[^>]*> nop ++0000e79c <[^>]*> nop ++0000e7a0 <[^>]*> nop ++0000e7a4 <[^>]*> nop ++0000e7a8 <[^>]*> nop ++0000e7ac <[^>]*> nop ++0000e7b0 <[^>]*> nop ++0000e7b4 <[^>]*> nop ++0000e7b8 <[^>]*> nop ++0000e7bc <[^>]*> nop ++0000e7c0 <[^>]*> nop ++0000e7c4 <[^>]*> nop ++0000e7c8 <[^>]*> nop ++0000e7cc <[^>]*> nop ++0000e7d0 <[^>]*> nop ++0000e7d4 <[^>]*> nop ++0000e7d8 <[^>]*> nop ++0000e7dc <[^>]*> nop ++0000e7e0 <[^>]*> nop ++0000e7e4 <[^>]*> nop ++0000e7e8 <[^>]*> nop ++0000e7ec <[^>]*> nop ++0000e7f0 <[^>]*> nop ++0000e7f4 <[^>]*> nop ++0000e7f8 <[^>]*> nop ++0000e7fc <[^>]*> nop ++0000e800 <[^>]*> nop ++0000e804 <[^>]*> nop ++0000e808 <[^>]*> nop ++0000e80c <[^>]*> nop ++0000e810 <[^>]*> nop ++0000e814 <[^>]*> nop ++0000e818 <[^>]*> nop ++0000e81c <[^>]*> nop ++0000e820 <[^>]*> nop ++0000e824 <[^>]*> nop ++0000e828 <[^>]*> nop ++0000e82c <[^>]*> nop ++0000e830 <[^>]*> nop ++0000e834 <[^>]*> nop ++0000e838 <[^>]*> nop ++0000e83c <[^>]*> nop ++0000e840 <[^>]*> nop ++0000e844 <[^>]*> nop ++0000e848 <[^>]*> nop ++0000e84c <[^>]*> nop ++0000e850 <[^>]*> nop ++0000e854 <[^>]*> nop ++0000e858 <[^>]*> nop ++0000e85c <[^>]*> nop ++0000e860 <[^>]*> nop ++0000e864 <[^>]*> nop ++0000e868 <[^>]*> nop ++0000e86c <[^>]*> nop ++0000e870 <[^>]*> nop ++0000e874 <[^>]*> nop ++0000e878 <[^>]*> nop ++0000e87c <[^>]*> nop ++0000e880 <[^>]*> nop ++0000e884 <[^>]*> nop ++0000e888 <[^>]*> nop ++0000e88c <[^>]*> nop ++0000e890 <[^>]*> nop ++0000e894 <[^>]*> nop ++0000e898 <[^>]*> nop ++0000e89c <[^>]*> nop ++0000e8a0 <[^>]*> nop ++0000e8a4 <[^>]*> nop ++0000e8a8 <[^>]*> nop ++0000e8ac <[^>]*> nop ++0000e8b0 <[^>]*> nop ++0000e8b4 <[^>]*> nop ++0000e8b8 <[^>]*> nop ++0000e8bc <[^>]*> nop ++0000e8c0 <[^>]*> nop ++0000e8c4 <[^>]*> nop ++0000e8c8 <[^>]*> nop ++0000e8cc <[^>]*> nop ++0000e8d0 <[^>]*> nop ++0000e8d4 <[^>]*> nop ++0000e8d8 <[^>]*> nop ++0000e8dc <[^>]*> nop ++0000e8e0 <[^>]*> nop ++0000e8e4 <[^>]*> nop ++0000e8e8 <[^>]*> nop ++0000e8ec <[^>]*> nop ++0000e8f0 <[^>]*> nop ++0000e8f4 <[^>]*> nop ++0000e8f8 <[^>]*> nop ++0000e8fc <[^>]*> nop ++0000e900 <[^>]*> nop ++0000e904 <[^>]*> nop ++0000e908 <[^>]*> nop ++0000e90c <[^>]*> nop ++0000e910 <[^>]*> nop ++0000e914 <[^>]*> nop ++0000e918 <[^>]*> nop ++0000e91c <[^>]*> nop ++0000e920 <[^>]*> nop ++0000e924 <[^>]*> nop ++0000e928 <[^>]*> nop ++0000e92c <[^>]*> nop ++0000e930 <[^>]*> nop ++0000e934 <[^>]*> nop ++0000e938 <[^>]*> nop ++0000e93c <[^>]*> nop ++0000e940 <[^>]*> nop ++0000e944 <[^>]*> nop ++0000e948 <[^>]*> nop ++0000e94c <[^>]*> nop ++0000e950 <[^>]*> nop ++0000e954 <[^>]*> nop ++0000e958 <[^>]*> nop ++0000e95c <[^>]*> nop ++0000e960 <[^>]*> nop ++0000e964 <[^>]*> nop ++0000e968 <[^>]*> nop ++0000e96c <[^>]*> nop ++0000e970 <[^>]*> nop ++0000e974 <[^>]*> nop ++0000e978 <[^>]*> nop ++0000e97c <[^>]*> nop ++0000e980 <[^>]*> nop ++0000e984 <[^>]*> nop ++0000e988 <[^>]*> nop ++0000e98c <[^>]*> nop ++0000e990 <[^>]*> nop ++0000e994 <[^>]*> nop ++0000e998 <[^>]*> nop ++0000e99c <[^>]*> nop ++0000e9a0 <[^>]*> nop ++0000e9a4 <[^>]*> nop ++0000e9a8 <[^>]*> nop ++0000e9ac <[^>]*> nop ++0000e9b0 <[^>]*> nop ++0000e9b4 <[^>]*> nop ++0000e9b8 <[^>]*> nop ++0000e9bc <[^>]*> nop ++0000e9c0 <[^>]*> nop ++0000e9c4 <[^>]*> nop ++0000e9c8 <[^>]*> nop ++0000e9cc <[^>]*> nop ++0000e9d0 <[^>]*> nop ++0000e9d4 <[^>]*> nop ++0000e9d8 <[^>]*> nop ++0000e9dc <[^>]*> nop ++0000e9e0 <[^>]*> nop ++0000e9e4 <[^>]*> nop ++0000e9e8 <[^>]*> nop ++0000e9ec <[^>]*> nop ++0000e9f0 <[^>]*> nop ++0000e9f4 <[^>]*> nop ++0000e9f8 <[^>]*> nop ++0000e9fc <[^>]*> nop ++0000ea00 <[^>]*> nop ++0000ea04 <[^>]*> nop ++0000ea08 <[^>]*> nop ++0000ea0c <[^>]*> nop ++0000ea10 <[^>]*> nop ++0000ea14 <[^>]*> nop ++0000ea18 <[^>]*> nop ++0000ea1c <[^>]*> nop ++0000ea20 <[^>]*> nop ++0000ea24 <[^>]*> nop ++0000ea28 <[^>]*> nop ++0000ea2c <[^>]*> nop ++0000ea30 <[^>]*> nop ++0000ea34 <[^>]*> nop ++0000ea38 <[^>]*> nop ++0000ea3c <[^>]*> nop ++0000ea40 <[^>]*> nop ++0000ea44 <[^>]*> nop ++0000ea48 <[^>]*> nop ++0000ea4c <[^>]*> nop ++0000ea50 <[^>]*> nop ++0000ea54 <[^>]*> nop ++0000ea58 <[^>]*> nop ++0000ea5c <[^>]*> nop ++0000ea60 <[^>]*> nop ++0000ea64 <[^>]*> nop ++0000ea68 <[^>]*> nop ++0000ea6c <[^>]*> nop ++0000ea70 <[^>]*> nop ++0000ea74 <[^>]*> nop ++0000ea78 <[^>]*> nop ++0000ea7c <[^>]*> nop ++0000ea80 <[^>]*> nop ++0000ea84 <[^>]*> nop ++0000ea88 <[^>]*> nop ++0000ea8c <[^>]*> nop ++0000ea90 <[^>]*> nop ++0000ea94 <[^>]*> nop ++0000ea98 <[^>]*> nop ++0000ea9c <[^>]*> nop ++0000eaa0 <[^>]*> nop ++0000eaa4 <[^>]*> nop ++0000eaa8 <[^>]*> nop ++0000eaac <[^>]*> nop ++0000eab0 <[^>]*> nop ++0000eab4 <[^>]*> nop ++0000eab8 <[^>]*> nop ++0000eabc <[^>]*> nop ++0000eac0 <[^>]*> nop ++0000eac4 <[^>]*> nop ++0000eac8 <[^>]*> nop ++0000eacc <[^>]*> nop ++0000ead0 <[^>]*> nop ++0000ead4 <[^>]*> nop ++0000ead8 <[^>]*> nop ++0000eadc <[^>]*> nop ++0000eae0 <[^>]*> nop ++0000eae4 <[^>]*> nop ++0000eae8 <[^>]*> nop ++0000eaec <[^>]*> nop ++0000eaf0 <[^>]*> nop ++0000eaf4 <[^>]*> nop ++0000eaf8 <[^>]*> nop ++0000eafc <[^>]*> nop ++0000eb00 <[^>]*> nop ++0000eb04 <[^>]*> nop ++0000eb08 <[^>]*> nop ++0000eb0c <[^>]*> nop ++0000eb10 <[^>]*> nop ++0000eb14 <[^>]*> nop ++0000eb18 <[^>]*> nop ++0000eb1c <[^>]*> nop ++0000eb20 <[^>]*> nop ++0000eb24 <[^>]*> nop ++0000eb28 <[^>]*> nop ++0000eb2c <[^>]*> nop ++0000eb30 <[^>]*> nop ++0000eb34 <[^>]*> nop ++0000eb38 <[^>]*> nop ++0000eb3c <[^>]*> nop ++0000eb40 <[^>]*> nop ++0000eb44 <[^>]*> nop ++0000eb48 <[^>]*> nop ++0000eb4c <[^>]*> nop ++0000eb50 <[^>]*> nop ++0000eb54 <[^>]*> nop ++0000eb58 <[^>]*> nop ++0000eb5c <[^>]*> nop ++0000eb60 <[^>]*> nop ++0000eb64 <[^>]*> nop ++0000eb68 <[^>]*> nop ++0000eb6c <[^>]*> nop ++0000eb70 <[^>]*> nop ++0000eb74 <[^>]*> nop ++0000eb78 <[^>]*> nop ++0000eb7c <[^>]*> nop ++0000eb80 <[^>]*> nop ++0000eb84 <[^>]*> nop ++0000eb88 <[^>]*> nop ++0000eb8c <[^>]*> nop ++0000eb90 <[^>]*> nop ++0000eb94 <[^>]*> nop ++0000eb98 <[^>]*> nop ++0000eb9c <[^>]*> nop ++0000eba0 <[^>]*> nop ++0000eba4 <[^>]*> nop ++0000eba8 <[^>]*> nop ++0000ebac <[^>]*> nop ++0000ebb0 <[^>]*> nop ++0000ebb4 <[^>]*> nop ++0000ebb8 <[^>]*> nop ++0000ebbc <[^>]*> nop ++0000ebc0 <[^>]*> nop ++0000ebc4 <[^>]*> nop ++0000ebc8 <[^>]*> nop ++0000ebcc <[^>]*> nop ++0000ebd0 <[^>]*> nop ++0000ebd4 <[^>]*> nop ++0000ebd8 <[^>]*> nop ++0000ebdc <[^>]*> nop ++0000ebe0 <[^>]*> nop ++0000ebe4 <[^>]*> nop ++0000ebe8 <[^>]*> nop ++0000ebec <[^>]*> nop ++0000ebf0 <[^>]*> nop ++0000ebf4 <[^>]*> nop ++0000ebf8 <[^>]*> nop ++0000ebfc <[^>]*> nop ++0000ec00 <[^>]*> nop ++0000ec04 <[^>]*> nop ++0000ec08 <[^>]*> nop ++0000ec0c <[^>]*> nop ++0000ec10 <[^>]*> nop ++0000ec14 <[^>]*> nop ++0000ec18 <[^>]*> nop ++0000ec1c <[^>]*> nop ++0000ec20 <[^>]*> nop ++0000ec24 <[^>]*> nop ++0000ec28 <[^>]*> nop ++0000ec2c <[^>]*> nop ++0000ec30 <[^>]*> nop ++0000ec34 <[^>]*> nop ++0000ec38 <[^>]*> nop ++0000ec3c <[^>]*> nop ++0000ec40 <[^>]*> nop ++0000ec44 <[^>]*> nop ++0000ec48 <[^>]*> nop ++0000ec4c <[^>]*> nop ++0000ec50 <[^>]*> nop ++0000ec54 <[^>]*> nop ++0000ec58 <[^>]*> nop ++0000ec5c <[^>]*> nop ++0000ec60 <[^>]*> nop ++0000ec64 <[^>]*> nop ++0000ec68 <[^>]*> nop ++0000ec6c <[^>]*> nop ++0000ec70 <[^>]*> nop ++0000ec74 <[^>]*> nop ++0000ec78 <[^>]*> nop ++0000ec7c <[^>]*> nop ++0000ec80 <[^>]*> nop ++0000ec84 <[^>]*> nop ++0000ec88 <[^>]*> nop ++0000ec8c <[^>]*> nop ++0000ec90 <[^>]*> nop ++0000ec94 <[^>]*> nop ++0000ec98 <[^>]*> nop ++0000ec9c <[^>]*> nop ++0000eca0 <[^>]*> nop ++0000eca4 <[^>]*> nop ++0000eca8 <[^>]*> nop ++0000ecac <[^>]*> nop ++0000ecb0 <[^>]*> nop ++0000ecb4 <[^>]*> nop ++0000ecb8 <[^>]*> nop ++0000ecbc <[^>]*> nop ++0000ecc0 <[^>]*> nop ++0000ecc4 <[^>]*> nop ++0000ecc8 <[^>]*> nop ++0000eccc <[^>]*> nop ++0000ecd0 <[^>]*> nop ++0000ecd4 <[^>]*> nop ++0000ecd8 <[^>]*> nop ++0000ecdc <[^>]*> nop ++0000ece0 <[^>]*> nop ++0000ece4 <[^>]*> nop ++0000ece8 <[^>]*> nop ++0000ecec <[^>]*> nop ++0000ecf0 <[^>]*> nop ++0000ecf4 <[^>]*> nop ++0000ecf8 <[^>]*> nop ++0000ecfc <[^>]*> nop ++0000ed00 <[^>]*> nop ++0000ed04 <[^>]*> nop ++0000ed08 <[^>]*> nop ++0000ed0c <[^>]*> nop ++0000ed10 <[^>]*> nop ++0000ed14 <[^>]*> nop ++0000ed18 <[^>]*> nop ++0000ed1c <[^>]*> nop ++0000ed20 <[^>]*> nop ++0000ed24 <[^>]*> nop ++0000ed28 <[^>]*> nop ++0000ed2c <[^>]*> nop ++0000ed30 <[^>]*> nop ++0000ed34 <[^>]*> nop ++0000ed38 <[^>]*> nop ++0000ed3c <[^>]*> nop ++0000ed40 <[^>]*> nop ++0000ed44 <[^>]*> nop ++0000ed48 <[^>]*> nop ++0000ed4c <[^>]*> nop ++0000ed50 <[^>]*> nop ++0000ed54 <[^>]*> nop ++0000ed58 <[^>]*> nop ++0000ed5c <[^>]*> nop ++0000ed60 <[^>]*> nop ++0000ed64 <[^>]*> nop ++0000ed68 <[^>]*> nop ++0000ed6c <[^>]*> nop ++0000ed70 <[^>]*> nop ++0000ed74 <[^>]*> nop ++0000ed78 <[^>]*> nop ++0000ed7c <[^>]*> nop ++0000ed80 <[^>]*> nop ++0000ed84 <[^>]*> nop ++0000ed88 <[^>]*> nop ++0000ed8c <[^>]*> nop ++0000ed90 <[^>]*> nop ++0000ed94 <[^>]*> nop ++0000ed98 <[^>]*> nop ++0000ed9c <[^>]*> nop ++0000eda0 <[^>]*> nop ++0000eda4 <[^>]*> nop ++0000eda8 <[^>]*> nop ++0000edac <[^>]*> nop ++0000edb0 <[^>]*> nop ++0000edb4 <[^>]*> nop ++0000edb8 <[^>]*> nop ++0000edbc <[^>]*> nop ++0000edc0 <[^>]*> nop ++0000edc4 <[^>]*> nop ++0000edc8 <[^>]*> nop ++0000edcc <[^>]*> nop ++0000edd0 <[^>]*> nop ++0000edd4 <[^>]*> nop ++0000edd8 <[^>]*> nop ++0000eddc <[^>]*> nop ++0000ede0 <[^>]*> nop ++0000ede4 <[^>]*> nop ++0000ede8 <[^>]*> nop ++0000edec <[^>]*> nop ++0000edf0 <[^>]*> nop ++0000edf4 <[^>]*> nop ++0000edf8 <[^>]*> nop ++0000edfc <[^>]*> nop ++0000ee00 <[^>]*> nop ++0000ee04 <[^>]*> nop ++0000ee08 <[^>]*> nop ++0000ee0c <[^>]*> nop ++0000ee10 <[^>]*> nop ++0000ee14 <[^>]*> nop ++0000ee18 <[^>]*> nop ++0000ee1c <[^>]*> nop ++0000ee20 <[^>]*> nop ++0000ee24 <[^>]*> nop ++0000ee28 <[^>]*> nop ++0000ee2c <[^>]*> nop ++0000ee30 <[^>]*> nop ++0000ee34 <[^>]*> nop ++0000ee38 <[^>]*> nop ++0000ee3c <[^>]*> nop ++0000ee40 <[^>]*> nop ++0000ee44 <[^>]*> nop ++0000ee48 <[^>]*> nop ++0000ee4c <[^>]*> nop ++0000ee50 <[^>]*> nop ++0000ee54 <[^>]*> nop ++0000ee58 <[^>]*> nop ++0000ee5c <[^>]*> nop ++0000ee60 <[^>]*> nop ++0000ee64 <[^>]*> nop ++0000ee68 <[^>]*> nop ++0000ee6c <[^>]*> nop ++0000ee70 <[^>]*> nop ++0000ee74 <[^>]*> nop ++0000ee78 <[^>]*> nop ++0000ee7c <[^>]*> nop ++0000ee80 <[^>]*> nop ++0000ee84 <[^>]*> nop ++0000ee88 <[^>]*> nop ++0000ee8c <[^>]*> nop ++0000ee90 <[^>]*> nop ++0000ee94 <[^>]*> nop ++0000ee98 <[^>]*> nop ++0000ee9c <[^>]*> nop ++0000eea0 <[^>]*> nop ++0000eea4 <[^>]*> nop ++0000eea8 <[^>]*> nop ++0000eeac <[^>]*> nop ++0000eeb0 <[^>]*> nop ++0000eeb4 <[^>]*> nop ++0000eeb8 <[^>]*> nop ++0000eebc <[^>]*> nop ++0000eec0 <[^>]*> nop ++0000eec4 <[^>]*> nop ++0000eec8 <[^>]*> nop ++0000eecc <[^>]*> nop ++0000eed0 <[^>]*> nop ++0000eed4 <[^>]*> nop ++0000eed8 <[^>]*> nop ++0000eedc <[^>]*> nop ++0000eee0 <[^>]*> nop ++0000eee4 <[^>]*> nop ++0000eee8 <[^>]*> nop ++0000eeec <[^>]*> nop ++0000eef0 <[^>]*> nop ++0000eef4 <[^>]*> nop ++0000eef8 <[^>]*> nop ++0000eefc <[^>]*> nop ++0000ef00 <[^>]*> nop ++0000ef04 <[^>]*> nop ++0000ef08 <[^>]*> nop ++0000ef0c <[^>]*> nop ++0000ef10 <[^>]*> nop ++0000ef14 <[^>]*> nop ++0000ef18 <[^>]*> nop ++0000ef1c <[^>]*> nop ++0000ef20 <[^>]*> nop ++0000ef24 <[^>]*> nop ++0000ef28 <[^>]*> nop ++0000ef2c <[^>]*> nop ++0000ef30 <[^>]*> nop ++0000ef34 <[^>]*> nop ++0000ef38 <[^>]*> nop ++0000ef3c <[^>]*> nop ++0000ef40 <[^>]*> nop ++0000ef44 <[^>]*> nop ++0000ef48 <[^>]*> nop ++0000ef4c <[^>]*> nop ++0000ef50 <[^>]*> nop ++0000ef54 <[^>]*> nop ++0000ef58 <[^>]*> nop ++0000ef5c <[^>]*> nop ++0000ef60 <[^>]*> nop ++0000ef64 <[^>]*> nop ++0000ef68 <[^>]*> nop ++0000ef6c <[^>]*> nop ++0000ef70 <[^>]*> nop ++0000ef74 <[^>]*> nop ++0000ef78 <[^>]*> nop ++0000ef7c <[^>]*> nop ++0000ef80 <[^>]*> nop ++0000ef84 <[^>]*> nop ++0000ef88 <[^>]*> nop ++0000ef8c <[^>]*> nop ++0000ef90 <[^>]*> nop ++0000ef94 <[^>]*> nop ++0000ef98 <[^>]*> nop ++0000ef9c <[^>]*> nop ++0000efa0 <[^>]*> nop ++0000efa4 <[^>]*> nop ++0000efa8 <[^>]*> nop ++0000efac <[^>]*> nop ++0000efb0 <[^>]*> nop ++0000efb4 <[^>]*> nop ++0000efb8 <[^>]*> nop ++0000efbc <[^>]*> nop ++0000efc0 <[^>]*> nop ++0000efc4 <[^>]*> nop ++0000efc8 <[^>]*> nop ++0000efcc <[^>]*> nop ++0000efd0 <[^>]*> nop ++0000efd4 <[^>]*> nop ++0000efd8 <[^>]*> nop ++0000efdc <[^>]*> nop ++0000efe0 <[^>]*> nop ++0000efe4 <[^>]*> nop ++0000efe8 <[^>]*> nop ++0000efec <[^>]*> nop ++0000eff0 <[^>]*> nop ++0000eff4 <[^>]*> nop ++0000eff8 <[^>]*> nop ++0000effc <[^>]*> nop ++0000f000 <[^>]*> nop ++0000f004 <[^>]*> nop ++0000f008 <[^>]*> nop ++0000f00c <[^>]*> nop ++0000f010 <[^>]*> nop ++0000f014 <[^>]*> nop ++0000f018 <[^>]*> nop ++0000f01c <[^>]*> nop ++0000f020 <[^>]*> nop ++0000f024 <[^>]*> nop ++0000f028 <[^>]*> nop ++0000f02c <[^>]*> nop ++0000f030 <[^>]*> nop ++0000f034 <[^>]*> nop ++0000f038 <[^>]*> nop ++0000f03c <[^>]*> nop ++0000f040 <[^>]*> nop ++0000f044 <[^>]*> nop ++0000f048 <[^>]*> nop ++0000f04c <[^>]*> nop ++0000f050 <[^>]*> nop ++0000f054 <[^>]*> nop ++0000f058 <[^>]*> nop ++0000f05c <[^>]*> nop ++0000f060 <[^>]*> nop ++0000f064 <[^>]*> nop ++0000f068 <[^>]*> nop ++0000f06c <[^>]*> nop ++0000f070 <[^>]*> nop ++0000f074 <[^>]*> nop ++0000f078 <[^>]*> nop ++0000f07c <[^>]*> nop ++0000f080 <[^>]*> nop ++0000f084 <[^>]*> nop ++0000f088 <[^>]*> nop ++0000f08c <[^>]*> nop ++0000f090 <[^>]*> nop ++0000f094 <[^>]*> nop ++0000f098 <[^>]*> nop ++0000f09c <[^>]*> nop ++0000f0a0 <[^>]*> nop ++0000f0a4 <[^>]*> nop ++0000f0a8 <[^>]*> nop ++0000f0ac <[^>]*> nop ++0000f0b0 <[^>]*> nop ++0000f0b4 <[^>]*> nop ++0000f0b8 <[^>]*> nop ++0000f0bc <[^>]*> nop ++0000f0c0 <[^>]*> nop ++0000f0c4 <[^>]*> nop ++0000f0c8 <[^>]*> nop ++0000f0cc <[^>]*> nop ++0000f0d0 <[^>]*> nop ++0000f0d4 <[^>]*> nop ++0000f0d8 <[^>]*> nop ++0000f0dc <[^>]*> nop ++0000f0e0 <[^>]*> nop ++0000f0e4 <[^>]*> nop ++0000f0e8 <[^>]*> nop ++0000f0ec <[^>]*> nop ++0000f0f0 <[^>]*> nop ++0000f0f4 <[^>]*> nop ++0000f0f8 <[^>]*> nop ++0000f0fc <[^>]*> nop ++0000f100 <[^>]*> nop ++0000f104 <[^>]*> nop ++0000f108 <[^>]*> nop ++0000f10c <[^>]*> nop ++0000f110 <[^>]*> nop ++0000f114 <[^>]*> nop ++0000f118 <[^>]*> nop ++0000f11c <[^>]*> nop ++0000f120 <[^>]*> nop ++0000f124 <[^>]*> nop ++0000f128 <[^>]*> nop ++0000f12c <[^>]*> nop ++0000f130 <[^>]*> nop ++0000f134 <[^>]*> nop ++0000f138 <[^>]*> nop ++0000f13c <[^>]*> nop ++0000f140 <[^>]*> nop ++0000f144 <[^>]*> nop ++0000f148 <[^>]*> nop ++0000f14c <[^>]*> nop ++0000f150 <[^>]*> nop ++0000f154 <[^>]*> nop ++0000f158 <[^>]*> nop ++0000f15c <[^>]*> nop ++0000f160 <[^>]*> nop ++0000f164 <[^>]*> nop ++0000f168 <[^>]*> nop ++0000f16c <[^>]*> nop ++0000f170 <[^>]*> nop ++0000f174 <[^>]*> nop ++0000f178 <[^>]*> nop ++0000f17c <[^>]*> nop ++0000f180 <[^>]*> nop ++0000f184 <[^>]*> nop ++0000f188 <[^>]*> nop ++0000f18c <[^>]*> nop ++0000f190 <[^>]*> nop ++0000f194 <[^>]*> nop ++0000f198 <[^>]*> nop ++0000f19c <[^>]*> nop ++0000f1a0 <[^>]*> nop ++0000f1a4 <[^>]*> nop ++0000f1a8 <[^>]*> nop ++0000f1ac <[^>]*> nop ++0000f1b0 <[^>]*> nop ++0000f1b4 <[^>]*> nop ++0000f1b8 <[^>]*> nop ++0000f1bc <[^>]*> nop ++0000f1c0 <[^>]*> nop ++0000f1c4 <[^>]*> nop ++0000f1c8 <[^>]*> nop ++0000f1cc <[^>]*> nop ++0000f1d0 <[^>]*> nop ++0000f1d4 <[^>]*> nop ++0000f1d8 <[^>]*> nop ++0000f1dc <[^>]*> nop ++0000f1e0 <[^>]*> nop ++0000f1e4 <[^>]*> nop ++0000f1e8 <[^>]*> nop ++0000f1ec <[^>]*> nop ++0000f1f0 <[^>]*> nop ++0000f1f4 <[^>]*> nop ++0000f1f8 <[^>]*> nop ++0000f1fc <[^>]*> nop ++0000f200 <[^>]*> nop ++0000f204 <[^>]*> nop ++0000f208 <[^>]*> nop ++0000f20c <[^>]*> nop ++0000f210 <[^>]*> nop ++0000f214 <[^>]*> nop ++0000f218 <[^>]*> nop ++0000f21c <[^>]*> nop ++0000f220 <[^>]*> nop ++0000f224 <[^>]*> nop ++0000f228 <[^>]*> nop ++0000f22c <[^>]*> nop ++0000f230 <[^>]*> nop ++0000f234 <[^>]*> nop ++0000f238 <[^>]*> nop ++0000f23c <[^>]*> nop ++0000f240 <[^>]*> nop ++0000f244 <[^>]*> nop ++0000f248 <[^>]*> nop ++0000f24c <[^>]*> nop ++0000f250 <[^>]*> nop ++0000f254 <[^>]*> nop ++0000f258 <[^>]*> nop ++0000f25c <[^>]*> nop ++0000f260 <[^>]*> nop ++0000f264 <[^>]*> nop ++0000f268 <[^>]*> nop ++0000f26c <[^>]*> nop ++0000f270 <[^>]*> nop ++0000f274 <[^>]*> nop ++0000f278 <[^>]*> nop ++0000f27c <[^>]*> nop ++0000f280 <[^>]*> nop ++0000f284 <[^>]*> nop ++0000f288 <[^>]*> nop ++0000f28c <[^>]*> nop ++0000f290 <[^>]*> nop ++0000f294 <[^>]*> nop ++0000f298 <[^>]*> nop ++0000f29c <[^>]*> nop ++0000f2a0 <[^>]*> nop ++0000f2a4 <[^>]*> nop ++0000f2a8 <[^>]*> nop ++0000f2ac <[^>]*> nop ++0000f2b0 <[^>]*> nop ++0000f2b4 <[^>]*> nop ++0000f2b8 <[^>]*> nop ++0000f2bc <[^>]*> nop ++0000f2c0 <[^>]*> nop ++0000f2c4 <[^>]*> nop ++0000f2c8 <[^>]*> nop ++0000f2cc <[^>]*> nop ++0000f2d0 <[^>]*> nop ++0000f2d4 <[^>]*> nop ++0000f2d8 <[^>]*> nop ++0000f2dc <[^>]*> nop ++0000f2e0 <[^>]*> nop ++0000f2e4 <[^>]*> nop ++0000f2e8 <[^>]*> nop ++0000f2ec <[^>]*> nop ++0000f2f0 <[^>]*> nop ++0000f2f4 <[^>]*> nop ++0000f2f8 <[^>]*> nop ++0000f2fc <[^>]*> nop ++0000f300 <[^>]*> nop ++0000f304 <[^>]*> nop ++0000f308 <[^>]*> nop ++0000f30c <[^>]*> nop ++0000f310 <[^>]*> nop ++0000f314 <[^>]*> nop ++0000f318 <[^>]*> nop ++0000f31c <[^>]*> nop ++0000f320 <[^>]*> nop ++0000f324 <[^>]*> nop ++0000f328 <[^>]*> nop ++0000f32c <[^>]*> nop ++0000f330 <[^>]*> nop ++0000f334 <[^>]*> nop ++0000f338 <[^>]*> nop ++0000f33c <[^>]*> nop ++0000f340 <[^>]*> nop ++0000f344 <[^>]*> nop ++0000f348 <[^>]*> nop ++0000f34c <[^>]*> nop ++0000f350 <[^>]*> nop ++0000f354 <[^>]*> nop ++0000f358 <[^>]*> nop ++0000f35c <[^>]*> nop ++0000f360 <[^>]*> nop ++0000f364 <[^>]*> nop ++0000f368 <[^>]*> nop ++0000f36c <[^>]*> nop ++0000f370 <[^>]*> nop ++0000f374 <[^>]*> nop ++0000f378 <[^>]*> nop ++0000f37c <[^>]*> nop ++0000f380 <[^>]*> nop ++0000f384 <[^>]*> nop ++0000f388 <[^>]*> nop ++0000f38c <[^>]*> nop ++0000f390 <[^>]*> nop ++0000f394 <[^>]*> nop ++0000f398 <[^>]*> nop ++0000f39c <[^>]*> nop ++0000f3a0 <[^>]*> nop ++0000f3a4 <[^>]*> nop ++0000f3a8 <[^>]*> nop ++0000f3ac <[^>]*> nop ++0000f3b0 <[^>]*> nop ++0000f3b4 <[^>]*> nop ++0000f3b8 <[^>]*> nop ++0000f3bc <[^>]*> nop ++0000f3c0 <[^>]*> nop ++0000f3c4 <[^>]*> nop ++0000f3c8 <[^>]*> nop ++0000f3cc <[^>]*> nop ++0000f3d0 <[^>]*> nop ++0000f3d4 <[^>]*> nop ++0000f3d8 <[^>]*> nop ++0000f3dc <[^>]*> nop ++0000f3e0 <[^>]*> nop ++0000f3e4 <[^>]*> nop ++0000f3e8 <[^>]*> nop ++0000f3ec <[^>]*> nop ++0000f3f0 <[^>]*> nop ++0000f3f4 <[^>]*> nop ++0000f3f8 <[^>]*> nop ++0000f3fc <[^>]*> nop ++0000f400 <[^>]*> nop ++0000f404 <[^>]*> nop ++0000f408 <[^>]*> nop ++0000f40c <[^>]*> nop ++0000f410 <[^>]*> nop ++0000f414 <[^>]*> nop ++0000f418 <[^>]*> nop ++0000f41c <[^>]*> nop ++0000f420 <[^>]*> nop ++0000f424 <[^>]*> nop ++0000f428 <[^>]*> nop ++0000f42c <[^>]*> nop ++0000f430 <[^>]*> nop ++0000f434 <[^>]*> nop ++0000f438 <[^>]*> nop ++0000f43c <[^>]*> nop ++0000f440 <[^>]*> nop ++0000f444 <[^>]*> nop ++0000f448 <[^>]*> nop ++0000f44c <[^>]*> nop ++0000f450 <[^>]*> nop ++0000f454 <[^>]*> nop ++0000f458 <[^>]*> nop ++0000f45c <[^>]*> nop ++0000f460 <[^>]*> nop ++0000f464 <[^>]*> nop ++0000f468 <[^>]*> nop ++0000f46c <[^>]*> nop ++0000f470 <[^>]*> nop ++0000f474 <[^>]*> nop ++0000f478 <[^>]*> nop ++0000f47c <[^>]*> nop ++0000f480 <[^>]*> nop ++0000f484 <[^>]*> nop ++0000f488 <[^>]*> nop ++0000f48c <[^>]*> nop ++0000f490 <[^>]*> nop ++0000f494 <[^>]*> nop ++0000f498 <[^>]*> nop ++0000f49c <[^>]*> nop ++0000f4a0 <[^>]*> nop ++0000f4a4 <[^>]*> nop ++0000f4a8 <[^>]*> nop ++0000f4ac <[^>]*> nop ++0000f4b0 <[^>]*> nop ++0000f4b4 <[^>]*> nop ++0000f4b8 <[^>]*> nop ++0000f4bc <[^>]*> nop ++0000f4c0 <[^>]*> nop ++0000f4c4 <[^>]*> nop ++0000f4c8 <[^>]*> nop ++0000f4cc <[^>]*> nop ++0000f4d0 <[^>]*> nop ++0000f4d4 <[^>]*> nop ++0000f4d8 <[^>]*> nop ++0000f4dc <[^>]*> nop ++0000f4e0 <[^>]*> nop ++0000f4e4 <[^>]*> nop ++0000f4e8 <[^>]*> nop ++0000f4ec <[^>]*> nop ++0000f4f0 <[^>]*> nop ++0000f4f4 <[^>]*> nop ++0000f4f8 <[^>]*> nop ++0000f4fc <[^>]*> nop ++0000f500 <[^>]*> nop ++0000f504 <[^>]*> nop ++0000f508 <[^>]*> nop ++0000f50c <[^>]*> nop ++0000f510 <[^>]*> nop ++0000f514 <[^>]*> nop ++0000f518 <[^>]*> nop ++0000f51c <[^>]*> nop ++0000f520 <[^>]*> nop ++0000f524 <[^>]*> nop ++0000f528 <[^>]*> nop ++0000f52c <[^>]*> nop ++0000f530 <[^>]*> nop ++0000f534 <[^>]*> nop ++0000f538 <[^>]*> nop ++0000f53c <[^>]*> nop ++0000f540 <[^>]*> nop ++0000f544 <[^>]*> nop ++0000f548 <[^>]*> nop ++0000f54c <[^>]*> nop ++0000f550 <[^>]*> nop ++0000f554 <[^>]*> nop ++0000f558 <[^>]*> nop ++0000f55c <[^>]*> nop ++0000f560 <[^>]*> nop ++0000f564 <[^>]*> nop ++0000f568 <[^>]*> nop ++0000f56c <[^>]*> nop ++0000f570 <[^>]*> nop ++0000f574 <[^>]*> nop ++0000f578 <[^>]*> nop ++0000f57c <[^>]*> nop ++0000f580 <[^>]*> nop ++0000f584 <[^>]*> nop ++0000f588 <[^>]*> nop ++0000f58c <[^>]*> nop ++0000f590 <[^>]*> nop ++0000f594 <[^>]*> nop ++0000f598 <[^>]*> nop ++0000f59c <[^>]*> nop ++0000f5a0 <[^>]*> nop ++0000f5a4 <[^>]*> nop ++0000f5a8 <[^>]*> nop ++0000f5ac <[^>]*> nop ++0000f5b0 <[^>]*> nop ++0000f5b4 <[^>]*> nop ++0000f5b8 <[^>]*> nop ++0000f5bc <[^>]*> nop ++0000f5c0 <[^>]*> nop ++0000f5c4 <[^>]*> nop ++0000f5c8 <[^>]*> nop ++0000f5cc <[^>]*> nop ++0000f5d0 <[^>]*> nop ++0000f5d4 <[^>]*> nop ++0000f5d8 <[^>]*> nop ++0000f5dc <[^>]*> nop ++0000f5e0 <[^>]*> nop ++0000f5e4 <[^>]*> nop ++0000f5e8 <[^>]*> nop ++0000f5ec <[^>]*> nop ++0000f5f0 <[^>]*> nop ++0000f5f4 <[^>]*> nop ++0000f5f8 <[^>]*> nop ++0000f5fc <[^>]*> nop ++0000f600 <[^>]*> nop ++0000f604 <[^>]*> nop ++0000f608 <[^>]*> nop ++0000f60c <[^>]*> nop ++0000f610 <[^>]*> nop ++0000f614 <[^>]*> nop ++0000f618 <[^>]*> nop ++0000f61c <[^>]*> nop ++0000f620 <[^>]*> nop ++0000f624 <[^>]*> nop ++0000f628 <[^>]*> nop ++0000f62c <[^>]*> nop ++0000f630 <[^>]*> nop ++0000f634 <[^>]*> nop ++0000f638 <[^>]*> nop ++0000f63c <[^>]*> nop ++0000f640 <[^>]*> nop ++0000f644 <[^>]*> nop ++0000f648 <[^>]*> nop ++0000f64c <[^>]*> nop ++0000f650 <[^>]*> nop ++0000f654 <[^>]*> nop ++0000f658 <[^>]*> nop ++0000f65c <[^>]*> nop ++0000f660 <[^>]*> nop ++0000f664 <[^>]*> nop ++0000f668 <[^>]*> nop ++0000f66c <[^>]*> nop ++0000f670 <[^>]*> nop ++0000f674 <[^>]*> nop ++0000f678 <[^>]*> nop ++0000f67c <[^>]*> nop ++0000f680 <[^>]*> nop ++0000f684 <[^>]*> nop ++0000f688 <[^>]*> nop ++0000f68c <[^>]*> nop ++0000f690 <[^>]*> nop ++0000f694 <[^>]*> nop ++0000f698 <[^>]*> nop ++0000f69c <[^>]*> nop ++0000f6a0 <[^>]*> nop ++0000f6a4 <[^>]*> nop ++0000f6a8 <[^>]*> nop ++0000f6ac <[^>]*> nop ++0000f6b0 <[^>]*> nop ++0000f6b4 <[^>]*> nop ++0000f6b8 <[^>]*> nop ++0000f6bc <[^>]*> nop ++0000f6c0 <[^>]*> nop ++0000f6c4 <[^>]*> nop ++0000f6c8 <[^>]*> nop ++0000f6cc <[^>]*> nop ++0000f6d0 <[^>]*> nop ++0000f6d4 <[^>]*> nop ++0000f6d8 <[^>]*> nop ++0000f6dc <[^>]*> nop ++0000f6e0 <[^>]*> nop ++0000f6e4 <[^>]*> nop ++0000f6e8 <[^>]*> nop ++0000f6ec <[^>]*> nop ++0000f6f0 <[^>]*> nop ++0000f6f4 <[^>]*> nop ++0000f6f8 <[^>]*> nop ++0000f6fc <[^>]*> nop ++0000f700 <[^>]*> nop ++0000f704 <[^>]*> nop ++0000f708 <[^>]*> nop ++0000f70c <[^>]*> nop ++0000f710 <[^>]*> nop ++0000f714 <[^>]*> nop ++0000f718 <[^>]*> nop ++0000f71c <[^>]*> nop ++0000f720 <[^>]*> nop ++0000f724 <[^>]*> nop ++0000f728 <[^>]*> nop ++0000f72c <[^>]*> nop ++0000f730 <[^>]*> nop ++0000f734 <[^>]*> nop ++0000f738 <[^>]*> nop ++0000f73c <[^>]*> nop ++0000f740 <[^>]*> nop ++0000f744 <[^>]*> nop ++0000f748 <[^>]*> nop ++0000f74c <[^>]*> nop ++0000f750 <[^>]*> nop ++0000f754 <[^>]*> nop ++0000f758 <[^>]*> nop ++0000f75c <[^>]*> nop ++0000f760 <[^>]*> nop ++0000f764 <[^>]*> nop ++0000f768 <[^>]*> nop ++0000f76c <[^>]*> nop ++0000f770 <[^>]*> nop ++0000f774 <[^>]*> nop ++0000f778 <[^>]*> nop ++0000f77c <[^>]*> nop ++0000f780 <[^>]*> nop ++0000f784 <[^>]*> nop ++0000f788 <[^>]*> nop ++0000f78c <[^>]*> nop ++0000f790 <[^>]*> nop ++0000f794 <[^>]*> nop ++0000f798 <[^>]*> nop ++0000f79c <[^>]*> nop ++0000f7a0 <[^>]*> nop ++0000f7a4 <[^>]*> nop ++0000f7a8 <[^>]*> nop ++0000f7ac <[^>]*> nop ++0000f7b0 <[^>]*> nop ++0000f7b4 <[^>]*> nop ++0000f7b8 <[^>]*> nop ++0000f7bc <[^>]*> nop ++0000f7c0 <[^>]*> nop ++0000f7c4 <[^>]*> nop ++0000f7c8 <[^>]*> nop ++0000f7cc <[^>]*> nop ++0000f7d0 <[^>]*> nop ++0000f7d4 <[^>]*> nop ++0000f7d8 <[^>]*> nop ++0000f7dc <[^>]*> nop ++0000f7e0 <[^>]*> nop ++0000f7e4 <[^>]*> nop ++0000f7e8 <[^>]*> nop ++0000f7ec <[^>]*> nop ++0000f7f0 <[^>]*> nop ++0000f7f4 <[^>]*> nop ++0000f7f8 <[^>]*> nop ++0000f7fc <[^>]*> nop ++0000f800 <[^>]*> nop ++0000f804 <[^>]*> nop ++0000f808 <[^>]*> nop ++0000f80c <[^>]*> nop ++0000f810 <[^>]*> nop ++0000f814 <[^>]*> nop ++0000f818 <[^>]*> nop ++0000f81c <[^>]*> nop ++0000f820 <[^>]*> nop ++0000f824 <[^>]*> nop ++0000f828 <[^>]*> nop ++0000f82c <[^>]*> nop ++0000f830 <[^>]*> nop ++0000f834 <[^>]*> nop ++0000f838 <[^>]*> nop ++0000f83c <[^>]*> nop ++0000f840 <[^>]*> nop ++0000f844 <[^>]*> nop ++0000f848 <[^>]*> nop ++0000f84c <[^>]*> nop ++0000f850 <[^>]*> nop ++0000f854 <[^>]*> nop ++0000f858 <[^>]*> nop ++0000f85c <[^>]*> nop ++0000f860 <[^>]*> nop ++0000f864 <[^>]*> nop ++0000f868 <[^>]*> nop ++0000f86c <[^>]*> nop ++0000f870 <[^>]*> nop ++0000f874 <[^>]*> nop ++0000f878 <[^>]*> nop ++0000f87c <[^>]*> nop ++0000f880 <[^>]*> nop ++0000f884 <[^>]*> nop ++0000f888 <[^>]*> nop ++0000f88c <[^>]*> nop ++0000f890 <[^>]*> nop ++0000f894 <[^>]*> nop ++0000f898 <[^>]*> nop ++0000f89c <[^>]*> nop ++0000f8a0 <[^>]*> nop ++0000f8a4 <[^>]*> nop ++0000f8a8 <[^>]*> nop ++0000f8ac <[^>]*> nop ++0000f8b0 <[^>]*> nop ++0000f8b4 <[^>]*> nop ++0000f8b8 <[^>]*> nop ++0000f8bc <[^>]*> nop ++0000f8c0 <[^>]*> nop ++0000f8c4 <[^>]*> nop ++0000f8c8 <[^>]*> nop ++0000f8cc <[^>]*> nop ++0000f8d0 <[^>]*> nop ++0000f8d4 <[^>]*> nop ++0000f8d8 <[^>]*> nop ++0000f8dc <[^>]*> nop ++0000f8e0 <[^>]*> nop ++0000f8e4 <[^>]*> nop ++0000f8e8 <[^>]*> nop ++0000f8ec <[^>]*> nop ++0000f8f0 <[^>]*> nop ++0000f8f4 <[^>]*> nop ++0000f8f8 <[^>]*> nop ++0000f8fc <[^>]*> nop ++0000f900 <[^>]*> nop ++0000f904 <[^>]*> nop ++0000f908 <[^>]*> nop ++0000f90c <[^>]*> nop ++0000f910 <[^>]*> nop ++0000f914 <[^>]*> nop ++0000f918 <[^>]*> nop ++0000f91c <[^>]*> nop ++0000f920 <[^>]*> nop ++0000f924 <[^>]*> nop ++0000f928 <[^>]*> nop ++0000f92c <[^>]*> nop ++0000f930 <[^>]*> nop ++0000f934 <[^>]*> nop ++0000f938 <[^>]*> nop ++0000f93c <[^>]*> nop ++0000f940 <[^>]*> nop ++0000f944 <[^>]*> nop ++0000f948 <[^>]*> nop ++0000f94c <[^>]*> nop ++0000f950 <[^>]*> nop ++0000f954 <[^>]*> nop ++0000f958 <[^>]*> nop ++0000f95c <[^>]*> nop ++0000f960 <[^>]*> nop ++0000f964 <[^>]*> nop ++0000f968 <[^>]*> nop ++0000f96c <[^>]*> nop ++0000f970 <[^>]*> nop ++0000f974 <[^>]*> nop ++0000f978 <[^>]*> nop ++0000f97c <[^>]*> nop ++0000f980 <[^>]*> nop ++0000f984 <[^>]*> nop ++0000f988 <[^>]*> nop ++0000f98c <[^>]*> nop ++0000f990 <[^>]*> nop ++0000f994 <[^>]*> nop ++0000f998 <[^>]*> nop ++0000f99c <[^>]*> nop ++0000f9a0 <[^>]*> nop ++0000f9a4 <[^>]*> nop ++0000f9a8 <[^>]*> nop ++0000f9ac <[^>]*> nop ++0000f9b0 <[^>]*> nop ++0000f9b4 <[^>]*> nop ++0000f9b8 <[^>]*> nop ++0000f9bc <[^>]*> nop ++0000f9c0 <[^>]*> nop ++0000f9c4 <[^>]*> nop ++0000f9c8 <[^>]*> nop ++0000f9cc <[^>]*> nop ++0000f9d0 <[^>]*> nop ++0000f9d4 <[^>]*> nop ++0000f9d8 <[^>]*> nop ++0000f9dc <[^>]*> nop ++0000f9e0 <[^>]*> nop ++0000f9e4 <[^>]*> nop ++0000f9e8 <[^>]*> nop ++0000f9ec <[^>]*> nop ++0000f9f0 <[^>]*> nop ++0000f9f4 <[^>]*> nop ++0000f9f8 <[^>]*> nop ++0000f9fc <[^>]*> nop ++0000fa00 <[^>]*> nop ++0000fa04 <[^>]*> nop ++0000fa08 <[^>]*> nop ++0000fa0c <[^>]*> nop ++0000fa10 <[^>]*> nop ++0000fa14 <[^>]*> nop ++0000fa18 <[^>]*> nop ++0000fa1c <[^>]*> nop ++0000fa20 <[^>]*> nop ++0000fa24 <[^>]*> nop ++0000fa28 <[^>]*> nop ++0000fa2c <[^>]*> nop ++0000fa30 <[^>]*> nop ++0000fa34 <[^>]*> nop ++0000fa38 <[^>]*> nop ++0000fa3c <[^>]*> nop ++0000fa40 <[^>]*> nop ++0000fa44 <[^>]*> nop ++0000fa48 <[^>]*> nop ++0000fa4c <[^>]*> nop ++0000fa50 <[^>]*> nop ++0000fa54 <[^>]*> nop ++0000fa58 <[^>]*> nop ++0000fa5c <[^>]*> nop ++0000fa60 <[^>]*> nop ++0000fa64 <[^>]*> nop ++0000fa68 <[^>]*> nop ++0000fa6c <[^>]*> nop ++0000fa70 <[^>]*> nop ++0000fa74 <[^>]*> nop ++0000fa78 <[^>]*> nop ++0000fa7c <[^>]*> nop ++0000fa80 <[^>]*> nop ++0000fa84 <[^>]*> nop ++0000fa88 <[^>]*> nop ++0000fa8c <[^>]*> nop ++0000fa90 <[^>]*> nop ++0000fa94 <[^>]*> nop ++0000fa98 <[^>]*> nop ++0000fa9c <[^>]*> nop ++0000faa0 <[^>]*> nop ++0000faa4 <[^>]*> nop ++0000faa8 <[^>]*> nop ++0000faac <[^>]*> nop ++0000fab0 <[^>]*> nop ++0000fab4 <[^>]*> nop ++0000fab8 <[^>]*> nop ++0000fabc <[^>]*> nop ++0000fac0 <[^>]*> nop ++0000fac4 <[^>]*> nop ++0000fac8 <[^>]*> nop ++0000facc <[^>]*> nop ++0000fad0 <[^>]*> nop ++0000fad4 <[^>]*> nop ++0000fad8 <[^>]*> nop ++0000fadc <[^>]*> nop ++0000fae0 <[^>]*> nop ++0000fae4 <[^>]*> nop ++0000fae8 <[^>]*> nop ++0000faec <[^>]*> nop ++0000faf0 <[^>]*> nop ++0000faf4 <[^>]*> nop ++0000faf8 <[^>]*> nop ++0000fafc <[^>]*> nop ++0000fb00 <[^>]*> nop ++0000fb04 <[^>]*> nop ++0000fb08 <[^>]*> nop ++0000fb0c <[^>]*> nop ++0000fb10 <[^>]*> nop ++0000fb14 <[^>]*> nop ++0000fb18 <[^>]*> nop ++0000fb1c <[^>]*> nop ++0000fb20 <[^>]*> nop ++0000fb24 <[^>]*> nop ++0000fb28 <[^>]*> nop ++0000fb2c <[^>]*> nop ++0000fb30 <[^>]*> nop ++0000fb34 <[^>]*> nop ++0000fb38 <[^>]*> nop ++0000fb3c <[^>]*> nop ++0000fb40 <[^>]*> nop ++0000fb44 <[^>]*> nop ++0000fb48 <[^>]*> nop ++0000fb4c <[^>]*> nop ++0000fb50 <[^>]*> nop ++0000fb54 <[^>]*> nop ++0000fb58 <[^>]*> nop ++0000fb5c <[^>]*> nop ++0000fb60 <[^>]*> nop ++0000fb64 <[^>]*> nop ++0000fb68 <[^>]*> nop ++0000fb6c <[^>]*> nop ++0000fb70 <[^>]*> nop ++0000fb74 <[^>]*> nop ++0000fb78 <[^>]*> nop ++0000fb7c <[^>]*> nop ++0000fb80 <[^>]*> nop ++0000fb84 <[^>]*> nop ++0000fb88 <[^>]*> nop ++0000fb8c <[^>]*> nop ++0000fb90 <[^>]*> nop ++0000fb94 <[^>]*> nop ++0000fb98 <[^>]*> nop ++0000fb9c <[^>]*> nop ++0000fba0 <[^>]*> nop ++0000fba4 <[^>]*> nop ++0000fba8 <[^>]*> nop ++0000fbac <[^>]*> nop ++0000fbb0 <[^>]*> nop ++0000fbb4 <[^>]*> nop ++0000fbb8 <[^>]*> nop ++0000fbbc <[^>]*> nop ++0000fbc0 <[^>]*> nop ++0000fbc4 <[^>]*> nop ++0000fbc8 <[^>]*> nop ++0000fbcc <[^>]*> nop ++0000fbd0 <[^>]*> nop ++0000fbd4 <[^>]*> nop ++0000fbd8 <[^>]*> nop ++0000fbdc <[^>]*> nop ++0000fbe0 <[^>]*> nop ++0000fbe4 <[^>]*> nop ++0000fbe8 <[^>]*> nop ++0000fbec <[^>]*> nop ++0000fbf0 <[^>]*> nop ++0000fbf4 <[^>]*> nop ++0000fbf8 <[^>]*> nop ++0000fbfc <[^>]*> nop ++0000fc00 <[^>]*> nop ++0000fc04 <[^>]*> nop ++0000fc08 <[^>]*> nop ++0000fc0c <[^>]*> nop ++0000fc10 <[^>]*> nop ++0000fc14 <[^>]*> nop ++0000fc18 <[^>]*> nop ++0000fc1c <[^>]*> nop ++0000fc20 <[^>]*> nop ++0000fc24 <[^>]*> nop ++0000fc28 <[^>]*> nop ++0000fc2c <[^>]*> nop ++0000fc30 <[^>]*> nop ++0000fc34 <[^>]*> nop ++0000fc38 <[^>]*> nop ++0000fc3c <[^>]*> nop ++0000fc40 <[^>]*> nop ++0000fc44 <[^>]*> nop ++0000fc48 <[^>]*> nop ++0000fc4c <[^>]*> nop ++0000fc50 <[^>]*> nop ++0000fc54 <[^>]*> nop ++0000fc58 <[^>]*> nop ++0000fc5c <[^>]*> nop ++0000fc60 <[^>]*> nop ++0000fc64 <[^>]*> nop ++0000fc68 <[^>]*> nop ++0000fc6c <[^>]*> nop ++0000fc70 <[^>]*> nop ++0000fc74 <[^>]*> nop ++0000fc78 <[^>]*> nop ++0000fc7c <[^>]*> nop ++0000fc80 <[^>]*> nop ++0000fc84 <[^>]*> nop ++0000fc88 <[^>]*> nop ++0000fc8c <[^>]*> nop ++0000fc90 <[^>]*> nop ++0000fc94 <[^>]*> nop ++0000fc98 <[^>]*> nop ++0000fc9c <[^>]*> nop ++0000fca0 <[^>]*> nop ++0000fca4 <[^>]*> nop ++0000fca8 <[^>]*> nop ++0000fcac <[^>]*> nop ++0000fcb0 <[^>]*> nop ++0000fcb4 <[^>]*> nop ++0000fcb8 <[^>]*> nop ++0000fcbc <[^>]*> nop ++0000fcc0 <[^>]*> nop ++0000fcc4 <[^>]*> nop ++0000fcc8 <[^>]*> nop ++0000fccc <[^>]*> nop ++0000fcd0 <[^>]*> nop ++0000fcd4 <[^>]*> nop ++0000fcd8 <[^>]*> nop ++0000fcdc <[^>]*> nop ++0000fce0 <[^>]*> nop ++0000fce4 <[^>]*> nop ++0000fce8 <[^>]*> nop ++0000fcec <[^>]*> nop ++0000fcf0 <[^>]*> nop ++0000fcf4 <[^>]*> nop ++0000fcf8 <[^>]*> nop ++0000fcfc <[^>]*> nop ++0000fd00 <[^>]*> nop ++0000fd04 <[^>]*> nop ++0000fd08 <[^>]*> nop ++0000fd0c <[^>]*> nop ++0000fd10 <[^>]*> nop ++0000fd14 <[^>]*> nop ++0000fd18 <[^>]*> nop ++0000fd1c <[^>]*> nop ++0000fd20 <[^>]*> nop ++0000fd24 <[^>]*> nop ++0000fd28 <[^>]*> nop ++0000fd2c <[^>]*> nop ++0000fd30 <[^>]*> nop ++0000fd34 <[^>]*> nop ++0000fd38 <[^>]*> nop ++0000fd3c <[^>]*> nop ++0000fd40 <[^>]*> nop ++0000fd44 <[^>]*> nop ++0000fd48 <[^>]*> nop ++0000fd4c <[^>]*> nop ++0000fd50 <[^>]*> nop ++0000fd54 <[^>]*> nop ++0000fd58 <[^>]*> nop ++0000fd5c <[^>]*> nop ++0000fd60 <[^>]*> nop ++0000fd64 <[^>]*> nop ++0000fd68 <[^>]*> nop ++0000fd6c <[^>]*> nop ++0000fd70 <[^>]*> nop ++0000fd74 <[^>]*> nop ++0000fd78 <[^>]*> nop ++0000fd7c <[^>]*> nop ++0000fd80 <[^>]*> nop ++0000fd84 <[^>]*> nop ++0000fd88 <[^>]*> nop ++0000fd8c <[^>]*> nop ++0000fd90 <[^>]*> nop ++0000fd94 <[^>]*> nop ++0000fd98 <[^>]*> nop ++0000fd9c <[^>]*> nop ++0000fda0 <[^>]*> nop ++0000fda4 <[^>]*> nop ++0000fda8 <[^>]*> nop ++0000fdac <[^>]*> nop ++0000fdb0 <[^>]*> nop ++0000fdb4 <[^>]*> nop ++0000fdb8 <[^>]*> nop ++0000fdbc <[^>]*> nop ++0000fdc0 <[^>]*> nop ++0000fdc4 <[^>]*> nop ++0000fdc8 <[^>]*> nop ++0000fdcc <[^>]*> nop ++0000fdd0 <[^>]*> nop ++0000fdd4 <[^>]*> nop ++0000fdd8 <[^>]*> nop ++0000fddc <[^>]*> nop ++0000fde0 <[^>]*> nop ++0000fde4 <[^>]*> nop ++0000fde8 <[^>]*> nop ++0000fdec <[^>]*> nop ++0000fdf0 <[^>]*> nop ++0000fdf4 <[^>]*> nop ++0000fdf8 <[^>]*> nop ++0000fdfc <[^>]*> nop ++0000fe00 <[^>]*> nop ++0000fe04 <[^>]*> nop ++0000fe08 <[^>]*> nop ++0000fe0c <[^>]*> nop ++0000fe10 <[^>]*> nop ++0000fe14 <[^>]*> nop ++0000fe18 <[^>]*> nop ++0000fe1c <[^>]*> nop ++0000fe20 <[^>]*> nop ++0000fe24 <[^>]*> nop ++0000fe28 <[^>]*> nop ++0000fe2c <[^>]*> nop ++0000fe30 <[^>]*> nop ++0000fe34 <[^>]*> nop ++0000fe38 <[^>]*> nop ++0000fe3c <[^>]*> nop ++0000fe40 <[^>]*> nop ++0000fe44 <[^>]*> nop ++0000fe48 <[^>]*> nop ++0000fe4c <[^>]*> nop ++0000fe50 <[^>]*> nop ++0000fe54 <[^>]*> nop ++0000fe58 <[^>]*> nop ++0000fe5c <[^>]*> nop ++0000fe60 <[^>]*> nop ++0000fe64 <[^>]*> nop ++0000fe68 <[^>]*> nop ++0000fe6c <[^>]*> nop ++0000fe70 <[^>]*> nop ++0000fe74 <[^>]*> nop ++0000fe78 <[^>]*> nop ++0000fe7c <[^>]*> nop ++0000fe80 <[^>]*> nop ++0000fe84 <[^>]*> nop ++0000fe88 <[^>]*> nop ++0000fe8c <[^>]*> nop ++0000fe90 <[^>]*> nop ++0000fe94 <[^>]*> nop ++0000fe98 <[^>]*> nop ++0000fe9c <[^>]*> nop ++0000fea0 <[^>]*> nop ++0000fea4 <[^>]*> nop ++0000fea8 <[^>]*> nop ++0000feac <[^>]*> nop ++0000feb0 <[^>]*> nop ++0000feb4 <[^>]*> nop ++0000feb8 <[^>]*> nop ++0000febc <[^>]*> nop ++0000fec0 <[^>]*> nop ++0000fec4 <[^>]*> nop ++0000fec8 <[^>]*> nop ++0000fecc <[^>]*> nop ++0000fed0 <[^>]*> nop ++0000fed4 <[^>]*> nop ++0000fed8 <[^>]*> nop ++0000fedc <[^>]*> nop ++0000fee0 <[^>]*> nop ++0000fee4 <[^>]*> nop ++0000fee8 <[^>]*> nop ++0000feec <[^>]*> nop ++0000fef0 <[^>]*> nop ++0000fef4 <[^>]*> nop ++0000fef8 <[^>]*> nop ++0000fefc <[^>]*> nop ++0000ff00 <[^>]*> nop ++0000ff04 <[^>]*> nop ++0000ff08 <[^>]*> nop ++0000ff0c <[^>]*> nop ++0000ff10 <[^>]*> nop ++0000ff14 <[^>]*> nop ++0000ff18 <[^>]*> nop ++0000ff1c <[^>]*> nop ++0000ff20 <[^>]*> nop ++0000ff24 <[^>]*> nop ++0000ff28 <[^>]*> nop ++0000ff2c <[^>]*> nop ++0000ff30 <[^>]*> nop ++0000ff34 <[^>]*> nop ++0000ff38 <[^>]*> nop ++0000ff3c <[^>]*> nop ++0000ff40 <[^>]*> nop ++0000ff44 <[^>]*> nop ++0000ff48 <[^>]*> nop ++0000ff4c <[^>]*> nop ++0000ff50 <[^>]*> nop ++0000ff54 <[^>]*> nop ++0000ff58 <[^>]*> nop ++0000ff5c <[^>]*> nop ++0000ff60 <[^>]*> nop ++0000ff64 <[^>]*> nop ++0000ff68 <[^>]*> nop ++0000ff6c <[^>]*> nop ++0000ff70 <[^>]*> nop ++0000ff74 <[^>]*> nop ++0000ff78 <[^>]*> nop ++0000ff7c <[^>]*> nop ++0000ff80 <[^>]*> nop ++0000ff84 <[^>]*> nop ++0000ff88 <[^>]*> nop ++0000ff8c <[^>]*> nop ++0000ff90 <[^>]*> nop ++0000ff94 <[^>]*> nop ++0000ff98 <[^>]*> nop ++0000ff9c <[^>]*> nop ++0000ffa0 <[^>]*> nop ++0000ffa4 <[^>]*> nop ++0000ffa8 <[^>]*> nop ++0000ffac <[^>]*> nop ++0000ffb0 <[^>]*> nop ++0000ffb4 <[^>]*> nop ++0000ffb8 <[^>]*> nop ++0000ffbc <[^>]*> nop ++0000ffc0 <[^>]*> nop ++0000ffc4 <[^>]*> nop ++0000ffc8 <[^>]*> nop ++0000ffcc <[^>]*> nop ++0000ffd0 <[^>]*> nop ++0000ffd4 <[^>]*> nop ++0000ffd8 <[^>]*> nop ++0000ffdc <[^>]*> nop ++0000ffe0 <[^>]*> nop ++0000ffe4 <[^>]*> nop ++0000ffe8 <[^>]*> nop ++0000ffec <[^>]*> nop ++0000fff0 <[^>]*> nop ++0000fff4 <[^>]*> nop ++0000fff8 <[^>]*> nop ++0000fffc <[^>]*> nop ++00010000 <[^>]*> bne r2,r3,00010024 <[^>]*> ++00010004 <[^>]*> nop ++00010008 <[^>]*> nop ++0001000c <[^>]*> nop ++00010010 <[^>]*> nop ++00010014 <[^>]*> nop ++00010018 <[^>]*> nop ++0001001c <[^>]*> nop ++00010020 <[^>]*> nop ++00010024 <[^>]*> nop ++ ... +Index: binutils-2.20.1/gas/testsuite/gas/nios2/relax_cjmp.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/relax_cjmp.s +@@ -0,0 +1,37 @@ ++# relaxing unconditional jumps ++ ++.globl text1 ++.section text1, "ax", @progbits ++ ++ beq r2, r3, on_border ++ beq r2, r3, out_of_range ++ nop ++ nop ++ ++ ++.align 15 ++ #nop ++ #nop ++ #nop ++on_border: ++ bne r2, r3, in_range ++ nop ++ nop ++ nop ++ nop ++ nop ++out_of_range: ++in_range: ++ nop ++ ++.globl text2 ++.section text2, "ax", @progbits ++ ++ bge r2, r3, text1 ++ blt r2, r3, out_of_range ++ ble r2, r3, sym ++ nop ++ nop ++sym: ++ nop ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/relax_section.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/relax_section.d +@@ -0,0 +1,8206 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 relax_section ++ ++# Test relaxation of section ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> bne r2,r3,00000010 <in_range-0xc> ++0+0004 <[^>]*> movhi at,0 ++0+0008 <[^>]*> ori at,at,32780 ++0+000c <[^>]*> jmp at ++0+0010 <[^>]*> bne r2,r3,0000001c <in_range> ++0+0014 <[^>]*> nop ++0+0018 <[^>]*> nop ++0+001c <[^>]*> nop ++0+0020 <[^>]*> nop ++0+0024 <[^>]*> nop ++0+0028 <[^>]*> nop ++0+002c <[^>]*> nop ++0+0030 <[^>]*> nop ++0+0034 <[^>]*> nop ++0+0038 <[^>]*> nop ++0+003c <[^>]*> nop ++0+0040 <[^>]*> nop ++0+0044 <[^>]*> nop ++0+0048 <[^>]*> nop ++0+004c <[^>]*> nop ++0+0050 <[^>]*> nop ++0+0054 <[^>]*> nop ++0+0058 <[^>]*> nop ++0+005c <[^>]*> nop ++0+0060 <[^>]*> nop ++0+0064 <[^>]*> nop ++0+0068 <[^>]*> nop ++0+006c <[^>]*> nop ++0+0070 <[^>]*> nop ++0+0074 <[^>]*> nop ++0+0078 <[^>]*> nop ++0+007c <[^>]*> nop ++0+0080 <[^>]*> nop ++0+0084 <[^>]*> nop ++0+0088 <[^>]*> nop ++0+008c <[^>]*> nop ++0+0090 <[^>]*> nop ++0+0094 <[^>]*> nop ++0+0098 <[^>]*> nop ++0+009c <[^>]*> nop ++0+00a0 <[^>]*> nop ++0+00a4 <[^>]*> nop ++0+00a8 <[^>]*> nop ++0+00ac <[^>]*> nop ++0+00b0 <[^>]*> nop ++0+00b4 <[^>]*> nop ++0+00b8 <[^>]*> nop ++0+00bc <[^>]*> nop ++0+00c0 <[^>]*> nop ++0+00c4 <[^>]*> nop ++0+00c8 <[^>]*> nop ++0+00cc <[^>]*> nop ++0+00d0 <[^>]*> nop ++0+00d4 <[^>]*> nop ++0+00d8 <[^>]*> nop ++0+00dc <[^>]*> nop ++0+00e0 <[^>]*> nop ++0+00e4 <[^>]*> nop ++0+00e8 <[^>]*> nop ++0+00ec <[^>]*> nop ++0+00f0 <[^>]*> nop ++0+00f4 <[^>]*> nop ++0+00f8 <[^>]*> nop ++0+00fc <[^>]*> nop ++0+0100 <[^>]*> nop ++0+0104 <[^>]*> nop ++0+0108 <[^>]*> nop ++0+010c <[^>]*> nop ++0+0110 <[^>]*> nop ++0+0114 <[^>]*> nop ++0+0118 <[^>]*> nop ++0+011c <[^>]*> nop ++0+0120 <[^>]*> nop ++0+0124 <[^>]*> nop ++0+0128 <[^>]*> nop ++0+012c <[^>]*> nop ++0+0130 <[^>]*> nop ++0+0134 <[^>]*> nop ++0+0138 <[^>]*> nop ++0+013c <[^>]*> nop ++0+0140 <[^>]*> nop ++0+0144 <[^>]*> nop ++0+0148 <[^>]*> nop ++0+014c <[^>]*> nop ++0+0150 <[^>]*> nop ++0+0154 <[^>]*> nop ++0+0158 <[^>]*> nop ++0+015c <[^>]*> nop ++0+0160 <[^>]*> nop ++0+0164 <[^>]*> nop ++0+0168 <[^>]*> nop ++0+016c <[^>]*> nop ++0+0170 <[^>]*> nop ++0+0174 <[^>]*> nop ++0+0178 <[^>]*> nop ++0+017c <[^>]*> nop ++0+0180 <[^>]*> nop ++0+0184 <[^>]*> nop ++0+0188 <[^>]*> nop ++0+018c <[^>]*> nop ++0+0190 <[^>]*> nop ++0+0194 <[^>]*> nop ++0+0198 <[^>]*> nop ++0+019c <[^>]*> nop ++0+01a0 <[^>]*> nop ++0+01a4 <[^>]*> nop ++0+01a8 <[^>]*> nop ++0+01ac <[^>]*> nop ++0+01b0 <[^>]*> nop ++0+01b4 <[^>]*> nop ++0+01b8 <[^>]*> nop ++0+01bc <[^>]*> nop ++0+01c0 <[^>]*> nop ++0+01c4 <[^>]*> nop ++0+01c8 <[^>]*> nop ++0+01cc <[^>]*> nop ++0+01d0 <[^>]*> nop ++0+01d4 <[^>]*> nop ++0+01d8 <[^>]*> nop ++0+01dc <[^>]*> nop ++0+01e0 <[^>]*> nop ++0+01e4 <[^>]*> nop ++0+01e8 <[^>]*> nop ++0+01ec <[^>]*> nop ++0+01f0 <[^>]*> nop ++0+01f4 <[^>]*> nop ++0+01f8 <[^>]*> nop ++0+01fc <[^>]*> nop ++0+0200 <[^>]*> nop ++0+0204 <[^>]*> nop ++0+0208 <[^>]*> nop ++0+020c <[^>]*> nop ++0+0210 <[^>]*> nop ++0+0214 <[^>]*> nop ++0+0218 <[^>]*> nop ++0+021c <[^>]*> nop ++0+0220 <[^>]*> nop ++0+0224 <[^>]*> nop ++0+0228 <[^>]*> nop ++0+022c <[^>]*> nop ++0+0230 <[^>]*> nop ++0+0234 <[^>]*> nop ++0+0238 <[^>]*> nop ++0+023c <[^>]*> nop ++0+0240 <[^>]*> nop ++0+0244 <[^>]*> nop ++0+0248 <[^>]*> nop ++0+024c <[^>]*> nop ++0+0250 <[^>]*> nop ++0+0254 <[^>]*> nop ++0+0258 <[^>]*> nop ++0+025c <[^>]*> nop ++0+0260 <[^>]*> nop ++0+0264 <[^>]*> nop ++0+0268 <[^>]*> nop ++0+026c <[^>]*> nop ++0+0270 <[^>]*> nop ++0+0274 <[^>]*> nop ++0+0278 <[^>]*> nop ++0+027c <[^>]*> nop ++0+0280 <[^>]*> nop ++0+0284 <[^>]*> nop ++0+0288 <[^>]*> nop ++0+028c <[^>]*> nop ++0+0290 <[^>]*> nop ++0+0294 <[^>]*> nop ++0+0298 <[^>]*> nop ++0+029c <[^>]*> nop ++0+02a0 <[^>]*> nop ++0+02a4 <[^>]*> nop ++0+02a8 <[^>]*> nop ++0+02ac <[^>]*> nop ++0+02b0 <[^>]*> nop ++0+02b4 <[^>]*> nop ++0+02b8 <[^>]*> nop ++0+02bc <[^>]*> nop ++0+02c0 <[^>]*> nop ++0+02c4 <[^>]*> nop ++0+02c8 <[^>]*> nop ++0+02cc <[^>]*> nop ++0+02d0 <[^>]*> nop ++0+02d4 <[^>]*> nop ++0+02d8 <[^>]*> nop ++0+02dc <[^>]*> nop ++0+02e0 <[^>]*> nop ++0+02e4 <[^>]*> nop ++0+02e8 <[^>]*> nop ++0+02ec <[^>]*> nop ++0+02f0 <[^>]*> nop ++0+02f4 <[^>]*> nop ++0+02f8 <[^>]*> nop ++0+02fc <[^>]*> nop ++0+0300 <[^>]*> nop ++0+0304 <[^>]*> nop ++0+0308 <[^>]*> nop ++0+030c <[^>]*> nop ++0+0310 <[^>]*> nop ++0+0314 <[^>]*> nop ++0+0318 <[^>]*> nop ++0+031c <[^>]*> nop ++0+0320 <[^>]*> nop ++0+0324 <[^>]*> nop ++0+0328 <[^>]*> nop ++0+032c <[^>]*> nop ++0+0330 <[^>]*> nop ++0+0334 <[^>]*> nop ++0+0338 <[^>]*> nop ++0+033c <[^>]*> nop ++0+0340 <[^>]*> nop ++0+0344 <[^>]*> nop ++0+0348 <[^>]*> nop ++0+034c <[^>]*> nop ++0+0350 <[^>]*> nop ++0+0354 <[^>]*> nop ++0+0358 <[^>]*> nop ++0+035c <[^>]*> nop ++0+0360 <[^>]*> nop ++0+0364 <[^>]*> nop ++0+0368 <[^>]*> nop ++0+036c <[^>]*> nop ++0+0370 <[^>]*> nop ++0+0374 <[^>]*> nop ++0+0378 <[^>]*> nop ++0+037c <[^>]*> nop ++0+0380 <[^>]*> nop ++0+0384 <[^>]*> nop ++0+0388 <[^>]*> nop ++0+038c <[^>]*> nop ++0+0390 <[^>]*> nop ++0+0394 <[^>]*> nop ++0+0398 <[^>]*> nop ++0+039c <[^>]*> nop ++0+03a0 <[^>]*> nop ++0+03a4 <[^>]*> nop ++0+03a8 <[^>]*> nop ++0+03ac <[^>]*> nop ++0+03b0 <[^>]*> nop ++0+03b4 <[^>]*> nop ++0+03b8 <[^>]*> nop ++0+03bc <[^>]*> nop ++0+03c0 <[^>]*> nop ++0+03c4 <[^>]*> nop ++0+03c8 <[^>]*> nop ++0+03cc <[^>]*> nop ++0+03d0 <[^>]*> nop ++0+03d4 <[^>]*> nop ++0+03d8 <[^>]*> nop ++0+03dc <[^>]*> nop ++0+03e0 <[^>]*> nop ++0+03e4 <[^>]*> nop ++0+03e8 <[^>]*> nop ++0+03ec <[^>]*> nop ++0+03f0 <[^>]*> nop ++0+03f4 <[^>]*> nop ++0+03f8 <[^>]*> nop ++0+03fc <[^>]*> nop ++0+0400 <[^>]*> nop ++0+0404 <[^>]*> nop ++0+0408 <[^>]*> nop ++0+040c <[^>]*> nop ++0+0410 <[^>]*> nop ++0+0414 <[^>]*> nop ++0+0418 <[^>]*> nop ++0+041c <[^>]*> nop ++0+0420 <[^>]*> nop ++0+0424 <[^>]*> nop ++0+0428 <[^>]*> nop ++0+042c <[^>]*> nop ++0+0430 <[^>]*> nop ++0+0434 <[^>]*> nop ++0+0438 <[^>]*> nop ++0+043c <[^>]*> nop ++0+0440 <[^>]*> nop ++0+0444 <[^>]*> nop ++0+0448 <[^>]*> nop ++0+044c <[^>]*> nop ++0+0450 <[^>]*> nop ++0+0454 <[^>]*> nop ++0+0458 <[^>]*> nop ++0+045c <[^>]*> nop ++0+0460 <[^>]*> nop ++0+0464 <[^>]*> nop ++0+0468 <[^>]*> nop ++0+046c <[^>]*> nop ++0+0470 <[^>]*> nop ++0+0474 <[^>]*> nop ++0+0478 <[^>]*> nop ++0+047c <[^>]*> nop ++0+0480 <[^>]*> nop ++0+0484 <[^>]*> nop ++0+0488 <[^>]*> nop ++0+048c <[^>]*> nop ++0+0490 <[^>]*> nop ++0+0494 <[^>]*> nop ++0+0498 <[^>]*> nop ++0+049c <[^>]*> nop ++0+04a0 <[^>]*> nop ++0+04a4 <[^>]*> nop ++0+04a8 <[^>]*> nop ++0+04ac <[^>]*> nop ++0+04b0 <[^>]*> nop ++0+04b4 <[^>]*> nop ++0+04b8 <[^>]*> nop ++0+04bc <[^>]*> nop ++0+04c0 <[^>]*> nop ++0+04c4 <[^>]*> nop ++0+04c8 <[^>]*> nop ++0+04cc <[^>]*> nop ++0+04d0 <[^>]*> nop ++0+04d4 <[^>]*> nop ++0+04d8 <[^>]*> nop ++0+04dc <[^>]*> nop ++0+04e0 <[^>]*> nop ++0+04e4 <[^>]*> nop ++0+04e8 <[^>]*> nop ++0+04ec <[^>]*> nop ++0+04f0 <[^>]*> nop ++0+04f4 <[^>]*> nop ++0+04f8 <[^>]*> nop ++0+04fc <[^>]*> nop ++0+0500 <[^>]*> nop ++0+0504 <[^>]*> nop ++0+0508 <[^>]*> nop ++0+050c <[^>]*> nop ++0+0510 <[^>]*> nop ++0+0514 <[^>]*> nop ++0+0518 <[^>]*> nop ++0+051c <[^>]*> nop ++0+0520 <[^>]*> nop ++0+0524 <[^>]*> nop ++0+0528 <[^>]*> nop ++0+052c <[^>]*> nop ++0+0530 <[^>]*> nop ++0+0534 <[^>]*> nop ++0+0538 <[^>]*> nop ++0+053c <[^>]*> nop ++0+0540 <[^>]*> nop ++0+0544 <[^>]*> nop ++0+0548 <[^>]*> nop ++0+054c <[^>]*> nop ++0+0550 <[^>]*> nop ++0+0554 <[^>]*> nop ++0+0558 <[^>]*> nop ++0+055c <[^>]*> nop ++0+0560 <[^>]*> nop ++0+0564 <[^>]*> nop ++0+0568 <[^>]*> nop ++0+056c <[^>]*> nop ++0+0570 <[^>]*> nop ++0+0574 <[^>]*> nop ++0+0578 <[^>]*> nop ++0+057c <[^>]*> nop ++0+0580 <[^>]*> nop ++0+0584 <[^>]*> nop ++0+0588 <[^>]*> nop ++0+058c <[^>]*> nop ++0+0590 <[^>]*> nop ++0+0594 <[^>]*> nop ++0+0598 <[^>]*> nop ++0+059c <[^>]*> nop ++0+05a0 <[^>]*> nop ++0+05a4 <[^>]*> nop ++0+05a8 <[^>]*> nop ++0+05ac <[^>]*> nop ++0+05b0 <[^>]*> nop ++0+05b4 <[^>]*> nop ++0+05b8 <[^>]*> nop ++0+05bc <[^>]*> nop ++0+05c0 <[^>]*> nop ++0+05c4 <[^>]*> nop ++0+05c8 <[^>]*> nop ++0+05cc <[^>]*> nop ++0+05d0 <[^>]*> nop ++0+05d4 <[^>]*> nop ++0+05d8 <[^>]*> nop ++0+05dc <[^>]*> nop ++0+05e0 <[^>]*> nop ++0+05e4 <[^>]*> nop ++0+05e8 <[^>]*> nop ++0+05ec <[^>]*> nop ++0+05f0 <[^>]*> nop ++0+05f4 <[^>]*> nop ++0+05f8 <[^>]*> nop ++0+05fc <[^>]*> nop ++0+0600 <[^>]*> nop ++0+0604 <[^>]*> nop ++0+0608 <[^>]*> nop ++0+060c <[^>]*> nop ++0+0610 <[^>]*> nop ++0+0614 <[^>]*> nop ++0+0618 <[^>]*> nop ++0+061c <[^>]*> nop ++0+0620 <[^>]*> nop ++0+0624 <[^>]*> nop ++0+0628 <[^>]*> nop ++0+062c <[^>]*> nop ++0+0630 <[^>]*> nop ++0+0634 <[^>]*> nop ++0+0638 <[^>]*> nop ++0+063c <[^>]*> nop ++0+0640 <[^>]*> nop ++0+0644 <[^>]*> nop ++0+0648 <[^>]*> nop ++0+064c <[^>]*> nop ++0+0650 <[^>]*> nop ++0+0654 <[^>]*> nop ++0+0658 <[^>]*> nop ++0+065c <[^>]*> nop ++0+0660 <[^>]*> nop ++0+0664 <[^>]*> nop ++0+0668 <[^>]*> nop ++0+066c <[^>]*> nop ++0+0670 <[^>]*> nop ++0+0674 <[^>]*> nop ++0+0678 <[^>]*> nop ++0+067c <[^>]*> nop ++0+0680 <[^>]*> nop ++0+0684 <[^>]*> nop ++0+0688 <[^>]*> nop ++0+068c <[^>]*> nop ++0+0690 <[^>]*> nop ++0+0694 <[^>]*> nop ++0+0698 <[^>]*> nop ++0+069c <[^>]*> nop ++0+06a0 <[^>]*> nop ++0+06a4 <[^>]*> nop ++0+06a8 <[^>]*> nop ++0+06ac <[^>]*> nop ++0+06b0 <[^>]*> nop ++0+06b4 <[^>]*> nop ++0+06b8 <[^>]*> nop ++0+06bc <[^>]*> nop ++0+06c0 <[^>]*> nop ++0+06c4 <[^>]*> nop ++0+06c8 <[^>]*> nop ++0+06cc <[^>]*> nop ++0+06d0 <[^>]*> nop ++0+06d4 <[^>]*> nop ++0+06d8 <[^>]*> nop ++0+06dc <[^>]*> nop ++0+06e0 <[^>]*> nop ++0+06e4 <[^>]*> nop ++0+06e8 <[^>]*> nop ++0+06ec <[^>]*> nop ++0+06f0 <[^>]*> nop ++0+06f4 <[^>]*> nop ++0+06f8 <[^>]*> nop ++0+06fc <[^>]*> nop ++0+0700 <[^>]*> nop ++0+0704 <[^>]*> nop ++0+0708 <[^>]*> nop ++0+070c <[^>]*> nop ++0+0710 <[^>]*> nop ++0+0714 <[^>]*> nop ++0+0718 <[^>]*> nop ++0+071c <[^>]*> nop ++0+0720 <[^>]*> nop ++0+0724 <[^>]*> nop ++0+0728 <[^>]*> nop ++0+072c <[^>]*> nop ++0+0730 <[^>]*> nop ++0+0734 <[^>]*> nop ++0+0738 <[^>]*> nop ++0+073c <[^>]*> nop ++0+0740 <[^>]*> nop ++0+0744 <[^>]*> nop ++0+0748 <[^>]*> nop ++0+074c <[^>]*> nop ++0+0750 <[^>]*> nop ++0+0754 <[^>]*> nop ++0+0758 <[^>]*> nop ++0+075c <[^>]*> nop ++0+0760 <[^>]*> nop ++0+0764 <[^>]*> nop ++0+0768 <[^>]*> nop ++0+076c <[^>]*> nop ++0+0770 <[^>]*> nop ++0+0774 <[^>]*> nop ++0+0778 <[^>]*> nop ++0+077c <[^>]*> nop ++0+0780 <[^>]*> nop ++0+0784 <[^>]*> nop ++0+0788 <[^>]*> nop ++0+078c <[^>]*> nop ++0+0790 <[^>]*> nop ++0+0794 <[^>]*> nop ++0+0798 <[^>]*> nop ++0+079c <[^>]*> nop ++0+07a0 <[^>]*> nop ++0+07a4 <[^>]*> nop ++0+07a8 <[^>]*> nop ++0+07ac <[^>]*> nop ++0+07b0 <[^>]*> nop ++0+07b4 <[^>]*> nop ++0+07b8 <[^>]*> nop ++0+07bc <[^>]*> nop ++0+07c0 <[^>]*> nop ++0+07c4 <[^>]*> nop ++0+07c8 <[^>]*> nop ++0+07cc <[^>]*> nop ++0+07d0 <[^>]*> nop ++0+07d4 <[^>]*> nop ++0+07d8 <[^>]*> nop ++0+07dc <[^>]*> nop ++0+07e0 <[^>]*> nop ++0+07e4 <[^>]*> nop ++0+07e8 <[^>]*> nop ++0+07ec <[^>]*> nop ++0+07f0 <[^>]*> nop ++0+07f4 <[^>]*> nop ++0+07f8 <[^>]*> nop ++0+07fc <[^>]*> nop ++0+0800 <[^>]*> nop ++0+0804 <[^>]*> nop ++0+0808 <[^>]*> nop ++0+080c <[^>]*> nop ++0+0810 <[^>]*> nop ++0+0814 <[^>]*> nop ++0+0818 <[^>]*> nop ++0+081c <[^>]*> nop ++0+0820 <[^>]*> nop ++0+0824 <[^>]*> nop ++0+0828 <[^>]*> nop ++0+082c <[^>]*> nop ++0+0830 <[^>]*> nop ++0+0834 <[^>]*> nop ++0+0838 <[^>]*> nop ++0+083c <[^>]*> nop ++0+0840 <[^>]*> nop ++0+0844 <[^>]*> nop ++0+0848 <[^>]*> nop ++0+084c <[^>]*> nop ++0+0850 <[^>]*> nop ++0+0854 <[^>]*> nop ++0+0858 <[^>]*> nop ++0+085c <[^>]*> nop ++0+0860 <[^>]*> nop ++0+0864 <[^>]*> nop ++0+0868 <[^>]*> nop ++0+086c <[^>]*> nop ++0+0870 <[^>]*> nop ++0+0874 <[^>]*> nop ++0+0878 <[^>]*> nop ++0+087c <[^>]*> nop ++0+0880 <[^>]*> nop ++0+0884 <[^>]*> nop ++0+0888 <[^>]*> nop ++0+088c <[^>]*> nop ++0+0890 <[^>]*> nop ++0+0894 <[^>]*> nop ++0+0898 <[^>]*> nop ++0+089c <[^>]*> nop ++0+08a0 <[^>]*> nop ++0+08a4 <[^>]*> nop ++0+08a8 <[^>]*> nop ++0+08ac <[^>]*> nop ++0+08b0 <[^>]*> nop ++0+08b4 <[^>]*> nop ++0+08b8 <[^>]*> nop ++0+08bc <[^>]*> nop ++0+08c0 <[^>]*> nop ++0+08c4 <[^>]*> nop ++0+08c8 <[^>]*> nop ++0+08cc <[^>]*> nop ++0+08d0 <[^>]*> nop ++0+08d4 <[^>]*> nop ++0+08d8 <[^>]*> nop ++0+08dc <[^>]*> nop ++0+08e0 <[^>]*> nop ++0+08e4 <[^>]*> nop ++0+08e8 <[^>]*> nop ++0+08ec <[^>]*> nop ++0+08f0 <[^>]*> nop ++0+08f4 <[^>]*> nop ++0+08f8 <[^>]*> nop ++0+08fc <[^>]*> nop ++0+0900 <[^>]*> nop ++0+0904 <[^>]*> nop ++0+0908 <[^>]*> nop ++0+090c <[^>]*> nop ++0+0910 <[^>]*> nop ++0+0914 <[^>]*> nop ++0+0918 <[^>]*> nop ++0+091c <[^>]*> nop ++0+0920 <[^>]*> nop ++0+0924 <[^>]*> nop ++0+0928 <[^>]*> nop ++0+092c <[^>]*> nop ++0+0930 <[^>]*> nop ++0+0934 <[^>]*> nop ++0+0938 <[^>]*> nop ++0+093c <[^>]*> nop ++0+0940 <[^>]*> nop ++0+0944 <[^>]*> nop ++0+0948 <[^>]*> nop ++0+094c <[^>]*> nop ++0+0950 <[^>]*> nop ++0+0954 <[^>]*> nop ++0+0958 <[^>]*> nop ++0+095c <[^>]*> nop ++0+0960 <[^>]*> nop ++0+0964 <[^>]*> nop ++0+0968 <[^>]*> nop ++0+096c <[^>]*> nop ++0+0970 <[^>]*> nop ++0+0974 <[^>]*> nop ++0+0978 <[^>]*> nop ++0+097c <[^>]*> nop ++0+0980 <[^>]*> nop ++0+0984 <[^>]*> nop ++0+0988 <[^>]*> nop ++0+098c <[^>]*> nop ++0+0990 <[^>]*> nop ++0+0994 <[^>]*> nop ++0+0998 <[^>]*> nop ++0+099c <[^>]*> nop ++0+09a0 <[^>]*> nop ++0+09a4 <[^>]*> nop ++0+09a8 <[^>]*> nop ++0+09ac <[^>]*> nop ++0+09b0 <[^>]*> nop ++0+09b4 <[^>]*> nop ++0+09b8 <[^>]*> nop ++0+09bc <[^>]*> nop ++0+09c0 <[^>]*> nop ++0+09c4 <[^>]*> nop ++0+09c8 <[^>]*> nop ++0+09cc <[^>]*> nop ++0+09d0 <[^>]*> nop ++0+09d4 <[^>]*> nop ++0+09d8 <[^>]*> nop ++0+09dc <[^>]*> nop ++0+09e0 <[^>]*> nop ++0+09e4 <[^>]*> nop ++0+09e8 <[^>]*> nop ++0+09ec <[^>]*> nop ++0+09f0 <[^>]*> nop ++0+09f4 <[^>]*> nop ++0+09f8 <[^>]*> nop ++0+09fc <[^>]*> nop ++0+0a00 <[^>]*> nop ++0+0a04 <[^>]*> nop ++0+0a08 <[^>]*> nop ++0+0a0c <[^>]*> nop ++0+0a10 <[^>]*> nop ++0+0a14 <[^>]*> nop ++0+0a18 <[^>]*> nop ++0+0a1c <[^>]*> nop ++0+0a20 <[^>]*> nop ++0+0a24 <[^>]*> nop ++0+0a28 <[^>]*> nop ++0+0a2c <[^>]*> nop ++0+0a30 <[^>]*> nop ++0+0a34 <[^>]*> nop ++0+0a38 <[^>]*> nop ++0+0a3c <[^>]*> nop ++0+0a40 <[^>]*> nop ++0+0a44 <[^>]*> nop ++0+0a48 <[^>]*> nop ++0+0a4c <[^>]*> nop ++0+0a50 <[^>]*> nop ++0+0a54 <[^>]*> nop ++0+0a58 <[^>]*> nop ++0+0a5c <[^>]*> nop ++0+0a60 <[^>]*> nop ++0+0a64 <[^>]*> nop ++0+0a68 <[^>]*> nop ++0+0a6c <[^>]*> nop ++0+0a70 <[^>]*> nop ++0+0a74 <[^>]*> nop ++0+0a78 <[^>]*> nop ++0+0a7c <[^>]*> nop ++0+0a80 <[^>]*> nop ++0+0a84 <[^>]*> nop ++0+0a88 <[^>]*> nop ++0+0a8c <[^>]*> nop ++0+0a90 <[^>]*> nop ++0+0a94 <[^>]*> nop ++0+0a98 <[^>]*> nop ++0+0a9c <[^>]*> nop ++0+0aa0 <[^>]*> nop ++0+0aa4 <[^>]*> nop ++0+0aa8 <[^>]*> nop ++0+0aac <[^>]*> nop ++0+0ab0 <[^>]*> nop ++0+0ab4 <[^>]*> nop ++0+0ab8 <[^>]*> nop ++0+0abc <[^>]*> nop ++0+0ac0 <[^>]*> nop ++0+0ac4 <[^>]*> nop ++0+0ac8 <[^>]*> nop ++0+0acc <[^>]*> nop ++0+0ad0 <[^>]*> nop ++0+0ad4 <[^>]*> nop ++0+0ad8 <[^>]*> nop ++0+0adc <[^>]*> nop ++0+0ae0 <[^>]*> nop ++0+0ae4 <[^>]*> nop ++0+0ae8 <[^>]*> nop ++0+0aec <[^>]*> nop ++0+0af0 <[^>]*> nop ++0+0af4 <[^>]*> nop ++0+0af8 <[^>]*> nop ++0+0afc <[^>]*> nop ++0+0b00 <[^>]*> nop ++0+0b04 <[^>]*> nop ++0+0b08 <[^>]*> nop ++0+0b0c <[^>]*> nop ++0+0b10 <[^>]*> nop ++0+0b14 <[^>]*> nop ++0+0b18 <[^>]*> nop ++0+0b1c <[^>]*> nop ++0+0b20 <[^>]*> nop ++0+0b24 <[^>]*> nop ++0+0b28 <[^>]*> nop ++0+0b2c <[^>]*> nop ++0+0b30 <[^>]*> nop ++0+0b34 <[^>]*> nop ++0+0b38 <[^>]*> nop ++0+0b3c <[^>]*> nop ++0+0b40 <[^>]*> nop ++0+0b44 <[^>]*> nop ++0+0b48 <[^>]*> nop ++0+0b4c <[^>]*> nop ++0+0b50 <[^>]*> nop ++0+0b54 <[^>]*> nop ++0+0b58 <[^>]*> nop ++0+0b5c <[^>]*> nop ++0+0b60 <[^>]*> nop ++0+0b64 <[^>]*> nop ++0+0b68 <[^>]*> nop ++0+0b6c <[^>]*> nop ++0+0b70 <[^>]*> nop ++0+0b74 <[^>]*> nop ++0+0b78 <[^>]*> nop ++0+0b7c <[^>]*> nop ++0+0b80 <[^>]*> nop ++0+0b84 <[^>]*> nop ++0+0b88 <[^>]*> nop ++0+0b8c <[^>]*> nop ++0+0b90 <[^>]*> nop ++0+0b94 <[^>]*> nop ++0+0b98 <[^>]*> nop ++0+0b9c <[^>]*> nop ++0+0ba0 <[^>]*> nop ++0+0ba4 <[^>]*> nop ++0+0ba8 <[^>]*> nop ++0+0bac <[^>]*> nop ++0+0bb0 <[^>]*> nop ++0+0bb4 <[^>]*> nop ++0+0bb8 <[^>]*> nop ++0+0bbc <[^>]*> nop ++0+0bc0 <[^>]*> nop ++0+0bc4 <[^>]*> nop ++0+0bc8 <[^>]*> nop ++0+0bcc <[^>]*> nop ++0+0bd0 <[^>]*> nop ++0+0bd4 <[^>]*> nop ++0+0bd8 <[^>]*> nop ++0+0bdc <[^>]*> nop ++0+0be0 <[^>]*> nop ++0+0be4 <[^>]*> nop ++0+0be8 <[^>]*> nop ++0+0bec <[^>]*> nop ++0+0bf0 <[^>]*> nop ++0+0bf4 <[^>]*> nop ++0+0bf8 <[^>]*> nop ++0+0bfc <[^>]*> nop ++0+0c00 <[^>]*> nop ++0+0c04 <[^>]*> nop ++0+0c08 <[^>]*> nop ++0+0c0c <[^>]*> nop ++0+0c10 <[^>]*> nop ++0+0c14 <[^>]*> nop ++0+0c18 <[^>]*> nop ++0+0c1c <[^>]*> nop ++0+0c20 <[^>]*> nop ++0+0c24 <[^>]*> nop ++0+0c28 <[^>]*> nop ++0+0c2c <[^>]*> nop ++0+0c30 <[^>]*> nop ++0+0c34 <[^>]*> nop ++0+0c38 <[^>]*> nop ++0+0c3c <[^>]*> nop ++0+0c40 <[^>]*> nop ++0+0c44 <[^>]*> nop ++0+0c48 <[^>]*> nop ++0+0c4c <[^>]*> nop ++0+0c50 <[^>]*> nop ++0+0c54 <[^>]*> nop ++0+0c58 <[^>]*> nop ++0+0c5c <[^>]*> nop ++0+0c60 <[^>]*> nop ++0+0c64 <[^>]*> nop ++0+0c68 <[^>]*> nop ++0+0c6c <[^>]*> nop ++0+0c70 <[^>]*> nop ++0+0c74 <[^>]*> nop ++0+0c78 <[^>]*> nop ++0+0c7c <[^>]*> nop ++0+0c80 <[^>]*> nop ++0+0c84 <[^>]*> nop ++0+0c88 <[^>]*> nop ++0+0c8c <[^>]*> nop ++0+0c90 <[^>]*> nop ++0+0c94 <[^>]*> nop ++0+0c98 <[^>]*> nop ++0+0c9c <[^>]*> nop ++0+0ca0 <[^>]*> nop ++0+0ca4 <[^>]*> nop ++0+0ca8 <[^>]*> nop ++0+0cac <[^>]*> nop ++0+0cb0 <[^>]*> nop ++0+0cb4 <[^>]*> nop ++0+0cb8 <[^>]*> nop ++0+0cbc <[^>]*> nop ++0+0cc0 <[^>]*> nop ++0+0cc4 <[^>]*> nop ++0+0cc8 <[^>]*> nop ++0+0ccc <[^>]*> nop ++0+0cd0 <[^>]*> nop ++0+0cd4 <[^>]*> nop ++0+0cd8 <[^>]*> nop ++0+0cdc <[^>]*> nop ++0+0ce0 <[^>]*> nop ++0+0ce4 <[^>]*> nop ++0+0ce8 <[^>]*> nop ++0+0cec <[^>]*> nop ++0+0cf0 <[^>]*> nop ++0+0cf4 <[^>]*> nop ++0+0cf8 <[^>]*> nop ++0+0cfc <[^>]*> nop ++0+0d00 <[^>]*> nop ++0+0d04 <[^>]*> nop ++0+0d08 <[^>]*> nop ++0+0d0c <[^>]*> nop ++0+0d10 <[^>]*> nop ++0+0d14 <[^>]*> nop ++0+0d18 <[^>]*> nop ++0+0d1c <[^>]*> nop ++0+0d20 <[^>]*> nop ++0+0d24 <[^>]*> nop ++0+0d28 <[^>]*> nop ++0+0d2c <[^>]*> nop ++0+0d30 <[^>]*> nop ++0+0d34 <[^>]*> nop ++0+0d38 <[^>]*> nop ++0+0d3c <[^>]*> nop ++0+0d40 <[^>]*> nop ++0+0d44 <[^>]*> nop ++0+0d48 <[^>]*> nop ++0+0d4c <[^>]*> nop ++0+0d50 <[^>]*> nop ++0+0d54 <[^>]*> nop ++0+0d58 <[^>]*> nop ++0+0d5c <[^>]*> nop ++0+0d60 <[^>]*> nop ++0+0d64 <[^>]*> nop ++0+0d68 <[^>]*> nop ++0+0d6c <[^>]*> nop ++0+0d70 <[^>]*> nop ++0+0d74 <[^>]*> nop ++0+0d78 <[^>]*> nop ++0+0d7c <[^>]*> nop ++0+0d80 <[^>]*> nop ++0+0d84 <[^>]*> nop ++0+0d88 <[^>]*> nop ++0+0d8c <[^>]*> nop ++0+0d90 <[^>]*> nop ++0+0d94 <[^>]*> nop ++0+0d98 <[^>]*> nop ++0+0d9c <[^>]*> nop ++0+0da0 <[^>]*> nop ++0+0da4 <[^>]*> nop ++0+0da8 <[^>]*> nop ++0+0dac <[^>]*> nop ++0+0db0 <[^>]*> nop ++0+0db4 <[^>]*> nop ++0+0db8 <[^>]*> nop ++0+0dbc <[^>]*> nop ++0+0dc0 <[^>]*> nop ++0+0dc4 <[^>]*> nop ++0+0dc8 <[^>]*> nop ++0+0dcc <[^>]*> nop ++0+0dd0 <[^>]*> nop ++0+0dd4 <[^>]*> nop ++0+0dd8 <[^>]*> nop ++0+0ddc <[^>]*> nop ++0+0de0 <[^>]*> nop ++0+0de4 <[^>]*> nop ++0+0de8 <[^>]*> nop ++0+0dec <[^>]*> nop ++0+0df0 <[^>]*> nop ++0+0df4 <[^>]*> nop ++0+0df8 <[^>]*> nop ++0+0dfc <[^>]*> nop ++0+0e00 <[^>]*> nop ++0+0e04 <[^>]*> nop ++0+0e08 <[^>]*> nop ++0+0e0c <[^>]*> nop ++0+0e10 <[^>]*> nop ++0+0e14 <[^>]*> nop ++0+0e18 <[^>]*> nop ++0+0e1c <[^>]*> nop ++0+0e20 <[^>]*> nop ++0+0e24 <[^>]*> nop ++0+0e28 <[^>]*> nop ++0+0e2c <[^>]*> nop ++0+0e30 <[^>]*> nop ++0+0e34 <[^>]*> nop ++0+0e38 <[^>]*> nop ++0+0e3c <[^>]*> nop ++0+0e40 <[^>]*> nop ++0+0e44 <[^>]*> nop ++0+0e48 <[^>]*> nop ++0+0e4c <[^>]*> nop ++0+0e50 <[^>]*> nop ++0+0e54 <[^>]*> nop ++0+0e58 <[^>]*> nop ++0+0e5c <[^>]*> nop ++0+0e60 <[^>]*> nop ++0+0e64 <[^>]*> nop ++0+0e68 <[^>]*> nop ++0+0e6c <[^>]*> nop ++0+0e70 <[^>]*> nop ++0+0e74 <[^>]*> nop ++0+0e78 <[^>]*> nop ++0+0e7c <[^>]*> nop ++0+0e80 <[^>]*> nop ++0+0e84 <[^>]*> nop ++0+0e88 <[^>]*> nop ++0+0e8c <[^>]*> nop ++0+0e90 <[^>]*> nop ++0+0e94 <[^>]*> nop ++0+0e98 <[^>]*> nop ++0+0e9c <[^>]*> nop ++0+0ea0 <[^>]*> nop ++0+0ea4 <[^>]*> nop ++0+0ea8 <[^>]*> nop ++0+0eac <[^>]*> nop ++0+0eb0 <[^>]*> nop ++0+0eb4 <[^>]*> nop ++0+0eb8 <[^>]*> nop ++0+0ebc <[^>]*> nop ++0+0ec0 <[^>]*> nop ++0+0ec4 <[^>]*> nop ++0+0ec8 <[^>]*> nop ++0+0ecc <[^>]*> nop ++0+0ed0 <[^>]*> nop ++0+0ed4 <[^>]*> nop ++0+0ed8 <[^>]*> nop ++0+0edc <[^>]*> nop ++0+0ee0 <[^>]*> nop ++0+0ee4 <[^>]*> nop ++0+0ee8 <[^>]*> nop ++0+0eec <[^>]*> nop ++0+0ef0 <[^>]*> nop ++0+0ef4 <[^>]*> nop ++0+0ef8 <[^>]*> nop ++0+0efc <[^>]*> nop ++0+0f00 <[^>]*> nop ++0+0f04 <[^>]*> nop ++0+0f08 <[^>]*> nop ++0+0f0c <[^>]*> nop ++0+0f10 <[^>]*> nop ++0+0f14 <[^>]*> nop ++0+0f18 <[^>]*> nop ++0+0f1c <[^>]*> nop ++0+0f20 <[^>]*> nop ++0+0f24 <[^>]*> nop ++0+0f28 <[^>]*> nop ++0+0f2c <[^>]*> nop ++0+0f30 <[^>]*> nop ++0+0f34 <[^>]*> nop ++0+0f38 <[^>]*> nop ++0+0f3c <[^>]*> nop ++0+0f40 <[^>]*> nop ++0+0f44 <[^>]*> nop ++0+0f48 <[^>]*> nop ++0+0f4c <[^>]*> nop ++0+0f50 <[^>]*> nop ++0+0f54 <[^>]*> nop ++0+0f58 <[^>]*> nop ++0+0f5c <[^>]*> nop ++0+0f60 <[^>]*> nop ++0+0f64 <[^>]*> nop ++0+0f68 <[^>]*> nop ++0+0f6c <[^>]*> nop ++0+0f70 <[^>]*> nop ++0+0f74 <[^>]*> nop ++0+0f78 <[^>]*> nop ++0+0f7c <[^>]*> nop ++0+0f80 <[^>]*> nop ++0+0f84 <[^>]*> nop ++0+0f88 <[^>]*> nop ++0+0f8c <[^>]*> nop ++0+0f90 <[^>]*> nop ++0+0f94 <[^>]*> nop ++0+0f98 <[^>]*> nop ++0+0f9c <[^>]*> nop ++0+0fa0 <[^>]*> nop ++0+0fa4 <[^>]*> nop ++0+0fa8 <[^>]*> nop ++0+0fac <[^>]*> nop ++0+0fb0 <[^>]*> nop ++0+0fb4 <[^>]*> nop ++0+0fb8 <[^>]*> nop ++0+0fbc <[^>]*> nop ++0+0fc0 <[^>]*> nop ++0+0fc4 <[^>]*> nop ++0+0fc8 <[^>]*> nop ++0+0fcc <[^>]*> nop ++0+0fd0 <[^>]*> nop ++0+0fd4 <[^>]*> nop ++0+0fd8 <[^>]*> nop ++0+0fdc <[^>]*> nop ++0+0fe0 <[^>]*> nop ++0+0fe4 <[^>]*> nop ++0+0fe8 <[^>]*> nop ++0+0fec <[^>]*> nop ++0+0ff0 <[^>]*> nop ++0+0ff4 <[^>]*> nop ++0+0ff8 <[^>]*> nop ++0+0ffc <[^>]*> nop ++0+1000 <[^>]*> nop ++0+1004 <[^>]*> nop ++0+1008 <[^>]*> nop ++0+100c <[^>]*> nop ++0+1010 <[^>]*> nop ++0+1014 <[^>]*> nop ++0+1018 <[^>]*> nop ++0+101c <[^>]*> nop ++0+1020 <[^>]*> nop ++0+1024 <[^>]*> nop ++0+1028 <[^>]*> nop ++0+102c <[^>]*> nop ++0+1030 <[^>]*> nop ++0+1034 <[^>]*> nop ++0+1038 <[^>]*> nop ++0+103c <[^>]*> nop ++0+1040 <[^>]*> nop ++0+1044 <[^>]*> nop ++0+1048 <[^>]*> nop ++0+104c <[^>]*> nop ++0+1050 <[^>]*> nop ++0+1054 <[^>]*> nop ++0+1058 <[^>]*> nop ++0+105c <[^>]*> nop ++0+1060 <[^>]*> nop ++0+1064 <[^>]*> nop ++0+1068 <[^>]*> nop ++0+106c <[^>]*> nop ++0+1070 <[^>]*> nop ++0+1074 <[^>]*> nop ++0+1078 <[^>]*> nop ++0+107c <[^>]*> nop ++0+1080 <[^>]*> nop ++0+1084 <[^>]*> nop ++0+1088 <[^>]*> nop ++0+108c <[^>]*> nop ++0+1090 <[^>]*> nop ++0+1094 <[^>]*> nop ++0+1098 <[^>]*> nop ++0+109c <[^>]*> nop ++0+10a0 <[^>]*> nop ++0+10a4 <[^>]*> nop ++0+10a8 <[^>]*> nop ++0+10ac <[^>]*> nop ++0+10b0 <[^>]*> nop ++0+10b4 <[^>]*> nop ++0+10b8 <[^>]*> nop ++0+10bc <[^>]*> nop ++0+10c0 <[^>]*> nop ++0+10c4 <[^>]*> nop ++0+10c8 <[^>]*> nop ++0+10cc <[^>]*> nop ++0+10d0 <[^>]*> nop ++0+10d4 <[^>]*> nop ++0+10d8 <[^>]*> nop ++0+10dc <[^>]*> nop ++0+10e0 <[^>]*> nop ++0+10e4 <[^>]*> nop ++0+10e8 <[^>]*> nop ++0+10ec <[^>]*> nop ++0+10f0 <[^>]*> nop ++0+10f4 <[^>]*> nop ++0+10f8 <[^>]*> nop ++0+10fc <[^>]*> nop ++0+1100 <[^>]*> nop ++0+1104 <[^>]*> nop ++0+1108 <[^>]*> nop ++0+110c <[^>]*> nop ++0+1110 <[^>]*> nop ++0+1114 <[^>]*> nop ++0+1118 <[^>]*> nop ++0+111c <[^>]*> nop ++0+1120 <[^>]*> nop ++0+1124 <[^>]*> nop ++0+1128 <[^>]*> nop ++0+112c <[^>]*> nop ++0+1130 <[^>]*> nop ++0+1134 <[^>]*> nop ++0+1138 <[^>]*> nop ++0+113c <[^>]*> nop ++0+1140 <[^>]*> nop ++0+1144 <[^>]*> nop ++0+1148 <[^>]*> nop ++0+114c <[^>]*> nop ++0+1150 <[^>]*> nop ++0+1154 <[^>]*> nop ++0+1158 <[^>]*> nop ++0+115c <[^>]*> nop ++0+1160 <[^>]*> nop ++0+1164 <[^>]*> nop ++0+1168 <[^>]*> nop ++0+116c <[^>]*> nop ++0+1170 <[^>]*> nop ++0+1174 <[^>]*> nop ++0+1178 <[^>]*> nop ++0+117c <[^>]*> nop ++0+1180 <[^>]*> nop ++0+1184 <[^>]*> nop ++0+1188 <[^>]*> nop ++0+118c <[^>]*> nop ++0+1190 <[^>]*> nop ++0+1194 <[^>]*> nop ++0+1198 <[^>]*> nop ++0+119c <[^>]*> nop ++0+11a0 <[^>]*> nop ++0+11a4 <[^>]*> nop ++0+11a8 <[^>]*> nop ++0+11ac <[^>]*> nop ++0+11b0 <[^>]*> nop ++0+11b4 <[^>]*> nop ++0+11b8 <[^>]*> nop ++0+11bc <[^>]*> nop ++0+11c0 <[^>]*> nop ++0+11c4 <[^>]*> nop ++0+11c8 <[^>]*> nop ++0+11cc <[^>]*> nop ++0+11d0 <[^>]*> nop ++0+11d4 <[^>]*> nop ++0+11d8 <[^>]*> nop ++0+11dc <[^>]*> nop ++0+11e0 <[^>]*> nop ++0+11e4 <[^>]*> nop ++0+11e8 <[^>]*> nop ++0+11ec <[^>]*> nop ++0+11f0 <[^>]*> nop ++0+11f4 <[^>]*> nop ++0+11f8 <[^>]*> nop ++0+11fc <[^>]*> nop ++0+1200 <[^>]*> nop ++0+1204 <[^>]*> nop ++0+1208 <[^>]*> nop ++0+120c <[^>]*> nop ++0+1210 <[^>]*> nop ++0+1214 <[^>]*> nop ++0+1218 <[^>]*> nop ++0+121c <[^>]*> nop ++0+1220 <[^>]*> nop ++0+1224 <[^>]*> nop ++0+1228 <[^>]*> nop ++0+122c <[^>]*> nop ++0+1230 <[^>]*> nop ++0+1234 <[^>]*> nop ++0+1238 <[^>]*> nop ++0+123c <[^>]*> nop ++0+1240 <[^>]*> nop ++0+1244 <[^>]*> nop ++0+1248 <[^>]*> nop ++0+124c <[^>]*> nop ++0+1250 <[^>]*> nop ++0+1254 <[^>]*> nop ++0+1258 <[^>]*> nop ++0+125c <[^>]*> nop ++0+1260 <[^>]*> nop ++0+1264 <[^>]*> nop ++0+1268 <[^>]*> nop ++0+126c <[^>]*> nop ++0+1270 <[^>]*> nop ++0+1274 <[^>]*> nop ++0+1278 <[^>]*> nop ++0+127c <[^>]*> nop ++0+1280 <[^>]*> nop ++0+1284 <[^>]*> nop ++0+1288 <[^>]*> nop ++0+128c <[^>]*> nop ++0+1290 <[^>]*> nop ++0+1294 <[^>]*> nop ++0+1298 <[^>]*> nop ++0+129c <[^>]*> nop ++0+12a0 <[^>]*> nop ++0+12a4 <[^>]*> nop ++0+12a8 <[^>]*> nop ++0+12ac <[^>]*> nop ++0+12b0 <[^>]*> nop ++0+12b4 <[^>]*> nop ++0+12b8 <[^>]*> nop ++0+12bc <[^>]*> nop ++0+12c0 <[^>]*> nop ++0+12c4 <[^>]*> nop ++0+12c8 <[^>]*> nop ++0+12cc <[^>]*> nop ++0+12d0 <[^>]*> nop ++0+12d4 <[^>]*> nop ++0+12d8 <[^>]*> nop ++0+12dc <[^>]*> nop ++0+12e0 <[^>]*> nop ++0+12e4 <[^>]*> nop ++0+12e8 <[^>]*> nop ++0+12ec <[^>]*> nop ++0+12f0 <[^>]*> nop ++0+12f4 <[^>]*> nop ++0+12f8 <[^>]*> nop ++0+12fc <[^>]*> nop ++0+1300 <[^>]*> nop ++0+1304 <[^>]*> nop ++0+1308 <[^>]*> nop ++0+130c <[^>]*> nop ++0+1310 <[^>]*> nop ++0+1314 <[^>]*> nop ++0+1318 <[^>]*> nop ++0+131c <[^>]*> nop ++0+1320 <[^>]*> nop ++0+1324 <[^>]*> nop ++0+1328 <[^>]*> nop ++0+132c <[^>]*> nop ++0+1330 <[^>]*> nop ++0+1334 <[^>]*> nop ++0+1338 <[^>]*> nop ++0+133c <[^>]*> nop ++0+1340 <[^>]*> nop ++0+1344 <[^>]*> nop ++0+1348 <[^>]*> nop ++0+134c <[^>]*> nop ++0+1350 <[^>]*> nop ++0+1354 <[^>]*> nop ++0+1358 <[^>]*> nop ++0+135c <[^>]*> nop ++0+1360 <[^>]*> nop ++0+1364 <[^>]*> nop ++0+1368 <[^>]*> nop ++0+136c <[^>]*> nop ++0+1370 <[^>]*> nop ++0+1374 <[^>]*> nop ++0+1378 <[^>]*> nop ++0+137c <[^>]*> nop ++0+1380 <[^>]*> nop ++0+1384 <[^>]*> nop ++0+1388 <[^>]*> nop ++0+138c <[^>]*> nop ++0+1390 <[^>]*> nop ++0+1394 <[^>]*> nop ++0+1398 <[^>]*> nop ++0+139c <[^>]*> nop ++0+13a0 <[^>]*> nop ++0+13a4 <[^>]*> nop ++0+13a8 <[^>]*> nop ++0+13ac <[^>]*> nop ++0+13b0 <[^>]*> nop ++0+13b4 <[^>]*> nop ++0+13b8 <[^>]*> nop ++0+13bc <[^>]*> nop ++0+13c0 <[^>]*> nop ++0+13c4 <[^>]*> nop ++0+13c8 <[^>]*> nop ++0+13cc <[^>]*> nop ++0+13d0 <[^>]*> nop ++0+13d4 <[^>]*> nop ++0+13d8 <[^>]*> nop ++0+13dc <[^>]*> nop ++0+13e0 <[^>]*> nop ++0+13e4 <[^>]*> nop ++0+13e8 <[^>]*> nop ++0+13ec <[^>]*> nop ++0+13f0 <[^>]*> nop ++0+13f4 <[^>]*> nop ++0+13f8 <[^>]*> nop ++0+13fc <[^>]*> nop ++0+1400 <[^>]*> nop ++0+1404 <[^>]*> nop ++0+1408 <[^>]*> nop ++0+140c <[^>]*> nop ++0+1410 <[^>]*> nop ++0+1414 <[^>]*> nop ++0+1418 <[^>]*> nop ++0+141c <[^>]*> nop ++0+1420 <[^>]*> nop ++0+1424 <[^>]*> nop ++0+1428 <[^>]*> nop ++0+142c <[^>]*> nop ++0+1430 <[^>]*> nop ++0+1434 <[^>]*> nop ++0+1438 <[^>]*> nop ++0+143c <[^>]*> nop ++0+1440 <[^>]*> nop ++0+1444 <[^>]*> nop ++0+1448 <[^>]*> nop ++0+144c <[^>]*> nop ++0+1450 <[^>]*> nop ++0+1454 <[^>]*> nop ++0+1458 <[^>]*> nop ++0+145c <[^>]*> nop ++0+1460 <[^>]*> nop ++0+1464 <[^>]*> nop ++0+1468 <[^>]*> nop ++0+146c <[^>]*> nop ++0+1470 <[^>]*> nop ++0+1474 <[^>]*> nop ++0+1478 <[^>]*> nop ++0+147c <[^>]*> nop ++0+1480 <[^>]*> nop ++0+1484 <[^>]*> nop ++0+1488 <[^>]*> nop ++0+148c <[^>]*> nop ++0+1490 <[^>]*> nop ++0+1494 <[^>]*> nop ++0+1498 <[^>]*> nop ++0+149c <[^>]*> nop ++0+14a0 <[^>]*> nop ++0+14a4 <[^>]*> nop ++0+14a8 <[^>]*> nop ++0+14ac <[^>]*> nop ++0+14b0 <[^>]*> nop ++0+14b4 <[^>]*> nop ++0+14b8 <[^>]*> nop ++0+14bc <[^>]*> nop ++0+14c0 <[^>]*> nop ++0+14c4 <[^>]*> nop ++0+14c8 <[^>]*> nop ++0+14cc <[^>]*> nop ++0+14d0 <[^>]*> nop ++0+14d4 <[^>]*> nop ++0+14d8 <[^>]*> nop ++0+14dc <[^>]*> nop ++0+14e0 <[^>]*> nop ++0+14e4 <[^>]*> nop ++0+14e8 <[^>]*> nop ++0+14ec <[^>]*> nop ++0+14f0 <[^>]*> nop ++0+14f4 <[^>]*> nop ++0+14f8 <[^>]*> nop ++0+14fc <[^>]*> nop ++0+1500 <[^>]*> nop ++0+1504 <[^>]*> nop ++0+1508 <[^>]*> nop ++0+150c <[^>]*> nop ++0+1510 <[^>]*> nop ++0+1514 <[^>]*> nop ++0+1518 <[^>]*> nop ++0+151c <[^>]*> nop ++0+1520 <[^>]*> nop ++0+1524 <[^>]*> nop ++0+1528 <[^>]*> nop ++0+152c <[^>]*> nop ++0+1530 <[^>]*> nop ++0+1534 <[^>]*> nop ++0+1538 <[^>]*> nop ++0+153c <[^>]*> nop ++0+1540 <[^>]*> nop ++0+1544 <[^>]*> nop ++0+1548 <[^>]*> nop ++0+154c <[^>]*> nop ++0+1550 <[^>]*> nop ++0+1554 <[^>]*> nop ++0+1558 <[^>]*> nop ++0+155c <[^>]*> nop ++0+1560 <[^>]*> nop ++0+1564 <[^>]*> nop ++0+1568 <[^>]*> nop ++0+156c <[^>]*> nop ++0+1570 <[^>]*> nop ++0+1574 <[^>]*> nop ++0+1578 <[^>]*> nop ++0+157c <[^>]*> nop ++0+1580 <[^>]*> nop ++0+1584 <[^>]*> nop ++0+1588 <[^>]*> nop ++0+158c <[^>]*> nop ++0+1590 <[^>]*> nop ++0+1594 <[^>]*> nop ++0+1598 <[^>]*> nop ++0+159c <[^>]*> nop ++0+15a0 <[^>]*> nop ++0+15a4 <[^>]*> nop ++0+15a8 <[^>]*> nop ++0+15ac <[^>]*> nop ++0+15b0 <[^>]*> nop ++0+15b4 <[^>]*> nop ++0+15b8 <[^>]*> nop ++0+15bc <[^>]*> nop ++0+15c0 <[^>]*> nop ++0+15c4 <[^>]*> nop ++0+15c8 <[^>]*> nop ++0+15cc <[^>]*> nop ++0+15d0 <[^>]*> nop ++0+15d4 <[^>]*> nop ++0+15d8 <[^>]*> nop ++0+15dc <[^>]*> nop ++0+15e0 <[^>]*> nop ++0+15e4 <[^>]*> nop ++0+15e8 <[^>]*> nop ++0+15ec <[^>]*> nop ++0+15f0 <[^>]*> nop ++0+15f4 <[^>]*> nop ++0+15f8 <[^>]*> nop ++0+15fc <[^>]*> nop ++0+1600 <[^>]*> nop ++0+1604 <[^>]*> nop ++0+1608 <[^>]*> nop ++0+160c <[^>]*> nop ++0+1610 <[^>]*> nop ++0+1614 <[^>]*> nop ++0+1618 <[^>]*> nop ++0+161c <[^>]*> nop ++0+1620 <[^>]*> nop ++0+1624 <[^>]*> nop ++0+1628 <[^>]*> nop ++0+162c <[^>]*> nop ++0+1630 <[^>]*> nop ++0+1634 <[^>]*> nop ++0+1638 <[^>]*> nop ++0+163c <[^>]*> nop ++0+1640 <[^>]*> nop ++0+1644 <[^>]*> nop ++0+1648 <[^>]*> nop ++0+164c <[^>]*> nop ++0+1650 <[^>]*> nop ++0+1654 <[^>]*> nop ++0+1658 <[^>]*> nop ++0+165c <[^>]*> nop ++0+1660 <[^>]*> nop ++0+1664 <[^>]*> nop ++0+1668 <[^>]*> nop ++0+166c <[^>]*> nop ++0+1670 <[^>]*> nop ++0+1674 <[^>]*> nop ++0+1678 <[^>]*> nop ++0+167c <[^>]*> nop ++0+1680 <[^>]*> nop ++0+1684 <[^>]*> nop ++0+1688 <[^>]*> nop ++0+168c <[^>]*> nop ++0+1690 <[^>]*> nop ++0+1694 <[^>]*> nop ++0+1698 <[^>]*> nop ++0+169c <[^>]*> nop ++0+16a0 <[^>]*> nop ++0+16a4 <[^>]*> nop ++0+16a8 <[^>]*> nop ++0+16ac <[^>]*> nop ++0+16b0 <[^>]*> nop ++0+16b4 <[^>]*> nop ++0+16b8 <[^>]*> nop ++0+16bc <[^>]*> nop ++0+16c0 <[^>]*> nop ++0+16c4 <[^>]*> nop ++0+16c8 <[^>]*> nop ++0+16cc <[^>]*> nop ++0+16d0 <[^>]*> nop ++0+16d4 <[^>]*> nop ++0+16d8 <[^>]*> nop ++0+16dc <[^>]*> nop ++0+16e0 <[^>]*> nop ++0+16e4 <[^>]*> nop ++0+16e8 <[^>]*> nop ++0+16ec <[^>]*> nop ++0+16f0 <[^>]*> nop ++0+16f4 <[^>]*> nop ++0+16f8 <[^>]*> nop ++0+16fc <[^>]*> nop ++0+1700 <[^>]*> nop ++0+1704 <[^>]*> nop ++0+1708 <[^>]*> nop ++0+170c <[^>]*> nop ++0+1710 <[^>]*> nop ++0+1714 <[^>]*> nop ++0+1718 <[^>]*> nop ++0+171c <[^>]*> nop ++0+1720 <[^>]*> nop ++0+1724 <[^>]*> nop ++0+1728 <[^>]*> nop ++0+172c <[^>]*> nop ++0+1730 <[^>]*> nop ++0+1734 <[^>]*> nop ++0+1738 <[^>]*> nop ++0+173c <[^>]*> nop ++0+1740 <[^>]*> nop ++0+1744 <[^>]*> nop ++0+1748 <[^>]*> nop ++0+174c <[^>]*> nop ++0+1750 <[^>]*> nop ++0+1754 <[^>]*> nop ++0+1758 <[^>]*> nop ++0+175c <[^>]*> nop ++0+1760 <[^>]*> nop ++0+1764 <[^>]*> nop ++0+1768 <[^>]*> nop ++0+176c <[^>]*> nop ++0+1770 <[^>]*> nop ++0+1774 <[^>]*> nop ++0+1778 <[^>]*> nop ++0+177c <[^>]*> nop ++0+1780 <[^>]*> nop ++0+1784 <[^>]*> nop ++0+1788 <[^>]*> nop ++0+178c <[^>]*> nop ++0+1790 <[^>]*> nop ++0+1794 <[^>]*> nop ++0+1798 <[^>]*> nop ++0+179c <[^>]*> nop ++0+17a0 <[^>]*> nop ++0+17a4 <[^>]*> nop ++0+17a8 <[^>]*> nop ++0+17ac <[^>]*> nop ++0+17b0 <[^>]*> nop ++0+17b4 <[^>]*> nop ++0+17b8 <[^>]*> nop ++0+17bc <[^>]*> nop ++0+17c0 <[^>]*> nop ++0+17c4 <[^>]*> nop ++0+17c8 <[^>]*> nop ++0+17cc <[^>]*> nop ++0+17d0 <[^>]*> nop ++0+17d4 <[^>]*> nop ++0+17d8 <[^>]*> nop ++0+17dc <[^>]*> nop ++0+17e0 <[^>]*> nop ++0+17e4 <[^>]*> nop ++0+17e8 <[^>]*> nop ++0+17ec <[^>]*> nop ++0+17f0 <[^>]*> nop ++0+17f4 <[^>]*> nop ++0+17f8 <[^>]*> nop ++0+17fc <[^>]*> nop ++0+1800 <[^>]*> nop ++0+1804 <[^>]*> nop ++0+1808 <[^>]*> nop ++0+180c <[^>]*> nop ++0+1810 <[^>]*> nop ++0+1814 <[^>]*> nop ++0+1818 <[^>]*> nop ++0+181c <[^>]*> nop ++0+1820 <[^>]*> nop ++0+1824 <[^>]*> nop ++0+1828 <[^>]*> nop ++0+182c <[^>]*> nop ++0+1830 <[^>]*> nop ++0+1834 <[^>]*> nop ++0+1838 <[^>]*> nop ++0+183c <[^>]*> nop ++0+1840 <[^>]*> nop ++0+1844 <[^>]*> nop ++0+1848 <[^>]*> nop ++0+184c <[^>]*> nop ++0+1850 <[^>]*> nop ++0+1854 <[^>]*> nop ++0+1858 <[^>]*> nop ++0+185c <[^>]*> nop ++0+1860 <[^>]*> nop ++0+1864 <[^>]*> nop ++0+1868 <[^>]*> nop ++0+186c <[^>]*> nop ++0+1870 <[^>]*> nop ++0+1874 <[^>]*> nop ++0+1878 <[^>]*> nop ++0+187c <[^>]*> nop ++0+1880 <[^>]*> nop ++0+1884 <[^>]*> nop ++0+1888 <[^>]*> nop ++0+188c <[^>]*> nop ++0+1890 <[^>]*> nop ++0+1894 <[^>]*> nop ++0+1898 <[^>]*> nop ++0+189c <[^>]*> nop ++0+18a0 <[^>]*> nop ++0+18a4 <[^>]*> nop ++0+18a8 <[^>]*> nop ++0+18ac <[^>]*> nop ++0+18b0 <[^>]*> nop ++0+18b4 <[^>]*> nop ++0+18b8 <[^>]*> nop ++0+18bc <[^>]*> nop ++0+18c0 <[^>]*> nop ++0+18c4 <[^>]*> nop ++0+18c8 <[^>]*> nop ++0+18cc <[^>]*> nop ++0+18d0 <[^>]*> nop ++0+18d4 <[^>]*> nop ++0+18d8 <[^>]*> nop ++0+18dc <[^>]*> nop ++0+18e0 <[^>]*> nop ++0+18e4 <[^>]*> nop ++0+18e8 <[^>]*> nop ++0+18ec <[^>]*> nop ++0+18f0 <[^>]*> nop ++0+18f4 <[^>]*> nop ++0+18f8 <[^>]*> nop ++0+18fc <[^>]*> nop ++0+1900 <[^>]*> nop ++0+1904 <[^>]*> nop ++0+1908 <[^>]*> nop ++0+190c <[^>]*> nop ++0+1910 <[^>]*> nop ++0+1914 <[^>]*> nop ++0+1918 <[^>]*> nop ++0+191c <[^>]*> nop ++0+1920 <[^>]*> nop ++0+1924 <[^>]*> nop ++0+1928 <[^>]*> nop ++0+192c <[^>]*> nop ++0+1930 <[^>]*> nop ++0+1934 <[^>]*> nop ++0+1938 <[^>]*> nop ++0+193c <[^>]*> nop ++0+1940 <[^>]*> nop ++0+1944 <[^>]*> nop ++0+1948 <[^>]*> nop ++0+194c <[^>]*> nop ++0+1950 <[^>]*> nop ++0+1954 <[^>]*> nop ++0+1958 <[^>]*> nop ++0+195c <[^>]*> nop ++0+1960 <[^>]*> nop ++0+1964 <[^>]*> nop ++0+1968 <[^>]*> nop ++0+196c <[^>]*> nop ++0+1970 <[^>]*> nop ++0+1974 <[^>]*> nop ++0+1978 <[^>]*> nop ++0+197c <[^>]*> nop ++0+1980 <[^>]*> nop ++0+1984 <[^>]*> nop ++0+1988 <[^>]*> nop ++0+198c <[^>]*> nop ++0+1990 <[^>]*> nop ++0+1994 <[^>]*> nop ++0+1998 <[^>]*> nop ++0+199c <[^>]*> nop ++0+19a0 <[^>]*> nop ++0+19a4 <[^>]*> nop ++0+19a8 <[^>]*> nop ++0+19ac <[^>]*> nop ++0+19b0 <[^>]*> nop ++0+19b4 <[^>]*> nop ++0+19b8 <[^>]*> nop ++0+19bc <[^>]*> nop ++0+19c0 <[^>]*> nop ++0+19c4 <[^>]*> nop ++0+19c8 <[^>]*> nop ++0+19cc <[^>]*> nop ++0+19d0 <[^>]*> nop ++0+19d4 <[^>]*> nop ++0+19d8 <[^>]*> nop ++0+19dc <[^>]*> nop ++0+19e0 <[^>]*> nop ++0+19e4 <[^>]*> nop ++0+19e8 <[^>]*> nop ++0+19ec <[^>]*> nop ++0+19f0 <[^>]*> nop ++0+19f4 <[^>]*> nop ++0+19f8 <[^>]*> nop ++0+19fc <[^>]*> nop ++0+1a00 <[^>]*> nop ++0+1a04 <[^>]*> nop ++0+1a08 <[^>]*> nop ++0+1a0c <[^>]*> nop ++0+1a10 <[^>]*> nop ++0+1a14 <[^>]*> nop ++0+1a18 <[^>]*> nop ++0+1a1c <[^>]*> nop ++0+1a20 <[^>]*> nop ++0+1a24 <[^>]*> nop ++0+1a28 <[^>]*> nop ++0+1a2c <[^>]*> nop ++0+1a30 <[^>]*> nop ++0+1a34 <[^>]*> nop ++0+1a38 <[^>]*> nop ++0+1a3c <[^>]*> nop ++0+1a40 <[^>]*> nop ++0+1a44 <[^>]*> nop ++0+1a48 <[^>]*> nop ++0+1a4c <[^>]*> nop ++0+1a50 <[^>]*> nop ++0+1a54 <[^>]*> nop ++0+1a58 <[^>]*> nop ++0+1a5c <[^>]*> nop ++0+1a60 <[^>]*> nop ++0+1a64 <[^>]*> nop ++0+1a68 <[^>]*> nop ++0+1a6c <[^>]*> nop ++0+1a70 <[^>]*> nop ++0+1a74 <[^>]*> nop ++0+1a78 <[^>]*> nop ++0+1a7c <[^>]*> nop ++0+1a80 <[^>]*> nop ++0+1a84 <[^>]*> nop ++0+1a88 <[^>]*> nop ++0+1a8c <[^>]*> nop ++0+1a90 <[^>]*> nop ++0+1a94 <[^>]*> nop ++0+1a98 <[^>]*> nop ++0+1a9c <[^>]*> nop ++0+1aa0 <[^>]*> nop ++0+1aa4 <[^>]*> nop ++0+1aa8 <[^>]*> nop ++0+1aac <[^>]*> nop ++0+1ab0 <[^>]*> nop ++0+1ab4 <[^>]*> nop ++0+1ab8 <[^>]*> nop ++0+1abc <[^>]*> nop ++0+1ac0 <[^>]*> nop ++0+1ac4 <[^>]*> nop ++0+1ac8 <[^>]*> nop ++0+1acc <[^>]*> nop ++0+1ad0 <[^>]*> nop ++0+1ad4 <[^>]*> nop ++0+1ad8 <[^>]*> nop ++0+1adc <[^>]*> nop ++0+1ae0 <[^>]*> nop ++0+1ae4 <[^>]*> nop ++0+1ae8 <[^>]*> nop ++0+1aec <[^>]*> nop ++0+1af0 <[^>]*> nop ++0+1af4 <[^>]*> nop ++0+1af8 <[^>]*> nop ++0+1afc <[^>]*> nop ++0+1b00 <[^>]*> nop ++0+1b04 <[^>]*> nop ++0+1b08 <[^>]*> nop ++0+1b0c <[^>]*> nop ++0+1b10 <[^>]*> nop ++0+1b14 <[^>]*> nop ++0+1b18 <[^>]*> nop ++0+1b1c <[^>]*> nop ++0+1b20 <[^>]*> nop ++0+1b24 <[^>]*> nop ++0+1b28 <[^>]*> nop ++0+1b2c <[^>]*> nop ++0+1b30 <[^>]*> nop ++0+1b34 <[^>]*> nop ++0+1b38 <[^>]*> nop ++0+1b3c <[^>]*> nop ++0+1b40 <[^>]*> nop ++0+1b44 <[^>]*> nop ++0+1b48 <[^>]*> nop ++0+1b4c <[^>]*> nop ++0+1b50 <[^>]*> nop ++0+1b54 <[^>]*> nop ++0+1b58 <[^>]*> nop ++0+1b5c <[^>]*> nop ++0+1b60 <[^>]*> nop ++0+1b64 <[^>]*> nop ++0+1b68 <[^>]*> nop ++0+1b6c <[^>]*> nop ++0+1b70 <[^>]*> nop ++0+1b74 <[^>]*> nop ++0+1b78 <[^>]*> nop ++0+1b7c <[^>]*> nop ++0+1b80 <[^>]*> nop ++0+1b84 <[^>]*> nop ++0+1b88 <[^>]*> nop ++0+1b8c <[^>]*> nop ++0+1b90 <[^>]*> nop ++0+1b94 <[^>]*> nop ++0+1b98 <[^>]*> nop ++0+1b9c <[^>]*> nop ++0+1ba0 <[^>]*> nop ++0+1ba4 <[^>]*> nop ++0+1ba8 <[^>]*> nop ++0+1bac <[^>]*> nop ++0+1bb0 <[^>]*> nop ++0+1bb4 <[^>]*> nop ++0+1bb8 <[^>]*> nop ++0+1bbc <[^>]*> nop ++0+1bc0 <[^>]*> nop ++0+1bc4 <[^>]*> nop ++0+1bc8 <[^>]*> nop ++0+1bcc <[^>]*> nop ++0+1bd0 <[^>]*> nop ++0+1bd4 <[^>]*> nop ++0+1bd8 <[^>]*> nop ++0+1bdc <[^>]*> nop ++0+1be0 <[^>]*> nop ++0+1be4 <[^>]*> nop ++0+1be8 <[^>]*> nop ++0+1bec <[^>]*> nop ++0+1bf0 <[^>]*> nop ++0+1bf4 <[^>]*> nop ++0+1bf8 <[^>]*> nop ++0+1bfc <[^>]*> nop ++0+1c00 <[^>]*> nop ++0+1c04 <[^>]*> nop ++0+1c08 <[^>]*> nop ++0+1c0c <[^>]*> nop ++0+1c10 <[^>]*> nop ++0+1c14 <[^>]*> nop ++0+1c18 <[^>]*> nop ++0+1c1c <[^>]*> nop ++0+1c20 <[^>]*> nop ++0+1c24 <[^>]*> nop ++0+1c28 <[^>]*> nop ++0+1c2c <[^>]*> nop ++0+1c30 <[^>]*> nop ++0+1c34 <[^>]*> nop ++0+1c38 <[^>]*> nop ++0+1c3c <[^>]*> nop ++0+1c40 <[^>]*> nop ++0+1c44 <[^>]*> nop ++0+1c48 <[^>]*> nop ++0+1c4c <[^>]*> nop ++0+1c50 <[^>]*> nop ++0+1c54 <[^>]*> nop ++0+1c58 <[^>]*> nop ++0+1c5c <[^>]*> nop ++0+1c60 <[^>]*> nop ++0+1c64 <[^>]*> nop ++0+1c68 <[^>]*> nop ++0+1c6c <[^>]*> nop ++0+1c70 <[^>]*> nop ++0+1c74 <[^>]*> nop ++0+1c78 <[^>]*> nop ++0+1c7c <[^>]*> nop ++0+1c80 <[^>]*> nop ++0+1c84 <[^>]*> nop ++0+1c88 <[^>]*> nop ++0+1c8c <[^>]*> nop ++0+1c90 <[^>]*> nop ++0+1c94 <[^>]*> nop ++0+1c98 <[^>]*> nop ++0+1c9c <[^>]*> nop ++0+1ca0 <[^>]*> nop ++0+1ca4 <[^>]*> nop ++0+1ca8 <[^>]*> nop ++0+1cac <[^>]*> nop ++0+1cb0 <[^>]*> nop ++0+1cb4 <[^>]*> nop ++0+1cb8 <[^>]*> nop ++0+1cbc <[^>]*> nop ++0+1cc0 <[^>]*> nop ++0+1cc4 <[^>]*> nop ++0+1cc8 <[^>]*> nop ++0+1ccc <[^>]*> nop ++0+1cd0 <[^>]*> nop ++0+1cd4 <[^>]*> nop ++0+1cd8 <[^>]*> nop ++0+1cdc <[^>]*> nop ++0+1ce0 <[^>]*> nop ++0+1ce4 <[^>]*> nop ++0+1ce8 <[^>]*> nop ++0+1cec <[^>]*> nop ++0+1cf0 <[^>]*> nop ++0+1cf4 <[^>]*> nop ++0+1cf8 <[^>]*> nop ++0+1cfc <[^>]*> nop ++0+1d00 <[^>]*> nop ++0+1d04 <[^>]*> nop ++0+1d08 <[^>]*> nop ++0+1d0c <[^>]*> nop ++0+1d10 <[^>]*> nop ++0+1d14 <[^>]*> nop ++0+1d18 <[^>]*> nop ++0+1d1c <[^>]*> nop ++0+1d20 <[^>]*> nop ++0+1d24 <[^>]*> nop ++0+1d28 <[^>]*> nop ++0+1d2c <[^>]*> nop ++0+1d30 <[^>]*> nop ++0+1d34 <[^>]*> nop ++0+1d38 <[^>]*> nop ++0+1d3c <[^>]*> nop ++0+1d40 <[^>]*> nop ++0+1d44 <[^>]*> nop ++0+1d48 <[^>]*> nop ++0+1d4c <[^>]*> nop ++0+1d50 <[^>]*> nop ++0+1d54 <[^>]*> nop ++0+1d58 <[^>]*> nop ++0+1d5c <[^>]*> nop ++0+1d60 <[^>]*> nop ++0+1d64 <[^>]*> nop ++0+1d68 <[^>]*> nop ++0+1d6c <[^>]*> nop ++0+1d70 <[^>]*> nop ++0+1d74 <[^>]*> nop ++0+1d78 <[^>]*> nop ++0+1d7c <[^>]*> nop ++0+1d80 <[^>]*> nop ++0+1d84 <[^>]*> nop ++0+1d88 <[^>]*> nop ++0+1d8c <[^>]*> nop ++0+1d90 <[^>]*> nop ++0+1d94 <[^>]*> nop ++0+1d98 <[^>]*> nop ++0+1d9c <[^>]*> nop ++0+1da0 <[^>]*> nop ++0+1da4 <[^>]*> nop ++0+1da8 <[^>]*> nop ++0+1dac <[^>]*> nop ++0+1db0 <[^>]*> nop ++0+1db4 <[^>]*> nop ++0+1db8 <[^>]*> nop ++0+1dbc <[^>]*> nop ++0+1dc0 <[^>]*> nop ++0+1dc4 <[^>]*> nop ++0+1dc8 <[^>]*> nop ++0+1dcc <[^>]*> nop ++0+1dd0 <[^>]*> nop ++0+1dd4 <[^>]*> nop ++0+1dd8 <[^>]*> nop ++0+1ddc <[^>]*> nop ++0+1de0 <[^>]*> nop ++0+1de4 <[^>]*> nop ++0+1de8 <[^>]*> nop ++0+1dec <[^>]*> nop ++0+1df0 <[^>]*> nop ++0+1df4 <[^>]*> nop ++0+1df8 <[^>]*> nop ++0+1dfc <[^>]*> nop ++0+1e00 <[^>]*> nop ++0+1e04 <[^>]*> nop ++0+1e08 <[^>]*> nop ++0+1e0c <[^>]*> nop ++0+1e10 <[^>]*> nop ++0+1e14 <[^>]*> nop ++0+1e18 <[^>]*> nop ++0+1e1c <[^>]*> nop ++0+1e20 <[^>]*> nop ++0+1e24 <[^>]*> nop ++0+1e28 <[^>]*> nop ++0+1e2c <[^>]*> nop ++0+1e30 <[^>]*> nop ++0+1e34 <[^>]*> nop ++0+1e38 <[^>]*> nop ++0+1e3c <[^>]*> nop ++0+1e40 <[^>]*> nop ++0+1e44 <[^>]*> nop ++0+1e48 <[^>]*> nop ++0+1e4c <[^>]*> nop ++0+1e50 <[^>]*> nop ++0+1e54 <[^>]*> nop ++0+1e58 <[^>]*> nop ++0+1e5c <[^>]*> nop ++0+1e60 <[^>]*> nop ++0+1e64 <[^>]*> nop ++0+1e68 <[^>]*> nop ++0+1e6c <[^>]*> nop ++0+1e70 <[^>]*> nop ++0+1e74 <[^>]*> nop ++0+1e78 <[^>]*> nop ++0+1e7c <[^>]*> nop ++0+1e80 <[^>]*> nop ++0+1e84 <[^>]*> nop ++0+1e88 <[^>]*> nop ++0+1e8c <[^>]*> nop ++0+1e90 <[^>]*> nop ++0+1e94 <[^>]*> nop ++0+1e98 <[^>]*> nop ++0+1e9c <[^>]*> nop ++0+1ea0 <[^>]*> nop ++0+1ea4 <[^>]*> nop ++0+1ea8 <[^>]*> nop ++0+1eac <[^>]*> nop ++0+1eb0 <[^>]*> nop ++0+1eb4 <[^>]*> nop ++0+1eb8 <[^>]*> nop ++0+1ebc <[^>]*> nop ++0+1ec0 <[^>]*> nop ++0+1ec4 <[^>]*> nop ++0+1ec8 <[^>]*> nop ++0+1ecc <[^>]*> nop ++0+1ed0 <[^>]*> nop ++0+1ed4 <[^>]*> nop ++0+1ed8 <[^>]*> nop ++0+1edc <[^>]*> nop ++0+1ee0 <[^>]*> nop ++0+1ee4 <[^>]*> nop ++0+1ee8 <[^>]*> nop ++0+1eec <[^>]*> nop ++0+1ef0 <[^>]*> nop ++0+1ef4 <[^>]*> nop ++0+1ef8 <[^>]*> nop ++0+1efc <[^>]*> nop ++0+1f00 <[^>]*> nop ++0+1f04 <[^>]*> nop ++0+1f08 <[^>]*> nop ++0+1f0c <[^>]*> nop ++0+1f10 <[^>]*> nop ++0+1f14 <[^>]*> nop ++0+1f18 <[^>]*> nop ++0+1f1c <[^>]*> nop ++0+1f20 <[^>]*> nop ++0+1f24 <[^>]*> nop ++0+1f28 <[^>]*> nop ++0+1f2c <[^>]*> nop ++0+1f30 <[^>]*> nop ++0+1f34 <[^>]*> nop ++0+1f38 <[^>]*> nop ++0+1f3c <[^>]*> nop ++0+1f40 <[^>]*> nop ++0+1f44 <[^>]*> nop ++0+1f48 <[^>]*> nop ++0+1f4c <[^>]*> nop ++0+1f50 <[^>]*> nop ++0+1f54 <[^>]*> nop ++0+1f58 <[^>]*> nop ++0+1f5c <[^>]*> nop ++0+1f60 <[^>]*> nop ++0+1f64 <[^>]*> nop ++0+1f68 <[^>]*> nop ++0+1f6c <[^>]*> nop ++0+1f70 <[^>]*> nop ++0+1f74 <[^>]*> nop ++0+1f78 <[^>]*> nop ++0+1f7c <[^>]*> nop ++0+1f80 <[^>]*> nop ++0+1f84 <[^>]*> nop ++0+1f88 <[^>]*> nop ++0+1f8c <[^>]*> nop ++0+1f90 <[^>]*> nop ++0+1f94 <[^>]*> nop ++0+1f98 <[^>]*> nop ++0+1f9c <[^>]*> nop ++0+1fa0 <[^>]*> nop ++0+1fa4 <[^>]*> nop ++0+1fa8 <[^>]*> nop ++0+1fac <[^>]*> nop ++0+1fb0 <[^>]*> nop ++0+1fb4 <[^>]*> nop ++0+1fb8 <[^>]*> nop ++0+1fbc <[^>]*> nop ++0+1fc0 <[^>]*> nop ++0+1fc4 <[^>]*> nop ++0+1fc8 <[^>]*> nop ++0+1fcc <[^>]*> nop ++0+1fd0 <[^>]*> nop ++0+1fd4 <[^>]*> nop ++0+1fd8 <[^>]*> nop ++0+1fdc <[^>]*> nop ++0+1fe0 <[^>]*> nop ++0+1fe4 <[^>]*> nop ++0+1fe8 <[^>]*> nop ++0+1fec <[^>]*> nop ++0+1ff0 <[^>]*> nop ++0+1ff4 <[^>]*> nop ++0+1ff8 <[^>]*> nop ++0+1ffc <[^>]*> nop ++0+2000 <[^>]*> nop ++0+2004 <[^>]*> nop ++0+2008 <[^>]*> nop ++0+200c <[^>]*> nop ++0+2010 <[^>]*> nop ++0+2014 <[^>]*> nop ++0+2018 <[^>]*> nop ++0+201c <[^>]*> nop ++0+2020 <[^>]*> nop ++0+2024 <[^>]*> nop ++0+2028 <[^>]*> nop ++0+202c <[^>]*> nop ++0+2030 <[^>]*> nop ++0+2034 <[^>]*> nop ++0+2038 <[^>]*> nop ++0+203c <[^>]*> nop ++0+2040 <[^>]*> nop ++0+2044 <[^>]*> nop ++0+2048 <[^>]*> nop ++0+204c <[^>]*> nop ++0+2050 <[^>]*> nop ++0+2054 <[^>]*> nop ++0+2058 <[^>]*> nop ++0+205c <[^>]*> nop ++0+2060 <[^>]*> nop ++0+2064 <[^>]*> nop ++0+2068 <[^>]*> nop ++0+206c <[^>]*> nop ++0+2070 <[^>]*> nop ++0+2074 <[^>]*> nop ++0+2078 <[^>]*> nop ++0+207c <[^>]*> nop ++0+2080 <[^>]*> nop ++0+2084 <[^>]*> nop ++0+2088 <[^>]*> nop ++0+208c <[^>]*> nop ++0+2090 <[^>]*> nop ++0+2094 <[^>]*> nop ++0+2098 <[^>]*> nop ++0+209c <[^>]*> nop ++0+20a0 <[^>]*> nop ++0+20a4 <[^>]*> nop ++0+20a8 <[^>]*> nop ++0+20ac <[^>]*> nop ++0+20b0 <[^>]*> nop ++0+20b4 <[^>]*> nop ++0+20b8 <[^>]*> nop ++0+20bc <[^>]*> nop ++0+20c0 <[^>]*> nop ++0+20c4 <[^>]*> nop ++0+20c8 <[^>]*> nop ++0+20cc <[^>]*> nop ++0+20d0 <[^>]*> nop ++0+20d4 <[^>]*> nop ++0+20d8 <[^>]*> nop ++0+20dc <[^>]*> nop ++0+20e0 <[^>]*> nop ++0+20e4 <[^>]*> nop ++0+20e8 <[^>]*> nop ++0+20ec <[^>]*> nop ++0+20f0 <[^>]*> nop ++0+20f4 <[^>]*> nop ++0+20f8 <[^>]*> nop ++0+20fc <[^>]*> nop ++0+2100 <[^>]*> nop ++0+2104 <[^>]*> nop ++0+2108 <[^>]*> nop ++0+210c <[^>]*> nop ++0+2110 <[^>]*> nop ++0+2114 <[^>]*> nop ++0+2118 <[^>]*> nop ++0+211c <[^>]*> nop ++0+2120 <[^>]*> nop ++0+2124 <[^>]*> nop ++0+2128 <[^>]*> nop ++0+212c <[^>]*> nop ++0+2130 <[^>]*> nop ++0+2134 <[^>]*> nop ++0+2138 <[^>]*> nop ++0+213c <[^>]*> nop ++0+2140 <[^>]*> nop ++0+2144 <[^>]*> nop ++0+2148 <[^>]*> nop ++0+214c <[^>]*> nop ++0+2150 <[^>]*> nop ++0+2154 <[^>]*> nop ++0+2158 <[^>]*> nop ++0+215c <[^>]*> nop ++0+2160 <[^>]*> nop ++0+2164 <[^>]*> nop ++0+2168 <[^>]*> nop ++0+216c <[^>]*> nop ++0+2170 <[^>]*> nop ++0+2174 <[^>]*> nop ++0+2178 <[^>]*> nop ++0+217c <[^>]*> nop ++0+2180 <[^>]*> nop ++0+2184 <[^>]*> nop ++0+2188 <[^>]*> nop ++0+218c <[^>]*> nop ++0+2190 <[^>]*> nop ++0+2194 <[^>]*> nop ++0+2198 <[^>]*> nop ++0+219c <[^>]*> nop ++0+21a0 <[^>]*> nop ++0+21a4 <[^>]*> nop ++0+21a8 <[^>]*> nop ++0+21ac <[^>]*> nop ++0+21b0 <[^>]*> nop ++0+21b4 <[^>]*> nop ++0+21b8 <[^>]*> nop ++0+21bc <[^>]*> nop ++0+21c0 <[^>]*> nop ++0+21c4 <[^>]*> nop ++0+21c8 <[^>]*> nop ++0+21cc <[^>]*> nop ++0+21d0 <[^>]*> nop ++0+21d4 <[^>]*> nop ++0+21d8 <[^>]*> nop ++0+21dc <[^>]*> nop ++0+21e0 <[^>]*> nop ++0+21e4 <[^>]*> nop ++0+21e8 <[^>]*> nop ++0+21ec <[^>]*> nop ++0+21f0 <[^>]*> nop ++0+21f4 <[^>]*> nop ++0+21f8 <[^>]*> nop ++0+21fc <[^>]*> nop ++0+2200 <[^>]*> nop ++0+2204 <[^>]*> nop ++0+2208 <[^>]*> nop ++0+220c <[^>]*> nop ++0+2210 <[^>]*> nop ++0+2214 <[^>]*> nop ++0+2218 <[^>]*> nop ++0+221c <[^>]*> nop ++0+2220 <[^>]*> nop ++0+2224 <[^>]*> nop ++0+2228 <[^>]*> nop ++0+222c <[^>]*> nop ++0+2230 <[^>]*> nop ++0+2234 <[^>]*> nop ++0+2238 <[^>]*> nop ++0+223c <[^>]*> nop ++0+2240 <[^>]*> nop ++0+2244 <[^>]*> nop ++0+2248 <[^>]*> nop ++0+224c <[^>]*> nop ++0+2250 <[^>]*> nop ++0+2254 <[^>]*> nop ++0+2258 <[^>]*> nop ++0+225c <[^>]*> nop ++0+2260 <[^>]*> nop ++0+2264 <[^>]*> nop ++0+2268 <[^>]*> nop ++0+226c <[^>]*> nop ++0+2270 <[^>]*> nop ++0+2274 <[^>]*> nop ++0+2278 <[^>]*> nop ++0+227c <[^>]*> nop ++0+2280 <[^>]*> nop ++0+2284 <[^>]*> nop ++0+2288 <[^>]*> nop ++0+228c <[^>]*> nop ++0+2290 <[^>]*> nop ++0+2294 <[^>]*> nop ++0+2298 <[^>]*> nop ++0+229c <[^>]*> nop ++0+22a0 <[^>]*> nop ++0+22a4 <[^>]*> nop ++0+22a8 <[^>]*> nop ++0+22ac <[^>]*> nop ++0+22b0 <[^>]*> nop ++0+22b4 <[^>]*> nop ++0+22b8 <[^>]*> nop ++0+22bc <[^>]*> nop ++0+22c0 <[^>]*> nop ++0+22c4 <[^>]*> nop ++0+22c8 <[^>]*> nop ++0+22cc <[^>]*> nop ++0+22d0 <[^>]*> nop ++0+22d4 <[^>]*> nop ++0+22d8 <[^>]*> nop ++0+22dc <[^>]*> nop ++0+22e0 <[^>]*> nop ++0+22e4 <[^>]*> nop ++0+22e8 <[^>]*> nop ++0+22ec <[^>]*> nop ++0+22f0 <[^>]*> nop ++0+22f4 <[^>]*> nop ++0+22f8 <[^>]*> nop ++0+22fc <[^>]*> nop ++0+2300 <[^>]*> nop ++0+2304 <[^>]*> nop ++0+2308 <[^>]*> nop ++0+230c <[^>]*> nop ++0+2310 <[^>]*> nop ++0+2314 <[^>]*> nop ++0+2318 <[^>]*> nop ++0+231c <[^>]*> nop ++0+2320 <[^>]*> nop ++0+2324 <[^>]*> nop ++0+2328 <[^>]*> nop ++0+232c <[^>]*> nop ++0+2330 <[^>]*> nop ++0+2334 <[^>]*> nop ++0+2338 <[^>]*> nop ++0+233c <[^>]*> nop ++0+2340 <[^>]*> nop ++0+2344 <[^>]*> nop ++0+2348 <[^>]*> nop ++0+234c <[^>]*> nop ++0+2350 <[^>]*> nop ++0+2354 <[^>]*> nop ++0+2358 <[^>]*> nop ++0+235c <[^>]*> nop ++0+2360 <[^>]*> nop ++0+2364 <[^>]*> nop ++0+2368 <[^>]*> nop ++0+236c <[^>]*> nop ++0+2370 <[^>]*> nop ++0+2374 <[^>]*> nop ++0+2378 <[^>]*> nop ++0+237c <[^>]*> nop ++0+2380 <[^>]*> nop ++0+2384 <[^>]*> nop ++0+2388 <[^>]*> nop ++0+238c <[^>]*> nop ++0+2390 <[^>]*> nop ++0+2394 <[^>]*> nop ++0+2398 <[^>]*> nop ++0+239c <[^>]*> nop ++0+23a0 <[^>]*> nop ++0+23a4 <[^>]*> nop ++0+23a8 <[^>]*> nop ++0+23ac <[^>]*> nop ++0+23b0 <[^>]*> nop ++0+23b4 <[^>]*> nop ++0+23b8 <[^>]*> nop ++0+23bc <[^>]*> nop ++0+23c0 <[^>]*> nop ++0+23c4 <[^>]*> nop ++0+23c8 <[^>]*> nop ++0+23cc <[^>]*> nop ++0+23d0 <[^>]*> nop ++0+23d4 <[^>]*> nop ++0+23d8 <[^>]*> nop ++0+23dc <[^>]*> nop ++0+23e0 <[^>]*> nop ++0+23e4 <[^>]*> nop ++0+23e8 <[^>]*> nop ++0+23ec <[^>]*> nop ++0+23f0 <[^>]*> nop ++0+23f4 <[^>]*> nop ++0+23f8 <[^>]*> nop ++0+23fc <[^>]*> nop ++0+2400 <[^>]*> nop ++0+2404 <[^>]*> nop ++0+2408 <[^>]*> nop ++0+240c <[^>]*> nop ++0+2410 <[^>]*> nop ++0+2414 <[^>]*> nop ++0+2418 <[^>]*> nop ++0+241c <[^>]*> nop ++0+2420 <[^>]*> nop ++0+2424 <[^>]*> nop ++0+2428 <[^>]*> nop ++0+242c <[^>]*> nop ++0+2430 <[^>]*> nop ++0+2434 <[^>]*> nop ++0+2438 <[^>]*> nop ++0+243c <[^>]*> nop ++0+2440 <[^>]*> nop ++0+2444 <[^>]*> nop ++0+2448 <[^>]*> nop ++0+244c <[^>]*> nop ++0+2450 <[^>]*> nop ++0+2454 <[^>]*> nop ++0+2458 <[^>]*> nop ++0+245c <[^>]*> nop ++0+2460 <[^>]*> nop ++0+2464 <[^>]*> nop ++0+2468 <[^>]*> nop ++0+246c <[^>]*> nop ++0+2470 <[^>]*> nop ++0+2474 <[^>]*> nop ++0+2478 <[^>]*> nop ++0+247c <[^>]*> nop ++0+2480 <[^>]*> nop ++0+2484 <[^>]*> nop ++0+2488 <[^>]*> nop ++0+248c <[^>]*> nop ++0+2490 <[^>]*> nop ++0+2494 <[^>]*> nop ++0+2498 <[^>]*> nop ++0+249c <[^>]*> nop ++0+24a0 <[^>]*> nop ++0+24a4 <[^>]*> nop ++0+24a8 <[^>]*> nop ++0+24ac <[^>]*> nop ++0+24b0 <[^>]*> nop ++0+24b4 <[^>]*> nop ++0+24b8 <[^>]*> nop ++0+24bc <[^>]*> nop ++0+24c0 <[^>]*> nop ++0+24c4 <[^>]*> nop ++0+24c8 <[^>]*> nop ++0+24cc <[^>]*> nop ++0+24d0 <[^>]*> nop ++0+24d4 <[^>]*> nop ++0+24d8 <[^>]*> nop ++0+24dc <[^>]*> nop ++0+24e0 <[^>]*> nop ++0+24e4 <[^>]*> nop ++0+24e8 <[^>]*> nop ++0+24ec <[^>]*> nop ++0+24f0 <[^>]*> nop ++0+24f4 <[^>]*> nop ++0+24f8 <[^>]*> nop ++0+24fc <[^>]*> nop ++0+2500 <[^>]*> nop ++0+2504 <[^>]*> nop ++0+2508 <[^>]*> nop ++0+250c <[^>]*> nop ++0+2510 <[^>]*> nop ++0+2514 <[^>]*> nop ++0+2518 <[^>]*> nop ++0+251c <[^>]*> nop ++0+2520 <[^>]*> nop ++0+2524 <[^>]*> nop ++0+2528 <[^>]*> nop ++0+252c <[^>]*> nop ++0+2530 <[^>]*> nop ++0+2534 <[^>]*> nop ++0+2538 <[^>]*> nop ++0+253c <[^>]*> nop ++0+2540 <[^>]*> nop ++0+2544 <[^>]*> nop ++0+2548 <[^>]*> nop ++0+254c <[^>]*> nop ++0+2550 <[^>]*> nop ++0+2554 <[^>]*> nop ++0+2558 <[^>]*> nop ++0+255c <[^>]*> nop ++0+2560 <[^>]*> nop ++0+2564 <[^>]*> nop ++0+2568 <[^>]*> nop ++0+256c <[^>]*> nop ++0+2570 <[^>]*> nop ++0+2574 <[^>]*> nop ++0+2578 <[^>]*> nop ++0+257c <[^>]*> nop ++0+2580 <[^>]*> nop ++0+2584 <[^>]*> nop ++0+2588 <[^>]*> nop ++0+258c <[^>]*> nop ++0+2590 <[^>]*> nop ++0+2594 <[^>]*> nop ++0+2598 <[^>]*> nop ++0+259c <[^>]*> nop ++0+25a0 <[^>]*> nop ++0+25a4 <[^>]*> nop ++0+25a8 <[^>]*> nop ++0+25ac <[^>]*> nop ++0+25b0 <[^>]*> nop ++0+25b4 <[^>]*> nop ++0+25b8 <[^>]*> nop ++0+25bc <[^>]*> nop ++0+25c0 <[^>]*> nop ++0+25c4 <[^>]*> nop ++0+25c8 <[^>]*> nop ++0+25cc <[^>]*> nop ++0+25d0 <[^>]*> nop ++0+25d4 <[^>]*> nop ++0+25d8 <[^>]*> nop ++0+25dc <[^>]*> nop ++0+25e0 <[^>]*> nop ++0+25e4 <[^>]*> nop ++0+25e8 <[^>]*> nop ++0+25ec <[^>]*> nop ++0+25f0 <[^>]*> nop ++0+25f4 <[^>]*> nop ++0+25f8 <[^>]*> nop ++0+25fc <[^>]*> nop ++0+2600 <[^>]*> nop ++0+2604 <[^>]*> nop ++0+2608 <[^>]*> nop ++0+260c <[^>]*> nop ++0+2610 <[^>]*> nop ++0+2614 <[^>]*> nop ++0+2618 <[^>]*> nop ++0+261c <[^>]*> nop ++0+2620 <[^>]*> nop ++0+2624 <[^>]*> nop ++0+2628 <[^>]*> nop ++0+262c <[^>]*> nop ++0+2630 <[^>]*> nop ++0+2634 <[^>]*> nop ++0+2638 <[^>]*> nop ++0+263c <[^>]*> nop ++0+2640 <[^>]*> nop ++0+2644 <[^>]*> nop ++0+2648 <[^>]*> nop ++0+264c <[^>]*> nop ++0+2650 <[^>]*> nop ++0+2654 <[^>]*> nop ++0+2658 <[^>]*> nop ++0+265c <[^>]*> nop ++0+2660 <[^>]*> nop ++0+2664 <[^>]*> nop ++0+2668 <[^>]*> nop ++0+266c <[^>]*> nop ++0+2670 <[^>]*> nop ++0+2674 <[^>]*> nop ++0+2678 <[^>]*> nop ++0+267c <[^>]*> nop ++0+2680 <[^>]*> nop ++0+2684 <[^>]*> nop ++0+2688 <[^>]*> nop ++0+268c <[^>]*> nop ++0+2690 <[^>]*> nop ++0+2694 <[^>]*> nop ++0+2698 <[^>]*> nop ++0+269c <[^>]*> nop ++0+26a0 <[^>]*> nop ++0+26a4 <[^>]*> nop ++0+26a8 <[^>]*> nop ++0+26ac <[^>]*> nop ++0+26b0 <[^>]*> nop ++0+26b4 <[^>]*> nop ++0+26b8 <[^>]*> nop ++0+26bc <[^>]*> nop ++0+26c0 <[^>]*> nop ++0+26c4 <[^>]*> nop ++0+26c8 <[^>]*> nop ++0+26cc <[^>]*> nop ++0+26d0 <[^>]*> nop ++0+26d4 <[^>]*> nop ++0+26d8 <[^>]*> nop ++0+26dc <[^>]*> nop ++0+26e0 <[^>]*> nop ++0+26e4 <[^>]*> nop ++0+26e8 <[^>]*> nop ++0+26ec <[^>]*> nop ++0+26f0 <[^>]*> nop ++0+26f4 <[^>]*> nop ++0+26f8 <[^>]*> nop ++0+26fc <[^>]*> nop ++0+2700 <[^>]*> nop ++0+2704 <[^>]*> nop ++0+2708 <[^>]*> nop ++0+270c <[^>]*> nop ++0+2710 <[^>]*> nop ++0+2714 <[^>]*> nop ++0+2718 <[^>]*> nop ++0+271c <[^>]*> nop ++0+2720 <[^>]*> nop ++0+2724 <[^>]*> nop ++0+2728 <[^>]*> nop ++0+272c <[^>]*> nop ++0+2730 <[^>]*> nop ++0+2734 <[^>]*> nop ++0+2738 <[^>]*> nop ++0+273c <[^>]*> nop ++0+2740 <[^>]*> nop ++0+2744 <[^>]*> nop ++0+2748 <[^>]*> nop ++0+274c <[^>]*> nop ++0+2750 <[^>]*> nop ++0+2754 <[^>]*> nop ++0+2758 <[^>]*> nop ++0+275c <[^>]*> nop ++0+2760 <[^>]*> nop ++0+2764 <[^>]*> nop ++0+2768 <[^>]*> nop ++0+276c <[^>]*> nop ++0+2770 <[^>]*> nop ++0+2774 <[^>]*> nop ++0+2778 <[^>]*> nop ++0+277c <[^>]*> nop ++0+2780 <[^>]*> nop ++0+2784 <[^>]*> nop ++0+2788 <[^>]*> nop ++0+278c <[^>]*> nop ++0+2790 <[^>]*> nop ++0+2794 <[^>]*> nop ++0+2798 <[^>]*> nop ++0+279c <[^>]*> nop ++0+27a0 <[^>]*> nop ++0+27a4 <[^>]*> nop ++0+27a8 <[^>]*> nop ++0+27ac <[^>]*> nop ++0+27b0 <[^>]*> nop ++0+27b4 <[^>]*> nop ++0+27b8 <[^>]*> nop ++0+27bc <[^>]*> nop ++0+27c0 <[^>]*> nop ++0+27c4 <[^>]*> nop ++0+27c8 <[^>]*> nop ++0+27cc <[^>]*> nop ++0+27d0 <[^>]*> nop ++0+27d4 <[^>]*> nop ++0+27d8 <[^>]*> nop ++0+27dc <[^>]*> nop ++0+27e0 <[^>]*> nop ++0+27e4 <[^>]*> nop ++0+27e8 <[^>]*> nop ++0+27ec <[^>]*> nop ++0+27f0 <[^>]*> nop ++0+27f4 <[^>]*> nop ++0+27f8 <[^>]*> nop ++0+27fc <[^>]*> nop ++0+2800 <[^>]*> nop ++0+2804 <[^>]*> nop ++0+2808 <[^>]*> nop ++0+280c <[^>]*> nop ++0+2810 <[^>]*> nop ++0+2814 <[^>]*> nop ++0+2818 <[^>]*> nop ++0+281c <[^>]*> nop ++0+2820 <[^>]*> nop ++0+2824 <[^>]*> nop ++0+2828 <[^>]*> nop ++0+282c <[^>]*> nop ++0+2830 <[^>]*> nop ++0+2834 <[^>]*> nop ++0+2838 <[^>]*> nop ++0+283c <[^>]*> nop ++0+2840 <[^>]*> nop ++0+2844 <[^>]*> nop ++0+2848 <[^>]*> nop ++0+284c <[^>]*> nop ++0+2850 <[^>]*> nop ++0+2854 <[^>]*> nop ++0+2858 <[^>]*> nop ++0+285c <[^>]*> nop ++0+2860 <[^>]*> nop ++0+2864 <[^>]*> nop ++0+2868 <[^>]*> nop ++0+286c <[^>]*> nop ++0+2870 <[^>]*> nop ++0+2874 <[^>]*> nop ++0+2878 <[^>]*> nop ++0+287c <[^>]*> nop ++0+2880 <[^>]*> nop ++0+2884 <[^>]*> nop ++0+2888 <[^>]*> nop ++0+288c <[^>]*> nop ++0+2890 <[^>]*> nop ++0+2894 <[^>]*> nop ++0+2898 <[^>]*> nop ++0+289c <[^>]*> nop ++0+28a0 <[^>]*> nop ++0+28a4 <[^>]*> nop ++0+28a8 <[^>]*> nop ++0+28ac <[^>]*> nop ++0+28b0 <[^>]*> nop ++0+28b4 <[^>]*> nop ++0+28b8 <[^>]*> nop ++0+28bc <[^>]*> nop ++0+28c0 <[^>]*> nop ++0+28c4 <[^>]*> nop ++0+28c8 <[^>]*> nop ++0+28cc <[^>]*> nop ++0+28d0 <[^>]*> nop ++0+28d4 <[^>]*> nop ++0+28d8 <[^>]*> nop ++0+28dc <[^>]*> nop ++0+28e0 <[^>]*> nop ++0+28e4 <[^>]*> nop ++0+28e8 <[^>]*> nop ++0+28ec <[^>]*> nop ++0+28f0 <[^>]*> nop ++0+28f4 <[^>]*> nop ++0+28f8 <[^>]*> nop ++0+28fc <[^>]*> nop ++0+2900 <[^>]*> nop ++0+2904 <[^>]*> nop ++0+2908 <[^>]*> nop ++0+290c <[^>]*> nop ++0+2910 <[^>]*> nop ++0+2914 <[^>]*> nop ++0+2918 <[^>]*> nop ++0+291c <[^>]*> nop ++0+2920 <[^>]*> nop ++0+2924 <[^>]*> nop ++0+2928 <[^>]*> nop ++0+292c <[^>]*> nop ++0+2930 <[^>]*> nop ++0+2934 <[^>]*> nop ++0+2938 <[^>]*> nop ++0+293c <[^>]*> nop ++0+2940 <[^>]*> nop ++0+2944 <[^>]*> nop ++0+2948 <[^>]*> nop ++0+294c <[^>]*> nop ++0+2950 <[^>]*> nop ++0+2954 <[^>]*> nop ++0+2958 <[^>]*> nop ++0+295c <[^>]*> nop ++0+2960 <[^>]*> nop ++0+2964 <[^>]*> nop ++0+2968 <[^>]*> nop ++0+296c <[^>]*> nop ++0+2970 <[^>]*> nop ++0+2974 <[^>]*> nop ++0+2978 <[^>]*> nop ++0+297c <[^>]*> nop ++0+2980 <[^>]*> nop ++0+2984 <[^>]*> nop ++0+2988 <[^>]*> nop ++0+298c <[^>]*> nop ++0+2990 <[^>]*> nop ++0+2994 <[^>]*> nop ++0+2998 <[^>]*> nop ++0+299c <[^>]*> nop ++0+29a0 <[^>]*> nop ++0+29a4 <[^>]*> nop ++0+29a8 <[^>]*> nop ++0+29ac <[^>]*> nop ++0+29b0 <[^>]*> nop ++0+29b4 <[^>]*> nop ++0+29b8 <[^>]*> nop ++0+29bc <[^>]*> nop ++0+29c0 <[^>]*> nop ++0+29c4 <[^>]*> nop ++0+29c8 <[^>]*> nop ++0+29cc <[^>]*> nop ++0+29d0 <[^>]*> nop ++0+29d4 <[^>]*> nop ++0+29d8 <[^>]*> nop ++0+29dc <[^>]*> nop ++0+29e0 <[^>]*> nop ++0+29e4 <[^>]*> nop ++0+29e8 <[^>]*> nop ++0+29ec <[^>]*> nop ++0+29f0 <[^>]*> nop ++0+29f4 <[^>]*> nop ++0+29f8 <[^>]*> nop ++0+29fc <[^>]*> nop ++0+2a00 <[^>]*> nop ++0+2a04 <[^>]*> nop ++0+2a08 <[^>]*> nop ++0+2a0c <[^>]*> nop ++0+2a10 <[^>]*> nop ++0+2a14 <[^>]*> nop ++0+2a18 <[^>]*> nop ++0+2a1c <[^>]*> nop ++0+2a20 <[^>]*> nop ++0+2a24 <[^>]*> nop ++0+2a28 <[^>]*> nop ++0+2a2c <[^>]*> nop ++0+2a30 <[^>]*> nop ++0+2a34 <[^>]*> nop ++0+2a38 <[^>]*> nop ++0+2a3c <[^>]*> nop ++0+2a40 <[^>]*> nop ++0+2a44 <[^>]*> nop ++0+2a48 <[^>]*> nop ++0+2a4c <[^>]*> nop ++0+2a50 <[^>]*> nop ++0+2a54 <[^>]*> nop ++0+2a58 <[^>]*> nop ++0+2a5c <[^>]*> nop ++0+2a60 <[^>]*> nop ++0+2a64 <[^>]*> nop ++0+2a68 <[^>]*> nop ++0+2a6c <[^>]*> nop ++0+2a70 <[^>]*> nop ++0+2a74 <[^>]*> nop ++0+2a78 <[^>]*> nop ++0+2a7c <[^>]*> nop ++0+2a80 <[^>]*> nop ++0+2a84 <[^>]*> nop ++0+2a88 <[^>]*> nop ++0+2a8c <[^>]*> nop ++0+2a90 <[^>]*> nop ++0+2a94 <[^>]*> nop ++0+2a98 <[^>]*> nop ++0+2a9c <[^>]*> nop ++0+2aa0 <[^>]*> nop ++0+2aa4 <[^>]*> nop ++0+2aa8 <[^>]*> nop ++0+2aac <[^>]*> nop ++0+2ab0 <[^>]*> nop ++0+2ab4 <[^>]*> nop ++0+2ab8 <[^>]*> nop ++0+2abc <[^>]*> nop ++0+2ac0 <[^>]*> nop ++0+2ac4 <[^>]*> nop ++0+2ac8 <[^>]*> nop ++0+2acc <[^>]*> nop ++0+2ad0 <[^>]*> nop ++0+2ad4 <[^>]*> nop ++0+2ad8 <[^>]*> nop ++0+2adc <[^>]*> nop ++0+2ae0 <[^>]*> nop ++0+2ae4 <[^>]*> nop ++0+2ae8 <[^>]*> nop ++0+2aec <[^>]*> nop ++0+2af0 <[^>]*> nop ++0+2af4 <[^>]*> nop ++0+2af8 <[^>]*> nop ++0+2afc <[^>]*> nop ++0+2b00 <[^>]*> nop ++0+2b04 <[^>]*> nop ++0+2b08 <[^>]*> nop ++0+2b0c <[^>]*> nop ++0+2b10 <[^>]*> nop ++0+2b14 <[^>]*> nop ++0+2b18 <[^>]*> nop ++0+2b1c <[^>]*> nop ++0+2b20 <[^>]*> nop ++0+2b24 <[^>]*> nop ++0+2b28 <[^>]*> nop ++0+2b2c <[^>]*> nop ++0+2b30 <[^>]*> nop ++0+2b34 <[^>]*> nop ++0+2b38 <[^>]*> nop ++0+2b3c <[^>]*> nop ++0+2b40 <[^>]*> nop ++0+2b44 <[^>]*> nop ++0+2b48 <[^>]*> nop ++0+2b4c <[^>]*> nop ++0+2b50 <[^>]*> nop ++0+2b54 <[^>]*> nop ++0+2b58 <[^>]*> nop ++0+2b5c <[^>]*> nop ++0+2b60 <[^>]*> nop ++0+2b64 <[^>]*> nop ++0+2b68 <[^>]*> nop ++0+2b6c <[^>]*> nop ++0+2b70 <[^>]*> nop ++0+2b74 <[^>]*> nop ++0+2b78 <[^>]*> nop ++0+2b7c <[^>]*> nop ++0+2b80 <[^>]*> nop ++0+2b84 <[^>]*> nop ++0+2b88 <[^>]*> nop ++0+2b8c <[^>]*> nop ++0+2b90 <[^>]*> nop ++0+2b94 <[^>]*> nop ++0+2b98 <[^>]*> nop ++0+2b9c <[^>]*> nop ++0+2ba0 <[^>]*> nop ++0+2ba4 <[^>]*> nop ++0+2ba8 <[^>]*> nop ++0+2bac <[^>]*> nop ++0+2bb0 <[^>]*> nop ++0+2bb4 <[^>]*> nop ++0+2bb8 <[^>]*> nop ++0+2bbc <[^>]*> nop ++0+2bc0 <[^>]*> nop ++0+2bc4 <[^>]*> nop ++0+2bc8 <[^>]*> nop ++0+2bcc <[^>]*> nop ++0+2bd0 <[^>]*> nop ++0+2bd4 <[^>]*> nop ++0+2bd8 <[^>]*> nop ++0+2bdc <[^>]*> nop ++0+2be0 <[^>]*> nop ++0+2be4 <[^>]*> nop ++0+2be8 <[^>]*> nop ++0+2bec <[^>]*> nop ++0+2bf0 <[^>]*> nop ++0+2bf4 <[^>]*> nop ++0+2bf8 <[^>]*> nop ++0+2bfc <[^>]*> nop ++0+2c00 <[^>]*> nop ++0+2c04 <[^>]*> nop ++0+2c08 <[^>]*> nop ++0+2c0c <[^>]*> nop ++0+2c10 <[^>]*> nop ++0+2c14 <[^>]*> nop ++0+2c18 <[^>]*> nop ++0+2c1c <[^>]*> nop ++0+2c20 <[^>]*> nop ++0+2c24 <[^>]*> nop ++0+2c28 <[^>]*> nop ++0+2c2c <[^>]*> nop ++0+2c30 <[^>]*> nop ++0+2c34 <[^>]*> nop ++0+2c38 <[^>]*> nop ++0+2c3c <[^>]*> nop ++0+2c40 <[^>]*> nop ++0+2c44 <[^>]*> nop ++0+2c48 <[^>]*> nop ++0+2c4c <[^>]*> nop ++0+2c50 <[^>]*> nop ++0+2c54 <[^>]*> nop ++0+2c58 <[^>]*> nop ++0+2c5c <[^>]*> nop ++0+2c60 <[^>]*> nop ++0+2c64 <[^>]*> nop ++0+2c68 <[^>]*> nop ++0+2c6c <[^>]*> nop ++0+2c70 <[^>]*> nop ++0+2c74 <[^>]*> nop ++0+2c78 <[^>]*> nop ++0+2c7c <[^>]*> nop ++0+2c80 <[^>]*> nop ++0+2c84 <[^>]*> nop ++0+2c88 <[^>]*> nop ++0+2c8c <[^>]*> nop ++0+2c90 <[^>]*> nop ++0+2c94 <[^>]*> nop ++0+2c98 <[^>]*> nop ++0+2c9c <[^>]*> nop ++0+2ca0 <[^>]*> nop ++0+2ca4 <[^>]*> nop ++0+2ca8 <[^>]*> nop ++0+2cac <[^>]*> nop ++0+2cb0 <[^>]*> nop ++0+2cb4 <[^>]*> nop ++0+2cb8 <[^>]*> nop ++0+2cbc <[^>]*> nop ++0+2cc0 <[^>]*> nop ++0+2cc4 <[^>]*> nop ++0+2cc8 <[^>]*> nop ++0+2ccc <[^>]*> nop ++0+2cd0 <[^>]*> nop ++0+2cd4 <[^>]*> nop ++0+2cd8 <[^>]*> nop ++0+2cdc <[^>]*> nop ++0+2ce0 <[^>]*> nop ++0+2ce4 <[^>]*> nop ++0+2ce8 <[^>]*> nop ++0+2cec <[^>]*> nop ++0+2cf0 <[^>]*> nop ++0+2cf4 <[^>]*> nop ++0+2cf8 <[^>]*> nop ++0+2cfc <[^>]*> nop ++0+2d00 <[^>]*> nop ++0+2d04 <[^>]*> nop ++0+2d08 <[^>]*> nop ++0+2d0c <[^>]*> nop ++0+2d10 <[^>]*> nop ++0+2d14 <[^>]*> nop ++0+2d18 <[^>]*> nop ++0+2d1c <[^>]*> nop ++0+2d20 <[^>]*> nop ++0+2d24 <[^>]*> nop ++0+2d28 <[^>]*> nop ++0+2d2c <[^>]*> nop ++0+2d30 <[^>]*> nop ++0+2d34 <[^>]*> nop ++0+2d38 <[^>]*> nop ++0+2d3c <[^>]*> nop ++0+2d40 <[^>]*> nop ++0+2d44 <[^>]*> nop ++0+2d48 <[^>]*> nop ++0+2d4c <[^>]*> nop ++0+2d50 <[^>]*> nop ++0+2d54 <[^>]*> nop ++0+2d58 <[^>]*> nop ++0+2d5c <[^>]*> nop ++0+2d60 <[^>]*> nop ++0+2d64 <[^>]*> nop ++0+2d68 <[^>]*> nop ++0+2d6c <[^>]*> nop ++0+2d70 <[^>]*> nop ++0+2d74 <[^>]*> nop ++0+2d78 <[^>]*> nop ++0+2d7c <[^>]*> nop ++0+2d80 <[^>]*> nop ++0+2d84 <[^>]*> nop ++0+2d88 <[^>]*> nop ++0+2d8c <[^>]*> nop ++0+2d90 <[^>]*> nop ++0+2d94 <[^>]*> nop ++0+2d98 <[^>]*> nop ++0+2d9c <[^>]*> nop ++0+2da0 <[^>]*> nop ++0+2da4 <[^>]*> nop ++0+2da8 <[^>]*> nop ++0+2dac <[^>]*> nop ++0+2db0 <[^>]*> nop ++0+2db4 <[^>]*> nop ++0+2db8 <[^>]*> nop ++0+2dbc <[^>]*> nop ++0+2dc0 <[^>]*> nop ++0+2dc4 <[^>]*> nop ++0+2dc8 <[^>]*> nop ++0+2dcc <[^>]*> nop ++0+2dd0 <[^>]*> nop ++0+2dd4 <[^>]*> nop ++0+2dd8 <[^>]*> nop ++0+2ddc <[^>]*> nop ++0+2de0 <[^>]*> nop ++0+2de4 <[^>]*> nop ++0+2de8 <[^>]*> nop ++0+2dec <[^>]*> nop ++0+2df0 <[^>]*> nop ++0+2df4 <[^>]*> nop ++0+2df8 <[^>]*> nop ++0+2dfc <[^>]*> nop ++0+2e00 <[^>]*> nop ++0+2e04 <[^>]*> nop ++0+2e08 <[^>]*> nop ++0+2e0c <[^>]*> nop ++0+2e10 <[^>]*> nop ++0+2e14 <[^>]*> nop ++0+2e18 <[^>]*> nop ++0+2e1c <[^>]*> nop ++0+2e20 <[^>]*> nop ++0+2e24 <[^>]*> nop ++0+2e28 <[^>]*> nop ++0+2e2c <[^>]*> nop ++0+2e30 <[^>]*> nop ++0+2e34 <[^>]*> nop ++0+2e38 <[^>]*> nop ++0+2e3c <[^>]*> nop ++0+2e40 <[^>]*> nop ++0+2e44 <[^>]*> nop ++0+2e48 <[^>]*> nop ++0+2e4c <[^>]*> nop ++0+2e50 <[^>]*> nop ++0+2e54 <[^>]*> nop ++0+2e58 <[^>]*> nop ++0+2e5c <[^>]*> nop ++0+2e60 <[^>]*> nop ++0+2e64 <[^>]*> nop ++0+2e68 <[^>]*> nop ++0+2e6c <[^>]*> nop ++0+2e70 <[^>]*> nop ++0+2e74 <[^>]*> nop ++0+2e78 <[^>]*> nop ++0+2e7c <[^>]*> nop ++0+2e80 <[^>]*> nop ++0+2e84 <[^>]*> nop ++0+2e88 <[^>]*> nop ++0+2e8c <[^>]*> nop ++0+2e90 <[^>]*> nop ++0+2e94 <[^>]*> nop ++0+2e98 <[^>]*> nop ++0+2e9c <[^>]*> nop ++0+2ea0 <[^>]*> nop ++0+2ea4 <[^>]*> nop ++0+2ea8 <[^>]*> nop ++0+2eac <[^>]*> nop ++0+2eb0 <[^>]*> nop ++0+2eb4 <[^>]*> nop ++0+2eb8 <[^>]*> nop ++0+2ebc <[^>]*> nop ++0+2ec0 <[^>]*> nop ++0+2ec4 <[^>]*> nop ++0+2ec8 <[^>]*> nop ++0+2ecc <[^>]*> nop ++0+2ed0 <[^>]*> nop ++0+2ed4 <[^>]*> nop ++0+2ed8 <[^>]*> nop ++0+2edc <[^>]*> nop ++0+2ee0 <[^>]*> nop ++0+2ee4 <[^>]*> nop ++0+2ee8 <[^>]*> nop ++0+2eec <[^>]*> nop ++0+2ef0 <[^>]*> nop ++0+2ef4 <[^>]*> nop ++0+2ef8 <[^>]*> nop ++0+2efc <[^>]*> nop ++0+2f00 <[^>]*> nop ++0+2f04 <[^>]*> nop ++0+2f08 <[^>]*> nop ++0+2f0c <[^>]*> nop ++0+2f10 <[^>]*> nop ++0+2f14 <[^>]*> nop ++0+2f18 <[^>]*> nop ++0+2f1c <[^>]*> nop ++0+2f20 <[^>]*> nop ++0+2f24 <[^>]*> nop ++0+2f28 <[^>]*> nop ++0+2f2c <[^>]*> nop ++0+2f30 <[^>]*> nop ++0+2f34 <[^>]*> nop ++0+2f38 <[^>]*> nop ++0+2f3c <[^>]*> nop ++0+2f40 <[^>]*> nop ++0+2f44 <[^>]*> nop ++0+2f48 <[^>]*> nop ++0+2f4c <[^>]*> nop ++0+2f50 <[^>]*> nop ++0+2f54 <[^>]*> nop ++0+2f58 <[^>]*> nop ++0+2f5c <[^>]*> nop ++0+2f60 <[^>]*> nop ++0+2f64 <[^>]*> nop ++0+2f68 <[^>]*> nop ++0+2f6c <[^>]*> nop ++0+2f70 <[^>]*> nop ++0+2f74 <[^>]*> nop ++0+2f78 <[^>]*> nop ++0+2f7c <[^>]*> nop ++0+2f80 <[^>]*> nop ++0+2f84 <[^>]*> nop ++0+2f88 <[^>]*> nop ++0+2f8c <[^>]*> nop ++0+2f90 <[^>]*> nop ++0+2f94 <[^>]*> nop ++0+2f98 <[^>]*> nop ++0+2f9c <[^>]*> nop ++0+2fa0 <[^>]*> nop ++0+2fa4 <[^>]*> nop ++0+2fa8 <[^>]*> nop ++0+2fac <[^>]*> nop ++0+2fb0 <[^>]*> nop ++0+2fb4 <[^>]*> nop ++0+2fb8 <[^>]*> nop ++0+2fbc <[^>]*> nop ++0+2fc0 <[^>]*> nop ++0+2fc4 <[^>]*> nop ++0+2fc8 <[^>]*> nop ++0+2fcc <[^>]*> nop ++0+2fd0 <[^>]*> nop ++0+2fd4 <[^>]*> nop ++0+2fd8 <[^>]*> nop ++0+2fdc <[^>]*> nop ++0+2fe0 <[^>]*> nop ++0+2fe4 <[^>]*> nop ++0+2fe8 <[^>]*> nop ++0+2fec <[^>]*> nop ++0+2ff0 <[^>]*> nop ++0+2ff4 <[^>]*> nop ++0+2ff8 <[^>]*> nop ++0+2ffc <[^>]*> nop ++0+3000 <[^>]*> nop ++0+3004 <[^>]*> nop ++0+3008 <[^>]*> nop ++0+300c <[^>]*> nop ++0+3010 <[^>]*> nop ++0+3014 <[^>]*> nop ++0+3018 <[^>]*> nop ++0+301c <[^>]*> nop ++0+3020 <[^>]*> nop ++0+3024 <[^>]*> nop ++0+3028 <[^>]*> nop ++0+302c <[^>]*> nop ++0+3030 <[^>]*> nop ++0+3034 <[^>]*> nop ++0+3038 <[^>]*> nop ++0+303c <[^>]*> nop ++0+3040 <[^>]*> nop ++0+3044 <[^>]*> nop ++0+3048 <[^>]*> nop ++0+304c <[^>]*> nop ++0+3050 <[^>]*> nop ++0+3054 <[^>]*> nop ++0+3058 <[^>]*> nop ++0+305c <[^>]*> nop ++0+3060 <[^>]*> nop ++0+3064 <[^>]*> nop ++0+3068 <[^>]*> nop ++0+306c <[^>]*> nop ++0+3070 <[^>]*> nop ++0+3074 <[^>]*> nop ++0+3078 <[^>]*> nop ++0+307c <[^>]*> nop ++0+3080 <[^>]*> nop ++0+3084 <[^>]*> nop ++0+3088 <[^>]*> nop ++0+308c <[^>]*> nop ++0+3090 <[^>]*> nop ++0+3094 <[^>]*> nop ++0+3098 <[^>]*> nop ++0+309c <[^>]*> nop ++0+30a0 <[^>]*> nop ++0+30a4 <[^>]*> nop ++0+30a8 <[^>]*> nop ++0+30ac <[^>]*> nop ++0+30b0 <[^>]*> nop ++0+30b4 <[^>]*> nop ++0+30b8 <[^>]*> nop ++0+30bc <[^>]*> nop ++0+30c0 <[^>]*> nop ++0+30c4 <[^>]*> nop ++0+30c8 <[^>]*> nop ++0+30cc <[^>]*> nop ++0+30d0 <[^>]*> nop ++0+30d4 <[^>]*> nop ++0+30d8 <[^>]*> nop ++0+30dc <[^>]*> nop ++0+30e0 <[^>]*> nop ++0+30e4 <[^>]*> nop ++0+30e8 <[^>]*> nop ++0+30ec <[^>]*> nop ++0+30f0 <[^>]*> nop ++0+30f4 <[^>]*> nop ++0+30f8 <[^>]*> nop ++0+30fc <[^>]*> nop ++0+3100 <[^>]*> nop ++0+3104 <[^>]*> nop ++0+3108 <[^>]*> nop ++0+310c <[^>]*> nop ++0+3110 <[^>]*> nop ++0+3114 <[^>]*> nop ++0+3118 <[^>]*> nop ++0+311c <[^>]*> nop ++0+3120 <[^>]*> nop ++0+3124 <[^>]*> nop ++0+3128 <[^>]*> nop ++0+312c <[^>]*> nop ++0+3130 <[^>]*> nop ++0+3134 <[^>]*> nop ++0+3138 <[^>]*> nop ++0+313c <[^>]*> nop ++0+3140 <[^>]*> nop ++0+3144 <[^>]*> nop ++0+3148 <[^>]*> nop ++0+314c <[^>]*> nop ++0+3150 <[^>]*> nop ++0+3154 <[^>]*> nop ++0+3158 <[^>]*> nop ++0+315c <[^>]*> nop ++0+3160 <[^>]*> nop ++0+3164 <[^>]*> nop ++0+3168 <[^>]*> nop ++0+316c <[^>]*> nop ++0+3170 <[^>]*> nop ++0+3174 <[^>]*> nop ++0+3178 <[^>]*> nop ++0+317c <[^>]*> nop ++0+3180 <[^>]*> nop ++0+3184 <[^>]*> nop ++0+3188 <[^>]*> nop ++0+318c <[^>]*> nop ++0+3190 <[^>]*> nop ++0+3194 <[^>]*> nop ++0+3198 <[^>]*> nop ++0+319c <[^>]*> nop ++0+31a0 <[^>]*> nop ++0+31a4 <[^>]*> nop ++0+31a8 <[^>]*> nop ++0+31ac <[^>]*> nop ++0+31b0 <[^>]*> nop ++0+31b4 <[^>]*> nop ++0+31b8 <[^>]*> nop ++0+31bc <[^>]*> nop ++0+31c0 <[^>]*> nop ++0+31c4 <[^>]*> nop ++0+31c8 <[^>]*> nop ++0+31cc <[^>]*> nop ++0+31d0 <[^>]*> nop ++0+31d4 <[^>]*> nop ++0+31d8 <[^>]*> nop ++0+31dc <[^>]*> nop ++0+31e0 <[^>]*> nop ++0+31e4 <[^>]*> nop ++0+31e8 <[^>]*> nop ++0+31ec <[^>]*> nop ++0+31f0 <[^>]*> nop ++0+31f4 <[^>]*> nop ++0+31f8 <[^>]*> nop ++0+31fc <[^>]*> nop ++0+3200 <[^>]*> nop ++0+3204 <[^>]*> nop ++0+3208 <[^>]*> nop ++0+320c <[^>]*> nop ++0+3210 <[^>]*> nop ++0+3214 <[^>]*> nop ++0+3218 <[^>]*> nop ++0+321c <[^>]*> nop ++0+3220 <[^>]*> nop ++0+3224 <[^>]*> nop ++0+3228 <[^>]*> nop ++0+322c <[^>]*> nop ++0+3230 <[^>]*> nop ++0+3234 <[^>]*> nop ++0+3238 <[^>]*> nop ++0+323c <[^>]*> nop ++0+3240 <[^>]*> nop ++0+3244 <[^>]*> nop ++0+3248 <[^>]*> nop ++0+324c <[^>]*> nop ++0+3250 <[^>]*> nop ++0+3254 <[^>]*> nop ++0+3258 <[^>]*> nop ++0+325c <[^>]*> nop ++0+3260 <[^>]*> nop ++0+3264 <[^>]*> nop ++0+3268 <[^>]*> nop ++0+326c <[^>]*> nop ++0+3270 <[^>]*> nop ++0+3274 <[^>]*> nop ++0+3278 <[^>]*> nop ++0+327c <[^>]*> nop ++0+3280 <[^>]*> nop ++0+3284 <[^>]*> nop ++0+3288 <[^>]*> nop ++0+328c <[^>]*> nop ++0+3290 <[^>]*> nop ++0+3294 <[^>]*> nop ++0+3298 <[^>]*> nop ++0+329c <[^>]*> nop ++0+32a0 <[^>]*> nop ++0+32a4 <[^>]*> nop ++0+32a8 <[^>]*> nop ++0+32ac <[^>]*> nop ++0+32b0 <[^>]*> nop ++0+32b4 <[^>]*> nop ++0+32b8 <[^>]*> nop ++0+32bc <[^>]*> nop ++0+32c0 <[^>]*> nop ++0+32c4 <[^>]*> nop ++0+32c8 <[^>]*> nop ++0+32cc <[^>]*> nop ++0+32d0 <[^>]*> nop ++0+32d4 <[^>]*> nop ++0+32d8 <[^>]*> nop ++0+32dc <[^>]*> nop ++0+32e0 <[^>]*> nop ++0+32e4 <[^>]*> nop ++0+32e8 <[^>]*> nop ++0+32ec <[^>]*> nop ++0+32f0 <[^>]*> nop ++0+32f4 <[^>]*> nop ++0+32f8 <[^>]*> nop ++0+32fc <[^>]*> nop ++0+3300 <[^>]*> nop ++0+3304 <[^>]*> nop ++0+3308 <[^>]*> nop ++0+330c <[^>]*> nop ++0+3310 <[^>]*> nop ++0+3314 <[^>]*> nop ++0+3318 <[^>]*> nop ++0+331c <[^>]*> nop ++0+3320 <[^>]*> nop ++0+3324 <[^>]*> nop ++0+3328 <[^>]*> nop ++0+332c <[^>]*> nop ++0+3330 <[^>]*> nop ++0+3334 <[^>]*> nop ++0+3338 <[^>]*> nop ++0+333c <[^>]*> nop ++0+3340 <[^>]*> nop ++0+3344 <[^>]*> nop ++0+3348 <[^>]*> nop ++0+334c <[^>]*> nop ++0+3350 <[^>]*> nop ++0+3354 <[^>]*> nop ++0+3358 <[^>]*> nop ++0+335c <[^>]*> nop ++0+3360 <[^>]*> nop ++0+3364 <[^>]*> nop ++0+3368 <[^>]*> nop ++0+336c <[^>]*> nop ++0+3370 <[^>]*> nop ++0+3374 <[^>]*> nop ++0+3378 <[^>]*> nop ++0+337c <[^>]*> nop ++0+3380 <[^>]*> nop ++0+3384 <[^>]*> nop ++0+3388 <[^>]*> nop ++0+338c <[^>]*> nop ++0+3390 <[^>]*> nop ++0+3394 <[^>]*> nop ++0+3398 <[^>]*> nop ++0+339c <[^>]*> nop ++0+33a0 <[^>]*> nop ++0+33a4 <[^>]*> nop ++0+33a8 <[^>]*> nop ++0+33ac <[^>]*> nop ++0+33b0 <[^>]*> nop ++0+33b4 <[^>]*> nop ++0+33b8 <[^>]*> nop ++0+33bc <[^>]*> nop ++0+33c0 <[^>]*> nop ++0+33c4 <[^>]*> nop ++0+33c8 <[^>]*> nop ++0+33cc <[^>]*> nop ++0+33d0 <[^>]*> nop ++0+33d4 <[^>]*> nop ++0+33d8 <[^>]*> nop ++0+33dc <[^>]*> nop ++0+33e0 <[^>]*> nop ++0+33e4 <[^>]*> nop ++0+33e8 <[^>]*> nop ++0+33ec <[^>]*> nop ++0+33f0 <[^>]*> nop ++0+33f4 <[^>]*> nop ++0+33f8 <[^>]*> nop ++0+33fc <[^>]*> nop ++0+3400 <[^>]*> nop ++0+3404 <[^>]*> nop ++0+3408 <[^>]*> nop ++0+340c <[^>]*> nop ++0+3410 <[^>]*> nop ++0+3414 <[^>]*> nop ++0+3418 <[^>]*> nop ++0+341c <[^>]*> nop ++0+3420 <[^>]*> nop ++0+3424 <[^>]*> nop ++0+3428 <[^>]*> nop ++0+342c <[^>]*> nop ++0+3430 <[^>]*> nop ++0+3434 <[^>]*> nop ++0+3438 <[^>]*> nop ++0+343c <[^>]*> nop ++0+3440 <[^>]*> nop ++0+3444 <[^>]*> nop ++0+3448 <[^>]*> nop ++0+344c <[^>]*> nop ++0+3450 <[^>]*> nop ++0+3454 <[^>]*> nop ++0+3458 <[^>]*> nop ++0+345c <[^>]*> nop ++0+3460 <[^>]*> nop ++0+3464 <[^>]*> nop ++0+3468 <[^>]*> nop ++0+346c <[^>]*> nop ++0+3470 <[^>]*> nop ++0+3474 <[^>]*> nop ++0+3478 <[^>]*> nop ++0+347c <[^>]*> nop ++0+3480 <[^>]*> nop ++0+3484 <[^>]*> nop ++0+3488 <[^>]*> nop ++0+348c <[^>]*> nop ++0+3490 <[^>]*> nop ++0+3494 <[^>]*> nop ++0+3498 <[^>]*> nop ++0+349c <[^>]*> nop ++0+34a0 <[^>]*> nop ++0+34a4 <[^>]*> nop ++0+34a8 <[^>]*> nop ++0+34ac <[^>]*> nop ++0+34b0 <[^>]*> nop ++0+34b4 <[^>]*> nop ++0+34b8 <[^>]*> nop ++0+34bc <[^>]*> nop ++0+34c0 <[^>]*> nop ++0+34c4 <[^>]*> nop ++0+34c8 <[^>]*> nop ++0+34cc <[^>]*> nop ++0+34d0 <[^>]*> nop ++0+34d4 <[^>]*> nop ++0+34d8 <[^>]*> nop ++0+34dc <[^>]*> nop ++0+34e0 <[^>]*> nop ++0+34e4 <[^>]*> nop ++0+34e8 <[^>]*> nop ++0+34ec <[^>]*> nop ++0+34f0 <[^>]*> nop ++0+34f4 <[^>]*> nop ++0+34f8 <[^>]*> nop ++0+34fc <[^>]*> nop ++0+3500 <[^>]*> nop ++0+3504 <[^>]*> nop ++0+3508 <[^>]*> nop ++0+350c <[^>]*> nop ++0+3510 <[^>]*> nop ++0+3514 <[^>]*> nop ++0+3518 <[^>]*> nop ++0+351c <[^>]*> nop ++0+3520 <[^>]*> nop ++0+3524 <[^>]*> nop ++0+3528 <[^>]*> nop ++0+352c <[^>]*> nop ++0+3530 <[^>]*> nop ++0+3534 <[^>]*> nop ++0+3538 <[^>]*> nop ++0+353c <[^>]*> nop ++0+3540 <[^>]*> nop ++0+3544 <[^>]*> nop ++0+3548 <[^>]*> nop ++0+354c <[^>]*> nop ++0+3550 <[^>]*> nop ++0+3554 <[^>]*> nop ++0+3558 <[^>]*> nop ++0+355c <[^>]*> nop ++0+3560 <[^>]*> nop ++0+3564 <[^>]*> nop ++0+3568 <[^>]*> nop ++0+356c <[^>]*> nop ++0+3570 <[^>]*> nop ++0+3574 <[^>]*> nop ++0+3578 <[^>]*> nop ++0+357c <[^>]*> nop ++0+3580 <[^>]*> nop ++0+3584 <[^>]*> nop ++0+3588 <[^>]*> nop ++0+358c <[^>]*> nop ++0+3590 <[^>]*> nop ++0+3594 <[^>]*> nop ++0+3598 <[^>]*> nop ++0+359c <[^>]*> nop ++0+35a0 <[^>]*> nop ++0+35a4 <[^>]*> nop ++0+35a8 <[^>]*> nop ++0+35ac <[^>]*> nop ++0+35b0 <[^>]*> nop ++0+35b4 <[^>]*> nop ++0+35b8 <[^>]*> nop ++0+35bc <[^>]*> nop ++0+35c0 <[^>]*> nop ++0+35c4 <[^>]*> nop ++0+35c8 <[^>]*> nop ++0+35cc <[^>]*> nop ++0+35d0 <[^>]*> nop ++0+35d4 <[^>]*> nop ++0+35d8 <[^>]*> nop ++0+35dc <[^>]*> nop ++0+35e0 <[^>]*> nop ++0+35e4 <[^>]*> nop ++0+35e8 <[^>]*> nop ++0+35ec <[^>]*> nop ++0+35f0 <[^>]*> nop ++0+35f4 <[^>]*> nop ++0+35f8 <[^>]*> nop ++0+35fc <[^>]*> nop ++0+3600 <[^>]*> nop ++0+3604 <[^>]*> nop ++0+3608 <[^>]*> nop ++0+360c <[^>]*> nop ++0+3610 <[^>]*> nop ++0+3614 <[^>]*> nop ++0+3618 <[^>]*> nop ++0+361c <[^>]*> nop ++0+3620 <[^>]*> nop ++0+3624 <[^>]*> nop ++0+3628 <[^>]*> nop ++0+362c <[^>]*> nop ++0+3630 <[^>]*> nop ++0+3634 <[^>]*> nop ++0+3638 <[^>]*> nop ++0+363c <[^>]*> nop ++0+3640 <[^>]*> nop ++0+3644 <[^>]*> nop ++0+3648 <[^>]*> nop ++0+364c <[^>]*> nop ++0+3650 <[^>]*> nop ++0+3654 <[^>]*> nop ++0+3658 <[^>]*> nop ++0+365c <[^>]*> nop ++0+3660 <[^>]*> nop ++0+3664 <[^>]*> nop ++0+3668 <[^>]*> nop ++0+366c <[^>]*> nop ++0+3670 <[^>]*> nop ++0+3674 <[^>]*> nop ++0+3678 <[^>]*> nop ++0+367c <[^>]*> nop ++0+3680 <[^>]*> nop ++0+3684 <[^>]*> nop ++0+3688 <[^>]*> nop ++0+368c <[^>]*> nop ++0+3690 <[^>]*> nop ++0+3694 <[^>]*> nop ++0+3698 <[^>]*> nop ++0+369c <[^>]*> nop ++0+36a0 <[^>]*> nop ++0+36a4 <[^>]*> nop ++0+36a8 <[^>]*> nop ++0+36ac <[^>]*> nop ++0+36b0 <[^>]*> nop ++0+36b4 <[^>]*> nop ++0+36b8 <[^>]*> nop ++0+36bc <[^>]*> nop ++0+36c0 <[^>]*> nop ++0+36c4 <[^>]*> nop ++0+36c8 <[^>]*> nop ++0+36cc <[^>]*> nop ++0+36d0 <[^>]*> nop ++0+36d4 <[^>]*> nop ++0+36d8 <[^>]*> nop ++0+36dc <[^>]*> nop ++0+36e0 <[^>]*> nop ++0+36e4 <[^>]*> nop ++0+36e8 <[^>]*> nop ++0+36ec <[^>]*> nop ++0+36f0 <[^>]*> nop ++0+36f4 <[^>]*> nop ++0+36f8 <[^>]*> nop ++0+36fc <[^>]*> nop ++0+3700 <[^>]*> nop ++0+3704 <[^>]*> nop ++0+3708 <[^>]*> nop ++0+370c <[^>]*> nop ++0+3710 <[^>]*> nop ++0+3714 <[^>]*> nop ++0+3718 <[^>]*> nop ++0+371c <[^>]*> nop ++0+3720 <[^>]*> nop ++0+3724 <[^>]*> nop ++0+3728 <[^>]*> nop ++0+372c <[^>]*> nop ++0+3730 <[^>]*> nop ++0+3734 <[^>]*> nop ++0+3738 <[^>]*> nop ++0+373c <[^>]*> nop ++0+3740 <[^>]*> nop ++0+3744 <[^>]*> nop ++0+3748 <[^>]*> nop ++0+374c <[^>]*> nop ++0+3750 <[^>]*> nop ++0+3754 <[^>]*> nop ++0+3758 <[^>]*> nop ++0+375c <[^>]*> nop ++0+3760 <[^>]*> nop ++0+3764 <[^>]*> nop ++0+3768 <[^>]*> nop ++0+376c <[^>]*> nop ++0+3770 <[^>]*> nop ++0+3774 <[^>]*> nop ++0+3778 <[^>]*> nop ++0+377c <[^>]*> nop ++0+3780 <[^>]*> nop ++0+3784 <[^>]*> nop ++0+3788 <[^>]*> nop ++0+378c <[^>]*> nop ++0+3790 <[^>]*> nop ++0+3794 <[^>]*> nop ++0+3798 <[^>]*> nop ++0+379c <[^>]*> nop ++0+37a0 <[^>]*> nop ++0+37a4 <[^>]*> nop ++0+37a8 <[^>]*> nop ++0+37ac <[^>]*> nop ++0+37b0 <[^>]*> nop ++0+37b4 <[^>]*> nop ++0+37b8 <[^>]*> nop ++0+37bc <[^>]*> nop ++0+37c0 <[^>]*> nop ++0+37c4 <[^>]*> nop ++0+37c8 <[^>]*> nop ++0+37cc <[^>]*> nop ++0+37d0 <[^>]*> nop ++0+37d4 <[^>]*> nop ++0+37d8 <[^>]*> nop ++0+37dc <[^>]*> nop ++0+37e0 <[^>]*> nop ++0+37e4 <[^>]*> nop ++0+37e8 <[^>]*> nop ++0+37ec <[^>]*> nop ++0+37f0 <[^>]*> nop ++0+37f4 <[^>]*> nop ++0+37f8 <[^>]*> nop ++0+37fc <[^>]*> nop ++0+3800 <[^>]*> nop ++0+3804 <[^>]*> nop ++0+3808 <[^>]*> nop ++0+380c <[^>]*> nop ++0+3810 <[^>]*> nop ++0+3814 <[^>]*> nop ++0+3818 <[^>]*> nop ++0+381c <[^>]*> nop ++0+3820 <[^>]*> nop ++0+3824 <[^>]*> nop ++0+3828 <[^>]*> nop ++0+382c <[^>]*> nop ++0+3830 <[^>]*> nop ++0+3834 <[^>]*> nop ++0+3838 <[^>]*> nop ++0+383c <[^>]*> nop ++0+3840 <[^>]*> nop ++0+3844 <[^>]*> nop ++0+3848 <[^>]*> nop ++0+384c <[^>]*> nop ++0+3850 <[^>]*> nop ++0+3854 <[^>]*> nop ++0+3858 <[^>]*> nop ++0+385c <[^>]*> nop ++0+3860 <[^>]*> nop ++0+3864 <[^>]*> nop ++0+3868 <[^>]*> nop ++0+386c <[^>]*> nop ++0+3870 <[^>]*> nop ++0+3874 <[^>]*> nop ++0+3878 <[^>]*> nop ++0+387c <[^>]*> nop ++0+3880 <[^>]*> nop ++0+3884 <[^>]*> nop ++0+3888 <[^>]*> nop ++0+388c <[^>]*> nop ++0+3890 <[^>]*> nop ++0+3894 <[^>]*> nop ++0+3898 <[^>]*> nop ++0+389c <[^>]*> nop ++0+38a0 <[^>]*> nop ++0+38a4 <[^>]*> nop ++0+38a8 <[^>]*> nop ++0+38ac <[^>]*> nop ++0+38b0 <[^>]*> nop ++0+38b4 <[^>]*> nop ++0+38b8 <[^>]*> nop ++0+38bc <[^>]*> nop ++0+38c0 <[^>]*> nop ++0+38c4 <[^>]*> nop ++0+38c8 <[^>]*> nop ++0+38cc <[^>]*> nop ++0+38d0 <[^>]*> nop ++0+38d4 <[^>]*> nop ++0+38d8 <[^>]*> nop ++0+38dc <[^>]*> nop ++0+38e0 <[^>]*> nop ++0+38e4 <[^>]*> nop ++0+38e8 <[^>]*> nop ++0+38ec <[^>]*> nop ++0+38f0 <[^>]*> nop ++0+38f4 <[^>]*> nop ++0+38f8 <[^>]*> nop ++0+38fc <[^>]*> nop ++0+3900 <[^>]*> nop ++0+3904 <[^>]*> nop ++0+3908 <[^>]*> nop ++0+390c <[^>]*> nop ++0+3910 <[^>]*> nop ++0+3914 <[^>]*> nop ++0+3918 <[^>]*> nop ++0+391c <[^>]*> nop ++0+3920 <[^>]*> nop ++0+3924 <[^>]*> nop ++0+3928 <[^>]*> nop ++0+392c <[^>]*> nop ++0+3930 <[^>]*> nop ++0+3934 <[^>]*> nop ++0+3938 <[^>]*> nop ++0+393c <[^>]*> nop ++0+3940 <[^>]*> nop ++0+3944 <[^>]*> nop ++0+3948 <[^>]*> nop ++0+394c <[^>]*> nop ++0+3950 <[^>]*> nop ++0+3954 <[^>]*> nop ++0+3958 <[^>]*> nop ++0+395c <[^>]*> nop ++0+3960 <[^>]*> nop ++0+3964 <[^>]*> nop ++0+3968 <[^>]*> nop ++0+396c <[^>]*> nop ++0+3970 <[^>]*> nop ++0+3974 <[^>]*> nop ++0+3978 <[^>]*> nop ++0+397c <[^>]*> nop ++0+3980 <[^>]*> nop ++0+3984 <[^>]*> nop ++0+3988 <[^>]*> nop ++0+398c <[^>]*> nop ++0+3990 <[^>]*> nop ++0+3994 <[^>]*> nop ++0+3998 <[^>]*> nop ++0+399c <[^>]*> nop ++0+39a0 <[^>]*> nop ++0+39a4 <[^>]*> nop ++0+39a8 <[^>]*> nop ++0+39ac <[^>]*> nop ++0+39b0 <[^>]*> nop ++0+39b4 <[^>]*> nop ++0+39b8 <[^>]*> nop ++0+39bc <[^>]*> nop ++0+39c0 <[^>]*> nop ++0+39c4 <[^>]*> nop ++0+39c8 <[^>]*> nop ++0+39cc <[^>]*> nop ++0+39d0 <[^>]*> nop ++0+39d4 <[^>]*> nop ++0+39d8 <[^>]*> nop ++0+39dc <[^>]*> nop ++0+39e0 <[^>]*> nop ++0+39e4 <[^>]*> nop ++0+39e8 <[^>]*> nop ++0+39ec <[^>]*> nop ++0+39f0 <[^>]*> nop ++0+39f4 <[^>]*> nop ++0+39f8 <[^>]*> nop ++0+39fc <[^>]*> nop ++0+3a00 <[^>]*> nop ++0+3a04 <[^>]*> nop ++0+3a08 <[^>]*> nop ++0+3a0c <[^>]*> nop ++0+3a10 <[^>]*> nop ++0+3a14 <[^>]*> nop ++0+3a18 <[^>]*> nop ++0+3a1c <[^>]*> nop ++0+3a20 <[^>]*> nop ++0+3a24 <[^>]*> nop ++0+3a28 <[^>]*> nop ++0+3a2c <[^>]*> nop ++0+3a30 <[^>]*> nop ++0+3a34 <[^>]*> nop ++0+3a38 <[^>]*> nop ++0+3a3c <[^>]*> nop ++0+3a40 <[^>]*> nop ++0+3a44 <[^>]*> nop ++0+3a48 <[^>]*> nop ++0+3a4c <[^>]*> nop ++0+3a50 <[^>]*> nop ++0+3a54 <[^>]*> nop ++0+3a58 <[^>]*> nop ++0+3a5c <[^>]*> nop ++0+3a60 <[^>]*> nop ++0+3a64 <[^>]*> nop ++0+3a68 <[^>]*> nop ++0+3a6c <[^>]*> nop ++0+3a70 <[^>]*> nop ++0+3a74 <[^>]*> nop ++0+3a78 <[^>]*> nop ++0+3a7c <[^>]*> nop ++0+3a80 <[^>]*> nop ++0+3a84 <[^>]*> nop ++0+3a88 <[^>]*> nop ++0+3a8c <[^>]*> nop ++0+3a90 <[^>]*> nop ++0+3a94 <[^>]*> nop ++0+3a98 <[^>]*> nop ++0+3a9c <[^>]*> nop ++0+3aa0 <[^>]*> nop ++0+3aa4 <[^>]*> nop ++0+3aa8 <[^>]*> nop ++0+3aac <[^>]*> nop ++0+3ab0 <[^>]*> nop ++0+3ab4 <[^>]*> nop ++0+3ab8 <[^>]*> nop ++0+3abc <[^>]*> nop ++0+3ac0 <[^>]*> nop ++0+3ac4 <[^>]*> nop ++0+3ac8 <[^>]*> nop ++0+3acc <[^>]*> nop ++0+3ad0 <[^>]*> nop ++0+3ad4 <[^>]*> nop ++0+3ad8 <[^>]*> nop ++0+3adc <[^>]*> nop ++0+3ae0 <[^>]*> nop ++0+3ae4 <[^>]*> nop ++0+3ae8 <[^>]*> nop ++0+3aec <[^>]*> nop ++0+3af0 <[^>]*> nop ++0+3af4 <[^>]*> nop ++0+3af8 <[^>]*> nop ++0+3afc <[^>]*> nop ++0+3b00 <[^>]*> nop ++0+3b04 <[^>]*> nop ++0+3b08 <[^>]*> nop ++0+3b0c <[^>]*> nop ++0+3b10 <[^>]*> nop ++0+3b14 <[^>]*> nop ++0+3b18 <[^>]*> nop ++0+3b1c <[^>]*> nop ++0+3b20 <[^>]*> nop ++0+3b24 <[^>]*> nop ++0+3b28 <[^>]*> nop ++0+3b2c <[^>]*> nop ++0+3b30 <[^>]*> nop ++0+3b34 <[^>]*> nop ++0+3b38 <[^>]*> nop ++0+3b3c <[^>]*> nop ++0+3b40 <[^>]*> nop ++0+3b44 <[^>]*> nop ++0+3b48 <[^>]*> nop ++0+3b4c <[^>]*> nop ++0+3b50 <[^>]*> nop ++0+3b54 <[^>]*> nop ++0+3b58 <[^>]*> nop ++0+3b5c <[^>]*> nop ++0+3b60 <[^>]*> nop ++0+3b64 <[^>]*> nop ++0+3b68 <[^>]*> nop ++0+3b6c <[^>]*> nop ++0+3b70 <[^>]*> nop ++0+3b74 <[^>]*> nop ++0+3b78 <[^>]*> nop ++0+3b7c <[^>]*> nop ++0+3b80 <[^>]*> nop ++0+3b84 <[^>]*> nop ++0+3b88 <[^>]*> nop ++0+3b8c <[^>]*> nop ++0+3b90 <[^>]*> nop ++0+3b94 <[^>]*> nop ++0+3b98 <[^>]*> nop ++0+3b9c <[^>]*> nop ++0+3ba0 <[^>]*> nop ++0+3ba4 <[^>]*> nop ++0+3ba8 <[^>]*> nop ++0+3bac <[^>]*> nop ++0+3bb0 <[^>]*> nop ++0+3bb4 <[^>]*> nop ++0+3bb8 <[^>]*> nop ++0+3bbc <[^>]*> nop ++0+3bc0 <[^>]*> nop ++0+3bc4 <[^>]*> nop ++0+3bc8 <[^>]*> nop ++0+3bcc <[^>]*> nop ++0+3bd0 <[^>]*> nop ++0+3bd4 <[^>]*> nop ++0+3bd8 <[^>]*> nop ++0+3bdc <[^>]*> nop ++0+3be0 <[^>]*> nop ++0+3be4 <[^>]*> nop ++0+3be8 <[^>]*> nop ++0+3bec <[^>]*> nop ++0+3bf0 <[^>]*> nop ++0+3bf4 <[^>]*> nop ++0+3bf8 <[^>]*> nop ++0+3bfc <[^>]*> nop ++0+3c00 <[^>]*> nop ++0+3c04 <[^>]*> nop ++0+3c08 <[^>]*> nop ++0+3c0c <[^>]*> nop ++0+3c10 <[^>]*> nop ++0+3c14 <[^>]*> nop ++0+3c18 <[^>]*> nop ++0+3c1c <[^>]*> nop ++0+3c20 <[^>]*> nop ++0+3c24 <[^>]*> nop ++0+3c28 <[^>]*> nop ++0+3c2c <[^>]*> nop ++0+3c30 <[^>]*> nop ++0+3c34 <[^>]*> nop ++0+3c38 <[^>]*> nop ++0+3c3c <[^>]*> nop ++0+3c40 <[^>]*> nop ++0+3c44 <[^>]*> nop ++0+3c48 <[^>]*> nop ++0+3c4c <[^>]*> nop ++0+3c50 <[^>]*> nop ++0+3c54 <[^>]*> nop ++0+3c58 <[^>]*> nop ++0+3c5c <[^>]*> nop ++0+3c60 <[^>]*> nop ++0+3c64 <[^>]*> nop ++0+3c68 <[^>]*> nop ++0+3c6c <[^>]*> nop ++0+3c70 <[^>]*> nop ++0+3c74 <[^>]*> nop ++0+3c78 <[^>]*> nop ++0+3c7c <[^>]*> nop ++0+3c80 <[^>]*> nop ++0+3c84 <[^>]*> nop ++0+3c88 <[^>]*> nop ++0+3c8c <[^>]*> nop ++0+3c90 <[^>]*> nop ++0+3c94 <[^>]*> nop ++0+3c98 <[^>]*> nop ++0+3c9c <[^>]*> nop ++0+3ca0 <[^>]*> nop ++0+3ca4 <[^>]*> nop ++0+3ca8 <[^>]*> nop ++0+3cac <[^>]*> nop ++0+3cb0 <[^>]*> nop ++0+3cb4 <[^>]*> nop ++0+3cb8 <[^>]*> nop ++0+3cbc <[^>]*> nop ++0+3cc0 <[^>]*> nop ++0+3cc4 <[^>]*> nop ++0+3cc8 <[^>]*> nop ++0+3ccc <[^>]*> nop ++0+3cd0 <[^>]*> nop ++0+3cd4 <[^>]*> nop ++0+3cd8 <[^>]*> nop ++0+3cdc <[^>]*> nop ++0+3ce0 <[^>]*> nop ++0+3ce4 <[^>]*> nop ++0+3ce8 <[^>]*> nop ++0+3cec <[^>]*> nop ++0+3cf0 <[^>]*> nop ++0+3cf4 <[^>]*> nop ++0+3cf8 <[^>]*> nop ++0+3cfc <[^>]*> nop ++0+3d00 <[^>]*> nop ++0+3d04 <[^>]*> nop ++0+3d08 <[^>]*> nop ++0+3d0c <[^>]*> nop ++0+3d10 <[^>]*> nop ++0+3d14 <[^>]*> nop ++0+3d18 <[^>]*> nop ++0+3d1c <[^>]*> nop ++0+3d20 <[^>]*> nop ++0+3d24 <[^>]*> nop ++0+3d28 <[^>]*> nop ++0+3d2c <[^>]*> nop ++0+3d30 <[^>]*> nop ++0+3d34 <[^>]*> nop ++0+3d38 <[^>]*> nop ++0+3d3c <[^>]*> nop ++0+3d40 <[^>]*> nop ++0+3d44 <[^>]*> nop ++0+3d48 <[^>]*> nop ++0+3d4c <[^>]*> nop ++0+3d50 <[^>]*> nop ++0+3d54 <[^>]*> nop ++0+3d58 <[^>]*> nop ++0+3d5c <[^>]*> nop ++0+3d60 <[^>]*> nop ++0+3d64 <[^>]*> nop ++0+3d68 <[^>]*> nop ++0+3d6c <[^>]*> nop ++0+3d70 <[^>]*> nop ++0+3d74 <[^>]*> nop ++0+3d78 <[^>]*> nop ++0+3d7c <[^>]*> nop ++0+3d80 <[^>]*> nop ++0+3d84 <[^>]*> nop ++0+3d88 <[^>]*> nop ++0+3d8c <[^>]*> nop ++0+3d90 <[^>]*> nop ++0+3d94 <[^>]*> nop ++0+3d98 <[^>]*> nop ++0+3d9c <[^>]*> nop ++0+3da0 <[^>]*> nop ++0+3da4 <[^>]*> nop ++0+3da8 <[^>]*> nop ++0+3dac <[^>]*> nop ++0+3db0 <[^>]*> nop ++0+3db4 <[^>]*> nop ++0+3db8 <[^>]*> nop ++0+3dbc <[^>]*> nop ++0+3dc0 <[^>]*> nop ++0+3dc4 <[^>]*> nop ++0+3dc8 <[^>]*> nop ++0+3dcc <[^>]*> nop ++0+3dd0 <[^>]*> nop ++0+3dd4 <[^>]*> nop ++0+3dd8 <[^>]*> nop ++0+3ddc <[^>]*> nop ++0+3de0 <[^>]*> nop ++0+3de4 <[^>]*> nop ++0+3de8 <[^>]*> nop ++0+3dec <[^>]*> nop ++0+3df0 <[^>]*> nop ++0+3df4 <[^>]*> nop ++0+3df8 <[^>]*> nop ++0+3dfc <[^>]*> nop ++0+3e00 <[^>]*> nop ++0+3e04 <[^>]*> nop ++0+3e08 <[^>]*> nop ++0+3e0c <[^>]*> nop ++0+3e10 <[^>]*> nop ++0+3e14 <[^>]*> nop ++0+3e18 <[^>]*> nop ++0+3e1c <[^>]*> nop ++0+3e20 <[^>]*> nop ++0+3e24 <[^>]*> nop ++0+3e28 <[^>]*> nop ++0+3e2c <[^>]*> nop ++0+3e30 <[^>]*> nop ++0+3e34 <[^>]*> nop ++0+3e38 <[^>]*> nop ++0+3e3c <[^>]*> nop ++0+3e40 <[^>]*> nop ++0+3e44 <[^>]*> nop ++0+3e48 <[^>]*> nop ++0+3e4c <[^>]*> nop ++0+3e50 <[^>]*> nop ++0+3e54 <[^>]*> nop ++0+3e58 <[^>]*> nop ++0+3e5c <[^>]*> nop ++0+3e60 <[^>]*> nop ++0+3e64 <[^>]*> nop ++0+3e68 <[^>]*> nop ++0+3e6c <[^>]*> nop ++0+3e70 <[^>]*> nop ++0+3e74 <[^>]*> nop ++0+3e78 <[^>]*> nop ++0+3e7c <[^>]*> nop ++0+3e80 <[^>]*> nop ++0+3e84 <[^>]*> nop ++0+3e88 <[^>]*> nop ++0+3e8c <[^>]*> nop ++0+3e90 <[^>]*> nop ++0+3e94 <[^>]*> nop ++0+3e98 <[^>]*> nop ++0+3e9c <[^>]*> nop ++0+3ea0 <[^>]*> nop ++0+3ea4 <[^>]*> nop ++0+3ea8 <[^>]*> nop ++0+3eac <[^>]*> nop ++0+3eb0 <[^>]*> nop ++0+3eb4 <[^>]*> nop ++0+3eb8 <[^>]*> nop ++0+3ebc <[^>]*> nop ++0+3ec0 <[^>]*> nop ++0+3ec4 <[^>]*> nop ++0+3ec8 <[^>]*> nop ++0+3ecc <[^>]*> nop ++0+3ed0 <[^>]*> nop ++0+3ed4 <[^>]*> nop ++0+3ed8 <[^>]*> nop ++0+3edc <[^>]*> nop ++0+3ee0 <[^>]*> nop ++0+3ee4 <[^>]*> nop ++0+3ee8 <[^>]*> nop ++0+3eec <[^>]*> nop ++0+3ef0 <[^>]*> nop ++0+3ef4 <[^>]*> nop ++0+3ef8 <[^>]*> nop ++0+3efc <[^>]*> nop ++0+3f00 <[^>]*> nop ++0+3f04 <[^>]*> nop ++0+3f08 <[^>]*> nop ++0+3f0c <[^>]*> nop ++0+3f10 <[^>]*> nop ++0+3f14 <[^>]*> nop ++0+3f18 <[^>]*> nop ++0+3f1c <[^>]*> nop ++0+3f20 <[^>]*> nop ++0+3f24 <[^>]*> nop ++0+3f28 <[^>]*> nop ++0+3f2c <[^>]*> nop ++0+3f30 <[^>]*> nop ++0+3f34 <[^>]*> nop ++0+3f38 <[^>]*> nop ++0+3f3c <[^>]*> nop ++0+3f40 <[^>]*> nop ++0+3f44 <[^>]*> nop ++0+3f48 <[^>]*> nop ++0+3f4c <[^>]*> nop ++0+3f50 <[^>]*> nop ++0+3f54 <[^>]*> nop ++0+3f58 <[^>]*> nop ++0+3f5c <[^>]*> nop ++0+3f60 <[^>]*> nop ++0+3f64 <[^>]*> nop ++0+3f68 <[^>]*> nop ++0+3f6c <[^>]*> nop ++0+3f70 <[^>]*> nop ++0+3f74 <[^>]*> nop ++0+3f78 <[^>]*> nop ++0+3f7c <[^>]*> nop ++0+3f80 <[^>]*> nop ++0+3f84 <[^>]*> nop ++0+3f88 <[^>]*> nop ++0+3f8c <[^>]*> nop ++0+3f90 <[^>]*> nop ++0+3f94 <[^>]*> nop ++0+3f98 <[^>]*> nop ++0+3f9c <[^>]*> nop ++0+3fa0 <[^>]*> nop ++0+3fa4 <[^>]*> nop ++0+3fa8 <[^>]*> nop ++0+3fac <[^>]*> nop ++0+3fb0 <[^>]*> nop ++0+3fb4 <[^>]*> nop ++0+3fb8 <[^>]*> nop ++0+3fbc <[^>]*> nop ++0+3fc0 <[^>]*> nop ++0+3fc4 <[^>]*> nop ++0+3fc8 <[^>]*> nop ++0+3fcc <[^>]*> nop ++0+3fd0 <[^>]*> nop ++0+3fd4 <[^>]*> nop ++0+3fd8 <[^>]*> nop ++0+3fdc <[^>]*> nop ++0+3fe0 <[^>]*> nop ++0+3fe4 <[^>]*> nop ++0+3fe8 <[^>]*> nop ++0+3fec <[^>]*> nop ++0+3ff0 <[^>]*> nop ++0+3ff4 <[^>]*> nop ++0+3ff8 <[^>]*> nop ++0+3ffc <[^>]*> nop ++0+4000 <[^>]*> nop ++0+4004 <[^>]*> nop ++0+4008 <[^>]*> nop ++0+400c <[^>]*> nop ++0+4010 <[^>]*> nop ++0+4014 <[^>]*> nop ++0+4018 <[^>]*> nop ++0+401c <[^>]*> nop ++0+4020 <[^>]*> nop ++0+4024 <[^>]*> nop ++0+4028 <[^>]*> nop ++0+402c <[^>]*> nop ++0+4030 <[^>]*> nop ++0+4034 <[^>]*> nop ++0+4038 <[^>]*> nop ++0+403c <[^>]*> nop ++0+4040 <[^>]*> nop ++0+4044 <[^>]*> nop ++0+4048 <[^>]*> nop ++0+404c <[^>]*> nop ++0+4050 <[^>]*> nop ++0+4054 <[^>]*> nop ++0+4058 <[^>]*> nop ++0+405c <[^>]*> nop ++0+4060 <[^>]*> nop ++0+4064 <[^>]*> nop ++0+4068 <[^>]*> nop ++0+406c <[^>]*> nop ++0+4070 <[^>]*> nop ++0+4074 <[^>]*> nop ++0+4078 <[^>]*> nop ++0+407c <[^>]*> nop ++0+4080 <[^>]*> nop ++0+4084 <[^>]*> nop ++0+4088 <[^>]*> nop ++0+408c <[^>]*> nop ++0+4090 <[^>]*> nop ++0+4094 <[^>]*> nop ++0+4098 <[^>]*> nop ++0+409c <[^>]*> nop ++0+40a0 <[^>]*> nop ++0+40a4 <[^>]*> nop ++0+40a8 <[^>]*> nop ++0+40ac <[^>]*> nop ++0+40b0 <[^>]*> nop ++0+40b4 <[^>]*> nop ++0+40b8 <[^>]*> nop ++0+40bc <[^>]*> nop ++0+40c0 <[^>]*> nop ++0+40c4 <[^>]*> nop ++0+40c8 <[^>]*> nop ++0+40cc <[^>]*> nop ++0+40d0 <[^>]*> nop ++0+40d4 <[^>]*> nop ++0+40d8 <[^>]*> nop ++0+40dc <[^>]*> nop ++0+40e0 <[^>]*> nop ++0+40e4 <[^>]*> nop ++0+40e8 <[^>]*> nop ++0+40ec <[^>]*> nop ++0+40f0 <[^>]*> nop ++0+40f4 <[^>]*> nop ++0+40f8 <[^>]*> nop ++0+40fc <[^>]*> nop ++0+4100 <[^>]*> nop ++0+4104 <[^>]*> nop ++0+4108 <[^>]*> nop ++0+410c <[^>]*> nop ++0+4110 <[^>]*> nop ++0+4114 <[^>]*> nop ++0+4118 <[^>]*> nop ++0+411c <[^>]*> nop ++0+4120 <[^>]*> nop ++0+4124 <[^>]*> nop ++0+4128 <[^>]*> nop ++0+412c <[^>]*> nop ++0+4130 <[^>]*> nop ++0+4134 <[^>]*> nop ++0+4138 <[^>]*> nop ++0+413c <[^>]*> nop ++0+4140 <[^>]*> nop ++0+4144 <[^>]*> nop ++0+4148 <[^>]*> nop ++0+414c <[^>]*> nop ++0+4150 <[^>]*> nop ++0+4154 <[^>]*> nop ++0+4158 <[^>]*> nop ++0+415c <[^>]*> nop ++0+4160 <[^>]*> nop ++0+4164 <[^>]*> nop ++0+4168 <[^>]*> nop ++0+416c <[^>]*> nop ++0+4170 <[^>]*> nop ++0+4174 <[^>]*> nop ++0+4178 <[^>]*> nop ++0+417c <[^>]*> nop ++0+4180 <[^>]*> nop ++0+4184 <[^>]*> nop ++0+4188 <[^>]*> nop ++0+418c <[^>]*> nop ++0+4190 <[^>]*> nop ++0+4194 <[^>]*> nop ++0+4198 <[^>]*> nop ++0+419c <[^>]*> nop ++0+41a0 <[^>]*> nop ++0+41a4 <[^>]*> nop ++0+41a8 <[^>]*> nop ++0+41ac <[^>]*> nop ++0+41b0 <[^>]*> nop ++0+41b4 <[^>]*> nop ++0+41b8 <[^>]*> nop ++0+41bc <[^>]*> nop ++0+41c0 <[^>]*> nop ++0+41c4 <[^>]*> nop ++0+41c8 <[^>]*> nop ++0+41cc <[^>]*> nop ++0+41d0 <[^>]*> nop ++0+41d4 <[^>]*> nop ++0+41d8 <[^>]*> nop ++0+41dc <[^>]*> nop ++0+41e0 <[^>]*> nop ++0+41e4 <[^>]*> nop ++0+41e8 <[^>]*> nop ++0+41ec <[^>]*> nop ++0+41f0 <[^>]*> nop ++0+41f4 <[^>]*> nop ++0+41f8 <[^>]*> nop ++0+41fc <[^>]*> nop ++0+4200 <[^>]*> nop ++0+4204 <[^>]*> nop ++0+4208 <[^>]*> nop ++0+420c <[^>]*> nop ++0+4210 <[^>]*> nop ++0+4214 <[^>]*> nop ++0+4218 <[^>]*> nop ++0+421c <[^>]*> nop ++0+4220 <[^>]*> nop ++0+4224 <[^>]*> nop ++0+4228 <[^>]*> nop ++0+422c <[^>]*> nop ++0+4230 <[^>]*> nop ++0+4234 <[^>]*> nop ++0+4238 <[^>]*> nop ++0+423c <[^>]*> nop ++0+4240 <[^>]*> nop ++0+4244 <[^>]*> nop ++0+4248 <[^>]*> nop ++0+424c <[^>]*> nop ++0+4250 <[^>]*> nop ++0+4254 <[^>]*> nop ++0+4258 <[^>]*> nop ++0+425c <[^>]*> nop ++0+4260 <[^>]*> nop ++0+4264 <[^>]*> nop ++0+4268 <[^>]*> nop ++0+426c <[^>]*> nop ++0+4270 <[^>]*> nop ++0+4274 <[^>]*> nop ++0+4278 <[^>]*> nop ++0+427c <[^>]*> nop ++0+4280 <[^>]*> nop ++0+4284 <[^>]*> nop ++0+4288 <[^>]*> nop ++0+428c <[^>]*> nop ++0+4290 <[^>]*> nop ++0+4294 <[^>]*> nop ++0+4298 <[^>]*> nop ++0+429c <[^>]*> nop ++0+42a0 <[^>]*> nop ++0+42a4 <[^>]*> nop ++0+42a8 <[^>]*> nop ++0+42ac <[^>]*> nop ++0+42b0 <[^>]*> nop ++0+42b4 <[^>]*> nop ++0+42b8 <[^>]*> nop ++0+42bc <[^>]*> nop ++0+42c0 <[^>]*> nop ++0+42c4 <[^>]*> nop ++0+42c8 <[^>]*> nop ++0+42cc <[^>]*> nop ++0+42d0 <[^>]*> nop ++0+42d4 <[^>]*> nop ++0+42d8 <[^>]*> nop ++0+42dc <[^>]*> nop ++0+42e0 <[^>]*> nop ++0+42e4 <[^>]*> nop ++0+42e8 <[^>]*> nop ++0+42ec <[^>]*> nop ++0+42f0 <[^>]*> nop ++0+42f4 <[^>]*> nop ++0+42f8 <[^>]*> nop ++0+42fc <[^>]*> nop ++0+4300 <[^>]*> nop ++0+4304 <[^>]*> nop ++0+4308 <[^>]*> nop ++0+430c <[^>]*> nop ++0+4310 <[^>]*> nop ++0+4314 <[^>]*> nop ++0+4318 <[^>]*> nop ++0+431c <[^>]*> nop ++0+4320 <[^>]*> nop ++0+4324 <[^>]*> nop ++0+4328 <[^>]*> nop ++0+432c <[^>]*> nop ++0+4330 <[^>]*> nop ++0+4334 <[^>]*> nop ++0+4338 <[^>]*> nop ++0+433c <[^>]*> nop ++0+4340 <[^>]*> nop ++0+4344 <[^>]*> nop ++0+4348 <[^>]*> nop ++0+434c <[^>]*> nop ++0+4350 <[^>]*> nop ++0+4354 <[^>]*> nop ++0+4358 <[^>]*> nop ++0+435c <[^>]*> nop ++0+4360 <[^>]*> nop ++0+4364 <[^>]*> nop ++0+4368 <[^>]*> nop ++0+436c <[^>]*> nop ++0+4370 <[^>]*> nop ++0+4374 <[^>]*> nop ++0+4378 <[^>]*> nop ++0+437c <[^>]*> nop ++0+4380 <[^>]*> nop ++0+4384 <[^>]*> nop ++0+4388 <[^>]*> nop ++0+438c <[^>]*> nop ++0+4390 <[^>]*> nop ++0+4394 <[^>]*> nop ++0+4398 <[^>]*> nop ++0+439c <[^>]*> nop ++0+43a0 <[^>]*> nop ++0+43a4 <[^>]*> nop ++0+43a8 <[^>]*> nop ++0+43ac <[^>]*> nop ++0+43b0 <[^>]*> nop ++0+43b4 <[^>]*> nop ++0+43b8 <[^>]*> nop ++0+43bc <[^>]*> nop ++0+43c0 <[^>]*> nop ++0+43c4 <[^>]*> nop ++0+43c8 <[^>]*> nop ++0+43cc <[^>]*> nop ++0+43d0 <[^>]*> nop ++0+43d4 <[^>]*> nop ++0+43d8 <[^>]*> nop ++0+43dc <[^>]*> nop ++0+43e0 <[^>]*> nop ++0+43e4 <[^>]*> nop ++0+43e8 <[^>]*> nop ++0+43ec <[^>]*> nop ++0+43f0 <[^>]*> nop ++0+43f4 <[^>]*> nop ++0+43f8 <[^>]*> nop ++0+43fc <[^>]*> nop ++0+4400 <[^>]*> nop ++0+4404 <[^>]*> nop ++0+4408 <[^>]*> nop ++0+440c <[^>]*> nop ++0+4410 <[^>]*> nop ++0+4414 <[^>]*> nop ++0+4418 <[^>]*> nop ++0+441c <[^>]*> nop ++0+4420 <[^>]*> nop ++0+4424 <[^>]*> nop ++0+4428 <[^>]*> nop ++0+442c <[^>]*> nop ++0+4430 <[^>]*> nop ++0+4434 <[^>]*> nop ++0+4438 <[^>]*> nop ++0+443c <[^>]*> nop ++0+4440 <[^>]*> nop ++0+4444 <[^>]*> nop ++0+4448 <[^>]*> nop ++0+444c <[^>]*> nop ++0+4450 <[^>]*> nop ++0+4454 <[^>]*> nop ++0+4458 <[^>]*> nop ++0+445c <[^>]*> nop ++0+4460 <[^>]*> nop ++0+4464 <[^>]*> nop ++0+4468 <[^>]*> nop ++0+446c <[^>]*> nop ++0+4470 <[^>]*> nop ++0+4474 <[^>]*> nop ++0+4478 <[^>]*> nop ++0+447c <[^>]*> nop ++0+4480 <[^>]*> nop ++0+4484 <[^>]*> nop ++0+4488 <[^>]*> nop ++0+448c <[^>]*> nop ++0+4490 <[^>]*> nop ++0+4494 <[^>]*> nop ++0+4498 <[^>]*> nop ++0+449c <[^>]*> nop ++0+44a0 <[^>]*> nop ++0+44a4 <[^>]*> nop ++0+44a8 <[^>]*> nop ++0+44ac <[^>]*> nop ++0+44b0 <[^>]*> nop ++0+44b4 <[^>]*> nop ++0+44b8 <[^>]*> nop ++0+44bc <[^>]*> nop ++0+44c0 <[^>]*> nop ++0+44c4 <[^>]*> nop ++0+44c8 <[^>]*> nop ++0+44cc <[^>]*> nop ++0+44d0 <[^>]*> nop ++0+44d4 <[^>]*> nop ++0+44d8 <[^>]*> nop ++0+44dc <[^>]*> nop ++0+44e0 <[^>]*> nop ++0+44e4 <[^>]*> nop ++0+44e8 <[^>]*> nop ++0+44ec <[^>]*> nop ++0+44f0 <[^>]*> nop ++0+44f4 <[^>]*> nop ++0+44f8 <[^>]*> nop ++0+44fc <[^>]*> nop ++0+4500 <[^>]*> nop ++0+4504 <[^>]*> nop ++0+4508 <[^>]*> nop ++0+450c <[^>]*> nop ++0+4510 <[^>]*> nop ++0+4514 <[^>]*> nop ++0+4518 <[^>]*> nop ++0+451c <[^>]*> nop ++0+4520 <[^>]*> nop ++0+4524 <[^>]*> nop ++0+4528 <[^>]*> nop ++0+452c <[^>]*> nop ++0+4530 <[^>]*> nop ++0+4534 <[^>]*> nop ++0+4538 <[^>]*> nop ++0+453c <[^>]*> nop ++0+4540 <[^>]*> nop ++0+4544 <[^>]*> nop ++0+4548 <[^>]*> nop ++0+454c <[^>]*> nop ++0+4550 <[^>]*> nop ++0+4554 <[^>]*> nop ++0+4558 <[^>]*> nop ++0+455c <[^>]*> nop ++0+4560 <[^>]*> nop ++0+4564 <[^>]*> nop ++0+4568 <[^>]*> nop ++0+456c <[^>]*> nop ++0+4570 <[^>]*> nop ++0+4574 <[^>]*> nop ++0+4578 <[^>]*> nop ++0+457c <[^>]*> nop ++0+4580 <[^>]*> nop ++0+4584 <[^>]*> nop ++0+4588 <[^>]*> nop ++0+458c <[^>]*> nop ++0+4590 <[^>]*> nop ++0+4594 <[^>]*> nop ++0+4598 <[^>]*> nop ++0+459c <[^>]*> nop ++0+45a0 <[^>]*> nop ++0+45a4 <[^>]*> nop ++0+45a8 <[^>]*> nop ++0+45ac <[^>]*> nop ++0+45b0 <[^>]*> nop ++0+45b4 <[^>]*> nop ++0+45b8 <[^>]*> nop ++0+45bc <[^>]*> nop ++0+45c0 <[^>]*> nop ++0+45c4 <[^>]*> nop ++0+45c8 <[^>]*> nop ++0+45cc <[^>]*> nop ++0+45d0 <[^>]*> nop ++0+45d4 <[^>]*> nop ++0+45d8 <[^>]*> nop ++0+45dc <[^>]*> nop ++0+45e0 <[^>]*> nop ++0+45e4 <[^>]*> nop ++0+45e8 <[^>]*> nop ++0+45ec <[^>]*> nop ++0+45f0 <[^>]*> nop ++0+45f4 <[^>]*> nop ++0+45f8 <[^>]*> nop ++0+45fc <[^>]*> nop ++0+4600 <[^>]*> nop ++0+4604 <[^>]*> nop ++0+4608 <[^>]*> nop ++0+460c <[^>]*> nop ++0+4610 <[^>]*> nop ++0+4614 <[^>]*> nop ++0+4618 <[^>]*> nop ++0+461c <[^>]*> nop ++0+4620 <[^>]*> nop ++0+4624 <[^>]*> nop ++0+4628 <[^>]*> nop ++0+462c <[^>]*> nop ++0+4630 <[^>]*> nop ++0+4634 <[^>]*> nop ++0+4638 <[^>]*> nop ++0+463c <[^>]*> nop ++0+4640 <[^>]*> nop ++0+4644 <[^>]*> nop ++0+4648 <[^>]*> nop ++0+464c <[^>]*> nop ++0+4650 <[^>]*> nop ++0+4654 <[^>]*> nop ++0+4658 <[^>]*> nop ++0+465c <[^>]*> nop ++0+4660 <[^>]*> nop ++0+4664 <[^>]*> nop ++0+4668 <[^>]*> nop ++0+466c <[^>]*> nop ++0+4670 <[^>]*> nop ++0+4674 <[^>]*> nop ++0+4678 <[^>]*> nop ++0+467c <[^>]*> nop ++0+4680 <[^>]*> nop ++0+4684 <[^>]*> nop ++0+4688 <[^>]*> nop ++0+468c <[^>]*> nop ++0+4690 <[^>]*> nop ++0+4694 <[^>]*> nop ++0+4698 <[^>]*> nop ++0+469c <[^>]*> nop ++0+46a0 <[^>]*> nop ++0+46a4 <[^>]*> nop ++0+46a8 <[^>]*> nop ++0+46ac <[^>]*> nop ++0+46b0 <[^>]*> nop ++0+46b4 <[^>]*> nop ++0+46b8 <[^>]*> nop ++0+46bc <[^>]*> nop ++0+46c0 <[^>]*> nop ++0+46c4 <[^>]*> nop ++0+46c8 <[^>]*> nop ++0+46cc <[^>]*> nop ++0+46d0 <[^>]*> nop ++0+46d4 <[^>]*> nop ++0+46d8 <[^>]*> nop ++0+46dc <[^>]*> nop ++0+46e0 <[^>]*> nop ++0+46e4 <[^>]*> nop ++0+46e8 <[^>]*> nop ++0+46ec <[^>]*> nop ++0+46f0 <[^>]*> nop ++0+46f4 <[^>]*> nop ++0+46f8 <[^>]*> nop ++0+46fc <[^>]*> nop ++0+4700 <[^>]*> nop ++0+4704 <[^>]*> nop ++0+4708 <[^>]*> nop ++0+470c <[^>]*> nop ++0+4710 <[^>]*> nop ++0+4714 <[^>]*> nop ++0+4718 <[^>]*> nop ++0+471c <[^>]*> nop ++0+4720 <[^>]*> nop ++0+4724 <[^>]*> nop ++0+4728 <[^>]*> nop ++0+472c <[^>]*> nop ++0+4730 <[^>]*> nop ++0+4734 <[^>]*> nop ++0+4738 <[^>]*> nop ++0+473c <[^>]*> nop ++0+4740 <[^>]*> nop ++0+4744 <[^>]*> nop ++0+4748 <[^>]*> nop ++0+474c <[^>]*> nop ++0+4750 <[^>]*> nop ++0+4754 <[^>]*> nop ++0+4758 <[^>]*> nop ++0+475c <[^>]*> nop ++0+4760 <[^>]*> nop ++0+4764 <[^>]*> nop ++0+4768 <[^>]*> nop ++0+476c <[^>]*> nop ++0+4770 <[^>]*> nop ++0+4774 <[^>]*> nop ++0+4778 <[^>]*> nop ++0+477c <[^>]*> nop ++0+4780 <[^>]*> nop ++0+4784 <[^>]*> nop ++0+4788 <[^>]*> nop ++0+478c <[^>]*> nop ++0+4790 <[^>]*> nop ++0+4794 <[^>]*> nop ++0+4798 <[^>]*> nop ++0+479c <[^>]*> nop ++0+47a0 <[^>]*> nop ++0+47a4 <[^>]*> nop ++0+47a8 <[^>]*> nop ++0+47ac <[^>]*> nop ++0+47b0 <[^>]*> nop ++0+47b4 <[^>]*> nop ++0+47b8 <[^>]*> nop ++0+47bc <[^>]*> nop ++0+47c0 <[^>]*> nop ++0+47c4 <[^>]*> nop ++0+47c8 <[^>]*> nop ++0+47cc <[^>]*> nop ++0+47d0 <[^>]*> nop ++0+47d4 <[^>]*> nop ++0+47d8 <[^>]*> nop ++0+47dc <[^>]*> nop ++0+47e0 <[^>]*> nop ++0+47e4 <[^>]*> nop ++0+47e8 <[^>]*> nop ++0+47ec <[^>]*> nop ++0+47f0 <[^>]*> nop ++0+47f4 <[^>]*> nop ++0+47f8 <[^>]*> nop ++0+47fc <[^>]*> nop ++0+4800 <[^>]*> nop ++0+4804 <[^>]*> nop ++0+4808 <[^>]*> nop ++0+480c <[^>]*> nop ++0+4810 <[^>]*> nop ++0+4814 <[^>]*> nop ++0+4818 <[^>]*> nop ++0+481c <[^>]*> nop ++0+4820 <[^>]*> nop ++0+4824 <[^>]*> nop ++0+4828 <[^>]*> nop ++0+482c <[^>]*> nop ++0+4830 <[^>]*> nop ++0+4834 <[^>]*> nop ++0+4838 <[^>]*> nop ++0+483c <[^>]*> nop ++0+4840 <[^>]*> nop ++0+4844 <[^>]*> nop ++0+4848 <[^>]*> nop ++0+484c <[^>]*> nop ++0+4850 <[^>]*> nop ++0+4854 <[^>]*> nop ++0+4858 <[^>]*> nop ++0+485c <[^>]*> nop ++0+4860 <[^>]*> nop ++0+4864 <[^>]*> nop ++0+4868 <[^>]*> nop ++0+486c <[^>]*> nop ++0+4870 <[^>]*> nop ++0+4874 <[^>]*> nop ++0+4878 <[^>]*> nop ++0+487c <[^>]*> nop ++0+4880 <[^>]*> nop ++0+4884 <[^>]*> nop ++0+4888 <[^>]*> nop ++0+488c <[^>]*> nop ++0+4890 <[^>]*> nop ++0+4894 <[^>]*> nop ++0+4898 <[^>]*> nop ++0+489c <[^>]*> nop ++0+48a0 <[^>]*> nop ++0+48a4 <[^>]*> nop ++0+48a8 <[^>]*> nop ++0+48ac <[^>]*> nop ++0+48b0 <[^>]*> nop ++0+48b4 <[^>]*> nop ++0+48b8 <[^>]*> nop ++0+48bc <[^>]*> nop ++0+48c0 <[^>]*> nop ++0+48c4 <[^>]*> nop ++0+48c8 <[^>]*> nop ++0+48cc <[^>]*> nop ++0+48d0 <[^>]*> nop ++0+48d4 <[^>]*> nop ++0+48d8 <[^>]*> nop ++0+48dc <[^>]*> nop ++0+48e0 <[^>]*> nop ++0+48e4 <[^>]*> nop ++0+48e8 <[^>]*> nop ++0+48ec <[^>]*> nop ++0+48f0 <[^>]*> nop ++0+48f4 <[^>]*> nop ++0+48f8 <[^>]*> nop ++0+48fc <[^>]*> nop ++0+4900 <[^>]*> nop ++0+4904 <[^>]*> nop ++0+4908 <[^>]*> nop ++0+490c <[^>]*> nop ++0+4910 <[^>]*> nop ++0+4914 <[^>]*> nop ++0+4918 <[^>]*> nop ++0+491c <[^>]*> nop ++0+4920 <[^>]*> nop ++0+4924 <[^>]*> nop ++0+4928 <[^>]*> nop ++0+492c <[^>]*> nop ++0+4930 <[^>]*> nop ++0+4934 <[^>]*> nop ++0+4938 <[^>]*> nop ++0+493c <[^>]*> nop ++0+4940 <[^>]*> nop ++0+4944 <[^>]*> nop ++0+4948 <[^>]*> nop ++0+494c <[^>]*> nop ++0+4950 <[^>]*> nop ++0+4954 <[^>]*> nop ++0+4958 <[^>]*> nop ++0+495c <[^>]*> nop ++0+4960 <[^>]*> nop ++0+4964 <[^>]*> nop ++0+4968 <[^>]*> nop ++0+496c <[^>]*> nop ++0+4970 <[^>]*> nop ++0+4974 <[^>]*> nop ++0+4978 <[^>]*> nop ++0+497c <[^>]*> nop ++0+4980 <[^>]*> nop ++0+4984 <[^>]*> nop ++0+4988 <[^>]*> nop ++0+498c <[^>]*> nop ++0+4990 <[^>]*> nop ++0+4994 <[^>]*> nop ++0+4998 <[^>]*> nop ++0+499c <[^>]*> nop ++0+49a0 <[^>]*> nop ++0+49a4 <[^>]*> nop ++0+49a8 <[^>]*> nop ++0+49ac <[^>]*> nop ++0+49b0 <[^>]*> nop ++0+49b4 <[^>]*> nop ++0+49b8 <[^>]*> nop ++0+49bc <[^>]*> nop ++0+49c0 <[^>]*> nop ++0+49c4 <[^>]*> nop ++0+49c8 <[^>]*> nop ++0+49cc <[^>]*> nop ++0+49d0 <[^>]*> nop ++0+49d4 <[^>]*> nop ++0+49d8 <[^>]*> nop ++0+49dc <[^>]*> nop ++0+49e0 <[^>]*> nop ++0+49e4 <[^>]*> nop ++0+49e8 <[^>]*> nop ++0+49ec <[^>]*> nop ++0+49f0 <[^>]*> nop ++0+49f4 <[^>]*> nop ++0+49f8 <[^>]*> nop ++0+49fc <[^>]*> nop ++0+4a00 <[^>]*> nop ++0+4a04 <[^>]*> nop ++0+4a08 <[^>]*> nop ++0+4a0c <[^>]*> nop ++0+4a10 <[^>]*> nop ++0+4a14 <[^>]*> nop ++0+4a18 <[^>]*> nop ++0+4a1c <[^>]*> nop ++0+4a20 <[^>]*> nop ++0+4a24 <[^>]*> nop ++0+4a28 <[^>]*> nop ++0+4a2c <[^>]*> nop ++0+4a30 <[^>]*> nop ++0+4a34 <[^>]*> nop ++0+4a38 <[^>]*> nop ++0+4a3c <[^>]*> nop ++0+4a40 <[^>]*> nop ++0+4a44 <[^>]*> nop ++0+4a48 <[^>]*> nop ++0+4a4c <[^>]*> nop ++0+4a50 <[^>]*> nop ++0+4a54 <[^>]*> nop ++0+4a58 <[^>]*> nop ++0+4a5c <[^>]*> nop ++0+4a60 <[^>]*> nop ++0+4a64 <[^>]*> nop ++0+4a68 <[^>]*> nop ++0+4a6c <[^>]*> nop ++0+4a70 <[^>]*> nop ++0+4a74 <[^>]*> nop ++0+4a78 <[^>]*> nop ++0+4a7c <[^>]*> nop ++0+4a80 <[^>]*> nop ++0+4a84 <[^>]*> nop ++0+4a88 <[^>]*> nop ++0+4a8c <[^>]*> nop ++0+4a90 <[^>]*> nop ++0+4a94 <[^>]*> nop ++0+4a98 <[^>]*> nop ++0+4a9c <[^>]*> nop ++0+4aa0 <[^>]*> nop ++0+4aa4 <[^>]*> nop ++0+4aa8 <[^>]*> nop ++0+4aac <[^>]*> nop ++0+4ab0 <[^>]*> nop ++0+4ab4 <[^>]*> nop ++0+4ab8 <[^>]*> nop ++0+4abc <[^>]*> nop ++0+4ac0 <[^>]*> nop ++0+4ac4 <[^>]*> nop ++0+4ac8 <[^>]*> nop ++0+4acc <[^>]*> nop ++0+4ad0 <[^>]*> nop ++0+4ad4 <[^>]*> nop ++0+4ad8 <[^>]*> nop ++0+4adc <[^>]*> nop ++0+4ae0 <[^>]*> nop ++0+4ae4 <[^>]*> nop ++0+4ae8 <[^>]*> nop ++0+4aec <[^>]*> nop ++0+4af0 <[^>]*> nop ++0+4af4 <[^>]*> nop ++0+4af8 <[^>]*> nop ++0+4afc <[^>]*> nop ++0+4b00 <[^>]*> nop ++0+4b04 <[^>]*> nop ++0+4b08 <[^>]*> nop ++0+4b0c <[^>]*> nop ++0+4b10 <[^>]*> nop ++0+4b14 <[^>]*> nop ++0+4b18 <[^>]*> nop ++0+4b1c <[^>]*> nop ++0+4b20 <[^>]*> nop ++0+4b24 <[^>]*> nop ++0+4b28 <[^>]*> nop ++0+4b2c <[^>]*> nop ++0+4b30 <[^>]*> nop ++0+4b34 <[^>]*> nop ++0+4b38 <[^>]*> nop ++0+4b3c <[^>]*> nop ++0+4b40 <[^>]*> nop ++0+4b44 <[^>]*> nop ++0+4b48 <[^>]*> nop ++0+4b4c <[^>]*> nop ++0+4b50 <[^>]*> nop ++0+4b54 <[^>]*> nop ++0+4b58 <[^>]*> nop ++0+4b5c <[^>]*> nop ++0+4b60 <[^>]*> nop ++0+4b64 <[^>]*> nop ++0+4b68 <[^>]*> nop ++0+4b6c <[^>]*> nop ++0+4b70 <[^>]*> nop ++0+4b74 <[^>]*> nop ++0+4b78 <[^>]*> nop ++0+4b7c <[^>]*> nop ++0+4b80 <[^>]*> nop ++0+4b84 <[^>]*> nop ++0+4b88 <[^>]*> nop ++0+4b8c <[^>]*> nop ++0+4b90 <[^>]*> nop ++0+4b94 <[^>]*> nop ++0+4b98 <[^>]*> nop ++0+4b9c <[^>]*> nop ++0+4ba0 <[^>]*> nop ++0+4ba4 <[^>]*> nop ++0+4ba8 <[^>]*> nop ++0+4bac <[^>]*> nop ++0+4bb0 <[^>]*> nop ++0+4bb4 <[^>]*> nop ++0+4bb8 <[^>]*> nop ++0+4bbc <[^>]*> nop ++0+4bc0 <[^>]*> nop ++0+4bc4 <[^>]*> nop ++0+4bc8 <[^>]*> nop ++0+4bcc <[^>]*> nop ++0+4bd0 <[^>]*> nop ++0+4bd4 <[^>]*> nop ++0+4bd8 <[^>]*> nop ++0+4bdc <[^>]*> nop ++0+4be0 <[^>]*> nop ++0+4be4 <[^>]*> nop ++0+4be8 <[^>]*> nop ++0+4bec <[^>]*> nop ++0+4bf0 <[^>]*> nop ++0+4bf4 <[^>]*> nop ++0+4bf8 <[^>]*> nop ++0+4bfc <[^>]*> nop ++0+4c00 <[^>]*> nop ++0+4c04 <[^>]*> nop ++0+4c08 <[^>]*> nop ++0+4c0c <[^>]*> nop ++0+4c10 <[^>]*> nop ++0+4c14 <[^>]*> nop ++0+4c18 <[^>]*> nop ++0+4c1c <[^>]*> nop ++0+4c20 <[^>]*> nop ++0+4c24 <[^>]*> nop ++0+4c28 <[^>]*> nop ++0+4c2c <[^>]*> nop ++0+4c30 <[^>]*> nop ++0+4c34 <[^>]*> nop ++0+4c38 <[^>]*> nop ++0+4c3c <[^>]*> nop ++0+4c40 <[^>]*> nop ++0+4c44 <[^>]*> nop ++0+4c48 <[^>]*> nop ++0+4c4c <[^>]*> nop ++0+4c50 <[^>]*> nop ++0+4c54 <[^>]*> nop ++0+4c58 <[^>]*> nop ++0+4c5c <[^>]*> nop ++0+4c60 <[^>]*> nop ++0+4c64 <[^>]*> nop ++0+4c68 <[^>]*> nop ++0+4c6c <[^>]*> nop ++0+4c70 <[^>]*> nop ++0+4c74 <[^>]*> nop ++0+4c78 <[^>]*> nop ++0+4c7c <[^>]*> nop ++0+4c80 <[^>]*> nop ++0+4c84 <[^>]*> nop ++0+4c88 <[^>]*> nop ++0+4c8c <[^>]*> nop ++0+4c90 <[^>]*> nop ++0+4c94 <[^>]*> nop ++0+4c98 <[^>]*> nop ++0+4c9c <[^>]*> nop ++0+4ca0 <[^>]*> nop ++0+4ca4 <[^>]*> nop ++0+4ca8 <[^>]*> nop ++0+4cac <[^>]*> nop ++0+4cb0 <[^>]*> nop ++0+4cb4 <[^>]*> nop ++0+4cb8 <[^>]*> nop ++0+4cbc <[^>]*> nop ++0+4cc0 <[^>]*> nop ++0+4cc4 <[^>]*> nop ++0+4cc8 <[^>]*> nop ++0+4ccc <[^>]*> nop ++0+4cd0 <[^>]*> nop ++0+4cd4 <[^>]*> nop ++0+4cd8 <[^>]*> nop ++0+4cdc <[^>]*> nop ++0+4ce0 <[^>]*> nop ++0+4ce4 <[^>]*> nop ++0+4ce8 <[^>]*> nop ++0+4cec <[^>]*> nop ++0+4cf0 <[^>]*> nop ++0+4cf4 <[^>]*> nop ++0+4cf8 <[^>]*> nop ++0+4cfc <[^>]*> nop ++0+4d00 <[^>]*> nop ++0+4d04 <[^>]*> nop ++0+4d08 <[^>]*> nop ++0+4d0c <[^>]*> nop ++0+4d10 <[^>]*> nop ++0+4d14 <[^>]*> nop ++0+4d18 <[^>]*> nop ++0+4d1c <[^>]*> nop ++0+4d20 <[^>]*> nop ++0+4d24 <[^>]*> nop ++0+4d28 <[^>]*> nop ++0+4d2c <[^>]*> nop ++0+4d30 <[^>]*> nop ++0+4d34 <[^>]*> nop ++0+4d38 <[^>]*> nop ++0+4d3c <[^>]*> nop ++0+4d40 <[^>]*> nop ++0+4d44 <[^>]*> nop ++0+4d48 <[^>]*> nop ++0+4d4c <[^>]*> nop ++0+4d50 <[^>]*> nop ++0+4d54 <[^>]*> nop ++0+4d58 <[^>]*> nop ++0+4d5c <[^>]*> nop ++0+4d60 <[^>]*> nop ++0+4d64 <[^>]*> nop ++0+4d68 <[^>]*> nop ++0+4d6c <[^>]*> nop ++0+4d70 <[^>]*> nop ++0+4d74 <[^>]*> nop ++0+4d78 <[^>]*> nop ++0+4d7c <[^>]*> nop ++0+4d80 <[^>]*> nop ++0+4d84 <[^>]*> nop ++0+4d88 <[^>]*> nop ++0+4d8c <[^>]*> nop ++0+4d90 <[^>]*> nop ++0+4d94 <[^>]*> nop ++0+4d98 <[^>]*> nop ++0+4d9c <[^>]*> nop ++0+4da0 <[^>]*> nop ++0+4da4 <[^>]*> nop ++0+4da8 <[^>]*> nop ++0+4dac <[^>]*> nop ++0+4db0 <[^>]*> nop ++0+4db4 <[^>]*> nop ++0+4db8 <[^>]*> nop ++0+4dbc <[^>]*> nop ++0+4dc0 <[^>]*> nop ++0+4dc4 <[^>]*> nop ++0+4dc8 <[^>]*> nop ++0+4dcc <[^>]*> nop ++0+4dd0 <[^>]*> nop ++0+4dd4 <[^>]*> nop ++0+4dd8 <[^>]*> nop ++0+4ddc <[^>]*> nop ++0+4de0 <[^>]*> nop ++0+4de4 <[^>]*> nop ++0+4de8 <[^>]*> nop ++0+4dec <[^>]*> nop ++0+4df0 <[^>]*> nop ++0+4df4 <[^>]*> nop ++0+4df8 <[^>]*> nop ++0+4dfc <[^>]*> nop ++0+4e00 <[^>]*> nop ++0+4e04 <[^>]*> nop ++0+4e08 <[^>]*> nop ++0+4e0c <[^>]*> nop ++0+4e10 <[^>]*> nop ++0+4e14 <[^>]*> nop ++0+4e18 <[^>]*> nop ++0+4e1c <[^>]*> nop ++0+4e20 <[^>]*> nop ++0+4e24 <[^>]*> nop ++0+4e28 <[^>]*> nop ++0+4e2c <[^>]*> nop ++0+4e30 <[^>]*> nop ++0+4e34 <[^>]*> nop ++0+4e38 <[^>]*> nop ++0+4e3c <[^>]*> nop ++0+4e40 <[^>]*> nop ++0+4e44 <[^>]*> nop ++0+4e48 <[^>]*> nop ++0+4e4c <[^>]*> nop ++0+4e50 <[^>]*> nop ++0+4e54 <[^>]*> nop ++0+4e58 <[^>]*> nop ++0+4e5c <[^>]*> nop ++0+4e60 <[^>]*> nop ++0+4e64 <[^>]*> nop ++0+4e68 <[^>]*> nop ++0+4e6c <[^>]*> nop ++0+4e70 <[^>]*> nop ++0+4e74 <[^>]*> nop ++0+4e78 <[^>]*> nop ++0+4e7c <[^>]*> nop ++0+4e80 <[^>]*> nop ++0+4e84 <[^>]*> nop ++0+4e88 <[^>]*> nop ++0+4e8c <[^>]*> nop ++0+4e90 <[^>]*> nop ++0+4e94 <[^>]*> nop ++0+4e98 <[^>]*> nop ++0+4e9c <[^>]*> nop ++0+4ea0 <[^>]*> nop ++0+4ea4 <[^>]*> nop ++0+4ea8 <[^>]*> nop ++0+4eac <[^>]*> nop ++0+4eb0 <[^>]*> nop ++0+4eb4 <[^>]*> nop ++0+4eb8 <[^>]*> nop ++0+4ebc <[^>]*> nop ++0+4ec0 <[^>]*> nop ++0+4ec4 <[^>]*> nop ++0+4ec8 <[^>]*> nop ++0+4ecc <[^>]*> nop ++0+4ed0 <[^>]*> nop ++0+4ed4 <[^>]*> nop ++0+4ed8 <[^>]*> nop ++0+4edc <[^>]*> nop ++0+4ee0 <[^>]*> nop ++0+4ee4 <[^>]*> nop ++0+4ee8 <[^>]*> nop ++0+4eec <[^>]*> nop ++0+4ef0 <[^>]*> nop ++0+4ef4 <[^>]*> nop ++0+4ef8 <[^>]*> nop ++0+4efc <[^>]*> nop ++0+4f00 <[^>]*> nop ++0+4f04 <[^>]*> nop ++0+4f08 <[^>]*> nop ++0+4f0c <[^>]*> nop ++0+4f10 <[^>]*> nop ++0+4f14 <[^>]*> nop ++0+4f18 <[^>]*> nop ++0+4f1c <[^>]*> nop ++0+4f20 <[^>]*> nop ++0+4f24 <[^>]*> nop ++0+4f28 <[^>]*> nop ++0+4f2c <[^>]*> nop ++0+4f30 <[^>]*> nop ++0+4f34 <[^>]*> nop ++0+4f38 <[^>]*> nop ++0+4f3c <[^>]*> nop ++0+4f40 <[^>]*> nop ++0+4f44 <[^>]*> nop ++0+4f48 <[^>]*> nop ++0+4f4c <[^>]*> nop ++0+4f50 <[^>]*> nop ++0+4f54 <[^>]*> nop ++0+4f58 <[^>]*> nop ++0+4f5c <[^>]*> nop ++0+4f60 <[^>]*> nop ++0+4f64 <[^>]*> nop ++0+4f68 <[^>]*> nop ++0+4f6c <[^>]*> nop ++0+4f70 <[^>]*> nop ++0+4f74 <[^>]*> nop ++0+4f78 <[^>]*> nop ++0+4f7c <[^>]*> nop ++0+4f80 <[^>]*> nop ++0+4f84 <[^>]*> nop ++0+4f88 <[^>]*> nop ++0+4f8c <[^>]*> nop ++0+4f90 <[^>]*> nop ++0+4f94 <[^>]*> nop ++0+4f98 <[^>]*> nop ++0+4f9c <[^>]*> nop ++0+4fa0 <[^>]*> nop ++0+4fa4 <[^>]*> nop ++0+4fa8 <[^>]*> nop ++0+4fac <[^>]*> nop ++0+4fb0 <[^>]*> nop ++0+4fb4 <[^>]*> nop ++0+4fb8 <[^>]*> nop ++0+4fbc <[^>]*> nop ++0+4fc0 <[^>]*> nop ++0+4fc4 <[^>]*> nop ++0+4fc8 <[^>]*> nop ++0+4fcc <[^>]*> nop ++0+4fd0 <[^>]*> nop ++0+4fd4 <[^>]*> nop ++0+4fd8 <[^>]*> nop ++0+4fdc <[^>]*> nop ++0+4fe0 <[^>]*> nop ++0+4fe4 <[^>]*> nop ++0+4fe8 <[^>]*> nop ++0+4fec <[^>]*> nop ++0+4ff0 <[^>]*> nop ++0+4ff4 <[^>]*> nop ++0+4ff8 <[^>]*> nop ++0+4ffc <[^>]*> nop ++0+5000 <[^>]*> nop ++0+5004 <[^>]*> nop ++0+5008 <[^>]*> nop ++0+500c <[^>]*> nop ++0+5010 <[^>]*> nop ++0+5014 <[^>]*> nop ++0+5018 <[^>]*> nop ++0+501c <[^>]*> nop ++0+5020 <[^>]*> nop ++0+5024 <[^>]*> nop ++0+5028 <[^>]*> nop ++0+502c <[^>]*> nop ++0+5030 <[^>]*> nop ++0+5034 <[^>]*> nop ++0+5038 <[^>]*> nop ++0+503c <[^>]*> nop ++0+5040 <[^>]*> nop ++0+5044 <[^>]*> nop ++0+5048 <[^>]*> nop ++0+504c <[^>]*> nop ++0+5050 <[^>]*> nop ++0+5054 <[^>]*> nop ++0+5058 <[^>]*> nop ++0+505c <[^>]*> nop ++0+5060 <[^>]*> nop ++0+5064 <[^>]*> nop ++0+5068 <[^>]*> nop ++0+506c <[^>]*> nop ++0+5070 <[^>]*> nop ++0+5074 <[^>]*> nop ++0+5078 <[^>]*> nop ++0+507c <[^>]*> nop ++0+5080 <[^>]*> nop ++0+5084 <[^>]*> nop ++0+5088 <[^>]*> nop ++0+508c <[^>]*> nop ++0+5090 <[^>]*> nop ++0+5094 <[^>]*> nop ++0+5098 <[^>]*> nop ++0+509c <[^>]*> nop ++0+50a0 <[^>]*> nop ++0+50a4 <[^>]*> nop ++0+50a8 <[^>]*> nop ++0+50ac <[^>]*> nop ++0+50b0 <[^>]*> nop ++0+50b4 <[^>]*> nop ++0+50b8 <[^>]*> nop ++0+50bc <[^>]*> nop ++0+50c0 <[^>]*> nop ++0+50c4 <[^>]*> nop ++0+50c8 <[^>]*> nop ++0+50cc <[^>]*> nop ++0+50d0 <[^>]*> nop ++0+50d4 <[^>]*> nop ++0+50d8 <[^>]*> nop ++0+50dc <[^>]*> nop ++0+50e0 <[^>]*> nop ++0+50e4 <[^>]*> nop ++0+50e8 <[^>]*> nop ++0+50ec <[^>]*> nop ++0+50f0 <[^>]*> nop ++0+50f4 <[^>]*> nop ++0+50f8 <[^>]*> nop ++0+50fc <[^>]*> nop ++0+5100 <[^>]*> nop ++0+5104 <[^>]*> nop ++0+5108 <[^>]*> nop ++0+510c <[^>]*> nop ++0+5110 <[^>]*> nop ++0+5114 <[^>]*> nop ++0+5118 <[^>]*> nop ++0+511c <[^>]*> nop ++0+5120 <[^>]*> nop ++0+5124 <[^>]*> nop ++0+5128 <[^>]*> nop ++0+512c <[^>]*> nop ++0+5130 <[^>]*> nop ++0+5134 <[^>]*> nop ++0+5138 <[^>]*> nop ++0+513c <[^>]*> nop ++0+5140 <[^>]*> nop ++0+5144 <[^>]*> nop ++0+5148 <[^>]*> nop ++0+514c <[^>]*> nop ++0+5150 <[^>]*> nop ++0+5154 <[^>]*> nop ++0+5158 <[^>]*> nop ++0+515c <[^>]*> nop ++0+5160 <[^>]*> nop ++0+5164 <[^>]*> nop ++0+5168 <[^>]*> nop ++0+516c <[^>]*> nop ++0+5170 <[^>]*> nop ++0+5174 <[^>]*> nop ++0+5178 <[^>]*> nop ++0+517c <[^>]*> nop ++0+5180 <[^>]*> nop ++0+5184 <[^>]*> nop ++0+5188 <[^>]*> nop ++0+518c <[^>]*> nop ++0+5190 <[^>]*> nop ++0+5194 <[^>]*> nop ++0+5198 <[^>]*> nop ++0+519c <[^>]*> nop ++0+51a0 <[^>]*> nop ++0+51a4 <[^>]*> nop ++0+51a8 <[^>]*> nop ++0+51ac <[^>]*> nop ++0+51b0 <[^>]*> nop ++0+51b4 <[^>]*> nop ++0+51b8 <[^>]*> nop ++0+51bc <[^>]*> nop ++0+51c0 <[^>]*> nop ++0+51c4 <[^>]*> nop ++0+51c8 <[^>]*> nop ++0+51cc <[^>]*> nop ++0+51d0 <[^>]*> nop ++0+51d4 <[^>]*> nop ++0+51d8 <[^>]*> nop ++0+51dc <[^>]*> nop ++0+51e0 <[^>]*> nop ++0+51e4 <[^>]*> nop ++0+51e8 <[^>]*> nop ++0+51ec <[^>]*> nop ++0+51f0 <[^>]*> nop ++0+51f4 <[^>]*> nop ++0+51f8 <[^>]*> nop ++0+51fc <[^>]*> nop ++0+5200 <[^>]*> nop ++0+5204 <[^>]*> nop ++0+5208 <[^>]*> nop ++0+520c <[^>]*> nop ++0+5210 <[^>]*> nop ++0+5214 <[^>]*> nop ++0+5218 <[^>]*> nop ++0+521c <[^>]*> nop ++0+5220 <[^>]*> nop ++0+5224 <[^>]*> nop ++0+5228 <[^>]*> nop ++0+522c <[^>]*> nop ++0+5230 <[^>]*> nop ++0+5234 <[^>]*> nop ++0+5238 <[^>]*> nop ++0+523c <[^>]*> nop ++0+5240 <[^>]*> nop ++0+5244 <[^>]*> nop ++0+5248 <[^>]*> nop ++0+524c <[^>]*> nop ++0+5250 <[^>]*> nop ++0+5254 <[^>]*> nop ++0+5258 <[^>]*> nop ++0+525c <[^>]*> nop ++0+5260 <[^>]*> nop ++0+5264 <[^>]*> nop ++0+5268 <[^>]*> nop ++0+526c <[^>]*> nop ++0+5270 <[^>]*> nop ++0+5274 <[^>]*> nop ++0+5278 <[^>]*> nop ++0+527c <[^>]*> nop ++0+5280 <[^>]*> nop ++0+5284 <[^>]*> nop ++0+5288 <[^>]*> nop ++0+528c <[^>]*> nop ++0+5290 <[^>]*> nop ++0+5294 <[^>]*> nop ++0+5298 <[^>]*> nop ++0+529c <[^>]*> nop ++0+52a0 <[^>]*> nop ++0+52a4 <[^>]*> nop ++0+52a8 <[^>]*> nop ++0+52ac <[^>]*> nop ++0+52b0 <[^>]*> nop ++0+52b4 <[^>]*> nop ++0+52b8 <[^>]*> nop ++0+52bc <[^>]*> nop ++0+52c0 <[^>]*> nop ++0+52c4 <[^>]*> nop ++0+52c8 <[^>]*> nop ++0+52cc <[^>]*> nop ++0+52d0 <[^>]*> nop ++0+52d4 <[^>]*> nop ++0+52d8 <[^>]*> nop ++0+52dc <[^>]*> nop ++0+52e0 <[^>]*> nop ++0+52e4 <[^>]*> nop ++0+52e8 <[^>]*> nop ++0+52ec <[^>]*> nop ++0+52f0 <[^>]*> nop ++0+52f4 <[^>]*> nop ++0+52f8 <[^>]*> nop ++0+52fc <[^>]*> nop ++0+5300 <[^>]*> nop ++0+5304 <[^>]*> nop ++0+5308 <[^>]*> nop ++0+530c <[^>]*> nop ++0+5310 <[^>]*> nop ++0+5314 <[^>]*> nop ++0+5318 <[^>]*> nop ++0+531c <[^>]*> nop ++0+5320 <[^>]*> nop ++0+5324 <[^>]*> nop ++0+5328 <[^>]*> nop ++0+532c <[^>]*> nop ++0+5330 <[^>]*> nop ++0+5334 <[^>]*> nop ++0+5338 <[^>]*> nop ++0+533c <[^>]*> nop ++0+5340 <[^>]*> nop ++0+5344 <[^>]*> nop ++0+5348 <[^>]*> nop ++0+534c <[^>]*> nop ++0+5350 <[^>]*> nop ++0+5354 <[^>]*> nop ++0+5358 <[^>]*> nop ++0+535c <[^>]*> nop ++0+5360 <[^>]*> nop ++0+5364 <[^>]*> nop ++0+5368 <[^>]*> nop ++0+536c <[^>]*> nop ++0+5370 <[^>]*> nop ++0+5374 <[^>]*> nop ++0+5378 <[^>]*> nop ++0+537c <[^>]*> nop ++0+5380 <[^>]*> nop ++0+5384 <[^>]*> nop ++0+5388 <[^>]*> nop ++0+538c <[^>]*> nop ++0+5390 <[^>]*> nop ++0+5394 <[^>]*> nop ++0+5398 <[^>]*> nop ++0+539c <[^>]*> nop ++0+53a0 <[^>]*> nop ++0+53a4 <[^>]*> nop ++0+53a8 <[^>]*> nop ++0+53ac <[^>]*> nop ++0+53b0 <[^>]*> nop ++0+53b4 <[^>]*> nop ++0+53b8 <[^>]*> nop ++0+53bc <[^>]*> nop ++0+53c0 <[^>]*> nop ++0+53c4 <[^>]*> nop ++0+53c8 <[^>]*> nop ++0+53cc <[^>]*> nop ++0+53d0 <[^>]*> nop ++0+53d4 <[^>]*> nop ++0+53d8 <[^>]*> nop ++0+53dc <[^>]*> nop ++0+53e0 <[^>]*> nop ++0+53e4 <[^>]*> nop ++0+53e8 <[^>]*> nop ++0+53ec <[^>]*> nop ++0+53f0 <[^>]*> nop ++0+53f4 <[^>]*> nop ++0+53f8 <[^>]*> nop ++0+53fc <[^>]*> nop ++0+5400 <[^>]*> nop ++0+5404 <[^>]*> nop ++0+5408 <[^>]*> nop ++0+540c <[^>]*> nop ++0+5410 <[^>]*> nop ++0+5414 <[^>]*> nop ++0+5418 <[^>]*> nop ++0+541c <[^>]*> nop ++0+5420 <[^>]*> nop ++0+5424 <[^>]*> nop ++0+5428 <[^>]*> nop ++0+542c <[^>]*> nop ++0+5430 <[^>]*> nop ++0+5434 <[^>]*> nop ++0+5438 <[^>]*> nop ++0+543c <[^>]*> nop ++0+5440 <[^>]*> nop ++0+5444 <[^>]*> nop ++0+5448 <[^>]*> nop ++0+544c <[^>]*> nop ++0+5450 <[^>]*> nop ++0+5454 <[^>]*> nop ++0+5458 <[^>]*> nop ++0+545c <[^>]*> nop ++0+5460 <[^>]*> nop ++0+5464 <[^>]*> nop ++0+5468 <[^>]*> nop ++0+546c <[^>]*> nop ++0+5470 <[^>]*> nop ++0+5474 <[^>]*> nop ++0+5478 <[^>]*> nop ++0+547c <[^>]*> nop ++0+5480 <[^>]*> nop ++0+5484 <[^>]*> nop ++0+5488 <[^>]*> nop ++0+548c <[^>]*> nop ++0+5490 <[^>]*> nop ++0+5494 <[^>]*> nop ++0+5498 <[^>]*> nop ++0+549c <[^>]*> nop ++0+54a0 <[^>]*> nop ++0+54a4 <[^>]*> nop ++0+54a8 <[^>]*> nop ++0+54ac <[^>]*> nop ++0+54b0 <[^>]*> nop ++0+54b4 <[^>]*> nop ++0+54b8 <[^>]*> nop ++0+54bc <[^>]*> nop ++0+54c0 <[^>]*> nop ++0+54c4 <[^>]*> nop ++0+54c8 <[^>]*> nop ++0+54cc <[^>]*> nop ++0+54d0 <[^>]*> nop ++0+54d4 <[^>]*> nop ++0+54d8 <[^>]*> nop ++0+54dc <[^>]*> nop ++0+54e0 <[^>]*> nop ++0+54e4 <[^>]*> nop ++0+54e8 <[^>]*> nop ++0+54ec <[^>]*> nop ++0+54f0 <[^>]*> nop ++0+54f4 <[^>]*> nop ++0+54f8 <[^>]*> nop ++0+54fc <[^>]*> nop ++0+5500 <[^>]*> nop ++0+5504 <[^>]*> nop ++0+5508 <[^>]*> nop ++0+550c <[^>]*> nop ++0+5510 <[^>]*> nop ++0+5514 <[^>]*> nop ++0+5518 <[^>]*> nop ++0+551c <[^>]*> nop ++0+5520 <[^>]*> nop ++0+5524 <[^>]*> nop ++0+5528 <[^>]*> nop ++0+552c <[^>]*> nop ++0+5530 <[^>]*> nop ++0+5534 <[^>]*> nop ++0+5538 <[^>]*> nop ++0+553c <[^>]*> nop ++0+5540 <[^>]*> nop ++0+5544 <[^>]*> nop ++0+5548 <[^>]*> nop ++0+554c <[^>]*> nop ++0+5550 <[^>]*> nop ++0+5554 <[^>]*> nop ++0+5558 <[^>]*> nop ++0+555c <[^>]*> nop ++0+5560 <[^>]*> nop ++0+5564 <[^>]*> nop ++0+5568 <[^>]*> nop ++0+556c <[^>]*> nop ++0+5570 <[^>]*> nop ++0+5574 <[^>]*> nop ++0+5578 <[^>]*> nop ++0+557c <[^>]*> nop ++0+5580 <[^>]*> nop ++0+5584 <[^>]*> nop ++0+5588 <[^>]*> nop ++0+558c <[^>]*> nop ++0+5590 <[^>]*> nop ++0+5594 <[^>]*> nop ++0+5598 <[^>]*> nop ++0+559c <[^>]*> nop ++0+55a0 <[^>]*> nop ++0+55a4 <[^>]*> nop ++0+55a8 <[^>]*> nop ++0+55ac <[^>]*> nop ++0+55b0 <[^>]*> nop ++0+55b4 <[^>]*> nop ++0+55b8 <[^>]*> nop ++0+55bc <[^>]*> nop ++0+55c0 <[^>]*> nop ++0+55c4 <[^>]*> nop ++0+55c8 <[^>]*> nop ++0+55cc <[^>]*> nop ++0+55d0 <[^>]*> nop ++0+55d4 <[^>]*> nop ++0+55d8 <[^>]*> nop ++0+55dc <[^>]*> nop ++0+55e0 <[^>]*> nop ++0+55e4 <[^>]*> nop ++0+55e8 <[^>]*> nop ++0+55ec <[^>]*> nop ++0+55f0 <[^>]*> nop ++0+55f4 <[^>]*> nop ++0+55f8 <[^>]*> nop ++0+55fc <[^>]*> nop ++0+5600 <[^>]*> nop ++0+5604 <[^>]*> nop ++0+5608 <[^>]*> nop ++0+560c <[^>]*> nop ++0+5610 <[^>]*> nop ++0+5614 <[^>]*> nop ++0+5618 <[^>]*> nop ++0+561c <[^>]*> nop ++0+5620 <[^>]*> nop ++0+5624 <[^>]*> nop ++0+5628 <[^>]*> nop ++0+562c <[^>]*> nop ++0+5630 <[^>]*> nop ++0+5634 <[^>]*> nop ++0+5638 <[^>]*> nop ++0+563c <[^>]*> nop ++0+5640 <[^>]*> nop ++0+5644 <[^>]*> nop ++0+5648 <[^>]*> nop ++0+564c <[^>]*> nop ++0+5650 <[^>]*> nop ++0+5654 <[^>]*> nop ++0+5658 <[^>]*> nop ++0+565c <[^>]*> nop ++0+5660 <[^>]*> nop ++0+5664 <[^>]*> nop ++0+5668 <[^>]*> nop ++0+566c <[^>]*> nop ++0+5670 <[^>]*> nop ++0+5674 <[^>]*> nop ++0+5678 <[^>]*> nop ++0+567c <[^>]*> nop ++0+5680 <[^>]*> nop ++0+5684 <[^>]*> nop ++0+5688 <[^>]*> nop ++0+568c <[^>]*> nop ++0+5690 <[^>]*> nop ++0+5694 <[^>]*> nop ++0+5698 <[^>]*> nop ++0+569c <[^>]*> nop ++0+56a0 <[^>]*> nop ++0+56a4 <[^>]*> nop ++0+56a8 <[^>]*> nop ++0+56ac <[^>]*> nop ++0+56b0 <[^>]*> nop ++0+56b4 <[^>]*> nop ++0+56b8 <[^>]*> nop ++0+56bc <[^>]*> nop ++0+56c0 <[^>]*> nop ++0+56c4 <[^>]*> nop ++0+56c8 <[^>]*> nop ++0+56cc <[^>]*> nop ++0+56d0 <[^>]*> nop ++0+56d4 <[^>]*> nop ++0+56d8 <[^>]*> nop ++0+56dc <[^>]*> nop ++0+56e0 <[^>]*> nop ++0+56e4 <[^>]*> nop ++0+56e8 <[^>]*> nop ++0+56ec <[^>]*> nop ++0+56f0 <[^>]*> nop ++0+56f4 <[^>]*> nop ++0+56f8 <[^>]*> nop ++0+56fc <[^>]*> nop ++0+5700 <[^>]*> nop ++0+5704 <[^>]*> nop ++0+5708 <[^>]*> nop ++0+570c <[^>]*> nop ++0+5710 <[^>]*> nop ++0+5714 <[^>]*> nop ++0+5718 <[^>]*> nop ++0+571c <[^>]*> nop ++0+5720 <[^>]*> nop ++0+5724 <[^>]*> nop ++0+5728 <[^>]*> nop ++0+572c <[^>]*> nop ++0+5730 <[^>]*> nop ++0+5734 <[^>]*> nop ++0+5738 <[^>]*> nop ++0+573c <[^>]*> nop ++0+5740 <[^>]*> nop ++0+5744 <[^>]*> nop ++0+5748 <[^>]*> nop ++0+574c <[^>]*> nop ++0+5750 <[^>]*> nop ++0+5754 <[^>]*> nop ++0+5758 <[^>]*> nop ++0+575c <[^>]*> nop ++0+5760 <[^>]*> nop ++0+5764 <[^>]*> nop ++0+5768 <[^>]*> nop ++0+576c <[^>]*> nop ++0+5770 <[^>]*> nop ++0+5774 <[^>]*> nop ++0+5778 <[^>]*> nop ++0+577c <[^>]*> nop ++0+5780 <[^>]*> nop ++0+5784 <[^>]*> nop ++0+5788 <[^>]*> nop ++0+578c <[^>]*> nop ++0+5790 <[^>]*> nop ++0+5794 <[^>]*> nop ++0+5798 <[^>]*> nop ++0+579c <[^>]*> nop ++0+57a0 <[^>]*> nop ++0+57a4 <[^>]*> nop ++0+57a8 <[^>]*> nop ++0+57ac <[^>]*> nop ++0+57b0 <[^>]*> nop ++0+57b4 <[^>]*> nop ++0+57b8 <[^>]*> nop ++0+57bc <[^>]*> nop ++0+57c0 <[^>]*> nop ++0+57c4 <[^>]*> nop ++0+57c8 <[^>]*> nop ++0+57cc <[^>]*> nop ++0+57d0 <[^>]*> nop ++0+57d4 <[^>]*> nop ++0+57d8 <[^>]*> nop ++0+57dc <[^>]*> nop ++0+57e0 <[^>]*> nop ++0+57e4 <[^>]*> nop ++0+57e8 <[^>]*> nop ++0+57ec <[^>]*> nop ++0+57f0 <[^>]*> nop ++0+57f4 <[^>]*> nop ++0+57f8 <[^>]*> nop ++0+57fc <[^>]*> nop ++0+5800 <[^>]*> nop ++0+5804 <[^>]*> nop ++0+5808 <[^>]*> nop ++0+580c <[^>]*> nop ++0+5810 <[^>]*> nop ++0+5814 <[^>]*> nop ++0+5818 <[^>]*> nop ++0+581c <[^>]*> nop ++0+5820 <[^>]*> nop ++0+5824 <[^>]*> nop ++0+5828 <[^>]*> nop ++0+582c <[^>]*> nop ++0+5830 <[^>]*> nop ++0+5834 <[^>]*> nop ++0+5838 <[^>]*> nop ++0+583c <[^>]*> nop ++0+5840 <[^>]*> nop ++0+5844 <[^>]*> nop ++0+5848 <[^>]*> nop ++0+584c <[^>]*> nop ++0+5850 <[^>]*> nop ++0+5854 <[^>]*> nop ++0+5858 <[^>]*> nop ++0+585c <[^>]*> nop ++0+5860 <[^>]*> nop ++0+5864 <[^>]*> nop ++0+5868 <[^>]*> nop ++0+586c <[^>]*> nop ++0+5870 <[^>]*> nop ++0+5874 <[^>]*> nop ++0+5878 <[^>]*> nop ++0+587c <[^>]*> nop ++0+5880 <[^>]*> nop ++0+5884 <[^>]*> nop ++0+5888 <[^>]*> nop ++0+588c <[^>]*> nop ++0+5890 <[^>]*> nop ++0+5894 <[^>]*> nop ++0+5898 <[^>]*> nop ++0+589c <[^>]*> nop ++0+58a0 <[^>]*> nop ++0+58a4 <[^>]*> nop ++0+58a8 <[^>]*> nop ++0+58ac <[^>]*> nop ++0+58b0 <[^>]*> nop ++0+58b4 <[^>]*> nop ++0+58b8 <[^>]*> nop ++0+58bc <[^>]*> nop ++0+58c0 <[^>]*> nop ++0+58c4 <[^>]*> nop ++0+58c8 <[^>]*> nop ++0+58cc <[^>]*> nop ++0+58d0 <[^>]*> nop ++0+58d4 <[^>]*> nop ++0+58d8 <[^>]*> nop ++0+58dc <[^>]*> nop ++0+58e0 <[^>]*> nop ++0+58e4 <[^>]*> nop ++0+58e8 <[^>]*> nop ++0+58ec <[^>]*> nop ++0+58f0 <[^>]*> nop ++0+58f4 <[^>]*> nop ++0+58f8 <[^>]*> nop ++0+58fc <[^>]*> nop ++0+5900 <[^>]*> nop ++0+5904 <[^>]*> nop ++0+5908 <[^>]*> nop ++0+590c <[^>]*> nop ++0+5910 <[^>]*> nop ++0+5914 <[^>]*> nop ++0+5918 <[^>]*> nop ++0+591c <[^>]*> nop ++0+5920 <[^>]*> nop ++0+5924 <[^>]*> nop ++0+5928 <[^>]*> nop ++0+592c <[^>]*> nop ++0+5930 <[^>]*> nop ++0+5934 <[^>]*> nop ++0+5938 <[^>]*> nop ++0+593c <[^>]*> nop ++0+5940 <[^>]*> nop ++0+5944 <[^>]*> nop ++0+5948 <[^>]*> nop ++0+594c <[^>]*> nop ++0+5950 <[^>]*> nop ++0+5954 <[^>]*> nop ++0+5958 <[^>]*> nop ++0+595c <[^>]*> nop ++0+5960 <[^>]*> nop ++0+5964 <[^>]*> nop ++0+5968 <[^>]*> nop ++0+596c <[^>]*> nop ++0+5970 <[^>]*> nop ++0+5974 <[^>]*> nop ++0+5978 <[^>]*> nop ++0+597c <[^>]*> nop ++0+5980 <[^>]*> nop ++0+5984 <[^>]*> nop ++0+5988 <[^>]*> nop ++0+598c <[^>]*> nop ++0+5990 <[^>]*> nop ++0+5994 <[^>]*> nop ++0+5998 <[^>]*> nop ++0+599c <[^>]*> nop ++0+59a0 <[^>]*> nop ++0+59a4 <[^>]*> nop ++0+59a8 <[^>]*> nop ++0+59ac <[^>]*> nop ++0+59b0 <[^>]*> nop ++0+59b4 <[^>]*> nop ++0+59b8 <[^>]*> nop ++0+59bc <[^>]*> nop ++0+59c0 <[^>]*> nop ++0+59c4 <[^>]*> nop ++0+59c8 <[^>]*> nop ++0+59cc <[^>]*> nop ++0+59d0 <[^>]*> nop ++0+59d4 <[^>]*> nop ++0+59d8 <[^>]*> nop ++0+59dc <[^>]*> nop ++0+59e0 <[^>]*> nop ++0+59e4 <[^>]*> nop ++0+59e8 <[^>]*> nop ++0+59ec <[^>]*> nop ++0+59f0 <[^>]*> nop ++0+59f4 <[^>]*> nop ++0+59f8 <[^>]*> nop ++0+59fc <[^>]*> nop ++0+5a00 <[^>]*> nop ++0+5a04 <[^>]*> nop ++0+5a08 <[^>]*> nop ++0+5a0c <[^>]*> nop ++0+5a10 <[^>]*> nop ++0+5a14 <[^>]*> nop ++0+5a18 <[^>]*> nop ++0+5a1c <[^>]*> nop ++0+5a20 <[^>]*> nop ++0+5a24 <[^>]*> nop ++0+5a28 <[^>]*> nop ++0+5a2c <[^>]*> nop ++0+5a30 <[^>]*> nop ++0+5a34 <[^>]*> nop ++0+5a38 <[^>]*> nop ++0+5a3c <[^>]*> nop ++0+5a40 <[^>]*> nop ++0+5a44 <[^>]*> nop ++0+5a48 <[^>]*> nop ++0+5a4c <[^>]*> nop ++0+5a50 <[^>]*> nop ++0+5a54 <[^>]*> nop ++0+5a58 <[^>]*> nop ++0+5a5c <[^>]*> nop ++0+5a60 <[^>]*> nop ++0+5a64 <[^>]*> nop ++0+5a68 <[^>]*> nop ++0+5a6c <[^>]*> nop ++0+5a70 <[^>]*> nop ++0+5a74 <[^>]*> nop ++0+5a78 <[^>]*> nop ++0+5a7c <[^>]*> nop ++0+5a80 <[^>]*> nop ++0+5a84 <[^>]*> nop ++0+5a88 <[^>]*> nop ++0+5a8c <[^>]*> nop ++0+5a90 <[^>]*> nop ++0+5a94 <[^>]*> nop ++0+5a98 <[^>]*> nop ++0+5a9c <[^>]*> nop ++0+5aa0 <[^>]*> nop ++0+5aa4 <[^>]*> nop ++0+5aa8 <[^>]*> nop ++0+5aac <[^>]*> nop ++0+5ab0 <[^>]*> nop ++0+5ab4 <[^>]*> nop ++0+5ab8 <[^>]*> nop ++0+5abc <[^>]*> nop ++0+5ac0 <[^>]*> nop ++0+5ac4 <[^>]*> nop ++0+5ac8 <[^>]*> nop ++0+5acc <[^>]*> nop ++0+5ad0 <[^>]*> nop ++0+5ad4 <[^>]*> nop ++0+5ad8 <[^>]*> nop ++0+5adc <[^>]*> nop ++0+5ae0 <[^>]*> nop ++0+5ae4 <[^>]*> nop ++0+5ae8 <[^>]*> nop ++0+5aec <[^>]*> nop ++0+5af0 <[^>]*> nop ++0+5af4 <[^>]*> nop ++0+5af8 <[^>]*> nop ++0+5afc <[^>]*> nop ++0+5b00 <[^>]*> nop ++0+5b04 <[^>]*> nop ++0+5b08 <[^>]*> nop ++0+5b0c <[^>]*> nop ++0+5b10 <[^>]*> nop ++0+5b14 <[^>]*> nop ++0+5b18 <[^>]*> nop ++0+5b1c <[^>]*> nop ++0+5b20 <[^>]*> nop ++0+5b24 <[^>]*> nop ++0+5b28 <[^>]*> nop ++0+5b2c <[^>]*> nop ++0+5b30 <[^>]*> nop ++0+5b34 <[^>]*> nop ++0+5b38 <[^>]*> nop ++0+5b3c <[^>]*> nop ++0+5b40 <[^>]*> nop ++0+5b44 <[^>]*> nop ++0+5b48 <[^>]*> nop ++0+5b4c <[^>]*> nop ++0+5b50 <[^>]*> nop ++0+5b54 <[^>]*> nop ++0+5b58 <[^>]*> nop ++0+5b5c <[^>]*> nop ++0+5b60 <[^>]*> nop ++0+5b64 <[^>]*> nop ++0+5b68 <[^>]*> nop ++0+5b6c <[^>]*> nop ++0+5b70 <[^>]*> nop ++0+5b74 <[^>]*> nop ++0+5b78 <[^>]*> nop ++0+5b7c <[^>]*> nop ++0+5b80 <[^>]*> nop ++0+5b84 <[^>]*> nop ++0+5b88 <[^>]*> nop ++0+5b8c <[^>]*> nop ++0+5b90 <[^>]*> nop ++0+5b94 <[^>]*> nop ++0+5b98 <[^>]*> nop ++0+5b9c <[^>]*> nop ++0+5ba0 <[^>]*> nop ++0+5ba4 <[^>]*> nop ++0+5ba8 <[^>]*> nop ++0+5bac <[^>]*> nop ++0+5bb0 <[^>]*> nop ++0+5bb4 <[^>]*> nop ++0+5bb8 <[^>]*> nop ++0+5bbc <[^>]*> nop ++0+5bc0 <[^>]*> nop ++0+5bc4 <[^>]*> nop ++0+5bc8 <[^>]*> nop ++0+5bcc <[^>]*> nop ++0+5bd0 <[^>]*> nop ++0+5bd4 <[^>]*> nop ++0+5bd8 <[^>]*> nop ++0+5bdc <[^>]*> nop ++0+5be0 <[^>]*> nop ++0+5be4 <[^>]*> nop ++0+5be8 <[^>]*> nop ++0+5bec <[^>]*> nop ++0+5bf0 <[^>]*> nop ++0+5bf4 <[^>]*> nop ++0+5bf8 <[^>]*> nop ++0+5bfc <[^>]*> nop ++0+5c00 <[^>]*> nop ++0+5c04 <[^>]*> nop ++0+5c08 <[^>]*> nop ++0+5c0c <[^>]*> nop ++0+5c10 <[^>]*> nop ++0+5c14 <[^>]*> nop ++0+5c18 <[^>]*> nop ++0+5c1c <[^>]*> nop ++0+5c20 <[^>]*> nop ++0+5c24 <[^>]*> nop ++0+5c28 <[^>]*> nop ++0+5c2c <[^>]*> nop ++0+5c30 <[^>]*> nop ++0+5c34 <[^>]*> nop ++0+5c38 <[^>]*> nop ++0+5c3c <[^>]*> nop ++0+5c40 <[^>]*> nop ++0+5c44 <[^>]*> nop ++0+5c48 <[^>]*> nop ++0+5c4c <[^>]*> nop ++0+5c50 <[^>]*> nop ++0+5c54 <[^>]*> nop ++0+5c58 <[^>]*> nop ++0+5c5c <[^>]*> nop ++0+5c60 <[^>]*> nop ++0+5c64 <[^>]*> nop ++0+5c68 <[^>]*> nop ++0+5c6c <[^>]*> nop ++0+5c70 <[^>]*> nop ++0+5c74 <[^>]*> nop ++0+5c78 <[^>]*> nop ++0+5c7c <[^>]*> nop ++0+5c80 <[^>]*> nop ++0+5c84 <[^>]*> nop ++0+5c88 <[^>]*> nop ++0+5c8c <[^>]*> nop ++0+5c90 <[^>]*> nop ++0+5c94 <[^>]*> nop ++0+5c98 <[^>]*> nop ++0+5c9c <[^>]*> nop ++0+5ca0 <[^>]*> nop ++0+5ca4 <[^>]*> nop ++0+5ca8 <[^>]*> nop ++0+5cac <[^>]*> nop ++0+5cb0 <[^>]*> nop ++0+5cb4 <[^>]*> nop ++0+5cb8 <[^>]*> nop ++0+5cbc <[^>]*> nop ++0+5cc0 <[^>]*> nop ++0+5cc4 <[^>]*> nop ++0+5cc8 <[^>]*> nop ++0+5ccc <[^>]*> nop ++0+5cd0 <[^>]*> nop ++0+5cd4 <[^>]*> nop ++0+5cd8 <[^>]*> nop ++0+5cdc <[^>]*> nop ++0+5ce0 <[^>]*> nop ++0+5ce4 <[^>]*> nop ++0+5ce8 <[^>]*> nop ++0+5cec <[^>]*> nop ++0+5cf0 <[^>]*> nop ++0+5cf4 <[^>]*> nop ++0+5cf8 <[^>]*> nop ++0+5cfc <[^>]*> nop ++0+5d00 <[^>]*> nop ++0+5d04 <[^>]*> nop ++0+5d08 <[^>]*> nop ++0+5d0c <[^>]*> nop ++0+5d10 <[^>]*> nop ++0+5d14 <[^>]*> nop ++0+5d18 <[^>]*> nop ++0+5d1c <[^>]*> nop ++0+5d20 <[^>]*> nop ++0+5d24 <[^>]*> nop ++0+5d28 <[^>]*> nop ++0+5d2c <[^>]*> nop ++0+5d30 <[^>]*> nop ++0+5d34 <[^>]*> nop ++0+5d38 <[^>]*> nop ++0+5d3c <[^>]*> nop ++0+5d40 <[^>]*> nop ++0+5d44 <[^>]*> nop ++0+5d48 <[^>]*> nop ++0+5d4c <[^>]*> nop ++0+5d50 <[^>]*> nop ++0+5d54 <[^>]*> nop ++0+5d58 <[^>]*> nop ++0+5d5c <[^>]*> nop ++0+5d60 <[^>]*> nop ++0+5d64 <[^>]*> nop ++0+5d68 <[^>]*> nop ++0+5d6c <[^>]*> nop ++0+5d70 <[^>]*> nop ++0+5d74 <[^>]*> nop ++0+5d78 <[^>]*> nop ++0+5d7c <[^>]*> nop ++0+5d80 <[^>]*> nop ++0+5d84 <[^>]*> nop ++0+5d88 <[^>]*> nop ++0+5d8c <[^>]*> nop ++0+5d90 <[^>]*> nop ++0+5d94 <[^>]*> nop ++0+5d98 <[^>]*> nop ++0+5d9c <[^>]*> nop ++0+5da0 <[^>]*> nop ++0+5da4 <[^>]*> nop ++0+5da8 <[^>]*> nop ++0+5dac <[^>]*> nop ++0+5db0 <[^>]*> nop ++0+5db4 <[^>]*> nop ++0+5db8 <[^>]*> nop ++0+5dbc <[^>]*> nop ++0+5dc0 <[^>]*> nop ++0+5dc4 <[^>]*> nop ++0+5dc8 <[^>]*> nop ++0+5dcc <[^>]*> nop ++0+5dd0 <[^>]*> nop ++0+5dd4 <[^>]*> nop ++0+5dd8 <[^>]*> nop ++0+5ddc <[^>]*> nop ++0+5de0 <[^>]*> nop ++0+5de4 <[^>]*> nop ++0+5de8 <[^>]*> nop ++0+5dec <[^>]*> nop ++0+5df0 <[^>]*> nop ++0+5df4 <[^>]*> nop ++0+5df8 <[^>]*> nop ++0+5dfc <[^>]*> nop ++0+5e00 <[^>]*> nop ++0+5e04 <[^>]*> nop ++0+5e08 <[^>]*> nop ++0+5e0c <[^>]*> nop ++0+5e10 <[^>]*> nop ++0+5e14 <[^>]*> nop ++0+5e18 <[^>]*> nop ++0+5e1c <[^>]*> nop ++0+5e20 <[^>]*> nop ++0+5e24 <[^>]*> nop ++0+5e28 <[^>]*> nop ++0+5e2c <[^>]*> nop ++0+5e30 <[^>]*> nop ++0+5e34 <[^>]*> nop ++0+5e38 <[^>]*> nop ++0+5e3c <[^>]*> nop ++0+5e40 <[^>]*> nop ++0+5e44 <[^>]*> nop ++0+5e48 <[^>]*> nop ++0+5e4c <[^>]*> nop ++0+5e50 <[^>]*> nop ++0+5e54 <[^>]*> nop ++0+5e58 <[^>]*> nop ++0+5e5c <[^>]*> nop ++0+5e60 <[^>]*> nop ++0+5e64 <[^>]*> nop ++0+5e68 <[^>]*> nop ++0+5e6c <[^>]*> nop ++0+5e70 <[^>]*> nop ++0+5e74 <[^>]*> nop ++0+5e78 <[^>]*> nop ++0+5e7c <[^>]*> nop ++0+5e80 <[^>]*> nop ++0+5e84 <[^>]*> nop ++0+5e88 <[^>]*> nop ++0+5e8c <[^>]*> nop ++0+5e90 <[^>]*> nop ++0+5e94 <[^>]*> nop ++0+5e98 <[^>]*> nop ++0+5e9c <[^>]*> nop ++0+5ea0 <[^>]*> nop ++0+5ea4 <[^>]*> nop ++0+5ea8 <[^>]*> nop ++0+5eac <[^>]*> nop ++0+5eb0 <[^>]*> nop ++0+5eb4 <[^>]*> nop ++0+5eb8 <[^>]*> nop ++0+5ebc <[^>]*> nop ++0+5ec0 <[^>]*> nop ++0+5ec4 <[^>]*> nop ++0+5ec8 <[^>]*> nop ++0+5ecc <[^>]*> nop ++0+5ed0 <[^>]*> nop ++0+5ed4 <[^>]*> nop ++0+5ed8 <[^>]*> nop ++0+5edc <[^>]*> nop ++0+5ee0 <[^>]*> nop ++0+5ee4 <[^>]*> nop ++0+5ee8 <[^>]*> nop ++0+5eec <[^>]*> nop ++0+5ef0 <[^>]*> nop ++0+5ef4 <[^>]*> nop ++0+5ef8 <[^>]*> nop ++0+5efc <[^>]*> nop ++0+5f00 <[^>]*> nop ++0+5f04 <[^>]*> nop ++0+5f08 <[^>]*> nop ++0+5f0c <[^>]*> nop ++0+5f10 <[^>]*> nop ++0+5f14 <[^>]*> nop ++0+5f18 <[^>]*> nop ++0+5f1c <[^>]*> nop ++0+5f20 <[^>]*> nop ++0+5f24 <[^>]*> nop ++0+5f28 <[^>]*> nop ++0+5f2c <[^>]*> nop ++0+5f30 <[^>]*> nop ++0+5f34 <[^>]*> nop ++0+5f38 <[^>]*> nop ++0+5f3c <[^>]*> nop ++0+5f40 <[^>]*> nop ++0+5f44 <[^>]*> nop ++0+5f48 <[^>]*> nop ++0+5f4c <[^>]*> nop ++0+5f50 <[^>]*> nop ++0+5f54 <[^>]*> nop ++0+5f58 <[^>]*> nop ++0+5f5c <[^>]*> nop ++0+5f60 <[^>]*> nop ++0+5f64 <[^>]*> nop ++0+5f68 <[^>]*> nop ++0+5f6c <[^>]*> nop ++0+5f70 <[^>]*> nop ++0+5f74 <[^>]*> nop ++0+5f78 <[^>]*> nop ++0+5f7c <[^>]*> nop ++0+5f80 <[^>]*> nop ++0+5f84 <[^>]*> nop ++0+5f88 <[^>]*> nop ++0+5f8c <[^>]*> nop ++0+5f90 <[^>]*> nop ++0+5f94 <[^>]*> nop ++0+5f98 <[^>]*> nop ++0+5f9c <[^>]*> nop ++0+5fa0 <[^>]*> nop ++0+5fa4 <[^>]*> nop ++0+5fa8 <[^>]*> nop ++0+5fac <[^>]*> nop ++0+5fb0 <[^>]*> nop ++0+5fb4 <[^>]*> nop ++0+5fb8 <[^>]*> nop ++0+5fbc <[^>]*> nop ++0+5fc0 <[^>]*> nop ++0+5fc4 <[^>]*> nop ++0+5fc8 <[^>]*> nop ++0+5fcc <[^>]*> nop ++0+5fd0 <[^>]*> nop ++0+5fd4 <[^>]*> nop ++0+5fd8 <[^>]*> nop ++0+5fdc <[^>]*> nop ++0+5fe0 <[^>]*> nop ++0+5fe4 <[^>]*> nop ++0+5fe8 <[^>]*> nop ++0+5fec <[^>]*> nop ++0+5ff0 <[^>]*> nop ++0+5ff4 <[^>]*> nop ++0+5ff8 <[^>]*> nop ++0+5ffc <[^>]*> nop ++0+6000 <[^>]*> nop ++0+6004 <[^>]*> nop ++0+6008 <[^>]*> nop ++0+600c <[^>]*> nop ++0+6010 <[^>]*> nop ++0+6014 <[^>]*> nop ++0+6018 <[^>]*> nop ++0+601c <[^>]*> nop ++0+6020 <[^>]*> nop ++0+6024 <[^>]*> nop ++0+6028 <[^>]*> nop ++0+602c <[^>]*> nop ++0+6030 <[^>]*> nop ++0+6034 <[^>]*> nop ++0+6038 <[^>]*> nop ++0+603c <[^>]*> nop ++0+6040 <[^>]*> nop ++0+6044 <[^>]*> nop ++0+6048 <[^>]*> nop ++0+604c <[^>]*> nop ++0+6050 <[^>]*> nop ++0+6054 <[^>]*> nop ++0+6058 <[^>]*> nop ++0+605c <[^>]*> nop ++0+6060 <[^>]*> nop ++0+6064 <[^>]*> nop ++0+6068 <[^>]*> nop ++0+606c <[^>]*> nop ++0+6070 <[^>]*> nop ++0+6074 <[^>]*> nop ++0+6078 <[^>]*> nop ++0+607c <[^>]*> nop ++0+6080 <[^>]*> nop ++0+6084 <[^>]*> nop ++0+6088 <[^>]*> nop ++0+608c <[^>]*> nop ++0+6090 <[^>]*> nop ++0+6094 <[^>]*> nop ++0+6098 <[^>]*> nop ++0+609c <[^>]*> nop ++0+60a0 <[^>]*> nop ++0+60a4 <[^>]*> nop ++0+60a8 <[^>]*> nop ++0+60ac <[^>]*> nop ++0+60b0 <[^>]*> nop ++0+60b4 <[^>]*> nop ++0+60b8 <[^>]*> nop ++0+60bc <[^>]*> nop ++0+60c0 <[^>]*> nop ++0+60c4 <[^>]*> nop ++0+60c8 <[^>]*> nop ++0+60cc <[^>]*> nop ++0+60d0 <[^>]*> nop ++0+60d4 <[^>]*> nop ++0+60d8 <[^>]*> nop ++0+60dc <[^>]*> nop ++0+60e0 <[^>]*> nop ++0+60e4 <[^>]*> nop ++0+60e8 <[^>]*> nop ++0+60ec <[^>]*> nop ++0+60f0 <[^>]*> nop ++0+60f4 <[^>]*> nop ++0+60f8 <[^>]*> nop ++0+60fc <[^>]*> nop ++0+6100 <[^>]*> nop ++0+6104 <[^>]*> nop ++0+6108 <[^>]*> nop ++0+610c <[^>]*> nop ++0+6110 <[^>]*> nop ++0+6114 <[^>]*> nop ++0+6118 <[^>]*> nop ++0+611c <[^>]*> nop ++0+6120 <[^>]*> nop ++0+6124 <[^>]*> nop ++0+6128 <[^>]*> nop ++0+612c <[^>]*> nop ++0+6130 <[^>]*> nop ++0+6134 <[^>]*> nop ++0+6138 <[^>]*> nop ++0+613c <[^>]*> nop ++0+6140 <[^>]*> nop ++0+6144 <[^>]*> nop ++0+6148 <[^>]*> nop ++0+614c <[^>]*> nop ++0+6150 <[^>]*> nop ++0+6154 <[^>]*> nop ++0+6158 <[^>]*> nop ++0+615c <[^>]*> nop ++0+6160 <[^>]*> nop ++0+6164 <[^>]*> nop ++0+6168 <[^>]*> nop ++0+616c <[^>]*> nop ++0+6170 <[^>]*> nop ++0+6174 <[^>]*> nop ++0+6178 <[^>]*> nop ++0+617c <[^>]*> nop ++0+6180 <[^>]*> nop ++0+6184 <[^>]*> nop ++0+6188 <[^>]*> nop ++0+618c <[^>]*> nop ++0+6190 <[^>]*> nop ++0+6194 <[^>]*> nop ++0+6198 <[^>]*> nop ++0+619c <[^>]*> nop ++0+61a0 <[^>]*> nop ++0+61a4 <[^>]*> nop ++0+61a8 <[^>]*> nop ++0+61ac <[^>]*> nop ++0+61b0 <[^>]*> nop ++0+61b4 <[^>]*> nop ++0+61b8 <[^>]*> nop ++0+61bc <[^>]*> nop ++0+61c0 <[^>]*> nop ++0+61c4 <[^>]*> nop ++0+61c8 <[^>]*> nop ++0+61cc <[^>]*> nop ++0+61d0 <[^>]*> nop ++0+61d4 <[^>]*> nop ++0+61d8 <[^>]*> nop ++0+61dc <[^>]*> nop ++0+61e0 <[^>]*> nop ++0+61e4 <[^>]*> nop ++0+61e8 <[^>]*> nop ++0+61ec <[^>]*> nop ++0+61f0 <[^>]*> nop ++0+61f4 <[^>]*> nop ++0+61f8 <[^>]*> nop ++0+61fc <[^>]*> nop ++0+6200 <[^>]*> nop ++0+6204 <[^>]*> nop ++0+6208 <[^>]*> nop ++0+620c <[^>]*> nop ++0+6210 <[^>]*> nop ++0+6214 <[^>]*> nop ++0+6218 <[^>]*> nop ++0+621c <[^>]*> nop ++0+6220 <[^>]*> nop ++0+6224 <[^>]*> nop ++0+6228 <[^>]*> nop ++0+622c <[^>]*> nop ++0+6230 <[^>]*> nop ++0+6234 <[^>]*> nop ++0+6238 <[^>]*> nop ++0+623c <[^>]*> nop ++0+6240 <[^>]*> nop ++0+6244 <[^>]*> nop ++0+6248 <[^>]*> nop ++0+624c <[^>]*> nop ++0+6250 <[^>]*> nop ++0+6254 <[^>]*> nop ++0+6258 <[^>]*> nop ++0+625c <[^>]*> nop ++0+6260 <[^>]*> nop ++0+6264 <[^>]*> nop ++0+6268 <[^>]*> nop ++0+626c <[^>]*> nop ++0+6270 <[^>]*> nop ++0+6274 <[^>]*> nop ++0+6278 <[^>]*> nop ++0+627c <[^>]*> nop ++0+6280 <[^>]*> nop ++0+6284 <[^>]*> nop ++0+6288 <[^>]*> nop ++0+628c <[^>]*> nop ++0+6290 <[^>]*> nop ++0+6294 <[^>]*> nop ++0+6298 <[^>]*> nop ++0+629c <[^>]*> nop ++0+62a0 <[^>]*> nop ++0+62a4 <[^>]*> nop ++0+62a8 <[^>]*> nop ++0+62ac <[^>]*> nop ++0+62b0 <[^>]*> nop ++0+62b4 <[^>]*> nop ++0+62b8 <[^>]*> nop ++0+62bc <[^>]*> nop ++0+62c0 <[^>]*> nop ++0+62c4 <[^>]*> nop ++0+62c8 <[^>]*> nop ++0+62cc <[^>]*> nop ++0+62d0 <[^>]*> nop ++0+62d4 <[^>]*> nop ++0+62d8 <[^>]*> nop ++0+62dc <[^>]*> nop ++0+62e0 <[^>]*> nop ++0+62e4 <[^>]*> nop ++0+62e8 <[^>]*> nop ++0+62ec <[^>]*> nop ++0+62f0 <[^>]*> nop ++0+62f4 <[^>]*> nop ++0+62f8 <[^>]*> nop ++0+62fc <[^>]*> nop ++0+6300 <[^>]*> nop ++0+6304 <[^>]*> nop ++0+6308 <[^>]*> nop ++0+630c <[^>]*> nop ++0+6310 <[^>]*> nop ++0+6314 <[^>]*> nop ++0+6318 <[^>]*> nop ++0+631c <[^>]*> nop ++0+6320 <[^>]*> nop ++0+6324 <[^>]*> nop ++0+6328 <[^>]*> nop ++0+632c <[^>]*> nop ++0+6330 <[^>]*> nop ++0+6334 <[^>]*> nop ++0+6338 <[^>]*> nop ++0+633c <[^>]*> nop ++0+6340 <[^>]*> nop ++0+6344 <[^>]*> nop ++0+6348 <[^>]*> nop ++0+634c <[^>]*> nop ++0+6350 <[^>]*> nop ++0+6354 <[^>]*> nop ++0+6358 <[^>]*> nop ++0+635c <[^>]*> nop ++0+6360 <[^>]*> nop ++0+6364 <[^>]*> nop ++0+6368 <[^>]*> nop ++0+636c <[^>]*> nop ++0+6370 <[^>]*> nop ++0+6374 <[^>]*> nop ++0+6378 <[^>]*> nop ++0+637c <[^>]*> nop ++0+6380 <[^>]*> nop ++0+6384 <[^>]*> nop ++0+6388 <[^>]*> nop ++0+638c <[^>]*> nop ++0+6390 <[^>]*> nop ++0+6394 <[^>]*> nop ++0+6398 <[^>]*> nop ++0+639c <[^>]*> nop ++0+63a0 <[^>]*> nop ++0+63a4 <[^>]*> nop ++0+63a8 <[^>]*> nop ++0+63ac <[^>]*> nop ++0+63b0 <[^>]*> nop ++0+63b4 <[^>]*> nop ++0+63b8 <[^>]*> nop ++0+63bc <[^>]*> nop ++0+63c0 <[^>]*> nop ++0+63c4 <[^>]*> nop ++0+63c8 <[^>]*> nop ++0+63cc <[^>]*> nop ++0+63d0 <[^>]*> nop ++0+63d4 <[^>]*> nop ++0+63d8 <[^>]*> nop ++0+63dc <[^>]*> nop ++0+63e0 <[^>]*> nop ++0+63e4 <[^>]*> nop ++0+63e8 <[^>]*> nop ++0+63ec <[^>]*> nop ++0+63f0 <[^>]*> nop ++0+63f4 <[^>]*> nop ++0+63f8 <[^>]*> nop ++0+63fc <[^>]*> nop ++0+6400 <[^>]*> nop ++0+6404 <[^>]*> nop ++0+6408 <[^>]*> nop ++0+640c <[^>]*> nop ++0+6410 <[^>]*> nop ++0+6414 <[^>]*> nop ++0+6418 <[^>]*> nop ++0+641c <[^>]*> nop ++0+6420 <[^>]*> nop ++0+6424 <[^>]*> nop ++0+6428 <[^>]*> nop ++0+642c <[^>]*> nop ++0+6430 <[^>]*> nop ++0+6434 <[^>]*> nop ++0+6438 <[^>]*> nop ++0+643c <[^>]*> nop ++0+6440 <[^>]*> nop ++0+6444 <[^>]*> nop ++0+6448 <[^>]*> nop ++0+644c <[^>]*> nop ++0+6450 <[^>]*> nop ++0+6454 <[^>]*> nop ++0+6458 <[^>]*> nop ++0+645c <[^>]*> nop ++0+6460 <[^>]*> nop ++0+6464 <[^>]*> nop ++0+6468 <[^>]*> nop ++0+646c <[^>]*> nop ++0+6470 <[^>]*> nop ++0+6474 <[^>]*> nop ++0+6478 <[^>]*> nop ++0+647c <[^>]*> nop ++0+6480 <[^>]*> nop ++0+6484 <[^>]*> nop ++0+6488 <[^>]*> nop ++0+648c <[^>]*> nop ++0+6490 <[^>]*> nop ++0+6494 <[^>]*> nop ++0+6498 <[^>]*> nop ++0+649c <[^>]*> nop ++0+64a0 <[^>]*> nop ++0+64a4 <[^>]*> nop ++0+64a8 <[^>]*> nop ++0+64ac <[^>]*> nop ++0+64b0 <[^>]*> nop ++0+64b4 <[^>]*> nop ++0+64b8 <[^>]*> nop ++0+64bc <[^>]*> nop ++0+64c0 <[^>]*> nop ++0+64c4 <[^>]*> nop ++0+64c8 <[^>]*> nop ++0+64cc <[^>]*> nop ++0+64d0 <[^>]*> nop ++0+64d4 <[^>]*> nop ++0+64d8 <[^>]*> nop ++0+64dc <[^>]*> nop ++0+64e0 <[^>]*> nop ++0+64e4 <[^>]*> nop ++0+64e8 <[^>]*> nop ++0+64ec <[^>]*> nop ++0+64f0 <[^>]*> nop ++0+64f4 <[^>]*> nop ++0+64f8 <[^>]*> nop ++0+64fc <[^>]*> nop ++0+6500 <[^>]*> nop ++0+6504 <[^>]*> nop ++0+6508 <[^>]*> nop ++0+650c <[^>]*> nop ++0+6510 <[^>]*> nop ++0+6514 <[^>]*> nop ++0+6518 <[^>]*> nop ++0+651c <[^>]*> nop ++0+6520 <[^>]*> nop ++0+6524 <[^>]*> nop ++0+6528 <[^>]*> nop ++0+652c <[^>]*> nop ++0+6530 <[^>]*> nop ++0+6534 <[^>]*> nop ++0+6538 <[^>]*> nop ++0+653c <[^>]*> nop ++0+6540 <[^>]*> nop ++0+6544 <[^>]*> nop ++0+6548 <[^>]*> nop ++0+654c <[^>]*> nop ++0+6550 <[^>]*> nop ++0+6554 <[^>]*> nop ++0+6558 <[^>]*> nop ++0+655c <[^>]*> nop ++0+6560 <[^>]*> nop ++0+6564 <[^>]*> nop ++0+6568 <[^>]*> nop ++0+656c <[^>]*> nop ++0+6570 <[^>]*> nop ++0+6574 <[^>]*> nop ++0+6578 <[^>]*> nop ++0+657c <[^>]*> nop ++0+6580 <[^>]*> nop ++0+6584 <[^>]*> nop ++0+6588 <[^>]*> nop ++0+658c <[^>]*> nop ++0+6590 <[^>]*> nop ++0+6594 <[^>]*> nop ++0+6598 <[^>]*> nop ++0+659c <[^>]*> nop ++0+65a0 <[^>]*> nop ++0+65a4 <[^>]*> nop ++0+65a8 <[^>]*> nop ++0+65ac <[^>]*> nop ++0+65b0 <[^>]*> nop ++0+65b4 <[^>]*> nop ++0+65b8 <[^>]*> nop ++0+65bc <[^>]*> nop ++0+65c0 <[^>]*> nop ++0+65c4 <[^>]*> nop ++0+65c8 <[^>]*> nop ++0+65cc <[^>]*> nop ++0+65d0 <[^>]*> nop ++0+65d4 <[^>]*> nop ++0+65d8 <[^>]*> nop ++0+65dc <[^>]*> nop ++0+65e0 <[^>]*> nop ++0+65e4 <[^>]*> nop ++0+65e8 <[^>]*> nop ++0+65ec <[^>]*> nop ++0+65f0 <[^>]*> nop ++0+65f4 <[^>]*> nop ++0+65f8 <[^>]*> nop ++0+65fc <[^>]*> nop ++0+6600 <[^>]*> nop ++0+6604 <[^>]*> nop ++0+6608 <[^>]*> nop ++0+660c <[^>]*> nop ++0+6610 <[^>]*> nop ++0+6614 <[^>]*> nop ++0+6618 <[^>]*> nop ++0+661c <[^>]*> nop ++0+6620 <[^>]*> nop ++0+6624 <[^>]*> nop ++0+6628 <[^>]*> nop ++0+662c <[^>]*> nop ++0+6630 <[^>]*> nop ++0+6634 <[^>]*> nop ++0+6638 <[^>]*> nop ++0+663c <[^>]*> nop ++0+6640 <[^>]*> nop ++0+6644 <[^>]*> nop ++0+6648 <[^>]*> nop ++0+664c <[^>]*> nop ++0+6650 <[^>]*> nop ++0+6654 <[^>]*> nop ++0+6658 <[^>]*> nop ++0+665c <[^>]*> nop ++0+6660 <[^>]*> nop ++0+6664 <[^>]*> nop ++0+6668 <[^>]*> nop ++0+666c <[^>]*> nop ++0+6670 <[^>]*> nop ++0+6674 <[^>]*> nop ++0+6678 <[^>]*> nop ++0+667c <[^>]*> nop ++0+6680 <[^>]*> nop ++0+6684 <[^>]*> nop ++0+6688 <[^>]*> nop ++0+668c <[^>]*> nop ++0+6690 <[^>]*> nop ++0+6694 <[^>]*> nop ++0+6698 <[^>]*> nop ++0+669c <[^>]*> nop ++0+66a0 <[^>]*> nop ++0+66a4 <[^>]*> nop ++0+66a8 <[^>]*> nop ++0+66ac <[^>]*> nop ++0+66b0 <[^>]*> nop ++0+66b4 <[^>]*> nop ++0+66b8 <[^>]*> nop ++0+66bc <[^>]*> nop ++0+66c0 <[^>]*> nop ++0+66c4 <[^>]*> nop ++0+66c8 <[^>]*> nop ++0+66cc <[^>]*> nop ++0+66d0 <[^>]*> nop ++0+66d4 <[^>]*> nop ++0+66d8 <[^>]*> nop ++0+66dc <[^>]*> nop ++0+66e0 <[^>]*> nop ++0+66e4 <[^>]*> nop ++0+66e8 <[^>]*> nop ++0+66ec <[^>]*> nop ++0+66f0 <[^>]*> nop ++0+66f4 <[^>]*> nop ++0+66f8 <[^>]*> nop ++0+66fc <[^>]*> nop ++0+6700 <[^>]*> nop ++0+6704 <[^>]*> nop ++0+6708 <[^>]*> nop ++0+670c <[^>]*> nop ++0+6710 <[^>]*> nop ++0+6714 <[^>]*> nop ++0+6718 <[^>]*> nop ++0+671c <[^>]*> nop ++0+6720 <[^>]*> nop ++0+6724 <[^>]*> nop ++0+6728 <[^>]*> nop ++0+672c <[^>]*> nop ++0+6730 <[^>]*> nop ++0+6734 <[^>]*> nop ++0+6738 <[^>]*> nop ++0+673c <[^>]*> nop ++0+6740 <[^>]*> nop ++0+6744 <[^>]*> nop ++0+6748 <[^>]*> nop ++0+674c <[^>]*> nop ++0+6750 <[^>]*> nop ++0+6754 <[^>]*> nop ++0+6758 <[^>]*> nop ++0+675c <[^>]*> nop ++0+6760 <[^>]*> nop ++0+6764 <[^>]*> nop ++0+6768 <[^>]*> nop ++0+676c <[^>]*> nop ++0+6770 <[^>]*> nop ++0+6774 <[^>]*> nop ++0+6778 <[^>]*> nop ++0+677c <[^>]*> nop ++0+6780 <[^>]*> nop ++0+6784 <[^>]*> nop ++0+6788 <[^>]*> nop ++0+678c <[^>]*> nop ++0+6790 <[^>]*> nop ++0+6794 <[^>]*> nop ++0+6798 <[^>]*> nop ++0+679c <[^>]*> nop ++0+67a0 <[^>]*> nop ++0+67a4 <[^>]*> nop ++0+67a8 <[^>]*> nop ++0+67ac <[^>]*> nop ++0+67b0 <[^>]*> nop ++0+67b4 <[^>]*> nop ++0+67b8 <[^>]*> nop ++0+67bc <[^>]*> nop ++0+67c0 <[^>]*> nop ++0+67c4 <[^>]*> nop ++0+67c8 <[^>]*> nop ++0+67cc <[^>]*> nop ++0+67d0 <[^>]*> nop ++0+67d4 <[^>]*> nop ++0+67d8 <[^>]*> nop ++0+67dc <[^>]*> nop ++0+67e0 <[^>]*> nop ++0+67e4 <[^>]*> nop ++0+67e8 <[^>]*> nop ++0+67ec <[^>]*> nop ++0+67f0 <[^>]*> nop ++0+67f4 <[^>]*> nop ++0+67f8 <[^>]*> nop ++0+67fc <[^>]*> nop ++0+6800 <[^>]*> nop ++0+6804 <[^>]*> nop ++0+6808 <[^>]*> nop ++0+680c <[^>]*> nop ++0+6810 <[^>]*> nop ++0+6814 <[^>]*> nop ++0+6818 <[^>]*> nop ++0+681c <[^>]*> nop ++0+6820 <[^>]*> nop ++0+6824 <[^>]*> nop ++0+6828 <[^>]*> nop ++0+682c <[^>]*> nop ++0+6830 <[^>]*> nop ++0+6834 <[^>]*> nop ++0+6838 <[^>]*> nop ++0+683c <[^>]*> nop ++0+6840 <[^>]*> nop ++0+6844 <[^>]*> nop ++0+6848 <[^>]*> nop ++0+684c <[^>]*> nop ++0+6850 <[^>]*> nop ++0+6854 <[^>]*> nop ++0+6858 <[^>]*> nop ++0+685c <[^>]*> nop ++0+6860 <[^>]*> nop ++0+6864 <[^>]*> nop ++0+6868 <[^>]*> nop ++0+686c <[^>]*> nop ++0+6870 <[^>]*> nop ++0+6874 <[^>]*> nop ++0+6878 <[^>]*> nop ++0+687c <[^>]*> nop ++0+6880 <[^>]*> nop ++0+6884 <[^>]*> nop ++0+6888 <[^>]*> nop ++0+688c <[^>]*> nop ++0+6890 <[^>]*> nop ++0+6894 <[^>]*> nop ++0+6898 <[^>]*> nop ++0+689c <[^>]*> nop ++0+68a0 <[^>]*> nop ++0+68a4 <[^>]*> nop ++0+68a8 <[^>]*> nop ++0+68ac <[^>]*> nop ++0+68b0 <[^>]*> nop ++0+68b4 <[^>]*> nop ++0+68b8 <[^>]*> nop ++0+68bc <[^>]*> nop ++0+68c0 <[^>]*> nop ++0+68c4 <[^>]*> nop ++0+68c8 <[^>]*> nop ++0+68cc <[^>]*> nop ++0+68d0 <[^>]*> nop ++0+68d4 <[^>]*> nop ++0+68d8 <[^>]*> nop ++0+68dc <[^>]*> nop ++0+68e0 <[^>]*> nop ++0+68e4 <[^>]*> nop ++0+68e8 <[^>]*> nop ++0+68ec <[^>]*> nop ++0+68f0 <[^>]*> nop ++0+68f4 <[^>]*> nop ++0+68f8 <[^>]*> nop ++0+68fc <[^>]*> nop ++0+6900 <[^>]*> nop ++0+6904 <[^>]*> nop ++0+6908 <[^>]*> nop ++0+690c <[^>]*> nop ++0+6910 <[^>]*> nop ++0+6914 <[^>]*> nop ++0+6918 <[^>]*> nop ++0+691c <[^>]*> nop ++0+6920 <[^>]*> nop ++0+6924 <[^>]*> nop ++0+6928 <[^>]*> nop ++0+692c <[^>]*> nop ++0+6930 <[^>]*> nop ++0+6934 <[^>]*> nop ++0+6938 <[^>]*> nop ++0+693c <[^>]*> nop ++0+6940 <[^>]*> nop ++0+6944 <[^>]*> nop ++0+6948 <[^>]*> nop ++0+694c <[^>]*> nop ++0+6950 <[^>]*> nop ++0+6954 <[^>]*> nop ++0+6958 <[^>]*> nop ++0+695c <[^>]*> nop ++0+6960 <[^>]*> nop ++0+6964 <[^>]*> nop ++0+6968 <[^>]*> nop ++0+696c <[^>]*> nop ++0+6970 <[^>]*> nop ++0+6974 <[^>]*> nop ++0+6978 <[^>]*> nop ++0+697c <[^>]*> nop ++0+6980 <[^>]*> nop ++0+6984 <[^>]*> nop ++0+6988 <[^>]*> nop ++0+698c <[^>]*> nop ++0+6990 <[^>]*> nop ++0+6994 <[^>]*> nop ++0+6998 <[^>]*> nop ++0+699c <[^>]*> nop ++0+69a0 <[^>]*> nop ++0+69a4 <[^>]*> nop ++0+69a8 <[^>]*> nop ++0+69ac <[^>]*> nop ++0+69b0 <[^>]*> nop ++0+69b4 <[^>]*> nop ++0+69b8 <[^>]*> nop ++0+69bc <[^>]*> nop ++0+69c0 <[^>]*> nop ++0+69c4 <[^>]*> nop ++0+69c8 <[^>]*> nop ++0+69cc <[^>]*> nop ++0+69d0 <[^>]*> nop ++0+69d4 <[^>]*> nop ++0+69d8 <[^>]*> nop ++0+69dc <[^>]*> nop ++0+69e0 <[^>]*> nop ++0+69e4 <[^>]*> nop ++0+69e8 <[^>]*> nop ++0+69ec <[^>]*> nop ++0+69f0 <[^>]*> nop ++0+69f4 <[^>]*> nop ++0+69f8 <[^>]*> nop ++0+69fc <[^>]*> nop ++0+6a00 <[^>]*> nop ++0+6a04 <[^>]*> nop ++0+6a08 <[^>]*> nop ++0+6a0c <[^>]*> nop ++0+6a10 <[^>]*> nop ++0+6a14 <[^>]*> nop ++0+6a18 <[^>]*> nop ++0+6a1c <[^>]*> nop ++0+6a20 <[^>]*> nop ++0+6a24 <[^>]*> nop ++0+6a28 <[^>]*> nop ++0+6a2c <[^>]*> nop ++0+6a30 <[^>]*> nop ++0+6a34 <[^>]*> nop ++0+6a38 <[^>]*> nop ++0+6a3c <[^>]*> nop ++0+6a40 <[^>]*> nop ++0+6a44 <[^>]*> nop ++0+6a48 <[^>]*> nop ++0+6a4c <[^>]*> nop ++0+6a50 <[^>]*> nop ++0+6a54 <[^>]*> nop ++0+6a58 <[^>]*> nop ++0+6a5c <[^>]*> nop ++0+6a60 <[^>]*> nop ++0+6a64 <[^>]*> nop ++0+6a68 <[^>]*> nop ++0+6a6c <[^>]*> nop ++0+6a70 <[^>]*> nop ++0+6a74 <[^>]*> nop ++0+6a78 <[^>]*> nop ++0+6a7c <[^>]*> nop ++0+6a80 <[^>]*> nop ++0+6a84 <[^>]*> nop ++0+6a88 <[^>]*> nop ++0+6a8c <[^>]*> nop ++0+6a90 <[^>]*> nop ++0+6a94 <[^>]*> nop ++0+6a98 <[^>]*> nop ++0+6a9c <[^>]*> nop ++0+6aa0 <[^>]*> nop ++0+6aa4 <[^>]*> nop ++0+6aa8 <[^>]*> nop ++0+6aac <[^>]*> nop ++0+6ab0 <[^>]*> nop ++0+6ab4 <[^>]*> nop ++0+6ab8 <[^>]*> nop ++0+6abc <[^>]*> nop ++0+6ac0 <[^>]*> nop ++0+6ac4 <[^>]*> nop ++0+6ac8 <[^>]*> nop ++0+6acc <[^>]*> nop ++0+6ad0 <[^>]*> nop ++0+6ad4 <[^>]*> nop ++0+6ad8 <[^>]*> nop ++0+6adc <[^>]*> nop ++0+6ae0 <[^>]*> nop ++0+6ae4 <[^>]*> nop ++0+6ae8 <[^>]*> nop ++0+6aec <[^>]*> nop ++0+6af0 <[^>]*> nop ++0+6af4 <[^>]*> nop ++0+6af8 <[^>]*> nop ++0+6afc <[^>]*> nop ++0+6b00 <[^>]*> nop ++0+6b04 <[^>]*> nop ++0+6b08 <[^>]*> nop ++0+6b0c <[^>]*> nop ++0+6b10 <[^>]*> nop ++0+6b14 <[^>]*> nop ++0+6b18 <[^>]*> nop ++0+6b1c <[^>]*> nop ++0+6b20 <[^>]*> nop ++0+6b24 <[^>]*> nop ++0+6b28 <[^>]*> nop ++0+6b2c <[^>]*> nop ++0+6b30 <[^>]*> nop ++0+6b34 <[^>]*> nop ++0+6b38 <[^>]*> nop ++0+6b3c <[^>]*> nop ++0+6b40 <[^>]*> nop ++0+6b44 <[^>]*> nop ++0+6b48 <[^>]*> nop ++0+6b4c <[^>]*> nop ++0+6b50 <[^>]*> nop ++0+6b54 <[^>]*> nop ++0+6b58 <[^>]*> nop ++0+6b5c <[^>]*> nop ++0+6b60 <[^>]*> nop ++0+6b64 <[^>]*> nop ++0+6b68 <[^>]*> nop ++0+6b6c <[^>]*> nop ++0+6b70 <[^>]*> nop ++0+6b74 <[^>]*> nop ++0+6b78 <[^>]*> nop ++0+6b7c <[^>]*> nop ++0+6b80 <[^>]*> nop ++0+6b84 <[^>]*> nop ++0+6b88 <[^>]*> nop ++0+6b8c <[^>]*> nop ++0+6b90 <[^>]*> nop ++0+6b94 <[^>]*> nop ++0+6b98 <[^>]*> nop ++0+6b9c <[^>]*> nop ++0+6ba0 <[^>]*> nop ++0+6ba4 <[^>]*> nop ++0+6ba8 <[^>]*> nop ++0+6bac <[^>]*> nop ++0+6bb0 <[^>]*> nop ++0+6bb4 <[^>]*> nop ++0+6bb8 <[^>]*> nop ++0+6bbc <[^>]*> nop ++0+6bc0 <[^>]*> nop ++0+6bc4 <[^>]*> nop ++0+6bc8 <[^>]*> nop ++0+6bcc <[^>]*> nop ++0+6bd0 <[^>]*> nop ++0+6bd4 <[^>]*> nop ++0+6bd8 <[^>]*> nop ++0+6bdc <[^>]*> nop ++0+6be0 <[^>]*> nop ++0+6be4 <[^>]*> nop ++0+6be8 <[^>]*> nop ++0+6bec <[^>]*> nop ++0+6bf0 <[^>]*> nop ++0+6bf4 <[^>]*> nop ++0+6bf8 <[^>]*> nop ++0+6bfc <[^>]*> nop ++0+6c00 <[^>]*> nop ++0+6c04 <[^>]*> nop ++0+6c08 <[^>]*> nop ++0+6c0c <[^>]*> nop ++0+6c10 <[^>]*> nop ++0+6c14 <[^>]*> nop ++0+6c18 <[^>]*> nop ++0+6c1c <[^>]*> nop ++0+6c20 <[^>]*> nop ++0+6c24 <[^>]*> nop ++0+6c28 <[^>]*> nop ++0+6c2c <[^>]*> nop ++0+6c30 <[^>]*> nop ++0+6c34 <[^>]*> nop ++0+6c38 <[^>]*> nop ++0+6c3c <[^>]*> nop ++0+6c40 <[^>]*> nop ++0+6c44 <[^>]*> nop ++0+6c48 <[^>]*> nop ++0+6c4c <[^>]*> nop ++0+6c50 <[^>]*> nop ++0+6c54 <[^>]*> nop ++0+6c58 <[^>]*> nop ++0+6c5c <[^>]*> nop ++0+6c60 <[^>]*> nop ++0+6c64 <[^>]*> nop ++0+6c68 <[^>]*> nop ++0+6c6c <[^>]*> nop ++0+6c70 <[^>]*> nop ++0+6c74 <[^>]*> nop ++0+6c78 <[^>]*> nop ++0+6c7c <[^>]*> nop ++0+6c80 <[^>]*> nop ++0+6c84 <[^>]*> nop ++0+6c88 <[^>]*> nop ++0+6c8c <[^>]*> nop ++0+6c90 <[^>]*> nop ++0+6c94 <[^>]*> nop ++0+6c98 <[^>]*> nop ++0+6c9c <[^>]*> nop ++0+6ca0 <[^>]*> nop ++0+6ca4 <[^>]*> nop ++0+6ca8 <[^>]*> nop ++0+6cac <[^>]*> nop ++0+6cb0 <[^>]*> nop ++0+6cb4 <[^>]*> nop ++0+6cb8 <[^>]*> nop ++0+6cbc <[^>]*> nop ++0+6cc0 <[^>]*> nop ++0+6cc4 <[^>]*> nop ++0+6cc8 <[^>]*> nop ++0+6ccc <[^>]*> nop ++0+6cd0 <[^>]*> nop ++0+6cd4 <[^>]*> nop ++0+6cd8 <[^>]*> nop ++0+6cdc <[^>]*> nop ++0+6ce0 <[^>]*> nop ++0+6ce4 <[^>]*> nop ++0+6ce8 <[^>]*> nop ++0+6cec <[^>]*> nop ++0+6cf0 <[^>]*> nop ++0+6cf4 <[^>]*> nop ++0+6cf8 <[^>]*> nop ++0+6cfc <[^>]*> nop ++0+6d00 <[^>]*> nop ++0+6d04 <[^>]*> nop ++0+6d08 <[^>]*> nop ++0+6d0c <[^>]*> nop ++0+6d10 <[^>]*> nop ++0+6d14 <[^>]*> nop ++0+6d18 <[^>]*> nop ++0+6d1c <[^>]*> nop ++0+6d20 <[^>]*> nop ++0+6d24 <[^>]*> nop ++0+6d28 <[^>]*> nop ++0+6d2c <[^>]*> nop ++0+6d30 <[^>]*> nop ++0+6d34 <[^>]*> nop ++0+6d38 <[^>]*> nop ++0+6d3c <[^>]*> nop ++0+6d40 <[^>]*> nop ++0+6d44 <[^>]*> nop ++0+6d48 <[^>]*> nop ++0+6d4c <[^>]*> nop ++0+6d50 <[^>]*> nop ++0+6d54 <[^>]*> nop ++0+6d58 <[^>]*> nop ++0+6d5c <[^>]*> nop ++0+6d60 <[^>]*> nop ++0+6d64 <[^>]*> nop ++0+6d68 <[^>]*> nop ++0+6d6c <[^>]*> nop ++0+6d70 <[^>]*> nop ++0+6d74 <[^>]*> nop ++0+6d78 <[^>]*> nop ++0+6d7c <[^>]*> nop ++0+6d80 <[^>]*> nop ++0+6d84 <[^>]*> nop ++0+6d88 <[^>]*> nop ++0+6d8c <[^>]*> nop ++0+6d90 <[^>]*> nop ++0+6d94 <[^>]*> nop ++0+6d98 <[^>]*> nop ++0+6d9c <[^>]*> nop ++0+6da0 <[^>]*> nop ++0+6da4 <[^>]*> nop ++0+6da8 <[^>]*> nop ++0+6dac <[^>]*> nop ++0+6db0 <[^>]*> nop ++0+6db4 <[^>]*> nop ++0+6db8 <[^>]*> nop ++0+6dbc <[^>]*> nop ++0+6dc0 <[^>]*> nop ++0+6dc4 <[^>]*> nop ++0+6dc8 <[^>]*> nop ++0+6dcc <[^>]*> nop ++0+6dd0 <[^>]*> nop ++0+6dd4 <[^>]*> nop ++0+6dd8 <[^>]*> nop ++0+6ddc <[^>]*> nop ++0+6de0 <[^>]*> nop ++0+6de4 <[^>]*> nop ++0+6de8 <[^>]*> nop ++0+6dec <[^>]*> nop ++0+6df0 <[^>]*> nop ++0+6df4 <[^>]*> nop ++0+6df8 <[^>]*> nop ++0+6dfc <[^>]*> nop ++0+6e00 <[^>]*> nop ++0+6e04 <[^>]*> nop ++0+6e08 <[^>]*> nop ++0+6e0c <[^>]*> nop ++0+6e10 <[^>]*> nop ++0+6e14 <[^>]*> nop ++0+6e18 <[^>]*> nop ++0+6e1c <[^>]*> nop ++0+6e20 <[^>]*> nop ++0+6e24 <[^>]*> nop ++0+6e28 <[^>]*> nop ++0+6e2c <[^>]*> nop ++0+6e30 <[^>]*> nop ++0+6e34 <[^>]*> nop ++0+6e38 <[^>]*> nop ++0+6e3c <[^>]*> nop ++0+6e40 <[^>]*> nop ++0+6e44 <[^>]*> nop ++0+6e48 <[^>]*> nop ++0+6e4c <[^>]*> nop ++0+6e50 <[^>]*> nop ++0+6e54 <[^>]*> nop ++0+6e58 <[^>]*> nop ++0+6e5c <[^>]*> nop ++0+6e60 <[^>]*> nop ++0+6e64 <[^>]*> nop ++0+6e68 <[^>]*> nop ++0+6e6c <[^>]*> nop ++0+6e70 <[^>]*> nop ++0+6e74 <[^>]*> nop ++0+6e78 <[^>]*> nop ++0+6e7c <[^>]*> nop ++0+6e80 <[^>]*> nop ++0+6e84 <[^>]*> nop ++0+6e88 <[^>]*> nop ++0+6e8c <[^>]*> nop ++0+6e90 <[^>]*> nop ++0+6e94 <[^>]*> nop ++0+6e98 <[^>]*> nop ++0+6e9c <[^>]*> nop ++0+6ea0 <[^>]*> nop ++0+6ea4 <[^>]*> nop ++0+6ea8 <[^>]*> nop ++0+6eac <[^>]*> nop ++0+6eb0 <[^>]*> nop ++0+6eb4 <[^>]*> nop ++0+6eb8 <[^>]*> nop ++0+6ebc <[^>]*> nop ++0+6ec0 <[^>]*> nop ++0+6ec4 <[^>]*> nop ++0+6ec8 <[^>]*> nop ++0+6ecc <[^>]*> nop ++0+6ed0 <[^>]*> nop ++0+6ed4 <[^>]*> nop ++0+6ed8 <[^>]*> nop ++0+6edc <[^>]*> nop ++0+6ee0 <[^>]*> nop ++0+6ee4 <[^>]*> nop ++0+6ee8 <[^>]*> nop ++0+6eec <[^>]*> nop ++0+6ef0 <[^>]*> nop ++0+6ef4 <[^>]*> nop ++0+6ef8 <[^>]*> nop ++0+6efc <[^>]*> nop ++0+6f00 <[^>]*> nop ++0+6f04 <[^>]*> nop ++0+6f08 <[^>]*> nop ++0+6f0c <[^>]*> nop ++0+6f10 <[^>]*> nop ++0+6f14 <[^>]*> nop ++0+6f18 <[^>]*> nop ++0+6f1c <[^>]*> nop ++0+6f20 <[^>]*> nop ++0+6f24 <[^>]*> nop ++0+6f28 <[^>]*> nop ++0+6f2c <[^>]*> nop ++0+6f30 <[^>]*> nop ++0+6f34 <[^>]*> nop ++0+6f38 <[^>]*> nop ++0+6f3c <[^>]*> nop ++0+6f40 <[^>]*> nop ++0+6f44 <[^>]*> nop ++0+6f48 <[^>]*> nop ++0+6f4c <[^>]*> nop ++0+6f50 <[^>]*> nop ++0+6f54 <[^>]*> nop ++0+6f58 <[^>]*> nop ++0+6f5c <[^>]*> nop ++0+6f60 <[^>]*> nop ++0+6f64 <[^>]*> nop ++0+6f68 <[^>]*> nop ++0+6f6c <[^>]*> nop ++0+6f70 <[^>]*> nop ++0+6f74 <[^>]*> nop ++0+6f78 <[^>]*> nop ++0+6f7c <[^>]*> nop ++0+6f80 <[^>]*> nop ++0+6f84 <[^>]*> nop ++0+6f88 <[^>]*> nop ++0+6f8c <[^>]*> nop ++0+6f90 <[^>]*> nop ++0+6f94 <[^>]*> nop ++0+6f98 <[^>]*> nop ++0+6f9c <[^>]*> nop ++0+6fa0 <[^>]*> nop ++0+6fa4 <[^>]*> nop ++0+6fa8 <[^>]*> nop ++0+6fac <[^>]*> nop ++0+6fb0 <[^>]*> nop ++0+6fb4 <[^>]*> nop ++0+6fb8 <[^>]*> nop ++0+6fbc <[^>]*> nop ++0+6fc0 <[^>]*> nop ++0+6fc4 <[^>]*> nop ++0+6fc8 <[^>]*> nop ++0+6fcc <[^>]*> nop ++0+6fd0 <[^>]*> nop ++0+6fd4 <[^>]*> nop ++0+6fd8 <[^>]*> nop ++0+6fdc <[^>]*> nop ++0+6fe0 <[^>]*> nop ++0+6fe4 <[^>]*> nop ++0+6fe8 <[^>]*> nop ++0+6fec <[^>]*> nop ++0+6ff0 <[^>]*> nop ++0+6ff4 <[^>]*> nop ++0+6ff8 <[^>]*> nop ++0+6ffc <[^>]*> nop ++0+7000 <[^>]*> nop ++0+7004 <[^>]*> nop ++0+7008 <[^>]*> nop ++0+700c <[^>]*> nop ++0+7010 <[^>]*> nop ++0+7014 <[^>]*> nop ++0+7018 <[^>]*> nop ++0+701c <[^>]*> nop ++0+7020 <[^>]*> nop ++0+7024 <[^>]*> nop ++0+7028 <[^>]*> nop ++0+702c <[^>]*> nop ++0+7030 <[^>]*> nop ++0+7034 <[^>]*> nop ++0+7038 <[^>]*> nop ++0+703c <[^>]*> nop ++0+7040 <[^>]*> nop ++0+7044 <[^>]*> nop ++0+7048 <[^>]*> nop ++0+704c <[^>]*> nop ++0+7050 <[^>]*> nop ++0+7054 <[^>]*> nop ++0+7058 <[^>]*> nop ++0+705c <[^>]*> nop ++0+7060 <[^>]*> nop ++0+7064 <[^>]*> nop ++0+7068 <[^>]*> nop ++0+706c <[^>]*> nop ++0+7070 <[^>]*> nop ++0+7074 <[^>]*> nop ++0+7078 <[^>]*> nop ++0+707c <[^>]*> nop ++0+7080 <[^>]*> nop ++0+7084 <[^>]*> nop ++0+7088 <[^>]*> nop ++0+708c <[^>]*> nop ++0+7090 <[^>]*> nop ++0+7094 <[^>]*> nop ++0+7098 <[^>]*> nop ++0+709c <[^>]*> nop ++0+70a0 <[^>]*> nop ++0+70a4 <[^>]*> nop ++0+70a8 <[^>]*> nop ++0+70ac <[^>]*> nop ++0+70b0 <[^>]*> nop ++0+70b4 <[^>]*> nop ++0+70b8 <[^>]*> nop ++0+70bc <[^>]*> nop ++0+70c0 <[^>]*> nop ++0+70c4 <[^>]*> nop ++0+70c8 <[^>]*> nop ++0+70cc <[^>]*> nop ++0+70d0 <[^>]*> nop ++0+70d4 <[^>]*> nop ++0+70d8 <[^>]*> nop ++0+70dc <[^>]*> nop ++0+70e0 <[^>]*> nop ++0+70e4 <[^>]*> nop ++0+70e8 <[^>]*> nop ++0+70ec <[^>]*> nop ++0+70f0 <[^>]*> nop ++0+70f4 <[^>]*> nop ++0+70f8 <[^>]*> nop ++0+70fc <[^>]*> nop ++0+7100 <[^>]*> nop ++0+7104 <[^>]*> nop ++0+7108 <[^>]*> nop ++0+710c <[^>]*> nop ++0+7110 <[^>]*> nop ++0+7114 <[^>]*> nop ++0+7118 <[^>]*> nop ++0+711c <[^>]*> nop ++0+7120 <[^>]*> nop ++0+7124 <[^>]*> nop ++0+7128 <[^>]*> nop ++0+712c <[^>]*> nop ++0+7130 <[^>]*> nop ++0+7134 <[^>]*> nop ++0+7138 <[^>]*> nop ++0+713c <[^>]*> nop ++0+7140 <[^>]*> nop ++0+7144 <[^>]*> nop ++0+7148 <[^>]*> nop ++0+714c <[^>]*> nop ++0+7150 <[^>]*> nop ++0+7154 <[^>]*> nop ++0+7158 <[^>]*> nop ++0+715c <[^>]*> nop ++0+7160 <[^>]*> nop ++0+7164 <[^>]*> nop ++0+7168 <[^>]*> nop ++0+716c <[^>]*> nop ++0+7170 <[^>]*> nop ++0+7174 <[^>]*> nop ++0+7178 <[^>]*> nop ++0+717c <[^>]*> nop ++0+7180 <[^>]*> nop ++0+7184 <[^>]*> nop ++0+7188 <[^>]*> nop ++0+718c <[^>]*> nop ++0+7190 <[^>]*> nop ++0+7194 <[^>]*> nop ++0+7198 <[^>]*> nop ++0+719c <[^>]*> nop ++0+71a0 <[^>]*> nop ++0+71a4 <[^>]*> nop ++0+71a8 <[^>]*> nop ++0+71ac <[^>]*> nop ++0+71b0 <[^>]*> nop ++0+71b4 <[^>]*> nop ++0+71b8 <[^>]*> nop ++0+71bc <[^>]*> nop ++0+71c0 <[^>]*> nop ++0+71c4 <[^>]*> nop ++0+71c8 <[^>]*> nop ++0+71cc <[^>]*> nop ++0+71d0 <[^>]*> nop ++0+71d4 <[^>]*> nop ++0+71d8 <[^>]*> nop ++0+71dc <[^>]*> nop ++0+71e0 <[^>]*> nop ++0+71e4 <[^>]*> nop ++0+71e8 <[^>]*> nop ++0+71ec <[^>]*> nop ++0+71f0 <[^>]*> nop ++0+71f4 <[^>]*> nop ++0+71f8 <[^>]*> nop ++0+71fc <[^>]*> nop ++0+7200 <[^>]*> nop ++0+7204 <[^>]*> nop ++0+7208 <[^>]*> nop ++0+720c <[^>]*> nop ++0+7210 <[^>]*> nop ++0+7214 <[^>]*> nop ++0+7218 <[^>]*> nop ++0+721c <[^>]*> nop ++0+7220 <[^>]*> nop ++0+7224 <[^>]*> nop ++0+7228 <[^>]*> nop ++0+722c <[^>]*> nop ++0+7230 <[^>]*> nop ++0+7234 <[^>]*> nop ++0+7238 <[^>]*> nop ++0+723c <[^>]*> nop ++0+7240 <[^>]*> nop ++0+7244 <[^>]*> nop ++0+7248 <[^>]*> nop ++0+724c <[^>]*> nop ++0+7250 <[^>]*> nop ++0+7254 <[^>]*> nop ++0+7258 <[^>]*> nop ++0+725c <[^>]*> nop ++0+7260 <[^>]*> nop ++0+7264 <[^>]*> nop ++0+7268 <[^>]*> nop ++0+726c <[^>]*> nop ++0+7270 <[^>]*> nop ++0+7274 <[^>]*> nop ++0+7278 <[^>]*> nop ++0+727c <[^>]*> nop ++0+7280 <[^>]*> nop ++0+7284 <[^>]*> nop ++0+7288 <[^>]*> nop ++0+728c <[^>]*> nop ++0+7290 <[^>]*> nop ++0+7294 <[^>]*> nop ++0+7298 <[^>]*> nop ++0+729c <[^>]*> nop ++0+72a0 <[^>]*> nop ++0+72a4 <[^>]*> nop ++0+72a8 <[^>]*> nop ++0+72ac <[^>]*> nop ++0+72b0 <[^>]*> nop ++0+72b4 <[^>]*> nop ++0+72b8 <[^>]*> nop ++0+72bc <[^>]*> nop ++0+72c0 <[^>]*> nop ++0+72c4 <[^>]*> nop ++0+72c8 <[^>]*> nop ++0+72cc <[^>]*> nop ++0+72d0 <[^>]*> nop ++0+72d4 <[^>]*> nop ++0+72d8 <[^>]*> nop ++0+72dc <[^>]*> nop ++0+72e0 <[^>]*> nop ++0+72e4 <[^>]*> nop ++0+72e8 <[^>]*> nop ++0+72ec <[^>]*> nop ++0+72f0 <[^>]*> nop ++0+72f4 <[^>]*> nop ++0+72f8 <[^>]*> nop ++0+72fc <[^>]*> nop ++0+7300 <[^>]*> nop ++0+7304 <[^>]*> nop ++0+7308 <[^>]*> nop ++0+730c <[^>]*> nop ++0+7310 <[^>]*> nop ++0+7314 <[^>]*> nop ++0+7318 <[^>]*> nop ++0+731c <[^>]*> nop ++0+7320 <[^>]*> nop ++0+7324 <[^>]*> nop ++0+7328 <[^>]*> nop ++0+732c <[^>]*> nop ++0+7330 <[^>]*> nop ++0+7334 <[^>]*> nop ++0+7338 <[^>]*> nop ++0+733c <[^>]*> nop ++0+7340 <[^>]*> nop ++0+7344 <[^>]*> nop ++0+7348 <[^>]*> nop ++0+734c <[^>]*> nop ++0+7350 <[^>]*> nop ++0+7354 <[^>]*> nop ++0+7358 <[^>]*> nop ++0+735c <[^>]*> nop ++0+7360 <[^>]*> nop ++0+7364 <[^>]*> nop ++0+7368 <[^>]*> nop ++0+736c <[^>]*> nop ++0+7370 <[^>]*> nop ++0+7374 <[^>]*> nop ++0+7378 <[^>]*> nop ++0+737c <[^>]*> nop ++0+7380 <[^>]*> nop ++0+7384 <[^>]*> nop ++0+7388 <[^>]*> nop ++0+738c <[^>]*> nop ++0+7390 <[^>]*> nop ++0+7394 <[^>]*> nop ++0+7398 <[^>]*> nop ++0+739c <[^>]*> nop ++0+73a0 <[^>]*> nop ++0+73a4 <[^>]*> nop ++0+73a8 <[^>]*> nop ++0+73ac <[^>]*> nop ++0+73b0 <[^>]*> nop ++0+73b4 <[^>]*> nop ++0+73b8 <[^>]*> nop ++0+73bc <[^>]*> nop ++0+73c0 <[^>]*> nop ++0+73c4 <[^>]*> nop ++0+73c8 <[^>]*> nop ++0+73cc <[^>]*> nop ++0+73d0 <[^>]*> nop ++0+73d4 <[^>]*> nop ++0+73d8 <[^>]*> nop ++0+73dc <[^>]*> nop ++0+73e0 <[^>]*> nop ++0+73e4 <[^>]*> nop ++0+73e8 <[^>]*> nop ++0+73ec <[^>]*> nop ++0+73f0 <[^>]*> nop ++0+73f4 <[^>]*> nop ++0+73f8 <[^>]*> nop ++0+73fc <[^>]*> nop ++0+7400 <[^>]*> nop ++0+7404 <[^>]*> nop ++0+7408 <[^>]*> nop ++0+740c <[^>]*> nop ++0+7410 <[^>]*> nop ++0+7414 <[^>]*> nop ++0+7418 <[^>]*> nop ++0+741c <[^>]*> nop ++0+7420 <[^>]*> nop ++0+7424 <[^>]*> nop ++0+7428 <[^>]*> nop ++0+742c <[^>]*> nop ++0+7430 <[^>]*> nop ++0+7434 <[^>]*> nop ++0+7438 <[^>]*> nop ++0+743c <[^>]*> nop ++0+7440 <[^>]*> nop ++0+7444 <[^>]*> nop ++0+7448 <[^>]*> nop ++0+744c <[^>]*> nop ++0+7450 <[^>]*> nop ++0+7454 <[^>]*> nop ++0+7458 <[^>]*> nop ++0+745c <[^>]*> nop ++0+7460 <[^>]*> nop ++0+7464 <[^>]*> nop ++0+7468 <[^>]*> nop ++0+746c <[^>]*> nop ++0+7470 <[^>]*> nop ++0+7474 <[^>]*> nop ++0+7478 <[^>]*> nop ++0+747c <[^>]*> nop ++0+7480 <[^>]*> nop ++0+7484 <[^>]*> nop ++0+7488 <[^>]*> nop ++0+748c <[^>]*> nop ++0+7490 <[^>]*> nop ++0+7494 <[^>]*> nop ++0+7498 <[^>]*> nop ++0+749c <[^>]*> nop ++0+74a0 <[^>]*> nop ++0+74a4 <[^>]*> nop ++0+74a8 <[^>]*> nop ++0+74ac <[^>]*> nop ++0+74b0 <[^>]*> nop ++0+74b4 <[^>]*> nop ++0+74b8 <[^>]*> nop ++0+74bc <[^>]*> nop ++0+74c0 <[^>]*> nop ++0+74c4 <[^>]*> nop ++0+74c8 <[^>]*> nop ++0+74cc <[^>]*> nop ++0+74d0 <[^>]*> nop ++0+74d4 <[^>]*> nop ++0+74d8 <[^>]*> nop ++0+74dc <[^>]*> nop ++0+74e0 <[^>]*> nop ++0+74e4 <[^>]*> nop ++0+74e8 <[^>]*> nop ++0+74ec <[^>]*> nop ++0+74f0 <[^>]*> nop ++0+74f4 <[^>]*> nop ++0+74f8 <[^>]*> nop ++0+74fc <[^>]*> nop ++0+7500 <[^>]*> nop ++0+7504 <[^>]*> nop ++0+7508 <[^>]*> nop ++0+750c <[^>]*> nop ++0+7510 <[^>]*> nop ++0+7514 <[^>]*> nop ++0+7518 <[^>]*> nop ++0+751c <[^>]*> nop ++0+7520 <[^>]*> nop ++0+7524 <[^>]*> nop ++0+7528 <[^>]*> nop ++0+752c <[^>]*> nop ++0+7530 <[^>]*> nop ++0+7534 <[^>]*> nop ++0+7538 <[^>]*> nop ++0+753c <[^>]*> nop ++0+7540 <[^>]*> nop ++0+7544 <[^>]*> nop ++0+7548 <[^>]*> nop ++0+754c <[^>]*> nop ++0+7550 <[^>]*> nop ++0+7554 <[^>]*> nop ++0+7558 <[^>]*> nop ++0+755c <[^>]*> nop ++0+7560 <[^>]*> nop ++0+7564 <[^>]*> nop ++0+7568 <[^>]*> nop ++0+756c <[^>]*> nop ++0+7570 <[^>]*> nop ++0+7574 <[^>]*> nop ++0+7578 <[^>]*> nop ++0+757c <[^>]*> nop ++0+7580 <[^>]*> nop ++0+7584 <[^>]*> nop ++0+7588 <[^>]*> nop ++0+758c <[^>]*> nop ++0+7590 <[^>]*> nop ++0+7594 <[^>]*> nop ++0+7598 <[^>]*> nop ++0+759c <[^>]*> nop ++0+75a0 <[^>]*> nop ++0+75a4 <[^>]*> nop ++0+75a8 <[^>]*> nop ++0+75ac <[^>]*> nop ++0+75b0 <[^>]*> nop ++0+75b4 <[^>]*> nop ++0+75b8 <[^>]*> nop ++0+75bc <[^>]*> nop ++0+75c0 <[^>]*> nop ++0+75c4 <[^>]*> nop ++0+75c8 <[^>]*> nop ++0+75cc <[^>]*> nop ++0+75d0 <[^>]*> nop ++0+75d4 <[^>]*> nop ++0+75d8 <[^>]*> nop ++0+75dc <[^>]*> nop ++0+75e0 <[^>]*> nop ++0+75e4 <[^>]*> nop ++0+75e8 <[^>]*> nop ++0+75ec <[^>]*> nop ++0+75f0 <[^>]*> nop ++0+75f4 <[^>]*> nop ++0+75f8 <[^>]*> nop ++0+75fc <[^>]*> nop ++0+7600 <[^>]*> nop ++0+7604 <[^>]*> nop ++0+7608 <[^>]*> nop ++0+760c <[^>]*> nop ++0+7610 <[^>]*> nop ++0+7614 <[^>]*> nop ++0+7618 <[^>]*> nop ++0+761c <[^>]*> nop ++0+7620 <[^>]*> nop ++0+7624 <[^>]*> nop ++0+7628 <[^>]*> nop ++0+762c <[^>]*> nop ++0+7630 <[^>]*> nop ++0+7634 <[^>]*> nop ++0+7638 <[^>]*> nop ++0+763c <[^>]*> nop ++0+7640 <[^>]*> nop ++0+7644 <[^>]*> nop ++0+7648 <[^>]*> nop ++0+764c <[^>]*> nop ++0+7650 <[^>]*> nop ++0+7654 <[^>]*> nop ++0+7658 <[^>]*> nop ++0+765c <[^>]*> nop ++0+7660 <[^>]*> nop ++0+7664 <[^>]*> nop ++0+7668 <[^>]*> nop ++0+766c <[^>]*> nop ++0+7670 <[^>]*> nop ++0+7674 <[^>]*> nop ++0+7678 <[^>]*> nop ++0+767c <[^>]*> nop ++0+7680 <[^>]*> nop ++0+7684 <[^>]*> nop ++0+7688 <[^>]*> nop ++0+768c <[^>]*> nop ++0+7690 <[^>]*> nop ++0+7694 <[^>]*> nop ++0+7698 <[^>]*> nop ++0+769c <[^>]*> nop ++0+76a0 <[^>]*> nop ++0+76a4 <[^>]*> nop ++0+76a8 <[^>]*> nop ++0+76ac <[^>]*> nop ++0+76b0 <[^>]*> nop ++0+76b4 <[^>]*> nop ++0+76b8 <[^>]*> nop ++0+76bc <[^>]*> nop ++0+76c0 <[^>]*> nop ++0+76c4 <[^>]*> nop ++0+76c8 <[^>]*> nop ++0+76cc <[^>]*> nop ++0+76d0 <[^>]*> nop ++0+76d4 <[^>]*> nop ++0+76d8 <[^>]*> nop ++0+76dc <[^>]*> nop ++0+76e0 <[^>]*> nop ++0+76e4 <[^>]*> nop ++0+76e8 <[^>]*> nop ++0+76ec <[^>]*> nop ++0+76f0 <[^>]*> nop ++0+76f4 <[^>]*> nop ++0+76f8 <[^>]*> nop ++0+76fc <[^>]*> nop ++0+7700 <[^>]*> nop ++0+7704 <[^>]*> nop ++0+7708 <[^>]*> nop ++0+770c <[^>]*> nop ++0+7710 <[^>]*> nop ++0+7714 <[^>]*> nop ++0+7718 <[^>]*> nop ++0+771c <[^>]*> nop ++0+7720 <[^>]*> nop ++0+7724 <[^>]*> nop ++0+7728 <[^>]*> nop ++0+772c <[^>]*> nop ++0+7730 <[^>]*> nop ++0+7734 <[^>]*> nop ++0+7738 <[^>]*> nop ++0+773c <[^>]*> nop ++0+7740 <[^>]*> nop ++0+7744 <[^>]*> nop ++0+7748 <[^>]*> nop ++0+774c <[^>]*> nop ++0+7750 <[^>]*> nop ++0+7754 <[^>]*> nop ++0+7758 <[^>]*> nop ++0+775c <[^>]*> nop ++0+7760 <[^>]*> nop ++0+7764 <[^>]*> nop ++0+7768 <[^>]*> nop ++0+776c <[^>]*> nop ++0+7770 <[^>]*> nop ++0+7774 <[^>]*> nop ++0+7778 <[^>]*> nop ++0+777c <[^>]*> nop ++0+7780 <[^>]*> nop ++0+7784 <[^>]*> nop ++0+7788 <[^>]*> nop ++0+778c <[^>]*> nop ++0+7790 <[^>]*> nop ++0+7794 <[^>]*> nop ++0+7798 <[^>]*> nop ++0+779c <[^>]*> nop ++0+77a0 <[^>]*> nop ++0+77a4 <[^>]*> nop ++0+77a8 <[^>]*> nop ++0+77ac <[^>]*> nop ++0+77b0 <[^>]*> nop ++0+77b4 <[^>]*> nop ++0+77b8 <[^>]*> nop ++0+77bc <[^>]*> nop ++0+77c0 <[^>]*> nop ++0+77c4 <[^>]*> nop ++0+77c8 <[^>]*> nop ++0+77cc <[^>]*> nop ++0+77d0 <[^>]*> nop ++0+77d4 <[^>]*> nop ++0+77d8 <[^>]*> nop ++0+77dc <[^>]*> nop ++0+77e0 <[^>]*> nop ++0+77e4 <[^>]*> nop ++0+77e8 <[^>]*> nop ++0+77ec <[^>]*> nop ++0+77f0 <[^>]*> nop ++0+77f4 <[^>]*> nop ++0+77f8 <[^>]*> nop ++0+77fc <[^>]*> nop ++0+7800 <[^>]*> nop ++0+7804 <[^>]*> nop ++0+7808 <[^>]*> nop ++0+780c <[^>]*> nop ++0+7810 <[^>]*> nop ++0+7814 <[^>]*> nop ++0+7818 <[^>]*> nop ++0+781c <[^>]*> nop ++0+7820 <[^>]*> nop ++0+7824 <[^>]*> nop ++0+7828 <[^>]*> nop ++0+782c <[^>]*> nop ++0+7830 <[^>]*> nop ++0+7834 <[^>]*> nop ++0+7838 <[^>]*> nop ++0+783c <[^>]*> nop ++0+7840 <[^>]*> nop ++0+7844 <[^>]*> nop ++0+7848 <[^>]*> nop ++0+784c <[^>]*> nop ++0+7850 <[^>]*> nop ++0+7854 <[^>]*> nop ++0+7858 <[^>]*> nop ++0+785c <[^>]*> nop ++0+7860 <[^>]*> nop ++0+7864 <[^>]*> nop ++0+7868 <[^>]*> nop ++0+786c <[^>]*> nop ++0+7870 <[^>]*> nop ++0+7874 <[^>]*> nop ++0+7878 <[^>]*> nop ++0+787c <[^>]*> nop ++0+7880 <[^>]*> nop ++0+7884 <[^>]*> nop ++0+7888 <[^>]*> nop ++0+788c <[^>]*> nop ++0+7890 <[^>]*> nop ++0+7894 <[^>]*> nop ++0+7898 <[^>]*> nop ++0+789c <[^>]*> nop ++0+78a0 <[^>]*> nop ++0+78a4 <[^>]*> nop ++0+78a8 <[^>]*> nop ++0+78ac <[^>]*> nop ++0+78b0 <[^>]*> nop ++0+78b4 <[^>]*> nop ++0+78b8 <[^>]*> nop ++0+78bc <[^>]*> nop ++0+78c0 <[^>]*> nop ++0+78c4 <[^>]*> nop ++0+78c8 <[^>]*> nop ++0+78cc <[^>]*> nop ++0+78d0 <[^>]*> nop ++0+78d4 <[^>]*> nop ++0+78d8 <[^>]*> nop ++0+78dc <[^>]*> nop ++0+78e0 <[^>]*> nop ++0+78e4 <[^>]*> nop ++0+78e8 <[^>]*> nop ++0+78ec <[^>]*> nop ++0+78f0 <[^>]*> nop ++0+78f4 <[^>]*> nop ++0+78f8 <[^>]*> nop ++0+78fc <[^>]*> nop ++0+7900 <[^>]*> nop ++0+7904 <[^>]*> nop ++0+7908 <[^>]*> nop ++0+790c <[^>]*> nop ++0+7910 <[^>]*> nop ++0+7914 <[^>]*> nop ++0+7918 <[^>]*> nop ++0+791c <[^>]*> nop ++0+7920 <[^>]*> nop ++0+7924 <[^>]*> nop ++0+7928 <[^>]*> nop ++0+792c <[^>]*> nop ++0+7930 <[^>]*> nop ++0+7934 <[^>]*> nop ++0+7938 <[^>]*> nop ++0+793c <[^>]*> nop ++0+7940 <[^>]*> nop ++0+7944 <[^>]*> nop ++0+7948 <[^>]*> nop ++0+794c <[^>]*> nop ++0+7950 <[^>]*> nop ++0+7954 <[^>]*> nop ++0+7958 <[^>]*> nop ++0+795c <[^>]*> nop ++0+7960 <[^>]*> nop ++0+7964 <[^>]*> nop ++0+7968 <[^>]*> nop ++0+796c <[^>]*> nop ++0+7970 <[^>]*> nop ++0+7974 <[^>]*> nop ++0+7978 <[^>]*> nop ++0+797c <[^>]*> nop ++0+7980 <[^>]*> nop ++0+7984 <[^>]*> nop ++0+7988 <[^>]*> nop ++0+798c <[^>]*> nop ++0+7990 <[^>]*> nop ++0+7994 <[^>]*> nop ++0+7998 <[^>]*> nop ++0+799c <[^>]*> nop ++0+79a0 <[^>]*> nop ++0+79a4 <[^>]*> nop ++0+79a8 <[^>]*> nop ++0+79ac <[^>]*> nop ++0+79b0 <[^>]*> nop ++0+79b4 <[^>]*> nop ++0+79b8 <[^>]*> nop ++0+79bc <[^>]*> nop ++0+79c0 <[^>]*> nop ++0+79c4 <[^>]*> nop ++0+79c8 <[^>]*> nop ++0+79cc <[^>]*> nop ++0+79d0 <[^>]*> nop ++0+79d4 <[^>]*> nop ++0+79d8 <[^>]*> nop ++0+79dc <[^>]*> nop ++0+79e0 <[^>]*> nop ++0+79e4 <[^>]*> nop ++0+79e8 <[^>]*> nop ++0+79ec <[^>]*> nop ++0+79f0 <[^>]*> nop ++0+79f4 <[^>]*> nop ++0+79f8 <[^>]*> nop ++0+79fc <[^>]*> nop ++0+7a00 <[^>]*> nop ++0+7a04 <[^>]*> nop ++0+7a08 <[^>]*> nop ++0+7a0c <[^>]*> nop ++0+7a10 <[^>]*> nop ++0+7a14 <[^>]*> nop ++0+7a18 <[^>]*> nop ++0+7a1c <[^>]*> nop ++0+7a20 <[^>]*> nop ++0+7a24 <[^>]*> nop ++0+7a28 <[^>]*> nop ++0+7a2c <[^>]*> nop ++0+7a30 <[^>]*> nop ++0+7a34 <[^>]*> nop ++0+7a38 <[^>]*> nop ++0+7a3c <[^>]*> nop ++0+7a40 <[^>]*> nop ++0+7a44 <[^>]*> nop ++0+7a48 <[^>]*> nop ++0+7a4c <[^>]*> nop ++0+7a50 <[^>]*> nop ++0+7a54 <[^>]*> nop ++0+7a58 <[^>]*> nop ++0+7a5c <[^>]*> nop ++0+7a60 <[^>]*> nop ++0+7a64 <[^>]*> nop ++0+7a68 <[^>]*> nop ++0+7a6c <[^>]*> nop ++0+7a70 <[^>]*> nop ++0+7a74 <[^>]*> nop ++0+7a78 <[^>]*> nop ++0+7a7c <[^>]*> nop ++0+7a80 <[^>]*> nop ++0+7a84 <[^>]*> nop ++0+7a88 <[^>]*> nop ++0+7a8c <[^>]*> nop ++0+7a90 <[^>]*> nop ++0+7a94 <[^>]*> nop ++0+7a98 <[^>]*> nop ++0+7a9c <[^>]*> nop ++0+7aa0 <[^>]*> nop ++0+7aa4 <[^>]*> nop ++0+7aa8 <[^>]*> nop ++0+7aac <[^>]*> nop ++0+7ab0 <[^>]*> nop ++0+7ab4 <[^>]*> nop ++0+7ab8 <[^>]*> nop ++0+7abc <[^>]*> nop ++0+7ac0 <[^>]*> nop ++0+7ac4 <[^>]*> nop ++0+7ac8 <[^>]*> nop ++0+7acc <[^>]*> nop ++0+7ad0 <[^>]*> nop ++0+7ad4 <[^>]*> nop ++0+7ad8 <[^>]*> nop ++0+7adc <[^>]*> nop ++0+7ae0 <[^>]*> nop ++0+7ae4 <[^>]*> nop ++0+7ae8 <[^>]*> nop ++0+7aec <[^>]*> nop ++0+7af0 <[^>]*> nop ++0+7af4 <[^>]*> nop ++0+7af8 <[^>]*> nop ++0+7afc <[^>]*> nop ++0+7b00 <[^>]*> nop ++0+7b04 <[^>]*> nop ++0+7b08 <[^>]*> nop ++0+7b0c <[^>]*> nop ++0+7b10 <[^>]*> nop ++0+7b14 <[^>]*> nop ++0+7b18 <[^>]*> nop ++0+7b1c <[^>]*> nop ++0+7b20 <[^>]*> nop ++0+7b24 <[^>]*> nop ++0+7b28 <[^>]*> nop ++0+7b2c <[^>]*> nop ++0+7b30 <[^>]*> nop ++0+7b34 <[^>]*> nop ++0+7b38 <[^>]*> nop ++0+7b3c <[^>]*> nop ++0+7b40 <[^>]*> nop ++0+7b44 <[^>]*> nop ++0+7b48 <[^>]*> nop ++0+7b4c <[^>]*> nop ++0+7b50 <[^>]*> nop ++0+7b54 <[^>]*> nop ++0+7b58 <[^>]*> nop ++0+7b5c <[^>]*> nop ++0+7b60 <[^>]*> nop ++0+7b64 <[^>]*> nop ++0+7b68 <[^>]*> nop ++0+7b6c <[^>]*> nop ++0+7b70 <[^>]*> nop ++0+7b74 <[^>]*> nop ++0+7b78 <[^>]*> nop ++0+7b7c <[^>]*> nop ++0+7b80 <[^>]*> nop ++0+7b84 <[^>]*> nop ++0+7b88 <[^>]*> nop ++0+7b8c <[^>]*> nop ++0+7b90 <[^>]*> nop ++0+7b94 <[^>]*> nop ++0+7b98 <[^>]*> nop ++0+7b9c <[^>]*> nop ++0+7ba0 <[^>]*> nop ++0+7ba4 <[^>]*> nop ++0+7ba8 <[^>]*> nop ++0+7bac <[^>]*> nop ++0+7bb0 <[^>]*> nop ++0+7bb4 <[^>]*> nop ++0+7bb8 <[^>]*> nop ++0+7bbc <[^>]*> nop ++0+7bc0 <[^>]*> nop ++0+7bc4 <[^>]*> nop ++0+7bc8 <[^>]*> nop ++0+7bcc <[^>]*> nop ++0+7bd0 <[^>]*> nop ++0+7bd4 <[^>]*> nop ++0+7bd8 <[^>]*> nop ++0+7bdc <[^>]*> nop ++0+7be0 <[^>]*> nop ++0+7be4 <[^>]*> nop ++0+7be8 <[^>]*> nop ++0+7bec <[^>]*> nop ++0+7bf0 <[^>]*> nop ++0+7bf4 <[^>]*> nop ++0+7bf8 <[^>]*> nop ++0+7bfc <[^>]*> nop ++0+7c00 <[^>]*> nop ++0+7c04 <[^>]*> nop ++0+7c08 <[^>]*> nop ++0+7c0c <[^>]*> nop ++0+7c10 <[^>]*> nop ++0+7c14 <[^>]*> nop ++0+7c18 <[^>]*> nop ++0+7c1c <[^>]*> nop ++0+7c20 <[^>]*> nop ++0+7c24 <[^>]*> nop ++0+7c28 <[^>]*> nop ++0+7c2c <[^>]*> nop ++0+7c30 <[^>]*> nop ++0+7c34 <[^>]*> nop ++0+7c38 <[^>]*> nop ++0+7c3c <[^>]*> nop ++0+7c40 <[^>]*> nop ++0+7c44 <[^>]*> nop ++0+7c48 <[^>]*> nop ++0+7c4c <[^>]*> nop ++0+7c50 <[^>]*> nop ++0+7c54 <[^>]*> nop ++0+7c58 <[^>]*> nop ++0+7c5c <[^>]*> nop ++0+7c60 <[^>]*> nop ++0+7c64 <[^>]*> nop ++0+7c68 <[^>]*> nop ++0+7c6c <[^>]*> nop ++0+7c70 <[^>]*> nop ++0+7c74 <[^>]*> nop ++0+7c78 <[^>]*> nop ++0+7c7c <[^>]*> nop ++0+7c80 <[^>]*> nop ++0+7c84 <[^>]*> nop ++0+7c88 <[^>]*> nop ++0+7c8c <[^>]*> nop ++0+7c90 <[^>]*> nop ++0+7c94 <[^>]*> nop ++0+7c98 <[^>]*> nop ++0+7c9c <[^>]*> nop ++0+7ca0 <[^>]*> nop ++0+7ca4 <[^>]*> nop ++0+7ca8 <[^>]*> nop ++0+7cac <[^>]*> nop ++0+7cb0 <[^>]*> nop ++0+7cb4 <[^>]*> nop ++0+7cb8 <[^>]*> nop ++0+7cbc <[^>]*> nop ++0+7cc0 <[^>]*> nop ++0+7cc4 <[^>]*> nop ++0+7cc8 <[^>]*> nop ++0+7ccc <[^>]*> nop ++0+7cd0 <[^>]*> nop ++0+7cd4 <[^>]*> nop ++0+7cd8 <[^>]*> nop ++0+7cdc <[^>]*> nop ++0+7ce0 <[^>]*> nop ++0+7ce4 <[^>]*> nop ++0+7ce8 <[^>]*> nop ++0+7cec <[^>]*> nop ++0+7cf0 <[^>]*> nop ++0+7cf4 <[^>]*> nop ++0+7cf8 <[^>]*> nop ++0+7cfc <[^>]*> nop ++0+7d00 <[^>]*> nop ++0+7d04 <[^>]*> nop ++0+7d08 <[^>]*> nop ++0+7d0c <[^>]*> nop ++0+7d10 <[^>]*> nop ++0+7d14 <[^>]*> nop ++0+7d18 <[^>]*> nop ++0+7d1c <[^>]*> nop ++0+7d20 <[^>]*> nop ++0+7d24 <[^>]*> nop ++0+7d28 <[^>]*> nop ++0+7d2c <[^>]*> nop ++0+7d30 <[^>]*> nop ++0+7d34 <[^>]*> nop ++0+7d38 <[^>]*> nop ++0+7d3c <[^>]*> nop ++0+7d40 <[^>]*> nop ++0+7d44 <[^>]*> nop ++0+7d48 <[^>]*> nop ++0+7d4c <[^>]*> nop ++0+7d50 <[^>]*> nop ++0+7d54 <[^>]*> nop ++0+7d58 <[^>]*> nop ++0+7d5c <[^>]*> nop ++0+7d60 <[^>]*> nop ++0+7d64 <[^>]*> nop ++0+7d68 <[^>]*> nop ++0+7d6c <[^>]*> nop ++0+7d70 <[^>]*> nop ++0+7d74 <[^>]*> nop ++0+7d78 <[^>]*> nop ++0+7d7c <[^>]*> nop ++0+7d80 <[^>]*> nop ++0+7d84 <[^>]*> nop ++0+7d88 <[^>]*> nop ++0+7d8c <[^>]*> nop ++0+7d90 <[^>]*> nop ++0+7d94 <[^>]*> nop ++0+7d98 <[^>]*> nop ++0+7d9c <[^>]*> nop ++0+7da0 <[^>]*> nop ++0+7da4 <[^>]*> nop ++0+7da8 <[^>]*> nop ++0+7dac <[^>]*> nop ++0+7db0 <[^>]*> nop ++0+7db4 <[^>]*> nop ++0+7db8 <[^>]*> nop ++0+7dbc <[^>]*> nop ++0+7dc0 <[^>]*> nop ++0+7dc4 <[^>]*> nop ++0+7dc8 <[^>]*> nop ++0+7dcc <[^>]*> nop ++0+7dd0 <[^>]*> nop ++0+7dd4 <[^>]*> nop ++0+7dd8 <[^>]*> nop ++0+7ddc <[^>]*> nop ++0+7de0 <[^>]*> nop ++0+7de4 <[^>]*> nop ++0+7de8 <[^>]*> nop ++0+7dec <[^>]*> nop ++0+7df0 <[^>]*> nop ++0+7df4 <[^>]*> nop ++0+7df8 <[^>]*> nop ++0+7dfc <[^>]*> nop ++0+7e00 <[^>]*> nop ++0+7e04 <[^>]*> nop ++0+7e08 <[^>]*> nop ++0+7e0c <[^>]*> nop ++0+7e10 <[^>]*> nop ++0+7e14 <[^>]*> nop ++0+7e18 <[^>]*> nop ++0+7e1c <[^>]*> nop ++0+7e20 <[^>]*> nop ++0+7e24 <[^>]*> nop ++0+7e28 <[^>]*> nop ++0+7e2c <[^>]*> nop ++0+7e30 <[^>]*> nop ++0+7e34 <[^>]*> nop ++0+7e38 <[^>]*> nop ++0+7e3c <[^>]*> nop ++0+7e40 <[^>]*> nop ++0+7e44 <[^>]*> nop ++0+7e48 <[^>]*> nop ++0+7e4c <[^>]*> nop ++0+7e50 <[^>]*> nop ++0+7e54 <[^>]*> nop ++0+7e58 <[^>]*> nop ++0+7e5c <[^>]*> nop ++0+7e60 <[^>]*> nop ++0+7e64 <[^>]*> nop ++0+7e68 <[^>]*> nop ++0+7e6c <[^>]*> nop ++0+7e70 <[^>]*> nop ++0+7e74 <[^>]*> nop ++0+7e78 <[^>]*> nop ++0+7e7c <[^>]*> nop ++0+7e80 <[^>]*> nop ++0+7e84 <[^>]*> nop ++0+7e88 <[^>]*> nop ++0+7e8c <[^>]*> nop ++0+7e90 <[^>]*> nop ++0+7e94 <[^>]*> nop ++0+7e98 <[^>]*> nop ++0+7e9c <[^>]*> nop ++0+7ea0 <[^>]*> nop ++0+7ea4 <[^>]*> nop ++0+7ea8 <[^>]*> nop ++0+7eac <[^>]*> nop ++0+7eb0 <[^>]*> nop ++0+7eb4 <[^>]*> nop ++0+7eb8 <[^>]*> nop ++0+7ebc <[^>]*> nop ++0+7ec0 <[^>]*> nop ++0+7ec4 <[^>]*> nop ++0+7ec8 <[^>]*> nop ++0+7ecc <[^>]*> nop ++0+7ed0 <[^>]*> nop ++0+7ed4 <[^>]*> nop ++0+7ed8 <[^>]*> nop ++0+7edc <[^>]*> nop ++0+7ee0 <[^>]*> nop ++0+7ee4 <[^>]*> nop ++0+7ee8 <[^>]*> nop ++0+7eec <[^>]*> nop ++0+7ef0 <[^>]*> nop ++0+7ef4 <[^>]*> nop ++0+7ef8 <[^>]*> nop ++0+7efc <[^>]*> nop ++0+7f00 <[^>]*> nop ++0+7f04 <[^>]*> nop ++0+7f08 <[^>]*> nop ++0+7f0c <[^>]*> nop ++0+7f10 <[^>]*> nop ++0+7f14 <[^>]*> nop ++0+7f18 <[^>]*> nop ++0+7f1c <[^>]*> nop ++0+7f20 <[^>]*> nop ++0+7f24 <[^>]*> nop ++0+7f28 <[^>]*> nop ++0+7f2c <[^>]*> nop ++0+7f30 <[^>]*> nop ++0+7f34 <[^>]*> nop ++0+7f38 <[^>]*> nop ++0+7f3c <[^>]*> nop ++0+7f40 <[^>]*> nop ++0+7f44 <[^>]*> nop ++0+7f48 <[^>]*> nop ++0+7f4c <[^>]*> nop ++0+7f50 <[^>]*> nop ++0+7f54 <[^>]*> nop ++0+7f58 <[^>]*> nop ++0+7f5c <[^>]*> nop ++0+7f60 <[^>]*> nop ++0+7f64 <[^>]*> nop ++0+7f68 <[^>]*> nop ++0+7f6c <[^>]*> nop ++0+7f70 <[^>]*> nop ++0+7f74 <[^>]*> nop ++0+7f78 <[^>]*> nop ++0+7f7c <[^>]*> nop ++0+7f80 <[^>]*> nop ++0+7f84 <[^>]*> nop ++0+7f88 <[^>]*> nop ++0+7f8c <[^>]*> nop ++0+7f90 <[^>]*> nop ++0+7f94 <[^>]*> nop ++0+7f98 <[^>]*> nop ++0+7f9c <[^>]*> nop ++0+7fa0 <[^>]*> nop ++0+7fa4 <[^>]*> nop ++0+7fa8 <[^>]*> nop ++0+7fac <[^>]*> nop ++0+7fb0 <[^>]*> nop ++0+7fb4 <[^>]*> nop ++0+7fb8 <[^>]*> nop ++0+7fbc <[^>]*> nop ++0+7fc0 <[^>]*> nop ++0+7fc4 <[^>]*> nop ++0+7fc8 <[^>]*> nop ++0+7fcc <[^>]*> nop ++0+7fd0 <[^>]*> nop ++0+7fd4 <[^>]*> nop ++0+7fd8 <[^>]*> nop ++0+7fdc <[^>]*> nop ++0+7fe0 <[^>]*> nop ++0+7fe4 <[^>]*> nop ++0+7fe8 <[^>]*> nop ++0+7fec <[^>]*> nop ++0+7ff0 <[^>]*> nop ++0+7ff4 <[^>]*> nop ++0+7ff8 <[^>]*> nop ++0+7ffc <[^>]*> nop ++0+8000 <[^>]*> movhi at,0 ++0+8004 <[^>]*> ori at,at,0 ++0+8008 <[^>]*> jmp at ++0+800c <out_of_range> nop ++ ... ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/relax_section.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/relax_section.s +@@ -0,0 +1,10 @@ ++ beq r2, r3, out_of_range ++ bne r2, r3, in_range ++ nop ++ nop ++in_range: ++ nop ++.align 15 ++ br 0 ++out_of_range: ++ nop +Index: binutils-2.20.1/gas/testsuite/gas/nios2/relax_ujmp.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/relax_ujmp.d +@@ -0,0 +1,8221 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 relax_ujmp ++ ++# Test relaxation of unconditional jumps ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section text2: ++00000000 <[^>]*> br 00008000 <[^>]*> ++00000004 <[^>]*> nop ++00000008 <[^>]*> nop ++0000000c <[^>]*> movhi at,1 ++00000010 <[^>]*> ori at,at,24 ++00000014 <[^>]*> jmp at ++00000018 <[^>]*> br 0000002c <[^>]*> ++0000001c <[^>]*> nop ++00000020 <[^>]*> nop ++00000024 <[^>]*> nop ++00000028 <[^>]*> nop ++0000002c <[^>]*> nop ++Disassembly of section text1: ++00008000 <[^>]*> br 00010000 <[^>]*> ++00008004 <[^>]*> nop ++00008008 <[^>]*> nop ++0000800c <[^>]*> movhi at,1 ++00008010 <[^>]*> ori at,at,24 ++00008014 <[^>]*> jmp at ++00008018 <[^>]*> nop ++0000801c <[^>]*> nop ++00008020 <[^>]*> nop ++00008024 <[^>]*> nop ++00008028 <[^>]*> nop ++0000802c <[^>]*> nop ++00008030 <[^>]*> nop ++00008034 <[^>]*> nop ++00008038 <[^>]*> nop ++0000803c <[^>]*> nop ++00008040 <[^>]*> nop ++00008044 <[^>]*> nop ++00008048 <[^>]*> nop ++0000804c <[^>]*> nop ++00008050 <[^>]*> nop ++00008054 <[^>]*> nop ++00008058 <[^>]*> nop ++0000805c <[^>]*> nop ++00008060 <[^>]*> nop ++00008064 <[^>]*> nop ++00008068 <[^>]*> nop ++0000806c <[^>]*> nop ++00008070 <[^>]*> nop ++00008074 <[^>]*> nop ++00008078 <[^>]*> nop ++0000807c <[^>]*> nop ++00008080 <[^>]*> nop ++00008084 <[^>]*> nop ++00008088 <[^>]*> nop ++0000808c <[^>]*> nop ++00008090 <[^>]*> nop ++00008094 <[^>]*> nop ++00008098 <[^>]*> nop ++0000809c <[^>]*> nop ++000080a0 <[^>]*> nop ++000080a4 <[^>]*> nop ++000080a8 <[^>]*> nop ++000080ac <[^>]*> nop ++000080b0 <[^>]*> nop ++000080b4 <[^>]*> nop ++000080b8 <[^>]*> nop ++000080bc <[^>]*> nop ++000080c0 <[^>]*> nop ++000080c4 <[^>]*> nop ++000080c8 <[^>]*> nop ++000080cc <[^>]*> nop ++000080d0 <[^>]*> nop ++000080d4 <[^>]*> nop ++000080d8 <[^>]*> nop ++000080dc <[^>]*> nop ++000080e0 <[^>]*> nop ++000080e4 <[^>]*> nop ++000080e8 <[^>]*> nop ++000080ec <[^>]*> nop ++000080f0 <[^>]*> nop ++000080f4 <[^>]*> nop ++000080f8 <[^>]*> nop ++000080fc <[^>]*> nop ++00008100 <[^>]*> nop ++00008104 <[^>]*> nop ++00008108 <[^>]*> nop ++0000810c <[^>]*> nop ++00008110 <[^>]*> nop ++00008114 <[^>]*> nop ++00008118 <[^>]*> nop ++0000811c <[^>]*> nop ++00008120 <[^>]*> nop ++00008124 <[^>]*> nop ++00008128 <[^>]*> nop ++0000812c <[^>]*> nop ++00008130 <[^>]*> nop ++00008134 <[^>]*> nop ++00008138 <[^>]*> nop ++0000813c <[^>]*> nop ++00008140 <[^>]*> nop ++00008144 <[^>]*> nop ++00008148 <[^>]*> nop ++0000814c <[^>]*> nop ++00008150 <[^>]*> nop ++00008154 <[^>]*> nop ++00008158 <[^>]*> nop ++0000815c <[^>]*> nop ++00008160 <[^>]*> nop ++00008164 <[^>]*> nop ++00008168 <[^>]*> nop ++0000816c <[^>]*> nop ++00008170 <[^>]*> nop ++00008174 <[^>]*> nop ++00008178 <[^>]*> nop ++0000817c <[^>]*> nop ++00008180 <[^>]*> nop ++00008184 <[^>]*> nop ++00008188 <[^>]*> nop ++0000818c <[^>]*> nop ++00008190 <[^>]*> nop ++00008194 <[^>]*> nop ++00008198 <[^>]*> nop ++0000819c <[^>]*> nop ++000081a0 <[^>]*> nop ++000081a4 <[^>]*> nop ++000081a8 <[^>]*> nop ++000081ac <[^>]*> nop ++000081b0 <[^>]*> nop ++000081b4 <[^>]*> nop ++000081b8 <[^>]*> nop ++000081bc <[^>]*> nop ++000081c0 <[^>]*> nop ++000081c4 <[^>]*> nop ++000081c8 <[^>]*> nop ++000081cc <[^>]*> nop ++000081d0 <[^>]*> nop ++000081d4 <[^>]*> nop ++000081d8 <[^>]*> nop ++000081dc <[^>]*> nop ++000081e0 <[^>]*> nop ++000081e4 <[^>]*> nop ++000081e8 <[^>]*> nop ++000081ec <[^>]*> nop ++000081f0 <[^>]*> nop ++000081f4 <[^>]*> nop ++000081f8 <[^>]*> nop ++000081fc <[^>]*> nop ++00008200 <[^>]*> nop ++00008204 <[^>]*> nop ++00008208 <[^>]*> nop ++0000820c <[^>]*> nop ++00008210 <[^>]*> nop ++00008214 <[^>]*> nop ++00008218 <[^>]*> nop ++0000821c <[^>]*> nop ++00008220 <[^>]*> nop ++00008224 <[^>]*> nop ++00008228 <[^>]*> nop ++0000822c <[^>]*> nop ++00008230 <[^>]*> nop ++00008234 <[^>]*> nop ++00008238 <[^>]*> nop ++0000823c <[^>]*> nop ++00008240 <[^>]*> nop ++00008244 <[^>]*> nop ++00008248 <[^>]*> nop ++0000824c <[^>]*> nop ++00008250 <[^>]*> nop ++00008254 <[^>]*> nop ++00008258 <[^>]*> nop ++0000825c <[^>]*> nop ++00008260 <[^>]*> nop ++00008264 <[^>]*> nop ++00008268 <[^>]*> nop ++0000826c <[^>]*> nop ++00008270 <[^>]*> nop ++00008274 <[^>]*> nop ++00008278 <[^>]*> nop ++0000827c <[^>]*> nop ++00008280 <[^>]*> nop ++00008284 <[^>]*> nop ++00008288 <[^>]*> nop ++0000828c <[^>]*> nop ++00008290 <[^>]*> nop ++00008294 <[^>]*> nop ++00008298 <[^>]*> nop ++0000829c <[^>]*> nop ++000082a0 <[^>]*> nop ++000082a4 <[^>]*> nop ++000082a8 <[^>]*> nop ++000082ac <[^>]*> nop ++000082b0 <[^>]*> nop ++000082b4 <[^>]*> nop ++000082b8 <[^>]*> nop ++000082bc <[^>]*> nop ++000082c0 <[^>]*> nop ++000082c4 <[^>]*> nop ++000082c8 <[^>]*> nop ++000082cc <[^>]*> nop ++000082d0 <[^>]*> nop ++000082d4 <[^>]*> nop ++000082d8 <[^>]*> nop ++000082dc <[^>]*> nop ++000082e0 <[^>]*> nop ++000082e4 <[^>]*> nop ++000082e8 <[^>]*> nop ++000082ec <[^>]*> nop ++000082f0 <[^>]*> nop ++000082f4 <[^>]*> nop ++000082f8 <[^>]*> nop ++000082fc <[^>]*> nop ++00008300 <[^>]*> nop ++00008304 <[^>]*> nop ++00008308 <[^>]*> nop ++0000830c <[^>]*> nop ++00008310 <[^>]*> nop ++00008314 <[^>]*> nop ++00008318 <[^>]*> nop ++0000831c <[^>]*> nop ++00008320 <[^>]*> nop ++00008324 <[^>]*> nop ++00008328 <[^>]*> nop ++0000832c <[^>]*> nop ++00008330 <[^>]*> nop ++00008334 <[^>]*> nop ++00008338 <[^>]*> nop ++0000833c <[^>]*> nop ++00008340 <[^>]*> nop ++00008344 <[^>]*> nop ++00008348 <[^>]*> nop ++0000834c <[^>]*> nop ++00008350 <[^>]*> nop ++00008354 <[^>]*> nop ++00008358 <[^>]*> nop ++0000835c <[^>]*> nop ++00008360 <[^>]*> nop ++00008364 <[^>]*> nop ++00008368 <[^>]*> nop ++0000836c <[^>]*> nop ++00008370 <[^>]*> nop ++00008374 <[^>]*> nop ++00008378 <[^>]*> nop ++0000837c <[^>]*> nop ++00008380 <[^>]*> nop ++00008384 <[^>]*> nop ++00008388 <[^>]*> nop ++0000838c <[^>]*> nop ++00008390 <[^>]*> nop ++00008394 <[^>]*> nop ++00008398 <[^>]*> nop ++0000839c <[^>]*> nop ++000083a0 <[^>]*> nop ++000083a4 <[^>]*> nop ++000083a8 <[^>]*> nop ++000083ac <[^>]*> nop ++000083b0 <[^>]*> nop ++000083b4 <[^>]*> nop ++000083b8 <[^>]*> nop ++000083bc <[^>]*> nop ++000083c0 <[^>]*> nop ++000083c4 <[^>]*> nop ++000083c8 <[^>]*> nop ++000083cc <[^>]*> nop ++000083d0 <[^>]*> nop ++000083d4 <[^>]*> nop ++000083d8 <[^>]*> nop ++000083dc <[^>]*> nop ++000083e0 <[^>]*> nop ++000083e4 <[^>]*> nop ++000083e8 <[^>]*> nop ++000083ec <[^>]*> nop ++000083f0 <[^>]*> nop ++000083f4 <[^>]*> nop ++000083f8 <[^>]*> nop ++000083fc <[^>]*> nop ++00008400 <[^>]*> nop ++00008404 <[^>]*> nop ++00008408 <[^>]*> nop ++0000840c <[^>]*> nop ++00008410 <[^>]*> nop ++00008414 <[^>]*> nop ++00008418 <[^>]*> nop ++0000841c <[^>]*> nop ++00008420 <[^>]*> nop ++00008424 <[^>]*> nop ++00008428 <[^>]*> nop ++0000842c <[^>]*> nop ++00008430 <[^>]*> nop ++00008434 <[^>]*> nop ++00008438 <[^>]*> nop ++0000843c <[^>]*> nop ++00008440 <[^>]*> nop ++00008444 <[^>]*> nop ++00008448 <[^>]*> nop ++0000844c <[^>]*> nop ++00008450 <[^>]*> nop ++00008454 <[^>]*> nop ++00008458 <[^>]*> nop ++0000845c <[^>]*> nop ++00008460 <[^>]*> nop ++00008464 <[^>]*> nop ++00008468 <[^>]*> nop ++0000846c <[^>]*> nop ++00008470 <[^>]*> nop ++00008474 <[^>]*> nop ++00008478 <[^>]*> nop ++0000847c <[^>]*> nop ++00008480 <[^>]*> nop ++00008484 <[^>]*> nop ++00008488 <[^>]*> nop ++0000848c <[^>]*> nop ++00008490 <[^>]*> nop ++00008494 <[^>]*> nop ++00008498 <[^>]*> nop ++0000849c <[^>]*> nop ++000084a0 <[^>]*> nop ++000084a4 <[^>]*> nop ++000084a8 <[^>]*> nop ++000084ac <[^>]*> nop ++000084b0 <[^>]*> nop ++000084b4 <[^>]*> nop ++000084b8 <[^>]*> nop ++000084bc <[^>]*> nop ++000084c0 <[^>]*> nop ++000084c4 <[^>]*> nop ++000084c8 <[^>]*> nop ++000084cc <[^>]*> nop ++000084d0 <[^>]*> nop ++000084d4 <[^>]*> nop ++000084d8 <[^>]*> nop ++000084dc <[^>]*> nop ++000084e0 <[^>]*> nop ++000084e4 <[^>]*> nop ++000084e8 <[^>]*> nop ++000084ec <[^>]*> nop ++000084f0 <[^>]*> nop ++000084f4 <[^>]*> nop ++000084f8 <[^>]*> nop ++000084fc <[^>]*> nop ++00008500 <[^>]*> nop ++00008504 <[^>]*> nop ++00008508 <[^>]*> nop ++0000850c <[^>]*> nop ++00008510 <[^>]*> nop ++00008514 <[^>]*> nop ++00008518 <[^>]*> nop ++0000851c <[^>]*> nop ++00008520 <[^>]*> nop ++00008524 <[^>]*> nop ++00008528 <[^>]*> nop ++0000852c <[^>]*> nop ++00008530 <[^>]*> nop ++00008534 <[^>]*> nop ++00008538 <[^>]*> nop ++0000853c <[^>]*> nop ++00008540 <[^>]*> nop ++00008544 <[^>]*> nop ++00008548 <[^>]*> nop ++0000854c <[^>]*> nop ++00008550 <[^>]*> nop ++00008554 <[^>]*> nop ++00008558 <[^>]*> nop ++0000855c <[^>]*> nop ++00008560 <[^>]*> nop ++00008564 <[^>]*> nop ++00008568 <[^>]*> nop ++0000856c <[^>]*> nop ++00008570 <[^>]*> nop ++00008574 <[^>]*> nop ++00008578 <[^>]*> nop ++0000857c <[^>]*> nop ++00008580 <[^>]*> nop ++00008584 <[^>]*> nop ++00008588 <[^>]*> nop ++0000858c <[^>]*> nop ++00008590 <[^>]*> nop ++00008594 <[^>]*> nop ++00008598 <[^>]*> nop ++0000859c <[^>]*> nop ++000085a0 <[^>]*> nop ++000085a4 <[^>]*> nop ++000085a8 <[^>]*> nop ++000085ac <[^>]*> nop ++000085b0 <[^>]*> nop ++000085b4 <[^>]*> nop ++000085b8 <[^>]*> nop ++000085bc <[^>]*> nop ++000085c0 <[^>]*> nop ++000085c4 <[^>]*> nop ++000085c8 <[^>]*> nop ++000085cc <[^>]*> nop ++000085d0 <[^>]*> nop ++000085d4 <[^>]*> nop ++000085d8 <[^>]*> nop ++000085dc <[^>]*> nop ++000085e0 <[^>]*> nop ++000085e4 <[^>]*> nop ++000085e8 <[^>]*> nop ++000085ec <[^>]*> nop ++000085f0 <[^>]*> nop ++000085f4 <[^>]*> nop ++000085f8 <[^>]*> nop ++000085fc <[^>]*> nop ++00008600 <[^>]*> nop ++00008604 <[^>]*> nop ++00008608 <[^>]*> nop ++0000860c <[^>]*> nop ++00008610 <[^>]*> nop ++00008614 <[^>]*> nop ++00008618 <[^>]*> nop ++0000861c <[^>]*> nop ++00008620 <[^>]*> nop ++00008624 <[^>]*> nop ++00008628 <[^>]*> nop ++0000862c <[^>]*> nop ++00008630 <[^>]*> nop ++00008634 <[^>]*> nop ++00008638 <[^>]*> nop ++0000863c <[^>]*> nop ++00008640 <[^>]*> nop ++00008644 <[^>]*> nop ++00008648 <[^>]*> nop ++0000864c <[^>]*> nop ++00008650 <[^>]*> nop ++00008654 <[^>]*> nop ++00008658 <[^>]*> nop ++0000865c <[^>]*> nop ++00008660 <[^>]*> nop ++00008664 <[^>]*> nop ++00008668 <[^>]*> nop ++0000866c <[^>]*> nop ++00008670 <[^>]*> nop ++00008674 <[^>]*> nop ++00008678 <[^>]*> nop ++0000867c <[^>]*> nop ++00008680 <[^>]*> nop ++00008684 <[^>]*> nop ++00008688 <[^>]*> nop ++0000868c <[^>]*> nop ++00008690 <[^>]*> nop ++00008694 <[^>]*> nop ++00008698 <[^>]*> nop ++0000869c <[^>]*> nop ++000086a0 <[^>]*> nop ++000086a4 <[^>]*> nop ++000086a8 <[^>]*> nop ++000086ac <[^>]*> nop ++000086b0 <[^>]*> nop ++000086b4 <[^>]*> nop ++000086b8 <[^>]*> nop ++000086bc <[^>]*> nop ++000086c0 <[^>]*> nop ++000086c4 <[^>]*> nop ++000086c8 <[^>]*> nop ++000086cc <[^>]*> nop ++000086d0 <[^>]*> nop ++000086d4 <[^>]*> nop ++000086d8 <[^>]*> nop ++000086dc <[^>]*> nop ++000086e0 <[^>]*> nop ++000086e4 <[^>]*> nop ++000086e8 <[^>]*> nop ++000086ec <[^>]*> nop ++000086f0 <[^>]*> nop ++000086f4 <[^>]*> nop ++000086f8 <[^>]*> nop ++000086fc <[^>]*> nop ++00008700 <[^>]*> nop ++00008704 <[^>]*> nop ++00008708 <[^>]*> nop ++0000870c <[^>]*> nop ++00008710 <[^>]*> nop ++00008714 <[^>]*> nop ++00008718 <[^>]*> nop ++0000871c <[^>]*> nop ++00008720 <[^>]*> nop ++00008724 <[^>]*> nop ++00008728 <[^>]*> nop ++0000872c <[^>]*> nop ++00008730 <[^>]*> nop ++00008734 <[^>]*> nop ++00008738 <[^>]*> nop ++0000873c <[^>]*> nop ++00008740 <[^>]*> nop ++00008744 <[^>]*> nop ++00008748 <[^>]*> nop ++0000874c <[^>]*> nop ++00008750 <[^>]*> nop ++00008754 <[^>]*> nop ++00008758 <[^>]*> nop ++0000875c <[^>]*> nop ++00008760 <[^>]*> nop ++00008764 <[^>]*> nop ++00008768 <[^>]*> nop ++0000876c <[^>]*> nop ++00008770 <[^>]*> nop ++00008774 <[^>]*> nop ++00008778 <[^>]*> nop ++0000877c <[^>]*> nop ++00008780 <[^>]*> nop ++00008784 <[^>]*> nop ++00008788 <[^>]*> nop ++0000878c <[^>]*> nop ++00008790 <[^>]*> nop ++00008794 <[^>]*> nop ++00008798 <[^>]*> nop ++0000879c <[^>]*> nop ++000087a0 <[^>]*> nop ++000087a4 <[^>]*> nop ++000087a8 <[^>]*> nop ++000087ac <[^>]*> nop ++000087b0 <[^>]*> nop ++000087b4 <[^>]*> nop ++000087b8 <[^>]*> nop ++000087bc <[^>]*> nop ++000087c0 <[^>]*> nop ++000087c4 <[^>]*> nop ++000087c8 <[^>]*> nop ++000087cc <[^>]*> nop ++000087d0 <[^>]*> nop ++000087d4 <[^>]*> nop ++000087d8 <[^>]*> nop ++000087dc <[^>]*> nop ++000087e0 <[^>]*> nop ++000087e4 <[^>]*> nop ++000087e8 <[^>]*> nop ++000087ec <[^>]*> nop ++000087f0 <[^>]*> nop ++000087f4 <[^>]*> nop ++000087f8 <[^>]*> nop ++000087fc <[^>]*> nop ++00008800 <[^>]*> nop ++00008804 <[^>]*> nop ++00008808 <[^>]*> nop ++0000880c <[^>]*> nop ++00008810 <[^>]*> nop ++00008814 <[^>]*> nop ++00008818 <[^>]*> nop ++0000881c <[^>]*> nop ++00008820 <[^>]*> nop ++00008824 <[^>]*> nop ++00008828 <[^>]*> nop ++0000882c <[^>]*> nop ++00008830 <[^>]*> nop ++00008834 <[^>]*> nop ++00008838 <[^>]*> nop ++0000883c <[^>]*> nop ++00008840 <[^>]*> nop ++00008844 <[^>]*> nop ++00008848 <[^>]*> nop ++0000884c <[^>]*> nop ++00008850 <[^>]*> nop ++00008854 <[^>]*> nop ++00008858 <[^>]*> nop ++0000885c <[^>]*> nop ++00008860 <[^>]*> nop ++00008864 <[^>]*> nop ++00008868 <[^>]*> nop ++0000886c <[^>]*> nop ++00008870 <[^>]*> nop ++00008874 <[^>]*> nop ++00008878 <[^>]*> nop ++0000887c <[^>]*> nop ++00008880 <[^>]*> nop ++00008884 <[^>]*> nop ++00008888 <[^>]*> nop ++0000888c <[^>]*> nop ++00008890 <[^>]*> nop ++00008894 <[^>]*> nop ++00008898 <[^>]*> nop ++0000889c <[^>]*> nop ++000088a0 <[^>]*> nop ++000088a4 <[^>]*> nop ++000088a8 <[^>]*> nop ++000088ac <[^>]*> nop ++000088b0 <[^>]*> nop ++000088b4 <[^>]*> nop ++000088b8 <[^>]*> nop ++000088bc <[^>]*> nop ++000088c0 <[^>]*> nop ++000088c4 <[^>]*> nop ++000088c8 <[^>]*> nop ++000088cc <[^>]*> nop ++000088d0 <[^>]*> nop ++000088d4 <[^>]*> nop ++000088d8 <[^>]*> nop ++000088dc <[^>]*> nop ++000088e0 <[^>]*> nop ++000088e4 <[^>]*> nop ++000088e8 <[^>]*> nop ++000088ec <[^>]*> nop ++000088f0 <[^>]*> nop ++000088f4 <[^>]*> nop ++000088f8 <[^>]*> nop ++000088fc <[^>]*> nop ++00008900 <[^>]*> nop ++00008904 <[^>]*> nop ++00008908 <[^>]*> nop ++0000890c <[^>]*> nop ++00008910 <[^>]*> nop ++00008914 <[^>]*> nop ++00008918 <[^>]*> nop ++0000891c <[^>]*> nop ++00008920 <[^>]*> nop ++00008924 <[^>]*> nop ++00008928 <[^>]*> nop ++0000892c <[^>]*> nop ++00008930 <[^>]*> nop ++00008934 <[^>]*> nop ++00008938 <[^>]*> nop ++0000893c <[^>]*> nop ++00008940 <[^>]*> nop ++00008944 <[^>]*> nop ++00008948 <[^>]*> nop ++0000894c <[^>]*> nop ++00008950 <[^>]*> nop ++00008954 <[^>]*> nop ++00008958 <[^>]*> nop ++0000895c <[^>]*> nop ++00008960 <[^>]*> nop ++00008964 <[^>]*> nop ++00008968 <[^>]*> nop ++0000896c <[^>]*> nop ++00008970 <[^>]*> nop ++00008974 <[^>]*> nop ++00008978 <[^>]*> nop ++0000897c <[^>]*> nop ++00008980 <[^>]*> nop ++00008984 <[^>]*> nop ++00008988 <[^>]*> nop ++0000898c <[^>]*> nop ++00008990 <[^>]*> nop ++00008994 <[^>]*> nop ++00008998 <[^>]*> nop ++0000899c <[^>]*> nop ++000089a0 <[^>]*> nop ++000089a4 <[^>]*> nop ++000089a8 <[^>]*> nop ++000089ac <[^>]*> nop ++000089b0 <[^>]*> nop ++000089b4 <[^>]*> nop ++000089b8 <[^>]*> nop ++000089bc <[^>]*> nop ++000089c0 <[^>]*> nop ++000089c4 <[^>]*> nop ++000089c8 <[^>]*> nop ++000089cc <[^>]*> nop ++000089d0 <[^>]*> nop ++000089d4 <[^>]*> nop ++000089d8 <[^>]*> nop ++000089dc <[^>]*> nop ++000089e0 <[^>]*> nop ++000089e4 <[^>]*> nop ++000089e8 <[^>]*> nop ++000089ec <[^>]*> nop ++000089f0 <[^>]*> nop ++000089f4 <[^>]*> nop ++000089f8 <[^>]*> nop ++000089fc <[^>]*> nop ++00008a00 <[^>]*> nop ++00008a04 <[^>]*> nop ++00008a08 <[^>]*> nop ++00008a0c <[^>]*> nop ++00008a10 <[^>]*> nop ++00008a14 <[^>]*> nop ++00008a18 <[^>]*> nop ++00008a1c <[^>]*> nop ++00008a20 <[^>]*> nop ++00008a24 <[^>]*> nop ++00008a28 <[^>]*> nop ++00008a2c <[^>]*> nop ++00008a30 <[^>]*> nop ++00008a34 <[^>]*> nop ++00008a38 <[^>]*> nop ++00008a3c <[^>]*> nop ++00008a40 <[^>]*> nop ++00008a44 <[^>]*> nop ++00008a48 <[^>]*> nop ++00008a4c <[^>]*> nop ++00008a50 <[^>]*> nop ++00008a54 <[^>]*> nop ++00008a58 <[^>]*> nop ++00008a5c <[^>]*> nop ++00008a60 <[^>]*> nop ++00008a64 <[^>]*> nop ++00008a68 <[^>]*> nop ++00008a6c <[^>]*> nop ++00008a70 <[^>]*> nop ++00008a74 <[^>]*> nop ++00008a78 <[^>]*> nop ++00008a7c <[^>]*> nop ++00008a80 <[^>]*> nop ++00008a84 <[^>]*> nop ++00008a88 <[^>]*> nop ++00008a8c <[^>]*> nop ++00008a90 <[^>]*> nop ++00008a94 <[^>]*> nop ++00008a98 <[^>]*> nop ++00008a9c <[^>]*> nop ++00008aa0 <[^>]*> nop ++00008aa4 <[^>]*> nop ++00008aa8 <[^>]*> nop ++00008aac <[^>]*> nop ++00008ab0 <[^>]*> nop ++00008ab4 <[^>]*> nop ++00008ab8 <[^>]*> nop ++00008abc <[^>]*> nop ++00008ac0 <[^>]*> nop ++00008ac4 <[^>]*> nop ++00008ac8 <[^>]*> nop ++00008acc <[^>]*> nop ++00008ad0 <[^>]*> nop ++00008ad4 <[^>]*> nop ++00008ad8 <[^>]*> nop ++00008adc <[^>]*> nop ++00008ae0 <[^>]*> nop ++00008ae4 <[^>]*> nop ++00008ae8 <[^>]*> nop ++00008aec <[^>]*> nop ++00008af0 <[^>]*> nop ++00008af4 <[^>]*> nop ++00008af8 <[^>]*> nop ++00008afc <[^>]*> nop ++00008b00 <[^>]*> nop ++00008b04 <[^>]*> nop ++00008b08 <[^>]*> nop ++00008b0c <[^>]*> nop ++00008b10 <[^>]*> nop ++00008b14 <[^>]*> nop ++00008b18 <[^>]*> nop ++00008b1c <[^>]*> nop ++00008b20 <[^>]*> nop ++00008b24 <[^>]*> nop ++00008b28 <[^>]*> nop ++00008b2c <[^>]*> nop ++00008b30 <[^>]*> nop ++00008b34 <[^>]*> nop ++00008b38 <[^>]*> nop ++00008b3c <[^>]*> nop ++00008b40 <[^>]*> nop ++00008b44 <[^>]*> nop ++00008b48 <[^>]*> nop ++00008b4c <[^>]*> nop ++00008b50 <[^>]*> nop ++00008b54 <[^>]*> nop ++00008b58 <[^>]*> nop ++00008b5c <[^>]*> nop ++00008b60 <[^>]*> nop ++00008b64 <[^>]*> nop ++00008b68 <[^>]*> nop ++00008b6c <[^>]*> nop ++00008b70 <[^>]*> nop ++00008b74 <[^>]*> nop ++00008b78 <[^>]*> nop ++00008b7c <[^>]*> nop ++00008b80 <[^>]*> nop ++00008b84 <[^>]*> nop ++00008b88 <[^>]*> nop ++00008b8c <[^>]*> nop ++00008b90 <[^>]*> nop ++00008b94 <[^>]*> nop ++00008b98 <[^>]*> nop ++00008b9c <[^>]*> nop ++00008ba0 <[^>]*> nop ++00008ba4 <[^>]*> nop ++00008ba8 <[^>]*> nop ++00008bac <[^>]*> nop ++00008bb0 <[^>]*> nop ++00008bb4 <[^>]*> nop ++00008bb8 <[^>]*> nop ++00008bbc <[^>]*> nop ++00008bc0 <[^>]*> nop ++00008bc4 <[^>]*> nop ++00008bc8 <[^>]*> nop ++00008bcc <[^>]*> nop ++00008bd0 <[^>]*> nop ++00008bd4 <[^>]*> nop ++00008bd8 <[^>]*> nop ++00008bdc <[^>]*> nop ++00008be0 <[^>]*> nop ++00008be4 <[^>]*> nop ++00008be8 <[^>]*> nop ++00008bec <[^>]*> nop ++00008bf0 <[^>]*> nop ++00008bf4 <[^>]*> nop ++00008bf8 <[^>]*> nop ++00008bfc <[^>]*> nop ++00008c00 <[^>]*> nop ++00008c04 <[^>]*> nop ++00008c08 <[^>]*> nop ++00008c0c <[^>]*> nop ++00008c10 <[^>]*> nop ++00008c14 <[^>]*> nop ++00008c18 <[^>]*> nop ++00008c1c <[^>]*> nop ++00008c20 <[^>]*> nop ++00008c24 <[^>]*> nop ++00008c28 <[^>]*> nop ++00008c2c <[^>]*> nop ++00008c30 <[^>]*> nop ++00008c34 <[^>]*> nop ++00008c38 <[^>]*> nop ++00008c3c <[^>]*> nop ++00008c40 <[^>]*> nop ++00008c44 <[^>]*> nop ++00008c48 <[^>]*> nop ++00008c4c <[^>]*> nop ++00008c50 <[^>]*> nop ++00008c54 <[^>]*> nop ++00008c58 <[^>]*> nop ++00008c5c <[^>]*> nop ++00008c60 <[^>]*> nop ++00008c64 <[^>]*> nop ++00008c68 <[^>]*> nop ++00008c6c <[^>]*> nop ++00008c70 <[^>]*> nop ++00008c74 <[^>]*> nop ++00008c78 <[^>]*> nop ++00008c7c <[^>]*> nop ++00008c80 <[^>]*> nop ++00008c84 <[^>]*> nop ++00008c88 <[^>]*> nop ++00008c8c <[^>]*> nop ++00008c90 <[^>]*> nop ++00008c94 <[^>]*> nop ++00008c98 <[^>]*> nop ++00008c9c <[^>]*> nop ++00008ca0 <[^>]*> nop ++00008ca4 <[^>]*> nop ++00008ca8 <[^>]*> nop ++00008cac <[^>]*> nop ++00008cb0 <[^>]*> nop ++00008cb4 <[^>]*> nop ++00008cb8 <[^>]*> nop ++00008cbc <[^>]*> nop ++00008cc0 <[^>]*> nop ++00008cc4 <[^>]*> nop ++00008cc8 <[^>]*> nop ++00008ccc <[^>]*> nop ++00008cd0 <[^>]*> nop ++00008cd4 <[^>]*> nop ++00008cd8 <[^>]*> nop ++00008cdc <[^>]*> nop ++00008ce0 <[^>]*> nop ++00008ce4 <[^>]*> nop ++00008ce8 <[^>]*> nop ++00008cec <[^>]*> nop ++00008cf0 <[^>]*> nop ++00008cf4 <[^>]*> nop ++00008cf8 <[^>]*> nop ++00008cfc <[^>]*> nop ++00008d00 <[^>]*> nop ++00008d04 <[^>]*> nop ++00008d08 <[^>]*> nop ++00008d0c <[^>]*> nop ++00008d10 <[^>]*> nop ++00008d14 <[^>]*> nop ++00008d18 <[^>]*> nop ++00008d1c <[^>]*> nop ++00008d20 <[^>]*> nop ++00008d24 <[^>]*> nop ++00008d28 <[^>]*> nop ++00008d2c <[^>]*> nop ++00008d30 <[^>]*> nop ++00008d34 <[^>]*> nop ++00008d38 <[^>]*> nop ++00008d3c <[^>]*> nop ++00008d40 <[^>]*> nop ++00008d44 <[^>]*> nop ++00008d48 <[^>]*> nop ++00008d4c <[^>]*> nop ++00008d50 <[^>]*> nop ++00008d54 <[^>]*> nop ++00008d58 <[^>]*> nop ++00008d5c <[^>]*> nop ++00008d60 <[^>]*> nop ++00008d64 <[^>]*> nop ++00008d68 <[^>]*> nop ++00008d6c <[^>]*> nop ++00008d70 <[^>]*> nop ++00008d74 <[^>]*> nop ++00008d78 <[^>]*> nop ++00008d7c <[^>]*> nop ++00008d80 <[^>]*> nop ++00008d84 <[^>]*> nop ++00008d88 <[^>]*> nop ++00008d8c <[^>]*> nop ++00008d90 <[^>]*> nop ++00008d94 <[^>]*> nop ++00008d98 <[^>]*> nop ++00008d9c <[^>]*> nop ++00008da0 <[^>]*> nop ++00008da4 <[^>]*> nop ++00008da8 <[^>]*> nop ++00008dac <[^>]*> nop ++00008db0 <[^>]*> nop ++00008db4 <[^>]*> nop ++00008db8 <[^>]*> nop ++00008dbc <[^>]*> nop ++00008dc0 <[^>]*> nop ++00008dc4 <[^>]*> nop ++00008dc8 <[^>]*> nop ++00008dcc <[^>]*> nop ++00008dd0 <[^>]*> nop ++00008dd4 <[^>]*> nop ++00008dd8 <[^>]*> nop ++00008ddc <[^>]*> nop ++00008de0 <[^>]*> nop ++00008de4 <[^>]*> nop ++00008de8 <[^>]*> nop ++00008dec <[^>]*> nop ++00008df0 <[^>]*> nop ++00008df4 <[^>]*> nop ++00008df8 <[^>]*> nop ++00008dfc <[^>]*> nop ++00008e00 <[^>]*> nop ++00008e04 <[^>]*> nop ++00008e08 <[^>]*> nop ++00008e0c <[^>]*> nop ++00008e10 <[^>]*> nop ++00008e14 <[^>]*> nop ++00008e18 <[^>]*> nop ++00008e1c <[^>]*> nop ++00008e20 <[^>]*> nop ++00008e24 <[^>]*> nop ++00008e28 <[^>]*> nop ++00008e2c <[^>]*> nop ++00008e30 <[^>]*> nop ++00008e34 <[^>]*> nop ++00008e38 <[^>]*> nop ++00008e3c <[^>]*> nop ++00008e40 <[^>]*> nop ++00008e44 <[^>]*> nop ++00008e48 <[^>]*> nop ++00008e4c <[^>]*> nop ++00008e50 <[^>]*> nop ++00008e54 <[^>]*> nop ++00008e58 <[^>]*> nop ++00008e5c <[^>]*> nop ++00008e60 <[^>]*> nop ++00008e64 <[^>]*> nop ++00008e68 <[^>]*> nop ++00008e6c <[^>]*> nop ++00008e70 <[^>]*> nop ++00008e74 <[^>]*> nop ++00008e78 <[^>]*> nop ++00008e7c <[^>]*> nop ++00008e80 <[^>]*> nop ++00008e84 <[^>]*> nop ++00008e88 <[^>]*> nop ++00008e8c <[^>]*> nop ++00008e90 <[^>]*> nop ++00008e94 <[^>]*> nop ++00008e98 <[^>]*> nop ++00008e9c <[^>]*> nop ++00008ea0 <[^>]*> nop ++00008ea4 <[^>]*> nop ++00008ea8 <[^>]*> nop ++00008eac <[^>]*> nop ++00008eb0 <[^>]*> nop ++00008eb4 <[^>]*> nop ++00008eb8 <[^>]*> nop ++00008ebc <[^>]*> nop ++00008ec0 <[^>]*> nop ++00008ec4 <[^>]*> nop ++00008ec8 <[^>]*> nop ++00008ecc <[^>]*> nop ++00008ed0 <[^>]*> nop ++00008ed4 <[^>]*> nop ++00008ed8 <[^>]*> nop ++00008edc <[^>]*> nop ++00008ee0 <[^>]*> nop ++00008ee4 <[^>]*> nop ++00008ee8 <[^>]*> nop ++00008eec <[^>]*> nop ++00008ef0 <[^>]*> nop ++00008ef4 <[^>]*> nop ++00008ef8 <[^>]*> nop ++00008efc <[^>]*> nop ++00008f00 <[^>]*> nop ++00008f04 <[^>]*> nop ++00008f08 <[^>]*> nop ++00008f0c <[^>]*> nop ++00008f10 <[^>]*> nop ++00008f14 <[^>]*> nop ++00008f18 <[^>]*> nop ++00008f1c <[^>]*> nop ++00008f20 <[^>]*> nop ++00008f24 <[^>]*> nop ++00008f28 <[^>]*> nop ++00008f2c <[^>]*> nop ++00008f30 <[^>]*> nop ++00008f34 <[^>]*> nop ++00008f38 <[^>]*> nop ++00008f3c <[^>]*> nop ++00008f40 <[^>]*> nop ++00008f44 <[^>]*> nop ++00008f48 <[^>]*> nop ++00008f4c <[^>]*> nop ++00008f50 <[^>]*> nop ++00008f54 <[^>]*> nop ++00008f58 <[^>]*> nop ++00008f5c <[^>]*> nop ++00008f60 <[^>]*> nop ++00008f64 <[^>]*> nop ++00008f68 <[^>]*> nop ++00008f6c <[^>]*> nop ++00008f70 <[^>]*> nop ++00008f74 <[^>]*> nop ++00008f78 <[^>]*> nop ++00008f7c <[^>]*> nop ++00008f80 <[^>]*> nop ++00008f84 <[^>]*> nop ++00008f88 <[^>]*> nop ++00008f8c <[^>]*> nop ++00008f90 <[^>]*> nop ++00008f94 <[^>]*> nop ++00008f98 <[^>]*> nop ++00008f9c <[^>]*> nop ++00008fa0 <[^>]*> nop ++00008fa4 <[^>]*> nop ++00008fa8 <[^>]*> nop ++00008fac <[^>]*> nop ++00008fb0 <[^>]*> nop ++00008fb4 <[^>]*> nop ++00008fb8 <[^>]*> nop ++00008fbc <[^>]*> nop ++00008fc0 <[^>]*> nop ++00008fc4 <[^>]*> nop ++00008fc8 <[^>]*> nop ++00008fcc <[^>]*> nop ++00008fd0 <[^>]*> nop ++00008fd4 <[^>]*> nop ++00008fd8 <[^>]*> nop ++00008fdc <[^>]*> nop ++00008fe0 <[^>]*> nop ++00008fe4 <[^>]*> nop ++00008fe8 <[^>]*> nop ++00008fec <[^>]*> nop ++00008ff0 <[^>]*> nop ++00008ff4 <[^>]*> nop ++00008ff8 <[^>]*> nop ++00008ffc <[^>]*> nop ++00009000 <[^>]*> nop ++00009004 <[^>]*> nop ++00009008 <[^>]*> nop ++0000900c <[^>]*> nop ++00009010 <[^>]*> nop ++00009014 <[^>]*> nop ++00009018 <[^>]*> nop ++0000901c <[^>]*> nop ++00009020 <[^>]*> nop ++00009024 <[^>]*> nop ++00009028 <[^>]*> nop ++0000902c <[^>]*> nop ++00009030 <[^>]*> nop ++00009034 <[^>]*> nop ++00009038 <[^>]*> nop ++0000903c <[^>]*> nop ++00009040 <[^>]*> nop ++00009044 <[^>]*> nop ++00009048 <[^>]*> nop ++0000904c <[^>]*> nop ++00009050 <[^>]*> nop ++00009054 <[^>]*> nop ++00009058 <[^>]*> nop ++0000905c <[^>]*> nop ++00009060 <[^>]*> nop ++00009064 <[^>]*> nop ++00009068 <[^>]*> nop ++0000906c <[^>]*> nop ++00009070 <[^>]*> nop ++00009074 <[^>]*> nop ++00009078 <[^>]*> nop ++0000907c <[^>]*> nop ++00009080 <[^>]*> nop ++00009084 <[^>]*> nop ++00009088 <[^>]*> nop ++0000908c <[^>]*> nop ++00009090 <[^>]*> nop ++00009094 <[^>]*> nop ++00009098 <[^>]*> nop ++0000909c <[^>]*> nop ++000090a0 <[^>]*> nop ++000090a4 <[^>]*> nop ++000090a8 <[^>]*> nop ++000090ac <[^>]*> nop ++000090b0 <[^>]*> nop ++000090b4 <[^>]*> nop ++000090b8 <[^>]*> nop ++000090bc <[^>]*> nop ++000090c0 <[^>]*> nop ++000090c4 <[^>]*> nop ++000090c8 <[^>]*> nop ++000090cc <[^>]*> nop ++000090d0 <[^>]*> nop ++000090d4 <[^>]*> nop ++000090d8 <[^>]*> nop ++000090dc <[^>]*> nop ++000090e0 <[^>]*> nop ++000090e4 <[^>]*> nop ++000090e8 <[^>]*> nop ++000090ec <[^>]*> nop ++000090f0 <[^>]*> nop ++000090f4 <[^>]*> nop ++000090f8 <[^>]*> nop ++000090fc <[^>]*> nop ++00009100 <[^>]*> nop ++00009104 <[^>]*> nop ++00009108 <[^>]*> nop ++0000910c <[^>]*> nop ++00009110 <[^>]*> nop ++00009114 <[^>]*> nop ++00009118 <[^>]*> nop ++0000911c <[^>]*> nop ++00009120 <[^>]*> nop ++00009124 <[^>]*> nop ++00009128 <[^>]*> nop ++0000912c <[^>]*> nop ++00009130 <[^>]*> nop ++00009134 <[^>]*> nop ++00009138 <[^>]*> nop ++0000913c <[^>]*> nop ++00009140 <[^>]*> nop ++00009144 <[^>]*> nop ++00009148 <[^>]*> nop ++0000914c <[^>]*> nop ++00009150 <[^>]*> nop ++00009154 <[^>]*> nop ++00009158 <[^>]*> nop ++0000915c <[^>]*> nop ++00009160 <[^>]*> nop ++00009164 <[^>]*> nop ++00009168 <[^>]*> nop ++0000916c <[^>]*> nop ++00009170 <[^>]*> nop ++00009174 <[^>]*> nop ++00009178 <[^>]*> nop ++0000917c <[^>]*> nop ++00009180 <[^>]*> nop ++00009184 <[^>]*> nop ++00009188 <[^>]*> nop ++0000918c <[^>]*> nop ++00009190 <[^>]*> nop ++00009194 <[^>]*> nop ++00009198 <[^>]*> nop ++0000919c <[^>]*> nop ++000091a0 <[^>]*> nop ++000091a4 <[^>]*> nop ++000091a8 <[^>]*> nop ++000091ac <[^>]*> nop ++000091b0 <[^>]*> nop ++000091b4 <[^>]*> nop ++000091b8 <[^>]*> nop ++000091bc <[^>]*> nop ++000091c0 <[^>]*> nop ++000091c4 <[^>]*> nop ++000091c8 <[^>]*> nop ++000091cc <[^>]*> nop ++000091d0 <[^>]*> nop ++000091d4 <[^>]*> nop ++000091d8 <[^>]*> nop ++000091dc <[^>]*> nop ++000091e0 <[^>]*> nop ++000091e4 <[^>]*> nop ++000091e8 <[^>]*> nop ++000091ec <[^>]*> nop ++000091f0 <[^>]*> nop ++000091f4 <[^>]*> nop ++000091f8 <[^>]*> nop ++000091fc <[^>]*> nop ++00009200 <[^>]*> nop ++00009204 <[^>]*> nop ++00009208 <[^>]*> nop ++0000920c <[^>]*> nop ++00009210 <[^>]*> nop ++00009214 <[^>]*> nop ++00009218 <[^>]*> nop ++0000921c <[^>]*> nop ++00009220 <[^>]*> nop ++00009224 <[^>]*> nop ++00009228 <[^>]*> nop ++0000922c <[^>]*> nop ++00009230 <[^>]*> nop ++00009234 <[^>]*> nop ++00009238 <[^>]*> nop ++0000923c <[^>]*> nop ++00009240 <[^>]*> nop ++00009244 <[^>]*> nop ++00009248 <[^>]*> nop ++0000924c <[^>]*> nop ++00009250 <[^>]*> nop ++00009254 <[^>]*> nop ++00009258 <[^>]*> nop ++0000925c <[^>]*> nop ++00009260 <[^>]*> nop ++00009264 <[^>]*> nop ++00009268 <[^>]*> nop ++0000926c <[^>]*> nop ++00009270 <[^>]*> nop ++00009274 <[^>]*> nop ++00009278 <[^>]*> nop ++0000927c <[^>]*> nop ++00009280 <[^>]*> nop ++00009284 <[^>]*> nop ++00009288 <[^>]*> nop ++0000928c <[^>]*> nop ++00009290 <[^>]*> nop ++00009294 <[^>]*> nop ++00009298 <[^>]*> nop ++0000929c <[^>]*> nop ++000092a0 <[^>]*> nop ++000092a4 <[^>]*> nop ++000092a8 <[^>]*> nop ++000092ac <[^>]*> nop ++000092b0 <[^>]*> nop ++000092b4 <[^>]*> nop ++000092b8 <[^>]*> nop ++000092bc <[^>]*> nop ++000092c0 <[^>]*> nop ++000092c4 <[^>]*> nop ++000092c8 <[^>]*> nop ++000092cc <[^>]*> nop ++000092d0 <[^>]*> nop ++000092d4 <[^>]*> nop ++000092d8 <[^>]*> nop ++000092dc <[^>]*> nop ++000092e0 <[^>]*> nop ++000092e4 <[^>]*> nop ++000092e8 <[^>]*> nop ++000092ec <[^>]*> nop ++000092f0 <[^>]*> nop ++000092f4 <[^>]*> nop ++000092f8 <[^>]*> nop ++000092fc <[^>]*> nop ++00009300 <[^>]*> nop ++00009304 <[^>]*> nop ++00009308 <[^>]*> nop ++0000930c <[^>]*> nop ++00009310 <[^>]*> nop ++00009314 <[^>]*> nop ++00009318 <[^>]*> nop ++0000931c <[^>]*> nop ++00009320 <[^>]*> nop ++00009324 <[^>]*> nop ++00009328 <[^>]*> nop ++0000932c <[^>]*> nop ++00009330 <[^>]*> nop ++00009334 <[^>]*> nop ++00009338 <[^>]*> nop ++0000933c <[^>]*> nop ++00009340 <[^>]*> nop ++00009344 <[^>]*> nop ++00009348 <[^>]*> nop ++0000934c <[^>]*> nop ++00009350 <[^>]*> nop ++00009354 <[^>]*> nop ++00009358 <[^>]*> nop ++0000935c <[^>]*> nop ++00009360 <[^>]*> nop ++00009364 <[^>]*> nop ++00009368 <[^>]*> nop ++0000936c <[^>]*> nop ++00009370 <[^>]*> nop ++00009374 <[^>]*> nop ++00009378 <[^>]*> nop ++0000937c <[^>]*> nop ++00009380 <[^>]*> nop ++00009384 <[^>]*> nop ++00009388 <[^>]*> nop ++0000938c <[^>]*> nop ++00009390 <[^>]*> nop ++00009394 <[^>]*> nop ++00009398 <[^>]*> nop ++0000939c <[^>]*> nop ++000093a0 <[^>]*> nop ++000093a4 <[^>]*> nop ++000093a8 <[^>]*> nop ++000093ac <[^>]*> nop ++000093b0 <[^>]*> nop ++000093b4 <[^>]*> nop ++000093b8 <[^>]*> nop ++000093bc <[^>]*> nop ++000093c0 <[^>]*> nop ++000093c4 <[^>]*> nop ++000093c8 <[^>]*> nop ++000093cc <[^>]*> nop ++000093d0 <[^>]*> nop ++000093d4 <[^>]*> nop ++000093d8 <[^>]*> nop ++000093dc <[^>]*> nop ++000093e0 <[^>]*> nop ++000093e4 <[^>]*> nop ++000093e8 <[^>]*> nop ++000093ec <[^>]*> nop ++000093f0 <[^>]*> nop ++000093f4 <[^>]*> nop ++000093f8 <[^>]*> nop ++000093fc <[^>]*> nop ++00009400 <[^>]*> nop ++00009404 <[^>]*> nop ++00009408 <[^>]*> nop ++0000940c <[^>]*> nop ++00009410 <[^>]*> nop ++00009414 <[^>]*> nop ++00009418 <[^>]*> nop ++0000941c <[^>]*> nop ++00009420 <[^>]*> nop ++00009424 <[^>]*> nop ++00009428 <[^>]*> nop ++0000942c <[^>]*> nop ++00009430 <[^>]*> nop ++00009434 <[^>]*> nop ++00009438 <[^>]*> nop ++0000943c <[^>]*> nop ++00009440 <[^>]*> nop ++00009444 <[^>]*> nop ++00009448 <[^>]*> nop ++0000944c <[^>]*> nop ++00009450 <[^>]*> nop ++00009454 <[^>]*> nop ++00009458 <[^>]*> nop ++0000945c <[^>]*> nop ++00009460 <[^>]*> nop ++00009464 <[^>]*> nop ++00009468 <[^>]*> nop ++0000946c <[^>]*> nop ++00009470 <[^>]*> nop ++00009474 <[^>]*> nop ++00009478 <[^>]*> nop ++0000947c <[^>]*> nop ++00009480 <[^>]*> nop ++00009484 <[^>]*> nop ++00009488 <[^>]*> nop ++0000948c <[^>]*> nop ++00009490 <[^>]*> nop ++00009494 <[^>]*> nop ++00009498 <[^>]*> nop ++0000949c <[^>]*> nop ++000094a0 <[^>]*> nop ++000094a4 <[^>]*> nop ++000094a8 <[^>]*> nop ++000094ac <[^>]*> nop ++000094b0 <[^>]*> nop ++000094b4 <[^>]*> nop ++000094b8 <[^>]*> nop ++000094bc <[^>]*> nop ++000094c0 <[^>]*> nop ++000094c4 <[^>]*> nop ++000094c8 <[^>]*> nop ++000094cc <[^>]*> nop ++000094d0 <[^>]*> nop ++000094d4 <[^>]*> nop ++000094d8 <[^>]*> nop ++000094dc <[^>]*> nop ++000094e0 <[^>]*> nop ++000094e4 <[^>]*> nop ++000094e8 <[^>]*> nop ++000094ec <[^>]*> nop ++000094f0 <[^>]*> nop ++000094f4 <[^>]*> nop ++000094f8 <[^>]*> nop ++000094fc <[^>]*> nop ++00009500 <[^>]*> nop ++00009504 <[^>]*> nop ++00009508 <[^>]*> nop ++0000950c <[^>]*> nop ++00009510 <[^>]*> nop ++00009514 <[^>]*> nop ++00009518 <[^>]*> nop ++0000951c <[^>]*> nop ++00009520 <[^>]*> nop ++00009524 <[^>]*> nop ++00009528 <[^>]*> nop ++0000952c <[^>]*> nop ++00009530 <[^>]*> nop ++00009534 <[^>]*> nop ++00009538 <[^>]*> nop ++0000953c <[^>]*> nop ++00009540 <[^>]*> nop ++00009544 <[^>]*> nop ++00009548 <[^>]*> nop ++0000954c <[^>]*> nop ++00009550 <[^>]*> nop ++00009554 <[^>]*> nop ++00009558 <[^>]*> nop ++0000955c <[^>]*> nop ++00009560 <[^>]*> nop ++00009564 <[^>]*> nop ++00009568 <[^>]*> nop ++0000956c <[^>]*> nop ++00009570 <[^>]*> nop ++00009574 <[^>]*> nop ++00009578 <[^>]*> nop ++0000957c <[^>]*> nop ++00009580 <[^>]*> nop ++00009584 <[^>]*> nop ++00009588 <[^>]*> nop ++0000958c <[^>]*> nop ++00009590 <[^>]*> nop ++00009594 <[^>]*> nop ++00009598 <[^>]*> nop ++0000959c <[^>]*> nop ++000095a0 <[^>]*> nop ++000095a4 <[^>]*> nop ++000095a8 <[^>]*> nop ++000095ac <[^>]*> nop ++000095b0 <[^>]*> nop ++000095b4 <[^>]*> nop ++000095b8 <[^>]*> nop ++000095bc <[^>]*> nop ++000095c0 <[^>]*> nop ++000095c4 <[^>]*> nop ++000095c8 <[^>]*> nop ++000095cc <[^>]*> nop ++000095d0 <[^>]*> nop ++000095d4 <[^>]*> nop ++000095d8 <[^>]*> nop ++000095dc <[^>]*> nop ++000095e0 <[^>]*> nop ++000095e4 <[^>]*> nop ++000095e8 <[^>]*> nop ++000095ec <[^>]*> nop ++000095f0 <[^>]*> nop ++000095f4 <[^>]*> nop ++000095f8 <[^>]*> nop ++000095fc <[^>]*> nop ++00009600 <[^>]*> nop ++00009604 <[^>]*> nop ++00009608 <[^>]*> nop ++0000960c <[^>]*> nop ++00009610 <[^>]*> nop ++00009614 <[^>]*> nop ++00009618 <[^>]*> nop ++0000961c <[^>]*> nop ++00009620 <[^>]*> nop ++00009624 <[^>]*> nop ++00009628 <[^>]*> nop ++0000962c <[^>]*> nop ++00009630 <[^>]*> nop ++00009634 <[^>]*> nop ++00009638 <[^>]*> nop ++0000963c <[^>]*> nop ++00009640 <[^>]*> nop ++00009644 <[^>]*> nop ++00009648 <[^>]*> nop ++0000964c <[^>]*> nop ++00009650 <[^>]*> nop ++00009654 <[^>]*> nop ++00009658 <[^>]*> nop ++0000965c <[^>]*> nop ++00009660 <[^>]*> nop ++00009664 <[^>]*> nop ++00009668 <[^>]*> nop ++0000966c <[^>]*> nop ++00009670 <[^>]*> nop ++00009674 <[^>]*> nop ++00009678 <[^>]*> nop ++0000967c <[^>]*> nop ++00009680 <[^>]*> nop ++00009684 <[^>]*> nop ++00009688 <[^>]*> nop ++0000968c <[^>]*> nop ++00009690 <[^>]*> nop ++00009694 <[^>]*> nop ++00009698 <[^>]*> nop ++0000969c <[^>]*> nop ++000096a0 <[^>]*> nop ++000096a4 <[^>]*> nop ++000096a8 <[^>]*> nop ++000096ac <[^>]*> nop ++000096b0 <[^>]*> nop ++000096b4 <[^>]*> nop ++000096b8 <[^>]*> nop ++000096bc <[^>]*> nop ++000096c0 <[^>]*> nop ++000096c4 <[^>]*> nop ++000096c8 <[^>]*> nop ++000096cc <[^>]*> nop ++000096d0 <[^>]*> nop ++000096d4 <[^>]*> nop ++000096d8 <[^>]*> nop ++000096dc <[^>]*> nop ++000096e0 <[^>]*> nop ++000096e4 <[^>]*> nop ++000096e8 <[^>]*> nop ++000096ec <[^>]*> nop ++000096f0 <[^>]*> nop ++000096f4 <[^>]*> nop ++000096f8 <[^>]*> nop ++000096fc <[^>]*> nop ++00009700 <[^>]*> nop ++00009704 <[^>]*> nop ++00009708 <[^>]*> nop ++0000970c <[^>]*> nop ++00009710 <[^>]*> nop ++00009714 <[^>]*> nop ++00009718 <[^>]*> nop ++0000971c <[^>]*> nop ++00009720 <[^>]*> nop ++00009724 <[^>]*> nop ++00009728 <[^>]*> nop ++0000972c <[^>]*> nop ++00009730 <[^>]*> nop ++00009734 <[^>]*> nop ++00009738 <[^>]*> nop ++0000973c <[^>]*> nop ++00009740 <[^>]*> nop ++00009744 <[^>]*> nop ++00009748 <[^>]*> nop ++0000974c <[^>]*> nop ++00009750 <[^>]*> nop ++00009754 <[^>]*> nop ++00009758 <[^>]*> nop ++0000975c <[^>]*> nop ++00009760 <[^>]*> nop ++00009764 <[^>]*> nop ++00009768 <[^>]*> nop ++0000976c <[^>]*> nop ++00009770 <[^>]*> nop ++00009774 <[^>]*> nop ++00009778 <[^>]*> nop ++0000977c <[^>]*> nop ++00009780 <[^>]*> nop ++00009784 <[^>]*> nop ++00009788 <[^>]*> nop ++0000978c <[^>]*> nop ++00009790 <[^>]*> nop ++00009794 <[^>]*> nop ++00009798 <[^>]*> nop ++0000979c <[^>]*> nop ++000097a0 <[^>]*> nop ++000097a4 <[^>]*> nop ++000097a8 <[^>]*> nop ++000097ac <[^>]*> nop ++000097b0 <[^>]*> nop ++000097b4 <[^>]*> nop ++000097b8 <[^>]*> nop ++000097bc <[^>]*> nop ++000097c0 <[^>]*> nop ++000097c4 <[^>]*> nop ++000097c8 <[^>]*> nop ++000097cc <[^>]*> nop ++000097d0 <[^>]*> nop ++000097d4 <[^>]*> nop ++000097d8 <[^>]*> nop ++000097dc <[^>]*> nop ++000097e0 <[^>]*> nop ++000097e4 <[^>]*> nop ++000097e8 <[^>]*> nop ++000097ec <[^>]*> nop ++000097f0 <[^>]*> nop ++000097f4 <[^>]*> nop ++000097f8 <[^>]*> nop ++000097fc <[^>]*> nop ++00009800 <[^>]*> nop ++00009804 <[^>]*> nop ++00009808 <[^>]*> nop ++0000980c <[^>]*> nop ++00009810 <[^>]*> nop ++00009814 <[^>]*> nop ++00009818 <[^>]*> nop ++0000981c <[^>]*> nop ++00009820 <[^>]*> nop ++00009824 <[^>]*> nop ++00009828 <[^>]*> nop ++0000982c <[^>]*> nop ++00009830 <[^>]*> nop ++00009834 <[^>]*> nop ++00009838 <[^>]*> nop ++0000983c <[^>]*> nop ++00009840 <[^>]*> nop ++00009844 <[^>]*> nop ++00009848 <[^>]*> nop ++0000984c <[^>]*> nop ++00009850 <[^>]*> nop ++00009854 <[^>]*> nop ++00009858 <[^>]*> nop ++0000985c <[^>]*> nop ++00009860 <[^>]*> nop ++00009864 <[^>]*> nop ++00009868 <[^>]*> nop ++0000986c <[^>]*> nop ++00009870 <[^>]*> nop ++00009874 <[^>]*> nop ++00009878 <[^>]*> nop ++0000987c <[^>]*> nop ++00009880 <[^>]*> nop ++00009884 <[^>]*> nop ++00009888 <[^>]*> nop ++0000988c <[^>]*> nop ++00009890 <[^>]*> nop ++00009894 <[^>]*> nop ++00009898 <[^>]*> nop ++0000989c <[^>]*> nop ++000098a0 <[^>]*> nop ++000098a4 <[^>]*> nop ++000098a8 <[^>]*> nop ++000098ac <[^>]*> nop ++000098b0 <[^>]*> nop ++000098b4 <[^>]*> nop ++000098b8 <[^>]*> nop ++000098bc <[^>]*> nop ++000098c0 <[^>]*> nop ++000098c4 <[^>]*> nop ++000098c8 <[^>]*> nop ++000098cc <[^>]*> nop ++000098d0 <[^>]*> nop ++000098d4 <[^>]*> nop ++000098d8 <[^>]*> nop ++000098dc <[^>]*> nop ++000098e0 <[^>]*> nop ++000098e4 <[^>]*> nop ++000098e8 <[^>]*> nop ++000098ec <[^>]*> nop ++000098f0 <[^>]*> nop ++000098f4 <[^>]*> nop ++000098f8 <[^>]*> nop ++000098fc <[^>]*> nop ++00009900 <[^>]*> nop ++00009904 <[^>]*> nop ++00009908 <[^>]*> nop ++0000990c <[^>]*> nop ++00009910 <[^>]*> nop ++00009914 <[^>]*> nop ++00009918 <[^>]*> nop ++0000991c <[^>]*> nop ++00009920 <[^>]*> nop ++00009924 <[^>]*> nop ++00009928 <[^>]*> nop ++0000992c <[^>]*> nop ++00009930 <[^>]*> nop ++00009934 <[^>]*> nop ++00009938 <[^>]*> nop ++0000993c <[^>]*> nop ++00009940 <[^>]*> nop ++00009944 <[^>]*> nop ++00009948 <[^>]*> nop ++0000994c <[^>]*> nop ++00009950 <[^>]*> nop ++00009954 <[^>]*> nop ++00009958 <[^>]*> nop ++0000995c <[^>]*> nop ++00009960 <[^>]*> nop ++00009964 <[^>]*> nop ++00009968 <[^>]*> nop ++0000996c <[^>]*> nop ++00009970 <[^>]*> nop ++00009974 <[^>]*> nop ++00009978 <[^>]*> nop ++0000997c <[^>]*> nop ++00009980 <[^>]*> nop ++00009984 <[^>]*> nop ++00009988 <[^>]*> nop ++0000998c <[^>]*> nop ++00009990 <[^>]*> nop ++00009994 <[^>]*> nop ++00009998 <[^>]*> nop ++0000999c <[^>]*> nop ++000099a0 <[^>]*> nop ++000099a4 <[^>]*> nop ++000099a8 <[^>]*> nop ++000099ac <[^>]*> nop ++000099b0 <[^>]*> nop ++000099b4 <[^>]*> nop ++000099b8 <[^>]*> nop ++000099bc <[^>]*> nop ++000099c0 <[^>]*> nop ++000099c4 <[^>]*> nop ++000099c8 <[^>]*> nop ++000099cc <[^>]*> nop ++000099d0 <[^>]*> nop ++000099d4 <[^>]*> nop ++000099d8 <[^>]*> nop ++000099dc <[^>]*> nop ++000099e0 <[^>]*> nop ++000099e4 <[^>]*> nop ++000099e8 <[^>]*> nop ++000099ec <[^>]*> nop ++000099f0 <[^>]*> nop ++000099f4 <[^>]*> nop ++000099f8 <[^>]*> nop ++000099fc <[^>]*> nop ++00009a00 <[^>]*> nop ++00009a04 <[^>]*> nop ++00009a08 <[^>]*> nop ++00009a0c <[^>]*> nop ++00009a10 <[^>]*> nop ++00009a14 <[^>]*> nop ++00009a18 <[^>]*> nop ++00009a1c <[^>]*> nop ++00009a20 <[^>]*> nop ++00009a24 <[^>]*> nop ++00009a28 <[^>]*> nop ++00009a2c <[^>]*> nop ++00009a30 <[^>]*> nop ++00009a34 <[^>]*> nop ++00009a38 <[^>]*> nop ++00009a3c <[^>]*> nop ++00009a40 <[^>]*> nop ++00009a44 <[^>]*> nop ++00009a48 <[^>]*> nop ++00009a4c <[^>]*> nop ++00009a50 <[^>]*> nop ++00009a54 <[^>]*> nop ++00009a58 <[^>]*> nop ++00009a5c <[^>]*> nop ++00009a60 <[^>]*> nop ++00009a64 <[^>]*> nop ++00009a68 <[^>]*> nop ++00009a6c <[^>]*> nop ++00009a70 <[^>]*> nop ++00009a74 <[^>]*> nop ++00009a78 <[^>]*> nop ++00009a7c <[^>]*> nop ++00009a80 <[^>]*> nop ++00009a84 <[^>]*> nop ++00009a88 <[^>]*> nop ++00009a8c <[^>]*> nop ++00009a90 <[^>]*> nop ++00009a94 <[^>]*> nop ++00009a98 <[^>]*> nop ++00009a9c <[^>]*> nop ++00009aa0 <[^>]*> nop ++00009aa4 <[^>]*> nop ++00009aa8 <[^>]*> nop ++00009aac <[^>]*> nop ++00009ab0 <[^>]*> nop ++00009ab4 <[^>]*> nop ++00009ab8 <[^>]*> nop ++00009abc <[^>]*> nop ++00009ac0 <[^>]*> nop ++00009ac4 <[^>]*> nop ++00009ac8 <[^>]*> nop ++00009acc <[^>]*> nop ++00009ad0 <[^>]*> nop ++00009ad4 <[^>]*> nop ++00009ad8 <[^>]*> nop ++00009adc <[^>]*> nop ++00009ae0 <[^>]*> nop ++00009ae4 <[^>]*> nop ++00009ae8 <[^>]*> nop ++00009aec <[^>]*> nop ++00009af0 <[^>]*> nop ++00009af4 <[^>]*> nop ++00009af8 <[^>]*> nop ++00009afc <[^>]*> nop ++00009b00 <[^>]*> nop ++00009b04 <[^>]*> nop ++00009b08 <[^>]*> nop ++00009b0c <[^>]*> nop ++00009b10 <[^>]*> nop ++00009b14 <[^>]*> nop ++00009b18 <[^>]*> nop ++00009b1c <[^>]*> nop ++00009b20 <[^>]*> nop ++00009b24 <[^>]*> nop ++00009b28 <[^>]*> nop ++00009b2c <[^>]*> nop ++00009b30 <[^>]*> nop ++00009b34 <[^>]*> nop ++00009b38 <[^>]*> nop ++00009b3c <[^>]*> nop ++00009b40 <[^>]*> nop ++00009b44 <[^>]*> nop ++00009b48 <[^>]*> nop ++00009b4c <[^>]*> nop ++00009b50 <[^>]*> nop ++00009b54 <[^>]*> nop ++00009b58 <[^>]*> nop ++00009b5c <[^>]*> nop ++00009b60 <[^>]*> nop ++00009b64 <[^>]*> nop ++00009b68 <[^>]*> nop ++00009b6c <[^>]*> nop ++00009b70 <[^>]*> nop ++00009b74 <[^>]*> nop ++00009b78 <[^>]*> nop ++00009b7c <[^>]*> nop ++00009b80 <[^>]*> nop ++00009b84 <[^>]*> nop ++00009b88 <[^>]*> nop ++00009b8c <[^>]*> nop ++00009b90 <[^>]*> nop ++00009b94 <[^>]*> nop ++00009b98 <[^>]*> nop ++00009b9c <[^>]*> nop ++00009ba0 <[^>]*> nop ++00009ba4 <[^>]*> nop ++00009ba8 <[^>]*> nop ++00009bac <[^>]*> nop ++00009bb0 <[^>]*> nop ++00009bb4 <[^>]*> nop ++00009bb8 <[^>]*> nop ++00009bbc <[^>]*> nop ++00009bc0 <[^>]*> nop ++00009bc4 <[^>]*> nop ++00009bc8 <[^>]*> nop ++00009bcc <[^>]*> nop ++00009bd0 <[^>]*> nop ++00009bd4 <[^>]*> nop ++00009bd8 <[^>]*> nop ++00009bdc <[^>]*> nop ++00009be0 <[^>]*> nop ++00009be4 <[^>]*> nop ++00009be8 <[^>]*> nop ++00009bec <[^>]*> nop ++00009bf0 <[^>]*> nop ++00009bf4 <[^>]*> nop ++00009bf8 <[^>]*> nop ++00009bfc <[^>]*> nop ++00009c00 <[^>]*> nop ++00009c04 <[^>]*> nop ++00009c08 <[^>]*> nop ++00009c0c <[^>]*> nop ++00009c10 <[^>]*> nop ++00009c14 <[^>]*> nop ++00009c18 <[^>]*> nop ++00009c1c <[^>]*> nop ++00009c20 <[^>]*> nop ++00009c24 <[^>]*> nop ++00009c28 <[^>]*> nop ++00009c2c <[^>]*> nop ++00009c30 <[^>]*> nop ++00009c34 <[^>]*> nop ++00009c38 <[^>]*> nop ++00009c3c <[^>]*> nop ++00009c40 <[^>]*> nop ++00009c44 <[^>]*> nop ++00009c48 <[^>]*> nop ++00009c4c <[^>]*> nop ++00009c50 <[^>]*> nop ++00009c54 <[^>]*> nop ++00009c58 <[^>]*> nop ++00009c5c <[^>]*> nop ++00009c60 <[^>]*> nop ++00009c64 <[^>]*> nop ++00009c68 <[^>]*> nop ++00009c6c <[^>]*> nop ++00009c70 <[^>]*> nop ++00009c74 <[^>]*> nop ++00009c78 <[^>]*> nop ++00009c7c <[^>]*> nop ++00009c80 <[^>]*> nop ++00009c84 <[^>]*> nop ++00009c88 <[^>]*> nop ++00009c8c <[^>]*> nop ++00009c90 <[^>]*> nop ++00009c94 <[^>]*> nop ++00009c98 <[^>]*> nop ++00009c9c <[^>]*> nop ++00009ca0 <[^>]*> nop ++00009ca4 <[^>]*> nop ++00009ca8 <[^>]*> nop ++00009cac <[^>]*> nop ++00009cb0 <[^>]*> nop ++00009cb4 <[^>]*> nop ++00009cb8 <[^>]*> nop ++00009cbc <[^>]*> nop ++00009cc0 <[^>]*> nop ++00009cc4 <[^>]*> nop ++00009cc8 <[^>]*> nop ++00009ccc <[^>]*> nop ++00009cd0 <[^>]*> nop ++00009cd4 <[^>]*> nop ++00009cd8 <[^>]*> nop ++00009cdc <[^>]*> nop ++00009ce0 <[^>]*> nop ++00009ce4 <[^>]*> nop ++00009ce8 <[^>]*> nop ++00009cec <[^>]*> nop ++00009cf0 <[^>]*> nop ++00009cf4 <[^>]*> nop ++00009cf8 <[^>]*> nop ++00009cfc <[^>]*> nop ++00009d00 <[^>]*> nop ++00009d04 <[^>]*> nop ++00009d08 <[^>]*> nop ++00009d0c <[^>]*> nop ++00009d10 <[^>]*> nop ++00009d14 <[^>]*> nop ++00009d18 <[^>]*> nop ++00009d1c <[^>]*> nop ++00009d20 <[^>]*> nop ++00009d24 <[^>]*> nop ++00009d28 <[^>]*> nop ++00009d2c <[^>]*> nop ++00009d30 <[^>]*> nop ++00009d34 <[^>]*> nop ++00009d38 <[^>]*> nop ++00009d3c <[^>]*> nop ++00009d40 <[^>]*> nop ++00009d44 <[^>]*> nop ++00009d48 <[^>]*> nop ++00009d4c <[^>]*> nop ++00009d50 <[^>]*> nop ++00009d54 <[^>]*> nop ++00009d58 <[^>]*> nop ++00009d5c <[^>]*> nop ++00009d60 <[^>]*> nop ++00009d64 <[^>]*> nop ++00009d68 <[^>]*> nop ++00009d6c <[^>]*> nop ++00009d70 <[^>]*> nop ++00009d74 <[^>]*> nop ++00009d78 <[^>]*> nop ++00009d7c <[^>]*> nop ++00009d80 <[^>]*> nop ++00009d84 <[^>]*> nop ++00009d88 <[^>]*> nop ++00009d8c <[^>]*> nop ++00009d90 <[^>]*> nop ++00009d94 <[^>]*> nop ++00009d98 <[^>]*> nop ++00009d9c <[^>]*> nop ++00009da0 <[^>]*> nop ++00009da4 <[^>]*> nop ++00009da8 <[^>]*> nop ++00009dac <[^>]*> nop ++00009db0 <[^>]*> nop ++00009db4 <[^>]*> nop ++00009db8 <[^>]*> nop ++00009dbc <[^>]*> nop ++00009dc0 <[^>]*> nop ++00009dc4 <[^>]*> nop ++00009dc8 <[^>]*> nop ++00009dcc <[^>]*> nop ++00009dd0 <[^>]*> nop ++00009dd4 <[^>]*> nop ++00009dd8 <[^>]*> nop ++00009ddc <[^>]*> nop ++00009de0 <[^>]*> nop ++00009de4 <[^>]*> nop ++00009de8 <[^>]*> nop ++00009dec <[^>]*> nop ++00009df0 <[^>]*> nop ++00009df4 <[^>]*> nop ++00009df8 <[^>]*> nop ++00009dfc <[^>]*> nop ++00009e00 <[^>]*> nop ++00009e04 <[^>]*> nop ++00009e08 <[^>]*> nop ++00009e0c <[^>]*> nop ++00009e10 <[^>]*> nop ++00009e14 <[^>]*> nop ++00009e18 <[^>]*> nop ++00009e1c <[^>]*> nop ++00009e20 <[^>]*> nop ++00009e24 <[^>]*> nop ++00009e28 <[^>]*> nop ++00009e2c <[^>]*> nop ++00009e30 <[^>]*> nop ++00009e34 <[^>]*> nop ++00009e38 <[^>]*> nop ++00009e3c <[^>]*> nop ++00009e40 <[^>]*> nop ++00009e44 <[^>]*> nop ++00009e48 <[^>]*> nop ++00009e4c <[^>]*> nop ++00009e50 <[^>]*> nop ++00009e54 <[^>]*> nop ++00009e58 <[^>]*> nop ++00009e5c <[^>]*> nop ++00009e60 <[^>]*> nop ++00009e64 <[^>]*> nop ++00009e68 <[^>]*> nop ++00009e6c <[^>]*> nop ++00009e70 <[^>]*> nop ++00009e74 <[^>]*> nop ++00009e78 <[^>]*> nop ++00009e7c <[^>]*> nop ++00009e80 <[^>]*> nop ++00009e84 <[^>]*> nop ++00009e88 <[^>]*> nop ++00009e8c <[^>]*> nop ++00009e90 <[^>]*> nop ++00009e94 <[^>]*> nop ++00009e98 <[^>]*> nop ++00009e9c <[^>]*> nop ++00009ea0 <[^>]*> nop ++00009ea4 <[^>]*> nop ++00009ea8 <[^>]*> nop ++00009eac <[^>]*> nop ++00009eb0 <[^>]*> nop ++00009eb4 <[^>]*> nop ++00009eb8 <[^>]*> nop ++00009ebc <[^>]*> nop ++00009ec0 <[^>]*> nop ++00009ec4 <[^>]*> nop ++00009ec8 <[^>]*> nop ++00009ecc <[^>]*> nop ++00009ed0 <[^>]*> nop ++00009ed4 <[^>]*> nop ++00009ed8 <[^>]*> nop ++00009edc <[^>]*> nop ++00009ee0 <[^>]*> nop ++00009ee4 <[^>]*> nop ++00009ee8 <[^>]*> nop ++00009eec <[^>]*> nop ++00009ef0 <[^>]*> nop ++00009ef4 <[^>]*> nop ++00009ef8 <[^>]*> nop ++00009efc <[^>]*> nop ++00009f00 <[^>]*> nop ++00009f04 <[^>]*> nop ++00009f08 <[^>]*> nop ++00009f0c <[^>]*> nop ++00009f10 <[^>]*> nop ++00009f14 <[^>]*> nop ++00009f18 <[^>]*> nop ++00009f1c <[^>]*> nop ++00009f20 <[^>]*> nop ++00009f24 <[^>]*> nop ++00009f28 <[^>]*> nop ++00009f2c <[^>]*> nop ++00009f30 <[^>]*> nop ++00009f34 <[^>]*> nop ++00009f38 <[^>]*> nop ++00009f3c <[^>]*> nop ++00009f40 <[^>]*> nop ++00009f44 <[^>]*> nop ++00009f48 <[^>]*> nop ++00009f4c <[^>]*> nop ++00009f50 <[^>]*> nop ++00009f54 <[^>]*> nop ++00009f58 <[^>]*> nop ++00009f5c <[^>]*> nop ++00009f60 <[^>]*> nop ++00009f64 <[^>]*> nop ++00009f68 <[^>]*> nop ++00009f6c <[^>]*> nop ++00009f70 <[^>]*> nop ++00009f74 <[^>]*> nop ++00009f78 <[^>]*> nop ++00009f7c <[^>]*> nop ++00009f80 <[^>]*> nop ++00009f84 <[^>]*> nop ++00009f88 <[^>]*> nop ++00009f8c <[^>]*> nop ++00009f90 <[^>]*> nop ++00009f94 <[^>]*> nop ++00009f98 <[^>]*> nop ++00009f9c <[^>]*> nop ++00009fa0 <[^>]*> nop ++00009fa4 <[^>]*> nop ++00009fa8 <[^>]*> nop ++00009fac <[^>]*> nop ++00009fb0 <[^>]*> nop ++00009fb4 <[^>]*> nop ++00009fb8 <[^>]*> nop ++00009fbc <[^>]*> nop ++00009fc0 <[^>]*> nop ++00009fc4 <[^>]*> nop ++00009fc8 <[^>]*> nop ++00009fcc <[^>]*> nop ++00009fd0 <[^>]*> nop ++00009fd4 <[^>]*> nop ++00009fd8 <[^>]*> nop ++00009fdc <[^>]*> nop ++00009fe0 <[^>]*> nop ++00009fe4 <[^>]*> nop ++00009fe8 <[^>]*> nop ++00009fec <[^>]*> nop ++00009ff0 <[^>]*> nop ++00009ff4 <[^>]*> nop ++00009ff8 <[^>]*> nop ++00009ffc <[^>]*> nop ++0000a000 <[^>]*> nop ++0000a004 <[^>]*> nop ++0000a008 <[^>]*> nop ++0000a00c <[^>]*> nop ++0000a010 <[^>]*> nop ++0000a014 <[^>]*> nop ++0000a018 <[^>]*> nop ++0000a01c <[^>]*> nop ++0000a020 <[^>]*> nop ++0000a024 <[^>]*> nop ++0000a028 <[^>]*> nop ++0000a02c <[^>]*> nop ++0000a030 <[^>]*> nop ++0000a034 <[^>]*> nop ++0000a038 <[^>]*> nop ++0000a03c <[^>]*> nop ++0000a040 <[^>]*> nop ++0000a044 <[^>]*> nop ++0000a048 <[^>]*> nop ++0000a04c <[^>]*> nop ++0000a050 <[^>]*> nop ++0000a054 <[^>]*> nop ++0000a058 <[^>]*> nop ++0000a05c <[^>]*> nop ++0000a060 <[^>]*> nop ++0000a064 <[^>]*> nop ++0000a068 <[^>]*> nop ++0000a06c <[^>]*> nop ++0000a070 <[^>]*> nop ++0000a074 <[^>]*> nop ++0000a078 <[^>]*> nop ++0000a07c <[^>]*> nop ++0000a080 <[^>]*> nop ++0000a084 <[^>]*> nop ++0000a088 <[^>]*> nop ++0000a08c <[^>]*> nop ++0000a090 <[^>]*> nop ++0000a094 <[^>]*> nop ++0000a098 <[^>]*> nop ++0000a09c <[^>]*> nop ++0000a0a0 <[^>]*> nop ++0000a0a4 <[^>]*> nop ++0000a0a8 <[^>]*> nop ++0000a0ac <[^>]*> nop ++0000a0b0 <[^>]*> nop ++0000a0b4 <[^>]*> nop ++0000a0b8 <[^>]*> nop ++0000a0bc <[^>]*> nop ++0000a0c0 <[^>]*> nop ++0000a0c4 <[^>]*> nop ++0000a0c8 <[^>]*> nop ++0000a0cc <[^>]*> nop ++0000a0d0 <[^>]*> nop ++0000a0d4 <[^>]*> nop ++0000a0d8 <[^>]*> nop ++0000a0dc <[^>]*> nop ++0000a0e0 <[^>]*> nop ++0000a0e4 <[^>]*> nop ++0000a0e8 <[^>]*> nop ++0000a0ec <[^>]*> nop ++0000a0f0 <[^>]*> nop ++0000a0f4 <[^>]*> nop ++0000a0f8 <[^>]*> nop ++0000a0fc <[^>]*> nop ++0000a100 <[^>]*> nop ++0000a104 <[^>]*> nop ++0000a108 <[^>]*> nop ++0000a10c <[^>]*> nop ++0000a110 <[^>]*> nop ++0000a114 <[^>]*> nop ++0000a118 <[^>]*> nop ++0000a11c <[^>]*> nop ++0000a120 <[^>]*> nop ++0000a124 <[^>]*> nop ++0000a128 <[^>]*> nop ++0000a12c <[^>]*> nop ++0000a130 <[^>]*> nop ++0000a134 <[^>]*> nop ++0000a138 <[^>]*> nop ++0000a13c <[^>]*> nop ++0000a140 <[^>]*> nop ++0000a144 <[^>]*> nop ++0000a148 <[^>]*> nop ++0000a14c <[^>]*> nop ++0000a150 <[^>]*> nop ++0000a154 <[^>]*> nop ++0000a158 <[^>]*> nop ++0000a15c <[^>]*> nop ++0000a160 <[^>]*> nop ++0000a164 <[^>]*> nop ++0000a168 <[^>]*> nop ++0000a16c <[^>]*> nop ++0000a170 <[^>]*> nop ++0000a174 <[^>]*> nop ++0000a178 <[^>]*> nop ++0000a17c <[^>]*> nop ++0000a180 <[^>]*> nop ++0000a184 <[^>]*> nop ++0000a188 <[^>]*> nop ++0000a18c <[^>]*> nop ++0000a190 <[^>]*> nop ++0000a194 <[^>]*> nop ++0000a198 <[^>]*> nop ++0000a19c <[^>]*> nop ++0000a1a0 <[^>]*> nop ++0000a1a4 <[^>]*> nop ++0000a1a8 <[^>]*> nop ++0000a1ac <[^>]*> nop ++0000a1b0 <[^>]*> nop ++0000a1b4 <[^>]*> nop ++0000a1b8 <[^>]*> nop ++0000a1bc <[^>]*> nop ++0000a1c0 <[^>]*> nop ++0000a1c4 <[^>]*> nop ++0000a1c8 <[^>]*> nop ++0000a1cc <[^>]*> nop ++0000a1d0 <[^>]*> nop ++0000a1d4 <[^>]*> nop ++0000a1d8 <[^>]*> nop ++0000a1dc <[^>]*> nop ++0000a1e0 <[^>]*> nop ++0000a1e4 <[^>]*> nop ++0000a1e8 <[^>]*> nop ++0000a1ec <[^>]*> nop ++0000a1f0 <[^>]*> nop ++0000a1f4 <[^>]*> nop ++0000a1f8 <[^>]*> nop ++0000a1fc <[^>]*> nop ++0000a200 <[^>]*> nop ++0000a204 <[^>]*> nop ++0000a208 <[^>]*> nop ++0000a20c <[^>]*> nop ++0000a210 <[^>]*> nop ++0000a214 <[^>]*> nop ++0000a218 <[^>]*> nop ++0000a21c <[^>]*> nop ++0000a220 <[^>]*> nop ++0000a224 <[^>]*> nop ++0000a228 <[^>]*> nop ++0000a22c <[^>]*> nop ++0000a230 <[^>]*> nop ++0000a234 <[^>]*> nop ++0000a238 <[^>]*> nop ++0000a23c <[^>]*> nop ++0000a240 <[^>]*> nop ++0000a244 <[^>]*> nop ++0000a248 <[^>]*> nop ++0000a24c <[^>]*> nop ++0000a250 <[^>]*> nop ++0000a254 <[^>]*> nop ++0000a258 <[^>]*> nop ++0000a25c <[^>]*> nop ++0000a260 <[^>]*> nop ++0000a264 <[^>]*> nop ++0000a268 <[^>]*> nop ++0000a26c <[^>]*> nop ++0000a270 <[^>]*> nop ++0000a274 <[^>]*> nop ++0000a278 <[^>]*> nop ++0000a27c <[^>]*> nop ++0000a280 <[^>]*> nop ++0000a284 <[^>]*> nop ++0000a288 <[^>]*> nop ++0000a28c <[^>]*> nop ++0000a290 <[^>]*> nop ++0000a294 <[^>]*> nop ++0000a298 <[^>]*> nop ++0000a29c <[^>]*> nop ++0000a2a0 <[^>]*> nop ++0000a2a4 <[^>]*> nop ++0000a2a8 <[^>]*> nop ++0000a2ac <[^>]*> nop ++0000a2b0 <[^>]*> nop ++0000a2b4 <[^>]*> nop ++0000a2b8 <[^>]*> nop ++0000a2bc <[^>]*> nop ++0000a2c0 <[^>]*> nop ++0000a2c4 <[^>]*> nop ++0000a2c8 <[^>]*> nop ++0000a2cc <[^>]*> nop ++0000a2d0 <[^>]*> nop ++0000a2d4 <[^>]*> nop ++0000a2d8 <[^>]*> nop ++0000a2dc <[^>]*> nop ++0000a2e0 <[^>]*> nop ++0000a2e4 <[^>]*> nop ++0000a2e8 <[^>]*> nop ++0000a2ec <[^>]*> nop ++0000a2f0 <[^>]*> nop ++0000a2f4 <[^>]*> nop ++0000a2f8 <[^>]*> nop ++0000a2fc <[^>]*> nop ++0000a300 <[^>]*> nop ++0000a304 <[^>]*> nop ++0000a308 <[^>]*> nop ++0000a30c <[^>]*> nop ++0000a310 <[^>]*> nop ++0000a314 <[^>]*> nop ++0000a318 <[^>]*> nop ++0000a31c <[^>]*> nop ++0000a320 <[^>]*> nop ++0000a324 <[^>]*> nop ++0000a328 <[^>]*> nop ++0000a32c <[^>]*> nop ++0000a330 <[^>]*> nop ++0000a334 <[^>]*> nop ++0000a338 <[^>]*> nop ++0000a33c <[^>]*> nop ++0000a340 <[^>]*> nop ++0000a344 <[^>]*> nop ++0000a348 <[^>]*> nop ++0000a34c <[^>]*> nop ++0000a350 <[^>]*> nop ++0000a354 <[^>]*> nop ++0000a358 <[^>]*> nop ++0000a35c <[^>]*> nop ++0000a360 <[^>]*> nop ++0000a364 <[^>]*> nop ++0000a368 <[^>]*> nop ++0000a36c <[^>]*> nop ++0000a370 <[^>]*> nop ++0000a374 <[^>]*> nop ++0000a378 <[^>]*> nop ++0000a37c <[^>]*> nop ++0000a380 <[^>]*> nop ++0000a384 <[^>]*> nop ++0000a388 <[^>]*> nop ++0000a38c <[^>]*> nop ++0000a390 <[^>]*> nop ++0000a394 <[^>]*> nop ++0000a398 <[^>]*> nop ++0000a39c <[^>]*> nop ++0000a3a0 <[^>]*> nop ++0000a3a4 <[^>]*> nop ++0000a3a8 <[^>]*> nop ++0000a3ac <[^>]*> nop ++0000a3b0 <[^>]*> nop ++0000a3b4 <[^>]*> nop ++0000a3b8 <[^>]*> nop ++0000a3bc <[^>]*> nop ++0000a3c0 <[^>]*> nop ++0000a3c4 <[^>]*> nop ++0000a3c8 <[^>]*> nop ++0000a3cc <[^>]*> nop ++0000a3d0 <[^>]*> nop ++0000a3d4 <[^>]*> nop ++0000a3d8 <[^>]*> nop ++0000a3dc <[^>]*> nop ++0000a3e0 <[^>]*> nop ++0000a3e4 <[^>]*> nop ++0000a3e8 <[^>]*> nop ++0000a3ec <[^>]*> nop ++0000a3f0 <[^>]*> nop ++0000a3f4 <[^>]*> nop ++0000a3f8 <[^>]*> nop ++0000a3fc <[^>]*> nop ++0000a400 <[^>]*> nop ++0000a404 <[^>]*> nop ++0000a408 <[^>]*> nop ++0000a40c <[^>]*> nop ++0000a410 <[^>]*> nop ++0000a414 <[^>]*> nop ++0000a418 <[^>]*> nop ++0000a41c <[^>]*> nop ++0000a420 <[^>]*> nop ++0000a424 <[^>]*> nop ++0000a428 <[^>]*> nop ++0000a42c <[^>]*> nop ++0000a430 <[^>]*> nop ++0000a434 <[^>]*> nop ++0000a438 <[^>]*> nop ++0000a43c <[^>]*> nop ++0000a440 <[^>]*> nop ++0000a444 <[^>]*> nop ++0000a448 <[^>]*> nop ++0000a44c <[^>]*> nop ++0000a450 <[^>]*> nop ++0000a454 <[^>]*> nop ++0000a458 <[^>]*> nop ++0000a45c <[^>]*> nop ++0000a460 <[^>]*> nop ++0000a464 <[^>]*> nop ++0000a468 <[^>]*> nop ++0000a46c <[^>]*> nop ++0000a470 <[^>]*> nop ++0000a474 <[^>]*> nop ++0000a478 <[^>]*> nop ++0000a47c <[^>]*> nop ++0000a480 <[^>]*> nop ++0000a484 <[^>]*> nop ++0000a488 <[^>]*> nop ++0000a48c <[^>]*> nop ++0000a490 <[^>]*> nop ++0000a494 <[^>]*> nop ++0000a498 <[^>]*> nop ++0000a49c <[^>]*> nop ++0000a4a0 <[^>]*> nop ++0000a4a4 <[^>]*> nop ++0000a4a8 <[^>]*> nop ++0000a4ac <[^>]*> nop ++0000a4b0 <[^>]*> nop ++0000a4b4 <[^>]*> nop ++0000a4b8 <[^>]*> nop ++0000a4bc <[^>]*> nop ++0000a4c0 <[^>]*> nop ++0000a4c4 <[^>]*> nop ++0000a4c8 <[^>]*> nop ++0000a4cc <[^>]*> nop ++0000a4d0 <[^>]*> nop ++0000a4d4 <[^>]*> nop ++0000a4d8 <[^>]*> nop ++0000a4dc <[^>]*> nop ++0000a4e0 <[^>]*> nop ++0000a4e4 <[^>]*> nop ++0000a4e8 <[^>]*> nop ++0000a4ec <[^>]*> nop ++0000a4f0 <[^>]*> nop ++0000a4f4 <[^>]*> nop ++0000a4f8 <[^>]*> nop ++0000a4fc <[^>]*> nop ++0000a500 <[^>]*> nop ++0000a504 <[^>]*> nop ++0000a508 <[^>]*> nop ++0000a50c <[^>]*> nop ++0000a510 <[^>]*> nop ++0000a514 <[^>]*> nop ++0000a518 <[^>]*> nop ++0000a51c <[^>]*> nop ++0000a520 <[^>]*> nop ++0000a524 <[^>]*> nop ++0000a528 <[^>]*> nop ++0000a52c <[^>]*> nop ++0000a530 <[^>]*> nop ++0000a534 <[^>]*> nop ++0000a538 <[^>]*> nop ++0000a53c <[^>]*> nop ++0000a540 <[^>]*> nop ++0000a544 <[^>]*> nop ++0000a548 <[^>]*> nop ++0000a54c <[^>]*> nop ++0000a550 <[^>]*> nop ++0000a554 <[^>]*> nop ++0000a558 <[^>]*> nop ++0000a55c <[^>]*> nop ++0000a560 <[^>]*> nop ++0000a564 <[^>]*> nop ++0000a568 <[^>]*> nop ++0000a56c <[^>]*> nop ++0000a570 <[^>]*> nop ++0000a574 <[^>]*> nop ++0000a578 <[^>]*> nop ++0000a57c <[^>]*> nop ++0000a580 <[^>]*> nop ++0000a584 <[^>]*> nop ++0000a588 <[^>]*> nop ++0000a58c <[^>]*> nop ++0000a590 <[^>]*> nop ++0000a594 <[^>]*> nop ++0000a598 <[^>]*> nop ++0000a59c <[^>]*> nop ++0000a5a0 <[^>]*> nop ++0000a5a4 <[^>]*> nop ++0000a5a8 <[^>]*> nop ++0000a5ac <[^>]*> nop ++0000a5b0 <[^>]*> nop ++0000a5b4 <[^>]*> nop ++0000a5b8 <[^>]*> nop ++0000a5bc <[^>]*> nop ++0000a5c0 <[^>]*> nop ++0000a5c4 <[^>]*> nop ++0000a5c8 <[^>]*> nop ++0000a5cc <[^>]*> nop ++0000a5d0 <[^>]*> nop ++0000a5d4 <[^>]*> nop ++0000a5d8 <[^>]*> nop ++0000a5dc <[^>]*> nop ++0000a5e0 <[^>]*> nop ++0000a5e4 <[^>]*> nop ++0000a5e8 <[^>]*> nop ++0000a5ec <[^>]*> nop ++0000a5f0 <[^>]*> nop ++0000a5f4 <[^>]*> nop ++0000a5f8 <[^>]*> nop ++0000a5fc <[^>]*> nop ++0000a600 <[^>]*> nop ++0000a604 <[^>]*> nop ++0000a608 <[^>]*> nop ++0000a60c <[^>]*> nop ++0000a610 <[^>]*> nop ++0000a614 <[^>]*> nop ++0000a618 <[^>]*> nop ++0000a61c <[^>]*> nop ++0000a620 <[^>]*> nop ++0000a624 <[^>]*> nop ++0000a628 <[^>]*> nop ++0000a62c <[^>]*> nop ++0000a630 <[^>]*> nop ++0000a634 <[^>]*> nop ++0000a638 <[^>]*> nop ++0000a63c <[^>]*> nop ++0000a640 <[^>]*> nop ++0000a644 <[^>]*> nop ++0000a648 <[^>]*> nop ++0000a64c <[^>]*> nop ++0000a650 <[^>]*> nop ++0000a654 <[^>]*> nop ++0000a658 <[^>]*> nop ++0000a65c <[^>]*> nop ++0000a660 <[^>]*> nop ++0000a664 <[^>]*> nop ++0000a668 <[^>]*> nop ++0000a66c <[^>]*> nop ++0000a670 <[^>]*> nop ++0000a674 <[^>]*> nop ++0000a678 <[^>]*> nop ++0000a67c <[^>]*> nop ++0000a680 <[^>]*> nop ++0000a684 <[^>]*> nop ++0000a688 <[^>]*> nop ++0000a68c <[^>]*> nop ++0000a690 <[^>]*> nop ++0000a694 <[^>]*> nop ++0000a698 <[^>]*> nop ++0000a69c <[^>]*> nop ++0000a6a0 <[^>]*> nop ++0000a6a4 <[^>]*> nop ++0000a6a8 <[^>]*> nop ++0000a6ac <[^>]*> nop ++0000a6b0 <[^>]*> nop ++0000a6b4 <[^>]*> nop ++0000a6b8 <[^>]*> nop ++0000a6bc <[^>]*> nop ++0000a6c0 <[^>]*> nop ++0000a6c4 <[^>]*> nop ++0000a6c8 <[^>]*> nop ++0000a6cc <[^>]*> nop ++0000a6d0 <[^>]*> nop ++0000a6d4 <[^>]*> nop ++0000a6d8 <[^>]*> nop ++0000a6dc <[^>]*> nop ++0000a6e0 <[^>]*> nop ++0000a6e4 <[^>]*> nop ++0000a6e8 <[^>]*> nop ++0000a6ec <[^>]*> nop ++0000a6f0 <[^>]*> nop ++0000a6f4 <[^>]*> nop ++0000a6f8 <[^>]*> nop ++0000a6fc <[^>]*> nop ++0000a700 <[^>]*> nop ++0000a704 <[^>]*> nop ++0000a708 <[^>]*> nop ++0000a70c <[^>]*> nop ++0000a710 <[^>]*> nop ++0000a714 <[^>]*> nop ++0000a718 <[^>]*> nop ++0000a71c <[^>]*> nop ++0000a720 <[^>]*> nop ++0000a724 <[^>]*> nop ++0000a728 <[^>]*> nop ++0000a72c <[^>]*> nop ++0000a730 <[^>]*> nop ++0000a734 <[^>]*> nop ++0000a738 <[^>]*> nop ++0000a73c <[^>]*> nop ++0000a740 <[^>]*> nop ++0000a744 <[^>]*> nop ++0000a748 <[^>]*> nop ++0000a74c <[^>]*> nop ++0000a750 <[^>]*> nop ++0000a754 <[^>]*> nop ++0000a758 <[^>]*> nop ++0000a75c <[^>]*> nop ++0000a760 <[^>]*> nop ++0000a764 <[^>]*> nop ++0000a768 <[^>]*> nop ++0000a76c <[^>]*> nop ++0000a770 <[^>]*> nop ++0000a774 <[^>]*> nop ++0000a778 <[^>]*> nop ++0000a77c <[^>]*> nop ++0000a780 <[^>]*> nop ++0000a784 <[^>]*> nop ++0000a788 <[^>]*> nop ++0000a78c <[^>]*> nop ++0000a790 <[^>]*> nop ++0000a794 <[^>]*> nop ++0000a798 <[^>]*> nop ++0000a79c <[^>]*> nop ++0000a7a0 <[^>]*> nop ++0000a7a4 <[^>]*> nop ++0000a7a8 <[^>]*> nop ++0000a7ac <[^>]*> nop ++0000a7b0 <[^>]*> nop ++0000a7b4 <[^>]*> nop ++0000a7b8 <[^>]*> nop ++0000a7bc <[^>]*> nop ++0000a7c0 <[^>]*> nop ++0000a7c4 <[^>]*> nop ++0000a7c8 <[^>]*> nop ++0000a7cc <[^>]*> nop ++0000a7d0 <[^>]*> nop ++0000a7d4 <[^>]*> nop ++0000a7d8 <[^>]*> nop ++0000a7dc <[^>]*> nop ++0000a7e0 <[^>]*> nop ++0000a7e4 <[^>]*> nop ++0000a7e8 <[^>]*> nop ++0000a7ec <[^>]*> nop ++0000a7f0 <[^>]*> nop ++0000a7f4 <[^>]*> nop ++0000a7f8 <[^>]*> nop ++0000a7fc <[^>]*> nop ++0000a800 <[^>]*> nop ++0000a804 <[^>]*> nop ++0000a808 <[^>]*> nop ++0000a80c <[^>]*> nop ++0000a810 <[^>]*> nop ++0000a814 <[^>]*> nop ++0000a818 <[^>]*> nop ++0000a81c <[^>]*> nop ++0000a820 <[^>]*> nop ++0000a824 <[^>]*> nop ++0000a828 <[^>]*> nop ++0000a82c <[^>]*> nop ++0000a830 <[^>]*> nop ++0000a834 <[^>]*> nop ++0000a838 <[^>]*> nop ++0000a83c <[^>]*> nop ++0000a840 <[^>]*> nop ++0000a844 <[^>]*> nop ++0000a848 <[^>]*> nop ++0000a84c <[^>]*> nop ++0000a850 <[^>]*> nop ++0000a854 <[^>]*> nop ++0000a858 <[^>]*> nop ++0000a85c <[^>]*> nop ++0000a860 <[^>]*> nop ++0000a864 <[^>]*> nop ++0000a868 <[^>]*> nop ++0000a86c <[^>]*> nop ++0000a870 <[^>]*> nop ++0000a874 <[^>]*> nop ++0000a878 <[^>]*> nop ++0000a87c <[^>]*> nop ++0000a880 <[^>]*> nop ++0000a884 <[^>]*> nop ++0000a888 <[^>]*> nop ++0000a88c <[^>]*> nop ++0000a890 <[^>]*> nop ++0000a894 <[^>]*> nop ++0000a898 <[^>]*> nop ++0000a89c <[^>]*> nop ++0000a8a0 <[^>]*> nop ++0000a8a4 <[^>]*> nop ++0000a8a8 <[^>]*> nop ++0000a8ac <[^>]*> nop ++0000a8b0 <[^>]*> nop ++0000a8b4 <[^>]*> nop ++0000a8b8 <[^>]*> nop ++0000a8bc <[^>]*> nop ++0000a8c0 <[^>]*> nop ++0000a8c4 <[^>]*> nop ++0000a8c8 <[^>]*> nop ++0000a8cc <[^>]*> nop ++0000a8d0 <[^>]*> nop ++0000a8d4 <[^>]*> nop ++0000a8d8 <[^>]*> nop ++0000a8dc <[^>]*> nop ++0000a8e0 <[^>]*> nop ++0000a8e4 <[^>]*> nop ++0000a8e8 <[^>]*> nop ++0000a8ec <[^>]*> nop ++0000a8f0 <[^>]*> nop ++0000a8f4 <[^>]*> nop ++0000a8f8 <[^>]*> nop ++0000a8fc <[^>]*> nop ++0000a900 <[^>]*> nop ++0000a904 <[^>]*> nop ++0000a908 <[^>]*> nop ++0000a90c <[^>]*> nop ++0000a910 <[^>]*> nop ++0000a914 <[^>]*> nop ++0000a918 <[^>]*> nop ++0000a91c <[^>]*> nop ++0000a920 <[^>]*> nop ++0000a924 <[^>]*> nop ++0000a928 <[^>]*> nop ++0000a92c <[^>]*> nop ++0000a930 <[^>]*> nop ++0000a934 <[^>]*> nop ++0000a938 <[^>]*> nop ++0000a93c <[^>]*> nop ++0000a940 <[^>]*> nop ++0000a944 <[^>]*> nop ++0000a948 <[^>]*> nop ++0000a94c <[^>]*> nop ++0000a950 <[^>]*> nop ++0000a954 <[^>]*> nop ++0000a958 <[^>]*> nop ++0000a95c <[^>]*> nop ++0000a960 <[^>]*> nop ++0000a964 <[^>]*> nop ++0000a968 <[^>]*> nop ++0000a96c <[^>]*> nop ++0000a970 <[^>]*> nop ++0000a974 <[^>]*> nop ++0000a978 <[^>]*> nop ++0000a97c <[^>]*> nop ++0000a980 <[^>]*> nop ++0000a984 <[^>]*> nop ++0000a988 <[^>]*> nop ++0000a98c <[^>]*> nop ++0000a990 <[^>]*> nop ++0000a994 <[^>]*> nop ++0000a998 <[^>]*> nop ++0000a99c <[^>]*> nop ++0000a9a0 <[^>]*> nop ++0000a9a4 <[^>]*> nop ++0000a9a8 <[^>]*> nop ++0000a9ac <[^>]*> nop ++0000a9b0 <[^>]*> nop ++0000a9b4 <[^>]*> nop ++0000a9b8 <[^>]*> nop ++0000a9bc <[^>]*> nop ++0000a9c0 <[^>]*> nop ++0000a9c4 <[^>]*> nop ++0000a9c8 <[^>]*> nop ++0000a9cc <[^>]*> nop ++0000a9d0 <[^>]*> nop ++0000a9d4 <[^>]*> nop ++0000a9d8 <[^>]*> nop ++0000a9dc <[^>]*> nop ++0000a9e0 <[^>]*> nop ++0000a9e4 <[^>]*> nop ++0000a9e8 <[^>]*> nop ++0000a9ec <[^>]*> nop ++0000a9f0 <[^>]*> nop ++0000a9f4 <[^>]*> nop ++0000a9f8 <[^>]*> nop ++0000a9fc <[^>]*> nop ++0000aa00 <[^>]*> nop ++0000aa04 <[^>]*> nop ++0000aa08 <[^>]*> nop ++0000aa0c <[^>]*> nop ++0000aa10 <[^>]*> nop ++0000aa14 <[^>]*> nop ++0000aa18 <[^>]*> nop ++0000aa1c <[^>]*> nop ++0000aa20 <[^>]*> nop ++0000aa24 <[^>]*> nop ++0000aa28 <[^>]*> nop ++0000aa2c <[^>]*> nop ++0000aa30 <[^>]*> nop ++0000aa34 <[^>]*> nop ++0000aa38 <[^>]*> nop ++0000aa3c <[^>]*> nop ++0000aa40 <[^>]*> nop ++0000aa44 <[^>]*> nop ++0000aa48 <[^>]*> nop ++0000aa4c <[^>]*> nop ++0000aa50 <[^>]*> nop ++0000aa54 <[^>]*> nop ++0000aa58 <[^>]*> nop ++0000aa5c <[^>]*> nop ++0000aa60 <[^>]*> nop ++0000aa64 <[^>]*> nop ++0000aa68 <[^>]*> nop ++0000aa6c <[^>]*> nop ++0000aa70 <[^>]*> nop ++0000aa74 <[^>]*> nop ++0000aa78 <[^>]*> nop ++0000aa7c <[^>]*> nop ++0000aa80 <[^>]*> nop ++0000aa84 <[^>]*> nop ++0000aa88 <[^>]*> nop ++0000aa8c <[^>]*> nop ++0000aa90 <[^>]*> nop ++0000aa94 <[^>]*> nop ++0000aa98 <[^>]*> nop ++0000aa9c <[^>]*> nop ++0000aaa0 <[^>]*> nop ++0000aaa4 <[^>]*> nop ++0000aaa8 <[^>]*> nop ++0000aaac <[^>]*> nop ++0000aab0 <[^>]*> nop ++0000aab4 <[^>]*> nop ++0000aab8 <[^>]*> nop ++0000aabc <[^>]*> nop ++0000aac0 <[^>]*> nop ++0000aac4 <[^>]*> nop ++0000aac8 <[^>]*> nop ++0000aacc <[^>]*> nop ++0000aad0 <[^>]*> nop ++0000aad4 <[^>]*> nop ++0000aad8 <[^>]*> nop ++0000aadc <[^>]*> nop ++0000aae0 <[^>]*> nop ++0000aae4 <[^>]*> nop ++0000aae8 <[^>]*> nop ++0000aaec <[^>]*> nop ++0000aaf0 <[^>]*> nop ++0000aaf4 <[^>]*> nop ++0000aaf8 <[^>]*> nop ++0000aafc <[^>]*> nop ++0000ab00 <[^>]*> nop ++0000ab04 <[^>]*> nop ++0000ab08 <[^>]*> nop ++0000ab0c <[^>]*> nop ++0000ab10 <[^>]*> nop ++0000ab14 <[^>]*> nop ++0000ab18 <[^>]*> nop ++0000ab1c <[^>]*> nop ++0000ab20 <[^>]*> nop ++0000ab24 <[^>]*> nop ++0000ab28 <[^>]*> nop ++0000ab2c <[^>]*> nop ++0000ab30 <[^>]*> nop ++0000ab34 <[^>]*> nop ++0000ab38 <[^>]*> nop ++0000ab3c <[^>]*> nop ++0000ab40 <[^>]*> nop ++0000ab44 <[^>]*> nop ++0000ab48 <[^>]*> nop ++0000ab4c <[^>]*> nop ++0000ab50 <[^>]*> nop ++0000ab54 <[^>]*> nop ++0000ab58 <[^>]*> nop ++0000ab5c <[^>]*> nop ++0000ab60 <[^>]*> nop ++0000ab64 <[^>]*> nop ++0000ab68 <[^>]*> nop ++0000ab6c <[^>]*> nop ++0000ab70 <[^>]*> nop ++0000ab74 <[^>]*> nop ++0000ab78 <[^>]*> nop ++0000ab7c <[^>]*> nop ++0000ab80 <[^>]*> nop ++0000ab84 <[^>]*> nop ++0000ab88 <[^>]*> nop ++0000ab8c <[^>]*> nop ++0000ab90 <[^>]*> nop ++0000ab94 <[^>]*> nop ++0000ab98 <[^>]*> nop ++0000ab9c <[^>]*> nop ++0000aba0 <[^>]*> nop ++0000aba4 <[^>]*> nop ++0000aba8 <[^>]*> nop ++0000abac <[^>]*> nop ++0000abb0 <[^>]*> nop ++0000abb4 <[^>]*> nop ++0000abb8 <[^>]*> nop ++0000abbc <[^>]*> nop ++0000abc0 <[^>]*> nop ++0000abc4 <[^>]*> nop ++0000abc8 <[^>]*> nop ++0000abcc <[^>]*> nop ++0000abd0 <[^>]*> nop ++0000abd4 <[^>]*> nop ++0000abd8 <[^>]*> nop ++0000abdc <[^>]*> nop ++0000abe0 <[^>]*> nop ++0000abe4 <[^>]*> nop ++0000abe8 <[^>]*> nop ++0000abec <[^>]*> nop ++0000abf0 <[^>]*> nop ++0000abf4 <[^>]*> nop ++0000abf8 <[^>]*> nop ++0000abfc <[^>]*> nop ++0000ac00 <[^>]*> nop ++0000ac04 <[^>]*> nop ++0000ac08 <[^>]*> nop ++0000ac0c <[^>]*> nop ++0000ac10 <[^>]*> nop ++0000ac14 <[^>]*> nop ++0000ac18 <[^>]*> nop ++0000ac1c <[^>]*> nop ++0000ac20 <[^>]*> nop ++0000ac24 <[^>]*> nop ++0000ac28 <[^>]*> nop ++0000ac2c <[^>]*> nop ++0000ac30 <[^>]*> nop ++0000ac34 <[^>]*> nop ++0000ac38 <[^>]*> nop ++0000ac3c <[^>]*> nop ++0000ac40 <[^>]*> nop ++0000ac44 <[^>]*> nop ++0000ac48 <[^>]*> nop ++0000ac4c <[^>]*> nop ++0000ac50 <[^>]*> nop ++0000ac54 <[^>]*> nop ++0000ac58 <[^>]*> nop ++0000ac5c <[^>]*> nop ++0000ac60 <[^>]*> nop ++0000ac64 <[^>]*> nop ++0000ac68 <[^>]*> nop ++0000ac6c <[^>]*> nop ++0000ac70 <[^>]*> nop ++0000ac74 <[^>]*> nop ++0000ac78 <[^>]*> nop ++0000ac7c <[^>]*> nop ++0000ac80 <[^>]*> nop ++0000ac84 <[^>]*> nop ++0000ac88 <[^>]*> nop ++0000ac8c <[^>]*> nop ++0000ac90 <[^>]*> nop ++0000ac94 <[^>]*> nop ++0000ac98 <[^>]*> nop ++0000ac9c <[^>]*> nop ++0000aca0 <[^>]*> nop ++0000aca4 <[^>]*> nop ++0000aca8 <[^>]*> nop ++0000acac <[^>]*> nop ++0000acb0 <[^>]*> nop ++0000acb4 <[^>]*> nop ++0000acb8 <[^>]*> nop ++0000acbc <[^>]*> nop ++0000acc0 <[^>]*> nop ++0000acc4 <[^>]*> nop ++0000acc8 <[^>]*> nop ++0000accc <[^>]*> nop ++0000acd0 <[^>]*> nop ++0000acd4 <[^>]*> nop ++0000acd8 <[^>]*> nop ++0000acdc <[^>]*> nop ++0000ace0 <[^>]*> nop ++0000ace4 <[^>]*> nop ++0000ace8 <[^>]*> nop ++0000acec <[^>]*> nop ++0000acf0 <[^>]*> nop ++0000acf4 <[^>]*> nop ++0000acf8 <[^>]*> nop ++0000acfc <[^>]*> nop ++0000ad00 <[^>]*> nop ++0000ad04 <[^>]*> nop ++0000ad08 <[^>]*> nop ++0000ad0c <[^>]*> nop ++0000ad10 <[^>]*> nop ++0000ad14 <[^>]*> nop ++0000ad18 <[^>]*> nop ++0000ad1c <[^>]*> nop ++0000ad20 <[^>]*> nop ++0000ad24 <[^>]*> nop ++0000ad28 <[^>]*> nop ++0000ad2c <[^>]*> nop ++0000ad30 <[^>]*> nop ++0000ad34 <[^>]*> nop ++0000ad38 <[^>]*> nop ++0000ad3c <[^>]*> nop ++0000ad40 <[^>]*> nop ++0000ad44 <[^>]*> nop ++0000ad48 <[^>]*> nop ++0000ad4c <[^>]*> nop ++0000ad50 <[^>]*> nop ++0000ad54 <[^>]*> nop ++0000ad58 <[^>]*> nop ++0000ad5c <[^>]*> nop ++0000ad60 <[^>]*> nop ++0000ad64 <[^>]*> nop ++0000ad68 <[^>]*> nop ++0000ad6c <[^>]*> nop ++0000ad70 <[^>]*> nop ++0000ad74 <[^>]*> nop ++0000ad78 <[^>]*> nop ++0000ad7c <[^>]*> nop ++0000ad80 <[^>]*> nop ++0000ad84 <[^>]*> nop ++0000ad88 <[^>]*> nop ++0000ad8c <[^>]*> nop ++0000ad90 <[^>]*> nop ++0000ad94 <[^>]*> nop ++0000ad98 <[^>]*> nop ++0000ad9c <[^>]*> nop ++0000ada0 <[^>]*> nop ++0000ada4 <[^>]*> nop ++0000ada8 <[^>]*> nop ++0000adac <[^>]*> nop ++0000adb0 <[^>]*> nop ++0000adb4 <[^>]*> nop ++0000adb8 <[^>]*> nop ++0000adbc <[^>]*> nop ++0000adc0 <[^>]*> nop ++0000adc4 <[^>]*> nop ++0000adc8 <[^>]*> nop ++0000adcc <[^>]*> nop ++0000add0 <[^>]*> nop ++0000add4 <[^>]*> nop ++0000add8 <[^>]*> nop ++0000addc <[^>]*> nop ++0000ade0 <[^>]*> nop ++0000ade4 <[^>]*> nop ++0000ade8 <[^>]*> nop ++0000adec <[^>]*> nop ++0000adf0 <[^>]*> nop ++0000adf4 <[^>]*> nop ++0000adf8 <[^>]*> nop ++0000adfc <[^>]*> nop ++0000ae00 <[^>]*> nop ++0000ae04 <[^>]*> nop ++0000ae08 <[^>]*> nop ++0000ae0c <[^>]*> nop ++0000ae10 <[^>]*> nop ++0000ae14 <[^>]*> nop ++0000ae18 <[^>]*> nop ++0000ae1c <[^>]*> nop ++0000ae20 <[^>]*> nop ++0000ae24 <[^>]*> nop ++0000ae28 <[^>]*> nop ++0000ae2c <[^>]*> nop ++0000ae30 <[^>]*> nop ++0000ae34 <[^>]*> nop ++0000ae38 <[^>]*> nop ++0000ae3c <[^>]*> nop ++0000ae40 <[^>]*> nop ++0000ae44 <[^>]*> nop ++0000ae48 <[^>]*> nop ++0000ae4c <[^>]*> nop ++0000ae50 <[^>]*> nop ++0000ae54 <[^>]*> nop ++0000ae58 <[^>]*> nop ++0000ae5c <[^>]*> nop ++0000ae60 <[^>]*> nop ++0000ae64 <[^>]*> nop ++0000ae68 <[^>]*> nop ++0000ae6c <[^>]*> nop ++0000ae70 <[^>]*> nop ++0000ae74 <[^>]*> nop ++0000ae78 <[^>]*> nop ++0000ae7c <[^>]*> nop ++0000ae80 <[^>]*> nop ++0000ae84 <[^>]*> nop ++0000ae88 <[^>]*> nop ++0000ae8c <[^>]*> nop ++0000ae90 <[^>]*> nop ++0000ae94 <[^>]*> nop ++0000ae98 <[^>]*> nop ++0000ae9c <[^>]*> nop ++0000aea0 <[^>]*> nop ++0000aea4 <[^>]*> nop ++0000aea8 <[^>]*> nop ++0000aeac <[^>]*> nop ++0000aeb0 <[^>]*> nop ++0000aeb4 <[^>]*> nop ++0000aeb8 <[^>]*> nop ++0000aebc <[^>]*> nop ++0000aec0 <[^>]*> nop ++0000aec4 <[^>]*> nop ++0000aec8 <[^>]*> nop ++0000aecc <[^>]*> nop ++0000aed0 <[^>]*> nop ++0000aed4 <[^>]*> nop ++0000aed8 <[^>]*> nop ++0000aedc <[^>]*> nop ++0000aee0 <[^>]*> nop ++0000aee4 <[^>]*> nop ++0000aee8 <[^>]*> nop ++0000aeec <[^>]*> nop ++0000aef0 <[^>]*> nop ++0000aef4 <[^>]*> nop ++0000aef8 <[^>]*> nop ++0000aefc <[^>]*> nop ++0000af00 <[^>]*> nop ++0000af04 <[^>]*> nop ++0000af08 <[^>]*> nop ++0000af0c <[^>]*> nop ++0000af10 <[^>]*> nop ++0000af14 <[^>]*> nop ++0000af18 <[^>]*> nop ++0000af1c <[^>]*> nop ++0000af20 <[^>]*> nop ++0000af24 <[^>]*> nop ++0000af28 <[^>]*> nop ++0000af2c <[^>]*> nop ++0000af30 <[^>]*> nop ++0000af34 <[^>]*> nop ++0000af38 <[^>]*> nop ++0000af3c <[^>]*> nop ++0000af40 <[^>]*> nop ++0000af44 <[^>]*> nop ++0000af48 <[^>]*> nop ++0000af4c <[^>]*> nop ++0000af50 <[^>]*> nop ++0000af54 <[^>]*> nop ++0000af58 <[^>]*> nop ++0000af5c <[^>]*> nop ++0000af60 <[^>]*> nop ++0000af64 <[^>]*> nop ++0000af68 <[^>]*> nop ++0000af6c <[^>]*> nop ++0000af70 <[^>]*> nop ++0000af74 <[^>]*> nop ++0000af78 <[^>]*> nop ++0000af7c <[^>]*> nop ++0000af80 <[^>]*> nop ++0000af84 <[^>]*> nop ++0000af88 <[^>]*> nop ++0000af8c <[^>]*> nop ++0000af90 <[^>]*> nop ++0000af94 <[^>]*> nop ++0000af98 <[^>]*> nop ++0000af9c <[^>]*> nop ++0000afa0 <[^>]*> nop ++0000afa4 <[^>]*> nop ++0000afa8 <[^>]*> nop ++0000afac <[^>]*> nop ++0000afb0 <[^>]*> nop ++0000afb4 <[^>]*> nop ++0000afb8 <[^>]*> nop ++0000afbc <[^>]*> nop ++0000afc0 <[^>]*> nop ++0000afc4 <[^>]*> nop ++0000afc8 <[^>]*> nop ++0000afcc <[^>]*> nop ++0000afd0 <[^>]*> nop ++0000afd4 <[^>]*> nop ++0000afd8 <[^>]*> nop ++0000afdc <[^>]*> nop ++0000afe0 <[^>]*> nop ++0000afe4 <[^>]*> nop ++0000afe8 <[^>]*> nop ++0000afec <[^>]*> nop ++0000aff0 <[^>]*> nop ++0000aff4 <[^>]*> nop ++0000aff8 <[^>]*> nop ++0000affc <[^>]*> nop ++0000b000 <[^>]*> nop ++0000b004 <[^>]*> nop ++0000b008 <[^>]*> nop ++0000b00c <[^>]*> nop ++0000b010 <[^>]*> nop ++0000b014 <[^>]*> nop ++0000b018 <[^>]*> nop ++0000b01c <[^>]*> nop ++0000b020 <[^>]*> nop ++0000b024 <[^>]*> nop ++0000b028 <[^>]*> nop ++0000b02c <[^>]*> nop ++0000b030 <[^>]*> nop ++0000b034 <[^>]*> nop ++0000b038 <[^>]*> nop ++0000b03c <[^>]*> nop ++0000b040 <[^>]*> nop ++0000b044 <[^>]*> nop ++0000b048 <[^>]*> nop ++0000b04c <[^>]*> nop ++0000b050 <[^>]*> nop ++0000b054 <[^>]*> nop ++0000b058 <[^>]*> nop ++0000b05c <[^>]*> nop ++0000b060 <[^>]*> nop ++0000b064 <[^>]*> nop ++0000b068 <[^>]*> nop ++0000b06c <[^>]*> nop ++0000b070 <[^>]*> nop ++0000b074 <[^>]*> nop ++0000b078 <[^>]*> nop ++0000b07c <[^>]*> nop ++0000b080 <[^>]*> nop ++0000b084 <[^>]*> nop ++0000b088 <[^>]*> nop ++0000b08c <[^>]*> nop ++0000b090 <[^>]*> nop ++0000b094 <[^>]*> nop ++0000b098 <[^>]*> nop ++0000b09c <[^>]*> nop ++0000b0a0 <[^>]*> nop ++0000b0a4 <[^>]*> nop ++0000b0a8 <[^>]*> nop ++0000b0ac <[^>]*> nop ++0000b0b0 <[^>]*> nop ++0000b0b4 <[^>]*> nop ++0000b0b8 <[^>]*> nop ++0000b0bc <[^>]*> nop ++0000b0c0 <[^>]*> nop ++0000b0c4 <[^>]*> nop ++0000b0c8 <[^>]*> nop ++0000b0cc <[^>]*> nop ++0000b0d0 <[^>]*> nop ++0000b0d4 <[^>]*> nop ++0000b0d8 <[^>]*> nop ++0000b0dc <[^>]*> nop ++0000b0e0 <[^>]*> nop ++0000b0e4 <[^>]*> nop ++0000b0e8 <[^>]*> nop ++0000b0ec <[^>]*> nop ++0000b0f0 <[^>]*> nop ++0000b0f4 <[^>]*> nop ++0000b0f8 <[^>]*> nop ++0000b0fc <[^>]*> nop ++0000b100 <[^>]*> nop ++0000b104 <[^>]*> nop ++0000b108 <[^>]*> nop ++0000b10c <[^>]*> nop ++0000b110 <[^>]*> nop ++0000b114 <[^>]*> nop ++0000b118 <[^>]*> nop ++0000b11c <[^>]*> nop ++0000b120 <[^>]*> nop ++0000b124 <[^>]*> nop ++0000b128 <[^>]*> nop ++0000b12c <[^>]*> nop ++0000b130 <[^>]*> nop ++0000b134 <[^>]*> nop ++0000b138 <[^>]*> nop ++0000b13c <[^>]*> nop ++0000b140 <[^>]*> nop ++0000b144 <[^>]*> nop ++0000b148 <[^>]*> nop ++0000b14c <[^>]*> nop ++0000b150 <[^>]*> nop ++0000b154 <[^>]*> nop ++0000b158 <[^>]*> nop ++0000b15c <[^>]*> nop ++0000b160 <[^>]*> nop ++0000b164 <[^>]*> nop ++0000b168 <[^>]*> nop ++0000b16c <[^>]*> nop ++0000b170 <[^>]*> nop ++0000b174 <[^>]*> nop ++0000b178 <[^>]*> nop ++0000b17c <[^>]*> nop ++0000b180 <[^>]*> nop ++0000b184 <[^>]*> nop ++0000b188 <[^>]*> nop ++0000b18c <[^>]*> nop ++0000b190 <[^>]*> nop ++0000b194 <[^>]*> nop ++0000b198 <[^>]*> nop ++0000b19c <[^>]*> nop ++0000b1a0 <[^>]*> nop ++0000b1a4 <[^>]*> nop ++0000b1a8 <[^>]*> nop ++0000b1ac <[^>]*> nop ++0000b1b0 <[^>]*> nop ++0000b1b4 <[^>]*> nop ++0000b1b8 <[^>]*> nop ++0000b1bc <[^>]*> nop ++0000b1c0 <[^>]*> nop ++0000b1c4 <[^>]*> nop ++0000b1c8 <[^>]*> nop ++0000b1cc <[^>]*> nop ++0000b1d0 <[^>]*> nop ++0000b1d4 <[^>]*> nop ++0000b1d8 <[^>]*> nop ++0000b1dc <[^>]*> nop ++0000b1e0 <[^>]*> nop ++0000b1e4 <[^>]*> nop ++0000b1e8 <[^>]*> nop ++0000b1ec <[^>]*> nop ++0000b1f0 <[^>]*> nop ++0000b1f4 <[^>]*> nop ++0000b1f8 <[^>]*> nop ++0000b1fc <[^>]*> nop ++0000b200 <[^>]*> nop ++0000b204 <[^>]*> nop ++0000b208 <[^>]*> nop ++0000b20c <[^>]*> nop ++0000b210 <[^>]*> nop ++0000b214 <[^>]*> nop ++0000b218 <[^>]*> nop ++0000b21c <[^>]*> nop ++0000b220 <[^>]*> nop ++0000b224 <[^>]*> nop ++0000b228 <[^>]*> nop ++0000b22c <[^>]*> nop ++0000b230 <[^>]*> nop ++0000b234 <[^>]*> nop ++0000b238 <[^>]*> nop ++0000b23c <[^>]*> nop ++0000b240 <[^>]*> nop ++0000b244 <[^>]*> nop ++0000b248 <[^>]*> nop ++0000b24c <[^>]*> nop ++0000b250 <[^>]*> nop ++0000b254 <[^>]*> nop ++0000b258 <[^>]*> nop ++0000b25c <[^>]*> nop ++0000b260 <[^>]*> nop ++0000b264 <[^>]*> nop ++0000b268 <[^>]*> nop ++0000b26c <[^>]*> nop ++0000b270 <[^>]*> nop ++0000b274 <[^>]*> nop ++0000b278 <[^>]*> nop ++0000b27c <[^>]*> nop ++0000b280 <[^>]*> nop ++0000b284 <[^>]*> nop ++0000b288 <[^>]*> nop ++0000b28c <[^>]*> nop ++0000b290 <[^>]*> nop ++0000b294 <[^>]*> nop ++0000b298 <[^>]*> nop ++0000b29c <[^>]*> nop ++0000b2a0 <[^>]*> nop ++0000b2a4 <[^>]*> nop ++0000b2a8 <[^>]*> nop ++0000b2ac <[^>]*> nop ++0000b2b0 <[^>]*> nop ++0000b2b4 <[^>]*> nop ++0000b2b8 <[^>]*> nop ++0000b2bc <[^>]*> nop ++0000b2c0 <[^>]*> nop ++0000b2c4 <[^>]*> nop ++0000b2c8 <[^>]*> nop ++0000b2cc <[^>]*> nop ++0000b2d0 <[^>]*> nop ++0000b2d4 <[^>]*> nop ++0000b2d8 <[^>]*> nop ++0000b2dc <[^>]*> nop ++0000b2e0 <[^>]*> nop ++0000b2e4 <[^>]*> nop ++0000b2e8 <[^>]*> nop ++0000b2ec <[^>]*> nop ++0000b2f0 <[^>]*> nop ++0000b2f4 <[^>]*> nop ++0000b2f8 <[^>]*> nop ++0000b2fc <[^>]*> nop ++0000b300 <[^>]*> nop ++0000b304 <[^>]*> nop ++0000b308 <[^>]*> nop ++0000b30c <[^>]*> nop ++0000b310 <[^>]*> nop ++0000b314 <[^>]*> nop ++0000b318 <[^>]*> nop ++0000b31c <[^>]*> nop ++0000b320 <[^>]*> nop ++0000b324 <[^>]*> nop ++0000b328 <[^>]*> nop ++0000b32c <[^>]*> nop ++0000b330 <[^>]*> nop ++0000b334 <[^>]*> nop ++0000b338 <[^>]*> nop ++0000b33c <[^>]*> nop ++0000b340 <[^>]*> nop ++0000b344 <[^>]*> nop ++0000b348 <[^>]*> nop ++0000b34c <[^>]*> nop ++0000b350 <[^>]*> nop ++0000b354 <[^>]*> nop ++0000b358 <[^>]*> nop ++0000b35c <[^>]*> nop ++0000b360 <[^>]*> nop ++0000b364 <[^>]*> nop ++0000b368 <[^>]*> nop ++0000b36c <[^>]*> nop ++0000b370 <[^>]*> nop ++0000b374 <[^>]*> nop ++0000b378 <[^>]*> nop ++0000b37c <[^>]*> nop ++0000b380 <[^>]*> nop ++0000b384 <[^>]*> nop ++0000b388 <[^>]*> nop ++0000b38c <[^>]*> nop ++0000b390 <[^>]*> nop ++0000b394 <[^>]*> nop ++0000b398 <[^>]*> nop ++0000b39c <[^>]*> nop ++0000b3a0 <[^>]*> nop ++0000b3a4 <[^>]*> nop ++0000b3a8 <[^>]*> nop ++0000b3ac <[^>]*> nop ++0000b3b0 <[^>]*> nop ++0000b3b4 <[^>]*> nop ++0000b3b8 <[^>]*> nop ++0000b3bc <[^>]*> nop ++0000b3c0 <[^>]*> nop ++0000b3c4 <[^>]*> nop ++0000b3c8 <[^>]*> nop ++0000b3cc <[^>]*> nop ++0000b3d0 <[^>]*> nop ++0000b3d4 <[^>]*> nop ++0000b3d8 <[^>]*> nop ++0000b3dc <[^>]*> nop ++0000b3e0 <[^>]*> nop ++0000b3e4 <[^>]*> nop ++0000b3e8 <[^>]*> nop ++0000b3ec <[^>]*> nop ++0000b3f0 <[^>]*> nop ++0000b3f4 <[^>]*> nop ++0000b3f8 <[^>]*> nop ++0000b3fc <[^>]*> nop ++0000b400 <[^>]*> nop ++0000b404 <[^>]*> nop ++0000b408 <[^>]*> nop ++0000b40c <[^>]*> nop ++0000b410 <[^>]*> nop ++0000b414 <[^>]*> nop ++0000b418 <[^>]*> nop ++0000b41c <[^>]*> nop ++0000b420 <[^>]*> nop ++0000b424 <[^>]*> nop ++0000b428 <[^>]*> nop ++0000b42c <[^>]*> nop ++0000b430 <[^>]*> nop ++0000b434 <[^>]*> nop ++0000b438 <[^>]*> nop ++0000b43c <[^>]*> nop ++0000b440 <[^>]*> nop ++0000b444 <[^>]*> nop ++0000b448 <[^>]*> nop ++0000b44c <[^>]*> nop ++0000b450 <[^>]*> nop ++0000b454 <[^>]*> nop ++0000b458 <[^>]*> nop ++0000b45c <[^>]*> nop ++0000b460 <[^>]*> nop ++0000b464 <[^>]*> nop ++0000b468 <[^>]*> nop ++0000b46c <[^>]*> nop ++0000b470 <[^>]*> nop ++0000b474 <[^>]*> nop ++0000b478 <[^>]*> nop ++0000b47c <[^>]*> nop ++0000b480 <[^>]*> nop ++0000b484 <[^>]*> nop ++0000b488 <[^>]*> nop ++0000b48c <[^>]*> nop ++0000b490 <[^>]*> nop ++0000b494 <[^>]*> nop ++0000b498 <[^>]*> nop ++0000b49c <[^>]*> nop ++0000b4a0 <[^>]*> nop ++0000b4a4 <[^>]*> nop ++0000b4a8 <[^>]*> nop ++0000b4ac <[^>]*> nop ++0000b4b0 <[^>]*> nop ++0000b4b4 <[^>]*> nop ++0000b4b8 <[^>]*> nop ++0000b4bc <[^>]*> nop ++0000b4c0 <[^>]*> nop ++0000b4c4 <[^>]*> nop ++0000b4c8 <[^>]*> nop ++0000b4cc <[^>]*> nop ++0000b4d0 <[^>]*> nop ++0000b4d4 <[^>]*> nop ++0000b4d8 <[^>]*> nop ++0000b4dc <[^>]*> nop ++0000b4e0 <[^>]*> nop ++0000b4e4 <[^>]*> nop ++0000b4e8 <[^>]*> nop ++0000b4ec <[^>]*> nop ++0000b4f0 <[^>]*> nop ++0000b4f4 <[^>]*> nop ++0000b4f8 <[^>]*> nop ++0000b4fc <[^>]*> nop ++0000b500 <[^>]*> nop ++0000b504 <[^>]*> nop ++0000b508 <[^>]*> nop ++0000b50c <[^>]*> nop ++0000b510 <[^>]*> nop ++0000b514 <[^>]*> nop ++0000b518 <[^>]*> nop ++0000b51c <[^>]*> nop ++0000b520 <[^>]*> nop ++0000b524 <[^>]*> nop ++0000b528 <[^>]*> nop ++0000b52c <[^>]*> nop ++0000b530 <[^>]*> nop ++0000b534 <[^>]*> nop ++0000b538 <[^>]*> nop ++0000b53c <[^>]*> nop ++0000b540 <[^>]*> nop ++0000b544 <[^>]*> nop ++0000b548 <[^>]*> nop ++0000b54c <[^>]*> nop ++0000b550 <[^>]*> nop ++0000b554 <[^>]*> nop ++0000b558 <[^>]*> nop ++0000b55c <[^>]*> nop ++0000b560 <[^>]*> nop ++0000b564 <[^>]*> nop ++0000b568 <[^>]*> nop ++0000b56c <[^>]*> nop ++0000b570 <[^>]*> nop ++0000b574 <[^>]*> nop ++0000b578 <[^>]*> nop ++0000b57c <[^>]*> nop ++0000b580 <[^>]*> nop ++0000b584 <[^>]*> nop ++0000b588 <[^>]*> nop ++0000b58c <[^>]*> nop ++0000b590 <[^>]*> nop ++0000b594 <[^>]*> nop ++0000b598 <[^>]*> nop ++0000b59c <[^>]*> nop ++0000b5a0 <[^>]*> nop ++0000b5a4 <[^>]*> nop ++0000b5a8 <[^>]*> nop ++0000b5ac <[^>]*> nop ++0000b5b0 <[^>]*> nop ++0000b5b4 <[^>]*> nop ++0000b5b8 <[^>]*> nop ++0000b5bc <[^>]*> nop ++0000b5c0 <[^>]*> nop ++0000b5c4 <[^>]*> nop ++0000b5c8 <[^>]*> nop ++0000b5cc <[^>]*> nop ++0000b5d0 <[^>]*> nop ++0000b5d4 <[^>]*> nop ++0000b5d8 <[^>]*> nop ++0000b5dc <[^>]*> nop ++0000b5e0 <[^>]*> nop ++0000b5e4 <[^>]*> nop ++0000b5e8 <[^>]*> nop ++0000b5ec <[^>]*> nop ++0000b5f0 <[^>]*> nop ++0000b5f4 <[^>]*> nop ++0000b5f8 <[^>]*> nop ++0000b5fc <[^>]*> nop ++0000b600 <[^>]*> nop ++0000b604 <[^>]*> nop ++0000b608 <[^>]*> nop ++0000b60c <[^>]*> nop ++0000b610 <[^>]*> nop ++0000b614 <[^>]*> nop ++0000b618 <[^>]*> nop ++0000b61c <[^>]*> nop ++0000b620 <[^>]*> nop ++0000b624 <[^>]*> nop ++0000b628 <[^>]*> nop ++0000b62c <[^>]*> nop ++0000b630 <[^>]*> nop ++0000b634 <[^>]*> nop ++0000b638 <[^>]*> nop ++0000b63c <[^>]*> nop ++0000b640 <[^>]*> nop ++0000b644 <[^>]*> nop ++0000b648 <[^>]*> nop ++0000b64c <[^>]*> nop ++0000b650 <[^>]*> nop ++0000b654 <[^>]*> nop ++0000b658 <[^>]*> nop ++0000b65c <[^>]*> nop ++0000b660 <[^>]*> nop ++0000b664 <[^>]*> nop ++0000b668 <[^>]*> nop ++0000b66c <[^>]*> nop ++0000b670 <[^>]*> nop ++0000b674 <[^>]*> nop ++0000b678 <[^>]*> nop ++0000b67c <[^>]*> nop ++0000b680 <[^>]*> nop ++0000b684 <[^>]*> nop ++0000b688 <[^>]*> nop ++0000b68c <[^>]*> nop ++0000b690 <[^>]*> nop ++0000b694 <[^>]*> nop ++0000b698 <[^>]*> nop ++0000b69c <[^>]*> nop ++0000b6a0 <[^>]*> nop ++0000b6a4 <[^>]*> nop ++0000b6a8 <[^>]*> nop ++0000b6ac <[^>]*> nop ++0000b6b0 <[^>]*> nop ++0000b6b4 <[^>]*> nop ++0000b6b8 <[^>]*> nop ++0000b6bc <[^>]*> nop ++0000b6c0 <[^>]*> nop ++0000b6c4 <[^>]*> nop ++0000b6c8 <[^>]*> nop ++0000b6cc <[^>]*> nop ++0000b6d0 <[^>]*> nop ++0000b6d4 <[^>]*> nop ++0000b6d8 <[^>]*> nop ++0000b6dc <[^>]*> nop ++0000b6e0 <[^>]*> nop ++0000b6e4 <[^>]*> nop ++0000b6e8 <[^>]*> nop ++0000b6ec <[^>]*> nop ++0000b6f0 <[^>]*> nop ++0000b6f4 <[^>]*> nop ++0000b6f8 <[^>]*> nop ++0000b6fc <[^>]*> nop ++0000b700 <[^>]*> nop ++0000b704 <[^>]*> nop ++0000b708 <[^>]*> nop ++0000b70c <[^>]*> nop ++0000b710 <[^>]*> nop ++0000b714 <[^>]*> nop ++0000b718 <[^>]*> nop ++0000b71c <[^>]*> nop ++0000b720 <[^>]*> nop ++0000b724 <[^>]*> nop ++0000b728 <[^>]*> nop ++0000b72c <[^>]*> nop ++0000b730 <[^>]*> nop ++0000b734 <[^>]*> nop ++0000b738 <[^>]*> nop ++0000b73c <[^>]*> nop ++0000b740 <[^>]*> nop ++0000b744 <[^>]*> nop ++0000b748 <[^>]*> nop ++0000b74c <[^>]*> nop ++0000b750 <[^>]*> nop ++0000b754 <[^>]*> nop ++0000b758 <[^>]*> nop ++0000b75c <[^>]*> nop ++0000b760 <[^>]*> nop ++0000b764 <[^>]*> nop ++0000b768 <[^>]*> nop ++0000b76c <[^>]*> nop ++0000b770 <[^>]*> nop ++0000b774 <[^>]*> nop ++0000b778 <[^>]*> nop ++0000b77c <[^>]*> nop ++0000b780 <[^>]*> nop ++0000b784 <[^>]*> nop ++0000b788 <[^>]*> nop ++0000b78c <[^>]*> nop ++0000b790 <[^>]*> nop ++0000b794 <[^>]*> nop ++0000b798 <[^>]*> nop ++0000b79c <[^>]*> nop ++0000b7a0 <[^>]*> nop ++0000b7a4 <[^>]*> nop ++0000b7a8 <[^>]*> nop ++0000b7ac <[^>]*> nop ++0000b7b0 <[^>]*> nop ++0000b7b4 <[^>]*> nop ++0000b7b8 <[^>]*> nop ++0000b7bc <[^>]*> nop ++0000b7c0 <[^>]*> nop ++0000b7c4 <[^>]*> nop ++0000b7c8 <[^>]*> nop ++0000b7cc <[^>]*> nop ++0000b7d0 <[^>]*> nop ++0000b7d4 <[^>]*> nop ++0000b7d8 <[^>]*> nop ++0000b7dc <[^>]*> nop ++0000b7e0 <[^>]*> nop ++0000b7e4 <[^>]*> nop ++0000b7e8 <[^>]*> nop ++0000b7ec <[^>]*> nop ++0000b7f0 <[^>]*> nop ++0000b7f4 <[^>]*> nop ++0000b7f8 <[^>]*> nop ++0000b7fc <[^>]*> nop ++0000b800 <[^>]*> nop ++0000b804 <[^>]*> nop ++0000b808 <[^>]*> nop ++0000b80c <[^>]*> nop ++0000b810 <[^>]*> nop ++0000b814 <[^>]*> nop ++0000b818 <[^>]*> nop ++0000b81c <[^>]*> nop ++0000b820 <[^>]*> nop ++0000b824 <[^>]*> nop ++0000b828 <[^>]*> nop ++0000b82c <[^>]*> nop ++0000b830 <[^>]*> nop ++0000b834 <[^>]*> nop ++0000b838 <[^>]*> nop ++0000b83c <[^>]*> nop ++0000b840 <[^>]*> nop ++0000b844 <[^>]*> nop ++0000b848 <[^>]*> nop ++0000b84c <[^>]*> nop ++0000b850 <[^>]*> nop ++0000b854 <[^>]*> nop ++0000b858 <[^>]*> nop ++0000b85c <[^>]*> nop ++0000b860 <[^>]*> nop ++0000b864 <[^>]*> nop ++0000b868 <[^>]*> nop ++0000b86c <[^>]*> nop ++0000b870 <[^>]*> nop ++0000b874 <[^>]*> nop ++0000b878 <[^>]*> nop ++0000b87c <[^>]*> nop ++0000b880 <[^>]*> nop ++0000b884 <[^>]*> nop ++0000b888 <[^>]*> nop ++0000b88c <[^>]*> nop ++0000b890 <[^>]*> nop ++0000b894 <[^>]*> nop ++0000b898 <[^>]*> nop ++0000b89c <[^>]*> nop ++0000b8a0 <[^>]*> nop ++0000b8a4 <[^>]*> nop ++0000b8a8 <[^>]*> nop ++0000b8ac <[^>]*> nop ++0000b8b0 <[^>]*> nop ++0000b8b4 <[^>]*> nop ++0000b8b8 <[^>]*> nop ++0000b8bc <[^>]*> nop ++0000b8c0 <[^>]*> nop ++0000b8c4 <[^>]*> nop ++0000b8c8 <[^>]*> nop ++0000b8cc <[^>]*> nop ++0000b8d0 <[^>]*> nop ++0000b8d4 <[^>]*> nop ++0000b8d8 <[^>]*> nop ++0000b8dc <[^>]*> nop ++0000b8e0 <[^>]*> nop ++0000b8e4 <[^>]*> nop ++0000b8e8 <[^>]*> nop ++0000b8ec <[^>]*> nop ++0000b8f0 <[^>]*> nop ++0000b8f4 <[^>]*> nop ++0000b8f8 <[^>]*> nop ++0000b8fc <[^>]*> nop ++0000b900 <[^>]*> nop ++0000b904 <[^>]*> nop ++0000b908 <[^>]*> nop ++0000b90c <[^>]*> nop ++0000b910 <[^>]*> nop ++0000b914 <[^>]*> nop ++0000b918 <[^>]*> nop ++0000b91c <[^>]*> nop ++0000b920 <[^>]*> nop ++0000b924 <[^>]*> nop ++0000b928 <[^>]*> nop ++0000b92c <[^>]*> nop ++0000b930 <[^>]*> nop ++0000b934 <[^>]*> nop ++0000b938 <[^>]*> nop ++0000b93c <[^>]*> nop ++0000b940 <[^>]*> nop ++0000b944 <[^>]*> nop ++0000b948 <[^>]*> nop ++0000b94c <[^>]*> nop ++0000b950 <[^>]*> nop ++0000b954 <[^>]*> nop ++0000b958 <[^>]*> nop ++0000b95c <[^>]*> nop ++0000b960 <[^>]*> nop ++0000b964 <[^>]*> nop ++0000b968 <[^>]*> nop ++0000b96c <[^>]*> nop ++0000b970 <[^>]*> nop ++0000b974 <[^>]*> nop ++0000b978 <[^>]*> nop ++0000b97c <[^>]*> nop ++0000b980 <[^>]*> nop ++0000b984 <[^>]*> nop ++0000b988 <[^>]*> nop ++0000b98c <[^>]*> nop ++0000b990 <[^>]*> nop ++0000b994 <[^>]*> nop ++0000b998 <[^>]*> nop ++0000b99c <[^>]*> nop ++0000b9a0 <[^>]*> nop ++0000b9a4 <[^>]*> nop ++0000b9a8 <[^>]*> nop ++0000b9ac <[^>]*> nop ++0000b9b0 <[^>]*> nop ++0000b9b4 <[^>]*> nop ++0000b9b8 <[^>]*> nop ++0000b9bc <[^>]*> nop ++0000b9c0 <[^>]*> nop ++0000b9c4 <[^>]*> nop ++0000b9c8 <[^>]*> nop ++0000b9cc <[^>]*> nop ++0000b9d0 <[^>]*> nop ++0000b9d4 <[^>]*> nop ++0000b9d8 <[^>]*> nop ++0000b9dc <[^>]*> nop ++0000b9e0 <[^>]*> nop ++0000b9e4 <[^>]*> nop ++0000b9e8 <[^>]*> nop ++0000b9ec <[^>]*> nop ++0000b9f0 <[^>]*> nop ++0000b9f4 <[^>]*> nop ++0000b9f8 <[^>]*> nop ++0000b9fc <[^>]*> nop ++0000ba00 <[^>]*> nop ++0000ba04 <[^>]*> nop ++0000ba08 <[^>]*> nop ++0000ba0c <[^>]*> nop ++0000ba10 <[^>]*> nop ++0000ba14 <[^>]*> nop ++0000ba18 <[^>]*> nop ++0000ba1c <[^>]*> nop ++0000ba20 <[^>]*> nop ++0000ba24 <[^>]*> nop ++0000ba28 <[^>]*> nop ++0000ba2c <[^>]*> nop ++0000ba30 <[^>]*> nop ++0000ba34 <[^>]*> nop ++0000ba38 <[^>]*> nop ++0000ba3c <[^>]*> nop ++0000ba40 <[^>]*> nop ++0000ba44 <[^>]*> nop ++0000ba48 <[^>]*> nop ++0000ba4c <[^>]*> nop ++0000ba50 <[^>]*> nop ++0000ba54 <[^>]*> nop ++0000ba58 <[^>]*> nop ++0000ba5c <[^>]*> nop ++0000ba60 <[^>]*> nop ++0000ba64 <[^>]*> nop ++0000ba68 <[^>]*> nop ++0000ba6c <[^>]*> nop ++0000ba70 <[^>]*> nop ++0000ba74 <[^>]*> nop ++0000ba78 <[^>]*> nop ++0000ba7c <[^>]*> nop ++0000ba80 <[^>]*> nop ++0000ba84 <[^>]*> nop ++0000ba88 <[^>]*> nop ++0000ba8c <[^>]*> nop ++0000ba90 <[^>]*> nop ++0000ba94 <[^>]*> nop ++0000ba98 <[^>]*> nop ++0000ba9c <[^>]*> nop ++0000baa0 <[^>]*> nop ++0000baa4 <[^>]*> nop ++0000baa8 <[^>]*> nop ++0000baac <[^>]*> nop ++0000bab0 <[^>]*> nop ++0000bab4 <[^>]*> nop ++0000bab8 <[^>]*> nop ++0000babc <[^>]*> nop ++0000bac0 <[^>]*> nop ++0000bac4 <[^>]*> nop ++0000bac8 <[^>]*> nop ++0000bacc <[^>]*> nop ++0000bad0 <[^>]*> nop ++0000bad4 <[^>]*> nop ++0000bad8 <[^>]*> nop ++0000badc <[^>]*> nop ++0000bae0 <[^>]*> nop ++0000bae4 <[^>]*> nop ++0000bae8 <[^>]*> nop ++0000baec <[^>]*> nop ++0000baf0 <[^>]*> nop ++0000baf4 <[^>]*> nop ++0000baf8 <[^>]*> nop ++0000bafc <[^>]*> nop ++0000bb00 <[^>]*> nop ++0000bb04 <[^>]*> nop ++0000bb08 <[^>]*> nop ++0000bb0c <[^>]*> nop ++0000bb10 <[^>]*> nop ++0000bb14 <[^>]*> nop ++0000bb18 <[^>]*> nop ++0000bb1c <[^>]*> nop ++0000bb20 <[^>]*> nop ++0000bb24 <[^>]*> nop ++0000bb28 <[^>]*> nop ++0000bb2c <[^>]*> nop ++0000bb30 <[^>]*> nop ++0000bb34 <[^>]*> nop ++0000bb38 <[^>]*> nop ++0000bb3c <[^>]*> nop ++0000bb40 <[^>]*> nop ++0000bb44 <[^>]*> nop ++0000bb48 <[^>]*> nop ++0000bb4c <[^>]*> nop ++0000bb50 <[^>]*> nop ++0000bb54 <[^>]*> nop ++0000bb58 <[^>]*> nop ++0000bb5c <[^>]*> nop ++0000bb60 <[^>]*> nop ++0000bb64 <[^>]*> nop ++0000bb68 <[^>]*> nop ++0000bb6c <[^>]*> nop ++0000bb70 <[^>]*> nop ++0000bb74 <[^>]*> nop ++0000bb78 <[^>]*> nop ++0000bb7c <[^>]*> nop ++0000bb80 <[^>]*> nop ++0000bb84 <[^>]*> nop ++0000bb88 <[^>]*> nop ++0000bb8c <[^>]*> nop ++0000bb90 <[^>]*> nop ++0000bb94 <[^>]*> nop ++0000bb98 <[^>]*> nop ++0000bb9c <[^>]*> nop ++0000bba0 <[^>]*> nop ++0000bba4 <[^>]*> nop ++0000bba8 <[^>]*> nop ++0000bbac <[^>]*> nop ++0000bbb0 <[^>]*> nop ++0000bbb4 <[^>]*> nop ++0000bbb8 <[^>]*> nop ++0000bbbc <[^>]*> nop ++0000bbc0 <[^>]*> nop ++0000bbc4 <[^>]*> nop ++0000bbc8 <[^>]*> nop ++0000bbcc <[^>]*> nop ++0000bbd0 <[^>]*> nop ++0000bbd4 <[^>]*> nop ++0000bbd8 <[^>]*> nop ++0000bbdc <[^>]*> nop ++0000bbe0 <[^>]*> nop ++0000bbe4 <[^>]*> nop ++0000bbe8 <[^>]*> nop ++0000bbec <[^>]*> nop ++0000bbf0 <[^>]*> nop ++0000bbf4 <[^>]*> nop ++0000bbf8 <[^>]*> nop ++0000bbfc <[^>]*> nop ++0000bc00 <[^>]*> nop ++0000bc04 <[^>]*> nop ++0000bc08 <[^>]*> nop ++0000bc0c <[^>]*> nop ++0000bc10 <[^>]*> nop ++0000bc14 <[^>]*> nop ++0000bc18 <[^>]*> nop ++0000bc1c <[^>]*> nop ++0000bc20 <[^>]*> nop ++0000bc24 <[^>]*> nop ++0000bc28 <[^>]*> nop ++0000bc2c <[^>]*> nop ++0000bc30 <[^>]*> nop ++0000bc34 <[^>]*> nop ++0000bc38 <[^>]*> nop ++0000bc3c <[^>]*> nop ++0000bc40 <[^>]*> nop ++0000bc44 <[^>]*> nop ++0000bc48 <[^>]*> nop ++0000bc4c <[^>]*> nop ++0000bc50 <[^>]*> nop ++0000bc54 <[^>]*> nop ++0000bc58 <[^>]*> nop ++0000bc5c <[^>]*> nop ++0000bc60 <[^>]*> nop ++0000bc64 <[^>]*> nop ++0000bc68 <[^>]*> nop ++0000bc6c <[^>]*> nop ++0000bc70 <[^>]*> nop ++0000bc74 <[^>]*> nop ++0000bc78 <[^>]*> nop ++0000bc7c <[^>]*> nop ++0000bc80 <[^>]*> nop ++0000bc84 <[^>]*> nop ++0000bc88 <[^>]*> nop ++0000bc8c <[^>]*> nop ++0000bc90 <[^>]*> nop ++0000bc94 <[^>]*> nop ++0000bc98 <[^>]*> nop ++0000bc9c <[^>]*> nop ++0000bca0 <[^>]*> nop ++0000bca4 <[^>]*> nop ++0000bca8 <[^>]*> nop ++0000bcac <[^>]*> nop ++0000bcb0 <[^>]*> nop ++0000bcb4 <[^>]*> nop ++0000bcb8 <[^>]*> nop ++0000bcbc <[^>]*> nop ++0000bcc0 <[^>]*> nop ++0000bcc4 <[^>]*> nop ++0000bcc8 <[^>]*> nop ++0000bccc <[^>]*> nop ++0000bcd0 <[^>]*> nop ++0000bcd4 <[^>]*> nop ++0000bcd8 <[^>]*> nop ++0000bcdc <[^>]*> nop ++0000bce0 <[^>]*> nop ++0000bce4 <[^>]*> nop ++0000bce8 <[^>]*> nop ++0000bcec <[^>]*> nop ++0000bcf0 <[^>]*> nop ++0000bcf4 <[^>]*> nop ++0000bcf8 <[^>]*> nop ++0000bcfc <[^>]*> nop ++0000bd00 <[^>]*> nop ++0000bd04 <[^>]*> nop ++0000bd08 <[^>]*> nop ++0000bd0c <[^>]*> nop ++0000bd10 <[^>]*> nop ++0000bd14 <[^>]*> nop ++0000bd18 <[^>]*> nop ++0000bd1c <[^>]*> nop ++0000bd20 <[^>]*> nop ++0000bd24 <[^>]*> nop ++0000bd28 <[^>]*> nop ++0000bd2c <[^>]*> nop ++0000bd30 <[^>]*> nop ++0000bd34 <[^>]*> nop ++0000bd38 <[^>]*> nop ++0000bd3c <[^>]*> nop ++0000bd40 <[^>]*> nop ++0000bd44 <[^>]*> nop ++0000bd48 <[^>]*> nop ++0000bd4c <[^>]*> nop ++0000bd50 <[^>]*> nop ++0000bd54 <[^>]*> nop ++0000bd58 <[^>]*> nop ++0000bd5c <[^>]*> nop ++0000bd60 <[^>]*> nop ++0000bd64 <[^>]*> nop ++0000bd68 <[^>]*> nop ++0000bd6c <[^>]*> nop ++0000bd70 <[^>]*> nop ++0000bd74 <[^>]*> nop ++0000bd78 <[^>]*> nop ++0000bd7c <[^>]*> nop ++0000bd80 <[^>]*> nop ++0000bd84 <[^>]*> nop ++0000bd88 <[^>]*> nop ++0000bd8c <[^>]*> nop ++0000bd90 <[^>]*> nop ++0000bd94 <[^>]*> nop ++0000bd98 <[^>]*> nop ++0000bd9c <[^>]*> nop ++0000bda0 <[^>]*> nop ++0000bda4 <[^>]*> nop ++0000bda8 <[^>]*> nop ++0000bdac <[^>]*> nop ++0000bdb0 <[^>]*> nop ++0000bdb4 <[^>]*> nop ++0000bdb8 <[^>]*> nop ++0000bdbc <[^>]*> nop ++0000bdc0 <[^>]*> nop ++0000bdc4 <[^>]*> nop ++0000bdc8 <[^>]*> nop ++0000bdcc <[^>]*> nop ++0000bdd0 <[^>]*> nop ++0000bdd4 <[^>]*> nop ++0000bdd8 <[^>]*> nop ++0000bddc <[^>]*> nop ++0000bde0 <[^>]*> nop ++0000bde4 <[^>]*> nop ++0000bde8 <[^>]*> nop ++0000bdec <[^>]*> nop ++0000bdf0 <[^>]*> nop ++0000bdf4 <[^>]*> nop ++0000bdf8 <[^>]*> nop ++0000bdfc <[^>]*> nop ++0000be00 <[^>]*> nop ++0000be04 <[^>]*> nop ++0000be08 <[^>]*> nop ++0000be0c <[^>]*> nop ++0000be10 <[^>]*> nop ++0000be14 <[^>]*> nop ++0000be18 <[^>]*> nop ++0000be1c <[^>]*> nop ++0000be20 <[^>]*> nop ++0000be24 <[^>]*> nop ++0000be28 <[^>]*> nop ++0000be2c <[^>]*> nop ++0000be30 <[^>]*> nop ++0000be34 <[^>]*> nop ++0000be38 <[^>]*> nop ++0000be3c <[^>]*> nop ++0000be40 <[^>]*> nop ++0000be44 <[^>]*> nop ++0000be48 <[^>]*> nop ++0000be4c <[^>]*> nop ++0000be50 <[^>]*> nop ++0000be54 <[^>]*> nop ++0000be58 <[^>]*> nop ++0000be5c <[^>]*> nop ++0000be60 <[^>]*> nop ++0000be64 <[^>]*> nop ++0000be68 <[^>]*> nop ++0000be6c <[^>]*> nop ++0000be70 <[^>]*> nop ++0000be74 <[^>]*> nop ++0000be78 <[^>]*> nop ++0000be7c <[^>]*> nop ++0000be80 <[^>]*> nop ++0000be84 <[^>]*> nop ++0000be88 <[^>]*> nop ++0000be8c <[^>]*> nop ++0000be90 <[^>]*> nop ++0000be94 <[^>]*> nop ++0000be98 <[^>]*> nop ++0000be9c <[^>]*> nop ++0000bea0 <[^>]*> nop ++0000bea4 <[^>]*> nop ++0000bea8 <[^>]*> nop ++0000beac <[^>]*> nop ++0000beb0 <[^>]*> nop ++0000beb4 <[^>]*> nop ++0000beb8 <[^>]*> nop ++0000bebc <[^>]*> nop ++0000bec0 <[^>]*> nop ++0000bec4 <[^>]*> nop ++0000bec8 <[^>]*> nop ++0000becc <[^>]*> nop ++0000bed0 <[^>]*> nop ++0000bed4 <[^>]*> nop ++0000bed8 <[^>]*> nop ++0000bedc <[^>]*> nop ++0000bee0 <[^>]*> nop ++0000bee4 <[^>]*> nop ++0000bee8 <[^>]*> nop ++0000beec <[^>]*> nop ++0000bef0 <[^>]*> nop ++0000bef4 <[^>]*> nop ++0000bef8 <[^>]*> nop ++0000befc <[^>]*> nop ++0000bf00 <[^>]*> nop ++0000bf04 <[^>]*> nop ++0000bf08 <[^>]*> nop ++0000bf0c <[^>]*> nop ++0000bf10 <[^>]*> nop ++0000bf14 <[^>]*> nop ++0000bf18 <[^>]*> nop ++0000bf1c <[^>]*> nop ++0000bf20 <[^>]*> nop ++0000bf24 <[^>]*> nop ++0000bf28 <[^>]*> nop ++0000bf2c <[^>]*> nop ++0000bf30 <[^>]*> nop ++0000bf34 <[^>]*> nop ++0000bf38 <[^>]*> nop ++0000bf3c <[^>]*> nop ++0000bf40 <[^>]*> nop ++0000bf44 <[^>]*> nop ++0000bf48 <[^>]*> nop ++0000bf4c <[^>]*> nop ++0000bf50 <[^>]*> nop ++0000bf54 <[^>]*> nop ++0000bf58 <[^>]*> nop ++0000bf5c <[^>]*> nop ++0000bf60 <[^>]*> nop ++0000bf64 <[^>]*> nop ++0000bf68 <[^>]*> nop ++0000bf6c <[^>]*> nop ++0000bf70 <[^>]*> nop ++0000bf74 <[^>]*> nop ++0000bf78 <[^>]*> nop ++0000bf7c <[^>]*> nop ++0000bf80 <[^>]*> nop ++0000bf84 <[^>]*> nop ++0000bf88 <[^>]*> nop ++0000bf8c <[^>]*> nop ++0000bf90 <[^>]*> nop ++0000bf94 <[^>]*> nop ++0000bf98 <[^>]*> nop ++0000bf9c <[^>]*> nop ++0000bfa0 <[^>]*> nop ++0000bfa4 <[^>]*> nop ++0000bfa8 <[^>]*> nop ++0000bfac <[^>]*> nop ++0000bfb0 <[^>]*> nop ++0000bfb4 <[^>]*> nop ++0000bfb8 <[^>]*> nop ++0000bfbc <[^>]*> nop ++0000bfc0 <[^>]*> nop ++0000bfc4 <[^>]*> nop ++0000bfc8 <[^>]*> nop ++0000bfcc <[^>]*> nop ++0000bfd0 <[^>]*> nop ++0000bfd4 <[^>]*> nop ++0000bfd8 <[^>]*> nop ++0000bfdc <[^>]*> nop ++0000bfe0 <[^>]*> nop ++0000bfe4 <[^>]*> nop ++0000bfe8 <[^>]*> nop ++0000bfec <[^>]*> nop ++0000bff0 <[^>]*> nop ++0000bff4 <[^>]*> nop ++0000bff8 <[^>]*> nop ++0000bffc <[^>]*> nop ++0000c000 <[^>]*> nop ++0000c004 <[^>]*> nop ++0000c008 <[^>]*> nop ++0000c00c <[^>]*> nop ++0000c010 <[^>]*> nop ++0000c014 <[^>]*> nop ++0000c018 <[^>]*> nop ++0000c01c <[^>]*> nop ++0000c020 <[^>]*> nop ++0000c024 <[^>]*> nop ++0000c028 <[^>]*> nop ++0000c02c <[^>]*> nop ++0000c030 <[^>]*> nop ++0000c034 <[^>]*> nop ++0000c038 <[^>]*> nop ++0000c03c <[^>]*> nop ++0000c040 <[^>]*> nop ++0000c044 <[^>]*> nop ++0000c048 <[^>]*> nop ++0000c04c <[^>]*> nop ++0000c050 <[^>]*> nop ++0000c054 <[^>]*> nop ++0000c058 <[^>]*> nop ++0000c05c <[^>]*> nop ++0000c060 <[^>]*> nop ++0000c064 <[^>]*> nop ++0000c068 <[^>]*> nop ++0000c06c <[^>]*> nop ++0000c070 <[^>]*> nop ++0000c074 <[^>]*> nop ++0000c078 <[^>]*> nop ++0000c07c <[^>]*> nop ++0000c080 <[^>]*> nop ++0000c084 <[^>]*> nop ++0000c088 <[^>]*> nop ++0000c08c <[^>]*> nop ++0000c090 <[^>]*> nop ++0000c094 <[^>]*> nop ++0000c098 <[^>]*> nop ++0000c09c <[^>]*> nop ++0000c0a0 <[^>]*> nop ++0000c0a4 <[^>]*> nop ++0000c0a8 <[^>]*> nop ++0000c0ac <[^>]*> nop ++0000c0b0 <[^>]*> nop ++0000c0b4 <[^>]*> nop ++0000c0b8 <[^>]*> nop ++0000c0bc <[^>]*> nop ++0000c0c0 <[^>]*> nop ++0000c0c4 <[^>]*> nop ++0000c0c8 <[^>]*> nop ++0000c0cc <[^>]*> nop ++0000c0d0 <[^>]*> nop ++0000c0d4 <[^>]*> nop ++0000c0d8 <[^>]*> nop ++0000c0dc <[^>]*> nop ++0000c0e0 <[^>]*> nop ++0000c0e4 <[^>]*> nop ++0000c0e8 <[^>]*> nop ++0000c0ec <[^>]*> nop ++0000c0f0 <[^>]*> nop ++0000c0f4 <[^>]*> nop ++0000c0f8 <[^>]*> nop ++0000c0fc <[^>]*> nop ++0000c100 <[^>]*> nop ++0000c104 <[^>]*> nop ++0000c108 <[^>]*> nop ++0000c10c <[^>]*> nop ++0000c110 <[^>]*> nop ++0000c114 <[^>]*> nop ++0000c118 <[^>]*> nop ++0000c11c <[^>]*> nop ++0000c120 <[^>]*> nop ++0000c124 <[^>]*> nop ++0000c128 <[^>]*> nop ++0000c12c <[^>]*> nop ++0000c130 <[^>]*> nop ++0000c134 <[^>]*> nop ++0000c138 <[^>]*> nop ++0000c13c <[^>]*> nop ++0000c140 <[^>]*> nop ++0000c144 <[^>]*> nop ++0000c148 <[^>]*> nop ++0000c14c <[^>]*> nop ++0000c150 <[^>]*> nop ++0000c154 <[^>]*> nop ++0000c158 <[^>]*> nop ++0000c15c <[^>]*> nop ++0000c160 <[^>]*> nop ++0000c164 <[^>]*> nop ++0000c168 <[^>]*> nop ++0000c16c <[^>]*> nop ++0000c170 <[^>]*> nop ++0000c174 <[^>]*> nop ++0000c178 <[^>]*> nop ++0000c17c <[^>]*> nop ++0000c180 <[^>]*> nop ++0000c184 <[^>]*> nop ++0000c188 <[^>]*> nop ++0000c18c <[^>]*> nop ++0000c190 <[^>]*> nop ++0000c194 <[^>]*> nop ++0000c198 <[^>]*> nop ++0000c19c <[^>]*> nop ++0000c1a0 <[^>]*> nop ++0000c1a4 <[^>]*> nop ++0000c1a8 <[^>]*> nop ++0000c1ac <[^>]*> nop ++0000c1b0 <[^>]*> nop ++0000c1b4 <[^>]*> nop ++0000c1b8 <[^>]*> nop ++0000c1bc <[^>]*> nop ++0000c1c0 <[^>]*> nop ++0000c1c4 <[^>]*> nop ++0000c1c8 <[^>]*> nop ++0000c1cc <[^>]*> nop ++0000c1d0 <[^>]*> nop ++0000c1d4 <[^>]*> nop ++0000c1d8 <[^>]*> nop ++0000c1dc <[^>]*> nop ++0000c1e0 <[^>]*> nop ++0000c1e4 <[^>]*> nop ++0000c1e8 <[^>]*> nop ++0000c1ec <[^>]*> nop ++0000c1f0 <[^>]*> nop ++0000c1f4 <[^>]*> nop ++0000c1f8 <[^>]*> nop ++0000c1fc <[^>]*> nop ++0000c200 <[^>]*> nop ++0000c204 <[^>]*> nop ++0000c208 <[^>]*> nop ++0000c20c <[^>]*> nop ++0000c210 <[^>]*> nop ++0000c214 <[^>]*> nop ++0000c218 <[^>]*> nop ++0000c21c <[^>]*> nop ++0000c220 <[^>]*> nop ++0000c224 <[^>]*> nop ++0000c228 <[^>]*> nop ++0000c22c <[^>]*> nop ++0000c230 <[^>]*> nop ++0000c234 <[^>]*> nop ++0000c238 <[^>]*> nop ++0000c23c <[^>]*> nop ++0000c240 <[^>]*> nop ++0000c244 <[^>]*> nop ++0000c248 <[^>]*> nop ++0000c24c <[^>]*> nop ++0000c250 <[^>]*> nop ++0000c254 <[^>]*> nop ++0000c258 <[^>]*> nop ++0000c25c <[^>]*> nop ++0000c260 <[^>]*> nop ++0000c264 <[^>]*> nop ++0000c268 <[^>]*> nop ++0000c26c <[^>]*> nop ++0000c270 <[^>]*> nop ++0000c274 <[^>]*> nop ++0000c278 <[^>]*> nop ++0000c27c <[^>]*> nop ++0000c280 <[^>]*> nop ++0000c284 <[^>]*> nop ++0000c288 <[^>]*> nop ++0000c28c <[^>]*> nop ++0000c290 <[^>]*> nop ++0000c294 <[^>]*> nop ++0000c298 <[^>]*> nop ++0000c29c <[^>]*> nop ++0000c2a0 <[^>]*> nop ++0000c2a4 <[^>]*> nop ++0000c2a8 <[^>]*> nop ++0000c2ac <[^>]*> nop ++0000c2b0 <[^>]*> nop ++0000c2b4 <[^>]*> nop ++0000c2b8 <[^>]*> nop ++0000c2bc <[^>]*> nop ++0000c2c0 <[^>]*> nop ++0000c2c4 <[^>]*> nop ++0000c2c8 <[^>]*> nop ++0000c2cc <[^>]*> nop ++0000c2d0 <[^>]*> nop ++0000c2d4 <[^>]*> nop ++0000c2d8 <[^>]*> nop ++0000c2dc <[^>]*> nop ++0000c2e0 <[^>]*> nop ++0000c2e4 <[^>]*> nop ++0000c2e8 <[^>]*> nop ++0000c2ec <[^>]*> nop ++0000c2f0 <[^>]*> nop ++0000c2f4 <[^>]*> nop ++0000c2f8 <[^>]*> nop ++0000c2fc <[^>]*> nop ++0000c300 <[^>]*> nop ++0000c304 <[^>]*> nop ++0000c308 <[^>]*> nop ++0000c30c <[^>]*> nop ++0000c310 <[^>]*> nop ++0000c314 <[^>]*> nop ++0000c318 <[^>]*> nop ++0000c31c <[^>]*> nop ++0000c320 <[^>]*> nop ++0000c324 <[^>]*> nop ++0000c328 <[^>]*> nop ++0000c32c <[^>]*> nop ++0000c330 <[^>]*> nop ++0000c334 <[^>]*> nop ++0000c338 <[^>]*> nop ++0000c33c <[^>]*> nop ++0000c340 <[^>]*> nop ++0000c344 <[^>]*> nop ++0000c348 <[^>]*> nop ++0000c34c <[^>]*> nop ++0000c350 <[^>]*> nop ++0000c354 <[^>]*> nop ++0000c358 <[^>]*> nop ++0000c35c <[^>]*> nop ++0000c360 <[^>]*> nop ++0000c364 <[^>]*> nop ++0000c368 <[^>]*> nop ++0000c36c <[^>]*> nop ++0000c370 <[^>]*> nop ++0000c374 <[^>]*> nop ++0000c378 <[^>]*> nop ++0000c37c <[^>]*> nop ++0000c380 <[^>]*> nop ++0000c384 <[^>]*> nop ++0000c388 <[^>]*> nop ++0000c38c <[^>]*> nop ++0000c390 <[^>]*> nop ++0000c394 <[^>]*> nop ++0000c398 <[^>]*> nop ++0000c39c <[^>]*> nop ++0000c3a0 <[^>]*> nop ++0000c3a4 <[^>]*> nop ++0000c3a8 <[^>]*> nop ++0000c3ac <[^>]*> nop ++0000c3b0 <[^>]*> nop ++0000c3b4 <[^>]*> nop ++0000c3b8 <[^>]*> nop ++0000c3bc <[^>]*> nop ++0000c3c0 <[^>]*> nop ++0000c3c4 <[^>]*> nop ++0000c3c8 <[^>]*> nop ++0000c3cc <[^>]*> nop ++0000c3d0 <[^>]*> nop ++0000c3d4 <[^>]*> nop ++0000c3d8 <[^>]*> nop ++0000c3dc <[^>]*> nop ++0000c3e0 <[^>]*> nop ++0000c3e4 <[^>]*> nop ++0000c3e8 <[^>]*> nop ++0000c3ec <[^>]*> nop ++0000c3f0 <[^>]*> nop ++0000c3f4 <[^>]*> nop ++0000c3f8 <[^>]*> nop ++0000c3fc <[^>]*> nop ++0000c400 <[^>]*> nop ++0000c404 <[^>]*> nop ++0000c408 <[^>]*> nop ++0000c40c <[^>]*> nop ++0000c410 <[^>]*> nop ++0000c414 <[^>]*> nop ++0000c418 <[^>]*> nop ++0000c41c <[^>]*> nop ++0000c420 <[^>]*> nop ++0000c424 <[^>]*> nop ++0000c428 <[^>]*> nop ++0000c42c <[^>]*> nop ++0000c430 <[^>]*> nop ++0000c434 <[^>]*> nop ++0000c438 <[^>]*> nop ++0000c43c <[^>]*> nop ++0000c440 <[^>]*> nop ++0000c444 <[^>]*> nop ++0000c448 <[^>]*> nop ++0000c44c <[^>]*> nop ++0000c450 <[^>]*> nop ++0000c454 <[^>]*> nop ++0000c458 <[^>]*> nop ++0000c45c <[^>]*> nop ++0000c460 <[^>]*> nop ++0000c464 <[^>]*> nop ++0000c468 <[^>]*> nop ++0000c46c <[^>]*> nop ++0000c470 <[^>]*> nop ++0000c474 <[^>]*> nop ++0000c478 <[^>]*> nop ++0000c47c <[^>]*> nop ++0000c480 <[^>]*> nop ++0000c484 <[^>]*> nop ++0000c488 <[^>]*> nop ++0000c48c <[^>]*> nop ++0000c490 <[^>]*> nop ++0000c494 <[^>]*> nop ++0000c498 <[^>]*> nop ++0000c49c <[^>]*> nop ++0000c4a0 <[^>]*> nop ++0000c4a4 <[^>]*> nop ++0000c4a8 <[^>]*> nop ++0000c4ac <[^>]*> nop ++0000c4b0 <[^>]*> nop ++0000c4b4 <[^>]*> nop ++0000c4b8 <[^>]*> nop ++0000c4bc <[^>]*> nop ++0000c4c0 <[^>]*> nop ++0000c4c4 <[^>]*> nop ++0000c4c8 <[^>]*> nop ++0000c4cc <[^>]*> nop ++0000c4d0 <[^>]*> nop ++0000c4d4 <[^>]*> nop ++0000c4d8 <[^>]*> nop ++0000c4dc <[^>]*> nop ++0000c4e0 <[^>]*> nop ++0000c4e4 <[^>]*> nop ++0000c4e8 <[^>]*> nop ++0000c4ec <[^>]*> nop ++0000c4f0 <[^>]*> nop ++0000c4f4 <[^>]*> nop ++0000c4f8 <[^>]*> nop ++0000c4fc <[^>]*> nop ++0000c500 <[^>]*> nop ++0000c504 <[^>]*> nop ++0000c508 <[^>]*> nop ++0000c50c <[^>]*> nop ++0000c510 <[^>]*> nop ++0000c514 <[^>]*> nop ++0000c518 <[^>]*> nop ++0000c51c <[^>]*> nop ++0000c520 <[^>]*> nop ++0000c524 <[^>]*> nop ++0000c528 <[^>]*> nop ++0000c52c <[^>]*> nop ++0000c530 <[^>]*> nop ++0000c534 <[^>]*> nop ++0000c538 <[^>]*> nop ++0000c53c <[^>]*> nop ++0000c540 <[^>]*> nop ++0000c544 <[^>]*> nop ++0000c548 <[^>]*> nop ++0000c54c <[^>]*> nop ++0000c550 <[^>]*> nop ++0000c554 <[^>]*> nop ++0000c558 <[^>]*> nop ++0000c55c <[^>]*> nop ++0000c560 <[^>]*> nop ++0000c564 <[^>]*> nop ++0000c568 <[^>]*> nop ++0000c56c <[^>]*> nop ++0000c570 <[^>]*> nop ++0000c574 <[^>]*> nop ++0000c578 <[^>]*> nop ++0000c57c <[^>]*> nop ++0000c580 <[^>]*> nop ++0000c584 <[^>]*> nop ++0000c588 <[^>]*> nop ++0000c58c <[^>]*> nop ++0000c590 <[^>]*> nop ++0000c594 <[^>]*> nop ++0000c598 <[^>]*> nop ++0000c59c <[^>]*> nop ++0000c5a0 <[^>]*> nop ++0000c5a4 <[^>]*> nop ++0000c5a8 <[^>]*> nop ++0000c5ac <[^>]*> nop ++0000c5b0 <[^>]*> nop ++0000c5b4 <[^>]*> nop ++0000c5b8 <[^>]*> nop ++0000c5bc <[^>]*> nop ++0000c5c0 <[^>]*> nop ++0000c5c4 <[^>]*> nop ++0000c5c8 <[^>]*> nop ++0000c5cc <[^>]*> nop ++0000c5d0 <[^>]*> nop ++0000c5d4 <[^>]*> nop ++0000c5d8 <[^>]*> nop ++0000c5dc <[^>]*> nop ++0000c5e0 <[^>]*> nop ++0000c5e4 <[^>]*> nop ++0000c5e8 <[^>]*> nop ++0000c5ec <[^>]*> nop ++0000c5f0 <[^>]*> nop ++0000c5f4 <[^>]*> nop ++0000c5f8 <[^>]*> nop ++0000c5fc <[^>]*> nop ++0000c600 <[^>]*> nop ++0000c604 <[^>]*> nop ++0000c608 <[^>]*> nop ++0000c60c <[^>]*> nop ++0000c610 <[^>]*> nop ++0000c614 <[^>]*> nop ++0000c618 <[^>]*> nop ++0000c61c <[^>]*> nop ++0000c620 <[^>]*> nop ++0000c624 <[^>]*> nop ++0000c628 <[^>]*> nop ++0000c62c <[^>]*> nop ++0000c630 <[^>]*> nop ++0000c634 <[^>]*> nop ++0000c638 <[^>]*> nop ++0000c63c <[^>]*> nop ++0000c640 <[^>]*> nop ++0000c644 <[^>]*> nop ++0000c648 <[^>]*> nop ++0000c64c <[^>]*> nop ++0000c650 <[^>]*> nop ++0000c654 <[^>]*> nop ++0000c658 <[^>]*> nop ++0000c65c <[^>]*> nop ++0000c660 <[^>]*> nop ++0000c664 <[^>]*> nop ++0000c668 <[^>]*> nop ++0000c66c <[^>]*> nop ++0000c670 <[^>]*> nop ++0000c674 <[^>]*> nop ++0000c678 <[^>]*> nop ++0000c67c <[^>]*> nop ++0000c680 <[^>]*> nop ++0000c684 <[^>]*> nop ++0000c688 <[^>]*> nop ++0000c68c <[^>]*> nop ++0000c690 <[^>]*> nop ++0000c694 <[^>]*> nop ++0000c698 <[^>]*> nop ++0000c69c <[^>]*> nop ++0000c6a0 <[^>]*> nop ++0000c6a4 <[^>]*> nop ++0000c6a8 <[^>]*> nop ++0000c6ac <[^>]*> nop ++0000c6b0 <[^>]*> nop ++0000c6b4 <[^>]*> nop ++0000c6b8 <[^>]*> nop ++0000c6bc <[^>]*> nop ++0000c6c0 <[^>]*> nop ++0000c6c4 <[^>]*> nop ++0000c6c8 <[^>]*> nop ++0000c6cc <[^>]*> nop ++0000c6d0 <[^>]*> nop ++0000c6d4 <[^>]*> nop ++0000c6d8 <[^>]*> nop ++0000c6dc <[^>]*> nop ++0000c6e0 <[^>]*> nop ++0000c6e4 <[^>]*> nop ++0000c6e8 <[^>]*> nop ++0000c6ec <[^>]*> nop ++0000c6f0 <[^>]*> nop ++0000c6f4 <[^>]*> nop ++0000c6f8 <[^>]*> nop ++0000c6fc <[^>]*> nop ++0000c700 <[^>]*> nop ++0000c704 <[^>]*> nop ++0000c708 <[^>]*> nop ++0000c70c <[^>]*> nop ++0000c710 <[^>]*> nop ++0000c714 <[^>]*> nop ++0000c718 <[^>]*> nop ++0000c71c <[^>]*> nop ++0000c720 <[^>]*> nop ++0000c724 <[^>]*> nop ++0000c728 <[^>]*> nop ++0000c72c <[^>]*> nop ++0000c730 <[^>]*> nop ++0000c734 <[^>]*> nop ++0000c738 <[^>]*> nop ++0000c73c <[^>]*> nop ++0000c740 <[^>]*> nop ++0000c744 <[^>]*> nop ++0000c748 <[^>]*> nop ++0000c74c <[^>]*> nop ++0000c750 <[^>]*> nop ++0000c754 <[^>]*> nop ++0000c758 <[^>]*> nop ++0000c75c <[^>]*> nop ++0000c760 <[^>]*> nop ++0000c764 <[^>]*> nop ++0000c768 <[^>]*> nop ++0000c76c <[^>]*> nop ++0000c770 <[^>]*> nop ++0000c774 <[^>]*> nop ++0000c778 <[^>]*> nop ++0000c77c <[^>]*> nop ++0000c780 <[^>]*> nop ++0000c784 <[^>]*> nop ++0000c788 <[^>]*> nop ++0000c78c <[^>]*> nop ++0000c790 <[^>]*> nop ++0000c794 <[^>]*> nop ++0000c798 <[^>]*> nop ++0000c79c <[^>]*> nop ++0000c7a0 <[^>]*> nop ++0000c7a4 <[^>]*> nop ++0000c7a8 <[^>]*> nop ++0000c7ac <[^>]*> nop ++0000c7b0 <[^>]*> nop ++0000c7b4 <[^>]*> nop ++0000c7b8 <[^>]*> nop ++0000c7bc <[^>]*> nop ++0000c7c0 <[^>]*> nop ++0000c7c4 <[^>]*> nop ++0000c7c8 <[^>]*> nop ++0000c7cc <[^>]*> nop ++0000c7d0 <[^>]*> nop ++0000c7d4 <[^>]*> nop ++0000c7d8 <[^>]*> nop ++0000c7dc <[^>]*> nop ++0000c7e0 <[^>]*> nop ++0000c7e4 <[^>]*> nop ++0000c7e8 <[^>]*> nop ++0000c7ec <[^>]*> nop ++0000c7f0 <[^>]*> nop ++0000c7f4 <[^>]*> nop ++0000c7f8 <[^>]*> nop ++0000c7fc <[^>]*> nop ++0000c800 <[^>]*> nop ++0000c804 <[^>]*> nop ++0000c808 <[^>]*> nop ++0000c80c <[^>]*> nop ++0000c810 <[^>]*> nop ++0000c814 <[^>]*> nop ++0000c818 <[^>]*> nop ++0000c81c <[^>]*> nop ++0000c820 <[^>]*> nop ++0000c824 <[^>]*> nop ++0000c828 <[^>]*> nop ++0000c82c <[^>]*> nop ++0000c830 <[^>]*> nop ++0000c834 <[^>]*> nop ++0000c838 <[^>]*> nop ++0000c83c <[^>]*> nop ++0000c840 <[^>]*> nop ++0000c844 <[^>]*> nop ++0000c848 <[^>]*> nop ++0000c84c <[^>]*> nop ++0000c850 <[^>]*> nop ++0000c854 <[^>]*> nop ++0000c858 <[^>]*> nop ++0000c85c <[^>]*> nop ++0000c860 <[^>]*> nop ++0000c864 <[^>]*> nop ++0000c868 <[^>]*> nop ++0000c86c <[^>]*> nop ++0000c870 <[^>]*> nop ++0000c874 <[^>]*> nop ++0000c878 <[^>]*> nop ++0000c87c <[^>]*> nop ++0000c880 <[^>]*> nop ++0000c884 <[^>]*> nop ++0000c888 <[^>]*> nop ++0000c88c <[^>]*> nop ++0000c890 <[^>]*> nop ++0000c894 <[^>]*> nop ++0000c898 <[^>]*> nop ++0000c89c <[^>]*> nop ++0000c8a0 <[^>]*> nop ++0000c8a4 <[^>]*> nop ++0000c8a8 <[^>]*> nop ++0000c8ac <[^>]*> nop ++0000c8b0 <[^>]*> nop ++0000c8b4 <[^>]*> nop ++0000c8b8 <[^>]*> nop ++0000c8bc <[^>]*> nop ++0000c8c0 <[^>]*> nop ++0000c8c4 <[^>]*> nop ++0000c8c8 <[^>]*> nop ++0000c8cc <[^>]*> nop ++0000c8d0 <[^>]*> nop ++0000c8d4 <[^>]*> nop ++0000c8d8 <[^>]*> nop ++0000c8dc <[^>]*> nop ++0000c8e0 <[^>]*> nop ++0000c8e4 <[^>]*> nop ++0000c8e8 <[^>]*> nop ++0000c8ec <[^>]*> nop ++0000c8f0 <[^>]*> nop ++0000c8f4 <[^>]*> nop ++0000c8f8 <[^>]*> nop ++0000c8fc <[^>]*> nop ++0000c900 <[^>]*> nop ++0000c904 <[^>]*> nop ++0000c908 <[^>]*> nop ++0000c90c <[^>]*> nop ++0000c910 <[^>]*> nop ++0000c914 <[^>]*> nop ++0000c918 <[^>]*> nop ++0000c91c <[^>]*> nop ++0000c920 <[^>]*> nop ++0000c924 <[^>]*> nop ++0000c928 <[^>]*> nop ++0000c92c <[^>]*> nop ++0000c930 <[^>]*> nop ++0000c934 <[^>]*> nop ++0000c938 <[^>]*> nop ++0000c93c <[^>]*> nop ++0000c940 <[^>]*> nop ++0000c944 <[^>]*> nop ++0000c948 <[^>]*> nop ++0000c94c <[^>]*> nop ++0000c950 <[^>]*> nop ++0000c954 <[^>]*> nop ++0000c958 <[^>]*> nop ++0000c95c <[^>]*> nop ++0000c960 <[^>]*> nop ++0000c964 <[^>]*> nop ++0000c968 <[^>]*> nop ++0000c96c <[^>]*> nop ++0000c970 <[^>]*> nop ++0000c974 <[^>]*> nop ++0000c978 <[^>]*> nop ++0000c97c <[^>]*> nop ++0000c980 <[^>]*> nop ++0000c984 <[^>]*> nop ++0000c988 <[^>]*> nop ++0000c98c <[^>]*> nop ++0000c990 <[^>]*> nop ++0000c994 <[^>]*> nop ++0000c998 <[^>]*> nop ++0000c99c <[^>]*> nop ++0000c9a0 <[^>]*> nop ++0000c9a4 <[^>]*> nop ++0000c9a8 <[^>]*> nop ++0000c9ac <[^>]*> nop ++0000c9b0 <[^>]*> nop ++0000c9b4 <[^>]*> nop ++0000c9b8 <[^>]*> nop ++0000c9bc <[^>]*> nop ++0000c9c0 <[^>]*> nop ++0000c9c4 <[^>]*> nop ++0000c9c8 <[^>]*> nop ++0000c9cc <[^>]*> nop ++0000c9d0 <[^>]*> nop ++0000c9d4 <[^>]*> nop ++0000c9d8 <[^>]*> nop ++0000c9dc <[^>]*> nop ++0000c9e0 <[^>]*> nop ++0000c9e4 <[^>]*> nop ++0000c9e8 <[^>]*> nop ++0000c9ec <[^>]*> nop ++0000c9f0 <[^>]*> nop ++0000c9f4 <[^>]*> nop ++0000c9f8 <[^>]*> nop ++0000c9fc <[^>]*> nop ++0000ca00 <[^>]*> nop ++0000ca04 <[^>]*> nop ++0000ca08 <[^>]*> nop ++0000ca0c <[^>]*> nop ++0000ca10 <[^>]*> nop ++0000ca14 <[^>]*> nop ++0000ca18 <[^>]*> nop ++0000ca1c <[^>]*> nop ++0000ca20 <[^>]*> nop ++0000ca24 <[^>]*> nop ++0000ca28 <[^>]*> nop ++0000ca2c <[^>]*> nop ++0000ca30 <[^>]*> nop ++0000ca34 <[^>]*> nop ++0000ca38 <[^>]*> nop ++0000ca3c <[^>]*> nop ++0000ca40 <[^>]*> nop ++0000ca44 <[^>]*> nop ++0000ca48 <[^>]*> nop ++0000ca4c <[^>]*> nop ++0000ca50 <[^>]*> nop ++0000ca54 <[^>]*> nop ++0000ca58 <[^>]*> nop ++0000ca5c <[^>]*> nop ++0000ca60 <[^>]*> nop ++0000ca64 <[^>]*> nop ++0000ca68 <[^>]*> nop ++0000ca6c <[^>]*> nop ++0000ca70 <[^>]*> nop ++0000ca74 <[^>]*> nop ++0000ca78 <[^>]*> nop ++0000ca7c <[^>]*> nop ++0000ca80 <[^>]*> nop ++0000ca84 <[^>]*> nop ++0000ca88 <[^>]*> nop ++0000ca8c <[^>]*> nop ++0000ca90 <[^>]*> nop ++0000ca94 <[^>]*> nop ++0000ca98 <[^>]*> nop ++0000ca9c <[^>]*> nop ++0000caa0 <[^>]*> nop ++0000caa4 <[^>]*> nop ++0000caa8 <[^>]*> nop ++0000caac <[^>]*> nop ++0000cab0 <[^>]*> nop ++0000cab4 <[^>]*> nop ++0000cab8 <[^>]*> nop ++0000cabc <[^>]*> nop ++0000cac0 <[^>]*> nop ++0000cac4 <[^>]*> nop ++0000cac8 <[^>]*> nop ++0000cacc <[^>]*> nop ++0000cad0 <[^>]*> nop ++0000cad4 <[^>]*> nop ++0000cad8 <[^>]*> nop ++0000cadc <[^>]*> nop ++0000cae0 <[^>]*> nop ++0000cae4 <[^>]*> nop ++0000cae8 <[^>]*> nop ++0000caec <[^>]*> nop ++0000caf0 <[^>]*> nop ++0000caf4 <[^>]*> nop ++0000caf8 <[^>]*> nop ++0000cafc <[^>]*> nop ++0000cb00 <[^>]*> nop ++0000cb04 <[^>]*> nop ++0000cb08 <[^>]*> nop ++0000cb0c <[^>]*> nop ++0000cb10 <[^>]*> nop ++0000cb14 <[^>]*> nop ++0000cb18 <[^>]*> nop ++0000cb1c <[^>]*> nop ++0000cb20 <[^>]*> nop ++0000cb24 <[^>]*> nop ++0000cb28 <[^>]*> nop ++0000cb2c <[^>]*> nop ++0000cb30 <[^>]*> nop ++0000cb34 <[^>]*> nop ++0000cb38 <[^>]*> nop ++0000cb3c <[^>]*> nop ++0000cb40 <[^>]*> nop ++0000cb44 <[^>]*> nop ++0000cb48 <[^>]*> nop ++0000cb4c <[^>]*> nop ++0000cb50 <[^>]*> nop ++0000cb54 <[^>]*> nop ++0000cb58 <[^>]*> nop ++0000cb5c <[^>]*> nop ++0000cb60 <[^>]*> nop ++0000cb64 <[^>]*> nop ++0000cb68 <[^>]*> nop ++0000cb6c <[^>]*> nop ++0000cb70 <[^>]*> nop ++0000cb74 <[^>]*> nop ++0000cb78 <[^>]*> nop ++0000cb7c <[^>]*> nop ++0000cb80 <[^>]*> nop ++0000cb84 <[^>]*> nop ++0000cb88 <[^>]*> nop ++0000cb8c <[^>]*> nop ++0000cb90 <[^>]*> nop ++0000cb94 <[^>]*> nop ++0000cb98 <[^>]*> nop ++0000cb9c <[^>]*> nop ++0000cba0 <[^>]*> nop ++0000cba4 <[^>]*> nop ++0000cba8 <[^>]*> nop ++0000cbac <[^>]*> nop ++0000cbb0 <[^>]*> nop ++0000cbb4 <[^>]*> nop ++0000cbb8 <[^>]*> nop ++0000cbbc <[^>]*> nop ++0000cbc0 <[^>]*> nop ++0000cbc4 <[^>]*> nop ++0000cbc8 <[^>]*> nop ++0000cbcc <[^>]*> nop ++0000cbd0 <[^>]*> nop ++0000cbd4 <[^>]*> nop ++0000cbd8 <[^>]*> nop ++0000cbdc <[^>]*> nop ++0000cbe0 <[^>]*> nop ++0000cbe4 <[^>]*> nop ++0000cbe8 <[^>]*> nop ++0000cbec <[^>]*> nop ++0000cbf0 <[^>]*> nop ++0000cbf4 <[^>]*> nop ++0000cbf8 <[^>]*> nop ++0000cbfc <[^>]*> nop ++0000cc00 <[^>]*> nop ++0000cc04 <[^>]*> nop ++0000cc08 <[^>]*> nop ++0000cc0c <[^>]*> nop ++0000cc10 <[^>]*> nop ++0000cc14 <[^>]*> nop ++0000cc18 <[^>]*> nop ++0000cc1c <[^>]*> nop ++0000cc20 <[^>]*> nop ++0000cc24 <[^>]*> nop ++0000cc28 <[^>]*> nop ++0000cc2c <[^>]*> nop ++0000cc30 <[^>]*> nop ++0000cc34 <[^>]*> nop ++0000cc38 <[^>]*> nop ++0000cc3c <[^>]*> nop ++0000cc40 <[^>]*> nop ++0000cc44 <[^>]*> nop ++0000cc48 <[^>]*> nop ++0000cc4c <[^>]*> nop ++0000cc50 <[^>]*> nop ++0000cc54 <[^>]*> nop ++0000cc58 <[^>]*> nop ++0000cc5c <[^>]*> nop ++0000cc60 <[^>]*> nop ++0000cc64 <[^>]*> nop ++0000cc68 <[^>]*> nop ++0000cc6c <[^>]*> nop ++0000cc70 <[^>]*> nop ++0000cc74 <[^>]*> nop ++0000cc78 <[^>]*> nop ++0000cc7c <[^>]*> nop ++0000cc80 <[^>]*> nop ++0000cc84 <[^>]*> nop ++0000cc88 <[^>]*> nop ++0000cc8c <[^>]*> nop ++0000cc90 <[^>]*> nop ++0000cc94 <[^>]*> nop ++0000cc98 <[^>]*> nop ++0000cc9c <[^>]*> nop ++0000cca0 <[^>]*> nop ++0000cca4 <[^>]*> nop ++0000cca8 <[^>]*> nop ++0000ccac <[^>]*> nop ++0000ccb0 <[^>]*> nop ++0000ccb4 <[^>]*> nop ++0000ccb8 <[^>]*> nop ++0000ccbc <[^>]*> nop ++0000ccc0 <[^>]*> nop ++0000ccc4 <[^>]*> nop ++0000ccc8 <[^>]*> nop ++0000cccc <[^>]*> nop ++0000ccd0 <[^>]*> nop ++0000ccd4 <[^>]*> nop ++0000ccd8 <[^>]*> nop ++0000ccdc <[^>]*> nop ++0000cce0 <[^>]*> nop ++0000cce4 <[^>]*> nop ++0000cce8 <[^>]*> nop ++0000ccec <[^>]*> nop ++0000ccf0 <[^>]*> nop ++0000ccf4 <[^>]*> nop ++0000ccf8 <[^>]*> nop ++0000ccfc <[^>]*> nop ++0000cd00 <[^>]*> nop ++0000cd04 <[^>]*> nop ++0000cd08 <[^>]*> nop ++0000cd0c <[^>]*> nop ++0000cd10 <[^>]*> nop ++0000cd14 <[^>]*> nop ++0000cd18 <[^>]*> nop ++0000cd1c <[^>]*> nop ++0000cd20 <[^>]*> nop ++0000cd24 <[^>]*> nop ++0000cd28 <[^>]*> nop ++0000cd2c <[^>]*> nop ++0000cd30 <[^>]*> nop ++0000cd34 <[^>]*> nop ++0000cd38 <[^>]*> nop ++0000cd3c <[^>]*> nop ++0000cd40 <[^>]*> nop ++0000cd44 <[^>]*> nop ++0000cd48 <[^>]*> nop ++0000cd4c <[^>]*> nop ++0000cd50 <[^>]*> nop ++0000cd54 <[^>]*> nop ++0000cd58 <[^>]*> nop ++0000cd5c <[^>]*> nop ++0000cd60 <[^>]*> nop ++0000cd64 <[^>]*> nop ++0000cd68 <[^>]*> nop ++0000cd6c <[^>]*> nop ++0000cd70 <[^>]*> nop ++0000cd74 <[^>]*> nop ++0000cd78 <[^>]*> nop ++0000cd7c <[^>]*> nop ++0000cd80 <[^>]*> nop ++0000cd84 <[^>]*> nop ++0000cd88 <[^>]*> nop ++0000cd8c <[^>]*> nop ++0000cd90 <[^>]*> nop ++0000cd94 <[^>]*> nop ++0000cd98 <[^>]*> nop ++0000cd9c <[^>]*> nop ++0000cda0 <[^>]*> nop ++0000cda4 <[^>]*> nop ++0000cda8 <[^>]*> nop ++0000cdac <[^>]*> nop ++0000cdb0 <[^>]*> nop ++0000cdb4 <[^>]*> nop ++0000cdb8 <[^>]*> nop ++0000cdbc <[^>]*> nop ++0000cdc0 <[^>]*> nop ++0000cdc4 <[^>]*> nop ++0000cdc8 <[^>]*> nop ++0000cdcc <[^>]*> nop ++0000cdd0 <[^>]*> nop ++0000cdd4 <[^>]*> nop ++0000cdd8 <[^>]*> nop ++0000cddc <[^>]*> nop ++0000cde0 <[^>]*> nop ++0000cde4 <[^>]*> nop ++0000cde8 <[^>]*> nop ++0000cdec <[^>]*> nop ++0000cdf0 <[^>]*> nop ++0000cdf4 <[^>]*> nop ++0000cdf8 <[^>]*> nop ++0000cdfc <[^>]*> nop ++0000ce00 <[^>]*> nop ++0000ce04 <[^>]*> nop ++0000ce08 <[^>]*> nop ++0000ce0c <[^>]*> nop ++0000ce10 <[^>]*> nop ++0000ce14 <[^>]*> nop ++0000ce18 <[^>]*> nop ++0000ce1c <[^>]*> nop ++0000ce20 <[^>]*> nop ++0000ce24 <[^>]*> nop ++0000ce28 <[^>]*> nop ++0000ce2c <[^>]*> nop ++0000ce30 <[^>]*> nop ++0000ce34 <[^>]*> nop ++0000ce38 <[^>]*> nop ++0000ce3c <[^>]*> nop ++0000ce40 <[^>]*> nop ++0000ce44 <[^>]*> nop ++0000ce48 <[^>]*> nop ++0000ce4c <[^>]*> nop ++0000ce50 <[^>]*> nop ++0000ce54 <[^>]*> nop ++0000ce58 <[^>]*> nop ++0000ce5c <[^>]*> nop ++0000ce60 <[^>]*> nop ++0000ce64 <[^>]*> nop ++0000ce68 <[^>]*> nop ++0000ce6c <[^>]*> nop ++0000ce70 <[^>]*> nop ++0000ce74 <[^>]*> nop ++0000ce78 <[^>]*> nop ++0000ce7c <[^>]*> nop ++0000ce80 <[^>]*> nop ++0000ce84 <[^>]*> nop ++0000ce88 <[^>]*> nop ++0000ce8c <[^>]*> nop ++0000ce90 <[^>]*> nop ++0000ce94 <[^>]*> nop ++0000ce98 <[^>]*> nop ++0000ce9c <[^>]*> nop ++0000cea0 <[^>]*> nop ++0000cea4 <[^>]*> nop ++0000cea8 <[^>]*> nop ++0000ceac <[^>]*> nop ++0000ceb0 <[^>]*> nop ++0000ceb4 <[^>]*> nop ++0000ceb8 <[^>]*> nop ++0000cebc <[^>]*> nop ++0000cec0 <[^>]*> nop ++0000cec4 <[^>]*> nop ++0000cec8 <[^>]*> nop ++0000cecc <[^>]*> nop ++0000ced0 <[^>]*> nop ++0000ced4 <[^>]*> nop ++0000ced8 <[^>]*> nop ++0000cedc <[^>]*> nop ++0000cee0 <[^>]*> nop ++0000cee4 <[^>]*> nop ++0000cee8 <[^>]*> nop ++0000ceec <[^>]*> nop ++0000cef0 <[^>]*> nop ++0000cef4 <[^>]*> nop ++0000cef8 <[^>]*> nop ++0000cefc <[^>]*> nop ++0000cf00 <[^>]*> nop ++0000cf04 <[^>]*> nop ++0000cf08 <[^>]*> nop ++0000cf0c <[^>]*> nop ++0000cf10 <[^>]*> nop ++0000cf14 <[^>]*> nop ++0000cf18 <[^>]*> nop ++0000cf1c <[^>]*> nop ++0000cf20 <[^>]*> nop ++0000cf24 <[^>]*> nop ++0000cf28 <[^>]*> nop ++0000cf2c <[^>]*> nop ++0000cf30 <[^>]*> nop ++0000cf34 <[^>]*> nop ++0000cf38 <[^>]*> nop ++0000cf3c <[^>]*> nop ++0000cf40 <[^>]*> nop ++0000cf44 <[^>]*> nop ++0000cf48 <[^>]*> nop ++0000cf4c <[^>]*> nop ++0000cf50 <[^>]*> nop ++0000cf54 <[^>]*> nop ++0000cf58 <[^>]*> nop ++0000cf5c <[^>]*> nop ++0000cf60 <[^>]*> nop ++0000cf64 <[^>]*> nop ++0000cf68 <[^>]*> nop ++0000cf6c <[^>]*> nop ++0000cf70 <[^>]*> nop ++0000cf74 <[^>]*> nop ++0000cf78 <[^>]*> nop ++0000cf7c <[^>]*> nop ++0000cf80 <[^>]*> nop ++0000cf84 <[^>]*> nop ++0000cf88 <[^>]*> nop ++0000cf8c <[^>]*> nop ++0000cf90 <[^>]*> nop ++0000cf94 <[^>]*> nop ++0000cf98 <[^>]*> nop ++0000cf9c <[^>]*> nop ++0000cfa0 <[^>]*> nop ++0000cfa4 <[^>]*> nop ++0000cfa8 <[^>]*> nop ++0000cfac <[^>]*> nop ++0000cfb0 <[^>]*> nop ++0000cfb4 <[^>]*> nop ++0000cfb8 <[^>]*> nop ++0000cfbc <[^>]*> nop ++0000cfc0 <[^>]*> nop ++0000cfc4 <[^>]*> nop ++0000cfc8 <[^>]*> nop ++0000cfcc <[^>]*> nop ++0000cfd0 <[^>]*> nop ++0000cfd4 <[^>]*> nop ++0000cfd8 <[^>]*> nop ++0000cfdc <[^>]*> nop ++0000cfe0 <[^>]*> nop ++0000cfe4 <[^>]*> nop ++0000cfe8 <[^>]*> nop ++0000cfec <[^>]*> nop ++0000cff0 <[^>]*> nop ++0000cff4 <[^>]*> nop ++0000cff8 <[^>]*> nop ++0000cffc <[^>]*> nop ++0000d000 <[^>]*> nop ++0000d004 <[^>]*> nop ++0000d008 <[^>]*> nop ++0000d00c <[^>]*> nop ++0000d010 <[^>]*> nop ++0000d014 <[^>]*> nop ++0000d018 <[^>]*> nop ++0000d01c <[^>]*> nop ++0000d020 <[^>]*> nop ++0000d024 <[^>]*> nop ++0000d028 <[^>]*> nop ++0000d02c <[^>]*> nop ++0000d030 <[^>]*> nop ++0000d034 <[^>]*> nop ++0000d038 <[^>]*> nop ++0000d03c <[^>]*> nop ++0000d040 <[^>]*> nop ++0000d044 <[^>]*> nop ++0000d048 <[^>]*> nop ++0000d04c <[^>]*> nop ++0000d050 <[^>]*> nop ++0000d054 <[^>]*> nop ++0000d058 <[^>]*> nop ++0000d05c <[^>]*> nop ++0000d060 <[^>]*> nop ++0000d064 <[^>]*> nop ++0000d068 <[^>]*> nop ++0000d06c <[^>]*> nop ++0000d070 <[^>]*> nop ++0000d074 <[^>]*> nop ++0000d078 <[^>]*> nop ++0000d07c <[^>]*> nop ++0000d080 <[^>]*> nop ++0000d084 <[^>]*> nop ++0000d088 <[^>]*> nop ++0000d08c <[^>]*> nop ++0000d090 <[^>]*> nop ++0000d094 <[^>]*> nop ++0000d098 <[^>]*> nop ++0000d09c <[^>]*> nop ++0000d0a0 <[^>]*> nop ++0000d0a4 <[^>]*> nop ++0000d0a8 <[^>]*> nop ++0000d0ac <[^>]*> nop ++0000d0b0 <[^>]*> nop ++0000d0b4 <[^>]*> nop ++0000d0b8 <[^>]*> nop ++0000d0bc <[^>]*> nop ++0000d0c0 <[^>]*> nop ++0000d0c4 <[^>]*> nop ++0000d0c8 <[^>]*> nop ++0000d0cc <[^>]*> nop ++0000d0d0 <[^>]*> nop ++0000d0d4 <[^>]*> nop ++0000d0d8 <[^>]*> nop ++0000d0dc <[^>]*> nop ++0000d0e0 <[^>]*> nop ++0000d0e4 <[^>]*> nop ++0000d0e8 <[^>]*> nop ++0000d0ec <[^>]*> nop ++0000d0f0 <[^>]*> nop ++0000d0f4 <[^>]*> nop ++0000d0f8 <[^>]*> nop ++0000d0fc <[^>]*> nop ++0000d100 <[^>]*> nop ++0000d104 <[^>]*> nop ++0000d108 <[^>]*> nop ++0000d10c <[^>]*> nop ++0000d110 <[^>]*> nop ++0000d114 <[^>]*> nop ++0000d118 <[^>]*> nop ++0000d11c <[^>]*> nop ++0000d120 <[^>]*> nop ++0000d124 <[^>]*> nop ++0000d128 <[^>]*> nop ++0000d12c <[^>]*> nop ++0000d130 <[^>]*> nop ++0000d134 <[^>]*> nop ++0000d138 <[^>]*> nop ++0000d13c <[^>]*> nop ++0000d140 <[^>]*> nop ++0000d144 <[^>]*> nop ++0000d148 <[^>]*> nop ++0000d14c <[^>]*> nop ++0000d150 <[^>]*> nop ++0000d154 <[^>]*> nop ++0000d158 <[^>]*> nop ++0000d15c <[^>]*> nop ++0000d160 <[^>]*> nop ++0000d164 <[^>]*> nop ++0000d168 <[^>]*> nop ++0000d16c <[^>]*> nop ++0000d170 <[^>]*> nop ++0000d174 <[^>]*> nop ++0000d178 <[^>]*> nop ++0000d17c <[^>]*> nop ++0000d180 <[^>]*> nop ++0000d184 <[^>]*> nop ++0000d188 <[^>]*> nop ++0000d18c <[^>]*> nop ++0000d190 <[^>]*> nop ++0000d194 <[^>]*> nop ++0000d198 <[^>]*> nop ++0000d19c <[^>]*> nop ++0000d1a0 <[^>]*> nop ++0000d1a4 <[^>]*> nop ++0000d1a8 <[^>]*> nop ++0000d1ac <[^>]*> nop ++0000d1b0 <[^>]*> nop ++0000d1b4 <[^>]*> nop ++0000d1b8 <[^>]*> nop ++0000d1bc <[^>]*> nop ++0000d1c0 <[^>]*> nop ++0000d1c4 <[^>]*> nop ++0000d1c8 <[^>]*> nop ++0000d1cc <[^>]*> nop ++0000d1d0 <[^>]*> nop ++0000d1d4 <[^>]*> nop ++0000d1d8 <[^>]*> nop ++0000d1dc <[^>]*> nop ++0000d1e0 <[^>]*> nop ++0000d1e4 <[^>]*> nop ++0000d1e8 <[^>]*> nop ++0000d1ec <[^>]*> nop ++0000d1f0 <[^>]*> nop ++0000d1f4 <[^>]*> nop ++0000d1f8 <[^>]*> nop ++0000d1fc <[^>]*> nop ++0000d200 <[^>]*> nop ++0000d204 <[^>]*> nop ++0000d208 <[^>]*> nop ++0000d20c <[^>]*> nop ++0000d210 <[^>]*> nop ++0000d214 <[^>]*> nop ++0000d218 <[^>]*> nop ++0000d21c <[^>]*> nop ++0000d220 <[^>]*> nop ++0000d224 <[^>]*> nop ++0000d228 <[^>]*> nop ++0000d22c <[^>]*> nop ++0000d230 <[^>]*> nop ++0000d234 <[^>]*> nop ++0000d238 <[^>]*> nop ++0000d23c <[^>]*> nop ++0000d240 <[^>]*> nop ++0000d244 <[^>]*> nop ++0000d248 <[^>]*> nop ++0000d24c <[^>]*> nop ++0000d250 <[^>]*> nop ++0000d254 <[^>]*> nop ++0000d258 <[^>]*> nop ++0000d25c <[^>]*> nop ++0000d260 <[^>]*> nop ++0000d264 <[^>]*> nop ++0000d268 <[^>]*> nop ++0000d26c <[^>]*> nop ++0000d270 <[^>]*> nop ++0000d274 <[^>]*> nop ++0000d278 <[^>]*> nop ++0000d27c <[^>]*> nop ++0000d280 <[^>]*> nop ++0000d284 <[^>]*> nop ++0000d288 <[^>]*> nop ++0000d28c <[^>]*> nop ++0000d290 <[^>]*> nop ++0000d294 <[^>]*> nop ++0000d298 <[^>]*> nop ++0000d29c <[^>]*> nop ++0000d2a0 <[^>]*> nop ++0000d2a4 <[^>]*> nop ++0000d2a8 <[^>]*> nop ++0000d2ac <[^>]*> nop ++0000d2b0 <[^>]*> nop ++0000d2b4 <[^>]*> nop ++0000d2b8 <[^>]*> nop ++0000d2bc <[^>]*> nop ++0000d2c0 <[^>]*> nop ++0000d2c4 <[^>]*> nop ++0000d2c8 <[^>]*> nop ++0000d2cc <[^>]*> nop ++0000d2d0 <[^>]*> nop ++0000d2d4 <[^>]*> nop ++0000d2d8 <[^>]*> nop ++0000d2dc <[^>]*> nop ++0000d2e0 <[^>]*> nop ++0000d2e4 <[^>]*> nop ++0000d2e8 <[^>]*> nop ++0000d2ec <[^>]*> nop ++0000d2f0 <[^>]*> nop ++0000d2f4 <[^>]*> nop ++0000d2f8 <[^>]*> nop ++0000d2fc <[^>]*> nop ++0000d300 <[^>]*> nop ++0000d304 <[^>]*> nop ++0000d308 <[^>]*> nop ++0000d30c <[^>]*> nop ++0000d310 <[^>]*> nop ++0000d314 <[^>]*> nop ++0000d318 <[^>]*> nop ++0000d31c <[^>]*> nop ++0000d320 <[^>]*> nop ++0000d324 <[^>]*> nop ++0000d328 <[^>]*> nop ++0000d32c <[^>]*> nop ++0000d330 <[^>]*> nop ++0000d334 <[^>]*> nop ++0000d338 <[^>]*> nop ++0000d33c <[^>]*> nop ++0000d340 <[^>]*> nop ++0000d344 <[^>]*> nop ++0000d348 <[^>]*> nop ++0000d34c <[^>]*> nop ++0000d350 <[^>]*> nop ++0000d354 <[^>]*> nop ++0000d358 <[^>]*> nop ++0000d35c <[^>]*> nop ++0000d360 <[^>]*> nop ++0000d364 <[^>]*> nop ++0000d368 <[^>]*> nop ++0000d36c <[^>]*> nop ++0000d370 <[^>]*> nop ++0000d374 <[^>]*> nop ++0000d378 <[^>]*> nop ++0000d37c <[^>]*> nop ++0000d380 <[^>]*> nop ++0000d384 <[^>]*> nop ++0000d388 <[^>]*> nop ++0000d38c <[^>]*> nop ++0000d390 <[^>]*> nop ++0000d394 <[^>]*> nop ++0000d398 <[^>]*> nop ++0000d39c <[^>]*> nop ++0000d3a0 <[^>]*> nop ++0000d3a4 <[^>]*> nop ++0000d3a8 <[^>]*> nop ++0000d3ac <[^>]*> nop ++0000d3b0 <[^>]*> nop ++0000d3b4 <[^>]*> nop ++0000d3b8 <[^>]*> nop ++0000d3bc <[^>]*> nop ++0000d3c0 <[^>]*> nop ++0000d3c4 <[^>]*> nop ++0000d3c8 <[^>]*> nop ++0000d3cc <[^>]*> nop ++0000d3d0 <[^>]*> nop ++0000d3d4 <[^>]*> nop ++0000d3d8 <[^>]*> nop ++0000d3dc <[^>]*> nop ++0000d3e0 <[^>]*> nop ++0000d3e4 <[^>]*> nop ++0000d3e8 <[^>]*> nop ++0000d3ec <[^>]*> nop ++0000d3f0 <[^>]*> nop ++0000d3f4 <[^>]*> nop ++0000d3f8 <[^>]*> nop ++0000d3fc <[^>]*> nop ++0000d400 <[^>]*> nop ++0000d404 <[^>]*> nop ++0000d408 <[^>]*> nop ++0000d40c <[^>]*> nop ++0000d410 <[^>]*> nop ++0000d414 <[^>]*> nop ++0000d418 <[^>]*> nop ++0000d41c <[^>]*> nop ++0000d420 <[^>]*> nop ++0000d424 <[^>]*> nop ++0000d428 <[^>]*> nop ++0000d42c <[^>]*> nop ++0000d430 <[^>]*> nop ++0000d434 <[^>]*> nop ++0000d438 <[^>]*> nop ++0000d43c <[^>]*> nop ++0000d440 <[^>]*> nop ++0000d444 <[^>]*> nop ++0000d448 <[^>]*> nop ++0000d44c <[^>]*> nop ++0000d450 <[^>]*> nop ++0000d454 <[^>]*> nop ++0000d458 <[^>]*> nop ++0000d45c <[^>]*> nop ++0000d460 <[^>]*> nop ++0000d464 <[^>]*> nop ++0000d468 <[^>]*> nop ++0000d46c <[^>]*> nop ++0000d470 <[^>]*> nop ++0000d474 <[^>]*> nop ++0000d478 <[^>]*> nop ++0000d47c <[^>]*> nop ++0000d480 <[^>]*> nop ++0000d484 <[^>]*> nop ++0000d488 <[^>]*> nop ++0000d48c <[^>]*> nop ++0000d490 <[^>]*> nop ++0000d494 <[^>]*> nop ++0000d498 <[^>]*> nop ++0000d49c <[^>]*> nop ++0000d4a0 <[^>]*> nop ++0000d4a4 <[^>]*> nop ++0000d4a8 <[^>]*> nop ++0000d4ac <[^>]*> nop ++0000d4b0 <[^>]*> nop ++0000d4b4 <[^>]*> nop ++0000d4b8 <[^>]*> nop ++0000d4bc <[^>]*> nop ++0000d4c0 <[^>]*> nop ++0000d4c4 <[^>]*> nop ++0000d4c8 <[^>]*> nop ++0000d4cc <[^>]*> nop ++0000d4d0 <[^>]*> nop ++0000d4d4 <[^>]*> nop ++0000d4d8 <[^>]*> nop ++0000d4dc <[^>]*> nop ++0000d4e0 <[^>]*> nop ++0000d4e4 <[^>]*> nop ++0000d4e8 <[^>]*> nop ++0000d4ec <[^>]*> nop ++0000d4f0 <[^>]*> nop ++0000d4f4 <[^>]*> nop ++0000d4f8 <[^>]*> nop ++0000d4fc <[^>]*> nop ++0000d500 <[^>]*> nop ++0000d504 <[^>]*> nop ++0000d508 <[^>]*> nop ++0000d50c <[^>]*> nop ++0000d510 <[^>]*> nop ++0000d514 <[^>]*> nop ++0000d518 <[^>]*> nop ++0000d51c <[^>]*> nop ++0000d520 <[^>]*> nop ++0000d524 <[^>]*> nop ++0000d528 <[^>]*> nop ++0000d52c <[^>]*> nop ++0000d530 <[^>]*> nop ++0000d534 <[^>]*> nop ++0000d538 <[^>]*> nop ++0000d53c <[^>]*> nop ++0000d540 <[^>]*> nop ++0000d544 <[^>]*> nop ++0000d548 <[^>]*> nop ++0000d54c <[^>]*> nop ++0000d550 <[^>]*> nop ++0000d554 <[^>]*> nop ++0000d558 <[^>]*> nop ++0000d55c <[^>]*> nop ++0000d560 <[^>]*> nop ++0000d564 <[^>]*> nop ++0000d568 <[^>]*> nop ++0000d56c <[^>]*> nop ++0000d570 <[^>]*> nop ++0000d574 <[^>]*> nop ++0000d578 <[^>]*> nop ++0000d57c <[^>]*> nop ++0000d580 <[^>]*> nop ++0000d584 <[^>]*> nop ++0000d588 <[^>]*> nop ++0000d58c <[^>]*> nop ++0000d590 <[^>]*> nop ++0000d594 <[^>]*> nop ++0000d598 <[^>]*> nop ++0000d59c <[^>]*> nop ++0000d5a0 <[^>]*> nop ++0000d5a4 <[^>]*> nop ++0000d5a8 <[^>]*> nop ++0000d5ac <[^>]*> nop ++0000d5b0 <[^>]*> nop ++0000d5b4 <[^>]*> nop ++0000d5b8 <[^>]*> nop ++0000d5bc <[^>]*> nop ++0000d5c0 <[^>]*> nop ++0000d5c4 <[^>]*> nop ++0000d5c8 <[^>]*> nop ++0000d5cc <[^>]*> nop ++0000d5d0 <[^>]*> nop ++0000d5d4 <[^>]*> nop ++0000d5d8 <[^>]*> nop ++0000d5dc <[^>]*> nop ++0000d5e0 <[^>]*> nop ++0000d5e4 <[^>]*> nop ++0000d5e8 <[^>]*> nop ++0000d5ec <[^>]*> nop ++0000d5f0 <[^>]*> nop ++0000d5f4 <[^>]*> nop ++0000d5f8 <[^>]*> nop ++0000d5fc <[^>]*> nop ++0000d600 <[^>]*> nop ++0000d604 <[^>]*> nop ++0000d608 <[^>]*> nop ++0000d60c <[^>]*> nop ++0000d610 <[^>]*> nop ++0000d614 <[^>]*> nop ++0000d618 <[^>]*> nop ++0000d61c <[^>]*> nop ++0000d620 <[^>]*> nop ++0000d624 <[^>]*> nop ++0000d628 <[^>]*> nop ++0000d62c <[^>]*> nop ++0000d630 <[^>]*> nop ++0000d634 <[^>]*> nop ++0000d638 <[^>]*> nop ++0000d63c <[^>]*> nop ++0000d640 <[^>]*> nop ++0000d644 <[^>]*> nop ++0000d648 <[^>]*> nop ++0000d64c <[^>]*> nop ++0000d650 <[^>]*> nop ++0000d654 <[^>]*> nop ++0000d658 <[^>]*> nop ++0000d65c <[^>]*> nop ++0000d660 <[^>]*> nop ++0000d664 <[^>]*> nop ++0000d668 <[^>]*> nop ++0000d66c <[^>]*> nop ++0000d670 <[^>]*> nop ++0000d674 <[^>]*> nop ++0000d678 <[^>]*> nop ++0000d67c <[^>]*> nop ++0000d680 <[^>]*> nop ++0000d684 <[^>]*> nop ++0000d688 <[^>]*> nop ++0000d68c <[^>]*> nop ++0000d690 <[^>]*> nop ++0000d694 <[^>]*> nop ++0000d698 <[^>]*> nop ++0000d69c <[^>]*> nop ++0000d6a0 <[^>]*> nop ++0000d6a4 <[^>]*> nop ++0000d6a8 <[^>]*> nop ++0000d6ac <[^>]*> nop ++0000d6b0 <[^>]*> nop ++0000d6b4 <[^>]*> nop ++0000d6b8 <[^>]*> nop ++0000d6bc <[^>]*> nop ++0000d6c0 <[^>]*> nop ++0000d6c4 <[^>]*> nop ++0000d6c8 <[^>]*> nop ++0000d6cc <[^>]*> nop ++0000d6d0 <[^>]*> nop ++0000d6d4 <[^>]*> nop ++0000d6d8 <[^>]*> nop ++0000d6dc <[^>]*> nop ++0000d6e0 <[^>]*> nop ++0000d6e4 <[^>]*> nop ++0000d6e8 <[^>]*> nop ++0000d6ec <[^>]*> nop ++0000d6f0 <[^>]*> nop ++0000d6f4 <[^>]*> nop ++0000d6f8 <[^>]*> nop ++0000d6fc <[^>]*> nop ++0000d700 <[^>]*> nop ++0000d704 <[^>]*> nop ++0000d708 <[^>]*> nop ++0000d70c <[^>]*> nop ++0000d710 <[^>]*> nop ++0000d714 <[^>]*> nop ++0000d718 <[^>]*> nop ++0000d71c <[^>]*> nop ++0000d720 <[^>]*> nop ++0000d724 <[^>]*> nop ++0000d728 <[^>]*> nop ++0000d72c <[^>]*> nop ++0000d730 <[^>]*> nop ++0000d734 <[^>]*> nop ++0000d738 <[^>]*> nop ++0000d73c <[^>]*> nop ++0000d740 <[^>]*> nop ++0000d744 <[^>]*> nop ++0000d748 <[^>]*> nop ++0000d74c <[^>]*> nop ++0000d750 <[^>]*> nop ++0000d754 <[^>]*> nop ++0000d758 <[^>]*> nop ++0000d75c <[^>]*> nop ++0000d760 <[^>]*> nop ++0000d764 <[^>]*> nop ++0000d768 <[^>]*> nop ++0000d76c <[^>]*> nop ++0000d770 <[^>]*> nop ++0000d774 <[^>]*> nop ++0000d778 <[^>]*> nop ++0000d77c <[^>]*> nop ++0000d780 <[^>]*> nop ++0000d784 <[^>]*> nop ++0000d788 <[^>]*> nop ++0000d78c <[^>]*> nop ++0000d790 <[^>]*> nop ++0000d794 <[^>]*> nop ++0000d798 <[^>]*> nop ++0000d79c <[^>]*> nop ++0000d7a0 <[^>]*> nop ++0000d7a4 <[^>]*> nop ++0000d7a8 <[^>]*> nop ++0000d7ac <[^>]*> nop ++0000d7b0 <[^>]*> nop ++0000d7b4 <[^>]*> nop ++0000d7b8 <[^>]*> nop ++0000d7bc <[^>]*> nop ++0000d7c0 <[^>]*> nop ++0000d7c4 <[^>]*> nop ++0000d7c8 <[^>]*> nop ++0000d7cc <[^>]*> nop ++0000d7d0 <[^>]*> nop ++0000d7d4 <[^>]*> nop ++0000d7d8 <[^>]*> nop ++0000d7dc <[^>]*> nop ++0000d7e0 <[^>]*> nop ++0000d7e4 <[^>]*> nop ++0000d7e8 <[^>]*> nop ++0000d7ec <[^>]*> nop ++0000d7f0 <[^>]*> nop ++0000d7f4 <[^>]*> nop ++0000d7f8 <[^>]*> nop ++0000d7fc <[^>]*> nop ++0000d800 <[^>]*> nop ++0000d804 <[^>]*> nop ++0000d808 <[^>]*> nop ++0000d80c <[^>]*> nop ++0000d810 <[^>]*> nop ++0000d814 <[^>]*> nop ++0000d818 <[^>]*> nop ++0000d81c <[^>]*> nop ++0000d820 <[^>]*> nop ++0000d824 <[^>]*> nop ++0000d828 <[^>]*> nop ++0000d82c <[^>]*> nop ++0000d830 <[^>]*> nop ++0000d834 <[^>]*> nop ++0000d838 <[^>]*> nop ++0000d83c <[^>]*> nop ++0000d840 <[^>]*> nop ++0000d844 <[^>]*> nop ++0000d848 <[^>]*> nop ++0000d84c <[^>]*> nop ++0000d850 <[^>]*> nop ++0000d854 <[^>]*> nop ++0000d858 <[^>]*> nop ++0000d85c <[^>]*> nop ++0000d860 <[^>]*> nop ++0000d864 <[^>]*> nop ++0000d868 <[^>]*> nop ++0000d86c <[^>]*> nop ++0000d870 <[^>]*> nop ++0000d874 <[^>]*> nop ++0000d878 <[^>]*> nop ++0000d87c <[^>]*> nop ++0000d880 <[^>]*> nop ++0000d884 <[^>]*> nop ++0000d888 <[^>]*> nop ++0000d88c <[^>]*> nop ++0000d890 <[^>]*> nop ++0000d894 <[^>]*> nop ++0000d898 <[^>]*> nop ++0000d89c <[^>]*> nop ++0000d8a0 <[^>]*> nop ++0000d8a4 <[^>]*> nop ++0000d8a8 <[^>]*> nop ++0000d8ac <[^>]*> nop ++0000d8b0 <[^>]*> nop ++0000d8b4 <[^>]*> nop ++0000d8b8 <[^>]*> nop ++0000d8bc <[^>]*> nop ++0000d8c0 <[^>]*> nop ++0000d8c4 <[^>]*> nop ++0000d8c8 <[^>]*> nop ++0000d8cc <[^>]*> nop ++0000d8d0 <[^>]*> nop ++0000d8d4 <[^>]*> nop ++0000d8d8 <[^>]*> nop ++0000d8dc <[^>]*> nop ++0000d8e0 <[^>]*> nop ++0000d8e4 <[^>]*> nop ++0000d8e8 <[^>]*> nop ++0000d8ec <[^>]*> nop ++0000d8f0 <[^>]*> nop ++0000d8f4 <[^>]*> nop ++0000d8f8 <[^>]*> nop ++0000d8fc <[^>]*> nop ++0000d900 <[^>]*> nop ++0000d904 <[^>]*> nop ++0000d908 <[^>]*> nop ++0000d90c <[^>]*> nop ++0000d910 <[^>]*> nop ++0000d914 <[^>]*> nop ++0000d918 <[^>]*> nop ++0000d91c <[^>]*> nop ++0000d920 <[^>]*> nop ++0000d924 <[^>]*> nop ++0000d928 <[^>]*> nop ++0000d92c <[^>]*> nop ++0000d930 <[^>]*> nop ++0000d934 <[^>]*> nop ++0000d938 <[^>]*> nop ++0000d93c <[^>]*> nop ++0000d940 <[^>]*> nop ++0000d944 <[^>]*> nop ++0000d948 <[^>]*> nop ++0000d94c <[^>]*> nop ++0000d950 <[^>]*> nop ++0000d954 <[^>]*> nop ++0000d958 <[^>]*> nop ++0000d95c <[^>]*> nop ++0000d960 <[^>]*> nop ++0000d964 <[^>]*> nop ++0000d968 <[^>]*> nop ++0000d96c <[^>]*> nop ++0000d970 <[^>]*> nop ++0000d974 <[^>]*> nop ++0000d978 <[^>]*> nop ++0000d97c <[^>]*> nop ++0000d980 <[^>]*> nop ++0000d984 <[^>]*> nop ++0000d988 <[^>]*> nop ++0000d98c <[^>]*> nop ++0000d990 <[^>]*> nop ++0000d994 <[^>]*> nop ++0000d998 <[^>]*> nop ++0000d99c <[^>]*> nop ++0000d9a0 <[^>]*> nop ++0000d9a4 <[^>]*> nop ++0000d9a8 <[^>]*> nop ++0000d9ac <[^>]*> nop ++0000d9b0 <[^>]*> nop ++0000d9b4 <[^>]*> nop ++0000d9b8 <[^>]*> nop ++0000d9bc <[^>]*> nop ++0000d9c0 <[^>]*> nop ++0000d9c4 <[^>]*> nop ++0000d9c8 <[^>]*> nop ++0000d9cc <[^>]*> nop ++0000d9d0 <[^>]*> nop ++0000d9d4 <[^>]*> nop ++0000d9d8 <[^>]*> nop ++0000d9dc <[^>]*> nop ++0000d9e0 <[^>]*> nop ++0000d9e4 <[^>]*> nop ++0000d9e8 <[^>]*> nop ++0000d9ec <[^>]*> nop ++0000d9f0 <[^>]*> nop ++0000d9f4 <[^>]*> nop ++0000d9f8 <[^>]*> nop ++0000d9fc <[^>]*> nop ++0000da00 <[^>]*> nop ++0000da04 <[^>]*> nop ++0000da08 <[^>]*> nop ++0000da0c <[^>]*> nop ++0000da10 <[^>]*> nop ++0000da14 <[^>]*> nop ++0000da18 <[^>]*> nop ++0000da1c <[^>]*> nop ++0000da20 <[^>]*> nop ++0000da24 <[^>]*> nop ++0000da28 <[^>]*> nop ++0000da2c <[^>]*> nop ++0000da30 <[^>]*> nop ++0000da34 <[^>]*> nop ++0000da38 <[^>]*> nop ++0000da3c <[^>]*> nop ++0000da40 <[^>]*> nop ++0000da44 <[^>]*> nop ++0000da48 <[^>]*> nop ++0000da4c <[^>]*> nop ++0000da50 <[^>]*> nop ++0000da54 <[^>]*> nop ++0000da58 <[^>]*> nop ++0000da5c <[^>]*> nop ++0000da60 <[^>]*> nop ++0000da64 <[^>]*> nop ++0000da68 <[^>]*> nop ++0000da6c <[^>]*> nop ++0000da70 <[^>]*> nop ++0000da74 <[^>]*> nop ++0000da78 <[^>]*> nop ++0000da7c <[^>]*> nop ++0000da80 <[^>]*> nop ++0000da84 <[^>]*> nop ++0000da88 <[^>]*> nop ++0000da8c <[^>]*> nop ++0000da90 <[^>]*> nop ++0000da94 <[^>]*> nop ++0000da98 <[^>]*> nop ++0000da9c <[^>]*> nop ++0000daa0 <[^>]*> nop ++0000daa4 <[^>]*> nop ++0000daa8 <[^>]*> nop ++0000daac <[^>]*> nop ++0000dab0 <[^>]*> nop ++0000dab4 <[^>]*> nop ++0000dab8 <[^>]*> nop ++0000dabc <[^>]*> nop ++0000dac0 <[^>]*> nop ++0000dac4 <[^>]*> nop ++0000dac8 <[^>]*> nop ++0000dacc <[^>]*> nop ++0000dad0 <[^>]*> nop ++0000dad4 <[^>]*> nop ++0000dad8 <[^>]*> nop ++0000dadc <[^>]*> nop ++0000dae0 <[^>]*> nop ++0000dae4 <[^>]*> nop ++0000dae8 <[^>]*> nop ++0000daec <[^>]*> nop ++0000daf0 <[^>]*> nop ++0000daf4 <[^>]*> nop ++0000daf8 <[^>]*> nop ++0000dafc <[^>]*> nop ++0000db00 <[^>]*> nop ++0000db04 <[^>]*> nop ++0000db08 <[^>]*> nop ++0000db0c <[^>]*> nop ++0000db10 <[^>]*> nop ++0000db14 <[^>]*> nop ++0000db18 <[^>]*> nop ++0000db1c <[^>]*> nop ++0000db20 <[^>]*> nop ++0000db24 <[^>]*> nop ++0000db28 <[^>]*> nop ++0000db2c <[^>]*> nop ++0000db30 <[^>]*> nop ++0000db34 <[^>]*> nop ++0000db38 <[^>]*> nop ++0000db3c <[^>]*> nop ++0000db40 <[^>]*> nop ++0000db44 <[^>]*> nop ++0000db48 <[^>]*> nop ++0000db4c <[^>]*> nop ++0000db50 <[^>]*> nop ++0000db54 <[^>]*> nop ++0000db58 <[^>]*> nop ++0000db5c <[^>]*> nop ++0000db60 <[^>]*> nop ++0000db64 <[^>]*> nop ++0000db68 <[^>]*> nop ++0000db6c <[^>]*> nop ++0000db70 <[^>]*> nop ++0000db74 <[^>]*> nop ++0000db78 <[^>]*> nop ++0000db7c <[^>]*> nop ++0000db80 <[^>]*> nop ++0000db84 <[^>]*> nop ++0000db88 <[^>]*> nop ++0000db8c <[^>]*> nop ++0000db90 <[^>]*> nop ++0000db94 <[^>]*> nop ++0000db98 <[^>]*> nop ++0000db9c <[^>]*> nop ++0000dba0 <[^>]*> nop ++0000dba4 <[^>]*> nop ++0000dba8 <[^>]*> nop ++0000dbac <[^>]*> nop ++0000dbb0 <[^>]*> nop ++0000dbb4 <[^>]*> nop ++0000dbb8 <[^>]*> nop ++0000dbbc <[^>]*> nop ++0000dbc0 <[^>]*> nop ++0000dbc4 <[^>]*> nop ++0000dbc8 <[^>]*> nop ++0000dbcc <[^>]*> nop ++0000dbd0 <[^>]*> nop ++0000dbd4 <[^>]*> nop ++0000dbd8 <[^>]*> nop ++0000dbdc <[^>]*> nop ++0000dbe0 <[^>]*> nop ++0000dbe4 <[^>]*> nop ++0000dbe8 <[^>]*> nop ++0000dbec <[^>]*> nop ++0000dbf0 <[^>]*> nop ++0000dbf4 <[^>]*> nop ++0000dbf8 <[^>]*> nop ++0000dbfc <[^>]*> nop ++0000dc00 <[^>]*> nop ++0000dc04 <[^>]*> nop ++0000dc08 <[^>]*> nop ++0000dc0c <[^>]*> nop ++0000dc10 <[^>]*> nop ++0000dc14 <[^>]*> nop ++0000dc18 <[^>]*> nop ++0000dc1c <[^>]*> nop ++0000dc20 <[^>]*> nop ++0000dc24 <[^>]*> nop ++0000dc28 <[^>]*> nop ++0000dc2c <[^>]*> nop ++0000dc30 <[^>]*> nop ++0000dc34 <[^>]*> nop ++0000dc38 <[^>]*> nop ++0000dc3c <[^>]*> nop ++0000dc40 <[^>]*> nop ++0000dc44 <[^>]*> nop ++0000dc48 <[^>]*> nop ++0000dc4c <[^>]*> nop ++0000dc50 <[^>]*> nop ++0000dc54 <[^>]*> nop ++0000dc58 <[^>]*> nop ++0000dc5c <[^>]*> nop ++0000dc60 <[^>]*> nop ++0000dc64 <[^>]*> nop ++0000dc68 <[^>]*> nop ++0000dc6c <[^>]*> nop ++0000dc70 <[^>]*> nop ++0000dc74 <[^>]*> nop ++0000dc78 <[^>]*> nop ++0000dc7c <[^>]*> nop ++0000dc80 <[^>]*> nop ++0000dc84 <[^>]*> nop ++0000dc88 <[^>]*> nop ++0000dc8c <[^>]*> nop ++0000dc90 <[^>]*> nop ++0000dc94 <[^>]*> nop ++0000dc98 <[^>]*> nop ++0000dc9c <[^>]*> nop ++0000dca0 <[^>]*> nop ++0000dca4 <[^>]*> nop ++0000dca8 <[^>]*> nop ++0000dcac <[^>]*> nop ++0000dcb0 <[^>]*> nop ++0000dcb4 <[^>]*> nop ++0000dcb8 <[^>]*> nop ++0000dcbc <[^>]*> nop ++0000dcc0 <[^>]*> nop ++0000dcc4 <[^>]*> nop ++0000dcc8 <[^>]*> nop ++0000dccc <[^>]*> nop ++0000dcd0 <[^>]*> nop ++0000dcd4 <[^>]*> nop ++0000dcd8 <[^>]*> nop ++0000dcdc <[^>]*> nop ++0000dce0 <[^>]*> nop ++0000dce4 <[^>]*> nop ++0000dce8 <[^>]*> nop ++0000dcec <[^>]*> nop ++0000dcf0 <[^>]*> nop ++0000dcf4 <[^>]*> nop ++0000dcf8 <[^>]*> nop ++0000dcfc <[^>]*> nop ++0000dd00 <[^>]*> nop ++0000dd04 <[^>]*> nop ++0000dd08 <[^>]*> nop ++0000dd0c <[^>]*> nop ++0000dd10 <[^>]*> nop ++0000dd14 <[^>]*> nop ++0000dd18 <[^>]*> nop ++0000dd1c <[^>]*> nop ++0000dd20 <[^>]*> nop ++0000dd24 <[^>]*> nop ++0000dd28 <[^>]*> nop ++0000dd2c <[^>]*> nop ++0000dd30 <[^>]*> nop ++0000dd34 <[^>]*> nop ++0000dd38 <[^>]*> nop ++0000dd3c <[^>]*> nop ++0000dd40 <[^>]*> nop ++0000dd44 <[^>]*> nop ++0000dd48 <[^>]*> nop ++0000dd4c <[^>]*> nop ++0000dd50 <[^>]*> nop ++0000dd54 <[^>]*> nop ++0000dd58 <[^>]*> nop ++0000dd5c <[^>]*> nop ++0000dd60 <[^>]*> nop ++0000dd64 <[^>]*> nop ++0000dd68 <[^>]*> nop ++0000dd6c <[^>]*> nop ++0000dd70 <[^>]*> nop ++0000dd74 <[^>]*> nop ++0000dd78 <[^>]*> nop ++0000dd7c <[^>]*> nop ++0000dd80 <[^>]*> nop ++0000dd84 <[^>]*> nop ++0000dd88 <[^>]*> nop ++0000dd8c <[^>]*> nop ++0000dd90 <[^>]*> nop ++0000dd94 <[^>]*> nop ++0000dd98 <[^>]*> nop ++0000dd9c <[^>]*> nop ++0000dda0 <[^>]*> nop ++0000dda4 <[^>]*> nop ++0000dda8 <[^>]*> nop ++0000ddac <[^>]*> nop ++0000ddb0 <[^>]*> nop ++0000ddb4 <[^>]*> nop ++0000ddb8 <[^>]*> nop ++0000ddbc <[^>]*> nop ++0000ddc0 <[^>]*> nop ++0000ddc4 <[^>]*> nop ++0000ddc8 <[^>]*> nop ++0000ddcc <[^>]*> nop ++0000ddd0 <[^>]*> nop ++0000ddd4 <[^>]*> nop ++0000ddd8 <[^>]*> nop ++0000dddc <[^>]*> nop ++0000dde0 <[^>]*> nop ++0000dde4 <[^>]*> nop ++0000dde8 <[^>]*> nop ++0000ddec <[^>]*> nop ++0000ddf0 <[^>]*> nop ++0000ddf4 <[^>]*> nop ++0000ddf8 <[^>]*> nop ++0000ddfc <[^>]*> nop ++0000de00 <[^>]*> nop ++0000de04 <[^>]*> nop ++0000de08 <[^>]*> nop ++0000de0c <[^>]*> nop ++0000de10 <[^>]*> nop ++0000de14 <[^>]*> nop ++0000de18 <[^>]*> nop ++0000de1c <[^>]*> nop ++0000de20 <[^>]*> nop ++0000de24 <[^>]*> nop ++0000de28 <[^>]*> nop ++0000de2c <[^>]*> nop ++0000de30 <[^>]*> nop ++0000de34 <[^>]*> nop ++0000de38 <[^>]*> nop ++0000de3c <[^>]*> nop ++0000de40 <[^>]*> nop ++0000de44 <[^>]*> nop ++0000de48 <[^>]*> nop ++0000de4c <[^>]*> nop ++0000de50 <[^>]*> nop ++0000de54 <[^>]*> nop ++0000de58 <[^>]*> nop ++0000de5c <[^>]*> nop ++0000de60 <[^>]*> nop ++0000de64 <[^>]*> nop ++0000de68 <[^>]*> nop ++0000de6c <[^>]*> nop ++0000de70 <[^>]*> nop ++0000de74 <[^>]*> nop ++0000de78 <[^>]*> nop ++0000de7c <[^>]*> nop ++0000de80 <[^>]*> nop ++0000de84 <[^>]*> nop ++0000de88 <[^>]*> nop ++0000de8c <[^>]*> nop ++0000de90 <[^>]*> nop ++0000de94 <[^>]*> nop ++0000de98 <[^>]*> nop ++0000de9c <[^>]*> nop ++0000dea0 <[^>]*> nop ++0000dea4 <[^>]*> nop ++0000dea8 <[^>]*> nop ++0000deac <[^>]*> nop ++0000deb0 <[^>]*> nop ++0000deb4 <[^>]*> nop ++0000deb8 <[^>]*> nop ++0000debc <[^>]*> nop ++0000dec0 <[^>]*> nop ++0000dec4 <[^>]*> nop ++0000dec8 <[^>]*> nop ++0000decc <[^>]*> nop ++0000ded0 <[^>]*> nop ++0000ded4 <[^>]*> nop ++0000ded8 <[^>]*> nop ++0000dedc <[^>]*> nop ++0000dee0 <[^>]*> nop ++0000dee4 <[^>]*> nop ++0000dee8 <[^>]*> nop ++0000deec <[^>]*> nop ++0000def0 <[^>]*> nop ++0000def4 <[^>]*> nop ++0000def8 <[^>]*> nop ++0000defc <[^>]*> nop ++0000df00 <[^>]*> nop ++0000df04 <[^>]*> nop ++0000df08 <[^>]*> nop ++0000df0c <[^>]*> nop ++0000df10 <[^>]*> nop ++0000df14 <[^>]*> nop ++0000df18 <[^>]*> nop ++0000df1c <[^>]*> nop ++0000df20 <[^>]*> nop ++0000df24 <[^>]*> nop ++0000df28 <[^>]*> nop ++0000df2c <[^>]*> nop ++0000df30 <[^>]*> nop ++0000df34 <[^>]*> nop ++0000df38 <[^>]*> nop ++0000df3c <[^>]*> nop ++0000df40 <[^>]*> nop ++0000df44 <[^>]*> nop ++0000df48 <[^>]*> nop ++0000df4c <[^>]*> nop ++0000df50 <[^>]*> nop ++0000df54 <[^>]*> nop ++0000df58 <[^>]*> nop ++0000df5c <[^>]*> nop ++0000df60 <[^>]*> nop ++0000df64 <[^>]*> nop ++0000df68 <[^>]*> nop ++0000df6c <[^>]*> nop ++0000df70 <[^>]*> nop ++0000df74 <[^>]*> nop ++0000df78 <[^>]*> nop ++0000df7c <[^>]*> nop ++0000df80 <[^>]*> nop ++0000df84 <[^>]*> nop ++0000df88 <[^>]*> nop ++0000df8c <[^>]*> nop ++0000df90 <[^>]*> nop ++0000df94 <[^>]*> nop ++0000df98 <[^>]*> nop ++0000df9c <[^>]*> nop ++0000dfa0 <[^>]*> nop ++0000dfa4 <[^>]*> nop ++0000dfa8 <[^>]*> nop ++0000dfac <[^>]*> nop ++0000dfb0 <[^>]*> nop ++0000dfb4 <[^>]*> nop ++0000dfb8 <[^>]*> nop ++0000dfbc <[^>]*> nop ++0000dfc0 <[^>]*> nop ++0000dfc4 <[^>]*> nop ++0000dfc8 <[^>]*> nop ++0000dfcc <[^>]*> nop ++0000dfd0 <[^>]*> nop ++0000dfd4 <[^>]*> nop ++0000dfd8 <[^>]*> nop ++0000dfdc <[^>]*> nop ++0000dfe0 <[^>]*> nop ++0000dfe4 <[^>]*> nop ++0000dfe8 <[^>]*> nop ++0000dfec <[^>]*> nop ++0000dff0 <[^>]*> nop ++0000dff4 <[^>]*> nop ++0000dff8 <[^>]*> nop ++0000dffc <[^>]*> nop ++0000e000 <[^>]*> nop ++0000e004 <[^>]*> nop ++0000e008 <[^>]*> nop ++0000e00c <[^>]*> nop ++0000e010 <[^>]*> nop ++0000e014 <[^>]*> nop ++0000e018 <[^>]*> nop ++0000e01c <[^>]*> nop ++0000e020 <[^>]*> nop ++0000e024 <[^>]*> nop ++0000e028 <[^>]*> nop ++0000e02c <[^>]*> nop ++0000e030 <[^>]*> nop ++0000e034 <[^>]*> nop ++0000e038 <[^>]*> nop ++0000e03c <[^>]*> nop ++0000e040 <[^>]*> nop ++0000e044 <[^>]*> nop ++0000e048 <[^>]*> nop ++0000e04c <[^>]*> nop ++0000e050 <[^>]*> nop ++0000e054 <[^>]*> nop ++0000e058 <[^>]*> nop ++0000e05c <[^>]*> nop ++0000e060 <[^>]*> nop ++0000e064 <[^>]*> nop ++0000e068 <[^>]*> nop ++0000e06c <[^>]*> nop ++0000e070 <[^>]*> nop ++0000e074 <[^>]*> nop ++0000e078 <[^>]*> nop ++0000e07c <[^>]*> nop ++0000e080 <[^>]*> nop ++0000e084 <[^>]*> nop ++0000e088 <[^>]*> nop ++0000e08c <[^>]*> nop ++0000e090 <[^>]*> nop ++0000e094 <[^>]*> nop ++0000e098 <[^>]*> nop ++0000e09c <[^>]*> nop ++0000e0a0 <[^>]*> nop ++0000e0a4 <[^>]*> nop ++0000e0a8 <[^>]*> nop ++0000e0ac <[^>]*> nop ++0000e0b0 <[^>]*> nop ++0000e0b4 <[^>]*> nop ++0000e0b8 <[^>]*> nop ++0000e0bc <[^>]*> nop ++0000e0c0 <[^>]*> nop ++0000e0c4 <[^>]*> nop ++0000e0c8 <[^>]*> nop ++0000e0cc <[^>]*> nop ++0000e0d0 <[^>]*> nop ++0000e0d4 <[^>]*> nop ++0000e0d8 <[^>]*> nop ++0000e0dc <[^>]*> nop ++0000e0e0 <[^>]*> nop ++0000e0e4 <[^>]*> nop ++0000e0e8 <[^>]*> nop ++0000e0ec <[^>]*> nop ++0000e0f0 <[^>]*> nop ++0000e0f4 <[^>]*> nop ++0000e0f8 <[^>]*> nop ++0000e0fc <[^>]*> nop ++0000e100 <[^>]*> nop ++0000e104 <[^>]*> nop ++0000e108 <[^>]*> nop ++0000e10c <[^>]*> nop ++0000e110 <[^>]*> nop ++0000e114 <[^>]*> nop ++0000e118 <[^>]*> nop ++0000e11c <[^>]*> nop ++0000e120 <[^>]*> nop ++0000e124 <[^>]*> nop ++0000e128 <[^>]*> nop ++0000e12c <[^>]*> nop ++0000e130 <[^>]*> nop ++0000e134 <[^>]*> nop ++0000e138 <[^>]*> nop ++0000e13c <[^>]*> nop ++0000e140 <[^>]*> nop ++0000e144 <[^>]*> nop ++0000e148 <[^>]*> nop ++0000e14c <[^>]*> nop ++0000e150 <[^>]*> nop ++0000e154 <[^>]*> nop ++0000e158 <[^>]*> nop ++0000e15c <[^>]*> nop ++0000e160 <[^>]*> nop ++0000e164 <[^>]*> nop ++0000e168 <[^>]*> nop ++0000e16c <[^>]*> nop ++0000e170 <[^>]*> nop ++0000e174 <[^>]*> nop ++0000e178 <[^>]*> nop ++0000e17c <[^>]*> nop ++0000e180 <[^>]*> nop ++0000e184 <[^>]*> nop ++0000e188 <[^>]*> nop ++0000e18c <[^>]*> nop ++0000e190 <[^>]*> nop ++0000e194 <[^>]*> nop ++0000e198 <[^>]*> nop ++0000e19c <[^>]*> nop ++0000e1a0 <[^>]*> nop ++0000e1a4 <[^>]*> nop ++0000e1a8 <[^>]*> nop ++0000e1ac <[^>]*> nop ++0000e1b0 <[^>]*> nop ++0000e1b4 <[^>]*> nop ++0000e1b8 <[^>]*> nop ++0000e1bc <[^>]*> nop ++0000e1c0 <[^>]*> nop ++0000e1c4 <[^>]*> nop ++0000e1c8 <[^>]*> nop ++0000e1cc <[^>]*> nop ++0000e1d0 <[^>]*> nop ++0000e1d4 <[^>]*> nop ++0000e1d8 <[^>]*> nop ++0000e1dc <[^>]*> nop ++0000e1e0 <[^>]*> nop ++0000e1e4 <[^>]*> nop ++0000e1e8 <[^>]*> nop ++0000e1ec <[^>]*> nop ++0000e1f0 <[^>]*> nop ++0000e1f4 <[^>]*> nop ++0000e1f8 <[^>]*> nop ++0000e1fc <[^>]*> nop ++0000e200 <[^>]*> nop ++0000e204 <[^>]*> nop ++0000e208 <[^>]*> nop ++0000e20c <[^>]*> nop ++0000e210 <[^>]*> nop ++0000e214 <[^>]*> nop ++0000e218 <[^>]*> nop ++0000e21c <[^>]*> nop ++0000e220 <[^>]*> nop ++0000e224 <[^>]*> nop ++0000e228 <[^>]*> nop ++0000e22c <[^>]*> nop ++0000e230 <[^>]*> nop ++0000e234 <[^>]*> nop ++0000e238 <[^>]*> nop ++0000e23c <[^>]*> nop ++0000e240 <[^>]*> nop ++0000e244 <[^>]*> nop ++0000e248 <[^>]*> nop ++0000e24c <[^>]*> nop ++0000e250 <[^>]*> nop ++0000e254 <[^>]*> nop ++0000e258 <[^>]*> nop ++0000e25c <[^>]*> nop ++0000e260 <[^>]*> nop ++0000e264 <[^>]*> nop ++0000e268 <[^>]*> nop ++0000e26c <[^>]*> nop ++0000e270 <[^>]*> nop ++0000e274 <[^>]*> nop ++0000e278 <[^>]*> nop ++0000e27c <[^>]*> nop ++0000e280 <[^>]*> nop ++0000e284 <[^>]*> nop ++0000e288 <[^>]*> nop ++0000e28c <[^>]*> nop ++0000e290 <[^>]*> nop ++0000e294 <[^>]*> nop ++0000e298 <[^>]*> nop ++0000e29c <[^>]*> nop ++0000e2a0 <[^>]*> nop ++0000e2a4 <[^>]*> nop ++0000e2a8 <[^>]*> nop ++0000e2ac <[^>]*> nop ++0000e2b0 <[^>]*> nop ++0000e2b4 <[^>]*> nop ++0000e2b8 <[^>]*> nop ++0000e2bc <[^>]*> nop ++0000e2c0 <[^>]*> nop ++0000e2c4 <[^>]*> nop ++0000e2c8 <[^>]*> nop ++0000e2cc <[^>]*> nop ++0000e2d0 <[^>]*> nop ++0000e2d4 <[^>]*> nop ++0000e2d8 <[^>]*> nop ++0000e2dc <[^>]*> nop ++0000e2e0 <[^>]*> nop ++0000e2e4 <[^>]*> nop ++0000e2e8 <[^>]*> nop ++0000e2ec <[^>]*> nop ++0000e2f0 <[^>]*> nop ++0000e2f4 <[^>]*> nop ++0000e2f8 <[^>]*> nop ++0000e2fc <[^>]*> nop ++0000e300 <[^>]*> nop ++0000e304 <[^>]*> nop ++0000e308 <[^>]*> nop ++0000e30c <[^>]*> nop ++0000e310 <[^>]*> nop ++0000e314 <[^>]*> nop ++0000e318 <[^>]*> nop ++0000e31c <[^>]*> nop ++0000e320 <[^>]*> nop ++0000e324 <[^>]*> nop ++0000e328 <[^>]*> nop ++0000e32c <[^>]*> nop ++0000e330 <[^>]*> nop ++0000e334 <[^>]*> nop ++0000e338 <[^>]*> nop ++0000e33c <[^>]*> nop ++0000e340 <[^>]*> nop ++0000e344 <[^>]*> nop ++0000e348 <[^>]*> nop ++0000e34c <[^>]*> nop ++0000e350 <[^>]*> nop ++0000e354 <[^>]*> nop ++0000e358 <[^>]*> nop ++0000e35c <[^>]*> nop ++0000e360 <[^>]*> nop ++0000e364 <[^>]*> nop ++0000e368 <[^>]*> nop ++0000e36c <[^>]*> nop ++0000e370 <[^>]*> nop ++0000e374 <[^>]*> nop ++0000e378 <[^>]*> nop ++0000e37c <[^>]*> nop ++0000e380 <[^>]*> nop ++0000e384 <[^>]*> nop ++0000e388 <[^>]*> nop ++0000e38c <[^>]*> nop ++0000e390 <[^>]*> nop ++0000e394 <[^>]*> nop ++0000e398 <[^>]*> nop ++0000e39c <[^>]*> nop ++0000e3a0 <[^>]*> nop ++0000e3a4 <[^>]*> nop ++0000e3a8 <[^>]*> nop ++0000e3ac <[^>]*> nop ++0000e3b0 <[^>]*> nop ++0000e3b4 <[^>]*> nop ++0000e3b8 <[^>]*> nop ++0000e3bc <[^>]*> nop ++0000e3c0 <[^>]*> nop ++0000e3c4 <[^>]*> nop ++0000e3c8 <[^>]*> nop ++0000e3cc <[^>]*> nop ++0000e3d0 <[^>]*> nop ++0000e3d4 <[^>]*> nop ++0000e3d8 <[^>]*> nop ++0000e3dc <[^>]*> nop ++0000e3e0 <[^>]*> nop ++0000e3e4 <[^>]*> nop ++0000e3e8 <[^>]*> nop ++0000e3ec <[^>]*> nop ++0000e3f0 <[^>]*> nop ++0000e3f4 <[^>]*> nop ++0000e3f8 <[^>]*> nop ++0000e3fc <[^>]*> nop ++0000e400 <[^>]*> nop ++0000e404 <[^>]*> nop ++0000e408 <[^>]*> nop ++0000e40c <[^>]*> nop ++0000e410 <[^>]*> nop ++0000e414 <[^>]*> nop ++0000e418 <[^>]*> nop ++0000e41c <[^>]*> nop ++0000e420 <[^>]*> nop ++0000e424 <[^>]*> nop ++0000e428 <[^>]*> nop ++0000e42c <[^>]*> nop ++0000e430 <[^>]*> nop ++0000e434 <[^>]*> nop ++0000e438 <[^>]*> nop ++0000e43c <[^>]*> nop ++0000e440 <[^>]*> nop ++0000e444 <[^>]*> nop ++0000e448 <[^>]*> nop ++0000e44c <[^>]*> nop ++0000e450 <[^>]*> nop ++0000e454 <[^>]*> nop ++0000e458 <[^>]*> nop ++0000e45c <[^>]*> nop ++0000e460 <[^>]*> nop ++0000e464 <[^>]*> nop ++0000e468 <[^>]*> nop ++0000e46c <[^>]*> nop ++0000e470 <[^>]*> nop ++0000e474 <[^>]*> nop ++0000e478 <[^>]*> nop ++0000e47c <[^>]*> nop ++0000e480 <[^>]*> nop ++0000e484 <[^>]*> nop ++0000e488 <[^>]*> nop ++0000e48c <[^>]*> nop ++0000e490 <[^>]*> nop ++0000e494 <[^>]*> nop ++0000e498 <[^>]*> nop ++0000e49c <[^>]*> nop ++0000e4a0 <[^>]*> nop ++0000e4a4 <[^>]*> nop ++0000e4a8 <[^>]*> nop ++0000e4ac <[^>]*> nop ++0000e4b0 <[^>]*> nop ++0000e4b4 <[^>]*> nop ++0000e4b8 <[^>]*> nop ++0000e4bc <[^>]*> nop ++0000e4c0 <[^>]*> nop ++0000e4c4 <[^>]*> nop ++0000e4c8 <[^>]*> nop ++0000e4cc <[^>]*> nop ++0000e4d0 <[^>]*> nop ++0000e4d4 <[^>]*> nop ++0000e4d8 <[^>]*> nop ++0000e4dc <[^>]*> nop ++0000e4e0 <[^>]*> nop ++0000e4e4 <[^>]*> nop ++0000e4e8 <[^>]*> nop ++0000e4ec <[^>]*> nop ++0000e4f0 <[^>]*> nop ++0000e4f4 <[^>]*> nop ++0000e4f8 <[^>]*> nop ++0000e4fc <[^>]*> nop ++0000e500 <[^>]*> nop ++0000e504 <[^>]*> nop ++0000e508 <[^>]*> nop ++0000e50c <[^>]*> nop ++0000e510 <[^>]*> nop ++0000e514 <[^>]*> nop ++0000e518 <[^>]*> nop ++0000e51c <[^>]*> nop ++0000e520 <[^>]*> nop ++0000e524 <[^>]*> nop ++0000e528 <[^>]*> nop ++0000e52c <[^>]*> nop ++0000e530 <[^>]*> nop ++0000e534 <[^>]*> nop ++0000e538 <[^>]*> nop ++0000e53c <[^>]*> nop ++0000e540 <[^>]*> nop ++0000e544 <[^>]*> nop ++0000e548 <[^>]*> nop ++0000e54c <[^>]*> nop ++0000e550 <[^>]*> nop ++0000e554 <[^>]*> nop ++0000e558 <[^>]*> nop ++0000e55c <[^>]*> nop ++0000e560 <[^>]*> nop ++0000e564 <[^>]*> nop ++0000e568 <[^>]*> nop ++0000e56c <[^>]*> nop ++0000e570 <[^>]*> nop ++0000e574 <[^>]*> nop ++0000e578 <[^>]*> nop ++0000e57c <[^>]*> nop ++0000e580 <[^>]*> nop ++0000e584 <[^>]*> nop ++0000e588 <[^>]*> nop ++0000e58c <[^>]*> nop ++0000e590 <[^>]*> nop ++0000e594 <[^>]*> nop ++0000e598 <[^>]*> nop ++0000e59c <[^>]*> nop ++0000e5a0 <[^>]*> nop ++0000e5a4 <[^>]*> nop ++0000e5a8 <[^>]*> nop ++0000e5ac <[^>]*> nop ++0000e5b0 <[^>]*> nop ++0000e5b4 <[^>]*> nop ++0000e5b8 <[^>]*> nop ++0000e5bc <[^>]*> nop ++0000e5c0 <[^>]*> nop ++0000e5c4 <[^>]*> nop ++0000e5c8 <[^>]*> nop ++0000e5cc <[^>]*> nop ++0000e5d0 <[^>]*> nop ++0000e5d4 <[^>]*> nop ++0000e5d8 <[^>]*> nop ++0000e5dc <[^>]*> nop ++0000e5e0 <[^>]*> nop ++0000e5e4 <[^>]*> nop ++0000e5e8 <[^>]*> nop ++0000e5ec <[^>]*> nop ++0000e5f0 <[^>]*> nop ++0000e5f4 <[^>]*> nop ++0000e5f8 <[^>]*> nop ++0000e5fc <[^>]*> nop ++0000e600 <[^>]*> nop ++0000e604 <[^>]*> nop ++0000e608 <[^>]*> nop ++0000e60c <[^>]*> nop ++0000e610 <[^>]*> nop ++0000e614 <[^>]*> nop ++0000e618 <[^>]*> nop ++0000e61c <[^>]*> nop ++0000e620 <[^>]*> nop ++0000e624 <[^>]*> nop ++0000e628 <[^>]*> nop ++0000e62c <[^>]*> nop ++0000e630 <[^>]*> nop ++0000e634 <[^>]*> nop ++0000e638 <[^>]*> nop ++0000e63c <[^>]*> nop ++0000e640 <[^>]*> nop ++0000e644 <[^>]*> nop ++0000e648 <[^>]*> nop ++0000e64c <[^>]*> nop ++0000e650 <[^>]*> nop ++0000e654 <[^>]*> nop ++0000e658 <[^>]*> nop ++0000e65c <[^>]*> nop ++0000e660 <[^>]*> nop ++0000e664 <[^>]*> nop ++0000e668 <[^>]*> nop ++0000e66c <[^>]*> nop ++0000e670 <[^>]*> nop ++0000e674 <[^>]*> nop ++0000e678 <[^>]*> nop ++0000e67c <[^>]*> nop ++0000e680 <[^>]*> nop ++0000e684 <[^>]*> nop ++0000e688 <[^>]*> nop ++0000e68c <[^>]*> nop ++0000e690 <[^>]*> nop ++0000e694 <[^>]*> nop ++0000e698 <[^>]*> nop ++0000e69c <[^>]*> nop ++0000e6a0 <[^>]*> nop ++0000e6a4 <[^>]*> nop ++0000e6a8 <[^>]*> nop ++0000e6ac <[^>]*> nop ++0000e6b0 <[^>]*> nop ++0000e6b4 <[^>]*> nop ++0000e6b8 <[^>]*> nop ++0000e6bc <[^>]*> nop ++0000e6c0 <[^>]*> nop ++0000e6c4 <[^>]*> nop ++0000e6c8 <[^>]*> nop ++0000e6cc <[^>]*> nop ++0000e6d0 <[^>]*> nop ++0000e6d4 <[^>]*> nop ++0000e6d8 <[^>]*> nop ++0000e6dc <[^>]*> nop ++0000e6e0 <[^>]*> nop ++0000e6e4 <[^>]*> nop ++0000e6e8 <[^>]*> nop ++0000e6ec <[^>]*> nop ++0000e6f0 <[^>]*> nop ++0000e6f4 <[^>]*> nop ++0000e6f8 <[^>]*> nop ++0000e6fc <[^>]*> nop ++0000e700 <[^>]*> nop ++0000e704 <[^>]*> nop ++0000e708 <[^>]*> nop ++0000e70c <[^>]*> nop ++0000e710 <[^>]*> nop ++0000e714 <[^>]*> nop ++0000e718 <[^>]*> nop ++0000e71c <[^>]*> nop ++0000e720 <[^>]*> nop ++0000e724 <[^>]*> nop ++0000e728 <[^>]*> nop ++0000e72c <[^>]*> nop ++0000e730 <[^>]*> nop ++0000e734 <[^>]*> nop ++0000e738 <[^>]*> nop ++0000e73c <[^>]*> nop ++0000e740 <[^>]*> nop ++0000e744 <[^>]*> nop ++0000e748 <[^>]*> nop ++0000e74c <[^>]*> nop ++0000e750 <[^>]*> nop ++0000e754 <[^>]*> nop ++0000e758 <[^>]*> nop ++0000e75c <[^>]*> nop ++0000e760 <[^>]*> nop ++0000e764 <[^>]*> nop ++0000e768 <[^>]*> nop ++0000e76c <[^>]*> nop ++0000e770 <[^>]*> nop ++0000e774 <[^>]*> nop ++0000e778 <[^>]*> nop ++0000e77c <[^>]*> nop ++0000e780 <[^>]*> nop ++0000e784 <[^>]*> nop ++0000e788 <[^>]*> nop ++0000e78c <[^>]*> nop ++0000e790 <[^>]*> nop ++0000e794 <[^>]*> nop ++0000e798 <[^>]*> nop ++0000e79c <[^>]*> nop ++0000e7a0 <[^>]*> nop ++0000e7a4 <[^>]*> nop ++0000e7a8 <[^>]*> nop ++0000e7ac <[^>]*> nop ++0000e7b0 <[^>]*> nop ++0000e7b4 <[^>]*> nop ++0000e7b8 <[^>]*> nop ++0000e7bc <[^>]*> nop ++0000e7c0 <[^>]*> nop ++0000e7c4 <[^>]*> nop ++0000e7c8 <[^>]*> nop ++0000e7cc <[^>]*> nop ++0000e7d0 <[^>]*> nop ++0000e7d4 <[^>]*> nop ++0000e7d8 <[^>]*> nop ++0000e7dc <[^>]*> nop ++0000e7e0 <[^>]*> nop ++0000e7e4 <[^>]*> nop ++0000e7e8 <[^>]*> nop ++0000e7ec <[^>]*> nop ++0000e7f0 <[^>]*> nop ++0000e7f4 <[^>]*> nop ++0000e7f8 <[^>]*> nop ++0000e7fc <[^>]*> nop ++0000e800 <[^>]*> nop ++0000e804 <[^>]*> nop ++0000e808 <[^>]*> nop ++0000e80c <[^>]*> nop ++0000e810 <[^>]*> nop ++0000e814 <[^>]*> nop ++0000e818 <[^>]*> nop ++0000e81c <[^>]*> nop ++0000e820 <[^>]*> nop ++0000e824 <[^>]*> nop ++0000e828 <[^>]*> nop ++0000e82c <[^>]*> nop ++0000e830 <[^>]*> nop ++0000e834 <[^>]*> nop ++0000e838 <[^>]*> nop ++0000e83c <[^>]*> nop ++0000e840 <[^>]*> nop ++0000e844 <[^>]*> nop ++0000e848 <[^>]*> nop ++0000e84c <[^>]*> nop ++0000e850 <[^>]*> nop ++0000e854 <[^>]*> nop ++0000e858 <[^>]*> nop ++0000e85c <[^>]*> nop ++0000e860 <[^>]*> nop ++0000e864 <[^>]*> nop ++0000e868 <[^>]*> nop ++0000e86c <[^>]*> nop ++0000e870 <[^>]*> nop ++0000e874 <[^>]*> nop ++0000e878 <[^>]*> nop ++0000e87c <[^>]*> nop ++0000e880 <[^>]*> nop ++0000e884 <[^>]*> nop ++0000e888 <[^>]*> nop ++0000e88c <[^>]*> nop ++0000e890 <[^>]*> nop ++0000e894 <[^>]*> nop ++0000e898 <[^>]*> nop ++0000e89c <[^>]*> nop ++0000e8a0 <[^>]*> nop ++0000e8a4 <[^>]*> nop ++0000e8a8 <[^>]*> nop ++0000e8ac <[^>]*> nop ++0000e8b0 <[^>]*> nop ++0000e8b4 <[^>]*> nop ++0000e8b8 <[^>]*> nop ++0000e8bc <[^>]*> nop ++0000e8c0 <[^>]*> nop ++0000e8c4 <[^>]*> nop ++0000e8c8 <[^>]*> nop ++0000e8cc <[^>]*> nop ++0000e8d0 <[^>]*> nop ++0000e8d4 <[^>]*> nop ++0000e8d8 <[^>]*> nop ++0000e8dc <[^>]*> nop ++0000e8e0 <[^>]*> nop ++0000e8e4 <[^>]*> nop ++0000e8e8 <[^>]*> nop ++0000e8ec <[^>]*> nop ++0000e8f0 <[^>]*> nop ++0000e8f4 <[^>]*> nop ++0000e8f8 <[^>]*> nop ++0000e8fc <[^>]*> nop ++0000e900 <[^>]*> nop ++0000e904 <[^>]*> nop ++0000e908 <[^>]*> nop ++0000e90c <[^>]*> nop ++0000e910 <[^>]*> nop ++0000e914 <[^>]*> nop ++0000e918 <[^>]*> nop ++0000e91c <[^>]*> nop ++0000e920 <[^>]*> nop ++0000e924 <[^>]*> nop ++0000e928 <[^>]*> nop ++0000e92c <[^>]*> nop ++0000e930 <[^>]*> nop ++0000e934 <[^>]*> nop ++0000e938 <[^>]*> nop ++0000e93c <[^>]*> nop ++0000e940 <[^>]*> nop ++0000e944 <[^>]*> nop ++0000e948 <[^>]*> nop ++0000e94c <[^>]*> nop ++0000e950 <[^>]*> nop ++0000e954 <[^>]*> nop ++0000e958 <[^>]*> nop ++0000e95c <[^>]*> nop ++0000e960 <[^>]*> nop ++0000e964 <[^>]*> nop ++0000e968 <[^>]*> nop ++0000e96c <[^>]*> nop ++0000e970 <[^>]*> nop ++0000e974 <[^>]*> nop ++0000e978 <[^>]*> nop ++0000e97c <[^>]*> nop ++0000e980 <[^>]*> nop ++0000e984 <[^>]*> nop ++0000e988 <[^>]*> nop ++0000e98c <[^>]*> nop ++0000e990 <[^>]*> nop ++0000e994 <[^>]*> nop ++0000e998 <[^>]*> nop ++0000e99c <[^>]*> nop ++0000e9a0 <[^>]*> nop ++0000e9a4 <[^>]*> nop ++0000e9a8 <[^>]*> nop ++0000e9ac <[^>]*> nop ++0000e9b0 <[^>]*> nop ++0000e9b4 <[^>]*> nop ++0000e9b8 <[^>]*> nop ++0000e9bc <[^>]*> nop ++0000e9c0 <[^>]*> nop ++0000e9c4 <[^>]*> nop ++0000e9c8 <[^>]*> nop ++0000e9cc <[^>]*> nop ++0000e9d0 <[^>]*> nop ++0000e9d4 <[^>]*> nop ++0000e9d8 <[^>]*> nop ++0000e9dc <[^>]*> nop ++0000e9e0 <[^>]*> nop ++0000e9e4 <[^>]*> nop ++0000e9e8 <[^>]*> nop ++0000e9ec <[^>]*> nop ++0000e9f0 <[^>]*> nop ++0000e9f4 <[^>]*> nop ++0000e9f8 <[^>]*> nop ++0000e9fc <[^>]*> nop ++0000ea00 <[^>]*> nop ++0000ea04 <[^>]*> nop ++0000ea08 <[^>]*> nop ++0000ea0c <[^>]*> nop ++0000ea10 <[^>]*> nop ++0000ea14 <[^>]*> nop ++0000ea18 <[^>]*> nop ++0000ea1c <[^>]*> nop ++0000ea20 <[^>]*> nop ++0000ea24 <[^>]*> nop ++0000ea28 <[^>]*> nop ++0000ea2c <[^>]*> nop ++0000ea30 <[^>]*> nop ++0000ea34 <[^>]*> nop ++0000ea38 <[^>]*> nop ++0000ea3c <[^>]*> nop ++0000ea40 <[^>]*> nop ++0000ea44 <[^>]*> nop ++0000ea48 <[^>]*> nop ++0000ea4c <[^>]*> nop ++0000ea50 <[^>]*> nop ++0000ea54 <[^>]*> nop ++0000ea58 <[^>]*> nop ++0000ea5c <[^>]*> nop ++0000ea60 <[^>]*> nop ++0000ea64 <[^>]*> nop ++0000ea68 <[^>]*> nop ++0000ea6c <[^>]*> nop ++0000ea70 <[^>]*> nop ++0000ea74 <[^>]*> nop ++0000ea78 <[^>]*> nop ++0000ea7c <[^>]*> nop ++0000ea80 <[^>]*> nop ++0000ea84 <[^>]*> nop ++0000ea88 <[^>]*> nop ++0000ea8c <[^>]*> nop ++0000ea90 <[^>]*> nop ++0000ea94 <[^>]*> nop ++0000ea98 <[^>]*> nop ++0000ea9c <[^>]*> nop ++0000eaa0 <[^>]*> nop ++0000eaa4 <[^>]*> nop ++0000eaa8 <[^>]*> nop ++0000eaac <[^>]*> nop ++0000eab0 <[^>]*> nop ++0000eab4 <[^>]*> nop ++0000eab8 <[^>]*> nop ++0000eabc <[^>]*> nop ++0000eac0 <[^>]*> nop ++0000eac4 <[^>]*> nop ++0000eac8 <[^>]*> nop ++0000eacc <[^>]*> nop ++0000ead0 <[^>]*> nop ++0000ead4 <[^>]*> nop ++0000ead8 <[^>]*> nop ++0000eadc <[^>]*> nop ++0000eae0 <[^>]*> nop ++0000eae4 <[^>]*> nop ++0000eae8 <[^>]*> nop ++0000eaec <[^>]*> nop ++0000eaf0 <[^>]*> nop ++0000eaf4 <[^>]*> nop ++0000eaf8 <[^>]*> nop ++0000eafc <[^>]*> nop ++0000eb00 <[^>]*> nop ++0000eb04 <[^>]*> nop ++0000eb08 <[^>]*> nop ++0000eb0c <[^>]*> nop ++0000eb10 <[^>]*> nop ++0000eb14 <[^>]*> nop ++0000eb18 <[^>]*> nop ++0000eb1c <[^>]*> nop ++0000eb20 <[^>]*> nop ++0000eb24 <[^>]*> nop ++0000eb28 <[^>]*> nop ++0000eb2c <[^>]*> nop ++0000eb30 <[^>]*> nop ++0000eb34 <[^>]*> nop ++0000eb38 <[^>]*> nop ++0000eb3c <[^>]*> nop ++0000eb40 <[^>]*> nop ++0000eb44 <[^>]*> nop ++0000eb48 <[^>]*> nop ++0000eb4c <[^>]*> nop ++0000eb50 <[^>]*> nop ++0000eb54 <[^>]*> nop ++0000eb58 <[^>]*> nop ++0000eb5c <[^>]*> nop ++0000eb60 <[^>]*> nop ++0000eb64 <[^>]*> nop ++0000eb68 <[^>]*> nop ++0000eb6c <[^>]*> nop ++0000eb70 <[^>]*> nop ++0000eb74 <[^>]*> nop ++0000eb78 <[^>]*> nop ++0000eb7c <[^>]*> nop ++0000eb80 <[^>]*> nop ++0000eb84 <[^>]*> nop ++0000eb88 <[^>]*> nop ++0000eb8c <[^>]*> nop ++0000eb90 <[^>]*> nop ++0000eb94 <[^>]*> nop ++0000eb98 <[^>]*> nop ++0000eb9c <[^>]*> nop ++0000eba0 <[^>]*> nop ++0000eba4 <[^>]*> nop ++0000eba8 <[^>]*> nop ++0000ebac <[^>]*> nop ++0000ebb0 <[^>]*> nop ++0000ebb4 <[^>]*> nop ++0000ebb8 <[^>]*> nop ++0000ebbc <[^>]*> nop ++0000ebc0 <[^>]*> nop ++0000ebc4 <[^>]*> nop ++0000ebc8 <[^>]*> nop ++0000ebcc <[^>]*> nop ++0000ebd0 <[^>]*> nop ++0000ebd4 <[^>]*> nop ++0000ebd8 <[^>]*> nop ++0000ebdc <[^>]*> nop ++0000ebe0 <[^>]*> nop ++0000ebe4 <[^>]*> nop ++0000ebe8 <[^>]*> nop ++0000ebec <[^>]*> nop ++0000ebf0 <[^>]*> nop ++0000ebf4 <[^>]*> nop ++0000ebf8 <[^>]*> nop ++0000ebfc <[^>]*> nop ++0000ec00 <[^>]*> nop ++0000ec04 <[^>]*> nop ++0000ec08 <[^>]*> nop ++0000ec0c <[^>]*> nop ++0000ec10 <[^>]*> nop ++0000ec14 <[^>]*> nop ++0000ec18 <[^>]*> nop ++0000ec1c <[^>]*> nop ++0000ec20 <[^>]*> nop ++0000ec24 <[^>]*> nop ++0000ec28 <[^>]*> nop ++0000ec2c <[^>]*> nop ++0000ec30 <[^>]*> nop ++0000ec34 <[^>]*> nop ++0000ec38 <[^>]*> nop ++0000ec3c <[^>]*> nop ++0000ec40 <[^>]*> nop ++0000ec44 <[^>]*> nop ++0000ec48 <[^>]*> nop ++0000ec4c <[^>]*> nop ++0000ec50 <[^>]*> nop ++0000ec54 <[^>]*> nop ++0000ec58 <[^>]*> nop ++0000ec5c <[^>]*> nop ++0000ec60 <[^>]*> nop ++0000ec64 <[^>]*> nop ++0000ec68 <[^>]*> nop ++0000ec6c <[^>]*> nop ++0000ec70 <[^>]*> nop ++0000ec74 <[^>]*> nop ++0000ec78 <[^>]*> nop ++0000ec7c <[^>]*> nop ++0000ec80 <[^>]*> nop ++0000ec84 <[^>]*> nop ++0000ec88 <[^>]*> nop ++0000ec8c <[^>]*> nop ++0000ec90 <[^>]*> nop ++0000ec94 <[^>]*> nop ++0000ec98 <[^>]*> nop ++0000ec9c <[^>]*> nop ++0000eca0 <[^>]*> nop ++0000eca4 <[^>]*> nop ++0000eca8 <[^>]*> nop ++0000ecac <[^>]*> nop ++0000ecb0 <[^>]*> nop ++0000ecb4 <[^>]*> nop ++0000ecb8 <[^>]*> nop ++0000ecbc <[^>]*> nop ++0000ecc0 <[^>]*> nop ++0000ecc4 <[^>]*> nop ++0000ecc8 <[^>]*> nop ++0000eccc <[^>]*> nop ++0000ecd0 <[^>]*> nop ++0000ecd4 <[^>]*> nop ++0000ecd8 <[^>]*> nop ++0000ecdc <[^>]*> nop ++0000ece0 <[^>]*> nop ++0000ece4 <[^>]*> nop ++0000ece8 <[^>]*> nop ++0000ecec <[^>]*> nop ++0000ecf0 <[^>]*> nop ++0000ecf4 <[^>]*> nop ++0000ecf8 <[^>]*> nop ++0000ecfc <[^>]*> nop ++0000ed00 <[^>]*> nop ++0000ed04 <[^>]*> nop ++0000ed08 <[^>]*> nop ++0000ed0c <[^>]*> nop ++0000ed10 <[^>]*> nop ++0000ed14 <[^>]*> nop ++0000ed18 <[^>]*> nop ++0000ed1c <[^>]*> nop ++0000ed20 <[^>]*> nop ++0000ed24 <[^>]*> nop ++0000ed28 <[^>]*> nop ++0000ed2c <[^>]*> nop ++0000ed30 <[^>]*> nop ++0000ed34 <[^>]*> nop ++0000ed38 <[^>]*> nop ++0000ed3c <[^>]*> nop ++0000ed40 <[^>]*> nop ++0000ed44 <[^>]*> nop ++0000ed48 <[^>]*> nop ++0000ed4c <[^>]*> nop ++0000ed50 <[^>]*> nop ++0000ed54 <[^>]*> nop ++0000ed58 <[^>]*> nop ++0000ed5c <[^>]*> nop ++0000ed60 <[^>]*> nop ++0000ed64 <[^>]*> nop ++0000ed68 <[^>]*> nop ++0000ed6c <[^>]*> nop ++0000ed70 <[^>]*> nop ++0000ed74 <[^>]*> nop ++0000ed78 <[^>]*> nop ++0000ed7c <[^>]*> nop ++0000ed80 <[^>]*> nop ++0000ed84 <[^>]*> nop ++0000ed88 <[^>]*> nop ++0000ed8c <[^>]*> nop ++0000ed90 <[^>]*> nop ++0000ed94 <[^>]*> nop ++0000ed98 <[^>]*> nop ++0000ed9c <[^>]*> nop ++0000eda0 <[^>]*> nop ++0000eda4 <[^>]*> nop ++0000eda8 <[^>]*> nop ++0000edac <[^>]*> nop ++0000edb0 <[^>]*> nop ++0000edb4 <[^>]*> nop ++0000edb8 <[^>]*> nop ++0000edbc <[^>]*> nop ++0000edc0 <[^>]*> nop ++0000edc4 <[^>]*> nop ++0000edc8 <[^>]*> nop ++0000edcc <[^>]*> nop ++0000edd0 <[^>]*> nop ++0000edd4 <[^>]*> nop ++0000edd8 <[^>]*> nop ++0000eddc <[^>]*> nop ++0000ede0 <[^>]*> nop ++0000ede4 <[^>]*> nop ++0000ede8 <[^>]*> nop ++0000edec <[^>]*> nop ++0000edf0 <[^>]*> nop ++0000edf4 <[^>]*> nop ++0000edf8 <[^>]*> nop ++0000edfc <[^>]*> nop ++0000ee00 <[^>]*> nop ++0000ee04 <[^>]*> nop ++0000ee08 <[^>]*> nop ++0000ee0c <[^>]*> nop ++0000ee10 <[^>]*> nop ++0000ee14 <[^>]*> nop ++0000ee18 <[^>]*> nop ++0000ee1c <[^>]*> nop ++0000ee20 <[^>]*> nop ++0000ee24 <[^>]*> nop ++0000ee28 <[^>]*> nop ++0000ee2c <[^>]*> nop ++0000ee30 <[^>]*> nop ++0000ee34 <[^>]*> nop ++0000ee38 <[^>]*> nop ++0000ee3c <[^>]*> nop ++0000ee40 <[^>]*> nop ++0000ee44 <[^>]*> nop ++0000ee48 <[^>]*> nop ++0000ee4c <[^>]*> nop ++0000ee50 <[^>]*> nop ++0000ee54 <[^>]*> nop ++0000ee58 <[^>]*> nop ++0000ee5c <[^>]*> nop ++0000ee60 <[^>]*> nop ++0000ee64 <[^>]*> nop ++0000ee68 <[^>]*> nop ++0000ee6c <[^>]*> nop ++0000ee70 <[^>]*> nop ++0000ee74 <[^>]*> nop ++0000ee78 <[^>]*> nop ++0000ee7c <[^>]*> nop ++0000ee80 <[^>]*> nop ++0000ee84 <[^>]*> nop ++0000ee88 <[^>]*> nop ++0000ee8c <[^>]*> nop ++0000ee90 <[^>]*> nop ++0000ee94 <[^>]*> nop ++0000ee98 <[^>]*> nop ++0000ee9c <[^>]*> nop ++0000eea0 <[^>]*> nop ++0000eea4 <[^>]*> nop ++0000eea8 <[^>]*> nop ++0000eeac <[^>]*> nop ++0000eeb0 <[^>]*> nop ++0000eeb4 <[^>]*> nop ++0000eeb8 <[^>]*> nop ++0000eebc <[^>]*> nop ++0000eec0 <[^>]*> nop ++0000eec4 <[^>]*> nop ++0000eec8 <[^>]*> nop ++0000eecc <[^>]*> nop ++0000eed0 <[^>]*> nop ++0000eed4 <[^>]*> nop ++0000eed8 <[^>]*> nop ++0000eedc <[^>]*> nop ++0000eee0 <[^>]*> nop ++0000eee4 <[^>]*> nop ++0000eee8 <[^>]*> nop ++0000eeec <[^>]*> nop ++0000eef0 <[^>]*> nop ++0000eef4 <[^>]*> nop ++0000eef8 <[^>]*> nop ++0000eefc <[^>]*> nop ++0000ef00 <[^>]*> nop ++0000ef04 <[^>]*> nop ++0000ef08 <[^>]*> nop ++0000ef0c <[^>]*> nop ++0000ef10 <[^>]*> nop ++0000ef14 <[^>]*> nop ++0000ef18 <[^>]*> nop ++0000ef1c <[^>]*> nop ++0000ef20 <[^>]*> nop ++0000ef24 <[^>]*> nop ++0000ef28 <[^>]*> nop ++0000ef2c <[^>]*> nop ++0000ef30 <[^>]*> nop ++0000ef34 <[^>]*> nop ++0000ef38 <[^>]*> nop ++0000ef3c <[^>]*> nop ++0000ef40 <[^>]*> nop ++0000ef44 <[^>]*> nop ++0000ef48 <[^>]*> nop ++0000ef4c <[^>]*> nop ++0000ef50 <[^>]*> nop ++0000ef54 <[^>]*> nop ++0000ef58 <[^>]*> nop ++0000ef5c <[^>]*> nop ++0000ef60 <[^>]*> nop ++0000ef64 <[^>]*> nop ++0000ef68 <[^>]*> nop ++0000ef6c <[^>]*> nop ++0000ef70 <[^>]*> nop ++0000ef74 <[^>]*> nop ++0000ef78 <[^>]*> nop ++0000ef7c <[^>]*> nop ++0000ef80 <[^>]*> nop ++0000ef84 <[^>]*> nop ++0000ef88 <[^>]*> nop ++0000ef8c <[^>]*> nop ++0000ef90 <[^>]*> nop ++0000ef94 <[^>]*> nop ++0000ef98 <[^>]*> nop ++0000ef9c <[^>]*> nop ++0000efa0 <[^>]*> nop ++0000efa4 <[^>]*> nop ++0000efa8 <[^>]*> nop ++0000efac <[^>]*> nop ++0000efb0 <[^>]*> nop ++0000efb4 <[^>]*> nop ++0000efb8 <[^>]*> nop ++0000efbc <[^>]*> nop ++0000efc0 <[^>]*> nop ++0000efc4 <[^>]*> nop ++0000efc8 <[^>]*> nop ++0000efcc <[^>]*> nop ++0000efd0 <[^>]*> nop ++0000efd4 <[^>]*> nop ++0000efd8 <[^>]*> nop ++0000efdc <[^>]*> nop ++0000efe0 <[^>]*> nop ++0000efe4 <[^>]*> nop ++0000efe8 <[^>]*> nop ++0000efec <[^>]*> nop ++0000eff0 <[^>]*> nop ++0000eff4 <[^>]*> nop ++0000eff8 <[^>]*> nop ++0000effc <[^>]*> nop ++0000f000 <[^>]*> nop ++0000f004 <[^>]*> nop ++0000f008 <[^>]*> nop ++0000f00c <[^>]*> nop ++0000f010 <[^>]*> nop ++0000f014 <[^>]*> nop ++0000f018 <[^>]*> nop ++0000f01c <[^>]*> nop ++0000f020 <[^>]*> nop ++0000f024 <[^>]*> nop ++0000f028 <[^>]*> nop ++0000f02c <[^>]*> nop ++0000f030 <[^>]*> nop ++0000f034 <[^>]*> nop ++0000f038 <[^>]*> nop ++0000f03c <[^>]*> nop ++0000f040 <[^>]*> nop ++0000f044 <[^>]*> nop ++0000f048 <[^>]*> nop ++0000f04c <[^>]*> nop ++0000f050 <[^>]*> nop ++0000f054 <[^>]*> nop ++0000f058 <[^>]*> nop ++0000f05c <[^>]*> nop ++0000f060 <[^>]*> nop ++0000f064 <[^>]*> nop ++0000f068 <[^>]*> nop ++0000f06c <[^>]*> nop ++0000f070 <[^>]*> nop ++0000f074 <[^>]*> nop ++0000f078 <[^>]*> nop ++0000f07c <[^>]*> nop ++0000f080 <[^>]*> nop ++0000f084 <[^>]*> nop ++0000f088 <[^>]*> nop ++0000f08c <[^>]*> nop ++0000f090 <[^>]*> nop ++0000f094 <[^>]*> nop ++0000f098 <[^>]*> nop ++0000f09c <[^>]*> nop ++0000f0a0 <[^>]*> nop ++0000f0a4 <[^>]*> nop ++0000f0a8 <[^>]*> nop ++0000f0ac <[^>]*> nop ++0000f0b0 <[^>]*> nop ++0000f0b4 <[^>]*> nop ++0000f0b8 <[^>]*> nop ++0000f0bc <[^>]*> nop ++0000f0c0 <[^>]*> nop ++0000f0c4 <[^>]*> nop ++0000f0c8 <[^>]*> nop ++0000f0cc <[^>]*> nop ++0000f0d0 <[^>]*> nop ++0000f0d4 <[^>]*> nop ++0000f0d8 <[^>]*> nop ++0000f0dc <[^>]*> nop ++0000f0e0 <[^>]*> nop ++0000f0e4 <[^>]*> nop ++0000f0e8 <[^>]*> nop ++0000f0ec <[^>]*> nop ++0000f0f0 <[^>]*> nop ++0000f0f4 <[^>]*> nop ++0000f0f8 <[^>]*> nop ++0000f0fc <[^>]*> nop ++0000f100 <[^>]*> nop ++0000f104 <[^>]*> nop ++0000f108 <[^>]*> nop ++0000f10c <[^>]*> nop ++0000f110 <[^>]*> nop ++0000f114 <[^>]*> nop ++0000f118 <[^>]*> nop ++0000f11c <[^>]*> nop ++0000f120 <[^>]*> nop ++0000f124 <[^>]*> nop ++0000f128 <[^>]*> nop ++0000f12c <[^>]*> nop ++0000f130 <[^>]*> nop ++0000f134 <[^>]*> nop ++0000f138 <[^>]*> nop ++0000f13c <[^>]*> nop ++0000f140 <[^>]*> nop ++0000f144 <[^>]*> nop ++0000f148 <[^>]*> nop ++0000f14c <[^>]*> nop ++0000f150 <[^>]*> nop ++0000f154 <[^>]*> nop ++0000f158 <[^>]*> nop ++0000f15c <[^>]*> nop ++0000f160 <[^>]*> nop ++0000f164 <[^>]*> nop ++0000f168 <[^>]*> nop ++0000f16c <[^>]*> nop ++0000f170 <[^>]*> nop ++0000f174 <[^>]*> nop ++0000f178 <[^>]*> nop ++0000f17c <[^>]*> nop ++0000f180 <[^>]*> nop ++0000f184 <[^>]*> nop ++0000f188 <[^>]*> nop ++0000f18c <[^>]*> nop ++0000f190 <[^>]*> nop ++0000f194 <[^>]*> nop ++0000f198 <[^>]*> nop ++0000f19c <[^>]*> nop ++0000f1a0 <[^>]*> nop ++0000f1a4 <[^>]*> nop ++0000f1a8 <[^>]*> nop ++0000f1ac <[^>]*> nop ++0000f1b0 <[^>]*> nop ++0000f1b4 <[^>]*> nop ++0000f1b8 <[^>]*> nop ++0000f1bc <[^>]*> nop ++0000f1c0 <[^>]*> nop ++0000f1c4 <[^>]*> nop ++0000f1c8 <[^>]*> nop ++0000f1cc <[^>]*> nop ++0000f1d0 <[^>]*> nop ++0000f1d4 <[^>]*> nop ++0000f1d8 <[^>]*> nop ++0000f1dc <[^>]*> nop ++0000f1e0 <[^>]*> nop ++0000f1e4 <[^>]*> nop ++0000f1e8 <[^>]*> nop ++0000f1ec <[^>]*> nop ++0000f1f0 <[^>]*> nop ++0000f1f4 <[^>]*> nop ++0000f1f8 <[^>]*> nop ++0000f1fc <[^>]*> nop ++0000f200 <[^>]*> nop ++0000f204 <[^>]*> nop ++0000f208 <[^>]*> nop ++0000f20c <[^>]*> nop ++0000f210 <[^>]*> nop ++0000f214 <[^>]*> nop ++0000f218 <[^>]*> nop ++0000f21c <[^>]*> nop ++0000f220 <[^>]*> nop ++0000f224 <[^>]*> nop ++0000f228 <[^>]*> nop ++0000f22c <[^>]*> nop ++0000f230 <[^>]*> nop ++0000f234 <[^>]*> nop ++0000f238 <[^>]*> nop ++0000f23c <[^>]*> nop ++0000f240 <[^>]*> nop ++0000f244 <[^>]*> nop ++0000f248 <[^>]*> nop ++0000f24c <[^>]*> nop ++0000f250 <[^>]*> nop ++0000f254 <[^>]*> nop ++0000f258 <[^>]*> nop ++0000f25c <[^>]*> nop ++0000f260 <[^>]*> nop ++0000f264 <[^>]*> nop ++0000f268 <[^>]*> nop ++0000f26c <[^>]*> nop ++0000f270 <[^>]*> nop ++0000f274 <[^>]*> nop ++0000f278 <[^>]*> nop ++0000f27c <[^>]*> nop ++0000f280 <[^>]*> nop ++0000f284 <[^>]*> nop ++0000f288 <[^>]*> nop ++0000f28c <[^>]*> nop ++0000f290 <[^>]*> nop ++0000f294 <[^>]*> nop ++0000f298 <[^>]*> nop ++0000f29c <[^>]*> nop ++0000f2a0 <[^>]*> nop ++0000f2a4 <[^>]*> nop ++0000f2a8 <[^>]*> nop ++0000f2ac <[^>]*> nop ++0000f2b0 <[^>]*> nop ++0000f2b4 <[^>]*> nop ++0000f2b8 <[^>]*> nop ++0000f2bc <[^>]*> nop ++0000f2c0 <[^>]*> nop ++0000f2c4 <[^>]*> nop ++0000f2c8 <[^>]*> nop ++0000f2cc <[^>]*> nop ++0000f2d0 <[^>]*> nop ++0000f2d4 <[^>]*> nop ++0000f2d8 <[^>]*> nop ++0000f2dc <[^>]*> nop ++0000f2e0 <[^>]*> nop ++0000f2e4 <[^>]*> nop ++0000f2e8 <[^>]*> nop ++0000f2ec <[^>]*> nop ++0000f2f0 <[^>]*> nop ++0000f2f4 <[^>]*> nop ++0000f2f8 <[^>]*> nop ++0000f2fc <[^>]*> nop ++0000f300 <[^>]*> nop ++0000f304 <[^>]*> nop ++0000f308 <[^>]*> nop ++0000f30c <[^>]*> nop ++0000f310 <[^>]*> nop ++0000f314 <[^>]*> nop ++0000f318 <[^>]*> nop ++0000f31c <[^>]*> nop ++0000f320 <[^>]*> nop ++0000f324 <[^>]*> nop ++0000f328 <[^>]*> nop ++0000f32c <[^>]*> nop ++0000f330 <[^>]*> nop ++0000f334 <[^>]*> nop ++0000f338 <[^>]*> nop ++0000f33c <[^>]*> nop ++0000f340 <[^>]*> nop ++0000f344 <[^>]*> nop ++0000f348 <[^>]*> nop ++0000f34c <[^>]*> nop ++0000f350 <[^>]*> nop ++0000f354 <[^>]*> nop ++0000f358 <[^>]*> nop ++0000f35c <[^>]*> nop ++0000f360 <[^>]*> nop ++0000f364 <[^>]*> nop ++0000f368 <[^>]*> nop ++0000f36c <[^>]*> nop ++0000f370 <[^>]*> nop ++0000f374 <[^>]*> nop ++0000f378 <[^>]*> nop ++0000f37c <[^>]*> nop ++0000f380 <[^>]*> nop ++0000f384 <[^>]*> nop ++0000f388 <[^>]*> nop ++0000f38c <[^>]*> nop ++0000f390 <[^>]*> nop ++0000f394 <[^>]*> nop ++0000f398 <[^>]*> nop ++0000f39c <[^>]*> nop ++0000f3a0 <[^>]*> nop ++0000f3a4 <[^>]*> nop ++0000f3a8 <[^>]*> nop ++0000f3ac <[^>]*> nop ++0000f3b0 <[^>]*> nop ++0000f3b4 <[^>]*> nop ++0000f3b8 <[^>]*> nop ++0000f3bc <[^>]*> nop ++0000f3c0 <[^>]*> nop ++0000f3c4 <[^>]*> nop ++0000f3c8 <[^>]*> nop ++0000f3cc <[^>]*> nop ++0000f3d0 <[^>]*> nop ++0000f3d4 <[^>]*> nop ++0000f3d8 <[^>]*> nop ++0000f3dc <[^>]*> nop ++0000f3e0 <[^>]*> nop ++0000f3e4 <[^>]*> nop ++0000f3e8 <[^>]*> nop ++0000f3ec <[^>]*> nop ++0000f3f0 <[^>]*> nop ++0000f3f4 <[^>]*> nop ++0000f3f8 <[^>]*> nop ++0000f3fc <[^>]*> nop ++0000f400 <[^>]*> nop ++0000f404 <[^>]*> nop ++0000f408 <[^>]*> nop ++0000f40c <[^>]*> nop ++0000f410 <[^>]*> nop ++0000f414 <[^>]*> nop ++0000f418 <[^>]*> nop ++0000f41c <[^>]*> nop ++0000f420 <[^>]*> nop ++0000f424 <[^>]*> nop ++0000f428 <[^>]*> nop ++0000f42c <[^>]*> nop ++0000f430 <[^>]*> nop ++0000f434 <[^>]*> nop ++0000f438 <[^>]*> nop ++0000f43c <[^>]*> nop ++0000f440 <[^>]*> nop ++0000f444 <[^>]*> nop ++0000f448 <[^>]*> nop ++0000f44c <[^>]*> nop ++0000f450 <[^>]*> nop ++0000f454 <[^>]*> nop ++0000f458 <[^>]*> nop ++0000f45c <[^>]*> nop ++0000f460 <[^>]*> nop ++0000f464 <[^>]*> nop ++0000f468 <[^>]*> nop ++0000f46c <[^>]*> nop ++0000f470 <[^>]*> nop ++0000f474 <[^>]*> nop ++0000f478 <[^>]*> nop ++0000f47c <[^>]*> nop ++0000f480 <[^>]*> nop ++0000f484 <[^>]*> nop ++0000f488 <[^>]*> nop ++0000f48c <[^>]*> nop ++0000f490 <[^>]*> nop ++0000f494 <[^>]*> nop ++0000f498 <[^>]*> nop ++0000f49c <[^>]*> nop ++0000f4a0 <[^>]*> nop ++0000f4a4 <[^>]*> nop ++0000f4a8 <[^>]*> nop ++0000f4ac <[^>]*> nop ++0000f4b0 <[^>]*> nop ++0000f4b4 <[^>]*> nop ++0000f4b8 <[^>]*> nop ++0000f4bc <[^>]*> nop ++0000f4c0 <[^>]*> nop ++0000f4c4 <[^>]*> nop ++0000f4c8 <[^>]*> nop ++0000f4cc <[^>]*> nop ++0000f4d0 <[^>]*> nop ++0000f4d4 <[^>]*> nop ++0000f4d8 <[^>]*> nop ++0000f4dc <[^>]*> nop ++0000f4e0 <[^>]*> nop ++0000f4e4 <[^>]*> nop ++0000f4e8 <[^>]*> nop ++0000f4ec <[^>]*> nop ++0000f4f0 <[^>]*> nop ++0000f4f4 <[^>]*> nop ++0000f4f8 <[^>]*> nop ++0000f4fc <[^>]*> nop ++0000f500 <[^>]*> nop ++0000f504 <[^>]*> nop ++0000f508 <[^>]*> nop ++0000f50c <[^>]*> nop ++0000f510 <[^>]*> nop ++0000f514 <[^>]*> nop ++0000f518 <[^>]*> nop ++0000f51c <[^>]*> nop ++0000f520 <[^>]*> nop ++0000f524 <[^>]*> nop ++0000f528 <[^>]*> nop ++0000f52c <[^>]*> nop ++0000f530 <[^>]*> nop ++0000f534 <[^>]*> nop ++0000f538 <[^>]*> nop ++0000f53c <[^>]*> nop ++0000f540 <[^>]*> nop ++0000f544 <[^>]*> nop ++0000f548 <[^>]*> nop ++0000f54c <[^>]*> nop ++0000f550 <[^>]*> nop ++0000f554 <[^>]*> nop ++0000f558 <[^>]*> nop ++0000f55c <[^>]*> nop ++0000f560 <[^>]*> nop ++0000f564 <[^>]*> nop ++0000f568 <[^>]*> nop ++0000f56c <[^>]*> nop ++0000f570 <[^>]*> nop ++0000f574 <[^>]*> nop ++0000f578 <[^>]*> nop ++0000f57c <[^>]*> nop ++0000f580 <[^>]*> nop ++0000f584 <[^>]*> nop ++0000f588 <[^>]*> nop ++0000f58c <[^>]*> nop ++0000f590 <[^>]*> nop ++0000f594 <[^>]*> nop ++0000f598 <[^>]*> nop ++0000f59c <[^>]*> nop ++0000f5a0 <[^>]*> nop ++0000f5a4 <[^>]*> nop ++0000f5a8 <[^>]*> nop ++0000f5ac <[^>]*> nop ++0000f5b0 <[^>]*> nop ++0000f5b4 <[^>]*> nop ++0000f5b8 <[^>]*> nop ++0000f5bc <[^>]*> nop ++0000f5c0 <[^>]*> nop ++0000f5c4 <[^>]*> nop ++0000f5c8 <[^>]*> nop ++0000f5cc <[^>]*> nop ++0000f5d0 <[^>]*> nop ++0000f5d4 <[^>]*> nop ++0000f5d8 <[^>]*> nop ++0000f5dc <[^>]*> nop ++0000f5e0 <[^>]*> nop ++0000f5e4 <[^>]*> nop ++0000f5e8 <[^>]*> nop ++0000f5ec <[^>]*> nop ++0000f5f0 <[^>]*> nop ++0000f5f4 <[^>]*> nop ++0000f5f8 <[^>]*> nop ++0000f5fc <[^>]*> nop ++0000f600 <[^>]*> nop ++0000f604 <[^>]*> nop ++0000f608 <[^>]*> nop ++0000f60c <[^>]*> nop ++0000f610 <[^>]*> nop ++0000f614 <[^>]*> nop ++0000f618 <[^>]*> nop ++0000f61c <[^>]*> nop ++0000f620 <[^>]*> nop ++0000f624 <[^>]*> nop ++0000f628 <[^>]*> nop ++0000f62c <[^>]*> nop ++0000f630 <[^>]*> nop ++0000f634 <[^>]*> nop ++0000f638 <[^>]*> nop ++0000f63c <[^>]*> nop ++0000f640 <[^>]*> nop ++0000f644 <[^>]*> nop ++0000f648 <[^>]*> nop ++0000f64c <[^>]*> nop ++0000f650 <[^>]*> nop ++0000f654 <[^>]*> nop ++0000f658 <[^>]*> nop ++0000f65c <[^>]*> nop ++0000f660 <[^>]*> nop ++0000f664 <[^>]*> nop ++0000f668 <[^>]*> nop ++0000f66c <[^>]*> nop ++0000f670 <[^>]*> nop ++0000f674 <[^>]*> nop ++0000f678 <[^>]*> nop ++0000f67c <[^>]*> nop ++0000f680 <[^>]*> nop ++0000f684 <[^>]*> nop ++0000f688 <[^>]*> nop ++0000f68c <[^>]*> nop ++0000f690 <[^>]*> nop ++0000f694 <[^>]*> nop ++0000f698 <[^>]*> nop ++0000f69c <[^>]*> nop ++0000f6a0 <[^>]*> nop ++0000f6a4 <[^>]*> nop ++0000f6a8 <[^>]*> nop ++0000f6ac <[^>]*> nop ++0000f6b0 <[^>]*> nop ++0000f6b4 <[^>]*> nop ++0000f6b8 <[^>]*> nop ++0000f6bc <[^>]*> nop ++0000f6c0 <[^>]*> nop ++0000f6c4 <[^>]*> nop ++0000f6c8 <[^>]*> nop ++0000f6cc <[^>]*> nop ++0000f6d0 <[^>]*> nop ++0000f6d4 <[^>]*> nop ++0000f6d8 <[^>]*> nop ++0000f6dc <[^>]*> nop ++0000f6e0 <[^>]*> nop ++0000f6e4 <[^>]*> nop ++0000f6e8 <[^>]*> nop ++0000f6ec <[^>]*> nop ++0000f6f0 <[^>]*> nop ++0000f6f4 <[^>]*> nop ++0000f6f8 <[^>]*> nop ++0000f6fc <[^>]*> nop ++0000f700 <[^>]*> nop ++0000f704 <[^>]*> nop ++0000f708 <[^>]*> nop ++0000f70c <[^>]*> nop ++0000f710 <[^>]*> nop ++0000f714 <[^>]*> nop ++0000f718 <[^>]*> nop ++0000f71c <[^>]*> nop ++0000f720 <[^>]*> nop ++0000f724 <[^>]*> nop ++0000f728 <[^>]*> nop ++0000f72c <[^>]*> nop ++0000f730 <[^>]*> nop ++0000f734 <[^>]*> nop ++0000f738 <[^>]*> nop ++0000f73c <[^>]*> nop ++0000f740 <[^>]*> nop ++0000f744 <[^>]*> nop ++0000f748 <[^>]*> nop ++0000f74c <[^>]*> nop ++0000f750 <[^>]*> nop ++0000f754 <[^>]*> nop ++0000f758 <[^>]*> nop ++0000f75c <[^>]*> nop ++0000f760 <[^>]*> nop ++0000f764 <[^>]*> nop ++0000f768 <[^>]*> nop ++0000f76c <[^>]*> nop ++0000f770 <[^>]*> nop ++0000f774 <[^>]*> nop ++0000f778 <[^>]*> nop ++0000f77c <[^>]*> nop ++0000f780 <[^>]*> nop ++0000f784 <[^>]*> nop ++0000f788 <[^>]*> nop ++0000f78c <[^>]*> nop ++0000f790 <[^>]*> nop ++0000f794 <[^>]*> nop ++0000f798 <[^>]*> nop ++0000f79c <[^>]*> nop ++0000f7a0 <[^>]*> nop ++0000f7a4 <[^>]*> nop ++0000f7a8 <[^>]*> nop ++0000f7ac <[^>]*> nop ++0000f7b0 <[^>]*> nop ++0000f7b4 <[^>]*> nop ++0000f7b8 <[^>]*> nop ++0000f7bc <[^>]*> nop ++0000f7c0 <[^>]*> nop ++0000f7c4 <[^>]*> nop ++0000f7c8 <[^>]*> nop ++0000f7cc <[^>]*> nop ++0000f7d0 <[^>]*> nop ++0000f7d4 <[^>]*> nop ++0000f7d8 <[^>]*> nop ++0000f7dc <[^>]*> nop ++0000f7e0 <[^>]*> nop ++0000f7e4 <[^>]*> nop ++0000f7e8 <[^>]*> nop ++0000f7ec <[^>]*> nop ++0000f7f0 <[^>]*> nop ++0000f7f4 <[^>]*> nop ++0000f7f8 <[^>]*> nop ++0000f7fc <[^>]*> nop ++0000f800 <[^>]*> nop ++0000f804 <[^>]*> nop ++0000f808 <[^>]*> nop ++0000f80c <[^>]*> nop ++0000f810 <[^>]*> nop ++0000f814 <[^>]*> nop ++0000f818 <[^>]*> nop ++0000f81c <[^>]*> nop ++0000f820 <[^>]*> nop ++0000f824 <[^>]*> nop ++0000f828 <[^>]*> nop ++0000f82c <[^>]*> nop ++0000f830 <[^>]*> nop ++0000f834 <[^>]*> nop ++0000f838 <[^>]*> nop ++0000f83c <[^>]*> nop ++0000f840 <[^>]*> nop ++0000f844 <[^>]*> nop ++0000f848 <[^>]*> nop ++0000f84c <[^>]*> nop ++0000f850 <[^>]*> nop ++0000f854 <[^>]*> nop ++0000f858 <[^>]*> nop ++0000f85c <[^>]*> nop ++0000f860 <[^>]*> nop ++0000f864 <[^>]*> nop ++0000f868 <[^>]*> nop ++0000f86c <[^>]*> nop ++0000f870 <[^>]*> nop ++0000f874 <[^>]*> nop ++0000f878 <[^>]*> nop ++0000f87c <[^>]*> nop ++0000f880 <[^>]*> nop ++0000f884 <[^>]*> nop ++0000f888 <[^>]*> nop ++0000f88c <[^>]*> nop ++0000f890 <[^>]*> nop ++0000f894 <[^>]*> nop ++0000f898 <[^>]*> nop ++0000f89c <[^>]*> nop ++0000f8a0 <[^>]*> nop ++0000f8a4 <[^>]*> nop ++0000f8a8 <[^>]*> nop ++0000f8ac <[^>]*> nop ++0000f8b0 <[^>]*> nop ++0000f8b4 <[^>]*> nop ++0000f8b8 <[^>]*> nop ++0000f8bc <[^>]*> nop ++0000f8c0 <[^>]*> nop ++0000f8c4 <[^>]*> nop ++0000f8c8 <[^>]*> nop ++0000f8cc <[^>]*> nop ++0000f8d0 <[^>]*> nop ++0000f8d4 <[^>]*> nop ++0000f8d8 <[^>]*> nop ++0000f8dc <[^>]*> nop ++0000f8e0 <[^>]*> nop ++0000f8e4 <[^>]*> nop ++0000f8e8 <[^>]*> nop ++0000f8ec <[^>]*> nop ++0000f8f0 <[^>]*> nop ++0000f8f4 <[^>]*> nop ++0000f8f8 <[^>]*> nop ++0000f8fc <[^>]*> nop ++0000f900 <[^>]*> nop ++0000f904 <[^>]*> nop ++0000f908 <[^>]*> nop ++0000f90c <[^>]*> nop ++0000f910 <[^>]*> nop ++0000f914 <[^>]*> nop ++0000f918 <[^>]*> nop ++0000f91c <[^>]*> nop ++0000f920 <[^>]*> nop ++0000f924 <[^>]*> nop ++0000f928 <[^>]*> nop ++0000f92c <[^>]*> nop ++0000f930 <[^>]*> nop ++0000f934 <[^>]*> nop ++0000f938 <[^>]*> nop ++0000f93c <[^>]*> nop ++0000f940 <[^>]*> nop ++0000f944 <[^>]*> nop ++0000f948 <[^>]*> nop ++0000f94c <[^>]*> nop ++0000f950 <[^>]*> nop ++0000f954 <[^>]*> nop ++0000f958 <[^>]*> nop ++0000f95c <[^>]*> nop ++0000f960 <[^>]*> nop ++0000f964 <[^>]*> nop ++0000f968 <[^>]*> nop ++0000f96c <[^>]*> nop ++0000f970 <[^>]*> nop ++0000f974 <[^>]*> nop ++0000f978 <[^>]*> nop ++0000f97c <[^>]*> nop ++0000f980 <[^>]*> nop ++0000f984 <[^>]*> nop ++0000f988 <[^>]*> nop ++0000f98c <[^>]*> nop ++0000f990 <[^>]*> nop ++0000f994 <[^>]*> nop ++0000f998 <[^>]*> nop ++0000f99c <[^>]*> nop ++0000f9a0 <[^>]*> nop ++0000f9a4 <[^>]*> nop ++0000f9a8 <[^>]*> nop ++0000f9ac <[^>]*> nop ++0000f9b0 <[^>]*> nop ++0000f9b4 <[^>]*> nop ++0000f9b8 <[^>]*> nop ++0000f9bc <[^>]*> nop ++0000f9c0 <[^>]*> nop ++0000f9c4 <[^>]*> nop ++0000f9c8 <[^>]*> nop ++0000f9cc <[^>]*> nop ++0000f9d0 <[^>]*> nop ++0000f9d4 <[^>]*> nop ++0000f9d8 <[^>]*> nop ++0000f9dc <[^>]*> nop ++0000f9e0 <[^>]*> nop ++0000f9e4 <[^>]*> nop ++0000f9e8 <[^>]*> nop ++0000f9ec <[^>]*> nop ++0000f9f0 <[^>]*> nop ++0000f9f4 <[^>]*> nop ++0000f9f8 <[^>]*> nop ++0000f9fc <[^>]*> nop ++0000fa00 <[^>]*> nop ++0000fa04 <[^>]*> nop ++0000fa08 <[^>]*> nop ++0000fa0c <[^>]*> nop ++0000fa10 <[^>]*> nop ++0000fa14 <[^>]*> nop ++0000fa18 <[^>]*> nop ++0000fa1c <[^>]*> nop ++0000fa20 <[^>]*> nop ++0000fa24 <[^>]*> nop ++0000fa28 <[^>]*> nop ++0000fa2c <[^>]*> nop ++0000fa30 <[^>]*> nop ++0000fa34 <[^>]*> nop ++0000fa38 <[^>]*> nop ++0000fa3c <[^>]*> nop ++0000fa40 <[^>]*> nop ++0000fa44 <[^>]*> nop ++0000fa48 <[^>]*> nop ++0000fa4c <[^>]*> nop ++0000fa50 <[^>]*> nop ++0000fa54 <[^>]*> nop ++0000fa58 <[^>]*> nop ++0000fa5c <[^>]*> nop ++0000fa60 <[^>]*> nop ++0000fa64 <[^>]*> nop ++0000fa68 <[^>]*> nop ++0000fa6c <[^>]*> nop ++0000fa70 <[^>]*> nop ++0000fa74 <[^>]*> nop ++0000fa78 <[^>]*> nop ++0000fa7c <[^>]*> nop ++0000fa80 <[^>]*> nop ++0000fa84 <[^>]*> nop ++0000fa88 <[^>]*> nop ++0000fa8c <[^>]*> nop ++0000fa90 <[^>]*> nop ++0000fa94 <[^>]*> nop ++0000fa98 <[^>]*> nop ++0000fa9c <[^>]*> nop ++0000faa0 <[^>]*> nop ++0000faa4 <[^>]*> nop ++0000faa8 <[^>]*> nop ++0000faac <[^>]*> nop ++0000fab0 <[^>]*> nop ++0000fab4 <[^>]*> nop ++0000fab8 <[^>]*> nop ++0000fabc <[^>]*> nop ++0000fac0 <[^>]*> nop ++0000fac4 <[^>]*> nop ++0000fac8 <[^>]*> nop ++0000facc <[^>]*> nop ++0000fad0 <[^>]*> nop ++0000fad4 <[^>]*> nop ++0000fad8 <[^>]*> nop ++0000fadc <[^>]*> nop ++0000fae0 <[^>]*> nop ++0000fae4 <[^>]*> nop ++0000fae8 <[^>]*> nop ++0000faec <[^>]*> nop ++0000faf0 <[^>]*> nop ++0000faf4 <[^>]*> nop ++0000faf8 <[^>]*> nop ++0000fafc <[^>]*> nop ++0000fb00 <[^>]*> nop ++0000fb04 <[^>]*> nop ++0000fb08 <[^>]*> nop ++0000fb0c <[^>]*> nop ++0000fb10 <[^>]*> nop ++0000fb14 <[^>]*> nop ++0000fb18 <[^>]*> nop ++0000fb1c <[^>]*> nop ++0000fb20 <[^>]*> nop ++0000fb24 <[^>]*> nop ++0000fb28 <[^>]*> nop ++0000fb2c <[^>]*> nop ++0000fb30 <[^>]*> nop ++0000fb34 <[^>]*> nop ++0000fb38 <[^>]*> nop ++0000fb3c <[^>]*> nop ++0000fb40 <[^>]*> nop ++0000fb44 <[^>]*> nop ++0000fb48 <[^>]*> nop ++0000fb4c <[^>]*> nop ++0000fb50 <[^>]*> nop ++0000fb54 <[^>]*> nop ++0000fb58 <[^>]*> nop ++0000fb5c <[^>]*> nop ++0000fb60 <[^>]*> nop ++0000fb64 <[^>]*> nop ++0000fb68 <[^>]*> nop ++0000fb6c <[^>]*> nop ++0000fb70 <[^>]*> nop ++0000fb74 <[^>]*> nop ++0000fb78 <[^>]*> nop ++0000fb7c <[^>]*> nop ++0000fb80 <[^>]*> nop ++0000fb84 <[^>]*> nop ++0000fb88 <[^>]*> nop ++0000fb8c <[^>]*> nop ++0000fb90 <[^>]*> nop ++0000fb94 <[^>]*> nop ++0000fb98 <[^>]*> nop ++0000fb9c <[^>]*> nop ++0000fba0 <[^>]*> nop ++0000fba4 <[^>]*> nop ++0000fba8 <[^>]*> nop ++0000fbac <[^>]*> nop ++0000fbb0 <[^>]*> nop ++0000fbb4 <[^>]*> nop ++0000fbb8 <[^>]*> nop ++0000fbbc <[^>]*> nop ++0000fbc0 <[^>]*> nop ++0000fbc4 <[^>]*> nop ++0000fbc8 <[^>]*> nop ++0000fbcc <[^>]*> nop ++0000fbd0 <[^>]*> nop ++0000fbd4 <[^>]*> nop ++0000fbd8 <[^>]*> nop ++0000fbdc <[^>]*> nop ++0000fbe0 <[^>]*> nop ++0000fbe4 <[^>]*> nop ++0000fbe8 <[^>]*> nop ++0000fbec <[^>]*> nop ++0000fbf0 <[^>]*> nop ++0000fbf4 <[^>]*> nop ++0000fbf8 <[^>]*> nop ++0000fbfc <[^>]*> nop ++0000fc00 <[^>]*> nop ++0000fc04 <[^>]*> nop ++0000fc08 <[^>]*> nop ++0000fc0c <[^>]*> nop ++0000fc10 <[^>]*> nop ++0000fc14 <[^>]*> nop ++0000fc18 <[^>]*> nop ++0000fc1c <[^>]*> nop ++0000fc20 <[^>]*> nop ++0000fc24 <[^>]*> nop ++0000fc28 <[^>]*> nop ++0000fc2c <[^>]*> nop ++0000fc30 <[^>]*> nop ++0000fc34 <[^>]*> nop ++0000fc38 <[^>]*> nop ++0000fc3c <[^>]*> nop ++0000fc40 <[^>]*> nop ++0000fc44 <[^>]*> nop ++0000fc48 <[^>]*> nop ++0000fc4c <[^>]*> nop ++0000fc50 <[^>]*> nop ++0000fc54 <[^>]*> nop ++0000fc58 <[^>]*> nop ++0000fc5c <[^>]*> nop ++0000fc60 <[^>]*> nop ++0000fc64 <[^>]*> nop ++0000fc68 <[^>]*> nop ++0000fc6c <[^>]*> nop ++0000fc70 <[^>]*> nop ++0000fc74 <[^>]*> nop ++0000fc78 <[^>]*> nop ++0000fc7c <[^>]*> nop ++0000fc80 <[^>]*> nop ++0000fc84 <[^>]*> nop ++0000fc88 <[^>]*> nop ++0000fc8c <[^>]*> nop ++0000fc90 <[^>]*> nop ++0000fc94 <[^>]*> nop ++0000fc98 <[^>]*> nop ++0000fc9c <[^>]*> nop ++0000fca0 <[^>]*> nop ++0000fca4 <[^>]*> nop ++0000fca8 <[^>]*> nop ++0000fcac <[^>]*> nop ++0000fcb0 <[^>]*> nop ++0000fcb4 <[^>]*> nop ++0000fcb8 <[^>]*> nop ++0000fcbc <[^>]*> nop ++0000fcc0 <[^>]*> nop ++0000fcc4 <[^>]*> nop ++0000fcc8 <[^>]*> nop ++0000fccc <[^>]*> nop ++0000fcd0 <[^>]*> nop ++0000fcd4 <[^>]*> nop ++0000fcd8 <[^>]*> nop ++0000fcdc <[^>]*> nop ++0000fce0 <[^>]*> nop ++0000fce4 <[^>]*> nop ++0000fce8 <[^>]*> nop ++0000fcec <[^>]*> nop ++0000fcf0 <[^>]*> nop ++0000fcf4 <[^>]*> nop ++0000fcf8 <[^>]*> nop ++0000fcfc <[^>]*> nop ++0000fd00 <[^>]*> nop ++0000fd04 <[^>]*> nop ++0000fd08 <[^>]*> nop ++0000fd0c <[^>]*> nop ++0000fd10 <[^>]*> nop ++0000fd14 <[^>]*> nop ++0000fd18 <[^>]*> nop ++0000fd1c <[^>]*> nop ++0000fd20 <[^>]*> nop ++0000fd24 <[^>]*> nop ++0000fd28 <[^>]*> nop ++0000fd2c <[^>]*> nop ++0000fd30 <[^>]*> nop ++0000fd34 <[^>]*> nop ++0000fd38 <[^>]*> nop ++0000fd3c <[^>]*> nop ++0000fd40 <[^>]*> nop ++0000fd44 <[^>]*> nop ++0000fd48 <[^>]*> nop ++0000fd4c <[^>]*> nop ++0000fd50 <[^>]*> nop ++0000fd54 <[^>]*> nop ++0000fd58 <[^>]*> nop ++0000fd5c <[^>]*> nop ++0000fd60 <[^>]*> nop ++0000fd64 <[^>]*> nop ++0000fd68 <[^>]*> nop ++0000fd6c <[^>]*> nop ++0000fd70 <[^>]*> nop ++0000fd74 <[^>]*> nop ++0000fd78 <[^>]*> nop ++0000fd7c <[^>]*> nop ++0000fd80 <[^>]*> nop ++0000fd84 <[^>]*> nop ++0000fd88 <[^>]*> nop ++0000fd8c <[^>]*> nop ++0000fd90 <[^>]*> nop ++0000fd94 <[^>]*> nop ++0000fd98 <[^>]*> nop ++0000fd9c <[^>]*> nop ++0000fda0 <[^>]*> nop ++0000fda4 <[^>]*> nop ++0000fda8 <[^>]*> nop ++0000fdac <[^>]*> nop ++0000fdb0 <[^>]*> nop ++0000fdb4 <[^>]*> nop ++0000fdb8 <[^>]*> nop ++0000fdbc <[^>]*> nop ++0000fdc0 <[^>]*> nop ++0000fdc4 <[^>]*> nop ++0000fdc8 <[^>]*> nop ++0000fdcc <[^>]*> nop ++0000fdd0 <[^>]*> nop ++0000fdd4 <[^>]*> nop ++0000fdd8 <[^>]*> nop ++0000fddc <[^>]*> nop ++0000fde0 <[^>]*> nop ++0000fde4 <[^>]*> nop ++0000fde8 <[^>]*> nop ++0000fdec <[^>]*> nop ++0000fdf0 <[^>]*> nop ++0000fdf4 <[^>]*> nop ++0000fdf8 <[^>]*> nop ++0000fdfc <[^>]*> nop ++0000fe00 <[^>]*> nop ++0000fe04 <[^>]*> nop ++0000fe08 <[^>]*> nop ++0000fe0c <[^>]*> nop ++0000fe10 <[^>]*> nop ++0000fe14 <[^>]*> nop ++0000fe18 <[^>]*> nop ++0000fe1c <[^>]*> nop ++0000fe20 <[^>]*> nop ++0000fe24 <[^>]*> nop ++0000fe28 <[^>]*> nop ++0000fe2c <[^>]*> nop ++0000fe30 <[^>]*> nop ++0000fe34 <[^>]*> nop ++0000fe38 <[^>]*> nop ++0000fe3c <[^>]*> nop ++0000fe40 <[^>]*> nop ++0000fe44 <[^>]*> nop ++0000fe48 <[^>]*> nop ++0000fe4c <[^>]*> nop ++0000fe50 <[^>]*> nop ++0000fe54 <[^>]*> nop ++0000fe58 <[^>]*> nop ++0000fe5c <[^>]*> nop ++0000fe60 <[^>]*> nop ++0000fe64 <[^>]*> nop ++0000fe68 <[^>]*> nop ++0000fe6c <[^>]*> nop ++0000fe70 <[^>]*> nop ++0000fe74 <[^>]*> nop ++0000fe78 <[^>]*> nop ++0000fe7c <[^>]*> nop ++0000fe80 <[^>]*> nop ++0000fe84 <[^>]*> nop ++0000fe88 <[^>]*> nop ++0000fe8c <[^>]*> nop ++0000fe90 <[^>]*> nop ++0000fe94 <[^>]*> nop ++0000fe98 <[^>]*> nop ++0000fe9c <[^>]*> nop ++0000fea0 <[^>]*> nop ++0000fea4 <[^>]*> nop ++0000fea8 <[^>]*> nop ++0000feac <[^>]*> nop ++0000feb0 <[^>]*> nop ++0000feb4 <[^>]*> nop ++0000feb8 <[^>]*> nop ++0000febc <[^>]*> nop ++0000fec0 <[^>]*> nop ++0000fec4 <[^>]*> nop ++0000fec8 <[^>]*> nop ++0000fecc <[^>]*> nop ++0000fed0 <[^>]*> nop ++0000fed4 <[^>]*> nop ++0000fed8 <[^>]*> nop ++0000fedc <[^>]*> nop ++0000fee0 <[^>]*> nop ++0000fee4 <[^>]*> nop ++0000fee8 <[^>]*> nop ++0000feec <[^>]*> nop ++0000fef0 <[^>]*> nop ++0000fef4 <[^>]*> nop ++0000fef8 <[^>]*> nop ++0000fefc <[^>]*> nop ++0000ff00 <[^>]*> nop ++0000ff04 <[^>]*> nop ++0000ff08 <[^>]*> nop ++0000ff0c <[^>]*> nop ++0000ff10 <[^>]*> nop ++0000ff14 <[^>]*> nop ++0000ff18 <[^>]*> nop ++0000ff1c <[^>]*> nop ++0000ff20 <[^>]*> nop ++0000ff24 <[^>]*> nop ++0000ff28 <[^>]*> nop ++0000ff2c <[^>]*> nop ++0000ff30 <[^>]*> nop ++0000ff34 <[^>]*> nop ++0000ff38 <[^>]*> nop ++0000ff3c <[^>]*> nop ++0000ff40 <[^>]*> nop ++0000ff44 <[^>]*> nop ++0000ff48 <[^>]*> nop ++0000ff4c <[^>]*> nop ++0000ff50 <[^>]*> nop ++0000ff54 <[^>]*> nop ++0000ff58 <[^>]*> nop ++0000ff5c <[^>]*> nop ++0000ff60 <[^>]*> nop ++0000ff64 <[^>]*> nop ++0000ff68 <[^>]*> nop ++0000ff6c <[^>]*> nop ++0000ff70 <[^>]*> nop ++0000ff74 <[^>]*> nop ++0000ff78 <[^>]*> nop ++0000ff7c <[^>]*> nop ++0000ff80 <[^>]*> nop ++0000ff84 <[^>]*> nop ++0000ff88 <[^>]*> nop ++0000ff8c <[^>]*> nop ++0000ff90 <[^>]*> nop ++0000ff94 <[^>]*> nop ++0000ff98 <[^>]*> nop ++0000ff9c <[^>]*> nop ++0000ffa0 <[^>]*> nop ++0000ffa4 <[^>]*> nop ++0000ffa8 <[^>]*> nop ++0000ffac <[^>]*> nop ++0000ffb0 <[^>]*> nop ++0000ffb4 <[^>]*> nop ++0000ffb8 <[^>]*> nop ++0000ffbc <[^>]*> nop ++0000ffc0 <[^>]*> nop ++0000ffc4 <[^>]*> nop ++0000ffc8 <[^>]*> nop ++0000ffcc <[^>]*> nop ++0000ffd0 <[^>]*> nop ++0000ffd4 <[^>]*> nop ++0000ffd8 <[^>]*> nop ++0000ffdc <[^>]*> nop ++0000ffe0 <[^>]*> nop ++0000ffe4 <[^>]*> nop ++0000ffe8 <[^>]*> nop ++0000ffec <[^>]*> nop ++0000fff0 <[^>]*> nop ++0000fff4 <[^>]*> nop ++0000fff8 <[^>]*> nop ++0000fffc <[^>]*> nop ++00010000 <[^>]*> br 00010018 <[^>]*> ++00010004 <[^>]*> nop ++00010008 <[^>]*> nop ++0001000c <[^>]*> nop ++00010010 <[^>]*> nop ++00010014 <[^>]*> nop ++00010018 <[^>]*> nop ++ ... +Index: binutils-2.20.1/gas/testsuite/gas/nios2/relax_ujmp.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/relax_ujmp.s +@@ -0,0 +1,37 @@ ++# relaxing unconditional jumps ++ ++.globl text1 ++.section text1, "ax", @progbits ++ ++ br on_border ++ br out_of_range ++ nop ++ nop ++ ++ ++.align 15 ++# nop ++# nop ++on_border: ++ br in_range ++ nop ++ nop ++ nop ++out_of_range: ++in_range: ++ nop ++ ++.globl text2 ++.section text2, "ax", @progbits ++ ++ br text1 ++ br out_of_range ++ br sym ++ nop ++ nop ++sym: ++ nop ++ ++ ++ ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/reloc_symbols.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/reloc_symbols.s +@@ -0,0 +1,21 @@ ++.text ++# byte aligned ++.align 0 ++.byte byte_sym ++ ++# short aligned ++.align 1 ++.short short_sym ++ ++# word aligned ++.align 2 ++.long long_sym ++ ++# now lets try some unaligned words and halfwords ++.byte byte_sym ++.2byte short_sym ++.4byte long_sym ++ ++#.align 2 ++#nop ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/ret.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/ret.d +@@ -0,0 +1,8 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 ret ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> ret ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/ret.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/ret.s +@@ -0,0 +1,5 @@ ++# Source file used to test the ret instructions ++foo: ++ ret ++ ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/rol.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/rol.d +@@ -0,0 +1,40 @@ ++#objdump: -dr --prefix-addresses -mmips:3000 ++#as: -march=r3000 -mtune=r3000 ++#name: MIPS R3000 rol ++ ++# Test the rol and ror macros. ++ ++.*: +file format .*mips.* ++ ++Disassembly of section .text: ++0+0000 <[^>]*> negu at,a1 ++0+0004 <[^>]*> srlv at,a0,at ++0+0008 <[^>]*> sllv a0,a0,a1 ++0+000c <[^>]*> or a0,a0,at ++0+0010 <[^>]*> negu at,a2 ++0+0014 <[^>]*> srlv at,a1,at ++0+0018 <[^>]*> sllv a0,a1,a2 ++0+001c <[^>]*> or a0,a0,at ++0+0020 <[^>]*> sll at,a0,0x1 ++0+0024 <[^>]*> srl a0,a0,0x1f ++0+0028 <[^>]*> or a0,a0,at ++0+002c <[^>]*> sll at,a1,0x1 ++0+0030 <[^>]*> srl a0,a1,0x1f ++0+0034 <[^>]*> or a0,a0,at ++0+0038 <[^>]*> srl a0,a1,0x0 ++0+003c <[^>]*> negu at,a1 ++0+0040 <[^>]*> sllv at,a0,at ++0+0044 <[^>]*> srlv a0,a0,a1 ++0+0048 <[^>]*> or a0,a0,at ++0+004c <[^>]*> negu at,a2 ++0+0050 <[^>]*> sllv at,a1,at ++0+0054 <[^>]*> srlv a0,a1,a2 ++0+0058 <[^>]*> or a0,a0,at ++0+005c <[^>]*> srl at,a0,0x1 ++0+0060 <[^>]*> sll a0,a0,0x1f ++0+0064 <[^>]*> or a0,a0,at ++0+0068 <[^>]*> srl at,a1,0x1 ++0+006c <[^>]*> sll a0,a1,0x1f ++0+0070 <[^>]*> or a0,a0,at ++0+0074 <[^>]*> srl a0,a1,0x0 ++ ... +Index: binutils-2.20.1/gas/testsuite/gas/nios2/rol.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/rol.s +@@ -0,0 +1,15 @@ ++# Source file used to test the rol and ror macros. ++ ++foo: ++ rol $4,$5 ++ rol $4,$5,$6 ++ rol $4,1 ++ rol $4,$5,1 ++ rol $4,$5,0 ++ ++ ror $4,$5 ++ ror $4,$5,$6 ++ ror $4,1 ++ ror $4,$5,1 ++ ror $4,$5,0 ++ .space 8 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/rotate.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/rotate.d +@@ -0,0 +1,17 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 rotate ++ ++# Test the and macro. ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> rol r4,r4,r4 ++0+0004 <[^>]*> roli r4,r4,31 ++0+0008 <[^>]*> ror r4,r4,r4 ++0+000c <[^>]*> sll r4,r4,r4 ++0+0010 <[^>]*> slli r4,r4,24 ++0+0014 <[^>]*> sra r4,r4,r4 ++0+0018 <[^>]*> srai r4,r4,10 ++0+001c <[^>]*> srl r4,r4,r4 ++0+0020 <[^>]*> srli r4,r4,5 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/rotate.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/rotate.s +@@ -0,0 +1,13 @@ ++# test New Jersey rotate instructions ++ ++.text ++foo: ++ rol r4,r4,r4 ++ roli r4,r4,31 ++ ror r4,r4,r4 ++ sll r4,r4,r4 ++ slli r4,r4,24 ++ sra r4,r4,r4 ++ srai r4,r4,10 ++ srl r4,r4,r4 ++ srli r4,r4,5 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/s16_symbol.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/s16_symbol.s +@@ -0,0 +1,10 @@ ++.global some_sym ++.global some_other_sym ++.global min ++.global max ++ ++.set max, 0x7fff ++.set min, -0x8000 ++.set some_sym, 0x1000 ++ ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/stb.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/stb.d +@@ -0,0 +1,196 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 stb ++ ++# Test the ld instruction ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> stb r4,0\(zero\) ++0+0004 <[^>]*> stb r4,4\(zero\) ++0+0008 <[^>]*> stb r4,32764\(zero\) ++0+000c <[^>]*> stb r4,-32768\(zero\) ++0+0010 <[^>]*> stb r4,0\(r5\) ++0+0014 <[^>]*> stb r4,4\(r5\) ++0+0018 <[^>]*> stb r4,32764\(r5\) ++0+001c <[^>]*> stb r4,-32768\(r5\) ++0+0020 <[^>]*> stb r4,0\(zero\) ++[ ]*20: R_NIOS2_S16 .data ++0+0024 <[^>]*> stb r4,0\(zero\) ++[ ]*24: R_NIOS2_S16 big_external_data_label ++0+0028 <[^>]*> stb r4,0\(zero\) ++[ ]*28: R_NIOS2_S16 small_external_data_label ++0+002c <[^>]*> stb r4,0\(zero\) ++[ ]*2c: R_NIOS2_S16 big_external_common ++0+0030 <[^>]*> stb r4,0\(zero\) ++[ ]*30: R_NIOS2_S16 small_external_common ++0+0034 <[^>]*> stb r4,0\(zero\) ++[ ]*34: R_NIOS2_S16 .bss ++0+0038 <[^>]*> stb r4,0\(zero\) ++[ ]*38: R_NIOS2_S16 .bss\+0x4000 ++0+003c <[^>]*> stb r4,0\(zero\) ++[ ]*3c: R_NIOS2_S16 .data\+0x4 ++0+0040 <[^>]*> stb r4,0\(zero\) ++[ ]*40: R_NIOS2_S16 big_external_data_label\+0x4 ++0+0044 <[^>]*> stb r4,0\(zero\) ++[ ]*44: R_NIOS2_S16 small_external_data_label\+0x4 ++0+0048 <[^>]*> stb r4,0\(zero\) ++[ ]*48: R_NIOS2_S16 big_external_common\+0x4 ++0+004c <[^>]*> stb r4,0\(zero\) ++[ ]*4c: R_NIOS2_S16 small_external_common\+0x4 ++0+0050 <[^>]*> stb r4,0\(zero\) ++[ ]*50: R_NIOS2_S16 .bss\+0x4 ++0+0054 <[^>]*> stb r4,0\(zero\) ++[ ]*54: R_NIOS2_S16 .bss\+0x4004 ++0+0058 <[^>]*> stb r4,0\(zero\) ++[ ]*58: R_NIOS2_S16 .data\+0xffff8000 ++0+005c <[^>]*> stb r4,0\(zero\) ++[ ]*5c: R_NIOS2_S16 big_external_data_label\+0xffff8000 ++0+0060 <[^>]*> stb r4,0\(zero\) ++[ ]*60: R_NIOS2_S16 small_external_data_label\+0xffff8000 ++0+0064 <[^>]*> stb r4,0\(zero\) ++[ ]*64: R_NIOS2_S16 big_external_common\+0xffff8000 ++0+0068 <[^>]*> stb r4,0\(zero\) ++[ ]*68: R_NIOS2_S16 small_external_common\+0xffff8000 ++0+006c <[^>]*> stb r4,0\(zero\) ++[ ]*6c: R_NIOS2_S16 .bss\+0xffff8000 ++0+0070 <[^>]*> stb r4,0\(zero\) ++[ ]*70: R_NIOS2_S16 .bss\+0xffffc000 ++0+0074 <[^>]*> stb r4,0\(zero\) ++[ ]*74: R_NIOS2_S16 .data\+0x10000 ++0+0078 <[^>]*> stb r4,0\(r5\) ++[ ]*78: R_NIOS2_S16 .data ++0+007c <[^>]*> stb r4,0\(r5\) ++[ ]*7c: R_NIOS2_S16 big_external_data_label ++0+0080 <[^>]*> stb r4,0\(r5\) ++[ ]*80: R_NIOS2_S16 small_external_data_label ++0+0084 <[^>]*> stb r4,0\(r5\) ++[ ]*84: R_NIOS2_S16 big_external_common ++0+0088 <[^>]*> stb r4,0\(r5\) ++[ ]*88: R_NIOS2_S16 small_external_common ++0+008c <[^>]*> stb r4,0\(r5\) ++[ ]*8c: R_NIOS2_S16 .bss ++0+0090 <[^>]*> stb r4,0\(r5\) ++[ ]*90: R_NIOS2_S16 .bss\+0x4000 ++0+0094 <[^>]*> stb r4,0\(r5\) ++[ ]*94: R_NIOS2_S16 .data\+0x4 ++0+0098 <[^>]*> stb r4,0\(r5\) ++[ ]*98: R_NIOS2_S16 big_external_data_label\+0x4 ++0+009c <[^>]*> stb r4,0\(r5\) ++[ ]*9c: R_NIOS2_S16 small_external_data_label\+0x4 ++0+00a0 <[^>]*> stb r4,0\(r5\) ++[ ]*a0: R_NIOS2_S16 big_external_common\+0x4 ++0+00a4 <[^>]*> stb r4,0\(r5\) ++[ ]*a4: R_NIOS2_S16 small_external_common\+0x4 ++0+00a8 <[^>]*> stb r4,0\(r5\) ++[ ]*a8: R_NIOS2_S16 .bss\+0x4 ++0+00ac <[^>]*> stb r4,0\(r5\) ++[ ]*ac: R_NIOS2_S16 .bss\+0x4004 ++0+00b0 <[^>]*> stb r4,0\(r5\) ++[ ]*b0: R_NIOS2_S16 .data\+0xffff8000 ++0+00b4 <[^>]*> stb r4,0\(r5\) ++[ ]*b4: R_NIOS2_S16 big_external_data_label\+0xffff8000 ++0+00b8 <[^>]*> stb r4,0\(r5\) ++[ ]*b8: R_NIOS2_S16 small_external_data_label\+0xffff8000 ++0+00bc <[^>]*> stb r4,0\(r5\) ++[ ]*bc: R_NIOS2_S16 big_external_common\+0xffff8000 ++0+00c0 <[^>]*> stb r4,0\(r5\) ++[ ]*c0: R_NIOS2_S16 small_external_common\+0xffff8000 ++0+00c4 <[^>]*> stb r4,0\(r5\) ++[ ]*c4: R_NIOS2_S16 .bss\+0xffff8000 ++0+00c8 <[^>]*> stb r4,0\(r5\) ++[ ]*c8: R_NIOS2_S16 .bss\+0xffffc000 ++0+00cc <[^>]*> stbio r4,0\(zero\) ++0+00d0 <[^>]*> stbio r4,4\(zero\) ++0+00d4 <[^>]*> stbio r4,32764\(zero\) ++0+00d8 <[^>]*> stbio r4,-32768\(zero\) ++0+00dc <[^>]*> stbio r4,0\(r5\) ++0+00e0 <[^>]*> stbio r4,4\(r5\) ++0+00e4 <[^>]*> stbio r4,32764\(r5\) ++0+00e8 <[^>]*> stbio r4,-32768\(r5\) ++0+00ec <[^>]*> stbio r4,0\(zero\) ++[ ]*ec: R_NIOS2_S16 .data ++0+00f0 <[^>]*> stbio r4,0\(zero\) ++[ ]*f0: R_NIOS2_S16 big_external_data_label ++0+00f4 <[^>]*> stbio r4,0\(zero\) ++[ ]*f4: R_NIOS2_S16 small_external_data_label ++0+00f8 <[^>]*> stbio r4,0\(zero\) ++[ ]*f8: R_NIOS2_S16 big_external_common ++0+00fc <[^>]*> stbio r4,0\(zero\) ++[ ]*fc: R_NIOS2_S16 small_external_common ++0+0100 <[^>]*> stbio r4,0\(zero\) ++[ ]*100: R_NIOS2_S16 .bss ++0+0104 <[^>]*> stbio r4,0\(zero\) ++[ ]*104: R_NIOS2_S16 .bss\+0x4000 ++0+0108 <[^>]*> stbio r4,0\(zero\) ++[ ]*108: R_NIOS2_S16 .data\+0x4 ++0+010c <[^>]*> stbio r4,0\(zero\) ++[ ]*10c: R_NIOS2_S16 big_external_data_label\+0x4 ++0+0110 <[^>]*> stbio r4,0\(zero\) ++[ ]*110: R_NIOS2_S16 small_external_data_label\+0x4 ++0+0114 <[^>]*> stbio r4,0\(zero\) ++[ ]*114: R_NIOS2_S16 big_external_common\+0x4 ++0+0118 <[^>]*> stbio r4,0\(zero\) ++[ ]*118: R_NIOS2_S16 small_external_common\+0x4 ++0+011c <[^>]*> stbio r4,0\(zero\) ++[ ]*11c: R_NIOS2_S16 .bss\+0x4 ++0+0120 <[^>]*> stbio r4,0\(zero\) ++[ ]*120: R_NIOS2_S16 .bss\+0x4004 ++0+0124 <[^>]*> stbio r4,0\(zero\) ++[ ]*124: R_NIOS2_S16 .data\+0xffff8000 ++0+0128 <[^>]*> stbio r4,0\(zero\) ++[ ]*128: R_NIOS2_S16 big_external_data_label\+0xffff8000 ++0+012c <[^>]*> stbio r4,0\(zero\) ++[ ]*12c: R_NIOS2_S16 small_external_data_label\+0xffff8000 ++0+0130 <[^>]*> stbio r4,0\(zero\) ++[ ]*130: R_NIOS2_S16 big_external_common\+0xffff8000 ++0+0134 <[^>]*> stbio r4,0\(zero\) ++[ ]*134: R_NIOS2_S16 small_external_common\+0xffff8000 ++0+0138 <[^>]*> stbio r4,0\(zero\) ++[ ]*138: R_NIOS2_S16 .bss\+0xffff8000 ++0+013c <[^>]*> stbio r4,0\(zero\) ++[ ]*13c: R_NIOS2_S16 .bss\+0xffffc000 ++0+0140 <[^>]*> stbio r4,0\(zero\) ++[ ]*140: R_NIOS2_S16 .data\+0x10000 ++0+0144 <[^>]*> stbio r4,0\(r5\) ++[ ]*144: R_NIOS2_S16 .data ++0+0148 <[^>]*> stbio r4,0\(r5\) ++[ ]*148: R_NIOS2_S16 big_external_data_label ++0+014c <[^>]*> stbio r4,0\(r5\) ++[ ]*14c: R_NIOS2_S16 small_external_data_label ++0+0150 <[^>]*> stbio r4,0\(r5\) ++[ ]*150: R_NIOS2_S16 big_external_common ++0+0154 <[^>]*> stbio r4,0\(r5\) ++[ ]*154: R_NIOS2_S16 small_external_common ++0+0158 <[^>]*> stbio r4,0\(r5\) ++[ ]*158: R_NIOS2_S16 .bss ++0+015c <[^>]*> stbio r4,0\(r5\) ++[ ]*15c: R_NIOS2_S16 .bss\+0x4000 ++0+0160 <[^>]*> stbio r4,0\(r5\) ++[ ]*160: R_NIOS2_S16 .data\+0x4 ++0+0164 <[^>]*> stbio r4,0\(r5\) ++[ ]*164: R_NIOS2_S16 big_external_data_label\+0x4 ++0+0168 <[^>]*> stbio r4,0\(r5\) ++[ ]*168: R_NIOS2_S16 small_external_data_label\+0x4 ++0+016c <[^>]*> stbio r4,0\(r5\) ++[ ]*16c: R_NIOS2_S16 big_external_common\+0x4 ++0+0170 <[^>]*> stbio r4,0\(r5\) ++[ ]*170: R_NIOS2_S16 small_external_common\+0x4 ++0+0174 <[^>]*> stbio r4,0\(r5\) ++[ ]*174: R_NIOS2_S16 .bss\+0x4 ++0+0178 <[^>]*> stbio r4,0\(r5\) ++[ ]*178: R_NIOS2_S16 .bss\+0x4004 ++0+017c <[^>]*> stbio r4,0\(r5\) ++[ ]*17c: R_NIOS2_S16 .data\+0xffff8000 ++0+0180 <[^>]*> stbio r4,0\(r5\) ++[ ]*180: R_NIOS2_S16 big_external_data_label\+0xffff8000 ++0+0184 <[^>]*> stbio r4,0\(r5\) ++[ ]*184: R_NIOS2_S16 small_external_data_label\+0xffff8000 ++0+0188 <[^>]*> stbio r4,0\(r5\) ++[ ]*188: R_NIOS2_S16 big_external_common\+0xffff8000 ++0+018c <[^>]*> stbio r4,0\(r5\) ++[ ]*18c: R_NIOS2_S16 small_external_common\+0xffff8000 ++0+0190 <[^>]*> stbio r4,0\(r5\) ++[ ]*190: R_NIOS2_S16 .bss\+0xffff8000 ++0+0194 <[^>]*> stbio r4,0\(r5\) ++[ ]*194: R_NIOS2_S16 .bss\+0xffffc000 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/stb.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/stb.s +@@ -0,0 +1,117 @@ ++ .data ++data_label: ++ .extern big_external_data_label,0x4000 ++ .extern small_external_data_label,4 ++ .comm big_external_common,0x4000 ++ .comm small_external_common,4 ++ .lcomm big_local_common,0x4000 ++ .lcomm small_local_common,4 ++ ++# the small symbols should have space allocated in the sbss section ++# but this is not yet supported in the assembler, so space is allocated ++# in the .bss section and the relocations are not gp-relative. this will ++# be updated when gp-relative relocations are added ++ .text ++ stb r4,0(r0) ++ stb r4,4(r0) ++ stb r4,0x7ffc(r0) ++ stb r4,-0x8000(r0) ++ stb r4,0(r5) ++ stb r4,4(r5) ++ stb r4,0x7ffc(r5) ++ stb r4,-0x8000(r5) ++ stb r4,data_label(r0) ++ stb r4,big_external_data_label(r0) ++ stb r4,small_external_data_label(r0) ++ stb r4,big_external_common(r0) ++ stb r4,small_external_common(r0) ++ stb r4,big_local_common(r0) ++ stb r4,small_local_common(r0) ++ stb r4,data_label+4(r0) ++ stb r4,big_external_data_label+4(r0) ++ stb r4,small_external_data_label+4(r0) ++ stb r4,big_external_common+4(r0) ++ stb r4,small_external_common+4(r0) ++ stb r4,big_local_common+4(r0) ++ stb r4,small_local_common+4(r0) ++ stb r4,data_label-0x8000(r0) ++ stb r4,big_external_data_label-0x8000(r0) ++ stb r4,small_external_data_label-0x8000(r0) ++ stb r4,big_external_common-0x8000(r0) ++ stb r4,small_external_common-0x8000(r0) ++ stb r4,big_local_common-0x8000(r0) ++ stb r4,small_local_common-0x8000(r0) ++ stb r4,data_label+0x10000(r0) ++ stb r4,data_label(r5) ++ stb r4,big_external_data_label(r5) ++ stb r4,small_external_data_label(r5) ++ stb r4,big_external_common(r5) ++ stb r4,small_external_common(r5) ++ stb r4,big_local_common(r5) ++ stb r4,small_local_common(r5) ++ stb r4,data_label+4(r5) ++ stb r4,big_external_data_label+4(r5) ++ stb r4,small_external_data_label+4(r5) ++ stb r4,big_external_common+4(r5) ++ stb r4,small_external_common+4(r5) ++ stb r4,big_local_common+4(r5) ++ stb r4,small_local_common+4(r5) ++ stb r4,data_label-0x8000(r5) ++ stb r4,big_external_data_label-0x8000(r5) ++ stb r4,small_external_data_label-0x8000(r5) ++ stb r4,big_external_common-0x8000(r5) ++ stb r4,small_external_common-0x8000(r5) ++ stb r4,big_local_common-0x8000(r5) ++ stb r4,small_local_common-0x8000(r5) ++ ++ stbio r4,0(r0) ++ stbio r4,4(r0) ++ stbio r4,0x7ffc(r0) ++ stbio r4,-0x8000(r0) ++ stbio r4,0(r5) ++ stbio r4,4(r5) ++ stbio r4,0x7ffc(r5) ++ stbio r4,-0x8000(r5) ++ stbio r4,data_label(r0) ++ stbio r4,big_external_data_label(r0) ++ stbio r4,small_external_data_label(r0) ++ stbio r4,big_external_common(r0) ++ stbio r4,small_external_common(r0) ++ stbio r4,big_local_common(r0) ++ stbio r4,small_local_common(r0) ++ stbio r4,data_label+4(r0) ++ stbio r4,big_external_data_label+4(r0) ++ stbio r4,small_external_data_label+4(r0) ++ stbio r4,big_external_common+4(r0) ++ stbio r4,small_external_common+4(r0) ++ stbio r4,big_local_common+4(r0) ++ stbio r4,small_local_common+4(r0) ++ stbio r4,data_label-0x8000(r0) ++ stbio r4,big_external_data_label-0x8000(r0) ++ stbio r4,small_external_data_label-0x8000(r0) ++ stbio r4,big_external_common-0x8000(r0) ++ stbio r4,small_external_common-0x8000(r0) ++ stbio r4,big_local_common-0x8000(r0) ++ stbio r4,small_local_common-0x8000(r0) ++ stbio r4,data_label+0x10000(r0) ++ stbio r4,data_label(r5) ++ stbio r4,big_external_data_label(r5) ++ stbio r4,small_external_data_label(r5) ++ stbio r4,big_external_common(r5) ++ stbio r4,small_external_common(r5) ++ stbio r4,big_local_common(r5) ++ stbio r4,small_local_common(r5) ++ stbio r4,data_label+4(r5) ++ stbio r4,big_external_data_label+4(r5) ++ stbio r4,small_external_data_label+4(r5) ++ stbio r4,big_external_common+4(r5) ++ stbio r4,small_external_common+4(r5) ++ stbio r4,big_local_common+4(r5) ++ stbio r4,small_local_common+4(r5) ++ stbio r4,data_label-0x8000(r5) ++ stbio r4,big_external_data_label-0x8000(r5) ++ stbio r4,small_external_data_label-0x8000(r5) ++ stbio r4,big_external_common-0x8000(r5) ++ stbio r4,small_external_common-0x8000(r5) ++ stbio r4,big_local_common-0x8000(r5) ++ stbio r4,small_local_common-0x8000(r5) +Index: binutils-2.20.1/gas/testsuite/gas/nios2/sth.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/sth.d +@@ -0,0 +1,196 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 sth ++ ++# Test the ld instruction ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> sth r4,0\(zero\) ++0+0004 <[^>]*> sth r4,4\(zero\) ++0+0008 <[^>]*> sth r4,32764\(zero\) ++0+000c <[^>]*> sth r4,-32768\(zero\) ++0+0010 <[^>]*> sth r4,0\(r5\) ++0+0014 <[^>]*> sth r4,4\(r5\) ++0+0018 <[^>]*> sth r4,32764\(r5\) ++0+001c <[^>]*> sth r4,-32768\(r5\) ++0+0020 <[^>]*> sth r4,0\(zero\) ++[ ]*20: R_NIOS2_S16 .data ++0+0024 <[^>]*> sth r4,0\(zero\) ++[ ]*24: R_NIOS2_S16 big_external_data_label ++0+0028 <[^>]*> sth r4,0\(zero\) ++[ ]*28: R_NIOS2_S16 small_external_data_label ++0+002c <[^>]*> sth r4,0\(zero\) ++[ ]*2c: R_NIOS2_S16 big_external_common ++0+0030 <[^>]*> sth r4,0\(zero\) ++[ ]*30: R_NIOS2_S16 small_external_common ++0+0034 <[^>]*> sth r4,0\(zero\) ++[ ]*34: R_NIOS2_S16 .bss ++0+0038 <[^>]*> sth r4,0\(zero\) ++[ ]*38: R_NIOS2_S16 .bss\+0x4000 ++0+003c <[^>]*> sth r4,0\(zero\) ++[ ]*3c: R_NIOS2_S16 .data\+0x4 ++0+0040 <[^>]*> sth r4,0\(zero\) ++[ ]*40: R_NIOS2_S16 big_external_data_label\+0x4 ++0+0044 <[^>]*> sth r4,0\(zero\) ++[ ]*44: R_NIOS2_S16 small_external_data_label\+0x4 ++0+0048 <[^>]*> sth r4,0\(zero\) ++[ ]*48: R_NIOS2_S16 big_external_common\+0x4 ++0+004c <[^>]*> sth r4,0\(zero\) ++[ ]*4c: R_NIOS2_S16 small_external_common\+0x4 ++0+0050 <[^>]*> sth r4,0\(zero\) ++[ ]*50: R_NIOS2_S16 .bss\+0x4 ++0+0054 <[^>]*> sth r4,0\(zero\) ++[ ]*54: R_NIOS2_S16 .bss\+0x4004 ++0+0058 <[^>]*> sth r4,0\(zero\) ++[ ]*58: R_NIOS2_S16 .data\+0xffff8000 ++0+005c <[^>]*> sth r4,0\(zero\) ++[ ]*5c: R_NIOS2_S16 big_external_data_label\+0xffff8000 ++0+0060 <[^>]*> sth r4,0\(zero\) ++[ ]*60: R_NIOS2_S16 small_external_data_label\+0xffff8000 ++0+0064 <[^>]*> sth r4,0\(zero\) ++[ ]*64: R_NIOS2_S16 big_external_common\+0xffff8000 ++0+0068 <[^>]*> sth r4,0\(zero\) ++[ ]*68: R_NIOS2_S16 small_external_common\+0xffff8000 ++0+006c <[^>]*> sth r4,0\(zero\) ++[ ]*6c: R_NIOS2_S16 .bss\+0xffff8000 ++0+0070 <[^>]*> sth r4,0\(zero\) ++[ ]*70: R_NIOS2_S16 .bss\+0xffffc000 ++0+0074 <[^>]*> sth r4,0\(zero\) ++[ ]*74: R_NIOS2_S16 .data\+0x10000 ++0+0078 <[^>]*> sth r4,0\(r5\) ++[ ]*78: R_NIOS2_S16 .data ++0+007c <[^>]*> sth r4,0\(r5\) ++[ ]*7c: R_NIOS2_S16 big_external_data_label ++0+0080 <[^>]*> sth r4,0\(r5\) ++[ ]*80: R_NIOS2_S16 small_external_data_label ++0+0084 <[^>]*> sth r4,0\(r5\) ++[ ]*84: R_NIOS2_S16 big_external_common ++0+0088 <[^>]*> sth r4,0\(r5\) ++[ ]*88: R_NIOS2_S16 small_external_common ++0+008c <[^>]*> sth r4,0\(r5\) ++[ ]*8c: R_NIOS2_S16 .bss ++0+0090 <[^>]*> sth r4,0\(r5\) ++[ ]*90: R_NIOS2_S16 .bss\+0x4000 ++0+0094 <[^>]*> sth r4,0\(r5\) ++[ ]*94: R_NIOS2_S16 .data\+0x4 ++0+0098 <[^>]*> sth r4,0\(r5\) ++[ ]*98: R_NIOS2_S16 big_external_data_label\+0x4 ++0+009c <[^>]*> sth r4,0\(r5\) ++[ ]*9c: R_NIOS2_S16 small_external_data_label\+0x4 ++0+00a0 <[^>]*> sth r4,0\(r5\) ++[ ]*a0: R_NIOS2_S16 big_external_common\+0x4 ++0+00a4 <[^>]*> sth r4,0\(r5\) ++[ ]*a4: R_NIOS2_S16 small_external_common\+0x4 ++0+00a8 <[^>]*> sth r4,0\(r5\) ++[ ]*a8: R_NIOS2_S16 .bss\+0x4 ++0+00ac <[^>]*> sth r4,0\(r5\) ++[ ]*ac: R_NIOS2_S16 .bss\+0x4004 ++0+00b0 <[^>]*> sth r4,0\(r5\) ++[ ]*b0: R_NIOS2_S16 .data\+0xffff8000 ++0+00b4 <[^>]*> sth r4,0\(r5\) ++[ ]*b4: R_NIOS2_S16 big_external_data_label\+0xffff8000 ++0+00b8 <[^>]*> sth r4,0\(r5\) ++[ ]*b8: R_NIOS2_S16 small_external_data_label\+0xffff8000 ++0+00bc <[^>]*> sth r4,0\(r5\) ++[ ]*bc: R_NIOS2_S16 big_external_common\+0xffff8000 ++0+00c0 <[^>]*> sth r4,0\(r5\) ++[ ]*c0: R_NIOS2_S16 small_external_common\+0xffff8000 ++0+00c4 <[^>]*> sth r4,0\(r5\) ++[ ]*c4: R_NIOS2_S16 .bss\+0xffff8000 ++0+00c8 <[^>]*> sth r4,0\(r5\) ++[ ]*c8: R_NIOS2_S16 .bss\+0xffffc000 ++0+00cc <[^>]*> sthio r4,0\(zero\) ++0+00d0 <[^>]*> sthio r4,4\(zero\) ++0+00d4 <[^>]*> sthio r4,32764\(zero\) ++0+00d8 <[^>]*> sthio r4,-32768\(zero\) ++0+00dc <[^>]*> sthio r4,0\(r5\) ++0+00e0 <[^>]*> sthio r4,4\(r5\) ++0+00e4 <[^>]*> sthio r4,32764\(r5\) ++0+00e8 <[^>]*> sthio r4,-32768\(r5\) ++0+00ec <[^>]*> sthio r4,0\(zero\) ++[ ]*ec: R_NIOS2_S16 .data ++0+00f0 <[^>]*> sthio r4,0\(zero\) ++[ ]*f0: R_NIOS2_S16 big_external_data_label ++0+00f4 <[^>]*> sthio r4,0\(zero\) ++[ ]*f4: R_NIOS2_S16 small_external_data_label ++0+00f8 <[^>]*> sthio r4,0\(zero\) ++[ ]*f8: R_NIOS2_S16 big_external_common ++0+00fc <[^>]*> sthio r4,0\(zero\) ++[ ]*fc: R_NIOS2_S16 small_external_common ++0+0100 <[^>]*> sthio r4,0\(zero\) ++[ ]*100: R_NIOS2_S16 .bss ++0+0104 <[^>]*> sthio r4,0\(zero\) ++[ ]*104: R_NIOS2_S16 .bss\+0x4000 ++0+0108 <[^>]*> sthio r4,0\(zero\) ++[ ]*108: R_NIOS2_S16 .data\+0x4 ++0+010c <[^>]*> sthio r4,0\(zero\) ++[ ]*10c: R_NIOS2_S16 big_external_data_label\+0x4 ++0+0110 <[^>]*> sthio r4,0\(zero\) ++[ ]*110: R_NIOS2_S16 small_external_data_label\+0x4 ++0+0114 <[^>]*> sthio r4,0\(zero\) ++[ ]*114: R_NIOS2_S16 big_external_common\+0x4 ++0+0118 <[^>]*> sthio r4,0\(zero\) ++[ ]*118: R_NIOS2_S16 small_external_common\+0x4 ++0+011c <[^>]*> sthio r4,0\(zero\) ++[ ]*11c: R_NIOS2_S16 .bss\+0x4 ++0+0120 <[^>]*> sthio r4,0\(zero\) ++[ ]*120: R_NIOS2_S16 .bss\+0x4004 ++0+0124 <[^>]*> sthio r4,0\(zero\) ++[ ]*124: R_NIOS2_S16 .data\+0xffff8000 ++0+0128 <[^>]*> sthio r4,0\(zero\) ++[ ]*128: R_NIOS2_S16 big_external_data_label\+0xffff8000 ++0+012c <[^>]*> sthio r4,0\(zero\) ++[ ]*12c: R_NIOS2_S16 small_external_data_label\+0xffff8000 ++0+0130 <[^>]*> sthio r4,0\(zero\) ++[ ]*130: R_NIOS2_S16 big_external_common\+0xffff8000 ++0+0134 <[^>]*> sthio r4,0\(zero\) ++[ ]*134: R_NIOS2_S16 small_external_common\+0xffff8000 ++0+0138 <[^>]*> sthio r4,0\(zero\) ++[ ]*138: R_NIOS2_S16 .bss\+0xffff8000 ++0+013c <[^>]*> sthio r4,0\(zero\) ++[ ]*13c: R_NIOS2_S16 .bss\+0xffffc000 ++0+0140 <[^>]*> sthio r4,0\(zero\) ++[ ]*140: R_NIOS2_S16 .data\+0x10000 ++0+0144 <[^>]*> sthio r4,0\(r5\) ++[ ]*144: R_NIOS2_S16 .data ++0+0148 <[^>]*> sthio r4,0\(r5\) ++[ ]*148: R_NIOS2_S16 big_external_data_label ++0+014c <[^>]*> sthio r4,0\(r5\) ++[ ]*14c: R_NIOS2_S16 small_external_data_label ++0+0150 <[^>]*> sthio r4,0\(r5\) ++[ ]*150: R_NIOS2_S16 big_external_common ++0+0154 <[^>]*> sthio r4,0\(r5\) ++[ ]*154: R_NIOS2_S16 small_external_common ++0+0158 <[^>]*> sthio r4,0\(r5\) ++[ ]*158: R_NIOS2_S16 .bss ++0+015c <[^>]*> sthio r4,0\(r5\) ++[ ]*15c: R_NIOS2_S16 .bss\+0x4000 ++0+0160 <[^>]*> sthio r4,0\(r5\) ++[ ]*160: R_NIOS2_S16 .data\+0x4 ++0+0164 <[^>]*> sthio r4,0\(r5\) ++[ ]*164: R_NIOS2_S16 big_external_data_label\+0x4 ++0+0168 <[^>]*> sthio r4,0\(r5\) ++[ ]*168: R_NIOS2_S16 small_external_data_label\+0x4 ++0+016c <[^>]*> sthio r4,0\(r5\) ++[ ]*16c: R_NIOS2_S16 big_external_common\+0x4 ++0+0170 <[^>]*> sthio r4,0\(r5\) ++[ ]*170: R_NIOS2_S16 small_external_common\+0x4 ++0+0174 <[^>]*> sthio r4,0\(r5\) ++[ ]*174: R_NIOS2_S16 .bss\+0x4 ++0+0178 <[^>]*> sthio r4,0\(r5\) ++[ ]*178: R_NIOS2_S16 .bss\+0x4004 ++0+017c <[^>]*> sthio r4,0\(r5\) ++[ ]*17c: R_NIOS2_S16 .data\+0xffff8000 ++0+0180 <[^>]*> sthio r4,0\(r5\) ++[ ]*180: R_NIOS2_S16 big_external_data_label\+0xffff8000 ++0+0184 <[^>]*> sthio r4,0\(r5\) ++[ ]*184: R_NIOS2_S16 small_external_data_label\+0xffff8000 ++0+0188 <[^>]*> sthio r4,0\(r5\) ++[ ]*188: R_NIOS2_S16 big_external_common\+0xffff8000 ++0+018c <[^>]*> sthio r4,0\(r5\) ++[ ]*18c: R_NIOS2_S16 small_external_common\+0xffff8000 ++0+0190 <[^>]*> sthio r4,0\(r5\) ++[ ]*190: R_NIOS2_S16 .bss\+0xffff8000 ++0+0194 <[^>]*> sthio r4,0\(r5\) ++[ ]*194: R_NIOS2_S16 .bss\+0xffffc000 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/sth.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/sth.s +@@ -0,0 +1,117 @@ ++ .data ++data_label: ++ .extern big_external_data_label,0x4000 ++ .extern small_external_data_label,4 ++ .comm big_external_common,0x4000 ++ .comm small_external_common,4 ++ .lcomm big_local_common,0x4000 ++ .lcomm small_local_common,4 ++ ++# the small symbols should have space allocated in the sbss section ++# but this is not yet supported in the assembler, so space is allocated ++# in the .bss section and the relocations are not gp-relative. this will ++# be updated when gp-relative relocations are added ++ .text ++ sth r4,0(r0) ++ sth r4,4(r0) ++ sth r4,0x7ffc(r0) ++ sth r4,-0x8000(r0) ++ sth r4,0(r5) ++ sth r4,4(r5) ++ sth r4,0x7ffc(r5) ++ sth r4,-0x8000(r5) ++ sth r4,data_label(r0) ++ sth r4,big_external_data_label(r0) ++ sth r4,small_external_data_label(r0) ++ sth r4,big_external_common(r0) ++ sth r4,small_external_common(r0) ++ sth r4,big_local_common(r0) ++ sth r4,small_local_common(r0) ++ sth r4,data_label+4(r0) ++ sth r4,big_external_data_label+4(r0) ++ sth r4,small_external_data_label+4(r0) ++ sth r4,big_external_common+4(r0) ++ sth r4,small_external_common+4(r0) ++ sth r4,big_local_common+4(r0) ++ sth r4,small_local_common+4(r0) ++ sth r4,data_label-0x8000(r0) ++ sth r4,big_external_data_label-0x8000(r0) ++ sth r4,small_external_data_label-0x8000(r0) ++ sth r4,big_external_common-0x8000(r0) ++ sth r4,small_external_common-0x8000(r0) ++ sth r4,big_local_common-0x8000(r0) ++ sth r4,small_local_common-0x8000(r0) ++ sth r4,data_label+0x10000(r0) ++ sth r4,data_label(r5) ++ sth r4,big_external_data_label(r5) ++ sth r4,small_external_data_label(r5) ++ sth r4,big_external_common(r5) ++ sth r4,small_external_common(r5) ++ sth r4,big_local_common(r5) ++ sth r4,small_local_common(r5) ++ sth r4,data_label+4(r5) ++ sth r4,big_external_data_label+4(r5) ++ sth r4,small_external_data_label+4(r5) ++ sth r4,big_external_common+4(r5) ++ sth r4,small_external_common+4(r5) ++ sth r4,big_local_common+4(r5) ++ sth r4,small_local_common+4(r5) ++ sth r4,data_label-0x8000(r5) ++ sth r4,big_external_data_label-0x8000(r5) ++ sth r4,small_external_data_label-0x8000(r5) ++ sth r4,big_external_common-0x8000(r5) ++ sth r4,small_external_common-0x8000(r5) ++ sth r4,big_local_common-0x8000(r5) ++ sth r4,small_local_common-0x8000(r5) ++ ++ sthio r4,0(r0) ++ sthio r4,4(r0) ++ sthio r4,0x7ffc(r0) ++ sthio r4,-0x8000(r0) ++ sthio r4,0(r5) ++ sthio r4,4(r5) ++ sthio r4,0x7ffc(r5) ++ sthio r4,-0x8000(r5) ++ sthio r4,data_label(r0) ++ sthio r4,big_external_data_label(r0) ++ sthio r4,small_external_data_label(r0) ++ sthio r4,big_external_common(r0) ++ sthio r4,small_external_common(r0) ++ sthio r4,big_local_common(r0) ++ sthio r4,small_local_common(r0) ++ sthio r4,data_label+4(r0) ++ sthio r4,big_external_data_label+4(r0) ++ sthio r4,small_external_data_label+4(r0) ++ sthio r4,big_external_common+4(r0) ++ sthio r4,small_external_common+4(r0) ++ sthio r4,big_local_common+4(r0) ++ sthio r4,small_local_common+4(r0) ++ sthio r4,data_label-0x8000(r0) ++ sthio r4,big_external_data_label-0x8000(r0) ++ sthio r4,small_external_data_label-0x8000(r0) ++ sthio r4,big_external_common-0x8000(r0) ++ sthio r4,small_external_common-0x8000(r0) ++ sthio r4,big_local_common-0x8000(r0) ++ sthio r4,small_local_common-0x8000(r0) ++ sthio r4,data_label+0x10000(r0) ++ sthio r4,data_label(r5) ++ sthio r4,big_external_data_label(r5) ++ sthio r4,small_external_data_label(r5) ++ sthio r4,big_external_common(r5) ++ sthio r4,small_external_common(r5) ++ sthio r4,big_local_common(r5) ++ sthio r4,small_local_common(r5) ++ sthio r4,data_label+4(r5) ++ sthio r4,big_external_data_label+4(r5) ++ sthio r4,small_external_data_label+4(r5) ++ sthio r4,big_external_common+4(r5) ++ sthio r4,small_external_common+4(r5) ++ sthio r4,big_local_common+4(r5) ++ sthio r4,small_local_common+4(r5) ++ sthio r4,data_label-0x8000(r5) ++ sthio r4,big_external_data_label-0x8000(r5) ++ sthio r4,small_external_data_label-0x8000(r5) ++ sthio r4,big_external_common-0x8000(r5) ++ sthio r4,small_external_common-0x8000(r5) ++ sthio r4,big_local_common-0x8000(r5) ++ sthio r4,small_local_common-0x8000(r5) +Index: binutils-2.20.1/gas/testsuite/gas/nios2/str2.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/str2.s +@@ -0,0 +1,21 @@ ++ .section .rodata.str1.1,"aMS",@progbits,1 ++.LC0: ++ .string "DHRYSTONE PROGRAM, 3'RD STRING" ++.LC1: ++ .string "COMMON" ++.LC2: ++ .string "DHRYSTONE PROGRAM, 4'TH STRING" ++ ++ .section .text ++ .align 3 ++ .global func2 ++ .type func2, @function ++func2: ++ #movhi r2, %hiadj(.LC0) ++ addi r2, r2, .LC0 ++ #movhi r3, %hiadj(.LC1) ++ addi r3, r3, .LC1 ++ #movhi r4, %hiadj(.LC2) ++ addi r4, r4, .LC2 ++ .size func2, .-func2 ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/stw.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/stw.d +@@ -0,0 +1,196 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 stw ++ ++# Test the ld instruction ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> stw r4,0\(zero\) ++0+0004 <[^>]*> stw r4,4\(zero\) ++0+0008 <[^>]*> stw r4,32764\(zero\) ++0+000c <[^>]*> stw r4,-32768\(zero\) ++0+0010 <[^>]*> stw r4,0\(r5\) ++0+0014 <[^>]*> stw r4,4\(r5\) ++0+0018 <[^>]*> stw r4,32764\(r5\) ++0+001c <[^>]*> stw r4,-32768\(r5\) ++0+0020 <[^>]*> stw r4,0\(zero\) ++[ ]*20: R_NIOS2_S16 .data ++0+0024 <[^>]*> stw r4,0\(zero\) ++[ ]*24: R_NIOS2_S16 big_external_data_label ++0+0028 <[^>]*> stw r4,0\(zero\) ++[ ]*28: R_NIOS2_S16 small_external_data_label ++0+002c <[^>]*> stw r4,0\(zero\) ++[ ]*2c: R_NIOS2_S16 big_external_common ++0+0030 <[^>]*> stw r4,0\(zero\) ++[ ]*30: R_NIOS2_S16 small_external_common ++0+0034 <[^>]*> stw r4,0\(zero\) ++[ ]*34: R_NIOS2_S16 .bss ++0+0038 <[^>]*> stw r4,0\(zero\) ++[ ]*38: R_NIOS2_S16 .bss\+0x4000 ++0+003c <[^>]*> stw r4,0\(zero\) ++[ ]*3c: R_NIOS2_S16 .data\+0x4 ++0+0040 <[^>]*> stw r4,0\(zero\) ++[ ]*40: R_NIOS2_S16 big_external_data_label\+0x4 ++0+0044 <[^>]*> stw r4,0\(zero\) ++[ ]*44: R_NIOS2_S16 small_external_data_label\+0x4 ++0+0048 <[^>]*> stw r4,0\(zero\) ++[ ]*48: R_NIOS2_S16 big_external_common\+0x4 ++0+004c <[^>]*> stw r4,0\(zero\) ++[ ]*4c: R_NIOS2_S16 small_external_common\+0x4 ++0+0050 <[^>]*> stw r4,0\(zero\) ++[ ]*50: R_NIOS2_S16 .bss\+0x4 ++0+0054 <[^>]*> stw r4,0\(zero\) ++[ ]*54: R_NIOS2_S16 .bss\+0x4004 ++0+0058 <[^>]*> stw r4,0\(zero\) ++[ ]*58: R_NIOS2_S16 .data\+0xffff8000 ++0+005c <[^>]*> stw r4,0\(zero\) ++[ ]*5c: R_NIOS2_S16 big_external_data_label\+0xffff8000 ++0+0060 <[^>]*> stw r4,0\(zero\) ++[ ]*60: R_NIOS2_S16 small_external_data_label\+0xffff8000 ++0+0064 <[^>]*> stw r4,0\(zero\) ++[ ]*64: R_NIOS2_S16 big_external_common\+0xffff8000 ++0+0068 <[^>]*> stw r4,0\(zero\) ++[ ]*68: R_NIOS2_S16 small_external_common\+0xffff8000 ++0+006c <[^>]*> stw r4,0\(zero\) ++[ ]*6c: R_NIOS2_S16 .bss\+0xffff8000 ++0+0070 <[^>]*> stw r4,0\(zero\) ++[ ]*70: R_NIOS2_S16 .bss\+0xffffc000 ++0+0074 <[^>]*> stw r4,0\(zero\) ++[ ]*74: R_NIOS2_S16 .data\+0x10000 ++0+0078 <[^>]*> stw r4,0\(r5\) ++[ ]*78: R_NIOS2_S16 .data ++0+007c <[^>]*> stw r4,0\(r5\) ++[ ]*7c: R_NIOS2_S16 big_external_data_label ++0+0080 <[^>]*> stw r4,0\(r5\) ++[ ]*80: R_NIOS2_S16 small_external_data_label ++0+0084 <[^>]*> stw r4,0\(r5\) ++[ ]*84: R_NIOS2_S16 big_external_common ++0+0088 <[^>]*> stw r4,0\(r5\) ++[ ]*88: R_NIOS2_S16 small_external_common ++0+008c <[^>]*> stw r4,0\(r5\) ++[ ]*8c: R_NIOS2_S16 .bss ++0+0090 <[^>]*> stw r4,0\(r5\) ++[ ]*90: R_NIOS2_S16 .bss\+0x4000 ++0+0094 <[^>]*> stw r4,0\(r5\) ++[ ]*94: R_NIOS2_S16 .data\+0x4 ++0+0098 <[^>]*> stw r4,0\(r5\) ++[ ]*98: R_NIOS2_S16 big_external_data_label\+0x4 ++0+009c <[^>]*> stw r4,0\(r5\) ++[ ]*9c: R_NIOS2_S16 small_external_data_label\+0x4 ++0+00a0 <[^>]*> stw r4,0\(r5\) ++[ ]*a0: R_NIOS2_S16 big_external_common\+0x4 ++0+00a4 <[^>]*> stw r4,0\(r5\) ++[ ]*a4: R_NIOS2_S16 small_external_common\+0x4 ++0+00a8 <[^>]*> stw r4,0\(r5\) ++[ ]*a8: R_NIOS2_S16 .bss\+0x4 ++0+00ac <[^>]*> stw r4,0\(r5\) ++[ ]*ac: R_NIOS2_S16 .bss\+0x4004 ++0+00b0 <[^>]*> stw r4,0\(r5\) ++[ ]*b0: R_NIOS2_S16 .data\+0xffff8000 ++0+00b4 <[^>]*> stw r4,0\(r5\) ++[ ]*b4: R_NIOS2_S16 big_external_data_label\+0xffff8000 ++0+00b8 <[^>]*> stw r4,0\(r5\) ++[ ]*b8: R_NIOS2_S16 small_external_data_label\+0xffff8000 ++0+00bc <[^>]*> stw r4,0\(r5\) ++[ ]*bc: R_NIOS2_S16 big_external_common\+0xffff8000 ++0+00c0 <[^>]*> stw r4,0\(r5\) ++[ ]*c0: R_NIOS2_S16 small_external_common\+0xffff8000 ++0+00c4 <[^>]*> stw r4,0\(r5\) ++[ ]*c4: R_NIOS2_S16 .bss\+0xffff8000 ++0+00c8 <[^>]*> stw r4,0\(r5\) ++[ ]*c8: R_NIOS2_S16 .bss\+0xffffc000 ++0+00cc <[^>]*> stwio r4,0\(zero\) ++0+00d0 <[^>]*> stwio r4,4\(zero\) ++0+00d4 <[^>]*> stwio r4,32764\(zero\) ++0+00d8 <[^>]*> stwio r4,-32768\(zero\) ++0+00dc <[^>]*> stwio r4,0\(r5\) ++0+00e0 <[^>]*> stwio r4,4\(r5\) ++0+00e4 <[^>]*> stwio r4,32764\(r5\) ++0+00e8 <[^>]*> stwio r4,-32768\(r5\) ++0+00ec <[^>]*> stwio r4,0\(zero\) ++[ ]*ec: R_NIOS2_S16 .data ++0+00f0 <[^>]*> stwio r4,0\(zero\) ++[ ]*f0: R_NIOS2_S16 big_external_data_label ++0+00f4 <[^>]*> stwio r4,0\(zero\) ++[ ]*f4: R_NIOS2_S16 small_external_data_label ++0+00f8 <[^>]*> stwio r4,0\(zero\) ++[ ]*f8: R_NIOS2_S16 big_external_common ++0+00fc <[^>]*> stwio r4,0\(zero\) ++[ ]*fc: R_NIOS2_S16 small_external_common ++0+0100 <[^>]*> stwio r4,0\(zero\) ++[ ]*100: R_NIOS2_S16 .bss ++0+0104 <[^>]*> stwio r4,0\(zero\) ++[ ]*104: R_NIOS2_S16 .bss\+0x4000 ++0+0108 <[^>]*> stwio r4,0\(zero\) ++[ ]*108: R_NIOS2_S16 .data\+0x4 ++0+010c <[^>]*> stwio r4,0\(zero\) ++[ ]*10c: R_NIOS2_S16 big_external_data_label\+0x4 ++0+0110 <[^>]*> stwio r4,0\(zero\) ++[ ]*110: R_NIOS2_S16 small_external_data_label\+0x4 ++0+0114 <[^>]*> stwio r4,0\(zero\) ++[ ]*114: R_NIOS2_S16 big_external_common\+0x4 ++0+0118 <[^>]*> stwio r4,0\(zero\) ++[ ]*118: R_NIOS2_S16 small_external_common\+0x4 ++0+011c <[^>]*> stwio r4,0\(zero\) ++[ ]*11c: R_NIOS2_S16 .bss\+0x4 ++0+0120 <[^>]*> stwio r4,0\(zero\) ++[ ]*120: R_NIOS2_S16 .bss\+0x4004 ++0+0124 <[^>]*> stwio r4,0\(zero\) ++[ ]*124: R_NIOS2_S16 .data\+0xffff8000 ++0+0128 <[^>]*> stwio r4,0\(zero\) ++[ ]*128: R_NIOS2_S16 big_external_data_label\+0xffff8000 ++0+012c <[^>]*> stwio r4,0\(zero\) ++[ ]*12c: R_NIOS2_S16 small_external_data_label\+0xffff8000 ++0+0130 <[^>]*> stwio r4,0\(zero\) ++[ ]*130: R_NIOS2_S16 big_external_common\+0xffff8000 ++0+0134 <[^>]*> stwio r4,0\(zero\) ++[ ]*134: R_NIOS2_S16 small_external_common\+0xffff8000 ++0+0138 <[^>]*> stwio r4,0\(zero\) ++[ ]*138: R_NIOS2_S16 .bss\+0xffff8000 ++0+013c <[^>]*> stwio r4,0\(zero\) ++[ ]*13c: R_NIOS2_S16 .bss\+0xffffc000 ++0+0140 <[^>]*> stwio r4,0\(zero\) ++[ ]*140: R_NIOS2_S16 .data\+0x10000 ++0+0144 <[^>]*> stwio r4,0\(r5\) ++[ ]*144: R_NIOS2_S16 .data ++0+0148 <[^>]*> stwio r4,0\(r5\) ++[ ]*148: R_NIOS2_S16 big_external_data_label ++0+014c <[^>]*> stwio r4,0\(r5\) ++[ ]*14c: R_NIOS2_S16 small_external_data_label ++0+0150 <[^>]*> stwio r4,0\(r5\) ++[ ]*150: R_NIOS2_S16 big_external_common ++0+0154 <[^>]*> stwio r4,0\(r5\) ++[ ]*154: R_NIOS2_S16 small_external_common ++0+0158 <[^>]*> stwio r4,0\(r5\) ++[ ]*158: R_NIOS2_S16 .bss ++0+015c <[^>]*> stwio r4,0\(r5\) ++[ ]*15c: R_NIOS2_S16 .bss\+0x4000 ++0+0160 <[^>]*> stwio r4,0\(r5\) ++[ ]*160: R_NIOS2_S16 .data\+0x4 ++0+0164 <[^>]*> stwio r4,0\(r5\) ++[ ]*164: R_NIOS2_S16 big_external_data_label\+0x4 ++0+0168 <[^>]*> stwio r4,0\(r5\) ++[ ]*168: R_NIOS2_S16 small_external_data_label\+0x4 ++0+016c <[^>]*> stwio r4,0\(r5\) ++[ ]*16c: R_NIOS2_S16 big_external_common\+0x4 ++0+0170 <[^>]*> stwio r4,0\(r5\) ++[ ]*170: R_NIOS2_S16 small_external_common\+0x4 ++0+0174 <[^>]*> stwio r4,0\(r5\) ++[ ]*174: R_NIOS2_S16 .bss\+0x4 ++0+0178 <[^>]*> stwio r4,0\(r5\) ++[ ]*178: R_NIOS2_S16 .bss\+0x4004 ++0+017c <[^>]*> stwio r4,0\(r5\) ++[ ]*17c: R_NIOS2_S16 .data\+0xffff8000 ++0+0180 <[^>]*> stwio r4,0\(r5\) ++[ ]*180: R_NIOS2_S16 big_external_data_label\+0xffff8000 ++0+0184 <[^>]*> stwio r4,0\(r5\) ++[ ]*184: R_NIOS2_S16 small_external_data_label\+0xffff8000 ++0+0188 <[^>]*> stwio r4,0\(r5\) ++[ ]*188: R_NIOS2_S16 big_external_common\+0xffff8000 ++0+018c <[^>]*> stwio r4,0\(r5\) ++[ ]*18c: R_NIOS2_S16 small_external_common\+0xffff8000 ++0+0190 <[^>]*> stwio r4,0\(r5\) ++[ ]*190: R_NIOS2_S16 .bss\+0xffff8000 ++0+0194 <[^>]*> stwio r4,0\(r5\) ++[ ]*194: R_NIOS2_S16 .bss\+0xffffc000 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/stw.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/stw.s +@@ -0,0 +1,117 @@ ++ .data ++data_label: ++ .extern big_external_data_label,0x4000 ++ .extern small_external_data_label,4 ++ .comm big_external_common,0x4000 ++ .comm small_external_common,4 ++ .lcomm big_local_common,0x4000 ++ .lcomm small_local_common,4 ++ ++# the small symbols should have space allocated in the sbss section ++# but this is not yet supported in the assembler, so space is allocated ++# in the .bss section and the relocations are not gp-relative. this will ++# be updated when gp-relative relocations are added ++ .text ++ stw r4,0(r0) ++ stw r4,4(r0) ++ stw r4,0x7ffc(r0) ++ stw r4,-0x8000(r0) ++ stw r4,0(r5) ++ stw r4,4(r5) ++ stw r4,0x7ffc(r5) ++ stw r4,-0x8000(r5) ++ stw r4,data_label(r0) ++ stw r4,big_external_data_label(r0) ++ stw r4,small_external_data_label(r0) ++ stw r4,big_external_common(r0) ++ stw r4,small_external_common(r0) ++ stw r4,big_local_common(r0) ++ stw r4,small_local_common(r0) ++ stw r4,data_label+4(r0) ++ stw r4,big_external_data_label+4(r0) ++ stw r4,small_external_data_label+4(r0) ++ stw r4,big_external_common+4(r0) ++ stw r4,small_external_common+4(r0) ++ stw r4,big_local_common+4(r0) ++ stw r4,small_local_common+4(r0) ++ stw r4,data_label-0x8000(r0) ++ stw r4,big_external_data_label-0x8000(r0) ++ stw r4,small_external_data_label-0x8000(r0) ++ stw r4,big_external_common-0x8000(r0) ++ stw r4,small_external_common-0x8000(r0) ++ stw r4,big_local_common-0x8000(r0) ++ stw r4,small_local_common-0x8000(r0) ++ stw r4,data_label+0x10000(r0) ++ stw r4,data_label(r5) ++ stw r4,big_external_data_label(r5) ++ stw r4,small_external_data_label(r5) ++ stw r4,big_external_common(r5) ++ stw r4,small_external_common(r5) ++ stw r4,big_local_common(r5) ++ stw r4,small_local_common(r5) ++ stw r4,data_label+4(r5) ++ stw r4,big_external_data_label+4(r5) ++ stw r4,small_external_data_label+4(r5) ++ stw r4,big_external_common+4(r5) ++ stw r4,small_external_common+4(r5) ++ stw r4,big_local_common+4(r5) ++ stw r4,small_local_common+4(r5) ++ stw r4,data_label-0x8000(r5) ++ stw r4,big_external_data_label-0x8000(r5) ++ stw r4,small_external_data_label-0x8000(r5) ++ stw r4,big_external_common-0x8000(r5) ++ stw r4,small_external_common-0x8000(r5) ++ stw r4,big_local_common-0x8000(r5) ++ stw r4,small_local_common-0x8000(r5) ++ ++ stwio r4,0(r0) ++ stwio r4,4(r0) ++ stwio r4,0x7ffc(r0) ++ stwio r4,-0x8000(r0) ++ stwio r4,0(r5) ++ stwio r4,4(r5) ++ stwio r4,0x7ffc(r5) ++ stwio r4,-0x8000(r5) ++ stwio r4,data_label(r0) ++ stwio r4,big_external_data_label(r0) ++ stwio r4,small_external_data_label(r0) ++ stwio r4,big_external_common(r0) ++ stwio r4,small_external_common(r0) ++ stwio r4,big_local_common(r0) ++ stwio r4,small_local_common(r0) ++ stwio r4,data_label+4(r0) ++ stwio r4,big_external_data_label+4(r0) ++ stwio r4,small_external_data_label+4(r0) ++ stwio r4,big_external_common+4(r0) ++ stwio r4,small_external_common+4(r0) ++ stwio r4,big_local_common+4(r0) ++ stwio r4,small_local_common+4(r0) ++ stwio r4,data_label-0x8000(r0) ++ stwio r4,big_external_data_label-0x8000(r0) ++ stwio r4,small_external_data_label-0x8000(r0) ++ stwio r4,big_external_common-0x8000(r0) ++ stwio r4,small_external_common-0x8000(r0) ++ stwio r4,big_local_common-0x8000(r0) ++ stwio r4,small_local_common-0x8000(r0) ++ stwio r4,data_label+0x10000(r0) ++ stwio r4,data_label(r5) ++ stwio r4,big_external_data_label(r5) ++ stwio r4,small_external_data_label(r5) ++ stwio r4,big_external_common(r5) ++ stwio r4,small_external_common(r5) ++ stwio r4,big_local_common(r5) ++ stwio r4,small_local_common(r5) ++ stwio r4,data_label+4(r5) ++ stwio r4,big_external_data_label+4(r5) ++ stwio r4,small_external_data_label+4(r5) ++ stwio r4,big_external_common+4(r5) ++ stwio r4,small_external_common+4(r5) ++ stwio r4,big_local_common+4(r5) ++ stwio r4,small_local_common+4(r5) ++ stwio r4,data_label-0x8000(r5) ++ stwio r4,big_external_data_label-0x8000(r5) ++ stwio r4,small_external_data_label-0x8000(r5) ++ stwio r4,big_external_common-0x8000(r5) ++ stwio r4,small_external_common-0x8000(r5) ++ stwio r4,big_local_common-0x8000(r5) ++ stwio r4,small_local_common-0x8000(r5) +Index: binutils-2.20.1/gas/testsuite/gas/nios2/sub.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/sub.d +@@ -0,0 +1,10 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 sub ++ ++# Test the add instruction ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> sub r4,r4,r4 ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/sub.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/sub.s +@@ -0,0 +1,4 @@ ++# Source file used to test the add and addi instructions. ++ ++foo: ++ sub r4,r4,r4 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/sync.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/sync.d +@@ -0,0 +1,8 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 sync ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section \.text: ++0+0000 <foo> sync ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/sync.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/sync.s +@@ -0,0 +1,5 @@ ++# Source file used to test the sync instructions ++foo: ++ sync ++ ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/trap.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/trap.d +@@ -0,0 +1,7 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 trap ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> trap +Index: binutils-2.20.1/gas/testsuite/gas/nios2/trap.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/trap.s +@@ -0,0 +1,3 @@ ++# Source file used to test the ret instructions ++foo: ++ trap +Index: binutils-2.20.1/gas/testsuite/gas/nios2/tret.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/tret.d +@@ -0,0 +1,8 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 tret ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> eret ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/tret.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/tret.s +@@ -0,0 +1,5 @@ ++# Source file used to test the ret instructions ++foo: ++ eret ++ ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/u16_symbol.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/u16_symbol.s +@@ -0,0 +1,9 @@ ++.global some_sym ++.global min ++.global max ++ ++.set max, 0xffff ++.set min, 0 ++.set some_sym, 0x1000 ++ ++ +Index: binutils-2.20.1/gas/testsuite/gas/nios2/warn_noat.l +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/warn_noat.l +@@ -0,0 +1,5 @@ ++.*warn_noat.s: Assembler messages: ++.*warn_noat.s:2: Warning: Register at \(r1\) can sometimes be corrupted by assembler optimizations. ++Use .set noat to turn off those optimizations \(and this warning\). ++.*warn_noat.s:8: Warning: Register at \(r1\) can sometimes be corrupted by assembler optimizations. ++Use .set noat to turn off those optimizations \(and this warning\). +Index: binutils-2.20.1/gas/testsuite/gas/nios2/warn_noat.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/warn_noat.s +@@ -0,0 +1,8 @@ ++.set noat, 2 # This should not cause warning for at to be turned off ++add at, r2, r2 ++.set noat # this should turn the warnings off ++add at, r2, r2 ++.set at, 3 # this should not turn the warnings on ++add at, r2, r2 ++.set at # this should turn the warnings on ++add at, r2, r2 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/warn_nobreak.l +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/warn_nobreak.l +@@ -0,0 +1,9 @@ ++.*warn_nobreak.s: Assembler messages: ++.*warn_nobreak.s:2: Warning: The debugger will corrupt ba \(r30\). If you don't need to debug this ++code then use .set nobreak to turn off this warning. ++.*warn_nobreak.s:3: Warning: The debugger will corrupt bt \(r25\). If you don't need to debug this ++code then use .set nobreak to turn off this warning. ++.*warn_nobreak.s:11: Warning: The debugger will corrupt ba \(r30\). If you don't need to debug this ++code then use .set nobreak to turn off this warning. ++.*warn_nobreak.s:12: Warning: The debugger will corrupt bt \(r25\). If you don't need to debug this ++code then use .set nobreak to turn off this warning. +Index: binutils-2.20.1/gas/testsuite/gas/nios2/warn_nobreak.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/warn_nobreak.s +@@ -0,0 +1,12 @@ ++.set nobreak , 2 # This should not cause warning for ba, bt to be turned off ++add ba, r2, r2 ++add bt, r2, r2 ++.set nobreak # this should turn the warnings off ++add ba, r3, r4 ++add bt, r3, r4 ++.set break, 3 # this should not turn the warnings on ++add ba, r3, r4 ++add bt, r3, r4 ++.set break # this should turn the warnings on ++add ba, r3, r4 ++add bt, r3, r4 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/xor.d +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/xor.d +@@ -0,0 +1,11 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 xor ++ ++# Test the nor instruction ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> xor r6,r8,r10 ++0+0004 <[^>]*> xorhi r6,r7,65535 ++0+0008 <[^>]*> xori r6,r7,65535 +Index: binutils-2.20.1/gas/testsuite/gas/nios2/xor.s +=================================================================== +--- /dev/null ++++ binutils-2.20.1/gas/testsuite/gas/nios2/xor.s +@@ -0,0 +1,7 @@ ++# Source file used to test the nor instruction ++ ++foo: ++ xor r6,r8,r10 ++ xorhi r6,r7,0xffff ++ xori r6,r7,0xffff ++ +Index: binutils-2.20.1/include/elf/nios2.h +=================================================================== +--- /dev/null ++++ binutils-2.20.1/include/elf/nios2.h +@@ -0,0 +1,90 @@ ++/* NOT ASSIGNED TO FSF. COPYRIGHT ALTERA. */ ++/* Altera New Jersey ELF support for BFD ++ ++ Copyright (C) 2003 ++ by Nigel Gray (ngray@altera.com). ++ ++This file is part of BFD, the Binary File Descriptor library. ++ ++This program 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; either version 2 of the License, or ++(at your option) any later version. ++ ++This program 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 this program; if not, write to the Free Software ++Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ ++ ++/* This file holds definitions specific to the Altera New Jersey ELF ABI. Note ++ that most of this is not actually implemented by BFD. */ ++ ++#ifndef _ELF_NIOS2_H ++#define _ELF_NIOS2_H ++ ++#include "elf/reloc-macros.h" ++ ++/* the order of these numbers must match the order in ++ the elf_nios2_howto_table_rel table for the lookup ++ function to work properly */ ++ ++START_RELOC_NUMBERS (elf_nios2_reloc_type) ++ RELOC_NUMBER (R_NIOS2_NONE, 0) ++ RELOC_NUMBER (R_NIOS2_S16, 1) ++ RELOC_NUMBER (R_NIOS2_U16, 2) ++ RELOC_NUMBER (R_NIOS2_PCREL16, 3) ++ RELOC_NUMBER (R_NIOS2_CALL26, 4) ++ RELOC_NUMBER (R_NIOS2_IMM5, 5) ++ RELOC_NUMBER (R_NIOS2_CACHE_OPX, 6) ++ RELOC_NUMBER (R_NIOS2_IMM6, 7) ++ RELOC_NUMBER (R_NIOS2_IMM8, 8) ++ RELOC_NUMBER (R_NIOS2_HI16, 9) ++ RELOC_NUMBER (R_NIOS2_LO16, 10) ++ RELOC_NUMBER (R_NIOS2_HIADJ16, 11) ++ RELOC_NUMBER (R_NIOS2_BFD_RELOC_32, 12) ++ RELOC_NUMBER (R_NIOS2_BFD_RELOC_16, 13) ++ RELOC_NUMBER (R_NIOS2_BFD_RELOC_8, 14) ++ RELOC_NUMBER (R_NIOS2_GPREL, 15) ++ RELOC_NUMBER (R_NIOS2_GNU_VTINHERIT, 16) ++ RELOC_NUMBER (R_NIOS2_GNU_VTENTRY, 17) ++ RELOC_NUMBER (R_NIOS2_UJMP, 18) ++ RELOC_NUMBER (R_NIOS2_CJMP, 19) ++ RELOC_NUMBER (R_NIOS2_CALLR, 20) ++ RELOC_NUMBER (R_NIOS2_ALIGN, 21) ++ RELOC_NUMBER (R_NIOS2_GOT16, 22) ++ RELOC_NUMBER (R_NIOS2_CALL16, 23) ++ RELOC_NUMBER (R_NIOS2_GOTOFF_LO, 24) ++ RELOC_NUMBER (R_NIOS2_GOTOFF_HA, 25) ++ RELOC_NUMBER (R_NIOS2_PCREL_LO, 26) ++ RELOC_NUMBER (R_NIOS2_PCREL_HA, 27) ++ RELOC_NUMBER (R_NIOS2_TLS_GD16, 28) ++ RELOC_NUMBER (R_NIOS2_TLS_LDM16, 29) ++ RELOC_NUMBER (R_NIOS2_TLS_LDO16, 30) ++ RELOC_NUMBER (R_NIOS2_TLS_IE16, 31) ++ RELOC_NUMBER (R_NIOS2_TLS_LE16, 32) ++ RELOC_NUMBER (R_NIOS2_TLS_DTPMOD, 33) ++ RELOC_NUMBER (R_NIOS2_TLS_DTPREL, 34) ++ RELOC_NUMBER (R_NIOS2_TLS_TPREL, 35) ++ RELOC_NUMBER (R_NIOS2_COPY, 36) ++ RELOC_NUMBER (R_NIOS2_GLOB_DAT, 37) ++ RELOC_NUMBER (R_NIOS2_JUMP_SLOT, 38) ++ RELOC_NUMBER (R_NIOS2_RELATIVE, 39) ++ RELOC_NUMBER (R_NIOS2_GOTOFF, 40) ++ RELOC_NUMBER (R_NIOS2_ILLEGAL, 41) ++END_RELOC_NUMBERS (R_NIOS2_maxext) ++ ++/* Processor specific section flags */ ++ ++/* This is used to mark gp-relative sections */ ++#define SHF_NIOS2_GPREL 0x10000000 ++ ++/* Processor specific dynamic array tags. */ ++ ++/* Address of _gp. */ ++#define DT_NIOS2_GP 0x70000002 ++ ++#endif //_ELF_NIOS2_H +Index: binutils-2.20.1/include/opcode/nios2-isa.h +=================================================================== +--- /dev/null ++++ binutils-2.20.1/include/opcode/nios2-isa.h +@@ -0,0 +1,2144 @@ ++/* ++ * This file defines Nios II instruction set constants. ++ * To include it in assembly code (.S file), define ALT_ASM_SRC ++ * before including this file. ++ * ++ * This file is automatically generated by gen_isa.pl - do not edit ++ */ ++ ++#ifndef _NIOS2_ISA_H_ ++#define _NIOS2_ISA_H_ ++ ++/* OP instruction opcode values (index is OP field) */ ++#define NUM_OP_INSTS 64 ++ ++#ifndef ALT_ASM_SRC ++extern const char* op_names[NUM_OP_INSTS]; ++#endif /* ALT_ASM_SRC */ ++ ++/* OPX instruction opcode values (index is OPX field) */ ++#define NUM_OPX_INSTS 64 ++ ++#ifndef ALT_ASM_SRC ++extern const char* opx_names[NUM_OPX_INSTS]; ++#endif /* ALT_ASM_SRC */ ++ ++/* Constants for instruction fields and ISA */ ++#define BREAK_INST_EXC_ID 7 ++#define CPU_RESET_CAUSE_ID 1 ++#define CPU_RESET_EXC_ID 1 ++#define DIV_ERROR_CAUSE_ID 8 ++#define DIV_ERROR_EXC_ID 10 ++#define EMPTY_SLAVE_DATA_ACCESS_ERROR_CAUSE_ID 30 ++#define EMPTY_SLAVE_DATA_ACCESS_ERROR_EXC_ID 22 ++#define EMPTY_SLAVE_INST_ACCESS_ERROR_CAUSE_ID 29 ++#define EMPTY_SLAVE_INST_ACCESS_ERROR_EXC_ID 21 ++#define HBREAK_EXC_ID 2 ++#define ILLEGAL_INST_CAUSE_ID 5 ++#define ILLEGAL_INST_EXC_ID 6 ++#define MAX_CAUSE_ID 31 ++#define MISALIGNED_DATA_ADDR_CAUSE_ID 6 ++#define MISALIGNED_DATA_ADDR_EXC_ID 8 ++#define MISALIGNED_TARGET_PC_CAUSE_ID 7 ++#define MISALIGNED_TARGET_PC_EXC_ID 9 ++#define MPU_DATA_REGION_VIOLATION_CAUSE_ID 17 ++#define MPU_DATA_REGION_VIOLATION_EXC_ID 20 ++#define MPU_INST_REGION_VIOLATION_CAUSE_ID 16 ++#define MPU_INST_REGION_VIOLATION_EXC_ID 19 ++#define NIOS2_DISPLAY_INST_TRACE 1 ++#define NIOS2_DISPLAY_MEM_TRAFFIC 2 ++#define NONE_EXC_ID 0 ++#define NORM_INTR_CAUSE_ID 2 ++#define NORM_INTR_EXC_ID 3 ++#define NUM_EXC_IDS 24 ++#define READONLY_SLAVE_DATA_ACCESS_ERROR_CAUSE_ID 31 ++#define READONLY_SLAVE_DATA_ACCESS_ERROR_EXC_ID 23 ++#define RECORD_DATA_ADDR 2 ++#define RECORD_NOTHING 0 ++#define RECORD_TARGET_PCB 1 ++#define RESET_CAUSE_ID 0 ++#define SUPERVISOR_DATA_ADDR_CAUSE_ID 11 ++#define SUPERVISOR_DATA_ADDR_EXC_ID 13 ++#define SUPERVISOR_INST_ADDR_CAUSE_ID 9 ++#define SUPERVISOR_INST_ADDR_EXC_ID 11 ++#define SUPERVISOR_INST_CAUSE_ID 10 ++#define SUPERVISOR_INST_EXC_ID 12 ++#define TLB_DATA_MISS_EXC_ID 15 ++#define TLB_INST_MISS_EXC_ID 14 ++#define TLB_MISS_CAUSE_ID 12 ++#define TLB_R_PERM_CAUSE_ID 14 ++#define TLB_R_PERM_EXC_ID 17 ++#define TLB_W_PERM_CAUSE_ID 15 ++#define TLB_W_PERM_EXC_ID 18 ++#define TLB_X_PERM_CAUSE_ID 13 ++#define TLB_X_PERM_EXC_ID 16 ++#define TRAP_INST_CAUSE_ID 3 ++#define TRAP_INST_EXC_ID 4 ++#define UNIMP_INST_CAUSE_ID 4 ++#define UNIMP_INST_EXC_ID 5 ++#define AT_REGNUM 1 ++#define BADADDR_REG_BADDR_LSB 0 ++#define BADADDR_REG_BADDR_MSB 31 ++#define BADADDR_REG_BADDR_SZ 32 ++#define BADADDR_REG_BADDR_MASK 0xffffffff ++#define BADADDR_REG_LSB 0 ++#define BADADDR_REG_MSB 31 ++#define BADADDR_REG_REGNUM 12 ++#define BADADDR_REG_SZ 32 ++#define BADADDR_REG_MASK 0xffffffff ++#define BRETADDR_REGNUM 30 ++#define BSTATUS_REG_LSB 0 ++#define BSTATUS_REG_MMU_LSB 0 ++#define BSTATUS_REG_MMU_MSB 2 ++#define BSTATUS_REG_MMU_SZ 3 ++#define BSTATUS_REG_MMU_MASK 0x7 ++#define BSTATUS_REG_MPU_LSB 0 ++#define BSTATUS_REG_MPU_MSB 1 ++#define BSTATUS_REG_MPU_SZ 2 ++#define BSTATUS_REG_MPU_MASK 0x3 ++#define BSTATUS_REG_MSB 2 ++#define BSTATUS_REG_NO_MMU_LSB 0 ++#define BSTATUS_REG_NO_MMU_MSB 0 ++#define BSTATUS_REG_NO_MMU_SZ 1 ++#define BSTATUS_REG_NO_MMU_MASK 0x1 ++#define BSTATUS_REG_REGNUM 2 ++#define BSTATUS_REG_SZ 3 ++#define BSTATUS_REG_MASK 0x7 ++#define BT_REGNUM 25 ++#define CACHE_MAX_BYTES 65536 ++#define CACHE_MAX_LINE_BYTES 32 ++#define CACHE_MIN_LINE_BYTES 4 ++#define COMPARE_OP_EQ 0x0 ++#define COMPARE_OP_GE 0x1 ++#define COMPARE_OP_LSB 3 ++#define COMPARE_OP_LT 0x2 ++#define COMPARE_OP_MSB 4 ++#define COMPARE_OP_NE 0x3 ++#define COMPARE_OP_SZ 2 ++#define COMPARE_OP_MASK 0x3 ++#define CONFIG_REG_LSB 0 ++#define CONFIG_REG_MSB 0 ++#define CONFIG_REG_PE_LSB 0 ++#define CONFIG_REG_PE_MSB 0 ++#define CONFIG_REG_PE_SZ 1 ++#define CONFIG_REG_PE_MASK 0x1 ++#define CONFIG_REG_REGNUM 13 ++#define CONFIG_REG_SZ 1 ++#define CONFIG_REG_MASK 0x1 ++#define CPUID_REG_LSB 0 ++#define CPUID_REG_MSB 31 ++#define CPUID_REG_REGNUM 5 ++#define CPUID_REG_SZ 32 ++#define CPUID_REG_MASK 0xffffffff ++#define DATAPATH_LOG2_SZ 5 ++#define DATAPATH_LOG2_MASK 0x1f ++#define DATAPATH_LSB 0 ++#define DATAPATH_MSB 31 ++#define DATAPATH_SZ 32 ++#define DATAPATH_MASK 0xffffffff ++#define EMPTY_CRST_IW 127034 ++#define EMPTY_HBREAK_IW 4040762 ++#define EMPTY_INTR_IW 3926074 ++#define EMPTY_NOP_IW 100410 ++#define EMPTY_RET_IW 4160759866 ++#define ERETADDR_REGNUM 29 ++#define ESTATUS_REG_LSB 0 ++#define ESTATUS_REG_MMU_LSB 0 ++#define ESTATUS_REG_MMU_MSB 2 ++#define ESTATUS_REG_MMU_SZ 3 ++#define ESTATUS_REG_MMU_MASK 0x7 ++#define ESTATUS_REG_MPU_LSB 0 ++#define ESTATUS_REG_MPU_MSB 1 ++#define ESTATUS_REG_MPU_SZ 2 ++#define ESTATUS_REG_MPU_MASK 0x3 ++#define ESTATUS_REG_MSB 2 ++#define ESTATUS_REG_NO_MMU_LSB 0 ++#define ESTATUS_REG_NO_MMU_MSB 0 ++#define ESTATUS_REG_NO_MMU_SZ 1 ++#define ESTATUS_REG_NO_MMU_MASK 0x1 ++#define ESTATUS_REG_REGNUM 1 ++#define ESTATUS_REG_SZ 3 ++#define ESTATUS_REG_MASK 0x7 ++#define ET_REGNUM 24 ++#define EXCEPTION_REG_CAUSE_LSB 2 ++#define EXCEPTION_REG_CAUSE_MSB 6 ++#define EXCEPTION_REG_CAUSE_SZ 5 ++#define EXCEPTION_REG_CAUSE_MASK 0x1f ++#define EXCEPTION_REG_LSB 0 ++#define EXCEPTION_REG_MEA_LSB 0 ++#define EXCEPTION_REG_MEA_MSB 0 ++#define EXCEPTION_REG_MEA_SZ 1 ++#define EXCEPTION_REG_MEA_MASK 0x1 ++#define EXCEPTION_REG_MEE_LSB 1 ++#define EXCEPTION_REG_MEE_MSB 1 ++#define EXCEPTION_REG_MEE_SZ 1 ++#define EXCEPTION_REG_MEE_MASK 0x1 ++#define EXCEPTION_REG_MSB 6 ++#define EXCEPTION_REG_REGNUM 7 ++#define EXCEPTION_REG_SZ 7 ++#define EXCEPTION_REG_MASK 0x7f ++#define FP_REGNUM 28 ++#define FSTATUS_REG_REGNUM 11 ++#define GP_REGNUM 26 ++#define IENABLE_REG_LSB 0 ++#define IENABLE_REG_MSB 31 ++#define IENABLE_REG_REGNUM 3 ++#define IENABLE_REG_SZ 32 ++#define IENABLE_REG_MASK 0xffffffff ++#define IPENDING_REG_LSB 0 ++#define IPENDING_REG_MSB 31 ++#define IPENDING_REG_REGNUM 4 ++#define IPENDING_REG_SZ 32 ++#define IPENDING_REG_MASK 0xffffffff ++#define IW_A_LSB 27 ++#define IW_A_MSB 31 ++#define IW_A_SZ 5 ++#define IW_A_MASK 0x1f ++#define IW_B_LSB 22 ++#define IW_B_MSB 26 ++#define IW_B_SZ 5 ++#define IW_B_MASK 0x1f ++#define IW_C_LSB 17 ++#define IW_C_MSB 21 ++#define IW_C_SZ 5 ++#define IW_C_MASK 0x1f ++#define IW_CONTROL_REGNUM_BASE 0 ++#define IW_CONTROL_REGNUM_LSB 6 ++#define IW_CONTROL_REGNUM_MSB 9 ++#define IW_CONTROL_REGNUM_SZ 4 ++#define IW_CONTROL_REGNUM_MASK 0xf ++#define IW_CUSTOM_N_LSB 6 ++#define IW_CUSTOM_N_MSB 13 ++#define IW_CUSTOM_N_SZ 8 ++#define IW_CUSTOM_N_MASK 0xff ++#define IW_CUSTOM_READRA_LSB 16 ++#define IW_CUSTOM_READRA_MSB 16 ++#define IW_CUSTOM_READRA_SZ 1 ++#define IW_CUSTOM_READRA_MASK 0x1 ++#define IW_CUSTOM_READRB_LSB 15 ++#define IW_CUSTOM_READRB_MSB 15 ++#define IW_CUSTOM_READRB_SZ 1 ++#define IW_CUSTOM_READRB_MASK 0x1 ++#define IW_CUSTOM_WRITERC_LSB 14 ++#define IW_CUSTOM_WRITERC_MSB 14 ++#define IW_CUSTOM_WRITERC_SZ 1 ++#define IW_CUSTOM_WRITERC_MASK 0x1 ++#define IW_IMM16_LSB 6 ++#define IW_IMM16_MSB 21 ++#define IW_IMM16_SZ 16 ++#define IW_IMM16_MASK 0xffff ++#define IW_IMM26_LSB 6 ++#define IW_IMM26_MSB 31 ++#define IW_IMM26_SZ 26 ++#define IW_IMM26_MASK 0x3ffffff ++#define IW_MEMSZ_BYTE 0x0 ++#define IW_MEMSZ_HWORD 0x1 ++#define IW_MEMSZ_LSB 3 ++#define IW_MEMSZ_MSB 4 ++#define IW_MEMSZ_SZ 2 ++#define IW_MEMSZ_MASK 0x3 ++#define IW_MEMSZ_WORD_MSB 0x1 ++#define IW_OP_LSB 0 ++#define IW_OP_MSB 5 ++#define IW_OP_SZ 6 ++#define IW_OP_MASK 0x3f ++#define IW_OPX_LSB 11 ++#define IW_OPX_MSB 16 ++#define IW_OPX_SZ 6 ++#define IW_OPX_MASK 0x3f ++#define IW_SHIFT_IMM5_LSB 6 ++#define IW_SHIFT_IMM5_MSB 10 ++#define IW_SHIFT_IMM5_SZ 5 ++#define IW_SHIFT_IMM5_MASK 0x1f ++#define IW_SZ 32 ++#define IW_MASK 0xffffffff ++#define IW_TRAP_BREAK_IMM5_LSB 6 ++#define IW_TRAP_BREAK_IMM5_MSB 10 ++#define IW_TRAP_BREAK_IMM5_SZ 5 ++#define IW_TRAP_BREAK_IMM5_MASK 0x1f ++#define JMP_CALLR_VS_RET_IS_RET 0 ++#define JMP_CALLR_VS_RET_OPX_BIT 3 ++#define LOGIC_OP_AND 0x1 ++#define LOGIC_OP_LSB 3 ++#define LOGIC_OP_MSB 4 ++#define LOGIC_OP_NOR 0x0 ++#define LOGIC_OP_OR 0x2 ++#define LOGIC_OP_SZ 2 ++#define LOGIC_OP_MASK 0x3 ++#define LOGIC_OP_XOR 0x3 ++#define MMU_ADDR_BYPASS_TLB 0x3 ++#define MMU_ADDR_BYPASS_TLB_CACHEABLE 0x0 ++#define MMU_ADDR_BYPASS_TLB_CACHEABLE_LSB 29 ++#define MMU_ADDR_BYPASS_TLB_CACHEABLE_MSB 29 ++#define MMU_ADDR_BYPASS_TLB_CACHEABLE_SZ 1 ++#define MMU_ADDR_BYPASS_TLB_CACHEABLE_MASK 0x1 ++#define MMU_ADDR_BYPASS_TLB_LSB 30 ++#define MMU_ADDR_BYPASS_TLB_MSB 31 ++#define MMU_ADDR_BYPASS_TLB_PADDR_LSB 0 ++#define MMU_ADDR_BYPASS_TLB_PADDR_MSB 28 ++#define MMU_ADDR_BYPASS_TLB_PADDR_SZ 29 ++#define MMU_ADDR_BYPASS_TLB_PADDR_MASK 0x1fffffff ++#define MMU_ADDR_BYPASS_TLB_SZ 2 ++#define MMU_ADDR_BYPASS_TLB_MASK 0x3 ++#define MMU_ADDR_IO_REGION 0x7 ++#define MMU_ADDR_IO_REGION_LSB 29 ++#define MMU_ADDR_IO_REGION_MSB 31 ++#define MMU_ADDR_IO_REGION_SZ 3 ++#define MMU_ADDR_IO_REGION_MASK 0x7 ++#define MMU_ADDR_IO_REGION_VPN 0xe0000 ++#define MMU_ADDR_KERNEL_MMU_REGION 0x2 ++#define MMU_ADDR_KERNEL_MMU_REGION_LSB 30 ++#define MMU_ADDR_KERNEL_MMU_REGION_MSB 31 ++#define MMU_ADDR_KERNEL_MMU_REGION_SZ 2 ++#define MMU_ADDR_KERNEL_MMU_REGION_MASK 0x3 ++#define MMU_ADDR_KERNEL_REGION 0x6 ++#define MMU_ADDR_KERNEL_REGION_INT 6 ++#define MMU_ADDR_KERNEL_REGION_LSB 29 ++#define MMU_ADDR_KERNEL_REGION_MSB 31 ++#define MMU_ADDR_KERNEL_REGION_SZ 3 ++#define MMU_ADDR_KERNEL_REGION_MASK 0x7 ++#define MMU_ADDR_PAGE_OFFSET_LSB 0 ++#define MMU_ADDR_PAGE_OFFSET_MSB 11 ++#define MMU_ADDR_PAGE_OFFSET_SZ 12 ++#define MMU_ADDR_PAGE_OFFSET_MASK 0xfff ++#define MMU_ADDR_PFN_LSB 12 ++#define MMU_ADDR_PFN_MSB 31 ++#define MMU_ADDR_PFN_SZ 20 ++#define MMU_ADDR_PFN_MASK 0xfffff ++#define MMU_ADDR_USER_REGION 0x0 ++#define MMU_ADDR_USER_REGION_LSB 31 ++#define MMU_ADDR_USER_REGION_MSB 31 ++#define MMU_ADDR_USER_REGION_SZ 1 ++#define MMU_ADDR_USER_REGION_MASK 0x1 ++#define MMU_ADDR_VPN_LSB 12 ++#define MMU_ADDR_VPN_MSB 31 ++#define MMU_ADDR_VPN_SZ 20 ++#define MMU_ADDR_VPN_MASK 0xfffff ++#define MPU_DATA_PERM_SUPER_NONE_USER_NONE 0 ++#define MPU_DATA_PERM_SUPER_RD_USER_NONE 1 ++#define MPU_DATA_PERM_SUPER_RD_USER_RD 2 ++#define MPU_DATA_PERM_SUPER_RW_USER_NONE 4 ++#define MPU_DATA_PERM_SUPER_RW_USER_RD 5 ++#define MPU_DATA_PERM_SUPER_RW_USER_RW 6 ++#define MPU_DATA_PERM_SZ 3 ++#define MPU_DATA_PERM_MASK 0x7 ++#define MPU_INST_PERM_SUPER_EXEC_USER_EXEC 2 ++#define MPU_INST_PERM_SUPER_EXEC_USER_NONE 1 ++#define MPU_INST_PERM_SUPER_NONE_USER_NONE 0 ++#define MPU_INST_PERM_SZ 2 ++#define MPU_INST_PERM_MASK 0x3 ++#define MPU_MAX_REGION_SIZE_LOG2 20 ++#define MPU_MAX_REGIONS 32 ++#define MPU_MIN_REGION_SIZE_LOG2 6 ++#define MPU_MIN_REGIONS 1 ++#define MPUACC_REG_C_LSB 5 ++#define MPUACC_REG_C_MSB 5 ++#define MPUACC_REG_C_SZ 1 ++#define MPUACC_REG_C_MASK 0x1 ++#define MPUACC_REG_LIMIT_LSB 6 ++#define MPUACC_REG_LIMIT_MSB 31 ++#define MPUACC_REG_LIMIT_SZ 26 ++#define MPUACC_REG_LIMIT_MASK 0x3ffffff ++#define MPUACC_REG_LSB 0 ++#define MPUACC_REG_MASK_LSB 6 ++#define MPUACC_REG_MASK_MSB 30 ++#define MPUACC_REG_MASK_SZ 25 ++#define MPUACC_REG_MASK_MASK 0x1ffffff ++#define MPUACC_REG_MSB 31 ++#define MPUACC_REG_PERM_LSB 2 ++#define MPUACC_REG_PERM_MSB 4 ++#define MPUACC_REG_PERM_SZ 3 ++#define MPUACC_REG_PERM_MASK 0x7 ++#define MPUACC_REG_RD_LSB 1 ++#define MPUACC_REG_RD_MSB 1 ++#define MPUACC_REG_RD_SZ 1 ++#define MPUACC_REG_RD_MASK 0x1 ++#define MPUACC_REG_REGNUM 15 ++#define MPUACC_REG_RSV1_LSB 31 ++#define MPUACC_REG_RSV1_MSB 31 ++#define MPUACC_REG_RSV1_SZ 1 ++#define MPUACC_REG_RSV1_MASK 0x1 ++#define MPUACC_REG_SZ 32 ++#define MPUACC_REG_MASK 0xffffffff ++#define MPUACC_REG_WR_LSB 0 ++#define MPUACC_REG_WR_MSB 0 ++#define MPUACC_REG_WR_SZ 1 ++#define MPUACC_REG_WR_MASK 0x1 ++#define MPUBASE_REG_BASE_LSB 6 ++#define MPUBASE_REG_BASE_MSB 30 ++#define MPUBASE_REG_BASE_SZ 25 ++#define MPUBASE_REG_BASE_MASK 0x1ffffff ++#define MPUBASE_REG_D_LSB 0 ++#define MPUBASE_REG_D_MSB 0 ++#define MPUBASE_REG_D_SZ 1 ++#define MPUBASE_REG_D_MASK 0x1 ++#define MPUBASE_REG_INDEX_LSB 1 ++#define MPUBASE_REG_INDEX_MSB 5 ++#define MPUBASE_REG_INDEX_SZ 5 ++#define MPUBASE_REG_INDEX_MASK 0x1f ++#define MPUBASE_REG_LSB 0 ++#define MPUBASE_REG_MSB 31 ++#define MPUBASE_REG_REGNUM 14 ++#define MPUBASE_REG_RSV1_LSB 31 ++#define MPUBASE_REG_RSV1_MSB 31 ++#define MPUBASE_REG_RSV1_SZ 1 ++#define MPUBASE_REG_RSV1_MASK 0x1 ++#define MPUBASE_REG_SZ 32 ++#define MPUBASE_REG_MASK 0xffffffff ++#define PTEADDR_REG_LSB 0 ++#define PTEADDR_REG_MSB 31 ++#define PTEADDR_REG_PTBASE_LSB 22 ++#define PTEADDR_REG_PTBASE_MSB 31 ++#define PTEADDR_REG_PTBASE_SZ 10 ++#define PTEADDR_REG_PTBASE_MASK 0x3ff ++#define PTEADDR_REG_REGNUM 8 ++#define PTEADDR_REG_RSV_LSB 0 ++#define PTEADDR_REG_RSV_MSB 1 ++#define PTEADDR_REG_RSV_SZ 2 ++#define PTEADDR_REG_RSV_MASK 0x3 ++#define PTEADDR_REG_SZ 32 ++#define PTEADDR_REG_MASK 0xffffffff ++#define PTEADDR_REG_VPN_LSB 2 ++#define PTEADDR_REG_VPN_MSB 21 ++#define PTEADDR_REG_VPN_SZ 20 ++#define PTEADDR_REG_VPN_MASK 0xfffff ++#define REGNUM_SZ 5 ++#define REGNUM_MASK 0x1f ++#define RETADDR_REGNUM 31 ++#define RF_ADDR_SZ 5 ++#define RF_ADDR_MASK 0x1f ++#define RF_NUM_REG 32 ++#define SIM_REG_LSB 0 ++#define SIM_REG_MSB 2 ++#define SIM_REG_PERF_CNT_CLR_LSB 2 ++#define SIM_REG_PERF_CNT_CLR_MSB 2 ++#define SIM_REG_PERF_CNT_CLR_SZ 1 ++#define SIM_REG_PERF_CNT_CLR_MASK 0x1 ++#define SIM_REG_PERF_CNT_EN_LSB 1 ++#define SIM_REG_PERF_CNT_EN_MSB 1 ++#define SIM_REG_PERF_CNT_EN_SZ 1 ++#define SIM_REG_PERF_CNT_EN_MASK 0x1 ++#define SIM_REG_REGNUM 6 ++#define SIM_REG_SHOW_MMU_REGS_LSB 4 ++#define SIM_REG_SHOW_MMU_REGS_MSB 4 ++#define SIM_REG_SHOW_MMU_REGS_SZ 1 ++#define SIM_REG_SHOW_MMU_REGS_MASK 0x1 ++#define SIM_REG_SHOW_TLB_LSB 3 ++#define SIM_REG_SHOW_TLB_MSB 3 ++#define SIM_REG_SHOW_TLB_SZ 1 ++#define SIM_REG_SHOW_TLB_MASK 0x1 ++#define SIM_REG_STOP_LSB 0 ++#define SIM_REG_STOP_MSB 0 ++#define SIM_REG_STOP_SZ 1 ++#define SIM_REG_STOP_MASK 0x1 ++#define SIM_REG_SZ 3 ++#define SIM_REG_MASK 0x7 ++#define SP_REGNUM 27 ++#define STATUS_REG_EH_LSB 2 ++#define STATUS_REG_EH_MSB 2 ++#define STATUS_REG_EH_SZ 1 ++#define STATUS_REG_EH_MASK 0x1 ++#define STATUS_REG_LSB 0 ++#define STATUS_REG_MMU_LSB 0 ++#define STATUS_REG_MMU_MSB 2 ++#define STATUS_REG_MMU_RSV_LSB 3 ++#define STATUS_REG_MMU_RSV_MSB 31 ++#define STATUS_REG_MMU_RSV_SZ 29 ++#define STATUS_REG_MMU_RSV_MASK 0x1fffffff ++#define STATUS_REG_MMU_SZ 3 ++#define STATUS_REG_MMU_MASK 0x7 ++#define STATUS_REG_MPU_LSB 0 ++#define STATUS_REG_MPU_MSB 1 ++#define STATUS_REG_MPU_RSV_LSB 2 ++#define STATUS_REG_MPU_RSV_MSB 31 ++#define STATUS_REG_MPU_RSV_SZ 30 ++#define STATUS_REG_MPU_RSV_MASK 0x3fffffff ++#define STATUS_REG_MPU_SZ 2 ++#define STATUS_REG_MPU_MASK 0x3 ++#define STATUS_REG_MSB 2 ++#define STATUS_REG_NO_MMU_LSB 0 ++#define STATUS_REG_NO_MMU_MSB 0 ++#define STATUS_REG_NO_MMU_RSV_LSB 1 ++#define STATUS_REG_NO_MMU_RSV_MSB 31 ++#define STATUS_REG_NO_MMU_RSV_SZ 31 ++#define STATUS_REG_NO_MMU_RSV_MASK 0x7fffffff ++#define STATUS_REG_NO_MMU_SZ 1 ++#define STATUS_REG_NO_MMU_MASK 0x1 ++#define STATUS_REG_PIE_LSB 0 ++#define STATUS_REG_PIE_MSB 0 ++#define STATUS_REG_PIE_SZ 1 ++#define STATUS_REG_PIE_MASK 0x1 ++#define STATUS_REG_REGNUM 0 ++#define STATUS_REG_SZ 3 ++#define STATUS_REG_MASK 0x7 ++#define STATUS_REG_U_LSB 1 ++#define STATUS_REG_U_MSB 1 ++#define STATUS_REG_U_SZ 1 ++#define STATUS_REG_U_MASK 0x1 ++#define TLB_MAX_ENTRIES 1024 ++#define TLB_MAX_LINES 128 ++#define TLB_MAX_PID_SZ 14 ++#define TLB_MAX_PID_MASK 0x3fff ++#define TLB_MAX_PTR_SZ 10 ++#define TLB_MAX_PTR_MASK 0x3ff ++#define TLB_MAX_WAYS 16 ++#define TLB_MIN_PID_SZ 8 ++#define TLB_MIN_PID_MASK 0xff ++#define TLB_MIN_PTR_SZ 7 ++#define TLB_MIN_PTR_MASK 0x7f ++#define TLB_MIN_WAYS 8 ++#define TLBACC_REG_C_LSB 24 ++#define TLBACC_REG_C_MSB 24 ++#define TLBACC_REG_C_SZ 1 ++#define TLBACC_REG_C_MASK 0x1 ++#define TLBACC_REG_G_LSB 20 ++#define TLBACC_REG_G_MSB 20 ++#define TLBACC_REG_G_SZ 1 ++#define TLBACC_REG_G_MASK 0x1 ++#define TLBACC_REG_IG_LSB 25 ++#define TLBACC_REG_IG_MSB 31 ++#define TLBACC_REG_IG_SZ 7 ++#define TLBACC_REG_IG_MASK 0x7f ++#define TLBACC_REG_LSB 0 ++#define TLBACC_REG_MSB 24 ++#define TLBACC_REG_PFN_LSB 0 ++#define TLBACC_REG_PFN_MSB 19 ++#define TLBACC_REG_PFN_SZ 20 ++#define TLBACC_REG_PFN_MASK 0xfffff ++#define TLBACC_REG_R_LSB 23 ++#define TLBACC_REG_R_MSB 23 ++#define TLBACC_REG_R_SZ 1 ++#define TLBACC_REG_R_MASK 0x1 ++#define TLBACC_REG_REGNUM 9 ++#define TLBACC_REG_SZ 25 ++#define TLBACC_REG_MASK 0x1ffffff ++#define TLBACC_REG_W_LSB 22 ++#define TLBACC_REG_W_MSB 22 ++#define TLBACC_REG_W_SZ 1 ++#define TLBACC_REG_W_MASK 0x1 ++#define TLBACC_REG_X_LSB 21 ++#define TLBACC_REG_X_MSB 21 ++#define TLBACC_REG_X_SZ 1 ++#define TLBACC_REG_X_MASK 0x1 ++#define TLBMISC_REG_BAD_LSB 2 ++#define TLBMISC_REG_BAD_MSB 2 ++#define TLBMISC_REG_BAD_SZ 1 ++#define TLBMISC_REG_BAD_MASK 0x1 ++#define TLBMISC_REG_D_LSB 0 ++#define TLBMISC_REG_D_MSB 0 ++#define TLBMISC_REG_D_SZ 1 ++#define TLBMISC_REG_D_MASK 0x1 ++#define TLBMISC_REG_DBL_LSB 3 ++#define TLBMISC_REG_DBL_MSB 3 ++#define TLBMISC_REG_DBL_SZ 1 ++#define TLBMISC_REG_DBL_MASK 0x1 ++#define TLBMISC_REG_LSB 0 ++#define TLBMISC_REG_MSB 23 ++#define TLBMISC_REG_PERM_LSB 1 ++#define TLBMISC_REG_PERM_MSB 1 ++#define TLBMISC_REG_PERM_SZ 1 ++#define TLBMISC_REG_PERM_MASK 0x1 ++#define TLBMISC_REG_PID_LSB 4 ++#define TLBMISC_REG_PID_MSB 17 ++#define TLBMISC_REG_PID_SZ 14 ++#define TLBMISC_REG_PID_MASK 0x3fff ++#define TLBMISC_REG_RD_LSB 19 ++#define TLBMISC_REG_RD_MSB 19 ++#define TLBMISC_REG_RD_SZ 1 ++#define TLBMISC_REG_RD_MASK 0x1 ++#define TLBMISC_REG_REGNUM 10 ++#define TLBMISC_REG_RSV1_LSB 24 ++#define TLBMISC_REG_RSV1_MSB 31 ++#define TLBMISC_REG_RSV1_SZ 8 ++#define TLBMISC_REG_RSV1_MASK 0xff ++#define TLBMISC_REG_SZ 24 ++#define TLBMISC_REG_MASK 0xffffff ++#define TLBMISC_REG_WAY_LSB 20 ++#define TLBMISC_REG_WAY_MSB 23 ++#define TLBMISC_REG_WAY_SZ 4 ++#define TLBMISC_REG_WAY_MASK 0xf ++#define TLBMISC_REG_WE_LSB 18 ++#define TLBMISC_REG_WE_MSB 18 ++#define TLBMISC_REG_WE_SZ 1 ++#define TLBMISC_REG_WE_MASK 0x1 ++ ++/* Macros to extract instruction fields */ ++#define GET_IW_A(Iw) \ ++ (((Iw) >> IW_A_LSB) & IW_A_MASK) ++#define SET_IW_A(Iw, Val) \ ++ Iw = (((Iw) & (~(IW_A_MASK << IW_A_LSB))) | \ ++ (((Val) & IW_A_MASK) << IW_A_LSB)) ++#define GET_IW_B(Iw) \ ++ (((Iw) >> IW_B_LSB) & IW_B_MASK) ++#define SET_IW_B(Iw, Val) \ ++ Iw = (((Iw) & (~(IW_B_MASK << IW_B_LSB))) | \ ++ (((Val) & IW_B_MASK) << IW_B_LSB)) ++#define GET_IW_C(Iw) \ ++ (((Iw) >> IW_C_LSB) & IW_C_MASK) ++#define SET_IW_C(Iw, Val) \ ++ Iw = (((Iw) & (~(IW_C_MASK << IW_C_LSB))) | \ ++ (((Val) & IW_C_MASK) << IW_C_LSB)) ++#define GET_IW_CONTROL_REGNUM(Iw) \ ++ (((Iw) >> IW_CONTROL_REGNUM_LSB) & IW_CONTROL_REGNUM_MASK) ++#define SET_IW_CONTROL_REGNUM(Iw, Val) \ ++ Iw = (((Iw) & (~(IW_CONTROL_REGNUM_MASK << IW_CONTROL_REGNUM_LSB))) | \ ++ (((Val) & IW_CONTROL_REGNUM_MASK) << IW_CONTROL_REGNUM_LSB)) ++#define GET_IW_CUSTOM_N(Iw) \ ++ (((Iw) >> IW_CUSTOM_N_LSB) & IW_CUSTOM_N_MASK) ++#define SET_IW_CUSTOM_N(Iw, Val) \ ++ Iw = (((Iw) & (~(IW_CUSTOM_N_MASK << IW_CUSTOM_N_LSB))) | \ ++ (((Val) & IW_CUSTOM_N_MASK) << IW_CUSTOM_N_LSB)) ++#define GET_IW_CUSTOM_READRA(Iw) \ ++ (((Iw) >> IW_CUSTOM_READRA_LSB) & IW_CUSTOM_READRA_MASK) ++#define SET_IW_CUSTOM_READRA(Iw, Val) \ ++ Iw = (((Iw) & (~(IW_CUSTOM_READRA_MASK << IW_CUSTOM_READRA_LSB))) | \ ++ (((Val) & IW_CUSTOM_READRA_MASK) << IW_CUSTOM_READRA_LSB)) ++#define GET_IW_CUSTOM_READRB(Iw) \ ++ (((Iw) >> IW_CUSTOM_READRB_LSB) & IW_CUSTOM_READRB_MASK) ++#define SET_IW_CUSTOM_READRB(Iw, Val) \ ++ Iw = (((Iw) & (~(IW_CUSTOM_READRB_MASK << IW_CUSTOM_READRB_LSB))) | \ ++ (((Val) & IW_CUSTOM_READRB_MASK) << IW_CUSTOM_READRB_LSB)) ++#define GET_IW_CUSTOM_WRITERC(Iw) \ ++ (((Iw) >> IW_CUSTOM_WRITERC_LSB) & IW_CUSTOM_WRITERC_MASK) ++#define SET_IW_CUSTOM_WRITERC(Iw, Val) \ ++ Iw = (((Iw) & (~(IW_CUSTOM_WRITERC_MASK << IW_CUSTOM_WRITERC_LSB))) | \ ++ (((Val) & IW_CUSTOM_WRITERC_MASK) << IW_CUSTOM_WRITERC_LSB)) ++#define GET_IW_IMM16(Iw) \ ++ (((Iw) >> IW_IMM16_LSB) & IW_IMM16_MASK) ++#define SET_IW_IMM16(Iw, Val) \ ++ Iw = (((Iw) & (~(IW_IMM16_MASK << IW_IMM16_LSB))) | \ ++ (((Val) & IW_IMM16_MASK) << IW_IMM16_LSB)) ++#define GET_IW_IMM26(Iw) \ ++ (((Iw) >> IW_IMM26_LSB) & IW_IMM26_MASK) ++#define SET_IW_IMM26(Iw, Val) \ ++ Iw = (((Iw) & (~(IW_IMM26_MASK << IW_IMM26_LSB))) | \ ++ (((Val) & IW_IMM26_MASK) << IW_IMM26_LSB)) ++#define GET_IW_MEMSZ(Iw) \ ++ (((Iw) >> IW_MEMSZ_LSB) & IW_MEMSZ_MASK) ++#define SET_IW_MEMSZ(Iw, Val) \ ++ Iw = (((Iw) & (~(IW_MEMSZ_MASK << IW_MEMSZ_LSB))) | \ ++ (((Val) & IW_MEMSZ_MASK) << IW_MEMSZ_LSB)) ++#define GET_IW_OP(Iw) \ ++ (((Iw) >> IW_OP_LSB) & IW_OP_MASK) ++#define SET_IW_OP(Iw, Val) \ ++ Iw = (((Iw) & (~(IW_OP_MASK << IW_OP_LSB))) | \ ++ (((Val) & IW_OP_MASK) << IW_OP_LSB)) ++#define GET_IW_OPX(Iw) \ ++ (((Iw) >> IW_OPX_LSB) & IW_OPX_MASK) ++#define SET_IW_OPX(Iw, Val) \ ++ Iw = (((Iw) & (~(IW_OPX_MASK << IW_OPX_LSB))) | \ ++ (((Val) & IW_OPX_MASK) << IW_OPX_LSB)) ++#define GET_IW_SHIFT_IMM5(Iw) \ ++ (((Iw) >> IW_SHIFT_IMM5_LSB) & IW_SHIFT_IMM5_MASK) ++#define SET_IW_SHIFT_IMM5(Iw, Val) \ ++ Iw = (((Iw) & (~(IW_SHIFT_IMM5_MASK << IW_SHIFT_IMM5_LSB))) | \ ++ (((Val) & IW_SHIFT_IMM5_MASK) << IW_SHIFT_IMM5_LSB)) ++#define GET_IW_TRAP_BREAK_IMM5(Iw) \ ++ (((Iw) >> IW_TRAP_BREAK_IMM5_LSB) & IW_TRAP_BREAK_IMM5_MASK) ++#define SET_IW_TRAP_BREAK_IMM5(Iw, Val) \ ++ Iw = (((Iw) & (~(IW_TRAP_BREAK_IMM5_MASK << IW_TRAP_BREAK_IMM5_LSB))) | \ ++ (((Val) & IW_TRAP_BREAK_IMM5_MASK) << IW_TRAP_BREAK_IMM5_LSB)) ++ ++/* Macros to extract control register fields */ ++#define GET_BADADDR_REG_BADDR(Reg) \ ++ (((Reg) >> BADADDR_REG_BADDR_LSB) & BADADDR_REG_BADDR_MASK) ++#define SET_BADADDR_REG_BADDR(Reg, Val) \ ++ Reg = (((Reg) & (~(BADADDR_REG_BADDR_MASK << BADADDR_REG_BADDR_LSB))) | \ ++ (((Val) & BADADDR_REG_BADDR_MASK) << BADADDR_REG_BADDR_LSB)) ++#define GET_BSTATUS_REG_MMU(Reg) \ ++ (((Reg) >> BSTATUS_REG_MMU_LSB) & BSTATUS_REG_MMU_MASK) ++#define SET_BSTATUS_REG_MMU(Reg, Val) \ ++ Reg = (((Reg) & (~(BSTATUS_REG_MMU_MASK << BSTATUS_REG_MMU_LSB))) | \ ++ (((Val) & BSTATUS_REG_MMU_MASK) << BSTATUS_REG_MMU_LSB)) ++#define GET_BSTATUS_REG_MPU(Reg) \ ++ (((Reg) >> BSTATUS_REG_MPU_LSB) & BSTATUS_REG_MPU_MASK) ++#define SET_BSTATUS_REG_MPU(Reg, Val) \ ++ Reg = (((Reg) & (~(BSTATUS_REG_MPU_MASK << BSTATUS_REG_MPU_LSB))) | \ ++ (((Val) & BSTATUS_REG_MPU_MASK) << BSTATUS_REG_MPU_LSB)) ++#define GET_BSTATUS_REG_NO_MMU(Reg) \ ++ (((Reg) >> BSTATUS_REG_NO_MMU_LSB) & BSTATUS_REG_NO_MMU_MASK) ++#define SET_BSTATUS_REG_NO_MMU(Reg, Val) \ ++ Reg = (((Reg) & (~(BSTATUS_REG_NO_MMU_MASK << BSTATUS_REG_NO_MMU_LSB))) | \ ++ (((Val) & BSTATUS_REG_NO_MMU_MASK) << BSTATUS_REG_NO_MMU_LSB)) ++#define GET_CONFIG_REG_PE(Reg) \ ++ (((Reg) >> CONFIG_REG_PE_LSB) & CONFIG_REG_PE_MASK) ++#define SET_CONFIG_REG_PE(Reg, Val) \ ++ Reg = (((Reg) & (~(CONFIG_REG_PE_MASK << CONFIG_REG_PE_LSB))) | \ ++ (((Val) & CONFIG_REG_PE_MASK) << CONFIG_REG_PE_LSB)) ++#define GET_ESTATUS_REG_MMU(Reg) \ ++ (((Reg) >> ESTATUS_REG_MMU_LSB) & ESTATUS_REG_MMU_MASK) ++#define SET_ESTATUS_REG_MMU(Reg, Val) \ ++ Reg = (((Reg) & (~(ESTATUS_REG_MMU_MASK << ESTATUS_REG_MMU_LSB))) | \ ++ (((Val) & ESTATUS_REG_MMU_MASK) << ESTATUS_REG_MMU_LSB)) ++#define GET_ESTATUS_REG_MPU(Reg) \ ++ (((Reg) >> ESTATUS_REG_MPU_LSB) & ESTATUS_REG_MPU_MASK) ++#define SET_ESTATUS_REG_MPU(Reg, Val) \ ++ Reg = (((Reg) & (~(ESTATUS_REG_MPU_MASK << ESTATUS_REG_MPU_LSB))) | \ ++ (((Val) & ESTATUS_REG_MPU_MASK) << ESTATUS_REG_MPU_LSB)) ++#define GET_ESTATUS_REG_NO_MMU(Reg) \ ++ (((Reg) >> ESTATUS_REG_NO_MMU_LSB) & ESTATUS_REG_NO_MMU_MASK) ++#define SET_ESTATUS_REG_NO_MMU(Reg, Val) \ ++ Reg = (((Reg) & (~(ESTATUS_REG_NO_MMU_MASK << ESTATUS_REG_NO_MMU_LSB))) | \ ++ (((Val) & ESTATUS_REG_NO_MMU_MASK) << ESTATUS_REG_NO_MMU_LSB)) ++#define GET_EXCEPTION_REG_CAUSE(Reg) \ ++ (((Reg) >> EXCEPTION_REG_CAUSE_LSB) & EXCEPTION_REG_CAUSE_MASK) ++#define SET_EXCEPTION_REG_CAUSE(Reg, Val) \ ++ Reg = (((Reg) & (~(EXCEPTION_REG_CAUSE_MASK << EXCEPTION_REG_CAUSE_LSB))) | \ ++ (((Val) & EXCEPTION_REG_CAUSE_MASK) << EXCEPTION_REG_CAUSE_LSB)) ++#define GET_EXCEPTION_REG_MEA(Reg) \ ++ (((Reg) >> EXCEPTION_REG_MEA_LSB) & EXCEPTION_REG_MEA_MASK) ++#define SET_EXCEPTION_REG_MEA(Reg, Val) \ ++ Reg = (((Reg) & (~(EXCEPTION_REG_MEA_MASK << EXCEPTION_REG_MEA_LSB))) | \ ++ (((Val) & EXCEPTION_REG_MEA_MASK) << EXCEPTION_REG_MEA_LSB)) ++#define GET_EXCEPTION_REG_MEE(Reg) \ ++ (((Reg) >> EXCEPTION_REG_MEE_LSB) & EXCEPTION_REG_MEE_MASK) ++#define SET_EXCEPTION_REG_MEE(Reg, Val) \ ++ Reg = (((Reg) & (~(EXCEPTION_REG_MEE_MASK << EXCEPTION_REG_MEE_LSB))) | \ ++ (((Val) & EXCEPTION_REG_MEE_MASK) << EXCEPTION_REG_MEE_LSB)) ++#define GET_MPUACC_REG_C(Reg) \ ++ (((Reg) >> MPUACC_REG_C_LSB) & MPUACC_REG_C_MASK) ++#define SET_MPUACC_REG_C(Reg, Val) \ ++ Reg = (((Reg) & (~(MPUACC_REG_C_MASK << MPUACC_REG_C_LSB))) | \ ++ (((Val) & MPUACC_REG_C_MASK) << MPUACC_REG_C_LSB)) ++#define GET_MPUACC_REG_LIMIT(Reg) \ ++ (((Reg) >> MPUACC_REG_LIMIT_LSB) & MPUACC_REG_LIMIT_MASK) ++#define SET_MPUACC_REG_LIMIT(Reg, Val) \ ++ Reg = (((Reg) & (~(MPUACC_REG_LIMIT_MASK << MPUACC_REG_LIMIT_LSB))) | \ ++ (((Val) & MPUACC_REG_LIMIT_MASK) << MPUACC_REG_LIMIT_LSB)) ++#define GET_MPUACC_REG_MASK(Reg) \ ++ (((Reg) >> MPUACC_REG_MASK_LSB) & MPUACC_REG_MASK_MASK) ++#define SET_MPUACC_REG_MASK(Reg, Val) \ ++ Reg = (((Reg) & (~(MPUACC_REG_MASK_MASK << MPUACC_REG_MASK_LSB))) | \ ++ (((Val) & MPUACC_REG_MASK_MASK) << MPUACC_REG_MASK_LSB)) ++#define GET_MPUACC_REG_PERM(Reg) \ ++ (((Reg) >> MPUACC_REG_PERM_LSB) & MPUACC_REG_PERM_MASK) ++#define SET_MPUACC_REG_PERM(Reg, Val) \ ++ Reg = (((Reg) & (~(MPUACC_REG_PERM_MASK << MPUACC_REG_PERM_LSB))) | \ ++ (((Val) & MPUACC_REG_PERM_MASK) << MPUACC_REG_PERM_LSB)) ++#define GET_MPUACC_REG_RD(Reg) \ ++ (((Reg) >> MPUACC_REG_RD_LSB) & MPUACC_REG_RD_MASK) ++#define SET_MPUACC_REG_RD(Reg, Val) \ ++ Reg = (((Reg) & (~(MPUACC_REG_RD_MASK << MPUACC_REG_RD_LSB))) | \ ++ (((Val) & MPUACC_REG_RD_MASK) << MPUACC_REG_RD_LSB)) ++#define GET_MPUACC_REG_RSV1(Reg) \ ++ (((Reg) >> MPUACC_REG_RSV1_LSB) & MPUACC_REG_RSV1_MASK) ++#define SET_MPUACC_REG_RSV1(Reg, Val) \ ++ Reg = (((Reg) & (~(MPUACC_REG_RSV1_MASK << MPUACC_REG_RSV1_LSB))) | \ ++ (((Val) & MPUACC_REG_RSV1_MASK) << MPUACC_REG_RSV1_LSB)) ++#define GET_MPUACC_REG_WR(Reg) \ ++ (((Reg) >> MPUACC_REG_WR_LSB) & MPUACC_REG_WR_MASK) ++#define SET_MPUACC_REG_WR(Reg, Val) \ ++ Reg = (((Reg) & (~(MPUACC_REG_WR_MASK << MPUACC_REG_WR_LSB))) | \ ++ (((Val) & MPUACC_REG_WR_MASK) << MPUACC_REG_WR_LSB)) ++#define GET_MPUBASE_REG_BASE(Reg) \ ++ (((Reg) >> MPUBASE_REG_BASE_LSB) & MPUBASE_REG_BASE_MASK) ++#define SET_MPUBASE_REG_BASE(Reg, Val) \ ++ Reg = (((Reg) & (~(MPUBASE_REG_BASE_MASK << MPUBASE_REG_BASE_LSB))) | \ ++ (((Val) & MPUBASE_REG_BASE_MASK) << MPUBASE_REG_BASE_LSB)) ++#define GET_MPUBASE_REG_D(Reg) \ ++ (((Reg) >> MPUBASE_REG_D_LSB) & MPUBASE_REG_D_MASK) ++#define SET_MPUBASE_REG_D(Reg, Val) \ ++ Reg = (((Reg) & (~(MPUBASE_REG_D_MASK << MPUBASE_REG_D_LSB))) | \ ++ (((Val) & MPUBASE_REG_D_MASK) << MPUBASE_REG_D_LSB)) ++#define GET_MPUBASE_REG_INDEX(Reg) \ ++ (((Reg) >> MPUBASE_REG_INDEX_LSB) & MPUBASE_REG_INDEX_MASK) ++#define SET_MPUBASE_REG_INDEX(Reg, Val) \ ++ Reg = (((Reg) & (~(MPUBASE_REG_INDEX_MASK << MPUBASE_REG_INDEX_LSB))) | \ ++ (((Val) & MPUBASE_REG_INDEX_MASK) << MPUBASE_REG_INDEX_LSB)) ++#define GET_MPUBASE_REG_RSV1(Reg) \ ++ (((Reg) >> MPUBASE_REG_RSV1_LSB) & MPUBASE_REG_RSV1_MASK) ++#define SET_MPUBASE_REG_RSV1(Reg, Val) \ ++ Reg = (((Reg) & (~(MPUBASE_REG_RSV1_MASK << MPUBASE_REG_RSV1_LSB))) | \ ++ (((Val) & MPUBASE_REG_RSV1_MASK) << MPUBASE_REG_RSV1_LSB)) ++#define GET_PTEADDR_REG_PTBASE(Reg) \ ++ (((Reg) >> PTEADDR_REG_PTBASE_LSB) & PTEADDR_REG_PTBASE_MASK) ++#define SET_PTEADDR_REG_PTBASE(Reg, Val) \ ++ Reg = (((Reg) & (~(PTEADDR_REG_PTBASE_MASK << PTEADDR_REG_PTBASE_LSB))) | \ ++ (((Val) & PTEADDR_REG_PTBASE_MASK) << PTEADDR_REG_PTBASE_LSB)) ++#define GET_PTEADDR_REG_RSV(Reg) \ ++ (((Reg) >> PTEADDR_REG_RSV_LSB) & PTEADDR_REG_RSV_MASK) ++#define SET_PTEADDR_REG_RSV(Reg, Val) \ ++ Reg = (((Reg) & (~(PTEADDR_REG_RSV_MASK << PTEADDR_REG_RSV_LSB))) | \ ++ (((Val) & PTEADDR_REG_RSV_MASK) << PTEADDR_REG_RSV_LSB)) ++#define GET_PTEADDR_REG_VPN(Reg) \ ++ (((Reg) >> PTEADDR_REG_VPN_LSB) & PTEADDR_REG_VPN_MASK) ++#define SET_PTEADDR_REG_VPN(Reg, Val) \ ++ Reg = (((Reg) & (~(PTEADDR_REG_VPN_MASK << PTEADDR_REG_VPN_LSB))) | \ ++ (((Val) & PTEADDR_REG_VPN_MASK) << PTEADDR_REG_VPN_LSB)) ++#define GET_SIM_REG_PERF_CNT_CLR(Reg) \ ++ (((Reg) >> SIM_REG_PERF_CNT_CLR_LSB) & SIM_REG_PERF_CNT_CLR_MASK) ++#define SET_SIM_REG_PERF_CNT_CLR(Reg, Val) \ ++ Reg = (((Reg) & (~(SIM_REG_PERF_CNT_CLR_MASK << \ ++ SIM_REG_PERF_CNT_CLR_LSB))) | \ ++ (((Val) & SIM_REG_PERF_CNT_CLR_MASK) << SIM_REG_PERF_CNT_CLR_LSB)) ++#define GET_SIM_REG_PERF_CNT_EN(Reg) \ ++ (((Reg) >> SIM_REG_PERF_CNT_EN_LSB) & SIM_REG_PERF_CNT_EN_MASK) ++#define SET_SIM_REG_PERF_CNT_EN(Reg, Val) \ ++ Reg = (((Reg) & (~(SIM_REG_PERF_CNT_EN_MASK << \ ++ SIM_REG_PERF_CNT_EN_LSB))) | \ ++ (((Val) & SIM_REG_PERF_CNT_EN_MASK) << SIM_REG_PERF_CNT_EN_LSB)) ++#define GET_SIM_REG_SHOW_MMU_REGS(Reg) \ ++ (((Reg) >> SIM_REG_SHOW_MMU_REGS_LSB) & SIM_REG_SHOW_MMU_REGS_MASK) ++#define SET_SIM_REG_SHOW_MMU_REGS(Reg, Val) \ ++ Reg = (((Reg) & (~(SIM_REG_SHOW_MMU_REGS_MASK << \ ++ SIM_REG_SHOW_MMU_REGS_LSB))) | \ ++ (((Val) & SIM_REG_SHOW_MMU_REGS_MASK) << SIM_REG_SHOW_MMU_REGS_LSB)) ++#define GET_SIM_REG_SHOW_TLB(Reg) \ ++ (((Reg) >> SIM_REG_SHOW_TLB_LSB) & SIM_REG_SHOW_TLB_MASK) ++#define SET_SIM_REG_SHOW_TLB(Reg, Val) \ ++ Reg = (((Reg) & (~(SIM_REG_SHOW_TLB_MASK << SIM_REG_SHOW_TLB_LSB))) | \ ++ (((Val) & SIM_REG_SHOW_TLB_MASK) << SIM_REG_SHOW_TLB_LSB)) ++#define GET_SIM_REG_STOP(Reg) \ ++ (((Reg) >> SIM_REG_STOP_LSB) & SIM_REG_STOP_MASK) ++#define SET_SIM_REG_STOP(Reg, Val) \ ++ Reg = (((Reg) & (~(SIM_REG_STOP_MASK << SIM_REG_STOP_LSB))) | \ ++ (((Val) & SIM_REG_STOP_MASK) << SIM_REG_STOP_LSB)) ++#define GET_STATUS_REG_EH(Reg) \ ++ (((Reg) >> STATUS_REG_EH_LSB) & STATUS_REG_EH_MASK) ++#define SET_STATUS_REG_EH(Reg, Val) \ ++ Reg = (((Reg) & (~(STATUS_REG_EH_MASK << STATUS_REG_EH_LSB))) | \ ++ (((Val) & STATUS_REG_EH_MASK) << STATUS_REG_EH_LSB)) ++#define GET_STATUS_REG_MMU(Reg) \ ++ (((Reg) >> STATUS_REG_MMU_LSB) & STATUS_REG_MMU_MASK) ++#define SET_STATUS_REG_MMU(Reg, Val) \ ++ Reg = (((Reg) & (~(STATUS_REG_MMU_MASK << STATUS_REG_MMU_LSB))) | \ ++ (((Val) & STATUS_REG_MMU_MASK) << STATUS_REG_MMU_LSB)) ++#define GET_STATUS_REG_MMU_RSV(Reg) \ ++ (((Reg) >> STATUS_REG_MMU_RSV_LSB) & STATUS_REG_MMU_RSV_MASK) ++#define SET_STATUS_REG_MMU_RSV(Reg, Val) \ ++ Reg = (((Reg) & (~(STATUS_REG_MMU_RSV_MASK << STATUS_REG_MMU_RSV_LSB))) | \ ++ (((Val) & STATUS_REG_MMU_RSV_MASK) << STATUS_REG_MMU_RSV_LSB)) ++#define GET_STATUS_REG_MPU(Reg) \ ++ (((Reg) >> STATUS_REG_MPU_LSB) & STATUS_REG_MPU_MASK) ++#define SET_STATUS_REG_MPU(Reg, Val) \ ++ Reg = (((Reg) & (~(STATUS_REG_MPU_MASK << STATUS_REG_MPU_LSB))) | \ ++ (((Val) & STATUS_REG_MPU_MASK) << STATUS_REG_MPU_LSB)) ++#define GET_STATUS_REG_MPU_RSV(Reg) \ ++ (((Reg) >> STATUS_REG_MPU_RSV_LSB) & STATUS_REG_MPU_RSV_MASK) ++#define SET_STATUS_REG_MPU_RSV(Reg, Val) \ ++ Reg = (((Reg) & (~(STATUS_REG_MPU_RSV_MASK << STATUS_REG_MPU_RSV_LSB))) | \ ++ (((Val) & STATUS_REG_MPU_RSV_MASK) << STATUS_REG_MPU_RSV_LSB)) ++#define GET_STATUS_REG_NO_MMU(Reg) \ ++ (((Reg) >> STATUS_REG_NO_MMU_LSB) & STATUS_REG_NO_MMU_MASK) ++#define SET_STATUS_REG_NO_MMU(Reg, Val) \ ++ Reg = (((Reg) & (~(STATUS_REG_NO_MMU_MASK << STATUS_REG_NO_MMU_LSB))) | \ ++ (((Val) & STATUS_REG_NO_MMU_MASK) << STATUS_REG_NO_MMU_LSB)) ++#define GET_STATUS_REG_NO_MMU_RSV(Reg) \ ++ (((Reg) >> STATUS_REG_NO_MMU_RSV_LSB) & STATUS_REG_NO_MMU_RSV_MASK) ++#define SET_STATUS_REG_NO_MMU_RSV(Reg, Val) \ ++ Reg = (((Reg) & (~(STATUS_REG_NO_MMU_RSV_MASK << \ ++ STATUS_REG_NO_MMU_RSV_LSB))) | \ ++ (((Val) & STATUS_REG_NO_MMU_RSV_MASK) << STATUS_REG_NO_MMU_RSV_LSB)) ++#define GET_STATUS_REG_PIE(Reg) \ ++ (((Reg) >> STATUS_REG_PIE_LSB) & STATUS_REG_PIE_MASK) ++#define SET_STATUS_REG_PIE(Reg, Val) \ ++ Reg = (((Reg) & (~(STATUS_REG_PIE_MASK << STATUS_REG_PIE_LSB))) | \ ++ (((Val) & STATUS_REG_PIE_MASK) << STATUS_REG_PIE_LSB)) ++#define GET_STATUS_REG_U(Reg) \ ++ (((Reg) >> STATUS_REG_U_LSB) & STATUS_REG_U_MASK) ++#define SET_STATUS_REG_U(Reg, Val) \ ++ Reg = (((Reg) & (~(STATUS_REG_U_MASK << STATUS_REG_U_LSB))) | \ ++ (((Val) & STATUS_REG_U_MASK) << STATUS_REG_U_LSB)) ++#define GET_TLBACC_REG_C(Reg) \ ++ (((Reg) >> TLBACC_REG_C_LSB) & TLBACC_REG_C_MASK) ++#define SET_TLBACC_REG_C(Reg, Val) \ ++ Reg = (((Reg) & (~(TLBACC_REG_C_MASK << TLBACC_REG_C_LSB))) | \ ++ (((Val) & TLBACC_REG_C_MASK) << TLBACC_REG_C_LSB)) ++#define GET_TLBACC_REG_G(Reg) \ ++ (((Reg) >> TLBACC_REG_G_LSB) & TLBACC_REG_G_MASK) ++#define SET_TLBACC_REG_G(Reg, Val) \ ++ Reg = (((Reg) & (~(TLBACC_REG_G_MASK << TLBACC_REG_G_LSB))) | \ ++ (((Val) & TLBACC_REG_G_MASK) << TLBACC_REG_G_LSB)) ++#define GET_TLBACC_REG_IG(Reg) \ ++ (((Reg) >> TLBACC_REG_IG_LSB) & TLBACC_REG_IG_MASK) ++#define SET_TLBACC_REG_IG(Reg, Val) \ ++ Reg = (((Reg) & (~(TLBACC_REG_IG_MASK << TLBACC_REG_IG_LSB))) | \ ++ (((Val) & TLBACC_REG_IG_MASK) << TLBACC_REG_IG_LSB)) ++#define GET_TLBACC_REG_PFN(Reg) \ ++ (((Reg) >> TLBACC_REG_PFN_LSB) & TLBACC_REG_PFN_MASK) ++#define SET_TLBACC_REG_PFN(Reg, Val) \ ++ Reg = (((Reg) & (~(TLBACC_REG_PFN_MASK << TLBACC_REG_PFN_LSB))) | \ ++ (((Val) & TLBACC_REG_PFN_MASK) << TLBACC_REG_PFN_LSB)) ++#define GET_TLBACC_REG_R(Reg) \ ++ (((Reg) >> TLBACC_REG_R_LSB) & TLBACC_REG_R_MASK) ++#define SET_TLBACC_REG_R(Reg, Val) \ ++ Reg = (((Reg) & (~(TLBACC_REG_R_MASK << TLBACC_REG_R_LSB))) | \ ++ (((Val) & TLBACC_REG_R_MASK) << TLBACC_REG_R_LSB)) ++#define GET_TLBACC_REG_W(Reg) \ ++ (((Reg) >> TLBACC_REG_W_LSB) & TLBACC_REG_W_MASK) ++#define SET_TLBACC_REG_W(Reg, Val) \ ++ Reg = (((Reg) & (~(TLBACC_REG_W_MASK << TLBACC_REG_W_LSB))) | \ ++ (((Val) & TLBACC_REG_W_MASK) << TLBACC_REG_W_LSB)) ++#define GET_TLBACC_REG_X(Reg) \ ++ (((Reg) >> TLBACC_REG_X_LSB) & TLBACC_REG_X_MASK) ++#define SET_TLBACC_REG_X(Reg, Val) \ ++ Reg = (((Reg) & (~(TLBACC_REG_X_MASK << TLBACC_REG_X_LSB))) | \ ++ (((Val) & TLBACC_REG_X_MASK) << TLBACC_REG_X_LSB)) ++#define GET_TLBMISC_REG_BAD(Reg) \ ++ (((Reg) >> TLBMISC_REG_BAD_LSB) & TLBMISC_REG_BAD_MASK) ++#define SET_TLBMISC_REG_BAD(Reg, Val) \ ++ Reg = (((Reg) & (~(TLBMISC_REG_BAD_MASK << TLBMISC_REG_BAD_LSB))) | \ ++ (((Val) & TLBMISC_REG_BAD_MASK) << TLBMISC_REG_BAD_LSB)) ++#define GET_TLBMISC_REG_D(Reg) \ ++ (((Reg) >> TLBMISC_REG_D_LSB) & TLBMISC_REG_D_MASK) ++#define SET_TLBMISC_REG_D(Reg, Val) \ ++ Reg = (((Reg) & (~(TLBMISC_REG_D_MASK << TLBMISC_REG_D_LSB))) | \ ++ (((Val) & TLBMISC_REG_D_MASK) << TLBMISC_REG_D_LSB)) ++#define GET_TLBMISC_REG_DBL(Reg) \ ++ (((Reg) >> TLBMISC_REG_DBL_LSB) & TLBMISC_REG_DBL_MASK) ++#define SET_TLBMISC_REG_DBL(Reg, Val) \ ++ Reg = (((Reg) & (~(TLBMISC_REG_DBL_MASK << TLBMISC_REG_DBL_LSB))) | \ ++ (((Val) & TLBMISC_REG_DBL_MASK) << TLBMISC_REG_DBL_LSB)) ++#define GET_TLBMISC_REG_PERM(Reg) \ ++ (((Reg) >> TLBMISC_REG_PERM_LSB) & TLBMISC_REG_PERM_MASK) ++#define SET_TLBMISC_REG_PERM(Reg, Val) \ ++ Reg = (((Reg) & (~(TLBMISC_REG_PERM_MASK << TLBMISC_REG_PERM_LSB))) | \ ++ (((Val) & TLBMISC_REG_PERM_MASK) << TLBMISC_REG_PERM_LSB)) ++#define GET_TLBMISC_REG_PID(Reg) \ ++ (((Reg) >> TLBMISC_REG_PID_LSB) & TLBMISC_REG_PID_MASK) ++#define SET_TLBMISC_REG_PID(Reg, Val) \ ++ Reg = (((Reg) & (~(TLBMISC_REG_PID_MASK << TLBMISC_REG_PID_LSB))) | \ ++ (((Val) & TLBMISC_REG_PID_MASK) << TLBMISC_REG_PID_LSB)) ++#define GET_TLBMISC_REG_RD(Reg) \ ++ (((Reg) >> TLBMISC_REG_RD_LSB) & TLBMISC_REG_RD_MASK) ++#define SET_TLBMISC_REG_RD(Reg, Val) \ ++ Reg = (((Reg) & (~(TLBMISC_REG_RD_MASK << TLBMISC_REG_RD_LSB))) | \ ++ (((Val) & TLBMISC_REG_RD_MASK) << TLBMISC_REG_RD_LSB)) ++#define GET_TLBMISC_REG_RSV1(Reg) \ ++ (((Reg) >> TLBMISC_REG_RSV1_LSB) & TLBMISC_REG_RSV1_MASK) ++#define SET_TLBMISC_REG_RSV1(Reg, Val) \ ++ Reg = (((Reg) & (~(TLBMISC_REG_RSV1_MASK << TLBMISC_REG_RSV1_LSB))) | \ ++ (((Val) & TLBMISC_REG_RSV1_MASK) << TLBMISC_REG_RSV1_LSB)) ++#define GET_TLBMISC_REG_WAY(Reg) \ ++ (((Reg) >> TLBMISC_REG_WAY_LSB) & TLBMISC_REG_WAY_MASK) ++#define SET_TLBMISC_REG_WAY(Reg, Val) \ ++ Reg = (((Reg) & (~(TLBMISC_REG_WAY_MASK << TLBMISC_REG_WAY_LSB))) | \ ++ (((Val) & TLBMISC_REG_WAY_MASK) << TLBMISC_REG_WAY_LSB)) ++#define GET_TLBMISC_REG_WE(Reg) \ ++ (((Reg) >> TLBMISC_REG_WE_LSB) & TLBMISC_REG_WE_MASK) ++#define SET_TLBMISC_REG_WE(Reg, Val) \ ++ Reg = (((Reg) & (~(TLBMISC_REG_WE_MASK << TLBMISC_REG_WE_LSB))) | \ ++ (((Val) & TLBMISC_REG_WE_MASK) << TLBMISC_REG_WE_LSB)) ++ ++/* Macros to extract MMU fields */ ++#define GET_MMU_ADDR_BYPASS_TLB_CACHEABLE(Addr) \ ++ (((Addr) >> MMU_ADDR_BYPASS_TLB_CACHEABLE_LSB) & \ ++ MMU_ADDR_BYPASS_TLB_CACHEABLE_MASK) ++#define SET_MMU_ADDR_BYPASS_TLB_CACHEABLE(Addr, Val) \ ++ Addr = (((Addr) & (~(MMU_ADDR_BYPASS_TLB_CACHEABLE_MASK << \ ++ MMU_ADDR_BYPASS_TLB_CACHEABLE_LSB))) | \ ++ (((Val) & MMU_ADDR_BYPASS_TLB_CACHEABLE_MASK) << \ ++ MMU_ADDR_BYPASS_TLB_CACHEABLE_LSB)) ++#define GET_MMU_ADDR_BYPASS_TLB(Addr) \ ++ (((Addr) >> MMU_ADDR_BYPASS_TLB_LSB) & MMU_ADDR_BYPASS_TLB_MASK) ++#define SET_MMU_ADDR_BYPASS_TLB(Addr, Val) \ ++ Addr = (((Addr) & (~(MMU_ADDR_BYPASS_TLB_MASK << \ ++ MMU_ADDR_BYPASS_TLB_LSB))) | \ ++ (((Val) & MMU_ADDR_BYPASS_TLB_MASK) << MMU_ADDR_BYPASS_TLB_LSB)) ++#define GET_MMU_ADDR_BYPASS_TLB_PADDR(Addr) \ ++ (((Addr) >> MMU_ADDR_BYPASS_TLB_PADDR_LSB) & MMU_ADDR_BYPASS_TLB_PADDR_MASK) ++#define SET_MMU_ADDR_BYPASS_TLB_PADDR(Addr, Val) \ ++ Addr = (((Addr) & (~(MMU_ADDR_BYPASS_TLB_PADDR_MASK << \ ++ MMU_ADDR_BYPASS_TLB_PADDR_LSB))) | \ ++ (((Val) & MMU_ADDR_BYPASS_TLB_PADDR_MASK) << \ ++ MMU_ADDR_BYPASS_TLB_PADDR_LSB)) ++#define GET_MMU_ADDR_IO_REGION(Addr) \ ++ (((Addr) >> MMU_ADDR_IO_REGION_LSB) & MMU_ADDR_IO_REGION_MASK) ++#define SET_MMU_ADDR_IO_REGION(Addr, Val) \ ++ Addr = (((Addr) & (~(MMU_ADDR_IO_REGION_MASK << \ ++ MMU_ADDR_IO_REGION_LSB))) | \ ++ (((Val) & MMU_ADDR_IO_REGION_MASK) << MMU_ADDR_IO_REGION_LSB)) ++#define GET_MMU_ADDR_KERNEL_MMU_REGION(Addr) \ ++ (((Addr) >> MMU_ADDR_KERNEL_MMU_REGION_LSB) & \ ++ MMU_ADDR_KERNEL_MMU_REGION_MASK) ++#define SET_MMU_ADDR_KERNEL_MMU_REGION(Addr, Val) \ ++ Addr = (((Addr) & (~(MMU_ADDR_KERNEL_MMU_REGION_MASK << \ ++ MMU_ADDR_KERNEL_MMU_REGION_LSB))) | \ ++ (((Val) & MMU_ADDR_KERNEL_MMU_REGION_MASK) << \ ++ MMU_ADDR_KERNEL_MMU_REGION_LSB)) ++#define GET_MMU_ADDR_KERNEL_REGION(Addr) \ ++ (((Addr) >> MMU_ADDR_KERNEL_REGION_LSB) & MMU_ADDR_KERNEL_REGION_MASK) ++#define SET_MMU_ADDR_KERNEL_REGION(Addr, Val) \ ++ Addr = (((Addr) & (~(MMU_ADDR_KERNEL_REGION_MASK << \ ++ MMU_ADDR_KERNEL_REGION_LSB))) | \ ++ (((Val) & MMU_ADDR_KERNEL_REGION_MASK) << \ ++ MMU_ADDR_KERNEL_REGION_LSB)) ++#define GET_MMU_ADDR_PAGE_OFFSET(Addr) \ ++ (((Addr) >> MMU_ADDR_PAGE_OFFSET_LSB) & MMU_ADDR_PAGE_OFFSET_MASK) ++#define SET_MMU_ADDR_PAGE_OFFSET(Addr, Val) \ ++ Addr = (((Addr) & (~(MMU_ADDR_PAGE_OFFSET_MASK << \ ++ MMU_ADDR_PAGE_OFFSET_LSB))) | \ ++ (((Val) & MMU_ADDR_PAGE_OFFSET_MASK) << MMU_ADDR_PAGE_OFFSET_LSB)) ++#define GET_MMU_ADDR_PFN(Addr) \ ++ (((Addr) >> MMU_ADDR_PFN_LSB) & MMU_ADDR_PFN_MASK) ++#define SET_MMU_ADDR_PFN(Addr, Val) \ ++ Addr = (((Addr) & (~(MMU_ADDR_PFN_MASK << MMU_ADDR_PFN_LSB))) | \ ++ (((Val) & MMU_ADDR_PFN_MASK) << MMU_ADDR_PFN_LSB)) ++#define GET_MMU_ADDR_USER_REGION(Addr) \ ++ (((Addr) >> MMU_ADDR_USER_REGION_LSB) & MMU_ADDR_USER_REGION_MASK) ++#define SET_MMU_ADDR_USER_REGION(Addr, Val) \ ++ Addr = (((Addr) & (~(MMU_ADDR_USER_REGION_MASK << \ ++ MMU_ADDR_USER_REGION_LSB))) | \ ++ (((Val) & MMU_ADDR_USER_REGION_MASK) << MMU_ADDR_USER_REGION_LSB)) ++#define GET_MMU_ADDR_VPN(Addr) \ ++ (((Addr) >> MMU_ADDR_VPN_LSB) & MMU_ADDR_VPN_MASK) ++#define SET_MMU_ADDR_VPN(Addr, Val) \ ++ Addr = (((Addr) & (~(MMU_ADDR_VPN_MASK << MMU_ADDR_VPN_LSB))) | \ ++ (((Val) & MMU_ADDR_VPN_MASK) << MMU_ADDR_VPN_LSB)) ++ ++/* OP instruction values */ ++#define OP_ADDI 4 ++#define OP_ANDHI 44 ++#define OP_ANDI 12 ++#define OP_BEQ 38 ++#define OP_BGE 14 ++#define OP_BGEU 46 ++#define OP_BLT 22 ++#define OP_BLTU 54 ++#define OP_BNE 30 ++#define OP_BR 6 ++#define OP_CALL 0 ++#define OP_CMPEQI 32 ++#define OP_CMPGEI 8 ++#define OP_CMPGEUI 40 ++#define OP_CMPLTI 16 ++#define OP_CMPLTUI 48 ++#define OP_CMPNEI 24 ++#define OP_CUSTOM 50 ++#define OP_FLUSHD 59 ++#define OP_FLUSHDA 27 ++#define OP_INITD 51 ++#define OP_INITDA 19 ++#define OP_JMPI 1 ++#define OP_LDB 7 ++#define OP_LDBIO 39 ++#define OP_LDBU 3 ++#define OP_LDBUIO 35 ++#define OP_LDH 15 ++#define OP_LDHIO 47 ++#define OP_LDHU 11 ++#define OP_LDHUIO 43 ++#define OP_LDL 31 ++#define OP_LDW 23 ++#define OP_LDWIO 55 ++#define OP_MULI 36 ++#define OP_OPX 58 ++#define OP_ORHI 52 ++#define OP_ORI 20 ++#define OP_STB 5 ++#define OP_STBIO 37 ++#define OP_STC 29 ++#define OP_STH 13 ++#define OP_STHIO 45 ++#define OP_STW 21 ++#define OP_STWIO 53 ++#define OP_XORHI 60 ++#define OP_XORI 28 ++ ++/* OPX instruction values */ ++#define OPX_ADD 49 ++#define OPX_AND 14 ++#define OPX_BREAK 52 ++#define OPX_BRET 9 ++#define OPX_CALLR 29 ++#define OPX_CMPEQ 32 ++#define OPX_CMPGE 8 ++#define OPX_CMPGEU 40 ++#define OPX_CMPLT 16 ++#define OPX_CMPLTU 48 ++#define OPX_CMPNE 24 ++#define OPX_CRST 62 ++#define OPX_DIV 37 ++#define OPX_DIVU 36 ++#define OPX_ERET 1 ++#define OPX_FLUSHI 12 ++#define OPX_FLUSHP 4 ++#define OPX_HBREAK 53 ++#define OPX_INITI 41 ++#define OPX_INTR 61 ++#define OPX_JMP 13 ++#define OPX_MUL 39 ++#define OPX_MULXSS 31 ++#define OPX_MULXSU 23 ++#define OPX_MULXUU 7 ++#define OPX_NEXTPC 28 ++#define OPX_NOR 6 ++#define OPX_OR 22 ++#define OPX_RDCTL 38 ++#define OPX_RET 5 ++#define OPX_ROL 3 ++#define OPX_ROLI 2 ++#define OPX_ROR 11 ++#define OPX_SLL 19 ++#define OPX_SLLI 18 ++#define OPX_SRA 59 ++#define OPX_SRAI 58 ++#define OPX_SRL 27 ++#define OPX_SRLI 26 ++#define OPX_SUB 57 ++#define OPX_SYNC 54 ++#define OPX_TRAP 45 ++#define OPX_WRCTL 46 ++#define OPX_XOR 30 ++ ++/* Macros to detect sub-opcode instructions */ ++#define IS_OPX_INST(Iw) (GET_IW_OP(Iw) == OP_OPX) ++#define IS_CUSTOM_INST(Iw) (GET_IW_OP(Iw) == OP_CUSTOM) ++ ++/* Instruction property macros */ ++#define IW_PROP_RESERVED_OP(Iw) (0) ++ ++#define IW_PROP_RESERVED_OPX(Iw) (0) ++ ++#define IW_PROP_RESERVED(Iw) (0) ++ ++#define IW_PROP_SUPERVISOR_ONLY(Iw) ( \ ++ (op_prop_supervisor_only[GET_IW_OP(Iw)] || \ ++ (IS_OPX_INST(Iw) && opx_prop_supervisor_only[GET_IW_OPX(Iw)]))) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_supervisor_only[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_supervisor_only[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_INITI_FLUSHI(Iw) ( \ ++ ( \ ++ ((GET_IW_OPX((Iw)) == OPX_INITI) && IS_OPX_INST(Iw)) || \ ++ ((GET_IW_OPX((Iw)) == OPX_FLUSHI) && IS_OPX_INST(Iw)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_FLUSH_PIPE(Iw) ( \ ++ (IS_OPX_INST(Iw) && opx_prop_flush_pipe[GET_IW_OPX(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_flush_pipe[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_JMP_INDIRECT_NON_TRAP(Iw) ( \ ++ (IS_OPX_INST(Iw) && opx_prop_jmp_indirect_non_trap[GET_IW_OPX(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_jmp_indirect_non_trap[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_JMP_INDIRECT(Iw) ( \ ++ (IS_OPX_INST(Iw) && opx_prop_jmp_indirect[GET_IW_OPX(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_jmp_indirect[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_JMP_DIRECT(Iw) ( \ ++ ( \ ++ ((GET_IW_OP((Iw)) == OP_CALL)) || \ ++ ((GET_IW_OP((Iw)) == OP_JMPI)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_MUL_LSW(Iw) ( \ ++ ( \ ++ ((GET_IW_OP((Iw)) == OP_MULI)) || \ ++ ((GET_IW_OPX((Iw)) == OPX_MUL) && IS_OPX_INST(Iw)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_MULX(Iw) ( \ ++ (IS_OPX_INST(Iw) && opx_prop_mulx[GET_IW_OPX(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_mulx[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_MUL(Iw) ( \ ++ (op_prop_mul[GET_IW_OP(Iw)] || \ ++ (IS_OPX_INST(Iw) && opx_prop_mul[GET_IW_OPX(Iw)]))) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_mul[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_mul[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_DIV_UNSIGNED(Iw) ( \ ++ ( \ ++ ((GET_IW_OPX((Iw)) == OPX_DIVU) && IS_OPX_INST(Iw)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_DIV_SIGNED(Iw) ( \ ++ ( \ ++ ((GET_IW_OPX((Iw)) == OPX_DIV) && IS_OPX_INST(Iw)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_DIV(Iw) ( \ ++ ( \ ++ ((GET_IW_OPX((Iw)) == OPX_DIVU) && IS_OPX_INST(Iw)) || \ ++ ((GET_IW_OPX((Iw)) == OPX_DIV) && IS_OPX_INST(Iw)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_UNIMPLEMENTED(Iw) (0) ++ ++#define IW_PROP_ILLEGAL(Iw) (0) ++ ++#define IW_PROP_IMPLICIT_DST_RETADDR(Iw) ( \ ++ ( \ ++ ((GET_IW_OP((Iw)) == OP_CALL)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_IMPLICIT_DST_ERETADDR(Iw) (0) ++ ++#define IW_PROP_INTR(Iw) ( \ ++ ( \ ++ ((GET_IW_OPX((Iw)) == OPX_INTR) && IS_OPX_INST(Iw)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_EXCEPTION(Iw) ( \ ++ ( \ ++ ((GET_IW_OPX((Iw)) == OPX_TRAP) && IS_OPX_INST(Iw)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_BREAK(Iw) ( \ ++ ( \ ++ ((GET_IW_OPX((Iw)) == OPX_BREAK) && IS_OPX_INST(Iw)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_CRST(Iw) (0) ++ ++#define IW_PROP_WR_CTL_REG(Iw) ( \ ++ (IS_OPX_INST(Iw) && opx_prop_wr_ctl_reg[GET_IW_OPX(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_wr_ctl_reg[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_UNCOND_CTI_NON_BR(Iw) ( \ ++ (op_prop_uncond_cti_non_br[GET_IW_OP(Iw)] || \ ++ (IS_OPX_INST(Iw) && opx_prop_uncond_cti_non_br[GET_IW_OPX(Iw)]))) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_uncond_cti_non_br[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_uncond_cti_non_br[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_RETADDR(Iw) ( \ ++ (op_prop_retaddr[GET_IW_OP(Iw)] || \ ++ (IS_OPX_INST(Iw) && opx_prop_retaddr[GET_IW_OPX(Iw)]))) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_retaddr[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_retaddr[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_SHIFT_LEFT(Iw) ( \ ++ ( \ ++ ((GET_IW_OPX((Iw)) == OPX_SLLI) && IS_OPX_INST(Iw)) || \ ++ ((GET_IW_OPX((Iw)) == OPX_SLL) && IS_OPX_INST(Iw)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_SHIFT_LOGICAL(Iw) ( \ ++ (IS_OPX_INST(Iw) && opx_prop_shift_logical[GET_IW_OPX(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_shift_logical[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_ROT_LEFT(Iw) ( \ ++ ( \ ++ ((GET_IW_OPX((Iw)) == OPX_ROLI) && IS_OPX_INST(Iw)) || \ ++ ((GET_IW_OPX((Iw)) == OPX_ROL) && IS_OPX_INST(Iw)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_SHIFT_ROT_LEFT(Iw) ( \ ++ (IS_OPX_INST(Iw) && opx_prop_shift_rot_left[GET_IW_OPX(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_shift_rot_left[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_SHIFT_RIGHT_LOGICAL(Iw) ( \ ++ ( \ ++ ((GET_IW_OPX((Iw)) == OPX_SRLI) && IS_OPX_INST(Iw)) || \ ++ ((GET_IW_OPX((Iw)) == OPX_SRL) && IS_OPX_INST(Iw)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_SHIFT_RIGHT_ARITH(Iw) ( \ ++ ( \ ++ ((GET_IW_OPX((Iw)) == OPX_SRAI) && IS_OPX_INST(Iw)) || \ ++ ((GET_IW_OPX((Iw)) == OPX_SRA) && IS_OPX_INST(Iw)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_SHIFT_RIGHT(Iw) ( \ ++ (IS_OPX_INST(Iw) && opx_prop_shift_right[GET_IW_OPX(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_shift_right[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_ROT_RIGHT(Iw) ( \ ++ ( \ ++ ((GET_IW_OPX((Iw)) == OPX_ROR) && IS_OPX_INST(Iw)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_SHIFT_ROT_RIGHT(Iw) ( \ ++ (IS_OPX_INST(Iw) && opx_prop_shift_rot_right[GET_IW_OPX(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_shift_rot_right[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_SHIFT_ROT(Iw) ( \ ++ (IS_OPX_INST(Iw) && opx_prop_shift_rot[GET_IW_OPX(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_shift_rot[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_SHIFT_ROT_IMM(Iw) ( \ ++ (IS_OPX_INST(Iw) && opx_prop_shift_rot_imm[GET_IW_OPX(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_shift_rot_imm[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_ROTATE(Iw) ( \ ++ (IS_OPX_INST(Iw) && opx_prop_rotate[GET_IW_OPX(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_rotate[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_LOGIC_REG(Iw) ( \ ++ (IS_OPX_INST(Iw) && opx_prop_logic_reg[GET_IW_OPX(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_logic_reg[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_LOGIC_HI_IMM16(Iw) ( \ ++ (op_prop_logic_hi_imm16[GET_IW_OP(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_logic_hi_imm16[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_LOGIC_LO_IMM16(Iw) ( \ ++ (op_prop_logic_lo_imm16[GET_IW_OP(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_logic_lo_imm16[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_LOGIC_IMM16(Iw) ( \ ++ (op_prop_logic_imm16[GET_IW_OP(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_logic_imm16[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_LOGIC(Iw) ( \ ++ (op_prop_logic[GET_IW_OP(Iw)] || \ ++ (IS_OPX_INST(Iw) && opx_prop_logic[GET_IW_OPX(Iw)]))) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_logic[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_logic[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_UNSIGNED_LO_IMM16(Iw) ( \ ++ (op_prop_unsigned_lo_imm16[GET_IW_OP(Iw)] || \ ++ (IS_OPX_INST(Iw) && opx_prop_unsigned_lo_imm16[GET_IW_OPX(Iw)]))) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_unsigned_lo_imm16[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_unsigned_lo_imm16[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_ARITH_IMM16(Iw) ( \ ++ ( \ ++ ((GET_IW_OP((Iw)) == OP_ADDI)) || \ ++ ((GET_IW_OP((Iw)) == OP_MULI)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_CMP_IMM16(Iw) ( \ ++ (op_prop_cmp_imm16[GET_IW_OP(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_cmp_imm16[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_JMPI(Iw) ( \ ++ ( \ ++ ((GET_IW_OP((Iw)) == OP_JMPI)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_CMP_IMM16_WITH_CALL_JMPI(Iw) ( \ ++ (op_prop_cmp_imm16_with_call_jmpi[GET_IW_OP(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_cmp_imm16_with_call_jmpi[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_CMP_REG(Iw) ( \ ++ (IS_OPX_INST(Iw) && opx_prop_cmp_reg[GET_IW_OPX(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_cmp_reg[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_SRC_IMM5(Iw) ( \ ++ (IS_OPX_INST(Iw) && opx_prop_src_imm5[GET_IW_OPX(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_src_imm5[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_CMP_WITH_LT(Iw) ( \ ++ (op_prop_cmp_with_lt[GET_IW_OP(Iw)] || \ ++ (IS_OPX_INST(Iw) && opx_prop_cmp_with_lt[GET_IW_OPX(Iw)]))) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_cmp_with_lt[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_cmp_with_lt[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_CMP_WITH_EQ(Iw) ( \ ++ (op_prop_cmp_with_eq[GET_IW_OP(Iw)] || \ ++ (IS_OPX_INST(Iw) && opx_prop_cmp_with_eq[GET_IW_OPX(Iw)]))) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_cmp_with_eq[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_cmp_with_eq[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_CMP_WITH_GE(Iw) ( \ ++ (op_prop_cmp_with_ge[GET_IW_OP(Iw)] || \ ++ (IS_OPX_INST(Iw) && opx_prop_cmp_with_ge[GET_IW_OPX(Iw)]))) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_cmp_with_ge[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_cmp_with_ge[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_CMP_WITH_NE(Iw) ( \ ++ ( \ ++ ((GET_IW_OP((Iw)) == OP_CMPNEI)) || \ ++ ((GET_IW_OPX((Iw)) == OPX_CMPNE) && IS_OPX_INST(Iw)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_CMP_ALU_SIGNED(Iw) ( \ ++ (op_prop_cmp_alu_signed[GET_IW_OP(Iw)] || \ ++ (IS_OPX_INST(Iw) && opx_prop_cmp_alu_signed[GET_IW_OPX(Iw)]))) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_cmp_alu_signed[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_cmp_alu_signed[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_CMP(Iw) ( \ ++ (op_prop_cmp[GET_IW_OP(Iw)] || \ ++ (IS_OPX_INST(Iw) && opx_prop_cmp[GET_IW_OPX(Iw)]))) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_cmp[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_cmp[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_BR_WITH_LT(Iw) ( \ ++ ( \ ++ ((GET_IW_OP((Iw)) == OP_BLT)) || \ ++ ((GET_IW_OP((Iw)) == OP_BLTU)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_BR_WITH_GE(Iw) ( \ ++ ( \ ++ ((GET_IW_OP((Iw)) == OP_BGE)) || \ ++ ((GET_IW_OP((Iw)) == OP_BGEU)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_BR_WITH_EQ(Iw) ( \ ++ (op_prop_br_with_eq[GET_IW_OP(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_br_with_eq[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_BR_WITH_NE(Iw) ( \ ++ ( \ ++ ((GET_IW_OP((Iw)) == OP_BNE)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_BR_ALU_SIGNED(Iw) ( \ ++ ( \ ++ ((GET_IW_OP((Iw)) == OP_BGE)) || \ ++ ((GET_IW_OP((Iw)) == OP_BLT)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_BR_COND(Iw) ( \ ++ (op_prop_br_cond[GET_IW_OP(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_br_cond[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_BR_UNCOND(Iw) ( \ ++ ( \ ++ ((GET_IW_OP((Iw)) == OP_BR)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_BR(Iw) ( \ ++ (op_prop_br[GET_IW_OP(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_br[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_ALU_SUB(Iw) ( \ ++ (op_prop_alu_sub[GET_IW_OP(Iw)] || \ ++ (IS_OPX_INST(Iw) && opx_prop_alu_sub[GET_IW_OPX(Iw)]))) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_alu_sub[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_alu_sub[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_FORCE_XOR(Iw) ( \ ++ (op_prop_force_xor[GET_IW_OP(Iw)] || \ ++ (IS_OPX_INST(Iw) && opx_prop_force_xor[GET_IW_OPX(Iw)]))) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_force_xor[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_force_xor[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_LOAD8(Iw) ( \ ++ (op_prop_load8[GET_IW_OP(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_load8[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_LOAD16(Iw) ( \ ++ (op_prop_load16[GET_IW_OP(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_load16[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_LOAD32(Iw) ( \ ++ (op_prop_load32[GET_IW_OP(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_load32[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_LOAD_SIGNED(Iw) ( \ ++ (op_prop_load_signed[GET_IW_OP(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_load_signed[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_LOAD_UNSIGNED(Iw) ( \ ++ (op_prop_load_unsigned[GET_IW_OP(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_load_unsigned[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_LOAD(Iw) ( \ ++ (op_prop_load[GET_IW_OP(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_load[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_DCACHE_MANAGEMENT_NOP(Iw) ( \ ++ (op_prop_dcache_management_nop[GET_IW_OP(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_dcache_management_nop[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_LOAD_DCACHE_MANAGEMENT(Iw) ( \ ++ (op_prop_load_dcache_management[GET_IW_OP(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_load_dcache_management[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_LOAD_NON_IO(Iw) ( \ ++ (op_prop_load_non_io[GET_IW_OP(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_load_non_io[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_STORE8(Iw) ( \ ++ ( \ ++ ((GET_IW_OP((Iw)) == OP_STB)) || \ ++ ((GET_IW_OP((Iw)) == OP_STBIO)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_STORE16(Iw) ( \ ++ ( \ ++ ((GET_IW_OP((Iw)) == OP_STH)) || \ ++ ((GET_IW_OP((Iw)) == OP_STHIO)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_STORE32(Iw) ( \ ++ (op_prop_store32[GET_IW_OP(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_store32[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_STORE(Iw) ( \ ++ (op_prop_store[GET_IW_OP(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_store[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_STORE_NON_IO(Iw) ( \ ++ (op_prop_store_non_io[GET_IW_OP(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_store_non_io[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_MEM(Iw) ( \ ++ (op_prop_mem[GET_IW_OP(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_mem[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_INITD(Iw) ( \ ++ ( \ ++ ((GET_IW_OP((Iw)) == OP_INITD)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_INITDA(Iw) ( \ ++ ( \ ++ ((GET_IW_OP((Iw)) == OP_INITDA)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_FLUSHD(Iw) ( \ ++ ( \ ++ ((GET_IW_OP((Iw)) == OP_FLUSHD)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_FLUSHDA(Iw) ( \ ++ ( \ ++ ((GET_IW_OP((Iw)) == OP_FLUSHDA)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_INITD_FLUSHD(Iw) ( \ ++ ( \ ++ ((GET_IW_OP((Iw)) == OP_INITD)) || \ ++ ((GET_IW_OP((Iw)) == OP_FLUSHD)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_INITDA_FLUSHDA(Iw) ( \ ++ ( \ ++ ((GET_IW_OP((Iw)) == OP_INITDA)) || \ ++ ((GET_IW_OP((Iw)) == OP_FLUSHDA)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_INITD_INITDA(Iw) ( \ ++ ( \ ++ ((GET_IW_OP((Iw)) == OP_INITD)) || \ ++ ((GET_IW_OP((Iw)) == OP_INITDA)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_FLUSHD_FLUSHDA(Iw) ( \ ++ ( \ ++ ((GET_IW_OP((Iw)) == OP_FLUSHD)) || \ ++ ((GET_IW_OP((Iw)) == OP_FLUSHDA)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_INITD_FLUSHD_FLUSHDA(Iw) ( \ ++ (op_prop_initd_flushd_flushda[GET_IW_OP(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_initd_flushd_flushda[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_DCACHE_MANAGEMENT(Iw) ( \ ++ (op_prop_dcache_management[GET_IW_OP(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_dcache_management[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_LOAD_IO(Iw) ( \ ++ (op_prop_load_io[GET_IW_OP(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_load_io[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_STORE_IO(Iw) ( \ ++ (op_prop_store_io[GET_IW_OP(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_store_io[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_MEM_IO(Iw) ( \ ++ (op_prop_mem_io[GET_IW_OP(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_mem_io[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_ARITH(Iw) ( \ ++ (op_prop_arith[GET_IW_OP(Iw)] || \ ++ (IS_OPX_INST(Iw) && opx_prop_arith[GET_IW_OPX(Iw)]))) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_arith[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_arith[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_A_NOT_SRC(Iw) ( \ ++ ( \ ++ ((GET_IW_OP((Iw)) == OP_CALL)) || \ ++ ((GET_IW_OP((Iw)) == OP_JMPI)) \ ++ ) \ ++ || (IS_CUSTOM_INST(Iw) && !GET_IW_CUSTOM_READRA(Iw)) \ ++) ++ ++#define IW_PROP_B_NOT_SRC(Iw) ( \ ++ (op_prop_b_not_src[GET_IW_OP(Iw)]) \ ++ || (IS_CUSTOM_INST(Iw) && !GET_IW_CUSTOM_READRB(Iw))) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_b_not_src[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_IGNORE_DST(Iw) ( \ ++ (op_prop_ignore_dst[GET_IW_OP(Iw)]) \ ++ || (IS_CUSTOM_INST(Iw) && !GET_IW_CUSTOM_WRITERC(Iw))) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_ignore_dst[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_SRC2_CHOOSE_IMM(Iw) ( \ ++ (op_prop_src2_choose_imm[GET_IW_OP(Iw)] || \ ++ (IS_OPX_INST(Iw) && opx_prop_src2_choose_imm[GET_IW_OPX(Iw)]))) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_src2_choose_imm[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_src2_choose_imm[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_WRCTL_INST(Iw) ( \ ++ ( \ ++ ((GET_IW_OPX((Iw)) == OPX_WRCTL) && IS_OPX_INST(Iw)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_RDCTL_INST(Iw) ( \ ++ ( \ ++ ((GET_IW_OPX((Iw)) == OPX_RDCTL) && IS_OPX_INST(Iw)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_MUL_SRC1_SIGNED(Iw) ( \ ++ ( \ ++ ((GET_IW_OPX((Iw)) == OPX_MULXSS) && IS_OPX_INST(Iw)) || \ ++ ((GET_IW_OPX((Iw)) == OPX_MULXSU) && IS_OPX_INST(Iw)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_MUL_SRC2_SIGNED(Iw) ( \ ++ ( \ ++ ((GET_IW_OPX((Iw)) == OPX_MULXSS) && IS_OPX_INST(Iw)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_MUL_SHIFT_SRC1_SIGNED(Iw) ( \ ++ (IS_OPX_INST(Iw) && opx_prop_mul_shift_src1_signed[GET_IW_OPX(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_mul_shift_src1_signed[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_MUL_SHIFT_SRC2_SIGNED(Iw) ( \ ++ ( \ ++ ((GET_IW_OPX((Iw)) == OPX_MULXSS) && IS_OPX_INST(Iw)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_DONT_DISPLAY_DST_REG(Iw) ( \ ++ (op_prop_dont_display_dst_reg[GET_IW_OP(Iw)] || \ ++ (IS_OPX_INST(Iw) && opx_prop_dont_display_dst_reg[GET_IW_OPX(Iw)]))) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_dont_display_dst_reg[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_dont_display_dst_reg[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_DONT_DISPLAY_SRC1_REG(Iw) ( \ ++ (op_prop_dont_display_src1_reg[GET_IW_OP(Iw)] || \ ++ (IS_OPX_INST(Iw) && opx_prop_dont_display_src1_reg[GET_IW_OPX(Iw)]))) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_dont_display_src1_reg[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_dont_display_src1_reg[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_DONT_DISPLAY_SRC2_REG(Iw) ( \ ++ (op_prop_dont_display_src2_reg[GET_IW_OP(Iw)] || \ ++ (IS_OPX_INST(Iw) && opx_prop_dont_display_src2_reg[GET_IW_OPX(Iw)]))) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_dont_display_src2_reg[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_dont_display_src2_reg[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_SRC1_NO_X(Iw) ( \ ++ (op_prop_src1_no_x[GET_IW_OP(Iw)] || \ ++ (IS_OPX_INST(Iw) && opx_prop_src1_no_x[GET_IW_OPX(Iw)]))) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_src1_no_x[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_src1_no_x[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_SRC2_NO_X(Iw) ( \ ++ (op_prop_src2_no_x[GET_IW_OP(Iw)] || \ ++ (IS_OPX_INST(Iw) && opx_prop_src2_no_x[GET_IW_OPX(Iw)]))) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_src2_no_x[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char opx_prop_src2_no_x[64]; ++#endif /* ALT_ASM_SRC */ ++ ++/* Instruction types */ ++#define INST_TYPE_OP 0 ++#define INST_TYPE_OPX 1 ++ ++/* Canonical instruction codes independent of encoding */ ++#define CALL_INST_CODE 0 ++#define JMPI_INST_CODE 1 ++#define LDBU_INST_CODE 2 ++#define ADDI_INST_CODE 3 ++#define STB_INST_CODE 4 ++#define BR_INST_CODE 5 ++#define LDB_INST_CODE 6 ++#define CMPGEI_INST_CODE 7 ++#define LDHU_INST_CODE 8 ++#define ANDI_INST_CODE 9 ++#define STH_INST_CODE 10 ++#define BGE_INST_CODE 11 ++#define LDH_INST_CODE 12 ++#define CMPLTI_INST_CODE 13 ++#define INITDA_INST_CODE 14 ++#define ORI_INST_CODE 15 ++#define STW_INST_CODE 16 ++#define BLT_INST_CODE 17 ++#define LDW_INST_CODE 18 ++#define CMPNEI_INST_CODE 19 ++#define FLUSHDA_INST_CODE 20 ++#define XORI_INST_CODE 21 ++#define STC_INST_CODE 22 ++#define BNE_INST_CODE 23 ++#define LDL_INST_CODE 24 ++#define CMPEQI_INST_CODE 25 ++#define LDBUIO_INST_CODE 26 ++#define MULI_INST_CODE 27 ++#define STBIO_INST_CODE 28 ++#define BEQ_INST_CODE 29 ++#define LDBIO_INST_CODE 30 ++#define CMPGEUI_INST_CODE 31 ++#define LDHUIO_INST_CODE 32 ++#define ANDHI_INST_CODE 33 ++#define STHIO_INST_CODE 34 ++#define BGEU_INST_CODE 35 ++#define LDHIO_INST_CODE 36 ++#define CMPLTUI_INST_CODE 37 ++#define CUSTOM_INST_CODE 38 ++#define INITD_INST_CODE 39 ++#define ORHI_INST_CODE 40 ++#define STWIO_INST_CODE 41 ++#define BLTU_INST_CODE 42 ++#define LDWIO_INST_CODE 43 ++#define FLUSHD_INST_CODE 44 ++#define XORHI_INST_CODE 45 ++#define ERET_INST_CODE 46 ++#define ROLI_INST_CODE 47 ++#define ROL_INST_CODE 48 ++#define FLUSHP_INST_CODE 49 ++#define RET_INST_CODE 50 ++#define NOR_INST_CODE 51 ++#define MULXUU_INST_CODE 52 ++#define CMPGE_INST_CODE 53 ++#define BRET_INST_CODE 54 ++#define ROR_INST_CODE 55 ++#define FLUSHI_INST_CODE 56 ++#define JMP_INST_CODE 57 ++#define AND_INST_CODE 58 ++#define CMPLT_INST_CODE 59 ++#define SLLI_INST_CODE 60 ++#define SLL_INST_CODE 61 ++#define OR_INST_CODE 62 ++#define MULXSU_INST_CODE 63 ++#define CMPNE_INST_CODE 64 ++#define SRLI_INST_CODE 65 ++#define SRL_INST_CODE 66 ++#define NEXTPC_INST_CODE 67 ++#define CALLR_INST_CODE 68 ++#define XOR_INST_CODE 69 ++#define MULXSS_INST_CODE 70 ++#define CMPEQ_INST_CODE 71 ++#define DIVU_INST_CODE 72 ++#define DIV_INST_CODE 73 ++#define RDCTL_INST_CODE 74 ++#define MUL_INST_CODE 75 ++#define CMPGEU_INST_CODE 76 ++#define INITI_INST_CODE 77 ++#define TRAP_INST_CODE 78 ++#define WRCTL_INST_CODE 79 ++#define CMPLTU_INST_CODE 80 ++#define ADD_INST_CODE 81 ++#define BREAK_INST_CODE 82 ++#define HBREAK_INST_CODE 83 ++#define SYNC_INST_CODE 84 ++#define SUB_INST_CODE 85 ++#define SRAI_INST_CODE 86 ++#define SRA_INST_CODE 87 ++#define INTR_INST_CODE 88 ++#define CRST_INST_CODE 89 ++#define RSV_INST_CODE 90 ++#define NUM_NIOS2_INST_CODES 91 ++ ++#ifndef ALT_ASM_SRC ++/* Instruction information entry. */ ++typedef struct { ++ const char* name; /* Assembly-language instruction name */ ++ int instType; /* INST_TYPE_OP or INST_TYPE_OPX */ ++ unsigned opcode; /* Value of instruction word OP/OPX field */ ++} Nios2InstInfo; ++ ++extern Nios2InstInfo nios2InstInfo[NUM_NIOS2_INST_CODES]; ++#endif /* ALT_ASM_SRC */ ++ ++/* Returns the instruction code given the 32-bit instruction word. */ ++#define GET_INST_CODE(Iw) \ ++ (IS_OPX_INST(Iw) ? opxToInstCode[GET_IW_OPX(Iw)] : \ ++ opToInstCode[GET_IW_OP(Iw)]) ++ ++#ifndef ALT_ASM_SRC ++extern int opToInstCode[64]; ++extern int opxToInstCode[64]; ++#endif /* ALT_ASM_SRC */ ++ ++/* ++ * MMU Memory Region Macros ++ */ ++#define USER_REGION_MIN_VADDR 0x00000000 ++#define USER_REGION_MAX_VADDR 0x7fffffff ++#define KERNEL_MMU_REGION_MIN_VADDR 0x80000000 ++#define KERNEL_MMU_REGION_MAX_VADDR 0xbfffffff ++#define KERNEL_REGION_MIN_VADDR 0xc0000000 ++#define KERNEL_REGION_MAX_VADDR 0xdfffffff ++#define IO_REGION_MIN_VADDR 0xe0000000 ++#define IO_REGION_MAX_VADDR 0xffffffff ++ ++#define MMU_PAGE_SIZE (0x1 << (MMU_ADDR_PAGE_OFFSET_SZ)) ++ ++#define isMmuUserRegion(Vaddr) \ ++ (GET_MMU_ADDR_USER_REGION(Vaddr) == MMU_ADDR_USER_REGION) ++#define isMmuKernelMmuRegion(Vaddr) \ ++ (GET_MMU_ADDR_KERNEL_MMU_REGION(Vaddr) == MMU_ADDR_KERNEL_MMU_REGION) ++#define isMmuKernelRegion(Vaddr) \ ++ (GET_MMU_ADDR_KERNEL_REGION(Vaddr) == MMU_ADDR_KERNEL_REGION) ++#define isMmuIORegion(Vaddr) \ ++ (GET_MMU_ADDR_IO_REGION(Vaddr) == MMU_ADDR_IO_REGION) ++ ++/* Does this virtual address bypass the TLB? */ ++#define vaddrBypassTlb(Vaddr) \ ++ (GET_MMU_ADDR_BYPASS_TLB(Vaddr) == MMU_ADDR_BYPASS_TLB) ++ ++/* If TLB is bypassed, is the address cacheable or uncachable. */ ++#define vaddrBypassTlbCacheable(Vaddr) \ ++ (GET_MMU_ADDR_BYPASS_TLB_CACHEABLE(Vaddr) == MMU_ADDR_BYPASS_TLB_CACHEABLE) ++ ++/* Compute physical address for regions that bypass the TLB. ++ Just need to clear some top bits. */ ++#define bypassTlbVaddrToPaddr(Vaddr) \ ++ ((Vaddr) & (MMU_ADDR_BYPASS_TLB_PADDR_MASK << MMU_ADDR_BYPASS_TLB_PADDR_LSB)) ++ ++/* Will the physical address fit in the Kernel/IO region virtual address space? ++ */ ++#define fitsInKernelRegion(Paddr) \ ++ (GET_MMU_ADDR_KERNEL_REGION(Paddr) == 0) ++#define fitsInIORegion(Paddr) \ ++ (GET_MMU_ADDR_IO_REGION(Paddr) == 0) ++ ++/* Convert a physical address to a Kernel/IO region virtual address. */ ++#define paddrToKernelRegionVaddr(Paddr) \ ++ ((Paddr) | (MMU_ADDR_KERNEL_REGION << MMU_ADDR_KERNEL_REGION_LSB)) ++#define paddrToIORegionVaddr(Paddr) \ ++ ((Paddr) | (MMU_ADDR_IO_REGION << MMU_ADDR_IO_REGION_LSB)) ++ ++/* Convert a virtual address to a Kernel/IO region virtual address. ++ Uses bypassTlbVaddrToPaddr to clear top bits. */ ++#define vaddrToKernelRegionVaddr(Vaddr) \ ++ paddrToKernelRegionVaddr(bypassTlbVaddrToPaddr(Vaddr)) ++#define vaddrToIORegionVaddr(Vaddr) \ ++ paddrToIORegionVaddr(bypassTlbVaddrToPaddr(Vaddr)) ++ ++/* Convert between VPN/PFN and virtual/physical addresses. */ ++#define vpnToVaddr(Vpn) ((Vpn) << MMU_ADDR_VPN_LSB) ++#define pfnToPaddr(Pfn) ((Pfn) << MMU_ADDR_PFN_LSB) ++#define vaddrToVpn(Vaddr) GET_MMU_ADDR_VPN(Vaddr) ++#define paddrToPfn(Paddr) GET_MMU_ADDR_PFN(Paddr) ++ ++/* Bitwise OR with a KERNEL region address to make it an IO region address. */ ++#define KERNEL_TO_IO_REGION 0x20000000 ++ ++/* Exception information. */ ++#ifndef ALT_ASM_SRC ++typedef struct { ++ const char* name; ++ int priority; ++ int subPriority; /* -1 if none */ ++ int causeId; /* -1 if none */ ++ int recordAddr; ++} ExcInfo; ++ ++extern ExcInfo excInfo[NUM_EXC_IDS]; ++#endif /* ALT_ASM_SRC */ ++ ++#endif /* _NIOS2_ISA_H_ */ +Index: binutils-2.20.1/include/opcode/nios2.h +=================================================================== +--- /dev/null ++++ binutils-2.20.1/include/opcode/nios2.h +@@ -0,0 +1,386 @@ ++/* NOT ASSIGNED TO FSF. COPYRIGHT ALTERA. */ ++/* nios2.h. Altera New Jersey opcode list for GAS, the GNU assembler. ++ ++ Copyright (C) 2003 ++ by Nigel Gray (ngray@altera.com). ++ ++This file is part of GDB, GAS, and the GNU binutils. ++ ++GDB, GAS, and the GNU binutils are free software; you can redistribute ++them and/or modify them under the terms of the GNU General Public ++License as published by the Free Software Foundation; either version ++1, or (at your option) any later version. ++ ++GDB, GAS, and the GNU binutils are distributed in the hope that they ++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 this file; see the file COPYING. If not, write to the Free ++Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ++*/ ++ ++#ifndef _NIOS2_H_ ++#define _NIOS2_H_ ++ ++ ++/**************************************************************************** ++ * This file contains structures, bit masks and shift counts used ++ * by the GNU toolchain to define the New Jersey instruction set and ++ * access various opcode fields. ++ ****************************************************************************/ ++ ++enum overflow_type ++{ ++ call_target_overflow = 0, ++ branch_target_overflow, ++ address_offset_overflow, ++ signed_immed16_overflow, ++ unsigned_immed16_overflow, ++ unsigned_immed5_overflow, ++ custom_opcode_overflow, ++ no_overflow ++}; ++ ++/*--------------------------------------------------------------------------- ++ This structure holds information for a particular instruction ++ ---------------------------------------------------------------------------*/ ++ ++/* match When assembling, this ++ opcode is modified by the arguments to produce the actual opcode ++ that is used. If pinfo is INSN_MACRO, then this is 0. */ ++ ++/* mask If pinfo is not INSN_MACRO, then this is a bit mask for the ++ relevant portions of the opcode when disassembling. If the ++ actual opcode anded with the match field equals the opcode field, ++ then we have found the correct instruction. If pinfo is ++ INSN_MACRO, then this field is the macro identifier. */ ++ ++/* For a macro, this is INSN_MACRO. Otherwise, it is a collection ++ of bits describing the instruction, notably any relevant hazard ++ information. */ ++ ++struct nios2_opcode ++{ ++ const char *name; /* The name of the instruction. */ ++ const char *args; /* A string describing the arguments for this ++ instruction. */ ++ const char *args_test; /* Like args, but with an extra argument for ++ the expected opcode. */ ++ unsigned long num_args; /* The number of arguments the instruction ++ takes. */ ++ unsigned long match; /* The basic opcode for the instruction. */ ++ unsigned long mask; /* Mask for the opcode field of the ++ instruction. */ ++ unsigned long pinfo; /* Is this a real instruction or instruction ++ macro? */ ++ enum overflow_type overflow_msg; /* Msg template used to generate informative ++ message when fixup overflows. */ ++}; ++ ++/* This value is used in the nios2_opcode.pinfo field to indicate that the ++ instruction is a macro or pseudo-op. This requires special treatment by ++ the assembler, and is used by the disassembler to determine whether to ++ check for a nop. */ ++#define NIOS2_INSN_MACRO 0x80000000 ++#define NIOS2_INSN_MACRO_MOV 0x80000001 ++#define NIOS2_INSN_MACRO_MOVI 0x80000002 ++#define NIOS2_INSN_MACRO_MOVIA 0x80000004 ++ ++#define NIOS2_INSN_RELAXABLE 0x40000000 ++#define NIOS2_INSN_UBRANCH 0x00000010 ++#define NIOS2_INSN_CBRANCH 0x00000020 ++#define NIOS2_INSN_CALL 0x00000040 ++ ++#define NIOS2_INSN_ADDI 0x00000080 ++#define NIOS2_INSN_ANDI 0x00000100 ++#define NIOS2_INSN_ORI 0x00000200 ++#define NIOS2_INSN_XORI 0x00000400 ++ ++ ++ ++/* Associates a register name ($6) with a 5-bit index (eg 6). */ ++struct nios2_reg ++{ ++ const char *name; ++ const int index; ++}; ++ ++ ++/* ------------------------------------------------------------------------- ++ Bitfield masks for New Jersey instructions ++ -------------------------------------------------------------------------*/ ++ ++/* These are bit masks and shift counts to use to access the various ++ fields of an instruction. */ ++ ++/* Macros for getting and setting an instruction field. */ ++#define GET_INSN_FIELD(X, i) ((i) & OP_MASK_##X) >> OP_SH_##X ++#define SET_INSN_FIELD(X, i, j) (i) = ((i) &~ (OP_MASK_##X)) | \ ++ ((j) << OP_SH_##X) ++ ++ ++/* We include the auto-generated file nios2-isa.h and define the mask ++ and shifts below in terms of those in nios2-isa.h. This ensures ++ that the binutils and hardware are always in sync. */ ++ ++#include "nios2-isa.h" ++ ++#define OP_MASK_OP (IW_OP_MASK << IW_OP_LSB) ++#define OP_SH_OP IW_OP_LSB ++ ++ ++/* Masks and shifts for I-type instructions. */ ++ ++#define OP_MASK_IOP (IW_OP_MASK << IW_OP_LSB) ++#define OP_SH_IOP IW_OP_LSB ++ ++#define OP_MASK_IMM16 (IW_IMM16_MASK << IW_IMM16_LSB) ++#define OP_SH_IMM16 IW_IMM16_LSB ++ ++#define OP_MASK_IRD (IW_B_MASK << IW_B_LSB) ++ /* The same as T for I-type. */ ++#define OP_SH_IRD IW_B_LSB ++ ++#define OP_MASK_IRT (IW_B_MASK << IW_B_LSB) ++#define OP_SH_IRT IW_B_LSB ++ ++#define OP_MASK_IRS (IW_A_MASK << IW_A_LSB) ++#define OP_SH_IRS IW_A_LSB ++ ++/* Masks and shifts for R-type instructions. */ ++ ++#define OP_MASK_ROP (IW_OP_MASK << IW_OP_LSB) ++#define OP_SH_ROP IW_OP_LSB ++ ++#define OP_MASK_ROPX (IW_OPX_MASK << IW_OPX_LSB) ++#define OP_SH_ROPX IW_OPX_LSB ++ ++#define OP_MASK_RRD (IW_C_MASK << IW_C_LSB) ++#define OP_SH_RRD IW_C_LSB ++ ++#define OP_MASK_RRT (IW_B_MASK << IW_B_LSB) ++#define OP_SH_RRT IW_B_LSB ++ ++#define OP_MASK_RRS (IW_A_MASK << IW_A_LSB) ++#define OP_SH_RRS IW_A_LSB ++ ++/* Masks and shifts for J-type instructions. */ ++ ++#define OP_MASK_JOP (IW_OP_MASK << IW_OP_LSB) ++#define OP_SH_JOP IW_OP_LSB ++ ++#define OP_MASK_IMM26 (IW_IMM26_MASK << IW_IMM26_LSB) ++#define OP_SH_IMM26 IW_IMM26_LSB ++ ++/* Masks and shifts for CTL instructions. */ ++ ++#define OP_MASK_RCTL 0x000007c0 ++#define OP_SH_RCTL 6 ++ ++/* Break instruction imm5 field. */ ++#define OP_MASK_TRAP_IMM5 0x000007c0 ++#define OP_SH_TRAP_IMM5 6 ++ ++/* Instruction imm5 field. */ ++#define OP_MASK_IMM5 (IW_SHIFT_IMM5_MASK << IW_SHIFT_IMM5_LSB) ++#define OP_SH_IMM5 IW_SHIFT_IMM5_LSB ++ ++/* Cache operation fields (type j,i(s)). */ ++#define OP_MASK_CACHE_OPX (IW_B_MASK << IW_B_LSB) ++#define OP_SH_CACHE_OPX IW_B_LSB ++#define OP_MASK_CACHE_RRS (IW_A_MASK << IW_A_LSB) ++#define OP_SH_CACHE_RRS IW_A_LSB ++ ++/* Custom instruction masks. */ ++#define OP_MASK_CUSTOM_A 0x00010000 ++#define OP_SH_CUSTOM_A 16 ++ ++#define OP_MASK_CUSTOM_B 0x00008000 ++#define OP_SH_CUSTOM_B 15 ++ ++#define OP_MASK_CUSTOM_C 0x00004000 ++#define OP_SH_CUSTOM_C 14 ++ ++#define OP_MASK_CUSTOM_N 0x00003fc0 ++#define OP_SH_CUSTOM_N 6 ++#define OP_MAX_CUSTOM_N 255 ++ ++/* The following macros define the opcode matches for each ++ instruction code & OP_MASK_INST == OP_MATCH_INST. */ ++ ++/* OP instruction matches. */ ++#define OP_MATCH_ADDI OP_ADDI ++#define OP_MATCH_ANDHI OP_ANDHI ++#define OP_MATCH_ANDI OP_ANDI ++#define OP_MATCH_BEQ OP_BEQ ++#define OP_MATCH_BGE OP_BGE ++#define OP_MATCH_BGEU OP_BGEU ++#define OP_MATCH_BLT OP_BLT ++#define OP_MATCH_BLTU OP_BLTU ++#define OP_MATCH_BNE OP_BNE ++#define OP_MATCH_BR OP_BR ++#define OP_MATCH_FLUSHD OP_FLUSHD ++#define OP_MATCH_FLUSHDA OP_FLUSHDA ++#define OP_MATCH_INITD OP_INITD ++#define OP_MATCH_INITDA OP_INITDA ++#define OP_MATCH_CALL OP_CALL ++#define OP_MATCH_CMPEQI OP_CMPEQI ++#define OP_MATCH_CMPGEI OP_CMPGEI ++#define OP_MATCH_CMPGEUI OP_CMPGEUI ++#define OP_MATCH_CMPLTI OP_CMPLTI ++#define OP_MATCH_CMPLTUI OP_CMPLTUI ++#define OP_MATCH_CMPNEI OP_CMPNEI ++#define OP_MATCH_JMPI OP_JMPI ++#define OP_MATCH_LDB OP_LDB ++#define OP_MATCH_LDBIO OP_LDBIO ++#define OP_MATCH_LDBU OP_LDBU ++#define OP_MATCH_LDBUIO OP_LDBUIO ++#define OP_MATCH_LDH OP_LDH ++#define OP_MATCH_LDHIO OP_LDHIO ++#define OP_MATCH_LDHU OP_LDHU ++#define OP_MATCH_LDHUIO OP_LDHUIO ++#define OP_MATCH_LDL OP_LDL ++#define OP_MATCH_LDW OP_LDW ++#define OP_MATCH_LDWIO OP_LDWIO ++#define OP_MATCH_MULI OP_MULI ++#define OP_MATCH_OPX OP_OPX ++#define OP_MATCH_ORHI OP_ORHI ++#define OP_MATCH_ORI OP_ORI ++#define OP_MATCH_STB OP_STB ++#define OP_MATCH_STBIO OP_STBIO ++#define OP_MATCH_STC OP_STC ++#define OP_MATCH_STH OP_STH ++#define OP_MATCH_STHIO OP_STHIO ++#define OP_MATCH_STW OP_STW ++#define OP_MATCH_STWIO OP_STWIO ++#define OP_MATCH_CUSTOM OP_CUSTOM ++#define OP_MATCH_XORHI OP_XORHI ++#define OP_MATCH_XORI OP_XORI ++#define OP_MATCH_OPX OP_OPX ++ ++ ++ ++/* OPX instruction values. */ ++#define OP_MATCH_ADD ((OPX_ADD << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_AND ((OPX_AND << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_BREAK ((0x1e << 17) | (OPX_BREAK << IW_OPX_LSB) | \ ++ (OP_OPX)) ++#define OP_MATCH_BRET ((0xf0000000) | (OPX_BRET << IW_OPX_LSB) | \ ++ (OP_OPX)) ++#define OP_MATCH_CALLR ((0x1f << 17) | (OPX_CALLR << IW_OPX_LSB) | \ ++ (OP_OPX)) ++#define OP_MATCH_CMPEQ ((OPX_CMPEQ << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_CMPGE ((OPX_CMPGE << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_CMPGEU ((OPX_CMPGEU << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_CMPLT ((OPX_CMPLT << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_CMPLTU ((OPX_CMPLTU << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_CMPNE ((OPX_CMPNE << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_DIV ((OPX_DIV << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_DIVU ((OPX_DIVU << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_JMP ((OPX_JMP << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_MUL ((OPX_MUL << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_MULXSS ((OPX_MULXSS << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_MULXSU ((OPX_MULXSU << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_MULXUU ((OPX_MULXUU << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_NEXTPC ((OPX_NEXTPC << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_NOR ((OPX_NOR << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_OR ((OPX_OR << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_RDCTL ((OPX_RDCTL << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_RET ((0xf8000000) | (OPX_RET << IW_OPX_LSB) | \ ++ (OP_OPX)) ++#define OP_MATCH_ROL ((OPX_ROL << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_ROLI ((OPX_ROLI << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_ROR ((OPX_ROR << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_SLL ((OPX_SLL << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_SLLI ((OPX_SLLI << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_SRA ((OPX_SRA << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_SRAI ((OPX_SRAI << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_SRL ((OPX_SRL << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_SRLI ((OPX_SRLI << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_SUB ((OPX_SUB << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_SYNC ((OPX_SYNC << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_TRAP ((0x1d << 17) | (OPX_TRAP << IW_OPX_LSB) | \ ++ (OP_OPX)) ++#define OP_MATCH_ERET ((0xe8000000) | (OPX_ERET << IW_OPX_LSB) | \ ++ (OP_OPX)) ++#define OP_MATCH_WRCTL ((OPX_WRCTL << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_XOR ((OPX_XOR << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_FLUSHI ((OPX_FLUSHI << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_FLUSHP ((OPX_FLUSHP << IW_OPX_LSB) | (OP_OPX)) ++#define OP_MATCH_INITI ((OPX_INITI << IW_OPX_LSB) | (OP_OPX)) ++ ++/* Some unusual op masks. */ ++#define OP_MASK_BREAK ((OP_MASK_RRS | OP_MASK_RRT | OP_MASK_RRD | \ ++ OP_MASK_ROPX | OP_MASK_OP) & 0xfffff03f) ++#define OP_MASK_CALLR ((OP_MASK_RRT | OP_MASK_RRD | OP_MASK_ROPX | \ ++ OP_MASK_OP)) ++#define OP_MASK_JMP ((OP_MASK_RRT | OP_MASK_RRD | OP_MASK_ROPX | \ ++ OP_MASK_OP)) ++#define OP_MASK_SYNC ((OP_MASK_RRT | OP_MASK_RRD | OP_MASK_ROPX | \ ++ OP_MASK_OP)) ++#define OP_MASK_TRAP ((OP_MASK_RRS | OP_MASK_RRT | OP_MASK_RRD | \ ++ OP_MASK_ROPX | OP_MASK_OP) & 0xfffff83f) ++#define OP_MASK_WRCTL ((OP_MASK_RRT | OP_MASK_RRD | OP_MASK_ROPX | \ ++ OP_MASK_OP)) /*& 0xfffff83f */ ++#define OP_MASK_NEXTPC ((OP_MASK_RRS | OP_MASK_RRT | OP_MASK_ROPX | \ ++ OP_MASK_OP)) ++#define OP_MASK_FLUSHI ((OP_MASK_RRT | OP_MASK_RRD | OP_MASK_ROPX | \ ++ OP_MASK_OP)) ++#define OP_MASK_INITI ((OP_MASK_RRT | OP_MASK_RRD | OP_MASK_ROPX | \ ++ OP_MASK_OP)) ++ ++#define OP_MASK_ROLI ((OP_MASK_RRT | OP_MASK_ROPX | OP_MASK_OP)) ++#define OP_MASK_SLLI ((OP_MASK_RRT | OP_MASK_ROPX | OP_MASK_OP)) ++#define OP_MASK_SRAI ((OP_MASK_RRT | OP_MASK_ROPX | OP_MASK_OP)) ++#define OP_MASK_SRLI ((OP_MASK_RRT | OP_MASK_ROPX | OP_MASK_OP)) ++#define OP_MASK_RDCTL ((OP_MASK_RRS | OP_MASK_RRT | OP_MASK_ROPX | \ ++ OP_MASK_OP)) /*& 0xfffff83f */ ++ ++#ifndef OP_MASK ++#define OP_MASK 0xffffffff ++#endif ++ ++/* These are the data structures we use to hold the instruction information. */ ++ ++extern const struct nios2_opcode nios2_builtin_opcodes[]; ++extern const int bfd_nios2_num_builtin_opcodes; ++extern struct nios2_opcode *nios2_opcodes; ++extern int bfd_nios2_num_opcodes; ++ ++/* These are the data structures used to hold the operand parsing information. */ ++#if 0 ++extern const struct nios2_arg_parser nios2_arg_parsers[]; ++extern struct nios2_arg_parser* nios2_arg_parsers; ++extern const int nios2_num_builtin_arg_parsers; ++extern int nios2_num_arg_parsers; ++#endif ++ ++/* These are the data structures used to hold the register information. */ ++extern const struct nios2_reg nios2_builtin_regs[]; ++extern struct nios2_reg *nios2_regs; ++extern const int nios2_num_builtin_regs; ++extern int nios2_num_regs; ++ ++/* Machine-independent macro for number of opcodes. */ ++ ++#define NUMOPCODES bfd_nios2_num_opcodes ++#define NUMREGISTERS nios2_num_regs; ++ ++/* These are used in disassembly to get the correct register names. */ ++#define NUMREGNAMES 32 ++#define NUMCTLREGNAMES 32 ++#define CTLREGBASE 42 ++#define COPROCREGBASE 83 ++#define NUMCOPROCREGNAMES 32 ++ ++ ++/* This is made extern so that the assembler can use it to find out ++ what instruction caused an error. */ ++extern const struct nios2_opcode *nios2_find_opcode_hash (unsigned long); ++ ++/* Overflow message strings used in the assembler. */ ++extern char *overflow_msgs[]; ++ ++#endif /* _NIOS2_H */ +Index: binutils-2.20.1/ld/emulparams/nios2elf.sh +=================================================================== +--- /dev/null ++++ binutils-2.20.1/ld/emulparams/nios2elf.sh +@@ -0,0 +1,20 @@ ++SCRIPT_NAME=elf ++TEMPLATE_NAME=elf32 ++EXTRA_EM_FILE= ++OUTPUT_FORMAT="elf32-littlenios2" ++LITTLE_OUTPUT_FORMAT="elf32-littlenios2" ++BIG_OUTPUT_FORMAT="elf32-bignios2" ++TEXT_START_ADDR=0x1000 ++OTHER_GOT_SYMBOLS=' ++ _gp = ALIGN(16) + 0x7ff0; ++ PROVIDE(gp = _gp); ++' ++ARCH=nios2 ++MACHINE= ++MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" ++COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" ++ENTRY=_start ++NOP=0x0001883a ++ ++GENERATE_SHLIB_SCRIPT=yes ++GENERATE_PIE_SCRIPT=yes +Index: binutils-2.20.1/opcodes/nios2-dis.c +=================================================================== +--- /dev/null ++++ binutils-2.20.1/opcodes/nios2-dis.c +@@ -0,0 +1,463 @@ ++/* NOT ASSIGNED TO FSF. COPYRIGHT ALTERA. */ ++/* nios2-dis.c -- Altera New Jersey disassemble routines. ++ ++ Copyright (C) 2003 ++ by Nigel Gray (ngray@altera.com). ++ ++This file is part of GDB, GAS, and the GNU binutils. ++ ++GDB, GAS, and the GNU binutils are free software; you can redistribute ++them and/or modify them under the terms of the GNU General Public ++License as published by the Free Software Foundation; either version ++1, or (at your option) any later version. ++ ++GDB, GAS, and the GNU binutils are distributed in the hope that they ++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 this file; see the file COPYING. If not, write to the Free ++Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ ++ ++#include <stdlib.h> ++#include <assert.h> ++#include <string.h> ++#include "dis-asm.h" ++#include "opcode/nios2.h" ++ ++/* No symbol table is available when this code runs out in an embedded ++ system as when it is used for disassembler support in a monitor. */ ++ ++#if !defined(EMBEDDED_ENV) ++#define SYMTAB_AVAILABLE 1 ++#include "elf-bfd.h" ++#include "elf/nios2.h" ++#endif ++ ++/* length of New Jersey instruction in bytes */ ++#define INSNLEN 4 ++ ++/* helper function prototypes */ ++static int nios2_disassemble (bfd_vma, unsigned long, disassemble_info *); ++static void nios2_init_opcode_hash (void); ++ ++ ++static int nios2_print_insn_arg (const char *argptr, unsigned long opcode, ++ bfd_vma address, disassemble_info * info); ++ ++ ++/* print_insn_nios2 is the main disassemble function for New Jersey. ++ The function diassembler(abfd) (source in disassemble.c) returns a ++ pointer to this either print_insn_big_nios2 or ++ print_insn_little_nios2, which in turn call this function, when the ++ bfd machine type is New Jersey. print_insn_nios2 reads the ++ instruction word at the address given, and prints the disassembled ++ instruction on the stream info->stream using info->fprintf_func. */ ++ ++static int ++print_insn_nios2 (bfd_vma address, disassemble_info * info, ++ enum bfd_endian endianness) ++{ ++ /* buffer into which the instruction bytes are written */ ++ bfd_byte buffer[INSNLEN]; ++ /* used to indicate return status from function calls */ ++ int status; ++ ++ assert (info != NULL); ++ ++ status = (*info->read_memory_func) (address, buffer, INSNLEN, info); ++ if (status == 0) ++ { ++ unsigned long insn; ++ if (endianness == BFD_ENDIAN_BIG) ++ insn = (unsigned long) bfd_getb32 (buffer); ++ else ++ insn = (unsigned long) bfd_getl32 (buffer); ++ status = nios2_disassemble (address, insn, info); ++ } ++ else ++ { ++ (*info->memory_error_func) (status, address, info); ++ status = -1; ++ } ++ return status; ++} ++ ++int ++print_insn_big_nios2 (bfd_vma address, disassemble_info * info) ++{ ++ return print_insn_nios2 (address, info, BFD_ENDIAN_BIG); ++} ++ ++int ++print_insn_little_nios2 (bfd_vma address, disassemble_info * info) ++{ ++ return print_insn_nios2 (address, info, BFD_ENDIAN_LITTLE); ++} ++ ++/* Data structures used by the opcode hash table */ ++ ++typedef struct _nios2_opcode_hash ++{ ++ const struct nios2_opcode *opcode; ++ struct _nios2_opcode_hash *next; ++} nios2_opcode_hash; ++ ++static bfd_boolean nios2_hash_init = 0; ++static nios2_opcode_hash *nios2_hash[(OP_MASK_OP) + 1]; ++ ++/* separate hash table for pseudo-ops */ ++static nios2_opcode_hash *nios2_ps_hash[(OP_MASK_OP) + 1]; ++ ++/* Function to initialize the opcode hash table */ ++ ++void ++nios2_init_opcode_hash () ++{ ++ unsigned int i; ++ register const struct nios2_opcode *op; ++ nios2_opcode_hash *tmp_hash; ++ ++ for (i = 0; i <= OP_MASK_OP; ++i) ++ { ++ nios2_hash[0] = NULL; ++ } ++ for (i = 0; i <= OP_MASK_OP; i++) ++ { ++ for (op = nios2_opcodes; op < &nios2_opcodes[NUMOPCODES]; op++) ++ { ++ if ((op->pinfo & NIOS2_INSN_MACRO) == NIOS2_INSN_MACRO) ++ { ++ if (i == ((op->match >> OP_SH_OP) & OP_MASK_OP) && ++ (op-> ++ pinfo & (NIOS2_INSN_MACRO_MOV | NIOS2_INSN_MACRO_MOVI) & ++ 0x7fffffff) != 0) ++ { ++ tmp_hash = nios2_ps_hash[i]; ++ if (tmp_hash == NULL) ++ { ++ tmp_hash = ++ (nios2_opcode_hash *) ++ malloc (sizeof (nios2_opcode_hash)); ++ nios2_ps_hash[i] = tmp_hash; ++ } ++ else ++ { ++ while (tmp_hash->next != NULL) ++ tmp_hash = tmp_hash->next; ++ tmp_hash->next = ++ (nios2_opcode_hash *) ++ malloc (sizeof (nios2_opcode_hash)); ++ tmp_hash = tmp_hash->next; ++ } ++ if (tmp_hash == NULL) ++ { ++ fprintf (stderr, ++ "error allocating memory...broken disassembler\n"); ++ abort (); ++ } ++ tmp_hash->opcode = op; ++ tmp_hash->next = NULL; ++ } ++ } ++ else if (i == ((op->match >> OP_SH_OP) & OP_MASK_OP)) ++ { ++ tmp_hash = nios2_hash[i]; ++ if (tmp_hash == NULL) ++ { ++ tmp_hash = ++ (nios2_opcode_hash *) malloc (sizeof (nios2_opcode_hash)); ++ nios2_hash[i] = tmp_hash; ++ } ++ else ++ { ++ while (tmp_hash->next != NULL) ++ tmp_hash = tmp_hash->next; ++ tmp_hash->next = ++ (nios2_opcode_hash *) malloc (sizeof (nios2_opcode_hash)); ++ tmp_hash = tmp_hash->next; ++ } ++ if (tmp_hash == NULL) ++ { ++ fprintf (stderr, ++ "error allocating memory...broken disassembler\n"); ++ abort (); ++ } ++ tmp_hash->opcode = op; ++ tmp_hash->next = NULL; ++ } ++ } ++ } ++ nios2_hash_init = 1; ++#ifdef DEBUG_HASHTABLE ++ for (i = 0; i <= OP_MASK_OP; ++i) ++ { ++ printf ("index: 0x%02X ops: ", i); ++ tmp_hash = nios2_hash[i]; ++ if (tmp_hash != NULL) ++ { ++ while (tmp_hash != NULL) ++ { ++ printf ("%s ", tmp_hash->opcode->name); ++ tmp_hash = tmp_hash->next; ++ } ++ } ++ printf ("\n"); ++ } ++ ++ for (i = 0; i <= OP_MASK_OP; ++i) ++ { ++ printf ("index: 0x%02X ops: ", i); ++ tmp_hash = nios2_ps_hash[i]; ++ if (tmp_hash != NULL) ++ { ++ while (tmp_hash != NULL) ++ { ++ printf ("%s ", tmp_hash->opcode->name); ++ tmp_hash = tmp_hash->next; ++ } ++ } ++ printf ("\n"); ++ } ++#endif ++} ++ ++/* Function which returns a pointer to an nios2_opcode struct for ++ a given instruction opcode, or NULL if there is an error */ ++ ++const struct nios2_opcode * ++nios2_find_opcode_hash (unsigned long opcode) ++{ ++ nios2_opcode_hash *entry; ++ ++ /* Build a hash table to shorten the search time. */ ++ if (!nios2_hash_init) ++ { ++ nios2_init_opcode_hash (); ++ } ++ ++ /* first look in the pseudo-op hashtable */ ++ entry = nios2_ps_hash[(opcode >> OP_SH_OP) & OP_MASK_OP]; ++ ++ /* look for a match and if we get one, this is the instruction we decode */ ++ while (entry != NULL) ++ { ++ if ((entry->opcode->match) == (opcode & entry->opcode->mask)) ++ return entry->opcode; ++ else ++ entry = entry->next; ++ } ++ ++ /* if we haven't yet returned, then we need to look in the main ++ hashtable */ ++ entry = nios2_hash[(opcode >> OP_SH_OP) & OP_MASK_OP]; ++ ++ if (entry == NULL) ++ return NULL; ++ ++ ++ while (entry != NULL) ++ { ++ if ((entry->opcode->match) == (opcode & entry->opcode->mask)) ++ return entry->opcode; ++ else ++ entry = entry->next; ++ } ++ ++ return NULL; ++} ++ ++/* nios2_disassemble does all the work of disassembling a New Jersey ++ instruction opcode */ ++ ++int ++nios2_disassemble (bfd_vma address, unsigned long opcode, ++ disassemble_info * info) ++{ ++ const struct nios2_opcode *op; ++ const char *argstr; ++ ++ info->bytes_per_line = INSNLEN; ++ info->bytes_per_chunk = INSNLEN; ++ info->display_endian = info->endian; ++ info->insn_info_valid = 1; ++ info->branch_delay_insns = 0; ++ info->data_size = 0; ++ info->insn_type = dis_nonbranch; ++ info->target = 0; ++ info->target2 = 0; ++ ++ /* Find the major opcode and use this to disassemble ++ the instruction and its arguments */ ++ op = nios2_find_opcode_hash (opcode); ++ ++ if (op != NULL) ++ { ++ bfd_boolean is_nop = FALSE; ++ if (op->pinfo == NIOS2_INSN_MACRO_MOV) ++ { ++ /* check for mov r0, r0 and if it is ++ change to nop */ ++ int dst, src; ++ dst = GET_INSN_FIELD (RRD, opcode); ++ src = GET_INSN_FIELD (RRS, opcode); ++ if (dst == 0 && src == 0) ++ { ++ (*info->fprintf_func) (info->stream, "nop"); ++ is_nop = TRUE; ++ } ++ else ++ { ++ (*info->fprintf_func) (info->stream, "%s", op->name); ++ } ++ } ++ else ++ { ++ (*info->fprintf_func) (info->stream, "%s", op->name); ++ } ++ ++ if (!is_nop) ++ { ++ argstr = op->args; ++ if (argstr != NULL && *argstr != '\0') ++ { ++ (*info->fprintf_func) (info->stream, "\t"); ++ while (*argstr != '\0') ++ { ++ nios2_print_insn_arg (argstr, opcode, address, info); ++ ++argstr; ++ } ++ } ++ } ++ } ++ else ++ { ++ /* Handle undefined instructions. */ ++ info->insn_type = dis_noninsn; ++ (*info->fprintf_func) (info->stream, "0x%x", opcode); ++ } ++ // this tells the caller how far to advance the program counter ++ return INSNLEN; ++} ++ ++/* The function nios2_print_insn_arg uses the character pointed ++ to by argptr to determine how it print the next token or separator ++ character in the arguments to an instruction */ ++int ++nios2_print_insn_arg (const char *argptr, ++ unsigned long opcode, bfd_vma address, ++ disassemble_info * info) ++{ ++ unsigned long i = 0; ++ unsigned long reg_base; ++ ++ assert (argptr != NULL); ++ assert (info != NULL); ++ ++ switch (*argptr) ++ { ++ case ',': ++ case '(': ++ case ')': ++ (*info->fprintf_func) (info->stream, "%c", *argptr); ++ break; ++ case 'd': ++ i = GET_INSN_FIELD (RRD, opcode); ++ ++ if (GET_INSN_FIELD (OP, opcode) == OP_MATCH_CUSTOM ++ && GET_INSN_FIELD (CUSTOM_C, opcode) == 0) ++ reg_base = COPROCREGBASE; ++ else ++ reg_base = 0; ++ ++ if (i < NUMREGNAMES) ++ (*info->fprintf_func) (info->stream, "%s", ++ nios2_regs[i + reg_base].name); ++ else ++ (*info->fprintf_func) (info->stream, "unknown"); ++ break; ++ case 's': ++ i = GET_INSN_FIELD (RRS, opcode); ++ ++ if (GET_INSN_FIELD (OP, opcode) == OP_MATCH_CUSTOM ++ && GET_INSN_FIELD (CUSTOM_A, opcode) == 0) ++ reg_base = COPROCREGBASE; ++ else ++ reg_base = 0; ++ ++ if (i < NUMREGNAMES) ++ (*info->fprintf_func) (info->stream, "%s", ++ nios2_regs[i + reg_base].name); ++ else ++ (*info->fprintf_func) (info->stream, "unknown"); ++ break; ++ case 't': ++ i = GET_INSN_FIELD (RRT, opcode); ++ ++ if (GET_INSN_FIELD (OP, opcode) == OP_MATCH_CUSTOM ++ && GET_INSN_FIELD (CUSTOM_B, opcode) == 0) ++ reg_base = COPROCREGBASE; ++ else ++ reg_base = 0; ++ ++ if (i < NUMREGNAMES) ++ (*info->fprintf_func) (info->stream, "%s", ++ nios2_regs[i + reg_base].name); ++ else ++ (*info->fprintf_func) (info->stream, "unknown"); ++ break; ++ case 'i': ++ /* 16-bit signed immediate */ ++ i = (signed) (GET_INSN_FIELD (IMM16, opcode) << 16) >> 16; ++ (*info->fprintf_func) (info->stream, "%d", i); ++ break; ++ case 'u': ++ /* 16-bit unsigned immediate */ ++ i = GET_INSN_FIELD (IMM16, opcode); ++ (*info->fprintf_func) (info->stream, "%d", i); ++ break; ++ case 'o': ++ /* 16-bit signed immediate address offset */ ++ i = (signed) (GET_INSN_FIELD (IMM16, opcode) << 16) >> 16; ++ address = address + 4 + i; /* NG changed to byte offset 1/9/03 */ ++ (*info->print_address_func) (address, info); ++ break; ++ case 'p': ++ /* 5-bit unsigned immediate */ ++ i = GET_INSN_FIELD (CACHE_OPX, opcode); ++ (*info->fprintf_func) (info->stream, "%d", i); ++ break; ++ case 'j': ++ /* 5-bit unsigned immediate */ ++ i = GET_INSN_FIELD (IMM5, opcode); ++ (*info->fprintf_func) (info->stream, "%d", i); ++ break; ++ case 'l': ++ /* 8-bit unsigned immediate */ ++ /* FIXME - not yet implemented */ ++ i = GET_INSN_FIELD (CUSTOM_N, opcode); ++ (*info->fprintf_func) (info->stream, "%u", i); ++ break; ++ case 'm': ++ /* 26-bit unsigned immediate */ ++ i = GET_INSN_FIELD (IMM26, opcode); ++ /* this translates to an address because its only used in call instructions */ ++ address = (address & 0xf0000000) | (i << 2); ++ (*info->print_address_func) (address, info); ++ break; ++ case 'c': ++ i = GET_INSN_FIELD (IMM5, opcode); /* ctrl register index */ ++ (*info->fprintf_func) (info->stream, "%s", ++ nios2_regs[CTLREGBASE + i].name); ++ break; ++ case 'b': ++ i = GET_INSN_FIELD (IMM5, opcode); ++ (*info->fprintf_func) (info->stream, "%d", i); ++ break; ++ default: ++ (*info->fprintf_func) (info->stream, "unknown"); ++ break; ++ } ++ return 0; ++} +Index: binutils-2.20.1/opcodes/nios2-opc.c +=================================================================== +--- /dev/null ++++ binutils-2.20.1/opcodes/nios2-opc.c +@@ -0,0 +1,330 @@ ++/* NOT ASSIGNED TO FSF. COPYRIGHT ALTERA. */ ++/* nios2-opc.c -- Altera New Jersey opcode list. ++ ++ Copyright (C) 2003 ++ by Nigel Gray (ngray@altera.com). ++ ++This file is part of GDB, GAS, and the GNU binutils. ++ ++GDB, GAS, and the GNU binutils are free software; you can redistribute ++them and/or modify them under the terms of the GNU General Public ++License as published by the Free Software Foundation; either version ++1, or (at your option) any later version. ++ ++GDB, GAS, and the GNU binutils are distributed in the hope that they ++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 this file; see the file COPYING. If not, write to the Free ++Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ ++ ++#include <stdio.h> ++#include "opcode/nios2.h" ++ ++/* Register string table */ ++ ++const struct nios2_reg nios2_builtin_regs[] = { ++ {"zero", 0}, ++ {"at", 1}, // assembler temporary ++ {"r2", 2}, ++ {"r3", 3}, ++ {"r4", 4}, ++ {"r5", 5}, ++ {"r6", 6}, ++ {"r7", 7}, ++ {"r8", 8}, ++ {"r9", 9}, ++ {"r10", 10}, ++ {"r11", 11}, ++ {"r12", 12}, ++ {"r13", 13}, ++ {"r14", 14}, ++ {"r15", 15}, ++ {"r16", 16}, ++ {"r17", 17}, ++ {"r18", 18}, ++ {"r19", 19}, ++ {"r20", 20}, ++ {"r21", 21}, ++ {"r22", 22}, ++ {"r23", 23}, ++ {"et", 24}, ++ {"bt", 25}, ++ {"gp", 26}, /* global pointer */ ++ {"sp", 27}, /* stack pointer */ ++ {"fp", 28}, /* frame pointer */ ++ {"ea", 29}, /* exception return address */ ++ {"ba", 30}, /* breakpoint return address */ ++ {"ra", 31}, /* return address */ ++ ++ /* alternative names for special registers */ ++ {"r0", 0}, ++ {"r1", 1}, ++ {"r24", 24}, ++ {"r25", 25}, ++ {"r26", 26}, ++ {"r27", 27}, ++ {"r28", 28}, ++ {"r29", 29}, ++ {"r30", 30}, ++ {"r31", 31}, ++ ++ /* control register names */ ++ {"status", 0}, ++ {"estatus", 1}, ++ {"bstatus", 2}, ++ {"ienable", 3}, ++ {"ipending", 4}, ++ {"cpuid", 5}, ++ {"ctl6", 6}, ++ {"exception", 7}, ++ {"pteaddr", 8}, ++ {"tlbacc", 9}, ++ {"tlbmisc", 10}, ++ {"fstatus", 11}, ++ {"badaddr", 12}, ++ {"config", 13}, ++ {"mpubase", 14}, ++ {"mpuacc", 15}, ++ {"ctl16", 16}, ++ {"ctl17", 17}, ++ {"ctl18", 18}, ++ {"ctl19", 19}, ++ {"ctl20", 20}, ++ {"ctl21", 21}, ++ {"ctl22", 22}, ++ {"ctl23", 23}, ++ {"ctl24", 24}, ++ {"ctl25", 25}, ++ {"ctl26", 26}, ++ {"ctl27", 27}, ++ {"ctl28", 28}, ++ {"ctl29", 29}, ++ {"ctl30", 30}, ++ {"ctl31", 31}, ++ ++ /* alternative names for special control registers */ ++ {"ctl0", 0}, ++ {"ctl1", 1}, ++ {"ctl2", 2}, ++ {"ctl3", 3}, ++ {"ctl4", 4}, ++ {"ctl5", 5}, ++ {"ctl7", 7}, ++ {"ctl8", 8}, ++ {"ctl9", 9}, ++ {"ctl10", 10}, ++ {"ctl11", 11}, ++ {"ctl12", 12}, ++ {"ctl13", 13}, ++ {"ctl14", 14}, ++ {"ctl15", 15}, ++ ++ ++ /* coprocessor register names */ ++ {"c0", 0}, ++ {"c1", 1}, ++ {"c2", 2}, ++ {"c3", 3}, ++ {"c4", 4}, ++ {"c5", 5}, ++ {"c6", 6}, ++ {"c7", 7}, ++ {"c8", 8}, ++ {"c9", 9}, ++ {"c10", 10}, ++ {"c11", 11}, ++ {"c12", 12}, ++ {"c13", 13}, ++ {"c14", 14}, ++ {"c15", 15}, ++ {"c16", 16}, ++ {"c17", 17}, ++ {"c18", 18}, ++ {"c19", 19}, ++ {"c20", 20}, ++ {"c21", 21}, ++ {"c22", 22}, ++ {"c23", 23}, ++ {"c24", 24}, ++ {"c25", 25}, ++ {"c26", 26}, ++ {"c27", 27}, ++ {"c28", 28}, ++ {"c29", 29}, ++ {"c30", 30}, ++ {"c31", 31}, ++}; ++ ++#define NIOS2_NUM_REGS \ ++ ((sizeof nios2_builtin_regs) / (sizeof (nios2_builtin_regs[0]))) ++const int nios2_num_builtin_regs = NIOS2_NUM_REGS; ++ ++/* const removed from the following to allow for dynamic extensions to the ++ * built-in instruction set. */ ++struct nios2_reg *nios2_regs = (struct nios2_reg *) nios2_builtin_regs; ++int nios2_num_regs = NIOS2_NUM_REGS; ++#undef NIOS2_NUM_REGS ++ ++/* overflow message string templates */ ++ ++char *overflow_msgs[] = { ++ "call target address 0x%08x out of range 0x%08x to 0x%08x", ++ "branch offset %d out of range %d to %d", ++ "%s offset %d out of range %d to %d", ++ "immediate value %d out of range %d to %d", ++ "immediate value %u out of range %u to %u", ++ "immediate value %u out of range %u to %u", ++ "custom instruction opcode %u out of range %u to %u", ++}; ++ ++ ++ ++/*-------------------------------------------------------------------------------- ++ This is the opcode table used by the New Jersey GNU as, disassembler and GDB ++ --------------------------------------------------------------------------------*/ ++ ++/* ++ The following letters can appear in the args field of the nios2_opcode ++ structure: ++ ++ c - a 5-bit control register index or break opcode ++ d - a 5-bit destination register index ++ s - a 5-bit left source register index ++ t - a 5-bit right source register index ++ i - a 16-bit signed immediate ++ u - a 16-bit unsigned immediate ++ ++ j - a 5-bit unsigned immediate ++ k - a 6-bit unsigned immediate ++ l - an 8-bit unsigned immediate ++ m - a 26-bit unsigned immediate ++*/ ++ ++/* *INDENT-OFF* */ ++/* FIXME: Re-format for GNU standards */ ++const struct nios2_opcode nios2_builtin_opcodes[] = ++{ ++ /* name, args, args_test num_args, match, mask, pinfo */ ++ {"add", "d,s,t", "d,s,t,E", 3, OP_MATCH_ADD, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, ++ {"addi", "t,s,i", "t,s,i,E", 3, OP_MATCH_ADDI, OP_MASK_IOP, NIOS2_INSN_ADDI, signed_immed16_overflow }, ++ {"subi", "t,s,i", "t,s,i,E", 3, OP_MATCH_ADDI, OP_MASK_IOP, NIOS2_INSN_MACRO, signed_immed16_overflow }, ++ {"and", "d,s,t", "d,s,t,E", 3, OP_MATCH_AND, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, ++ {"andhi", "t,s,u", "t,s,u,E", 3, OP_MATCH_ANDHI, OP_MASK_IOP, 0, unsigned_immed16_overflow }, ++ {"andi", "t,s,u", "t,s,u,E", 3, OP_MATCH_ANDI, OP_MASK_IOP, NIOS2_INSN_ANDI, unsigned_immed16_overflow }, ++ {"beq", "s,t,o", "s,t,o,E", 3, OP_MATCH_BEQ, OP_MASK_IOP, NIOS2_INSN_CBRANCH, branch_target_overflow }, ++ {"bge", "s,t,o", "s,t,o,E", 3, OP_MATCH_BGE, OP_MASK_IOP, NIOS2_INSN_CBRANCH, branch_target_overflow }, ++ {"bgeu", "s,t,o", "s,t,o,E", 3, OP_MATCH_BGEU, OP_MASK_IOP, NIOS2_INSN_CBRANCH, branch_target_overflow }, ++ {"bgt", "s,t,o", "s,t,o,E", 3, OP_MATCH_BLT, OP_MASK_IOP, NIOS2_INSN_MACRO|NIOS2_INSN_CBRANCH, branch_target_overflow }, ++ {"bgtu", "s,t,o", "s,t,o,E", 3, OP_MATCH_BLTU, OP_MASK_IOP, NIOS2_INSN_MACRO|NIOS2_INSN_CBRANCH, branch_target_overflow }, ++ {"ble", "s,t,o", "s,t,o,E", 3, OP_MATCH_BGE, OP_MASK_IOP, NIOS2_INSN_MACRO|NIOS2_INSN_CBRANCH, branch_target_overflow }, ++ {"bleu", "s,t,o", "s,t,o,E", 3, OP_MATCH_BGEU, OP_MASK_IOP, NIOS2_INSN_MACRO|NIOS2_INSN_CBRANCH, branch_target_overflow }, ++ {"blt", "s,t,o", "s,t,o,E", 3, OP_MATCH_BLT, OP_MASK_IOP, NIOS2_INSN_CBRANCH, branch_target_overflow }, ++ {"bltu", "s,t,o", "s,t,o,E", 3, OP_MATCH_BLTU, OP_MASK_IOP, NIOS2_INSN_CBRANCH, branch_target_overflow }, ++ {"bne", "s,t,o", "s,t,o,E", 3, OP_MATCH_BNE, OP_MASK_IOP, NIOS2_INSN_CBRANCH, branch_target_overflow }, ++ {"br", "o", "o,E", 1, OP_MATCH_BR, OP_MASK_IOP, NIOS2_INSN_UBRANCH, branch_target_overflow }, ++ {"break", "b", "b,E", 1, OP_MATCH_BREAK, OP_MASK_BREAK, 0, no_overflow }, ++ {"bret", "", "E", 0, OP_MATCH_BRET, OP_MASK, 0, no_overflow }, ++ {"flushd", "i(s)", "i(s)E", 2, OP_MATCH_FLUSHD, OP_MASK_IOP, 0, signed_immed16_overflow }, ++ {"flushda", "i(s)", "i(s)E", 2, OP_MATCH_FLUSHDA, OP_MASK_IOP, 0, signed_immed16_overflow }, ++ {"flushi", "s", "s,E", 1, OP_MATCH_FLUSHI, OP_MASK_FLUSHI, 0, no_overflow }, ++ {"flushp", "", "E", 0, OP_MATCH_FLUSHP, OP_MASK, 0, no_overflow }, ++ {"initd", "i(s)", "i(s)E", 2, OP_MATCH_INITD, OP_MASK_IOP, 0, signed_immed16_overflow }, ++ {"initda", "i(s)", "i(s)E", 2, OP_MATCH_INITDA, OP_MASK_IOP, 0, signed_immed16_overflow }, ++ {"initi", "s", "s,E", 1, OP_MATCH_INITI, OP_MASK_INITI, 0, no_overflow }, ++ {"call", "m", "m,E", 1, OP_MATCH_CALL, OP_MASK_IOP, NIOS2_INSN_CALL, call_target_overflow }, ++ {"callr", "s", "s,E", 1, OP_MATCH_CALLR, OP_MASK_CALLR, 0, no_overflow }, ++ {"cmpeq", "d,s,t", "d,s,t,E", 3, OP_MATCH_CMPEQ, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, ++ {"cmpeqi", "t,s,i", "t,s,i,E", 3, OP_MATCH_CMPEQI, OP_MASK_IOP, 0, signed_immed16_overflow }, ++ {"cmpge", "d,s,t", "d,s,t,E", 3, OP_MATCH_CMPGE, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, ++ {"cmpgei", "t,s,i", "t,s,i,E", 3, OP_MATCH_CMPGEI, OP_MASK_IOP, 0, signed_immed16_overflow }, ++ {"cmpgeu", "d,s,t", "d,s,t,E", 3, OP_MATCH_CMPGEU, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, ++ {"cmpgeui", "t,s,u", "t,s,u,E", 3, OP_MATCH_CMPGEUI, OP_MASK_IOP, 0, unsigned_immed16_overflow }, ++ {"cmpgt", "d,s,t", "d,s,t,E", 3, OP_MATCH_CMPLT, OP_MASK_ROPX | OP_MASK_ROP, NIOS2_INSN_MACRO, no_overflow }, ++ {"cmpgti", "t,s,i", "t,s,i,E", 3, OP_MATCH_CMPGEI, OP_MASK_IOP, NIOS2_INSN_MACRO, signed_immed16_overflow }, ++ {"cmpgtu", "d,s,t", "d,s,t,E", 3, OP_MATCH_CMPLTU, OP_MASK_ROPX | OP_MASK_ROP, NIOS2_INSN_MACRO, no_overflow }, ++ {"cmpgtui", "t,s,u", "t,s,u,E", 3, OP_MATCH_CMPGEUI, OP_MASK_IOP, NIOS2_INSN_MACRO, unsigned_immed16_overflow }, ++ {"cmple", "d,s,t", "d,s,t,E", 3, OP_MATCH_CMPGE, OP_MASK_ROPX | OP_MASK_ROP, NIOS2_INSN_MACRO, no_overflow }, ++ {"cmplei", "t,s,i", "t,s,i,E", 3, OP_MATCH_CMPLTI, OP_MASK_IOP, NIOS2_INSN_MACRO, signed_immed16_overflow }, ++ {"cmpleu", "d,s,t", "d,s,t,E", 3, OP_MATCH_CMPGEU, OP_MASK_ROPX | OP_MASK_ROP, NIOS2_INSN_MACRO, no_overflow }, ++ {"cmpleui", "t,s,u", "t,s,u,E", 3, OP_MATCH_CMPLTUI, OP_MASK_IOP, NIOS2_INSN_MACRO, unsigned_immed16_overflow }, ++ {"cmplt", "d,s,t", "d,s,t,E", 3, OP_MATCH_CMPLT, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, ++ {"cmplti", "t,s,i", "t,s,i,E", 3, OP_MATCH_CMPLTI, OP_MASK_IOP, 0, signed_immed16_overflow }, ++ {"cmpltu", "d,s,t", "d,s,t,E", 3, OP_MATCH_CMPLTU, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, ++ {"cmpltui", "t,s,u", "t,s,u,E", 3, OP_MATCH_CMPLTUI, OP_MASK_IOP, 0, unsigned_immed16_overflow }, ++ {"cmpne", "d,s,t", "d,s,t,E", 3, OP_MATCH_CMPNE, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, ++ {"cmpnei", "t,s,i", "t,s,i,E", 3, OP_MATCH_CMPNEI, OP_MASK_IOP, 0, signed_immed16_overflow }, ++ {"div", "d,s,t", "d,s,t,E", 3, OP_MATCH_DIV, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, ++ {"divu", "d,s,t", "d,s,t,E", 3, OP_MATCH_DIVU, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, ++ {"jmp", "s", "s,E", 1, OP_MATCH_JMP, OP_MASK_JMP, 0, no_overflow }, ++ {"jmpi", "m", "m,E", 1, OP_MATCH_JMPI, OP_MASK_IOP, 0, no_overflow }, ++ {"ldb", "t,i(s)", "t,i(s)E", 3, OP_MATCH_LDB, OP_MASK_IOP, 0, address_offset_overflow }, ++ {"ldbio", "t,i(s)", "t,i(s)E", 3, OP_MATCH_LDBIO, OP_MASK_IOP, 0, address_offset_overflow }, ++ {"ldbu", "t,i(s)", "t,i(s)E", 3, OP_MATCH_LDBU, OP_MASK_IOP, 0, address_offset_overflow }, ++ {"ldbuio", "t,i(s)", "t,i(s)E", 3, OP_MATCH_LDBUIO, OP_MASK_IOP, 0, address_offset_overflow }, ++ {"ldh", "t,i(s)", "t,i(s)E", 3, OP_MATCH_LDH, OP_MASK_IOP, 0, address_offset_overflow }, ++ {"ldhio", "t,i(s)", "t,i(s)E", 3, OP_MATCH_LDHIO, OP_MASK_IOP, 0, address_offset_overflow }, ++ {"ldhu", "t,i(s)", "t,i(s)E", 3, OP_MATCH_LDHU, OP_MASK_IOP, 0, address_offset_overflow }, ++ {"ldhuio", "t,i(s)", "t,i(s)E", 3, OP_MATCH_LDHUIO, OP_MASK_IOP, 0, address_offset_overflow }, ++ {"ldl", "t,i(s)", "t,i(s)E", 3, OP_MATCH_LDL, OP_MASK_IOP, 0, address_offset_overflow }, ++ {"ldw", "t,i(s)", "t,i(s)E", 3, OP_MATCH_LDW, OP_MASK_IOP, 0, address_offset_overflow }, ++ {"ldwio", "t,i(s)", "t,i(s)E", 3, OP_MATCH_LDWIO, OP_MASK_IOP, 0, address_offset_overflow }, ++ {"mov", "d,s", "d,s,E", 2, OP_MATCH_ADD, OP_MASK_RRT|OP_MASK_ROPX|OP_MASK_ROP, NIOS2_INSN_MACRO_MOV, no_overflow }, ++ {"movhi", "t,u", "t,u,E", 2, OP_MATCH_ORHI, OP_MASK_IRS|OP_MASK_IOP, NIOS2_INSN_MACRO_MOVI, unsigned_immed16_overflow }, ++ {"movui", "t,u", "t,u,E", 2, OP_MATCH_ORI, OP_MASK_IRS|OP_MASK_IOP, NIOS2_INSN_MACRO_MOVI, unsigned_immed16_overflow }, ++ {"movi", "t,i", "t,i,E", 2, OP_MATCH_ADDI, OP_MASK_IRS|OP_MASK_IOP, NIOS2_INSN_MACRO_MOVI, signed_immed16_overflow }, ++ /* movia expands to two instructions so there is no mask or match */ ++ {"movia", "t,o", "t,o,E", 2, OP_MATCH_ORHI, OP_MASK_IOP, NIOS2_INSN_MACRO_MOVIA, no_overflow }, ++ {"mul", "d,s,t", "d,s,t,E", 3, OP_MATCH_MUL, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, ++ {"muli", "t,s,i", "t,s,i,E", 3, OP_MATCH_MULI, OP_MASK_IOP, 0, signed_immed16_overflow }, ++ {"mulxss", "d,s,t", "d,s,t,E", 3, OP_MATCH_MULXSS, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, ++ {"mulxsu", "d,s,t", "d,s,t,E", 3, OP_MATCH_MULXSU, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, ++ {"mulxuu", "d,s,t", "d,s,t,E", 3, OP_MATCH_MULXUU, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, ++ {"nextpc", "d", "d,E", 1, OP_MATCH_NEXTPC, OP_MASK_NEXTPC, 0, no_overflow }, ++ {"nop", "", "E", 0, OP_MATCH_ADD, OP_MASK, NIOS2_INSN_MACRO_MOV, no_overflow }, ++ {"nor", "d,s,t", "d,s,t,E", 3, OP_MATCH_NOR, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, ++ {"or", "d,s,t", "d,s,t,E", 3, OP_MATCH_OR, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, ++ {"orhi", "t,s,u", "t,s,u,E", 3, OP_MATCH_ORHI, OP_MASK_IOP, 0, unsigned_immed16_overflow }, ++ {"ori", "t,s,u", "t,s,u,E", 3, OP_MATCH_ORI, OP_MASK_IOP, NIOS2_INSN_ORI, unsigned_immed16_overflow }, ++ {"rdctl", "d,c", "d,c,E", 2, OP_MATCH_RDCTL, OP_MASK_RDCTL, 0, no_overflow }, ++ {"ret", "", "E", 0, OP_MATCH_RET, OP_MASK, 0, no_overflow }, ++ {"rol", "d,s,t", "d,s,t,E", 3, OP_MATCH_ROL, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, ++ {"roli", "d,s,j", "d,s,j,E", 3, OP_MATCH_ROLI, OP_MASK_ROLI, 0, unsigned_immed5_overflow }, ++ {"ror", "d,s,t", "d,s,t,E", 3, OP_MATCH_ROR, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, ++ {"sll", "d,s,t", "d,s,t,E", 3, OP_MATCH_SLL, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, ++ {"slli", "d,s,j", "d,s,j,E", 3, OP_MATCH_SLLI, OP_MASK_SLLI, 0, unsigned_immed5_overflow }, ++ {"sra", "d,s,t", "d,s,t,E", 3, OP_MATCH_SRA, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, ++ {"srai", "d,s,j", "d,s,j,E", 3, OP_MATCH_SRAI, OP_MASK_SRAI, 0, unsigned_immed5_overflow }, ++ {"srl", "d,s,t", "d,s,t,E", 3, OP_MATCH_SRL, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, ++ {"srli", "d,s,j", "d,s,j,E", 3, OP_MATCH_SRLI, OP_MASK_SRLI, 0, unsigned_immed5_overflow }, ++ {"stb", "t,i(s)", "t,i(s)E", 3, OP_MATCH_STB, OP_MASK_IOP, 0, address_offset_overflow }, ++ {"stbio", "t,i(s)", "t,i(s)E", 3, OP_MATCH_STBIO, OP_MASK_IOP, 0, address_offset_overflow }, ++ {"stc", "t,i(s)", "t,i(s)E", 3, OP_MATCH_STC, OP_MASK_IOP, 0, address_offset_overflow }, ++ {"sth", "t,i(s)", "t,i(s)E", 3, OP_MATCH_STH, OP_MASK_IOP, 0, address_offset_overflow }, ++ {"sthio", "t,i(s)", "t,i(s)E", 3, OP_MATCH_STHIO, OP_MASK_IOP, 0, address_offset_overflow }, ++ {"stw", "t,i(s)", "t,i(s)E", 3, OP_MATCH_STW, OP_MASK_IOP, 0, address_offset_overflow }, ++ {"stwio", "t,i(s)", "t,i(s)E", 3, OP_MATCH_STWIO, OP_MASK_IOP, 0, address_offset_overflow }, ++ {"sub", "d,s,t", "d,s,t,E", 3, OP_MATCH_SUB, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, ++ {"sync", "", "E", 0, OP_MATCH_SYNC, OP_MASK_SYNC, 0, no_overflow }, ++ {"trap", "", "E", 0, OP_MATCH_TRAP, OP_MASK_TRAP, 0, no_overflow }, ++ {"eret", "", "E", 0, OP_MATCH_ERET, OP_MASK, 0, no_overflow }, ++ {"custom", "l,d,s,t", "l,d,s,t,E", 4, OP_MATCH_CUSTOM, OP_MASK_ROP, 0, custom_opcode_overflow }, ++ {"wrctl", "c,s", "c,s,E", 2, OP_MATCH_WRCTL, OP_MASK_WRCTL, 0, no_overflow }, ++ {"xor", "d,s,t", "d,s,t,E", 3, OP_MATCH_XOR, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, ++ {"xorhi", "t,s,u", "t,s,u,E", 3, OP_MATCH_XORHI, OP_MASK_IOP, 0, unsigned_immed16_overflow }, ++ {"xori", "t,s,u", "t,s,u,E", 3, OP_MATCH_XORI, OP_MASK_IOP, NIOS2_INSN_XORI, unsigned_immed16_overflow } ++}; ++/* *INDENT-ON* */ ++ ++#define NIOS2_NUM_OPCODES \ ++ ((sizeof nios2_builtin_opcodes) / (sizeof (nios2_builtin_opcodes[0]))) ++const int bfd_nios2_num_builtin_opcodes = NIOS2_NUM_OPCODES; ++ ++/* const removed from the following to allow for dynamic extensions to the ++ * built-in instruction set. */ ++struct nios2_opcode *nios2_opcodes = ++ (struct nios2_opcode *) nios2_builtin_opcodes; ++int bfd_nios2_num_opcodes = NIOS2_NUM_OPCODES; ++#undef NIOS2_NUM_OPCODES |