[coreboot-gerrit] New patch to review for coreboot: 975a883 DO NOT MERGE: Braswell: Add Braswell SOC support

Leroy P Leahy (leroy.p.leahy@intel.com) gerrit at coreboot.org
Fri May 1 22:35:54 CEST 2015


Leroy P Leahy (leroy.p.leahy at intel.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/10051

-gerrit

commit 975a883d62d69e07dcf22df0214a13677558b4b8
Author: Lee Leahy <leroy.p.leahy at intel.com>
Date:   Mon Apr 20 15:20:28 2015 -0700

    DO NOT MERGE: Braswell: Add Braswell SOC support
    
    Add the files to support the Braswell SOC.
    
    BRANCH=none
    BUG=None
    TEST=Build for a Braswell platform
    
    Change-Id: I968da68733e57647d0a08e4040ff0378b4d59004
    Signed-off-by: Lee Leahy <leroy.p.leahy at intel.com>
---
 src/soc/intel/braswell/Kconfig                    |   214 +
 src/soc/intel/braswell/Makefile.inc               |   114 +
 src/soc/intel/braswell/acpi.c                     |   588 +
 src/soc/intel/braswell/acpi/cpu.asl               |    89 +
 src/soc/intel/braswell/acpi/device_nvs.asl        |    87 +
 src/soc/intel/braswell/acpi/dptf/charger.asl      |    59 +
 src/soc/intel/braswell/acpi/dptf/cpu.asl          |   178 +
 src/soc/intel/braswell/acpi/dptf/dptf.asl         |    81 +
 src/soc/intel/braswell/acpi/dptf/thermal.asl      |   203 +
 src/soc/intel/braswell/acpi/dptf/wifi.asl         |    16 +
 src/soc/intel/braswell/acpi/dptf/wwan.asl         |    16 +
 src/soc/intel/braswell/acpi/globalnvs.asl         |   109 +
 src/soc/intel/braswell/acpi/gpio.asl              |   139 +
 src/soc/intel/braswell/acpi/irq_helper.h          |    48 +
 src/soc/intel/braswell/acpi/irqlinks.asl          |   493 +
 src/soc/intel/braswell/acpi/irqroute.asl          |    37 +
 src/soc/intel/braswell/acpi/lpc.asl               |   169 +
 src/soc/intel/braswell/acpi/lpe.asl               |   119 +
 src/soc/intel/braswell/acpi/lpss.asl              |   712 +
 src/soc/intel/braswell/acpi/platform.asl          |    80 +
 src/soc/intel/braswell/acpi/scc.asl               |   187 +
 src/soc/intel/braswell/acpi/sleepstates.asl       |    26 +
 src/soc/intel/braswell/acpi/southcluster.asl      |   270 +
 src/soc/intel/braswell/acpi/xhci.asl              |    36 +
 src/soc/intel/braswell/bootblock/Makefile.inc     |     1 +
 src/soc/intel/braswell/bootblock/bootblock.c      |    82 +
 src/soc/intel/braswell/bootblock/timestamp.inc    |    21 +
 src/soc/intel/braswell/chip.c                     |   116 +
 src/soc/intel/braswell/chip.h                     |   114 +
 src/soc/intel/braswell/cpu.c                      |   276 +
 src/soc/intel/braswell/elog.c                     |   111 +
 src/soc/intel/braswell/emmc.c                     |    66 +
 src/soc/intel/braswell/gfx.c                      |   114 +
 src/soc/intel/braswell/gpio.c                     |   320 +
 src/soc/intel/braswell/gpio_support.c             |    87 +
 src/soc/intel/braswell/hda.c                      |    47 +
 src/soc/intel/braswell/include/chipset_fsp_util.h |    42 +
 src/soc/intel/braswell/include/soc/acpi.h         |    38 +
 src/soc/intel/braswell/include/soc/device_nvs.h   |    68 +
 src/soc/intel/braswell/include/soc/ehci.h         |    28 +
 src/soc/intel/braswell/include/soc/gfx.h          |    98 +
 src/soc/intel/braswell/include/soc/gpio.h         |   543 +
 src/soc/intel/braswell/include/soc/hda.h          |    45 +
 src/soc/intel/braswell/include/soc/iomap.h        |    92 +
 src/soc/intel/braswell/include/soc/iosf.h         |   229 +
 src/soc/intel/braswell/include/soc/irq.h          |   220 +
 src/soc/intel/braswell/include/soc/lpc.h          |    55 +
 src/soc/intel/braswell/include/soc/msr.h          |    52 +
 src/soc/intel/braswell/include/soc/nvs.h          |    79 +
 src/soc/intel/braswell/include/soc/pattrs.h       |    64 +
 src/soc/intel/braswell/include/soc/pci_devs.h     |   154 +
 src/soc/intel/braswell/include/soc/pcie.h         |   103 +
 src/soc/intel/braswell/include/soc/pei_data.h     |    68 +
 src/soc/intel/braswell/include/soc/pei_wrapper.h  |    30 +
 src/soc/intel/braswell/include/soc/pm.h           |   310 +
 src/soc/intel/braswell/include/soc/ramstage.h     |    41 +
 src/soc/intel/braswell/include/soc/romstage.h     |    44 +
 src/soc/intel/braswell/include/soc/sata.h         |   155 +
 src/soc/intel/braswell/include/soc/smm.h          |    37 +
 src/soc/intel/braswell/include/soc/spi.h          |    76 +
 src/soc/intel/braswell/include/soc/xhci.h         |    51 +
 src/soc/intel/braswell/iosf.c                     |   196 +
 src/soc/intel/braswell/lpe.c                      |   195 +
 src/soc/intel/braswell/lpss.c                     |   203 +
 src/soc/intel/braswell/memmap.c                   |    57 +
 src/soc/intel/braswell/microcode/M01406C221D.h    | 17152 ++++++++++++++++++++
 src/soc/intel/braswell/microcode/M01406C3337.h    | 17152 ++++++++++++++++++++
 src/soc/intel/braswell/microcode/Makefile.inc     |    13 +
 src/soc/intel/braswell/microcode/microcode_blob.c |     4 +
 src/soc/intel/braswell/northcluster.c             |   161 +
 src/soc/intel/braswell/pcie.c                     |   281 +
 src/soc/intel/braswell/placeholders.c             |     8 +
 src/soc/intel/braswell/pmutil.c                   |   364 +
 src/soc/intel/braswell/ramstage.c                 |   204 +
 src/soc/intel/braswell/romstage/Makefile.inc      |     5 +
 src/soc/intel/braswell/romstage/early_spi.c       |    68 +
 src/soc/intel/braswell/romstage/gfx.c             |    53 +
 src/soc/intel/braswell/romstage/pmc.c             |    32 +
 src/soc/intel/braswell/romstage/romstage.c        |   202 +
 src/soc/intel/braswell/sata.c                     |    64 +
 src/soc/intel/braswell/scc.c                      |    73 +
 src/soc/intel/braswell/sd.c                       |    72 +
 src/soc/intel/braswell/smihandler.c               |   435 +
 src/soc/intel/braswell/smm.c                      |   137 +
 src/soc/intel/braswell/southcluster.c             |   550 +
 src/soc/intel/braswell/spi.c                      |   599 +
 src/soc/intel/braswell/spi_loading.c              |   154 +
 src/soc/intel/braswell/stage_cache.c              |    38 +
 src/soc/intel/braswell/tsc_freq.c                 |    70 +
 src/soc/intel/braswell/xhci.c                     |    82 +
 90 files changed, 46771 insertions(+)

diff --git a/src/soc/intel/braswell/Kconfig b/src/soc/intel/braswell/Kconfig
new file mode 100644
index 0000000..e1309b8
--- /dev/null
+++ b/src/soc/intel/braswell/Kconfig
@@ -0,0 +1,214 @@
+
+config SOC_INTEL_BRASWELL
+	bool
+	help
+	  Braswell M/D part support.
+
+if SOC_INTEL_BRASWELL
+
+config CPU_SPECIFIC_OPTIONS
+	def_bool y
+	select ARCH_BOOTBLOCK_X86_32
+	select ARCH_RAMSTAGE_X86_32
+	select ARCH_ROMSTAGE_X86_32
+	select ARCH_VERSTAGE_X86_32
+	select BACKUP_DEFAULT_SMM_REGION
+	select CACHE_MRC_SETTINGS
+	select CACHE_RELOCATED_RAMSTAGE_OUTSIDE_CBMEM
+	select CACHE_ROM
+	select CAR_MIGRATION
+	select COLLECT_TIMESTAMPS
+	select CPU_MICROCODE_IN_CBFS
+	select CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED
+	select DYNAMIC_CBMEM
+	select HAS_PRECBMEM_TIMESTAMP_REGION
+	select HAVE_MONOTONIC_TIMER
+	select HAVE_SMI_HANDLER
+	select HAVE_HARD_RESET
+	select MMCONF_SUPPORT
+	select MMCONF_SUPPORT_DEFAULT
+	select RELOCATABLE_MODULES
+	select PARALLEL_MP
+	select PCIEXP_ASPM
+	select PCIEXP_COMMON_CLOCK
+	select PLATFORM_USES_FSP1_1
+	select SOC_INTEL_COMMON
+	select SOC_INTEL_COMMON_RAM_INIT
+	select SOC_INTEL_COMMON_RESET
+	select SOC_INTEL_COMMON_ROMSTAGE
+	select SOC_INTEL_COMMON_STACK
+	select SMM_MODULES
+	select SMM_TSEG
+	select SMP
+	select SPI_FLASH
+	select SSE2
+	select SUPPORT_CPU_UCODE_IN_CBFS
+	select TSC_CONSTANT_RATE
+	select TSC_MONOTONIC_TIMER
+	select TSC_SYNC_MFENCE
+	select UDELAY_TSC
+	select USE_GENERIC_FSP_CAR_INC
+
+config BOOTBLOCK_CPU_INIT
+	string
+	default "soc/intel/braswell/bootblock/bootblock.c"
+
+config MMCONF_BASE_ADDRESS
+	hex "PCIe CFG Base Address"
+	default 0xe0000000
+
+config MAX_CPUS
+	int
+	default 4
+
+config CPU_ADDR_BITS
+	int
+	default 36
+
+config SMM_TSEG_SIZE
+	hex
+	default 0x800000
+
+config SMM_RESERVED_SIZE
+	hex
+	default 0x100000
+
+# Cache As RAM region layout:
+#
+# +-------------+ DCACHE_RAM_BASE + DCACHE_RAM_SIZE
+# |  Stack      |\
+# |    |        | * DCACHE_RAM_ROMSTAGE_STACK_SIZE
+# |    v        |/
+# +-------------+
+# |    ^        |
+# |    |        |
+# | CAR Globals |
+# +-------------+ DCACHE_RAM_BASE
+#
+
+config DCACHE_RAM_BASE
+	hex "Temporary RAM Base Address"
+	default 0xfef00000
+
+config DCACHE_RAM_SIZE
+	hex "Temporary RAM Size"
+	default 0x4000
+	help
+	  The size of the cache-as-ram region required during bootblock
+	  and/or romstage. Note DCACHE_RAM_SIZE and DCACHE_RAM_MRC_VAR_SIZE
+	  must add up to a power of 2.
+
+config DCACHE_RAM_ROMSTAGE_STACK_SIZE
+	hex
+	default 0x800
+	help
+	  The amount of anticipated stack usage from the data cache
+	  during pre-ram rom stage execution.
+
+config RESET_ON_INVALID_RAMSTAGE_CACHE
+	bool "Reset the system on S3 wake when ramstage cache invalid."
+	default n
+	depends on RELOCATABLE_RAMSTAGE
+	help
+	  The haswell romstage code caches the loaded ramstage program
+	  in SMM space. On S3 wake the romstage will copy over a fresh
+	  ramstage that was cached in the SMM space. This option determines
+	  the action to take when the ramstage cache is invalid. If selected
+	  the system will reset otherwise the ramstage will be reloaded from
+	  cbfs.
+
+config CBFS_SIZE
+	hex "Size of CBFS filesystem in ROM"
+	default 0x100000
+	help
+	  The firmware image has to store a lot more than just coreboot,
+	  including:
+	   - a firmware descriptor
+	   - Intel Management Engine firmware
+	   - MRC cache information
+	  This option allows to limit the size of the CBFS portion in the
+	  firmware image.
+
+config LOCK_MANAGEMENT_ENGINE
+	bool "Lock Management Engine section"
+	default n
+	help
+	  The Intel Management Engine supports preventing write accesses
+	  from the host to the Management Engine section in the firmware
+	  descriptor. If the ME section is locked, it can only be overwritten
+	  with an external SPI flash programmer. You will want this if you
+	  want to increase security of your ROM image once you are sure
+	  that the ME firmware is no longer going to change.
+
+	  If unsure, say N.
+
+config ENABLE_BUILTIN_COM1
+	bool "Enable builtin COM1 Serial Port"
+	default n
+	help
+	  The PMC has a legacy COM1 serial port. Choose this option to
+	  configure the pads and enable it. This serial port can be used for
+	  the debug console.
+
+config HAVE_IFD_BIN
+	bool
+	default y
+
+config BUILD_WITH_FAKE_IFD
+	bool "Build with a fake IFD"
+	default y if !HAVE_IFD_BIN
+	help
+	  If you don't have an Intel Firmware Descriptor (ifd.bin) for your
+	  board, you can select this option and coreboot will build without it.
+	  Though, the resulting coreboot.rom will not contain all parts required
+	  to get coreboot running on your board. You can however write only the
+	  BIOS section to your board's flash ROM and keep the other sections
+	  untouched. Unfortunately the current version of flashrom doesn't
+	  support this yet. But there is a patch pending [1].
+
+	  WARNING: Never write a complete coreboot.rom to your flash ROM if it
+		   was built with a fake IFD. It just won't work.
+
+	  [1] http://www.flashrom.org/pipermail/flashrom/2013-June/011083.html
+
+config HAVE_ME_BIN
+	bool "Add Intel Management Engine firmware"
+	default y
+	help
+	  The Intel processor in the selected system requires a special firmware
+	  for an integrated controller called Management Engine (ME). The ME
+	  firmware might be provided in coreboot's 3rdparty repository. If
+	  not and if you don't have the firmware elsewhere, you can still
+	  build coreboot without it. In this case however, you'll have to make
+	  sure that you don't overwrite your ME firmware on your flash ROM.
+
+config IED_REGION_SIZE
+	hex
+	default 0x400000
+
+config IFD_BIN_PATH
+	string "Path to intel firmware descriptor"
+	depends on !BUILD_WITH_FAKE_IFD
+	default "3rdparty/mainboard/$(MAINBOARDDIR)/descriptor.bin"
+
+config IFD_BIOS_SECTION
+	depends on BUILD_WITH_FAKE_IFD
+	string
+	default ""
+
+config IFD_ME_SECTION
+	depends on BUILD_WITH_FAKE_IFD
+	string
+	default ""
+
+config IFD_PLATFORM_SECTION
+	depends on BUILD_WITH_FAKE_IFD
+	string
+	default ""
+
+config ME_BIN_PATH
+	string "Path to management engine firmware"
+	depends on HAVE_ME_BIN
+	default "3rdparty/mainboard/$(MAINBOARDDIR)/me.bin"
+
+endif
diff --git a/src/soc/intel/braswell/Makefile.inc b/src/soc/intel/braswell/Makefile.inc
new file mode 100644
index 0000000..723526c
--- /dev/null
+++ b/src/soc/intel/braswell/Makefile.inc
@@ -0,0 +1,114 @@
+subdirs-y += bootblock
+subdirs-y += microcode
+subdirs-y += romstage
+subdirs-y += ../common
+subdirs-y += ../../../cpu/x86/lapic
+subdirs-y += ../../../cpu/x86/mtrr
+subdirs-y += ../../../cpu/x86/smm
+subdirs-y += ../../../cpu/x86/tsc
+subdirs-y += ../../../cpu/intel/microcode
+subdirs-y += ../../../cpu/intel/turbo
+
+romstage-y += gpio_support.c
+romstage-y += iosf.c
+romstage-y += memmap.c
+romstage-y += stage_cache.c
+romstage-y += tsc_freq.c
+
+ramstage-y += acpi.c
+ramstage-y += chip.c
+ramstage-y += cpu.c
+ramstage-$(CONFIG_ELOG) += elog.c
+ramstage-y += emmc.c
+ramstage-y += gpio.c
+ifeq ($(CONFIG_GOP_SUPPORT),n)
+ramstage-y += gfx.c
+endif
+ramstage-y += hda.c
+ramstage-y += iosf.c
+ramstage-y += lpe.c
+ramstage-y += lpss.c
+ramstage-y += memmap.c
+ramstage-y += northcluster.c
+ramstage-y += pcie.c
+ramstage-y += pmutil.c
+ramstage-y += ramstage.c
+ramstage-y += sata.c
+ramstage-y += scc.c
+ramstage-y += sd.c
+ramstage-y += smm.c
+ramstage-y += southcluster.c
+ramstage-y += spi.c
+ramstage-$(CONFIG_ALT_CBFS_LOAD_PAYLOAD) += spi_loading.c
+ramstage-y += stage_cache.c
+ramstage-y += tsc_freq.c
+ramstage-y += xhci.c
+
+# Remove as ramstage gets fleshed out
+ramstage-y += placeholders.c
+
+smm-y += pmutil.c
+smm-y += smihandler.c
+smm-y += spi.c
+smm-y += tsc_freq.c
+
+CPPFLAGS_common += -I$(src)/arch/x86/include/
+CPPFLAGS_common += -I$(src)/soc/intel/braswell/
+CPPFLAGS_common += -I$(src)/soc/intel/braswell/include
+
+CPPFLAGS_common += -I$(src)/drivers/intel/fsp1_1
+CPPFLAGS_common += -I$(src)/vendorcode/intel/fsp/fsp1_1
+CPPFLAGS_common += -I$(src)/vendorcode/intel/edk2/uefi_2.4
+CPPFLAGS_common += -I$(src)/vendorcode/intel/edk2/uefi_2.4/MdePkg/Include
+CPPFLAGS_common += -I$(src)/vendorcode/intel/edk2/uefi_2.4/MdePkg/Include/Ia32
+CPPFLAGS_common += -I$(CONFIG_FSP_INCLUDE_PATH)
+
+# Run an intermediate step when producing coreboot.rom
+# that adds additional components to the final firmware
+# image outside of CBFS
+INTERMEDIATE := pch_add_me
+
+ifeq ($(CONFIG_BUILD_WITH_FAKE_IFD),y)
+IFD_BIN_PATH := $(objgenerated)/ifdfake.bin
+IFD_SECTIONS := $(addprefix -b ,$(CONFIG_IFD_BIOS_SECTION:"%"=%)) \
+		$(addprefix -m ,$(CONFIG_IFD_ME_SECTION:"%"=%)) \
+		$(addprefix -p ,$(CONFIG_IFD_PLATFORM_SECTION:"%"=%))
+else
+IFD_BIN_PATH := $(CONFIG_IFD_BIN_PATH)
+endif
+
+pch_add_me: $(obj)/coreboot.pre $(IFDTOOL) $(IFDFAKE)
+ifeq ($(CONFIG_BUILD_WITH_FAKE_IFD),y)
+	printf "\n** WARNING **\n"
+	printf "Coreboot will be built with a fake Intel Firmware Descriptor (IFD).\n"
+	printf "Never write a complete coreboot.rom with a fake IFD to your board's\n"
+	printf "flash ROM! Make sure that you only write valid flash regions.\n\n"
+	printf "    IFDFAKE    Building a fake Intel Firmware Descriptor\n"
+	$(IFDFAKE) $(IFD_SECTIONS) $(IFD_BIN_PATH)
+endif
+	printf "    DD         Adding Intel Firmware Descriptor\n"
+	printf "CONFIG_IFD_BIN_PATH: $(CONFIG_IFD_BIN_PATH)\n"
+	printf "IFD_BIN_PATH: $(IFD_BIN_PATH)\n"
+	dd if=$(IFD_BIN_PATH) \
+		of=$(obj)/coreboot.pre conv=notrunc >/dev/null 2>&1
+	printf "CONFIG_HAVE_ME_BIN: $(CONFIG_HAVE_ME_BIN)\n"
+ifeq ($(CONFIG_HAVE_ME_BIN),y)
+	printf "    IFDTOOL    me.bin -> coreboot.pre\n"
+	printf "CONFIG_ME_BIN_PATH: $(CONFIG_ME_BIN_PATH)\n"
+	$(objutil)/ifdtool/ifdtool \
+		-i ME:$(CONFIG_ME_BIN_PATH) \
+		$(obj)/coreboot.pre
+	mv $(obj)/coreboot.pre.new $(obj)/coreboot.pre
+endif
+
+ifeq ($(CONFIG_LOCK_MANAGEMENT_ENGINE),y)
+	printf "    IFDTOOL    Locking Management Engine\n"
+	$(objutil)/ifdtool/ifdtool -l $(obj)/coreboot.pre
+	mv $(obj)/coreboot.pre.new $(obj)/coreboot.pre
+else
+	printf "    IFDTOOL    Unlocking Management Engine\n"
+	$(objutil)/ifdtool/ifdtool -u $(obj)/coreboot.pre
+	mv $(obj)/coreboot.pre.new $(obj)/coreboot.pre
+endif
+
+PHONY += pch_add_me
diff --git a/src/soc/intel/braswell/acpi.c b/src/soc/intel/braswell/acpi.c
new file mode 100644
index 0000000..7acac9d
--- /dev/null
+++ b/src/soc/intel/braswell/acpi.c
@@ -0,0 +1,588 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007-2009 coresystems GmbH
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <arch/acpi.h>
+#include <arch/acpigen.h>
+#include <arch/cpu.h>
+#include <arch/io.h>
+#include <arch/smp/mpspec.h>
+#include <cbfs_core.h>
+#include <cbmem.h>
+#include <console/console.h>
+#include <cpu/intel/turbo.h>
+#include <cpu/x86/msr.h>
+#include <cpu/x86/smm.h>
+#include <cpu/x86/tsc.h>
+#include <device/pci.h>
+#include <device/pci_ids.h>
+#include <ec/google/chromeec/ec.h>
+#include <fsp_gop.h>
+#include <soc/acpi.h>
+#include <soc/gfx.h>
+#include <soc/iomap.h>
+#include <soc/irq.h>
+#include <soc/msr.h>
+#include <soc/pattrs.h>
+#include <soc/pci_devs.h>
+#include <soc/pm.h>
+#include <string.h>
+#include <types.h>
+#include <vendorcode/google/chromeos/gnvs.h>
+
+#define MWAIT_RES(state, sub_state)                         \
+	{                                                   \
+		.addrl = (((state) << 4) | (sub_state)),    \
+		.space_id = ACPI_ADDRESS_SPACE_FIXED,       \
+		.bit_width = ACPI_FFIXEDHW_VENDOR_INTEL,    \
+		.bit_offset = ACPI_FFIXEDHW_CLASS_MWAIT,    \
+		.access_size = ACPI_FFIXEDHW_FLAG_HW_COORD, \
+	}
+
+/* C-state map without S0ix */
+static acpi_cstate_t cstate_map[] = {
+	{
+		/* C1 */
+		.ctype = 1, /* ACPI C1 */
+		.latency = 1,
+		.power = 1000,
+		.resource = MWAIT_RES(0, 0),
+	},
+	{
+		/* C6NS with no L2 shrink */
+		/* NOTE: this substate is above CPUID limit */
+		.ctype = 2, /* ACPI C2 */
+		.latency = 500,
+		.power = 10,
+		.resource = MWAIT_RES(5, 1),
+	},
+	{
+		/* C6FS with full L2 shrink */
+		.ctype = 3, /* ACPI C3 */
+		.latency = 1500, /* 1.5ms worst case */
+		.power = 1,
+		.resource = MWAIT_RES(5, 2),
+	}
+};
+
+void acpi_init_gnvs(global_nvs_t *gnvs)
+{
+	/* Set unknown wake source */
+	gnvs->pm1i = -1;
+
+	/* CPU core count */
+	gnvs->pcnt = dev_count_cpu();
+
+	/* Top of Low Memory (start of resource allocation) */
+	gnvs->tolm = nc_read_top_of_low_memory();
+
+#if IS_ENABLED(CONFIG_CONSOLE_CBMEM)
+	/* Update the mem console pointer. */
+	gnvs->cbmc = (u32)cbmem_find(CBMEM_ID_CONSOLE);
+#endif
+
+#if IS_ENABLED(CONFIG_CHROMEOS)
+	/* Initialize Verified Boot data */
+	chromeos_init_vboot(&(gnvs->chromeos));
+#if IS_ENABLED(CONFIG_EC_GOOGLE_CHROMEEC)
+	gnvs->chromeos.vbt2 = google_ec_running_ro() ?
+		ACTIVE_ECFW_RO : ACTIVE_ECFW_RW;
+#endif
+#endif
+}
+
+static int acpi_sci_irq(void)
+{
+	void *actl = (void *)(ILB_BASE_ADDRESS + ACTL);
+	int scis;
+	static int sci_irq;
+
+	if (sci_irq)
+		return sci_irq;
+
+	/* Determine how SCI is routed. */
+	scis = read32(actl) & SCIS_MASK;
+	switch (scis) {
+	case SCIS_IRQ9:
+	case SCIS_IRQ10:
+	case SCIS_IRQ11:
+		sci_irq = scis - SCIS_IRQ9 + 9;
+		break;
+	case SCIS_IRQ20:
+	case SCIS_IRQ21:
+	case SCIS_IRQ22:
+	case SCIS_IRQ23:
+		sci_irq = scis - SCIS_IRQ20 + 20;
+		break;
+	default:
+		printk(BIOS_DEBUG, "Invalid SCI route! Defaulting to IRQ9.\n");
+		sci_irq = 9;
+		break;
+	}
+
+	printk(BIOS_DEBUG, "SCI is IRQ%d\n", sci_irq);
+	return sci_irq;
+}
+
+void acpi_create_intel_hpet(acpi_hpet_t *hpet)
+{
+	acpi_header_t *header = &(hpet->header);
+	acpi_addr_t *addr = &(hpet->addr);
+
+	memset((void *) hpet, 0, sizeof(acpi_hpet_t));
+
+	/* fill out header fields */
+	memcpy(header->signature, "HPET", 4);
+	memcpy(header->oem_id, OEM_ID, 6);
+	memcpy(header->oem_table_id, ACPI_TABLE_CREATOR, 8);
+	memcpy(header->asl_compiler_id, ASLC, 4);
+
+	header->length = sizeof(acpi_hpet_t);
+	header->revision = 1;
+
+	/* fill out HPET address */
+	addr->space_id = 0;	/* Memory */
+	addr->bit_width = 64;
+	addr->bit_offset = 0;
+	addr->addrl = (unsigned long long)HPET_BASE_ADDRESS & 0xffffffff;
+	addr->addrh = (unsigned long long)HPET_BASE_ADDRESS >> 32;
+
+	hpet->id = 0x8086a201;	/* Intel */
+	hpet->number = 0x00;
+	hpet->min_tick = 0x0080;
+
+	header->checksum =
+	    acpi_checksum((void *) hpet, sizeof(acpi_hpet_t));
+}
+
+unsigned long acpi_fill_mcfg(unsigned long current)
+{
+	current += acpi_create_mcfg_mmconfig((acpi_mcfg_mmconfig_t *)current,
+					     MCFG_BASE_ADDRESS, 0, 0, 255);
+	return current;
+}
+
+void acpi_fill_in_fadt(acpi_fadt_t *fadt)
+{
+	const uint16_t pmbase = ACPI_BASE_ADDRESS;
+
+	fadt->sci_int = acpi_sci_irq();
+	fadt->smi_cmd = APM_CNT;
+	fadt->acpi_enable = APM_CNT_ACPI_ENABLE;
+	fadt->acpi_disable = APM_CNT_ACPI_DISABLE;
+	fadt->s4bios_req = 0x0;
+	fadt->pstate_cnt = 0;
+
+	fadt->pm1a_evt_blk = pmbase + PM1_STS;
+	fadt->pm1b_evt_blk = 0x0;
+	fadt->pm1a_cnt_blk = pmbase + PM1_CNT;
+	fadt->pm1b_cnt_blk = 0x0;
+	fadt->pm2_cnt_blk = pmbase + PM2A_CNT_BLK;
+	fadt->pm_tmr_blk = pmbase + PM1_TMR;
+	fadt->gpe0_blk = pmbase + GPE0_STS;
+	fadt->gpe1_blk = 0;
+
+	fadt->pm1_evt_len = 4;
+	fadt->pm1_cnt_len = 2;
+	fadt->pm2_cnt_len = 1;
+	fadt->pm_tmr_len = 4;
+	fadt->gpe0_blk_len = 2 * (GPE0_EN - GPE0_STS);
+	fadt->gpe1_blk_len = 0;
+	fadt->gpe1_base = 0;
+	fadt->cst_cnt = 0;
+	fadt->p_lvl2_lat = 1;
+	fadt->p_lvl3_lat = 87;
+	fadt->flush_size = 1024;
+	fadt->flush_stride = 16;
+	fadt->duty_offset = 1;
+	fadt->duty_width = 0;
+	fadt->day_alrm = 0xd;
+	fadt->mon_alrm = 0x00;
+	fadt->century = 0x00;
+	fadt->iapc_boot_arch = ACPI_FADT_LEGACY_DEVICES | ACPI_FADT_8042;
+
+	fadt->flags = ACPI_FADT_WBINVD | ACPI_FADT_C1_SUPPORTED |
+			ACPI_FADT_C2_MP_SUPPORTED | ACPI_FADT_SLEEP_BUTTON |
+			ACPI_FADT_RESET_REGISTER | ACPI_FADT_SEALED_CASE |
+			ACPI_FADT_S4_RTC_WAKE | ACPI_FADT_PLATFORM_CLOCK;
+
+	fadt->reset_reg.space_id = 1;
+	fadt->reset_reg.bit_width = 8;
+	fadt->reset_reg.bit_offset = 0;
+	fadt->reset_reg.resv = 0;
+	fadt->reset_reg.addrl = 0xcf9;
+	fadt->reset_reg.addrh = 0;
+	fadt->reset_value = 6;
+
+	fadt->x_pm1a_evt_blk.space_id = 1;
+	fadt->x_pm1a_evt_blk.bit_width = fadt->pm1_evt_len * 8;
+	fadt->x_pm1a_evt_blk.bit_offset = 0;
+	fadt->x_pm1a_evt_blk.resv = 0;
+	fadt->x_pm1a_evt_blk.addrl = pmbase + PM1_STS;
+	fadt->x_pm1a_evt_blk.addrh = 0x0;
+
+	fadt->x_pm1b_evt_blk.space_id = 1;
+	fadt->x_pm1b_evt_blk.bit_width = 0;
+	fadt->x_pm1b_evt_blk.bit_offset = 0;
+	fadt->x_pm1b_evt_blk.resv = 0;
+	fadt->x_pm1b_evt_blk.addrl = 0x0;
+	fadt->x_pm1b_evt_blk.addrh = 0x0;
+
+	fadt->x_pm1a_cnt_blk.space_id = 1;
+	fadt->x_pm1a_cnt_blk.bit_width = fadt->pm1_cnt_len * 8;
+	fadt->x_pm1a_cnt_blk.bit_offset = 0;
+	fadt->x_pm1a_cnt_blk.resv = 0;
+	fadt->x_pm1a_cnt_blk.addrl = pmbase + PM1_CNT;
+	fadt->x_pm1a_cnt_blk.addrh = 0x0;
+
+	fadt->x_pm1b_cnt_blk.space_id = 1;
+	fadt->x_pm1b_cnt_blk.bit_width = 0;
+	fadt->x_pm1b_cnt_blk.bit_offset = 0;
+	fadt->x_pm1b_cnt_blk.resv = 0;
+	fadt->x_pm1b_cnt_blk.addrl = 0x0;
+	fadt->x_pm1b_cnt_blk.addrh = 0x0;
+
+	fadt->x_pm2_cnt_blk.space_id = 1;
+	fadt->x_pm2_cnt_blk.bit_width = fadt->pm2_cnt_len * 8;
+	fadt->x_pm2_cnt_blk.bit_offset = 0;
+	fadt->x_pm2_cnt_blk.resv = 0;
+	fadt->x_pm2_cnt_blk.addrl = pmbase + PM2A_CNT_BLK;
+	fadt->x_pm2_cnt_blk.addrh = 0x0;
+
+	fadt->x_pm_tmr_blk.space_id = 1;
+	fadt->x_pm_tmr_blk.bit_width = fadt->pm_tmr_len * 8;
+	fadt->x_pm_tmr_blk.bit_offset = 0;
+	fadt->x_pm_tmr_blk.resv = 0;
+	fadt->x_pm_tmr_blk.addrl = pmbase + PM1_TMR;
+	fadt->x_pm_tmr_blk.addrh = 0x0;
+
+	fadt->x_gpe0_blk.space_id = 1;
+	fadt->x_gpe0_blk.bit_width = fadt->gpe0_blk_len * 8;
+	fadt->x_gpe0_blk.bit_offset = 0;
+	fadt->x_gpe0_blk.resv = 0;
+	fadt->x_gpe0_blk.addrl = pmbase + GPE0_STS;
+	fadt->x_gpe0_blk.addrh = 0x0;
+
+	fadt->x_gpe1_blk.space_id = 1;
+	fadt->x_gpe1_blk.bit_width = 0;
+	fadt->x_gpe1_blk.bit_offset = 0;
+	fadt->x_gpe1_blk.resv = 0;
+	fadt->x_gpe1_blk.addrl = 0x0;
+	fadt->x_gpe1_blk.addrh = 0x0;
+}
+
+static acpi_tstate_t braswell_tss_table[] = {
+	{ 100, 1000, 0, 0x00, 0 },
+	{ 88, 875, 0, 0x1e, 0 },
+	{ 75, 750, 0, 0x1c, 0 },
+	{ 63, 625, 0, 0x1a, 0 },
+	{ 50, 500, 0, 0x18, 0 },
+	{ 38, 375, 0, 0x16, 0 },
+	{ 25, 250, 0, 0x14, 0 },
+	{ 13, 125, 0, 0x12, 0 },
+};
+
+static int generate_t_state_entries(int core, int cores_per_package)
+{
+	int len;
+
+	/* Indicate SW_ALL coordination for T-states */
+	len = acpigen_write_TSD_package(core, cores_per_package, SW_ALL);
+
+	/* Indicate FFixedHW so OS will use MSR */
+	len += acpigen_write_empty_PTC();
+
+	/* Set NVS controlled T-state limit */
+	len += acpigen_write_TPC("\\TLVL");
+
+	/* Write TSS table for MSR access */
+	len += acpigen_write_TSS_package(
+		ARRAY_SIZE(braswell_tss_table), braswell_tss_table);
+
+	return len;
+}
+
+static int calculate_power(int tdp, int p1_ratio, int ratio)
+{
+	u32 m;
+	u32 power;
+
+	/*
+	 * M = ((1.1 - ((p1_ratio - ratio) * 0.00625)) / 1.1) ^ 2
+	 *
+	 * Power = (ratio / p1_ratio) * m * tdp
+	 */
+
+	m = (110000 - ((p1_ratio - ratio) * 625)) / 11;
+	m = (m * m) / 1000;
+
+	power = ((ratio * 100000 / p1_ratio) / 100);
+	power *= (m / 100) * (tdp / 1000);
+	power /= 1000;
+
+	return (int)power;
+}
+
+static int generate_p_state_entries(int core, int cores_per_package)
+{
+	int len, len_pss;
+	int ratio_min, ratio_max, ratio_turbo, ratio_step, ratio_range_2;
+	int coord_type, power_max, power_unit, num_entries;
+	int ratio, power, clock, clock_max;
+	int vid, vid_turbo, vid_min, vid_max, vid_range_2;
+	u32 control_status;
+	const struct pattrs *pattrs = pattrs_get();
+	msr_t msr;
+
+	/* Inputs from CPU attributes */
+	ratio_max = pattrs->iacore_ratios[IACORE_MAX];
+	ratio_min = pattrs->iacore_ratios[IACORE_LFM];
+	vid_max = pattrs->iacore_vids[IACORE_MAX];
+	vid_min = pattrs->iacore_vids[IACORE_LFM];
+
+	/* Set P-states coordination type based on MSR disable bit */
+	coord_type = (pattrs->num_cpus > 2) ? SW_ALL : HW_ALL;
+
+	/* Max Non-Turbo Frequency */
+	clock_max = (ratio_max * pattrs->bclk_khz) / 1000;
+
+	/* Calculate CPU TDP in mW */
+	msr = rdmsr(MSR_PKG_POWER_SKU_UNIT);
+	power_unit = 1 << (msr.lo & 0xf);
+	msr = rdmsr(MSR_PKG_POWER_LIMIT);
+	power_max = ((msr.lo & 0x7fff) / power_unit) * 1000;
+
+	/* Write _PCT indicating use of FFixedHW */
+	len = acpigen_write_empty_PCT();
+
+	/* Write _PPC with NVS specified limit on supported P-state */
+	len += acpigen_write_PPC_NVS();
+
+	/* Write PSD indicating configured coordination type */
+	len += acpigen_write_PSD_package(core, 1, coord_type);
+
+	/* Add P-state entries in _PSS table */
+	len += acpigen_write_name("_PSS");
+
+	/* Determine ratio points */
+	ratio_step = 1;
+	num_entries = (ratio_max - ratio_min) / ratio_step;
+	while (num_entries > 15) { /* ACPI max is 15 ratios */
+		ratio_step <<= 1;
+		num_entries >>= 1;
+	}
+
+	/* P[T] is Turbo state if enabled */
+	if (get_turbo_state() == TURBO_ENABLED) {
+		/* _PSS package count including Turbo */
+		len_pss = acpigen_write_package(num_entries + 2);
+
+		ratio_turbo = pattrs->iacore_ratios[IACORE_TURBO];
+		vid_turbo = pattrs->iacore_vids[IACORE_TURBO];
+		control_status = (ratio_turbo << 8) | vid_turbo;
+
+		/* Add entry for Turbo ratio */
+		len_pss += acpigen_write_PSS_package(
+			clock_max + 1,		/* MHz */
+			power_max,		/* mW */
+			10,			/* lat1 */
+			10,			/* lat2 */
+			control_status,		/* control */
+			control_status);	/* status */
+	} else {
+		/* _PSS package count without Turbo */
+		len_pss = acpigen_write_package(num_entries + 1);
+		ratio_turbo = ratio_max;
+		vid_turbo = vid_max;
+	}
+
+	/* First regular entry is max non-turbo ratio */
+	control_status = (ratio_max << 8) | vid_max;
+	len_pss += acpigen_write_PSS_package(
+		clock_max,		/* MHz */
+		power_max,		/* mW */
+		10,			/* lat1 */
+		10,			/* lat2 */
+		control_status,		/* control */
+		control_status);	/* status */
+
+	/* Set up ratio and vid ranges for VID calculation */
+	ratio_range_2 = (ratio_turbo - ratio_min) * 2;
+	vid_range_2 = (vid_turbo - vid_min) * 2;
+
+	/* Generate the remaining entries */
+	for (ratio = ratio_min + ((num_entries - 1) * ratio_step);
+	     ratio >= ratio_min; ratio -= ratio_step) {
+
+		/* Calculate VID for this ratio */
+		vid = ((ratio - ratio_min) * vid_range_2) /
+			ratio_range_2 + vid_min;
+		/* Round up if remainder */
+		if (((ratio - ratio_min) * vid_range_2) % ratio_range_2)
+			vid++;
+
+		/* Calculate power at this ratio */
+		power = calculate_power(power_max, ratio_max, ratio);
+		clock = (ratio * pattrs->bclk_khz) / 1000;
+		control_status = (ratio << 8) | (vid & 0xff);
+
+		len_pss += acpigen_write_PSS_package(
+			clock,			/* MHz */
+			power,			/* mW */
+			10,			/* lat1 */
+			10,			/* lat2 */
+			control_status,		/* control */
+			control_status);	/* status */
+	}
+
+	/* Fix package length */
+	len_pss--;
+	acpigen_patch_len(len_pss);
+
+	return len + len_pss;
+}
+
+void generate_cpu_entries(void)
+{
+	int len_pr, core;
+	int pcontrol_blk = get_pmbase(), plen = 6;
+	const struct pattrs *pattrs = pattrs_get();
+
+	for (core = 0; core < pattrs->num_cpus; core++) {
+		if (core > 0) {
+			pcontrol_blk = 0;
+			plen = 0;
+		}
+
+		/* Generate processor \_PR.CPUx */
+		len_pr = acpigen_write_processor(
+			core, pcontrol_blk, plen);
+
+		/* Generate  P-state tables */
+		len_pr += generate_p_state_entries(
+			core, pattrs->num_cpus);
+
+		/* Generate C-state tables */
+		len_pr += acpigen_write_CST_package(
+			cstate_map, ARRAY_SIZE(cstate_map));
+
+		/* Generate T-state tables */
+		len_pr += generate_t_state_entries(
+			core, pattrs->num_cpus);
+
+		len_pr--;
+		acpigen_patch_len(len_pr);
+	}
+}
+
+unsigned long acpi_madt_irq_overrides(unsigned long current)
+{
+	int sci_irq = acpi_sci_irq();
+	acpi_madt_irqoverride_t *irqovr;
+	uint16_t sci_flags = MP_IRQ_TRIGGER_LEVEL;
+
+	/* INT_SRC_OVR */
+	irqovr = (void *)current;
+	current += acpi_create_madt_irqoverride(irqovr, 0, 0, 2, 0);
+
+	if (sci_irq >= 20)
+		sci_flags |= MP_IRQ_POLARITY_LOW;
+	else
+		sci_flags |= MP_IRQ_POLARITY_HIGH;
+
+	irqovr = (void *)current;
+	current += acpi_create_madt_irqoverride(irqovr, 0, sci_irq, sci_irq,
+						sci_flags);
+
+	return current;
+}
+
+#if CONFIG_GOP_SUPPORT
+/* Reading VBT table from flash */
+static void get_fsp_vbt(igd_opregion_t *opregion)
+{
+	const optionrom_vbt_t *vbt;
+	uint32_t vbt_len;
+
+	vbt = fsp_get_vbt(&vbt_len);
+	if (!vbt)
+		die("vbt data not found");
+	memcpy(opregion->header.vbios_version, vbt->coreblock_biosbuild, 4);
+	memcpy(opregion->vbt.gvd1, vbt, vbt->hdr_vbt_size <
+		sizeof(opregion->vbt.gvd1) ? vbt->hdr_vbt_size :
+		sizeof(opregion->vbt.gvd1));
+}
+
+/* Initialize IGD OpRegion, called from ACPI code */
+int init_igd_opregion(igd_opregion_t *opregion)
+{
+	device_t igd;
+	u16 reg16;
+
+	memset(opregion, 0, sizeof(igd_opregion_t));
+
+	/* FIXME if IGD is disabled, we should exit here. */
+
+	memcpy(&opregion->header.signature, IGD_OPREGION_SIGNATURE,
+		sizeof(IGD_OPREGION_SIGNATURE));
+
+	/* 8kb */
+	opregion->header.size = sizeof(igd_opregion_t) / 1024;
+	opregion->header.version = IGD_OPREGION_VERSION;
+
+	/* FIXME We just assume we're mobile for now */
+	opregion->header.mailboxes = MAILBOXES_MOBILE;
+
+	/* TODO Initialize Mailbox 1 */
+
+	/* TODO Initialize Mailbox 3 */
+	opregion->mailbox3.bclp = IGD_BACKLIGHT_BRIGHTNESS;
+	opregion->mailbox3.pfit = IGD_FIELD_VALID | IGD_PFIT_STRETCH;
+	opregion->mailbox3.pcft = 0; /* should be (IMON << 1) & 0x3e */
+	opregion->mailbox3.cblv = IGD_FIELD_VALID | IGD_INITIAL_BRIGHTNESS;
+	opregion->mailbox3.bclm[0] = IGD_WORD_FIELD_VALID + 0x0000;
+	opregion->mailbox3.bclm[1] = IGD_WORD_FIELD_VALID + 0x0a19;
+	opregion->mailbox3.bclm[2] = IGD_WORD_FIELD_VALID + 0x1433;
+	opregion->mailbox3.bclm[3] = IGD_WORD_FIELD_VALID + 0x1e4c;
+	opregion->mailbox3.bclm[4] = IGD_WORD_FIELD_VALID + 0x2866;
+	opregion->mailbox3.bclm[5] = IGD_WORD_FIELD_VALID + 0x327f;
+	opregion->mailbox3.bclm[6] = IGD_WORD_FIELD_VALID + 0x3c99;
+	opregion->mailbox3.bclm[7] = IGD_WORD_FIELD_VALID + 0x46b2;
+	opregion->mailbox3.bclm[8] = IGD_WORD_FIELD_VALID + 0x50cc;
+	opregion->mailbox3.bclm[9] = IGD_WORD_FIELD_VALID + 0x5ae5;
+	opregion->mailbox3.bclm[10] = IGD_WORD_FIELD_VALID + 0x64ff;
+
+	get_fsp_vbt(opregion);
+
+	/*
+	 * TODO This needs to happen in S3 resume, too.
+	 * Maybe it should move to the finalize handler
+	 */
+	igd = dev_find_slot(0, PCI_DEVFN(GFX_DEV, GFX_FUNC));
+
+	pci_write_config32(igd, ASLS, (u32)opregion);
+	reg16 = pci_read_config16(igd, SWSCI);
+	reg16 &= ~(1 << 0);
+	reg16 |= (1 << 15);
+	pci_write_config16(igd, SWSCI, reg16);
+
+	return 0;
+}
+#endif
diff --git a/src/soc/intel/braswell/acpi/cpu.asl b/src/soc/intel/braswell/acpi/cpu.asl
new file mode 100644
index 0000000..401242b
--- /dev/null
+++ b/src/soc/intel/braswell/acpi/cpu.asl
@@ -0,0 +1,89 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2011 Google Inc.
+ *
+ * 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; version 2 of
+ * the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+
+/* CPU */
+#define DPTF_CPU_PASSIVE	80
+#define DPTF_CPU_CRITICAL	90
+#define DPTF_CPU_PASSIVE	80
+#define DPTF_CPU_CRITICAL	90
+#define DPTF_CPU_ACTIVE_AC0	90
+#define DPTF_CPU_ACTIVE_AC1	80
+#define DPTF_CPU_ACTIVE_AC2	70
+#define DPTF_CPU_ACTIVE_AC3	60
+#define DPTF_CPU_ACTIVE_AC4	50
+
+/* These devices are created at runtime */
+External (\_PR.CPU0, DeviceObj)
+External (\_PR.CPU1, DeviceObj)
+External (\_PR.CPU2, DeviceObj)
+External (\_PR.CPU3, DeviceObj)
+
+
+/* Notify OS to re-read CPU tables, assuming ^2 CPU count */
+Method (PNOT)
+{
+	If (LGreaterEqual (\PCNT, 2)) {
+		Notify (\_PR.CPU0, 0x81)  /* _CST */
+		Notify (\_PR.CPU1, 0x81)  /* _CST */
+	}
+	If (LGreaterEqual (\PCNT, 4)) {
+		Notify (\_PR.CPU2, 0x81)  /* _CST */
+		Notify (\_PR.CPU3, 0x81)  /* _CST */
+	}
+}
+
+/* Notify OS to re-read CPU _PPC limit, assuming ^2 CPU count */
+Method (PPCN)
+{
+	If (LGreaterEqual (\PCNT, 2)) {
+		Notify (\_PR.CPU0, 0x80)  /* _PPC */
+		Notify (\_PR.CPU1, 0x80)  /* _PPC */
+	}
+	If (LGreaterEqual (\PCNT, 4)) {
+		Notify (\_PR.CPU2, 0x80)  /* _PPC */
+		Notify (\_PR.CPU3, 0x80)  /* _PPC */
+	}
+}
+
+/* Notify OS to re-read Throttle Limit tables, assuming ^2 CPU count */
+Method (TNOT)
+{
+	If (LGreaterEqual (\PCNT, 2)) {
+		Notify (\_PR.CPU0, 0x82)  /* _TPC */
+		Notify (\_PR.CPU1, 0x82)  /* _TPC */
+	}
+	If (LGreaterEqual (\PCNT, 4)) {
+		Notify (\_PR.CPU2, 0x82)  /* _TPC */
+		Notify (\_PR.CPU3, 0x82)  /* _TPC */
+	}
+}
+
+/* Return a package containing enabled processor entries */
+Method (PPKG)
+{
+	If (LGreaterEqual (\PCNT, 4)) {
+		Return (Package() {\_PR.CPU0, \_PR.CPU1, \_PR.CPU2, \_PR.CPU3})
+	} ElseIf (LGreaterEqual (\PCNT, 2)) {
+		Return (Package() {\_PR.CPU0, \_PR.CPU1})
+	} Else {
+		Return (Package() {\_PR.CPU0})
+	}
+}
diff --git a/src/soc/intel/braswell/acpi/device_nvs.asl b/src/soc/intel/braswell/acpi/device_nvs.asl
new file mode 100644
index 0000000..c9254b5
--- /dev/null
+++ b/src/soc/intel/braswell/acpi/device_nvs.asl
@@ -0,0 +1,87 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ *
+ * 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; version 2 of
+ * the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+
+/* Device Enabled in ACPI Mode */
+
+S0EN,	8,	/* SDMA Enable */
+S1EN,	8,	/* I2C1 Enable */
+S2EN,	8,	/* I2C2 Enable */
+S3EN,	8,	/* I2C3 Enable */
+S4EN,	8,	/* I2C4 Enable */
+S5EN,	8,	/* I2C5 Enable */
+S6EN,	8,	/* I2C6 Enable */
+S7EN,	8,	/* I2C7 Enable */
+S8EN,	8,	/* SDMA2 Enable */
+S9EN,	8,	/* SPI Enable */
+SAEN,	8,	/* PWM1 Enable */
+SBEN,	8,	/* PWM2 Enable */
+SCEN,	8,	/* UART2 Enable */
+SDEN,	8,	/* UART2 Enable */
+C0EN,	8,	/* MMC Enable */
+C1EN,	8,	/* SDIO Enable */
+C2EN,	8,	/* SD Card Enable */
+LPEN,	8,	/* LPE Enable */
+
+/* BAR 0 */
+
+S0B0,	32,	/* SDMA BAR0 */
+S1B0,	32,	/* I2C1 BAR0 */
+S2B0,	32,	/* I2C2 BAR0 */
+S3B0,	32,	/* I2C3 BAR0 */
+S4B0,	32,	/* I2C4 BAR0 */
+S5B0,	32,	/* I2C5 BAR0 */
+S6B0,	32,	/* I2C6 BAR0 */
+S7B0,	32,	/* I2C7 BAR0 */
+S8B0,	32,	/* SDMA2 BAR0 */
+S9B0,	32,	/* SPI BAR0 */
+SAB0,	32,	/* PWM1 BAR0 */
+SBB0,	32,	/* PWM2 BAR0 */
+SCB0,	32,	/* UART1 BAR0 */
+SDB0,	32,	/* UART2 BAR0 */
+C0B0,	32,	/* MMC BAR0 */
+C1B0,	32,	/* SDIO BAR0 */
+C2B0,	32,	/* SD Card BAR0 */
+LPB0,	32,	/* LPE BAR0 */
+
+/* BAR 1 */
+
+S0B1,	32,	/* SDMA BAR1 */
+S1B1,	32,	/* I2C1 BAR1 */
+S2B1,	32,	/* I2C2 BAR1 */
+S3B1,	32,	/* I2C3 BAR1 */
+S4B1,	32,	/* I2C4 BAR1 */
+S5B1,	32,	/* I2C5 BAR1 */
+S6B1,	32,	/* I2C6 BAR1 */
+S7B1,	32,	/* I2C7 BAR1 */
+S8B1,	32,	/* SDMA2 BAR1 */
+S9B1,	32,	/* SPI BAR1 */
+SAB1,	32,	/* PWM1 BAR1 */
+SBB1,	32,	/* PWM2 BAR1 */
+SCB1,	32,	/* UART1 BAR1 */
+SDB1,	32,	/* UART2 BAR1 */
+C0B1,	32,	/* MMC BAR1 */
+C1B1,	32,	/* SDIO BAR1 */
+C2B1,	32,	/* SD Card BAR1 */
+LPB1,	32,	/* LPE BAR1 */
+
+/* Extra */
+
+LPFW,	32,	/* LPE BAR2 Firmware */
diff --git a/src/soc/intel/braswell/acpi/dptf/charger.asl b/src/soc/intel/braswell/acpi/dptf/charger.asl
new file mode 100644
index 0000000..7c7f62f
--- /dev/null
+++ b/src/soc/intel/braswell/acpi/dptf/charger.asl
@@ -0,0 +1,59 @@
+Device (TCHG)
+{
+	Name (_HID, "INT3403")
+	Name (_UID, 0)
+	Name (PTYP, 0x0B)
+	Name (_STR, Unicode("Battery Charger"))
+
+	Method (_STA)
+	{
+		If (LEqual (\DPTE, One)) {
+			Return (0xF)
+		} Else {
+			Return (0x0)
+		}
+	}
+
+	/* Return charger performance states defined by mainboard */
+	Method (PPSS)
+	{
+		Return (\_SB.CHPS)
+	}
+
+	/* Return maximum charger current limit */
+	Method (PPPC)
+	{
+		/* Convert size of PPSS table to index */
+		Store (SizeOf (\_SB.CHPS), Local0)
+		Decrement (Local0)
+
+		/* Check if charging is disabled (AC removed) */
+		If (LEqual (\PWRS, Zero)) {
+			/* Return last power state */
+			Return (Local0)
+		} Else {
+			/* Return highest power state */
+			Return (0)
+		}
+
+		Return (0)
+	}
+
+	/* Set charger current limit */
+	Method (SPPC, 1)
+	{
+		/* Retrieve Control (index 4) for specified PPSS level */
+		Store (DeRefOf (Index (DeRefOf (Index
+			(\_SB.CHPS, ToInteger (Arg0))), 4)), Local0)
+
+		/* Pass Control value to EC to limit charging */
+		\_SB.PCI0.LPCB.EC0.CHGS (Local0)
+	}
+
+	/* Initialize charger participant */
+	Method (INIT)
+	{
+		/* Disable charge limit */
+		\_SB.PCI0.LPCB.EC0.CHGD ()
+	}
+}
diff --git a/src/soc/intel/braswell/acpi/dptf/cpu.asl b/src/soc/intel/braswell/acpi/dptf/cpu.asl
new file mode 100644
index 0000000..9b1930b
--- /dev/null
+++ b/src/soc/intel/braswell/acpi/dptf/cpu.asl
@@ -0,0 +1,178 @@
+External (\_PR.CPU0._TSS, MethodObj)
+External (\_PR.CPU0._TPC, MethodObj)
+External (\_PR.CPU0._PTC, PkgObj)
+External (\_PR.CPU0._TSD, PkgObj)
+External (\_PR.CPU0._PSS, MethodObj)
+External (\_SB.DPTF.CTOK, MethodObj)
+
+Device (B0DB)
+{
+	Name (_ADR, 0x000B0000)  /* Bus 0, Device B, Function 0 */
+
+	Method (_STA)
+	{
+		If (LEqual (\DPTE, One)) {
+			Return (0xF)
+		} Else {
+			Return (0x0)
+		}
+	}
+
+	/*
+	 * Processor Throttling Controls
+	 */
+
+	Method (_TSS)
+	{
+		If (CondRefOf (\_PR.CPU0._TSS)) {
+			Return (\_PR.CPU0._TSS)
+		} Else {
+			Return (Package ()
+			{
+				Package () { 0, 0, 0, 0, 0 }
+			})
+		}
+	}
+
+	Method (_TPC)
+	{
+		If (CondRefOf (\_PR.CPU0._TPC)) {
+			Return (\_PR.CPU0._TPC)
+		} Else {
+			Return (0)
+		}
+	}
+
+	Method (_PTC)
+	{
+		If (CondRefOf (\_PR.CPU0._PTC)) {
+			Return (\_PR.CPU0._PTC)
+		} Else {
+			Return (Package ()
+			{
+				Buffer () { 0 },
+				Buffer () { 0 }
+			})
+		}
+	}
+
+	Method (_TSD)
+	{
+		If (CondRefOf (\_PR.CPU0._TSD)) {
+			Return (\_PR.CPU0._TSD)
+		} Else {
+			Return (Package ()
+			{
+				Package () { 5, 0, 0, 0, 0 }
+			})
+		}
+	}
+
+	Method (_TDL)
+	{
+		If (CondRefOf (\_PR.CPU0._TSS)) {
+			Store (SizeOf (\_PR.CPU0._TSS ()), Local0)
+			Decrement (Local0)
+			Return (Local0)
+		} Else {
+			Return (0)
+		}
+	}
+
+	/*
+	 * Processor Performance Control
+	 */
+
+	Method (_PPC)
+	{
+		Return (0)
+	}
+
+	Method (SPPC, 1)
+	{
+		Store (Arg0, \PPCM)
+
+		/* Notify OS to re-read _PPC limit on each CPU */
+		\PPCN ()
+	}
+
+	Method (_PSS)
+	{
+		If (CondRefOf (\_PR.CPU0._PSS)) {
+			Return (\_PR.CPU0._PSS)
+		} Else {
+			Return (Package ()
+			{
+				Package () { 0, 0, 0, 0, 0, 0 }
+			})
+		}
+	}
+
+	Method (_PDL)
+	{
+		/* Check for mainboard specific _PDL override */
+		If (CondRefOf (\_SB.MPDL)) {
+			Return (\_SB.MPDL)
+		} ElseIf (CondRefOf (\_PR.CPU0._PSS)) {
+			Store (SizeOf (\_PR.CPU0._PSS ()), Local0)
+			Decrement (Local0)
+			Return (Local0)
+		} Else {
+			Return (0)
+		}
+	}
+
+	/* Return PPCC table defined by mainboard */
+	Method (PPCC)
+	{
+		Return (\_SB.MPPC)
+	}
+#ifdef DPTF_CPU_CRITICAL
+	Method (_CRT)
+	{
+		Return (\_SB.DPTF.CTOK(DPTF_CPU_CRITICAL))
+	}
+#endif
+
+#ifdef DPTF_CPU_PASSIVE
+	Method (_PSV)
+	{
+		Return (\_SB.DPTF.CTOK(DPTF_CPU_PASSIVE))
+	}
+#endif
+
+#ifdef DPTF_CPU_ACTIVE_AC0
+	Method (_AC0)
+	{
+		Return (\_SB.DPTF.CTOK(DPTF_CPU_ACTIVE_AC0))
+	}
+#endif
+
+#ifdef DPTF_CPU_ACTIVE_AC1
+	Method (_AC1)
+	{
+		Return (\_SB.DPTF.CTOK(DPTF_CPU_ACTIVE_AC1))
+	}
+#endif
+
+#ifdef DPTF_CPU_ACTIVE_AC2
+	Method (_AC2)
+	{
+		Return (\_SB.DPTF.CTOK(DPTF_CPU_ACTIVE_AC2))
+	}
+#endif
+
+#ifdef DPTF_CPU_ACTIVE_AC3
+	Method (_AC3)
+	{
+		Return (\_SB.DPTF.CTOK(DPTF_CPU_ACTIVE_AC3))
+	}
+#endif
+
+#ifdef DPTF_CPU_ACTIVE_AC4
+	Method (_AC4)
+	{
+		Return (\_SB.DPTF.CTOK(DPTF_CPU_ACTIVE_AC4))
+	}
+#endif
+}
diff --git a/src/soc/intel/braswell/acpi/dptf/dptf.asl b/src/soc/intel/braswell/acpi/dptf/dptf.asl
new file mode 100644
index 0000000..f8d8347
--- /dev/null
+++ b/src/soc/intel/braswell/acpi/dptf/dptf.asl
@@ -0,0 +1,81 @@
+
+Device (DPTF)
+{
+	Name (_HID, EISAID ("INT3400"))
+	Name (_UID, 0)
+
+	Name (IDSP, Package()
+	{
+		/* DPPM Passive Policy 1.0 */
+		ToUUID ("42A441D6-AE6A-462B-A84B-4A8CE79027D3"),
+
+		/* DPPM Critical Policy */
+		ToUUID ("97C68AE7-15FA-499c-B8C9-5DA81D606E0A"),
+
+		/* DPPM Cooling Policy */
+		ToUUID ("16CAF1B7-DD38-40ED-B1C1-1B8A1913D531"),
+	})
+
+	Method (_STA)
+	{
+		If (LEqual (\DPTE, One)) {
+			Return (0xF)
+		} Else {
+			Return (0x0)
+		}
+	}
+
+	/*
+	 * Arg0: Buffer containing UUID
+	 * Arg1: Integer containing Revision ID of buffer format
+	 * Arg2: Integer containing count of entries in Arg3
+	 * Arg3: Buffer containing list of DWORD capabilities
+	 * Return: Buffer containing list of DWORD capabilities
+	 */
+	Method (_OSC, 4, Serialized)
+	{
+		/* Check for Passive Policy UUID */
+		If (LEqual (DeRefOf (Index (IDSP, 0)), Arg0)) {
+			/* Initialize Thermal Devices */
+			^TINI ()
+
+#ifdef DPTF_ENABLE_CHARGER
+			/* Initialize Charger Device */
+			^TCHG.INIT ()
+#endif
+		}
+
+		Return (Arg3)
+	}
+
+	/* Priority based _TRT */
+	Name (TRTR, 1)
+
+	Method (_TRT)
+	{
+		Return (\_SB.DTRT)
+	}
+
+	/* Convert from Degrees C to 1/10 Kelvin for ACPI */
+	Method (CTOK, 1) {
+		/* 10th of Degrees C */
+		Multiply (Arg0, 10, Local0)
+
+		/* Convert to Kelvin */
+		Add (Local0, 2732, Local0)
+
+		Return (Local0)
+	}
+
+	/* Include Thermal Participants */
+	#include "thermal.asl"
+
+#ifdef DPTF_ENABLE_CHARGER
+	/* Include Charger Participant */
+	#include "charger.asl"
+#endif
+
+        /* Include Network Participants */
+	#include "wifi.asl"
+	#include "wwan.asl"
+}
diff --git a/src/soc/intel/braswell/acpi/dptf/thermal.asl b/src/soc/intel/braswell/acpi/dptf/thermal.asl
new file mode 100644
index 0000000..b123fb6
--- /dev/null
+++ b/src/soc/intel/braswell/acpi/dptf/thermal.asl
@@ -0,0 +1,203 @@
+/* Thermal Threshold Event Handler */
+Method (TEVT, 1, NotSerialized)
+{
+	Store (ToInteger (Arg0), Local0)
+
+#ifdef DPTF_TSR0_SENSOR_ID
+	If (LEqual (Local0, DPTF_TSR0_SENSOR_ID)) {
+		Notify (^TSR0, 0x90)
+	}
+#endif
+#ifdef DPTF_TSR1_SENSOR_ID
+	If (LEqual (Local0, DPTF_TSR1_SENSOR_ID)) {
+		Notify (^TSR1, 0x90)
+	}
+#endif
+#ifdef DPTF_TSR2_SENSOR_ID
+	If (LEqual (Local0, DPTF_TSR2_SENSOR_ID)) {
+		Notify (^TSR2, 0x90)
+	}
+#endif
+}
+
+/* Thermal device initialization - Disable Aux Trip Points */
+Method (TINI)
+{
+#ifdef DPTF_TSR0_SENSOR_ID
+	^TSR0.PATD ()
+#endif
+#ifdef DPTF_TSR1_SENSOR_ID
+	^TSR1.PATD ()
+#endif
+#ifdef DPTF_TSR2_SENSOR_ID
+	^TSR2.PATD ()
+#endif
+}
+
+#ifdef DPTF_TSR0_SENSOR_ID
+Device (TSR0)
+{
+	Name (_HID, EISAID ("INT3403"))
+	Name (_UID, 1)
+	Name (PTYP, 0x03)
+	Name (TMPI, DPTF_TSR0_SENSOR_ID)
+	Name (_STR, Unicode (DPTF_TSR0_SENSOR_NAME))
+	Name (GTSH, 20) /* 2 degree hysteresis */
+
+	Method (_STA)
+	{
+		If (LEqual (\DPTE, One)) {
+			Return (0xF)
+		} Else {
+			Return (0x0)
+		}
+	}
+
+	Method (_TMP, 0, Serialized)
+	{
+		Return (\_SB.PCI0.LPCB.EC0.TSRD (TMPI))
+	}
+
+	Method (_PSV)
+	{
+		Return (CTOK (DPTF_TSR0_PASSIVE))
+	}
+
+	Method (_CRT)
+	{
+		Return (CTOK (DPTF_TSR0_CRITICAL))
+	}
+
+	Name (PATC, 2)
+
+	/* Set Aux Trip Point */
+	Method (PAT0, 1, Serialized)
+	{
+		\_SB.PCI0.LPCB.EC0.PAT0 (TMPI, Arg0)
+	}
+
+	/* Set Aux Trip Point */
+	Method (PAT1, 1, Serialized)
+	{
+		\_SB.PCI0.LPCB.EC0.PAT1 (TMPI, Arg0)
+	}
+
+	/* Disable Aux Trip Point */
+	Method (PATD, 0, Serialized)
+	{
+		\_SB.PCI0.LPCB.EC0.PATD (TMPI)
+	}
+}
+#endif
+
+#ifdef DPTF_TSR1_SENSOR_ID
+Device (TSR1)
+{
+	Name (_HID, EISAID ("INT3403"))
+	Name (_UID, 2)
+	Name (PTYP, 0x03)
+	Name (TMPI, DPTF_TSR1_SENSOR_ID)
+	Name (_STR, Unicode (DPTF_TSR1_SENSOR_NAME))
+	Name (GTSH, 20) /* 2 degree hysteresis */
+
+	Method (_STA)
+	{
+		If (LEqual (\DPTE, One)) {
+			Return (0xF)
+		} Else {
+			Return (0x0)
+		}
+	}
+
+	Method (_TMP, 0, Serialized)
+	{
+		Return (\_SB.PCI0.LPCB.EC0.TSRD (TMPI))
+	}
+
+	Method (_PSV)
+	{
+		Return (CTOK (DPTF_TSR1_PASSIVE))
+	}
+
+	Method (_CRT)
+	{
+		Return (CTOK (DPTF_TSR1_CRITICAL))
+	}
+
+	Name (PATC, 2)
+
+	/* Set Aux Trip Point */
+	Method (PAT0, 1, Serialized)
+	{
+		\_SB.PCI0.LPCB.EC0.PAT0 (TMPI, Arg0)
+	}
+
+	/* Set Aux Trip Point */
+	Method (PAT1, 1, Serialized)
+	{
+		\_SB.PCI0.LPCB.EC0.PAT1 (TMPI, Arg0)
+	}
+
+	/* Disable Aux Trip Point */
+	Method (PATD, 0, Serialized)
+	{
+		\_SB.PCI0.LPCB.EC0.PATD (TMPI)
+	}
+}
+#endif
+
+#ifdef DPTF_TSR2_SENSOR_ID
+Device (TSR2)
+{
+	Name (_HID, EISAID ("INT3403"))
+	Name (_UID, 3)
+	Name (PTYP, 0x03)
+	Name (TMPI, DPTF_TSR2_SENSOR_ID)
+	Name (_STR, Unicode (DPTF_TSR2_SENSOR_NAME))
+	Name (GTSH, 20) /* 2 degree hysteresis */
+
+	Method (_STA)
+	{
+		If (LEqual (\DPTE, One)) {
+			Return (0xF)
+		} Else {
+			Return (0x0)
+		}
+	}
+
+	Method (_TMP, 0, Serialized)
+	{
+		Return (\_SB.PCI0.LPCB.EC0.TSRD (TMPI))
+	}
+
+	Method (_PSV)
+	{
+		Return (CTOK (DPTF_TSR2_PASSIVE))
+	}
+
+	Method (_CRT)
+	{
+		Return (CTOK (DPTF_TSR2_CRITICAL))
+	}
+
+	Name (PATC, 2)
+
+	/* Set Aux Trip Point */
+	Method (PAT0, 1, Serialized)
+	{
+		\_SB.PCI0.LPCB.EC0.PAT0 (TMPI, Arg0)
+	}
+
+	/* Set Aux Trip Point */
+	Method (PAT1, 1, Serialized)
+	{
+		\_SB.PCI0.LPCB.EC0.PAT1 (TMPI, Arg0)
+	}
+
+	/* Disable Aux Trip Point */
+	Method (PATD, 0, Serialized)
+	{
+		\_SB.PCI0.LPCB.EC0.PATD (TMPI)
+	}
+}
+#endif
diff --git a/src/soc/intel/braswell/acpi/dptf/wifi.asl b/src/soc/intel/braswell/acpi/dptf/wifi.asl
new file mode 100644
index 0000000..28da69a
--- /dev/null
+++ b/src/soc/intel/braswell/acpi/dptf/wifi.asl
@@ -0,0 +1,16 @@
+Device (WIFI)
+{
+	Name (_HID, "INT3408")
+	Name (_UID, 0)
+	Name (PTYP, 0x07)
+	Name (_STR, Unicode("WIFI wireless device"))
+
+	Method (_STA)
+	{
+		If (LEqual (\DPTE, One)) {
+			Return (0xF)
+		} Else {
+			Return (0x0)
+		}
+	}
+}
diff --git a/src/soc/intel/braswell/acpi/dptf/wwan.asl b/src/soc/intel/braswell/acpi/dptf/wwan.asl
new file mode 100644
index 0000000..f205b8a
--- /dev/null
+++ b/src/soc/intel/braswell/acpi/dptf/wwan.asl
@@ -0,0 +1,16 @@
+Device (WWAN)
+{
+	Name (_HID, "INT3408")
+	Name (_UID, 0)
+	Name (PTYP, 0xF)
+	Name (_STR, Unicode("Wireless Wide Area Network"))
+
+	Method (_STA)
+	{
+		If (LEqual (\DPTE, One)) {
+			Return (0xF)
+		} Else {
+			Return (0x0)
+		}
+	}
+}
diff --git a/src/soc/intel/braswell/acpi/globalnvs.asl b/src/soc/intel/braswell/acpi/globalnvs.asl
new file mode 100644
index 0000000..cc3f09b
--- /dev/null
+++ b/src/soc/intel/braswell/acpi/globalnvs.asl
@@ -0,0 +1,109 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ *
+ * 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; version 2 of
+ * the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+
+/* Global Variables */
+
+Name(\PICM, 0)		/* IOAPIC/8259 */
+
+/*
+ * Global ACPI memory region. This region is used for passing information
+ * between coreboot (aka "the system bios"), ACPI, and the SMI handler.
+ * Since we don't know where this will end up in memory at ACPI compile time,
+ * we have to fix it up in coreboot's ACPI creation phase.
+ */
+
+
+OperationRegion (GNVS, SystemMemory, 0xC0DEBABE, 0x2000)
+Field (GNVS, ByteAcc, NoLock, Preserve)
+{
+	/* Miscellaneous */
+	Offset (0x00),
+	OSYS,	16,	/* 0x00 - Operating System */
+	SMIF,	 8,	/* 0x02 - SMI function */
+	PRM0,	 8,	/* 0x03 - SMI function parameter */
+	PRM1,	 8,	/* 0x04 - SMI function parameter */
+	SCIF,	 8,	/* 0x05 - SCI function */
+	PRM2,	 8,	/* 0x06 - SCI function parameter */
+	PRM3,	 8,	/* 0x07 - SCI function parameter */
+	LCKF,	 8,	/* 0x08 - Global Lock function for EC */
+	PRM4,	 8,	/* 0x09 - Lock function parameter */
+	PRM5,	 8,	/* 0x0a - Lock function parameter */
+	P80D,	32,	/* 0x0b - Debug port (IO 0x80) value */
+	LIDS,	 8,	/* 0x0f - LID state (open = 1) */
+	PWRS,	 8,	/* 0x10 - Power State (AC = 1) */
+	PCNT,	 8,	/* 0x11 - Processor count */
+	TPMP,	 8,	/* 0x12 - TPM Present and Enabled */
+	TLVL,	 8,	/* 0x13 - Throttle Level */
+	PPCM,	 8,	/* 0x14 - Maximum P-state usable by OS */
+	PM1I,	 32,	/* 0x15 - System Wake Source - PM1 Index */
+
+	/* Device Config */
+	Offset (0x20),
+	S5U0,	 8,	/* 0x20 - Enable USB0 in S5 */
+	S5U1,	 8,	/* 0x21 - Enable USB1 in S5 */
+	S3U0,	 8,	/* 0x22 - Enable USB0 in S3 */
+	S3U1,	 8,	/* 0x23 - Enable USB1 in S3 */
+	TACT,	 8,	/* 0x24 - Thermal Active trip point */
+	TPSV,	 8,	/* 0x25 - Thermal Passive trip point */
+	TCRT,	 8,	/* 0x26 - Thermal Critical trip point */
+	DPTE,	 8,	/* 0x27 - Enable DPTF */
+
+	/* Base addresses */
+	Offset (0x30),
+	CMEM,	 32,	/* 0x30 - CBMEM TOC */
+	TOLM,	 32,	/* 0x34 - Top of Low Memory */
+	CBMC,	 32,	/* 0x38 - coreboot mem console pointer */
+
+	/* ChromeOS specific */
+	Offset (0x100),
+	#include <vendorcode/google/chromeos/acpi/gnvs.asl>
+
+	Offset (0x1000),
+	#include <soc/intel/braswell/acpi/device_nvs.asl>
+}
+
+/* Set flag to enable USB charging in S3 */
+Method (S3UE)
+{
+	Store (One, \S3U0)
+	Store (One, \S3U1)
+}
+
+/* Set flag to disable USB charging in S3 */
+Method (S3UD)
+{
+	Store (Zero, \S3U0)
+	Store (Zero, \S3U1)
+}
+
+/* Set flag to enable USB charging in S5 */
+Method (S5UE)
+{
+	Store (One, \S5U0)
+	Store (One, \S5U1)
+}
+
+/* Set flag to disable USB charging in S5 */
+Method (S5UD)
+{
+	Store (Zero, \S5U0)
+	Store (Zero, \S5U1)
+}
diff --git a/src/soc/intel/braswell/acpi/gpio.asl b/src/soc/intel/braswell/acpi/gpio.asl
new file mode 100644
index 0000000..a44bc28
--- /dev/null
+++ b/src/soc/intel/braswell/acpi/gpio.asl
@@ -0,0 +1,139 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ *
+ * 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; version 2 of
+ * the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+
+#include <soc/iomap.h>
+#include <soc/irq.h>
+
+/* GPIO SouthWest Community */
+Device (GPSW)
+{
+	Name (_HID, "INT33FF")
+	Name (_CID, "INT33FF")
+	Name (_UID, 1)
+
+	Name (RBUF, ResourceTemplate()
+	{
+		Memory32Fixed (ReadWrite, 0, 0x8000, RMEM)
+		Interrupt (ResourceConsumer, Level, ActiveLow, Shared,,,)
+		{
+			GPIO_SW_IRQ
+		}
+	})
+
+	Method (_CRS)
+	{
+		CreateDwordField (^RBUF, ^RMEM._BAS, RBAS)
+		Add (IO_BASE_ADDRESS, COMMUNITY_OFFSET_GPSOUTHWEST, RBAS)
+		Return (^RBUF)
+	}
+
+	Method (_STA)
+	{
+		Return (0xF)
+	}
+}
+
+/* GPIO North Community */
+Device (GPNC)
+{
+	Name (_HID, "INT33FF")
+	Name (_CID, "INT33FF")
+	Name (_UID, 2)
+
+	Name (RBUF, ResourceTemplate()
+	{
+		Memory32Fixed (ReadWrite, 0, 0x8000, RMEM)
+		Interrupt (ResourceConsumer, Level, ActiveLow, Shared,,,)
+		{
+			GPIO_N_IRQ
+		}
+	})
+
+	Method (_CRS)
+	{
+		CreateDwordField (^RBUF, ^RMEM._BAS, RBAS)
+		Add (IO_BASE_ADDRESS, COMMUNITY_OFFSET_GPNORTH, RBAS)
+		Return (^RBUF)
+	}
+
+	Method (_STA)
+	{
+		Return (0xF)
+	}
+}
+
+/* GPIO East Community */
+Device (GPEC)
+{
+	Name (_HID, "INT33FF")
+	Name (_CID, "INT33FF")
+	Name (_UID, 3)
+
+	Name (RBUF, ResourceTemplate()
+	{
+		Memory32Fixed (ReadWrite, 0, 0x8000, RMEM)
+		Interrupt (ResourceConsumer, Level, ActiveLow, Shared,,,)
+		{
+			GPIO_E_IRQ
+		}
+	})
+
+	Method (_CRS)
+	{
+		CreateDwordField (^RBUF, ^RMEM._BAS, RBAS)
+		Add (IO_BASE_ADDRESS, COMMUNITY_OFFSET_GPEAST, RBAS)
+		Return (^RBUF)
+	}
+
+	Method (_STA)
+	{
+		Return (0xF)
+	}
+}
+
+/* GPIO SouthEast Community */
+Device (GPSE)
+{
+	Name (_HID, "INT33FF")
+	Name (_CID, "INT33FF")
+	Name (_UID, 4)
+
+	Name (RBUF, ResourceTemplate()
+	{
+		Memory32Fixed (ReadWrite, 0, 0x8000, RMEM)
+		Interrupt (ResourceConsumer, Level, ActiveLow, Shared,,,)
+		{
+			GPIO_SE_IRQ
+		}
+	})
+
+	Method (_CRS)
+	{
+		CreateDwordField (^RBUF, ^RMEM._BAS, RBAS)
+		Add (IO_BASE_ADDRESS, COMMUNITY_OFFSET_GPSOUTHEAST, RBAS)
+		Return (^RBUF)
+	}
+
+	Method (_STA)
+	{
+		Return (0xF)
+	}
+}
diff --git a/src/soc/intel/braswell/acpi/irq_helper.h b/src/soc/intel/braswell/acpi/irq_helper.h
new file mode 100644
index 0000000..b19895b
--- /dev/null
+++ b/src/soc/intel/braswell/acpi/irq_helper.h
@@ -0,0 +1,48 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#undef PCI_DEV_PIRQ_ROUTES
+#undef ACPI_DEV_APIC_IRQ
+#undef PCI_DEV_PIRQ_ROUTE
+#undef PIRQ_PIC_ROUTES
+#undef PIRQ_PIC
+
+#if defined(PIC_MODE)
+
+#define ACPI_DEV_APIC_IRQ(dev_, pin_, pin_name_) \
+	Package() { ## dev_ ## ffff, pin_, \_SB.PCI0.LPCB.LNK ## pin_name_, 0 }
+
+#else /* defined(PIC_MODE) */
+
+#define ACPI_DEV_APIC_IRQ(dev_, pin_, pin_name_) \
+	Package() { ## dev_ ## ffff, pin_, 0, PIRQ ## pin_name_ ## _APIC_IRQ }
+
+#endif
+
+#define PCI_DEV_PIRQ_ROUTE(dev_, a_, b_, c_, d_) \
+	ACPI_DEV_APIC_IRQ(dev_, 0, a_), \
+	ACPI_DEV_APIC_IRQ(dev_, 1, b_), \
+	ACPI_DEV_APIC_IRQ(dev_, 2, c_), \
+	ACPI_DEV_APIC_IRQ(dev_, 3, d_)
+
+/* Empty PIRQ_PIC definition. */
+#define PIRQ_PIC(pirq_, pic_irq_)
+
+/* Include the mainboard irq route definition. */
+#include "irqroute.h"
diff --git a/src/soc/intel/braswell/acpi/irqlinks.asl b/src/soc/intel/braswell/acpi/irqlinks.asl
new file mode 100644
index 0000000..ab6427f
--- /dev/null
+++ b/src/soc/intel/braswell/acpi/irqlinks.asl
@@ -0,0 +1,493 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007-2009 coresystems GmbH
+ *
+ * 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; version 2 of
+ * the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+
+Device (LNKA)
+{
+	Name (_HID, EISAID("PNP0C0F"))
+	Name (_UID, 1)
+
+	/* Disable method */
+	Method (_DIS, 0, Serialized)
+	{
+		Store (0x80, PRTA)
+	}
+
+	/* Possible Resource Settings for this Link */
+	Name (_PRS, ResourceTemplate()
+	{
+		IRQ(Level, ActiveLow, Shared)
+			{ 1, 3, 4, 5, 6, 7, 10, 12, 14, 15 }
+	})
+
+	/* Current Resource Settings for this link */
+	Method (_CRS, 0, Serialized)
+	{
+		Name (RTLA, ResourceTemplate()
+		{
+			IRQ(Level, ActiveLow, Shared) {}
+		})
+		CreateWordField(RTLA, 1, IRQ0)
+
+		/* Clear the WordField */
+		Store (Zero, IRQ0)
+
+		/* Set the bit from PRTA */
+		ShiftLeft(1, And(PRTA, 0x0f), IRQ0)
+
+		Return (RTLA)
+	}
+
+	/* Set Resource Setting for this IRQ link */
+	Method (_SRS, 1, Serialized)
+	{
+		CreateWordField(Arg0, 1, IRQ0)
+
+		/* Which bit is set? */
+		FindSetRightBit(IRQ0, Local0)
+
+		Decrement(Local0)
+		Store(Local0, PRTA)
+	}
+
+	/* Status */
+	Method (_STA, 0, Serialized)
+	{
+		If(And(PRTA, 0x80)) {
+			Return (0x9)
+		} Else {
+			Return (0xb)
+		}
+	}
+}
+
+Device (LNKB)
+{
+	Name (_HID, EISAID("PNP0C0F"))
+	Name (_UID, 2)
+
+	/* Disable method */
+	Method (_DIS, 0, Serialized)
+	{
+		Store (0x80, PRTB)
+	}
+
+	/* Possible Resource Settings for this Link */
+	Name (_PRS, ResourceTemplate()
+	{
+		IRQ(Level, ActiveLow, Shared)
+			{ 1, 3, 4, 5, 6, 7, 11, 12, 14, 15 }
+	})
+
+	/* Current Resource Settings for this link */
+	Method (_CRS, 0, Serialized)
+	{
+		Name (RTLB, ResourceTemplate()
+		{
+			IRQ(Level, ActiveLow, Shared) {}
+		})
+		CreateWordField(RTLB, 1, IRQ0)
+
+		/* Clear the WordField */
+		Store (Zero, IRQ0)
+
+		/* Set the bit from PRTB */
+		ShiftLeft(1, And(PRTB, 0x0f), IRQ0)
+
+		Return (RTLB)
+	}
+
+	/* Set Resource Setting for this IRQ link */
+	Method (_SRS, 1, Serialized)
+	{
+		CreateWordField(Arg0, 1, IRQ0)
+
+		/* Which bit is set? */
+		FindSetRightBit(IRQ0, Local0)
+
+		Decrement(Local0)
+		Store(Local0, PRTB)
+	}
+
+	/* Status */
+	Method (_STA, 0, Serialized)
+	{
+		If(And(PRTB, 0x80)) {
+			Return (0x9)
+		} Else {
+			Return (0xb)
+		}
+	}
+}
+
+Device (LNKC)
+{
+	Name (_HID, EISAID("PNP0C0F"))
+	Name (_UID, 3)
+
+	/* Disable method */
+	Method (_DIS, 0, Serialized)
+	{
+		Store (0x80, PRTC)
+	}
+
+	/* Possible Resource Settings for this Link */
+	Name (_PRS, ResourceTemplate()
+	{
+		IRQ(Level, ActiveLow, Shared)
+			{ 1, 3, 4, 5, 6, 7, 10, 12, 14, 15 }
+	})
+
+	/* Current Resource Settings for this link */
+	Method (_CRS, 0, Serialized)
+	{
+		Name (RTLC, ResourceTemplate()
+		{
+			IRQ(Level, ActiveLow, Shared) {}
+		})
+		CreateWordField(RTLC, 1, IRQ0)
+
+		/* Clear the WordField */
+		Store (Zero, IRQ0)
+
+		/* Set the bit from PRTC */
+		ShiftLeft(1, And(PRTC, 0x0f), IRQ0)
+
+		Return (RTLC)
+	}
+
+	/* Set Resource Setting for this IRQ link */
+	Method (_SRS, 1, Serialized)
+	{
+		CreateWordField(Arg0, 1, IRQ0)
+
+		/* Which bit is set? */
+		FindSetRightBit(IRQ0, Local0)
+
+		Decrement(Local0)
+		Store(Local0, PRTC)
+	}
+
+	/* Status */
+	Method (_STA, 0, Serialized)
+	{
+		If(And(PRTC, 0x80)) {
+			Return (0x9)
+		} Else {
+			Return (0xb)
+		}
+	}
+}
+
+Device (LNKD)
+{
+	Name (_HID, EISAID("PNP0C0F"))
+	Name (_UID, 4)
+
+	/* Disable method */
+	Method (_DIS, 0, Serialized)
+	{
+		Store (0x80, PRTD)
+	}
+
+	/* Possible Resource Settings for this Link */
+	Name (_PRS, ResourceTemplate()
+	{
+		IRQ(Level, ActiveLow, Shared)
+			{ 1, 3, 4, 5, 6, 7, 11, 12, 14, 15 }
+	})
+
+	/* Current Resource Settings for this link */
+	Method (_CRS, 0, Serialized)
+	{
+		Name (RTLD, ResourceTemplate()
+		{
+			IRQ(Level, ActiveLow, Shared) {}
+		})
+		CreateWordField(RTLD, 1, IRQ0)
+
+		/* Clear the WordField */
+		Store (Zero, IRQ0)
+
+		/* Set the bit from PRTD */
+		ShiftLeft(1, And(PRTD, 0x0f), IRQ0)
+
+		Return (RTLD)
+	}
+
+	/* Set Resource Setting for this IRQ link */
+	Method (_SRS, 1, Serialized)
+	{
+		CreateWordField(Arg0, 1, IRQ0)
+
+		/* Which bit is set? */
+		FindSetRightBit(IRQ0, Local0)
+
+		Decrement(Local0)
+		Store(Local0, PRTD)
+	}
+
+	/* Status */
+	Method (_STA, 0, Serialized)
+	{
+		If(And(PRTD, 0x80)) {
+			Return (0x9)
+		} Else {
+			Return (0xb)
+		}
+	}
+}
+
+Device (LNKE)
+{
+	Name (_HID, EISAID("PNP0C0F"))
+	Name (_UID, 5)
+
+	/* Disable method */
+	Method (_DIS, 0, Serialized)
+	{
+		Store (0x80, PRTE)
+	}
+
+	/* Possible Resource Settings for this Link */
+	Name (_PRS, ResourceTemplate()
+	{
+		IRQ(Level, ActiveLow, Shared)
+			{ 1, 3, 4, 5, 6, 7, 10, 12, 14, 15 }
+	})
+
+	/* Current Resource Settings for this link */
+	Method (_CRS, 0, Serialized)
+	{
+		Name (RTLE, ResourceTemplate()
+		{
+			IRQ(Level, ActiveLow, Shared) {}
+		})
+		CreateWordField(RTLE, 1, IRQ0)
+
+		/* Clear the WordField */
+		Store (Zero, IRQ0)
+
+		/* Set the bit from PRTE */
+		ShiftLeft(1, And(PRTE, 0x0f), IRQ0)
+
+		Return (RTLE)
+	}
+
+	/* Set Resource Setting for this IRQ link */
+	Method (_SRS, 1, Serialized)
+	{
+		CreateWordField(Arg0, 1, IRQ0)
+
+		/* Which bit is set? */
+		FindSetRightBit(IRQ0, Local0)
+
+		Decrement(Local0)
+		Store(Local0, PRTE)
+	}
+
+	/* Status */
+	Method (_STA, 0, Serialized)
+	{
+		If(And(PRTE, 0x80)) {
+			Return (0x9)
+		} Else {
+			Return (0xb)
+		}
+	}
+}
+
+Device (LNKF)
+{
+	Name (_HID, EISAID("PNP0C0F"))
+	Name (_UID, 6)
+
+	/* Disable method */
+	Method (_DIS, 0, Serialized)
+	{
+		Store (0x80, PRTF)
+	}
+
+	/* Possible Resource Settings for this Link */
+	Name (_PRS, ResourceTemplate()
+	{
+		IRQ(Level, ActiveLow, Shared)
+			{ 1, 3, 4, 5, 6, 7, 11, 12, 14, 15 }
+	})
+
+	/* Current Resource Settings for this link */
+	Method (_CRS, 0, Serialized)
+	{
+		Name (RTLF, ResourceTemplate()
+		{
+			IRQ(Level, ActiveLow, Shared) {}
+		})
+		CreateWordField(RTLF, 1, IRQ0)
+
+		/* Clear the WordField */
+		Store (Zero, IRQ0)
+
+		/* Set the bit from PRTF */
+		ShiftLeft(1, And(PRTF, 0x0f), IRQ0)
+
+		Return (RTLF)
+	}
+
+	/* Set Resource Setting for this IRQ link */
+	Method (_SRS, 1, Serialized)
+	{
+		CreateWordField(Arg0, 1, IRQ0)
+
+		/* Which bit is set? */
+		FindSetRightBit(IRQ0, Local0)
+
+		Decrement(Local0)
+		Store(Local0, PRTF)
+	}
+
+	/* Status */
+	Method (_STA, 0, Serialized)
+	{
+		If(And(PRTF, 0x80)) {
+			Return (0x9)
+		} Else {
+			Return (0xb)
+		}
+	}
+}
+
+Device (LNKG)
+{
+	Name (_HID, EISAID("PNP0C0F"))
+	Name (_UID, 7)
+
+	/* Disable method */
+	Method (_DIS, 0, Serialized)
+	{
+		Store (0x80, PRTG)
+	}
+
+	/* Possible Resource Settings for this Link */
+	Name (_PRS, ResourceTemplate()
+	{
+		IRQ(Level, ActiveLow, Shared)
+			{ 1, 3, 4, 5, 6, 7, 10, 12, 14, 15 }
+	})
+
+	/* Current Resource Settings for this link */
+	Method (_CRS, 0, Serialized)
+	{
+		Name (RTLG, ResourceTemplate()
+		{
+			IRQ(Level, ActiveLow, Shared) {}
+		})
+		CreateWordField(RTLG, 1, IRQ0)
+
+		/* Clear the WordField */
+		Store (Zero, IRQ0)
+
+		/* Set the bit from PRTG */
+		ShiftLeft(1, And(PRTG, 0x0f), IRQ0)
+
+		Return (RTLG)
+	}
+
+	/* Set Resource Setting for this IRQ link */
+	Method (_SRS, 1, Serialized)
+	{
+		CreateWordField(Arg0, 1, IRQ0)
+
+		/* Which bit is set? */
+		FindSetRightBit(IRQ0, Local0)
+
+		Decrement(Local0)
+		Store(Local0, PRTG)
+	}
+
+	/* Status */
+	Method (_STA, 0, Serialized)
+	{
+		If(And(PRTG, 0x80)) {
+			Return (0x9)
+		} Else {
+			Return (0xb)
+		}
+	}
+}
+
+Device (LNKH)
+{
+	Name (_HID, EISAID("PNP0C0F"))
+	Name (_UID, 8)
+
+	/* Disable method */
+	Method (_DIS, 0, Serialized)
+	{
+		Store (0x80, PRTH)
+	}
+
+	/* Possible Resource Settings for this Link */
+	Name (_PRS, ResourceTemplate()
+	{
+		IRQ(Level, ActiveLow, Shared)
+			{ 1, 3, 4, 5, 6, 7, 11, 12, 14, 15 }
+	})
+
+	/* Current Resource Settings for this link */
+	Method (_CRS, 0, Serialized)
+	{
+		Name (RTLH, ResourceTemplate()
+		{
+			IRQ(Level, ActiveLow, Shared) {}
+		})
+		CreateWordField(RTLH, 1, IRQ0)
+
+		/* Clear the WordField */
+		Store (Zero, IRQ0)
+
+		/* Set the bit from PRTH */
+		ShiftLeft(1, And(PRTH, 0x0f), IRQ0)
+
+		Return (RTLH)
+	}
+
+	/* Set Resource Setting for this IRQ link */
+	Method (_SRS, 1, Serialized)
+	{
+		CreateWordField(Arg0, 1, IRQ0)
+
+		/* Which bit is set? */
+		FindSetRightBit(IRQ0, Local0)
+
+		Decrement(Local0)
+		Store(Local0, PRTH)
+	}
+
+	/* Status */
+	Method (_STA, 0, Serialized)
+	{
+		If(And(PRTH, 0x80)) {
+			Return (0x9)
+		} Else {
+			Return (0xb)
+		}
+	}
+}
+
diff --git a/src/soc/intel/braswell/acpi/irqroute.asl b/src/soc/intel/braswell/acpi/irqroute.asl
new file mode 100644
index 0000000..db2b228
--- /dev/null
+++ b/src/soc/intel/braswell/acpi/irqroute.asl
@@ -0,0 +1,37 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007-2009 coresystems GmbH
+ * Copyright (C) 2013 Google Inc.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+/* PCI Interrupt Routing */
+Method(_PRT)
+{
+	If (PICM) {
+		Return (Package() {
+			#undef PIC_MODE
+			#include <soc/intel/braswell/acpi/irq_helper.h>
+			PCI_DEV_PIRQ_ROUTES
+		})
+	} Else {
+		Return (Package() {
+			#define PIC_MODE
+			#include <soc/intel/braswell/acpi/irq_helper.h>
+			PCI_DEV_PIRQ_ROUTES
+		})
+	}
+}
diff --git a/src/soc/intel/braswell/acpi/lpc.asl b/src/soc/intel/braswell/acpi/lpc.asl
new file mode 100644
index 0000000..7961a9a
--- /dev/null
+++ b/src/soc/intel/braswell/acpi/lpc.asl
@@ -0,0 +1,169 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007-2009 coresystems GmbH
+ * Copyright (C) 2013 Google Inc.
+ *
+ * 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; version 2 of
+ * the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+
+/* Intel LPC Bus Device  - 0:1f.0 */
+
+Device (LPCB)
+{
+	Name(_ADR, 0x001f0000)
+
+	#include "irqlinks.asl"
+
+	#include "acpi/ec.asl"
+
+	Device (DMAC)		/* DMA Controller */
+	{
+		Name(_HID, EISAID("PNP0200"))
+		Name(_CRS, ResourceTemplate()
+		{
+			IO (Decode16, 0x00, 0x00, 0x01, 0x20)
+			IO (Decode16, 0x81, 0x81, 0x01, 0x11)
+			IO (Decode16, 0x93, 0x93, 0x01, 0x0d)
+			IO (Decode16, 0xc0, 0xc0, 0x01, 0x20)
+			DMA (Compatibility, NotBusMaster, Transfer8_16) { 4 }
+		})
+	}
+
+	Device (FWH)		/* Firmware Hub */
+	{
+		Name (_HID, EISAID("INT0800"))
+		Name (_CRS, ResourceTemplate()
+		{
+			Memory32Fixed(ReadOnly, 0xff000000, 0x01000000)
+		})
+	}
+
+	Device (HPET)
+	{
+		Name (_HID, EISAID("PNP0103"))
+		Name (_CID, 0x010CD041)
+
+		Method (_STA, 0)	/* Device Status */
+		{
+			Return (0xf)	/* Enable and show device */
+		}
+
+		Name(_CRS, ResourceTemplate()
+		{
+			Memory32Fixed(ReadOnly, 0xfed00000, 0x400)
+		})
+	}
+
+	Device(PIC)	/* 8259 Interrupt Controller */
+	{
+		Name(_HID,EISAID("PNP0000"))
+		Name(_CRS, ResourceTemplate()
+		{
+			IO (Decode16, 0x20, 0x20, 0x01, 0x02)
+			IO (Decode16, 0x24, 0x24, 0x01, 0x02)
+			IO (Decode16, 0x28, 0x28, 0x01, 0x02)
+			IO (Decode16, 0x2c, 0x2c, 0x01, 0x02)
+			IO (Decode16, 0x30, 0x30, 0x01, 0x02)
+			IO (Decode16, 0x34, 0x34, 0x01, 0x02)
+			IO (Decode16, 0x38, 0x38, 0x01, 0x02)
+			IO (Decode16, 0x3c, 0x3c, 0x01, 0x02)
+			IO (Decode16, 0xa0, 0xa0, 0x01, 0x02)
+			IO (Decode16, 0xa4, 0xa4, 0x01, 0x02)
+			IO (Decode16, 0xa8, 0xa8, 0x01, 0x02)
+			IO (Decode16, 0xac, 0xac, 0x01, 0x02)
+			IO (Decode16, 0xb0, 0xb0, 0x01, 0x02)
+			IO (Decode16, 0xb4, 0xb4, 0x01, 0x02)
+			IO (Decode16, 0xb8, 0xb8, 0x01, 0x02)
+			IO (Decode16, 0xbc, 0xbc, 0x01, 0x02)
+			IO (Decode16, 0x4d0, 0x4d0, 0x01, 0x02)
+			IRQNoFlags () { 2 }
+		})
+	}
+
+	Device(LDRC)	/* LPC device: Resource consumption */
+	{
+		Name (_HID, EISAID("PNP0C02"))
+		Name (_UID, 2)
+
+		Name (RBUF, ResourceTemplate()
+		{
+			IO (Decode16, 0x61, 0x61, 0x1, 0x01) /* NMI Status */
+			IO (Decode16, 0x63, 0x63, 0x1, 0x01) /* CPU Reserved */
+			IO (Decode16, 0x65, 0x65, 0x1, 0x01) /* CPU Reserved */
+			IO (Decode16, 0x67, 0x67, 0x1, 0x01) /* CPU Reserved */
+			IO (Decode16, 0x80, 0x80, 0x1, 0x01) /* Port 80 Post */
+			IO (Decode16, 0x92, 0x92, 0x1, 0x01) /* CPU Reserved */
+			IO (Decode16, 0xb2, 0xb2, 0x1, 0x02) /* SWSMI */
+		})
+
+		Method (_CRS, 0, NotSerialized)
+		{
+			Return (RBUF)
+		}
+	}
+
+	Device (RTC)	/* Real Time Clock */
+	{
+		Name (_HID, EISAID("PNP0B00"))
+		Name (_CRS, ResourceTemplate()
+		{
+			IO (Decode16, 0x70, 0x70, 1, 8)
+/*
+ * Disable as Windows doesn't like it, and systems don't seem to use it.
+ *			IRQNoFlags() { 8 }
+ */
+		})
+	}
+
+	Device (TIMR)	/* Intel 8254 timer */
+	{
+		Name(_HID, EISAID("PNP0100"))
+		Name(_CRS, ResourceTemplate()
+		{
+			IO (Decode16, 0x40, 0x40, 0x01, 0x04)
+			IO (Decode16, 0x50, 0x50, 0x10, 0x04)
+			IRQNoFlags() {0}
+		})
+	}
+
+	/* Include mainboard's superio.asl file. */
+	#include "acpi/superio.asl"
+
+#ifdef ENABLE_TPM
+	Device (TPM)		/* Trusted Platform Module */
+	{
+		Name(_HID, EISAID("IFX0102"))
+		Name(_CID, 0x310cd041)
+		Name(_UID, 1)
+
+		Method(_STA, 0)
+		{
+			If (TPMP) {
+				Return (0xf)
+			}
+			Return (0x0)
+		}
+
+		Name(_CRS, ResourceTemplate() {
+			IO (Decode16, 0x2e, 0x2e, 0x01, 0x02)
+			IO (Decode16, 0x6f0, 0x6f0, 0x01, 0x10)
+			Memory32Fixed (ReadWrite, 0xfed40000, 0x5000)
+			IRQ (Edge, Activehigh, Exclusive) { 6 }
+		})
+	}
+#endif
+}
diff --git a/src/soc/intel/braswell/acpi/lpe.asl b/src/soc/intel/braswell/acpi/lpe.asl
new file mode 100644
index 0000000..1c6c50a
--- /dev/null
+++ b/src/soc/intel/braswell/acpi/lpe.asl
@@ -0,0 +1,119 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2014 Google Inc.
+ *
+ * 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; version 2 of
+ * the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+
+Device (LPEA)
+{
+	Name (_HID, "808622A8")
+	Name (_CID, "808622A8")
+	Name (_UID, 1)
+	Name (_DDN, "Intel(R) Low Power Audio Controller - 808622A8")
+	Name (_PR0, Package () { PLPE })
+
+	Name (RBUF, ResourceTemplate()
+	{
+		Memory32Fixed (ReadWrite, 0, 0x00200000, BAR0)
+		Memory32Fixed (ReadWrite, 0, 0x00001000, BAR1)
+		Memory32Fixed (ReadWrite, 0, 0x00100000, BAR2)
+		Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
+		{
+			LPE_DMA0_IRQ
+		}
+		Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
+		{
+			LPE_DMA1_IRQ
+		}
+		Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
+		{
+			LPE_SSP0_IRQ
+		}
+		Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
+		{
+			LPE_SSP1_IRQ
+		}
+		Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
+		{
+			LPE_SSP2_IRQ
+		}
+		Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
+		{
+			LPE_IPC2HOST_IRQ
+		}
+	})
+
+	Method (_CRS)
+	{
+		/* Update BAR0 from NVS */
+		CreateDwordField (^RBUF, ^BAR0._BAS, BAS0)
+		Store (\LPB0, BAS0)
+
+		/* Update BAR1 from NVS */
+		CreateDwordField (^RBUF, ^BAR1._BAS, BAS1)
+		Store (\LPB1, BAS1)
+
+		/* Update LPE FW from NVS */
+		CreateDwordField (^RBUF, ^BAR2._BAS, BAS2)
+		Store (\LPFW, BAS2)
+
+		/* Append any Mainboard defined GPIOs */
+		If (CondRefOf (^GBUF, Local0)) {
+			ConcatenateResTemplate (^RBUF, ^GBUF, Local1)
+			Return (Local1)
+		}
+
+		Return (^RBUF)
+	}
+
+	Method (_STA)
+	{
+		If (LEqual (\LPEN, 1)) {
+			Return (0xF)
+		} Else {
+			Return (0x0)
+		}
+	}
+
+	OperationRegion (KEYS, SystemMemory, LPB1, 0x100)
+	Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
+	{
+		Offset (0x84),
+		PSAT, 32,
+	}
+
+	PowerResource (PLPE, 0, 0)
+	{
+		Method (_STA)
+		{
+			Return (1)
+		}
+
+		Method (_OFF)
+		{
+			Or (PSAT, 0x00000003, PSAT)
+			Or (PSAT, 0x00000000, PSAT)
+		}
+
+		Method (_ON)
+		{
+			And (PSAT, 0xfffffffc, PSAT)
+			Or (PSAT, 0x00000000, PSAT)
+		}
+	}
+}
diff --git a/src/soc/intel/braswell/acpi/lpss.asl b/src/soc/intel/braswell/acpi/lpss.asl
new file mode 100644
index 0000000..3af3179
--- /dev/null
+++ b/src/soc/intel/braswell/acpi/lpss.asl
@@ -0,0 +1,712 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ *
+ * 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; version 2 of
+ * the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+
+Device (SDM1)
+{
+	Name (_HID, "INTL9C60")
+	Name (_UID, 1)
+	Name (_DDN, "DMA Controller #1")
+
+	Name (RBUF, ResourceTemplate()
+	{
+		Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
+		Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
+		{
+			LPSS_DMA1_IRQ
+		}
+	})
+
+	Method (_CRS)
+	{
+		CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
+		Store (\S0B0, RBAS)
+		Return (^RBUF)
+	}
+
+	Method (_STA)
+	{
+		If (LEqual (\S0EN, 1)) {
+			Return (0xF)
+		} Else {
+			Return (0x0)
+		}
+	}
+}
+
+Device (SDM2)
+{
+	Name (_HID, "INTL9C60")
+	Name (_UID, 2)
+	Name (_DDN, "DMA Controller #2")
+
+	Name (RBUF, ResourceTemplate()
+	{
+		Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
+		Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
+		{
+			LPSS_DMA2_IRQ
+		}
+	})
+
+	Method (_CRS)
+	{
+		CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
+		Store (\S8B0, RBAS)
+		Return (^RBUF)
+	}
+
+	Method (_STA)
+	{
+		If (LEqual (\S8EN, 1)) {
+			Return (0xF)
+		} Else {
+			Return (0x0)
+		}
+	}
+}
+
+Device (I2C1)
+{
+	Name (_HID, "808622C1")
+	Name (_UID, 1)
+	Name (_DDN, "I2C Controller #1")
+
+	/* Standard Mode: HCNT, LCNT, SDA Hold Time */
+	Name (SSCN, Package () { 0x200, 0x200, 0x6 })
+
+	/* Fast Mode: HCNT, LCNT, SDA Hold Time */
+	Name (FMCN, Package () { 0x55, 0x99, 0x6 })
+
+	Name (RBUF, ResourceTemplate()
+	{
+		Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
+		Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
+		{
+			LPSS_I2C1_IRQ
+		}
+		FixedDMA (0x10, 0x0, Width32Bit, )
+		FixedDMA (0x11, 0x1, Width32Bit, )
+	})
+
+	Method (_CRS)
+	{
+		CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
+		Store (\S1B0, RBAS)
+		Return (^RBUF)
+	}
+
+	Method (_STA)
+	{
+		If (LEqual (\S1EN, 1)) {
+			Return (0xF)
+		} Else {
+			Return (0x0)
+		}
+	}
+
+	OperationRegion (KEYS, SystemMemory, S1B1, 0x100)
+	Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
+	{
+		Offset (0x84),
+		PSAT, 32,
+	}
+
+	Method (_PS3)
+	{
+		Or (PSAT, 0x00000003, PSAT)
+		Or (PSAT, 0x00000000, PSAT)
+	}
+
+	Method (_PS0)
+	{
+		And (PSAT, 0xfffffffc, PSAT)
+		Or (PSAT, 0x00000000, PSAT)
+	}
+}
+
+Device (I2C2)
+{
+	Name (_HID, "808622C1")
+	Name (_UID, 2)
+	Name (_DDN, "I2C Controller #2")
+
+	/* Standard Mode: HCNT, LCNT, SDA Hold Time */
+	Name (SSCN, Package () { 0x200, 0x200, 0x6 })
+
+	/* Fast Mode: HCNT, LCNT, SDA Hold Time */
+	Name (FMCN, Package () { 0x55, 0x99, 0x6 })
+
+	Name (RBUF, ResourceTemplate()
+	{
+		Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
+		Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
+		{
+			LPSS_I2C2_IRQ
+		}
+		FixedDMA (0x10, 0x0, Width32Bit, )
+		FixedDMA (0x11, 0x1, Width32Bit, )
+	})
+
+	Method (_CRS)
+	{
+		CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
+		Store (\S2B0, RBAS)
+		Return (^RBUF)
+	}
+
+	Method (_STA)
+	{
+		If (LEqual (\S2EN, 1)) {
+			Return (0xF)
+		} Else {
+			Return (0x0)
+		}
+	}
+
+	OperationRegion (KEYS, SystemMemory, S2B1, 0x100)
+	Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
+	{
+		Offset (0x84),
+		PSAT, 32,
+	}
+
+	Method (_PS3)
+	{
+		Or (PSAT, 0x00000003, PSAT)
+		Or (PSAT, 0x00000000, PSAT)
+	}
+
+	Method (_PS0)
+	{
+		And (PSAT, 0xfffffffc, PSAT)
+		Or (PSAT, 0x00000000, PSAT)
+	}
+}
+
+Device (I2C3)
+{
+	Name (_HID, "808622C1")
+	Name (_UID, 3)
+	Name (_DDN, "I2C Controller #3")
+
+	/* Standard Mode: HCNT, LCNT, SDA Hold Time */
+	Name (SSCN, Package () { 0x200, 0x200, 0x6 })
+
+	/* Fast Mode: HCNT, LCNT, SDA Hold Time */
+	Name (FMCN, Package () { 0x55, 0x99, 0x6 })
+
+	Name (RBUF, ResourceTemplate()
+	{
+		Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
+		Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
+		{
+			LPSS_I2C3_IRQ
+		}
+		FixedDMA (0x10, 0x0, Width32Bit, )
+		FixedDMA (0x11, 0x1, Width32Bit, )
+	})
+
+	Method (_CRS)
+	{
+		CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
+		Store (\S3B0, RBAS)
+		Return (^RBUF)
+	}
+
+	Method (_STA)
+	{
+		If (LEqual (\S3EN, 1)) {
+			Return (0xF)
+		} Else {
+			Return (0x0)
+		}
+	}
+
+	OperationRegion (KEYS, SystemMemory, S3B1, 0x100)
+	Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
+	{
+		Offset (0x84),
+		PSAT, 32,
+	}
+
+	Method (_PS3)
+	{
+		Or (PSAT, 0x00000003, PSAT)
+		Or (PSAT, 0x00000000, PSAT)
+	}
+
+	Method (_PS0)
+	{
+		And (PSAT, 0xfffffffc, PSAT)
+		Or (PSAT, 0x00000000, PSAT)
+	}
+}
+
+Device (I2C4)
+{
+	Name (_HID, "808622C1")
+	Name (_UID, 4)
+	Name (_DDN, "I2C Controller #4")
+
+	/* Standard Mode: HCNT, LCNT, SDA Hold Time */
+	Name (SSCN, Package () { 0x200, 0x200, 0x6 })
+
+	/* Fast Mode: HCNT, LCNT, SDA Hold Time */
+	Name (FMCN, Package () { 0x55, 0x99, 0x6 })
+
+	Name (RBUF, ResourceTemplate()
+	{
+		Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
+		Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
+		{
+			LPSS_I2C4_IRQ
+		}
+		FixedDMA (0x10, 0x0, Width32Bit, )
+		FixedDMA (0x11, 0x1, Width32Bit, )
+	})
+
+	Method (_CRS)
+	{
+		CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
+		Store (\S4B0, RBAS)
+		Return (^RBUF)
+	}
+
+	Method (_STA)
+	{
+		If (LEqual (\S4EN, 1)) {
+			Return (0xF)
+		} Else {
+			Return (0x0)
+		}
+	}
+
+	OperationRegion (KEYS, SystemMemory, S4B1, 0x100)
+	Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
+	{
+		Offset (0x84),
+		PSAT, 32,
+	}
+
+	Method (_PS3)
+	{
+		Or (PSAT, 0x00000003, PSAT)
+		Or (PSAT, 0x00000000, PSAT)
+	}
+
+	Method (_PS0)
+	{
+		And (PSAT, 0xfffffffc, PSAT)
+		Or (PSAT, 0x00000000, PSAT)
+	}
+}
+
+Device (I2C5)
+{
+	Name (_HID, "808622C1")
+	Name (_UID, 5)
+	Name (_DDN, "I2C Controller #5")
+
+	/* Standard Mode: HCNT, LCNT, SDA Hold Time */
+	Name (SSCN, Package () { 0x200, 0x200, 0x6 })
+
+	/* Fast Mode: HCNT, LCNT, SDA Hold Time */
+	Name (FMCN, Package () { 0x55, 0x99, 0x6 })
+
+	Name (RBUF, ResourceTemplate()
+	{
+		Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
+		Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
+		{
+			LPSS_I2C5_IRQ
+		}
+		FixedDMA (0x10, 0x0, Width32Bit, )
+		FixedDMA (0x11, 0x1, Width32Bit, )
+	})
+
+	Method (_CRS)
+	{
+		CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
+		Store (\S5B0, RBAS)
+		Return (^RBUF)
+	}
+
+	Method (_STA)
+	{
+		If (LEqual (\S5EN, 1)) {
+			Return (0xF)
+		} Else {
+			Return (0x0)
+		}
+	}
+
+	OperationRegion (KEYS, SystemMemory, S5B1, 0x100)
+	Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
+	{
+		Offset (0x84),
+		PSAT, 32,
+	}
+
+	Method (_PS3)
+	{
+		Or (PSAT, 0x00000003, PSAT)
+		Or (PSAT, 0x00000000, PSAT)
+	}
+
+	Method (_PS0)
+	{
+		And (PSAT, 0xfffffffc, PSAT)
+		Or (PSAT, 0x00000000, PSAT)
+	}
+}
+
+Device (I2C6)
+{
+	Name (_HID, "808622C1")
+	Name (_UID, 6)
+	Name (_DDN, "I2C Controller #6")
+
+	/* Standard Mode: HCNT, LCNT, SDA Hold Time */
+	Name (SSCN, Package () { 0x200, 0x200, 0x6 })
+
+	/* Fast Mode: HCNT, LCNT, SDA Hold Time */
+	Name (FMCN, Package () { 0x55, 0x99, 0x6 })
+
+	Name (RBUF, ResourceTemplate()
+	{
+		Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
+		Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
+		{
+			LPSS_I2C6_IRQ
+		}
+		FixedDMA (0x10, 0x0, Width32Bit, )
+		FixedDMA (0x11, 0x1, Width32Bit, )
+	})
+
+	Method (_CRS)
+	{
+		CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
+		Store (\S6B0, RBAS)
+		Return (^RBUF)
+	}
+
+	Method (_STA)
+	{
+		If (LEqual (\S6EN, 1)) {
+			Return (0xF)
+		} Else {
+			Return (0x0)
+		}
+	}
+
+	OperationRegion (KEYS, SystemMemory, S6B1, 0x100)
+	Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
+	{
+		Offset (0x84),
+		PSAT, 32,
+	}
+
+	Method (_PS3)
+	{
+		Or (PSAT, 0x00000003, PSAT)
+		Or (PSAT, 0x00000000, PSAT)
+	}
+
+	Method (_PS0)
+	{
+		And (PSAT, 0xfffffffc, PSAT)
+		Or (PSAT, 0x00000000, PSAT)
+	}
+}
+
+Device (I2C7)
+{
+	Name (_HID, "808622C1")
+	Name (_UID, 7)
+	Name (_DDN, "I2C Controller #7")
+
+	/* Standard Mode: HCNT, LCNT, SDA Hold Time */
+	Name (SSCN, Package () { 0x200, 0x200, 0x6 })
+
+	/* Fast Mode: HCNT, LCNT, SDA Hold Time */
+	Name (FMCN, Package () { 0x55, 0x99, 0x6 })
+
+	Name (RBUF, ResourceTemplate()
+	{
+		Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
+		Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
+		{
+			LPSS_I2C7_IRQ
+		}
+		FixedDMA (0x10, 0x0, Width32Bit, )
+		FixedDMA (0x11, 0x1, Width32Bit, )
+	})
+
+	Method (_CRS)
+	{
+		CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
+		Store (\S7B0, RBAS)
+		Return (^RBUF)
+	}
+
+	Method (_STA)
+	{
+		If (LEqual (\S7EN, 1)) {
+			Return (0xF)
+		} Else {
+			Return (0x0)
+		}
+	}
+
+	OperationRegion (KEYS, SystemMemory, S7B1, 0x100)
+	Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
+	{
+		Offset (0x84),
+		PSAT, 32,
+	}
+
+	Method (_PS3)
+	{
+		Or (PSAT, 0x00000003, PSAT)
+		Or (PSAT, 0x00000000, PSAT)
+	}
+
+	Method (_PS0)
+	{
+		And (PSAT, 0xfffffffc, PSAT)
+		Or (PSAT, 0x00000000, PSAT)
+	}
+}
+
+Device (SPI1)
+{
+	Name (_HID, "8086228E")
+	Name (_UID, 1)
+	Name (_DDN, "SPI Controller #2")
+
+	Name (RBUF, ResourceTemplate()
+	{
+		Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
+		Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
+		{
+			LPSS_SPI_IRQ
+		}
+		FixedDMA (0x0, 0x0, Width32Bit, )
+		FixedDMA (0x1, 0x1, Width32Bit, )
+	})
+
+	Method (_CRS)
+	{
+		CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
+		Store (\S9B0, RBAS)
+		Return (^RBUF)
+	}
+
+	Method (_STA)
+	{
+		If (LEqual (\S9EN, 1)) {
+			Return (0xF)
+		} Else {
+			Return (0x0)
+		}
+	}
+
+	OperationRegion (KEYS, SystemMemory, S9B1, 0x100)
+	Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
+	{
+		Offset (0x84),
+		PSAT, 32,
+	}
+
+	Method (_PS3)
+	{
+		Or (PSAT, 0x00000003, PSAT)
+		Or (PSAT, 0x00000000, PSAT)
+	}
+
+	Method (_PS0)
+	{
+		And (PSAT, 0xfffffffc, PSAT)
+		Or (PSAT, 0x00000000, PSAT)
+	}
+}
+
+Device (PWM1)
+{
+	Name (_HID, "80862288")
+	Name (_UID, 1)
+	Name (_DDN, "PWM Controller #1")
+
+	Name (RBUF, ResourceTemplate()
+	{
+		Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
+	})
+
+	Method (_CRS)
+	{
+		CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
+		Store (\SAB0, RBAS)
+		Return (^RBUF)
+	}
+
+	Method (_STA)
+	{
+		If (LEqual (\SAEN, 1)) {
+			Return (0xF)
+		} Else {
+			Return (0x0)
+		}
+	}
+}
+
+Device (PWM2)
+{
+	Name (_HID, "80862288")
+	Name (_UID, 2)
+	Name (_DDN, "PWM Controller #2")
+
+	Name (RBUF, ResourceTemplate()
+	{
+		Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
+	})
+
+	Method (_CRS)
+	{
+		CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
+		Store (\SBB0, RBAS)
+		Return (^RBUF)
+	}
+
+	Method (_STA)
+	{
+		If (LEqual (\SBEN, 1)) {
+			Return (0xF)
+		} Else {
+			Return (0x0)
+		}
+	}
+}
+
+Device (UAR1)
+{
+	Name (_HID, "8086228A")
+	Name (_UID, 1)
+	Name (_DDN, "HS-UART Controller #1")
+
+	Name (RBUF, ResourceTemplate()
+	{
+		Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
+		Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
+		{
+			LPSS_HSUART1_IRQ
+		}
+		FixedDMA (0x2, 0x2, Width32Bit, )
+		FixedDMA (0x3, 0x3, Width32Bit, )
+	})
+
+	Method (_CRS)
+	{
+		CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
+		Store (\SCB0, RBAS)
+		Return (^RBUF)
+	}
+
+	Method (_STA)
+	{
+		If (LEqual (\SCEN, 1)) {
+			Return (0xF)
+		} Else {
+			Return (0x0)
+		}
+	}
+
+	OperationRegion (KEYS, SystemMemory, SCB1, 0x100)
+	Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
+	{
+		Offset (0x84),
+		PSAT, 32,
+	}
+
+	Method (_PS3)
+	{
+		Or (PSAT, 0x00000003, PSAT)
+		Or (PSAT, 0x00000000, PSAT)
+	}
+
+	Method (_PS0)
+	{
+		And (PSAT, 0xfffffffc, PSAT)
+		Or (PSAT, 0x00000000, PSAT)
+	}
+}
+
+Device (UAR2)
+{
+	Name (_HID, "8086228A")
+	Name (_UID, 2)
+	Name (_DDN, "HS-UART Controller #2")
+
+	Name (RBUF, ResourceTemplate()
+	{
+		Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
+		Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
+		{
+			LPSS_HSUART2_IRQ
+		}
+		FixedDMA (0x4, 0x4, Width32Bit, )
+		FixedDMA (0x5, 0x5, Width32Bit, )
+	})
+
+	Method (_CRS)
+	{
+		CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
+		Store (\SDB0, RBAS)
+		Return (^RBUF)
+	}
+
+	Method (_STA)
+	{
+		If (LEqual (\SDEN, 1)) {
+			Return (0xF)
+		} Else {
+			Return (0x0)
+		}
+	}
+
+	OperationRegion (KEYS, SystemMemory, SDB1, 0x100)
+	Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
+	{
+		Offset (0x84),
+		PSAT, 32,
+	}
+
+	Method (_PS3)
+	{
+		Or (PSAT, 0x00000003, PSAT)
+		Or (PSAT, 0x00000000, PSAT)
+	}
+
+	Method (_PS0)
+	{
+		And (PSAT, 0xfffffffc, PSAT)
+		Or (PSAT, 0x00000000, PSAT)
+	}
+}
diff --git a/src/soc/intel/braswell/acpi/platform.asl b/src/soc/intel/braswell/acpi/platform.asl
new file mode 100644
index 0000000..a8b331b
--- /dev/null
+++ b/src/soc/intel/braswell/acpi/platform.asl
@@ -0,0 +1,80 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007-2009 coresystems GmbH
+ * Copyright (C) 2012 Google Inc.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+/* The APM port can be used for generating software SMIs */
+
+OperationRegion (APMP, SystemIO, 0xb2, 2)
+Field (APMP, ByteAcc, NoLock, Preserve)
+{
+	APMC, 8,	/* APM command */
+	APMS, 8		/* APM status */
+}
+
+/* Port 80 POST */
+
+OperationRegion (POST, SystemIO, 0x80, 1)
+Field (POST, ByteAcc, Lock, Preserve)
+{
+	DBG0, 8
+}
+
+/* SMI I/O Trap */
+Method(TRAP, 1, Serialized)
+{
+	Store (Arg0, SMIF)	/* SMI Function */
+	Store (0, TRP0)		/* Generate trap */
+	Return (SMIF)		/* Return value of SMI handler */
+}
+
+/*
+ * The _PIC method is called by the OS to choose between interrupt
+ * routing via the i8259 interrupt controller or the APIC.
+ *
+ * _PIC is called with a parameter of 0 for i8259 configuration and
+ * with a parameter of 1 for Local Apic/IOAPIC configuration.
+ */
+
+Method(_PIC, 1)
+{
+	/* Remember the OS' IRQ routing choice. */
+	Store(Arg0, PICM)
+}
+
+/*
+ * The _PTS method (Prepare To Sleep) is called before the OS is
+ * entering a sleep state. The sleep state number is passed in Arg0
+ */
+
+Method(_PTS,1)
+{
+}
+
+/* The _WAK method is called on system wakeup */
+
+Method(_WAK,1)
+{
+	Return(Package(){0,0})
+}
+
+Method (_SWS)
+{
+	/* Index into PM1 for device that caused wake */
+	Return (\PM1I)
+}
diff --git a/src/soc/intel/braswell/acpi/scc.asl b/src/soc/intel/braswell/acpi/scc.asl
new file mode 100644
index 0000000..bb8234e
--- /dev/null
+++ b/src/soc/intel/braswell/acpi/scc.asl
@@ -0,0 +1,187 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ *
+ * 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; version 2 of
+ * the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+
+Device (EMMC)
+{
+	Name (_HID, "80860F14")
+	Name (_CID, "PNP0D40")
+	Name (_UID, 1)
+	Name (_DDN, "eMMC Controller 4.5")
+
+	Name (RBUF, ResourceTemplate()
+	{
+		Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
+		Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
+		{
+			SCC_EMMC_IRQ
+		}
+	})
+
+	Method (_CRS)
+	{
+		CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
+		Store (\C0B0, RBAS)
+		Return (^RBUF)
+	}
+
+	Method (_STA)
+	{
+		If (LEqual (\C0EN, 1)) {
+			Return (0xF)
+		} Else {
+			Return (0x0)
+		}
+	}
+
+	OperationRegion (KEYS, SystemMemory, C0B1, 0x100)
+	Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
+	{
+		Offset (0x84),
+		PSAT, 32,
+	}
+
+	Method (_PS3)
+	{
+		Or (PSAT, 0x00000003, PSAT)
+		Or (PSAT, 0x00000000, PSAT)
+	}
+
+	Method (_PS0)
+	{
+		And (PSAT, 0xfffffffc, PSAT)
+		Or (PSAT, 0x00000000, PSAT)
+	}
+
+	Device (EM45)
+	{
+		/* Slot 0, Function 8 */
+		Name (_ADR, 0x8)
+
+		Method (_RMV, 0, NotSerialized)
+		{
+			Return (0)
+		}
+	}
+}
+
+Device (SDIO)
+{
+	Name (_HID, "INT33BB")
+	Name (_CID, "PNP0D40")
+	Name (_UID, 2)
+	Name (_DDN, "SDIO Controller")
+
+	Name (RBUF, ResourceTemplate()
+	{
+		Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
+		Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
+		{
+			SCC_SDIO_IRQ
+		}
+	})
+
+	Method (_CRS)
+	{
+		CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
+		Store (\C1B0, RBAS)
+		Return (^RBUF)
+	}
+
+	Method (_STA)
+	{
+		If (LEqual (\C1EN, 1)) {
+			Return (0xF)
+		} Else {
+			Return (0x0)
+		}
+	}
+
+	OperationRegion (KEYS, SystemMemory, C1B1, 0x100)
+	Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
+	{
+		Offset (0x84),
+		PSAT, 32,
+	}
+
+	Method (_PS3)
+	{
+		Or (PSAT, 0x00000003, PSAT)
+		Or (PSAT, 0x00000000, PSAT)
+	}
+
+	Method (_PS0)
+	{
+		And (PSAT, 0xfffffffc, PSAT)
+		Or (PSAT, 0x00000000, PSAT)
+	}
+}
+
+Device (SDCD)
+{
+	Name (_HID, "INT33BB")
+	Name (_CID, "PNP0D40")
+	Name (_UID, 3)
+	Name (_DDN, "SD Card Controller")
+
+	Name (RBUF, ResourceTemplate()
+	{
+		Memory32Fixed (ReadWrite, 0x00000000, 0x00001000, BAR0)
+		Interrupt(ResourceConsumer, Level, ActiveLow, Exclusive, , , )
+			{SCC_SD_IRQ}  /* SD Card IRQ */
+		GpioInt(Edge, ActiveBoth, SharedAndWake, PullNone, 10000, "\\_SB.GPSE", 0, ResourceConsumer, , )
+			{SDCARD_CD}  /* SE81 */
+	})
+
+	Method (_CRS)
+	{
+		CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
+		Store (\C2B0, RBAS)
+		Return (^RBUF)
+	}
+
+	Method (_STA)
+	{
+		If (LEqual (\C2EN, 1)) {
+			Return (0xF)
+		} Else {
+			Return (0x0)
+		}
+	}
+
+	OperationRegion (KEYS, SystemMemory, C2B1, 0x100)
+	Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
+	{
+		Offset (0x84),
+		PSAT, 32,
+	}
+
+	Method (_PS3)
+	{
+		Or (PSAT, 0x00000003, PSAT)
+		Or (PSAT, 0x00000000, PSAT)
+	}
+
+	Method (_PS0)
+	{
+		And (PSAT, 0xfffffffc, PSAT)
+		Or (PSAT, 0x00000000, PSAT)
+	}
+}
diff --git a/src/soc/intel/braswell/acpi/sleepstates.asl b/src/soc/intel/braswell/acpi/sleepstates.asl
new file mode 100644
index 0000000..7dd2d51
--- /dev/null
+++ b/src/soc/intel/braswell/acpi/sleepstates.asl
@@ -0,0 +1,26 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007-2009 coresystems GmbH
+ *
+ * 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; version 2 of
+ * the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+
+Name(\_S0, Package(){0x0,0x0,0x0,0x0})
+Name(\_S3, Package(){0x5,0x5,0x0,0x0})
+Name(\_S4, Package(){0x6,0x6,0x0,0x0})
+Name(\_S5, Package(){0x7,0x7,0x0,0x0})
+
diff --git a/src/soc/intel/braswell/acpi/southcluster.asl b/src/soc/intel/braswell/acpi/southcluster.asl
new file mode 100644
index 0000000..fba8c64
--- /dev/null
+++ b/src/soc/intel/braswell/acpi/southcluster.asl
@@ -0,0 +1,270 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ *
+ * 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; version 2 of
+ * the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+
+#include <soc/iomap.h>
+#include <soc/irq.h>
+
+Scope(\)
+{
+	/* IO-Trap at 0x800. This is the ACPI->SMI communication interface. */
+
+	OperationRegion(IO_T, SystemIO, 0x800, 0x10)
+	Field(IO_T, ByteAcc, NoLock, Preserve)
+	{
+		Offset(0x8),
+		TRP0, 8		/* IO-Trap at 0x808 */
+	}
+
+	/* Intel Legacy Block */
+	OperationRegion(ILBS, SystemMemory, ILB_BASE_ADDRESS, ILB_BASE_SIZE)
+	Field (ILBS, AnyAcc, NoLock, Preserve)
+	{
+		Offset (0x8),
+		PRTA, 8,
+		PRTB, 8,
+		PRTC, 8,
+		PRTD, 8,
+		PRTE, 8,
+		PRTF, 8,
+		PRTG, 8,
+		PRTH, 8,
+	}
+}
+
+Name(_HID,EISAID("PNP0A08"))	/* PCIe */
+Name(_CID,EISAID("PNP0A03"))	/* PCI */
+
+Name(_ADR, 0)
+Name(_BBN, 0)
+
+Method (_CRS, 0, Serialized)
+{
+	Name (MCRS, ResourceTemplate()
+	{
+		/* Bus Numbers */
+		WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
+				0x0000, 0x0000, 0x00ff, 0x0000, 0x0100,,, PB00)
+
+		/* IO Region 0 */
+		DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
+				0x0000, 0x0000, 0x0cf7, 0x0000, 0x0cf8,,, PI00)
+
+		/* PCI Config Space */
+		Io (Decode16, 0x0cf8, 0x0cf8, 0x0001, 0x0008)
+
+		/* IO Region 1 */
+		DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
+				0x0000, 0x0d00, 0xffff, 0x0000, 0xf300,,, PI01)
+
+		/* VGA memory (0xa0000-0xbffff) */
+		DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0x000a0000, 0x000bffff, 0x00000000,
+				0x00020000,,, ASEG)
+
+		/* OPROM reserved (0xc0000-0xc3fff) */
+		DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0x000c0000, 0x000c3fff, 0x00000000,
+				0x00004000,,, OPR0)
+
+		/* OPROM reserved (0xc4000-0xc7fff) */
+		DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0x000c4000, 0x000c7fff, 0x00000000,
+				0x00004000,,, OPR1)
+
+		/* OPROM reserved (0xc8000-0xcbfff) */
+		DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0x000c8000, 0x000cbfff, 0x00000000,
+				0x00004000,,, OPR2)
+
+		/* OPROM reserved (0xcc000-0xcffff) */
+		DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0x000cc000, 0x000cffff, 0x00000000,
+				0x00004000,,, OPR3)
+
+		/* OPROM reserved (0xd0000-0xd3fff) */
+		DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0x000d0000, 0x000d3fff, 0x00000000,
+				0x00004000,,, OPR4)
+
+		/* OPROM reserved (0xd4000-0xd7fff) */
+		DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0x000d4000, 0x000d7fff, 0x00000000,
+				0x00004000,,, OPR5)
+
+		/* OPROM reserved (0xd8000-0xdbfff) */
+		DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0x000d8000, 0x000dbfff, 0x00000000,
+				0x00004000,,, OPR6)
+
+		/* OPROM reserved (0xdc000-0xdffff) */
+		DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0x000dc000, 0x000dffff, 0x00000000,
+				0x00004000,,, OPR7)
+
+		/* BIOS Extension (0xe0000-0xe3fff) */
+		DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0x000e0000, 0x000e3fff, 0x00000000,
+				0x00004000,,, ESG0)
+
+		/* BIOS Extension (0xe4000-0xe7fff) */
+		DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0x000e4000, 0x000e7fff, 0x00000000,
+				0x00004000,,, ESG1)
+
+		/* BIOS Extension (0xe8000-0xebfff) */
+		DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0x000e8000, 0x000ebfff, 0x00000000,
+				0x00004000,,, ESG2)
+
+		/* BIOS Extension (0xec000-0xeffff) */
+		DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0x000ec000, 0x000effff, 0x00000000,
+				0x00004000,,, ESG3)
+
+		/* System BIOS (0xf0000-0xfffff) */
+		DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0x000f0000, 0x000fffff, 0x00000000,
+				0x00010000,,, FSEG)
+
+		/* PCI Memory Region (Top of memory-0xfeafffff) */
+		DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0xfea00000, 0xfeafffff, 0x00000000,
+				0x00100000,,, PMEM)
+
+		/* TPM Area (0xfed40000-0xfed44fff) */
+		DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0xfed40000, 0xfed44fff, 0x00000000,
+				0x00005000,,, TPMR)
+	})
+
+	/* Update PCI resource area */
+	CreateDwordField(MCRS, PMEM._MIN, PMIN)
+	CreateDwordField(MCRS, PMEM._MAX, PMAX)
+	CreateDwordField(MCRS, PMEM._LEN, PLEN)
+
+	/* TOLM is BMBOUND accessible from IOSF so is saved in NVS */
+	Store (\TOLM, PMIN)
+	Add (Subtract (PMAX, PMIN), 1, PLEN)
+
+	Return (MCRS)
+}
+
+/* Device Resource Consumption */
+Device (PDRC)
+{
+	Name (_HID, EISAID("PNP0C02"))
+	Name (_UID, 1)
+
+	Name (PDRS, ResourceTemplate() {
+		Memory32Fixed(ReadWrite, ABORT_BASE_ADDRESS, ABORT_BASE_SIZE)
+		Memory32Fixed(ReadWrite, MCFG_BASE_ADDRESS, MCFG_BASE_SIZE)
+		Memory32Fixed(ReadWrite, PMC_BASE_ADDRESS, PMC_BASE_SIZE)
+		Memory32Fixed(ReadWrite, ILB_BASE_ADDRESS, ILB_BASE_SIZE)
+		Memory32Fixed(ReadWrite, SPI_BASE_ADDRESS, SPI_BASE_SIZE)
+		Memory32Fixed(ReadWrite, MPHY_BASE_ADDRESS, MPHY_BASE_SIZE)
+		Memory32Fixed(ReadWrite, PUNIT_BASE_ADDRESS, PUNIT_BASE_SIZE)
+		Memory32Fixed(ReadWrite, RCBA_BASE_ADDRESS, RCBA_BASE_SIZE)
+	})
+
+	/* Current Resource Settings */
+	Method (_CRS, 0, Serialized)
+	{
+		Return(PDRS)
+	}
+}
+
+Method (_OSC, 4)
+{
+	/* Check for proper GUID */
+	If (LEqual (Arg0, ToUUID("33DB4D5B-1FF7-401C-9657-7441C03DD766")))
+	{
+		/* Let OS control everything */
+		Return (Arg3)
+	}
+	Else
+	{
+		/* Unrecognized UUID */
+		CreateDWordField (Arg3, 0, CDW1)
+		Or (CDW1, 4, CDW1)
+		Return (Arg3)
+	}
+}
+
+/* IOSF MBI Interface for kernel access */
+Device (IOSF)
+{
+	Name (_HID, "INT33BD")
+	Name (_CID, "INT33BD")
+	Name (_UID, 1)
+
+	Name (RBUF, ResourceTemplate ()
+	{
+		/* MCR / MDR / MCRX */
+		Memory32Fixed (ReadWrite, 0, 12, RBAR)
+	})
+
+	Method (_CRS)
+	{
+		CreateDwordField (^RBUF, ^RBAR._BAS, RBAS)
+		Store (Add (MCFG_BASE_ADDRESS, 0xD0), RBAS)
+		Return (^RBUF)
+	}
+}
+
+/* LPC Bridge 0:1f.0 */
+#include "lpc.asl"
+
+/* USB XHCI 0:14.0 */
+#include "xhci.asl"
+
+/* IRQ routing for each PCI device */
+#include "irqroute.asl"
+
+Scope (\_SB)
+{
+	/* GPIO Devices */
+	#include "gpio.asl"
+
+	/* LPSS Devices */
+	#include "lpss.asl"
+
+	/* SCC Devices */
+	#include "scc.asl"
+
+	/* LPE Device */
+	#include "lpe.asl"
+}
diff --git a/src/soc/intel/braswell/acpi/xhci.asl b/src/soc/intel/braswell/acpi/xhci.asl
new file mode 100644
index 0000000..4d5367a
--- /dev/null
+++ b/src/soc/intel/braswell/acpi/xhci.asl
@@ -0,0 +1,36 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2014 Google Inc.
+ *
+ * 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; version 2 of
+ * the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+
+Device (XHCI)
+{
+	Name (_ADR, 0x00140000)
+	Name (_PRW, Package () { 0x0d, 3 })
+	Name (_S3D, 3) /* Highest D state in S3 state */
+
+	Device (RHUB)
+	{
+		Name (_ADR, 0x00000000)
+		Device (PRT1) { Name (_ADR, 1) }
+		Device (PRT2) { Name (_ADR, 2) }
+		Device (PRT3) { Name (_ADR, 3) }
+		Device (PRT4) { Name (_ADR, 4) }
+	}
+}
diff --git a/src/soc/intel/braswell/bootblock/Makefile.inc b/src/soc/intel/braswell/bootblock/Makefile.inc
new file mode 100644
index 0000000..17d1ee8
--- /dev/null
+++ b/src/soc/intel/braswell/bootblock/Makefile.inc
@@ -0,0 +1 @@
+chipset_bootblock_inc += $(src)/soc/intel/braswell/bootblock/timestamp.inc
diff --git a/src/soc/intel/braswell/bootblock/bootblock.c b/src/soc/intel/braswell/bootblock/bootblock.c
new file mode 100644
index 0000000..9a6004d
--- /dev/null
+++ b/src/soc/intel/braswell/bootblock/bootblock.c
@@ -0,0 +1,82 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google, Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied wacbmem_entryanty 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., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+#include <arch/io.h>
+#include <cpu/x86/cache.h>
+#include <cpu/x86/msr.h>
+#include <cpu/x86/mtrr.h>
+#include <soc/iosf.h>
+#include <cpu/intel/microcode/microcode.c>
+
+static void set_var_mtrr(int reg, uint32_t base, uint32_t size, int type)
+{
+	msr_t basem, maskm;
+	basem.lo = base | type;
+	basem.hi = 0;
+	wrmsr(MTRRphysBase_MSR(reg), basem);
+	maskm.lo = ~(size - 1) | MTRRphysMaskValid;
+	maskm.hi = (1 << (CONFIG_CPU_ADDR_BITS - 32)) - 1;
+	wrmsr(MTRRphysMask_MSR(reg), maskm);
+}
+
+static void enable_rom_caching(void)
+{
+	msr_t msr;
+
+	disable_cache();
+	/* Why only top 4MiB ? */
+	set_var_mtrr(1, 0xffc00000, 4*1024*1024, MTRR_TYPE_WRPROT);
+	enable_cache();
+
+	/* Enable Variable MTRRs */
+	msr.hi = 0x00000000;
+	msr.lo = 0x00000800;
+	wrmsr(MTRRdefType_MSR, msr);
+}
+
+static void setup_mmconfig(void)
+{
+	uint32_t reg;
+
+	/*
+	 * Set up the MMCONF range. The register lives in the BUNIT. The
+	 * IO variant of the config access needs to be used initially to
+	 * properly configure as the IOSF access registers live in PCI
+	 * config space.
+	 */
+	reg = 0;
+	/* Clear the extended register. */
+	pci_io_write_config32(IOSF_PCI_DEV, MCRX_REG, reg);
+	reg = CONFIG_MMCONF_BASE_ADDRESS | 1;
+	pci_io_write_config32(IOSF_PCI_DEV, MDR_REG, reg);
+	reg = IOSF_OPCODE(IOSF_OP_WRITE_BUNIT) | IOSF_PORT(IOSF_PORT_BUNIT) |
+	      IOSF_REG(BUNIT_MMCONF_REG) | IOSF_BYTE_EN;
+	pci_io_write_config32(IOSF_PCI_DEV, MCR_REG, reg);
+}
+
+static void bootblock_cpu_init(void)
+{
+	/* Allow memory-mapped PCI config access. */
+	setup_mmconfig();
+
+	/* Load microcode before any caching. */
+	intel_update_microcode_from_cbfs();
+	enable_rom_caching();
+}
diff --git a/src/soc/intel/braswell/bootblock/timestamp.inc b/src/soc/intel/braswell/bootblock/timestamp.inc
new file mode 100644
index 0000000..e504132
--- /dev/null
+++ b/src/soc/intel/braswell/bootblock/timestamp.inc
@@ -0,0 +1,21 @@
+/*
+ * Store the initial timestamp for booting in mmx registers. This works
+ * because the bootblock isn't being compiled with MMX support so mm0 and
+ * mm1 will be preserved into romstage.
+ */
+	.code32
+
+.global stash_timestamp
+stash_timestamp:
+
+	/* Save the BIST value */
+	movl	%eax, %ebp
+
+	finit
+	rdtsc
+	movd	%eax, %mm0
+	movd	%edx, %mm1
+
+	/* Restore the BIST value to %eax */
+	movl	%ebp, %eax
+
diff --git a/src/soc/intel/braswell/chip.c b/src/soc/intel/braswell/chip.c
new file mode 100644
index 0000000..d363224
--- /dev/null
+++ b/src/soc/intel/braswell/chip.c
@@ -0,0 +1,116 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "chip.h"
+#include <console/console.h>
+#include <device/device.h>
+#include <device/pci.h>
+#include <fsp_util.h>
+#include <soc/pci_devs.h>
+#include <soc/ramstage.h>
+
+static void pci_domain_set_resources(device_t dev)
+{
+	printk(BIOS_SPEW, "%s/%s ( %s )\n",
+			__FILE__, __func__, dev_name(dev));
+	assign_resources(dev->link_list);
+}
+
+static struct device_operations pci_domain_ops = {
+	.read_resources   = pci_domain_read_resources,
+	.set_resources    = pci_domain_set_resources,
+	.enable_resources = NULL,
+	.init             = NULL,
+	.scan_bus         = pci_domain_scan_bus,
+	.ops_pci_bus      = pci_bus_default_ops,
+};
+
+static void cpu_bus_noop(device_t dev) { }
+
+static struct device_operations cpu_bus_ops = {
+	.read_resources   = cpu_bus_noop,
+	.set_resources    = cpu_bus_noop,
+	.enable_resources = cpu_bus_noop,
+	.init             = braswell_init_cpus
+};
+
+
+static void enable_dev(device_t dev)
+{
+	printk(BIOS_SPEW, "----------\n%s/%s ( %s ), type: %d\n",
+			__FILE__, __func__,
+			dev_name(dev), dev->path.type);
+	printk(BIOS_SPEW, "vendor: 0x%04x. device: 0x%04x\n",
+			pci_read_config16(dev, PCI_VENDOR_ID),
+			pci_read_config16(dev, PCI_DEVICE_ID));
+	printk(BIOS_SPEW, "class: 0x%02x %s\n"
+			"subclass: 0x%02x %s\n"
+			"prog: 0x%02x\n"
+			"revision: 0x%02x\n",
+			pci_read_config16(dev, PCI_CLASS_DEVICE) >> 8,
+			get_pci_class_name(dev),
+			pci_read_config16(dev, PCI_CLASS_DEVICE) & 0xff,
+			get_pci_subclass_name(dev),
+			pci_read_config8(dev, PCI_CLASS_PROG),
+			pci_read_config8(dev, PCI_REVISION_ID));
+
+	/* Set the operations if it is a special bus type */
+	if (dev->path.type == DEVICE_PATH_DOMAIN) {
+		dev->ops = &pci_domain_ops;
+	} else if (dev->path.type == DEVICE_PATH_CPU_CLUSTER) {
+		dev->ops = &cpu_bus_ops;
+	} else if (dev->path.type == DEVICE_PATH_PCI) {
+		/* Handle south cluster enablement. */
+		if (PCI_SLOT(dev->path.pci.devfn) > GFX_DEV &&
+		    (dev->ops == NULL || dev->ops->enable == NULL)) {
+			southcluster_enable_dev(dev);
+		}
+	}
+}
+
+/* Called at BS_DEV_INIT_CHIPS time -- very early. Just after BS_PRE_DEVICE. */
+static void soc_init(void *chip_info)
+{
+	printk(BIOS_SPEW, "%s/%s\n", __FILE__, __func__);
+	braswell_init_pre_device(chip_info);
+}
+
+struct chip_operations soc_intel_braswell_ops = {
+	CHIP_NAME("Intel Braswell SoC")
+	.enable_dev = enable_dev,
+	.init = soc_init,
+};
+
+static void pci_set_subsystem(device_t dev, unsigned vendor, unsigned device)
+{
+	printk(BIOS_SPEW, "%s/%s ( %s, 0x%04x, 0x%04x )\n",
+			__FILE__, __func__, dev_name(dev), vendor, device);
+	if (!vendor || !device) {
+		pci_write_config32(dev, PCI_SUBSYSTEM_VENDOR_ID,
+				pci_read_config32(dev, PCI_VENDOR_ID));
+	} else {
+		pci_write_config32(dev, PCI_SUBSYSTEM_VENDOR_ID,
+				((device & 0xffff) << 16) | (vendor & 0xffff));
+	}
+}
+
+struct pci_operations soc_pci_ops = {
+	.set_subsystem = &pci_set_subsystem,
+};
diff --git a/src/soc/intel/braswell/chip.h b/src/soc/intel/braswell/chip.h
new file mode 100644
index 0000000..4356451
--- /dev/null
+++ b/src/soc/intel/braswell/chip.h
@@ -0,0 +1,114 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+/*
+ * The devicetree parser expects chip.h to reside directly in the path
+ * specified by the devicetree.
+ */
+
+#ifndef _BRASWELL_CHIP_H_
+#define _BRASWELL_CHIP_H_
+
+#include <stdint.h>
+
+struct soc_intel_braswell_config {
+	uint8_t enable_xdp_tap;
+	uint8_t sata_port_map;
+	uint8_t sata_ahci;
+	uint8_t ide_legacy_combined;
+	uint8_t clkreq_enable;
+
+	/*
+	 * Enable SATA features
+	 * Bits 15-12: Reserved
+	 * Bits 11-10: OROM UI Normal Delay in seconds: 00=2, 01=4, 10=6, 11=8
+	 * Bit 9: Smart Response Technology
+	 * Bit 8: RRT only on eSATA
+	 * Bit 7: LED Locate
+	 * Bit 6: HDD unlock
+	 * Bit 5: Option ROM UI and banner
+	 * Bit 4: Rapid Recovery Technology (RRT)
+	 * Bit 3: RAID 5
+	 * Bit 2: RAID 10
+	 * Bit 1: RAID 1
+	 * Bit 0: RAID 0
+	 */
+	uint32_t sata_software_feature_mask;
+
+	/* VR low power settings -- enable PS2 mode for gfx and core */
+	int vnn_ps2_enable;
+	int vcc_ps2_enable;
+
+	/* Disable SLP_X stretching after SUS power well loss. */
+	int disable_slp_x_stretch_sus_fail;
+
+	/* USB Port Disable mask */
+	uint16_t usb2_port_disable_mask;
+	uint16_t usb3_port_disable_mask;
+
+	/* USB routing */
+	int usb_route_to_xhci;
+
+	/* USB PHY settings specific to the board */
+	uint32_t usb2_per_port_lane0;
+	uint32_t usb2_per_port_rcomp_hs_pullup0;
+	uint32_t usb2_per_port_lane1;
+	uint32_t usb2_per_port_rcomp_hs_pullup1;
+	uint32_t usb2_per_port_lane2;
+	uint32_t usb2_per_port_rcomp_hs_pullup2;
+	uint32_t usb2_per_port_lane3;
+	uint32_t usb2_per_port_rcomp_hs_pullup3;
+
+	/* LPE Audio Clock configuration. */
+	int lpe_codec_clk_freq; /* 19 or 25 are valid. */
+	int lpe_codec_clk_num; /* Platform clock pins. [0:5] are valid. */
+
+	/* Native SD Card controller - override controller capabilities. */
+	uint32_t sdcard_cap_low;
+	uint32_t sdcard_cap_high;
+
+	/* Enable devices in ACPI mode */
+	int lpss_acpi_mode;
+	int emmc_acpi_mode;
+	int sd_acpi_mode;
+	int lpe_acpi_mode;
+
+	/* Allow PCIe devices to wake system from suspend. */
+	int pcie_wake_enable;
+
+	int gpu_pipea_port_select;	/* Port select: 1=DP_B 2=DP_C */
+	uint16_t gpu_pipea_power_on_delay;
+	uint16_t gpu_pipea_light_on_delay;
+	uint16_t gpu_pipea_power_off_delay;
+	uint16_t gpu_pipea_light_off_delay;
+	uint16_t gpu_pipea_power_cycle_delay;
+	int gpu_pipea_pwm_freq_hz;
+
+	int gpu_pipeb_port_select;	/* Port select: 1=DP_B 2=DP_C */
+	uint16_t gpu_pipeb_power_on_delay;
+	uint16_t gpu_pipeb_light_on_delay;
+	uint16_t gpu_pipeb_power_off_delay;
+	uint16_t gpu_pipeb_light_off_delay;
+	uint16_t gpu_pipeb_power_cycle_delay;
+	int gpu_pipeb_pwm_freq_hz;
+};
+
+extern struct chip_operations soc_intel_braswell_ops;
+#endif /* _BRASWELL_CHIP_H_ */
diff --git a/src/soc/intel/braswell/cpu.c b/src/soc/intel/braswell/cpu.c
new file mode 100644
index 0000000..bee7c8c
--- /dev/null
+++ b/src/soc/intel/braswell/cpu.c
@@ -0,0 +1,276 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <console/console.h>
+#include <cpu/cpu.h>
+#include <cpu/intel/microcode.h>
+#include <cpu/x86/cache.h>
+#include <cpu/x86/lapic.h>
+#include <cpu/x86/mp.h>
+#include <cpu/x86/msr.h>
+#include <cpu/x86/mtrr.h>
+#include <cpu/x86/smm.h>
+#include <soc/intel/common/memmap.h>
+#include <soc/msr.h>
+#include <soc/pattrs.h>
+#include <soc/ramstage.h>
+#include <soc/smm.h>
+#include <stdlib.h>
+
+static void smm_relocate(void *unused);
+static void enable_smis(void *unused);
+static void pre_smm_relocation(void *unused);
+
+static struct mp_flight_record mp_steps[] = {
+	MP_FR_BLOCK_APS(pre_smm_relocation, NULL, pre_smm_relocation, NULL),
+	MP_FR_BLOCK_APS(smm_relocate, NULL, smm_relocate, NULL),
+	MP_FR_BLOCK_APS(mp_initialize_cpu, NULL, mp_initialize_cpu, NULL),
+	/* Wait for APs to finish initialization before proceeding. */
+	MP_FR_BLOCK_APS(NULL, NULL, enable_smis, NULL),
+};
+
+/* The APIC id space is sparse. Each id is separated by 2. */
+static int adjust_apic_id(int index, int apic_id)
+{
+	return 2 * index;
+}
+
+
+void braswell_init_cpus(device_t dev)
+{
+	struct bus *cpu_bus = dev->link_list;
+	const struct pattrs *pattrs = pattrs_get();
+	struct mp_params mp_params;
+	void *default_smm_area;
+
+	printk(BIOS_SPEW, "%s/%s ( %s )\n",
+			__FILE__, __func__, dev_name(dev));
+
+	/* Set up MTRRs based on physical address size. */
+	x86_setup_fixed_mtrrs();
+	x86_setup_var_mtrrs(pattrs->address_bits, 2);
+	x86_mtrr_check();
+
+	mp_params.num_cpus = pattrs->num_cpus,
+	mp_params.parallel_microcode_load = 1,
+	mp_params.adjust_apic_id = adjust_apic_id;
+	mp_params.flight_plan = &mp_steps[0];
+	mp_params.num_records = ARRAY_SIZE(mp_steps);
+	mp_params.microcode_pointer = pattrs->microcode_patch;
+
+	default_smm_area = backup_default_smm_area();
+
+	if (mp_init(cpu_bus, &mp_params))
+		printk(BIOS_ERR, "MP initialization failure.\n");
+
+	restore_default_smm_area(default_smm_area);
+}
+
+
+static struct device_operations cpu_dev_ops = {
+	.init = NULL,
+};
+
+static struct cpu_device_id cpu_table[] = {
+	{ X86_VENDOR_INTEL, 0x406C3 },
+	{ X86_VENDOR_INTEL, 0x406C2 },
+	{ 0, 0 },
+};
+
+static const struct cpu_driver driver __cpu_driver = {
+	.ops      = &cpu_dev_ops,
+	.id_table = cpu_table,
+};
+
+
+/*
+ * SMM loading and initialization.
+ */
+
+struct smm_relocation_attrs {
+	uint32_t smbase;
+	uint32_t smrr_base;
+	uint32_t smrr_mask;
+};
+
+static struct smm_relocation_attrs relo_attrs;
+
+static void adjust_apic_id_map(struct smm_loader_params *smm_params)
+{
+	int i;
+	struct smm_runtime *runtime = smm_params->runtime;
+
+	for (i = 0; i < CONFIG_MAX_CPUS; i++)
+		runtime->apic_id_to_cpu[i] = mp_get_apic_id(i);
+}
+
+static void asmlinkage cpu_smm_do_relocation(void *arg)
+{
+	msr_t smrr;
+	em64t100_smm_state_save_area_t *smm_state;
+	const struct smm_module_params *p;
+	const struct smm_runtime *runtime;
+	int cpu;
+
+	p = arg;
+	runtime = p->runtime;
+	cpu = p->cpu;
+
+	if (cpu >= CONFIG_MAX_CPUS) {
+		printk(BIOS_CRIT,
+		       "Invalid CPU number assigned in SMM stub: %d\n", cpu);
+		return;
+	}
+
+	/* Set up SMRR. */
+	smrr.lo = relo_attrs.smrr_base;
+	smrr.hi = 0;
+	wrmsr(SMRRphysBase_MSR, smrr);
+	smrr.lo = relo_attrs.smrr_mask;
+	smrr.hi = 0;
+	wrmsr(SMRRphysMask_MSR, smrr);
+
+	/*
+	 * The relocated handler runs with all CPUs concurrently. Therefore
+	 * stagger the entry points adjusting SMBASE downwards by save state
+	 * size * CPU num.
+	 */
+	smm_state = (void *)(SMM_EM64T100_SAVE_STATE_OFFSET + runtime->smbase);
+	smm_state->smbase = relo_attrs.smbase - cpu * runtime->save_state_size;
+	printk(BIOS_DEBUG, "New SMBASE 0x%08x\n", smm_state->smbase);
+}
+
+static int install_relocation_handler(int num_cpus)
+{
+	const int save_state_size = sizeof(em64t100_smm_state_save_area_t);
+
+	struct smm_loader_params smm_params = {
+		.per_cpu_stack_size = save_state_size,
+		.num_concurrent_stacks = num_cpus,
+		.per_cpu_save_state_size = save_state_size,
+		.num_concurrent_save_states = 1,
+		.handler = (smm_handler_t)&cpu_smm_do_relocation,
+	};
+
+	if (smm_setup_relocation_handler(&smm_params))
+		return -1;
+
+	adjust_apic_id_map(&smm_params);
+
+	return 0;
+}
+
+static int install_permanent_handler(int num_cpus)
+{
+	/*
+	 * There are num_cpus concurrent stacks and num_cpus concurrent save
+	 * state areas. Lastly, set the stack size to the save state size.
+	 */
+	int save_state_size = sizeof(em64t100_smm_state_save_area_t);
+	struct smm_loader_params smm_params = {
+		.per_cpu_stack_size = save_state_size,
+		.num_concurrent_stacks = num_cpus,
+		.per_cpu_save_state_size = save_state_size,
+		.num_concurrent_save_states = num_cpus,
+	};
+	void *smm_base;
+	size_t smm_size;
+	int tseg_size;
+
+	printk(BIOS_DEBUG, "Installing SMM handler to 0x%08x\n",
+	       relo_attrs.smbase);
+
+	smm_region(&smm_base, &smm_size);
+	tseg_size = smm_size - CONFIG_SMM_RESERVED_SIZE;
+	if (smm_load_module((void *)relo_attrs.smbase, tseg_size, &smm_params))
+		return -1;
+
+	adjust_apic_id_map(&smm_params);
+
+	return 0;
+}
+
+static int smm_load_handlers(void)
+{
+	/* All range registers are aligned to 4KiB */
+	const uint32_t rmask = ~((1 << 12) - 1);
+	const struct pattrs *pattrs = pattrs_get();
+	void *smm_base;
+	size_t smm_size;
+
+	/* Initialize global tracking state. */
+	smm_region(&smm_base, &smm_size);
+	relo_attrs.smbase = (uint32_t)smm_base;
+	relo_attrs.smrr_base = relo_attrs.smbase | MTRR_TYPE_WRBACK;
+	relo_attrs.smrr_mask = ~(smm_size - 1) & rmask;
+	relo_attrs.smrr_mask |= MTRRphysMaskValid;
+
+	/* Install handlers. */
+	if (install_relocation_handler(pattrs->num_cpus) < 0) {
+		printk(BIOS_ERR, "Unable to install SMM relocation handler.\n");
+		return -1;
+	}
+
+	if (install_permanent_handler(pattrs->num_cpus) < 0) {
+		printk(BIOS_ERR, "Unable to install SMM permanent handler.\n");
+		return -1;
+	}
+
+	/* Ensure the SMM handlers hit DRAM before performing first SMI. */
+	wbinvd();
+
+	return 0;
+}
+
+static void pre_smm_relocation(void *unused)
+{
+	const struct pattrs *pattrs = pattrs_get();
+	msr_t msr_value;
+
+	/* Need to make sure that all cores have microcode loaded. */
+	msr_value = rdmsr(MSR_IA32_BIOS_SIGN_ID);
+	if (msr_value.hi == 0)
+		intel_microcode_load_unlocked(pattrs->microcode_patch);
+}
+
+static void smm_relocate(void *unused)
+{
+	const struct pattrs *pattrs = pattrs_get();
+
+	/* Load relocation and permanent handler. */
+	if (boot_cpu()) {
+		if (smm_load_handlers() < 0) {
+			printk(BIOS_ERR, "Error loading SMM handlers.\n");
+			return;
+		}
+		southcluster_smm_clear_state();
+	}
+
+	/* Relocate SMM space. */
+	smm_initiate_relocation();
+
+	/* Load microcode after SMM relocation. */
+	intel_microcode_load_unlocked(pattrs->microcode_patch);
+}
+
+static void enable_smis(void *unused)
+{
+	southcluster_smm_enable_smi();
+}
diff --git a/src/soc/intel/braswell/elog.c b/src/soc/intel/braswell/elog.c
new file mode 100644
index 0000000..892d209
--- /dev/null
+++ b/src/soc/intel/braswell/elog.c
@@ -0,0 +1,111 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2014 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of
+ * the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+
+#include <arch/io.h>
+#include <arch/acpi.h>
+#include <cbmem.h>
+#include <console/console.h>
+#include <device/device.h>
+#include <device/pci.h>
+#include <device/pci_ops.h>
+#include <elog.h>
+#include <soc/iomap.h>
+#include <soc/pm.h>
+#include <stdint.h>
+
+static void log_power_and_resets(const struct chipset_power_state *ps)
+{
+	if (ps->gen_pmcon1 & PWR_FLR) {
+		elog_add_event(ELOG_TYPE_POWER_FAIL);
+		elog_add_event(ELOG_TYPE_PWROK_FAIL);
+	}
+
+	if (ps->gen_pmcon1 & SUS_PWR_FLR)
+		elog_add_event(ELOG_TYPE_SUS_POWER_FAIL);
+
+	if (ps->gen_pmcon1 & RPS)
+		elog_add_event(ELOG_TYPE_RTC_RESET);
+
+	if (ps->tco_sts & SECOND_TO_STS)
+		elog_add_event(ELOG_TYPE_TCO_RESET);
+
+	if (ps->pm1_sts & PRBTNOR_STS)
+		elog_add_event(ELOG_TYPE_POWER_BUTTON_OVERRIDE);
+
+	if (ps->gen_pmcon1 & SRS)
+		elog_add_event(ELOG_TYPE_RESET_BUTTON);
+
+	if (ps->gen_pmcon1 & GEN_RST_STS)
+		elog_add_event(ELOG_TYPE_SYSTEM_RESET);
+}
+
+static void log_wake_events(const struct chipset_power_state *ps)
+{
+	const uint32_t pcie_wake_mask = PCI_EXP_STS | PCIE_WAKE3_STS |
+					PCIE_WAKE2_STS | PCIE_WAKE1_STS |
+					PCIE_WAKE0_STS;
+	uint32_t gpe0_sts;
+	uint32_t gpio_mask;
+	int i;
+
+	/* Mask off disabled events. */
+	gpe0_sts = ps->gpe0_sts & ps->gpe0_en;
+
+	if (ps->pm1_sts & WAK_STS)
+		elog_add_event_byte(ELOG_TYPE_ACPI_WAKE,
+				    acpi_slp_type == 3 ? 3 : 5);
+
+	if (ps->pm1_sts & PWRBTN_STS)
+		elog_add_event_wake(ELOG_WAKE_SOURCE_PWRBTN, 0);
+
+	if (ps->pm1_sts & RTC_STS)
+		elog_add_event_wake(ELOG_WAKE_SOURCE_RTC, 0);
+
+	if (gpe0_sts & PME_B0_EN)
+		elog_add_event_wake(ELOG_WAKE_SOURCE_PME_INTERNAL, 0);
+
+	if (gpe0_sts & pcie_wake_mask)
+		elog_add_event_wake(ELOG_WAKE_SOURCE_PCIE, 0);
+
+	gpio_mask = SUS_GPIO_STS0;
+	i = 0;
+	while (gpio_mask) {
+		if (gpio_mask & gpe0_sts)
+			elog_add_event_wake(ELOG_WAKE_SOURCE_GPIO, i);
+		gpio_mask <<= 1;
+		i++;
+	}
+}
+
+void southcluster_log_state(void)
+{
+	struct chipset_power_state *ps = cbmem_find(CBMEM_ID_POWER_STATE);
+
+	if (ps == NULL) {
+		printk(BIOS_DEBUG,
+			"Not logging power state information. Power state not found in cbmem.\n");
+		return;
+	}
+
+	log_power_and_resets(ps);
+	log_wake_events(ps);
+}
diff --git a/src/soc/intel/braswell/emmc.c b/src/soc/intel/braswell/emmc.c
new file mode 100644
index 0000000..016f82a
--- /dev/null
+++ b/src/soc/intel/braswell/emmc.c
@@ -0,0 +1,66 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <stdint.h>
+#include <arch/io.h>
+#include <console/console.h>
+#include <device/device.h>
+#include <device/pci.h>
+#include <device/pci_ids.h>
+#include <reg_script.h>
+
+#include <soc/iosf.h>
+#include <soc/nvs.h>
+#include <soc/pci_devs.h>
+#include <soc/ramstage.h>
+#include "chip.h"
+
+static const struct reg_script emmc_ops[] = {
+	REG_SCRIPT_END,
+};
+
+static void emmc_init(device_t dev)
+{
+	struct soc_intel_braswell_config *config = dev->chip_info;
+
+	printk(BIOS_SPEW, "%s/%s ( %s )\n",
+			__FILE__, __func__, dev_name(dev));
+	printk(BIOS_DEBUG, "eMMC init\n");
+	reg_script_run_on_dev(dev, emmc_ops);
+
+	if (config->emmc_acpi_mode) {
+		printk(BIOS_DEBUG, "Enabling ACPI mode\n");
+		scc_enable_acpi_mode(dev, SCC_MMC_CTL, SCC_NVS_MMC);
+	}
+}
+
+static struct device_operations emmc_device_ops = {
+	.read_resources		= pci_dev_read_resources,
+	.set_resources		= pci_dev_set_resources,
+	.enable_resources	= pci_dev_enable_resources,
+	.init			= emmc_init,
+	.ops_pci		= &soc_pci_ops,
+};
+
+static const struct pci_driver southcluster __pci_driver = {
+	.ops		= &emmc_device_ops,
+	.vendor		= PCI_VENDOR_ID_INTEL,
+	.device		= MMC_DEVID,
+};
diff --git a/src/soc/intel/braswell/gfx.c b/src/soc/intel/braswell/gfx.c
new file mode 100644
index 0000000..95462fd
--- /dev/null
+++ b/src/soc/intel/braswell/gfx.c
@@ -0,0 +1,114 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "chip.h"
+#include <arch/io.h>
+#include <console/console.h>
+#include <device/device.h>
+#include <device/pci.h>
+#include <device/pci_ids.h>
+#include <reg_script.h>
+#include <soc/gfx.h>
+#include <soc/pci_devs.h>
+#include <soc/ramstage.h>
+
+static const struct reg_script gpu_pre_vbios_script[] = {
+	/* Make sure GFX is bus master with MMIO access */
+	REG_PCI_OR32(PCI_COMMAND, PCI_COMMAND_MASTER|PCI_COMMAND_MEMORY),
+	REG_SCRIPT_END
+};
+
+static const struct reg_script gfx_post_vbios_script[] = {
+	/* Set Lock bits */
+	REG_PCI_RMW32(GGC, 0xffffffff, GGC_GGCLCK),
+	REG_PCI_RMW32(GSM_BASE, 0xffffffff, GSM_BDSM_LOCK),
+	REG_PCI_RMW32(GTT_BASE, 0xffffffff, GTT_BGSM_LOCK),
+	REG_SCRIPT_END
+};
+
+static inline void gfx_run_script(device_t dev, const struct reg_script *ops)
+{
+	reg_script_run_on_dev(dev, ops);
+}
+
+static void gfx_pre_vbios_init(device_t dev)
+{
+	printk(BIOS_SPEW, "%s/%s ( %s )\n",
+			__FILE__, __func__, dev_name(dev));
+	printk(BIOS_INFO, "GFX: Pre VBIOS Init\n");
+	gfx_run_script(dev, gpu_pre_vbios_script);
+}
+
+static void gfx_post_vbios_init(device_t dev)
+{
+	printk(BIOS_SPEW, "%s/%s ( %s )\n",
+			__FILE__, __func__, dev_name(dev));
+	printk(BIOS_INFO, "GFX: Post VBIOS Init\n");
+	gfx_run_script(dev, gfx_post_vbios_script);
+}
+
+static void gfx_init(device_t dev)
+{
+	printk(BIOS_SPEW, "%s/%s ( %s )\n",
+			__FILE__, __func__, dev_name(dev));
+
+	/* Pre VBIOS Init */
+	gfx_pre_vbios_init(dev);
+
+	/* Run VBIOS */
+	pci_dev_init(dev);
+
+	/* Post VBIOS Init */
+	gfx_post_vbios_init(dev);
+}
+
+static void gfx_read_resources(device_t dev)
+{
+	printk(BIOS_SPEW, "%s/%s ( %s )\n",
+			__FILE__, __func__, dev_name(dev));
+
+	pci_dev_read_resources(dev);
+
+#if IS_ENABLED(CONFIG_MARK_GRAPHICS_MEM_WRCOMB)
+	struct resource *res;
+
+	/* Set the graphics memory to write combining. */
+	res = find_resource(dev, PCI_BASE_ADDRESS_2);
+	if (res == NULL) {
+		printk(BIOS_DEBUG, "GFX: memory resource not found.\n");
+		return;
+	}
+	res->flags |= IORESOURCE_WRCOMB;
+#endif
+}
+
+static struct device_operations gfx_device_ops = {
+	.read_resources		= gfx_read_resources,
+	.set_resources		= pci_dev_set_resources,
+	.enable_resources	= pci_dev_enable_resources,
+	.init			= gfx_init,
+	.ops_pci		= &soc_pci_ops,
+};
+
+static const struct pci_driver gfx_driver __pci_driver = {
+	.ops	= &gfx_device_ops,
+	.vendor	= PCI_VENDOR_ID_INTEL,
+	.device	= GFX_DEVID,
+};
diff --git a/src/soc/intel/braswell/gpio.c b/src/soc/intel/braswell/gpio.c
new file mode 100755
index 0000000..7790132
--- /dev/null
+++ b/src/soc/intel/braswell/gpio.c
@@ -0,0 +1,320 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+
+#include <console/console.h>
+#include <device/pci.h>
+#include <soc/gpio.h>
+#include <soc/pm.h>
+#include <soc/smm.h>
+
+
+#define GPIO_DEBUG
+
+/* gpio map to pad number LUTs */
+
+static const u8 gpncommunity_gpio_to_pad[GP_NORTH_COUNT] = {
+	 0,  1,  2,  3,  4,  5,  6,  7,  8, 15,
+	16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+	26, 27, 30, 31, 32, 33, 34, 35, 36, 37,
+	38, 39, 40, 41, 45, 46, 47, 48, 49, 50,
+	51, 52, 53, 54, 55, 56, 60, 61, 62, 63,
+	64, 65, 66, 67, 68, 69, 70, 71, 72 };
+
+static const u8 gpsecommunity_gpio_to_pad[GP_SOUTHEAST_COUNT] = {
+	 0,  1,  2,  3,  4,  5,  6,  7, 15, 16,
+	17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+	30, 31, 32, 33, 34, 35, 45, 46, 47, 48,
+	49, 50, 51, 52, 60, 61, 62, 63, 64, 65,
+	66, 67, 68, 69, 75, 76, 77, 78, 79, 80,
+	81, 82, 83, 84, 85 };
+
+
+static const u8 gpswcommunity_gpio_to_pad[GP_SOUTHWEST_COUNT] = {
+	 0,  1,  2,  3,  4,  5,  6,  7, 15, 16,
+	17, 18, 19, 20, 21, 22, 30, 31, 32, 33,
+	34, 35, 36, 37, 45, 46, 47, 48, 49, 50,
+	51, 52, 60, 61, 62, 63, 64, 65, 66, 67,
+	75, 76, 77, 78, 79, 80, 81, 82, 90, 91,
+	92, 93, 94, 95, 96, 97 };
+
+static const u8 gpecommunity_gpio_to_pad[GP_EAST_COUNT] = {
+	 0,  1,  2,  3,  4,  5,  6,  7,  8,  9,
+	10, 11, 15, 16, 17, 18, 19, 20, 21, 22,
+	23, 24, 25, 26 };
+
+/* GPIO Community descriptions */
+static const struct gpio_bank gpnorth_community = {
+	.gpio_count = GP_NORTH_COUNT,
+	.gpio_to_pad = gpncommunity_gpio_to_pad ,
+	.pad_base = COMMUNITY_GPNORTH_BASE	,
+	.has_gpe_en = GPE_CAPABLE ,
+	.has_wake_en = 1,
+};
+
+static const struct gpio_bank gpsoutheast_community = {
+	.gpio_count = GP_SOUTHEAST_COUNT,
+	.gpio_to_pad = gpsecommunity_gpio_to_pad,
+	.pad_base = COMMUNITY_GPSOUTHEAST_BASE,
+	.has_gpe_en = GPE_CAPABLE_NONE,
+	.has_wake_en = 1,
+};
+
+static const struct gpio_bank gpsouthwest_community = {
+	.gpio_count = GP_SOUTHWEST_COUNT,
+	.gpio_to_pad = gpswcommunity_gpio_to_pad,
+	.pad_base = COMMUNITY_GPSOUTHWEST_BASE,
+	.has_gpe_en = GPE_CAPABLE,
+	.has_wake_en = 1,
+};
+
+static const struct gpio_bank gpeast_community = {
+	.gpio_count = GP_EAST_COUNT,
+	.gpio_to_pad = gpecommunity_gpio_to_pad,
+	.pad_base = COMMUNITY_GPEAST_BASE,
+	.has_gpe_en = GPE_CAPABLE_NONE,
+	.has_wake_en = 1,
+};
+
+static void setup_gpio_route(const struct soc_gpio_map *sw_gpios,
+				const struct soc_gpio_map *n_gpios)
+{
+	const struct soc_gpio_map *n_config;
+	const struct soc_gpio_map *sw_config;
+	uint32_t route_reg = 0;
+	uint32_t int_selection = 0;
+	uint32_t alt_gpio_smi = 0;
+	uint32_t gpe0a_en = 0;
+	int gpio = 0;
+	int north_done = 0;
+	int south_done = 0;
+
+	for (sw_config = sw_gpios, n_config = n_gpios;
+		(!north_done || !south_done); sw_config++, n_config++, gpio++) {
+
+		/* when north config is done */
+		if ((gpio > GP_NORTH_COUNT) ||
+		    (n_config->pad_conf0 == GPIO_LIST_END))
+			north_done = 1;
+
+		/* when sw is done */
+		if ((gpio > GP_SOUTHWEST_COUNT) ||
+		    (sw_config->pad_conf0 == GPIO_LIST_END))
+			south_done = 1;
+
+		/* route north gpios */
+		if (!north_done) {
+			 /* Int select from 8 to 15 */
+			int_selection = ((n_config->pad_conf0 >> 28) & 0xf);
+			if (n_config->gpe == SMI) {
+				/*
+				 * Set the corresponding bits (01) as
+				 *  per the interrupt line
+				 */
+				route_reg |= (1 << ((int_selection - 8) * 2));
+				/* reset the higher bit */
+				route_reg &=
+					~(1 << ((int_selection - 8) * 2 + 1));
+				alt_gpio_smi |= (1 << (int_selection + 8));
+			} else if (n_config->gpe == SCI) {
+				/*
+				 * Set the corresponding bits as per the
+				 * interrupt line
+				 */
+				route_reg |=
+					(1 << (((int_selection - 8) * 2) + 1));
+				/* reset the bit */
+				route_reg &= ~(1 << ((int_selection - 8) * 2));
+				gpe0a_en |= (1 << (int_selection + 8));
+			}
+		}
+
+		/* route southwest gpios */
+		if (!south_done) {
+			 /* Int select from 8 to 15 */
+			int_selection = ((sw_config->pad_conf0 >> 28) & 0xf);
+			if (sw_config->gpe == SMI) {
+				/*
+				 * Set the corresponding bits (10) as
+				 * per the interrupt line
+				 */
+				route_reg |= (1 << (int_selection * 2));
+				route_reg &= ~(1 << (int_selection * 2 + 1));
+				alt_gpio_smi |= (1 << (int_selection + 16));
+			} else if (sw_config->gpe == SCI) {
+				/*
+				 * Set the corresponding bits as
+				 * per the interrupt line
+				 */
+				route_reg |= (1 << ((int_selection * 2) + 1));
+				/* reset the bit */
+				route_reg &= ~(1 << (int_selection * 2));
+				gpe0a_en |= (1 << (int_selection + 16));
+			}
+		}
+	}
+
+	/* enable gpe bits in GPE0A_EN_REG */
+	outl(gpe0a_en, ACPI_BASE_ADDRESS + GPE0A_EN_REG);
+
+	/* enable sci bit (bit 0) in PM1_CNT */
+	outl(inl(ACPI_BASE_ADDRESS + PM1_CNT) | 0x1,
+	ACPI_BASE_ADDRESS + PM1_CNT);
+
+#ifdef GPIO_DEBUG
+	printk(BIOS_DEBUG, "gpio_rout = %x alt_gpio_smi = %x  gpe0a_en = %x\n",
+	route_reg, alt_gpio_smi, gpe0a_en);
+#endif
+	/* Save as an smm param */
+	southcluster_smm_save_param(SMM_SAVE_PARAM_GPIO_ROUTE, route_reg);
+}
+
+
+static void setup_gpios(const struct soc_gpio_map *gpios,
+			const struct gpio_bank *community)
+{
+	const struct soc_gpio_map *config;
+	int gpio = 0;
+	u32 reg, family, internal_pad_num;
+	u32 mmio_addr, int_selection;
+	u32 gpio_wake0 = 0;
+	u32 gpio_wake1 = 0;
+	u32 gpio_int_mask = 0;
+
+	if (!gpios)
+		return;
+	for (config = gpios; config->pad_conf0 != GPIO_LIST_END;
+	     config++, gpio++) {
+		if (gpio > community->gpio_count)
+			break;
+
+		/* Pad configuration registers */
+		family = community->gpio_to_pad[gpio] / MAX_FAMILY_PAD_GPIO_NO;
+		internal_pad_num = community->gpio_to_pad[gpio] %
+				   MAX_FAMILY_PAD_GPIO_NO;
+
+		/*
+		 * Calculate the MMIO Address for specific GPIO pin
+		 * control register pointed by index.
+		 * REG = (IOBASE + COMMUNITY_BASE + (0X04400)) +
+		 * (0X400*FAMILY_NUM) + (8 * PAD_NUM)
+		 */
+		mmio_addr = FAMILY_PAD_REGS_OFF
+			  + (FAMILY_PAD_REGS_SIZE * family)
+			  + (GPIO_REGS_SIZE * internal_pad_num);
+
+		reg = community->pad_base + mmio_addr;
+
+		/* get int selection value */
+		int_selection = ((config->pad_conf0 >> 28) & 0xf);
+
+		/* get int mask register value */
+		gpio_int_mask |= (config->int_mask << int_selection);
+
+		/*
+		 * wake capable programming
+		 * some communities have 2 wake regs
+		 */
+		if (gpio > 31)
+			gpio_wake1 |= config->wake_mask << (gpio % 32);
+		else
+			gpio_wake0 |= config->wake_mask << gpio;
+
+		if (!config->skip_config) {
+#ifdef GPIO_DEBUG
+			printk(BIOS_DEBUG,
+				"Write Pad: Base(%x) - conf0 = %x conf1= %x gpio #- %d pad # = %d\n",
+				reg, config->pad_conf0, config->pad_conf1,
+				community->gpio_to_pad[gpio], gpio);
+#endif
+			/*
+			 * write pad configurations to conf0 and conf1 register
+			 */
+			write32((void *)(reg + PAD_CONF0_REG),
+				config->pad_conf0);
+			write32((void *)(reg + PAD_CONF1_REG),
+				config->pad_conf1);
+		}
+	}
+
+#ifdef GPIO_DEBUG
+	printk(BIOS_DEBUG,
+		"gpio_wake_mask0 = %x gpio_wake_mask1 = %x gpio_int_mask = %x\n",
+		gpio_wake0, gpio_wake1, gpio_int_mask);
+#endif
+
+	/* Wake */
+	write32((void *)(community->pad_base + GPIO_WAKE_MASK_REG0),
+		gpio_wake0);
+
+	/* wake mask config for communities with 2 regs */
+	if (community->gpio_count > 32)
+		write32((void *)(community->pad_base + GPIO_WAKE_MASK_REG1),
+		gpio_wake1);
+
+	/* Interrupt */
+	write32((void *)(community->pad_base + GPIO_INTERRUPT_MASK),
+		gpio_int_mask);
+
+}
+
+
+void setup_soc_gpios(struct soc_gpio_config *config, u8 enable_xdp_tap)
+{
+
+	if (config) {
+
+		/*
+		 * Write the default value 0xffffff to the SW
+		 * write_access_policy_interrupt_reg to allow the SW interrupt
+		 * mask register to be set
+		 */
+		write32((void *)(COMMUNITY_GPSOUTHWEST_BASE + 0x108),
+			0xffffffff);
+
+		printk(BIOS_DEBUG, "north\n");
+		setup_gpios(config->north, &gpnorth_community);
+
+		printk(BIOS_DEBUG, "southwest\n");
+		setup_gpios(config->southwest, &gpsouthwest_community);
+
+		printk(BIOS_DEBUG, "southeast\n");
+		setup_gpios(config->southeast, &gpsoutheast_community);
+
+		printk(BIOS_DEBUG, "east\n");
+		setup_gpios(config->east, &gpeast_community);
+
+		printk(BIOS_DEBUG, "Routing SW and N gpios\n");
+		setup_gpio_route(config->southwest, config->north);
+	}
+
+	/*
+	 * Set on die termination feature with pull up value and
+	 * drive the pad high for TAP_TDO and TAP_TMS
+	 */
+	if (!enable_xdp_tap)
+		printk(BIOS_DEBUG, "Tri-state TDO and TMS\n");
+}
+
+__attribute__((weak)) struct soc_gpio_config *mainboard_get_gpios(void)
+{
+	printk(BIOS_DEBUG, "Default/empty GPIO config\n");
+	return NULL;
+}
diff --git a/src/soc/intel/braswell/gpio_support.c b/src/soc/intel/braswell/gpio_support.c
new file mode 100644
index 0000000..a0311af
--- /dev/null
+++ b/src/soc/intel/braswell/gpio_support.c
@@ -0,0 +1,87 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <console/console.h>
+#include <soc/gpio.h>
+
+/*
+ * Return family number and internal pad number in that community by pad number
+ * and which community it is in.
+ */
+uint16_t gpio_family_number(uint8_t community, uint8_t pad)
+{
+	/*
+	 * Refer to BSW BIOS Writers Guide, Table "Family Number".
+	 * BSW has 4 GPIO communities. Each community has up to 7 families and
+	 * each family contains a range of Pad numbers. The number in the array
+	 * is the maximum no. of that range.
+	 * For example: East community, family 0, Pad 0~11.
+	 */
+	static const uint8_t community_base[GPIO_COMMUNITY_COUNT]
+		[GPIO_FAMILIES_MAX_PER_COMM + 1] = {
+		{0,  8, 16, 24, 32, 40, 48, 56}, /* Southwest */
+		{0,  9, 22, 34, 46, 59, 59, 59}, /* North */
+		{0, 12, 24, 24, 24, 24, 24, 24}, /* East */
+		{0,  8, 20, 26, 34, 44, 55, 55}  /* Southeast */
+	};
+	const uint8_t *base;
+	uint8_t i;
+
+	/* Validate the pad number */
+	if (pad > community_base[community][7])
+		die("Pad number is out of range!");
+
+	/* Locate the family number for the pad */
+	base = &community_base[community][0];
+	for (i = 0; i < 7; i++) {
+		if ((pad >= base[0]) && (pad < base[1]))
+			break;
+		base++;
+	}
+
+	/* Family number in high byte and inner pad number in lowest byte */
+	return (i << 8) + pad - *base;
+}
+
+/*
+ * Return pad configuration register offset by pad number and which community
+ * it is in.
+ */
+uint32_t *gpio_pad_config_reg(uint8_t community, uint8_t pad)
+{
+	uint16_t fpad;
+	uint32_t *pad_config_reg;
+
+	/* Get the GPIO family number */
+	fpad = gpio_family_number(community, pad);
+
+	/*
+	 * Refer to BSW BIOS Writers Guide, Table "Per Pad Memory Space
+	 * Registers Addresses" for the Pad configuration register calculation.
+	 */
+	pad_config_reg = (uint32_t *)(COMMUNITY_BASE(community) + 0x4400 +
+		(0x400 * (fpad >> 8)) + (8 * (fpad & 0xff)));
+
+	return pad_config_reg;
+}
+
+int get_gpio(int community_base, int pad0_offset)
+{
+	return (read32((void *)(community_base + pad0_offset))) & PAD_RX_BIT;
+}
diff --git a/src/soc/intel/braswell/hda.c b/src/soc/intel/braswell/hda.c
new file mode 100644
index 0000000..381b3e8
--- /dev/null
+++ b/src/soc/intel/braswell/hda.c
@@ -0,0 +1,47 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2014 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+#include <arch/io.h>
+#include <console/console.h>
+#include <device/device.h>
+#include <device/pci.h>
+#include <device/pci_def.h>
+#include <device/pci_ids.h>
+#include <reg_script.h>
+
+#include <soc/hda.h>
+#include <soc/iomap.h>
+#include <soc/pci_devs.h>
+#include <soc/ramstage.h>
+
+static const struct device_operations device_ops = {
+	.read_resources		= pci_dev_read_resources,
+	.set_resources		= pci_dev_set_resources,
+	.enable_resources	= pci_dev_enable_resources,
+	.init			= NULL,
+	.enable			= NULL,
+	.scan_bus		= NULL,
+	.ops_pci		= &soc_pci_ops,
+};
+
+static const struct pci_driver southcluster __pci_driver = {
+	.ops		= &device_ops,
+	.vendor		= PCI_VENDOR_ID_INTEL,
+	.device		= HDA_DEVID,
+};
diff --git a/src/soc/intel/braswell/include/chipset_fsp_util.h b/src/soc/intel/braswell/include/chipset_fsp_util.h
new file mode 100644
index 0000000..7a76102
--- /dev/null
+++ b/src/soc/intel/braswell/include/chipset_fsp_util.h
@@ -0,0 +1,42 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2014 Intel Corporation
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef CHIPSET_FSP_UTIL_H
+
+#define CHIPSET_FSP_UTIL_H
+
+/*
+ * Include the FSP binary interface files
+ *
+ * These files include the necessary UEFI constants and data structures
+ * that are used to interface to the FSP binary.
+ */
+
+#include <uefi_types.h>				/* UEFI data types */
+#include <IntelFspPkg/Include/FspApi.h>		/* FSP API definitions */
+#include <IntelFspPkg/Include/FspInfoHeader.h>	/* FSP binary layout */
+#include <MdePkg/Include/Pi/PiBootMode.h>	/* UEFI boot mode definitions */
+#include <MdePkg/Include/Pi/PiFirmwareFile.h>	/* UEFI file definitions */
+#include <MdePkg/Include/Pi/PiFirmwareVolume.h>	/* UEFI file system defs */
+#include <MdePkg/Include/Uefi/UefiMultiPhase.h>	/* UEFI memory types */
+#include <MdePkg/Include/Pi/PiHob.h>		/* Hand off block definitions */
+#include <MdePkg/Include/Library/HobLib.h>	/* HOB routine declarations */
+#include <VpdHeader.h>		/* Vital/updatable product data definitions */
+
+#endif	/* CHIPSET_FSP_UTIL_H */
diff --git a/src/soc/intel/braswell/include/soc/acpi.h b/src/soc/intel/braswell/include/soc/acpi.h
new file mode 100644
index 0000000..9590e93
--- /dev/null
+++ b/src/soc/intel/braswell/include/soc/acpi.h
@@ -0,0 +1,38 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google, Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied wacbmem_entryanty 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., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+#ifndef _BRASWELL_ACPI_H_
+#define _BRASWELL_ACPI_H_
+
+#include <arch/acpi.h>
+#include <soc/nvs.h>
+
+#if CONFIG_GOP_SUPPORT
+#include <soc/intel/common/gma.h>
+int init_igd_opregion(igd_opregion_t *igd_opregion);
+#endif
+
+void acpi_create_intel_hpet(acpi_hpet_t *hpet);
+void acpi_fill_in_fadt(acpi_fadt_t *fadt);
+unsigned long acpi_madt_irq_overrides(unsigned long current);
+void acpi_init_gnvs(global_nvs_t *gnvs);
+
+#endif /* _BRASWELL_ACPI_H_ */
+
diff --git a/src/soc/intel/braswell/include/soc/device_nvs.h b/src/soc/intel/braswell/include/soc/device_nvs.h
new file mode 100644
index 0000000..e7bc17d
--- /dev/null
+++ b/src/soc/intel/braswell/include/soc/device_nvs.h
@@ -0,0 +1,68 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef _BRASWELL_DEVICE_NVS_H_
+#define _BRASWELL_DEVICE_NVS_H_
+
+#include <stdint.h>
+
+/* Offset in Global NVS where this structure lives */
+#define DEVICE_NVS_OFFSET	0x1000
+
+#define LPSS_NVS_SIO_DMA1	0
+#define LPSS_NVS_I2C1		1
+#define LPSS_NVS_I2C2		2
+#define LPSS_NVS_I2C3		3
+#define LPSS_NVS_I2C4		4
+#define LPSS_NVS_I2C5		5
+#define LPSS_NVS_I2C6		6
+#define LPSS_NVS_I2C7		7
+#define LPSS_NVS_SIO_DMA2	8
+#define LPSS_NVS_SPI		9
+#define LPSS_NVS_PWM1		10
+#define LPSS_NVS_PWM2		11
+#define LPSS_NVS_HSUART1	12
+#define LPSS_NVS_HSUART2	13
+
+#define SCC_NVS_MMC		0
+#define SCC_NVS_SDIO		1
+#define SCC_NVS_SD		2
+
+typedef struct {
+	/* Device Enabled in ACPI Mode */
+	u8	lpss_en[14];
+	u8	scc_en[3];
+	u8	lpe_en;
+
+	/* BAR 0 */
+	u32	lpss_bar0[14];
+	u32	scc_bar0[3];
+	u32	lpe_bar0;
+
+	/* BAR 0 */
+	u32	lpss_bar1[14];
+	u32	scc_bar1[3];
+	u32	lpe_bar1;
+
+	/* Extra */
+	u32	lpe_fw; /* LPE Firmware */
+} __attribute__((packed)) device_nvs_t;
+
+#endif	/* _BRASWELL_DEVICE_NVS_H_ */
diff --git a/src/soc/intel/braswell/include/soc/ehci.h b/src/soc/intel/braswell/include/soc/ehci.h
new file mode 100644
index 0000000..c3abe9c
--- /dev/null
+++ b/src/soc/intel/braswell/include/soc/ehci.h
@@ -0,0 +1,28 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef _BRASWELL_EHCI_H_
+#define _BRASWELL_EHCI_H_
+
+/* EHCI PCI Registers */
+#define EHCI_CMD_STS		0x04
+# define  INTRDIS		  (1 << 10)
+
+#endif /* _BRASWELL_EHCI_H_ */
diff --git a/src/soc/intel/braswell/include/soc/gfx.h b/src/soc/intel/braswell/include/soc/gfx.h
new file mode 100644
index 0000000..4692d23
--- /dev/null
+++ b/src/soc/intel/braswell/include/soc/gfx.h
@@ -0,0 +1,98 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef _BRASWELL_GFX_H_
+#define _BRASWELL_GFX_H_
+
+/*
+ * PCI config registers.
+ */
+
+#define GGC		0x50
+# define GGC_VAMEN		(1 << 14)	/* Enable acceleration mode */
+# define GGC_GTT_SIZE_MASK	(3 << 8)	/* GTT graphics memory size */
+# define GGC_GTT_SIZE_0MB	(0 << 8)
+# define GGC_GTT_SIZE_2MB	(1 << 8)
+# define GGC_GTT_SIZE_4MB	(2 << 8)
+# define GGC_GTT_SIZE_8MB	(3 << 8)
+# define GGC_GSM_SIZE_MASK	(0x1f << 3)	/* Main memory use */
+# define GGC_GSM_SIZE_0MB	(0 << 3)
+# define GGC_GSM_SIZE_32MB	(1 << 3)
+# define GGC_GSM_SIZE_64MB	(2 << 3)
+# define GCC_GSM_SIZE_96MB	(3 << 3)
+# define GGC_GSM_SIZE_128MB	(4 << 3)
+# define GGC_GSM_SIZE_160MB	(5 << 3)
+# define GGC_GSM_SIZE_192MB	(6 << 3)
+# define GGC_GSM_SIZE_224MB	(7 << 3)
+# define GGC_GSM_SIZE_256MB	(8 << 3)
+# define GGC_GSM_SIZE_288MB	(9 << 3)
+# define GGC_GSM_SIZE_320MB	(0x0a << 3)
+# define GGC_GSM_SIZE_352MB	(0x0b << 3)
+# define GGC_GSM_SIZE_384MB	(0x0c << 3)
+# define GGC_GSM_SIZE_416MB	(0x0d << 3)
+# define GGC_GSM_SIZE_448MB	(0x0e << 3)
+# define GGC_GSM_SIZE_480MB	(0x0f << 3)
+# define GGC_GSM_SIZE_512MB	(0x10 << 3)
+# define GGC_VGA_DISABLE	(1 << 1)	/* VGA Disable */
+# define GGC_GGCLCK             (1 << 0)	/* Prevent register writes */
+
+#define GSM_BASE	0x5c
+# define GSM_BDSM	0xfff00000	/* Base of stolen memory */
+# define GSM_BDSM_LOCK	(1 << 0)	/* Prevent register writes */
+
+#define GTT_BASE	0x70
+# define GTT_BGSM	0xfff00000	/* Base of stolen memory */
+# define GTT_BGSM_LOCK	(1 << 0)	/* Prevent register writes */
+
+#define MSAC		0x62
+#define  APERTURE_SIZE_MASK	(3 << 1)
+#define  APERTURE_SIZE_128MB	(0 << 1)
+#define  APERTURE_SIZE_256MB	(1 << 1)
+#define  APERTURE_SIZE_512MB	(3 << 1)
+
+#define SWSCI		0xe8	/* SWSCI  enable */
+#define ASLS		0xfc	/* OpRegion Base */
+
+/* Panel control registers */
+#define HOTPLUG_CTRL		0x61110
+#define PP_CONTROL		0x61204
+# define PP_CONTROL_WRITE_PROTECT_KEY	0xffff0000 /* Enable display port VDD */
+# define PP_CONTROL_UNLOCK		0xabcd0000
+# define PP_CONTROL_EDP_FORCE_VDD	(1 << 3)   /* Enable display port VDD */
+# define PP_CONTROL_BACKLIGHT_ENABLE	(1 << 2)
+# define PP_CONTROL_POWER_DOWN_ON_RESET (1 << 1)
+# define PP_CONTROL_POWER_STATE_TARGET	(1 << 0)   /* Power up/down (1/0) */
+
+#define PP_ON_DELAYS		0x61208
+#define PP_OFF_DELAYS		0x6120c
+#define PP_DIVISOR		0x61210
+#define BACKLIGHT_CTL2		0x61250
+# define BACKLIGHT_PWM_ENABLE		(1 << 31)
+# define BACKLIGHT_POLARITY		(1 << 28) /* Active low/high (1/0) */
+# define BACKLIGHT_PHASE_IN_INT_STATUS	(1 << 26)
+# define BACKLIGHT_PHASE_IN_ENABLE	(1 << 25)
+# define BACKLIGHT_PHASE_IN_INT_ENABLE	(1 << 24)
+# define BACKLIGHT_PHASE_IN_TIME_BASE	0x00ff0000
+# define BACKLIGHT_PHASE_IN_COUNT	0x0000ff00
+# define BACKLIGHT_PHASE_IN_INCREMENT	0x000000ff
+
+#define BACKLIGHT_CTL		0x61254
+
+#endif /* _BRASWELL_GFX_H_ */
diff --git a/src/soc/intel/braswell/include/soc/gpio.h b/src/soc/intel/braswell/include/soc/gpio.h
new file mode 100644
index 0000000..8692d6a
--- /dev/null
+++ b/src/soc/intel/braswell/include/soc/gpio.h
@@ -0,0 +1,543 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef _BRASWELL_GPIO_H_
+#define _BRASWELL_GPIO_H_
+
+#include <stdint.h>
+#include <arch/io.h>
+#include <soc/iomap.h>
+
+#define COMMUNITY_SIZE	0x20000
+
+#define COMMUNITY_GPSOUTHWEST_BASE	\
+(IO_BASE_ADDRESS + COMMUNITY_OFFSET_GPSOUTHWEST)
+
+#define COMMUNITY_GPNORTH_BASE		\
+(IO_BASE_ADDRESS + COMMUNITY_OFFSET_GPNORTH)
+
+#define COMMUNITY_GPEAST_BASE		\
+(IO_BASE_ADDRESS + COMMUNITY_OFFSET_GPEAST)
+
+#define COMMUNITY_GPSOUTHEAST_BASE	\
+(IO_BASE_ADDRESS + COMMUNITY_OFFSET_GPSOUTHEAST)
+
+#define GPIO_COMMUNITY_COUNT		4
+#define GPIO_FAMILIES_MAX_PER_COMM	7
+#define GP_SOUTHWEST	0
+#define GP_NORTH	1
+#define GP_EAST		2
+#define GP_SOUTHEAST	3
+
+#define COMMUNITY_BASE(community)		\
+(IO_BASE_ADDRESS + community * 0x8000)
+
+#define GP_READ_ACCESS_POLICY_BASE(community)   \
+(COMMUNITY_BASE(community) + 0x000)
+
+#define GP_WRITE_ACCESS_POLICY_BASE(community)	\
+(COMMUNITY_BASE(community) + 0x100)
+
+#define GP_WAKE_STATUS_REG_BASE(community)	\
+(COMMUNITY_BASE(community) + 0x200)
+
+#define GP_WAKE_MASK_REG_BASE(community)	\
+(COMMUNITY_BASE(community) + 0x280)
+
+#define GP_INT_STATUS_REG_BASE(community)	\
+(COMMUNITY_BASE(community) + 0x300)
+
+#define GP_INT_MASK_REG_BASE(community)		\
+(COMMUNITY_BASE(community) + 0x380)
+
+#define GP_FAMILY_RCOMP_CTRL(community, family)	\
+(COMMUNITY_BASE(community) + 0x1080 + 0x80 * family)
+
+#define GP_FAMILY_RCOMP_OFFSET(community, family)	\
+(COMMUNITY_BASE(community) + 0x1084 + 0x80 * family)
+
+#define GP_FAMILY_RCOMP_OVERRIDE(community, family)	\
+(COMMUNITY_BASE(community) + 0x1088 + 0x80 * family)
+
+#define GP_FAMILY_RCOMP_VALUE(community, family)	\
+(COMMUNITY_BASE(community) + 0x108C + 0x80 * family)
+
+#define GP_FAMILY_CONF_COMP(community, family)		\
+(COMMUNITY_BASE(community) + 0x1090 + 0x80 * family)
+
+#define GP_FAMILY_CONF_REG(community, family)		\
+(COMMUNITY_BASE(community) + 0x1094 + 0x80 * family)
+
+/* GPIO Security registers offset */
+#define GPIO_READ_ACCESS_POLICY_REG	0x0000
+#define GPIO_WRITE_ACCESS_POLICY_REG	0x0100
+#define GPIO_WAKE_STATUS_REG		0x0200
+#define GPIO_WAKE_MASK_REG0		0x0280
+#define GPIO_WAKE_MASK_REG1		0x0284
+#define GPIO_INTERRUPT_STATUS		0x0300
+#define GPIO_INTERRUPT_MASK		0x0380
+#define GPE0A_STS_REG			0x20
+#define GPE0A_EN_REG			0x28
+#define ALT_GPIO_SMI_REG		0x38
+#define GPIO_ROUT_REG			0x58
+
+/* Pad register offset */
+#define PAD_CONF0_REG			0x0
+#define PAD_CONF1_REG			0x4
+#define PAD_VAL_REG			0x8
+
+/* Some banks have no legacy GPIO interface */
+#define GP_LEGACY_BASE_NONE		0xFFFF
+
+/* Number of GPIOs in each bank */
+#define GPNCORE_COUNT			27
+#define GPSCORE_COUNT			102
+#define GPSSUS_COUNT			44
+
+#define GP_SOUTHWEST_COUNT		56
+#define GP_NORTH_COUNT			59
+#define GP_EAST_COUNT			24
+#define GP_SOUTHEAST_COUNT		55
+
+/* General */
+#define GPIO_REGS_SIZE			8
+#define NA				0
+#define LOW				0
+#define HIGH				1
+#define MASK_WAKE			0
+#define UNMASK_WAKE			1
+#define GPE_CAPABLE			1
+#define GPE_CAPABLE_NONE		0
+
+#define MAX_FAMILY_PAD_GPIO_NO		15
+#define FAMILY_PAD_REGS_OFF		0x4400
+#define FAMILY_PAD_REGS_SIZE		0x400
+
+/* config0[31:28] - Interrupt Selection Interrupt Select */
+#define PAD_INT_SEL(int_s)	(int_s << 28)
+
+/* config0[27:26] - Glitch Filter Config */
+#define PAD_GFCFG(glitch_cfg)		(glitch_cfg << 26)
+#define PAD_GFCFG_DISABLE		(0 << 26)
+#define PAD_ENABLE_EDGE_DETECTION	(1 << 26)  /* EDGE DETECTION ONLY */
+#define PAD_ENABLE_RX_DETECTION		(2 << 26)  /* RX DETECTION ONLY */
+#define PAD_ENABLE_EDGE_RX_DETECTION	(3 << 26)  /* RX & EDGE DETECTION */
+
+/* config0[25:24] - RX/TX Enable Config */
+#define PAD_FUNC_CTRL(tx_rx_enable)		(tx_rx_enable << 24)
+#define PAD_FUNC_CTRL_RX_TX_ENABLE		(0 << 24)
+#define PAD_FUNC_CTRL_TX_ENABLE_RX_DISABLE	(1 << 24)
+#define PAD_FUNC_CTRL_TX_ENABLE_RX_ENABLE	(2 << 24)
+#define PAD_TX_RX_ENABLE			(3 << 24)
+
+/* config0[23:20] - Termination */
+#define PAD_PULL(TERM)		(TERM << 20)
+#define PAD_PULL_DISABLE	(0 << 20)
+#define PAD_PULL_DOWN_20K	(1 << 20)
+#define PAD_PULL_DOWN_5K	(2 << 20)
+#define PAD_PULL_DOWN_1K	(4 << 20)
+#define PAD_PULL_UP_20K		(9 << 20)
+#define PAD_PULL_UP_5K		(10 << 20)
+#define PAD_PULL_UP_1K		(12 << 20)
+
+/* config0[19:16] - PAD Mode */
+#define PAD_MODE_SELECTION(MODE_SEL)	(MODE_SEL<<16)
+
+#define SET_PAD_MODE_SELECTION(pad_config, mode)	\
+	((pad_config & 0xfff0ffff) | PAD_MODE_SELECTION(mode))
+
+/* config0[15] -   GPIO Enable */
+#define PAD_GPIO_DISABLE	(0 << 15)
+#define PAD_GPIO_ENABLE		(1 << 15)
+
+/* config0[14:11] - Reserver2 */
+
+/* config0[10:8] - GPIO Config */
+#define PAD_GPIO_CFG(gpio_cfg)	(gpio_cfg << 8)
+#define PAD_GPIOFG_GPIO		(0 << 8)
+#define PAD_GPIOFG_GPO		(1 << 8)
+#define PAD_GPIOFG_GPI		(2 << 8)
+#define PAD_GPIOFG_HI_Z		(3 << 8)
+
+/* config0[7] - Gpio Light Mode Bar */
+/* config0[6:2] - Reserved1 */
+/* config0[1] - GPIO TX State */
+#define PAD_DEFAULT_TX(STATE)	(STATE<<1)
+/* config0[0] - GPIO RX State */
+#define PAD_RX_BIT	1
+
+/* Pad Control Register 1 configuration */
+#define PAD_DISABLE_INT		(0 << 0)
+#define PAD_TRIG_EDGE_LOW	(1 << 0)
+#define PAD_TRIG_EDGE_HIGH	(2 << 0)
+#define PAD_TRIG_EDGE_BOTH	(3 << 0)
+#define PAD_TRIG_EDGE_LEVEL	(4 << 0)
+
+/* Pad config0 power-on values */
+#define PAD_CONFIG0_DEFAULT	0x00010300
+#define PAD_CONFIG0_DEFAULT0	0x00910300
+#define PAD_CONFIG0_DEFAULT1	0x00110300
+#define PAD_CONFIG0_GPI_DEFAULT	0x00010200
+
+/* Pad config1 reg power-on values */
+#define PAD_CONFIG1_DEFAULT0	0x05C00000
+#define PAD_CONFIG1_CSEN	0x0DC00000
+#define PAD_CONFIG1_DEFAULT1	0x05C00020
+
+#define GPIO_INPUT_NO_PULL \
+	{ .pad_conf0 = PAD_PULL_DISABLE | PAD_GPIO_ENABLE \
+		     | PAD_CONFIG0_GPI_DEFAULT, \
+	  .pad_conf1 = PAD_CONFIG1_DEFAULT0 }
+
+#define GPIO_INPUT_PU_20K \
+	{ .pad_conf0 = PAD_PULL_UP_20K | PAD_GPIO_ENABLE \
+		     | PAD_CONFIG0_GPI_DEFAULT, \
+	  .pad_conf1 = PAD_CONFIG1_DEFAULT0 }
+
+#define GPI(int_type, int_sel, term, int_msk, glitch_cfg, wake_msk, gpe_val) { \
+	.pad_conf0 = PAD_INT_SEL(int_sel) | PAD_GFCFG(glitch_cfg) \
+		   | PAD_PULL(term) | PAD_GPIO_ENABLE | PAD_GPIOFG_GPI, \
+	.pad_conf1 = int_type << 0 | PAD_CONFIG1_DEFAULT0, \
+	.wake_mask = wake_msk, \
+	.int_mask  = int_msk, \
+	.gpe       = gpe_val }
+
+#define GPO_FUNC(term, tx_state) {\
+	.pad_conf0 = PAD_GPIO_ENABLE | PAD_GPIOFG_GPO | PAD_PULL(term) \
+		   | tx_state << 1, \
+	.pad_conf1 = PAD_CONFIG1_DEFAULT0 }
+
+#define NATIVE_FUNC(mode, term, inv_rx_tx) {\
+	.pad_conf0 = PAD_GPIO_DISABLE | PAD_GPIOFG_HI_Z \
+		   | PAD_MODE_SELECTION(mode) | PAD_PULL(term),\
+	.pad_conf1 = PAD_CONFIG1_DEFAULT0 | inv_rx_tx << 4 }
+
+#define NATIVE_FUNC_TX_RX(tx_rx_enable, mode, term, inv_rx_tx) {\
+	.pad_conf0 = PAD_FUNC_CTRL(tx_rx_enable) | PAD_GPIO_DISABLE \
+		   | PAD_GPIOFG_GPIO | PAD_MODE_SELECTION(mode) \
+		   | PAD_PULL(term),\
+	.pad_conf1 = PAD_CONFIG1_DEFAULT0 | inv_rx_tx << 4 }
+
+#define NATIVE_FUNC_CSEN(mode, term, inv_rx_tx) {\
+	.pad_conf0 = PAD_GPIO_DISABLE | PAD_GPIOFG_HI_Z \
+		   | PAD_MODE_SELECTION(mode) | PAD_PULL(term),\
+	.pad_conf1 = PAD_CONFIG1_CSEN | inv_rx_tx << 4 }
+
+#define NATIVE_INT(mode, int_sel) {\
+	.pad_conf0 = PAD_INT_SEL(int_sel) | PAD_GPIO_DISABLE \
+		   | PAD_GPIOFG_HI_Z | PAD_MODE_SELECTION(mode),\
+	.pad_conf1 = PAD_CONFIG1_DEFAULT0 }
+
+#define SPEAKER \
+{	.pad_conf0 = PAD_CONFIG0_DEFAULT0, \
+	.pad_conf1 = PAD_CONFIG1_DEFAULT0 }
+
+#define SPARE_PIN\
+	{	.pad_conf0 = 0x00110300,\
+		.pad_conf1 = PAD_CONFIG1_DEFAULT0 }
+
+/* SCI , SMI, Wake  */
+#define GPIO_SCI(int_sel) \
+	{   .pad_conf0  = PAD_PULL_DISABLE | PAD_ENABLE_EDGE_RX_DETECTION\
+			| PAD_GPIO_ENABLE  | PAD_GPIOFG_GPI \
+			| PAD_INT_SEL(int_sel), \
+	.pad_conf1  = PAD_TRIG_EDGE_LOW | PAD_CONFIG1_DEFAULT0, \
+	.gpe        = SCI, \
+	.int_mask   = 1 }
+
+#define GPIO_WAKE(int_sel) \
+	{   .pad_conf0  = PAD_PULL_DISABLE | PAD_ENABLE_EDGE_RX_DETECTION\
+			| PAD_GPIO_ENABLE  | PAD_GPIOFG_GPI \
+			| PAD_INT_SEL(int_sel), \
+	.pad_conf1  = PAD_TRIG_EDGE_LOW | PAD_CONFIG1_DEFAULT0, \
+	.int_mask   = 1 ,\
+	.wake_mask  = 1 }
+
+#define GPIO_SMI(int_sel) \
+	{   .pad_conf0  = PAD_PULL_DISABLE | PAD_ENABLE_EDGE_RX_DETECTION\
+			| PAD_GPIO_ENABLE  | PAD_GPIOFG_GPI \
+			| PAD_INT_SEL(int_sel), \
+	.pad_conf1  = PAD_TRIG_EDGE_LOW | PAD_CONFIG1_DEFAULT0, \
+	.int_mask   = 1,\
+	.gpe        = SMI }
+
+#define GPIO_SKIP { .skip_config = 1 }
+
+/* Common GPIO settings */
+#define NATIVE_DEFAULT(mode)	NATIVE_FUNC(mode, 0, 0) /* no pull */
+#define NATIVE_PU20K(mode)	NATIVE_FUNC(mode, 9, 0) /* PH 20k */
+#define NATIVE_PU5K(mode)	NATIVE_FUNC(mode, 10, 0) /* PH 5k */
+#define NATIVE_PU5K_INVTX(mode)	NATIVE_FUNC(mode, 10, inv_tx_enable) /* PH 5k */
+#define NATIVE_PU1K(mode)	NATIVE_FUNC(mode, 12, 0) /* PH 1k */
+#define NATIVE_PU1K_CSEN_INVTX(mode) \
+		NATIVE_FUNC_CSEN(mode, 12, inv_tx_enable) /* PH 1k */
+#define NATIVE_PU1K_INVTX(mode)	NATIVE_FUNC(mode, 12, inv_tx_enable) /* PH 1k */
+#define NATIVE_PD20K(mode)	NATIVE_FUNC(mode, 1, 0) /* PD 20k */
+#define NATIVE_PD5K(mode)	NATIVE_FUNC(mode, 2, 0) /* PD 5k */
+#define NATIVE_PD1K(mode)	NATIVE_FUNC(mode, 4, 0) /* PD 1k */
+#define	NATIVE_PD1K_CSEN_INVTX(mode) NATIVE_FUNC_CSEN(mode, 4, inv_tx_enable)
+								/* no pull */
+#define NATIVE_TX_RX_EN		NATIVE_FUNC_TX_RX(3, 1, 0, inv_tx_enable)
+#define NATIVE_TX_RX_M1		NATIVE_FUNC_TX_RX(0, 1, 0, 0) /* no pull */
+#define NATIVE_TX_RX_M3		NATIVE_FUNC_TX_RX(0, 3, 0, 0) /* no pull */
+#define NATIVE_PU1K_M1		NATIVE_PU1K(1) /* PU1k M1 */
+
+/* Default native functions */
+#define Native_M0		NATIVE_DEFAULT(0)
+#define Native_M1		NATIVE_DEFAULT(1)
+#define Native_M2		NATIVE_DEFAULT(2)
+#define Native_M3		NATIVE_DEFAULT(3)
+#define Native_M4		NATIVE_DEFAULT(4)
+#define Native_M5		NATIVE_DEFAULT(5)
+#define Native_M6		NATIVE_DEFAULT(6)
+#define Native_M7		NATIVE_DEFAULT(7)
+#define Native_M8		NATIVE_DEFAULT(8)
+
+#define GPIO_OUT_LOW		GPO_FUNC(0, 0) /* gpo low */
+#define GPIO_OUT_HIGH		GPO_FUNC(0, 1) /* gpo high */
+#define GPIO_NC			GPIO_INPUT_PU_20K /* not connect */
+
+/* End marker */
+#define GPIO_LIST_END		0xffffffff
+
+#define GPIO_END \
+	{  .pad_conf0 = GPIO_LIST_END }
+
+/* 16 DirectIRQs per supported bank */
+#define GPIO_MAX_DIRQS			16
+
+#define GPIO_NONE		255
+
+/* Functions / defines for changing GPIOs in romstage */
+/* SCORE Pad definitions. */
+#define UART_RXD_PAD		82
+#define UART_TXD_PAD		83
+#define PCU_SMB_CLK_PAD		88
+#define PCU_SMB_DATA_PAD	90
+#define SOC_DDI1_VDDEN_PAD	16
+#define UART1_RXD_PAD		9
+#define UART1_TXD_PAD		13
+#define DDI2_DDC_SCL		48
+#define DDI2_DDC_SDA		53
+
+struct soc_gpio_map {
+	u32 pad_conf0;
+	u32 pad_conf1;
+	u32 pad_val;
+	u32 gpe;
+	u32 int_mask:1;
+	u32 wake_mask:1;
+	u32 is_gpio:1;
+	u32 skip_config:1;
+} __attribute__ ((packed));
+
+struct soc_gpio_config {
+	const struct soc_gpio_map *north;
+	const struct soc_gpio_map *southeast;
+	const struct soc_gpio_map *southwest;
+	const struct soc_gpio_map *east;
+};
+
+/* Description of a GPIO 'community' */
+struct gpio_bank {
+	const int gpio_count;
+	const u8 *gpio_to_pad;
+	const int legacy_base;
+	const unsigned long pad_base;
+	const u8 has_gpe_en:1;
+	const u8 has_wake_en:1;
+};
+
+typedef enum {
+	NATIVE = 0xff,
+	GPIO = 0,	  /* Native, no need to set PAD_VALUE */
+	GPO = 1,	   /* GPI, input only in PAD_VALUE */
+	GPI = 2,	   /* GPO, output only in PAD_VALUE */
+	HI_Z = 3,
+	NA_GPO = 0,
+} gpio_en_t;
+
+typedef enum {
+	LO = 0,
+	HI = 1,
+} gpo_d4_t;
+
+typedef enum {
+	F0 = 0,
+	F1 = 1,
+	F2 = 2,
+	F3 = 3
+} gpio_func_num_t;
+
+typedef enum {
+	_CAP = 1,
+	_NOT_CAP = 0
+} int_capable_t;
+
+typedef enum {
+	P_NONE  = 0,		/* Pull None */
+	P_20K_L = 1,		/* Pull Down  20K */
+	P_5K_L  = 2,		/* Pull Down  5K */
+	P_1K_L  = 4,		/* Pull Down  1K */
+	P_20K_H = 9,		/* Pull Up 20K */
+	P_5K_H  = 10,		/* Pull Up  5K */
+	P_1K_H  = 12		/* Pull Up  1K */
+} pull_type_t;
+
+typedef enum {
+	DISABLE = 0,	/* Disable */
+	ENABLE = 1,	/* Enable */
+} park_mode_enb_t;
+
+typedef enum {
+	VOLT_3_3 = 0,	/* Working on 3.3 Volts */
+	VOLT_1_8 = 1,	/* Working on 1.8 Volts */
+} voltage_t;
+
+typedef enum {
+	DISABLE_HS = 0,	/* Disable high speed mode */
+	ENABLE_HS  = 1,	/* Enable high speed mode */
+} hs_mode_t;
+
+typedef enum {
+	PULL_UP = 0,	/* On Die Termination Up */
+	PULL_DOWN  = 1,	/* On Die Termination Down */
+} odt_up_dn_t;
+
+typedef enum {
+	DISABLE_OD = 0,	/* On Die Termination Disable */
+	ENABLE_OD  = 1,	/* On Die Termination Enable */
+} odt_en_t;
+
+typedef enum {
+	ONE_BIT = 1,
+	TWO_BIT = 3,
+	THREE_BIT = 7,
+	FOUR_BIT = 15,
+	FIVE_BIT = 31,
+	SIX_BIT = 63,
+	SEVEN_BIT = 127,
+	EIGHT_BIT = 255
+} bit_t;
+
+typedef enum {
+	M0 = 0,
+	M1,
+	M2,
+	M3,
+	M4,
+	M5,
+	M6,
+	M7,
+	M8,
+	M9,
+	M10,
+	M11,
+	M12,
+	M13,
+} mode_list_t;
+
+typedef enum {
+	L0 = 0,
+	L1 = 1,
+	L2 = 2,
+	L3 = 3,
+	L4 = 4,
+	L5 = 5,
+	L6 = 6,
+	L7 = 7,
+	L8 = 8,
+	L9 = 9,
+	L10 = 10,
+	L11 = 11,
+	L12 = 12,
+	L13 = 13,
+	L14 = 14,
+	L15 = 15,
+} int_select_t;
+
+typedef enum {
+	INT_DIS = 0,
+	trig_edge_low = 1,
+	trig_edge_high = 2,
+	trig_edge_both = 3,
+	trig_level = 4,
+} int_type_t;
+
+typedef enum {
+	glitch_disable = 0,
+	en_edge_detect,
+	en_rx_data,
+	en_edge_rx_data,
+} glitch_cfg;
+
+typedef enum {
+	maskable = 0,
+	non_maskable,
+} mask_t;
+
+typedef enum {
+	GPE = 0,
+	SMI,
+	SCI,
+} gpe_config_t;
+
+/*
+ * InvertRxTx 7:4
+ * 0 - No Inversion
+ * 1 - Inversion
+ * [0] RX Enable
+ * [1] TX Enable
+ * [2] RX Data
+ * [3] TX Data
+ */
+typedef enum {
+	no_inversion	  = 0,
+	inv_rx_enable	 = 0x1,
+	inv_tx_enable	 = 0x2,
+	inv_rx_tx_enable  = 0x3,
+	inv_rx_data	   = 0x4,
+	inv_tx_data	   = 0x8,
+} invert_rx_tx_t;
+
+void setup_soc_gpios(struct soc_gpio_config *config, u8 enable_xdp_tap);
+struct soc_gpio_config *mainboard_get_gpios(void);
+
+static inline void ncore_select_func(int pad, int func)
+{
+
+}
+
+/* These functions require that the input pad be configured as an input GPIO */
+
+static inline int ssus_get_gpio(int pad)
+{
+	return 0;
+}
+
+static inline void ssus_disable_internal_pull(int pad)
+{
+}
+
+int get_gpio(int community_base, int pad0_offset);
+uint16_t gpio_family_number(uint8_t community, uint8_t pad);
+uint32_t *gpio_pad_config_reg(uint8_t community, uint8_t pad);
+
+#endif /* _BRASWELL_GPIO_H_ */
diff --git a/src/soc/intel/braswell/include/soc/hda.h b/src/soc/intel/braswell/include/soc/hda.h
new file mode 100644
index 0000000..8443ffa
--- /dev/null
+++ b/src/soc/intel/braswell/include/soc/hda.h
@@ -0,0 +1,45 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef _BRASWELL_HDA_H_
+#define _BRASWELL_HDA_H_
+
+/*
+ * PCI config registers.
+ */
+
+#define HDA_DCKSTS		0x4d
+# define HDA_DCKSTS_DS		(1 << 7)
+# define HDA_DCKSTS_DM		(1 << 0)
+
+#define HDA_DEVC		0x78
+# define HDA_DEVC_MRRS		0x7000
+# define HDA_DEVC_NSNPEN	(1 << 11)
+# define HDA_DEVC_AUXPEN	(1 << 10)
+# define HDA_DEVC_PEEN		(1 << 9)
+# define HDA_DEVC_ETEN		(1 << 8)
+# define HDA_DEVC_MAXPAY	0x00e0
+# define HDA_DEVC_ROEN		(1 << 4)
+# define HDA_DEVC_URREN		(1 << 3)
+# define HDA_DEVC_FEREN		(1 << 2)
+# define HDA_DEVC_NFEREN	(1 << 1)
+# define HDA_DEVC_CEREN		(1 << 0)
+
+#endif /* _BRASWELL_HDA_H_ */
diff --git a/src/soc/intel/braswell/include/soc/iomap.h b/src/soc/intel/braswell/include/soc/iomap.h
new file mode 100644
index 0000000..d6dde43
--- /dev/null
+++ b/src/soc/intel/braswell/include/soc/iomap.h
@@ -0,0 +1,92 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef _BRASWELL_IOMAP_H_
+#define _BRASWELL_IOMAP_H_
+
+
+/*
+ * Memory Mapped IO bases.
+ */
+
+/* PCI Configuration Space */
+#define MCFG_BASE_ADDRESS		CONFIG_MMCONF_BASE_ADDRESS
+#define MCFG_BASE_SIZE			0x10000000
+
+/* Transactions in this range will abort */
+#define ABORT_BASE_ADDRESS		0xfeb00000
+#define ABORT_BASE_SIZE			0x00100000
+
+/* Power Management Controller */
+#define PMC_BASE_ADDRESS		0xfed03000
+#define PMC_BASE_SIZE			0x400
+
+/* IO Memory */
+#define IO_BASE_ADDRESS			0xfed80000
+#define IO_BASE_SIZE			0x4000
+#define COMMUNITY_OFFSET_GPSOUTHWEST            0x00000
+#define COMMUNITY_OFFSET_GPNORTH                0x08000
+#define COMMUNITY_OFFSET_GPEAST                 0x10000
+#define COMMUNITY_OFFSET_GPSOUTHEAST            0x18000
+
+/* Intel Legacy Block */
+#define ILB_BASE_ADDRESS		0xfed08000
+#define ILB_BASE_SIZE			0x400
+
+/* SPI Bus */
+#define SPI_BASE_ADDRESS		0xfed01000
+#define SPI_BASE_SIZE			0x400
+
+/* MODPHY */
+#define MPHY_BASE_ADDRESS		0xfea00000
+#define MPHY_BASE_SIZE			0x100000
+
+/* Power Management Unit */
+#define PUNIT_BASE_ADDRESS		0xfed06000
+#define PUNIT_BASE_SIZE			0x800
+
+/* Root Complex Base Address */
+#define RCBA_BASE_ADDRESS		0xfed1c000
+#define RCBA_BASE_SIZE			0x400
+
+/* High Performance Event Timer */
+#define HPET_BASE_ADDRESS		0xfed00000
+#define HPET_BASE_SIZE			0x400
+
+/* Temporary Base Address */
+#define TEMP_BASE_ADDRESS		0xfd000000
+
+/*
+ * IO Port bases.
+ */
+#define ACPI_BASE_ADDRESS		0x0400
+#define ACPI_BASE_SIZE			0x80
+
+#define GPIO_BASE_ADDRESS		0x0500
+#define GPIO_BASE_SIZE			0x100
+
+#define SMBUS_BASE_ADDRESS		0xefa0
+
+#ifndef __ACPI__
+/* Read Top of Low Memory (BMBOUND) */
+uint32_t nc_read_top_of_low_memory(void);
+#endif
+
+#endif /* _BRASWELL_IOMAP_H_ */
diff --git a/src/soc/intel/braswell/include/soc/iosf.h b/src/soc/intel/braswell/include/soc/iosf.h
new file mode 100644
index 0000000..ccb7e50
--- /dev/null
+++ b/src/soc/intel/braswell/include/soc/iosf.h
@@ -0,0 +1,229 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google, Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied wacbmem_entryanty 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., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+#ifndef _BRASWELL_IOSF_H_
+#define _BRASWELL_IOSF_H_
+
+#include <stdint.h>
+#ifndef __PRE_RAM__
+#include <device/device.h>
+#include <reg_script.h>
+#endif	/* __PRE_RAM */
+#include <soc/pci_devs.h>
+
+/*
+ * The SoC has a message network called IOSF Sideband. The access
+ * routines are through 3 registers in PCI config space of 00:00.0:
+ *  MCR - control register
+ *  MDR - data register
+ *  MCRX - control register extension
+ * The extension register is only used for addresses that don't fit
+ * into the 8 bit register address.
+ */
+
+#ifndef PCI_DEV
+#define PCI_DEV(SEGBUS, DEV, FN) ( \
+	(((SEGBUS) & 0xFFF) << 20) | \
+	(((DEV) & 0x1F) << 15) | \
+	(((FN)  & 0x07) << 12))
+#endif
+#define IOSF_PCI_DEV PCI_DEV(0, SOC_DEV, SOC_FUNC)
+
+#define MCR_REG 0xd0
+#define  IOSF_OPCODE(x) ((x) << 24)
+#define  IOSF_PORT(x) ((0xff & (x)) << 16)
+#define  IOSF_REG(x) ((0xff & (x)) << 8)
+#define  IOSF_REG_UPPER(x) (((~0xff) & (x)))
+#define  IOSF_BYTE_EN_0 0x10
+#define  IOSF_BYTE_EN_1 0x20
+#define  IOSF_BYTE_EN_2 0x40
+#define  IOSF_BYTE_EN_3 0x80
+#define  IOSF_BYTE_EN \
+	  (IOSF_BYTE_EN_0 | IOSF_BYTE_EN_1 | IOSF_BYTE_EN_2 | IOSF_BYTE_EN_3)
+#define MDR_REG 0xd4
+#define MCRX_REG 0xd8
+
+uint32_t iosf_bunit_read(int reg);
+void iosf_bunit_write(int reg, uint32_t val);
+uint32_t iosf_punit_read(int reg);
+void iosf_punit_write(int reg, uint32_t val);
+uint32_t iosf_score_read(int reg);
+void iosf_score_write(int reg, uint32_t val);
+uint32_t iosf_lpss_read(int reg);
+void iosf_lpss_write(int reg, uint32_t val);
+uint32_t iosf_port58_read(int reg);
+void iosf_port58_write(int reg, uint32_t val);
+uint32_t iosf_scc_read(int reg);
+void iosf_scc_write(int reg, uint32_t val);
+
+#ifndef __PRE_RAM__
+uint64_t reg_script_read_iosf(struct reg_script_context *ctx);
+void reg_script_write_iosf(struct reg_script_context *ctx);
+#endif	/* __PRE_RAM */
+
+/* IOSF ports. */
+#define IOSF_PORT_AUNIT		0x00 /* IO Arbiter unit */
+#define IOSF_PORT_CPU_BUS	0x02 /* CPU Bus Interface Controller */
+#define IOSF_PORT_BUNIT		0x03 /* System Memory Arbiter/Bunit */
+#define IOSF_PORT_PMC		0x04 /* Power Management Controller */
+#define IOSF_PORT_SEC		0x44 /* SEC */
+#define IOSF_PORT_0x45		0x45
+#define IOSF_PORT_0x46		0x46
+#define IOSF_PORT_0x47		0x47
+#define IOSF_PORT_SCORE		0x48 /* SCORE */
+#define IOSF_PORT_0x55		0x55
+#define IOSF_PORT_0x58		0x58
+#define IOSF_PORT_0x59		0x59
+#define IOSF_PORT_0x5a		0x5a
+#define IOSF_PORT_USHPHY	0x61 /* USB XHCI PHY */
+#define IOSF_PORT_SCC		0x63 /* Storage Control Cluster */
+#define IOSF_PORT_LPSS		0xa0 /* LPSS - Low Power Subsystem */
+#define IOSF_PORT_0xa2		0xa2
+#define IOSF_PORT_SSUS		0xa8 /* SUS */
+#define IOSF_PORT_CCU		0xa9 /* Clock control unit. */
+
+/* Read and write opcodes differ per port. */
+#define IOSF_OP_READ_BUNIT	0x10
+#define IOSF_OP_WRITE_BUNIT	(IOSF_OP_READ_BUNIT | 1)
+#define IOSF_OP_READ_PMC	0x06
+#define IOSF_OP_WRITE_PMC	(IOSF_OP_READ_PMC | 1)
+#define IOSF_OP_READ_SCORE	0x06
+#define IOSF_OP_WRITE_SCORE	(IOSF_OP_READ_SCORE | 1)
+#define IOSF_OP_READ_LPSS	0x06
+#define IOSF_OP_WRITE_LPSS	(IOSF_OP_READ_LPSS | 1)
+#define IOSF_OP_READ_0x58	0x06
+#define IOSF_OP_WRITE_0x58	(IOSF_OP_READ_0x58 | 1)
+#define IOSF_OP_READ_SCC        0x06
+#define IOSF_OP_WRITE_SCC       (IOSF_OP_READ_SCC | 1)
+
+/*
+ * BUNIT Registers.
+ */
+
+/* BMBOUND has a 128MiB granularity. Highest address is 0xf8000000. */
+#define BUNIT_BMBOUND		0x25
+/*
+ * BMBOUND_HI describes the available ram above 4GiB. It has a
+ * 256MiB granularity. Physical address bits 35:28 are compared with 31:24
+ * bits in the BMBOUND_HI register. Also note that since BMBOUND has 128MiB
+ * granularity care needs to be taken with the e820 map to account for a hole
+ * in the ram.
+ */
+#define BUNIT_BMBOUND_HI	0x26
+#define BUNIT_MMCONF_REG	0x27
+#define BUNIT_BMISC		0x28
+/* The SMMRR registers define the SMM region in MiB granularity. */
+#define BUNIT_SMRRL		0x2e
+#define BUNIT_SMRRH		0x2f
+
+/*
+ * PUNIT Registers
+ */
+#define SB_BIOS_CONFIG			0x06
+# define  SB_BIOS_CONFIG_ECC_EN			(1 << 31)
+# define  SB_BIOS_CONFIG_DUAL_CH_DIS		(1 << 30)
+# define  SB_BIOS_CONFIG_EFF_ECC		(1 << 29)
+# define  SB_BIOS_CONFIG_EFF_DUAL_CH_DIS	(1 << 28)
+# define  SB_BIOS_CONFIG_PERF_MODE		(1 << 17)
+# define  SB_BIOS_CONFIG_PDM_MODE		(1 << 16)
+# define  SB_BIOS_CONFIG_DDRIO_PWRGATE		(1 << 8)
+# define  SB_BIOS_CONFIG_GFX_TURBO_DIS		(1 << 7)
+# define  SB_BIOS_CONFIG_PS2_EN_VNN		(1 << 3)
+# define  SB_BIOS_CONFIG_PS2_EN_VCC		(1 << 2)
+# define  SB_BIOS_CONFIG_PCIE_PLLOFFOK		(1 << 1)
+# define  SB_BIOS_CONFIG_USB_CACHING_EN		(1 << 0)
+#define BIOS_RESET_CPL			0x05
+# define  BIOS_RESET_CPL_ALL_DONE		(1 << 1)
+# define  BIOS_RESET_CPL_RESET_DONE		(1 << 0)
+
+/*
+ * LPSS Registers
+ */
+#define LPSS_SIO_DMA1_CTL		0x280
+#define LPSS_I2C1_CTL			0x288
+#define LPSS_I2C2_CTL			0x290
+#define LPSS_I2C3_CTL			0x298
+#define LPSS_I2C4_CTL			0x2a0
+#define LPSS_I2C5_CTL			0x2a8
+#define LPSS_I2C6_CTL			0x2b0
+#define LPSS_I2C7_CTL			0x2b8
+#define LPSS_SIO_DMA2_CTL		0x240
+#define LPSS_PWM1_CTL			0x248
+#define LPSS_PWM2_CTL			0x250
+#define LPSS_HSUART1_CTL		0x258
+#define LPSS_HSUART2_CTL		0x260
+#define LPSS_SPI_CTL			0x268
+# define LPSS_CTL_ACPI_INT_EN			(1 << 21)
+# define LPSS_CTL_PCI_CFG_DIS			(1 << 20)
+# define LPSS_CTL_SNOOP				(1 << 18)
+# define LPSS_CTL_NOSNOOP			(1 << 19)
+# define LPSS_CTL_PM_CAP_PRSNT			(1 <<  1)
+
+/*
+ * SCC Registers
+ */
+#define SCC_SD_CTL			0x504
+#define SCC_SDIO_CTL			0x508
+#define SCC_MMC_CTL			0x500
+# define SCC_CTL_PCI_CFG_DIS			(1 << 0)
+# define SCC_CTL_ACPI_INT_EN			(1 << 1)
+
+/*
+ * USHPHY Registers
+ */
+#define USHPHY_CDN_PLL_CONTROL			0x03c0
+#define USHPHY_CDN_VCO_START_CAL_POINT		0x0054
+#define USHPHY_CCDRLF				0x8040
+#define USHPHY_PEAKING_AMP_CONFIG_DIAG		0x80a8
+#define USHPHY_OFFSET_COR_CONFIG_DIAG		0x80b0
+#define USHPHY_VGA_GAIN_CONFIG_DIAG		0x8080
+#define USHPHY_REE_DAC_CONTROL			0x80b8
+#define USHPHY_CDN_U1_POWER_STATE_DEF		0x0000
+
+/*
+ * LPE Registers
+ */
+#define LPE_PCICFGCTR1			0x0500
+# define LPE_PCICFGCTR1_PCI_CFG_DIS		(1 << 0)
+# define LPE_PCICFGCTR1_ACPI_INT_EN		(1 << 1)
+
+/*
+ * IO Sideband Function
+ */
+
+#ifndef __PRE_RAM__
+#define REG_SCRIPT_IOSF(cmd_, unit_, reg_, mask_, value_, timeout_) \
+	_REG_SCRIPT_ENCODE_RAW(REG_SCRIPT_COMMAND_##cmd_,      \
+			       REG_SCRIPT_TYPE_IOSF,           \
+			       REG_SCRIPT_SIZE_32,             \
+			       reg_, mask_, value_, timeout_, unit_)
+#define REG_IOSF_READ(unit_, reg_) \
+	REG_SCRIPT_IOSF(READ, unit_, reg_, 0, 0, 0)
+#define REG_IOSF_WRITE(unit_, reg_, value_) \
+	REG_SCRIPT_IOSF(WRITE, unit_, reg_, 0, value_, 0)
+#define REG_IOSF_RMW(unit_, reg_, mask_, value_) \
+	REG_SCRIPT_IOSF(RMW, unit_, reg_, mask_, value_, 0)
+#define REG_IOSF_OR(unit_, reg_, value_) \
+	REG_IOSF_RMW(unit_, reg_, 0xffffffff, value_)
+#define REG_IOSF_POLL(unit_, reg_, mask_, value_, timeout_) \
+	REG_SCRIPT_IOSF(POLL, unit_, reg_, mask_, value_, timeout_)
+#endif	/* __PRE_RAM */
+
+#endif /* _BRASWELL_IOSF_H_ */
diff --git a/src/soc/intel/braswell/include/soc/irq.h b/src/soc/intel/braswell/include/soc/irq.h
new file mode 100644
index 0000000..5a781ac
--- /dev/null
+++ b/src/soc/intel/braswell/include/soc/irq.h
@@ -0,0 +1,220 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef _BRASWELL_IRQ_H_
+#define _BRASWELL_IRQ_H_
+
+#define PIRQA_APIC_IRQ			16
+#define PIRQB_APIC_IRQ			17
+#define PIRQC_APIC_IRQ			18
+#define PIRQD_APIC_IRQ			19
+#define PIRQE_APIC_IRQ			20
+#define PIRQF_APIC_IRQ			21
+#define PIRQG_APIC_IRQ			22
+#define PIRQH_APIC_IRQ			23
+
+/* The below IRQs are for when devices are in ACPI mode. Active low. */
+#define LPE_DMA0_IRQ			24
+#define LPE_DMA1_IRQ			25
+#define LPE_SSP0_IRQ			26
+#define LPE_SSP1_IRQ			27
+#define LPE_SSP2_IRQ			28
+#define LPE_IPC2HOST_IRQ		29
+#define LPSS_I2C1_IRQ			32
+#define LPSS_I2C2_IRQ			33
+#define LPSS_I2C3_IRQ			34
+#define LPSS_I2C4_IRQ			35
+#define LPSS_I2C5_IRQ			36
+#define LPSS_I2C6_IRQ			37
+#define LPSS_I2C7_IRQ			38
+#define LPSS_HSUART1_IRQ		39
+#define LPSS_HSUART2_IRQ		40
+#define LPSS_SPI_IRQ			41
+#define LPSS_DMA1_IRQ			42
+#define LPSS_DMA2_IRQ			43
+#define SCC_EMMC_IRQ			45
+#define SCC_SDIO_IRQ			46
+#define SCC_SD_IRQ				47
+
+#define GPIO_N_IRQ				48
+#define GPIO_SW_IRQ				49
+#define GPIO_E_IRQ				50
+
+/* GPIO direct / dedicated IRQs. */
+
+/* NORTH COMMUNITY */
+#define GPIO_N_DED_IRQ_0		51
+#define GPIO_N_DED_IRQ_1		52
+#define GPIO_N_DED_IRQ_2		53
+#define GPIO_N_DED_IRQ_3		54
+#define GPIO_N_DED_IRQ_4		55
+#define GPIO_N_DED_IRQ_5		56
+#define GPIO_N_DED_IRQ_6		57
+#define GPIO_N_DED_IRQ_7		58
+
+/* SOUTH WEST COMMUNITY */
+#define GPIO_SW_DED_IRQ_0		59
+#define GPIO_SW_DED_IRQ_1		60
+#define GPIO_SW_DED_IRQ_2		61
+#define GPIO_SW_DED_IRQ_3		62
+#define GPIO_SW_DED_IRQ_4		63
+#define GPIO_SW_DED_IRQ_5		64
+#define GPIO_SW_DED_IRQ_6		65
+#define GPIO_SW_DED_IRQ_7		66
+
+/* EAST COMMUNITY */
+#define GPIO_E_DED_IRQ_0		67
+#define GPIO_E_DED_IRQ_1		68
+#define GPIO_E_DED_IRQ_2		69
+#define GPIO_E_DED_IRQ_3		70
+#define GPIO_E_DED_IRQ_4		71
+#define GPIO_E_DED_IRQ_5		72
+#define GPIO_E_DED_IRQ_6		73
+#define GPIO_E_DED_IRQ_7		74
+#define GPIO_E_DED_IRQ_8		75
+#define GPIO_E_DED_IRQ_9		76
+#define GPIO_E_DED_IRQ_10		77
+#define GPIO_E_DED_IRQ_11		78
+#define GPIO_E_DED_IRQ_12		79
+#define GPIO_E_DED_IRQ_13		80
+#define GPIO_E_DED_IRQ_14		81
+#define GPIO_E_DED_IRQ_15		82
+
+/* More IRQ */
+#define LPSS_SPI2_IRQ			89
+#define LPSS_SPI3_IRQ			90
+#define GPIO_SE_IRQ			91
+
+/* GPIO direct / dedicated IRQs. */
+/* SOUTH EAST COMMUNITY */
+#define GPIO_SE_DED_IRQ_0		92
+#define GPIO_SE_DED_IRQ_1		93
+#define GPIO_SE_DED_IRQ_2		94
+#define GPIO_SE_DED_IRQ_3		95
+#define GPIO_SE_DED_IRQ_4		96
+#define GPIO_SE_DED_IRQ_5		97
+#define GPIO_SE_DED_IRQ_6		98
+#define GPIO_SE_DED_IRQ_7		99
+#define GPIO_SE_DED_IRQ_8		100
+#define GPIO_SE_DED_IRQ_9		101
+#define GPIO_SE_DED_IRQ_10		102
+#define GPIO_SE_DED_IRQ_11		103
+#define GPIO_SE_DED_IRQ_12		104
+#define GPIO_SE_DED_IRQ_13		105
+#define GPIO_SE_DED_IRQ_14		106
+#define GPIO_SE_DED_IRQ_15		107
+
+/* OTHER IRQs */
+#define GPIO_VIRTUAL			108
+#define LPE_DMA2			109
+#define LPE_SSP3			110
+#define LPE_SSP4			111
+#define LPE_SSP5			112
+
+/* DIRQs - Two levels of expansion to evaluate to numeric constants for ASL. */
+#define _GPIO_N_DED_IRQ(slot)		GPIO_N_DED_IRQ_##slot
+#define _GPIO_SW_DED_IRQ(slot)		GPIO_SW_DED_IRQ_##slot
+#define _GPIO_E_DED_IRQ(slot)		GPIO_E_DED_IRQ_##slot
+#define _GPIO_SE_DED_IRQ(slot)		GPIO_SE_DED_IRQ_##slot
+#define GPIO_N_DED_IRQ(slot)		_GPIO_N_DED_IRQ(slot)
+#define GPIO_SW_DED_IRQ(slot)		_GPIO_SW_DED_IRQ(slot)
+#define GPIO_E_DED_IRQ(slot)		_GPIO_E_DED_IRQ(slot)
+#define GPIO_SE_DED_IRQ(slot)		_GPIO_SE_DED_IRQ(slot)
+
+/* TODO NEED TO UPDATE THESE IN onboard.h */
+#define _GPIO_S0_DED_IRQ(slot)		GPIO_N_DED_IRQ_##slot
+#define _GPIO_S5_DED_IRQ(slot)		GPIO_SE_DED_IRQ_##slot
+#define GPIO_S0_DED_IRQ(slot)		_GPIO_N_DED_IRQ(slot)
+#define GPIO_S5_DED_IRQ(slot)		_GPIO_E_DED_IRQ(slot)
+
+
+/* PIC IRQ settings. */
+#define PIRQ_PIC_IRQDISABLE		0x0
+#define PIRQ_PIC_IRQ3			0x3
+#define PIRQ_PIC_IRQ4			0x4
+#define PIRQ_PIC_IRQ5			0x5
+#define PIRQ_PIC_IRQ6			0x6
+#define PIRQ_PIC_IRQ7			0x7
+#define PIRQ_PIC_IRQ9			0x9
+#define PIRQ_PIC_IRQ10			0xa
+#define PIRQ_PIC_IRQ11			0xb
+#define PIRQ_PIC_IRQ12			0xc
+#define PIRQ_PIC_IRQ14			0xe
+#define PIRQ_PIC_IRQ15			0xf
+
+/* Overloaded term, but these values determine the per device route. */
+#define PIRQA				0
+#define PIRQB				1
+#define PIRQC				2
+#define PIRQD				3
+#define PIRQE				4
+#define PIRQF				5
+#define PIRQG				6
+#define PIRQH				7
+
+/* These registers live behind the ILB_BASE_ADDRESS */
+#define ACTL				0x00
+# define SCIS_MASK				0x07
+# define SCIS_IRQ9				0x00
+# define SCIS_IRQ10				0x01
+# define SCIS_IRQ11				0x02
+# define SCIS_IRQ20				0x04
+# define SCIS_IRQ21				0x05
+# define SCIS_IRQ22				0x06
+# define SCIS_IRQ23				0x07
+
+/*
+ * In each mainbaord directory there should exist a header file irqroute.h that
+ * defines the PCI_DEV_PIRQ_ROUTES and PIRQ_PIC_ROUTES macros which
+ * consist of PCI_DEV_PIRQ_ROUTE and PIRQ_PIC entries.
+ */
+
+#if !defined(__ASSEMBLER__) && !defined(__ACPI__)
+#include <stdint.h>
+
+#define NUM_IR_DEVS 32
+#define NUM_PIRQS   8
+
+struct braswell_irq_route {
+	/* Per device configuration. */
+	uint16_t pcidev[NUM_IR_DEVS];
+	/* Route path for each internal PIRQx in PIC mode. */
+	uint8_t  pic[NUM_PIRQS];
+};
+
+extern const struct braswell_irq_route global_braswell_irq_route;
+
+#define DEFINE_IRQ_ROUTES \
+	const struct braswell_irq_route global_braswell_irq_route = { \
+		.pcidev = { PCI_DEV_PIRQ_ROUTES, }, \
+		.pic = { PIRQ_PIC_ROUTES, }, \
+	}
+
+/* The following macros are used for ACPI by the ASL compiler */
+#define PCI_DEV_PIRQ_ROUTE(dev_, a_, b_, c_, d_) \
+	[dev_] = (((PIRQ ## d_) << 12) | ((PIRQ ## c_) << 8) | \
+		   ((PIRQ ## b_) <<  4) | ((PIRQ ## a_) << 0))
+
+#define PIRQ_PIC(pirq_, pic_irq_) \
+	[PIRQ ## pirq_] = PIRQ_PIC_IRQ ## pic_irq_
+
+#endif /* !defined(__ASSEMBLER__) && !defined(__ACPI__) */
+
+#endif /* _BRASWELL_IRQ_H_ */
diff --git a/src/soc/intel/braswell/include/soc/lpc.h b/src/soc/intel/braswell/include/soc/lpc.h
new file mode 100644
index 0000000..c319804
--- /dev/null
+++ b/src/soc/intel/braswell/include/soc/lpc.h
@@ -0,0 +1,55 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef _BRASWELL_LPC_H_
+#define _BRASWELL_LPC_H_
+
+/* PCI config registers in LPC bridge. */
+#define REVID		0x08
+#define ABASE		0x40
+#define PBASE		0x44
+#define GBASE		0x48
+#define IOBASE		0x4c
+#define IBASE		0x50
+#define SBASE		0x54
+#define MPBASE		0x58
+#define PUBASE		0x5c
+#define UART_CONT	0x80
+#define RCBA		0xf0
+
+
+#define RID_A_STEPPING_START 1
+#define RID_B_STEPPING_START 5
+#define RID_C_STEPPING_START 0xe
+enum braswell_stepping {
+	STEP_A0,
+	STEP_A1,
+	STEP_B0,
+	STEP_B1,
+	STEP_B2,
+	STEP_B3,
+	STEP_C0,
+};
+
+/* Registers behind the RCBA_BASE_ADDRESS bar. */
+#define GCS		0x00
+# define BILD		(1 << 0)
+
+#endif /* _BRASWELL_LPC_H_ */
diff --git a/src/soc/intel/braswell/include/soc/msr.h b/src/soc/intel/braswell/include/soc/msr.h
new file mode 100644
index 0000000..97692fb
--- /dev/null
+++ b/src/soc/intel/braswell/include/soc/msr.h
@@ -0,0 +1,52 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google, Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied wacbmem_entryanty 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., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+#ifndef _BRASWELL_MSR_H_
+#define _BRASWELL_MSR_H_
+
+#define MSR_IA32_PLATFORM_ID		0x17
+#define MSR_IA32_BIOS_SIGN_ID		0x8B
+#define MSR_BSEL_CR_OVERCLOCK_CONTROL	0xcd
+#define MSR_PLATFORM_INFO		0xce
+#define MSR_PMG_CST_CONFIG_CONTROL	0xe2
+#define		SINGLE_PCTL			(1 << 11)
+#define MSR_POWER_MISC			0x120
+#define		ENABLE_ULFM_AUTOCM_MASK		(1 << 2)
+#define		ENABLE_INDP_AUTOCM_MASK		(1 << 3)
+#define MSR_IA32_PERF_CTL		0x199
+#define MSR_IA32_MISC_ENABLES		0x1a0
+#define MSR_POWER_CTL			0x1fc
+#define MSR_PKG_POWER_SKU_UNIT		0x606
+#define MSR_PKG_POWER_LIMIT		0x610
+#define MSR_PP1_POWER_LIMIT		0x638
+#define MSR_IACORE_RATIOS		0x66a
+#define MSR_IACORE_TURBO_RATIOS		0x66c
+#define MSR_IACORE_VIDS			0x66b
+#define MSR_IACORE_TURBO_VIDS		0x66d
+#define MSR_PKG_TURBO_CFG1		0x670
+#define MSR_CPU_TURBO_WKLD_CFG1		0x671
+#define MSR_CPU_TURBO_WKLD_CFG2		0x672
+#define MSR_CPU_THERM_CFG1		0x673
+#define MSR_CPU_THERM_CFG2		0x674
+#define MSR_CPU_THERM_SENS_CFG		0x675
+
+#define BUS_FREQ_KHZ			100000	/* 100 MHz */
+
+#endif /* _BRASWELL_MSR_H_ */
diff --git a/src/soc/intel/braswell/include/soc/nvs.h b/src/soc/intel/braswell/include/soc/nvs.h
new file mode 100644
index 0000000..861fd53
--- /dev/null
+++ b/src/soc/intel/braswell/include/soc/nvs.h
@@ -0,0 +1,79 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008-2009 coresystems GmbH
+ * Copyright (C) 2011 Google Inc
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef _BRASWELL_NVS_H_
+#define _BRASWELL_NVS_H_
+
+#include <vendorcode/google/chromeos/gnvs.h>
+#include <soc/device_nvs.h>
+
+typedef struct {
+	/* Miscellaneous */
+	u16	osys; /* 0x00 - Operating System */
+	u8	smif; /* 0x02 - SMI function call ("TRAP") */
+	u8	prm0; /* 0x03 - SMI function call parameter */
+	u8	prm1; /* 0x04 - SMI function call parameter */
+	u8	scif; /* 0x05 - SCI function call (via _L00) */
+	u8	prm2; /* 0x06 - SCI function call parameter */
+	u8	prm3; /* 0x07 - SCI function call parameter */
+	u8	lckf; /* 0x08 - Global Lock function for EC */
+	u8	prm4; /* 0x09 - Lock function parameter */
+	u8	prm5; /* 0x0a - Lock function parameter */
+	u32	p80d; /* 0x0b - Debug port (IO 0x80) value */
+	u8	lids; /* 0x0f - LID state (open = 1) */
+	u8	pwrs; /* 0x10 - Power state (AC = 1) */
+	u8      pcnt; /* 0x11 - Processor Count */
+	u8	tpmp; /* 0x12 - TPM Present and Enabled */
+	u8	tlvl; /* 0x13 - Throttle Level */
+	u8	ppcm; /* 0x14 - Maximum P-state usable by OS */
+	u32	pm1i; /* 0x15 - System Wake Source - PM1 Index */
+	u8	rsvd1[7];
+
+	/* Device Config */
+	u8	s5u0; /* 0x20 - Enable USB0 in S5 */
+	u8	s5u1; /* 0x21 - Enable USB1 in S5 */
+	u8	s3u0; /* 0x22 - Enable USB0 in S3 */
+	u8	s3u1; /* 0x23 - Enable USB1 in S3 */
+	u8	tact; /* 0x24 - Thermal Active trip point */
+	u8	tpsv; /* 0x25 - Thermal Passive trip point */
+	u8	tcrt; /* 0x26 - Thermal Critical trip point */
+	u8	dpte; /* 0x27 - Enable DPTF */
+	u8	rsvd2[8];
+
+	/* Base Addresses */
+	u32	cmem; /* 0x30 - CBMEM TOC */
+	u32	tolm; /* 0x34 - Top of Low Memory */
+	u32	cbmc; /* 0x38 - coreboot memconsole */
+	u8	rsvd3[196];
+
+	/* ChromeOS specific (0x100-0xfff) */
+	chromeos_acpi_t chromeos;
+
+	/* LPSS (0x1000) */
+	device_nvs_t dev;
+} __attribute__((packed)) global_nvs_t;
+
+#ifdef __SMM__
+/* Used in SMM to find the ACPI GNVS address */
+global_nvs_t *smm_get_gnvs(void);
+#endif
+
+#endif /* _BRASWELL_NVS_H_ */
diff --git a/src/soc/intel/braswell/include/soc/pattrs.h b/src/soc/intel/braswell/include/soc/pattrs.h
new file mode 100644
index 0000000..64d11a3
--- /dev/null
+++ b/src/soc/intel/braswell/include/soc/pattrs.h
@@ -0,0 +1,64 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef _BRASWELL_PATTRS_H_
+#define _BRASWELL_PATTRS_H_
+
+#include <stdint.h>
+#include <cpu/x86/msr.h>
+
+enum {
+	IACORE_MIN,
+	IACORE_LFM,
+	IACORE_MAX,
+	IACORE_TURBO,
+	IACORE_END
+};
+
+/*
+ * The pattrs structure is a common place to stash pertinent information
+ * about the processor or platform. Instead of going to the source (msrs, cpuid)
+ * every time an attribute is needed use the pattrs structure.
+ */
+struct pattrs {
+	msr_t platform_id;
+	msr_t platform_info;
+	int iacore_ratios[IACORE_END];
+	int iacore_vids[IACORE_END];
+	uint32_t cpuid;
+	int revid;
+	int stepping;
+	const void *microcode_patch;
+	int address_bits;
+	int num_cpus;
+	unsigned bclk_khz;
+};
+
+/*
+ * This is just to hide the abstraction w/o relying on how the underlying
+ * storage is allocated.
+ */
+extern struct pattrs __global_pattrs;
+static inline const struct pattrs *pattrs_get(void)
+{
+	return &__global_pattrs;
+}
+
+#endif /* _BRASWELL_PATTRS_H_ */
diff --git a/src/soc/intel/braswell/include/soc/pci_devs.h b/src/soc/intel/braswell/include/soc/pci_devs.h
new file mode 100644
index 0000000..ff6582e
--- /dev/null
+++ b/src/soc/intel/braswell/include/soc/pci_devs.h
@@ -0,0 +1,154 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef _BRASWELL_PCI_DEVS_H_
+#define _BRASWELL_PCI_DEVS_H_
+
+/* All these devices live on bus 0 with the associated device and function */
+
+/* SoC transaction router */
+#define SOC_DEV 0x0
+#define SOC_FUNC 0
+# define SOC_DEVID 0x2280
+
+/* Graphics and Display */
+#define GFX_DEV 0x2
+#define GFX_FUNC 0
+# define GFX_DEVID 0x22b1
+
+/* MMC Port */
+#define MMC_DEV 0x10
+#define MMC_FUNC 0
+# define MMC_DEVID 0x2294
+
+/* SDIO Port */
+#define SDIO_DEV 0x11
+#define SDIO_FUNC 0
+# define SDIO_DEVID 0x2295
+
+/* SD Port */
+#define SD_DEV 0x12
+#define SD_FUNC 0
+# define SD_DEVID 0x2296
+
+/* SATA */
+#define SATA_DEV 0x13
+#define SATA_FUNC 0
+#define AHCI1_DEVID 0x22a3
+
+/* xHCI */
+#define XHCI_DEV 0x14
+#define XHCI_FUNC 0
+#define XHCI_DEVID 0x22b5
+
+/* LPE Audio */
+#define LPE_DEV 0x15
+#define LPE_FUNC 0
+# define LPE_DEVID 0x22a8
+
+/* Serial IO 1 */
+#define SIO1_DEV 0x18
+# define SIO_DMA1_DEV SIO1_DEV
+# define SIO_DMA1_FUNC 0
+# define SIO_DMA1_DEVID 0x22c0
+# define I2C1_DEV SIO1_DEV
+# define I2C1_FUNC 1
+# define I2C1_DEVID 0x22c1
+# define I2C2_DEV SIO1_DEV
+# define I2C2_FUNC 2
+# define I2C2_DEVID 0x22c2
+# define I2C3_DEV SIO1_DEV
+# define I2C3_FUNC 3
+# define I2C3_DEVID 0x22c3
+# define I2C4_DEV SIO1_DEV
+# define I2C4_FUNC 4
+# define I2C4_DEVID 0x22c4
+# define I2C5_DEV SIO1_DEV
+# define I2C5_FUNC 5
+# define I2C5_DEVID 0x22c5
+# define I2C6_DEV SIO1_DEV
+# define I2C6_FUNC 6
+# define I2C6_DEVID 0x22c6
+# define I2C7_DEV SIO1_DEV
+# define I2C7_FUNC 7
+# define I2C7_DEVID 0x22c7
+
+/* Trusted Execution Engine */
+#define TXE_DEV 0x1a
+#define TXE_FUNC 0
+# define TXE_DEVID 0x2298
+
+/* HD Audio */
+#define HDA_DEV 0x1b
+#define HDA_FUNC 0
+# define HDA_DEVID 0x2284
+
+/* PCIe Ports */
+#define PCIE_DEV 0x1c
+# define PCIE_PORT1_DEV PCIE_DEV
+# define PCIE_PORT1_FUNC 0
+# define PCIE_PORT1_DEVID 0x22c8
+# define PCIE_PORT2_DEV PCIE_DEV
+# define PCIE_PORT2_FUNC 1
+# define PCIE_PORT2_DEVID 0x22ca
+# define PCIE_PORT3_DEV PCIE_DEV
+# define PCIE_PORT3_FUNC 2
+# define PCIE_PORT3_DEVID 0x22cc
+# define PCIE_PORT4_DEV PCIE_DEV
+# define PCIE_PORT4_FUNC 3
+# define PCIE_PORT4_DEVID 0x22ce
+/* Total number of ROOT PORTS */
+#define MAX_ROOT_PORTS_BSW 4
+
+/* Serial IO 2 */
+#define SIO2_DEV 0x1e
+# define SIO_DMA2_DEV SIO2_DEV
+# define SIO_DMA2_FUNC 0
+# define SIO_DMA2_DEVID 0x2286
+# define PWM1_DEV SIO2_DEV
+# define PWM1_FUNC 1
+# define PWM1_DEVID 0x2288
+# define PWM2_DEV SIO2_DEV
+# define PWM2_FUNC 2
+# define PWM2_DEVID 0x2289
+# define HSUART1_DEV SIO2_DEV
+# define HSUART1_FUNC 3
+# define HSUART1_DEVID 0x228a
+# define HSUART2_DEV SIO2_DEV
+# define HSUART2_FUNC 4
+# define HSUART2_DEVID 0x228c
+# define SPI_DEV SIO2_DEV
+# define SPI_FUNC 5
+# define SPI_DEVID 0x228e
+
+/* Platform Controller Unit */
+#define PCU_DEV 0x1f
+# define LPC_DEV PCU_DEV
+# define LPC_FUNC 0
+# define LPC_DEVID 0x229c
+# define SMBUS_DEV PCU_DEV
+# define SMBUS_FUNC 3
+# define SMBUS_DEVID 0x0f12
+
+/* PCH SCC Device Modes */
+#define PCH_DISABLED 0
+#define PCH_PCI_MODE 1
+#define PCH_ACPI_MODE 2
+#endif /* _BRASWELL_PCI_DEVS_H_ */
diff --git a/src/soc/intel/braswell/include/soc/pcie.h b/src/soc/intel/braswell/include/soc/pcie.h
new file mode 100644
index 0000000..b67bc5d
--- /dev/null
+++ b/src/soc/intel/braswell/include/soc/pcie.h
@@ -0,0 +1,103 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google, Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied wacbmem_entryanty 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., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+#ifndef _BRASWELL_PCIE_H_
+#define _BRASWELL_PCIE_H_
+
+/* PCIe root port config space registers. */
+#define XCAP			0x40
+# define SI			(1 << 24)
+#define DCAP			0x44
+# define MPS_MASK		0x7
+#define DCTL_DSTS		0x48
+# define URE			(1 << 3)
+# define FEE			(1 << 2)
+# define NFE			(1 << 1)
+# define CEE			(1 << 0)
+#define LCAP			0x4c
+# define L1EXIT_SHIFT		15
+# define L1EXIT_MASK		(0x7 << L1EXIT_SHIFT)
+#define LCTL			0x50
+# define CCC			(1 << 6)
+# define RL			(1 << 5)
+# define LD			(1 << 4)
+#define LSTS			0x52
+#define SLCAP			0x54
+# define SLN_SHIFT		19
+# define SLS_SHIFT		15
+# define SLV_SHIFT		7
+# define HPC			(1 << 6)
+# define HPS			(1 << 5)
+#define SLCTL_SLSTS		0x58
+# define PDS			(1 << 22)
+#define DCAP2			0x64
+# define OBFFS			(0x3 << 18)
+# define LTRMS			(1 << 11)
+#define DSTS2			0x68
+# define OBFFEN			(3 << 13)
+# define LTRME			(1 << 10)
+# define CTD			(1 <<  4)
+#define CHCFG			0xd0
+# define UPSD			(1 << 24)
+# define UNRS			(1 << 15)
+# define UPRS			(1 << 14)
+#define MPC2			0xd4
+# define IPF			(1 << 11)
+# define LSTP			(1 <<  6)
+# define EOIFD			(1 <<  1)
+#define MPC			0xd8
+# define CCEL_SHIFT		15
+# define CCEL_MASK		(0x7 << CCEL_SHIFT)
+#define RPPGEN			0xe0
+# define RPSCGEN		(1 << 15)
+# define LCLKREQEN		(1 << 13)
+# define BBCLKREQEN		(1 << 12)
+# define SRDLCGEN		(1 << 11)
+# define SRDBCGEN		(1 << 10)
+# define RPDLCGEN		(1 << 9)
+# define RPDBCGEN		(1 << 8)
+#define PWRCTL			0xe8
+# define RPL1SQPOL		(1 << 1)
+# define RPDTSQPOL		(1 << 0)
+#define PHYCTL2_IOSFBCTL	0xf4
+# define PLL_OFF_EN		(1 << 8)
+# define TDFT			(3 << 14)
+# define TXCFGCHWAIT		(3 << 12)
+# define SIID			(3 << 26)
+#define STRPFUSECFG		0xfc
+# define LANECFG_SHIFT		14
+# define LANECFG_MASK		(0x3 << LANECFG_SHIFT)
+#define AERCH			0x100
+#define NFTS			0x314
+#define L0SC			0x318
+#define CFG2			0x320
+# define CSREN			(1 << 22)
+# define LATGC_SHIFT		6
+# define LATGC_MASK		(0x7 << LATGC_SHIFT)
+#define PCIEDBG			0x324
+# define SPCE			(1 << 5)
+#define PCIESTS1		0x328
+#define PCIEALC			0x338
+#define RTP			0x33c
+#define PHYCTL4			0x408
+# define SQDIS			(1 << 27)
+
+
+#endif /* _BRASWELL_PCIE_H_ */
diff --git a/src/soc/intel/braswell/include/soc/pei_data.h b/src/soc/intel/braswell/include/soc/pei_data.h
new file mode 100644
index 0000000..ab3f085
--- /dev/null
+++ b/src/soc/intel/braswell/include/soc/pei_data.h
@@ -0,0 +1,68 @@
+/*
+ * Broadwell UEFI PEI wrapper
+ *
+ * Copyright (C) 2014 Google Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *     * Redistributions of source code must retain the above copyright
+ *       notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above copyright
+ *       notice, this list of conditions and the following disclaimer in the
+ *       documentation and/or other materials provided with the distribution.
+ *     * Neither the name of Google Inc. nor the
+ *       names of its contributors may be used to endorse or promote products
+ *       derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL GOOGLE INC BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef _PEI_DATA_H_
+#define _PEI_DATA_H_
+
+#include <types.h>
+
+#define PEI_VERSION 22
+
+#define ABI_X86 __attribute__((regparm(0)))
+
+typedef void ABI_X86(*tx_byte_func)(unsigned char byte);
+
+struct pei_data {
+	/* Chip settings */
+	void *spd_data_ch0;
+	void *spd_data_ch1;
+#if IS_ENABLED(CONFIG_GOP_SUPPORT)
+	void *vbt_data;
+#endif
+	uint8_t spd_ch0_config;
+	uint8_t spd_ch1_config;
+	uint8_t sdcard_mode;
+	uint8_t emmc_mode;
+	uint8_t enable_azalia;
+
+	/* System state information */
+	int boot_mode;
+
+	/* Fast boot and S3 resume MRC data */
+	int saved_data_size;
+	const void *saved_data;
+	int disable_saved_data;
+
+	/* New save data from MRC */
+	int data_to_save_size;
+	void *data_to_save;
+};
+
+typedef struct pei_data PEI_DATA;
+
+#endif /* _PEI_DATA_H_ */
diff --git a/src/soc/intel/braswell/include/soc/pei_wrapper.h b/src/soc/intel/braswell/include/soc/pei_wrapper.h
new file mode 100644
index 0000000..1455b95
--- /dev/null
+++ b/src/soc/intel/braswell/include/soc/pei_wrapper.h
@@ -0,0 +1,30 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2014 Google Inc.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef _BROADWELL_PEI_WRAPPER_H_
+#define _BROADWELL_PEI_WRAPPER_H_
+
+#include <soc/pei_data.h>
+
+typedef int ABI_X86(*pei_wrapper_entry_t)(struct pei_data *pei_data);
+
+void broadwell_fill_pei_data(struct pei_data *pei_data);
+void mainboard_fill_pei_data(struct pei_data *pei_data);
+
+#endif
diff --git a/src/soc/intel/braswell/include/soc/pm.h b/src/soc/intel/braswell/include/soc/pm.h
new file mode 100644
index 0000000..3d8a26a
--- /dev/null
+++ b/src/soc/intel/braswell/include/soc/pm.h
@@ -0,0 +1,310 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef _BRASWELL_PM_H_
+#define _BRASWELL_PM_H_
+
+
+#define IOCOM1		0x3f8
+
+/* Memory mapped IO registers behind PMC_BASE_ADDRESS */
+#define PRSTS		0x00
+#	define PMC_WDT_STS	(1 << 15)
+#	define SEC_GBLRST_STS	(1 <<  7)
+#	define SEC_WDT_STS	(1 <<  6)
+#	define WOL_OVR_WK_STS	(1 <<  5)
+#	define PMC_WAKE_STS	(1 <<  4)
+#define PMC_CFG		0x08
+#	define SPS		(1 <<  5)
+#	define NO_REBOOT	(1 <<  4)
+#	define SX_ENT_TO_EN	(1 <<  3)
+#	define TIMING_T581_SHIFT (0)
+#	define TIMING_T581_MASK	(3 <<  TIMING_T581_SHIFT)
+#	define TIMING_T581_10uS  (0 << TIMING_T581_SHIFT)
+#	define TIMING_T581_100uS (1 << TIMING_T581_SHIFT)
+#	define TIMING_T581_1mS   (2 << TIMING_T581_SHIFT)
+#	define TIMING_T581_10mS  (3 << TIMING_T581_SHIFT)
+#define VLV_PM_STS	0x0c
+#	define PMC_MSG_FULL_STS		(1 << 24)
+#	define PMC_MSG_4_FULL_STS	(1 << 23)
+#	define PMC_MSG_3_FULL_STS	(1 << 22)
+#	define PMC_MSG_2_FULL_STS	(1 << 21)
+#	define PMC_MSG_1_FULL_STS	(1 << 20)
+#	define CODE_REQ			(1 <<  8)
+#	define HPR_ENT_TO		(1 <<  2)
+#	define SX_ENT_TO		(1 <<  1)
+#define GEN_PMCON1	0x20
+#	define UART_EN		(1 << 24)
+#	define DISB		(1 << 23)
+#	define MEM_SR		(1 << 21)
+#	define SRS		(1 << 20)
+#	define CTS		(1 << 19)
+#	define MS4V		(1 << 18)
+#	define PWR_FLR		(1 << 16)
+#	define PME_B0_S5_DIS	(1 << 15)
+#	define SUS_PWR_FLR	(1 << 14)
+#	define WOL_EN_OVRD	(1 << 13)
+#	define DIS_SLP_X_STRCH_SUS_UP (1 << 12)
+#	define GEN_RST_STS	(1 <<  9)
+#	define RPS		(1 <<  2)
+#	define AFTERG3_EN	(1 <<  0)
+#define GEN_PMCON2	0x24
+#	define SLPSX_STR_POL_LOCK	(1 << 18)
+#	define BIOS_PCI_EXP_EN		(1 << 10)
+#	define PWRBTN_LVL		(1 <<  9)
+#	define SMI_LOCK			(1 <<  4)
+#define ETR			0x48
+#	define CF9LOCK		(1 << 31)
+#	define LTR_DEF		(1 << 22)
+#	define IGNORE_HPET	(1 << 21)
+#	define CF9GR		(1 << 20)
+#	define CWORWRE		(1 << 18)
+#define FUNC_DIS	0x34
+#	define SIO_DMA2_DIS	(1 <<  0)
+#	define PWM1_DIS		(1 <<  1)
+#	define PWM2_DIS		(1 <<  2)
+#	define HSUART1_DIS	(1 <<  3)
+#	define HSUART2_DIS	(1 <<  4)
+#	define SPI_DIS		(1 <<  5)
+#	define SDIO_DIS		(1 <<  9)
+#	define SD_DIS		(1 << 10)
+#	define MMC_DIS		(1 << 11)
+#	define HDA_DIS		(1 << 12)
+#	define LPE_DIS		(1 << 13)
+#	define OTG_DIS		(1 << 14)
+#	define XHCI_DIS		(1 << 15)
+#	define SATA_DIS		(1 << 17)
+#	define EHCI_DIS		(1 << 18)
+#	define TXE_DIS		(1 << 19)
+#	define PCIE_PORT1_DIS	(1 << 20)
+#	define PCIE_PORT2_DIS	(1 << 21)
+#	define PCIE_PORT3_DIS	(1 << 22)
+#	define PCIE_PORT4_DIS	(1 << 23)
+#	define SIO_DMA1_DIS	(1 << 24)
+#	define I2C1_DIS		(1 << 25)
+#	define I2C2_DIS		(1 << 26)
+#	define I2C3_DIS		(1 << 27)
+#	define I2C4_DIS		(1 << 28)
+#	define I2C5_DIS		(1 << 29)
+#	define I2C6_DIS		(1 << 30)
+#	define I2C7_DIS		(1 << 31)
+#define FUNC_DIS2	0x38
+#	define USH_SS_PHY_DIS	(1 << 2)
+#	define OTG_SS_PHY_DIS	(1 << 1)
+#	define SMBUS_DIS	(1 << 0)
+#define GPIO_ROUT	0x58
+#	define ROUTE_MASK	3
+#	define ROUTE_NONE	0
+#	define ROUTE_SMI	1
+#	define ROUTE_SCI	2
+#define PLT_CLK_CTL_0	0x60
+#define PLT_CLK_CTL_1	0x64
+#define PLT_CLK_CTL_2	0x68
+#define PLT_CLK_CTL_3	0x6c
+#define PLT_CLK_CTL_4	0x70
+#define PLT_CLK_CTL_5	0x74
+#	define CLK_FREQ_25MHZ	(0x0 << 2)
+#	define CLK_FREQ_19P2MHZ	(0x1 << 2)
+#	define CLK_CTL_D3_LPE	(0x0 << 0)
+#	define CLK_CTL_ON	(0x1 << 0)
+#	define CLK_CTL_OFF	(0x2 << 0)
+#define PME_STS		0xc0
+#define GPE_LEVEL_EDGE  0xc4
+#	define GPE_EDGE		0
+#	define GPE_LEVEL	1
+#define GPE_POLARITY	0xc8
+#	define GPE_ACTIVE_HIGH	1
+#	define GPE_ACTIVE_LOW	0
+#define LOCK		0xcc
+
+/* IO Mapped registers behind ACPI_BASE_ADDRESS */
+#define PM1_STS			0x00
+#define   WAK_STS	(1 << 15)
+#define   PCIEXPWAK_STS	(1 << 14)
+#define   USB_STS	(1 << 13)
+#define   PRBTNOR_STS	(1 << 11)
+#define   RTC_STS	(1 << 10)
+#define   PWRBTN_STS	(1 << 8)
+#define   GBL_STS	(1 << 5)
+#define   TMROF_STS	(1 << 0)
+#define PM1_EN			0x02
+#define   PCIEXPWAK_DIS	(1 << 14)
+#define   USB_WAKE_EN	(1 << 13)
+#define   RTC_EN	(1 << 10)
+#define   PWRBTN_EN	(1 << 8)
+#define   GBL_EN	(1 << 5)
+#define   TMROF_EN	(1 << 0)
+#define PM1_CNT			0x04
+#define   SLP_EN	(1 << 13)
+#define   SLP_TYP_SHIFT	10
+#define   SLP_TYP	(7 << SLP_TYP_SHIFT)
+#define    SLP_TYP_S0	0
+#define    SLP_TYP_S1	1
+#define    SLP_TYP_S3	5
+#define    SLP_TYP_S4	6
+#define    SLP_TYP_S5	7
+#define   GBL_RLS	(1 << 2)
+#define   BM_RLD	(1 << 1)
+#define   SCI_EN	(1 << 0)
+#define PM1_TMR			0x08
+#define GPE0_STS		0x20
+#define   CORE_GPIO_STS7	(1 << 31)
+#define   CORE_GPIO_STS6	(1 << 30)
+#define   CORE_GPIO_STS5	(1 << 29)
+#define   CORE_GPIO_STS4	(1 << 28)
+#define   CORE_GPIO_STS3	(1 << 27)
+#define   CORE_GPIO_STS2	(1 << 26)
+#define   CORE_GPIO_STS1	(1 << 25)
+#define   CORE_GPIO_STS0	(1 << 24)
+#define   SUS_GPIO_STS7		(1 << 23)
+#define   SUS_GPIO_STS6		(1 << 22)
+#define   SUS_GPIO_STS5		(1 << 21)
+#define   SUS_GPIO_STS4		(1 << 20)
+#define   SUS_GPIO_STS3		(1 << 19)
+#define   SUS_GPIO_STS2		(1 << 18)
+#define   SUS_GPIO_STS1		(1 << 17)
+#define   SUS_GPIO_STS0		(1 << 16)
+#define   PME_B0_STS		(1 << 13)
+#define   BATLOW_STS		(1 << 10)
+#define   PCI_EXP_STS		(1 << 9)
+#define   PCIE_WAKE3_STS	(1 << 8)
+#define   PCIE_WAKE2_STS	(1 << 7)
+#define   PCIE_WAKE1_STS	(1 << 6)
+#define   GUNIT_SCI_STS		(1 << 5)
+#define   PUNIT_SCI_STS		(1 << 4)
+#define   PCIE_WAKE0_STS	(1 << 3)
+#define   SWGPE_STS		(1 << 2)
+#define   HOT_PLUG_STS		(1 << 1)
+#define GPE0_EN			0x28
+#define   CORE_GPIO_EN7	(1 << 31)
+#define   CORE_GPIO_EN6	(1 << 30)
+#define   CORE_GPIO_EN5	(1 << 29)
+#define   CORE_GPIO_EN4	(1 << 28)
+#define   CORE_GPIO_EN3	(1 << 27)
+#define   CORE_GPIO_EN2	(1 << 26)
+#define   CORE_GPIO_EN1	(1 << 25)
+#define   CORE_GPIO_EN0	(1 << 24)
+#define   SUS_GPIO_EN7_BIT	23
+#define   SUS_GPIO_EN7		(1 << SUS_GPIO_EN7_BIT)
+#define   SUS_GPIO_EN6_BIT	22
+#define   SUS_GPIO_EN6		(1 << SUS_GPIO_EN6_BIT)
+#define   SUS_GPIO_EN5_BIT	21
+#define   SUS_GPIO_EN5		(1 << SUS_GPIO_EN5_BIT)
+#define   SUS_GPIO_EN4_BIT	20
+#define   SUS_GPIO_EN4		(1 << SUS_GPIO_EN4_BIT)
+#define   SUS_GPIO_EN3_BIT	19
+#define   SUS_GPIO_EN3		(1 << SUS_GPIO_EN3_BIT)
+#define   SUS_GPIO_EN2_BIT	18
+#define   SUS_GPIO_EN2		(1 << SUS_GPIO_EN2_BIT)
+#define   SUS_GPIO_EN1_BIT	17
+#define   SUS_GPIO_EN1		(1 << SUS_GPIO_EN1_BIT)
+#define   SUS_GPIO_EN0_BIT	16
+#define   SUS_GPIO_EN0		(1 << SUS_GPIO_EN0_BIT)
+#define   PME_B0_EN		(1 << 13)
+#define   BATLOW_EN		(1 << 10)
+#define   PCI_EXP_EN		(1 << 9)
+#define   PCIE_WAKE3_EN		(1 << 8)
+#define   PCIE_WAKE2_EN		(1 << 7)
+#define   PCIE_WAKE1_EN		(1 << 6)
+#define   PCIE_WAKE0_EN		(1 << 3)
+#define   SWGPE_EN		(1 << 2)
+#define   HOT_PLUG_EN		(1 << 1)
+#define   _ACPI_ENABLE_WAKE_SUS_GPIO(x) SUS_GPIO_EN##x##_BIT
+#define   ACPI_ENABLE_WAKE_SUS_GPIO(x) _ACPI_ENABLE_WAKE_SUS_GPIO(x)
+#define SMI_EN			0x30
+#define   INTEL_USB2_EN	 (1 << 18) /* Intel-Specific USB2 SMI logic */
+#define   USB_EN	 (1 << 17) /* Legacy USB2 SMI logic */
+#define   PERIODIC_EN	 (1 << 14) /* SMI on PERIODIC_STS in SMI_STS */
+#define   TCO_EN	 (1 << 13) /* Enable TCO Logic (BIOSWE et al) */
+#define   BIOS_RLS	 (1 <<  7) /* asserts SCI on bit set */
+#define   SWSMI_TMR_EN	 (1 <<  6) /* start software smi timer on bit set */
+#define   APMC_EN	 (1 <<  5) /* Writes to APM_CNT cause SMI# */
+#define   SLP_SMI_EN	 (1 <<  4) /* Write to SLP_EN in PM1_CNT asserts SMI# */
+#define   BIOS_EN	 (1 <<  2) /* Assert SMI# on setting GBL_RLS bit */
+#define   EOS		 (1 <<  1) /* End of SMI (deassert SMI#) */
+#define   GBL_SMI_EN	 (1 <<  0) /* SMI# generation at all? */
+#define SMI_STS			0x34
+#define ALT_GPIO_SMI		0x38
+#define UPRWC			0x3c
+# define  UPRWC_WR_EN	 (1 << 1) /* USB Per-Port Registers Write Enable */
+#define GPE_CTRL		0x40
+#define PM2A_CNT_BLK		0x50
+#define TCO_RLD			0x60
+#define TCO_STS			0x64
+#	define SECOND_TO_STS	(1 << 17)
+#	define TCO_TIMEOUT	(1 << 3)
+#define TCO1_CNT		0x68
+#	define TCO_LOCK		(1 << 12)
+#	define TCO_TMR_HALT	(1 << 11)
+#define TCO_TMR			0x70
+
+/* I/O ports */
+#define RST_CNT			0xcf9
+#	define FULL_RST		(1 << 3)
+#	define RST_CPU		(1 << 2)
+#	define SYS_RST		(1 << 1)
+
+/* Generic sleep state types */
+#define SLEEP_STATE_S0		0
+#define SLEEP_STATE_S3		3
+#define SLEEP_STATE_S5		5
+
+#if !defined(__ASSEMBLER__) && !defined(__ACPI__)
+
+/* Track power state from reset to log events. */
+struct chipset_power_state {
+	uint16_t pm1_sts;
+	uint16_t pm1_en;
+	uint32_t pm1_cnt;
+	uint32_t gpe0_sts;
+	uint32_t gpe0_en;
+	uint32_t tco_sts;
+	uint32_t prsts;
+	uint32_t gen_pmcon1;
+	uint32_t gen_pmcon2;
+	int prev_sleep_state;
+} __attribute__((packed));
+
+/* Power Management Utility Functions. */
+uint16_t get_pmbase(void);
+uint32_t clear_smi_status(void);
+uint16_t clear_pm1_status(void);
+uint32_t clear_tco_status(void);
+uint32_t clear_gpe_status(void);
+uint32_t clear_alt_status(void);
+void clear_pmc_status(void);
+void enable_smi(uint32_t mask);
+void disable_smi(uint32_t mask);
+void enable_pm1(uint16_t events);
+void enable_pm1_control(uint32_t mask);
+void disable_pm1_control(uint32_t mask);
+void enable_gpe(uint32_t mask);
+void disable_gpe(uint32_t mask);
+void disable_all_gpe(void);
+
+#if IS_ENABLED(CONFIG_ELOG)
+void southcluster_log_state(void);
+#else
+static inline void southcluster_log_state(void) {}
+#endif
+
+#endif /* !defined(__ASSEMBLER__) && !defined(__ACPI__) */
+
+#endif /* _BRASWELL_PM_H_ */
diff --git a/src/soc/intel/braswell/include/soc/ramstage.h b/src/soc/intel/braswell/include/soc/ramstage.h
new file mode 100644
index 0000000..3c66f5e
--- /dev/null
+++ b/src/soc/intel/braswell/include/soc/ramstage.h
@@ -0,0 +1,41 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef _BRASWELL_RAMSTAGE_H_
+#define _BRASWELL_RAMSTAGE_H_
+
+#include <device/device.h>
+#include <chip.h>
+
+/*
+ * The braswell_init_pre_device() function is called prior to device
+ * initialization, but it's after console and cbmem has been reinitialized.
+ */
+void braswell_init_pre_device(struct soc_intel_braswell_config *config);
+void set_max_freq(void);
+#if !defined(__SMM__)
+void braswell_init_cpus(device_t dev);
+void southcluster_enable_dev(device_t dev);
+void scc_enable_acpi_mode(device_t dev, int iosf_reg, int nvs_index);
+#endif
+
+extern struct pci_operations soc_pci_ops;
+
+#endif /* _BRASWELL_RAMSTAGE_H_ */
diff --git a/src/soc/intel/braswell/include/soc/romstage.h b/src/soc/intel/braswell/include/soc/romstage.h
new file mode 100644
index 0000000..1b32278
--- /dev/null
+++ b/src/soc/intel/braswell/include/soc/romstage.h
@@ -0,0 +1,44 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef _BRASWELL_ROMSTAGE_H_
+#define _BRASWELL_ROMSTAGE_H_
+
+#include <stdint.h>
+#include <arch/cpu.h>
+#include <fsp_util.h>
+#include <soc/pei_data.h>
+#include <soc/pm.h>
+#include <soc/intel/common/romstage.h>
+
+void gfx_init(void);
+void tco_disable(void);
+void punit_init(void);
+int early_spi_read_wpsr(u8 *sr);
+void mainboard_fill_spd_data(struct pei_data *pei_data);
+
+/* romstage_common.c functions */
+void program_base_addresses(void);
+void spi_init(void);
+void migrate_power_state(void);
+struct chipset_power_state *fill_power_state(void);
+int chipset_prev_sleep_state(struct chipset_power_state *ps);
+
+#endif /* _BRASWELL_ROMSTAGE_H_ */
diff --git a/src/soc/intel/braswell/include/soc/sata.h b/src/soc/intel/braswell/include/soc/sata.h
new file mode 100644
index 0000000..96cd42c
--- /dev/null
+++ b/src/soc/intel/braswell/include/soc/sata.h
@@ -0,0 +1,155 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef _BRASWELL_SATA_H_
+#define _BRASWELL_SATA_H_
+
+#define SATA_PORT_SUPPORT	0x03
+#define SATA_PORT_MASK		0x3f
+
+/* PCI Configuration Space */
+#define SATA_PID		0x70
+#define SATA_PID_NEXT		0xff00
+#define SATA_PID_CID		0xff
+
+#define SATA_MAP		0x90
+#define SATA_MAP_SPD3		(1 << 11)
+#define SATA_MAP_SPD2		(1 << 10)
+#define SATA_MAP_SPD1		(1 << 9)
+#define SATA_MAP_SPD0		(1 << 8)
+#define SATA_MAP_SPD_MASK	(SATA_MAP_SPD0 | SATA_MAP_SPD1 \
+				| SATA_MAP_SPD2 | SATA_MAP_SPD3)
+#define SATA_MAP_SMS_RAID	0x40
+
+#define SATA_PCS		0x92
+#define SATA_PCS_ORM		(1 << 15)
+#define SATA_PCS_PORT5		(1 << 5)
+#define SATA_PCS_PORT4		(1 << 4)
+#define SATA_PCS_PORT3		(1 << 3)
+#define SATA_PCS_PORT2		(1 << 2)
+#define SATA_PCS_PORT1		(1 << 1)
+#define SATA_PCS_PORT0		(1 << 0)
+#define SATA_PCS_PORTS	(SATA_PCS_PORT0 | SATA_PCS_PORT1 | SATA_PCS_PORT2 \
+			| SATA_PCS_PORT3 | SATA_PCS_PORT4 | SATA_PCS_PORT5)
+
+#define SATA_TM			0x94
+#define SATA_TM_PCD5		(1 << 29)
+#define SATA_TM_PCD4		(1 << 28)
+#define SATA_TM_PCD3		(1 << 27)
+#define SATA_TM_PCD2		(1 << 26)
+#define SATA_TM_PCD1		(1 << 25)
+#define SATA_TM_PCD0		(1 << 24)
+#define SATA_TM_PCD_MASK	(SATA_TM_PCD0 | SATA_TM_PCD1 | SATA_TM_PCD2 \
+				| SATA_TM_PCD3 | SATA_TM_PCD4 | SATA_TM_PCD5)
+
+#define SATA_SIRI 0xa0
+#define SATA_SIRD 0xa4
+
+/* Memory Mapped I/O Space */
+#define AHCI_GHC_CAP		0
+#define AHCI_GHC_CAP_S64A	(1 << 31)
+#define AHCI_GHC_CAP_SCQA	(1 << 30)
+#define AHCI_GHC_CAP_SSNTF	(1 << 29)
+#define AHCI_GHC_CAP_SMPS	(1 << 28)
+#define AHCI_GHC_CAP_SSS	(1 << 27)
+#define AHCI_GHC_CAP_SALP	(1 << 26)
+#define AHCI_GHC_CAP_SAL	(1 << 25)
+#define AHCI_GHC_CAP_SCLO	(1 << 24)
+#define AHCI_GHC_CAP_ISS	0x00f00000
+#define AHCI_GHC_CAP_ISS_GEN1	(1 << 20)
+#define AHCI_GHC_CAP_ISS_GEN2	(2 << 20)
+#define AHCI_GHC_CAP_ISS_GEN3	(3 << 20)
+#define AHCI_GHC_CAP_SNZO	(1 << 19)
+#define AHCI_GHC_CAP_SAM	(1 << 18)
+#define AHCI_GHC_CAP_SMP	(1 << 17)
+#define AHCI_GHC_CAP_FBSS	(1 << 16)
+#define AHCI_GHC_CAP_PMD	(1 << 15)
+#define AHCI_GHC_CAP_SSC	(1 << 14)
+#define AHCI_GHC_CAP_PSC	(1 << 13)
+#define AHCI_GHC_CAP_NCS	0x00000f00
+#define AHCI_GHC_CAP_CCCS	(1 << 7)
+#define AHCI_GHC_CAP_EMS	(1 << 6)
+#define AHCI_GHC_CAP_SXS	(1 << 5)
+#define AHCI_GHC_CAP_NP		0x0000001f
+
+#define AHCI_HBA_CTRL		4
+#define AHCI_HBA_CTRL_AE	(1 << 31)
+#define AHCI_HBA_CTRL_MRSM	(1 << 2)
+#define AHCI_HBA_CTRL_IE	(1 << 1)
+#define AHCI_HBA_CTRL_HR	(1 << 0)
+
+#define AHCI_GHC_PI		0x000c
+#define AHCI_GHC_CAP2		0x0024
+#define AHCI_GHC_CAP2_DESO	(1 << 5)
+#define AHCI_GHC_CAP2_SADM	(1 << 4)
+#define AHCI_GHC_CAP2_SDS	(1 << 3)
+#define AHCI_GHC_CAP2_APST	(1 << 2)
+#define AHCI_GHC_CAP2_BOH	(1 << 0)
+
+#define AHCI_VSP		0x00a0
+#define AHCI_VSP_SFMS		(1 << 6)
+#define AHCI_VSP_PFS		(1 << 5)
+#define AHCI_VSP_PT		(1 << 4)
+#define AHCI_VSP_SRPIR		(1 << 3)
+
+#define AHCI_SFM		0xc8
+#define AHCI_SFM_OROM_UI	0x0c00
+#define AHCI_SFM_OROM_UI_2SEC	0
+#define AHCI_SFM_OROM_UI_4SEC	(1 << 10)
+#define AHCI_SFM_OROM_UI_6SEC	(2 << 10)
+#define AHCI_SFM_OROM_UI_8SEC	(3 << 10)
+#define AHCI_SFM_SRT		(1 << 9)
+#define AHCI_SFM_RRT_ESATA	(1 << 8)
+#define AHCI_SFM_LED		(1 << 7)
+#define AHCI_SFM_HDDUNLOCK	(1 << 6)
+#define AHCI_SFM_OROM_UI_BANNER	(1 << 5)
+#define AHCI_SFM_RRT		(1 << 4)
+#define AHCI_SFM_R5		(1 << 3)
+#define AHCI_SFM_R10		(1 << 2)
+#define AHCI_SFM_R1		(1 << 1)
+#define AHCI_SFM_R0		(1 << 0)
+
+#define AHCI_PXCMD0		0x0118
+#define AHCI_PXCMD1		0x0198
+
+#define AHCI_PXCMD_ICC		0xf0000000
+#define AHCI_PXCMD_ASP		(1 << 27)
+#define AHCI_PXCMD_ALPE		(1 << 26)
+#define AHCI_PXCMD_DLAE		(1 << 25)
+#define AHCI_PXCMD_ATAPI	(1 << 24)
+#define AHCI_PXCMD_APSTE	(1 << 23)
+#define AHCI_PXCMD_FBSCP	(1 << 22)
+#define AHCI_PXCMD_ESP		(1 << 21)
+#define AHCI_PXCMD_CPD		(1 << 20)
+#define AHCI_PXCMD_MPSP		(1 << 19)
+#define AHCI_PXCMD_HPCP		(1 << 18)
+#define AHCI_PXCMD_PMA		(1 << 17)
+#define AHCI_PXCMD_CR		(1 << 15)
+#define AHCI_PXCMD_FR		(1 << 14)
+#define AHCI_PXCMD_MPSS		(1 << 13)
+#define AHCI_PXCMD_CCS		0x00001f00
+#define AHCI_PXCMD_PSP		(1 << 6)
+#define AHCI_PXCMD_FRE		(1 << 4)
+#define AHCI_PXCMD_CLO		(1 << 3)
+#define AHCI_PXCMD_POD		(1 << 2)
+#define AHCI_PXCMD_SUD		(1 << 1)
+#define AHCI_PXCMD_ST		(1 << 0)
+
+#endif	/* _BRASWELL_SATA_H_ */
diff --git a/src/soc/intel/braswell/include/soc/smm.h b/src/soc/intel/braswell/include/soc/smm.h
new file mode 100644
index 0000000..b05579c
--- /dev/null
+++ b/src/soc/intel/braswell/include/soc/smm.h
@@ -0,0 +1,37 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef _BRASWELL_SMM_H_
+#define _BRASWELL_SMM_H_
+
+#if !defined(__PRE_RAM__) && !defined(__SMM___)
+#include <stdint.h>
+void southcluster_smm_clear_state(void);
+void southcluster_smm_enable_smi(void);
+void southcluster_smm_save_param(int param, uint32_t data);
+#endif
+
+enum {
+	SMM_SAVE_PARAM_GPIO_ROUTE = 0,
+	SMM_SAVE_PARAM_PCIE_WAKE_ENABLE,
+	SMM_SAVE_PARAM_COUNT
+};
+
+#endif /* _BRASWELL_SMM_H_ */
diff --git a/src/soc/intel/braswell/include/soc/spi.h b/src/soc/intel/braswell/include/soc/spi.h
new file mode 100644
index 0000000..a2c126e
--- /dev/null
+++ b/src/soc/intel/braswell/include/soc/spi.h
@@ -0,0 +1,76 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef _BRASWELL_SPI_H_
+#define _BRASWELL_SPI_H_
+
+#include <stdint.h>
+
+/* These registers live behind SPI_BASE_ADDRESS. */
+#define HSFSTS				0x04
+#define FDATA0				0x10
+# define FLOCKDN			(0x1 << 15)
+#define SSFS				0x90
+# define CYCLE_DONE_STATUS		(0x1 << 2)
+# define FLASH_CYCLE_ERROR		(0x1 << 3)
+#define SSFC				0x91
+# define SPI_CYCLE_GO			(0x1 << 1)
+# define DATA_CYCLE			(0x1 << 14)
+#define PREOP				0x94
+#define OPTYPE				0x96
+#define OPMENU0				0x98
+#define OPMENU1				0x9c
+#define LVSCC				0xc4
+# define VCL				(0x1 << 23)
+# define EO(x)				(((x) & 0xff) << 8)
+# define WG_1_BYTE			(0x0 << 2)
+# define WG_64_BYTE			(0x1 << 2)
+# define BES_256_BYTE			(0x0 << 0)
+# define BES_4_KB			(0x1 << 0)
+# define BES_8_KB			(0x2 << 0)
+# define BES_64_KB			(0x3 << 0)
+#define UVSCC				0xc8
+#define SCS				0xf8
+# define SMIWPEN			(0x1 << 7)
+#define BCR				0xfc
+# define EISS				(0x1 << 5)
+# define SRC_MASK			(0x3 << 2)
+# define SRC_CACHE_NO_PREFETCH		(0x0 << 2)
+# define SRC_NO_CACHE_NO_PREFETCH	(0x1 << 2)
+# define SRC_CACHE_PREFETCH		(0x2 << 2)
+# define BCR_LE				(0x1 << 1)
+# define BCR_WPD			(0x1 << 0)
+
+/*
+ * SPI lockdown configuration.
+ */
+struct spi_config {
+	uint16_t preop;
+	uint16_t optype;
+	uint32_t opmenu[2];
+	uint32_t lvscc;
+	uint32_t uvscc;
+};
+
+/* Return 0 on success < 0 on failure. */
+int mainboard_get_spi_config(struct spi_config *cfg);
+
+#endif /* _BRASWELL_SPI_H_ */
+
diff --git a/src/soc/intel/braswell/include/soc/xhci.h b/src/soc/intel/braswell/include/soc/xhci.h
new file mode 100644
index 0000000..d5be4b3
--- /dev/null
+++ b/src/soc/intel/braswell/include/soc/xhci.h
@@ -0,0 +1,51 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef _BRASWELL_XHCI_H
+#define _BRASWELL_XHCI_H
+
+/* XHCI PCI Registers */
+#define XHCI_PWR_CTL_STS	0x74
+#define XHCI_USB2PR		0xd0
+#define XHCI_USB2PRM		0xd4
+#define XHCI_USB3PR		0xd8
+#define XHCI_USB3PRM		0xdc
+#define XHCI_USB2PDO		0xe4
+#define XHCI_USB3PDO		0xe8
+
+/* XHCI Memory Registers */
+#define XHCI_USB3_PORTSC(port)	(0x4e0 + (port * 0x10))
+# define  XHCI_USB3_PORTSC_CHST	  (0x7f << 17)
+# define  XHCI_USB3_PORTSC_WCE	  (1 << 25)  /* Wake on Connect */
+# define  XHCI_USB3_PORTSC_WDE	  (1 << 26)  /* Wake on Disconnect */
+# define  XHCI_USB3_PORTSC_WOE	  (1 << 27)  /* Wake on Overcurrent */
+# define  XHCI_USB3_PORTSC_WRC	  (1 << 19)  /* Warm Reset Complete */
+# define  XHCI_USB3_PORTSC_LWS	  (1 << 16)  /* Link Write Strobe */
+# define  XHCI_USB3_PORTSC_PED	  (1 << 1)   /* Port Enabled/Disabled */
+# define  XHCI_USB3_PORTSC_WPR	  (1 << 31)  /* Warm Port Reset */
+# define  XHCI_USB3_PORTSC_PLS	  (0xf << 5) /* Port Link State */
+# define   XHCI_PLSR_DISABLED	  (4 << 5)   /* Port is disabled */
+# define   XHCI_PLSR_RXDETECT	  (5 << 5)   /* Port is disconnected */
+# define   XHCI_PLSR_POLLING	  (7 << 5)   /* Port is polling */
+# define   XHCI_PLSW_ENABLE	  (5 << 5)   /* Enable port */
+
+#define XHCI_RESET_TIMEOUT	100000  /* 100ms */
+
+#endif /* _BRASWELL_XHCI_H */
diff --git a/src/soc/intel/braswell/iosf.c b/src/soc/intel/braswell/iosf.c
new file mode 100644
index 0000000..b4f1c64
--- /dev/null
+++ b/src/soc/intel/braswell/iosf.c
@@ -0,0 +1,196 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google, Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied wacbmem_entryanty 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., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+#include <arch/io.h>
+#include <console/console.h>
+#include <soc/iosf.h>
+
+#if !defined(__PRE_RAM__)
+#define IOSF_PCI_BASE (CONFIG_MMCONF_BASE_ADDRESS + (IOSF_PCI_DEV << 12))
+
+static inline void write_iosf_reg(int reg, uint32_t value)
+{
+	write32((void *)(IOSF_PCI_BASE + reg), value);
+}
+static inline uint32_t read_iosf_reg(int reg)
+{
+	return read32((void *)(IOSF_PCI_BASE + reg));
+}
+#else
+static inline void write_iosf_reg(int reg, uint32_t value)
+{
+	pci_write_config32(IOSF_PCI_DEV, reg, value);
+}
+static inline uint32_t read_iosf_reg(int reg)
+{
+	return pci_read_config32(IOSF_PCI_DEV, reg);
+}
+#endif
+
+/* Common sequences for all the port accesses. */
+static uint32_t iosf_read_port(uint32_t cr, int reg)
+{
+	cr |= IOSF_REG(reg) | IOSF_BYTE_EN;
+	write_iosf_reg(MCRX_REG, IOSF_REG_UPPER(reg));
+	write_iosf_reg(MCR_REG, cr);
+	return read_iosf_reg(MDR_REG);
+}
+
+static void iosf_write_port(uint32_t cr, int reg, uint32_t val)
+{
+	cr |= IOSF_REG(reg) | IOSF_BYTE_EN;
+	write_iosf_reg(MDR_REG, val);
+	write_iosf_reg(MCRX_REG, IOSF_REG_UPPER(reg));
+	write_iosf_reg(MCR_REG, cr);
+}
+
+#define IOSF_READ(port) \
+	(IOSF_OPCODE(IOSF_OP_READ_##port) | IOSF_PORT(IOSF_PORT_##port))
+#define IOSF_WRITE(port) \
+	(IOSF_OPCODE(IOSF_OP_WRITE_##port) | IOSF_PORT(IOSF_PORT_##port))
+
+uint32_t iosf_bunit_read(int reg)
+{
+	return iosf_read_port(IOSF_READ(BUNIT), reg);
+}
+
+void iosf_bunit_write(int reg, uint32_t val)
+{
+	iosf_write_port(IOSF_WRITE(BUNIT), reg, val);
+}
+
+uint32_t iosf_punit_read(int reg)
+{
+	return iosf_read_port(IOSF_READ(PMC), reg);
+}
+
+void iosf_punit_write(int reg, uint32_t val)
+{
+	iosf_write_port(IOSF_WRITE(PMC), reg, val);
+}
+
+uint32_t iosf_score_read(int reg)
+{
+	return iosf_read_port(IOSF_READ(SCORE), reg);
+}
+
+void iosf_score_write(int reg, uint32_t val)
+{
+	iosf_write_port(IOSF_WRITE(SCORE), reg, val);
+}
+
+uint32_t iosf_lpss_read(int reg)
+{
+	return iosf_read_port(IOSF_READ(LPSS), reg);
+}
+
+void iosf_lpss_write(int reg, uint32_t val)
+{
+	iosf_write_port(IOSF_WRITE(LPSS), reg, val);
+}
+
+uint32_t iosf_port58_read(int reg)
+{
+	return iosf_read_port(IOSF_READ(0x58), reg);
+}
+
+void iosf_port58_write(int reg, uint32_t val)
+{
+	iosf_write_port(IOSF_WRITE(0x58), reg, val);
+}
+
+uint32_t iosf_scc_read(int reg)
+{
+	return iosf_read_port(IOSF_READ(SCC), reg);
+}
+
+void iosf_scc_write(int reg, uint32_t val)
+{
+	return iosf_write_port(IOSF_WRITE(SCC), reg, val);
+}
+
+
+#ifndef __PRE_RAM__
+uint64_t reg_script_read_iosf(struct reg_script_context *ctx)
+{
+	const struct reg_script *step = ctx->step;
+
+	/* Process the request */
+	switch (step->id) {
+	case IOSF_PORT_BUNIT:
+		return iosf_bunit_read(step->reg);
+	case IOSF_PORT_SCORE:
+		return iosf_score_read(step->reg);
+	case IOSF_PORT_LPSS:
+		return iosf_lpss_read(step->reg);
+	case IOSF_PORT_0x58:
+		return iosf_port58_read(step->reg);
+	case IOSF_PORT_SCC:
+		return iosf_scc_read(step->reg);
+	default:
+		printk(BIOS_DEBUG, "No read support for IOSF port 0x%x.\n",
+		       step->id);
+		break;
+	}
+	return 0;
+}
+
+void reg_script_write_iosf(struct reg_script_context *ctx)
+{
+	const struct reg_script *step = ctx->step;
+
+	/* Process the request */
+	switch (step->id) {
+	case IOSF_PORT_BUNIT:
+		iosf_bunit_write(step->reg, step->value);
+		break;
+	case IOSF_PORT_SCORE:
+		iosf_score_write(step->reg, step->value);
+		break;
+	case IOSF_PORT_LPSS:
+		iosf_lpss_write(step->reg, step->value);
+		break;
+	case IOSF_PORT_0x58:
+		iosf_port58_write(step->reg, step->value);
+		break;
+	case IOSF_PORT_SCC:
+		iosf_scc_write(step->reg, step->value);
+		break;
+
+	default:
+		printk(BIOS_DEBUG, "No write support for IOSF port 0x%x.\n",
+		       step->id);
+		break;
+	}
+}
+
+const struct reg_script_bus_entry reg_script_bus_table[] = {
+	{REG_SCRIPT_TYPE_IOSF, reg_script_read_iosf, reg_script_write_iosf}
+};
+
+const struct reg_script_bus_entry *platform_bus_table(size_t *table_entries)
+{
+	/* Return the table size and address */
+	*table_entries = sizeof(reg_script_bus_table)
+		/ sizeof(reg_script_bus_table[0]);
+	return &reg_script_bus_table[0];
+}
+
+#endif	/* __PRE_RAM */
diff --git a/src/soc/intel/braswell/lpe.c b/src/soc/intel/braswell/lpe.c
new file mode 100644
index 0000000..1f0b51e
--- /dev/null
+++ b/src/soc/intel/braswell/lpe.c
@@ -0,0 +1,195 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <arch/io.h>
+#include <cbmem.h>
+#include <console/console.h>
+#include <device/device.h>
+#include <device/pci.h>
+#include <device/pci_ids.h>
+#include <reg_script.h>
+
+#include <soc/iomap.h>
+#include <soc/iosf.h>
+#include <soc/lpc.h>
+#include <soc/nvs.h>
+#include <soc/pattrs.h>
+#include <soc/pci_devs.h>
+#include <soc/pm.h>
+#include <soc/ramstage.h>
+#include "chip.h"
+
+
+/*
+ * The LPE audio devices needs 1MiB of memory reserved aligned to a 512MiB
+ * address. Just take 1MiB @ 512MiB.
+ */
+#define FIRMWARE_PHYS_BASE (512 << 20)
+#define FIRMWARE_PHYS_LENGTH (1 << 20)
+#define FIRMWARE_PCI_REG_BASE 0xa8
+#define FIRMWARE_PCI_REG_LENGTH 0xac
+#define FIRMWARE_REG_BASE_C0 0x144000
+#define FIRMWARE_REG_LENGTH_C0 (FIRMWARE_REG_BASE_C0 + 4)
+
+static void assign_device_nvs(device_t dev, u32 *field, unsigned index)
+{
+	struct resource *res;
+
+	res = find_resource(dev, index);
+	if (res)
+		*field = res->base;
+}
+
+static void lpe_enable_acpi_mode(device_t dev)
+{
+	static const struct reg_script ops[] = {
+		/* Disable PCI interrupt, enable Memory and Bus Master */
+		REG_PCI_OR32(PCI_COMMAND,
+			     PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER
+			     | PCI_COMMAND_INT_DISABLE),
+		/* Enable ACPI mode */
+		REG_IOSF_OR(IOSF_PORT_0x58, LPE_PCICFGCTR1,
+			    LPE_PCICFGCTR1_PCI_CFG_DIS |
+			    LPE_PCICFGCTR1_ACPI_INT_EN),
+		REG_SCRIPT_END
+	};
+	global_nvs_t *gnvs;
+
+	/* Find ACPI NVS to update BARs */
+	gnvs = cbmem_find(CBMEM_ID_ACPI_GNVS);
+	if (!gnvs) {
+		printk(BIOS_ERR, "Unable to locate Global NVS\n");
+		return;
+	}
+
+	/* Save BAR0, BAR1, and firmware base  to ACPI NVS */
+	assign_device_nvs(dev, &gnvs->dev.lpe_bar0, PCI_BASE_ADDRESS_0);
+	/* LPE seems does not have BAR at PCI_BASE_ADDRESS_1 so disable it. */
+	/* assign_device_nvs(dev, &gnvs->dev.lpe_bar1, PCI_BASE_ADDRESS_1);  */
+	assign_device_nvs(dev, &gnvs->dev.lpe_fw, FIRMWARE_PCI_REG_BASE);
+
+	/* Device is enabled in ACPI mode */
+	gnvs->dev.lpe_en = 1;
+
+	/* Put device in ACPI mode */
+	reg_script_run_on_dev(dev, ops);
+}
+
+static void setup_codec_clock(device_t dev)
+{
+	uint32_t reg;
+	u32 *clk_reg;
+	struct soc_intel_braswell_config *config;
+	const char *freq_str;
+
+	config = dev->chip_info;
+	switch (config->lpe_codec_clk_freq) {
+	case 19:
+		freq_str = "19.2";
+		reg = CLK_FREQ_19P2MHZ;
+		break;
+	case 25:
+		freq_str = "25";
+		reg = CLK_FREQ_25MHZ;
+		break;
+	default:
+		printk(BIOS_DEBUG, "LPE codec clock not required.\n");
+		return;
+	}
+
+	/* Default to always running. */
+	reg |= CLK_CTL_ON;
+
+	if (config->lpe_codec_clk_num < 0 || config->lpe_codec_clk_num > 5) {
+		printk(BIOS_DEBUG, "Invalid LPE codec clock number.\n");
+		return;
+	}
+
+	printk(BIOS_DEBUG, "LPE Audio codec clock set to %sMHz.\n", freq_str);
+
+	clk_reg = (u32 *) (PMC_BASE_ADDRESS + PLT_CLK_CTL_0);
+	clk_reg += config->lpe_codec_clk_num;
+
+	write32(clk_reg, (read32(clk_reg) & ~0x7) | reg);
+}
+
+static void lpe_stash_firmware_info(device_t dev)
+{
+	struct resource *res;
+	struct resource *mmio;
+
+	res = find_resource(dev, FIRMWARE_PCI_REG_BASE);
+	if (res == NULL) {
+		printk(BIOS_DEBUG, "LPE Firmware memory not found.\n");
+		return;
+	}
+	printk(BIOS_DEBUG, "LPE FW Resource: 0x%08x\n", (u32) res->base);
+
+	/* Continue using old way of informing firmware address / size. */
+	pci_write_config32(dev, FIRMWARE_PCI_REG_BASE, res->base);
+	pci_write_config32(dev, FIRMWARE_PCI_REG_LENGTH, res->size);
+
+	/* Also put the address in MMIO space like on C0 BTM */
+	mmio = find_resource(dev, PCI_BASE_ADDRESS_0);
+	write32((void *)(uintptr_t)(mmio->base + FIRMWARE_REG_BASE_C0), \
+		res->base);
+	write32((void *)(uintptr_t)(mmio->base + FIRMWARE_REG_LENGTH_C0), \
+		res->size);
+}
+
+
+static void lpe_init(device_t dev)
+{
+	struct soc_intel_braswell_config *config = dev->chip_info;
+
+	printk(BIOS_SPEW, "%s/%s ( %s )\n",
+			__FILE__, __func__, dev_name(dev));
+
+	lpe_stash_firmware_info(dev);
+	setup_codec_clock(dev);
+
+	if (config->lpe_acpi_mode)
+		lpe_enable_acpi_mode(dev);
+}
+
+static void lpe_read_resources(device_t dev)
+{
+	pci_dev_read_resources(dev);
+
+	reserved_ram_resource(dev, FIRMWARE_PCI_REG_BASE,
+			      FIRMWARE_PHYS_BASE >> 10,
+			      FIRMWARE_PHYS_LENGTH >> 10);
+}
+
+static const struct device_operations device_ops = {
+	.read_resources		= lpe_read_resources,
+	.set_resources		= pci_dev_set_resources,
+	.enable_resources	= pci_dev_enable_resources,
+	.init			= lpe_init,
+	.enable			= NULL,
+	.scan_bus		= NULL,
+	.ops_pci		= &soc_pci_ops,
+};
+
+static const struct pci_driver southcluster __pci_driver = {
+	.ops		= &device_ops,
+	.vendor		= PCI_VENDOR_ID_INTEL,
+	.device		= LPE_DEVID,
+};
diff --git a/src/soc/intel/braswell/lpss.c b/src/soc/intel/braswell/lpss.c
new file mode 100644
index 0000000..2adbf18
--- /dev/null
+++ b/src/soc/intel/braswell/lpss.c
@@ -0,0 +1,203 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <stdint.h>
+#include <arch/io.h>
+#include <cbmem.h>
+#include <console/console.h>
+#include <device/device.h>
+#include <device/pci.h>
+#include <device/pci_ids.h>
+#include <reg_script.h>
+
+#include <soc/iosf.h>
+#include <soc/nvs.h>
+#include <soc/pci_devs.h>
+#include <soc/ramstage.h>
+
+#include "chip.h"
+
+static void dev_enable_acpi_mode(device_t dev, int iosf_reg, int nvs_index)
+{
+	struct reg_script ops[] = {
+		/* Disable PCI interrupt, enable Memory and Bus Master */
+		REG_PCI_OR32(PCI_COMMAND,
+			     PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER | (1<<10)),
+		/* Enable ACPI mode */
+		REG_IOSF_OR(IOSF_PORT_LPSS, iosf_reg,
+			    LPSS_CTL_PCI_CFG_DIS | LPSS_CTL_ACPI_INT_EN),
+		REG_SCRIPT_END
+	};
+	struct resource *bar;
+	global_nvs_t *gnvs;
+
+	/* Find ACPI NVS to update BARs */
+	gnvs = cbmem_find(CBMEM_ID_ACPI_GNVS);
+	if (!gnvs) {
+		printk(BIOS_ERR, "Unable to locate Global NVS\n");
+		return;
+	}
+
+	/* Save BAR0 and BAR1 to ACPI NVS */
+	bar = find_resource(dev, PCI_BASE_ADDRESS_0);
+	if (bar)
+		gnvs->dev.lpss_bar0[nvs_index] = (u32)bar->base;
+
+	bar = find_resource(dev, PCI_BASE_ADDRESS_1);
+	if (bar)
+		gnvs->dev.lpss_bar1[nvs_index] = (u32)bar->base;
+
+	/* Device is enabled in ACPI mode */
+	gnvs->dev.lpss_en[nvs_index] = 1;
+
+	/* Put device in ACPI mode */
+	reg_script_run_on_dev(dev, ops);
+}
+
+static void dev_ctl_reg(device_t dev, int *iosf_reg, int *nvs_index)
+{
+	*iosf_reg = -1;
+	*nvs_index = -1;
+#define SET_IOSF_REG(name_) \
+	case PCI_DEVFN(name_ ## _DEV, name_ ## _FUNC): \
+		do { \
+			*iosf_reg = LPSS_ ## name_ ## _CTL; \
+			*nvs_index = LPSS_NVS_ ## name_; \
+		} while (0)
+
+	switch (dev->path.pci.devfn) {
+	SET_IOSF_REG(SIO_DMA1);
+		break;
+	SET_IOSF_REG(I2C1);
+		break;
+	SET_IOSF_REG(I2C2);
+		break;
+	SET_IOSF_REG(I2C3);
+		break;
+	SET_IOSF_REG(I2C4);
+		break;
+	SET_IOSF_REG(I2C5);
+		break;
+	SET_IOSF_REG(I2C6);
+		break;
+	SET_IOSF_REG(I2C7);
+		break;
+	SET_IOSF_REG(SIO_DMA2);
+		break;
+	SET_IOSF_REG(PWM1);
+		break;
+	SET_IOSF_REG(PWM2);
+		break;
+	SET_IOSF_REG(HSUART1);
+		break;
+	SET_IOSF_REG(HSUART2);
+		break;
+	SET_IOSF_REG(SPI);
+		break;
+	}
+}
+
+static void i2c_disable_resets(device_t dev)
+{
+	/* Release the I2C devices from reset. */
+	static const struct reg_script ops[] = {
+		REG_RES_WRITE32(PCI_BASE_ADDRESS_0, 0x804, 0x3),
+		REG_SCRIPT_END,
+	};
+
+#define CASE_I2C(name_) \
+	case PCI_DEVFN(name_ ## _DEV, name_ ## _FUNC)
+
+	switch (dev->path.pci.devfn) {
+	CASE_I2C(I2C1) :
+	CASE_I2C(I2C2) :
+	CASE_I2C(I2C3) :
+	CASE_I2C(I2C4) :
+	CASE_I2C(I2C5) :
+	CASE_I2C(I2C6) :
+	CASE_I2C(I2C7) :
+		printk(BIOS_DEBUG, "Releasing I2C device from reset.\n");
+		reg_script_run_on_dev(dev, ops);
+		break;
+	default:
+		return;
+	}
+}
+
+static void lpss_init(device_t dev)
+{
+	struct soc_intel_braswell_config *config = dev->chip_info;
+	int iosf_reg, nvs_index;
+
+	printk(BIOS_SPEW, "%s/%s ( %s )\n",
+			__FILE__, __func__, dev_name(dev));
+	printk(BIOS_SPEW, "%s - %s\n",
+			get_pci_class_name(dev),
+			get_pci_subclass_name(dev));
+
+	dev_ctl_reg(dev, &iosf_reg, &nvs_index);
+
+	if (iosf_reg < 0) {
+		int slot = PCI_SLOT(dev->path.pci.devfn);
+		int func = PCI_FUNC(dev->path.pci.devfn);
+		printk(BIOS_DEBUG, "Could not find iosf_reg for %02x.%01x\n",
+		       slot, func);
+		return;
+	}
+
+	i2c_disable_resets(dev);
+
+	if (config->lpss_acpi_mode)
+		dev_enable_acpi_mode(dev, iosf_reg, nvs_index);
+}
+
+static struct device_operations device_ops = {
+	.read_resources		= pci_dev_read_resources,
+	.set_resources		= pci_dev_set_resources,
+	.enable_resources	= pci_dev_enable_resources,
+	.init			= lpss_init,
+	.enable			= NULL,
+	.scan_bus		= NULL,
+	.ops_pci		= &soc_pci_ops,
+};
+
+static const unsigned short pci_device_ids[] = {
+	SIO_DMA1_DEVID,
+	I2C1_DEVID,
+	I2C2_DEVID,
+	I2C3_DEVID,
+	I2C4_DEVID,
+	I2C5_DEVID,
+	I2C6_DEVID,
+	I2C7_DEVID,
+	SIO_DMA2_DEVID,
+	PWM1_DEVID,
+	PWM2_DEVID,
+	HSUART1_DEVID,
+	HSUART2_DEVID,
+	SPI_DEVID,
+	0,
+};
+
+static const struct pci_driver southcluster __pci_driver = {
+	.ops		= &device_ops,
+	.vendor		= PCI_VENDOR_ID_INTEL,
+	.devices	= pci_device_ids,
+};
diff --git a/src/soc/intel/braswell/memmap.c b/src/soc/intel/braswell/memmap.c
new file mode 100644
index 0000000..1abf7f0
--- /dev/null
+++ b/src/soc/intel/braswell/memmap.c
@@ -0,0 +1,57 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google, Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied wacbmem_entryanty 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., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+#include <arch/io.h>
+#include <cbmem.h>
+#include <console/console.h>
+#include <soc/intel/common/memmap.h>
+#include <soc/iosf.h>
+#include <soc/smm.h>
+
+static size_t smm_region_size(void)
+{
+	u32 smm_size;
+	smm_size = iosf_bunit_read(BUNIT_SMRRH) & 0xFFFF;
+	smm_size -= iosf_bunit_read(BUNIT_SMRRL) & 0xFFFF;
+	smm_size = (smm_size + 1) << 20;
+	return smm_size;
+}
+
+void smm_region(void **start, size_t *size)
+{
+	*start = (void *)((iosf_bunit_read(BUNIT_SMRRL) & 0xFFFF) << 20);
+	*size = smm_region_size();
+}
+
+size_t mmap_region_granluarity(void)
+{
+	/* Align to TSEG size when SMM is in use, and 8MiB by default */
+	return IS_ENABLED(CONFIG_HAVE_SMI_HANDLER) ? smm_region_size()
+		: 8 << 20;
+}
+
+void *cbmem_top(void)
+{
+	char *smm_base;
+	size_t smm_size;
+
+	smm_region((void **)&smm_base, &smm_size);
+	return (void *)(smm_base - CONFIG_FSP_RESERVED_MEM_SIZE);
+}
diff --git a/src/soc/intel/braswell/microcode/M01406C221D.h b/src/soc/intel/braswell/microcode/M01406C221D.h
new file mode 100644
index 0000000..0a46ff8
--- /dev/null
+++ b/src/soc/intel/braswell/microcode/M01406C221D.h
@@ -0,0 +1,17152 @@
+0x00000001,
+0x0000021d,
+0x12172014,
+0x000406c2,
+0x1ced285b,
+0x00000001,
+0x00000001,
+0x00010bd0,
+0x00010c00,
+0x00000000,
+0x00000000,
+0x00000000,
+0x00000000,
+0x000000a1,
+0x00020001,
+0x0000021d,
+0x00000000,
+0x00000000,
+0x20141217,
+0x000042e1,
+0x00000001,
+0x000406c2,
+0x00000000,
+0x00000000,
+0x00000000,
+0x00000000,
+0x00000000,
+0x00000000,
+0x00000000,
+0x00000000,
+0x00000000,
+0x00000000,
+0x00000000,
+0x00000000,
+0x00000000,
+0x00000000,
+0xd589588f,
+0xe0a167f1,
+0xcb40ee48,
+0x34e7d5c8,
+0xcfd29857,
+0x036bddb0,
+0xb8b5846e,
+0x8cedaeea,
+0xc3e444ef,
+0x58491df9,
+0xb7830823,
+0x6eab8273,
+0xef2443f1,
+0xd7284cf9,
+0x96d13191,
+0xaa2fcfeb,
+0x37cb49c0,
+0xbd7a57d1,
+0x5ae4db5e,
+0x1ecae117,
+0xc3929abe,
+0x90178e1c,
+0x8a8bc0b3,
+0x519879ca,
+0x928c2a3f,
+0xd8157e1b,
+0xb2ec441f,
+0x3818daae,
+0x6986ce0a,
+0x7e499dae,
+0x0c684c42,
+0xeda3b321,
+0xfeac24d9,
+0xa226c1dd,
+0x96353626,
+0x9b99cd21,
+0xf39d3f19,
+0x53197d03,
+0xc53d7af9,
+0x7ead944c,
+0xf060b398,
+0x1f4690eb,
+0x2e6d8e43,
+0x0e1a8530,
+0x813662fd,
+0x3c2d7818,
+0xc5382970,
+0xddf02d46,
+0xc17cd6f7,
+0xa0761016,
+0xb35d6ef0,
+0x6ba761d8,
+0xbc060ba4,
+0x9bc637ed,
+0x8bf9252b,
+0x7d88672b,
+0xb53101bf,
+0x257c1b57,
+0x5237eb34,
+0x6e402e99,
+0xe7a81b03,
+0x1d5bfccc,
+0xe987f433,
+0x9830ccec,
+0x7b7352e4,
+0x86c28cb3,
+0x8fc57b81,
+0xde7f2a85,
+0x191bcdcb,
+0x4a8911ab,
+0xd778f2a1,
+0xc9290836,
+0x00000011,
+0xd5da62b7,
+0x82d9cc30,
+0xc4301715,
+0xd2b2add6,
+0x11d35908,
+0x55f3c6aa,
+0x3aa814ae,
+0x54d73271,
+0x856e0031,
+0x64c07ec3,
+0x7b0e233e,
+0xa85ce771,
+0x00f8859b,
+0x2e04a854,
+0x566389b3,
+0x8b71082c,
+0xd196978e,
+0x380870b4,
+0x6bb0060a,
+0xbe0655c7,
+0x7225b3b4,
+0xe652989d,
+0xc86a6076,
+0x30e9bb86,
+0xa763a7e1,
+0x413d0a8c,
+0x532630f2,
+0x2f3b68bc,
+0x5a545f98,
+0x83ed9e37,
+0x29ba9101,
+0xadf5297c,
+0x84115ed6,
+0x8963d87f,
+0x3bec6674,
+0xa41d8ec8,
+0xe75d1598,
+0x41e3437e,
+0x56f8e211,
+0xeba14331,
+0x09d3a4ed,
+0xe74ac1bf,
+0x87b8bc5f,
+0x84b5c6e7,
+0x40f13d3a,
+0xbb0675eb,
+0xbbab5102,
+0x341d031e,
+0x9566254c,
+0x468638a4,
+0x8b2cb1ce,
+0xe5eec43d,
+0xac5f1d52,
+0x36d9c03e,
+0xa16c6c29,
+0x320fcd81,
+0x58e3d766,
+0x33eceafe,
+0x455ddb8b,
+0xf2202df6,
+0xe13d3180,
+0x43424326,
+0x8875d086,
+0x4637270c,
+0x9eb0a26c,
+0x58547b92,
+0x6176da0e,
+0xc935e0c8,
+0x7c49e5a6,
+0x6a14d6b2,
+0x8f567cce,
+0x4cac110b,
+0xafc0663e,
+0x795413e6,
+0x2d6b87cc,
+0x572642da,
+0x1df8305f,
+0xc71430e7,
+0x2b2652cc,
+0x01f71ce2,
+0x073f0784,
+0xa4e153f1,
+0x34e45636,
+0xb3e38ea4,
+0x567ecaa5,
+0x69c24007,
+0xe519a10d,
+0x21db1f71,
+0x37ff42ad,
+0x5aa3c082,
+0x499296aa,
+0x44f3c436,
+0xa02473b2,
+0xb4a1baf4,
+0xe82b744d,
+0xdaac3fde,
+0xbdb8e4d2,
+0x09e12589,
+0x708c59b5,
+0xa43592a9,
+0x10e178c7,
+0xa418dc93,
+0xa4d30e3e,
+0xee725119,
+0x4d5f7079,
+0x2cbd1095,
+0xc7f9b3f3,
+0xc88e71b0,
+0xeefe7b72,
+0xd3ee4b60,
+0x2b0dc1eb,
+0xad7f4d31,
+0xd371e42b,
+0x29970b14,
+0x2c86335e,
+0x5e1aa5b5,
+0xb2b2c786,
+0x75c97c86,
+0xa97421be,
+0x34eb1da5,
+0x5031c23c,
+0xf1971255,
+0xc2c18ece,
+0x3a74f2e9,
+0xa9c8208a,
+0x3cf1b062,
+0xadc066da,
+0x285cd082,
+0x4683b30d,
+0xec46dd7a,
+0x27a7315d,
+0xd7a0c5b3,
+0xcb12fe1b,
+0xb4b92a76,
+0x090297bc,
+0x9a11afad,
+0x02ee4a42,
+0x0d1c542c,
+0x9e9df5ff,
+0x8796327f,
+0x4cbb7a23,
+0x9c7c1e5c,
+0xdfc8ec92,
+0xee126577,
+0x2c929a54,
+0x84a4239b,
+0x83386133,
+0x6d175276,
+0x0d962bc9,
+0x61b8997d,
+0xc29cd1a6,
+0x6462ada3,
+0xe8da0748,
+0x6ac5a1e6,
+0xd3992bee,
+0x28001c5c,
+0xb04b3fca,
+0x0ab9649d,
+0xb1c34e15,
+0x6f741b8a,
+0xd6f7a823,
+0x2fe7b53f,
+0x58b34295,
+0x85b5fba8,
+0xea48306e,
+0x16fd4c3d,
+0xacdb2b72,
+0x704184f8,
+0xab96d5b4,
+0xb72053dd,
+0x31404ead,
+0x3c14e72d,
+0x4047dcc6,
+0x883b598e,
+0x8b4f61ae,
+0x04ec906d,
+0x0d271393,
+0xb07b5beb,
+0x7d06f14c,
+0x63ff5ef8,
+0x3ab5ca4c,
+0xf56cdefa,
+0x3386b98b,
+0xe2233ef4,
+0x2545fa0f,
+0xc5ad24f9,
+0xca3c6605,
+0x51627da5,
+0x386305e7,
+0x3bb49fc1,
+0x81f1b0fc,
+0xd29887f1,
+0xded75a63,
+0x233c3f1e,
+0xd4161149,
+0x8c793450,
+0x40dbdb80,
+0x8a897a7c,
+0xce26ac9f,
+0x58cf05bd,
+0x2527184f,
+0x0b595818,
+0x89d7d673,
+0x74ea72ee,
+0xe509b128,
+0x44c33cb1,
+0xa4b3cd69,
+0xa2150828,
+0x3b1d53e5,
+0xb47b26dc,
+0xae09423d,
+0xb3404836,
+0x760224b1,
+0xd0ee1ecd,
+0xbf17d834,
+0x8b5bb754,
+0x0c6380fe,
+0x50930168,
+0x90ba9520,
+0xfa7bf2d4,
+0x44c0434e,
+0x8005041f,
+0x35907548,
+0x5f8b4cdc,
+0x06bb0161,
+0x407d58ae,
+0x6fd0577e,
+0xcf59b670,
+0xdc2f7f96,
+0x5b93868e,
+0x604f8bb0,
+0x75724947,
+0xdef6aa7a,
+0x7b8adb97,
+0x62a901c3,
+0xd78224e6,
+0xbc5f5a3f,
+0xe77c97d0,
+0xb9abebaa,
+0xabaaa58b,
+0xd167f3c3,
+0xf5f6c7eb,
+0xdd6c1a90,
+0x6989b745,
+0xf1e21a13,
+0x001228a6,
+0xdcfca10d,
+0x71b143e0,
+0x58e00e2b,
+0x5c2fd816,
+0x8ee6bde9,
+0x3c93546d,
+0x1325b202,
+0x58d06919,
+0x86b51370,
+0xca81fa1b,
+0x4f52ee5c,
+0xaa3add1b,
+0xe1123081,
+0xcb2fec95,
+0x4bc8b32b,
+0x32ee4a62,
+0x9221ebfa,
+0xe5d0cf34,
+0xe20224cb,
+0xc642c56c,
+0x9062a767,
+0x2a09d10c,
+0xcb651cd8,
+0x4bb16b33,
+0xb6f06179,
+0xec1e4cba,
+0xd399c83a,
+0x0d6cb016,
+0xd3065762,
+0x34c7ea26,
+0x2567bb13,
+0x7cfbfff2,
+0x6c5d8f71,
+0x951f4852,
+0x1374fefe,
+0x6b0de025,
+0xb2ed68e0,
+0x002372a8,
+0x36ac943b,
+0xa54e51f1,
+0x722ad1cb,
+0xa8bca8b4,
+0xb24ce74b,
+0xdae6e108,
+0xef20004f,
+0x7672f25d,
+0xa3a8c02d,
+0x9e1a2768,
+0x7a744770,
+0x99c56ad2,
+0x3229b377,
+0x88875c86,
+0x4337bfeb,
+0xedb0006f,
+0x245ae548,
+0xc2e13fd7,
+0xb106f30c,
+0x580c8426,
+0xc3b697b7,
+0x9fa25fed,
+0xf88e28bf,
+0xe97b169b,
+0x712fd4ca,
+0xf0a6db23,
+0x5f4346c5,
+0x5002f3de,
+0x52836b57,
+0x51299a20,
+0x070e6fa1,
+0x320441c1,
+0x3254eb7c,
+0x5bff4082,
+0x31a47782,
+0x797cb2ba,
+0xfa49460f,
+0x87b7f2be,
+0xe132de14,
+0x90360365,
+0x229877bf,
+0x6efbfcc1,
+0x391df7ed,
+0x659c621b,
+0xb9a8c8c3,
+0xb43af0ab,
+0x24b7181f,
+0xc8f759d6,
+0x43c43e56,
+0x25e2152c,
+0x4a413211,
+0x4c9bd5c0,
+0xcfa0d00e,
+0x0eabde19,
+0x3c46a239,
+0xa00ac1ea,
+0x4c70f561,
+0xa8c93b89,
+0x7d6f4b24,
+0x99edf0fe,
+0xe4a88dcb,
+0x5436074d,
+0xfd650481,
+0x56662050,
+0x2876c5f6,
+0x90ba94ac,
+0x86daac2a,
+0x8ea30562,
+0x2de5e7a5,
+0xdd05eb64,
+0x9e25257e,
+0x5a2b5168,
+0xd123784f,
+0xec9d4758,
+0xf3a3b880,
+0x4241c037,
+0xa7bdc015,
+0x01b8214e,
+0xa467da33,
+0x0edd2259,
+0x78eb0865,
+0x37ecd521,
+0x98a9ab99,
+0x7bc899fa,
+0xd47bf137,
+0x680c6ff0,
+0x45f9db77,
+0xf69bf00d,
+0x325d4308,
+0x042de618,
+0x6c538812,
+0x0c110320,
+0x055ba5d4,
+0xd18a6ed9,
+0x12c2b063,
+0x7eef5493,
+0xf4ba0d07,
+0x06de5451,
+0x7324a6ad,
+0xb9ec2f49,
+0xb1643056,
+0xb89e1ff5,
+0xa124be3e,
+0xa6de9d94,
+0xcca23b1d,
+0xeff80b56,
+0x2839ec18,
+0x3e5149e4,
+0x702e447d,
+0x18bd887e,
+0x92c265e3,
+0xddb784a5,
+0xf76df034,
+0x5c6051ef,
+0x0af51deb,
+0xd98a62cd,
+0xcdeccf03,
+0xf86c4cb8,
+0xc73cdc2f,
+0xa9bf6f9b,
+0x64709f63,
+0x06d3392f,
+0x51d53d36,
+0x4ac734ec,
+0xeb5ed325,
+0x7328b32d,
+0x966fc2de,
+0xd9e5ba95,
+0x0f99cde1,
+0x8211b927,
+0xeb2774bf,
+0xa4f1a692,
+0x69c28524,
+0x350dff81,
+0x78533b12,
+0x4f7605e0,
+0xde7ba40e,
+0xfd7d2f3f,
+0xb6fb8867,
+0x86e8bdc7,
+0x19200943,
+0x01c23786,
+0x7d652a16,
+0x494ff7b6,
+0xd1dfc516,
+0x4247ffe2,
+0x33661b83,
+0x93149d52,
+0x1bc2b2d3,
+0xee1e9b26,
+0x7817fea4,
+0x9a4831b4,
+0xedfeafc3,
+0xe3504cb1,
+0x2258498f,
+0xab3b1764,
+0xe90a6e7b,
+0x55c1cb07,
+0xdff7a6c0,
+0xa39027d9,
+0xdb3afef4,
+0xb0b71d96,
+0x237f291c,
+0xb15e67e7,
+0xecaafdb7,
+0x2f935ee5,
+0x2a8cbadc,
+0xbd664b03,
+0x6b46a276,
+0xecbdca7c,
+0x02eb76d8,
+0x8ebe6e9f,
+0x17d9fe90,
+0x48b8f10f,
+0xfeb0e445,
+0x5f05b840,
+0x5de15ec8,
+0x0f6da3ce,
+0x67da441e,
+0x5a9f89c9,
+0x89dbbac6,
+0x79ab8a9c,
+0xfa96c447,
+0x2d8a17f0,
+0x18f49384,
+0x8776e86d,
+0x314dea00,
+0x30b5ff04,
+0xeb0a3c56,
+0x5afc9ff9,
+0x0ae28038,
+0xc242c650,
+0xb6406496,
+0x5ceb659f,
+0x26c62ee9,
+0x6c9983b7,
+0x9d99feda,
+0x3ddef181,
+0xc11f9fd5,
+0xce2de09c,
+0x3aed2918,
+0x00b15288,
+0x98c04a90,
+0x95b6177f,
+0xabe5fd53,
+0x246938e2,
+0x99e3ae56,
+0x1068b663,
+0xe2389d3c,
+0xb9ac277b,
+0xe3d6eaec,
+0xe6f28115,
+0x2191367c,
+0xb148f9c6,
+0x16bc6829,
+0xd582047b,
+0xff0f44a1,
+0x363a79de,
+0x1a570d68,
+0xca98774d,
+0x1837125e,
+0xa27c53c6,
+0x579eb70a,
+0x520345c8,
+0x9926d297,
+0x6653c528,
+0x9146e5d4,
+0xe53be617,
+0xd6c98f19,
+0xb996b5ec,
+0xf6185d50,
+0x7b716308,
+0x395c217b,
+0xcd793497,
+0xa1d9b709,
+0xe4425df6,
+0x6a777c46,
+0xe431ad03,
+0xf5e4bf92,
+0xba07bea5,
+0xd09f8c3a,
+0x771c455f,
+0x897ab37b,
+0x7101530a,
+0x3b641e72,
+0x048cc6cb,
+0x5cd3ecc7,
+0xf0ad30e5,
+0xf97fb333,
+0xcb896179,
+0x7209ecfb,
+0x8822c181,
+0x1fabd477,
+0x12c9d3f0,
+0x113d257b,
+0xe68af6c8,
+0x88fb4e67,
+0xcbda70f2,
+0x70292f92,
+0x21f64dc1,
+0x6f4bed27,
+0xcd8e4c03,
+0xa1eb0075,
+0xa7e17202,
+0x22c4ee23,
+0xea786da8,
+0xe7d43f01,
+0x5db39d2f,
+0xd5b82194,
+0x691d7f72,
+0x48e9cf77,
+0xa3e22ad5,
+0x9f46c390,
+0x1c064918,
+0xb6ce4c32,
+0xa9322f4c,
+0x3ed99acf,
+0x8fb8f3c3,
+0xafbea125,
+0x2eaf78b4,
+0x767bc069,
+0xcba0e31a,
+0x195f90aa,
+0xa103811f,
+0x2955eb73,
+0x8fe5ef65,
+0x7c5ac4a9,
+0x4be7f65c,
+0x1ecc8dfe,
+0x30f97ca6,
+0x74f7614c,
+0x22bb6caa,
+0xf703d95f,
+0x78f6caa9,
+0x71e7d50b,
+0x74138735,
+0x4e2aba15,
+0x04307435,
+0xaa61f61a,
+0xfdf80dcd,
+0x1b3573ad,
+0xc5dcbc66,
+0x23220a53,
+0xfe69da19,
+0x1202bfca,
+0x93a7eb98,
+0x4319bacb,
+0xbad07bfc,
+0xb7271b7e,
+0x5cc76344,
+0x8983993f,
+0xaa20c218,
+0x6eed4059,
+0xf5f81b48,
+0xe7432da2,
+0x4a3b3990,
+0xdd2d48eb,
+0x44794f96,
+0x998ba3d4,
+0x946916ce,
+0x8759213c,
+0x45fd4575,
+0x624bba14,
+0xbb4625bf,
+0x5fc2c77b,
+0x8851500a,
+0x9b723098,
+0x6aafb846,
+0xbdd6207d,
+0x8c4eda03,
+0x5466b800,
+0x1df57fe2,
+0x69cb090c,
+0xf79fabd1,
+0x28eef59a,
+0xf6448243,
+0x3f17e237,
+0x7c23b5b5,
+0x10e91415,
+0x81552bf6,
+0xb64e99f7,
+0x4294efef,
+0x3c23c4ed,
+0xf1ac6d1d,
+0x92500086,
+0x3a0cb20e,
+0xde49b399,
+0xeb8f38c4,
+0xe2746546,
+0xb2cc3d9c,
+0x3a9d19f3,
+0x1953efc6,
+0xabd1e0e0,
+0x084de2d1,
+0xf8a9086f,
+0x533a0110,
+0xfee4d619,
+0xa413a523,
+0xe9278caf,
+0x54c41f40,
+0xbd0b1002,
+0x13249537,
+0x3d800fc1,
+0x33d8929d,
+0x5cf94ba2,
+0x5253dc62,
+0x335b998c,
+0x497d8423,
+0xed865322,
+0xd6251ef0,
+0x04948520,
+0xdb2b417d,
+0x4c1e2549,
+0x1c19be4b,
+0x48b22200,
+0x1e8e7fce,
+0xae6a33cd,
+0x0b12b31e,
+0xa95c7127,
+0xbbbcdbb4,
+0x7358244d,
+0xa1dbbac9,
+0x7232bc3e,
+0x8a1718fa,
+0x8b613409,
+0x73b3a004,
+0x7861e2ef,
+0x4efba5a7,
+0x74ad64b6,
+0xfc594e92,
+0x7adc4613,
+0x48b2d3ac,
+0xd6292f0b,
+0x09f24e66,
+0x7e51ab09,
+0x252a1841,
+0xe3778e7f,
+0x6c386ba6,
+0xfac39637,
+0x5cae24fa,
+0x2e7f517b,
+0x0c955633,
+0x3a5af474,
+0x6a7d14d2,
+0xb6203d71,
+0x8d082009,
+0x6107f32d,
+0xf2498ffa,
+0x8fca9b56,
+0x79ec9829,
+0xb1eeb859,
+0x52d73360,
+0xa35693f9,
+0x40ed63f7,
+0xda8e44b6,
+0xd627443d,
+0x2beb4ae1,
+0x89991a90,
+0x46f941c3,
+0x0a1ea578,
+0xec5fdbef,
+0xee7d55ff,
+0x31c0a192,
+0x50c6d8a2,
+0x0e96ebe6,
+0xf6c57dc4,
+0xd714592a,
+0xa4ef450a,
+0xda6b2ae1,
+0x7703d6a2,
+0x0f177101,
+0x0a953129,
+0xdac9e655,
+0x9a66e151,
+0xb0471425,
+0x58faac54,
+0x22389fef,
+0xe95ded2b,
+0x26363a18,
+0x690f8ab3,
+0xbdb321c0,
+0xe436561a,
+0x070282cd,
+0x2e54843a,
+0x8d9907f1,
+0xaae9bd2e,
+0x24eb4913,
+0x9fef8f38,
+0x8cc713f2,
+0x664ecd9b,
+0x1805fad0,
+0x73aaba8d,
+0x67d1657f,
+0x1556a949,
+0xc33e49dc,
+0xaeba5ace,
+0xa1b907ed,
+0x473867c1,
+0x45d40e13,
+0xa905d64c,
+0xddf47cf8,
+0xe36251b4,
+0xfac853ec,
+0xdb5820c5,
+0xd3d2d363,
+0x865bd775,
+0x78e62cd8,
+0x0bc64708,
+0x44887ce8,
+0x9b8b7545,
+0x346506e8,
+0x1a20f917,
+0xe155487b,
+0x5c6f9fa5,
+0xec093f8a,
+0x600be4ac,
+0x028a6c87,
+0xd10f69e1,
+0x947b04d9,
+0xd2886ca4,
+0xd8dfea8e,
+0x07f7abb3,
+0x02eadf90,
+0x2331895d,
+0x48e3036a,
+0xd2a44938,
+0xf5ee12f3,
+0xbbf1e81c,
+0x50a62cab,
+0x959b3d0c,
+0x8ca6246b,
+0x44a19979,
+0x82391c68,
+0x73f7f0d1,
+0x7be051c5,
+0x27be2d7c,
+0x9a7cdf61,
+0xc54054a1,
+0xc457f048,
+0x66c450c3,
+0xb4f0a889,
+0xca4716b8,
+0x4db2f8b1,
+0x4a2eaeb8,
+0x43984aa5,
+0x5f828a87,
+0x17524219,
+0xf7490800,
+0x039238be,
+0x150d1577,
+0x0e7af7f3,
+0x893fb090,
+0x3d6b087f,
+0x71982c87,
+0xac2a0f18,
+0x0ded674e,
+0xdb78a15b,
+0x0daf7236,
+0xfa53faf2,
+0x0106ab25,
+0x3f217c95,
+0xc5cd7bfc,
+0x3b15f7cb,
+0xe032114d,
+0xee13f472,
+0xb32c726e,
+0x535f1d1e,
+0xc76f3af7,
+0xb1045e76,
+0x2f5ce698,
+0x1527b5bb,
+0x33437d80,
+0xc1735df5,
+0x8d7c0134,
+0x5d5ebf52,
+0x5a67c0ef,
+0xaf78bcb8,
+0x71396473,
+0x05ecea1f,
+0x22430257,
+0x714c16c5,
+0x01700330,
+0x93c9a3fc,
+0xeb271181,
+0x96101c38,
+0x0f88eba3,
+0x8f50c8d9,
+0xbeda4553,
+0x098c7db5,
+0xaa0bded4,
+0x306fdd93,
+0x11bcd15d,
+0x7eca9717,
+0x5a4b0ff8,
+0xf9db978a,
+0xb2a619b4,
+0x7ab1f5d2,
+0xb0159bfe,
+0x97e4d69c,
+0x88fc2702,
+0xaf28d426,
+0x934bcdf2,
+0xd915123f,
+0x30a7bc29,
+0xb391dbfa,
+0x1f3fd09d,
+0x96e9b24b,
+0xfd4928d9,
+0xb9384405,
+0x794ed275,
+0x8f97c751,
+0x016d3479,
+0x2983d282,
+0xb7862a91,
+0x99df8500,
+0xd905b722,
+0x93c74cf6,
+0x8fd014a3,
+0x96b5a293,
+0x9a7b9fdd,
+0xf3a9d0ad,
+0x49fa5e49,
+0x7bb8ceeb,
+0xc12aea51,
+0xc824468e,
+0x08d83d33,
+0xe19dbea9,
+0xc38f5097,
+0xfa1e7e85,
+0x8a8a0fbc,
+0xc7853ea6,
+0xbc5ba61d,
+0x135662d5,
+0x9433ee00,
+0xf3f1b0f5,
+0x0e9acd41,
+0xe4cf3075,
+0x6a04bd1d,
+0xd4d53fa9,
+0xf2c7cc14,
+0x8d35186e,
+0xab87f9ca,
+0xc21a07ef,
+0x0ffcdf2d,
+0x9d3180d5,
+0x6c656908,
+0xd89d364d,
+0x0cbc1373,
+0x8e91fc1a,
+0x7f754436,
+0x23f7fdbb,
+0xa5a22c7a,
+0x2ec53edc,
+0xd17c0199,
+0x3b3532c3,
+0xa463065b,
+0xab6d52e2,
+0x86126966,
+0x8d05d08e,
+0x69272fdf,
+0x36fc3e30,
+0xa9b176a5,
+0xec5a4228,
+0x953c0d69,
+0x14d6f109,
+0xe96c86f3,
+0x6de00785,
+0x76ae2ebc,
+0x74edfeb2,
+0x27339a81,
+0x8d13f06c,
+0x643a22c6,
+0x4517bbce,
+0x2b3ff038,
+0x36476548,
+0x2d30f2ab,
+0x0f9f3bf0,
+0x0ab8aafb,
+0x930beb5b,
+0x48962b65,
+0xfdae2aed,
+0xe919f205,
+0x673bc935,
+0x778b7351,
+0xe8d31882,
+0x2d07cc95,
+0xf25953ef,
+0x10177b94,
+0xc5c10b53,
+0xbe0348bc,
+0x8cbf4b77,
+0xdaab426a,
+0xbd792849,
+0x9c899de0,
+0x6c8a771b,
+0xf15bc061,
+0xf9f4af37,
+0x718f1c0a,
+0xa9c01b88,
+0xf2cc2eb4,
+0x790f711e,
+0x7e093312,
+0xd719f8a5,
+0xf83d0c2e,
+0x61e5b2ef,
+0x7966069e,
+0x6bb7f6b0,
+0x71cc2f28,
+0x8a1e9f27,
+0xf0e29e79,
+0x2684d13c,
+0x76384793,
+0xb32ac1e9,
+0x19c2588a,
+0x92d616e8,
+0x4ad7fd22,
+0x1108fd2f,
+0x1e38fd87,
+0xf7d07466,
+0xa7696c03,
+0x3b64461d,
+0xdd133e05,
+0x233e9b02,
+0x97f46df1,
+0x87703db7,
+0xc4a07de5,
+0x9b51d870,
+0x4ae23d7a,
+0xf603e8df,
+0xb1ba2f73,
+0x7a4713eb,
+0xa79ec34f,
+0x1781d6d7,
+0xd68d60d1,
+0xe9b0ce65,
+0x0510e235,
+0x73812d41,
+0x2af84b73,
+0xa2be0186,
+0x339dfb2a,
+0x4b086798,
+0x0fdda555,
+0x1a32e2b9,
+0x13888264,
+0x5d4da1cf,
+0xbe05078a,
+0xea819b4d,
+0x5a5bc402,
+0xab22b491,
+0xdd6dbc15,
+0x1f9d405e,
+0x81f6d626,
+0x1d6869b0,
+0x6fa7a6bd,
+0x1eb82d67,
+0xe4272900,
+0x4134352f,
+0x160d4419,
+0x62df0b95,
+0xcea90ee4,
+0x26a58162,
+0x2eb7cc8f,
+0x73b6f687,
+0x7cb1ab46,
+0x3bd1b332,
+0x50b611ff,
+0x17a5ddb7,
+0x7121e731,
+0xdcc121d3,
+0xbfc38518,
+0xa28c9beb,
+0xabd0047f,
+0xfd9f0af3,
+0x00953051,
+0xcd5caeee,
+0x3ea57c4f,
+0x889bb613,
+0xce3319fa,
+0x9e4909aa,
+0xd8b84ae9,
+0x2676bc66,
+0x26de0cdd,
+0xa041ca58,
+0x62575bd2,
+0xd5e9de50,
+0x05aadd8f,
+0x4b6db73c,
+0x71d4333b,
+0xbfb2a17b,
+0xd031b7a9,
+0x01cbc8e5,
+0xaaa92e92,
+0x21544f41,
+0xab492584,
+0xe8d7bbfb,
+0xd60e9a52,
+0x465973ef,
+0xa63bd5b2,
+0x76816e61,
+0x8e102269,
+0x69bd5cb2,
+0x5c2cabc9,
+0xd89d1019,
+0xa9f6ca61,
+0x899a8b00,
+0x8ec471da,
+0x51542462,
+0xda2b4775,
+0xdcff1dc4,
+0x66b8ca09,
+0x56f46447,
+0xf694cba3,
+0x9bfdddc8,
+0x1361f40f,
+0xcd6de290,
+0x7afffeac,
+0x7791e7a3,
+0xd27ca5ff,
+0x144226a1,
+0x04a34a93,
+0xad0b5455,
+0xfb82edac,
+0x25bdfa01,
+0x941fecc6,
+0x4fd6032a,
+0xe6981ec7,
+0x769dc3dd,
+0x9f77ce7f,
+0x5c22c60d,
+0x6d295bc5,
+0xc314ef9b,
+0x7fb8cb5d,
+0xeb2414f6,
+0xab13e1ce,
+0x4f6a4a17,
+0x8154212d,
+0x8ce0e5bb,
+0x542dc3ea,
+0x9273dd54,
+0xb9d1d9ca,
+0x30ff8371,
+0x371b95ab,
+0x721fad06,
+0x52861e0e,
+0x166c2747,
+0x8f680b06,
+0x32c6d9d1,
+0x0f18b650,
+0x40859243,
+0x6727ce0e,
+0xaa6225ca,
+0xdf40bff3,
+0x08b20447,
+0x34333636,
+0x7d9f1094,
+0x6dcdff3a,
+0xaf89aa11,
+0x8d3269d3,
+0xa6f27509,
+0x26ed2351,
+0xb98bf7ce,
+0x36a19442,
+0xa5c0ddb5,
+0x04ff730a,
+0x225fb5d1,
+0x9d91ffb2,
+0x392ea080,
+0x944670ed,
+0x529b0419,
+0x6dc67d31,
+0xe0bf4349,
+0x5bf0aa60,
+0xa7427754,
+0xb7ff312d,
+0x699417e6,
+0xf4fe02ba,
+0x40efb764,
+0x466341fa,
+0x4c125c6d,
+0x2ed5f24b,
+0x4b2f30be,
+0xb849296b,
+0x3415488f,
+0x2f3e3e94,
+0x58e2f97b,
+0x779e18bd,
+0x40aa424d,
+0x7c2848e6,
+0x6a89bf1f,
+0x3dd5994d,
+0x75062bb6,
+0x1f29188c,
+0x461b2c4f,
+0x06255abf,
+0x0a33108c,
+0x1c7b8eab,
+0xd7a20071,
+0x7f73f738,
+0x8e18cc45,
+0x2df668df,
+0x447c002c,
+0x7dd863f9,
+0x4f3166db,
+0x732c75eb,
+0x5c0c1ee1,
+0xd5e74ee5,
+0x81889770,
+0x2ab2210c,
+0xbb1d8d34,
+0x1751d8df,
+0xa55e5711,
+0x70cbfd43,
+0x93722c86,
+0x48a2456b,
+0x21e4f5a8,
+0xe67cb533,
+0x8c61d067,
+0x6aae7c0e,
+0x8f9c2f1b,
+0x6c72fcf7,
+0x5d3bb11f,
+0x1b32d448,
+0x2f6e7de1,
+0xb611aa0c,
+0x73101d3d,
+0x0c00b025,
+0x4d95de19,
+0x36841f4a,
+0x89810736,
+0x427e10d2,
+0x7bc3d8ed,
+0xe47b0082,
+0xe0c4a3f5,
+0x9e7af1ca,
+0x1eaef0f8,
+0x19382ffd,
+0x87f20de5,
+0xd080d425,
+0x7cb68a87,
+0xe16fae10,
+0xad5129c5,
+0x9fc7a5c5,
+0xa282859d,
+0xd0afcb4f,
+0x93800236,
+0x20661605,
+0xc8e25b88,
+0x9409b765,
+0xc77f7b48,
+0xc8ccdf0c,
+0x6f3cf90f,
+0x9b0dd6ea,
+0x80a8fb99,
+0x9e465dbb,
+0x89afd0c1,
+0x27fb46cc,
+0x7d7acace,
+0x0cbf7050,
+0xfcaf054b,
+0xc4db6903,
+0xa41c3828,
+0xbd88c5b6,
+0xa3958c51,
+0xca72b9a0,
+0xf458e460,
+0x941e99f9,
+0x6c713430,
+0x2248972f,
+0x7f2bd193,
+0x70121a05,
+0xae4015c7,
+0x4a145ea9,
+0xce366fd0,
+0x040e714d,
+0xbb1384a8,
+0x1895e1cb,
+0xcea09767,
+0x0246643c,
+0xd9ba487b,
+0x9053d9a4,
+0x1dbfdc65,
+0x562672a9,
+0x961ea357,
+0x08be27b0,
+0x9c78410c,
+0x9e5181fd,
+0xfec078ff,
+0x8b4f5314,
+0x60541a4d,
+0xf56c41a3,
+0x0220ab68,
+0xc4d292ef,
+0xb5cbdc5d,
+0x24c20d16,
+0xf7d846b9,
+0x9af128aa,
+0x42a93372,
+0xde556d41,
+0x4ab2d958,
+0x66aaf537,
+0xd292c3d1,
+0x02adb9f0,
+0x6ef2705e,
+0x66b22994,
+0x86c6cd7c,
+0x89d96189,
+0x8b0033c3,
+0x8ae7cfc6,
+0x89bcf698,
+0x75952d7b,
+0x21571a21,
+0x0591126f,
+0xce0f82a8,
+0x5679ae77,
+0x8672032d,
+0xe225c90c,
+0x84b576e3,
+0x26231474,
+0x3e07647b,
+0xf5ee7fb7,
+0x4faead5e,
+0xf85a88ce,
+0x61fb8d0d,
+0x2d3d6942,
+0xd73cfed9,
+0x5b9d9431,
+0x8af3c4fd,
+0xa85e6398,
+0xa1b33492,
+0x4b59a981,
+0x15dba6c5,
+0x12cd1637,
+0x478e12b0,
+0x21a2e3bf,
+0x4019632d,
+0x448a0e3a,
+0xf6dff8b0,
+0xf722f2c1,
+0xf9929514,
+0x744e4c1e,
+0x0a3d013d,
+0x021a5698,
+0x263cfed3,
+0xc8aa1863,
+0xcfbd4719,
+0x40b46793,
+0xcf0f399c,
+0x3d8f637e,
+0x2b3c508c,
+0x6dac2fd8,
+0x3ca22215,
+0x99c4c6ae,
+0xeb2a6370,
+0x2afd3a42,
+0xe40da5c8,
+0x6663a282,
+0xf297d2fd,
+0xa9ebcd92,
+0x739cf346,
+0xf1077bee,
+0x3bea9cb8,
+0xe59139e7,
+0x998ad609,
+0x896ebb38,
+0x2d5d42be,
+0x4fd6b26d,
+0x2306e025,
+0x864367da,
+0x97746758,
+0x907ff28e,
+0xff480a7c,
+0xebd9b925,
+0xdee68ad8,
+0x42274dc6,
+0xb26f1196,
+0x156656f2,
+0xdfb543cb,
+0x773c8410,
+0x98122041,
+0x74b15928,
+0xf3720538,
+0xf046c805,
+0xa12fbf8a,
+0x311fcd72,
+0xf26f9646,
+0x5bf25975,
+0xe1fbf330,
+0xefdb114d,
+0x10436890,
+0x1487d42a,
+0x467c46b5,
+0x9792b3af,
+0x0d94d92e,
+0x84aa5d5c,
+0xedb225ab,
+0x1f171c39,
+0x99e21826,
+0xf4845f14,
+0x6edd055e,
+0x6b74c7e0,
+0x1ff1ab00,
+0x0fd9dbfb,
+0x521b02d0,
+0x476ce72f,
+0x5e774a47,
+0x966c7913,
+0xa619110a,
+0x2071ddc5,
+0x004bf580,
+0x509d66f1,
+0x534f7685,
+0xb7446e7a,
+0x6067805c,
+0x8a4f204d,
+0xe9e28248,
+0x89506cee,
+0x843e2265,
+0x443423b0,
+0x07bf9ae4,
+0x78a6fa12,
+0x1e247000,
+0x4fdc91fe,
+0x30be9390,
+0x800836d5,
+0x9a57b2ed,
+0xda64896a,
+0x779ba2ad,
+0x5832b84e,
+0x8dccd3e3,
+0x39bc308b,
+0x8f36fe87,
+0x188dc7c7,
+0x5244ea3f,
+0x479a58b2,
+0x1f3263d8,
+0xf8edcfc1,
+0xc40fc288,
+0xa9629d7d,
+0x28457ed6,
+0xdf82019b,
+0xc15b44cb,
+0xe06eddef,
+0x8a59c51a,
+0xdcba8d94,
+0x11a35f98,
+0x2c83dee7,
+0x3d9924ec,
+0xf94ed25f,
+0x26a1490f,
+0x4cd9143f,
+0x17693dd9,
+0xdc5839a7,
+0x6e58dd05,
+0xaae84e2c,
+0xff9a050a,
+0x30d1edc8,
+0x45ce39a7,
+0x32a1bf18,
+0xfdec0105,
+0x13732b22,
+0x7f3d1be5,
+0x95ec2b53,
+0xcfe42ce2,
+0x745300c4,
+0xd1f412b9,
+0x8b6ee032,
+0xc26f506e,
+0x31a6e583,
+0x28e3f8da,
+0x5456c51d,
+0x4f8a4bad,
+0xa85ed606,
+0x7b2a182e,
+0x8ee85dca,
+0xc5ffb799,
+0x0dc33662,
+0xbcb78275,
+0xd5975a42,
+0x9b3a1ead,
+0xe1cf3d0b,
+0xf9d960ff,
+0x4fb89bda,
+0xda24ae4b,
+0x87d3c209,
+0xacb71211,
+0x7ef724ce,
+0x1ed2a21f,
+0x0744a403,
+0x961025e9,
+0x51871ec2,
+0xe015ab5b,
+0x359a6747,
+0x5b424912,
+0x4b5314ee,
+0x07a2e26f,
+0xf91f8b86,
+0x823075b0,
+0x6ae7ba37,
+0x5ada20cd,
+0xb9b35c77,
+0x04c40639,
+0x9172e15e,
+0x67cc5a8b,
+0xbe6fbccc,
+0xa626c5e1,
+0xeb0dcadd,
+0x6d82fe0f,
+0x7d996b75,
+0x4d713af1,
+0x38a6fb3e,
+0xe2428fbc,
+0x02ce4200,
+0xb32fa7f8,
+0x65d31817,
+0x78a1bde0,
+0xffc944f8,
+0xeed5dfd4,
+0x78fa6a32,
+0xa15f5e7b,
+0x2760ef65,
+0xaec9d389,
+0xb73edb58,
+0x29484b34,
+0xbd52e5fe,
+0xc43ea5e7,
+0x799589bf,
+0xe8bcf4b9,
+0xfc1d07a4,
+0x525b535f,
+0x78b7b857,
+0x7f79224a,
+0x19e9f6e3,
+0x30ed7d3f,
+0xde158c44,
+0x0d25e729,
+0x7555bb5f,
+0x114bd4b7,
+0xc8c4bd78,
+0x410b82d6,
+0xaad458a3,
+0x59bffd61,
+0x36d6eef3,
+0x7f8a1698,
+0xcc9bb6dd,
+0x698f889c,
+0x05f0de93,
+0xb5e50c87,
+0x85999121,
+0xd54d151c,
+0xed8a789a,
+0x3fc25814,
+0x50294dc7,
+0x7ea33ba3,
+0xc4482312,
+0x7c4a9874,
+0x23eff08a,
+0x2b2a4689,
+0xc52d2944,
+0x6a342c6b,
+0x60f3373e,
+0x6eef6d32,
+0xe728af35,
+0x0328e46c,
+0x6143f0cf,
+0xa476a927,
+0x8daaaf46,
+0x12b6fd56,
+0x73d39180,
+0xb17be29e,
+0x5b41a7ff,
+0xe800805e,
+0x709a1d18,
+0xd27a7faf,
+0x3ee0802d,
+0x9efcc00c,
+0x671328ab,
+0x78679e67,
+0x9c267e27,
+0x3befb705,
+0xc88ba696,
+0x4ef84e4d,
+0x1ac06ccf,
+0xf854b9ef,
+0x3db1f4ce,
+0xa312cb7d,
+0x96bd9a5e,
+0xa1a86a88,
+0xf2fc95c5,
+0x338d3818,
+0x0ce4f757,
+0x9dd01f6f,
+0x3e9c89e7,
+0x21cddd2f,
+0x4036484a,
+0x382134c2,
+0xb0431905,
+0x3b336b94,
+0x1716fcf1,
+0x5a6bffc3,
+0xfcb022ef,
+0x06f6ad72,
+0x52d2e1fd,
+0xca827d18,
+0xc6c0b6b3,
+0xd2aa1cd8,
+0x79a5afb4,
+0x04266c33,
+0x97f7e898,
+0x2f9f5144,
+0xf9315b9b,
+0x9f922ee1,
+0xf58f9394,
+0x19de0d40,
+0x49b4b82b,
+0x21bb7a21,
+0xb2528e11,
+0x8603b01e,
+0xaa62fef2,
+0x61c86fd0,
+0x43290d12,
+0x626f7acd,
+0x87b1b2d5,
+0xb5bca017,
+0x78d4ba2e,
+0x698ddc81,
+0x420d8a03,
+0xff8056f3,
+0x08c29a8a,
+0x9283087a,
+0x2074f6df,
+0x368d9db0,
+0xd14e9b9a,
+0xb218a414,
+0xaa324116,
+0xf000b653,
+0x4ab4a28c,
+0x6761e166,
+0x66235648,
+0xeeffec45,
+0x409d0600,
+0x7b44a16a,
+0x0be360fd,
+0xd4944b2f,
+0x3e77c536,
+0x11d8291e,
+0x55187913,
+0xfaa5587c,
+0x03c241e9,
+0x062b647c,
+0x49dc38cf,
+0xaa8a5718,
+0x7bb17303,
+0xff08fdd1,
+0xb76aef8a,
+0x701a7f69,
+0xd1e22088,
+0xfe156b70,
+0xa6c0c6d9,
+0xd299bd4f,
+0x2d83b74c,
+0xb427be68,
+0x781b4bf5,
+0x5716cb00,
+0x6ba36b14,
+0x7a828e1b,
+0x3c07f1bc,
+0xe32a27f9,
+0x4b962f16,
+0xa9a03cb2,
+0x382a0ff4,
+0x3acfcc65,
+0x6aa11703,
+0x2b9df463,
+0x4b210237,
+0x6f322f43,
+0xc7ca9415,
+0xfd1e6a1e,
+0x97aef4bd,
+0xc035d6cf,
+0xf8e3b48c,
+0xdd881ff7,
+0x03811249,
+0x54caa3de,
+0x6e5dee61,
+0x4b81ad12,
+0x6445ed65,
+0x1f4a6abe,
+0xd6e9382a,
+0x4eb0fcbe,
+0x0efe5367,
+0x4fd9499d,
+0x0af0499d,
+0xad3057bf,
+0x74d240ae,
+0x8366bb5b,
+0x04699112,
+0x54d13ca3,
+0xb387e7cb,
+0x874aa47f,
+0x0e0f18d7,
+0x9165f7bd,
+0x289dd31a,
+0x6455e525,
+0xdf360ac9,
+0xe08ab6a6,
+0x02bd7668,
+0x6a24bc43,
+0xfd56c7ad,
+0x8d6b0d39,
+0x0b14c51f,
+0x7af8aaa5,
+0xf38496d3,
+0xbcd309b6,
+0x56e57cd3,
+0x94f0833b,
+0x74511b5c,
+0x158af285,
+0xcfa5c98e,
+0x5645aea4,
+0x4a54fa88,
+0x55bf9f9f,
+0x5ce13f6c,
+0xb13f79a3,
+0x1510ebe8,
+0xedad6734,
+0x50cdef3d,
+0x09dcfbc7,
+0x9fcbdf52,
+0xd25dad3e,
+0xc73c091f,
+0x935c307c,
+0x321c571a,
+0x8f43d0cc,
+0x1b801581,
+0x1179b1b0,
+0x145e469f,
+0x66ae1ebe,
+0xccc7623c,
+0xbd697513,
+0x18f88cb2,
+0xfcf762a7,
+0xc54f3890,
+0x20907b0a,
+0x8826340d,
+0x63230dca,
+0x1ac20047,
+0x69253b42,
+0x2b5624f7,
+0x053e60b7,
+0xf30e244e,
+0x9ff6c537,
+0x9af7592c,
+0x61fd5a6e,
+0x9b297f8b,
+0x07027971,
+0x7f8c95a4,
+0x2657b7d6,
+0xe93e9c07,
+0x8366b0d6,
+0xc9627da3,
+0x8ca936ed,
+0xfcb29a15,
+0xa09be600,
+0x9e726999,
+0x0bea6b02,
+0x75868980,
+0x056ee17a,
+0x0fc59a12,
+0x33353f6f,
+0x3b7048cf,
+0xe6ea3f27,
+0x3c34ecfc,
+0x3fec41ec,
+0x0765a498,
+0x0f436b22,
+0x6321be2f,
+0x3999a0a4,
+0x8cad9496,
+0x833a2318,
+0x67462e4f,
+0x4c79659d,
+0xee1ac8ee,
+0xa7e2f5cd,
+0x562f1f18,
+0xf8ba12bd,
+0xb0f1d0c6,
+0x69bbfa16,
+0xc39745f4,
+0x0acc67da,
+0xe2b998b3,
+0x8b170825,
+0x17871d8a,
+0xdb9b043b,
+0x16a0fb4b,
+0xf2f3c2f6,
+0xa7b6b8f5,
+0xe586105b,
+0xc7c3c595,
+0x11bfde7d,
+0x64cd1ce3,
+0x541cb594,
+0xc328ae65,
+0x6b0f9435,
+0x97895bb2,
+0xca54e5e9,
+0x73050fd3,
+0x6b95172a,
+0x863e582c,
+0x5a19d1e1,
+0x72878e47,
+0x48f0dcbd,
+0x5350327e,
+0x4c25d83e,
+0x05914d71,
+0xccb8245a,
+0xd6b55fa8,
+0x3ff1e02a,
+0xb9ef484e,
+0x63433cb4,
+0x3cae4ec5,
+0x7049eaa2,
+0xd844a556,
+0x7664bc2c,
+0xac962d4e,
+0x24a5cf62,
+0xafad64bc,
+0x46b7d211,
+0x71401c93,
+0xa0fdec11,
+0x107961b6,
+0x8f0a41c3,
+0x1759de60,
+0x29315836,
+0xca49fe2d,
+0x50b343f1,
+0x450ca109,
+0x8b1c890f,
+0xdfbb21dc,
+0x80ad0d94,
+0x9984bbd9,
+0x89a59bc6,
+0xe5f2eb3c,
+0x486512ad,
+0x017e782f,
+0xfdca174b,
+0xf2ad8f03,
+0x8b57abee,
+0xb2d189ec,
+0x7ce792a0,
+0x3cc475af,
+0x6c5f6562,
+0x5e10346b,
+0xf33119d6,
+0xa48c8331,
+0x585c2045,
+0x93c33cac,
+0x0029857e,
+0xff85086a,
+0xa88e3711,
+0x5d8f0780,
+0x09060b09,
+0x6db1552a,
+0xb8bb51c2,
+0x5fb7a8a7,
+0xd401edd3,
+0xf4ada874,
+0xce4f2c0e,
+0x5b0a95c2,
+0x20e2046e,
+0x921f4a8e,
+0x9a0583ee,
+0x24d22706,
+0xbf7e1d7a,
+0x9a6bdc99,
+0x158bcdb0,
+0xb4d6ead5,
+0xf08c5f86,
+0x65788fda,
+0x7dcaad48,
+0x68f49ae2,
+0x05dbbfd5,
+0x5c473d0c,
+0x14045a0c,
+0x07a433e0,
+0x9d0a8195,
+0xbd576c02,
+0xa350393f,
+0xf65c1320,
+0xcad3ec95,
+0x908733cf,
+0xfc3237f9,
+0x576d7ed4,
+0x8aa7bef2,
+0x671cf7c3,
+0x3de1fd1a,
+0x3b29059f,
+0x7a957e41,
+0x9dcc346d,
+0x13af2aa1,
+0x6ec594d2,
+0x377b0fb8,
+0x3a291144,
+0x5ae6c14b,
+0xa2fa014a,
+0x6e4b1739,
+0xadcad7d7,
+0x0d87813a,
+0x6b15ea15,
+0x6ddb9034,
+0xd2b38b20,
+0xaf20038e,
+0xfa90473e,
+0xdcec9c09,
+0x02773395,
+0x9576e5f0,
+0x6e3d8603,
+0x8399662d,
+0x149bb5e4,
+0xae9b99c7,
+0x8bad354d,
+0x06aad231,
+0x451c5d19,
+0x38c50ade,
+0x3311a063,
+0x239cb980,
+0x393aecc6,
+0xb7a0e8f7,
+0x5b4481ef,
+0x3e959dbb,
+0x781b693a,
+0x8db072d2,
+0x8677705a,
+0xb079c3a2,
+0x10811066,
+0x63d28d7b,
+0xf2e75562,
+0x94783ecf,
+0xc8d6a326,
+0xe7de4e2a,
+0xe3aff6a2,
+0x8b435c49,
+0x1eeb8345,
+0xfca8e8a4,
+0x5d4cf968,
+0xec78740b,
+0x479f3e5f,
+0x2e97be38,
+0x7a8b6c64,
+0xea457cb6,
+0x0187d9e8,
+0xf8bf45f8,
+0xf0f370f1,
+0x041b17ca,
+0x263bbef0,
+0xcb56ee2a,
+0xdb8f0bdc,
+0x7961304e,
+0x5840a50d,
+0x5dbda193,
+0xdb58cbc2,
+0xf07752d4,
+0x7a330b26,
+0x4c5a38a6,
+0xfce7b80f,
+0x15bee190,
+0x37461c8d,
+0x0152dd7d,
+0x7ab42612,
+0x74b1bf75,
+0xe090c76f,
+0xd969de25,
+0x2577f767,
+0xa133c41c,
+0xd394eed1,
+0x5e555b53,
+0x7951c7d1,
+0x634f6ec0,
+0xfa458306,
+0xcd29f531,
+0x94d3142c,
+0x8d731e34,
+0xcfb4f7ae,
+0xb8234eb2,
+0x834fe1f8,
+0x3be940c7,
+0xca1fb372,
+0xec538341,
+0xb5bb230c,
+0x64a024c0,
+0x96eefb91,
+0x4f26c5d6,
+0x74db7828,
+0xab54c443,
+0xb1813fa4,
+0x69b4cf71,
+0xa5a34d0b,
+0x6528cd2f,
+0x01540d62,
+0x285965d0,
+0x84206562,
+0xb09bc090,
+0x45a129eb,
+0x0eb70c71,
+0xb75dd5ec,
+0x19a527ac,
+0x82194bbb,
+0x74ae0a2b,
+0x3e795f3b,
+0x286355a3,
+0x66e2785b,
+0xaa7632d8,
+0x4b56fcfb,
+0x68106747,
+0xbe42d570,
+0xcabf67db,
+0x24801abd,
+0xed6077d6,
+0x4dafd3e1,
+0x1d010122,
+0xf6f997c7,
+0xc5a0932b,
+0xf166f7c8,
+0x36154c6a,
+0xf7b7cf33,
+0x679c51f1,
+0x7f59a50b,
+0xd5fb4a25,
+0x40380bd3,
+0x7f537928,
+0x4139cf2a,
+0xda61cbe0,
+0xde8457e9,
+0x9a6659ee,
+0x5be71003,
+0x61f03850,
+0xd316924c,
+0xd3e89d5c,
+0x0bc98645,
+0xce6a8224,
+0xaebd87c3,
+0xad75fd54,
+0x276a0fb2,
+0x7a56627d,
+0xabff12ee,
+0x98d59aef,
+0x9da65969,
+0x4d5aed8b,
+0xc6916bf6,
+0x4462a3f4,
+0xffca6423,
+0x8e29e367,
+0x095a0c11,
+0x79ad081c,
+0x1a96de3c,
+0x60087162,
+0x5b6cad98,
+0x5b870f4a,
+0xcf918adf,
+0x8683f17d,
+0x7d7d7677,
+0x551d0d43,
+0xb9f7c8fb,
+0x9614720c,
+0xa40273e8,
+0xd31e68df,
+0x3c1e8780,
+0x0027249e,
+0xed8fd227,
+0xa60fb11b,
+0x8bc71f6f,
+0xbc7c0455,
+0xcd582db2,
+0xbaa4950d,
+0xb50fcbdd,
+0xa0e3cdf4,
+0xee136c88,
+0xc447b26c,
+0x7fd8b84d,
+0x85891957,
+0xcfcc2f2f,
+0x08971228,
+0xb6ea4616,
+0x79f9b250,
+0x2b014a8e,
+0x8c310b96,
+0xae6a5c60,
+0x8ec2bb05,
+0xc82f5ed3,
+0xf7aa8702,
+0x3914ff37,
+0xec7a52c5,
+0x24c7115e,
+0xe9e434f6,
+0x0c99456d,
+0xb880325b,
+0x6349f71a,
+0xdb3b68b4,
+0xc6a99810,
+0x3a02d7e3,
+0x44798a7b,
+0xfba1fcc6,
+0x37851802,
+0xda010f4e,
+0x369274f1,
+0xd7b4be67,
+0x7556a64d,
+0x95c7ca6e,
+0x6a28432f,
+0xec8172ac,
+0x40f12dec,
+0xc3d3a208,
+0x89b59e68,
+0x3ad194f2,
+0x1b2b29c6,
+0x334ffae5,
+0xf6325e57,
+0x2307f235,
+0x854c66a2,
+0x941ce308,
+0x26dc8fb3,
+0xdd1dc0c8,
+0x67c3c41c,
+0x055a1754,
+0xa080888d,
+0xabd296c4,
+0x6844cfba,
+0x7e1e306c,
+0xa199341c,
+0xcd035898,
+0x22953627,
+0xd0aac166,
+0xf84d29b9,
+0xaae72406,
+0x2cf22d50,
+0x41e154e7,
+0x4f7e1868,
+0xfa29b9cd,
+0xa92236e0,
+0x24c4f55b,
+0x61554adc,
+0xc82d430e,
+0x0d88f361,
+0x3d7bdc64,
+0x17d12bac,
+0x9d68377e,
+0x89fd938e,
+0xa6b2b7dd,
+0x6720ee65,
+0x452c15aa,
+0x3a577f18,
+0x9fd6b2d2,
+0x7860e8c2,
+0x6468aa3b,
+0x71255fbc,
+0x07ad8cc8,
+0x13b54e02,
+0x045dbee7,
+0xdbb06125,
+0x38ae3144,
+0x5f435b53,
+0x7395aa5a,
+0x16e660f6,
+0x3f642e6d,
+0x4a7cea85,
+0x7d0e459f,
+0x9f7c6165,
+0xa2a875a9,
+0xa968e73b,
+0xcbed0885,
+0x6dd77e12,
+0xf2cabd03,
+0x836e383a,
+0x29e1bfe0,
+0xf2ba4d61,
+0xc1f8721b,
+0xfbad0fe0,
+0x53df48b5,
+0x15bc5f5a,
+0x54240ae3,
+0xc48f727c,
+0x7a2c817b,
+0x55c19af6,
+0x2652b7de,
+0x8b494b80,
+0x932e3232,
+0x6789b4e7,
+0x10d43450,
+0xffca4d99,
+0x3b5d1a6e,
+0x5668a780,
+0xd217d20e,
+0x19f76cc2,
+0xbaf8d598,
+0xdf96df18,
+0x627c2a03,
+0x2a2cc064,
+0xf0eafb27,
+0x932744dd,
+0x35ec5da4,
+0xebbd2464,
+0x66f88ac9,
+0x8796dab7,
+0x7e7aff27,
+0x53bcbe3c,
+0xf8bf615e,
+0x932eb968,
+0x09c78a60,
+0xeac75ce8,
+0xb5b8c8d8,
+0xf7638b8f,
+0xcd1fb588,
+0x2ff851a7,
+0xead0be57,
+0x1df8b79d,
+0x35aa33f8,
+0x3232ba66,
+0xbde21f08,
+0x5794be6f,
+0x66bad812,
+0x550c136e,
+0xa9bf4af0,
+0x52a1471c,
+0x67a2bca9,
+0xc4b24145,
+0x3fa56197,
+0xbcf3c8ec,
+0x7b109f0a,
+0xb91fd9a3,
+0xb1c4b7b8,
+0x2798a820,
+0x91314197,
+0xb63b2ce5,
+0xf2942b72,
+0x7b4afd63,
+0x7ae0b980,
+0x59e127f7,
+0x885c1255,
+0x79649302,
+0x4288c296,
+0x1f67aee4,
+0x5b91f88b,
+0x22fdb73e,
+0x4ee7406f,
+0xf57686df,
+0x133d1926,
+0xd061099f,
+0x1d54475d,
+0x489f5faf,
+0x032e3fa3,
+0x21b7e821,
+0x665cdac3,
+0xd5ebf76a,
+0xb0ff2550,
+0x511e05f6,
+0x9e919a31,
+0xf3b2d762,
+0x8bbfe0c5,
+0x9741cb4d,
+0x2f707aa1,
+0x8efd7863,
+0x0caca328,
+0x070562b5,
+0xe64cb9b5,
+0x33dcfdcf,
+0x3538ae4a,
+0x64f31f4a,
+0xaefa994b,
+0x802f81a3,
+0x3dfff95e,
+0x0b09711b,
+0x1dc4f76e,
+0x903dd6db,
+0x618da553,
+0x9764784b,
+0x147d8a75,
+0xaa0418aa,
+0x39c25938,
+0xfc9e5482,
+0x9e7e8029,
+0x93fd29bb,
+0x80180cee,
+0x14ae2842,
+0xd2cee3e7,
+0x618b6d31,
+0x27a0b919,
+0x5295a85f,
+0x6374fb05,
+0x7eada45b,
+0x3e906b3e,
+0x38a851a8,
+0xfa316127,
+0x76e19578,
+0x236fbfc2,
+0x3a6571c2,
+0x3c2c5539,
+0x143d1f8a,
+0xfcbb595f,
+0x5eaadc2c,
+0x3d024da7,
+0x0a0a18ad,
+0x588a889b,
+0xa467d7ab,
+0x034ea81e,
+0x06963535,
+0x5ff58cba,
+0x2dafa002,
+0x7c2e368b,
+0xbe1e5498,
+0xae81d1e3,
+0x48e4e660,
+0x63cb1157,
+0x4dc1c9fd,
+0xd7f5405e,
+0xc0125ab3,
+0xf4a4bbf6,
+0x676a8aa6,
+0x822bf9af,
+0x82e37093,
+0x7383a321,
+0x2e5ae265,
+0x4261cf90,
+0x148eb42a,
+0x69900a5a,
+0x461462df,
+0x6ff854b3,
+0xd58c0b3b,
+0xd6dc8e11,
+0x487c7abf,
+0xe8947b58,
+0x019241fe,
+0x43735949,
+0x25d32297,
+0x4a0f5672,
+0xa8f2eb38,
+0xf5a471ad,
+0x618cf0d7,
+0x51159de7,
+0xe40df2fd,
+0x41dc27b9,
+0xe93d8beb,
+0x239bca23,
+0x44c8a67c,
+0x3d5f865f,
+0xade43fbc,
+0x313aacc7,
+0xf7102d88,
+0x6038d233,
+0x2a52bbae,
+0xc09c5539,
+0x69ce38e0,
+0xac2c09ec,
+0x52e23d4a,
+0x337e20f2,
+0xc7cf0697,
+0x2d874cae,
+0x939561ef,
+0x26f61cf3,
+0xdf5ed578,
+0x282cac56,
+0x4942dc09,
+0x2eab1751,
+0xd4d91ecb,
+0x2b30f9b5,
+0x3217139b,
+0x802db770,
+0x9220c0dd,
+0xef3af5c8,
+0xf5cd1aab,
+0xb0b9dd0c,
+0xc7f99bcb,
+0xdd37fea2,
+0xe55dfc0c,
+0xd74557ce,
+0x7cbdf342,
+0x431a0dab,
+0xe4861a65,
+0x6a15f833,
+0x6c66bc1d,
+0xa8a0149a,
+0xb27926ad,
+0xb53e159c,
+0xb8907fc0,
+0x8a25541e,
+0xae32fe35,
+0xe5e33605,
+0x850fff10,
+0x0a5953cf,
+0xd41d20dc,
+0xeca215ad,
+0x2de12465,
+0xf0d9426e,
+0xa67924b9,
+0xd849049c,
+0xcd7c0464,
+0xc32a10cf,
+0x5cdb9eb7,
+0xe8fa7633,
+0x2295530c,
+0x13771264,
+0xdc1b32c1,
+0x2face71c,
+0xf13aa99b,
+0x9ee13cff,
+0x60c31c09,
+0xacd9694a,
+0xb0552dd6,
+0xebd9962b,
+0x14f466e0,
+0x443b7fab,
+0x8a0b6504,
+0xfe2cbe8a,
+0x90adc983,
+0x9a2b2599,
+0x5ecc99b3,
+0x6c4be4d2,
+0x79e34d46,
+0x9dba0209,
+0x292130f0,
+0x9c5fb73c,
+0x131a0c25,
+0xdfb29d0b,
+0x16b47d4f,
+0x24ac0b7a,
+0x6789a855,
+0xdcd4ca0b,
+0x5fb12caf,
+0xc6afbef3,
+0x4c3a7be9,
+0x532b298c,
+0x6bb6db9e,
+0xcd691c41,
+0xf6cf0ff7,
+0x6dcb56b6,
+0x6dce6432,
+0x7d57cda0,
+0x4c02576d,
+0x52afb12b,
+0xe29cba24,
+0x6597496d,
+0x0a084001,
+0xece19ca2,
+0x6c10a54d,
+0x6a51f482,
+0xea072d1d,
+0xa5dfa7f7,
+0x28f53f79,
+0x2d4de993,
+0x077b8191,
+0xd9b92dad,
+0x9e6f976b,
+0x205b954d,
+0xa86c2feb,
+0x8f275df1,
+0xa13375ee,
+0x68f6d714,
+0x62420dbe,
+0xcd820900,
+0x84047499,
+0x56466e1a,
+0xbd1840df,
+0x37dc9a60,
+0xccaabd97,
+0x9932848e,
+0x3644d031,
+0x101374cf,
+0xe3807321,
+0x6508837c,
+0xb9572951,
+0x2f316640,
+0x258ec18c,
+0x82517384,
+0x0c5179c3,
+0x59c10088,
+0x6aa06576,
+0x8fee267e,
+0xa061f761,
+0x340f48ab,
+0xb15e1e3d,
+0xa0337c2e,
+0x83b7b0dd,
+0x9b7ff905,
+0x4dc13611,
+0x9dec48d8,
+0x82465214,
+0x62d94d59,
+0x127baca3,
+0x939630a9,
+0xf411b590,
+0x649d4b01,
+0xff799452,
+0x83942db3,
+0x8f4b2b7b,
+0x281ee429,
+0xfaa5825e,
+0xf15c7c1d,
+0x93302386,
+0x54d4645e,
+0xdfaa8150,
+0x4ca4fe49,
+0x1a8ff386,
+0x9b84757d,
+0x035dba4e,
+0xae06ae24,
+0x02a59c73,
+0x9b95fb79,
+0x4e177cac,
+0x964ee4b7,
+0x3a220153,
+0x4c6e6ce9,
+0x99147e80,
+0x0b7bccd3,
+0xb181ecf9,
+0xf141d184,
+0xed88e2e0,
+0x7d637c53,
+0x80f0d176,
+0x38cfe541,
+0x780f5ab0,
+0x31d3f93e,
+0x3d448793,
+0x0d30bf9a,
+0xc76a666a,
+0x2147586c,
+0x4bb0bf5e,
+0x5b7c0c83,
+0xf17eaf69,
+0x8eb42510,
+0x7f0ff7b7,
+0x47ae41a1,
+0xa11f6de7,
+0x4a6d2265,
+0x009a6569,
+0x751fe0d8,
+0x8d5d0a89,
+0x5c2eb1ed,
+0x9d7d2f25,
+0xc6572433,
+0x63fff3b6,
+0x776598e8,
+0x6070d1cc,
+0x4dd76287,
+0x046073f8,
+0x8269b76c,
+0x0c4efd3a,
+0x2b4a425f,
+0x2f078353,
+0x16d8cc1f,
+0xb674c851,
+0xaf949db2,
+0x1c5e6cc0,
+0xf0edfa86,
+0x9884f6e3,
+0x72db7f32,
+0x6109e3bb,
+0x4839f3f2,
+0x4aee1b72,
+0xdd83b374,
+0x2d556c7f,
+0xbe2a92ce,
+0xf02edc20,
+0x6d898406,
+0xd18b9781,
+0x9bb7fcad,
+0x0085aab2,
+0xeb0af4dd,
+0xb7d7abd4,
+0x69d1d951,
+0xd7988763,
+0xf96b99b7,
+0x3f279436,
+0xbc1e7600,
+0x8fbeae92,
+0x1a90fc81,
+0x228f7cc3,
+0xbb835727,
+0x6a69422d,
+0x98d9d50b,
+0x125a4d15,
+0x79a9fcb7,
+0x98889c19,
+0xd05ed66b,
+0x67a54297,
+0x3143ff0f,
+0xbd70d65a,
+0xe9271782,
+0x9265d9b2,
+0x4658bfe8,
+0xae909aa3,
+0x2af761ea,
+0x112fc6f6,
+0x20fadc4f,
+0x97c1f885,
+0xb35ea25c,
+0x49203110,
+0x399c7e27,
+0x53aa037e,
+0xfc4fc904,
+0xa7203f8b,
+0x95aa17d3,
+0x23180e9e,
+0x8a6e8058,
+0x8871b649,
+0x7398eb48,
+0x840d3ce1,
+0x63307521,
+0x744664ca,
+0x3a3855a6,
+0x641f8fe1,
+0xb729ca61,
+0xda13f604,
+0xca197078,
+0xc05af826,
+0xa100d58d,
+0x94c182a9,
+0x6d1fa9ea,
+0x6a4e07a7,
+0x22e0b45e,
+0xc1f09fe5,
+0xcfb7a72c,
+0xfc8a2718,
+0x0881e9ff,
+0xe14dc38e,
+0x61dd2ea1,
+0x9fe602d8,
+0x2bfa8169,
+0x6fe85bae,
+0xbf83f424,
+0x22ea4019,
+0x6477586e,
+0x7d31ba69,
+0x6382309d,
+0xf4547c65,
+0x27685549,
+0x7ebe0e3d,
+0xe7084787,
+0xbfe4aa2b,
+0x7e15437f,
+0xbf9a7c97,
+0xc4e11fe0,
+0xf76fcc77,
+0x56b28631,
+0xce0f1dd4,
+0xecfb9290,
+0x6f59f415,
+0x0f573672,
+0xaa05064d,
+0x85b5592a,
+0xea0f2bcf,
+0x6939e47d,
+0x07d1d028,
+0x25fc219e,
+0x8babaf4a,
+0x1f41d382,
+0xbe679ff9,
+0x2e7676bb,
+0xfd735dac,
+0x00bf7558,
+0x733d706e,
+0xf2f08aa1,
+0xec6b9575,
+0x3c32379e,
+0x380767f2,
+0x3fc26095,
+0xa8c455ce,
+0xaba21348,
+0x41a8501e,
+0xbe9e3b9c,
+0x0a2293f3,
+0x2daff3c6,
+0x7728fb91,
+0x04a44ac3,
+0xe30df029,
+0x122de59e,
+0xe7b8f5e7,
+0xcfb6d692,
+0x8875d2ce,
+0x43858ce4,
+0x984bd9d7,
+0x97842bc7,
+0x7bb98d75,
+0x83be0ca5,
+0x5ca28bb8,
+0xa3ea0713,
+0x7e79a595,
+0x5b8d9eec,
+0x2842ee33,
+0xcfb3961d,
+0x043212ce,
+0xd8502ebb,
+0x04c252c3,
+0x099101e0,
+0xb4719bd9,
+0x8fc3947c,
+0xdf2e8c7b,
+0x04e4bfb6,
+0x11f2d50a,
+0xb0dee3b3,
+0x8f16f056,
+0x42608d2d,
+0xd5a587f7,
+0xe66b7336,
+0x8195a067,
+0x72fcf7d7,
+0x40931904,
+0x6989012f,
+0xc35559d1,
+0x05927ab9,
+0x2f8dd75c,
+0xdca09784,
+0x5d7690f3,
+0xc4c0fd69,
+0x897bef96,
+0x1f1d09f7,
+0xa644c97b,
+0x963be649,
+0xd835aa72,
+0x2618afb9,
+0xeebd6f14,
+0x4eb559e5,
+0x71d91983,
+0x5ffe0bd1,
+0x31cf5724,
+0x3e9004b6,
+0xf27ff08f,
+0x5b784f1f,
+0xbacda9e9,
+0x22d44100,
+0x50423732,
+0x30a39b5c,
+0xe914b785,
+0xa446803c,
+0xba1add83,
+0x36b4f54a,
+0xb0656fcb,
+0x8d26c060,
+0xf3af0f12,
+0x8a38b118,
+0xa26a3cd2,
+0x99bad390,
+0x254cc6dc,
+0xd1a9749b,
+0x16e791b2,
+0x1d327476,
+0xa4efafc7,
+0xf662e650,
+0x8e5eb4dc,
+0x0fe40c08,
+0x59353cc8,
+0xdbc1bb7a,
+0x121b7d1d,
+0x477b4aae,
+0xda49f2b4,
+0x542fb7b4,
+0xef26fefc,
+0xc590f8c3,
+0x3d8b3755,
+0xa977385f,
+0xa424a04e,
+0xdfce0f39,
+0x37625078,
+0x3e0edbca,
+0xeb0a37d5,
+0x07953c57,
+0xc6e833da,
+0x1e0414ac,
+0x61272138,
+0x0f4c24c0,
+0xfdeb9d0b,
+0xa788ba69,
+0x23a925c4,
+0xc907493b,
+0x8974d5c0,
+0xa49d5260,
+0x1ffcdb30,
+0x873bfdd9,
+0x2b664cde,
+0xf3d81e86,
+0x518c445c,
+0x8bc6417a,
+0xe718b4a9,
+0x43ad6ed2,
+0xb939ac72,
+0x904bd0ae,
+0x56e14a3f,
+0xc4ba30d3,
+0x3dcb3cd6,
+0x684d12a4,
+0x8bcf6b85,
+0x7d9a9c89,
+0x7b6c282b,
+0xe2ff110e,
+0x8ff8518a,
+0x05f3c503,
+0x040308fe,
+0x9767974c,
+0x0e635744,
+0x37952084,
+0x23fd91e4,
+0x992e9be2,
+0x3553de7a,
+0x8e251fef,
+0x7b00285d,
+0xddeba12d,
+0x46427085,
+0x109ea024,
+0x6d540f82,
+0x1f07a05d,
+0x6bcbc9bc,
+0x2e20faa8,
+0x3dc9e488,
+0xa2a7a974,
+0xf6c4afe1,
+0xe8994a63,
+0x52eb5f66,
+0x8b92738b,
+0x70f20720,
+0x821ab4f6,
+0x84cb0e4a,
+0x751ffac8,
+0x1a6e4ee2,
+0x0b26029b,
+0xf8c65c0b,
+0x862768da,
+0x31912fb8,
+0x3e7d9426,
+0x643ad664,
+0x90517336,
+0x9e0a2899,
+0x7cee130f,
+0x629d8574,
+0x1c3e7783,
+0x08f4c32d,
+0x4c367987,
+0x0ee5df2d,
+0xc97c5360,
+0x7938b1a9,
+0x06b6cfd6,
+0xf4c5d842,
+0x48118ecf,
+0x21b760d4,
+0x9cd3b05d,
+0x3d627749,
+0xeb6bf715,
+0x72655479,
+0x3810654e,
+0x50869dd1,
+0xd1914181,
+0x47fc8c68,
+0x87f75e93,
+0xfbbd6ed4,
+0xcdd372dd,
+0x4f9e4e01,
+0x449a0bfd,
+0x6a55e6a6,
+0x63082c04,
+0x701cd4ee,
+0x350e11d2,
+0x51dfc65d,
+0xd1d36149,
+0x4d594c9e,
+0xdba0fcf0,
+0x48423070,
+0x57d37906,
+0x30ae1bf3,
+0x01e66bd6,
+0x5211e12f,
+0x45a1bc7b,
+0xe1b1009a,
+0x073f3848,
+0xf25af776,
+0x1b7b7c7b,
+0x6015a818,
+0xf5334e54,
+0xff439967,
+0x6adf2910,
+0x1e04f87d,
+0xd56a2bda,
+0x1a7b6121,
+0x047e30e3,
+0x46343afb,
+0xe7de998a,
+0x06d95aac,
+0x018acda3,
+0xc8471e17,
+0x8e11c910,
+0xc75863e5,
+0x9b37ae19,
+0x65a72157,
+0xf675d7c9,
+0x96ce670e,
+0x00c4a9fd,
+0xc7cefa92,
+0xb9691a84,
+0xb4431dec,
+0x5e3691d8,
+0xaa02c2a8,
+0x12f9edb2,
+0x9673cf20,
+0xe0c7f419,
+0x2402e782,
+0x0d9161a0,
+0xdb2b79bb,
+0xaa562f3c,
+0x5b684812,
+0x10b5f3a0,
+0xba321f1a,
+0xbe9e1cdb,
+0x93636292,
+0x812cb7f3,
+0x97b38a00,
+0x4e664be5,
+0xd3d2d54f,
+0xb5b93f7a,
+0x5c8b2524,
+0x7dbaf8b0,
+0xd2ab0028,
+0x791a6fb5,
+0x4062c23d,
+0x9c2459e4,
+0x3cd30c79,
+0xb1704d10,
+0xec9a16a9,
+0x99826171,
+0x6d50c5f1,
+0x5c4bc6de,
+0x00b41370,
+0x56be863d,
+0x94c22203,
+0x3284784d,
+0xb03e1301,
+0xffed0352,
+0xe94bab55,
+0xf9d8e971,
+0x585ac1f3,
+0x284cf7f9,
+0xf3626c2e,
+0x3968906f,
+0x7420f00a,
+0xbcfd871f,
+0x67671be3,
+0x5ad73d27,
+0x4589eb98,
+0x2286fc46,
+0xc631b2da,
+0xfdd97dce,
+0xf323e424,
+0x98f2dfd5,
+0xcae99cf4,
+0x0db55b28,
+0xfeed3798,
+0x7a260bbb,
+0x3fb4bd2e,
+0x8c10898a,
+0x2a647972,
+0x9ce5e161,
+0xbf7b0e16,
+0x73c889dd,
+0xa74954b2,
+0x99ba90bb,
+0x4b6a356c,
+0xb1f64b26,
+0x03f27e22,
+0x4f40f482,
+0xbc344b21,
+0x4d31dd4f,
+0x0d28b601,
+0x7cc4ca0e,
+0xa6b30d62,
+0x1a8c3173,
+0x08021c25,
+0x2f917bdf,
+0x904b9fbf,
+0x94165619,
+0xdc4d2f84,
+0x8e700413,
+0x801db770,
+0x563994d5,
+0x2613d5b6,
+0xb01e882f,
+0x805e9e51,
+0xf9af7425,
+0x70ab56a8,
+0x21698572,
+0xece2e986,
+0x71889ed2,
+0xa7709714,
+0x0864f90a,
+0x79cfff31,
+0x3adda400,
+0x42ee334f,
+0x5a747764,
+0x16bcfdbf,
+0x1ab70e31,
+0x5cf5986b,
+0xc66dfa7e,
+0x1dee3f70,
+0x23d12f3b,
+0x884bfa77,
+0x7cbe9899,
+0xc7052f49,
+0xd42abcdf,
+0x9bc7915b,
+0x9d7d6a95,
+0xcca8057f,
+0xb6fd9eee,
+0xa9626a37,
+0xe2efe7ab,
+0x662bdebc,
+0x316ea76d,
+0x0efca038,
+0x2779e4c0,
+0x94b3fe8a,
+0xc8e4ef77,
+0x29b8e50e,
+0xac149226,
+0x11e1914a,
+0x52fd0e89,
+0xa96b13dc,
+0xed9f37d9,
+0x9a802ee9,
+0x0a37f080,
+0x4c2c35ee,
+0xaa4d0d21,
+0x8de3ba57,
+0xfa6faece,
+0xa3866569,
+0xaadd14a1,
+0x15e1ff6a,
+0x77d26cf6,
+0x663b2ac0,
+0xa27b1cde,
+0xc501e1e2,
+0x693faf73,
+0xa485a9cb,
+0x8f35de1b,
+0x97c4cf3d,
+0x3d81d36a,
+0x60bf1ae6,
+0x2df0d59f,
+0xa1bf8a13,
+0x56fa7c0b,
+0x251a0075,
+0x7a3dd7ff,
+0xa25e86b9,
+0x092a5aa1,
+0xcf845ac7,
+0x80e75c1f,
+0x682940ae,
+0x71849aa0,
+0xcca77779,
+0x37b35c88,
+0x713a746a,
+0xf53a1d1f,
+0x7dd5449d,
+0xcc982b90,
+0xf49af10c,
+0xb5432ce0,
+0xce8b934b,
+0x8fe8c419,
+0x28c063e1,
+0x019b8560,
+0xfccaae28,
+0x500d0a4d,
+0x48cb5353,
+0xd811cc4f,
+0x05983031,
+0x05aa856d,
+0x4b6238c2,
+0xb883800d,
+0x22f311c2,
+0x7ae7182d,
+0x8990676e,
+0xfde4f05a,
+0x4c6055e0,
+0xc5886afe,
+0xb07c1482,
+0x99ef5610,
+0xc0325e3d,
+0xa6bf6e7e,
+0xa5ecacb5,
+0x318c1171,
+0x623d2db1,
+0x448fa963,
+0x5b4e1541,
+0x61b8d261,
+0x5f1b21dd,
+0xe615897d,
+0x89d7d1ba,
+0x59c3f6a0,
+0x6fffb41b,
+0x60e19480,
+0x4b85cce4,
+0x3be69c3f,
+0xc16b1e8a,
+0x931d435d,
+0xdcd3063e,
+0x73e3b1e0,
+0x9dd5e9e4,
+0x63144743,
+0x5a0cd444,
+0x9f3c737d,
+0x2aa0598b,
+0xca203948,
+0x15d4a7d3,
+0xaefdd226,
+0x5671b5a2,
+0xb8dd2102,
+0xa2c88594,
+0x84eb5edc,
+0x42912822,
+0xa56cd4e0,
+0x5011b473,
+0xab27c6d3,
+0xa8cdeeb0,
+0x94138d16,
+0x60c42c60,
+0x5867c82a,
+0x4d6b84e0,
+0x4d6bdd44,
+0xbe0edfea,
+0x9c8f01ae,
+0x8d0298a9,
+0xca37f35c,
+0xd62fe342,
+0x7208699f,
+0x0fabad4b,
+0x46c59a49,
+0xeaad5569,
+0x4c795f8b,
+0xda662203,
+0x4af89f51,
+0xe7c94a5f,
+0x83a1256d,
+0xa47001c8,
+0x3ee865af,
+0x68e268f5,
+0x5b710d71,
+0x471d71a4,
+0x56ea4422,
+0xc1463fd1,
+0x26da2681,
+0x3a21c453,
+0xdd97e3eb,
+0x58a98c77,
+0x7a4217d3,
+0x7b91c1d0,
+0x445ad446,
+0xba73b6eb,
+0x40bb9178,
+0xc6c37d38,
+0xfe737b24,
+0xcd9d1eec,
+0x3563a99b,
+0x44233392,
+0x25ecaabf,
+0x5b780ee3,
+0x0016eb6a,
+0xc6046d5b,
+0x290cda6f,
+0xc248681f,
+0x229a5056,
+0xccc085be,
+0x295f7557,
+0x427a14da,
+0x744dec8c,
+0x91ae6274,
+0x0510b7c5,
+0x42414729,
+0x29375cda,
+0x47e414f7,
+0x53725cd5,
+0x046c335e,
+0xf4b31918,
+0x45c3ec2a,
+0x0426dc80,
+0xc11d0f8b,
+0xae9d31cf,
+0x59604f57,
+0xebeb5183,
+0xa78cdfba,
+0xd42ba510,
+0x437e80b0,
+0xa81fec27,
+0x6ebb1fb1,
+0x7a1a8970,
+0x6cbedf19,
+0x55cf2b24,
+0xdd7e91c9,
+0x360c39f2,
+0xc0004780,
+0x618e0a9b,
+0x877648e8,
+0x61872f92,
+0xdb8dacf8,
+0x0e086a5a,
+0x072f4b09,
+0x160cc002,
+0x6adec28a,
+0xe0c2ee10,
+0xfc6ecdc0,
+0x688aa2e8,
+0x7a4d066c,
+0xd5216732,
+0x067184e7,
+0xd551dbfe,
+0xca461a98,
+0xbb5eaf1e,
+0x06714362,
+0x14bebdcf,
+0x54d960b0,
+0x4846294c,
+0x4e6baceb,
+0x89641576,
+0xcd33464f,
+0x40c3a898,
+0xf7d144b1,
+0x148d2773,
+0xf11d5399,
+0xcddf601d,
+0xc5f886ab,
+0x3122c0d6,
+0xd729f584,
+0xd2f933e6,
+0x5b6e270d,
+0x173a91f0,
+0xb30ae928,
+0xb45237ca,
+0x3a7768b2,
+0x497e3239,
+0xbd1cc2ea,
+0x1f092a4b,
+0xdd67eca6,
+0x2ede8b39,
+0xa0347745,
+0x3141defa,
+0x0f36cd4c,
+0x111e7b97,
+0x3564dc31,
+0xf7cddab3,
+0x81fb56bd,
+0xc1645196,
+0x674bc530,
+0x492930ca,
+0xf6146a3f,
+0xebc5dbff,
+0xdea0d56c,
+0x4c8bf46f,
+0xe2513555,
+0x79085bb2,
+0x3bf8c779,
+0x1fb8f114,
+0xd65ab222,
+0xc8f80f1a,
+0xec0c7c31,
+0x18165ea4,
+0xdda0f4ec,
+0xd6b9e775,
+0xe085ae8d,
+0x0918a7a9,
+0xb4a35935,
+0x083cde0c,
+0x95000ad9,
+0x491522a4,
+0x2455e3bc,
+0xd0670edc,
+0x3b921a5a,
+0x1f3d4fcb,
+0xb3057425,
+0x328953c1,
+0xebe81d96,
+0x1a4d6fb3,
+0x20ab3ded,
+0xca471d28,
+0x713bf71b,
+0x3b51b814,
+0x8762b045,
+0x326a3ce3,
+0x6d1e67fd,
+0x2a32b69d,
+0x1ad7c9c2,
+0xccdc68ea,
+0x9e156665,
+0xc52cecd2,
+0xdb5b79fa,
+0x55e8a27c,
+0x469158a9,
+0xe7e3b0c8,
+0x0fb9bcda,
+0x23517fd7,
+0x1993f6a9,
+0xc3e8051e,
+0x730ef15b,
+0x387229e9,
+0x6067ea20,
+0x78b99439,
+0xd603e423,
+0x56277a49,
+0xcfc04b8b,
+0x60c619b3,
+0x5570bbe6,
+0x5be94c25,
+0x56002fb1,
+0xea379e6b,
+0x3a11147b,
+0x4d5da516,
+0x915ef5ee,
+0x4df95522,
+0xf4cfa5b8,
+0x66d3b343,
+0x1db9bd86,
+0x54f27223,
+0xd04c0d06,
+0xe7cca3e1,
+0x0d989bf9,
+0xbd4d3411,
+0x745cbfd6,
+0x746dd60f,
+0xf2a1b7a8,
+0x1e5aca4e,
+0x9faf1df5,
+0xa151abd5,
+0xc46e36c1,
+0x2ec2ccee,
+0x7b277efc,
+0xdc2fa4d3,
+0x4430524a,
+0x662145d7,
+0xa422bd9a,
+0xa4ae57a3,
+0x54e860ac,
+0x29108621,
+0xec562f1e,
+0x5fc533af,
+0x2d6a1ec4,
+0xafcb786c,
+0x10de87ff,
+0xc4e45f8e,
+0x1955ee61,
+0x0065ff92,
+0x023f449e,
+0xaeff904c,
+0xa11f96f3,
+0xceac2453,
+0x44e31218,
+0x1c8d63bc,
+0xa2bf722b,
+0xf095d051,
+0x77dfbc8a,
+0x7c87bc61,
+0xcd3f90d9,
+0x0cf7bd75,
+0xcbba4195,
+0xf85965b8,
+0xbab9a6b6,
+0x9b69b565,
+0x5a9e486c,
+0x272066d8,
+0xaa7f0b2e,
+0x75594c66,
+0xa8c3f0a7,
+0x8e5f1d88,
+0xb394b8bb,
+0x14aa2992,
+0xa1a80dff,
+0x680d39e6,
+0xf57f31c5,
+0x493b2a76,
+0xb0802ba1,
+0x037725df,
+0xe68872b9,
+0x41374472,
+0x315193fe,
+0x48bcd2d9,
+0x4c1db871,
+0xb1121ac7,
+0xb0338c18,
+0x5e78e876,
+0x472b4087,
+0x444f05e5,
+0x3448937d,
+0xbee339ba,
+0x34ef4de5,
+0xa50caae7,
+0xd09f1171,
+0x6222ed73,
+0x9b19a44b,
+0x3238d423,
+0xb109c0a1,
+0x77e3d222,
+0x687f5ab4,
+0x53ee49af,
+0xa9273fcb,
+0x1038e180,
+0x64035542,
+0x1b6df0a2,
+0x4a1375a8,
+0x10e9ff23,
+0x2fc79ef0,
+0x1dde2f67,
+0x9687e82b,
+0x83610603,
+0x829828d3,
+0x33814321,
+0xd96607f9,
+0xc1babe89,
+0xfa78ef13,
+0x2d68e79d,
+0x15ad58f4,
+0x0bf854c2,
+0xd91580e0,
+0xadf7db7d,
+0x2beca6d2,
+0xc816d901,
+0xa5e84268,
+0xe2cf282a,
+0x98c64086,
+0x971cd243,
+0x432de912,
+0x785e82fe,
+0x2c6b15e5,
+0x7e9f65d5,
+0xd048d793,
+0x55f363ab,
+0x4d2e633d,
+0x91024d2a,
+0xeaea7af5,
+0x48828fe3,
+0xa980167f,
+0xddf0ccc8,
+0x3d2c46a4,
+0x1a41f715,
+0xc1dbad22,
+0x5148b2b0,
+0xd17d8c4e,
+0xef21d280,
+0x5d3ec1d7,
+0x79986f24,
+0x25e21f39,
+0x13720aa1,
+0xcfd90d6b,
+0xd3685d7d,
+0x53d539e5,
+0x0d308ad6,
+0xfb47e6c8,
+0x4c78890d,
+0x40dc8a11,
+0x32fddceb,
+0x0d51e6af,
+0xa37d4e8b,
+0x9c4351c0,
+0x1a46d1d0,
+0x5c1b992d,
+0x99c4f185,
+0x36f96f16,
+0xb2ec2eac,
+0x95954772,
+0xfda810e7,
+0xc3b4eafb,
+0x205bc294,
+0xf2a36c1b,
+0x05b7dd30,
+0x0aa6dc82,
+0x5c32aa48,
+0xf3b324da,
+0x16e1bba2,
+0x3cc281e3,
+0x0244ae5d,
+0x1eabf99f,
+0x11173dba,
+0x253815d2,
+0xd97a152b,
+0x04eade27,
+0xd4ece593,
+0xc9a9e6eb,
+0x8d1674dc,
+0x5d87f438,
+0x2f601fb7,
+0x3ca301fa,
+0xfdbe95ec,
+0xe814d874,
+0x63113610,
+0x610d260d,
+0x02b3b023,
+0xf157cc0b,
+0x81600cb1,
+0x70d430f8,
+0x1b2dfa78,
+0x9adbdac8,
+0x9a877e88,
+0xfc7e30ba,
+0xa0ce7487,
+0x0c112ccf,
+0xfc76959b,
+0x3dc88121,
+0xe20a0cad,
+0x6aebcf74,
+0xac977763,
+0x9699d806,
+0xd7d8c9c6,
+0x25bd0dbd,
+0x9994c600,
+0x39233c7c,
+0x07d87aac,
+0xb27e3e57,
+0x023e5730,
+0xc4bfe06f,
+0xb08bfd59,
+0xabfe1b44,
+0x6ce45033,
+0xe878eb19,
+0xf11a75a5,
+0x639d6e36,
+0x75f4e245,
+0x846c05ed,
+0x7839b96b,
+0x33a935ce,
+0xd88dc979,
+0x6452b884,
+0x2b8434da,
+0xfcb4e612,
+0xc44848bb,
+0xd46cd579,
+0x5b40fdb8,
+0x2ebc0c1e,
+0x20bbec0a,
+0xbf6b146c,
+0x32d134f5,
+0x226271d8,
+0xfe1a75fd,
+0xdab9eee4,
+0xcda298b9,
+0x21d99c45,
+0xe6cddb99,
+0xc225fc00,
+0xf2b5a9b5,
+0x2ae7e890,
+0xadb0edb1,
+0x5b71a1e9,
+0x8834cb44,
+0xaed3cd20,
+0x2a9d863b,
+0x15d72971,
+0xcf5c1cde,
+0x977bf6cd,
+0x78baab90,
+0xaf2a8570,
+0xc4be7f4a,
+0x069089f1,
+0x8f5370fe,
+0xe0b4970a,
+0xa8f9a7b2,
+0xba922445,
+0x6a8d5e3c,
+0x87501c5f,
+0x531718dd,
+0xa319b10c,
+0x8b34d8b0,
+0xe7898516,
+0x3fa06e37,
+0x700daf3e,
+0x584d1531,
+0x46d80966,
+0x65e6a2b3,
+0xd63191af,
+0xf6e2de8f,
+0xbd5d4b86,
+0x5c4dc35d,
+0x024be56e,
+0xdc912365,
+0x861aaeee,
+0xd857bc93,
+0x2d1249d1,
+0xa3709da6,
+0xf1660aed,
+0x1a8d1dae,
+0xff335b9b,
+0x5ac7505c,
+0x8f826eb0,
+0xa5690e17,
+0x08c545a1,
+0xadac6c55,
+0x9ea02738,
+0x140f8ae5,
+0x07b7cb5a,
+0x59c4a514,
+0x90614b65,
+0x2beb35f6,
+0xe74ba759,
+0x61ce437a,
+0x35782099,
+0x08a88095,
+0x3fda7850,
+0xe3387486,
+0x52fd2fc5,
+0x2469d5a0,
+0xedd8edcc,
+0x7455d645,
+0xcb6aac35,
+0xeff214e2,
+0x4036268c,
+0x82fc3599,
+0x59456c9f,
+0x6e7eee77,
+0xbdf50a68,
+0x3965cb1d,
+0x66a08776,
+0x06ee0b16,
+0x8341cbf8,
+0x827a050b,
+0xec0372fb,
+0xa7d38aa3,
+0x08b3b232,
+0x1b216b12,
+0x531c3fd2,
+0xfb4dc788,
+0xf26599dc,
+0x29c5a2bc,
+0xa6c5a1cd,
+0x498e9909,
+0x5c281289,
+0x5c156c1b,
+0xbc5662c5,
+0x1e0f2e1f,
+0xcc40736a,
+0x44abe168,
+0x14ab0357,
+0xdf537eca,
+0xfc60146e,
+0xacf8e11d,
+0xaa774046,
+0x8e754161,
+0x338b98bc,
+0xb761bc29,
+0x6570fe1b,
+0xd359db4e,
+0xd6e40b2b,
+0xa5475b05,
+0x088c43f2,
+0xa57263db,
+0x162f159a,
+0xa20587e1,
+0x685bf3a3,
+0x3df59752,
+0x9486eda9,
+0x7d65f080,
+0x7aae9965,
+0xe968303e,
+0x9f2d78f0,
+0x0540faec,
+0x0a4b2079,
+0x59dca9b8,
+0xde92723d,
+0x75208e9f,
+0x109b7b67,
+0xfd6cbbb4,
+0xe24ecdcd,
+0xa99dd6ce,
+0xac3dbe4d,
+0x3f3a21d1,
+0x309fef9f,
+0xd2eb9081,
+0xd7dd9c0b,
+0xcc58d47c,
+0x5a77c160,
+0x9242f93c,
+0xe73e953b,
+0x28b8238f,
+0x85b80879,
+0x3e5e03f3,
+0xde17db16,
+0xa6136fa9,
+0x6c1d2bc5,
+0x22e2c97d,
+0x3c5e24c3,
+0xbfcf6db3,
+0x2203aa82,
+0x38e1daf3,
+0xd8474f92,
+0x16ba453a,
+0xb8abe4d6,
+0x1506de29,
+0x84dda71b,
+0xb2cd03c0,
+0xecb98f2e,
+0x8abc7810,
+0x4215a395,
+0x6fc54bb0,
+0x0ac9ecef,
+0xfda5886f,
+0x43f6a018,
+0x37cbe24e,
+0x185e94a3,
+0x5fe47359,
+0x14ebbe05,
+0x64c0c8c1,
+0x1e74b934,
+0x6a788ef4,
+0x91b81288,
+0xe7ed42a1,
+0x9c112377,
+0xd155c181,
+0xb152921a,
+0x132d187e,
+0xb4aec66f,
+0xde00fb1a,
+0xd0ec63a4,
+0xe65c7242,
+0x79492872,
+0xfd52b01d,
+0x96d857d4,
+0x0b2255a5,
+0xd9b966f2,
+0xd297a272,
+0xecc0c5e9,
+0x631edcfa,
+0x8e70d262,
+0x55b67a46,
+0xa25f5c5d,
+0xb1b2b895,
+0xa37684c7,
+0xb3201998,
+0x021e0b78,
+0x776e9c4f,
+0xb2b3b97f,
+0xf5059e45,
+0x2d4c6e66,
+0x491b0827,
+0xd3cf1eb9,
+0x1dbf4795,
+0x0da7f465,
+0x62302ece,
+0x3768d593,
+0xa991f46d,
+0xa89a596c,
+0xc65b4171,
+0xa8d585b2,
+0xe2b47ea7,
+0x459adfb9,
+0x59655e19,
+0x248c0a65,
+0x669b84dc,
+0x48e6ab43,
+0x1a29b3df,
+0x39a7ff31,
+0xf1f64595,
+0x046ad934,
+0x424471bf,
+0x0a4e8958,
+0xea8834b2,
+0xee85d697,
+0x917c4d01,
+0x5b45c43a,
+0x608ab470,
+0xcfa3750c,
+0xf85c00d2,
+0xc8bd2e4f,
+0x272ec6e4,
+0xc171aff1,
+0x9faf102e,
+0x5dd6a72a,
+0xaa65ba0b,
+0xcf2187b7,
+0xb255dfef,
+0x4214d187,
+0xfcd4b2d0,
+0x416febcd,
+0x0b924cdb,
+0xce60a151,
+0x12b20683,
+0xbfb773ab,
+0x27b69b5d,
+0x7e40b541,
+0x115a3bb3,
+0xbf022fd6,
+0xaea790d3,
+0x2fa55d3c,
+0x32c28543,
+0xd28e7d25,
+0x645d2d16,
+0x4690a0aa,
+0xc10f102c,
+0xb2690ace,
+0x609124f8,
+0x9fff5d6e,
+0x3aa4e53a,
+0xcf03bb98,
+0xf25b41f8,
+0xabc8da2a,
+0xe1359588,
+0x51f27b32,
+0xcd13a046,
+0xa6f28cc8,
+0xd470582d,
+0x3a8ee602,
+0xe73a20a2,
+0x61cc29c9,
+0xbdb1ed2b,
+0xcc9d7fa2,
+0x63b64157,
+0xe6c0f5df,
+0xa42bd862,
+0xcba3bc22,
+0x950f57f0,
+0x6a27099c,
+0x26c05222,
+0xf0882686,
+0x16527f7d,
+0xfa637cc2,
+0xd301e5ab,
+0x1241e056,
+0xc8c34d7d,
+0x604d9b48,
+0xdb17aa6f,
+0x1f177a4b,
+0xf9b7b366,
+0x81ed6a43,
+0x96f26e89,
+0xd96c90b7,
+0x5e8e42a7,
+0xc3708f60,
+0xee984b27,
+0x96b816d1,
+0xa3c64cfd,
+0x31755f32,
+0x4703a775,
+0x73e1a67e,
+0x83661172,
+0x899bfd7a,
+0x9b1d07a1,
+0x6a524eb0,
+0xe47fe7f9,
+0x20927662,
+0xdd217b1a,
+0xf46f2eec,
+0xc13c7ba5,
+0xa8424a78,
+0x354df21e,
+0x560f7c91,
+0x392ef02d,
+0xca3cfca0,
+0x3d800466,
+0xf89fb824,
+0x2d9e8c22,
+0xac10df49,
+0xee510248,
+0x8937d701,
+0x0ce7cb83,
+0x473147e9,
+0x0d0ca69b,
+0xc689d712,
+0x1bd4dccc,
+0x81307360,
+0x1a5e96df,
+0x0db7837e,
+0xa78c5c80,
+0xcf2a6e1a,
+0x94ab01ad,
+0x441c16d9,
+0x9a28ea08,
+0x0b80d982,
+0x5e10fbef,
+0x3aee0ba2,
+0x6342eb1d,
+0x5e6498f4,
+0xb832f129,
+0x0c00093e,
+0x822ac094,
+0xa6563855,
+0x26c3e1cf,
+0x657f34cb,
+0x829aef03,
+0xf8dad002,
+0x0bda5eb5,
+0xa799aae2,
+0x0a09f07f,
+0xc69ebd8d,
+0x6f4ef82a,
+0x27a03786,
+0x9f94afd2,
+0xe4b5c80a,
+0x588910ce,
+0x746c42e6,
+0x5bdd3425,
+0x896cb1b3,
+0xbbefa0e3,
+0x418eeee8,
+0xc590dc74,
+0xcbdcd884,
+0x50ab3606,
+0x0c2d9322,
+0x266143b2,
+0xdcf243a8,
+0xb0a58d7c,
+0xfc772721,
+0x573a8c41,
+0x5a7b5d60,
+0x412018a0,
+0xddc3d43c,
+0x87bb9691,
+0x34df1cd9,
+0xf3747a68,
+0x1ccc7555,
+0xe7e39e22,
+0x05f207b1,
+0x947d7042,
+0xa26788c0,
+0xbee1e89e,
+0xaeb0b6ee,
+0xc7124f1e,
+0x71ce0b92,
+0x975fef34,
+0x9514734a,
+0x23fe5b29,
+0x115bef21,
+0x88370198,
+0x091ff51d,
+0x4f413410,
+0x0bc1c9fd,
+0x71b3ac00,
+0x5243cd2f,
+0xc446f05b,
+0x5ae39437,
+0x84c21147,
+0x6f144cd3,
+0x86bb383e,
+0x2a6ed20b,
+0x8ba27822,
+0x90c7505d,
+0x658df477,
+0x4eb2de79,
+0x9d31f7fa,
+0x6a7df882,
+0xe320ddb3,
+0x88d5c042,
+0x60c5d809,
+0xb33680a9,
+0x87aee19d,
+0x669959a6,
+0x36f52d9c,
+0x87b5fbc9,
+0x067fb3e8,
+0xc9dedd8c,
+0x262d7206,
+0x671318b5,
+0x2ffa3023,
+0x68aff73c,
+0x5baa30c1,
+0xab497003,
+0x0ab96cfb,
+0xccb4a078,
+0x6bd90454,
+0x0a001901,
+0xf1c35263,
+0x765e6045,
+0x608a8e2e,
+0xdd14ec9e,
+0x63f3d986,
+0xabc16219,
+0x9896e89e,
+0x3c3ea017,
+0x512ed7e0,
+0xed70870c,
+0xb37f20fc,
+0x31a5d951,
+0x65f61dff,
+0x75d238e3,
+0x342c4ed4,
+0x0afadb07,
+0x190a6c2c,
+0x65bbf547,
+0x9ec7b532,
+0x3d19daa7,
+0x71fa5360,
+0x0f1ade1e,
+0xc12324df,
+0xb5ddfd03,
+0xd689b0e3,
+0x75436e36,
+0xe32cf010,
+0xf0cc09ad,
+0x92c51a2e,
+0xd9465974,
+0x12ec0166,
+0xb728eb6a,
+0xe7d8bb19,
+0xe0247047,
+0x08c87de0,
+0xb62c7a1e,
+0xa935cf17,
+0xd7fa21a6,
+0x8239bd26,
+0x918fdcf1,
+0x144e3730,
+0x1209897f,
+0x6861c79b,
+0xd4c1287b,
+0x4522395a,
+0x4b33d469,
+0x57327189,
+0x7ba51cc3,
+0xde483c66,
+0xbb2f1e0d,
+0x75ceb760,
+0x811b9126,
+0x920374d2,
+0x51a5e54d,
+0x2ed87fa4,
+0x05f6b939,
+0x09a817fb,
+0xf50f76b3,
+0xc87abf3b,
+0x625f8648,
+0x75ca8bbf,
+0x3f5d197b,
+0xaa45d572,
+0x8813119c,
+0x93f9aca1,
+0x82c5bed4,
+0xb84a66f8,
+0x08412cd1,
+0xafb3a7e7,
+0x15674c45,
+0x748da037,
+0x195c9214,
+0x1dea4d31,
+0x2894dd59,
+0xf81a8eb7,
+0xc60b7eb0,
+0x122a3a2d,
+0x53d3c511,
+0x4ac5d832,
+0x864eab8f,
+0x52e8ae77,
+0xfb9861d4,
+0xdd6206ea,
+0x4bc59478,
+0xc1c6c5ba,
+0xa0997d47,
+0x9c460e93,
+0xab63905b,
+0x5584001c,
+0x4f088c59,
+0x4088932a,
+0x004da7e0,
+0x8276fd79,
+0xde48960c,
+0xacb9b1bf,
+0xc1fc3ff9,
+0x4408f272,
+0xd3318c69,
+0x6683d230,
+0x203de9aa,
+0xf7b832dc,
+0x209aebdb,
+0x4383a10d,
+0x158b3e46,
+0xf6c8d50c,
+0xf832efdb,
+0x3ee960e1,
+0x8b27ea4a,
+0xbe6a3f0f,
+0xe449285d,
+0x2363775e,
+0x3df375a7,
+0x88bb2a70,
+0x4299a858,
+0x2667901d,
+0xf6474f30,
+0x4944637f,
+0x830ebd92,
+0x3c55743c,
+0x5c47da80,
+0xa39d9da0,
+0xde164b71,
+0x5bf08ebd,
+0x0b13a279,
+0xb4e21e22,
+0x9ab21e8e,
+0x3866bb99,
+0x48300958,
+0x5f7e6efc,
+0x21341be1,
+0x21cc41fd,
+0xec1cdfdf,
+0xfef4e029,
+0x5f9c4b7f,
+0x90e1fd00,
+0x048d89e2,
+0xa1934580,
+0x2e1cc80e,
+0x172d401d,
+0x993875a2,
+0x2e3f7d6c,
+0x1f962001,
+0x1549808b,
+0xe438e999,
+0x351e5548,
+0x1b035dfb,
+0xf481ab69,
+0x5296125c,
+0xa9556519,
+0xed8ce324,
+0xda4ec6b9,
+0x20e81934,
+0x49d4366b,
+0x6db90ee5,
+0x7e9035db,
+0x2ed57e71,
+0x169da788,
+0x07ee66a1,
+0x68334fc7,
+0xd9e2e573,
+0xb044ba42,
+0x9e8edceb,
+0xbbcb49ab,
+0x2a35d852,
+0xe61255dc,
+0xf65c310c,
+0x877225b9,
+0xba4db05b,
+0x2c8160f5,
+0xc83ded1a,
+0xe822cffb,
+0x1f8bcd20,
+0x44bc1f51,
+0x8d0a84f2,
+0x17def53e,
+0x8e823b1c,
+0xdae55f58,
+0xc668c8ed,
+0xfe84c1a8,
+0xd4e0a7ee,
+0x92d630a3,
+0x375e4bac,
+0x42242bc4,
+0xde6f982b,
+0x873fa8c4,
+0x85907e2e,
+0x99c088b0,
+0x31c4c395,
+0x15946851,
+0xbcd86243,
+0xd2d08940,
+0x2100e169,
+0x5226ef76,
+0x0edd8272,
+0x68e58022,
+0x331227cb,
+0x19fbb92e,
+0xab524463,
+0xf846873e,
+0x9b5a8618,
+0x5bbf7d35,
+0x7df94b82,
+0x429bce8f,
+0x94457726,
+0xc2da6ca9,
+0xbf6baf95,
+0x8bcd3521,
+0xbd6890e9,
+0x38876391,
+0xe6ba495b,
+0x25285c5f,
+0x56307e8e,
+0xdf992b0d,
+0x56f7896a,
+0x25c3034e,
+0xdf8eadd0,
+0xe5a6d51b,
+0x3e0b2543,
+0xd389c2ed,
+0x49a2b135,
+0xfb801199,
+0xae849a2d,
+0x06c27527,
+0x13cb07ef,
+0xa28c21f1,
+0x38ee161a,
+0x2dcd9084,
+0x134e0a49,
+0xf5e3eb60,
+0xdc87952c,
+0xb329dca5,
+0x7e0494bb,
+0x2f091e4f,
+0x164ed7f8,
+0x5ccc2ce8,
+0x420f703b,
+0x736ca290,
+0x3d7d0cd6,
+0xacccde0a,
+0x1708497c,
+0xbeabea44,
+0x03d48f85,
+0x3ced3485,
+0x0ba5b232,
+0x9f7781d0,
+0x2439cd3f,
+0xad7b9730,
+0xf58204a7,
+0x88230eb7,
+0x0fc227e6,
+0x9cb26cce,
+0x972ddbfd,
+0x8a3f0a3d,
+0x23087916,
+0x08a5b41e,
+0xbe37bf55,
+0xf1b51874,
+0x368db65b,
+0xac7d785e,
+0x6cd26a2a,
+0xfe56a2b4,
+0x86a0c764,
+0xe68f4887,
+0x1f78a7f4,
+0x579e0084,
+0xfdecb0e7,
+0x66ced7b1,
+0x5f428dc9,
+0xf726b752,
+0x1fd2b428,
+0x93c6e4b9,
+0x00b89430,
+0xf251c19a,
+0x07fa8332,
+0xf72eabfb,
+0xa8910e0e,
+0x3109451c,
+0x091c8899,
+0x33ca34a3,
+0x2523da12,
+0xc851468a,
+0x80510d4a,
+0x2cc67eb1,
+0xaec667f5,
+0xa2760b9c,
+0x17469ab7,
+0x1226c4b4,
+0x435d5fb0,
+0x204ecfbe,
+0xb0690c71,
+0x8f8000ad,
+0x8e2f0730,
+0x684206b7,
+0xe58cd43c,
+0x97a5ea60,
+0x0cf80193,
+0x764d441b,
+0x59383225,
+0x382816fe,
+0xb5a9cfdf,
+0xf074e619,
+0x6e70eee3,
+0xf2365517,
+0x11be0ec9,
+0xe7799d02,
+0x81f5fbee,
+0x505ca6bb,
+0x86b0ee47,
+0x08e04795,
+0x9576b3fa,
+0x373f47dc,
+0x0145c355,
+0x621ca5e7,
+0xb530bce6,
+0xeccac783,
+0x6a2ab6c5,
+0xf40c3d30,
+0x8bedb928,
+0x1ce9ad96,
+0xab3f02d0,
+0x2c2d7702,
+0x80994995,
+0x5ee3afc3,
+0x3ab88077,
+0x67fd5b44,
+0xc69dfb75,
+0x0245a38b,
+0x89cafc4f,
+0x59378235,
+0xab4929f0,
+0xd920d6c2,
+0x89bcb9b0,
+0xc4ff8282,
+0xd4265d26,
+0x5de45f1f,
+0x0475cfd1,
+0x7b0b8a4f,
+0xa51e44e7,
+0xd7790b32,
+0xeab3854e,
+0x42df557b,
+0x4826893c,
+0x987080a1,
+0x6288dd5e,
+0xd8633e29,
+0xd1d1bf74,
+0xe5df04d5,
+0x292c8552,
+0xbcbc85d4,
+0xbd226c8c,
+0xa40729ff,
+0x5d1124bb,
+0x9a3c9b0f,
+0x92cdbd58,
+0x1c300c6b,
+0x19bf5ba3,
+0x87593046,
+0xb59b9011,
+0x663ebe0b,
+0xba7be463,
+0xadcc2d18,
+0x370c6898,
+0x939a196a,
+0x2e065975,
+0x6a86f6a2,
+0x19035725,
+0x2612697e,
+0x20766142,
+0xac9ffd45,
+0xf5ca06a5,
+0x308975ae,
+0x308e5d07,
+0x234f9b9e,
+0x68facc78,
+0x7c9dd9fb,
+0xd8aa203b,
+0x585d2b05,
+0x02757d23,
+0x6202d677,
+0x76587dbf,
+0x3e7a67fa,
+0xda461e57,
+0x94f4a96b,
+0x96a6c427,
+0x7ed91e98,
+0x9867cfd0,
+0x1dbc5280,
+0xbe4f1397,
+0x47cee1c3,
+0x8b162ef1,
+0xea0c931f,
+0x52a7834e,
+0x1e2e45a6,
+0x26c2004d,
+0x79aa8d70,
+0x26a4b2f9,
+0xd4cbab1e,
+0x9e1cca93,
+0x406df9d6,
+0x0e0f0e43,
+0x2b0851f2,
+0x95beeabb,
+0xad444214,
+0xe42649ea,
+0x56ca3474,
+0x4d8c55d0,
+0x05ac1881,
+0xcda16711,
+0xabb6dd8a,
+0x3cee34d0,
+0x9580a987,
+0xd9e35bba,
+0xcd2a667d,
+0x8de19c88,
+0xab17e9e9,
+0x536184c4,
+0xb3988226,
+0xb952e997,
+0xff411dc7,
+0x51ad95bf,
+0x32d1b6e5,
+0xef7f3f1d,
+0xb8962b16,
+0x97bff893,
+0x7d4f5655,
+0xddaac9e1,
+0x5ff31929,
+0x37173c2f,
+0x8b2e1566,
+0x9813da81,
+0x72c2e65c,
+0x8a728ef8,
+0x101aaadb,
+0x00f07c96,
+0x7aac687b,
+0x987fedd1,
+0x4ec94096,
+0x4a6d222f,
+0x1d01805c,
+0x1bb5b077,
+0x7480fc5c,
+0x28de4657,
+0x1d8b5904,
+0x6278cdcd,
+0xcea9c84b,
+0xddb02d71,
+0x24225863,
+0x5202d861,
+0x40d2f91d,
+0xbf841d5e,
+0x42e39eaf,
+0x01286118,
+0xf6a3b690,
+0xacb43256,
+0x392b2d4f,
+0x027e2d28,
+0x5053d10f,
+0x1477d9cc,
+0x0dddedb1,
+0x39e50f22,
+0xfac9cbbb,
+0x4ae3e653,
+0xf9991eb1,
+0x26183081,
+0xea8959f0,
+0xaef2f2c4,
+0x990f4783,
+0xffaba73e,
+0x874cd6c4,
+0xb8db168a,
+0x4fc5e20b,
+0xe17f70c0,
+0x69bc4e92,
+0xb4d5ab75,
+0x9aa0089a,
+0xc5588a0e,
+0x4d4e4786,
+0x733c4db5,
+0x072a8061,
+0xecf65e76,
+0x3c6f9dd0,
+0xf2a5b60d,
+0xe43dd87b,
+0x25f2caec,
+0xe8fa0609,
+0x659367b2,
+0x2eb28bd9,
+0xe7e07ee0,
+0xde4e4eda,
+0x4adf0ba3,
+0x85331f57,
+0xdd8d2859,
+0x28bd28b5,
+0x01bfbd92,
+0xa7e664ef,
+0xba7dd492,
+0xa225f0ab,
+0xa2e269f8,
+0x1903841c,
+0x5218e2ef,
+0xef83c0af,
+0xadbeb96e,
+0x831bf48b,
+0xd9e9ce62,
+0x8c059389,
+0xcdbf5d97,
+0xc865f10d,
+0xded2d491,
+0x5ad1793a,
+0x07d7b9e2,
+0x538e9837,
+0x1fa4ff12,
+0x3a36fc5c,
+0x3172849d,
+0x847bdb82,
+0xaa83b1c8,
+0x705349be,
+0xa5e1d28a,
+0xae85a106,
+0x0d71d765,
+0x5c8533a8,
+0x77e3e11c,
+0x700582ee,
+0x14c8ef7a,
+0xc53755e0,
+0x95bbaf81,
+0x4e0d51f6,
+0x610921fb,
+0x6f2d8629,
+0xf24abd8e,
+0xfaaac546,
+0x1daf3c4b,
+0x9fb8d937,
+0xe77d50f0,
+0x0a3b91fd,
+0x36ade707,
+0x17c4e14c,
+0xd44f2262,
+0x3347d1d7,
+0x61700762,
+0xbc336a56,
+0x08846b57,
+0xff6973bb,
+0x039fbb0c,
+0xee8d4ec8,
+0xae6ee4c9,
+0xfe8f1ccc,
+0xcc515660,
+0x13d2f4e2,
+0xabd05036,
+0x83551d50,
+0x88152099,
+0x41ce38ba,
+0xf44df051,
+0xb49fd6e0,
+0x051afc10,
+0x4251f278,
+0x6de8e6c4,
+0xe1c16f12,
+0x491069b5,
+0x3590c4bf,
+0x2747f107,
+0xd3322b60,
+0x62121172,
+0xe3b7eb7e,
+0xfdd2a415,
+0x54e91cc6,
+0x7753cf3d,
+0x20ee7a8e,
+0x759bec02,
+0xaa090de3,
+0x40450ad5,
+0xf14c797d,
+0x451b25c9,
+0x5dd21a75,
+0x9ae92891,
+0x577d25bf,
+0x24278806,
+0xc2dd48d6,
+0xceb89d40,
+0x0ef67733,
+0x39da8ab9,
+0x06128488,
+0x0e90a9b4,
+0x18e24bd2,
+0xc097896c,
+0x974d5f02,
+0xb2113d64,
+0x4ce6bb54,
+0x84bb73df,
+0x15dd45b1,
+0xfdbe513b,
+0xf73c5609,
+0x8518dfb2,
+0xeb972b5d,
+0x9f382379,
+0xa3ecb304,
+0x23e8d8e4,
+0xeeb410bc,
+0xe78af437,
+0xe460eecc,
+0x7cc5b817,
+0xcc341005,
+0x346804fe,
+0x610ef590,
+0xd2d69a4d,
+0xcffdaf20,
+0xc3bd2a46,
+0xc7656af6,
+0xf137f20d,
+0xd0460541,
+0xdd16616b,
+0x80296db0,
+0x9da5889d,
+0x114736cd,
+0xcb22c686,
+0xb0a9e01a,
+0xf8b390c9,
+0x044586b1,
+0xe6e52e0a,
+0x6ca1b9e1,
+0xadcec13d,
+0x3e8ad43b,
+0x4d64bd1e,
+0x65315aa9,
+0xf1ee47c4,
+0x5cb95807,
+0x78774795,
+0xa02eff5d,
+0xfe7d50f8,
+0x38ea2621,
+0x83a062de,
+0x40e03587,
+0x45a96477,
+0xcc6a04e8,
+0x080831b9,
+0x6bb25d77,
+0x824c9b99,
+0x466954a7,
+0x4f995d9c,
+0x6be1ccbe,
+0xdf3af0bd,
+0xab9e099c,
+0x6feb1a3c,
+0x144c89b6,
+0xfe82bad6,
+0x2ebea94b,
+0x9bf5ba8a,
+0xd7995451,
+0x1313cc45,
+0x2a52626c,
+0x23fc431e,
+0xcdfaa6f4,
+0x68c767f3,
+0x054a43e2,
+0xc11cef1a,
+0x2b7fb62b,
+0xf0321a5f,
+0x97519013,
+0x8fd2dcee,
+0x1afd5904,
+0x6fffc615,
+0xead0cc90,
+0xa34aa2c1,
+0x71a6db20,
+0xa0990b76,
+0xd130d64b,
+0xb5743005,
+0x3bdf2893,
+0x0cba928c,
+0x0d6a4569,
+0x2ebec807,
+0x74bcf160,
+0x1ab05fd5,
+0xf1b1a840,
+0xb1f7b731,
+0xe67ca7d5,
+0x670a16cc,
+0x99a341c2,
+0xe96e8cc1,
+0xa706a0cf,
+0xe305dbd1,
+0x06f45d68,
+0x6537d717,
+0xc1efc739,
+0x0b5c2801,
+0x1b02be51,
+0x7f05c9e7,
+0x3b6340f6,
+0xc52cc2a9,
+0x6dbb816c,
+0xffb9b847,
+0xd029deaf,
+0xb737dab2,
+0x98e4acac,
+0x5353da71,
+0x16584039,
+0x7825c97c,
+0x050612e8,
+0x8ba6e2d3,
+0x28f1306c,
+0x62b77ab0,
+0x91282fa7,
+0x711a52e4,
+0x525d54da,
+0x12cb874d,
+0x4426d47b,
+0x66042b6b,
+0xaccabd39,
+0xb0c98f78,
+0xe5d9db1f,
+0x7dbd2e1a,
+0x5241237e,
+0x4869bf41,
+0x650afd4e,
+0xd2fd04ed,
+0x0ae4fba5,
+0x69a8e092,
+0x69a67f26,
+0x1842d094,
+0x43ef89f3,
+0x667e945f,
+0xc186ed0e,
+0x954000de,
+0x889447ac,
+0x7e8d175d,
+0xfa3feb12,
+0x0760893c,
+0xb74fd8bd,
+0xc8a0a647,
+0xdc7766f6,
+0x3aa712d9,
+0x8542442d,
+0xc2b29fce,
+0x04c69077,
+0xbb672f0e,
+0x73c3eb71,
+0xe2b03d0e,
+0x846ca626,
+0x26a27b70,
+0x7543fce9,
+0x335afe3e,
+0x94fc36f3,
+0x8a6c5d3a,
+0x8fb5d70e,
+0xd2ad5024,
+0xd5738767,
+0x89ad93c4,
+0x8060e438,
+0xa8abb425,
+0x2b3add19,
+0x6ae39cab,
+0x6c9792e0,
+0x5832aa4a,
+0xe435f692,
+0x0aad6c7b,
+0x7e6b9304,
+0x5a17dea3,
+0xbfc1cc4a,
+0x571ff6a8,
+0x7188e85c,
+0xad06d818,
+0x27b59ad1,
+0xe0655ac4,
+0x5b95d33e,
+0xff37b68e,
+0x5944499c,
+0xb0517480,
+0x9855b6cf,
+0xa4ac19c9,
+0x3aeecd42,
+0x248f14c1,
+0x92e1c1a5,
+0x489e3224,
+0x3c987c7d,
+0x5f5cb420,
+0x8fdab0c3,
+0x2971aba5,
+0x29da9bac,
+0x93c99135,
+0x7dd3ea1f,
+0x9013b000,
+0x62a0f8a6,
+0x84c533f7,
+0x2a330bd7,
+0xe6be1a66,
+0x4803527e,
+0xa52d6232,
+0x63ca5807,
+0xf0ca5c1b,
+0xf6625166,
+0x51432f8d,
+0x7389b5be,
+0x4c2e7936,
+0x73111640,
+0x9d3115e7,
+0x936b442c,
+0x798111c4,
+0xe950bf7b,
+0x7d1fc686,
+0xbe3e9755,
+0xeeab40d5,
+0x1dc271a4,
+0xcf233b02,
+0x96cd6a7a,
+0xd83638f0,
+0x09162b20,
+0x4f1711bd,
+0x8a1e306e,
+0xcaa8271b,
+0x7fd4245b,
+0x9b331334,
+0xe2410375,
+0x17571427,
+0x8fbf34c5,
+0x9cd8be1e,
+0x215777fe,
+0xe54d3cec,
+0xba369f01,
+0x942d157c,
+0x1ca7e040,
+0x4b412fa5,
+0xfde02223,
+0x948c6768,
+0x01824448,
+0x80cd7b04,
+0x10526ad2,
+0x5e27bb85,
+0xb742d65d,
+0xda41bcfa,
+0x303e4630,
+0xa8e166d9,
+0x149af720,
+0x48deed54,
+0x83bb2174,
+0x61e55ee6,
+0x0d3dfcf1,
+0x2ec5e245,
+0xcefd9ccc,
+0x906330d1,
+0xdb000da9,
+0x9e1b6ff9,
+0x9f3dc854,
+0x00b05dcc,
+0x17fbc536,
+0x2f1bf604,
+0x53d5bea9,
+0x39009450,
+0x19e68f12,
+0x51241e00,
+0xee7c9b99,
+0x6ffc29ed,
+0xc9570078,
+0x1a3bdd0e,
+0xdc53ff8d,
+0xe9fbcbd2,
+0x70b15bbb,
+0x8f21c971,
+0xe62937ca,
+0x8154234d,
+0x96abe190,
+0x7c6502ea,
+0xddec494d,
+0x3cbda43e,
+0x8ffd6870,
+0x85708f4b,
+0x49f70400,
+0x1e344a6f,
+0x264a9014,
+0x09b2d6d4,
+0xe9bd7a24,
+0xf8c6b126,
+0x28165403,
+0xe62c6994,
+0xd416c710,
+0x446fd24f,
+0x773bedfd,
+0x82bc8c45,
+0x28b53a2a,
+0x072847d5,
+0xf47e88ca,
+0xc275cea4,
+0xec73040e,
+0xdb290c72,
+0xa4dc0c26,
+0x808b4052,
+0x74dc9cb6,
+0xaa416f4b,
+0xc9a37d80,
+0x1cb75c89,
+0xc681773d,
+0xb3768cbf,
+0xf7da9355,
+0x798a6fa8,
+0x199b26d7,
+0xdc0cfb3e,
+0x8d59fb50,
+0xc030492c,
+0x0b0bf973,
+0xbe48731a,
+0x4cdcdd7c,
+0x693ed12a,
+0x4f42b266,
+0xfbfdc1b8,
+0xfccd4929,
+0xea6106a6,
+0x44bf0dae,
+0x56209556,
+0xdcf97e5b,
+0xb5f3703d,
+0xb44233e8,
+0x0ed21d66,
+0x906683a7,
+0x3f99793d,
+0x7de94573,
+0x9c44e50b,
+0x0501a643,
+0xffd84b91,
+0xd9950c1f,
+0x59ef1a19,
+0x6b341d1c,
+0x5c9ca8e5,
+0x12bdb2aa,
+0x4c707ff0,
+0xce4852d3,
+0x32937bd0,
+0x4d2e98d7,
+0x3d6f7b68,
+0xd5b939e4,
+0xf80fc3c7,
+0xb07c4a3b,
+0x11fc0d63,
+0xa8d832e5,
+0x8745f539,
+0x6c096913,
+0x0318d8fb,
+0x2ed1190e,
+0x844225d0,
+0xf0270acd,
+0x43df11b1,
+0x786ca957,
+0xc3a4f989,
+0xdb46bcdc,
+0x9b5a80e3,
+0x86dddd2f,
+0x4a970af9,
+0x3f3be120,
+0xa96d8cdb,
+0xa357e67d,
+0xc66f8157,
+0x7e695140,
+0xb010c56f,
+0x329bdb2b,
+0xae9103a8,
+0x19bcf640,
+0x62e0534f,
+0xc241618e,
+0x79db3c83,
+0x54f7b0b7,
+0x47b43654,
+0xe57e8564,
+0x45c1a135,
+0xec431f07,
+0x24b4d35a,
+0xd8e5e10f,
+0x7b5d256e,
+0x3fef25d9,
+0xdd0df8b7,
+0x84fee0c6,
+0xac56be37,
+0x116fdfc6,
+0xda8ac70a,
+0x6f800ec2,
+0x7faaa68c,
+0xa9ae3765,
+0xd786a2d0,
+0x84e17564,
+0xf0e01360,
+0x0135a446,
+0x7609a0cb,
+0x143818ed,
+0x146ffd98,
+0x76304580,
+0x8cd2ec59,
+0x0a74d619,
+0x65cdd732,
+0xf7899aef,
+0x1a76394d,
+0x7c1385fc,
+0xe2aa6b2e,
+0xf24849cb,
+0x69e25d91,
+0x4c11d8bb,
+0x701a8f66,
+0x4f5620bc,
+0xea6bd8af,
+0x2e563b28,
+0x31368b94,
+0x8af86e29,
+0x1b28f6cc,
+0xcf8bdd04,
+0x9e86f23a,
+0x3a4b5cd0,
+0x4afdf773,
+0x6adcb664,
+0x9c19da51,
+0x05996e73,
+0x28d0e6db,
+0x0f192523,
+0x3d6d41d8,
+0x824888c6,
+0x269d03b7,
+0xf35b782f,
+0x24109081,
+0xd57f0d33,
+0x3582afc9,
+0x2a3e1614,
+0xbbe3c672,
+0xfb7e2730,
+0xc4ae8542,
+0xfda81742,
+0x4e24379c,
+0x583aac4b,
+0x60571bf6,
+0x65db86f6,
+0x4bf7dcbe,
+0x54431e73,
+0x5752899f,
+0x1dbd728c,
+0x76e811d3,
+0x0736a37e,
+0xd87a8cfa,
+0x43a7c942,
+0x3820bc38,
+0xf1f5d402,
+0x305047c5,
+0xd2d72ac8,
+0x9dbf0bb2,
+0xbd994e5c,
+0x7b54f2de,
+0xf8d2fdfe,
+0x8ee83e28,
+0x4064e60c,
+0xf9470e62,
+0x34d36dd4,
+0xb1a4af36,
+0x1dc801d3,
+0x05fc3ed4,
+0xe0ca1cd1,
+0x0175e451,
+0xa8b4c2c7,
+0xfab5ae0a,
+0xab2096e5,
+0x43acb35c,
+0xd479e1fe,
+0x70a558dd,
+0x52982cba,
+0x00687bf3,
+0x7b212356,
+0xd567730f,
+0xf84d2b75,
+0xea90f380,
+0x6904d564,
+0xd92ee2dc,
+0xcdb985ad,
+0xf45122d2,
+0x3b7cf8d0,
+0xadb343ab,
+0x38883a3f,
+0x054033b0,
+0x43f2c6cb,
+0xda4321b0,
+0x0eaa89f1,
+0xbf224c83,
+0x55aa7a96,
+0x0417287b,
+0x9415280a,
+0x768e9766,
+0x8dbbd9cb,
+0x25f16474,
+0xfea6e7af,
+0x896d3651,
+0x6c394180,
+0x9ad43595,
+0x3bc4a08b,
+0x44768855,
+0xd7647a48,
+0xdf3b1256,
+0x4a240b4b,
+0x0b76bd9e,
+0x109d3ad0,
+0xf6131379,
+0x7aca26e1,
+0xc945707c,
+0xc806d4a4,
+0xc3b3f8e1,
+0x3da14166,
+0xe65c1f1d,
+0xc4756d40,
+0x8d8fbf1f,
+0xf6ba406f,
+0x9b69120d,
+0x3f08a726,
+0x5b5aa770,
+0xe34ca541,
+0x0ddb0a13,
+0xf7054946,
+0x6173af22,
+0xdad62cf8,
+0x74d4b3aa,
+0x8eb0c9cf,
+0x59881771,
+0xb5abc461,
+0x080aa15a,
+0xd17041f5,
+0xeb2b7969,
+0x2793bb0d,
+0x511b3430,
+0x488e56f7,
+0x91869022,
+0xd1efdbd0,
+0xf53bdfdc,
+0x91902166,
+0x2277ec59,
+0xcf94d090,
+0x829eb13f,
+0x1e58e4b1,
+0x661d5e0b,
+0xbaa4334a,
+0x364e900b,
+0x5f9e4c73,
+0xc184dad3,
+0xfb31bdbf,
+0x363d10e6,
+0x47557aa4,
+0xbde760e8,
+0xfe7873b3,
+0x9f86f167,
+0xe6d9bc1d,
+0x8f984c99,
+0x20d62932,
+0x3c309ed3,
+0x0e496072,
+0x235e4f40,
+0xc1ea1c0a,
+0x86131f3b,
+0x0e59d03c,
+0xc6c612f1,
+0xfcd69a53,
+0xfde4d4fd,
+0x58c711b9,
+0x8e8659c2,
+0x508e25db,
+0x724cbc67,
+0x535d0059,
+0xfbb59287,
+0x4fb4780d,
+0xfa17b9c6,
+0x051862ab,
+0x16200801,
+0x3096e484,
+0xfe0050db,
+0xc0c18783,
+0xf79b706d,
+0x526233df,
+0x8ca8d032,
+0x97e3f102,
+0x1ae313e1,
+0x77c9586f,
+0xf596031f,
+0x0d7b8161,
+0x315ee46b,
+0x4c118d9c,
+0xa32e0d36,
+0x538f0696,
+0xb60d520c,
+0x1047b6e2,
+0x00659b71,
+0x300d7c7d,
+0x0046708d,
+0xfd067562,
+0x25be0bcb,
+0xc272d13d,
+0x68980367,
+0xc0d8b89e,
+0x4d8cab94,
+0x015812ca,
+0x115bd466,
+0x59b099b0,
+0x60c9d232,
+0xdb34fd69,
+0x1405b1b9,
+0xf644be12,
+0xdbf2282d,
+0x40a97679,
+0x8fe19874,
+0xcaccc4c1,
+0x72d31c5d,
+0x86fcbd01,
+0x7e70157f,
+0x230da90a,
+0xd1f310df,
+0xcc95bf39,
+0xb7088ed0,
+0xb9703ba5,
+0xe0865951,
+0x0173ad3d,
+0xfec563cf,
+0x503147e1,
+0x780d1213,
+0x5490f036,
+0xe74ec3f2,
+0x1ccc4b7b,
+0x982af8f9,
+0x1302eb0f,
+0x45a8653a,
+0xf99e8d5b,
+0x3225ad9a,
+0xeac5e8b0,
+0x3e743df2,
+0xcb0f3de1,
+0xdc78b043,
+0x45d0c96c,
+0x2009974e,
+0x2290de50,
+0xaed92f09,
+0xb7446089,
+0xe962bd16,
+0x099d7cbc,
+0xcfb6221c,
+0x38d67b5c,
+0xafb4df8f,
+0x0bb81f91,
+0xe4b1c22b,
+0x006fc972,
+0x207b2465,
+0x665767fc,
+0x8235e9cf,
+0x24efe809,
+0x7b951355,
+0x90e53d49,
+0x3fe5e7e5,
+0xa4e98a1b,
+0x04cffe15,
+0xdcc9094e,
+0x89af42b5,
+0x1b34c024,
+0xc7ad349a,
+0x4f4e0762,
+0x9331220f,
+0xf9e391f2,
+0x984bc489,
+0x8cf0bb63,
+0x42956595,
+0xad562c2c,
+0xcb7a3aec,
+0xd6ebd7ed,
+0xef6b214f,
+0xe9bb87b9,
+0x8d4c2c30,
+0xdc62c5b2,
+0x8d907d9b,
+0x8b6ce973,
+0x2a209a15,
+0xe19f0bdb,
+0x54f73df1,
+0xf3d25207,
+0xe693838b,
+0x2ba0ef94,
+0x0bb452a2,
+0xf83e1d1d,
+0x395a2f6a,
+0x093310d7,
+0xdf4c1d0e,
+0x95d26e03,
+0x6fe7a7e9,
+0xfb50e75f,
+0x282b4da9,
+0x14e97a01,
+0x162eb3ca,
+0x490d3658,
+0xfba99168,
+0x3615d328,
+0x9503457b,
+0x43472e75,
+0x9969dea9,
+0x4eea5d33,
+0x55eb0ac1,
+0xb8020b25,
+0x8fb7c223,
+0xc9f0b3ae,
+0xfcf89b7b,
+0x649b4870,
+0x8dd3a766,
+0xc65a34b3,
+0xcb7b8305,
+0xb05c7f03,
+0x884c93c4,
+0xdccc4570,
+0x482417a6,
+0x7108d671,
+0x09ecf412,
+0xb1b85ac2,
+0x779bdb23,
+0xa9c4b5da,
+0x48a0af00,
+0x1a6ae9cd,
+0xfe8b687e,
+0x2897ac0a,
+0xfd993c4b,
+0x9613bd88,
+0xb0e11e2f,
+0xce1843e9,
+0x0b939c34,
+0xab44cf65,
+0x88113cf6,
+0x4c9ca57c,
+0xcf28db0f,
+0x7fad7f33,
+0x55f643ff,
+0x944ddca0,
+0xae581071,
+0xd270e34f,
+0xb5d95a78,
+0x83ad40bf,
+0x17954b68,
+0xaa52670a,
+0x5592232d,
+0x8960081c,
+0x0beade2e,
+0x822efe93,
+0x9a58cc54,
+0x07e5c8ee,
+0x8a1e6a5f,
+0xabf39200,
+0xa122cadd,
+0xddbf4ad7,
+0xadfeb22b,
+0xb12f0507,
+0xa40cc11c,
+0x194830bd,
+0xcc9dd239,
+0x8f36e28a,
+0x37337951,
+0xbb7f45d0,
+0x1b5294f6,
+0xb98997d8,
+0xee2efef5,
+0x7f22e3db,
+0xa3fdf921,
+0x62d342cc,
+0x11298f0a,
+0x4cc2336f,
+0xd8efa144,
+0x443af92b,
+0xa7a93531,
+0x7b11b707,
+0x955bbac3,
+0x44f97fed,
+0x26a4d0dd,
+0x84abdc0c,
+0x02417fd3,
+0xdead2212,
+0x4359deb4,
+0x81bcc9df,
+0x1f327859,
+0x20932644,
+0x4db16205,
+0x2a785eb8,
+0x5420ff75,
+0x10150ccb,
+0x86ebf7f6,
+0xf399ee9f,
+0x847a9fdd,
+0x26de3af8,
+0xdebb56a0,
+0x5bac39c9,
+0x262c04b8,
+0x0bf88afa,
+0xc1cf2756,
+0xff4e3e88,
+0x711e073e,
+0xbe14680e,
+0x066a4945,
+0x6f0beb49,
+0x05845d0c,
+0x5197b79f,
+0xe642415b,
+0xe3911bf1,
+0x7a0bee15,
+0xae09f0a5,
+0xb0b0a8e9,
+0xcb75c72e,
+0xdb69ca5f,
+0x08d20dc0,
+0x4d11a1c5,
+0xc40949cd,
+0xab01b7dc,
+0xcb802a86,
+0x83967d46,
+0xefa7d0b5,
+0xb90922d5,
+0x13ffe8ca,
+0x9131788e,
+0x2f085ec6,
+0x8c585d9b,
+0x237df840,
+0xf5aff34e,
+0xcf3df92f,
+0xce62cb42,
+0x299c92c2,
+0x58f7f0c5,
+0xe13f8864,
+0x485b5478,
+0xf052642f,
+0xfba5b2d0,
+0xc47ac9ec,
+0x5b23e25c,
+0xd3b5c82b,
+0xce2c7d14,
+0x913d167e,
+0xb49f4af8,
+0x88f4fe81,
+0x195d67cf,
+0xcbb382d3,
+0x52a4d8ac,
+0x0d383990,
+0xda010414,
+0xeca87e25,
+0x520ad047,
+0x85b99cd2,
+0x9a20a714,
+0x439c97cc,
+0x4541a338,
+0xe21a761a,
+0x8afbaa0a,
+0x153dc205,
+0x9de944f7,
+0xb0a9381a,
+0x0d5ca361,
+0x617d3344,
+0xde5e9713,
+0x75f9e0f6,
+0x84051565,
+0x901b3001,
+0x876c2c1f,
+0x614be9d8,
+0x62b8eda6,
+0x99707050,
+0x4b7c43d0,
+0x05714508,
+0xc95c1e54,
+0x97d0b937,
+0xf4b35fb2,
+0x3345e63f,
+0x46c8524b,
+0x67fb51f1,
+0x638c300a,
+0x36e4cd9e,
+0xb8b7670c,
+0xea8dd8fa,
+0xcd49730e,
+0xe47fae0d,
+0x11860075,
+0x324ea3d2,
+0xe2e8a031,
+0x66aec258,
+0x920f285a,
+0xf3c5f89a,
+0x88880879,
+0x5a455aa5,
+0x3bd2b456,
+0xabc8ad14,
+0xcbcc72d9,
+0xad3f44ad,
+0x5cebd2ee,
+0x5bf8b9a4,
+0x5c9d699a,
+0x09bae2c0,
+0x40158883,
+0x6cd882b3,
+0xa7aad017,
+0x716cb5be,
+0xb21ae805,
+0x331878b8,
+0x5acda090,
+0xca236828,
+0xb65b678e,
+0xf5429897,
+0xe563627c,
+0x212a6a49,
+0x2ef3bd88,
+0x20d53f50,
+0x335716b0,
+0x92cdb878,
+0xf907689b,
+0xa7ccb87f,
+0xc8026293,
+0xb5b1f661,
+0xce9854fe,
+0xeb57f212,
+0x0b945bb8,
+0xc5d3796c,
+0x8ac699c5,
+0xc31e6fee,
+0xd8031ed4,
+0xf47a7318,
+0x4a154993,
+0x42065bf2,
+0x49a07959,
+0xa8670a58,
+0x86345e69,
+0x4955f003,
+0x1439207d,
+0x688d9ed2,
+0x706d7c29,
+0x9da9de59,
+0xd8ebc7cd,
+0x0649caf7,
+0xb141b1c6,
+0x010ae00c,
+0x7e0cac04,
+0x8d4feb44,
+0x7c01db5e,
+0x703467e4,
+0x77666f9d,
+0x02fffeab,
+0x03cdc9d1,
+0x9029b00e,
+0x670faa10,
+0x570ca087,
+0x0eb6120a,
+0x31b6ac60,
+0xe0d9d716,
+0x8da0f80a,
+0x79e57dff,
+0x061b460c,
+0x33756087,
+0xfb575228,
+0x9ef4634b,
+0x8f1b7b3b,
+0xfb520b42,
+0xbad548ae,
+0xf74aa538,
+0xbb1e4fc3,
+0x7f272a43,
+0xed74bf00,
+0xf2cb9cf9,
+0x7b19bc40,
+0xbadabb45,
+0x06d79b5d,
+0x4b58e211,
+0x12e380eb,
+0x8d2f6b1e,
+0x4f2ed028,
+0x0360ea6c,
+0xc57ac1a9,
+0x3b4b34ee,
+0x459ce9e0,
+0x0138859f,
+0x952debf8,
+0x2d8a96e8,
+0x2f21b38a,
+0x79ffd2fb,
+0x15c7f4fa,
+0xf76fe6b0,
+0x7c197611,
+0xbe58b2b2,
+0x7e580d07,
+0xf33449a9,
+0xf6b1caf9,
+0x37f2b139,
+0xb6917c5b,
+0x2a676c50,
+0xcb750f1f,
+0xcb2b232e,
+0x7d2ff468,
+0x22e0691e,
+0x17c2bbb0,
+0xc68dc16d,
+0x72eee347,
+0xab607077,
+0x189469d0,
+0xedfd3b9e,
+0xb6d470bd,
+0x762aaf2a,
+0xf3afbe64,
+0xbe37ca3e,
+0xbe86273d,
+0x6e6913ac,
+0x7c7be32b,
+0x4a37d4ce,
+0x1b5681ee,
+0xdec3fa9c,
+0x1cd25652,
+0x40c3843f,
+0x2140db49,
+0x5e791b76,
+0xb37c12fe,
+0x5beb726f,
+0x5966d35e,
+0xc28bc5d2,
+0x61fb7dea,
+0x97a39530,
+0x3cfccd56,
+0x188c5ee9,
+0x06e18dde,
+0x98dd5442,
+0x1172014d,
+0x96ce10a8,
+0xf292f9a5,
+0x21e7b784,
+0x93990456,
+0x81ef3332,
+0x89bdae18,
+0x209d8204,
+0x736d60bc,
+0x81860ba4,
+0x057bee94,
+0xf51956ad,
+0x1f7df41b,
+0xb3d03fa9,
+0xc15d106e,
+0x092be653,
+0x6ee91a0a,
+0xbced8f7a,
+0xe0c3a102,
+0x1f938eec,
+0x485b65bd,
+0x4127fce6,
+0x68bb8d87,
+0x44cba840,
+0x0fadacf6,
+0x5b4a1f97,
+0x0f9d8f5f,
+0x6369f5b8,
+0x883cb9c9,
+0x3dd17527,
+0xd462d787,
+0xd3380f0b,
+0xda4268a5,
+0x136f896c,
+0x9f13f72f,
+0x0d9f9ca6,
+0xab64e0e2,
+0x27cd5967,
+0xf8237373,
+0x0a0f6f4a,
+0x464825a3,
+0xaa315828,
+0x339eb0fe,
+0xe1a864c6,
+0x2fd058bf,
+0xd4613eb6,
+0xdbb352be,
+0xef42767c,
+0x993bb093,
+0x76519537,
+0xc2ecb820,
+0x1b213f8e,
+0x6581537a,
+0x3239a431,
+0x653227bd,
+0xc54225fc,
+0x8a5944ee,
+0xcff2755b,
+0x8f0d7983,
+0xc054758f,
+0xca295a74,
+0xfb4360c7,
+0x247e0e2b,
+0xc6e4de4c,
+0x53d08ded,
+0x7b1eccf7,
+0x8a1036c4,
+0xeeac2fda,
+0xb2be9708,
+0xe092cf82,
+0x56972636,
+0xa1dc60a6,
+0x1a1b45f8,
+0xaf24b3c8,
+0x5f3e34d3,
+0x7d59dba7,
+0x7dbf94b5,
+0x618b7070,
+0x077de979,
+0xf7e31d13,
+0xc86584e7,
+0x1c98d1a8,
+0xf719e2b0,
+0x27b93fc1,
+0x8955470e,
+0x66309ba3,
+0x09c6f340,
+0x2b4ad505,
+0x08efc5c0,
+0x702a12ed,
+0x2d9ed152,
+0x87ef92f9,
+0xead3defc,
+0x3a5b9f2f,
+0x262035a7,
+0x878f0e41,
+0x71894d83,
+0xfceeffe5,
+0x2d3388e7,
+0x71827122,
+0xdc78e697,
+0x7c3fddd1,
+0xa041b6c2,
+0x4e955b5d,
+0xd516ae36,
+0xf6237962,
+0x2a9ebd1f,
+0x1c7bfda1,
+0x221af536,
+0xddfa9de7,
+0xd8daa971,
+0xf893ed0e,
+0xf1f7c81d,
+0x4869b903,
+0xf2422748,
+0x6cbb1689,
+0x2f645392,
+0x551898df,
+0x8d4b57fa,
+0x63e79dac,
+0xce4c7b91,
+0x058f8d2a,
+0x7d3a52ce,
+0xca9e42d1,
+0x65556cc6,
+0x068d1fd3,
+0x6c1a5490,
+0xba8136d1,
+0x3d88eaaf,
+0x1cde7e46,
+0x2c10159a,
+0x67daf096,
+0x85f7137d,
+0xcc4ce4c5,
+0xca17c86a,
+0x21c0ca46,
+0x35eec14f,
+0x02f2c76e,
+0xa6266597,
+0x39326c6c,
+0x7d86e73f,
+0x0aea6f6a,
+0x1e6c1e6c,
+0x786d19bc,
+0x9e8908e5,
+0x87564009,
+0xf7a37166,
+0x007d8f8b,
+0xad9a9387,
+0x5a1afa15,
+0xaa009c90,
+0xe69a0bd2,
+0x963f965e,
+0x3b224d8b,
+0x5ce6a289,
+0xf027517b,
+0x830c5280,
+0xc9784570,
+0xf3f52859,
+0xd1f4f2f4,
+0x514fa565,
+0x6f22036b,
+0xd31d184f,
+0x02764c47,
+0xa02f7d8a,
+0x15fdd593,
+0x757e6e00,
+0xa7594f30,
+0xfeb538b0,
+0x218d996e,
+0x90971ed1,
+0x757731bb,
+0x6daeb73f,
+0x453da081,
+0x670f7979,
+0x5f0aa2d4,
+0x218c59b4,
+0xab2e872c,
+0x6ed04555,
+0x565dfa5d,
+0x9906e57b,
+0x3af0d127,
+0x3c97561a,
+0xc27e8d05,
+0x1891c16a,
+0x8c409fc2,
+0xf2a999c6,
+0xbcde5b6f,
+0xba553ed9,
+0xfc55ed63,
+0x1318e78d,
+0xe88e2558,
+0x2d7ddd01,
+0xe95647f1,
+0xf8f0b361,
+0x5fce3272,
+0xa9d8903b,
+0x2fdc845b,
+0x11779867,
+0x731580cf,
+0xb988a3c3,
+0x2cb923a9,
+0xa66db714,
+0xc003c724,
+0x21a15bbf,
+0xfe0add5a,
+0x0c7f1cce,
+0x480a15b6,
+0x20070493,
+0x71b66c45,
+0x8fb85d5f,
+0x7a92224c,
+0xdb9b998e,
+0x450bf09b,
+0x6687cfa7,
+0x14db2265,
+0x98a90a8e,
+0xb73ade7f,
+0xe90d75bc,
+0xdbcbaffe,
+0x95d8e551,
+0x91b18555,
+0xbb293e84,
+0x2cd2101d,
+0x448a5ce7,
+0x0135ade3,
+0x7e8487be,
+0xa075f381,
+0x0b94c39e,
+0xd72c097e,
+0xd02c7259,
+0xef1462a1,
+0x5f30009d,
+0xa1fabb7f,
+0xb6d284a0,
+0x9d52fad0,
+0x5f33821d,
+0xb3eaedec,
+0xdb5bd7e5,
+0x8260cf5a,
+0x3cb5ec6a,
+0x8396bf6a,
+0x3dfd1c76,
+0xf3c2ddb5,
+0xa3448132,
+0x41461e93,
+0xb1b320f1,
+0x538df2f9,
+0x3eb32770,
+0x5b5bf025,
+0xc6ce27b3,
+0x0c8417ce,
+0xbddc60b0,
+0x8635185e,
+0x75741167,
+0xe843911c,
+0x2be682e0,
+0x5852dac2,
+0xe465d9d0,
+0xf34a39ab,
+0x0c9eb0bc,
+0xc23ae7b9,
+0xeb0f3c40,
+0x06e62b48,
+0x21ce52ed,
+0xcb88b766,
+0xa49a0f20,
+0xbb536e55,
+0x3231b2cc,
+0x0308cbcf,
+0xc0cc653f,
+0x8f9b469b,
+0x46fe6d66,
+0x69d09ed0,
+0xdf82977b,
+0xadd34f8b,
+0xb5bf2eb0,
+0xfdd14e95,
+0x0d67801d,
+0x070b03a5,
+0xc5446dad,
+0x4f067855,
+0xab8946e6,
+0xff713f3d,
+0xdef32cdd,
+0x7e2ff4b3,
+0xb71484bb,
+0x1865ab26,
+0xd8254d18,
+0x92214483,
+0xe4bd9bc4,
+0xb1d1bf73,
+0xff05f8ff,
+0x03c6b746,
+0xc35a5d81,
+0xeac7c314,
+0x4da4e7a7,
+0xd8a9a856,
+0xcff08ef5,
+0xce77322b,
+0xdac1016f,
+0x07516ce0,
+0xa477f904,
+0xd3f847c6,
+0x4dd6d266,
+0x8d4fd8c9,
+0x70f1a566,
+0x3459ef52,
+0x5b433e37,
+0x80bc2f83,
+0x76d4da81,
+0xcc30c0e1,
+0xcb470a95,
+0xce5d31b6,
+0xffe295b1,
+0xdece3020,
+0x6a124566,
+0x81380546,
+0x656bd150,
+0xbbbcdc4b,
+0x136911c0,
+0x610e28a0,
+0x1e10fc2b,
+0x2dd33aa6,
+0x05767192,
+0x5f71c01d,
+0x78567ac1,
+0xf1e48a83,
+0x33d2fb3c,
+0x511417c5,
+0x96983dca,
+0x38f2fd77,
+0x28424699,
+0x8ff65c89,
+0x170134f8,
+0x323ea437,
+0x9a44d4a5,
+0x6262ba80,
+0x9f74d010,
+0x07ea7d5c,
+0xe75f6654,
+0x3af1fc94,
+0xff047c0a,
+0x136700a4,
+0x50fae625,
+0xe120b1ea,
+0x531a3c17,
+0xe6718f4a,
+0x2d09f388,
+0xd98581ab,
+0x4c0fe298,
+0x46d2c3e9,
+0xccc044cb,
+0xcba62a99,
+0xa03103b9,
+0x6ec879a8,
+0x35d9caaa,
+0x8ec8a8c9,
+0x4634cf69,
+0x33cc41ae,
+0x3c1fa787,
+0x05149103,
+0x778ec9ba,
+0xaef10466,
+0x9bf91132,
+0x4eefed9f,
+0xdade8468,
+0xabc34c5f,
+0x6cf597a5,
+0xdb4da912,
+0xf691b73d,
+0x444f384a,
+0x2700d1bf,
+0x20e9c9b6,
+0x994b3bac,
+0x2b2de398,
+0x7ee3bdc5,
+0x750a1563,
+0x29068fe1,
+0x5d38f114,
+0xb737f26c,
+0xd3715563,
+0x03aef622,
+0x617a5f24,
+0x06f06b92,
+0xad021a96,
+0x23fa6384,
+0x042d67a4,
+0xb0ec8b25,
+0x078949ff,
+0x3673ca61,
+0x8b017b49,
+0x9e14cd68,
+0x0fb26ddf,
+0x44d45c8c,
+0x35ed6eff,
+0x4909f797,
+0xd6d210f3,
+0x9c943f95,
+0x468f1ca7,
+0xc2d4f9bd,
+0xe546f687,
+0x25d9ee60,
+0x887c5901,
+0x9e8359a8,
+0xd64d4d54,
+0xfa106786,
+0x00e0beaf,
+0xace907a2,
+0xf6449137,
+0x82d0d2a8,
+0x87c26d93,
+0xef5b36df,
+0x23ccdc77,
+0x36b9bda1,
+0x22356ce2,
+0xab8e096d,
+0x01998d5d,
+0xe0297293,
+0xecc7747f,
+0xf4c8de6b,
+0x70abf61e,
+0x073f2592,
+0x9e6cfc4b,
+0x04d44416,
+0x51ec51e4,
+0x5b0dfb47,
+0x907844a5,
+0x271ed1c4,
+0xacc635cf,
+0x7fbe9441,
+0xf763da94,
+0x00622d9c,
+0x2c96ffe6,
+0x4ef091fa,
+0x46ca9d3a,
+0x969917d4,
+0x9442b1d0,
+0xcdcf5a07,
+0xc57b86e5,
+0xb4cafc95,
+0xc6e9b4c3,
+0xa778e205,
+0x8e7c06c2,
+0xeacbac75,
+0x178a4c5a,
+0x672ae481,
+0x7704f2bc,
+0x882b4b25,
+0x875466eb,
+0x694a43a4,
+0x453d3596,
+0x8c12ed33,
+0xe4383ba2,
+0x6280eddc,
+0xa7e8c723,
+0x9b0236d5,
+0x977b0fce,
+0xa88abecc,
+0xe72aabe8,
+0x192f27dd,
+0x274663a9,
+0x6b0ede7a,
+0x7939b535,
+0xe0c69541,
+0xbbf053ca,
+0x1506f7c8,
+0x824094a6,
+0x55bd5416,
+0x7a196d3c,
+0xa933d2bf,
+0xbb0df73b,
+0xa40fb4d7,
+0xee8a09d4,
+0x51197219,
+0x2e2f042d,
+0xef9c6b75,
+0xf1636559,
+0x27751041,
+0xd7042476,
+0x2ba1cd9c,
+0x16d23062,
+0x98e513dc,
+0xe2d39f29,
+0xc269ee9b,
+0xcfe9cc0a,
+0xd80a1433,
+0xcc8f0c25,
+0x1d537445,
+0x56ffc821,
+0xbeeef2fd,
+0x060e3124,
+0xc2c7f11e,
+0xc2636198,
+0x17b27dcf,
+0x20f399e7,
+0x0d87a825,
+0x9207ad89,
+0xb873f9b6,
+0xf5981b03,
+0xe5b0d6cd,
+0x23fd52c5,
+0xc8b9af3c,
+0x7e2bb172,
+0x95f8d5bf,
+0x5f938afd,
+0xfc9da03a,
+0xfdcd8389,
+0x4acde91f,
+0x5b88079c,
+0xa786de58,
+0x136236a8,
+0x8a3405e7,
+0xf44bf03b,
+0x3fe64580,
+0x5f9557b8,
+0x5e1a2f26,
+0xf39768ca,
+0x2a908b7e,
+0x039256da,
+0xca1393f7,
+0xc6e6be90,
+0xff27468e,
+0xe24c23f3,
+0xcd92dd32,
+0x4c29ecbb,
+0x70d2042f,
+0xec5fc3d7,
+0xfbf732f3,
+0x7cf325aa,
+0x39d32741,
+0xc5c491e5,
+0x1057c319,
+0xaf7cdd15,
+0xccaaa39c,
+0x047650d6,
+0x11e1ee25,
+0xca9edd4a,
+0x423c4606,
+0xec0b12ae,
+0xeffa107d,
+0xf38381bc,
+0x059e42be,
+0x245d5a51,
+0x6d6386b0,
+0x1afd4b52,
+0x050356c9,
+0xade68a49,
+0x3d851dc1,
+0x8c9bb940,
+0x3021104c,
+0x22f2575f,
+0xe5da1c30,
+0xe02d8785,
+0x43c5ff5b,
+0x8da501bf,
+0x780325f2,
+0x45bbb4ec,
+0x7cc718d8,
+0x8b786b3c,
+0xa7691ceb,
+0xaabfc347,
+0x11a02db8,
+0x577d89e6,
+0x5156e8db,
+0x368ee598,
+0xbdef55ad,
+0xcb848932,
+0x81261d55,
+0xca832a5c,
+0xe69c7c43,
+0xf66298a6,
+0x2db5bfd1,
+0xfb4a0965,
+0xf0caccc8,
+0x36d423c2,
+0x608bb88a,
+0x29f2e783,
+0x2188ae45,
+0x3c44769b,
+0x81637e5d,
+0xd27b24d7,
+0x8ef98078,
+0xc4ea880f,
+0xaa90fc0b,
+0x8bf357d0,
+0x0dbc5834,
+0x23a9e487,
+0xaf2be7ba,
+0xaf9ee176,
+0xb7e832c1,
+0xf8d2bc23,
+0xd68b7bad,
+0xeec4e188,
+0xbebe23a8,
+0x9cf17149,
+0x5de68e07,
+0xf710b5dc,
+0x338e6e82,
+0xdc0ac74d,
+0xf4ff1c7c,
+0x9d9f3f68,
+0x31045f05,
+0x0c6e823a,
+0xec9efb67,
+0xaad8832b,
+0x428074bc,
+0x6368e395,
+0x89c5ca2c,
+0x4056b9ac,
+0x2b5d9233,
+0xfac7055a,
+0x678a7e06,
+0x38d0292e,
+0x79b93322,
+0x106d48b3,
+0x8ec3a3e1,
+0x86643c81,
+0x2bdc5d14,
+0x152dfc4c,
+0xcb7992c7,
+0x7228b4be,
+0x5a24b584,
+0xa814cae6,
+0x2d02e399,
+0x0c15d5d0,
+0xe6ebe63e,
+0x74113f6e,
+0xf26355a4,
+0x19bb3b9f,
+0x4d63c342,
+0xdcce40c7,
+0x97a0e0a6,
+0x017f53b4,
+0xc08a2bf1,
+0x4eaf014a,
+0x638d590f,
+0x3a9effc5,
+0x0d2d2b4c,
+0xfc0d9f9f,
+0x48bc8690,
+0x501af165,
+0xd218a575,
+0x9c1c45b4,
+0x093b4f2f,
+0x64bd00f3,
+0x23c7bde2,
+0x1992f8c4,
+0x4be1f5fc,
+0x2402781a,
+0x717a04aa,
+0x95ea0558,
+0xd4a13175,
+0x78799268,
+0x5b3f5e1f,
+0xf51914f4,
+0x576486d7,
+0xa954be14,
+0xb4f40b0e,
+0xd31a71f3,
+0x6a865993,
+0xc829e931,
+0x203c2a8b,
+0x694ae272,
+0x0b5103ed,
+0xd24807bd,
+0xddacf855,
+0xec91192d,
+0x6aaef963,
+0x6e10c7b6,
+0x7013854c,
+0x48e9937f,
+0xd5757c52,
+0x8ea172d5,
+0x00e7f323,
+0x57035076,
+0x99b483ff,
+0x68c603da,
+0x5f581f0b,
+0x173ad32a,
+0x56df0809,
+0xd32efe5d,
+0x38dfd741,
+0x085e1421,
+0x2fec2a56,
+0x1ffb21d3,
+0x4eb56a96,
+0xa30ba8f1,
+0x47704400,
+0x85f252d0,
+0x4edfed5f,
+0xda35f1aa,
+0x6379e1ce,
+0xef908b5b,
+0x6fe7786e,
+0xf6cae797,
+0x9997fc79,
+0x1010fb22,
+0x9c8ed155,
+0xce55b68e,
+0xf30d9fef,
+0x8c2bba56,
+0x7cc58dfc,
+0x895b8c0c,
+0x4bb21bd3,
+0xe4de8167,
+0x60c96ed1,
+0x99a26e85,
+0x2850f884,
+0x616b6866,
+0x0be5f5aa,
+0xcf71b42b,
+0x8f8dc8bb,
+0x71f8cdb0,
+0x3934fddd,
+0x3b142606,
+0x6815263a,
+0x47af6fa5,
+0x83e952ca,
+0x4eaa10f2,
+0x9ee762d5,
+0xc8947a09,
+0xb04b9393,
+0xe998a4bd,
+0x5a4c5b26,
+0xee8e7d81,
+0xa34fe846,
+0xf17a6de0,
+0x2fab0e9a,
+0x7d8f1a9b,
+0x9ebdceb5,
+0x7006ba31,
+0xc4d032c3,
+0x930b0083,
+0xf9d1f3f9,
+0x12a01ef9,
+0x5fb463b6,
+0x334344dc,
+0x5484d2db,
+0x2c47ec8f,
+0x6096d5fb,
+0x737c7bb0,
+0xf9047801,
+0x60ef2c9e,
+0xca884692,
+0x4b7de789,
+0x67585427,
+0xcccdd2eb,
+0xdcd3d71c,
+0x4cc83231,
+0x1ec86d3d,
+0x7b11b438,
+0x67148f64,
+0x3014a85d,
+0x21876d8d,
+0xfe659727,
+0x50daab9e,
+0xd51801e9,
+0xbf3ee93d,
+0x15eba193,
+0xdc37f29d,
+0xb24f8c88,
+0xc71df097,
+0xc5bd407b,
+0x7adae72f,
+0xae84315b,
+0xc5e111e6,
+0x96853e20,
+0x4cc6dc0b,
+0xc0f2fb49,
+0x1365b27a,
+0xa8a3fa12,
+0x58dca766,
+0x4cb892d8,
+0x24205c02,
+0xd660293c,
+0x0ae5fd0f,
+0x247d0e51,
+0x26294a6b,
+0x065b4562,
+0xcbeb984d,
+0x8bc1d193,
+0x9a742aeb,
+0x0d10a2ba,
+0x3085a92d,
+0x65fc243f,
+0xb04e4ae4,
+0x3693d549,
+0x080c72e7,
+0x2f8e4556,
+0x98377c8a,
+0x933d66b3,
+0x210da13a,
+0x7e231a17,
+0x7b722600,
+0x71acda8d,
+0xef4db403,
+0x0d35dfd0,
+0x8587d096,
+0xf5d917c5,
+0xfd3e556a,
+0xcccabf27,
+0xf9ca7e8e,
+0x7fa8e997,
+0x7a5061a8,
+0x4e5901dc,
+0xbb2c6082,
+0x60b3269f,
+0x799e1e95,
+0xc4a4e68e,
+0xbab5e24f,
+0xb094f2cc,
+0x7b02324c,
+0x7fd2f8b3,
+0xe934c299,
+0xbecbd0f5,
+0x00e396b7,
+0xf04d9588,
+0xad5689dd,
+0xe89d0cac,
+0x956bc811,
+0x6873a48c,
+0x3a87d578,
+0x8961876f,
+0xeab17073,
+0xa1ffbc48,
+0xe04ca1f1,
+0x52aee5a3,
+0x72f5c911,
+0xddb8777f,
+0xa5875fc0,
+0x608a4d26,
+0x31e8015f,
+0x471c2b80,
+0x27566d2f,
+0x32ac5fb2,
+0x306996b3,
+0x320f76c8,
+0xe6099e7b,
+0xb26cc185,
+0xaf66beca,
+0x09fb02c4,
+0xa1e25a8f,
+0x5a7c4e90,
+0x9b04e519,
+0x6e246b32,
+0x0e566036,
+0x24bfedde,
+0x7b1e7b56,
+0x4bbd4c25,
+0x01d055ec,
+0xc412f404,
+0x559e0a00,
+0x2b587ba5,
+0x03343953,
+0xa38ad173,
+0xb1e03869,
+0x2cdea990,
+0x83d82d60,
+0x8e12ebcf,
+0xaf10cab2,
+0xd82081a2,
+0x74b3d374,
+0x4efce9fb,
+0x8b825006,
+0x70a92775,
+0x8fa1cf75,
+0x95ebf311,
+0xe0f480b0,
+0x066a0696,
+0x58283e4f,
+0x9a8ed495,
+0x7add5dc2,
+0xea9ec139,
+0x79ab01bd,
+0xa37607d1,
+0x9cfcf418,
+0x273ae612,
+0xcbfd8994,
+0xf1929040,
+0x228cf6eb,
+0xee704631,
+0xb4b067da,
+0x902f8736,
+0x03812b5f,
+0xfa875b58,
+0xc0cac400,
+0xe6884917,
+0xd7264525,
+0x5f1cf827,
+0x7e5d049f,
+0x5514941c,
+0xe024c868,
+0x0497d592,
+0x64c3a0e7,
+0x41a74082,
+0x2f15f832,
+0xaa42042b,
+0x252dc39e,
+0x4f58879b,
+0x00cb8b54,
+0x32682cba,
+0x6fed769e,
+0x7b2fd98b,
+0x2493e344,
+0x987a5987,
+0xc65eb751,
+0x56a7f8c9,
+0xd8a0f2f3,
+0x399e281c,
+0xc61c96b1,
+0x68e04f1f,
+0xb329b8dc,
+0xa844e5f1,
+0xd565c1d7,
+0x76871405,
+0xace1db80,
+0xd550b04f,
+0xe36863ca,
+0x22dd666a,
+0x7a618973,
+0x0eb35698,
+0xe53e39ff,
+0x696369e8,
+0x92d464a4,
+0xea71d26f,
+0xbc36455e,
+0x0463aba2,
+0x402a84fc,
+0x3036cc18,
+0xbe096500,
+0x79ac8ed1,
+0xebc46ff1,
+0xaf159a2c,
+0xe42194b1,
+0x4d83b6ee,
+0xb74251c7,
+0x9030f8b5,
+0x24022f2c,
+0xa1c465c8,
+0xfcbc2eb6,
+0xd9f3d02f,
+0x4245c7fd,
+0xae627bec,
+0x8b813d5e,
+0xf4cbae3e,
+0xc3243fe6,
+0xf2e46242,
+0x3534c232,
+0xa654f1e0,
+0x9f3b3565,
+0xb774aaaa,
+0xd41b8231,
+0x95b27d05,
+0x2efc1e51,
+0x63628146,
+0x5307ddc3,
+0x8e7ba2b3,
+0xfd296ee6,
+0xe5c2d12a,
+0xc37b6e93,
+0x93461a5a,
+0x76660ba5,
+0x4fe2e12f,
+0x9f9dad82,
+0x5ae18107,
+0x76cc5a53,
+0x9c2febf2,
+0xa6908576,
+0x0639bb6d,
+0x3be0eb19,
+0x3fedc107,
+0x3a884625,
+0xa32ab52d,
+0x5bf8a033,
+0xa62112d6,
+0xfd83510f,
+0x6901fab5,
+0x0f269b86,
+0x4562d826,
+0x56c4ae56,
+0xb88e959c,
+0xa111e1c5,
+0xe7403a09,
+0xa9bfa277,
+0x47921789,
+0x986fe00d,
+0x05be0dc3,
+0xbccc7308,
+0x71f2e55e,
+0x09c4e6f3,
+0x04dbf1dd,
+0xa0f372f1,
+0xa9033116,
+0x69cb6f1e,
+0x4debe87e,
+0x2bb40ac9,
+0x95ab09e6,
+0xdd4dac1a,
+0x03f04a07,
+0x6e822385,
+0xd5f9b876,
+0xacc4cf41,
+0x908c5903,
+0x379be6f8,
+0x956caf4f,
+0xe5ea7689,
+0x58d0b678,
+0x747f82ea,
+0x88b7c475,
+0x01d81f13,
+0x319368a8,
+0x97f8d449,
+0x83c6232a,
+0xe0e77317,
+0x35a8d623,
+0xf5ca88f1,
+0x50d09982,
+0x40ea384e,
+0x1b6d44b4,
+0x43128782,
+0xcca0cb6c,
+0xf8864b8a,
+0x74002663,
+0xa43d3532,
+0xd2628576,
+0x9c2eed79,
+0x8a3348ad,
+0xeda24311,
+0xbbcb7814,
+0xf0d58f36,
+0xa95f70a5,
+0x8d80bdf4,
+0xc94ad80f,
+0x8426e933,
+0xcbf34789,
+0x3b4ffd05,
+0xc25633b6,
+0xbd42a620,
+0xd3d725a3,
+0x2be1308d,
+0x1eb996f5,
+0xc7030acb,
+0xda736a4e,
+0x8cc5abe3,
+0x11628526,
+0x42a9640f,
+0x14f80dad,
+0xef4a4b8d,
+0x515f3fec,
+0x4733ae07,
+0x5200f4f5,
+0x49ab8766,
+0x2509139b,
+0x60bbd65b,
+0xe71b75ec,
+0x048ca24e,
+0x62ec900b,
+0xcf5834aa,
+0xbc4b607b,
+0xd2ceba62,
+0xa8e4c53b,
+0xd5733a4c,
+0x23ad8555,
+0x21357b23,
+0x7e04b54a,
+0xc857c861,
+0x42d0e3a6,
+0x588492e5,
+0x31ba1a90,
+0xc082143d,
+0xa3399901,
+0x72765d11,
+0x85332fc4,
+0x32c82378,
+0xa095b9be,
+0x760c0174,
+0x40344dae,
+0xa1fd7815,
+0x37d18e3f,
+0x26c14617,
+0x08c6a53b,
+0xa0a723d9,
+0xf0017bc6,
+0xe3303bf3,
+0xb6ab6ef4,
+0xdfd751f7,
+0x9115cd6a,
+0x7acfd508,
+0xf4cc0866,
+0x3f720659,
+0x8151d292,
+0xa266676e,
+0x42c82d41,
+0x495faf0c,
+0x0583f9d6,
+0xdcb63be1,
+0xd71f0cf7,
+0xed279122,
+0xfaf1fc01,
+0x261bf10c,
+0x2fa9d1da,
+0xaa4ffe0e,
+0x43684dd0,
+0x516ae7af,
+0xcaff4ffb,
+0xedc5936b,
+0xe39bc3db,
+0xa243eaa0,
+0xa3bc789e,
+0x66f3333e,
+0x422a6f62,
+0x8c0a08d4,
+0xf3847915,
+0xaaed7e0b,
+0x611f4e08,
+0xef882f17,
+0x8e18343b,
+0xe21e5a40,
+0xc4398f81,
+0xc6ed85db,
+0xf8b137e2,
+0x577865ea,
+0xe1fac869,
+0x559cd12d,
+0x2bcb0368,
+0xe9e8e68c,
+0xcb26b964,
+0xf3a0d3fa,
+0x374166ca,
+0x8aea641d,
+0xb536914f,
+0xae20927a,
+0x0228dfb0,
+0xb0b84f36,
+0x2b83a9c9,
+0xa4a182de,
+0xa0ee9e4e,
+0x706dfc15,
+0x1ef98ccc,
+0x74923f64,
+0xdbd925f6,
+0xfdf10127,
+0x32308a13,
+0x3ff0e988,
+0xca9f7a1a,
+0xa599614c,
+0xfe5ca32d,
+0x3559eaef,
+0xf33dc508,
+0x1981ff69,
+0x4dcbe714,
+0x47f2fdfa,
+0xa2a0b94e,
+0x05b5d3eb,
+0x6e986d87,
+0xf41253e9,
+0x5a6bfdf7,
+0x60da81ce,
+0xb024a634,
+0x56810d23,
+0x71b99d43,
+0xdb892000,
+0xd4dfade1,
+0x5300831a,
+0x4f2eda3f,
+0x1e6fa1b9,
+0x1eaa771f,
+0x835613a0,
+0xd89fa111,
+0x31af9134,
+0xc45aefe8,
+0x96bcf708,
+0x017a1da7,
+0x198825e3,
+0x385ecdfa,
+0x4e26427c,
+0x26e5a615,
+0x41add818,
+0xe49536bc,
+0x0893ff69,
+0xd67175de,
+0x47da0c4e,
+0xd4aa77f0,
+0xd7766263,
+0x106f0819,
+0x3c8a6e48,
+0x0c646337,
+0x41bea7b8,
+0x197548bc,
+0xaf5f490a,
+0xede2d44b,
+0x253a2067,
+0xb7231ebf,
+0x9430d6fe,
+0xcf278991,
+0xbce513e4,
+0x7dd7c3da,
+0x7e285ea4,
+0x914ceb31,
+0xc611f211,
+0xbb17ba18,
+0x3edca6f2,
+0x7f8803a2,
+0x4b0e15d8,
+0x311e9d78,
+0x366b4dfb,
+0x3b12fb26,
+0x66a04602,
+0x254638e8,
+0x558caf68,
+0x0e908f8e,
+0x892dd1a5,
+0x324b09e7,
+0xb4c65e27,
+0x41b71cb1,
+0x687b60e0,
+0xd469bf7b,
+0xfe74a3a3,
+0x643652f8,
+0xcfc40d38,
+0x8e60629c,
+0x8f94c5ba,
+0x61f1fda7,
+0xd2a97d20,
+0x2414758e,
+0x4462e6c2,
+0xc3508af0,
+0xaafbe19f,
+0xc1190924,
+0xef2175a7,
+0x57292430,
+0x4bad33d9,
+0xe3eb6257,
+0x52a0eafe,
+0xa2755286,
+0xf9076ded,
+0xf80b1521,
+0x9bd6a233,
+0x634d9dff,
+0xa295598a,
+0x93195837,
+0x040dae32,
+0x1a390a12,
+0x94ee38e6,
+0x4637a552,
+0x591eeb42,
+0x6a5f3aa4,
+0x8a9b6105,
+0x3b25a0da,
+0x2bc328d7,
+0xa98ef670,
+0x1fa18b6d,
+0x9793f1d9,
+0x3925ba9a,
+0xc24884bc,
+0x75110970,
+0x4bc5e6db,
+0x52462322,
+0x9d7dcc23,
+0xef09125b,
+0x3fbf72e2,
+0xad7fff5a,
+0x49d8e97d,
+0xae87c95a,
+0x1f9eb5ec,
+0x181ceabb,
+0x4c056ed4,
+0x56454893,
+0xf315742d,
+0x5071f45d,
+0x3a423951,
+0x6a4d2a21,
+0xfc32d6b1,
+0x869a4b24,
+0x37b7b97d,
+0xe43dd93b,
+0x5a5cfe6e,
+0x2a30326b,
+0x27cb23a6,
+0xf65fa6e2,
+0x6f6e6604,
+0x59269e38,
+0xa01e2b8f,
+0xcf1c9fe8,
+0x59108cfb,
+0x8c0f4609,
+0xbc982210,
+0xa34f046b,
+0x7f1151bd,
+0x39bc8071,
+0xbc974d43,
+0xd0e97d1c,
+0xc86c136c,
+0x5b2512ae,
+0x8966ac41,
+0x63c211eb,
+0x26da17a7,
+0xd905d39b,
+0x620c13a4,
+0x259b832b,
+0xfa78e9d0,
+0x9cd8a6a2,
+0x37a647ed,
+0xd618da36,
+0x8afca456,
+0x386b9442,
+0x9bcefe3f,
+0x4d0d76d0,
+0x96029463,
+0x35bacddb,
+0x7feb073d,
+0x965d98a0,
+0xe4c8ffe6,
+0x41bf594d,
+0x3270a1af,
+0x6abb2a9a,
+0xcf29297d,
+0xe0556911,
+0xcd513f7a,
+0xc7896c49,
+0xb2e47d16,
+0xdf6ea343,
+0x18d52e87,
+0x3f5095f4,
+0x899c2841,
+0xe5e07233,
+0x368c578a,
+0xccdc0d74,
+0x96f82087,
+0x916a8cb0,
+0xfac7a9c5,
+0x962d9e7e,
+0x9a638898,
+0x0650fde4,
+0x22c5a7ae,
+0x32b11ab2,
+0xff0adab7,
+0x9cfdf00d,
+0xffbac230,
+0x6f695bf7,
+0x13e435e2,
+0x07eefe47,
+0x0c3205d0,
+0x6ef2a44c,
+0xda099df4,
+0x14d10766,
+0x1a71c35a,
+0x99fb2a16,
+0x9dfe555d,
+0x393fd7bb,
+0x94f0082c,
+0xa1f0fff6,
+0x7c5573ba,
+0xd42c3eae,
+0x3647aabf,
+0xdd422e33,
+0x2c55870e,
+0x1f5abcc1,
+0x77a156ae,
+0x89acabd4,
+0xf750045e,
+0xd5d63b27,
+0xc7a2dcf9,
+0x070977a8,
+0x398fb567,
+0x9e6e6f9a,
+0x5834b8eb,
+0x8c789605,
+0xe4f883cf,
+0xe2f0f5a7,
+0x17a5680f,
+0xeaf16500,
+0x032bb966,
+0xa33d6908,
+0x40b1bb9e,
+0xbd7b196b,
+0x6a5f0f53,
+0x72dfb4bc,
+0xb9d31d1c,
+0xb88bef31,
+0x87d08ff3,
+0x45b34ed8,
+0x241fd8fb,
+0xd6138033,
+0x252077ae,
+0x284c8039,
+0x82f84cbe,
+0x62c4c18b,
+0x655eb631,
+0x25eb99db,
+0x9a0ecc0a,
+0xf2e3556f,
+0x0bbd4d03,
+0x7cd9f7e4,
+0x89f9cbaf,
+0xfd388df5,
+0x255ab6a9,
+0xb2dfbebb,
+0xb4c3abea,
+0xe62e8bfa,
+0x85a8f060,
+0xf493df4a,
+0x9028bed0,
+0x54e4f3f0,
+0x1e67374b,
+0x45fa5ca6,
+0xfec98905,
+0x85b0a5e8,
+0x72221df9,
+0x2596807d,
+0xa1460d42,
+0x9db8307e,
+0xfb63174e,
+0x0404444c,
+0x97d81ed9,
+0x499cc27b,
+0x8ccac17a,
+0x46f2224d,
+0x01a16264,
+0x10aa5511,
+0xb5779343,
+0x28e1b064,
+0xac799137,
+0xa07a6a7b,
+0x725c8e8b,
+0xe6be76d3,
+0x1d03d71d,
+0x2d645ea2,
+0x6aeb607e,
+0x6ae0960c,
+0x330d699d,
+0x326013f7,
+0x5ab900d4,
+0x988aa3c2,
+0x37db4788,
+0x3bfd0d6c,
+0xfcc294d4,
+0x0a67c3d8,
+0xd2fdc808,
+0xa817c713,
+0x3f1f77fd,
+0x6259252f,
+0xd1cd80c1,
+0xb0bf4c79,
+0x3a9351db,
+0x996c6b62,
+0x18c49a97,
+0x2c8ae060,
+0xfc3d0fd5,
+0x1567632d,
+0xddb095e8,
+0x409f0ee4,
+0x856e8f71,
+0xbc114921,
+0x863ac5c5,
+0xf6cd2585,
+0xde328a02,
+0xc4a68c2d,
+0x54cd8e11,
+0x753cd3b7,
+0xc80d3a2c,
+0x169d4fa3,
+0x199b9937,
+0x81a623b1,
+0x11b22a09,
+0x815d609b,
+0x3ae7ae55,
+0xd3e99cfd,
+0xfcbdcf8d,
+0x522b28e8,
+0x29db4439,
+0x1dada532,
+0xb6413b50,
+0xef1987ee,
+0xbed230f2,
+0x0cdada7d,
+0x3a45be41,
+0x85ddfda5,
+0x408b1460,
+0xbb432c91,
+0x18a7993d,
+0xcd35f88f,
+0x05b9bee1,
+0x7733ac08,
+0x8482218f,
+0x1a921d05,
+0xcdf07507,
+0x1386d2f1,
+0xe66837b0,
+0x58cb1af3,
+0xddf4ee68,
+0x353e1d67,
+0x0c0fc3b0,
+0xcf8c6d7f,
+0x1348d312,
+0xfd539e75,
+0x09455afc,
+0x19116d8b,
+0xf2993e3c,
+0xb44c45ee,
+0x61753c89,
+0xe2f955da,
+0xe11ec52d,
+0x106683c5,
+0xed2372c8,
+0x8f9515d4,
+0xd5dade2d,
+0x540d40d3,
+0x8ab9b48c,
+0x2094d1db,
+0x9b4b165e,
+0xe135ae9d,
+0xfcca0f56,
+0x8b7b7c43,
+0x8352d104,
+0xbddc7a7a,
+0x8aacc0dd,
+0x34869417,
+0xbe582de2,
+0xb434df7d,
+0x4f8952d4,
+0x915902db,
+0xa0afafdd,
+0x9b4f1acc,
+0x10373fd5,
+0x59bba2d4,
+0x176dfc71,
+0x21f414bb,
+0xf817f058,
+0x885f67d8,
+0xe6f33244,
+0x85d42de6,
+0x06053b83,
+0x86e8f6b2,
+0x83d299d5,
+0x1d15cf24,
+0xf83aa19e,
+0x4ef2ce14,
+0xd964baf4,
+0x4a84e5f6,
+0xb52e5b3d,
+0x66ff433c,
+0x4a8865bb,
+0x2a702c0c,
+0x77a33cfd,
+0x0560163e,
+0x053f2de9,
+0x01ebc4d5,
+0x3a3ab451,
+0xf93fbd75,
+0xe07338d3,
+0x2732057f,
+0xccd1b0f5,
+0x681595ce,
+0xead232c6,
+0x122bc6ea,
+0xe1bfc976,
+0x2f2cdc00,
+0xae818254,
+0xec19d1b3,
+0xe066fc56,
+0xab17571b,
+0xf451ff69,
+0x45d4379e,
+0x61d98f56,
+0xea020d40,
+0xfa248209,
+0xbdaa6622,
+0xfeaac262,
+0x72a20956,
+0xd75e64a3,
+0x37eb5fee,
+0x1644c788,
+0xd117328a,
+0x1c5a8a0b,
+0x54176d6e,
+0xc83f7e52,
+0x3a23da1c,
+0x0af20d02,
+0xfc778b37,
+0xa5f00ed6,
+0x5de8fbd0,
+0x45260cdf,
+0xbf30d8a5,
+0x2cffb6e6,
+0xe7b621a9,
+0xbf5172ea,
+0x49c7dd19,
+0x06cb702c,
+0x66569e49,
+0x3356fb0f,
+0x070a24bc,
+0x7fa318fe,
+0xdedb77f9,
+0x11270239,
+0x7e70b6ef,
+0xf98d2d6c,
+0x74ccec8a,
+0xe7871459,
+0x370d3428,
+0xad6dae90,
+0x09be509d,
+0x5874fd16,
+0x5a42b721,
+0x45ef966e,
+0xdad71a2d,
+0x8f7db129,
+0x7715966c,
+0x062d7699,
+0x8f79111b,
+0x44988015,
+0xddf9ea1a,
+0x3a050570,
+0xdd6316fd,
+0xf567d7c0,
+0xfdc54d4a,
+0x7550d41f,
+0x8488899a,
+0x575a83fb,
+0x7e1416fb,
+0xe1b0072c,
+0x24a666e6,
+0xe11dd047,
+0x651281bc,
+0x53a580d6,
+0x5945c230,
+0x86d2e59a,
+0xe75235b7,
+0x025cfe1c,
+0x1200b39a,
+0x77dfaaae,
+0x4c0cffa2,
+0x4d9d933e,
+0x57cb7049,
+0x3ef26d58,
+0x97348a19,
+0x763a61cd,
+0x70bbe444,
+0xa3a91f38,
+0x5ac188b3,
+0x131c9e28,
+0x5c7b24c0,
+0xc4fc2e5d,
+0x394429a0,
+0xaa5d638d,
+0x19487c55,
+0xe4259b9d,
+0xedd16d0b,
+0xd6402cd8,
+0xb9ca48fc,
+0x918a073d,
+0x9db28972,
+0x48d1974d,
+0x2e138a77,
+0x6207ad49,
+0x399d5449,
+0x4e5e5492,
+0x64472187,
+0xce6b6ffb,
+0x68ec1fc3,
+0xfd358e87,
+0xd01d3474,
+0xeec949d6,
+0x9364e60b,
+0x43f19143,
+0x26e5013e,
+0xf1473d85,
+0x8f6dd6ec,
+0xc96babe4,
+0xa9737ce2,
+0x799bdd4d,
+0x3ff042fd,
+0xe115232c,
+0x63648b5e,
+0x88d39f0c,
+0x260fea9c,
+0xa532df49,
+0x7d897bd0,
+0x238e01b7,
+0xcccdb67c,
+0x68efb87d,
+0xd7f75dc8,
+0xc6e65c34,
+0xdbaa943b,
+0xf583d5c9,
+0x44f0fa58,
+0x8e8eac5d,
+0x34b88965,
+0x41b18d56,
+0x639e1854,
+0xeb573d6e,
+0x789308ed,
+0x3e53ec27,
+0x97f4b698,
+0xb22bd1ca,
+0xd9f90077,
+0x4fa761fe,
+0x76c024e5,
+0x0674282b,
+0xd635f5d4,
+0x6a30115b,
+0x6f1ad3a5,
+0xca7b68a9,
+0x7600c16e,
+0xe0a6c5f4,
+0xc7e168a9,
+0x08809d9f,
+0x3b183426,
+0x2c6d0a88,
+0xef5964aa,
+0xdb28b12e,
+0x154f776c,
+0xb4dadf50,
+0x5a0f8b9f,
+0xe8628ab5,
+0x19cec3cb,
+0xb83a31e4,
+0x17d3b85d,
+0x9faa5143,
+0x9604c643,
+0x13205449,
+0x5217706b,
+0x9633122e,
+0x790fd87e,
+0x4ce9fae4,
+0x4fef5947,
+0x058359c3,
+0xebbe6f60,
+0x0ba837aa,
+0x4f203bec,
+0x58f1cd00,
+0x1f799d7f,
+0x23172e35,
+0x80c8683a,
+0x61fdfa2e,
+0x7885608b,
+0x0e85b9a4,
+0x65d62fe6,
+0x1676b0ef,
+0x1d9daf90,
+0x1ed12a75,
+0x09de4020,
+0xc49fae5d,
+0x25c24a28,
+0x84cb9d78,
+0xe66473d1,
+0x5f62da2e,
+0x8422c4bf,
+0xe7bdb985,
+0x085c21e7,
+0x04b67bab,
+0xbc36f701,
+0xe2b82d58,
+0x5ab1c83b,
+0x2622476c,
+0x4619eaa5,
+0x1a940170,
+0x72792931,
+0x6de0b706,
+0xb33ca10f,
+0x9c9bdad3,
+0x746bcd13,
+0x064e25a3,
+0x142e60c9,
+0x81dddf41,
+0x5dd1ef15,
+0x0ccfe7b7,
+0xb1116883,
+0x54d940d4,
+0xe2787fbd,
+0x5696c72f,
+0xbdbfd657,
+0x5a3c9490,
+0x0991110a,
+0x2cbe9d9f,
+0xb2645dbc,
+0xf1924bb9,
+0xdda2c0c9,
+0x9e9cf2f9,
+0x73ef66d4,
+0x94641bb0,
+0x30205d37,
+0xb6cfc412,
+0x57435674,
+0xd42a449f,
+0x2931db2a,
+0x6f491170,
+0xcbcbc997,
+0x849eb949,
+0xb6473e1a,
+0x001d81bb,
+0x6725f5ad,
+0x114dbe85,
+0x8281edde,
+0x1c9c123d,
+0xee1a9913,
+0x8e5b8564,
+0xcc51ab8c,
+0x73ed33fe,
+0x6a4e09a0,
+0xc831cf7c,
+0x71955635,
+0xad4e51dd,
+0x542c8338,
+0xa90e3134,
+0x2f95b16c,
+0x334400e1,
+0x4b943254,
+0x333960c6,
+0x3d26519c,
+0x7c5d00e5,
+0x6282ee9f,
+0x1c10be2e,
+0x3c7b9eb3,
+0x75ce71d0,
+0xf9757b43,
+0x184166fc,
+0x5c62d4fe,
+0x414283be,
+0x96d3e8cb,
+0x97bfa0a4,
+0xb4b12d9d,
+0x6d0c96c3,
+0x362feae2,
+0x1fbf4b0b,
+0x8e4f5e54,
+0x0466a570,
+0xd65d1cbb,
+0x2fd5b6c3,
+0xfd18398f,
+0xc526c112,
+0x6bce1610,
+0x2aad5cc0,
+0x2c64a94a,
+0x14376821,
+0xd24f982e,
+0xfe4ed7ec,
+0x41e8c324,
+0x40b54543,
+0xee0b54b4,
+0xd2055fae,
+0x8df84f2d,
+0x6d027d35,
+0x8dab5e69,
+0x4e546c07,
+0x3ff434a0,
+0x0d5331b3,
+0xfb45284c,
+0x9cabb341,
+0xa564328f,
+0x9e089136,
+0xbdc5656f,
+0x2a80d964,
+0x15952ba8,
+0x82021217,
+0x6f925a2e,
+0x4609ea04,
+0x31356a2b,
+0x2bd526d3,
+0x58744b31,
+0x61f2aaa3,
+0x62982498,
+0x6965a70c,
+0x81a7b2c3,
+0x39443352,
+0x462b5515,
+0xb6b9e94f,
+0x11365254,
+0x2252e637,
+0x23cbc2d7,
+0x4009e76a,
+0x3873254d,
+0xa6dd510e,
+0x929e316b,
+0x8dd0c01b,
+0x69f04aab,
+0xfd6f690a,
+0x65ca9522,
+0x6968ddc4,
+0xfba94af4,
+0x76c95af9,
+0x1289f4f5,
+0x10ee91dd,
+0xdb1e6b00,
+0x331166fa,
+0x4b8e99d8,
+0xe074ad44,
+0xe969e900,
+0xbda4bcdd,
+0x6a3daa8e,
+0xb4138ec7,
+0x17a1be30,
+0x46aef632,
+0x69ae88ac,
+0x3577b63f,
+0xdbdf708a,
+0x7ffda6f6,
+0x1371c407,
+0x3bc5fe97,
+0x3c543a84,
+0x2ff97ed0,
+0xa4101dcd,
+0x15252e5a,
+0x7c862371,
+0x717491d9,
+0x468267f4,
+0xa815abcc,
+0x4d8f9672,
+0x1c2293e9,
+0xe02541b6,
+0x479e10aa,
+0xaa143de4,
+0xa2201a20,
+0x27fa74d1,
+0x762f6545,
+0x4541bb92,
+0xe2481aca,
+0xa2fed12c,
+0x99de1f93,
+0xa2d40dea,
+0x67865f6a,
+0x7b80947d,
+0x1093bb3f,
+0x69fcc075,
+0xe609fa8c,
+0xf37064f5,
+0x41613859,
+0xd877cd35,
+0x7e6632c8,
+0xf3235141,
+0xe91a4efb,
+0x2aea1ef6,
+0x344b940a,
+0x98da79c6,
+0x5f781158,
+0x5eb480d8,
+0x188952db,
+0x1773025c,
+0x34957c72,
+0xf4532f71,
+0x9b690e9f,
+0x4856b11d,
+0x225a5d1b,
+0x5c26022a,
+0x27508e3d,
+0x170f5024,
+0x83aace3b,
+0xbdb048ea,
+0xa9704126,
+0x179e3929,
+0x859badbf,
+0x99376e0a,
+0xbeb8d320,
+0x12e6d728,
+0xb3fcee1e,
+0x7f9158ba,
+0xf9e18c69,
+0xb0ca6154,
+0x4f241c7f,
+0xbea21516,
+0x3292f5cf,
+0xc0cbc264,
+0x5698fc70,
+0x997f3a66,
+0x1f7f6a3e,
+0x51bc1d45,
+0x1fe7e14b,
+0x0a43ca9b,
+0x8110305b,
+0xe6e7a88e,
+0xcc4dea39,
+0x6caf1cf1,
+0x8712884c,
+0x641c12e3,
+0x73b389fa,
+0x0c5e7ff3,
+0x919d5e03,
+0x8588487e,
+0x14db42e1,
+0xbff8611c,
+0x12f2d268,
+0x88c5e6b8,
+0x63b6a256,
+0xf727eda1,
+0x9ca27cb2,
+0x99191ed0,
+0x90a31c05,
+0x56b70ac0,
+0xea76c310,
+0x3e363132,
+0x734a45bb,
+0xa5f0adee,
+0x12e0012c,
+0xfd4cab2a,
+0x35e13ae4,
+0xf8dd5b5c,
+0x010bbbcc,
+0x54c2a34b,
+0x6fba5e24,
+0xeb3f59bd,
+0xebcdb6a3,
+0xc7ebd425,
+0xa70c906d,
+0xee51c7e8,
+0x8c2a859b,
+0xeea310fa,
+0x25e9442c,
+0x21f51f44,
+0xa7b85fba,
+0x7e971540,
+0x9c5d1bfe,
+0x9e68e7a4,
+0xd994a98a,
+0xd5d6a8d7,
+0x81cd7e70,
+0xf6689b0c,
+0x46f75252,
+0x1901b06c,
+0x30ef5b2c,
+0x2bda88f2,
+0xdefc8502,
+0xc47724ed,
+0xb17e298c,
+0x2b7441e0,
+0xc1ee2e2b,
+0x0b7f2036,
+0xaaf97dc5,
+0x00a1bc00,
+0xf81ee5b9,
+0x710b65e2,
+0x3e598abb,
+0xcf9042c7,
+0x8fcc8f22,
+0xbb228f45,
+0xba2da43a,
+0x714acd62,
+0xa00da203,
+0x8fa0c16e,
+0x76756a9f,
+0x877e34d0,
+0xe4d9341a,
+0xd5f65c41,
+0x35e8ab0f,
+0x0cd0fb07,
+0x639ac34c,
+0x0cd1a0b1,
+0xe19cd6e9,
+0x985be637,
+0xa6287a1e,
+0xbc154699,
+0xa6bae185,
+0x9ec70d3f,
+0x74e71c08,
+0xbc7b188f,
+0x5c895858,
+0xb3760099,
+0x84a2bd51,
+0xec63cb71,
+0x92b891e5,
+0x66aa9f73,
+0xbe2a8d52,
+0x7aa5e354,
+0xf4cb8dc4,
+0x76510450,
+0x776f96e2,
+0x5d24be39,
+0x713d60d4,
+0x99d65da9,
+0x345f8ac3,
+0xc7426eab,
+0x8f0bd6c2,
+0xc4bf89ae,
+0x53033a39,
+0x02172eee,
+0x5559a024,
+0x49872fb6,
+0x3d1c519d,
+0x661fcff8,
+0x201c91b6,
+0x7fd51365,
+0x4ca3f163,
+0x1a04efe9,
+0x266cbcce,
+0x6f27e551,
+0x60ee16a1,
+0x3bca12f1,
+0x61d8a4ed,
+0x579c1700,
+0x91ff803a,
+0xb6df44f8,
+0x2456c345,
+0xbbf3f73d,
+0x97441160,
+0x8e534aad,
+0x1de02fb9,
+0x37674918,
+0x8d439a2e,
+0xe2f3d670,
+0x05646b17,
+0x64221a0d,
+0xc9fe9fb9,
+0xe1653ea8,
+0x28876460,
+0xa46ddb51,
+0x31f95c50,
+0x61a6fa1d,
+0xaece5268,
+0xd27f0d51,
+0xa07c4cbf,
+0x450bc835,
+0x69fd98d6,
+0xbf67c9f9,
+0xe8004d7b,
+0x36a57c5d,
+0x8b49cf4c,
+0x1afb1fa0,
+0x6f2c770f,
+0x16336476,
+0xdf2f6010,
+0xe0a4670a,
+0x3b343a05,
+0x004322c8,
+0xea3619ef,
+0x35c04eba,
+0x7fb67c13,
+0x78208075,
+0x7e77a192,
+0x208c6234,
+0x8ff5f263,
+0xf3442f4d,
+0xaf291404,
+0x5ffb31be,
+0x7582694d,
+0x1b3ce3f5,
+0x114cacb2,
+0x0a68465c,
+0xa555427b,
+0x82673adb,
+0x408ad833,
+0x5e4ce4dc,
+0x0444c3d5,
+0x912890b2,
+0x01d727d5,
+0xa1571352,
+0x6e72c7df,
+0xe2b998c6,
+0xefafa220,
+0x89075c0b,
+0xcdca37a1,
+0xe7f30d9d,
+0xed298aea,
+0x7c1abc42,
+0xe5d40560,
+0xb069aed0,
+0xef486039,
+0x8463d8f2,
+0xfc9e44d9,
+0xfef315c4,
+0x9d4a569e,
+0x38330af7,
+0x483b8e5d,
+0xdf75d387,
+0xb0b90ecd,
+0x236e1956,
+0xf5f83a49,
+0xaf237e80,
+0xae042693,
+0xfe168c72,
+0x2b9bcd85,
+0x502c3966,
+0x454a22a6,
+0x82fc4f26,
+0xc476cb17,
+0xcc829583,
+0x9b11ed29,
+0xd416de59,
+0xf9c065c6,
+0x18cbb29c,
+0xe087eaec,
+0x04821d71,
+0x416d1fb0,
+0xafa891ca,
+0x7a04c3d5,
+0x19fd6f68,
+0xe4b82275,
+0x311300dd,
+0x18ef66e4,
+0x75216d41,
+0xfcf964f9,
+0xde8cf03b,
+0xaf3a38f5,
+0x0e9e4717,
+0x9f594780,
+0x25612d85,
+0x891f99f2,
+0x77f682f0,
+0xef688124,
+0x699612fe,
+0x64db3e41,
+0x8ace0716,
+0x8e309b30,
+0x805e7278,
+0xeeab81a4,
+0xd52753c9,
+0xe99359e7,
+0xf222fa95,
+0xed4d68e1,
+0xc5088dc6,
+0xdaa3ae22,
+0x7472225b,
+0x1e259dc8,
+0x79a50157,
+0x5fd36c9e,
+0xc6fc17d1,
+0x73c77612,
+0x39347db3,
+0x2dc17370,
+0x7fdb04bd,
+0x2763f7f9,
+0x1516af11,
+0x9b9ea1a1,
+0x44a841c5,
+0xc8d4b9f4,
+0x1ea9afc1,
+0x1c84f44e,
+0x3b0de77e,
+0x3378f9bc,
+0x4f9655ef,
+0x02d874dd,
+0x53ee1d58,
+0x7e08d7ed,
+0x9bd25385,
+0xc3df2782,
+0x695551b9,
+0x73486da5,
+0x53508c53,
+0x7a485705,
+0x4bf5cf56,
+0x61d8e52e,
+0xeb883fcf,
+0xe7aa5fd9,
+0xa9d5d4d2,
+0x7e0f38d2,
+0xd767ab85,
+0xd0c9efb1,
+0x1960eb57,
+0x3aec6b08,
+0xfc5e14ae,
+0x769a2a5c,
+0xe636ffa1,
+0x94ce0eb8,
+0x5547466a,
+0x48c74034,
+0xbda9a9a4,
+0x00928654,
+0x4e221d36,
+0x9b95844a,
+0xcb2d5854,
+0xe61f1c1a,
+0x266b0cb5,
+0xe243fa0d,
+0x32d5e55a,
+0x00e201e1,
+0x802b0bf8,
+0xb6b95c36,
+0x56b984b6,
+0x2f899e6a,
+0xf2a5d45a,
+0xef83fe80,
+0x52011d77,
+0x7f31aa14,
+0x8c34be3f,
+0x02e7904d,
+0x9a50a367,
+0x8580532e,
+0xc3a71eec,
+0x913b0487,
+0x4b473c64,
+0xe46057df,
+0x1ea50f46,
+0x57a8e719,
+0x6dbed31b,
+0xdaaf08e5,
+0x2a63fc0f,
+0xc856b743,
+0x423c7e1a,
+0x47358602,
+0x9972a7ea,
+0x967331e6,
+0xbf2ea885,
+0x835bfe58,
+0x3e97e1bc,
+0xb7d3a71a,
+0x485b390a,
+0x96913b3c,
+0xb9aba8f1,
+0x566a99ed,
+0x1ee926f3,
+0xfbc4ca22,
+0xb5f33562,
+0x07c39751,
+0xba88ca5a,
+0x25cea096,
+0xc80d10f4,
+0x2863fc4b,
+0xbdd5e288,
+0x11d7e430,
+0xc95a03fe,
+0x3ac72ed6,
+0xc691ab68,
+0x5e73c003,
+0xa65dbbda,
+0x72028558,
+0xcc18b333,
+0x7ae3d8ff,
+0x576474a6,
+0x7749e116,
+0x96ca4c5a,
+0x61937601,
+0xdacac70a,
+0xc07a35ce,
+0x6695f25d,
+0xc2de91e9,
+0x87a265b6,
+0x1b8813c4,
+0x23d1c65a,
+0x3780c614,
+0xefd4964f,
+0x2888e095,
+0xf1c42b91,
+0xc6215633,
+0xbe6022af,
+0x2b57f9ba,
+0x07891322,
+0x304b74a7,
+0x3a8c7419,
+0x1587b719,
+0x5201f2f4,
+0xc747dfee,
+0x7bf6fa81,
+0x7c45b069,
+0x84425473,
+0x6fb70b32,
+0x18dd1baa,
+0xd8c2c15a,
+0x02d152f7,
+0x2e55aa49,
+0x9d9e6ede,
+0x469ac1ba,
+0x33a95014,
+0xc65191dd,
+0x28939d5a,
+0xe8fb4f8a,
+0xe89a03a1,
+0x723cfc98,
+0xb585e5f5,
+0x9f6f9ea3,
+0xacef9b06,
+0xa6c32535,
+0x11a4f5ad,
+0x7d8d098d,
+0x5bf0b789,
+0x2f9bd474,
+0x60999644,
+0x290dab7c,
+0xe37c3b36,
+0x2aad395a,
+0xcb3b4299,
+0x14f78140,
+0x183edae9,
+0x2a358a31,
+0xfda71aea,
+0xf8e37d21,
+0x9d099941,
+0x9216ec46,
+0x89e4096d,
+0x1016f402,
+0xa4dd49ee,
+0xc6986209,
+0x7d2f6820,
+0x7ac4b060,
+0x968dfe80,
+0x3d0ac6c9,
+0xea796a35,
+0x633cf2b3,
+0xfadb8d34,
+0x2e7303f6,
+0x19894f05,
+0x085f2950,
+0x63cc11e6,
+0x1ab79393,
+0xadcfe5e7,
+0x73ebd389,
+0x57a7a8de,
+0x54f6b8cf,
+0xba16b378,
+0x987a39c8,
+0xc3c8b2d3,
+0xe3ad4017,
+0x03045cb0,
+0x24a17ab6,
+0x43b3f186,
+0xa557b906,
+0x32666fc6,
+0xb187551c,
+0xe1f145a4,
+0x34997c6f,
+0x95ce0730,
+0xbf2c4c55,
+0x3ac3d8e2,
+0x1de3462a,
+0x82bc7f9e,
+0x3eab9de2,
+0xaacfa5ed,
+0xfdc86c19,
+0xcd9bcddd,
+0xaaa5dc9f,
+0x52409152,
+0x305a2f5f,
+0x316e1786,
+0xf1e6d439,
+0x83e2dce6,
+0x3cf77ce4,
+0x587a5906,
+0x060f1e35,
+0xa21b8cee,
+0xf59da881,
+0x6f577b44,
+0xb6b98408,
+0xabbcef42,
+0xbcbc75ec,
+0xe7615ce8,
+0xe786195e,
+0xf4390a43,
+0xd1f0c90b,
+0xc5e26cb6,
+0x68de1aad,
+0x8ef84e7e,
+0x63e0979e,
+0x8657fa79,
+0x873f4f40,
+0xdf18c4f8,
+0x9e2ed6f2,
+0xdce7a895,
+0x38294856,
+0x77245602,
+0xf4c43d50,
+0x777fe2be,
+0x2769d3b2,
+0xba626d5c,
+0x931e60f9,
+0x40706e25,
+0x2c342a31,
+0x54565282,
+0xb6d867d4,
+0x1c0a8d17,
+0x84b2c1dd,
+0x634f67fc,
+0xdfdb7192,
+0x5762e6d0,
+0x18bef774,
+0x95feb6ea,
+0xcb3b00aa,
+0x6e3d9ba6,
+0xbf69b651,
+0xeb189223,
+0x0140200c,
+0xf633643f,
+0x3270dd7c,
+0xe72859be,
+0xebf18e53,
+0x8b925217,
+0x70c2b342,
+0x3dcd2a7f,
+0xbc957ad4,
+0xcacb6386,
+0x8ebf5be3,
+0xe144b6ee,
+0x76dc16b9,
+0x59b9df67,
+0x0c49fd9c,
+0x97003343,
+0xc134370f,
+0x3f0c5959,
+0xcd5e2522,
+0x6cb4ae58,
+0x63604b5c,
+0x163c9b27,
+0x92bacee2,
+0x98f48ad6,
+0x1d24eac2,
+0xe11534d7,
+0xc232c7ec,
+0x96cc3857,
+0xeb7598cc,
+0x4d52fc99,
+0x7d3d5285,
+0x3b4bd0ec,
+0x8dfcc885,
+0x05b2b8fb,
+0x598ddefe,
+0x625279a2,
+0x82cdfee5,
+0x70b667c3,
+0xaf9f4e27,
+0x7cce8500,
+0x98c5af0f,
+0x16f427e4,
+0x9ad9906a,
+0xdf9a90b3,
+0x595e78ab,
+0x8b35169c,
+0x623c20c8,
+0x827e6aa6,
+0x601d5088,
+0xab13489d,
+0xc0aad840,
+0xd2cab785,
+0x418a190d,
+0x3cd6ca61,
+0xd8baf161,
+0xecfc0514,
+0xa89f4a57,
+0xe87b2e26,
+0xcc7c130c,
+0xa4e90859,
+0x3e8de3ee,
+0x3763b08d,
+0x4c21f1a7,
+0x45b842be,
+0xbd1ae60d,
+0xe44ae74c,
+0x574f0f95,
+0x38dbf60b,
+0x42dfeddc,
+0x5084dfce,
+0xe5c8ead6,
+0x33308a85,
+0xb820f962,
+0xe515db64,
+0xf044ef67,
+0x42fe791b,
+0x82b8654d,
+0x32351df6,
+0x386dc12e,
+0xc3b7bd38,
+0x2c09d519,
+0xeb12d366,
+0x26983ba2,
+0x33848f52,
+0xcd5e7067,
+0xa0424bfe,
+0xaa800922,
+0x94224c28,
+0xcf961052,
+0xb85b7dc0,
+0xc634e33b,
+0xe0d24b27,
+0x310c1993,
+0x5d1fcebf,
+0xd14a83da,
+0xb373cbc7,
+0xcea5b1e8,
+0xdb27cbf1,
+0xa5f5d9ec,
+0x7202a12a,
+0x273ef35d,
+0x8a0b55f2,
+0x315e129f,
+0xa572ec45,
+0xc9b604b5,
+0xd0c6eb65,
+0x1b8ac7e4,
+0x7b263f52,
+0x93c599c8,
+0x7525fe4a,
+0x7f6539dc,
+0x7f01279c,
+0x03dad82d,
+0xdd4a2a1f,
+0xb4a6965a,
+0x5ec42199,
+0xce9eca63,
+0x60fee5aa,
+0x14c5c579,
+0x4d79fb19,
+0xa5f7fc2b,
+0xf27d918d,
+0x7cb12c71,
+0x160fc31c,
+0xa2eda1f6,
+0xb257b20b,
+0x757f0162,
+0x54c2e3f1,
+0xc5a18023,
+0xb9732f8f,
+0x47341141,
+0x26814fcc,
+0x0d433f33,
+0xe991b137,
+0x8f20fa59,
+0xa3f55311,
+0x445e04ff,
+0x7d6591dd,
+0x243f5bef,
+0xda6daa41,
+0x0008111f,
+0x6b78bd5c,
+0x3409f0a3,
+0x01cf99a9,
+0xcc57c354,
+0xc4b6cb71,
+0x11f8137f,
+0x26d9b7bd,
+0x009d65c0,
+0xc1b1fa92,
+0xfc159992,
+0xd7df2b82,
+0x4ee37318,
+0x93ba5be9,
+0x092e1678,
+0xe5efe2bf,
+0xbe122934,
+0x285fc99c,
+0x82b4bcc8,
+0x8ddbb92b,
+0x99ffb7e9,
+0xf1cb574c,
+0xced744da,
+0xe4458a3e,
+0x5fd08e13,
+0xd90da808,
+0x1f65362f,
+0xfe8ed434,
+0xeed91352,
+0x31246104,
+0x1cd97e76,
+0x2ef92b77,
+0x13986c03,
+0x93c8a999,
+0x8724d437,
+0xec8b300f,
+0xefc478d5,
+0x2ef1cf19,
+0x9d33b995,
+0x98725b9c,
+0xe2a86fd9,
+0x8a821a2e,
+0x0143b6fe,
+0xf4d53a42,
+0x047a4cf9,
+0x9e3ebef2,
+0xf801e84a,
+0x1d017beb,
+0xcf4c4bde,
+0xfe853314,
+0x3946e2dc,
+0xa57c4d7e,
+0xd705c223,
+0xf04ba444,
+0x16a6c0df,
+0xf6e9e096,
+0xad2a4ef4,
+0x95d9df30,
+0x8ce62b27,
+0xd80d957f,
+0x057e8485,
+0x640e84f5,
+0xb56d6882,
+0x76039ac5,
+0xc5129530,
+0xa1ee8d93,
+0x12221d42,
+0x3eb7790a,
+0xfed90654,
+0xd942fde6,
+0xef5d4ec0,
+0x70595c6b,
+0x8e96b2af,
+0xf7d4f21a,
+0xb92e97d0,
+0xc5ada398,
+0x79742b1d,
+0xfa5630cb,
+0xb0817c3e,
+0x62970cba,
+0xe56d57d6,
+0x1b5638ca,
+0xcca4e467,
+0x2e96c11c,
+0x7173fb37,
+0x8e318afd,
+0xd2aea7ab,
+0xa06c80ad,
+0x0df11650,
+0xbaf243aa,
+0xb605a7c8,
+0x55a069ba,
+0x33a7ba72,
+0xa1781ee2,
+0xde1776d5,
+0x22653ebe,
+0xb670c0dc,
+0x91a844d5,
+0x1c0fc328,
+0x7abb085e,
+0x20c00427,
+0xff9592c1,
+0xc87fb802,
+0x280f945e,
+0x8435e911,
+0xf2f21efb,
+0x6e6342cc,
+0xfcb13a8c,
+0xd5aa79e0,
+0xd0b1ce8e,
+0x325464b6,
+0x973cc590,
+0x57d67531,
+0x5d822757,
+0xb5ef6082,
+0x7904140d,
+0x21959a51,
+0x4dfe6160,
+0x9a8ea9d7,
+0xf78d8565,
+0x2893a53f,
+0x54920c3d,
+0x254defca,
+0xca79c984,
+0x33b561b9,
+0x8245df6d,
+0xf2541318,
+0x242e72d3,
+0x37201555,
+0x3e4c169b,
+0x3b52deeb,
+0x65dd151f,
+0x0c682ef9,
+0x8708a0ee,
+0xae81dfcd,
+0x4aa1d0cd,
+0x40f89694,
+0xf6de91ea,
+0xaedd7b6e,
+0x3e9ad266,
+0xf64b1ec1,
+0x367ca3c2,
+0xc9169ff5,
+0xe9a8750d,
+0x58e2a684,
+0xb89dc280,
+0x6e3089f0,
+0x15a577fc,
+0x8ed1112e,
+0x169e6337,
+0xa66cd251,
+0xef17f223,
+0x7aad54da,
+0x30390dc7,
+0x20bba316,
+0x1f3a89fa,
+0x7761081a,
+0x0a5bfdb8,
+0x6b447431,
+0xfd4dcda1,
+0xd7396f84,
+0xaf6ec2e5,
+0x66a36851,
+0x258c841b,
+0xebeea5ee,
+0xf184a328,
+0x3457cceb,
+0xe6366432,
+0x895a1e48,
+0x4612983d,
+0x167ef07c,
+0xd1a035f8,
+0x5d5e9c4c,
+0x63e8e407,
+0x8f45feab,
+0x153c6fd3,
+0x4ea819e3,
+0xf8648a68,
+0x3c0518b5,
+0x9292a66b,
+0x9a3583af,
+0x2d3c1cb5,
+0xe2237b6d,
+0x48a8dbd6,
+0xc786811f,
+0xfb23ae32,
+0xe8417907,
+0x4d3f03c5,
+0xa79562c0,
+0x16b7b4d6,
+0x8e7e4f7b,
+0x5501454e,
+0xeea86d04,
+0x73e5cc43,
+0x208811bb,
+0x4653dbb8,
+0xab411982,
+0xcd7a83cd,
+0x8091efc6,
+0x4dd3eb28,
+0x403786da,
+0x352b82fa,
+0x03e33ec1,
+0xed1e859a,
+0xb360e493,
+0xb6af7d94,
+0x364e59df,
+0x1edb2563,
+0x26825cec,
+0xee24c50d,
+0x7ce67e79,
+0x5139cd39,
+0x1cac2ec9,
+0xcf6413ed,
+0x18a583cd,
+0x33f17851,
+0x34723eb3,
+0x5aa53c97,
+0x93b8af65,
+0x5e52190f,
+0xbd2a2485,
+0x4c6bc95f,
+0x0c1bca62,
+0x40b0c1e5,
+0xb6297d53,
+0x7223b1d6,
+0x741f7635,
+0x00bdf2da,
+0xea767547,
+0x87eeb521,
+0x87019a84,
+0xc0964b69,
+0xb265640c,
+0x419a8272,
+0xca870086,
+0x3b76bf9c,
+0xb2ede83c,
+0x46eac9c9,
+0x75e5ed31,
+0x662e581f,
+0x21ec7db1,
+0x2170d942,
+0xcf41c42c,
+0x1bab3491,
+0xffadc96c,
+0xbb4c310f,
+0x939b3f61,
+0x6e2d60ff,
+0xcbf9d35e,
+0x6db076be,
+0x6a1e90e7,
+0xc7096675,
+0xe7d802ad,
+0x0c89ab31,
+0x654c1b45,
+0x0343fbcd,
+0x5f80eabb,
+0x92faa8be,
+0x735a40a2,
+0xddf47195,
+0x34fe4b1b,
+0x3f059c32,
+0xe95330c0,
+0x5d5e95d0,
+0x15b6dc5c,
+0x252ad4db,
+0x555798d7,
+0x31d6bec5,
+0x986e173d,
+0xf8ee102a,
+0xf44bf862,
+0xf336e7f6,
+0xef172579,
+0xcb378a36,
+0xafbbd81b,
+0x2708a043,
+0x6830bf67,
+0x183d1e34,
+0xd7696a1c,
+0x17877369,
+0x22bb135a,
+0x0ba83765,
+0xcb665dba,
+0xbedecd7f,
+0x918f4071,
+0x3055ac09,
+0xcbfa8637,
+0x6f7f41cb,
+0xdb383d1b,
+0xeb60d739,
+0x1c5c2ac6,
+0xc60005de,
+0xd0bf1ceb,
+0x99f53a57,
+0xbcd3d24e,
+0x9b1441c9,
+0xb7854d4f,
+0xcf26a266,
+0x1039d0dc,
+0xd0778680,
+0x39f32b2e,
+0x5d9dace2,
+0x49442e4b,
+0x006766a9,
+0x9f9580a7,
+0x7d664e2e,
+0x909dbf3a,
+0xddf866be,
+0xbf78fbd7,
+0x60229886,
+0x747e8ee8,
+0xd718c220,
+0xfa73ac45,
+0xe0990d57,
+0x0527f837,
+0xefafcfbb,
+0x56cc5fa4,
+0x5c537939,
+0x16c38ca1,
+0x2d9db5e0,
+0x57abd65a,
+0xc551c0d5,
+0xc3897549,
+0xa07e19c0,
+0x65b453ea,
+0xbbc62366,
+0x6f7ddff3,
+0x8a091fb9,
+0x2e1c54b4,
+0x21d88570,
+0xcaf02494,
+0x80a7b831,
+0x970d0413,
+0x1e66f72c,
+0x040b265e,
+0x21d8a949,
+0xaadce73c,
+0x01989bf8,
+0xfe6da61b,
+0x7b15a797,
+0x4ef9771a,
+0xfdbda8eb,
+0x1755e951,
+0x1cb5a9c3,
+0x486b648b,
+0x6b98f974,
+0xa269cfc1,
+0xba8fd426,
+0x1d02efa3,
+0x2b092cde,
+0x8c67304d,
+0x88559f6e,
+0x5c1c22aa,
+0x503124fc,
+0x8aa7e9ed,
+0xa940a8b3,
+0xa1305884,
+0x01a4c9b6,
+0x4e78069c,
+0x07dc8342,
+0x4f40e6a2,
+0x08245794,
+0x55f36e95,
+0x6eaef553,
+0x7e5fe35e,
+0x47d9ba47,
+0xea57f7fd,
+0x5ca8ab28,
+0x9692f502,
+0xe942cd90,
+0x8fef0d14,
+0x66199585,
+0x730bdbd9,
+0x7b965e6f,
+0x750c2b9c,
+0xc36738b1,
+0xa16282c8,
+0xe2981a6f,
+0x5684a389,
+0xd04db301,
+0xb8ab6ed2,
+0x4c51a09f,
+0xc84c9ee8,
+0xb7774fd6,
+0xac519322,
+0x5878d1cc,
+0x600c47f1,
+0x54df6c48,
+0x5de786cf,
+0x2a19e93e,
+0xa24ee02c,
+0x21d9eb5a,
+0xe47a1352,
+0x9d312904,
+0xbca35f3c,
+0x74aa5215,
+0xf6e0bd05,
+0xde108db5,
+0x789194d2,
+0xeb160648,
+0xd5bd51c3,
+0x9c320099,
+0x88f4d606,
+0x21915d2b,
+0x61e4ae58,
+0x0f0ede3e,
+0x69f62c16,
+0x5fde6034,
+0xcbcca0d7,
+0xc673a10c,
+0x9f357ec0,
+0x69730ecc,
+0x5a737cab,
+0xf8db109b,
+0x56cb3561,
+0xeb55eea6,
+0x9cf74b32,
+0xa453b5c3,
+0xb885fb26,
+0x207de9f5,
+0x2462ceea,
+0x2d656c28,
+0x0c2c7285,
+0x3ad9707f,
+0xca52eeaf,
+0xc9daae02,
+0x1a199a4f,
+0xf0ecacd7,
+0x7f6e3c3c,
+0xce9ca21a,
+0x94de55a2,
+0x6a666a07,
+0x4438944e,
+0xc9779d75,
+0x9923f11e,
+0xca9e539d,
+0xc1ab5ae2,
+0xe3762edd,
+0x9a2258f9,
+0x29ae12f7,
+0x9f40db79,
+0x978ab59b,
+0xbd7e3e41,
+0x18cb0645,
+0x67e1246d,
+0x93fe3d9e,
+0x90b30299,
+0xf6f6e15f,
+0xd657d728,
+0xa4bd202e,
+0xa1d3a010,
+0x38b178b4,
+0xd6764cc3,
+0x5b527a09,
+0xcedf7bd1,
+0x6607de4a,
+0x756e2d86,
+0x29211a9e,
+0x0b3d3871,
+0xa279b084,
+0x80aa79ee,
+0xb1176731,
+0x7b27087b,
+0xc01e006c,
+0xa1f8e255,
+0xa8e740f7,
+0x61c34227,
+0xc9dfca1d,
+0xb981b935,
+0x4b50a674,
+0xd394415b,
+0xa905f170,
+0x64b44a54,
+0x84c405fb,
+0x58afc52d,
+0x62088b4d,
+0xfc17d39b,
+0xc4c32c91,
+0x0b5b74ce,
+0x7c7e2a6e,
+0xa0304924,
+0x026fa55f,
+0x6e787648,
+0x5755d7e8,
+0x2c927daa,
+0x8540fb74,
+0x73500826,
+0x41a9bc8c,
+0x304cdf49,
+0xfed24762,
+0xe62ac7e2,
+0xf57b0163,
+0x91f0e287,
+0xc22267a2,
+0x23f44ac2,
+0xac828222,
+0xec162aea,
+0x9e2d5471,
+0x19738895,
+0x83a50d48,
+0x7d7cdc5a,
+0xa0b72ba7,
+0x77e1f95a,
+0x8f0ae033,
+0x8339e3ea,
+0xbc0a52f3,
+0x6e486b56,
+0x24e4d74f,
+0xee944768,
+0xfa150e60,
+0x7837a494,
+0xe067aafe,
+0x5938f7d2,
+0x08ebfade,
+0x7b2f101b,
+0x968a1b23,
+0xe1393194,
+0x3c4173f7,
+0xf34a6e75,
+0xebfffad9,
+0x4030e838,
+0x92d642a6,
+0x466a2aeb,
+0x96234502,
+0xe7d8a061,
+0x8d1ef7ae,
+0x0ef3952b,
+0x40774b64,
+0x1dd956c4,
+0x859593a8,
+0x6c0ecab2,
+0x5d7c3e9b,
+0x015c41e7,
+0xaefab981,
+0xff9f4899,
+0x343972de,
+0x57f7d02a,
+0xeb5fc42c,
+0x61e90127,
+0xdfeb1b8c,
+0x72fb171c,
+0x764eba27,
+0xe8873b0e,
+0xcfa8b528,
+0x4f3fb810,
+0x90232d80,
+0x83d18d2c,
+0x96ed2e7c,
+0xa2ee3dc5,
+0xdd7d3a40,
+0x4010ccb8,
+0xaed63421,
+0x7a1489d8,
+0x254e332f,
+0x4aa87d05,
+0xb6cfa39c,
+0x16edc813,
+0x46e0136f,
+0x75ea876b,
+0xebda15d9,
+0x98071880,
+0x2109ab93,
+0x2d80a933,
+0x91f5b589,
+0x66ee6fdb,
+0x804d3ee3,
+0xa260afb3,
+0xe0f99a5e,
+0x5b5d6da9,
+0x97a67780,
+0x54af0420,
+0x6d13f85c,
+0x6e570dcc,
+0x5cd4784e,
+0x23324cd8,
+0x7a1d35a5,
+0xec05d049,
+0xbe3a2df0,
+0xb9f0bc54,
+0x5300c4e9,
+0xc072f9b2,
+0xfe92f2c1,
+0x435e5d08,
+0xbb6f2236,
+0x9d6d943a,
+0x77bce47f,
+0xb8fe77c4,
+0x083ff4fb,
+0x1a10dd75,
+0x86fa12e5,
+0xc4dc13e3,
+0xfa368d50,
+0xba65bdb9,
+0x29958428,
+0x9ac1ceb0,
+0x90c47231,
+0xa472702e,
+0x15d269b7,
+0x87fb6796,
+0x7c7444a4,
+0x16e9b39a,
+0xe8e9b82f,
+0x39a2d104,
+0x76050b82,
+0x234d01b0,
+0x655eeb24,
+0xa0cbc457,
+0x75efb4b0,
+0x73f090c6,
+0x2af9a71b,
+0x50855375,
+0xbe6056be,
+0x6a3f60cb,
+0x9da1251c,
+0xa5891bab,
+0x061bb202,
+0x5dbff12f,
+0xfb208f9e,
+0xd44059f9,
+0x36e4a9b6,
+0x644e0ab8,
+0x76800002,
+0x3d60d372,
+0x3acaa843,
+0xe66883c2,
+0x8ba21d44,
+0x19aa26a7,
+0xefb2d34c,
+0x667c8688,
+0x75ea0d7b,
+0xd734f610,
+0x13d7abee,
+0xefab5218,
+0x2a1fec5b,
+0xd80b3eef,
+0xaf41b8c5,
+0x43ea947a,
+0x346b11b6,
+0xb5ac1c79,
+0x9bece265,
+0x07007dd4,
+0x2da0f775,
+0x8572a2b0,
+0xbb035019,
+0xd331d97d,
+0x7282a803,
+0x18aff941,
+0x3ef35355,
+0x0ad5e2a5,
+0x3d4ec11f,
+0xfc4c1951,
+0x3f795ae6,
+0x4f535db8,
+0x97423cd8,
+0xcecfcd93,
+0xe2c514af,
+0x1ebf6eef,
+0x0dedab46,
+0xae493854,
+0xddfe4af2,
+0xa71fc9d2,
+0x3ad5a2ed,
+0x778f8044,
+0x1e2bc73c,
+0xcf515d06,
+0xee3a2e47,
+0x4733b4b3,
+0x60ac2daa,
+0x7d754ea6,
+0x21850d6f,
+0xee07be55,
+0xf590d235,
+0xb3f9ab3a,
+0xcf62e92d,
+0x8cfc41a3,
+0x82bbf88a,
+0x5713f3a6,
+0x379d0640,
+0x80b9fe4e,
+0x29e2d43a,
+0x5a3cca89,
+0xd2ab7a61,
+0x5d3cc7c8,
+0xcba9f8f2,
+0x4b11b81f,
+0xb6e71374,
+0x1cecfc09,
+0xbfcf0665,
+0xde68415c,
+0xe4b33ecf,
+0x6b25321b,
+0x604859ca,
+0xc885aa77,
+0x6718f799,
+0x0fb8a47c,
+0x7a0df3f2,
+0x8544e4d4,
+0x2bf961ee,
+0x726e4ee1,
+0x3719e096,
+0xb535474b,
+0xc2fca938,
+0x15d60685,
+0x2e31a350,
+0x739f2f05,
+0x90906bb3,
+0xd6fcf776,
+0x0cf27de2,
+0xf3a6e59d,
+0xcc5caa49,
+0xeb87df33,
+0x2428198d,
+0x06ac17d2,
+0xc17cc8c3,
+0x996262ef,
+0xa210d517,
+0x4be47ac3,
+0x8368c3e2,
+0xd78dc08b,
+0x508460ef,
+0xb69ae750,
+0x263723d0,
+0x20f5dbd7,
+0x895d3948,
+0xc98fde90,
+0x073ec35c,
+0x9164b352,
+0x6da3604a,
+0x4ed5f20b,
+0xc92a8b53,
+0xb04d9710,
+0x66503b98,
+0x32e65467,
+0xd78ff0a1,
+0xa6e52116,
+0xf911008e,
+0xaf8507bb,
+0xfad6d616,
+0xbdc24611,
+0xd03df595,
+0xfe99d47a,
+0x3c82edd5,
+0x01ed4894,
+0x60ae6ad1,
+0x3b6bf39d,
+0x8eef9ccf,
+0x7b9be3f7,
+0x2470bb86,
+0xb67e9554,
+0xa16984b5,
+0xd5f16c24,
+0xe865b248,
+0xcd14e779,
+0x67fe16f8,
+0xb61fc80c,
+0x9f0ef0df,
+0xee437a54,
+0xd2cbe65f,
+0x91734405,
+0x837643f0,
+0x950c8323,
+0xa3624716,
+0x16fb1324,
+0x9c37ce5c,
+0x4a0a9aff,
+0x24cf6caa,
+0x3d86998b,
+0x9861be75,
+0x6d648022,
+0x57958c44,
+0x7ebb8489,
+0x0f6206a3,
+0x41154a26,
+0x7502f1ab,
+0xc5b846c6,
+0xb9eee6ca,
+0x155c8bc2,
+0x78393433,
+0x0c5f47af,
+0x73492cd3,
+0xda574508,
+0x6ecff3e3,
+0xee404bce,
+0xef21f847,
+0xedc2659f,
+0x24d635e5,
+0xcd919575,
+0xe4eb0552,
+0x967c059f,
+0xfadc5f6f,
+0x7f6d0fc7,
+0x654d84dd,
+0xf9ac0445,
+0xf66fe3cd,
+0x89a99118,
+0x126d9e70,
+0x7e967078,
+0xf609546f,
+0xfba27a11,
+0xe3e075a2,
+0x3877d982,
+0x2eba6773,
+0x07c06cf4,
+0x5b8d2dd7,
+0x20e8d0c8,
+0xcf57bb41,
+0xf5d36561,
+0xa121cea3,
+0xbf8a2a74,
+0x22710c0b,
+0xaa068489,
+0x1aa10200,
+0x4c530b77,
+0xb0b0a32a,
+0x1323c070,
+0xd3b64686,
+0x53cf24cf,
+0xcd0678e6,
+0x6a19e4b8,
+0x98c1a641,
+0x88db917f,
+0x826dcadc,
+0x561c749e,
+0xdd8ca384,
+0xfd58e719,
+0x7ad5d7da,
+0x4a453cbc,
+0x29f32c39,
+0xeec1db58,
+0xc9daf694,
+0xe047c88c,
+0x75751e3a,
+0x69cdeca0,
+0x35554b6e,
+0xf5581b63,
+0xff6a0f03,
+0x27b49b8c,
+0xeab0a962,
+0x0161b114,
+0x057d77aa,
+0xbdeaf931,
+0x267b70fd,
+0xf946943e,
+0xf4122cd3,
+0x6098b15c,
+0x78aa8daf,
+0x96302f22,
+0x099f0840,
+0x25286ca8,
+0x53ace7d2,
+0xaad502de,
+0x3dc5fbbc,
+0x42d3343f,
+0x57e90faf,
+0xabd55e90,
+0xf803b66d,
+0x50bfefe3,
+0xf2d0b941,
+0xdb12948e,
+0x20c68675,
+0x81e3089b,
+0x56d3f792,
+0xb7f55d2f,
+0x5ddfb360,
+0xba7bae75,
+0xcbc5a945,
+0x8aef8348,
+0x1bb298ba,
+0x839e48aa,
+0x65ee417a,
+0xeda82862,
+0x571f86e6,
+0xf9da2a7f,
+0x922f35ce,
+0xaf98e51d,
+0x8c8f99df,
+0x682afad9,
+0x0ad8d194,
+0x58a7e982,
+0xabd890ad,
+0x6d0f5f2c,
+0x6c136052,
+0x1a8f007e,
+0x7a67fad7,
+0xc8fdb6e5,
+0x89c07166,
+0xf8b6b74d,
+0x914d0f24,
+0x5ce067ca,
+0xd9def72c,
+0xe1ec3b8b,
+0xd140fdf3,
+0x2c9b5a74,
+0x4d39e3ca,
+0x47a2f94a,
+0x362de89b,
+0x7d9e9eb0,
+0xbd8a8236,
+0x412c38d0,
+0x585c4ec2,
+0xacb91bb9,
+0x713d2541,
+0xe1aa864e,
+0xe465bc71,
+0x18d1107f,
+0x4d8cc828,
+0x358374c3,
+0x86c7037c,
+0xf45516ce,
+0x7ff6ea63,
+0x5a8c19df,
+0x7d6e5e12,
+0x690c05b8,
+0xa4f29455,
+0x304c2304,
+0xed6e66c1,
+0xdac64899,
+0x81027a81,
+0xe94c2221,
+0xfeb7b726,
+0x1d5ef6e3,
+0x32526872,
+0xc32ca8f8,
+0xdb4245e3,
+0xbfc17c59,
+0xeca69305,
+0x13ffa3f6,
+0x058106cd,
+0xaaee9cc9,
+0xb41e95bd,
+0xe94ac349,
+0x66c28be2,
+0xe5637974,
+0x542e46c0,
+0x643c1015,
+0xf6a59890,
+0x59155292,
+0xa23f248c,
+0x2bccff27,
+0x1776fdc5,
+0x66bffd64,
+0x4fdd60df,
+0xe824177f,
+0x99f7cb77,
+0xac3b5c49,
+0x4d21f8c0,
+0x3ef66681,
+0xaf12edea,
+0xcf79b686,
+0x8b426e1e,
+0x0f23f4b7,
+0xa340af83,
+0x438cf3b8,
+0x285a5a08,
+0x1f404a99,
+0x44650b36,
+0x258f8a6b,
+0xe203b6f8,
+0xa6a26152,
+0xa407a43c,
+0x182a474d,
+0xd874ac68,
+0x82844556,
+0x8b0c079b,
+0x8174a23c,
+0x80baff54,
+0x2a6d6425,
+0x5ad1a872,
+0xf3b387e3,
+0xd4f2a22d,
+0x17b7cfe5,
+0xaab60d27,
+0xa1448341,
+0x7ce1ce72,
+0xf0cbdf4c,
+0x60dcdb45,
+0x1602647c,
+0x28449079,
+0x7731ddd3,
+0x3bc6d828,
+0x7b99a2da,
+0xbcd57110,
+0xd1f5ad7a,
+0xcd210de2,
+0xad713a15,
+0x0f931054,
+0x1fe8a517,
+0xf704f37f,
+0x22eac7ef,
+0x99e8e9a7,
+0xb5621a53,
+0xd22f96c9,
+0xb7c661af,
+0x0ceb687c,
+0xaba9fc0c,
+0x5f0ac20b,
+0xfcb30581,
+0xd5243fb5,
+0xda212375,
+0x51c3bf7a,
+0xfcd2d205,
+0x050a5b62,
+0xfda4b207,
+0xea781c01,
+0x6118be36,
+0x678913ea,
+0xc3bec947,
+0x0475d63d,
+0x5fb3bc27,
+0xbedb150d,
+0xf9a1198a,
+0xff22042c,
+0xc489359b,
+0x2ffd76cd,
+0xe8293afd,
+0x478491d6,
+0xbe57f562,
+0x529731cd,
+0x8031de22,
+0x24d77292,
+0xf2434092,
+0x6b9d5ba6,
+0x7795fdbb,
+0x5df19c2a,
+0x08f6a9a0,
+0x39598ea5,
+0x8c9da9f8,
+0x6ea7820d,
+0x0c024ad7,
+0xbde54261,
+0x11822f4e,
+0xc4b7dc6c,
+0xf54fc8e8,
+0x6d8891db,
+0xfe188659,
+0x3dddc9c5,
+0x5231de91,
+0x54e6613c,
+0x4ca44a2e,
+0xd96851da,
+0x81e17acb,
+0xb58db5d3,
+0x8e489344,
+0xe3b6dbb1,
+0x6570bc1c,
+0xe9f6698a,
+0x179606d5,
+0x3eec3e1d,
+0xd6104d69,
+0x77a62326,
+0x659335ea,
+0xfdda6378,
+0x3c3ca6bc,
+0x6cbe98c3,
+0x24ac4be8,
+0x01879d55,
+0x1f30868a,
+0xb21da3d6,
+0xdc1a9391,
+0x3ffca284,
+0xcc729a24,
+0xb25d6e52,
+0xa11aa87a,
+0x57da45a1,
+0xc7dd638a,
+0x7c09f9a1,
+0x86961280,
+0xcfff1e04,
+0x74779a68,
+0x32b3e3ce,
+0xbd332c94,
+0x39a0218a,
+0x51f3bf3c,
+0xfc25d4ed,
+0x7eeb5496,
+0x8270f102,
+0x8e020901,
+0x6dcfff58,
+0x22bc5326,
+0x5dbc6ed9,
+0xaea8edf1,
+0x4b68a6ab,
+0x761ba4b5,
+0x6f6127df,
+0x35c38047,
+0xf4915d03,
+0x1adff145,
+0x60a53c53,
+0x4d1fc35e,
+0x6656baa4,
+0xa1d1a7cc,
+0xae73a67f,
+0x5413233e,
+0x8c07eaa0,
+0x7af15126,
+0x10116bba,
+0x24f1f3d2,
+0xd2b97898,
+0x48e89af0,
+0x4b0c838a,
+0x90e03529,
+0xf94a50b9,
+0xdbcf50a9,
+0x86ae3240,
+0xfe98ebab,
+0x65d0b8b5,
+0xcff33958,
+0xfa561235,
+0xdf103e34,
+0x645fcf95,
+0xe8c3b4cb,
+0xe859ccf7,
+0x88ed8abf,
+0xad6cc8c3,
+0x94bb4c4d,
+0xa190b62b,
+0x52db3937,
+0x5a986d51,
+0xae4d4733,
+0x604ecb70,
+0x56d68ec9,
+0xb87355a4,
+0x23e60df6,
+0x0d740fd3,
+0x06806d8a,
+0x7ace2d89,
+0x91da3943,
+0x6a9b586e,
+0x135ec0e5,
+0x21525424,
+0xc66e07f3,
+0x3794a373,
+0xa19fea6a,
+0xe1cdcf23,
+0x4460c430,
+0xf537048f,
+0x39c0d95a,
+0x16d2798a,
+0x66b5c6da,
+0xec8696e5,
+0x467e4c35,
+0x40323d79,
+0x6eb52c35,
+0xca4bc98d,
+0xf3fdc2d6,
+0x5b4d16f0,
+0xbefd2fc3,
+0x53e9f4da,
+0x3fb38c7e,
+0xd7a17112,
+0x0c94ab9e,
+0x03fb30a4,
+0x37e86dc9,
+0x07419c58,
+0x7d763300,
+0x581c1e9f,
+0x35ece831,
+0x232edf5d,
+0x814810c2,
+0x2008dda4,
+0xb4860f9f,
+0xb2187fcd,
+0x42b49e94,
+0x249e4eb8,
+0xc71e70be,
+0xb5849a08,
+0xe9b73a5e,
+0xb9070b20,
+0x20bb4722,
+0xea315ef8,
+0xd81d9f6b,
+0x94ac13dc,
+0xa1fd3103,
+0xef61a488,
+0x561edde1,
+0xcc54592b,
+0x44c47fc6,
+0x030ec1fa,
+0x9c180b48,
+0xd84921ab,
+0x87733e62,
+0x41a9976a,
+0xc3087e13,
+0xb52fb5c5,
+0xd48a009f,
+0xe1881b49,
+0x30c1d3fe,
+0x29482abd,
+0xde15ed23,
+0xdaa0ca26,
+0x049ca581,
+0x60bba1a3,
+0x491a5c58,
+0xd78aa621,
+0xd3dbba76,
+0xf1cd7180,
+0xd24bcadc,
+0xf0cc770d,
+0xfd15f1e3,
+0x49f5fcc9,
+0x4c767003,
+0xf6f9f4fc,
+0x06e50a50,
+0x7c6665fa,
+0x1c82503e,
+0x0d59ac43,
+0xdd870885,
+0x76654633,
+0xe3ebc63c,
+0x2235169e,
+0xcbb01221,
+0x0b490b68,
+0x1e827620,
+0xe7b79ab5,
+0x02cff5cb,
+0x4672e364,
+0xa9ea3b34,
+0xc390730e,
+0x448e9212,
+0xf5427fe1,
+0x215d0d25,
+0x2c189083,
+0xe50f8bf4,
+0x4c35a437,
+0xae3cc33a,
+0x176c3323,
+0x2d63d068,
+0x5ab2c651,
+0xf78fa908,
+0x8eac379b,
+0xb9a898fe,
+0xd1aac01e,
+0x164474ef,
+0x8439dcbd,
+0x434899cd,
+0xbc3f30e8,
+0xc0be1229,
+0xc87a1a9e,
+0x21b11a82,
+0xe2e5475c,
+0xe102202b,
+0x9dda82df,
+0xb9190ccc,
+0xb25727c8,
+0x66d8ce0b,
+0xfeddf081,
+0xef1e323b,
+0x26190db4,
+0x5ae6eed0,
+0xbbd598cd,
+0x808af838,
+0x66625f9e,
+0x336afd5b,
+0x480061c6,
+0xa859eff7,
+0x48207445,
+0x199ef0b8,
+0xb1b8b5b5,
+0x3af037f0,
+0xf46f4a5d,
+0xfbca4695,
+0x280f58a6,
+0x7489884a,
+0xf0d4be66,
+0xc89eb40f,
+0xae5f6378,
+0x6424e06e,
+0x349eadfb,
+0x55abc946,
+0x4628411a,
+0x1f1cf980,
+0xf5d42f3c,
+0x3236149e,
+0xf0c577c0,
+0xb889e481,
+0xec8b3268,
+0x0b90eaf6,
+0x39b8fe14,
+0xbd16b5a4,
+0x8106e688,
+0x61dd72ad,
+0x5b61a5d7,
+0x9122d1a4,
+0xab445e02,
+0xcf9bef52,
+0x9ed5c59d,
+0x09256945,
+0x033aa4db,
+0x0d07d837,
+0x5a984685,
+0x5644facd,
+0x6d7f6046,
+0x4b61318a,
+0x16f56214,
+0xfa0719aa,
+0xc2efa1ba,
+0xa461c510,
+0x88e07d10,
+0xaa3b1f93,
+0xc0733ac7,
+0xde0a2bf6,
+0xd8cc06d0,
+0x0acd05f6,
+0x5e9231d3,
+0x8bf61b3f,
+0x13b7377a,
+0xddb1ed3c,
+0x25885fdd,
+0x6bab83f2,
+0x22146a24,
+0x18ebf5b1,
+0x082eb2f7,
+0x3980e539,
+0x5c8157cb,
+0x71b1aaae,
+0x86a9cbdd,
+0x6d2eb006,
+0xe5c52df7,
+0xdf52f830,
+0x483064ba,
+0x78d91d49,
+0x582ee54b,
+0x5e235e33,
+0xd1574d7d,
+0x7ff69318,
+0xe0f9ee6f,
+0xbd3a6e25,
+0xaf76e3c4,
+0x60501f3a,
+0x72adf0bd,
+0x98423366,
+0x9ad5ae8f,
+0xa6df4dd9,
+0x2623cfb7,
+0xe3ef032b,
+0xe64af5b0,
+0x7d2002b6,
+0xdd655443,
+0x1dcd24e4,
+0x20832123,
+0xf49fee66,
+0x461bb2c7,
+0x0ff3a32c,
+0x65b3fd90,
+0xdbb9814f,
+0xe86f442b,
+0x2cf3ffe9,
+0xee84da9b,
+0x926a215c,
+0x8176f60e,
+0xe9d90692,
+0xc6790fc5,
+0xb703a2a9,
+0xd8f976af,
+0x1d576c6b,
+0x037c3364,
+0x86f53809,
+0xcad5870c,
+0xda2c815d,
+0x121dbc32,
+0x753401aa,
+0x9a8910a3,
+0xb37dad82,
+0xac784239,
+0x35e20aa4,
+0x554565eb,
+0x2a8145aa,
+0xd7b1a440,
+0x9f447f7b,
+0x4dd4aad0,
+0x086c9a3e,
+0x5544d99c,
+0xed1a3d05,
+0xb8f96c88,
+0x305687b7,
+0x574e5ac9,
+0x9dfa6ead,
+0x2f58ce12,
+0xff39e1cf,
+0x765a393a,
+0xad56ef8f,
+0xebe0f776,
+0x7e412dd0,
+0xc96dd477,
+0x01e1599c,
+0x98a90b9d,
+0x82ebcd67,
+0x28b8a933,
+0xc801b25b,
+0x200f4217,
+0xc2cd52ed,
+0x5f3d04b5,
+0x5984dd6a,
+0xd7be758e,
+0x1259fdf7,
+0xef373913,
+0x9d794004,
+0x36892f02,
+0xad5e41e5,
+0xc9d46036,
+0x748cbe22,
+0x1427dfd5,
+0xe479a388,
+0x2758d6e3,
+0x16bf8a60,
+0x024f2b02,
+0x62ba0729,
+0x45be809a,
+0x4a0aeb20,
+0x57f6d210,
+0x58e4740d,
+0x8b449de9,
+0xe519d7c3,
+0x466f33c0,
+0x4dbcbb51,
+0x71a94b68,
+0x60a373af,
+0x9aa18266,
+0x6391dffa,
+0x7a056cbc,
+0x2cc8e6db,
+0x778563cc,
+0xa3bff5b7,
+0x6110a009,
+0x91379b54,
+0xb2ffea5c,
+0x399e5e29,
+0x1dc3fab9,
+0xf39640b8,
+0x15a878f3,
+0x2398ed87,
+0xb9d5b04a,
+0x557138cd,
+0x61fdc577,
+0x22bd04fb,
+0x038270be,
+0xc4626620,
+0x0df6ffee,
+0xfd6a78b3,
+0x5743cc0a,
+0x6d06dabd,
+0xdfbf1d93,
+0xa101a707,
+0xa6533024,
+0xb20d1b7a,
+0x0a5a48e8,
+0x3f4add7d,
+0x3fe8aebb,
+0x5d685f14,
+0x05d0e2ae,
+0x951c3740,
+0x6388c8ae,
+0xf4cfe627,
+0x1fdda670,
+0xb8b60a2b,
+0xdb79ffca,
+0x5692ebe8,
+0x53ee0c39,
+0x744b33ea,
+0x8edccd42,
+0x654e7691,
+0xb4efd4b9,
+0x0ab898c8,
+0xcec77642,
+0xd5ca86e0,
+0xb5f291dd,
+0x38ae1705,
+0x142dba08,
+0xf37674d8,
+0x215f6578,
+0xd6af409e,
+0x4d6d57e5,
+0xfecf2207,
+0xd0cabee1,
+0x92fc5225,
+0x86af4a6b,
+0x8e0efc27,
+0x9cc0398d,
+0x38974054,
+0x0068c5d7,
+0x995ef4ed,
+0xeef74dc5,
+0xd8b3c371,
+0x590f9c73,
+0xd748d287,
+0xd4e35034,
+0xb403fc49,
+0xe56fdaae,
+0x56d997e1,
+0x23f1fdd6,
+0x3a4b7e40,
+0xa8ce4251,
+0x289ed037,
+0x386318d6,
+0xbd73adcb,
+0x80628b63,
+0xc3656864,
+0x8989a4cb,
+0x9e61334d,
+0x187c9875,
+0x28679637,
+0x831e1e68,
+0x972563bf,
+0x0e8a5630,
+0xe28c8080,
+0xe8ca1204,
+0x2bacf89e,
+0x479cf4c6,
+0x7c579da5,
+0x2223e0d5,
+0x567b2022,
+0x8a517d8b,
+0x3fe605f7,
+0xa60c28ab,
+0x9eab405e,
+0xbaacec4f,
+0x8854765a,
+0x77f828e1,
+0x98c7f1a4,
+0xf24dade6,
+0xb7ebe5af,
+0x0e2d1809,
+0xc7d01af9,
+0x7b1b9f2a,
+0xc091a177,
+0xa6bece12,
+0x41831eeb,
+0xd68cfeba,
+0x4d4a7031,
+0x29250b49,
+0xa1ed6ccb,
+0xb8ecbeb7,
+0xd2670c9c,
+0xfddb42d1,
+0xb8349e04,
+0xb86603fb,
+0xf35f3a86,
+0x728121e4,
+0x74864509,
+0x09eeaf35,
+0x16f28f49,
+0x31ef120e,
+0xa3a67186,
+0x231b237f,
+0x7ca07c4f,
+0x978b42d4,
+0x7a721158,
+0xe5f0c3d3,
+0x26bc58d8,
+0x032dacb4,
+0x7d0d27ae,
+0x5c85120e,
+0x3826fbe9,
+0xe57271f2,
+0x8fe36a1c,
+0xd1fa57bf,
+0xaa58cbd6,
+0xc654d1d0,
+0x9de6d657,
+0xd0752615,
+0x7a4ff825,
+0x4e0f5af1,
+0x532a7c3b,
+0x537eb539,
+0x10e328f8,
+0x4db11ee8,
+0x71748307,
+0xecb58296,
+0x56cf50cb,
+0xfcf29250,
+0x21a7421b,
+0xe5169ec3,
+0xbac4c37b,
+0x9e865665,
+0x090b8f40,
+0x93969096,
+0xe8c7a6b9,
+0x7ac27249,
+0x0ba26cb1,
+0x8cf242dc,
+0xd66db22f,
+0x2ec634dd,
+0x717c97e7,
+0xf03e8d50,
+0x8356494d,
+0x91bb3ae9,
+0xfd40cb64,
+0xad19a1f8,
+0x27f8d3b1,
+0x43d3c699,
+0x584c97b5,
+0xa0308c40,
+0x7f50d11a,
+0x2962d6a0,
+0x6b6cfa46,
+0x38953c0b,
+0x4a9c69a2,
+0xbf3a6af4,
+0x55dc7a71,
+0x45ac8fef,
+0xcb1cae50,
+0x11ea74f9,
+0x8b2a0d1b,
+0x1085c0a6,
+0x86e302e9,
+0x65df4f9b,
+0xaa210a2f,
+0xbfb1e0bd,
+0xdbfcecc9,
+0xb64c558a,
+0x66e43f45,
+0x91c0560e,
+0xef58121d,
+0xb6aece53,
+0x2f8873fc,
+0x0fde3274,
+0x870a33aa,
+0xfaadeea2,
+0xc004f534,
+0x54f3c05c,
+0xa1b102b5,
+0xaf9597e9,
+0x3bcafc97,
+0x66908656,
+0xce636f7f,
+0xeb5f0747,
+0x313ba13c,
+0xc4f2f61a,
+0x245157d5,
+0xb9ee9bcb,
+0x329dff12,
+0x5771767d,
+0x35fb92da,
+0xc42a9778,
+0x8037e46f,
+0x00be6fe6,
+0x2e57919c,
+0x9c219a89,
+0x3c8e91db,
+0x999b4f61,
+0x1acfc11a,
+0xce5729b2,
+0x7c474ccf,
+0x70db71e3,
+0xdefb1b7b,
+0xa96fce18,
+0x11e5b8ec,
+0x6c7fb31a,
+0xed4c049d,
+0xcd7271a0,
+0x685b5b2b,
+0x031ac0c4,
+0x596dcfd6,
+0xaf682089,
+0x3b8a18d8,
+0x4503ce25,
+0xa41eecd6,
+0x84dafcf0,
+0x754b08d4,
+0x16802d34,
+0x5b4fe1ad,
+0xa21ec71d,
+0xc47c226d,
+0x003a34cb,
+0x6b9f9955,
+0x73174612,
+0xed421656,
+0xb0a7f416,
+0xfb32281a,
+0x94c2fca7,
+0x89b92b43,
+0xd14baa55,
+0x87c67d45,
+0x409204ae,
+0xcd86bf52,
+0xed0d492b,
+0x24e7c990,
+0x8f864042,
+0x8a99b9bc,
+0xb0e46c83,
+0x1db971cf,
+0x30b3e4e5,
+0x12f51f6e,
+0x907091da,
+0x8c1763f3,
+0xf1233e43,
+0xe9614e8c,
+0xcd84c8a1,
+0xc15865eb,
+0xa9c7ffb5,
+0x05022891,
+0xe7da1295,
+0x7a25cb27,
+0xfa9776d1,
+0x15b07f3b,
+0x21070f61,
+0x8e9a3ef9,
+0xaa47d74a,
+0x7f69a0d6,
+0x1460ccb3,
+0x1f555963,
+0xf9797598,
+0xba49c15e,
+0x9317f7eb,
+0x0815a42f,
+0xb4ab899b,
+0x433b5786,
+0x4caa124c,
+0x0f0a1e4a,
+0x6bcb97a4,
+0x8864f300,
+0x05c58202,
+0x56c0b43d,
+0x2b0269a5,
+0xf3569631,
+0x02e0e24c,
+0xaf03f9fa,
+0x51fbfc0b,
+0xe7b766e8,
+0x826a67e7,
+0xd6f8f426,
+0x167a33af,
+0x6327e3cc,
+0x776bbcbc,
+0x8894dab2,
+0x33158d0c,
+0xeedaa99e,
+0x9e68df41,
+0x4c41dfed,
+0x2f20afa5,
+0x8ed68f4c,
+0xfb0dc1e5,
+0xec2dce65,
+0x1a815729,
+0x114754e8,
+0xa0eaf21c,
+0xb68e11e0,
+0xd5c9b79a,
+0xab87f40b,
+0x702d8a96,
+0x125b8f75,
+0x99992cfb,
+0x0b1b25d3,
+0x3baa808a,
+0xbc9333a8,
+0x5c907c77,
+0x5a1b6132,
+0xcc6f661e,
+0x47a11745,
+0x86cf5bc3,
+0xffbc70c8,
+0x1c0306aa,
+0x1a408202,
+0x0f866390,
+0x2c4f524f,
+0x503d39d7,
+0x176b31fa,
+0x86dab3cb,
+0x6d138ef9,
+0xe14eb9a9,
+0xb59bcce5,
+0x33c0ad08,
+0x70ac7847,
+0x4068a604,
+0xde7d237d,
+0x1a27e547,
+0x52541b06,
+0x12a8c898,
+0xb856b0cc,
+0xbed36cfa,
+0x1ed0ffa6,
+0x9919bea3,
+0x13215dfa,
+0xe7769dc3,
+0x3eb29556,
+0xcee9f3ee,
+0x4b37ac97,
+0x9d082989,
+0x783af5d1,
+0x36c444b6,
+0x3f11daf7,
+0xe27d38e2,
+0x092acbae,
+0xbe0a9227,
+0x3ba89d86,
+0x580f2e45,
+0x4759e602,
+0x87b5bb98,
+0x5a65ec6e,
+0xa1bb8c44,
+0xc405c8c0,
+0xbe99a907,
+0x7ada7480,
+0xb605fd77,
+0xf19e7f9c,
+0x8bd1fe8a,
+0xceb3674c,
+0x5351fe9b,
+0x07c6a8a1,
+0x28c3d6d8,
+0x4149f693,
+0xe3cb3570,
+0xdd9a7eba,
+0x3110058c,
+0x3a021acf,
+0xdd8c2c24,
+0x2668a682,
+0xc45589ef,
+0xf9ffbb09,
+0x369c5316,
+0xaf995751,
+0x2f3c35ce,
+0xe9e642a3,
+0xb60548c1,
+0x59d49de2,
+0x86bfe15a,
+0xf716b62f,
+0xf8425450,
+0x306e57f3,
+0x99a9e20a,
+0x5dc2b585,
+0x2cc44396,
+0xb471eeec,
+0x64cdafd2,
+0x7cf7b53f,
+0x74a086f7,
+0xe8ff8f26,
+0xa2d158a8,
+0x1c0ecae4,
+0xc705dacb,
+0xc0f5102c,
+0x8e0651a6,
+0x18ee5cc4,
+0x6a51cf52,
+0x1a0bad4e,
+0x6014676c,
+0x5ca9aa5e,
+0x8f78f7dc,
+0x42ae70e9,
+0xf56784dd,
+0x0c6f5242,
+0x4b6ba10d,
+0x504fef4f,
+0x2852e73e,
+0xa9fb8d59,
+0xbc601785,
+0xd2814d87,
+0xfa291bf0,
+0xa2f16aeb,
+0x1daf36a2,
+0xfa5d68a5,
+0xe1fcfe3b,
+0xf2dcccea,
+0x45a6c218,
+0x8b107946,
+0x51f0955f,
+0xa0095462,
+0x34d73fda,
+0xd8543ac5,
+0x285474de,
+0x41da8484,
+0xcedbb13a,
+0x41ed4f21,
+0x337afe39,
+0x124cef9e,
+0xb546c03e,
+0x0295ebf8,
+0x4768161d,
+0x49ae2692,
+0x19e0768b,
+0x7bbd9cc5,
+0x8877484d,
+0x9f5a7479,
+0x3ff40fe7,
+0x6c01eb07,
+0x05070fd9,
+0x604b2b20,
+0xd99b573d,
+0xf93b3cc8,
+0x3aafcfa4,
+0x1a73b6fd,
+0xae03b047,
+0xbff69c9d,
+0xac622775,
+0x847839ab,
+0x9c7bf8c5,
+0x4c95a648,
+0x2fedb9f1,
+0x19a0a759,
+0x8b4282a5,
+0x57cc4204,
+0xd5b0ac48,
+0xb1535f21,
+0x1978635b,
+0xeefcb3b5,
+0x8d51b49c,
+0x569c7251,
+0x09a6a8da,
+0x38e2e022,
+0xa0e4c830,
+0x78020604,
+0xd625554e,
+0x505d366d,
+0x8f5141f3,
+0x1cb9fc2c,
+0x4b9758da,
+0x131e09e8,
+0x4b087a30,
+0x34de30b2,
+0x90b4a83e,
+0x5321c4c9,
+0xd3154eb6,
+0xeae95d37,
+0x6ee19f4f,
+0x8868db6c,
+0x3512de95,
+0x80269680,
+0xad0e1c22,
+0x8784a838,
+0x4c317dd7,
+0x50fff8c0,
+0xc7c3244d,
+0x68945cc9,
+0x84bb1136,
+0x7767a662,
+0x94b3f7c6,
+0x7ea55f4f,
+0x53e8a795,
+0xdce08bc4,
+0xa75f176b,
+0x45b0990b,
+0x553cd2a0,
+0x2179dccb,
+0x09582c95,
+0xcd6b4d1e,
+0xd45bedae,
+0x8c768759,
+0x7e2e0664,
+0x50b1f15c,
+0x323a7d76,
+0x25b7e0d5,
+0x95c5e006,
+0x7adcabd0,
+0x2437d668,
+0x9332ee28,
+0xf8a47d67,
+0x23bcbc65,
+0xc5e77c49,
+0x57185dfe,
+0xfc663083,
+0x93ec4d84,
+0x9a3de002,
+0x068adc24,
+0x59b13ca1,
+0x03c3fd34,
+0x9154e206,
+0xae180ff9,
+0x0babb4c7,
+0x31ad3825,
+0xe67cbd51,
+0xa74a820d,
+0x15ac6b46,
+0x5f00dc10,
+0xec55b936,
+0x334accff,
+0x8a173997,
+0x52ddf867,
+0x4bb1dd86,
+0x407ef0cd,
+0x410a7e6b,
+0x6a930b07,
+0x949f56f1,
+0xe5594fb8,
+0xe5d8e567,
+0xcd6aff8f,
+0x5f0e5383,
+0x70645665,
+0x2082db11,
+0x20668479,
+0x31687d83,
+0xd157e269,
+0xef9497b2,
+0x8ce20e32,
+0x708d6464,
+0x5475911f,
+0x29ebbec2,
+0x967ed531,
+0x5526dc3a,
+0xcbe38910,
+0xe5de2cdb,
+0xae8d0bdf,
+0x989659e5,
+0x138f8537,
+0xd524c345,
+0xfd9c17b1,
+0xfde0794a,
+0x87812f3a,
+0x11437775,
+0xe1798763,
+0x269f986b,
+0x6cae229f,
+0x327d6291,
+0xa851e2e1,
+0xe0b08058,
+0xbfdfab84,
+0x5b379e61,
+0xd314902c,
+0x710f342c,
+0xbed9cf92,
+0x49d10908,
+0x5e98bfa4,
+0xcc3403ae,
+0x232f444d,
+0xaee96988,
+0xb43e0543,
+0x968a70d7,
+0x7c30319a,
+0xea93bf38,
+0xb7900b19,
+0x61eae222,
+0xb876246b,
+0xfeef4e60,
+0xa299929c,
+0xc8d9a702,
+0xa6506834,
+0x3c42263f,
+0x619abaed,
+0x491492c1,
+0xe286a9f1,
+0xa800becc,
+0xf50043b0,
+0xf655b46a,
+0xb61c2f28,
+0x0ebdd0cd,
+0x65a5bc5e,
+0xd65096ec,
+0x4d9cf66f,
+0x69797368,
+0xf6bbf473,
+0xb399deb8,
+0xb019a7e7,
+0xf1266b2c,
+0x1f437642,
+0xc4dc844e,
+0x16e90c2d,
+0x80255ccf,
+0x57027d54,
+0xe22229dd,
+0x25f9cf79,
+0xd10b1d01,
+0xe65f2204,
+0xa3e13697,
+0x8ced3861,
+0x80322270,
+0xc79d8aa6,
+0x086059df,
+0x7fede2c9,
+0x61f1edf8,
+0x95716137,
+0x34e4e66e,
+0xf9e2cbf6,
+0xd7dbb6d7,
+0x960234ed,
+0x3ac6121c,
+0x948d9359,
+0x927812a9,
+0x89e68925,
+0x3e5ab8df,
+0x3ee7746c,
+0x32f064d8,
+0xc77ea234,
+0x7a028230,
+0x0f7f8e2b,
+0x419f1775,
+0x15fab8f1,
+0x04e81039,
+0x3125882b,
+0x6f70c06e,
+0x9169441a,
+0x48bfea96,
+0x83b2a8a1,
+0xc584e4f5,
+0x12cceb0d,
+0x8fe562c5,
+0x06dc3327,
+0x2d6bdba7,
+0x252d88ea,
+0x70176903,
+0xc1fa0f70,
+0xa76a159d,
+0x551a990e,
+0x2570d78b,
+0x807d9b44,
+0x134c2d44,
+0xc064253b,
+0x2906c6ab,
+0x152eb4fb,
+0x696b9861,
+0x57f30de7,
+0xa9540047,
+0x003fe175,
+0xc3e25404,
+0x3d658771,
+0x6ca8ac2b,
+0x7c208cd2,
+0x27252f37,
+0x79ba8c84,
+0x333328d0,
+0xfc46b28d,
+0x0be1abfa,
+0x35d8fef4,
+0x1237ac1b,
+0x6e0b3a72,
+0x31c3718d,
+0x35c916ae,
+0x5b7ed39b,
+0x5867714b,
+0xb6ffd882,
+0xbb433100,
+0x97b1c324,
+0xae4a4ae1,
+0x247d90f2,
+0xf8b6a564,
+0x66253d64,
+0x82ed4dc7,
+0x15aed3f0,
+0xe6d2993b,
+0x857fcb9f,
+0x24e5530c,
+0x3a0c3fdb,
+0x59c51118,
+0x6408ed36,
+0x783285f4,
+0x971c7ee6,
+0xa8bfd778,
+0xd61d313e,
+0x2a5ab0b2,
+0xd7bb373f,
+0xb55b645a,
+0x0662e667,
+0x42f43436,
+0x29ccf426,
+0x706fc203,
+0xac1b2735,
+0x6a1c161a,
+0x72ee78c6,
+0x5f9bb0cd,
+0x8228fab9,
+0x2c70d786,
+0x95941813,
+0xd06c9d75,
+0x8afa3c67,
+0x5251cb06,
+0x294cb9f4,
+0x31bc04be,
+0xe95fddd8,
+0x5e35f1c4,
+0x915a4558,
+0xe31c0421,
+0x279ea98c,
+0x6fe0e281,
+0x62eba208,
+0xe3b91282,
+0xdf4478eb,
+0xaa932467,
+0x910d4ec4,
+0x34daebf5,
+0x68777f6e,
+0x1b66bbd9,
+0x9079271c,
+0xc3e370ec,
+0xfb8f8854,
+0x86b582c9,
+0xb08c9340,
+0x56be3b5c,
+0xaf6b3f9b,
+0xd516df77,
+0xe42b6067,
+0x674c7625,
+0x83b51f65,
+0x7de9f81e,
+0xf14443c4,
+0xbd746a7d,
+0xee74405b,
+0x1424050f,
+0x25140876,
+0x5ef24639,
+0x19531f33,
+0x41becb9e,
+0xa030ea28,
+0x6c0d2d07,
+0x9c4da935,
+0x070d02a3,
+0xf202bab7,
+0x29d24437,
+0x968a0f3f,
+0x2f840ecd,
+0x879e1267,
+0xe464afc8,
+0x5e7b5ee2,
+0xbd4c3db3,
+0x0d391dcb,
+0xa9ea106b,
+0x174ba59e,
+0x5cc16021,
+0xbe1d75e5,
+0x0e4310e9,
+0xaea520ba,
+0xb3e5e069,
+0xcee89241,
+0xe8b1e944,
+0x81884f69,
+0x0949df78,
+0xe8b97ec7,
+0xa798934b,
+0xa958fc1c,
+0x71464ffe,
+0xd605d536,
+0xde846f15,
+0x8cf5b23d,
+0xac0f3c4f,
+0x5ce696ac,
+0x5d44a99a,
+0xe5a94c89,
+0xaf03f845,
+0xea52f96a,
+0xd1bcdaaf,
+0xc39d190b,
+0x1cafe75a,
+0x9cabe2fb,
+0x17a903d0,
+0xc70bd001,
+0xa1b203a1,
+0xfc4af94e,
+0x2ecfbf3d,
+0xe92ab2b1,
+0x0f9d87e3,
+0x360a9d9d,
+0xdf618f74,
+0xded34ee3,
+0x84c048ae,
+0xc25dbb13,
+0x892a1bd5,
+0x8c3d68d5,
+0xbdc698d5,
+0x19611f2c,
+0x4835830d,
+0x36181639,
+0xbf07ecf6,
+0x0402fed9,
+0x2cfb0c2d,
+0x63f5405d,
+0xb3e85634,
+0x395f6da3,
+0x18acd237,
+0xfafec80e,
+0x760803d1,
+0x31426e38,
+0xf1aa3a44,
+0x101cafe4,
+0x88964205,
+0x6b080893,
+0x121f8ac8,
+0xf56fbe6c,
+0x1d537377,
+0x7aac3693,
+0xa516ccaa,
+0x16660249,
+0x469b900b,
+0x04523f77,
+0x0bc7dc0c,
+0x4e9b2cfb,
+0xf0171339,
+0x4cde13f9,
+0xaec1f2d4,
+0x0368a4d4,
+0x0c04c724,
+0x73cff468,
+0xea3d2cc0,
+0xcd4f6d5b,
+0x8fa3194c,
+0x1636b062,
+0x0eefb720,
+0xd18e5560,
+0x61a4d0e3,
+0xdc37afbe,
+0x1202ccf0,
+0xe4ea9e37,
+0xbb1bf68a,
+0x69b9c290,
+0xff479f12,
+0x3bdad20c,
+0x62533a85,
+0xc138adff,
+0x6d36ea81,
+0x51263258,
+0xee8e12c9,
+0x9529b63b,
+0x23801254,
+0x515352c5,
+0x20d93eac,
+0xa5e05a22,
+0x42db9c38,
+0xf51f5158,
+0xd2f3e159,
+0x9913d1a1,
+0x3a3710c7,
+0x8b5cd301,
+0xba80ccd0,
+0x1ded0b5b,
+0x1ca85ca9,
+0x466fe982,
+0x262380a9,
+0x67db41ab,
+0x25a98374,
+0x8261168c,
+0x7bef00b8,
+0x701b5d68,
+0xc5a95bc5,
+0x9806f272,
+0x065d72ea,
+0x37bb3a45,
+0x5fbedf18,
+0xf41c4a38,
+0x76ce3d2a,
+0x066c3134,
+0x9a085a96,
+0x6290b07a,
+0xe72beedf,
+0x84b5ee77,
+0xf4b73416,
+0x9d479e4e,
+0x9176fc31,
+0x72f371e2,
+0x225fbc08,
+0x4a1c384a,
+0x67e14f0f,
+0xc713a698,
+0x389e94b1,
+0xf0d36597,
+0xbf33818b,
+0xce4a6ace,
+0x5b5b835d,
+0x48399a18,
+0xeba50a2d,
+0x84bc46b6,
+0xa3e5ba65,
+0x468dfcd0,
+0x06176d84,
+0xdece4617,
+0xbd0d9b64,
+0xf76463f0,
+0x4e31ecae,
+0x662fd39d,
+0xf09dc4d9,
+0x2c36023d,
+0xa5a23c2d,
+0xbb83be41,
+0xa5616a6d,
+0x66678792,
+0x83ece19f,
+0x42a2ef53,
+0x90a35065,
+0x2836c8ed,
+0x71c275d8,
+0xaf2a8166,
+0x005bda15,
+0x00c715d4,
+0xdd2e29d5,
+0x5306fb06,
+0x7edea926,
+0x55c189bb,
+0x447c3b46,
+0xe36b1639,
+0x5a35864d,
+0x855ce6fa,
+0x4c127842,
+0xce61a45d,
+0x1d5621d8,
+0xe9885058,
+0x546474d1,
+0xc5368191,
+0x0dc5e988,
+0x3103bf17,
+0xa43b42d0,
+0x6b350fd2,
+0x744b2eae,
+0x2108c305,
+0x75ec857b,
+0x25ca1c63,
+0xc8787d3e,
+0x2c9e080a,
+0x76e287d1,
+0xb354f73b,
+0x5a22a4a9,
+0xaa90a5b9,
+0x55086e32,
+0x531c907e,
+0xe4b42f56,
+0x6c114e55,
+0x68241bcb,
+0x0b583ca5,
+0x3f7fd88a,
+0xa72bd330,
+0xb89f8f80,
+0xed2da4ef,
+0x4e5a0a08,
+0xb632ce20,
+0x97dfc0f5,
+0xfc00cd63,
+0xf121e9bb,
+0xa1285287,
+0xe49e661b,
+0x6b5852f7,
+0x8976fda8,
+0xcaeecb44,
+0xe351ca10,
+0x4b64b809,
+0x5af36063,
+0xcdf8767c,
+0xba32e16c,
+0x47044067,
+0xbb76a8de,
+0x74c2f35b,
+0xa7d8e0d8,
+0x92c40961,
+0x0850bfca,
+0x393e9db2,
+0x0528f1fa,
+0xdb562bd7,
+0x7599a069,
+0x938b7f13,
+0x300ee17f,
+0xee078b2a,
+0x81d87dbd,
+0xe6595378,
+0xb7f23101,
+0xab3a92a2,
+0xd3aa9d7f,
+0xe056627a,
+0x2b635afe,
+0x00cba5da,
+0x4bb6716c,
+0x60639bea,
+0x0b626001,
+0xf0bc0cc4,
+0x3e6253da,
+0x0f763382,
+0x375afebb,
+0x191c4f11,
+0x7d89cc72,
+0xa4966c08,
+0x95092d8b,
+0x4428945a,
+0xd79c13ab,
+0x02ad7027,
+0x6508bfd0,
+0x2ae855ab,
+0x4642731f,
+0xcdbf68f2,
+0x206f1437,
+0x3d5bb201,
+0x14498d78,
+0xa1b7720d,
+0xc223c0f9,
+0x1b0fda40,
+0xe0184af8,
+0x8d06b8d0,
+0x2c1b5c90,
+0xe1627ed5,
+0x36a36c0a,
+0x104bc56f,
+0xa2806ca9,
+0xb40e8e9c,
+0x366aed52,
+0xeafd4074,
+0x451a56fe,
+0x16aa6d0b,
+0x97ec03e0,
+0xa3a063dc,
+0xaa67b57d,
+0x1547ec0b,
+0xbe6217f0,
+0x04acce50,
+0x1e604d93,
+0xb9599e6c,
+0x4da13b93,
+0x4b575704,
+0x073b59a5,
+0x08b6f7ce,
+0x7a24bb98,
+0x8db057c5,
+0xa1a30d67,
+0xbe827ec8,
+0x3942216f,
+0x9ed97dd6,
+0x33ae11cb,
+0xadcebe53,
+0xb976788d,
+0x438cec38,
+0x1cb8d317,
+0xecf498c6,
+0x9ac145fb,
+0x741473c0,
+0x9c183472,
+0x7e26be0c,
+0xf423959b,
+0x77fd5508,
+0x38c504ca,
+0xf2ab6c47,
+0x34e5c1b5,
+0x0f58d8b0,
+0xc91d512e,
+0x17792042,
+0x9d6620f5,
+0x8ab91232,
+0xab050597,
+0x3223d5e7,
+0xd9373444,
+0x327a1b67,
+0xabf4661c,
+0x280b91ee,
+0xdee5acaa,
+0x9347e13e,
+0xdc27a18c,
+0xb2a4491e,
+0xaa56c4d5,
+0x33c867a7,
+0x631538d1,
+0x087be2dc,
+0x51c24219,
+0xe6d883a3,
+0xe0732355,
+0x619eff91,
+0x4c67788d,
+0xc5142d21,
+0x85a8c90c,
+0x4ec9d204,
+0x7a51e18f,
+0x21eb4b7e,
+0x6e8e6979,
+0xc4cd6b7c,
+0x0749014c,
+0x03a4e671,
+0xf739aecd,
+0x8088a30b,
+0x608f7f19,
+0x9af93aea,
+0x3c1b8e11,
+0xe54f000c,
+0x09125328,
+0x3de74139,
+0xbe54f960,
+0x49d840d2,
+0x0ab6242e,
+0xb9f9384b,
+0x7a7556b1,
+0xafc7779d,
+0xf0a1ecd4,
+0xad4f1305,
+0x231aa80f,
+0x1a21b6ad,
+0x203e2b04,
+0x7bd46623,
+0xe3269b6c,
+0xc021f7e1,
+0x6b5bfa37,
+0x60bd6312,
+0x9653c9b3,
+0xb77ce052,
+0x96c9e667,
+0x4fc892fe,
+0xbf5a135e,
+0x6e4a59eb,
+0x83cc2490,
+0xef3dec2b,
+0x62dc657d,
+0x146ed377,
+0x831a6dc7,
+0x565b1912,
+0xdda058c3,
+0xd1307e06,
+0xfb653c8d,
+0x334e861e,
+0x080190f4,
+0xed529063,
+0x1ff1af71,
+0xd8ffd1d9,
+0x26574e3d,
+0x0720c24d,
+0x37d0a73f,
+0x4c1da3ef,
+0x13b23b6a,
+0xf5bf5c37,
+0x15ee2600,
+0x773c4d51,
+0x28f7dada,
+0xc84a396f,
+0x63cc47ef,
+0x2dc347df,
+0x3ca0cb9e,
+0x026d82d5,
+0xcb5cc70d,
+0xf0aaa46a,
+0x42bd36ed,
+0xf71d7b9c,
+0x0e19b2c6,
+0xe0b4b4f0,
+0xebaea66a,
+0x5bba802b,
+0xba05444b,
+0x7b11d633,
+0xcba45ab9,
+0x2143bb5a,
+0xa8746e3c,
+0xc3192b44,
+0x3f3e21a8,
+0x94d40883,
+0x8e9547d5,
+0xd80cfb8f,
+0x64e50f58,
+0x171e3c76,
+0x13653a2c,
+0x7d4d685e,
+0x2890b74f,
+0x07c78d5e,
+0xe21d47ed,
+0x2a7bef0a,
+0x850f5c03,
+0x643a1d98,
+0x417c48fc,
+0xdf190d11,
+0x883783c4,
+0xe8fcfc77,
+0x41ffe29e,
+0x25781288,
+0x71179728,
+0x4fe3308b,
+0x333f86f7,
+0xe4014d86,
+0xa9fbbd93,
+0xe234fa19,
+0x3a0c0e99,
+0x4a2c587e,
+0xbc5139d5,
+0x88606255,
+0xcacf77be,
+0x9caf04ab,
+0x90928154,
+0x0567d262,
+0x709877c3,
+0xdd2c92e9,
+0xb4d94ffd,
+0x5b58c33c,
+0x102324fd,
+0x7d2cfff4,
+0x07a03e99,
+0x6c0f7f9a,
+0x0a5fb71f,
+0x490e7f08,
+0xa1f423a3,
+0x7a6989bf,
+0x7ad6a0b7,
+0x66afd3d8,
+0x2112f4d9,
+0x95376524,
+0xe4e949c7,
+0xd4ffb013,
+0x90f1606c,
+0x57bb861d,
+0x8770c121,
+0x1351bac1,
+0xea24a7c3,
+0x0cd6eb82,
+0xb9f0ae02,
+0xde2feefa,
+0xc67dc785,
+0x1cbc6f37,
+0x3008cbca,
+0x85b1b370,
+0xdf1208c1,
+0x1af0f53d,
+0xd319c360,
+0x3763c673,
+0x9069ea98,
+0x79e7e7c1,
+0x96405bb6,
+0x250c373f,
+0x3eb541fa,
+0x336822ea,
+0x78d92d28,
+0xfc997b76,
+0x539951b8,
+0x0ee4a617,
+0xbf2868d0,
+0x2e53f0ce,
+0x16022620,
+0x1225f4d8,
+0x26a33ec5,
+0xee700a0c,
+0x59c6896f,
+0x1b5c9ff0,
+0x224aa63a,
+0x8b372f4f,
+0x1786551a,
+0x1ac1507b,
+0xe342cd57,
+0x8ec21f08,
+0x3b690ee6,
+0x5bf601a7,
+0xf3e95813,
+0xa9c7ad37,
+0xdd9c3b7b,
+0xa8644861,
+0x29baacee,
+0xd55de0b0,
+0x1e7eccb4,
+0x0fb6ac5f,
+0x956a83ff,
+0x7cc6ab28,
+0xfbd3358d,
+0x64e057bb,
+0x4adadc1d,
+0x7e9eb4c5,
+0x03d49e55,
+0xc6d6e19f,
+0x762cf42d,
+0xd7248ccf,
+0xca0fa1fb,
+0x442dee4c,
+0x8878c694,
+0xdeac7b47,
+0x1512f809,
+0x06bc1721,
+0x9d51372d,
+0x7a460c25,
+0x2a61f097,
+0x502a3054,
+0xafe70549,
+0x5c1dfbf8,
+0xf020eec3,
+0x5fd4e6b5,
+0x7cd0e11a,
+0x941e0387,
+0x9c7d3d63,
+0x0367510e,
+0x3036840f,
+0xf47c81ed,
+0x030001b3,
+0xd11b9a9f,
+0x8fceba56,
+0x879cbbea,
+0x993cbb47,
+0x73c2f3ca,
+0xcd3f42e0,
+0xf82e7067,
+0x104382f5,
+0xa1582e60,
+0xbe3049f6,
+0xe3165bf1,
+0x70d28ee5,
+0x7ca9bff2,
+0x34cced05,
+0x69d60938,
+0x0e1766a0,
+0x389ff069,
+0x49a90f21,
+0xc7c9603a,
+0xe0a79e75,
+0x6b5e3c87,
+0x617a0e31,
+0x9922dda8,
+0x28f71018,
+0x94b449a4,
+0x6e1ae71c,
+0x748594c7,
+0x87a2b655,
+0xfe84f6ed,
+0xcf9da189,
+0x47b3c434,
+0xfb3a024c,
+0xdfce16b8,
+0x7096c0fe,
+0x2dfe8d68,
+0x33d67674,
+0xcdbb28fb,
+0x2f445751,
+0x96bc9b28,
+0x11620af9,
+0xd33b587d,
+0xac4286ba,
+0xdb8a8695,
+0xd5fa61ee,
+0x133033b5,
+0x182edd07,
+0xf7a92090,
+0x8f52762a,
+0x4f71724f,
+0xac11b508,
+0xb947cc4c,
+0x95bb2627,
+0x012d339a,
+0x93168d5a,
+0xec09f7b6,
+0x4313f9f3,
+0x60547bce,
+0x27b776c5,
+0x2ac40c21,
+0x5c1a89f7,
+0xe16b7351,
+0x5f6a77ca,
+0x61a8241e,
+0x9134dd04,
+0x6879ffcc,
+0x658aa51b,
+0x4f90b21a,
+0xed909d52,
+0x41c489dc,
+0xb0ffd9c0,
+0x06430ed0,
+0xb7a71637,
+0xab0183d8,
+0x33395228,
+0x0e7f273b,
+0x296333bb,
+0xcf9be3c2,
+0xdbc413c3,
+0x1e1b3784,
+0x4908f66f,
+0x975951ef,
+0x6e1cca58,
+0x0c5e8cbe,
+0x488f11bd,
+0x771210ec,
+0x5ae70360,
+0x663c33fc,
+0x2bfa9b94,
+0xb48756d0,
+0xf30d6c71,
+0x00d80271,
+0xca6dc6a7,
+0x25b8ed49,
+0x09f4b50b,
+0xc69dba98,
+0x186e2840,
+0x625d702c,
+0xb4ab93c4,
+0x8b5ce272,
+0xb991de1d,
+0x2e5c07d7,
+0xc80be53a,
+0xfbc5b50e,
+0x8b3c1a9c,
+0x4878c5f2,
+0x4aa0645a,
+0x34b15ce7,
+0x41db5b1c,
+0xda0ec321,
+0x7dc6701a,
+0x95ee2e86,
+0xd6fea0d9,
+0x9d818fad,
+0x10579a48,
+0x754c201e,
+0x6c67ba50,
+0xacf0c595,
+0xdbe11e92,
+0x98f9c142,
+0xc1c6bbc8,
+0x7c167bb1,
+0xd4efec54,
+0xc986be7c,
+0xdcabded7,
+0x2e6a100d,
+0x61e19b9e,
+0xcb098dcb,
+0x30d992ca,
+0x4b99b588,
+0x591cd5d0,
+0xd46f29ca,
+0x2d09e4d6,
+0xa9a1fa01,
+0xa5467304,
+0xfff92fa8,
+0xc3208367,
+0x96ce47c5,
+0x067fd5da,
+0x500925b9,
+0x0aabc4b2,
+0xf68e03b0,
+0xb07550f0,
+0xeadc7202,
+0xaf22ba32,
+0xabf7c7c9,
+0x300b3e5f,
+0x6498c5f9,
+0x7f30e60f,
+0x177b0448,
+0xa021489c,
+0xaf1ddc28,
+0x8a31e5ee,
+0x8d5af1b4,
+0x877a9798,
+0xfd2d5dd1,
+0xe710cc9c,
+0x4c3b828d,
+0x08d29bfc,
+0x859fadfb,
+0x41ae2f68,
+0x2b4d1684,
+0x18f8ae17,
+0x1dd6e6a6,
+0xec366a16,
+0x5750d376,
+0x1bd43a2f,
+0xa8cfaf27,
+0xb3cf6e9f,
+0x63c2b9fd,
+0x5a14ba58,
+0x86cc7bc7,
+0xf9de9ef3,
+0x9948bc17,
+0x45a79935,
+0x01b8e59c,
+0x254633c4,
+0x21e07d7e,
+0x15fa20a2,
+0xf0b8e163,
+0x88b5f666,
+0x17ad7ade,
+0x5b92f4a6,
+0x51110794,
+0x75ec43ee,
+0xbb5fe1f1,
+0xb37f009e,
+0x575d9bf7,
+0x205bd19d,
+0x01fc1929,
+0x87bde658,
+0x78204517,
+0x7805ef9a,
+0x02f2b0bd,
+0x9a74576e,
+0x77edf265,
+0xf8c4b06d,
+0x81adcca1,
+0x588dbadf,
+0x4e138861,
+0x398d08e0,
+0x6f163d0f,
+0x11797c9a,
+0xb59a6655,
+0xc5132912,
+0x4dcf36b1,
+0x7037bd9f,
+0x77e14ab6,
+0x37033d2c,
+0x15be4e0d,
+0xdf49773c,
+0xaf5806ba,
+0x68c1e164,
+0xc0fa49f0,
+0x5e38cdfe,
+0x413f3865,
+0x83a7fe5b,
+0x18d8ab74,
+0x9be76af2,
+0x2216e24a,
+0x85a0703e,
+0xb5e4a9a3,
+0xc899c1d3,
+0xcb9baa4f,
+0x12a917b9,
+0x121687f6,
+0xe51c2f44,
+0xadd56ea5,
+0x0ba274ea,
+0x45fb9989,
+0x74a3dc28,
+0x290da4a8,
+0x3459e5ff,
+0xae0c706d,
+0x9e10314d,
+0x1eb778f4,
+0x57d67c8a,
+0x53846719,
+0xe03da6dc,
+0x258e1182,
+0xcdc430d2,
+0xd1d49ba2,
+0x25754656,
+0xb7e7fe72,
+0x79b61b11,
+0x1382a409,
+0x2e33f005,
+0x2f76b444,
+0xee20123e,
+0x3dcdfb90,
+0xe6c1f227,
+0xc4aacdb4,
+0x2652d9f2,
+0x759ec333,
+0x0977d8df,
+0x7826a59d,
+0x22a6fbbb,
+0x84966924,
+0x678b0c9e,
+0x711305f8,
+0xa16d3740,
+0x2f1e5b7b,
+0x5fe16ada,
+0x1ac4e24a,
+0xd512b61a,
+0xba65b6ec,
+0xd2a6209d,
+0x60b99cdb,
+0xdb12bd95,
+0x23d88ec9,
+0x2ed79498,
+0x8d600a85,
+0x6ed637df,
+0xd6df859b,
+0x0a28870e,
+0x3d4bf87b,
+0xc933fa68,
+0x3c516c11,
+0x47512a9b,
+0x6822b931,
+0xb10e84a1,
+0xe2f98075,
+0x4ff4cc74,
+0xe376bb9c,
+0x49fbbff9,
+0x00132965,
+0x285060a8,
+0xb8028c76,
+0xb8242524,
+0x688a6563,
+0xc8c76ce5,
+0x94566cf1,
+0xb90c8be5,
+0xd9cde793,
+0x23b9b8a3,
+0x7485f6eb,
+0xc1daf8fb,
+0x6649d7af,
+0x57b66aec,
+0x601eb4f5,
+0x875572aa,
+0xa4b61c8e,
+0x77b1927b,
+0xaa82c198,
+0x95bf1b1c,
+0xb33f36ae,
+0xbbba7cd8,
+0x071a2c90,
+0x9c036c2b,
+0xb4c2ab26,
+0xb934d2f7,
+0x16717e67,
+0x6fe8675f,
+0x979cb052,
+0xd8b15ac1,
+0x0abc4005,
+0x28dd2dee,
+0xde434385,
+0x13a39d39,
+0xa55e465b,
+0xe4722e62,
+0xd6af1d9a,
+0xded8f05e,
+0x66c87fff,
+0x8a01a4f7,
+0xebd5972d,
+0xff1167b4,
+0x9363f5b6,
+0xbc67c1ae,
+0xe4461efe,
+0x45bf03be,
+0xbae73b5a,
+0xddcb423d,
+0xa0e8046f,
+0x41028843,
+0x56f8426d,
+0x93c2f148,
+0xd6a5dd86,
+0x05530343,
+0x18adfd8f,
+0xaf82573d,
+0xdb0747ee,
+0xc09c9348,
+0xed6877b0,
+0xfbcb6b47,
+0x5cdcc193,
+0x10496a78,
+0xd84d7bb0,
+0x36b80458,
+0x8269136f,
+0x010cda83,
+0x17c5cc5a,
+0x35feae72,
+0x4f1a6462,
+0x330d711f,
+0x1465617d,
+0x932a4c97,
+0x17949611,
+0x4bc7ada1,
+0x3437031f,
+0x9712802a,
+0x563eeebc,
+0xf1817510,
+0x535b18ad,
+0x282fa596,
+0x130b23fb,
+0xb65d4d0e,
+0x120ea1d0,
+0xd3fc9108,
+0xcf44685a,
+0x9b9f9b94,
+0x9d041f07,
+0x9d571de1,
+0xbfb46e6e,
+0x4547244d,
+0x41821970,
+0xcbe72adf,
+0xf35f0602,
+0x191137aa,
+0x8a506f62,
+0xd35909b0,
+0x9ef32931,
+0xce83348b,
+0x78a043d4,
+0x208bf588,
+0xd4807d4c,
+0xe0efed69,
+0x801510a2,
+0xa734e8cd,
+0xd5e510be,
+0x9e9a0ba4,
+0x16f0afaf,
+0x8c506b9e,
+0x233afc67,
+0x178853f9,
+0xd605a61f,
+0x8ac43f4e,
+0x62ae1451,
+0x260423f7,
+0x31877994,
+0xc37b9ee4,
+0x2fe4c527,
+0x74a9c978,
+0x027783c9,
+0x34f9ccbf,
+0xbf20d46c,
+0x905795d2,
+0x14057495,
+0x7624525d,
+0x73635014,
+0x1b4a65b4,
+0x1c23df84,
+0x0e4156c4,
+0x148b8e4a,
+0x3effbc1e,
+0xd5e9edf8,
+0xe7d177f7,
+0x437dad4b,
+0x1236b960,
+0xe2629e27,
+0xd331f8bd,
+0xb5d63c2d,
+0xe0ff9c03,
+0xc53ef27e,
+0x0bb99da4,
+0x0e4bbacd,
+0xf377c04b,
+0xbed943a8,
+0x99367ed6,
+0xfe1a8bcd,
+0xaf3cdf2b,
+0xa6741eaf,
+0x85182c0f,
+0xa4b7419f,
+0xd9f9c5c0,
+0x156cbf14,
+0xdd44fd80,
+0xb6d8c832,
+0x2925ac62,
+0xf4cde627,
+0x86d77f1e,
+0x6dc79cd1,
+0x4ecde88e,
+0x0ea260b8,
+0x6ae0fcee,
+0x29c3f40f,
+0x1fcf5512,
+0xc9e250ea,
+0xe315b6ba,
+0xc0ea4e08,
+0x72549ccb,
+0x75066248,
+0x779b3497,
+0xd595a271,
+0xc9f9d5e2,
+0xab69bf1d,
+0x0a02e20e,
+0x7993a0a9,
+0x66b1cc08,
+0x9cb76a32,
+0x8be8d34d,
+0x76299155,
+0xe46264b8,
+0x4a558b5e,
+0x475b39ae,
+0x94aacc25,
+0x4444f37a,
+0x80d250f1,
+0x5ecf04d6,
+0x98edaf99,
+0xe4ab82a3,
+0xd17f0fe0,
+0x8b52fd93,
+0x1a5cf762,
+0xebe6509c,
+0xef564cf7,
+0x3b97b680,
+0x8ec9da37,
+0x3acacdf9,
+0x11b0715c,
+0xbdf9ce74,
+0x08ba1fb8,
+0xbaee3a8f,
+0x4016edd6,
+0x199595d9,
+0x7e119350,
+0x0486e8ab,
+0x4287c6cd,
+0x7d36c4a1,
+0xd3c019e6,
+0xc9bc9a6d,
+0x4a0e4ef5,
+0x52fb9d53,
+0x0d82b906,
+0x802c0f73,
+0x0a045755,
+0x933e82f6,
+0x9d37ac83,
+0x865507d8,
+0xf30f269c,
+0xfb66bffe,
+0xf119dbb6,
+0xce437abe,
+0x93935795,
+0x7bf4edb5,
+0x94af550d,
+0xa4d67713,
+0x34a7834b,
+0xdd44a7e8,
+0x687159ba,
+0xec3bc62c,
+0xeba6208e,
+0xb77da774,
+0xb3ac5f0c,
+0x56f3b259,
+0xaec20d02,
+0x3521b28c,
+0x63cfa502,
+0xa05151fd,
+0x68b3f2f3,
+0x3b312303,
+0xc1a4418e,
+0x147c0ae2,
+0x16be914f,
+0x5bdf53dd,
+0x992ceda1,
+0xb60719ea,
+0x8a89f25a,
+0x27239a96,
+0xcfb8e523,
+0xec682bd5,
+0x17eab877,
+0xe54cfea7,
+0x11c7e409,
+0xe9c22380,
+0x1f365b97,
+0xed5467c4,
+0x4c34fd00,
+0xcb435a58,
+0x2f92068e,
+0x47aceba2,
+0x8508fa90,
+0xbb86d6eb,
+0x3f7c927f,
+0x2362af38,
+0x366bf6a4,
+0xc27cbc1d,
+0xe47b68e2,
+0x9b9e8eb7,
+0x7a488564,
+0x4bb074a7,
+0x8fd26d15,
+0xf71dbfac,
+0x4ab513ab,
+0x25839b8e,
+0x7d3a692f,
+0xa194a093,
+0xd480407a,
+0xf6fef2a8,
+0xd03ef77f,
+0xeebc81a5,
+0x9abbaefb,
+0x9c626e1f,
+0xe4c73c42,
+0x4222ecb4,
+0xc2099e5e,
+0xd0df3c67,
+0x26a19295,
+0xe4315507,
+0xe4aea8f2,
+0x0aa3f37c,
+0x244a8a41,
+0x1dad41ab,
+0x795891c9,
+0xd2586975,
+0x45175769,
+0xe3b70d5a,
+0x34519ec3,
+0x42f2e392,
+0xb96cca1e,
+0x03975a23,
+0xbe3c755a,
+0x38647292,
+0xbf5274b0,
+0xd71bf721,
+0x1f302d08,
+0x64898225,
+0xeb439e37,
+0x3a50ec3d,
+0xcd052c90,
+0xd4576b82,
+0xf9358344,
+0x9b284f4d,
+0x95f4822c,
+0x22184154,
+0x7e74870a,
+0xd37f9bdc,
+0x0f6b5602,
+0xfebe2527,
+0x37940c8d,
+0xe2181d53,
+0x8356bf9c,
+0x2a54d0b4,
+0x65d9a902,
+0x03bb847b,
+0x99e5766b,
+0xe24cad63,
+0x6cd471bc,
+0x42020dfd,
+0x828ee5d0,
+0x708ff5d1,
+0x3215e381,
+0xc2c02516,
+0xd8b1e804,
+0x81cce402,
+0x96ded889,
+0x09ecc24b,
+0x9c2f05dc,
+0x87cfcf51,
+0x37e32ac7,
+0xe824a38f,
+0xc83feac8,
+0x57cbcf9c,
+0xa38c3193,
+0xaf77fb14,
+0x48d0b028,
+0x7dd2ad85,
+0x5bf72f77,
+0xddc20a6c,
+0x6a41c1e0,
+0xd53639fc,
+0xe0120b8b,
+0xfdf917d6,
+0xdb3b9171,
+0xbcc01614,
+0x66281927,
+0xfdf18a97,
+0x5163e596,
+0xcac4b2a2,
+0x9d41da54,
+0x1ea4c345,
+0x9d050307,
+0x1fb84d51,
+0x932d7a9b,
+0x2db7be12,
+0xe6881627,
+0x20c7fd1c,
+0x45437e8a,
+0x71deaa72,
+0xc49a30f1,
+0x4b07437d,
+0x72ea81a8,
+0x7e4b55af,
+0x06ea47fb,
+0x2d18189d,
+0x94a5d7c5,
+0xebf158a5,
+0x5d335a9f,
+0x5b629219,
+0xd0d27049,
+0x654b4426,
+0x98303121,
+0x3fe09ae9,
+0x26209046,
+0x7890d6f2,
+0x3b11c939,
+0xdbba5daf,
+0xa37c4252,
+0x2cd18754,
+0x5d5f5832,
+0xb82505fb,
+0x64c01963,
+0x04c32bda,
+0x9275c3c4,
+0xc6b67a77,
+0x25b93fde,
+0x67a6bde5,
+0xf622af23,
+0xc1166cd0,
+0x1d074957,
+0xa923274f,
+0xf49d7649,
+0xc144fd38,
+0xad37d057,
+0x96a65f4f,
+0x380eb4f0,
+0x21e971e2,
+0xb1684029,
+0xa13c4e3e,
+0xaa4d3b66,
+0x74aeef37,
+0x579cb260,
+0x226bf145,
+0x48a56170,
+0xfe81cd70,
+0x981e507f,
+0xbfef67b1,
+0x5660f0e3,
+0xacc0c8e1,
+0xd3624e6b,
+0x174c2072,
+0xda40a848,
+0x9d523aa2,
+0xbed6374a,
+0xa9ee0a75,
+0xf2affa26,
+0x34acf66e,
+0x0dacea9a,
+0x54e3f170,
+0xdb85cff5,
+0xea1d7f2a,
+0x2f548790,
+0x2ae335fc,
+0x8a5dd842,
+0x11eb28cd,
+0x2f136cc6,
+0x0f738f9e,
+0x1c22260b,
+0x60a2a936,
+0x5dd4204e,
+0x8a7008a8,
+0x322ba657,
+0xb7724a56,
+0x00d52440,
+0x9a1e1655,
+0x99d4e1e1,
+0x30ed4e2c,
+0x0d384f5c,
+0x150ab2d1,
+0x3a4fccae,
+0xedac4ed0,
+0xedcdaa7d,
+0x4c93778a,
+0xae9df567,
+0x98de6d63,
+0x4b0dfec9,
+0x0e82da0d,
+0x7af94b2b,
+0xe3e3c08c,
+0xda363e32,
+0x06e2a961,
+0x992d7743,
+0x16fe88cd,
+0x5d52336e,
+0x75dac95a,
+0xe9c58f87,
+0xe2e65d4d,
+0xd9b935ba,
+0x7ab2eb7a,
+0xbed8c941,
+0x730ae718,
+0x430959ea,
+0xee479a37,
+0x89138406,
+0xed20eed7,
+0x57fa0818,
+0x6f18c4a0,
+0x4052a0ec,
+0x90596d48,
+0xb5eb8deb,
+0x86d6b456,
+0xa0a6cf14,
+0xbaa1f49c,
+0x03d9f7f6,
+0x67b6d212,
+0x6626bd5d,
+0xa2f0f56b,
+0x027b1720,
+0x2a53293d,
+0xe8141b56,
+0x02c0b099,
+0x2eb15484,
+0x9258e5cd,
+0x39282158,
+0x5cfe304d,
+0xfba0b499,
+0x64c8f9a0,
+0xc492c199,
+0x5697325d,
+0x95c534fe,
+0x18b9f34e,
+0x120965e1,
+0x83097041,
+0x5c402771,
+0xfa6384f7,
+0x1de0a773,
+0x6d329bea,
+0x531e2f7f,
+0xabc89f3c,
+0xd8cf188e,
+0x187c181f,
+0x7c650c9e,
+0x583aa7c8,
+0xe80b7a41,
+0xdce1a1a9,
+0xc96719dd,
+0xbecb9d8b,
+0xa1393d2f,
+0x78db9169,
+0x86304c76,
+0x6ef151c8,
+0xab7390c6,
+0xc1234e3d,
+0xd85c7c27,
+0x47d1ebfa,
+0x0d11515a,
+0x97f5f6f3,
+0xb243b93f,
+0x4b088206,
+0xa8892c62,
+0xf6d5afcd,
+0xd6cbcdb0,
+0xa990e28e,
+0x218068f7,
+0x7e461f5c,
+0xd0e4d5b4,
+0xe33ae4a8,
+0xba42f613,
+0x22577bf0,
+0xde4009fd,
+0x9776dd29,
+0xd269a667,
+0xbfa091e6,
+0xfa4f60cb,
+0x8a655b19,
+0x06e05baf,
+0x50a5b362,
+0x5f28692e,
+0x4534ef05,
+0x85122c25,
+0x1962de8d,
+0xd0bdcba5,
+0xeb231adb,
+0x0a0c89ee,
+0xb667c6a2,
+0x103f6e37,
+0xd3ddd58f,
+0x2159bc90,
+0x8c47dc0c,
+0x9ef80571,
+0x3926c509,
+0x8fb9050c,
+0x17fed053,
+0xc9b2b56a,
+0x38f26055,
+0x71e19447,
+0x71809a98,
+0xc4ad9a29,
+0x4b3047b9,
+0xf8a7ccbf,
+0xb45220d9,
+0x66837163,
+0xf1adab36,
+0x4454e20d,
+0x9927b274,
+0x551f2b0d,
+0xe7a3ff5e,
+0xf4dc107e,
+0x600c103a,
+0xd4a843cd,
+0xb342c84a,
+0xb8ab7202,
+0x11c23493,
+0x6541114b,
+0x6e8ddf6a,
+0xb3466d0b,
+0x2a307323,
+0x341f9808,
+0xe6433de2,
+0x6e44ebd7,
+0xf8a7609f,
+0x2ce078e6,
+0x7bc0ccc8,
+0xcaadbe9e,
+0x96f4b4a7,
+0x27c88c2d,
+0x1d9596e6,
+0x61d3daa6,
+0x5e9a4691,
+0x6c15d838,
+0x1632c5e7,
+0x45ff7adc,
+0x94f7e628,
+0xed3621ab,
+0x254e9663,
+0xed371313,
+0xf783d020,
+0xfde197d6,
+0xfcfd7fcd,
+0x7a948c92,
+0x6b87c54e,
+0xd31c083a,
+0x306d0338,
+0x76a8af8d,
+0x03af5c14,
+0xd64b2659,
+0x5173d943,
+0xae477f4f,
+0x616886be,
+0xf16dbe26,
+0xc61c291b,
+0xa0d48c1a,
+0xfd9a6cd5,
+0xabee9a7a,
+0xe0cbb14b,
+0x87394e7f,
+0x4b6d002a,
+0xf57a5272,
+0x3ab13519,
+0x2b80760d,
+0x800c83de,
+0x69bfd132,
+0xf43c72c8,
+0xe80fdcbe,
+0x1dec28a0,
+0x5c163c81,
+0x0e092ee6,
+0xd238630f,
+0x19a0391b,
+0x3b3c9009,
+0xe62fff53,
+0xf5123e53,
+0x857b466a,
+0x4441cf60,
+0x976504d2,
+0xa9e82bf4,
+0x25f59a35,
+0x1d9a3c9c,
+0xe32468b0,
+0x5fe92578,
+0xd2a04121,
+0x5b81e40e,
+0x0eda52d9,
+0xd6049516,
+0xffc76357,
+0xfffe4141,
+0x21b230f9,
+0xdcc37996,
+0xe632b07b,
+0xee30fc6a,
+0x84a64bd8,
+0xef04b133,
+0x30082c56,
+0x3f77cfd3,
+0x62da6aad,
+0x14197441,
+0xd09d76da,
+0xb1005347,
+0xfd8c3612,
+0xe0743493,
+0x4a5fb1f1,
+0xc195635f,
+0x0b7eb7c4,
+0x44244771,
+0x13ed5d2a,
+0xb3ab6241,
+0x90c7b452,
+0x408c4848,
+0x340f7d37,
+0x17531839,
+0x49b5fbae,
+0x2fc277f7,
+0x5b117cba,
+0x0ae46413,
+0x46d15c60,
+0x930073d3,
+0x02fccbb1,
+0x3a8323c9,
+0x4e5a9e25,
+0x1e1d3c43,
+0x2d695f44,
+0x4cc606dc,
+0x208923e2,
+0xa21145cc,
+0xf40247d9,
+0xdbdbe0a1,
+0x084fe8f3,
+0x646e80d2,
+0x27cc26d4,
+0xf8c6069b,
+0x9c23a14a,
+0x920b06f3,
+0x4cdc13b7,
+0xa1d832be,
+0xac6fe12e,
+0x5acfc7b0,
+0x74400187,
+0x639072fb,
+0xf1c9e408,
+0x640fd737,
+0xdf48bb19,
+0x4fe2307d,
+0x99f5b638,
+0xfc204df2,
+0x327de955,
+0x164db9a0,
+0x360cdefd,
+0x00fe1527,
+0x04d7bcc3,
+0x6500fe7d,
+0xaa7a3497,
+0x3389b242,
+0x31f98c5f,
+0xa0a576aa,
+0xa9adab5b,
+0x8aa8e60d,
+0xcec190b6,
+0x7c39c18a,
+0x9825756b,
+0x23a45dbc,
+0x568f0968,
+0x87a6495a,
+0x31338ac9,
+0xb4526eef,
+0xcbec504a,
+0xf3c63489,
+0x33b59d44,
+0x1bee5736,
+0xbfd43209,
+0x3edc523c,
+0xa183c559,
+0x2b81d5d2,
+0x97a69fad,
+0xe4fffd67,
+0xa7b615e2,
+0x64b4e82f,
+0x93fd17f6,
+0x5431c1e7,
+0x027eaca6,
+0xc5e820d4,
+0x641720f9,
+0x8e84c25c,
+0x04864442,
+0x51b6fce4,
+0x45af7b7a,
+0xb1ad6d90,
+0x813964fe,
+0x496d224a,
+0x9699a69e,
+0xdf46a9b4,
+0x1feffdc2,
+0x1d1ed0ea,
+0x48377acd,
+0xac006e20,
+0xc3fe2534,
+0x4ef4cc07,
+0x55250c46,
+0x6428e180,
+0xe6310dca,
+0x9ab66de0,
+0xf94bcbef,
+0xd9b2fd02,
+0x0d8a4bc4,
+0x372f7dd9,
+0x63d59ee1,
+0x3c3cc888,
+0x663b70d2,
+0x5cae54b2,
+0x3da9049a,
+0x6d4cfe8d,
+0x9831cfb7,
+0x43e725b6,
+0x040f0c16,
+0x86ff195a,
+0xdd28c62e,
+0x140bed89,
+0x394c1f9e,
+0x0c79fac2,
+0x68edd9d2,
+0x38fadd92,
+0x39da1aec,
+0xfc8333fd,
+0x4c68cc6a,
+0xf213abcb,
+0x2929c112,
+0x5c2b13b2,
+0xff7d7b79,
+0x221d36a0,
+0x3edf55ab,
+0xb3d358b6,
+0x3378e2e1,
+0x49c41105,
+0xc8de7dec,
+0xf6dd1dfe,
+0x1a814b3e,
+0x2e85a528,
+0x828654a7,
+0x550e4631,
+0x1d0e8702,
+0x9dd32c6b,
+0x9d514aed,
+0xb0155104,
+0xfc4091f4,
+0x4110204f,
+0xbd72861b,
+0x9cd32e01,
+0x98cb9c80,
+0x408c2c69,
+0x04e9b7bc,
+0x5bd36aff,
+0x495fbdf5,
+0x591d6a61,
+0xef55a90f,
+0x7c27f79f,
+0x86ec01ff,
+0xa9dfdb07,
+0x9cb108b6,
+0x414ee668,
+0x168ba7bd,
+0x7d1f06ba,
+0xf466570c,
+0x81dbe5ba,
+0x6f80d54d,
+0x3b5045a9,
+0x2c07ba2b,
+0xd2acc9af,
+0xb3dd4783,
+0x0b71b684,
+0x1c9991c4,
+0xa388bb66,
+0xfdea9166,
+0x50a313a3,
+0x0b4133a3,
+0xe264874a,
+0x1d130093,
+0x2d083faa,
+0xa9decddc,
+0xaf6d3767,
+0x1fc47ef9,
+0xc69e63ee,
+0x664dd4a3,
+0xcc3ce555,
+0xd329fc9e,
+0xbe222535,
+0xa323f48c,
+0x4c9d78af,
+0x983bd5c4,
+0x5cda02b6,
+0x5a1b3f27,
+0xbbae3f5e,
+0x1c016dc6,
+0x176f6812,
+0x66d52929,
+0x40107d85,
+0x39dd1e61,
+0x3d4d1a14,
+0x62122bde,
+0x0fa03bd5,
+0x965b8842,
+0x5aeb6136,
+0xdcd45e5a,
+0x728ce55a,
+0x92443354,
+0x8a778300,
+0x26f6d292,
+0x303ac6aa,
+0xe54e0c25,
+0x6d662e01,
+0xcb14fafc,
+0xa38fb1f1,
+0x37229290,
+0xf24cf5c2,
+0x0362c784,
+0xf174c0ad,
+0xda5864df,
+0x83d1de73,
+0x69d40e59,
+0x2d456524,
+0xd6c638a0,
+0x6b03f1e2,
+0xc71f33da,
+0x776d6fd9,
+0xee27db93,
+0x59ecec15,
+0xebc2a05c,
+0x047539fd,
+0x9683255d,
+0x6c1be12e,
+0x9cf66ec1,
+0xa21a55cd,
+0x16860c7f,
+0x4533ee64,
+0xf50e2f4d,
+0xf936def1,
+0x15cf11aa,
+0x7f659c34,
+0x57b6e08d,
+0x45a3f69d,
+0xa7d4936e,
+0x0932acd8,
+0xbe0691d9,
+0xbb0b4c53,
+0x0a6f99da,
+0x786a51cf,
+0x1fb602c4,
+0x8c868b1c,
+0x2bf7378d,
+0xa5812dfa,
+0x5389e8e2,
+0xe45a4024,
+0x0ebdf6cd,
+0xe25fa211,
+0xaaf8a601,
+0x1384e3ff,
+0x41036d51,
+0x4d4c812d,
+0x393052b0,
+0xa687612b,
+0xbf93c923,
+0xcbb93e79,
+0x60463388,
+0xb70048d6,
+0x75b9c4c0,
+0x78d14443,
+0xf0107b5f,
+0x83fa0906,
+0xecc841c0,
+0xc1caf825,
+0x6ff122b1,
+0x13648562,
+0x1fcf5cd9,
+0x6b299a2f,
+0xe76626a4,
+0x4a3e7c25,
+0xb2ad8ab2,
+0xb038837a,
+0x2bd29cad,
+0x681e75d0,
+0x8c5096d6,
+0xeecd8fea,
+0x0935d616,
+0xfd8586f7,
+0xa850a3c3,
+0xdd1f2444,
+0xf5f044d6,
+0x38562388,
+0x0dd471bc,
+0x7a985574,
+0xdf84d78e,
+0x4a42e516,
+0xaac83ebe,
+0x564e3012,
+0xd538bd67,
+0xcfa6c38e,
+0xa6777493,
+0x20d775eb,
+0x9d213909,
+0x5c834562,
+0xbe7f1660,
+0xffb5a049,
+0xdc17ab74,
+0x345aa7f1,
+0x92cada6f,
+0x52b1a934,
+0xc4f0fd53,
+0xbfc0c072,
+0x9bb58929,
+0xf4544f47,
+0x60ac75a8,
+0x609084da,
+0xc4d8de62,
+0xc4574112,
+0x7cf0b53c,
+0x9fcdc4b2,
+0xf29d8cc6,
+0x639cb2b3,
+0x3c5d11b7,
+0x3ebaef2e,
+0x37ea19a6,
+0x988441ba,
+0x6007b14f,
+0x721f4d8c,
+0xc556c891,
+0x2e5451fc,
+0x56f22385,
+0x801905de,
+0xd2251ba3,
+0x5379d31f,
+0xaf3ca564,
+0x8f8d1fae,
+0x0c2ca132,
+0x6b6b78fb,
+0x2d2c9ae2,
+0xd4229fc0,
+0xf0b41310,
+0x03c91a81,
+0xf13bc17e,
+0xf3ce63b9,
+0x64c1d90f,
+0xb08c9c3d,
+0xed86e6bd,
+0x0ffe0be5,
+0xfa0b6e0a,
+0x6218b24b,
+0x92b213e9,
+0x18e62ad5,
+0xf42d456d,
+0xa52eac10,
+0xdad21991,
+0x462bc62a,
+0x83218b84,
+0x1a05cc7a,
+0x3badbbf0,
+0xcb9b457b,
+0xb9425e61,
+0xc1cad92d,
+0x92c64289,
+0xa0e29be6,
+0xbe6da138,
+0x8e8ba0a7,
+0xad0db579,
+0x3b11edf3,
+0xbf795637,
+0xf003227f,
+0x93fa0a59,
+0x856aaad8,
+0x779ab693,
+0x0f82bf33,
+0x85e381c9,
+0x912c4fcf,
+0xf4d06520,
+0xbf6a203c,
+0x36793118,
+0x75bf482c,
+0xede9f6bd,
+0xdf52cbe5,
+0x94de1221,
+0x8171bef2,
+0x22a5722a,
+0x5543f51c,
+0xb11ec839,
+0xb14b9d2c,
+0x8925ed9e,
+0x7835c558,
+0xf12bed38,
+0x985c9736,
+0xafcd284b,
+0xbd1f9cc8,
+0x6e52b974,
+0xdea84e75,
+0xedf42365,
+0xe017c22c,
+0x858d1e27,
+0xeda5efc1,
+0xd09f198f,
+0x18772646,
+0x04a2e5c8,
+0x37048980,
+0xf4a14938,
+0x9a9cd41f,
+0x738f42f6,
+0x56369c14,
+0x95a70c78,
+0x23792993,
+0xee7088fc,
+0x589a4368,
+0x5e1abb3e,
+0x70dfbb2d,
+0xbb9ebcc7,
+0x2b730654,
+0x35a10b55,
+0xb3f58f0e,
+0xaf595888,
+0x2f569a7d,
+0x197355a4,
+0x7c1a93a0,
+0xae25e983,
+0xbbf32d6f,
+0xa41b5f1c,
+0xf64c8020,
+0x707597d6,
+0x839bb826,
+0x0c4ae66e,
+0x1ca9e2e5,
+0xae23ab57,
+0xc97cd49a,
+0xcc2601bd,
+0x539c25a6,
+0xadd8fb99,
+0xc4234470,
+0x314dd007,
+0x7b6cfc06,
+0x8c841434,
+0x8f422634,
+0xbac46200,
+0x927e4ee5,
+0x8a0eb00a,
+0x29306238,
+0x170b03b5,
+0x1737eeba,
+0x4d64a015,
+0x8546cef7,
+0x67ed5587,
+0x2ece5586,
+0x82e573a0,
+0x458e8bed,
+0xc4a9fc68,
+0x42b96eeb,
+0x372b892b,
+0x8de5e6ea,
+0x52aae75f,
+0xd593a7b0,
+0xd380b739,
+0x6172ba6b,
+0x69b787f3,
+0x974b9c70,
+0x1f7f623b,
+0x7bd9dfd2,
+0x7e5bf598,
+0x185015aa,
+0xac7ba9b6,
+0x81de371d,
+0x48317585,
+0x033936ea,
+0x00525f5c,
+0x158a2303,
+0x18262b2b,
+0xe861927d,
+0xc82bf4e8,
+0x48ed6ac0,
+0xec1ee3b5,
+0x966400df,
+0x69d6bfcd,
+0x752dba69,
+0xefa1bf89,
+0x6de6fdf5,
+0xcd5f72f5,
+0xb2801923,
+0xe78030fe,
+0xcb7fe32f,
+0xb934ad67,
+0xb3c84f43,
+0x531faa77,
+0xc88909d6,
+0x46139da8,
+0x754f7ba6,
+0xe1dea65f,
+0x1af362c6,
+0xe4fafa65,
+0x917eaa71,
+0x17b27e81,
+0x227fb192,
+0x33c0280f,
+0xd34b2402,
+0xdff9d047,
+0x4df56a7a,
+0x3c1b7224,
+0x30840426,
+0x97bd703c,
+0xabcc471d,
+0x22bd1539,
+0x17b28988,
+0x42ab391a,
+0x118172e2,
+0xccc4bb24,
+0xc344680c,
+0x430e0351,
+0x152a9cf8,
+0x2192718c,
+0x32aa6f38,
+0xf9e9599b,
+0x3965112f,
+0xa7b99d1e,
+0x30d1906e,
+0xdef985eb,
+0x92915b3d,
+0x4df0ccdd,
+0x9a02f751,
+0xf25e4741,
+0xd71d3261,
+0xe316025d,
+0xcae22fb4,
+0x5cd89dc1,
+0x668e5863,
+0xaeec964e,
+0x086b76aa,
+0x5134aba2,
+0x796c42aa,
+0xc5a1f8ce,
+0xac60cb19,
+0x2b6aad04,
+0x66bb9fd0,
+0xc3c0ee85,
+0xf8debf39,
+0x9e09109f,
+0x7bd996be,
+0x643844f6,
+0x826ab02d,
+0x9c8c92a0,
+0xb813058c,
+0xa5eb344d,
+0xf811e0b4,
+0xdc81393d,
+0x4c415c59,
+0xf9af0a7a,
+0x0ecfdef8,
+0xe33f4086,
+0x28041410,
+0x49838505,
+0x1f56b1cc,
+0x036244fe,
+0xccb7fab2,
+0x7af4f69a,
+0xbbc5c879,
+0xea093110,
+0x023b9095,
+0x63e3dc10,
+0x23df4d50,
+0x756707c2,
+0x147cb731,
+0xcdcced24,
+0x4baa47e4,
+0x5c154eeb,
+0x2b81ec69,
+0xb8e862cc,
+0x1eb1f729,
+0x6f962c61,
+0x06a0fa70,
+0x1db10d58,
+0x7ef58c69,
+0xafd19b2a,
+0xd1cdd7d5,
+0x66b1349c,
+0x92080177,
+0xedc342e9,
+0x4f2d084d,
+0x4c1667e8,
+0x364b6ece,
+0x22624111,
+0xe024ef38,
+0xb15f3e2c,
+0x024368ec,
+0x8043d520,
+0x3f520a66,
+0x9289479a,
+0x841d96b4,
+0x5340e54f,
+0xa56eb723,
+0x49ba3c87,
+0x7d9c0d1f,
+0x76a20367,
+0xa3fdf1d5,
+0x127031bb,
+0x775db2fe,
+0x2a611335,
+0x73d20266,
+0xfbaa0900,
+0x1d26147c,
+0xe8004159,
+0xec561eb5,
+0x62b771be,
+0xcf68b175,
+0x19845e76,
+0xce982b4f,
+0xabc51fa5,
+0x0cc75568,
+0xf496bb14,
+0xe2a7d5a3,
+0x48662056,
+0xaeec04ab,
+0x134113e1,
+0x90d6a402,
+0x34be40ee,
+0x79268f3e,
+0x564cea16,
+0xca67a088,
+0x832557cd,
+0x8f225098,
+0x008a8320,
+0x102c4e23,
+0xb44045fb,
+0x5e60363b,
+0xab086abf,
+0xd087e90d,
+0x49808ec9,
+0x099afc53,
+0xefdfcddc,
+0x1a7b65a0,
+0x3b7769ee,
+0x1904f6f1,
+0xdb63a909,
+0x5cffcf90,
+0x66479969,
+0xa426094c,
+0x8b72ecc3,
+0x776fa5c3,
+0xa3d14dcd,
+0xf01931d9,
+0x47b45b82,
+0x7a67c9e5,
+0x61bb3c2c,
+0x7c06ac25,
+0xc3ac5435,
+0x40ef8048,
+0x9dba23d0,
+0xedf80706,
+0xaf3f7d33,
+0xbbb38409,
+0xa5244000,
+0x84eaa2e0,
+0x66f246f9,
+0x3d1bbc79,
+0x7a264f39,
+0x6006c5e0,
+0x26d16bde,
+0xb99c6c3d,
+0xce84c5ba,
+0xbd87fe06,
+0x1468faaa,
+0x7d546061,
+0xfe381a7f,
+0x7f143805,
+0x43cfcee0,
+0x931398e2,
+0xc6ae3124,
+0x5a20d886,
+0x61af1216,
+0xf94bdbd9,
+0x870a98b2,
+0x531275b6,
+0x6723889d,
+0x3232cfff,
+0xe36c1ff6,
+0xaa794860,
+0xd56447cf,
+0x0f57aebd,
+0xe9c79a6b,
+0xd29b88b0,
+0x1be5dbfd,
+0xeda2230e,
+0xb9548835,
+0xe1ec4a75,
+0x975ac7f8,
+0x935af012,
+0xb4572cae,
+0xb7a122cf,
+0x5dcfb0c8,
+0x3219ec63,
+0x26715919,
+0xe63237f9,
+0xb55712b0,
+0x44890ebf,
+0x45ba022e,
+0xc94638ec,
+0xf096666d,
+0x7fdaf56b,
+0x4e27d2cf,
+0x5cf59e19,
+0xcc58032d,
+0x972aa76b,
+0x10f7b321,
+0x6988ef7b,
+0x3ebdfc1d,
+0xc92310af,
+0xa5ec8f93,
+0x20ab968e,
+0x3d3b96ad,
+0xa2d43289,
+0xcd4967d1,
+0x3299a65c,
+0xfc0da019,
+0xc6787f59,
+0x98983635,
+0x8b76ca33,
+0x96810936,
+0x97d81ebd,
+0xcca0dc01,
+0xd5aaf545,
+0x373b733d,
+0xe3d89c75,
+0xb3891a0a,
+0x7f036a54,
+0x3b2d6b15,
+0xaba4910e,
+0xeb94e761,
+0x8577da37,
+0x493c9343,
+0x5cd578a6,
+0xf5464d89,
+0x50a60771,
+0x8736893e,
+0xe899a4de,
+0x38ad7ec3,
+0x5e130a45,
+0x9629e110,
+0xebcee12f,
+0xb42133ad,
+0x2531e5a2,
+0x8b20fe57,
+0x60ba95eb,
+0x08dddab4,
+0xe9e46729,
+0xbccdffb5,
+0x803bd9a3,
+0x85fa2554,
+0x8b70d518,
+0x9058817a,
+0x77a57481,
+0xfd3a42dd,
+0x33ca37e8,
+0x8e480fd6,
+0xc2c2708e,
+0x6f000c4c,
+0xc0b3b3f3,
+0x961aaae0,
+0x6dc02695,
+0x0d70ca41,
+0x91042126,
+0x35f5ac8b,
+0x0663effb,
+0x255fd4a3,
+0xc5514eaa,
+0x2a874e2b,
+0x1356029a,
+0x18d03622,
+0x4afc6a0a,
+0xfbb23434,
+0xb7cc6622,
+0x69b03c5a,
+0x6f0d158b,
+0x01daa5ab,
+0x7eaa8e1b,
+0x44d116c7,
+0x2d0d2985,
+0x427fdee3,
+0xb1acccb4,
+0xcc3484f1,
+0x392b45c4,
+0xd1240989,
+0x90a1b633,
+0xa7b11bac,
+0x1d228752,
+0xcfe8f3c5,
+0xbbca3a82,
+0xf39a8141,
+0xad8704e5,
+0x2f9aab86,
+0xacf0f857,
+0x9503120a,
+0x1ad32118,
+0x48bf1231,
+0x4443f1e4,
+0xdf8b7e7b,
+0x1f915156,
+0x5fc4b561,
+0x4e9b7ebe,
+0x8ab5585a,
+0xb9cda00e,
+0xd4151547,
+0xef767270,
+0x8f22a01a,
+0x0215dc98,
+0x6877c2e7,
+0x7bc3629e,
+0x285468a3,
+0xa91d9aea,
+0x0a7dcae5,
+0x35d43f73,
+0xed520112,
+0xddb4efe1,
+0x439a7fcc,
+0xe3baead1,
+0x6766fae4,
+0x08e88ab9,
+0x9cfe4d5a,
+0xc9a4513f,
+0x14fd24d6,
+0xfeedd95d,
+0x488e4360,
+0x98d7bf90,
+0x3ff83258,
+0x4552ab9f,
+0x642804ac,
+0xdc1cefbf,
+0xa4faff59,
+0xfce81bc9,
+0x2eff4496,
+0xfb33ea4c,
+0x92ca55a4,
+0x4013f35c,
+0x33cc9a69,
+0x294a9d3f,
+0x9cd6a338,
+0x0394cbc1,
+0xbda2c64e,
+0x9f15ce80,
+0x112f3ef9,
+0xa94e9a56,
+0x2b0f5a56,
+0x85d0a68c,
+0x366948f2,
+0x49f51d49,
+0x9c7381b6,
+0x8ef54eda,
+0x56e90519,
+0xde867be6,
+0xd28e811f,
+0x443b512b,
+0x5bb1b11f,
+0x9141eff7,
+0x42d4cdc6,
+0x7e59a5bf,
+0xf997f3aa,
+0x29277a59,
+0x9969984b,
+0x1e4d421c,
+0x8d169bf5,
+0xd88bde01,
+0x5a40bc34,
+0x632a1251,
+0xa54cade5,
+0x847b9b25,
+0x2ddc2375,
+0xa28dd1c4,
+0xdbbee235,
+0xab6c8a08,
+0x18bf6ad3,
+0xbddbda86,
+0x5744f256,
+0x36448d54,
+0x61842eac,
+0xe05792a1,
+0xa4f8dc4a,
+0x51ebc218,
+0x1a3136d4,
+0x310d3e28,
+0x26b259be,
+0xbddb80bc,
+0x8ef8afaa,
+0xb63108b2,
+0x0a1d105e,
+0x121c4021,
+0x5d628094,
+0x57ecb82e,
+0x73fcf9ba,
+0x3319c504,
+0xa91e031e,
+0x3e2e4bdb,
+0x3c993134,
+0x1b20197c,
+0xd62f7efc,
+0x7ee0476c,
+0xe2c50e30,
+0x79a6bc10,
+0x0a5408f3,
+0x49b6ecd0,
+0x88ca0866,
+0x939f5322,
+0xceb8d621,
+0x982c745d,
+0xf753cd17,
+0x14e8e2f9,
+0x79cbc8f6,
+0xdf340d23,
+0x606fcd47,
+0x7d5815d8,
+0x40dbc8e2,
+0x0d8dc7f6,
+0xe5070c6b,
+0xcea90fdd,
+0xe9ddc51e,
+0x02edefc7,
+0xeb5d4032,
+0x30b856f7,
+0x943c80a9,
+0xfea394b0,
+0xcb435676,
+0xb1245d32,
+0xe46087c7,
+0x5ae3a17e,
+0x4f1c19d6,
+0x4510b035,
+0xf5db9099,
+0x5c824025,
+0xf99f6b6e,
+0x716703f0,
+0x1ce8636c,
+0xd6e032e6,
+0xe670b4ed,
+0xef6fbf58,
+0x0f2dfd05,
+0xd7f38859,
+0x599fd22c,
+0xd722fbd3,
+0x79b8ae09,
+0xa5903d6e,
+0x480b0545,
+0xe425eafb,
+0xc639c2bd,
+0x13aa6723,
+0xb63b63af,
+0x1cef4e07,
+0x3ff53f41,
+0x888a8100,
+0x035e6a79,
+0x88af985d,
+0xb8952027,
+0x67aa5ce2,
+0x053b65d6,
+0x5584ec0d,
+0x203bb5a7,
+0x6c27bbd1,
+0x3369b825,
+0xc355bd1b,
+0x15dc7082,
+0xef8fc504,
+0x07973e8b,
+0x81326d2c,
+0xc59fb7d2,
+0xa9ec2c4d,
+0x07e6a0d2,
+0x112b8c88,
+0x86a4f3e4,
+0x5f7b5188,
+0x4927b46f,
+0x436fe4bb,
+0x2bbcdbc0,
+0xba747e88,
+0x90175b7b,
+0xc8fdf0f9,
+0x531b861f,
+0x0fb0ee1d,
+0xd81a1aa0,
+0x270a60f1,
+0xa7e9a5bc,
+0x16560fd5,
+0x02de41f1,
+0x989acb64,
+0xc1059be5,
+0x21059d91,
+0xe5707d22,
+0x0a1124c5,
+0xa7be5d1e,
+0x3f8536b2,
+0x3fabee22,
+0x67fe8c37,
+0xadbe357b,
+0x33b38f8e,
+0x86c17ca6,
+0x9003c04a,
+0x684e801e,
+0xef64f942,
+0xc4e4eb19,
+0xd0bce3b2,
+0xb2dfe355,
+0x7ba1d94f,
+0xe02b6dd2,
+0x8e91d932,
+0x49999d82,
+0x46783fba,
+0x1f4813ce,
+0xaf41b8c9,
+0x174e5ac8,
+0x509e65c8,
+0xbd049520,
+0x028aa804,
+0x15d367bb,
+0x4eb8b159,
+0x57ee78c8,
+0x5a9b44cd,
+0x27240dc9,
+0x189db93a,
+0xaac2a407,
+0x00f2d209,
+0xdf6610c2,
+0xe74107bb,
+0xa14dfddb,
+0x618d2c1f,
+0xa91ee26b,
+0xc82b79c6,
+0x42d43ce8,
+0x1528a757,
+0x16ab8c97,
+0x6c284496,
+0x8773516f,
+0x1be7fc7a,
+0x3990d613,
+0x33d4a81d,
+0xe5cbc65d,
+0x10014bd5,
+0x57a91adb,
+0xe6c9189c,
+0x100c370c,
+0x15c98742,
+0x0bc16583,
+0x0c52cdd2,
+0xa48473a2,
+0xddf06d34,
+0x208b9479,
+0xcd8a623a,
+0x67f17264,
+0x4ca02d6b,
+0xd8480e59,
+0x4b97a2cc,
+0xa546d903,
+0x3f8ce106,
+0xb83a26ff,
+0x9e1edee5,
+0x2c4bc55c,
+0x76b5e51c,
+0x880608d5,
+0x8726c370,
+0xee1d3111,
+0xbf73d60c,
+0xd6208629,
+0x6381dfba,
+0x05d5bdfd,
+0x53cf5ea3,
+0x81d5dcb2,
+0x53041bd8,
+0x4e1d9ec3,
+0x5e5be39f,
+0x04107422,
+0x1f4d4a9e,
+0x653a4fca,
+0x279659c8,
+0x94782376,
+0xef81c91c,
+0x167961dd,
+0x4caa45a3,
+0x1bf2c06e,
+0xe208aae6,
+0x47dca413,
+0xfa3a7c3f,
+0xa01a666a,
+0xc349ea84,
+0x4b6b7a70,
+0x396ef635,
+0x59bcfda9,
+0xe5985848,
+0x7f8323a2,
+0x80d0b797,
+0x44243ffe,
+0x6acf23dc,
+0xf1e4d09d,
+0x66fc1ff1,
+0xbc1d8df3,
+0x33592350,
+0x6a08a879,
+0x07b8ac09,
+0x95b95f0d,
+0x88fd6840,
+0xaee5ddfd,
+0x2eade849,
+0x5f6789ce,
+0x8ceb4789,
+0x7f0a1966,
+0x6f590250,
+0x38a4d383,
+0x9c7c9299,
+0x028b0b8f,
+0xd465e7e2,
+0x741d8af2,
+0x6434fa12,
+0xa4103244,
+0x8b85904c,
+0x8ba8bda7,
+0x4d7e6e51,
+0x1116886e,
+0x4c2d3afd,
+0x20762a2d,
+0x052268c7,
+0xc4415e37,
+0xf18bb6cb,
+0x2ed1a38e,
+0x4318aee1,
+0xd15abace,
+0x9c93d6a6,
+0xa940cc4f,
+0x0f0237c0,
+0x6a57ba70,
+0x582577ca,
+0xa0b59684,
+0xfd8803b7,
+0xe72f5174,
+0x2d165307,
+0xfb2d545d,
+0xe1c635fc,
+0x45e0acc6,
+0x569ad9f8,
+0xd6122116,
+0x04af2c14,
+0x1905a3c9,
+0x74beeff2,
+0x70148ceb,
+0xb94f1e04,
+0xc172160d,
+0x899245d4,
+0x59a59e6a,
+0xe25b08ef,
+0xfb3cca3b,
+0x4fb4457c,
+0xb2802cfd,
+0x8dbaff34,
+0x5c1f1665,
+0xfb65c0f1,
+0x01fc46ea,
+0xde77698e,
+0xb8707694,
+0x384c12a9,
+0x5893ea7a,
+0xca20cdfc,
+0x8761d749,
+0x4e008017,
+0x9381ccd3,
+0xa091080d,
+0x883d2bd2,
+0x83d7f80b,
+0xd8bebd72,
+0x74d19445,
+0x9a1a95dc,
+0xa2fbf7ae,
+0xccd48344,
+0x51a17f8f,
+0x9fae7986,
+0xeaefd9ce,
+0x9c94af90,
+0x56ccede7,
+0xa414cf48,
+0x8bb7d785,
+0xf294dc36,
+0xb585cac6,
+0xefe1058f,
+0xf18cceff,
+0x01d1424f,
+0x2a609aec,
+0xe4cfcf44,
+0xdcdd0a5c,
+0x8b90203c,
+0xd3237e3d,
+0xdbbf39c8,
+0xa59b0611,
+0x4fec7dff,
+0x9b3edbb3,
+0x8cef0dc2,
+0x4b315226,
+0xcdce127c,
+0xd84d30b8,
+0x56b54c62,
+0xf7fde086,
+0x0a6b2658,
+0xa8f67a4e,
+0x16437adb,
+0xf3ff9aa0,
+0xe9335f26,
+0xc0e9b926,
+0x8b4bd17c,
+0x714cdde0,
+0x77f3b27a,
+0x67e0c693,
+0x851fb77d,
+0x00e7dfdc,
+0xe44693fb,
+0x988ce9f8,
+0x415204bc,
+0xca62018b,
+0x40c3b5a6,
+0xf50dfbe4,
+0xf97f137b,
+0x468a387a,
+0xc10e031d,
+0xf80f1705,
+0x107ee01d,
+0x8d8bcf24,
+0x9c865044,
+0xd04dd036,
+0xd7c4c2c6,
+0x233504f9,
+0x55e70f2a,
+0x7c144bab,
+0x662c92ab,
+0x33aee493,
+0x0e4f7d06,
+0x6329b00d,
+0x3c83b8d2,
+0x0886baec,
+0xfde46ab5,
+0xaf0c1ec8,
+0xe230cdb9,
+0x0d0ee5b8,
+0xbd40a999,
+0x09ee0184,
+0x09b8451b,
+0x66d1c705,
+0xe4502cf4,
+0x1e7ef750,
+0xa6f9d2c1,
+0x88babf6e,
+0x2d6cfb59,
+0x671109de,
+0x017c3ef2,
+0x395a7f5c,
+0x0a2b3be6,
+0xd72cd626,
+0x5a28b40d,
+0xc159c344,
+0xef5f9438,
+0xc401c7f3,
+0x3d07bbbf,
+0x92e344fd,
+0x5f66f8f9,
+0x64998549,
+0x86b3696d,
+0x99bfa60f,
+0x5aaceb63,
+0xa2186db6,
+0x34714061,
+0x00d4e47b,
+0x4ed9d224,
+0x0c7b11f0,
+0x2e5940c0,
+0xbf5921e5,
+0x3d507083,
+0x3ec466ce,
+0x993cfce8,
+0x98b86bf0,
+0x2721f7ab,
+0x8c6ab3fc,
+0x1a2387a1,
+0x35c83b02,
+0xdfc3b03c,
+0xbd1a6916,
+0x488fad16,
+0x4bbf7ee3,
+0x5252b634,
+0xaad0d5cb,
+0xba53e73a,
+0xc7e26657,
+0x364ac77d,
+0x3a6057cb,
+0xd745ffad,
+0x5166c813,
+0x29acd468,
+0x3be23de0,
+0xa52c377d,
+0x5d6a2718,
+0xf6b7370e,
+0x45e12eca,
+0x1436ad87,
+0xb6928712,
+0x382deb80,
+0x5926277a,
+0x0da57281,
+0xf8ed6055,
+0x4d4a4848,
+0xe9a6e14d,
+0xaff03f77,
+0x49c4dd1c,
+0xcd1fecf2,
+0x19780c40,
+0xe15c876e,
+0xab4820a5,
+0xe32f08f2,
+0xb04f9e9e,
+0x05c63182,
+0x58cd8780,
+0xea9d3748,
+0x247615bd,
+0x8b587a4f,
+0x2cebd89d,
+0xef511bfc,
+0x71107b2c,
+0x5df6c473,
+0x8965e53d,
+0xf20bf04e,
+0x644c31af,
+0x7fcd41d1,
+0x06358c59,
+0x736091bf,
+0x75da09a5,
+0xf464d35b,
+0xae895b13,
+0x2e99af91,
+0x7002798d,
+0x3628285e,
+0xe184dc17,
+0xd2154229,
+0x6261090c,
+0xc54056b7,
+0x0a560d7d,
+0xdaca957c,
+0xbf7216f4,
+0xd2015990,
+0xa65a6f76,
+0xc8c0a8fb,
+0x5bc45267,
+0xe4066c73,
+0x01ab2094,
+0xe3c53004,
+0x5c674199,
+0x5bde4126,
+0x1fc056a0,
+0x7d60994b,
+0xf2806bd8,
+0xd6ad8d91,
+0x6c6196d0,
+0x1b4db87f,
+0x5e47e963,
+0x3c3133ab,
+0x9fa7070a,
+0x7e69b168,
+0x889c4e71,
+0x0291a18f,
+0x5255db9f,
+0x6596f8a8,
+0x6a6bbb26,
+0xa14bcb80,
+0x9c5cec95,
+0x0b6a9514,
+0xc7f088a5,
+0x899851cc,
+0x22ec79f5,
+0x4b9311e0,
+0x1b41b89e,
+0xb1b208f5,
+0x245c1915,
+0x285978fb,
+0x46d9ee1d,
+0x6f83b9dc,
+0x279a7893,
+0x0606a55c,
+0x41750d41,
+0x8b228f72,
+0xbfcb6bcd,
+0xfb1f89a0,
+0xc99b6213,
+0xcda17b36,
+0x455ebd5c,
+0xbf8477d6,
+0x1abfc3b4,
+0x9c144b5b,
+0x2e7a267c,
+0x3231abe1,
+0xd9312e33,
+0xdfc1571c,
+0xba4ee77f,
+0xd887adf7,
+0x6cc124d3,
+0x358b8823,
+0xa892825f,
+0x40e07917,
+0xe3f859db,
+0xa2af54db,
+0xed0c518d,
+0x247c80d9,
+0xba4dc96d,
+0xcdee96a1,
+0xcc148b2e,
+0x59a3737a,
+0xa93595ad,
+0x6f39784d,
+0x7acc7013,
+0x8ff62a5c,
+0xaba738ac,
+0x4d9591b5,
+0xfe483de7,
+0x5ef94e67,
+0x4c906d94,
+0x5f877edf,
+0xa23f905b,
+0x61a6726a,
+0x3294d62c,
+0x747a52b2,
+0x4a5025dc,
+0xf8915873,
+0x52bd4983,
+0x17b4a6b0,
+0x3e864ef5,
+0x55ddad00,
+0x6b823fa6,
+0xc5b2263a,
+0x26650192,
+0xb96c645a,
+0x12e6fef5,
+0x441e95f8,
+0x10446b22,
+0x50c8b6a3,
+0xa8521e53,
+0x8ffce052,
+0xa787b628,
+0x6ab3c06f,
+0x3f53825b,
+0xbbe3f36e,
+0x459c1b31,
+0xc591556e,
+0xef65d626,
+0x772dc5fd,
+0x1950bf3a,
+0x617c24d5,
+0xffb6cc7c,
+0x17720128,
+0x9dc57b8d,
+0x4f103020,
+0xe8968ef5,
+0xb7143642,
+0x17f7e139,
+0x8c4177bc,
+0x15a431d5,
+0x7bee8014,
+0xd4474216,
+0xdb5e747b,
+0x0e542a16,
+0x834afc12,
+0xa9d710ea,
+0x0522f7d9,
+0xe227788b,
+0x69292535,
+0x8d07d3d4,
+0x35fcdcbc,
+0x8e875ae7,
+0xd9203f71,
+0x805def33,
+0xfdb005bc,
+0x482d3975,
+0x9ac431e2,
+0xc3f42799,
+0x6ee76d68,
+0x523a728c,
+0x10c29a28,
+0xead5c41c,
+0x10140bcc,
+0xe25c518e,
+0xe9e73c13,
+0xca67bae6,
+0x87d09a26,
+0x9fb4de99,
+0xde797c75,
+0x74125645,
+0xf3258fd2,
+0xe380c123,
+0xa4ef103c,
+0x00fc33d9,
+0x82d79fec,
+0x694aa523,
+0xec983659,
+0x58fdfe16,
+0xa1995a35,
+0xeabe4f09,
+0xeeb91a85,
+0x9a888cf5,
+0x1ffe9744,
+0xadd42f9b,
+0x183ee63c,
+0x7dab2df9,
+0x3e62bad6,
+0xef1f2b7d,
+0x7c73245d,
+0xf995b68e,
+0x47a0a480,
+0xb55cbdf0,
+0x89ec374f,
+0xc264621d,
+0x6d127bbe,
+0x265ab60e,
+0x2ed9e063,
+0xb5c89845,
+0x38e2a7ee,
+0xe505ab96,
+0x7c929d5b,
+0x079be002,
+0xa2266088,
+0x5deee4db,
+0xf9874508,
+0x85140ff7,
+0x00b68983,
+0x24f78bbc,
+0x3da0b85f,
+0xc1830b6a,
+0x1d9f6dce,
+0x0bb4bc08,
+0xd7f41b81,
+0x7b2b58ec,
+0xa1015bcf,
+0x7853b565,
+0xaaea7385,
+0x262883ff,
+0x8ea8b529,
+0xcf56b865,
+0x49a6df72,
+0xf36900d2,
+0x24137a9c,
+0x71fa2248,
+0x91156496,
+0x814cd7a1,
+0x082cf4ad,
+0x6c201563,
+0x2e6e5d56,
+0xd8758b3b,
+0x53f57760,
+0x25bc8388,
+0x56bb186c,
+0x524c2cf7,
+0xf799a4bb,
+0xc1aab170,
+0x2afdd100,
+0xcefe5450,
+0xfa64c8ed,
+0xe0e095be,
+0x1b0876bf,
+0xe2c9613e,
+0x5c98b15d,
+0x149d9f2f,
+0x8ca9a664,
+0x903bba05,
+0xf587f339,
+0x224b31cc,
+0xe2ffdc16,
+0xe13a5a50,
+0xc2651cdd,
+0x6cfe9a05,
+0x5fd44632,
+0xc7c2f8c0,
+0x395f8d19,
+0x5b2a6aba,
+0xbf9220e7,
+0x2dda8c2b,
+0x3e48a803,
+0xe19bc82f,
+0x400ffc52,
+0x5503337e,
+0x2931b6de,
+0xbd1a9503,
+0x076b7278,
+0xa0014380,
+0x26562dc7,
+0xa88477f6,
+0x80324c82,
+0x9d7bbc8d,
+0xaf8a774b,
+0x9d8dcec7,
+0x6baa7ca2,
+0x2fa2fd66,
+0x80f51af2,
+0x000a996e,
+0xb386efae,
+0x244dffdd,
+0xc02a9660,
+0x9d8b238d,
+0xe36abae7,
+0x81f05850,
+0xd5191aa7,
+0x15285092,
+0x14925614,
+0xc4f170fc,
+0xf4394211,
+0x0b4c1556,
+0xc84e8cd7,
+0x028fec9b,
+0xa2aa07e5,
+0x5be3a4a2,
+0x2ba3193e,
+0xedd1fef8,
+0xfa6a4f1e,
+0x715095d2,
+0xf75593e8,
+0xc1c41c37,
+0x6b3acb48,
+0x9143eec0,
+0xea09d698,
+0x6a2a456a,
+0xc6358d63,
+0xf97210bf,
+0x09868fbc,
+0xc627a8ef,
+0x5ad67703,
+0xda6c5484,
+0xc8901ea6,
+0x0e0281f4,
+0x47351a81,
+0x779c0125,
+0x8191026b,
+0xccafb2cb,
+0x3cc35bdb,
+0xaf2dff01,
+0xfc847bfe,
+0x08b38786,
+0xc8e216c9,
+0x5b8515c6,
+0xa4faa672,
+0x1dec196d,
+0xef39323d,
+0x5200c5cd,
+0xfe10ac8a,
+0x2086580f,
+0x19661ac3,
+0x7f44da73,
+0xd14897bf,
+0x760d04e9,
+0xaa4b621e,
+0x80957959,
+0xad2b7fbf,
+0x29f921d7,
+0x98524ed6,
+0x6f09b020,
+0x793b4f8f,
+0xf1a71128,
+0x34d93270,
+0x5cedc03b,
+0x6b42a20c,
+0xe1012892,
+0x3fb456a3,
+0x5d1b0edf,
+0x0e591e08,
+0xb2575f48,
+0xdbace920,
+0x153ae576,
+0x07f72644,
+0xb35727e0,
+0x30829dae,
+0x5262354b,
+0x40543db0,
+0xea54fec6,
+0xa3332e7d,
+0x0a8f3607,
+0xee09cf31,
+0xb0f9b0fd,
+0x3c6d5fc3,
+0x999889d6,
+0xe4fe3c73,
+0x326b638c,
+0x1022e327,
+0xb9ed22a5,
+0xcc5d9d33,
+0xf9fe3a7c,
+0xf3d85711,
+0x4a5fa7ed,
+0x02a16037,
+0x54adf459,
+0xe677998a,
+0xaff65bc4,
+0x69093073,
+0x6d046710,
+0x4dc5058c,
+0xd183fd71,
+0xe79c7d3f,
+0x82beab72,
+0xe4f1ffb8,
+0xd51c0fae,
+0xca33f970,
+0x062525c2,
+0x8b5990cd,
+0x45e46f34,
+0xa1b5acd4,
+0x4789a35d,
+0xb8e2267d,
+0xe2c87b84,
+0xf48ab5c5,
+0x068799c1,
+0x5e054444,
+0x7c5bafce,
+0x61eee84c,
+0xc99f4295,
+0x60a84cf0,
+0xd2c674d0,
+0xe726a322,
+0xcf345981,
+0xe70c200b,
+0x4711f4f5,
+0x0eaad13a,
+0x55c45efe,
+0x1d7e2041,
+0x852d53a2,
+0x030e347c,
+0x7eba6bcc,
+0xf2673da8,
+0x242e819d,
+0x8013c203,
+0xc5232245,
+0xdd8528cf,
+0x63097b1f,
+0x64b39e92,
+0xd30c3b68,
+0x75acf773,
+0x49fb5fac,
+0x73591d4f,
+0xba902163,
+0xe31f7a21,
+0xefdd6ad9,
+0x62fd6c47,
+0x3dd21957,
+0x51e51160,
+0x758a18db,
+0x202782f5,
+0x8bbc74ea,
+0x2e97e8f0,
+0x3be077d9,
+0x8e7485ee,
+0xf59f5571,
+0x0a8fb4f3,
+0xc641161f,
+0x96853c33,
+0xc8d04f3f,
+0xe61d81b7,
+0x310e9dcf,
+0xb13cf2fa,
+0x25287f5d,
+0x9addf4bf,
+0x35a26fbe,
+0x3ad60230,
+0xb7e2e657,
+0x13ed9d5d,
+0xb4deb536,
+0x3d52f62c,
+0xf98e23cd,
+0x44822e44,
+0x3cfef56b,
+0x354c1381,
+0xd628aad6,
+0xd29ef439,
+0xfc1b5d24,
+0x6243e959,
+0x00637168,
+0x2af153f0,
+0x76587fe7,
+0xee70bd66,
+0x821a1f4a,
+0xcaee2fe0,
+0x12576b00,
+0x9bfcac6c,
+0x2050368c,
+0xd3d2d095,
+0x5023e600,
+0xbc119991,
+0xd1a88755,
+0x1fa90dd9,
+0x641596a2,
+0x0619986e,
+0x8e84e7d3,
+0xbcf63f6c,
+0xc8e3b0a5,
+0xf3e3272b,
+0xaaab4bf7,
+0xaad5e978,
+0x500ccbe3,
+0x88484205,
+0x336a85cf,
+0xe2314977,
+0xa31f507a,
+0x93424f30,
+0xf00867e9,
+0xcad19949,
+0xf9cc1277,
+0x52cf5621,
+0x8f6cd023,
+0x9d0c3ea6,
+0x9522f87f,
+0x844f82dc,
+0x3bdf04b3,
+0xe60127bd,
+0xe071882e,
+0x01dc8e92,
+0x04a93285,
+0x93b2c425,
+0x03f2c829,
+0x6aa15fb4,
+0xcdab77db,
+0x2d582dfe,
+0xa30f221e,
+0x64d3bd32,
+0x45b56412,
+0xeeb3cf83,
+0x2f95430d,
+0x7b5b422c,
+0x25650f6d,
+0xcfdcf465,
+0x1ca4f1f8,
+0xc305d611,
+0x8f5acf96,
+0x4721df8d,
+0xb97219c6,
+0x36184dca,
+0x1eb5d32d,
+0x19d2ae6e,
+0x05ef6338,
+0x9bafba73,
+0xf2694bed,
+0x70453a24,
+0x6d41c179,
+0xb2b6258f,
+0xb613a68b,
+0x05dba78a,
+0x88a32780,
+0x5eda4b98,
+0x82de5612,
+0xcba526c1,
+0x60c89fbc,
+0x859eb828,
+0x9e38b918,
+0xd2c26af0,
+0xffdc48e6,
+0x54775922,
+0x1e7b08a9,
+0x88cafd3c,
+0x6f727f60,
+0x06a1a2ce,
+0xf7143905,
+0x8d86d435,
+0xb7992fab,
+0xab4a3f68,
+0x8123edab,
+0x77c9450c,
+0x6c90a09b,
+0x1b481ecc,
+0x6f3a2a22,
+0x55758e92,
+0x61c520e1,
+0x97568824,
+0x1ad3d710,
+0x37e39467,
+0xe2e50aea,
+0x774ca8a6,
+0xb650ec5c,
+0x9c345384,
+0xd80850c9,
+0x7cd55a83,
+0x5e691bcc,
+0xb62f3391,
+0xf6d43ef2,
+0x4a8eb1cd,
+0x90f4e8e4,
+0x6b68579d,
+0x33332ef3,
+0xe342414a,
+0x09ba318c,
+0x1d73fb8f,
+0x81e946ba,
+0xc6a1871b,
+0xd08bdaf3,
+0xeee187c7,
+0xed3367a1,
+0xdcb146a5,
+0x123427b4,
+0x36312562,
+0x6084d071,
+0x0229d2e4,
+0xac5ebaaf,
+0x32ef0810,
+0x8ceefa6e,
+0xd3f99b80,
+0x74889161,
+0x8fb33e7f,
+0x5b0358f1,
+0x41411cfe,
+0x9396f2a4,
+0x8aa6a2c8,
+0x1176fee8,
+0x47520446,
+0x71393091,
+0xc309723f,
+0xfc21ab2c,
+0x260e7a1a,
+0xa45b2582,
+0x49b7765f,
+0x6d61c684,
+0x987b4d14,
+0x85606d3f,
+0x03e3eec6,
+0x5dfcab65,
+0x7b75f114,
+0x9d51c0b4,
+0x33df8888,
+0xdd92273f,
+0xd48a84e9,
+0x6bded2f6,
+0xfb220d6a,
+0x07c5b703,
+0xc0a4bc2d,
+0x0503b898,
+0x07fd1aff,
+0x53373e6a,
+0xeaa5028a,
+0x9f7ea4fa,
+0x1109e641,
+0xcaf934b6,
+0xe47a7300,
+0x572415b9,
+0x9debe3a4,
+0x9063588f,
+0xdc659a56,
+0xa77f3eae,
+0x23af1ba9,
+0xbd2459ac,
+0xffcec413,
+0x397726c3,
+0xb39d8735,
+0x15319531,
+0xaab6775d,
+0x2de6f3ff,
+0x38ed3c68,
+0xe735b6d1,
+0x0667bf1b,
+0x48c0e3d4,
+0x7537a5e7,
+0xd79ee698,
+0x75aa86a2,
+0xcfdf136c,
+0x09f48674,
+0x397e6653,
+0x95d52688,
+0xd8ab2cd6,
+0x67c093d7,
+0xba57da9a,
+0x2927c3fe,
+0xae6d0190,
+0x3e9178ca,
+0x3f94b92d,
+0x0cb6d45c,
+0x509d2e8a,
+0x18957946,
+0x5afd8b17,
+0x1a84f3f7,
+0x65a60dae,
+0xe8e88e55,
+0xf72f9f8e,
+0x2f6fc13b,
+0xa299485a,
+0x72ccb5d5,
+0x86fa3acf,
+0xd862e95d,
+0xaf5b79ea,
+0x54520b69,
+0x032cccad,
+0xcfd134f6,
+0x4a15fb85,
+0xffffbac6,
+0x2f0cda0e,
+0x66ae74c6,
+0xb6f083d2,
+0xf857913f,
+0xdb108ceb,
+0x042abe18,
+0x704c76e2,
+0x0b133013,
+0x25697b53,
+0x37ae7d5e,
+0x659643ca,
+0xe3772121,
+0x7b025cb4,
+0x9839274e,
+0x6aed06f7,
+0xacda8263,
+0xb48053d6,
+0x2e8fb3f1,
+0xe4d095ad,
+0xe7340d04,
+0xc7159474,
+0x6f52989f,
+0xa45c051e,
+0xc4cb176d,
+0x2eafda82,
+0x4cbf52c5,
+0xd32a6401,
+0x05bbab6c,
+0x2205ebe8,
+0x2471d885,
+0x90eb7674,
+0xa6a805db,
+0xeb096770,
+0xe1842949,
+0x0c6f045d,
+0x6de8e801,
+0xc191590c,
+0xda98c07a,
+0xcc86d9e0,
+0xe764e9ec,
+0xd963466d,
+0xadfd6c9c,
+0xb3ce3a91,
+0xb4b08a4e,
+0x6ad4698d,
+0x26f1ba75,
+0x2820133a,
+0xcb144a70,
+0x675e52b1,
+0x5d788ed8,
+0x363ada30,
+0xf3e9151f,
+0x5612fbe6,
+0xf78a3678,
+0x3186ac52,
+0x9917e8d5,
+0xc0823b29,
+0x0cb68f3b,
+0x7458dcea,
+0x05a7ea21,
+0xb1b808fe,
+0xfa8d2744,
+0x03cff955,
+0xe6c54482,
+0x13732eea,
+0x5ba3f8c8,
+0x7537dff7,
+0x701bcf21,
+0x45c2655b,
+0x53a08d99,
+0x8ae48047,
+0xe496abf6,
+0x8dedc258,
+0x20d5a646,
+0xbbfc0bec,
+0x96d9b118,
+0xb23dc8c1,
+0x1eb38568,
+0xcf153346,
+0xc53ff5e7,
+0x8c61d818,
+0x0adfb7df,
+0x275d1d87,
+0x69eb2df3,
+0xfef1390c,
+0x1cf5e15b,
+0xa17c555c,
+0xf392881d,
+0xe889889a,
+0xd76e8fe9,
+0xc39cba6b,
+0xc8c4f753,
+0x272fbf63,
+0x841beb67,
+0x79e6d267,
+0x61d1a208,
+0x48e2153b,
+0x661d7352,
+0x22d00585,
+0x91e1cdec,
+0xd5d4a2c9,
+0xcea22db5,
+0x396e7dc6,
+0x5a9b30c7,
+0x93153930,
+0x4a4e7b3c,
+0x74357f9f,
+0x7988c929,
+0x200833ca,
+0x60112b50,
+0xf2c1b10d,
+0x71048650,
+0xd88b8d4f,
+0x99df6793,
+0x5e518d69,
+0xdb18c7ca,
+0xe28b0f1b,
+0x0257a571,
+0xaa9a719e,
+0xdcec43e3,
+0x5f09e791,
+0x1f6bf1fe,
+0x2aebc8cc,
+0x20dcc7fb,
+0x169729d1,
+0x1b0c7f85,
+0xc38dad5c,
+0xc5ad6b34,
+0x95983bee,
+0x3ec2ea4d,
+0xeeca1640,
+0xe4a81d8b,
+0xa3a7f5b5,
+0x6b889af4,
+0xcce72692,
+0x437bb83d,
+0xa47c32b6,
+0xf1d8ef92,
+0x725d0403,
+0xfeb9211e,
+0x5058076e,
+0x885c9a45,
+0x79558c1a,
+0xc0803c15,
+0x495ea137,
+0xfe4193f9,
+0xddcc4032,
+0x90e8dbe8,
+0xf47d641c,
+0xbf56c3aa,
+0x27aedf7d,
+0x3e3c8ab1,
+0x9c903155,
+0x247f8bb0,
+0x843ea6fa,
+0x4df0053b,
+0xc1ac8229,
+0x004b418f,
+0xa395c9c5,
+0x00074ad8,
+0xabbee125,
+0x7f7fc7b2,
+0xe0d99119,
+0x34c06720,
+0x2631755a,
+0x180cd479,
+0x7841c337,
+0x86bcc602,
+0x9ea55d7a,
+0x2245d3a4,
+0x59b3a62d,
+0x96a292b6,
+0x92ee510d,
+0x45de3b75,
+0x449a14ac,
+0x5623a05e,
+0xdeea0f0f,
+0xe7d7550d,
+0x034d5228,
+0x3c7145c9,
+0x58d5bdfc,
+0x9568d490,
+0x59aa1b0a,
+0xbb98a30d,
+0x94f3bf33,
+0xb03a414b,
+0xe944dd15,
+0x47be7d4d,
+0xd238d5c8,
+0xaf6e436a,
+0xfadd8095,
+0xcf23c698,
+0x241acdc6,
+0x344c7193,
+0xfb86c431,
+0x58bb0276,
+0x6b74f23d,
+0xa5b6c20f,
+0x2c3c6189,
+0xdebb0ed8,
+0xfed0dc3d,
+0x987c26d2,
+0xc8cfa383,
+0x06e8d0b1,
+0x074bec2a,
+0x6efdb39e,
+0x74b978da,
+0x979f28e2,
+0x2390db65,
+0x3ef9c2db,
+0xd810d7f7,
+0xee50d7ba,
+0xf879366e,
+0x6f5b64bf,
+0x0d84c4f4,
+0xb41c1a3b,
+0xa18be93a,
+0x7cae53e8,
+0x2769571e,
+0x41155a2e,
+0xcc27305f,
+0xb69553d3,
+0x4df37a77,
+0xaa7a5aea,
+0xa0a56f8d,
+0xaef7ac8a,
+0x3e327155,
+0xf80e1de9,
+0xd987f87b,
+0xe3ad0c7b,
+0x42b83853,
+0xb3601f3d,
+0x68ba3691,
+0xb9407929,
+0xbeaca55e,
+0x4d358c68,
+0x913b4068,
+0x8f9d5882,
+0x14d2267d,
+0xf2dc421f,
+0x0e5aae65,
+0xacafeaaf,
+0xde9183e2,
+0x7cb69cba,
+0x21a48489,
+0x9eede891,
+0xffeb1230,
+0x43a3b065,
+0x1e132c3e,
+0x65332651,
+0xdf9fa69e,
+0xdb53e515,
+0x2a17e7fc,
+0x383a11ec,
+0x6357c25f,
+0xdf4eafaa,
+0x1fe4fb89,
+0x92bbb077,
+0x28c049d1,
+0x89d822d8,
+0x3ef68fe8,
+0xe81c0d79,
+0xe1090d19,
+0x065b05f4,
+0x3ef2c843,
+0x8a314406,
+0x683820b8,
+0xbd72c75a,
+0x0a877967,
+0x65941840,
+0x6b563ec5,
+0xcb86955c,
+0xcdb5bfb2,
+0xf4e61822,
+0x662ef57e,
+0x2b6117d7,
+0xea03dd98,
+0x0b294d18,
+0x0a915fef,
+0x09d81dd0,
+0xa1dddaea,
+0x7b036e61,
+0x6705a0ea,
+0x71abe6e9,
+0x833ec33b,
+0xa1a043ec,
+0xab8a3e2e,
+0x19e105f8,
+0x3a8e9f15,
+0xb51e7676,
+0xcf712f55,
+0x520b0615,
+0x2efa4caa,
+0x89809e25,
+0x9dd59118,
+0x839a6f44,
+0xc63e9d28,
+0x0ebadf08,
+0x5433918f,
+0xc1ecc27a,
+0x8bf9fea4,
+0xff364ca7,
+0xa88d9e5b,
+0x30ffaba5,
+0xf63892ef,
+0x2bd9ffe6,
+0x64a83474,
+0x3a4f5219,
+0xafb6ead4,
+0x268726ac,
+0xe94c1e6e,
+0x91884d6e,
+0x52317e38,
+0xcef1cfe5,
+0xc4ab1597,
+0xc54baf5a,
+0xd971181b,
+0x1b3ad2e7,
+0x6df71058,
+0xe124bb82,
+0x99616758,
+0x9eb56545,
+0xe35aa07b,
+0x9c07c109,
+0x3e8222fd,
+0xc7241c29,
+0xffd015cf,
+0x0913f10a,
+0x8ab655e9,
+0x8040fa1c,
+0x45e6c3a5,
+0xb4d58629,
+0xec5858b1,
+0x091667ec,
+0x7ca2e8ec,
+0x2e42bb90,
+0xdd994194,
+0x5073b695,
+0x69f66d28,
+0x04ce3aea,
+0xe40f1432,
+0xe173dbb3,
+0xc7473587,
+0x0d5ad0cd,
+0xf51e796e,
+0xe6d6e78f,
+0xffc00be4,
+0xc88c8f25,
+0x8c37c610,
+0xfa094e22,
+0x6f556092,
+0x4965a15d,
+0x6527fd48,
+0x020690b6,
+0xfda2eee9,
+0xfd7d21a8,
+0xf242cf16,
+0x19a703f8,
+0x84781f3e,
+0x4306cfa3,
+0x16dd0da4,
+0xc338de24,
+0x685a5f6f,
+0xb61f5cdd,
+0x1381861f,
+0xfddbce32,
+0x2459b50e,
+0x0ae5cac2,
+0x3d3f04f4,
+0xb5030d24,
+0x857fc1f8,
+0x6602276f,
+0x5aaea26e,
+0x289f0596,
+0xc8512848,
+0xa54cfbff,
+0x59429e8c,
+0x63ae8d3f,
+0xede045d2,
+0x62d903e2,
+0xd76ff2c4,
+0x985f8d7c,
+0x9c225c83,
+0x7a0a42ba,
+0xd59763a8,
+0x7d3e4df0,
+0xcb162c8b,
+0xecb1a042,
+0x2fc97278,
+0x0f943851,
+0xe5ed2cb1,
+0x0eaa7623,
+0x95315620,
+0x2b1f6d97,
+0xbfa64150,
+0x882c96e4,
+0xb7ee989c,
+0x42b89afa,
+0x43474f6e,
+0xbeb0aa37,
+0x05b99b87,
+0x91e60da6,
+0x4b9ee817,
+0xc2c1447d,
+0x3e956000,
+0xcb8caf91,
+0x6753a340,
+0x50a68921,
+0x3fab04d6,
+0xd40f1572,
+0x1a457a78,
+0xb12dbc12,
+0xfe1ef9b5,
+0x4dab91c5,
+0x4f541f97,
+0x827145c4,
+0x5c92bfc3,
+0x6fd0acd1,
+0x7a2ddaf7,
+0xc2461c4e,
+0xa6219a30,
+0x30847595,
+0x7f9d5730,
+0x1e800701,
+0xe386f69b,
+0x7ffff43e,
+0x8158898e,
+0xa76d2431,
+0x8cdf150f,
+0xa67c0181,
+0x07de843a,
+0x0567a8e7,
+0x72589f41,
+0x395479ac,
+0xff5e640a,
+0xd8dde499,
+0xe45bec02,
+0xcb75025b,
+0xd5d7b9b6,
+0x382bc28d,
+0x87c6b8b9,
+0xffe10497,
+0x48cbd979,
+0x8281c212,
+0x26a4d249,
+0xf916c2cf,
+0xec5ab61e,
+0x91fc0603,
+0x1ec98c55,
+0xf4f2367b,
+0xbdafcfc3,
+0x3d46c30d,
+0x90b384e8,
+0xea8057c9,
+0xc692b1be,
+0x98b47b1c,
+0x97ac128c,
+0x7ebc4735,
+0x1c9bb3ca,
+0x5881ed4c,
+0xf0d96aea,
+0x52db1685,
+0x4850f9bf,
+0x2e6358e1,
+0x90e63e5a,
+0x8138e719,
+0x6dd2f769,
+0xcce1b1f2,
+0x5abf29a5,
+0x1d4d080b,
+0xef119c9c,
+0x65b1a9c3,
+0xa54559ca,
+0xd75cdf95,
+0xb348dbbf,
+0x04def65c,
+0x2f0c5639,
+0x7ad02029,
+0xc0e3ca3e,
+0x697b6a3f,
+0xb1809843,
+0x7fff69f1,
+0x2d990687,
+0x54760a65,
+0x94de7e83,
+0x33fcfacc,
+0xb316434b,
+0xba34c070,
+0xf2fe599b,
+0x6b59f717,
+0x63e87623,
+0xc4659f72,
+0xfe3a7c82,
+0x585eb698,
+0x7eb793a5,
+0xe966393a,
+0x2882662a,
+0x0445a7bd,
+0xd8fd9fbe,
+0xd51d07aa,
+0xcf1e005f,
+0xc8d6ab35,
+0x4fce5458,
+0x5badbfb0,
+0xbea9aea0,
+0x67fb078b,
+0xe6f1a8b2,
+0xb250b9f3,
+0x6a89469e,
+0x7849f8a4,
+0x11572030,
+0x956cc152,
+0x55f21d00,
+0x3909b80d,
+0x040ae17d,
+0x882e403d,
+0xe853e846,
+0x7396fd3a,
+0xd891ad07,
+0x773c8a84,
+0x7d1632d9,
+0x495cbaac,
+0x05a32841,
+0x85d722f0,
+0x0c5e94a4,
+0x010f30bd,
+0x942a07ce,
+0xd9b9e130,
+0x9f91fb9a,
+0xdd3a8aeb,
+0x9d098dc3,
+0x0663a0b8,
+0x0b77e3d1,
+0x8246afe6,
+0x2303fb6a,
+0xec97b4e6,
+0xc2d4a583,
+0x02bc236f,
+0xd170b54c,
+0xdeb0a34c,
+0xbe646145,
+0x37fcb95f,
+0x62c5a425,
+0xb4cb3ee1,
+0xdd0ba7bd,
+0x7ee0fe05,
+0xe8e05881,
+0xf37e9c71,
+0xc1a7f42e,
+0x6ca8a52b,
+0x21fe73ca,
+0xf4940a13,
+0x36c98c4b,
+0xbd2233b6,
+0xe2343473,
+0xa4cd3586,
+0x4764d4d7,
+0x4c35bfb5,
+0x7e8d245f,
+0xaa805d0a,
+0x6c6e237a,
+0xb06d4324,
+0x7efc950c,
+0xc8bc33f7,
+0xc0355665,
+0x2cd26299,
+0xd527a5ea,
+0x43e77cce,
+0x40e1ca98,
+0x2de15600,
+0x9aae195f,
+0xa747c6ab,
+0x7f414496,
+0x4dd0e74c,
+0xe35cd5ba,
+0xe69ec420,
+0x00b70a5b,
+0xa25f7595,
+0xbf232d16,
+0x51ea2624,
+0x35a33122,
+0x4acac499,
+0x2d6a1842,
+0xfc0568b3,
+0xabd57b39,
+0x4ba64db8,
+0x7c64409e,
+0x7b744b40,
+0x277e9df8,
+0xf6da8e54,
+0x5ea21a77,
+0xa36fcef9,
+0xd651a44e,
+0x5bf90955,
+0x18593a59,
+0xfa3af7a0,
+0xdb7df72f,
+0xd97e3dcb,
+0x21d9d5e1,
+0x25a3252c,
+0x11531e56,
+0x22385a56,
+0x24dfe7f2,
+0x0287db2d,
+0x226b4b61,
+0x5342bb09,
+0x616b81a8,
+0xfdec0dcf,
+0x2a041098,
+0x75d62f7a,
+0x98f6db3e,
+0x938e976c,
+0x47b441d1,
+0x61f76cae,
+0x2cf78e83,
+0x2271dadd,
+0xb3e2e53f,
+0x11b8f95d,
+0xfbd4c9a5,
+0xbce18b89,
+0xbebf40f5,
+0xff52373f,
+0x10bab61c,
+0x0e13815d,
+0xd81e7691,
+0xb51d4ec7,
+0x8c136b50,
+0xbdc197da,
+0xd7c9efaa,
+0x9f19a9ae,
+0x9b1988c4,
+0x34f84a1b,
+0xf95a0602,
+0x36fc3ac0,
+0x12e01cbf,
+0x1777ed40,
+0x1fba366e,
+0xf8df0446,
+0x7612ac9f,
+0x9fc83c9f,
+0x2f7fe4fa,
+0x9764f341,
+0x3d9ac611,
+0x71daada1,
+0x6719dc7e,
+0x8119bca0,
+0xc7d2910d,
+0x876f5b85,
+0x9f52c15e,
+0x98dad6f9,
+0x8e98f383,
+0x6a1af917,
+0xf7f2abcf,
+0xa45ec7ea,
+0xc23b26bc,
+0xdf54e43b,
+0x62ae6668,
+0x4aa9da07,
+0x457fa4b0,
+0xe046b599,
+0x440a346a,
+0x4fee8bad,
+0xb4ab9802,
+0x94a137c9,
+0x4e726164,
+0x3d4de740,
+0x92f82ec2,
+0xe3894236,
+0xc05ce88d,
+0xa059c7f2,
+0x2cb06ed0,
+0x10a2ce11,
+0x52cf5fa1,
+0xd3e907a3,
+0x6d1df7c9,
+0x38420d85,
+0x9dc38808,
+0x633aaff6,
+0x5759a73d,
+0xa9c9cd11,
+0xeabff5a3,
+0x7220ec96,
+0xf3fe5d6a,
+0x1b5106c8,
+0x7d94fff1,
+0xf823a4db,
+0x1ddd6864,
+0x9adebf17,
+0xf0169ed1,
+0x87f5a70a,
+0xe74a410d,
+0xc224fcd1,
+0x0705929c,
+0x1f3a6b59,
+0x10d3869c,
+0xb6c3eda3,
+0x83a22915,
+0x6f0fe775,
+0x9b460d26,
+0x1b0d0bdf,
+0x348d32e0,
+0x20ccfc9a,
+0x0f811745,
+0x75476658,
+0xdb7998ab,
+0xb4854971,
+0x5b1a6008,
+0x9114b5b3,
+0x73bb4913,
+0x143719ac,
+0x63e5028f,
+0x9e952eac,
+0x9f44129e,
+0xa9cfd0c0,
+0x5b450300,
+0x1698cc85,
+0xaf1fd789,
+0x1ef1c675,
+0x97fb38d5,
+0x431c0646,
+0xe98718e9,
+0x769b55e1,
+0x70e653ec,
+0x84de993d,
+0x75d97a9e,
+0xacdbb95f,
+0xf81b1829,
+0xfe4d8b87,
+0x56681801,
+0x7ce1b5e9,
+0xf3b62e5d,
+0x0126b96f,
+0x953d2f68,
+0x8e16c8da,
+0xaa6f9469,
+0xe9709277,
+0x6145d646,
+0xfec49cde,
+0x19096046,
+0x0ec2cb6f,
+0x6453d533,
+0xff06911d,
+0xc4d028dd,
+0xf9c1ae65,
+0xc01ad62f,
+0xe42922a6,
+0x6aa53a14,
+0xf38d0960,
+0xbd1fd828,
+0x4dc170b6,
+0xbe6f1f77,
+0xf835fd9f,
+0xd349251c,
+0x2ba6ee30,
+0x342bd9f5,
+0xa5f94117,
+0x310503e7,
+0x8eb8f591,
+0x8afc42fc,
+0x367ee176,
+0x4aeacef5,
+0x205b3bfd,
+0x39cc3b5d,
+0xfb0ef2d4,
+0x507256fd,
+0x6c7dd4f7,
+0x4c95fbb4,
+0xfeb3b4dc,
+0x89af5670,
+0x2755a88e,
+0x7b6ea2a2,
+0xac99ef83,
+0xd37372cb,
+0xb940d7d0,
+0x31f48e8f,
+0xed5ed5ba,
+0x49f1befb,
+0xbabe7a21,
+0x3b0b3f5a,
+0xda6509a5,
+0xc5a020ab,
+0x731ac48b,
+0xa916ab96,
+0x2b30d9e2,
+0xd326376b,
+0x51ad391e,
+0x1a032530,
+0x1aa33b01,
+0x8ff08cae,
+0xe0457ff0,
+0xb9295ae9,
+0x2eb09bb2,
+0xf6c05aa7,
+0x398995e1,
+0xfc1ede8f,
+0x710824d6,
+0x3d64fbbf,
+0x867e20bd,
+0xe54fa8c2,
+0x3c530d40,
+0xc79e1bbe,
+0x1b1c7df2,
+0x6aa1a27f,
+0xb394365b,
+0xf4abd7a4,
+0x377cbe87,
+0x91b747b9,
+0xcbc27098,
+0xa177263f,
+0xd8e2a233,
+0xd9ffcac2,
+0x9b0cd7e7,
+0x4a79e005,
+0x7ea40f25,
+0x949f12cd,
+0x304b059c,
+0xc93757d7,
+0x59b324bd,
+0xd70678b6,
+0xf75109d5,
+0xe22ed3fe,
+0xf43cb775,
+0xfc9c73ad,
+0x4612e14e,
+0x4d630048,
+0x465d6d66,
+0x3459e31a,
+0x8ebd80a3,
+0xa003663e,
+0xe594a509,
+0x6f5df5e7,
+0x3c98c6f2,
+0x664f35d2,
+0x3c0be6fd,
+0xa29affea,
+0x38de5c2e,
+0x6c6397c6,
+0xd515d87b,
+0xc863711d,
+0x9ef7d614,
+0xf2b15eae,
+0xd689625f,
+0x513fd17a,
+0x2cafa190,
+0xc62ddeaa,
+0xa1c788f5,
+0x996ac338,
+0xc89152ef,
+0x1523fe3c,
+0x76aa3099,
+0xe96cc289,
+0x251da08d,
+0x7fcbf3ff,
+0x6b52e657,
+0x00cde1ea,
+0x1d39b6f4,
+0x31b17b72,
+0x0b7b9821,
+0x76d1e337,
+0x0249674a,
+0x36b3dff0,
+0x0334bc3d,
+0x840ac721,
+0x94e0f914,
+0x0e57e079,
+0x510a1b0e,
+0x04eca166,
+0x967e04ca,
+0xb2bef408,
+0xc5d613b6,
+0x5e347faa,
+0x5c2f0113,
+0x5b7aba2e,
+0x499d5068,
+0xee294c88,
+0x63c52978,
+0xd294d2b5,
+0x3cbbadaf,
+0x430e6b4e,
+0xd1ca6439,
+0x585bbb0e,
+0x0ba2de88,
+0x83f865a8,
+0x36ceb13e,
+0x0d9d06ca,
+0x84a66d1a,
+0x8918ce06,
+0x90a92b4d,
+0x2235015e,
+0xde3bf18f,
+0xc03f1873,
+0x5dca095b,
+0xf0438ee0,
+0x4884f5d1,
+0xd2791e8a,
+0x279999f0,
+0x4126c1d2,
+0x099881aa,
+0x833e77cf,
+0x19cf673d,
+0xf2292c5c,
+0xba4d5272,
+0x00d3a5a4,
+0x840b5e2a,
+0xff58ca9e,
+0x5009a345,
+0x1921ba19,
+0x7532150f,
+0x7c5778b7,
+0x96d84f56,
+0xb8ca1f17,
+0x0c8e92d6,
+0x83d42481,
+0x783cafa1,
+0x94b89a1a,
+0x87ecf6a8,
+0xe04e34c3,
+0x8beecbe9,
+0x3a999076,
+0x8ad5c018,
+0xa2936faa,
+0xfa3534f3,
+0x9129fbf2,
+0xfd1a1147,
+0x02c62e31,
+0xa85239b2,
+0x261dddf2,
+0x533d219f,
+0xd3caf36b,
+0x8e91d08a,
+0x94a996e2,
+0x8425f870,
+0x0e856f6f,
+0xc490867e,
+0xd86c57aa,
+0x82f9c744,
+0x8949ada5,
+0xe26bf97e,
+0x185ec2be,
+0x0cfda49c,
+0xbda70a1b,
+0x13944918,
+0x6c926efb,
+0xbba67b46,
+0xbcfc772d,
+0x02acece5,
+0x6bec1fcb,
+0x291879ca,
+0x2db8f282,
+0x9b6d5ecf,
+0x0b20ac6b,
+0x4252d98d,
+0xd71789d2,
+0x51127cfd,
+0x9b3f8291,
+0x9dbcc96e,
+0x0141ca7c,
+0xab51f0ec,
+0xa54e41cd,
+0x9788cdfa,
+0x63d950c3,
+0xce99333a,
+0xce975ecd,
+0x0224e7cf,
+0x26daea74,
+0xec3d98c9,
+0x0ef0eeb3,
+0x7baad847,
+0x571820cd,
+0x91c0b8c0,
+0x316cda03,
+0x2ec9dc90,
+0x0ef781ef,
+0xc541431b,
+0x97ac85fd,
+0x388993cf,
+0xbaff18ea,
+0x09d47a1b,
+0x27529cb0,
+0xf3b2fbff,
+0x415744c9,
+0xbf81a591,
+0xc84b8ced,
+0xfb3bcb4a,
+0xd954debe,
+0x3b1b769a,
+0xc98305b5,
+0x44a382ca,
+0x4714f49e,
+0x9d2d7c36,
+0x92a16c3c,
+0x36e240f5,
+0x19a0bf17,
+0x0b74f3e7,
+0x3c750367,
+0x1b4ee12a,
+0xfd2d6c30,
+0x21939060,
+0x20cc5f21,
+0xc9c90c04,
+0x76ae9209,
+0xd8a35956,
+0x0ec9da33,
+0x848b974a,
+0x2ad9e16e,
+0x3955994c,
+0x9097ca4f,
+0x731c8341,
+0x1535fcc1,
+0x19f981cf,
+0xe8640088,
+0xf6818f1a,
+0x74540013,
+0xac650f86,
+0x20fb6237,
+0xa89a44db,
+0x69704b30,
+0x89e6cefb,
+0x2a6b7f80,
+0x440e5c5b,
+0xe4dc8276,
+0x265c0bab,
+0xd7d70b20,
+0x05f9494e,
+0x98e34f95,
+0xc7626248,
+0x23318168,
+0x33c8d49f,
+0x7f5bde09,
+0xda30297d,
+0x4eb26648,
+0x3a4f9112,
+0x5fa2ae14,
+0x339b2e13,
+0x8e2c4618,
+0xce0baeac,
+0x3160626e,
+0x08248e66,
+0xc850646b,
+0xd1185ccb,
+0x2ccf6215,
+0x7926a38f,
+0xe058b0fc,
+0xbd604cd5,
+0x49566b8c,
+0xcdbe73f8,
+0xcfa31b15,
+0xd5039c1a,
+0xaa67e547,
+0xb5772322,
+0x4bb004ab,
+0x3b7c255a,
+0x10bbd123,
+0x404ac1b8,
+0x6522b62d,
+0xebb11507,
+0x31963b75,
+0x102d6705,
+0xc80f48a3,
+0x29398e72,
+0xfede339e,
+0x6c0a5aa4,
+0x00e45a6c,
+0x700bbb19,
+0x5bdb6ea1,
+0xb3e826eb,
+0x699f6c68,
+0xb2627780,
+0xb7966015,
+0x4727e957,
+0x0bcde0eb,
+0x605581eb,
+0x95fe0398,
+0x1c2805cc,
+0x88cf14da,
+0xa64d127c,
+0x7b2178d1,
+0xe28246c8,
+0x2332e93c,
+0xb5534b62,
+0x059507f6,
+0x340f54cc,
+0x6bf91701,
+0x270d01c3,
+0x330f8376,
+0xc3a20b0d,
+0xbc40a988,
+0xb21562f0,
+0x6ec496a8,
+0xcb5fc6e5,
+0xfd636da3,
+0x471982e8,
+0x70bed202,
+0x883d9c91,
+0x3e130db6,
+0x683232b3,
+0xa772e0d9,
+0xa12d4ee7,
+0xe53ec655,
+0xf6f85e58,
+0x8006000f,
+0x8d0b3b82,
+0xba1f8bcf,
+0x5fb2e5ca,
+0x3f47d4a5,
+0x5aa5bb3e,
+0x35b2d88b,
+0x4b8b8e57,
+0x61c1f768,
+0x5664ca37,
+0xe16799f6,
+0x2c414bd6,
+0x6be20965,
+0x53b1485c,
+0xe65c4271,
+0xa75f076e,
+0xaec9a0f8,
+0x91f4b957,
+0x1c7d03f9,
+0x7c8d252b,
+0x7a0b7be8,
+0x6ec21677,
+0xf8eb0167,
+0x3ec39599,
+0xb1d7936f,
+0xe0c01456,
+0x945b4b2f,
+0x3d2f247e,
+0x62d978ae,
+0xb30411f7,
+0xa9022c8f,
+0xd4c5ce7a,
+0x0abfc661,
+0xca82b4ca,
+0x2f0fb386,
+0x6b8a482c,
+0x537d1934,
+0xa8bbead6,
+0xa9e52a13,
+0x2fa392c8,
+0x0c6aee88,
+0xda2cf9dd,
+0x9325a753,
+0xeb30e164,
+0x4c58b0bb,
+0xad08482c,
+0x7c393452,
+0x0d24500b,
+0xb7988d72,
+0x2d53adf1,
+0x2dbb834b,
+0x38e719e2,
+0x2be30c6e,
+0xc0e5bd93,
+0xf3bea0ff,
+0xb355be28,
+0x84447443,
+0xb7bf0e5c,
+0x4a31e8ec,
+0x5bc65760,
+0x9d1910c6,
+0xb9d1f849,
+0x0e77f2eb,
+0xf74acad7,
+0x4eec74a7,
+0x3a7d5f1e,
+0xee470381,
+0xc21f6ea6,
+0xe088679e,
+0xc16cbd19,
+0x03f32393,
+0x10354984,
+0x1b5a4a50,
+0x6a3d5acb,
+0x15561ebb,
+0xe413c299,
+0xed2584f8,
+0x66ae1ab0,
+0x0235282e,
+0x86f888f8,
+0xb8272009,
+0x614a12b1,
+0x0e0037f0,
+0x21c91f77,
+0x28a434db,
+0x5fa5a7b1,
+0x2ed3c802,
+0x32ed7099,
+0x7447cb50,
+0x8f48e92c,
+0xf0aa04a3,
+0xc59e495c,
+0xbab03690,
+0x0053107c,
+0x06aaf537,
+0x6e5ddb3b,
+0x8056b346,
+0xf1dc2a94,
+0x86508eed,
+0xdefbba27,
+0x37917ce1,
+0x1eb0df92,
+0x917ca686,
+0x2b82434d,
+0x174f3b4f,
+0xcb1724cf,
+0xb4288c8f,
+0x45b1ed91,
+0x07e02efb,
+0xec095822,
+0xd914e008,
+0x7a1c1522,
+0xf3c98aae,
+0xa02c4984,
+0xe7aaa3d9,
+0xab4dcac8,
+0x11d5fe95,
+0xb2eaebd3,
+0x38d989fb,
+0xc74d7133,
+0x1d2a60e6,
+0xa70495fe,
+0x4b6e3747,
+0xff8b618a,
+0x1fead83d,
+0x0549b849,
+0x405c2837,
+0xaee82cb8,
+0xd3c67217,
+0x0126f245,
+0x8255d044,
+0x53423e39,
+0xe9c8d0ed,
+0xb55214d7,
+0x8a669432,
+0x22a487e4,
+0x9bff94a2,
+0xf5330088,
+0x5b3e0403,
+0xde1b4142,
+0xacb26bcb,
+0xd7ae44ac,
+0x7aef0d38,
+0x96e28eac,
+0x4008622e,
+0x70d5775c,
+0x3013e4ef,
+0x2b0db67f,
+0x2ff97737,
+0x5476fa2c,
+0x0162e1b0,
+0x47d12899,
+0xb389152c,
+0x1c6663da,
+0x4dd08244,
+0x1a2048bf,
+0xbf5d010c,
+0x95a42e7d,
+0xc3e6f0f5,
+0x5b571539,
+0x2d1fd468,
+0xe548261b,
+0x833381ce,
+0xd9c30d51,
+0xd3a5f741,
+0xcf182f02,
+0x43936b5f,
+0x8d715b9e,
+0x2ebd90a1,
+0x54c34ad1,
+0xd1cd5be4,
+0x62fb1626,
+0x98028187,
+0x6a9ff20c,
+0x6a6eff5e,
+0x974b4431,
+0xd4fe791f,
+0xf6281792,
+0x2408f7d5,
+0xb9df6f62,
+0xf0510153,
+0xafc80965,
+0xebeb8678,
+0xb708f891,
+0x686b7bbf,
+0xc439914e,
+0x2ba3166c,
+0xe83fe6de,
+0x0c7c02cb,
+0x7492e620,
+0xea59a24c,
+0x2b7f5804,
+0x91dd7991,
+0x8dee2683,
+0x03161736,
+0xfb2165a5,
+0xc3457a5e,
+0x94dfa5ba,
+0xc9569800,
+0xc3ca019a,
+0x6b32224a,
+0x3a13397d,
+0xeaa586e4,
+0x84361907,
+0x4b24408c,
+0x5ebb299f,
+0xb7cfbdb1,
+0x38f19716,
+0xed91007b,
+0xe8074e1d,
+0xa5b68b1e,
+0x87609834,
+0x77f8efe4,
+0x60538d14,
+0xb960e96f,
+0x84241fd3,
+0x9bfa7ecd,
+0x5b31987a,
+0xd7ad0cc1,
+0x724cbe1c,
+0xc845dc6b,
+0x7c2d164a,
+0xee4ea983,
+0xf04d3fa8,
+0x68eb5aaa,
+0x49056373,
+0xb1be0b08,
+0x836a1d94,
+0x0b74d024,
+0x921ae307,
+0x0e8e0e8e,
+0x4c416b52,
+0x39b9c65f,
+0x7500ea06,
+0x5f9a93bc,
+0x920fdaae,
+0x2b97b694,
+0xf1a87956,
+0xbddd0364,
+0xf9c017be,
+0x0a2655a6,
+0x23b684ee,
+0x85bfa568,
+0x93efd1d5,
+0xc67fbca7,
+0x05471d17,
+0xde1d50a2,
+0xd195a600,
+0x25a43626,
+0x1f96f894,
+0x994624ba,
+0x26dbd453,
+0x4b028b36,
+0x1f44909c,
+0x07f68078,
+0xf5344cbc,
+0x4ae1fb11,
+0x36edb526,
+0xbac68abf,
+0x23537d57,
+0xc1b81afd,
+0x4c36cde9,
+0x6439a9e2,
+0x2ab8861c,
+0x544aa95b,
+0x461b79f6,
+0x89ed90ae,
+0x7a46dbb0,
+0x9567a4b0,
+0x6198ae9c,
+0x558772a0,
+0xcd79d5c0,
+0xf3e2143c,
+0x423cb048,
+0xb8e26417,
+0x0c1ec9ac,
+0x65e3de24,
+0x0f8146a9,
+0x6cba0d52,
+0xcfe77112,
+0x8c2f0482,
+0x7e157435,
+0xbd691353,
+0x1ea89281,
+0x4269da06,
+0xeaad8f15,
+0x67d2b8f9,
+0x296baf55,
+0x118295a6,
+0x68294c57,
+0x92ea5388,
+0xdea20b43,
+0x72fbd725,
+0x7e35f2e9,
+0x755c819e,
+0xe0febb91,
+0xfb86ab6c,
+0x07017edf,
+0xb2bb78f7,
+0x74ffc742,
+0x1bed0ea5,
+0x72100123,
+0xfc00f73f,
+0x347689bd,
+0x8839279f,
+0xb7c8827a,
+0x0a5b332e,
+0x4ea494d6,
+0x0dc1f4d9,
+0xbf2698b6,
+0x476c58a1,
+0xa7eb4a94,
+0x571d8e95,
+0xae026bb5,
+0x7ebb053b,
+0x68052224,
+0x26645f0b,
+0x7a040760,
+0x262c5708,
+0x0c1af393,
+0xdc901ecf,
+0xd70048b2,
+0xd08c3960,
+0xa08be73b,
+0xabcda648,
+0x38149ce9,
+0x4ceb22d6,
+0xa0b24a3e,
+0xd6f3cb59,
+0xcdd9a506,
+0x778dbee9,
+0xa19d8154,
+0x4ced8861,
+0xaeab36e4,
+0xdc2bbe0e,
+0x4345db5f,
+0x50011dea,
+0x56a6d84c,
+0xfffb04f2,
+0x5c30ed1f,
+0xa3ef40e0,
+0x886d4132,
+0x73a35014,
+0xc90cb49c,
+0xfcb08e80,
+0x0a13b845,
+0xcf1a8d50,
+0xdb2e9889,
+0x79a15d9d,
+0x77dea82a,
+0xb9544053,
+0x6421b2cb,
+0xabd296df,
+0x833387af,
+0xe1e59be3,
+0xca828d70,
+0x06f1bd00,
+0x3f9fe24f,
+0xe2fd7f9f,
+0x29e9327f,
+0xc2e6bfbe,
+0xe2548177,
+0x6954f210,
+0xff29cc39,
+0xae9c0306,
+0xd9cb20a0,
+0xb6974bf6,
+0xe6ffdfda,
+0xd7ff4914,
+0xd9f98888,
+0x76430f3d,
+0xd1c94ae5,
+0xc1469ac5,
+0x982601d0,
+0x153dca92,
+0xe48fc164,
+0x99f65dac,
+0xd253c02b,
+0x71f14047,
+0x2c410b1d,
+0xa64c5b8b,
+0xcec51c43,
+0xa55e584b,
+0x1ff53c3a,
+0xd90da98a,
+0xa8657b14,
+0xcdc1a2e6,
+0xb4de3b8c,
+0xd9b65e30,
+0x6f423f4e,
+0x6ed6089d,
+0xfaa73706,
+0x9257cff3,
+0xe0686741,
+0xa62d50ab,
+0xe7a9cf26,
+0x31a2b2db,
+0x54576525,
+0xde400466,
+0xaa52e0a8,
+0x259a34de,
+0x6d551674,
+0x4ae5df6f,
+0x8f3ad793,
+0x731317d1,
+0xb9f2cebc,
+0x06565eb7,
+0x64880fbe,
+0x62eebc7b,
+0x607424f7,
+0x6f292d53,
+0x2079fd8a,
+0x85f422e8,
+0xbadb116e,
+0x5bdedc63,
+0xd03ab303,
+0x4f445339,
+0xa52d1f66,
+0x34e006be,
+0x328c59b6,
+0xdeecab8e,
+0x96893b94,
+0xb706f249,
+0x9e1263fa,
+0xddd1c8f9,
+0x23c6877d,
+0xfe93a6eb,
+0xc668b1e2,
+0x4f38e33b,
+0xc574b10d,
+0x405b46e0,
+0x1314fa5f,
+0x2b6eb4d9,
+0x08c86d95,
+0xdd79f38d,
+0x9201eed4,
+0xd97d4a59,
+0x13ba2d8d,
+0xd8c95bb5,
+0xe075bbe4,
+0xc5bf2749,
+0x8028b84a,
+0x84f4e1e9,
+0xda348de8,
+0x8cc454ad,
+0x56dfb5b7,
+0xa1241e07,
+0xdbf0ecc4,
+0xc3ef1137,
+0xba329884,
+0xe3b58035,
+0x983c9f28,
+0x5a828876,
+0xcc2ce72a,
+0x227728ef,
+0x652b07ce,
+0x44c0aa2c,
+0x085496fc,
+0x7c1fb161,
+0xe7ca7de8,
+0x3565e4d7,
+0x5a4c52e1,
+0x311a4eb6,
+0x84c0d2dd,
+0xb83b7e5d,
+0x2a5d582a,
+0x039b4050,
+0x770e2bab,
+0xdbf47fca,
+0x1765665c,
+0xa8c8a487,
+0xffc14aa3,
+0x03ca326d,
+0x89f7ea8b,
+0x637bdd4d,
+0xe3268054,
+0xf32b972e,
+0xc1454043,
+0xd26adc2f,
+0xfbd6b1f4,
+0x2a72d682,
+0xd20cbca2,
+0x1ff23298,
+0x5be454a5,
+0x3945851f,
+0x6fe5584a,
+0xb6cc2da4,
+0xcbf8c903,
+0x138e3be5,
+0xc0e81512,
+0x0a2a3bf2,
+0xda3ec1ca,
+0xdbb476f7,
+0xdb66251f,
+0x1704fdb1,
+0x11d49d06,
+0xa4eb891a,
+0xc65ceeb0,
+0xbcc990ac,
+0xd569068a,
+0xe82bab37,
+0x3f30b02b,
+0x0238e33e,
+0x0ef93863,
+0x5383e306,
+0x0504640c,
+0xb9e25ae9,
+0xa6d24e07,
+0x86d92f87,
+0xed880998,
+0x3bc13d33,
+0xd9f9307c,
+0x569f9567,
+0x4ba13d17,
+0xe32a335a,
+0x01712b5c,
+0xae65fda7,
+0xeb53ea73,
+0x62815f27,
+0xc2bb03cb,
+0x8a0d2f41,
+0x22a5058c,
+0xe4f9ad2f,
+0x96003b9a,
+0xe5c68b65,
+0xdd499ddc,
+0x0566ce4e,
+0x091390d0,
+0x1124256e,
+0xa4d5952d,
+0xcf2f0f27,
+0x89de3156,
+0x814c2a67,
+0x4f4b433f,
+0xd92dc3f6,
+0xc927a01f,
+0x51b72d5d,
+0xcc9bea8a,
+0x42b162da,
+0x6812a43c,
+0xeebddb34,
+0x315c9028,
+0x8796b351,
+0x29e21f09,
+0x4e0b045c,
+0x7f560d51,
+0x4bd2c2e9,
+0xeda0a315,
+0x786a2a0f,
+0xe7f2aa33,
+0x420defc9,
+0x8ef6482a,
+0x2afcfef6,
+0x3473ea2e,
+0xbefb3af9,
+0x3a8e4937,
+0xfe7ad794,
+0x1606cb1b,
+0x466fb249,
+0x1dd0aa0f,
+0x475ef743,
+0xc1e274d8,
+0xa8e330c8,
+0x44318512,
+0x01961401,
+0x3c62fadf,
+0xccc805bf,
+0x2e985360,
+0xe3e773a2,
+0xf3b151d1,
+0xd4d5cdcc,
+0x71be7481,
+0x5f9d9d51,
+0x704dfe3e,
+0xe035b1c6,
+0x612d4267,
+0x3bf772a7,
+0x68ebb936,
+0x255b90ac,
+0x7c8c943b,
+0xb4e0199b,
+0xe5a7b3ce,
+0xf0d4b79e,
+0xced08778,
+0x14ef4edb,
+0xed1a4f8f,
+0xf540217d,
+0x27e08243,
+0x84828c05,
+0xef0a6af4,
+0x4d3a1066,
+0x8fa660cb,
+0xc45bb667,
+0x3494c4f7,
+0x3d502c9e,
+0x43869933,
+0xf9da4ac0,
+0x536eff15,
+0xec5d8786,
+0xc03c9e98,
+0xd9e31ec1,
+0xa3da71e1,
+0xd5f7451b,
+0xe9b3d4f9,
+0x4533947d,
+0xfeff817e,
+0x78d79097,
+0xaade6b53,
+0xfe72f314,
+0xe3e23f03,
+0xbb6eb40f,
+0xf91f10c8,
+0x7472a5f7,
+0x27315105,
+0x2dbb7dc6,
+0xf082d246,
+0x97b151f9,
+0x647d7d99,
+0x907a45cb,
+0x6707b657,
+0x403ed799,
+0xa4007ac0,
+0x075fc595,
+0x825c621b,
+0x23db6a64,
+0xe1d1d2a4,
+0x26de6fbc,
+0x0aee232d,
+0x2c378a09,
+0xab7d0efb,
+0x1d957e1b,
+0xb2e407d8,
+0xdc5746cf,
+0xa4f70901,
+0xdc2c0314,
+0xe0e2d6f4,
+0x5aefb30a,
+0x7a5dfb96,
+0x74b14b26,
+0xa3c77f2e,
+0x8b68b3f0,
+0x6e978d52,
+0xd9345143,
+0x150c3085,
+0x532d0412,
+0x9ef98e24,
+0xb4b595d8,
+0x54c6d5ee,
+0x44457b00,
+0x98fe0dcf,
+0xd436c033,
+0xdb9f1d21,
+0x330abf87,
+0x4a3d5fa1,
+0x07eae590,
+0x09a17d9a,
+0xfb1c9390,
+0xb89679e7,
+0xda3ab713,
+0xf0db56ce,
+0x2594ba9a,
+0x4abc817c,
+0xf29d16e1,
+0xeb147943,
+0x4074709a,
+0x4376a0db,
+0x3b2973c2,
+0x82a61489,
+0x222ccb07,
+0x547426f3,
+0xa6076340,
+0x088be425,
+0xb5d528e4,
+0xda5ed6d5,
+0x1f324a48,
+0xb53fa149,
+0x940399fc,
+0x87d838ce,
+0x8a0a08e6,
+0xd60a5688,
+0x39b93a7e,
+0xaa6fa6f0,
+0xc80810f2,
+0xf3a95c95,
+0xc6cc01fc,
+0xc7d23e3f,
+0x0a241ce3,
+0x35b8d0f8,
+0x4397a3bc,
+0x55a0dde2,
+0x58ec174c,
+0x4a098ec4,
+0x58f7e449,
+0xd359a77d,
+0xec8f6604,
+0xf3cc0965,
+0xe45ddbef,
+0x6b1f1b7e,
+0x95dfabac,
+0x7367f247,
+0xf440f919,
+0x3f62adf7,
+0x979106c1,
+0x8961ceea,
+0x74336cd9,
+0x75337ede,
+0x49f9b8f0,
+0x6135076c,
+0xaf0bd9b9,
+0x51798ec9,
+0x222d78b9,
+0x2eb9eddc,
+0x922eabd8,
+0x8155b261,
+0x08cd7a2c,
+0x3d4815b3,
+0xc584c19a,
+0x5f8bea5d,
+0x9264ea5a,
+0x516a189e,
+0x39e5f276,
+0x4b80c5b2,
+0x883a194a,
+0xb4a8f4d6,
+0x01701e1d,
+0xb593b7d5,
+0x4e3268ab,
+0x91580321,
+0x24107cfe,
+0x67891423,
+0xd1c8b9b9,
+0x4e334985,
+0xe38ae2bc,
+0x7724fb48,
+0x714490cc,
+0x9817446a,
+0x2de6c8bc,
+0xbdb7509c,
+0x446a6de6,
+0x2aba6ab1,
+0x99b047ea,
+0x2a7ec50b,
+0xbecbbb7e,
+0xbd15f548,
+0xd4f6121f,
+0x54de5b45,
+0x7e162395,
+0x6b50ba4b,
+0x08d576e4,
+0xf89a5d53,
+0x4b586262,
+0x07c0b432,
+0xa55252cd,
+0xfe1b75d2,
+0x2a8ae754,
+0x0b4c0dfe,
+0x0e786b02,
+0x36760261,
+0xd10a3d36,
+0xa7041bfe,
+0xcf54656d,
+0x1bcc59e5,
+0xf2da75b7,
+0xd7c35b86,
+0x78e41366,
+0x9d2f1f0b,
+0x6c94633a,
+0x6ee32bd0,
+0x5dadc864,
+0xd336df40,
+0xca628ff9,
+0x212e7f68,
+0xb6228a7c,
+0xaa160b24,
+0xe11fea6f,
+0x5a89c976,
+0x95e86fa3,
+0x8a16b70c,
+0x2627185c,
+0x3e3d0580,
+0xeb4dcbc9,
+0xaff30332,
+0x0abefd24,
+0x5926c0e6,
+0x67753293,
+0x50d74e04,
+0x27094d38,
+0x15fa1cc7,
+0x5567929f,
+0xa2783526,
+0xec4118dd,
+0x34b79259,
+0xa5c358e3,
+0x9b8dbf08,
+0x63c86722,
+0x4ebcf46b,
+0x09a465eb,
+0x36a65bf9,
+0x0270c33c,
+0xe7ada503,
+0x689739f1,
+0xd5d36d95,
+0x4fc5132e,
+0x755cbd1d,
+0x246964d9,
+0x89d1aa75,
+0xb918b69d,
+0xcc98d388,
+0xdf572581,
+0x3247a121,
+0xe2b61405,
+0x1766a199,
+0x281bbd79,
+0xce94fa86,
+0x1221769e,
+0x40d59942,
+0xe4520501,
+0x15c1334c,
+0x07ae8289,
+0x9e42e1ca,
+0xbdc5cc52,
+0x7ece61c3,
+0xacd38794,
+0xb675cc6e,
+0x380bb7da,
+0x8a6cb8b4,
+0xb48f5d19,
+0xa060ce8d,
+0xc57047b7,
+0x91b6dba5,
+0x8178f761,
+0x9257308c,
+0xe33f8d96,
+0x8754e395,
+0x0eef7f97,
+0xb94209c4,
+0xbfdd24fa,
+0x3b6f425e,
+0x8ff82870,
+0xc203495b,
+0x6ff42fc4,
+0xbac0822e,
+0xc833f23e,
+0xb9651404,
+0xfd9e11e2,
+0xffd65561,
+0x98c17f74,
+0x5440a5ba,
+0xcd2554be,
+0xd1ea0217,
+0x1a747e56,
+0xe3695c78,
+0xfabd89b9,
+0x3b043c34,
+0x366b7485,
+0x2def272b,
+0xc9d71823,
+0xc9685da3,
+0xbad7b1fe,
+0x56571823,
+0x3b091434,
+0xf414458e,
+0x1df0a007,
+0x3fbe5554,
+0x4ad4954e,
+0xa0258abb,
+0x0ec655f2,
+0x8b7f7087,
+0x843de537,
+0xb0f0bd34,
+0x831ef530,
+0x5b198fac,
+0x15463c41,
+0xc9851741,
+0x296244e1,
+0x38dd36fa,
+0xa8258224,
+0x7941fb25,
+0x9d253356,
+0x61b70b90,
+0xfe0bb739,
+0x39c084c7,
+0x87a5211a,
+0xb7363b5a,
+0xb3655d61,
+0x71b16c80,
+0x69d30aff,
+0x03352fbb,
+0x9ca0bc45,
+0x975d52e3,
+0x9006c102,
+0x1b52d0dc,
+0xdf978397,
+0x5f021238,
+0xc251c7ce,
+0xa3e5b82a,
+0x55c55696,
+0x1083fe7c,
+0x72d17ba4,
+0x13d66447,
+0xf5493e8d,
+0xbd83977f,
+0xdabeb9b4,
+0x78d680e8,
+0xde52043d,
+0x67f9412f,
+0x527def8e,
+0xf0953c74,
+0x3403861d,
+0x6c23bc9d,
+0xb1480d4d,
+0x46086e4a,
+0xc4067486,
+0x6a614ce3,
+0xa0a1100e,
+0x94911b55,
+0xec616e37,
+0x5192a971,
+0x1c251d22,
+0x68b7e124,
+0x26838833,
+0xe3533127,
+0x75238310,
+0x8a8f7e19,
+0xbfbb2943,
+0xf44f79f7,
+0x061ee820,
+0xd9055a4e,
+0x70bacd51,
+0xfb471cef,
+0x4cc9c3b2,
+0x9a094aeb,
+0x2713732f,
+0xbc91f67e,
+0xd3f3b671,
+0x2ec3b552,
+0x82a3d884,
+0xd04c90d8,
+0x37c52dae,
+0xb5c82f7c,
+0xb94fd758,
+0x2af213b9,
+0x7fefb388,
+0xf9de59de,
+0xa1b688f7,
+0x8711eee2,
+0xbf16bc83,
+0x1cf03c16,
+0x0f472c8d,
+0xb6c366f5,
+0x880c438e,
+0xdd4b97d7,
+0xe6a9f7e4,
+0xb572add0,
+0x4ed21ba1,
+0xfafab2b6,
+0x72bbd75d,
+0x4d17cf49,
+0xca7becd7,
+0x85851de2,
+0xd47566ce,
+0xa280dfd4,
+0xaf2c6ffe,
+0xb1db47ff,
+0xd59fbcc5,
+0x4252c51c,
+0xcf5b122f,
+0xa65db112,
+0xe2f40d53,
+0x43a92110,
+0xabbd158e,
+0xabab264b,
+0x7cf33e9d,
+0xbba09fbd,
+0xdc87d7da,
+0x42012ab5,
+0x97a11bac,
+0x891dc8dd,
+0xda3634c0,
+0x71db4b4f,
+0x979e85d3,
+0xe60ad54a,
+0x2296365f,
+0x9298f5ab,
+0x7c66cb79,
+0x37a8f1da,
+0xea210995,
+0xaba6d18f,
+0x65c3c9ef,
+0xa73a40ba,
+0x23ae59af,
+0x15f7545e,
+0x78fe8adb,
+0xbe1e56de,
+0x907863b1,
+0x3f0ea7cd,
+0xbb9d0daf,
+0xef2935bf,
+0xfed94481,
+0x173f8eec,
+0x0662f9fc,
+0x4692ec23,
+0x7ab24bbc,
+0x5113f3d9,
+0xcdc32646,
+0x843b315f,
+0x3759e1c5,
+0x8bff9a4c,
+0xe8d78cc9,
+0xfa57c2c5,
+0x0a7a8dc1,
+0x81d87391,
+0x165c5abb,
+0x1b298dba,
+0x44de5b28,
+0xbfff70e8,
+0x3b685fe9,
+0x6ddfc280,
+0xa5c74b1e,
+0xf5081efa,
+0x8960b9c3,
+0xf3b4ce49,
+0x03ca3a62,
+0xb7de3c97,
+0x4c3d1d6b,
+0xaa87525d,
+0x861f9bf6,
+0x1ce9cbab,
+0xbe27ae45,
+0x346018cc,
+0x980c2834,
+0x9ac9acca,
+0x0222deca,
+0x2412fd82,
+0x16657cb6,
+0xb36ad971,
+0xf7b8a494,
+0x2b7005d3,
+0x59f62696,
+0x16532f19,
+0x174e5976,
+0x9a7a633a,
+0x2a52693d,
+0x15cacb71,
+0xb28ef775,
+0xd04e90ae,
+0x86be03fc,
+0xa34496ec,
+0x0e65e3be,
+0xbb70ba96,
+0xbe217b91,
+0x25a1ee9b,
+0x880ccc85,
+0x1cd1496f,
+0xa9c57246,
+0x198f72e7,
+0xb19c3820,
+0x645eeead,
+0xd5a9257a,
+0xbdc97ec9,
+0x1dafafa1,
+0xd37ec01a,
+0xeaa4fbca,
+0xf1b2c452,
+0xcfe27a8f,
+0x8b48553f,
+0x6f8367d9,
+0x2529c660,
+0xcbc2f7ac,
+0xca2b960c,
+0x1c021500,
+0x8e219e7d,
+0xb437b387,
+0x1608f9f7,
+0x53d20ea3,
+0xcbc59a19,
+0x85da7985,
+0x549365f8,
+0xed8aaf6b,
+0xf39759e5,
+0x612b21ec,
+0x69091d2a,
+0x5267b623,
+0x180858f0,
+0x1f6988c6,
+0x129b3cda,
+0xfcee8ada,
+0x16fe5744,
+0xfaaf648c,
+0x97c8a48c,
+0x1cc3a3b9,
+0xd1f72d1c,
+0x8e4386c5,
+0x7c3dbf00,
+0x69503b8e,
+0xf9c93fc2,
+0x65cfc1bc,
+0xd427f008,
+0x788cd093,
+0xa0fc6a0f,
+0xf48115fc,
+0x506b4f2d,
+0x6f2d09ec,
+0x17c75af9,
+0xbf691213,
+0x06fa6036,
+0x249cbf82,
+0xc02842f5,
+0x9f6c22f0,
+0x0dad4aff,
+0x5b09371b,
+0xe3d80a70,
+0x893257b5,
+0xe11a4f34,
+0xc5d65e96,
+0x2ca5c1f7,
+0xc556f60e,
+0xa31f2d5e,
+0xe99cc148,
+0x11abc79a,
+0xfd2e0f11,
+0xffb952a7,
+0x4befb796,
+0xd0144515,
+0xaf2f69fd,
+0x5615a95b,
+0xca65c91e,
+0x6a04f201,
+0xe0679d08,
+0xea3636fe,
+0xef3f0671,
+0xf7890c37,
+0x76568064,
+0xac4ac695,
+0x9ff99567,
+0x12ecb6c9,
+0xdc248e58,
+0xc3ea6169,
+0xdbac3275,
+0xb9ff788e,
+0xbd1c44dc,
+0x232b4898,
+0x61053b96,
+0x5fb1f465,
+0x1df9f4c1,
+0x0a1e8c20,
+0x9fd41d69,
+0x55e55c09,
+0x858b7f4f,
+0x701ec2e2,
+0xc9339157,
+0x6bfe61a6,
+0xbd738859,
+0x91d7fd1a,
+0x316bb5fe,
+0x3ad10e15,
+0x82084f6a,
+0xce6a0e8e,
+0x8f383161,
+0x2398dd85,
+0x922b83ec,
+0x8683ab46,
+0x2d735b53,
+0x999ad90a,
+0xb5f5b157,
+0x04ec9673,
+0x256f062f,
+0x780154fa,
+0x3283c725,
+0xd3ca0f67,
+0x877bb06f,
+0x91f0cd8d,
+0x848537d2,
+0x4c47b674,
+0x94ba661a,
+0x9f664720,
+0xbc7905ac,
+0xf520e3d0,
+0x6f633a80,
+0x04bf8701,
+0x37859ef6,
+0x02e761fc,
+0x4416cbc8,
+0xa12f0497,
+0x2eb32c6c,
+0xb6742bff,
+0x41daed29,
+0x9ff2fd31,
+0x993e9165,
+0xfa091118,
+0xfbca78bc,
+0x0de4636c,
+0x001b20b4,
+0xbafa2247,
+0xfca8d36d,
+0x7650cb17,
+0x8e2653df,
+0xb07d33f1,
+0x2a5a0d42,
+0xc9612917,
+0x911ae204,
+0xda0efa90,
+0xd24198af,
+0xbcfb8f4d,
+0xa326be31,
+0x9b744850,
+0xe54bd6b2,
+0x96af8008,
+0xe707e7a9,
+0x9c921290,
+0x6630c2d5,
+0xe6df07cc,
+0xd610c39f,
+0x52daaeb6,
+0xd5d8757b,
+0xb63886b9,
+0xf34a287f,
+0x76413688,
+0x039ed9ca,
+0xe0a7612c,
+0x39011db9,
+0x828e2f95,
+0xc6fe6a25,
+0x88cf8808,
+0xc14d162e,
+0x4f7abb79,
+0xf29bbdd5,
+0xe3c6e72b,
+0x635d52f4,
+0x75286350,
+0x7ec5ed0a,
+0x04ec90ba,
+0x7d6bfc1c,
+0x7744b7b1,
+0x6e199de4,
+0x1e2413fc,
+0xf65336ac,
+0x7eb6ce99,
+0xaf9d73f2,
+0x60812e10,
+0x6b084609,
+0x1778b2b1,
+0xf7fb1985,
+0x0cb86b46,
+0x0c160032,
+0x13f04405,
+0xbc3c53bf,
+0x076b69f1,
+0xe9e54ad8,
+0x3d7e3145,
+0x100c6730,
+0x0b4fd435,
+0x95a1c479,
+0x6b36a8ba,
+0x67ea160f,
+0x0c272718,
+0x7d55c16b,
+0xc5340bf2,
+0x19b6b816,
+0xa62da41a,
+0x0a7b04a8,
+0x3488eda4,
+0x3cc481e0,
+0x12b67d3d,
+0xdc3b169e,
+0x9759f0bc,
+0xe8d15f9f,
+0x00bc781f,
+0x71565a3a,
+0xa1e3ab00,
+0x8d264b1a,
+0x68fcdf8f,
+0x6b690fb1,
+0x26033e34,
+0x898e9179,
+0xfc2385c4,
+0x1c6b3d3d,
+0xc37d40eb,
+0x7a41a4a2,
+0xe8ff7ee2,
+0xf33cb97f,
+0x1edf85a7,
+0x1de2201b,
+0xe8110045,
+0xdac632c0,
+0x32894976,
+0xc02c339f,
+0xaa7675a1,
+0x3df758bc,
+0xce0ce4be,
+0x229c1825,
+0xdcc40e84,
+0x7d5c0a52,
+0x02156494,
+0x33f27694,
+0x1412c833,
+0xe3685e22,
+0xa08ebf16,
+0x83821bb9,
+0x34d3acd3,
+0xb7118bf0,
+0x995b26f2,
+0x86a77b33,
+0xaa0f0afa,
+0x4635a5b5,
+0x6cfea4cd,
+0xd013c2ed,
+0x01c1edd3,
+0xea9eedeb,
+0x359900b1,
+0xfeb6d25b,
+0x9bee78aa,
+0xb9045d27,
+0x282fdc81,
+0x3cd6c4b6,
+0xb2e8024a,
+0xf4775898,
+0x61e3636e,
+0xbd5bf13c,
+0xe8486990,
+0x009195a1,
+0x8433f8a7,
+0xa665564a,
+0x103106cd,
+0x92ababdb,
+0x3aa6c0b9,
+0x6e261cd4,
+0xec5b933d,
+0xc725edcc,
+0x583ff6ac,
+0x0364c771,
+0x7a4a9589,
+0xd9cfdac7,
+0xcafc7abf,
+0x2cd748ff,
+0xe1c71cac,
+0x9c021fd7,
+0xaa4b02ca,
+0x301b91cd,
+0x37e93177,
+0x00d5ca03,
+0x1df683fc,
+0x3be4cfda,
+0xa3117fdd,
+0x5ebbe98e,
+0x70d0480a,
+0x0dfa2fbc,
+0xc3e1dccb,
+0xc1ccfc46,
+0x95045ab5,
+0xe211be05,
+0xed4353e5,
+0x786ca568,
+0xeeddbd58,
+0xa26263db,
+0xc8c8155b,
+0x656b19a8,
+0xa8a8420f,
+0xd09e3b06,
+0xa9dad222,
+0x2232fec1,
+0xad662810,
+0x25ca14ac,
+0x402bde58,
+0x0f671cec,
+0x997a64a3,
+0x98b54ad6,
+0x71626258,
+0x2f753783,
+0xa67a4991,
+0x9a141e4b,
+0xef4b1780,
+0xa81cd447,
+0x445ddf59,
+0x209255a3,
+0x3af96ec2,
+0xd2c16ba0,
+0x9af2827b,
+0x859e49a5,
+0x02580eb8,
+0xb63b1df5,
+0x3ece6c8b,
+0x74792d75,
+0x80d20ce7,
+0x967a58e5,
+0x320a5341,
+0xee3723ef,
+0xddbbf68e,
+0xcb83af33,
+0x245bd154,
+0x4ad3964a,
+0x6c956af2,
+0x73dfb659,
+0x2395ee4a,
+0xc0106a83,
+0x2c8f617d,
+0xce836d64,
+0xc8756401,
+0x7098e87f,
+0x61450c63,
+0xee920755,
+0x2cb0d680,
+0xb94b1371,
+0x2f911822,
+0xf65fddc1,
+0xea65b1a9,
+0x96265c22,
+0x8b14f6fb,
+0x48348e93,
+0xb0f872c4,
+0x9a88186f,
+0x4d09c9ad,
+0xb92cae29,
+0x84e0dc6d,
+0x48309b25,
+0x18fa063c,
+0xdd52c908,
+0x8bec448d,
+0xa858e17e,
+0x7d879501,
+0xfa63ffd3,
+0x7a55f6f2,
+0x2f8e0218,
+0x5f25f386,
+0x4f9c5417,
+0x4c62de5a,
+0xef3c41a5,
+0xaae0fd83,
+0x5be2ce8a,
+0xfb040444,
+0x152d48de,
+0x118ce650,
+0x2b09bd5c,
+0x9213aa0d,
+0xc6aae467,
+0x2deddee5,
+0x3c98a19e,
+0xec49087a,
+0x5578121d,
+0xec07759d,
+0x86f36299,
+0xd17becfd,
+0xb870b171,
+0x054f3061,
+0x6e52d0e5,
+0x6ecd8e8a,
+0x76075c23,
+0xa73880a5,
+0x8db2c382,
+0xa2d56078,
+0x2768fba2,
+0xd8cf87bf,
+0x1371e7ad,
+0xa1bdbeb0,
+0xf1fd7e96,
+0x237abe48,
+0x29a250b8,
+0x0e681d86,
+0x7d61e108,
+0xa675920b,
+0x0b05d6c4,
+0x0491cf8b,
+0x967baff6,
+0xab979966,
+0x8b15fc35,
+0xc7a86279,
+0xf610c198,
+0x9df20a37,
+0x5e2ff039,
+0x8698a9e4,
+0x68416cf5,
+0xa0b9d459,
+0x9e204c0f,
+0x5359c7ad,
+0xa30f3424,
+0xfc64257d,
+0xdc6348d2,
+0xb784e9cd,
+0x89eb6bae,
+0x0b55c71b,
+0x5f042ba9,
+0x69f12a43,
+0x3a35c49b,
+0xf3c32ff3,
+0x6413f021,
+0x1066eb0d,
+0x07ed8778,
+0xcf18d479,
+0xfb692a49,
+0x25b9bb3b,
+0x3bfd7630,
+0x712565ca,
+0x45b49dc5,
+0x99c3594e,
+0xb5d24b65,
+0xd4882257,
+0xec55548a,
+0xfd8fb234,
+0xd06dddbc,
+0x9ebf297c,
+0xaaea19e3,
+0x40b5c8fb,
+0x9f60094b,
+0x73d66e65,
+0xe727d0c5,
+0x940c7337,
+0x18871a3f,
+0x53cc8d85,
+0x72c6d4a7,
+0x245a8f0c,
+0xe6fd8cca,
+0xb08d9532,
+0xd62fea4f,
+0xab29f803,
+0x72cf412e,
+0x57fba228,
+0xf4ec870f,
+0x63713d1d,
+0xc6608bdd,
+0x422f5017,
+0xf4aa8d86,
+0x61414bd3,
+0xae19d4cd,
+0x76ed35e5,
+0x400a86c6,
+0xf408e217,
+0x4266c6d2,
+0x4709e980,
+0xe8a620a0,
+0xf6e66f05,
+0x352a85de,
+0x7864b4d8,
+0xf4c0af6d,
+0x5e909342,
+0xb33b8615,
+0x6e8bdd1a,
+0x958b6d26,
+0xf173d300,
+0x036c4a33,
+0x21586892,
+0x718ff4c5,
+0x02fb20a1,
+0x587f7a12,
+0x81ecb157,
+0x9ff0d7c3,
+0x3c336641,
+0x0ffc57b9,
+0x44b3c720,
+0x76ebe19a,
+0x57fa586e,
+0x3b764081,
+0xeb84edd0,
+0x7d1bb097,
+0x09d47a29,
+0x855c438b,
+0x557a47e7,
+0x5d447278,
+0x1fb371c5,
+0x2b32db81,
+0x618884b6,
+0x92c2f0e7,
+0xf39a894b,
+0xdd473e95,
+0x098f5e0b,
+0x9dee61cb,
+0x97da771e,
+0x6e3c3b2d,
+0xb53293b3,
+0x7e7c89ac,
+0xa367fe92,
+0x3adbb8cd,
+0xcf49ec8a,
+0x390fb86b,
+0x0e77e625,
+0x2b6574e5,
+0xb05da25c,
+0xb73aeb92,
+0x8572586c,
+0x0b0700d1,
+0x35eb21a6,
+0x12900dac,
+0xe4c86827,
+0x63246887,
+0x375cd49d,
+0xf8c54913,
+0x1ae3da71,
+0xd8a6e660,
+0x83ece2ff,
+0x9fc21db5,
+0x75d84604,
+0xab701621,
+0xa9dea569,
+0x81038de1,
+0x28844d2a,
+0x1623fa00,
+0x62d05e6b,
+0xbf869000,
+0x333858c1,
+0x7f6d5807,
+0xde81037f,
+0x3696ced6,
+0x180f6ec0,
+0x047138fe,
+0x5f9416a4,
+0x314e5d45,
+0x3582bb96,
+0xed486a1c,
+0x8041f32f,
+0xe7cc731d,
+0xf28ba6b6,
+0x58cc254a,
+0xb397308b,
+0x6b8c74f3,
+0x0893b626,
+0x640ff006,
+0x475309ee,
+0xced2729f,
+0x8fbea56f,
+0xfbe942ea,
+0xadb3d76d,
+0x515d4fd2,
+0x3c983ac1,
+0x8db8bc9d,
+0xd77a8d14,
+0x13d2e624,
+0xf51efaac,
+0x162443ec,
+0xda15ec69,
+0xf55dfb21,
+0x84fc0119,
+0xa494d4e3,
+0x14841fe2,
+0x92a58be1,
+0x75fc9d1f,
+0x39119034,
+0xa13271d7,
+0xa1569a78,
+0xee26aa3f,
+0xe61f87b5,
+0x44248b93,
+0x425d3e44,
+0xa75c0304,
+0x4985cb56,
+0x3ef45667,
+0x1d57f031,
+0x7ccf20bd,
+0x8f3e5c61,
+0x69f65902,
+0x77cf646b,
+0xb2e82afb,
+0x65434cb1,
+0x75ec91c0,
+0xb825eb3a,
+0x8bcd38a9,
+0x4aa0213c,
+0x047138e8,
+0x8f9514ce,
+0x6eb5c080,
+0x73d8c9c6,
+0xd8b625bf,
+0xaeaa0819,
+0x29e22246,
+0xe0ee4f70,
+0xf2cb8c97,
+0x2179d735,
+0x26f27532,
+0x2b96dbb1,
+0xd39692f7,
+0x96cb57ed,
+0x613b23d4,
+0xf0a1ecad,
+0x296a9c14,
+0xc38f0e38,
+0xb0a1b1bc,
+0xde59757b,
+0xef5fd466,
+0x4283a5c1,
+0xce6938a4,
+0xd6674885,
+0xc0ee3251,
+0xd5bb62b1,
+0xe364a9ca,
+0x1a3aae30,
+0x200cebe4,
+0x6e06684e,
+0x2df73cd8,
+0x5f55c574,
+0x769cd05e,
+0xe2019515,
+0x7bdf49e5,
+0xda477c4a,
+0x488448b4,
+0x0e6c6097,
+0x3a12e71d,
+0x004d074a,
+0x9549aedb,
+0x93e1ae8f,
+0xc910c675,
+0x6b0faf08,
+0xb2d5fb22,
+0xb47f7e70,
+0x2da37589,
+0xad73eea9,
+0x47572d01,
+0xbfaeb93b,
+0x41abf3f5,
+0x86d7e14d,
+0x3225c648,
+0xe609224e,
+0x67e1fb62,
+0xc4b28dd2,
+0xb151e5e5,
+0x25ab0256,
+0x0acd9f83,
+0x5b104d14,
+0xf2444dbf,
+0xd223ca25,
+0x6005776a,
+0x74ca71be,
+0xf4034438,
+0x66a001d6,
+0x73f10455,
+0xb49ce0b0,
+0x1158d228,
+0xa394fbd2,
+0xd41a6479,
+0x4f4476e9,
+0xb37c8b61,
+0xb594cd7a,
+0x74268b00,
+0xd7f40b94,
+0xcfaaea61,
+0x5c0a915c,
+0x16c9b79d,
+0x3f28ef04,
+0x5f2140f3,
+0xa013c1e5,
+0xf3c22f90,
+0x151a2703,
+0xcaaa00fc,
+0xa0476f83,
+0x53849956,
+0x0d716ac6,
+0xeddb234b,
+0x5ee6dff5,
+0x870eef9c,
+0x51ca2c92,
+0xc9805e9b,
+0xec95fb0b,
+0xeddb4ccb,
+0x2484fa8b,
+0x4fafd8fb,
+0x4eef9c86,
+0xa8fbe65f,
+0x6fb730fb,
+0xe29e6897,
+0xd888901e,
+0x03d40177,
+0x6bfb9084,
+0x3caf8cb9,
+0x9312185b,
+0xfd25aacb,
+0xc249bfec,
+0x26e1f842,
+0x6741f185,
+0x51ef063a,
+0x2f55abf7,
+0x79d72201,
+0x66361f94,
+0x9f350956,
+0x07ca599b,
+0xffbaacfd,
+0x6c1e4f5d,
+0xae06e05b,
+0x8760cf39,
+0x15ac39bd,
+0xc686c43a,
+0xa7954727,
+0xdf2bc4da,
+0xacda08fd,
+0x7699c77c,
+0xeda72a42,
+0x7d71975f,
+0xe673f2dd,
+0xeba4eb6b,
+0x1271a2dc,
+0x5bb5d1c7,
+0x40b545cc,
+0x0e5006e7,
+0x53bad440,
+0x7d677cc6,
+0x003a3ab8,
+0x532dd2e1,
+0x41df09ce,
+0x59b6701f,
+0xbf549219,
+0x598d379f,
+0x8cdeaa7a,
+0xcde4dd63,
+0xbd5b76ce,
+0xc64b4470,
+0xe5f6ce28,
+0xd5a262ce,
+0x54094810,
+0x80ec5e34,
+0x8699e48f,
+0xf3c431e3,
+0x303432d2,
+0xcbae7b04,
+0x0fe48fd4,
+0x039ee458,
+0xb87ad7ba,
+0x7f332c73,
+0xeb4680f2,
+0xbcddb83f,
+0x6f09cff7,
+0xe15bae27,
+0x0029d8bb,
+0x92d180bb,
+0xc74b7a18,
+0x8ace4c00,
+0x68364160,
+0xe76daea8,
+0x05323bfa,
+0x241453bd,
+0x81140461,
+0x7a4040d3,
+0xcb9fe34b,
+0x60136a6d,
+0x9a8434ce,
+0x2f12697a,
+0xc3a8cbcf,
+0x92de4edb,
+0x74af77b4,
+0x4fe8015d,
+0x6c3ead66,
+0x93adaf62,
+0x248ced0b,
+0x6f5f0f84,
+0x6efcd4b8,
+0x15dbb8c0,
+0xbd8038c1,
+0x42ab190b,
+0x9b3b817b,
+0x17dec006,
+0x4f110887,
+0x3c6980bc,
+0xee20d614,
+0x7d3b5ade,
+0x6888936b,
+0xbae67b5b,
+0xdc82f174,
+0xa31a693e,
+0x64c24387,
+0x317955f9,
+0xc0236a1a,
+0xed1136d5,
+0x8e3c34c0,
+0x5ede81b7,
+0x28a73e03,
+0x551b7e5a,
+0x7a23fbee,
+0x12ccebad,
+0x9d478b54,
+0x0f77d02b,
+0xde218278,
+0x3971d487,
+0x3133834f,
+0x8d40f5d1,
+0xc97bd0ab,
+0x575e6be9,
+0x13269611,
+0x1567d0e5,
+0xef04c73a,
+0x992fd973,
+0xb03bc26e,
+0x79b00610,
+0x50dc62ff,
+0xc6cf96b0,
+0x4d8f7f7a,
+0xecc7e7c0,
+0x400dedfd,
+0x4bf4e0bf,
+0x30dc41a4,
+0x9d0d580d,
+0x221d6b9b,
+0x9884de69,
+0x50367a15,
+0x00df6945,
+0xdc11d83f,
+0x5604dc70,
+0xfae36bab,
+0xf9010204,
+0x6219c424,
+0x6e592530,
+0x4eb6734f,
+0x02f99c4a,
+0xd50f1324,
+0x8b5b4959,
+0xfa1c6363,
+0xe7899aa9,
+0xaabafb95,
+0x8672e1bf,
+0x10e9467f,
+0x7694aa9c,
+0x673bde47,
+0x3d5cdc6c,
+0x1ffe1936,
+0x69f6a859,
+0x0fdb80cd,
+0xacc2e6d5,
+0xe3d562b3,
+0x046696fc,
+0x1034389b,
+0xac2ae2f7,
+0xd7ce5223,
+0x90f98edb,
+0x9f330361,
+0xc62f6119,
+0x20b51be4,
+0xb70105db,
+0x059e0347,
+0x2866f5d3,
+0x3005a6e8,
+0x867a42eb,
+0xde7d7dfe,
+0x4c371bfd,
+0x7b292384,
+0xe8b2de3d,
+0x8f884e38,
+0xe2f7ecc2,
+0x35513f85,
+0x4d91cbfd,
+0xe92d1336,
+0x97c546bf,
+0x5122143a,
+0x50ce8c72,
+0xd93cd3ce,
+0x6ee6398f,
+0x4e9ddd7d,
+0x11a39162,
+0xb676ecab,
+0xcf7ecbbb,
+0x89213acc,
+0x9b6aba4b,
+0xf980acc4,
+0x41fac6f5,
+0xa5faeb26,
+0x10a6aa79,
+0x63a08be3,
+0x327eb90b,
+0xecfe8392,
+0xaaec2cc7,
+0xf5a90bfa,
+0x0ced6520,
+0xcbe6ca8e,
+0xdff675df,
+0x063614d3,
+0x83f10e03,
+0x83831e4b,
+0x76da85ba,
+0xe8461ee1,
+0xa406b867,
+0xb9b127b8,
+0x52c031ec,
+0xb735feb7,
+0x8fc42c1a,
+0x262c6c4a,
+0xca494a5d,
+0xa6eee8de,
+0x07b096e0,
+0x7483bef4,
+0x70ac08db,
+0x5d14916c,
+0x248fc5a3,
+0x5f36f1b3,
+0xa87b2e91,
+0x541790df,
+0xbcf346b1,
+0x1fe87061,
+0xc5b08fec,
+0x06a5c6ef,
+0xed7ee949,
+0x0a08886c,
+0x37cf2a23,
+0x999d6f4d,
+0x1d5eff98,
+0xb6d5df19,
+0x8b8418d9,
+0xfc2b02c1,
+0x4ab88d69,
+0xaef08c34,
+0x7447d3fc,
+0x6c7bcbc1,
+0x687d5a1a,
+0xb1d411df,
+0x81f9c19c,
+0x2b825c4a,
+0xa809de84,
+0x26aef54c,
+0xf8a19fb9,
+0x3169ce21,
+0x4d3894ed,
+0xa0684310,
+0xa2780c85,
+0x9e4f6091,
+0xeb0005d0,
+0xd77b65d1,
+0xb861af35,
+0x05f1c2b3,
+0xf196fe8b,
+0x5ba829c9,
+0xf1d89b94,
+0x54679992,
+0x69a9ccb9,
+0xe80336f2,
+0x686cb8d6,
+0xaa3563b6,
+0x428e1c28,
+0x213c9fec,
+0x32bee514,
+0xbce8ddf2,
+0xdd52d889,
+0x85f02753,
+0xe0cdd42a,
+0x8154f965,
+0x2e5c83fd,
+0xaa0a5654,
+0xaf58a2ed,
+0xeb02a7c5,
+0xfc6942d2,
+0x24e3f28d,
+0xfaf66bbe,
+0x640a8716,
+0x735296e1,
+0xcb553bc0,
+0x4c7a40e6,
+0x85f1d66c,
+0x3d49ef57,
+0x224b6a9b,
+0x7422a800,
+0xb4d8cd2b,
+0x157909f9,
+0x24215d24,
+0x9dede6dd,
+0xfbd9c6ac,
+0x21b72b4a,
+0x388ee796,
+0x53f65cb0,
+0x8639d45b,
+0x15913366,
+0x409ed525,
+0x33f727d7,
+0x770119bf,
+0x534dcbb0,
+0x57a12e75,
+0x0891eabd,
+0xcf310f11,
+0xaa02b0f0,
+0x74cf9edb,
+0x857b26bf,
+0x6d54ea41,
+0xb0cc81fe,
+0x32387092,
+0x04139ef9,
+0x1ea8fc5e,
+0x932506e3,
+0x93ca79d4,
+0x108a8176,
+0x0db10bf5,
+0xcc386c25,
+0x08a75815,
+0xc8fc3ef5,
+0xbc4fd887,
+0x1e4c3ac3,
+0xea6ca7c1,
+0x38885b88,
+0xa76dfcf3,
+0x7cfebaa7,
+0xf206d9bf,
+0x1e7a1428,
+0x63ccb37b,
+0x35f64d6a,
+0xc4575db8,
+0x2a93a143,
+0x168e7744,
+0x9ba04539,
+0x768bcf41,
+0x0b19ab63,
+0x072c776c,
+0xe6f4853a,
+0x8e9c0145,
+0x0e7ac31e,
+0x91d2b439,
+0x4683687d,
+0x35ac8218,
+0x122d077e,
+0x45d80002,
+0x49d7beef,
+0xb80dd29f,
+0xccdfba56,
+0xd22ccc01,
+0xb566db23,
+0x9681c671,
+0xbee819e0,
+0xc8f3c64a,
+0x03b2621f,
+0x12b87d4e,
+0x836821ab,
+0x7fb44ca4,
+0x60aa718c,
+0xb812986f,
+0x065f0045,
+0x7950bbe5,
+0x583cbab3,
+0xd76f0279,
+0xe0f7a37c,
+0xefe8465b,
+0x65088c82,
+0x22f251ce,
+0x12b2bfe2,
+0xf53fae8e,
+0xa3854bf4,
+0x4b7d64ee,
+0x625d4f38,
+0x92901ccc,
+0x714f288e,
+0x3b3b3106,
+0xd10dcdd4,
+0x0527fb8e,
+0x9f2bb4ea,
+0x94d3e218,
+0x8b1cfa6b,
+0xf645a856,
+0x591d0045,
+0xe8070a1d,
+0x34cefb7c,
+0x33e46268,
+0x39346ca6,
+0x582431ec,
+0x6ea4fd11,
+0x92e95591,
+0x93800337,
+0xf8808bf7,
+0x9d37a0ac,
+0x26ca4f50,
+0x30376b26,
+0x4f040b44,
+0x32bcdd0e,
+0xf04e517e,
+0x8bfce90a,
+0x477364a6,
+0x9b84181b,
+0x014b00fd,
+0x399f4b67,
+0x372c31e4,
+0x091db8d7,
+0x97c3309b,
+0xf24bec05,
diff --git a/src/soc/intel/braswell/microcode/M01406C3337.h b/src/soc/intel/braswell/microcode/M01406C3337.h
new file mode 100644
index 0000000..0c89fd2
--- /dev/null
+++ b/src/soc/intel/braswell/microcode/M01406C3337.h
@@ -0,0 +1,17152 @@
+0x00000001,
+0x00000337,
+0x02262015,
+0x000406c3,
+0x083f0d28,
+0x00000001,
+0x00000001,
+0x00010bd0,
+0x00010c00,
+0x00000000,
+0x00000000,
+0x00000000,
+0x00000000,
+0x000000a1,
+0x00020001,
+0x00000337,
+0x00000000,
+0x00000000,
+0x20150226,
+0x000042e1,
+0x00000001,
+0x000406c3,
+0x00000000,
+0x00000000,
+0x00000000,
+0x00000000,
+0x00000000,
+0x00000000,
+0x00000000,
+0x00000000,
+0x00000000,
+0x00000000,
+0x00000000,
+0x00000000,
+0x00000000,
+0x00000000,
+0xf9e6d006,
+0x13ca68a6,
+0xbf1f8951,
+0x92e38e9f,
+0x09725f3e,
+0x8c2010ec,
+0x8a7a2fe4,
+0x92683e92,
+0xc3e444ef,
+0x58491df9,
+0xb7830823,
+0x6eab8273,
+0xef2443f1,
+0xd7284cf9,
+0x96d13191,
+0xaa2fcfeb,
+0x37cb49c0,
+0xbd7a57d1,
+0x5ae4db5e,
+0x1ecae117,
+0xc3929abe,
+0x90178e1c,
+0x8a8bc0b3,
+0x519879ca,
+0x928c2a3f,
+0xd8157e1b,
+0xb2ec441f,
+0x3818daae,
+0x6986ce0a,
+0x7e499dae,
+0x0c684c42,
+0xeda3b321,
+0xfeac24d9,
+0xa226c1dd,
+0x96353626,
+0x9b99cd21,
+0xf39d3f19,
+0x53197d03,
+0xc53d7af9,
+0x7ead944c,
+0xf060b398,
+0x1f4690eb,
+0x2e6d8e43,
+0x0e1a8530,
+0x813662fd,
+0x3c2d7818,
+0xc5382970,
+0xddf02d46,
+0xc17cd6f7,
+0xa0761016,
+0xb35d6ef0,
+0x6ba761d8,
+0xbc060ba4,
+0x9bc637ed,
+0x8bf9252b,
+0x7d88672b,
+0xb53101bf,
+0x257c1b57,
+0x5237eb34,
+0x6e402e99,
+0xe7a81b03,
+0x1d5bfccc,
+0xe987f433,
+0x9830ccec,
+0x7b7352e4,
+0x86c28cb3,
+0x8fc57b81,
+0xde7f2a85,
+0x191bcdcb,
+0x4a8911ab,
+0xd778f2a1,
+0xc9290836,
+0x00000011,
+0x67102578,
+0x2af7b7a7,
+0x308273ca,
+0x81424359,
+0x203dd799,
+0xae3ccbd7,
+0x12730602,
+0xe8c6defa,
+0x6f6ae819,
+0xf7fe1c54,
+0x34dac470,
+0xc79c64fb,
+0x22297547,
+0x07030a84,
+0x8485ad62,
+0xd3446b74,
+0x953976aa,
+0x97ba8118,
+0x512c9e99,
+0xdf1f5149,
+0xfa9f0b34,
+0x890778be,
+0xca0f2010,
+0xfc868b23,
+0x37e097c2,
+0x31ee6941,
+0x9aac52fc,
+0xd019676b,
+0x091b6f69,
+0x2527019d,
+0x1a002586,
+0xfe948cf0,
+0x1b092910,
+0xc5c9f3d1,
+0x56313e34,
+0xcabffca5,
+0xa25367d5,
+0x0936bfb2,
+0x5908375d,
+0xd266691f,
+0xbbf9a1a8,
+0x71991f23,
+0xf1ba8c3e,
+0xe1354311,
+0x7b08fdde,
+0x63b746cc,
+0xec34373e,
+0xa81f0211,
+0x67ac1dfb,
+0x8a31f8bd,
+0x779cc00c,
+0xd622b529,
+0x16070c8e,
+0xca0badba,
+0x786cf0f9,
+0x2cdef633,
+0xb7cda620,
+0x7170ea1d,
+0x7224a96b,
+0x14564e26,
+0x5f199e10,
+0x5dbfa8d1,
+0x5db27e35,
+0x566602b3,
+0x08f56a67,
+0xa3d992e8,
+0x927f1cb5,
+0x4f4739af,
+0xf2f63da9,
+0x933b1a17,
+0xcba24031,
+0x0d20b588,
+0x5a15fc40,
+0xcff60345,
+0xf791002c,
+0x0e71ea85,
+0x46443020,
+0x4de86e88,
+0x1a12d6a9,
+0xabf1cd9d,
+0xe6ecc69a,
+0x69005000,
+0x2c6a9600,
+0xa55d9993,
+0x71a0be64,
+0x5e7fea11,
+0x8fa2c467,
+0x47b567a6,
+0x1ce73718,
+0xea9bd547,
+0xe9f1dcb3,
+0x43375f04,
+0x3d2cff96,
+0x43b8c0d3,
+0x63eaf525,
+0xb63f60bd,
+0x4d7169e1,
+0xb5b1f545,
+0x6407a36d,
+0x7ae75192,
+0x77daa2a8,
+0x5a7513c4,
+0x6abae863,
+0x968b32fa,
+0x674f91b8,
+0x1c312427,
+0xe4cf93de,
+0x33070480,
+0xe2dfe4f3,
+0x65eb8a81,
+0xc0519422,
+0xf77e34c9,
+0x5a605ac4,
+0xb8b17bcd,
+0x2f90d250,
+0x8905b7fd,
+0x0b2728c0,
+0x251bc133,
+0x20c6321a,
+0x92b01d63,
+0xcd1ddee2,
+0x67e7cd25,
+0x68b660da,
+0xcbca7577,
+0x596326dd,
+0x8b0cd2b8,
+0x5d6ea673,
+0x2eb34c20,
+0x4035911d,
+0xcc645221,
+0x487d6e8d,
+0x5e79032a,
+0x4e73cac9,
+0x79ba4c4f,
+0x1f6fa196,
+0xb18da417,
+0x1646e68c,
+0x9fc9e7c9,
+0x51010e70,
+0x81af9a47,
+0x0b8ab39c,
+0xa60da828,
+0xab810d25,
+0x619072aa,
+0x12a43215,
+0xb078da6d,
+0x426caab9,
+0x9a5e7404,
+0x6dac5a50,
+0x546e1774,
+0x47ade299,
+0x45295047,
+0x50bb6b83,
+0xbb53a7a1,
+0x08e08f70,
+0xccd52377,
+0xc141129e,
+0xc3edbb1e,
+0xfa0f2e35,
+0xe05b0fb9,
+0x6c5f799d,
+0x84d8ff97,
+0xd7a26438,
+0x88a03dc4,
+0xb5589eb5,
+0x2630061a,
+0xa48ef9d5,
+0x3689387b,
+0x8fc61628,
+0xa01f2973,
+0x9e339421,
+0xb4ed8529,
+0x289e7743,
+0xf65cd602,
+0x3f1c78bf,
+0x94256f73,
+0xa8600d20,
+0x24bc935b,
+0x912d03de,
+0xe636a2c3,
+0xfe6570b7,
+0xdeab1089,
+0x6af5af39,
+0x0b6b0ac7,
+0x744f0a5a,
+0xfe0ae362,
+0x2b89363b,
+0xbe64a9ac,
+0x3e987399,
+0x1ef4c6e0,
+0x1ee05cae,
+0x3cb79409,
+0x66685532,
+0xa9e87d21,
+0xe9401026,
+0xbc5e4d2d,
+0xafe41da7,
+0x9bf873cb,
+0xc5498e83,
+0xde73a7ce,
+0xc5c4dddb,
+0x4e1fc9f6,
+0xc51754a5,
+0x62a0d184,
+0xda51f594,
+0xe5c03017,
+0x0c78e6a0,
+0x59337547,
+0xdd6cca3f,
+0x83117b4e,
+0x07123cfd,
+0xfe79658e,
+0xf1358888,
+0xb5906484,
+0xabf870a3,
+0xcc2c7f7e,
+0x8d9684dd,
+0xf6909efe,
+0x3df5af5a,
+0x369517c3,
+0x5d7ba0c6,
+0x8d1ec01a,
+0x23908045,
+0x99863b8c,
+0x81ee2357,
+0x152cb18c,
+0x64062cfd,
+0x6a78c0b3,
+0x4a850a10,
+0xb0d10272,
+0xfb657a30,
+0xb95bb42d,
+0xbc3de0a0,
+0xbb9e9699,
+0x38b583c5,
+0x93073c25,
+0xc99aa408,
+0xbe2cfcf1,
+0x529cad64,
+0xf70cfc4c,
+0xa533e620,
+0xdcd342e3,
+0xc29f0390,
+0x9a112d8b,
+0x0c63cdfb,
+0x66ce9761,
+0x715f59df,
+0xb90a0f24,
+0x1b95f8d5,
+0x562fce60,
+0x6a1e6ed2,
+0x1ea58e1a,
+0x3757a2de,
+0x794a6b7e,
+0xe8847ea6,
+0x3a1814d1,
+0xed25b13c,
+0xf9cc3bfd,
+0x44fdf1e4,
+0x03b4aacc,
+0x90c4d488,
+0x2ed2f6e8,
+0xa724745d,
+0x1b67172e,
+0x25ea1856,
+0xe48377f8,
+0x10186e4f,
+0x2c90eba2,
+0x38811fa9,
+0xb0b55fcf,
+0xe76d8c1a,
+0xcebdbeff,
+0x12c14240,
+0x48c87fd3,
+0xecf9a1b2,
+0x842f9a73,
+0x29a1e08f,
+0x0d7f13c6,
+0xb94bd76c,
+0xc310ce14,
+0x8e22d8bb,
+0x011c37da,
+0xeb0fc18f,
+0x0823e3fe,
+0x130631e0,
+0x398f788a,
+0x88fb6610,
+0x374bb491,
+0x8e318e2c,
+0x68a0d005,
+0xf4833382,
+0xcdfca467,
+0x0595bec5,
+0xf8614ef4,
+0x042eb07c,
+0x193207b1,
+0x93f14998,
+0xeeceb30a,
+0xde53304c,
+0xc5ab8795,
+0xb0f87ec8,
+0xda1a7a9d,
+0x74b39ec7,
+0x53cd08c9,
+0x21f61efd,
+0xa0eca1a2,
+0xd37ed3d3,
+0x13fce31e,
+0x29101eb1,
+0x4c4102e6,
+0xdf667d3a,
+0x50e5a656,
+0x63aba510,
+0xa9057e21,
+0x0b29795b,
+0x6395ff5b,
+0xaf1d9475,
+0x22716f25,
+0x00e63725,
+0xbd11c6b7,
+0xfcce8ee9,
+0x9c06c7fa,
+0xe7ded0fe,
+0xf2530187,
+0xef6c5c4a,
+0xe4257f67,
+0x4543730a,
+0x36d2de0a,
+0x7d7facdc,
+0x04fc5bd8,
+0x329fede5,
+0x9185a0b8,
+0xeb2e53e0,
+0x9ed83b12,
+0x6b2011e6,
+0xec3c5581,
+0xb8d030b7,
+0xb85d786a,
+0x74c84e0d,
+0xd88d01e6,
+0xe60aee1e,
+0x7ddfd7a8,
+0x290ebe96,
+0x6f466db4,
+0x4870e701,
+0x406cc513,
+0xd3ab22dc,
+0x338daa6c,
+0xd6213885,
+0x5e68e387,
+0x653c63c1,
+0x3d2aa0c5,
+0x73bc9f84,
+0x4823b6ba,
+0x3076fdfe,
+0xd05ec960,
+0x79a0c95a,
+0xd8d91397,
+0xa4fe3eb2,
+0xe7d44b1d,
+0x5e288972,
+0xb4c55fc5,
+0x5d8882ef,
+0xf7d0fb12,
+0x7c443580,
+0x500aba87,
+0x3726bc2a,
+0x38bceb12,
+0xc9329774,
+0x1c58e1e2,
+0xbb071a6b,
+0x8f0480fb,
+0x41db038d,
+0x284d5c0f,
+0xd2fe6253,
+0xa7faec9f,
+0xdc9a0073,
+0x2c861916,
+0x6a0639de,
+0x448a2f13,
+0x827b27fb,
+0x4fd533f3,
+0x29a6e36f,
+0x999eeaf8,
+0xac6fa90f,
+0xb213eb89,
+0x46d86c42,
+0xd1976712,
+0xb196ca53,
+0x961b2ffa,
+0xb591c7da,
+0x54765b64,
+0x8a176fe9,
+0xda22bd7a,
+0xfd0325f9,
+0x9809612a,
+0x64578e2b,
+0x0d2459b7,
+0x671e45ec,
+0x89b30a6e,
+0x3f88f612,
+0xe14ed496,
+0xbf586db7,
+0x702edb5c,
+0xb48a642f,
+0x23de1847,
+0xfa9d386f,
+0x76ca9f53,
+0x579c8497,
+0xaee09a7a,
+0x89c5da3d,
+0xf5f98022,
+0x1d9d58b2,
+0xfbb2f004,
+0xa5625974,
+0x80e9622c,
+0x1011abbc,
+0x91720d9a,
+0x1b3a5aff,
+0x4d7d2062,
+0x97f3b41f,
+0x3300dcdf,
+0xb7ac051c,
+0xa989b344,
+0x22f3f3d6,
+0x33b2219e,
+0x52b7bce5,
+0x7b200984,
+0xf1deae16,
+0xde06a7a2,
+0xe2447f3f,
+0x5f2105c6,
+0xb24f5e62,
+0x00eb117a,
+0x761e1fc1,
+0xb424645d,
+0x26d46297,
+0xbfdc28b1,
+0x7d52789d,
+0xbf129a20,
+0xcbee8ea2,
+0xb29f355a,
+0x50d5871c,
+0xf3ee1b0e,
+0x506aaf1a,
+0xbc3337bf,
+0xd28f0632,
+0x90a9ba53,
+0x480294e9,
+0xc99013ab,
+0x901fe773,
+0x357aeabc,
+0xf5cc62a5,
+0x2b41e356,
+0xf3c64c6d,
+0x1e5add36,
+0x3cc22e1e,
+0xf0254e0a,
+0x53c3a3dd,
+0x52a1b24c,
+0xd2173f47,
+0xac6dc594,
+0x417181a9,
+0xa040d799,
+0x23f97758,
+0x50f72551,
+0x5605772a,
+0x6e7f4b0c,
+0xd45a436b,
+0xa2c88723,
+0x6833b41a,
+0x5733297a,
+0x441e42d7,
+0x47201989,
+0x4ccd3284,
+0x1051df0b,
+0x3971eac0,
+0xc9923d7b,
+0x76fab1b2,
+0x34d215e1,
+0xd73fe985,
+0x05b15a49,
+0x88126bf9,
+0x4fa1cd88,
+0x83265eda,
+0x93c5449c,
+0xa126cc03,
+0x0d9f8739,
+0x870f3762,
+0x25fb100c,
+0xc24c9024,
+0xcd01e3b2,
+0x5b3bbba5,
+0x24ead96f,
+0x2d04f441,
+0x64bad249,
+0xdc388c43,
+0x25a2a00f,
+0x7b0259e5,
+0x14793b4c,
+0x7573d7b1,
+0x4910e723,
+0x302ce72b,
+0xcac40ec3,
+0x9e85dc66,
+0x56b9aca3,
+0xd0384832,
+0xdb30a6ac,
+0x4c459e43,
+0x09e26d18,
+0x72a3a4c3,
+0x4a4d703d,
+0x3671e87e,
+0x4ccea586,
+0xb7dbd0a9,
+0x45f4511d,
+0x9a80a4ba,
+0x8e6f5910,
+0x3025ea32,
+0x37188975,
+0xe64f758c,
+0xdf898416,
+0x68113390,
+0xc0ab037d,
+0x990159bd,
+0xf2bc0a12,
+0x323bf578,
+0x38deade5,
+0x45ee9d21,
+0xbff68569,
+0xf6dc9f35,
+0x9b7e31db,
+0x16945e79,
+0x3713060a,
+0x87aa7ce8,
+0x22312fdb,
+0x05b0ae9c,
+0x622418d0,
+0x33783c6f,
+0x73bd6cee,
+0xcfca5a8f,
+0xa4a790ee,
+0xaf8ed68e,
+0x89e7b97a,
+0x5c5d0e65,
+0x8629a600,
+0xc761e9b1,
+0x912da273,
+0x1dd76a9d,
+0x974417ae,
+0x8227801a,
+0xcefc4426,
+0x49238c04,
+0x4a22ebf0,
+0x42ac4f47,
+0xbf2be5a8,
+0xee20bf63,
+0xbd9518eb,
+0x59692341,
+0xb824730b,
+0x7ef260fe,
+0xd29d4a72,
+0x6f05dc97,
+0xda8e5035,
+0x4454e82e,
+0x6013ceb9,
+0x8305bbc1,
+0x0e2a59a7,
+0x76708d3a,
+0x8cbd916c,
+0x02487714,
+0xb2f5b5b8,
+0x4deadf7c,
+0x4f890a49,
+0x7172f57f,
+0xc1a977ad,
+0x88582fcf,
+0x7de3c162,
+0x8e0af877,
+0x12714383,
+0xd71477f6,
+0x2244ffb4,
+0xb06c3e4f,
+0x9814a7d9,
+0xecd93a95,
+0xe1998b91,
+0xa52d8d22,
+0xa4160463,
+0x3213e069,
+0x17426cfb,
+0x135101f9,
+0xea42c1c9,
+0xbb2e3db2,
+0xbb108c93,
+0x2aae905e,
+0x2979cbf5,
+0x6238c473,
+0x2fdf6e6a,
+0xb96c75cd,
+0x5783b7fa,
+0xd494dde6,
+0x8494050b,
+0x1ef704b7,
+0x9a5ff2e0,
+0x4853ed69,
+0x20450a48,
+0x038fa617,
+0x2314bad2,
+0x2c2d5689,
+0x02d00aae,
+0xb9a14248,
+0x6f66c067,
+0x8907bf35,
+0x9e207e76,
+0x513734c8,
+0x28ef63da,
+0x8ca20b74,
+0x7057271d,
+0xbfc97ab2,
+0xa35630d3,
+0x14736783,
+0xb13f6c03,
+0x985aaf7e,
+0x726f6422,
+0xc6baa629,
+0x1cc2bb16,
+0xeb533c18,
+0x11792020,
+0x0d45cfe8,
+0x8609ec0f,
+0x6ddeadf8,
+0x391f1c98,
+0x5b97c0f7,
+0xd73e3538,
+0xf8ac279f,
+0x092ae54e,
+0x0c0a1fb3,
+0x119399a3,
+0xa15927fc,
+0x93aa2145,
+0x51def565,
+0x4836f49f,
+0x4d668b3b,
+0xdf6a77e9,
+0x99b66852,
+0xcfcb76a1,
+0xcd63838f,
+0x8aaa6eb3,
+0xeac01b5a,
+0x86574abe,
+0xdcd99b21,
+0x33db3555,
+0x76717da7,
+0x8441175c,
+0x2cbfe471,
+0x3257aa71,
+0x925cd6df,
+0x0aa0fdb7,
+0x3babadd9,
+0x0365eddd,
+0x8f55bac4,
+0x3a647a0f,
+0x517a6203,
+0xae87818a,
+0x77efb69b,
+0xb02ac609,
+0x04ecbde6,
+0x0a341336,
+0x26b28c38,
+0xdfcb142d,
+0xd8d06c77,
+0xa54dd039,
+0xdc8a0807,
+0x25fabf55,
+0x79d2a17d,
+0xb854fc1a,
+0xc097db7d,
+0x221ead9d,
+0x87b51aec,
+0xec987f69,
+0x1f037c7b,
+0xa4e7642f,
+0x165a0292,
+0x91629e4a,
+0xac49745a,
+0xc6939b03,
+0x3ed02b29,
+0x7a1a6e89,
+0x9bba23e7,
+0xa52cffe6,
+0xbe83e193,
+0x39a2cc38,
+0xdc46db6a,
+0xcd00c8e2,
+0x4e51ed79,
+0x6f4d886e,
+0xb5f04bb8,
+0x78d53ad7,
+0xa3a86e68,
+0x7fc6c20b,
+0x90abe37d,
+0xbd3e49fa,
+0x404874ae,
+0xf9f815eb,
+0x8ad12bf0,
+0x8fc2a928,
+0x31840395,
+0x06d82864,
+0x2c5bd1ad,
+0x3846bccd,
+0x835f177c,
+0x338d6fa7,
+0x18a6c4dc,
+0x02d3cada,
+0xdb3a03b0,
+0xdac202d3,
+0x33d5d3b5,
+0x3df17875,
+0x76f28d04,
+0x662decd7,
+0x8e6c26fa,
+0x4caa3727,
+0xdd50e45d,
+0x78418dd1,
+0x2e1fd32b,
+0xd9c2d10f,
+0xff2cf8b1,
+0x808f32a6,
+0x66f35aca,
+0xff220b5d,
+0xd0b49006,
+0x454a3203,
+0x6f29e954,
+0x3f3f2116,
+0xdad19a74,
+0xb9e4c74e,
+0xa46e948d,
+0xdfbebb40,
+0x9ff8f1a0,
+0xa85da348,
+0x145b8494,
+0x5d4a7c59,
+0x7fa4ad8c,
+0x4be9ed1c,
+0xd2c405e2,
+0xda16b510,
+0x08770355,
+0x8ec0e0bf,
+0x65dbc551,
+0xf9323aa4,
+0x8dffab36,
+0xed963d3d,
+0xf18dc530,
+0xa63503b8,
+0xfb7b6161,
+0x4ec1ad11,
+0x352b77d1,
+0x4ef3804b,
+0xea134164,
+0x872afee3,
+0x11e67bda,
+0xedab8016,
+0x2d78d4ff,
+0x591a85bc,
+0xae27b3f9,
+0x280669a2,
+0x07ae2d54,
+0x0d7c60af,
+0x1d1b2a98,
+0xc7ead821,
+0xcafd72a5,
+0xb7ff24cd,
+0x423d3002,
+0xffe01a80,
+0x42754b57,
+0x29d1ea19,
+0x5844a508,
+0x5c7f6b30,
+0xb8b9161b,
+0x7938a23f,
+0x71c2e5e7,
+0x10f2acfa,
+0x63b09ed2,
+0xa59626dd,
+0xc233909d,
+0x0e160eeb,
+0x6ae4a279,
+0x2f5d0a15,
+0x87e39e04,
+0xe835e0e9,
+0xb2046e4c,
+0x9243bd5b,
+0xa1cecf81,
+0x8308f18c,
+0x0a149f58,
+0x9948c814,
+0x3a504814,
+0x948c61f0,
+0x185562c5,
+0x6ec5c50b,
+0x5ccf4116,
+0xee71bd2b,
+0x588c5531,
+0x415f1725,
+0xf6ba57e1,
+0xead5a9ec,
+0xb690c3ec,
+0x34950513,
+0x508393ca,
+0xde96a6b6,
+0xb9c22e8c,
+0xae037ff6,
+0xe86e7b89,
+0x7ec2cc4f,
+0x1e38d068,
+0x254b574c,
+0x2a58c097,
+0xd7b20357,
+0xe3361c92,
+0xa4472730,
+0x2ce32f70,
+0xa03c27fd,
+0xdd58f683,
+0x782b5198,
+0xca7397a2,
+0x29047cf5,
+0x015d586f,
+0x50e0fa30,
+0xd603804e,
+0x1f9f066e,
+0x287059a5,
+0x9e97fea6,
+0x5c0f9957,
+0x6e1839bc,
+0xfc5f740c,
+0x399f42f8,
+0x578ec71b,
+0x24283aeb,
+0x178af9f1,
+0x045e6103,
+0x3ccdc2bd,
+0x2c2cd556,
+0xecd37fa4,
+0x409a06a3,
+0x07ae5bdf,
+0x45d8e40e,
+0x034f27ee,
+0x67fd287c,
+0x69fb1732,
+0x4471a91d,
+0xb60cb566,
+0x5cdc4fe4,
+0x6e352dc2,
+0xdd87cbe5,
+0x84b7116b,
+0xe7c1f6bb,
+0x0388b417,
+0x40023c6c,
+0xb750e572,
+0x0a86afdd,
+0x00c38c1c,
+0xa88ded55,
+0xcaff63fd,
+0x92cc0fa0,
+0xd433978b,
+0xf5311a85,
+0xa7e14304,
+0x5d9925ce,
+0xa8c8a774,
+0xbf42ba9e,
+0xe998bd4e,
+0x2667c4c3,
+0xac4b7445,
+0xb7cb7dae,
+0x28b0da52,
+0x445f7782,
+0xaf8c9560,
+0x5b8b15d3,
+0xb4af7578,
+0x48c9adad,
+0x69769aae,
+0x5b748d43,
+0x40cca1f6,
+0x524c280f,
+0xdd460a47,
+0x2ac58ef9,
+0x82def718,
+0xd1a2b3ae,
+0x45fba81f,
+0x6f99bddb,
+0x8d7c3ba5,
+0x8df191c4,
+0xffb843c2,
+0x629c840b,
+0x3f2148a5,
+0x3e8d892b,
+0x0aead7bf,
+0xc7448f96,
+0xe5c59118,
+0x09386ef0,
+0xf58dd3e5,
+0xa618dc52,
+0x3a448ffa,
+0x350d404e,
+0xc49af75f,
+0xae5715f2,
+0x2c5708f7,
+0x7cf2fa0b,
+0xc731f111,
+0xd68004c0,
+0x9ab4d24c,
+0x877783e7,
+0x25f1c1d4,
+0x51c8a3b6,
+0xf3ab45c1,
+0xe4b4d271,
+0x0e66124a,
+0x38025879,
+0x02c873ac,
+0x84c09cba,
+0x9c42fa23,
+0x85bed02b,
+0x6fcb0bde,
+0xdacce720,
+0x653821b9,
+0x1d35a56d,
+0x5c2a8f69,
+0x4f961ecf,
+0x71776719,
+0x4dd2265f,
+0x04693593,
+0x35cfa7fb,
+0x82ca61bd,
+0xdad1481f,
+0x7230d33d,
+0x83d5c28e,
+0x1f2b8058,
+0xe8c8486f,
+0x1a07be5f,
+0xde733539,
+0xca551011,
+0x77af0846,
+0x5164cf28,
+0xdbbf2872,
+0x1306a569,
+0xf7318332,
+0x9d2979d5,
+0x99c4d0f4,
+0x8bdcc5e7,
+0xb4f203e1,
+0x0629c0f7,
+0x90137939,
+0x19498aa9,
+0x4fc22ad4,
+0x377b30db,
+0x56f72996,
+0xb8a0158a,
+0x776619bb,
+0xf22bae79,
+0x5e98ac3c,
+0xe95dae65,
+0x7973f25f,
+0xa05ae35d,
+0xc0d45b37,
+0x534382d6,
+0xc511cd57,
+0xcb674ccc,
+0x864bf30c,
+0x8408338e,
+0x44c4b6ec,
+0x7bc0e11a,
+0x8dc6e418,
+0xc83d969f,
+0x6381e8c7,
+0x104bdfb7,
+0x9d9fe2ea,
+0x05f4383c,
+0xcecce24a,
+0xbf46f03d,
+0xc4d158a5,
+0x64ee3242,
+0x8db5d591,
+0x6c2afc8c,
+0x526bed5b,
+0x5d3f86c8,
+0x46464e6e,
+0x0e24839a,
+0xc2dafc50,
+0x72ca99bc,
+0x0491af19,
+0x973057b3,
+0x851441dc,
+0x743266fb,
+0xc708ae56,
+0x58b54194,
+0x2ede465f,
+0xcf8d3f7f,
+0x96f4cea3,
+0x7935f1f4,
+0xa654ce11,
+0x5a2fa662,
+0x64bdbbf2,
+0x56a10d81,
+0xf21f3b6b,
+0x8186cab9,
+0xa1117db5,
+0xc3ee1d79,
+0x8d06a1d1,
+0xd1ea1472,
+0x45dc75b9,
+0xb75112c0,
+0xd74423af,
+0x1c3424e9,
+0x738a01b5,
+0xf4fa083b,
+0x8310403b,
+0x232c61f0,
+0xf3f0e18a,
+0x20dc9439,
+0x4f0b90b6,
+0x7a6d3259,
+0x469964b1,
+0x4924f0c7,
+0xe67822c0,
+0xf3af5718,
+0x69241376,
+0x79b25b38,
+0x4d709313,
+0xb84461ac,
+0x9127a192,
+0x031c0df1,
+0xb8e5813c,
+0x5243495e,
+0xc3c1d424,
+0xfe90c59a,
+0xddc4221c,
+0x7a67f45f,
+0x7536c0e5,
+0xadbef7ea,
+0x34adc6e1,
+0xec677040,
+0x4faf8a17,
+0x26004f33,
+0x7302b2bb,
+0xf25b50f5,
+0x82850ddf,
+0x21b6187c,
+0x98c03b0c,
+0x24e1c611,
+0x36e5b8d1,
+0xc8ef643f,
+0x46e4a560,
+0x9a10c1b7,
+0x6230b765,
+0x879961ff,
+0x2f0fa02e,
+0xc520640c,
+0x1f91fc8a,
+0x4bcb2af8,
+0x9138bc21,
+0x216471ff,
+0x59f5ef27,
+0xe86bb61f,
+0xd97fd6e8,
+0x6b8ccf99,
+0x9191d253,
+0x486a9a8b,
+0xf04b03e8,
+0x2f10e5c5,
+0xbaf9ef30,
+0x5af7df7b,
+0x4242160b,
+0xaed72451,
+0xf215a8d2,
+0xb1bc5cef,
+0x2e86d78e,
+0x95d2d1a2,
+0x4c6c0776,
+0x9bd977ab,
+0xea391a67,
+0xf83bb55f,
+0xa7300afa,
+0xe147c4fb,
+0x99963435,
+0x12811d74,
+0x7feec5ef,
+0x77ee6090,
+0x3cc81dd0,
+0x50ac4c48,
+0xc42932ca,
+0xefaa06fa,
+0x81393ee9,
+0x9256ac9d,
+0x20d71763,
+0x5f451fc1,
+0xbf9e23ca,
+0x6c85a1e3,
+0x29f3e966,
+0x4abd8456,
+0x0afb0dc5,
+0x4d5808cf,
+0xec86ef22,
+0x66f982a4,
+0x4dbb3a6d,
+0xe1f5d2ce,
+0x2c1e49a8,
+0x9789b23c,
+0xfd5e28c6,
+0xf44f6d12,
+0xa64a270d,
+0x8385c44f,
+0x169decbc,
+0x9128c15c,
+0xe61464e4,
+0xe3b827e4,
+0x74963fc8,
+0xad165487,
+0x86225655,
+0x6f92a414,
+0x9f1e6cf1,
+0x01054003,
+0xd6c57e13,
+0x894e4827,
+0x6f98b8f4,
+0x22845b51,
+0x8f84904c,
+0x4b6c6a7b,
+0x6eb08c51,
+0x988e9e93,
+0x2a8ac8a7,
+0xe38ee236,
+0x60a98fb7,
+0x8dc92fb1,
+0x62fbf3eb,
+0xde09e7ba,
+0x25ed246d,
+0xcc84ad9c,
+0xfe9f581e,
+0xd72c2b2e,
+0xd9db8564,
+0x2f739a79,
+0xee37b051,
+0x5951e320,
+0xc3a01c4b,
+0xa690817a,
+0x91b29a62,
+0xee2209cf,
+0xe97623ea,
+0xfd6d8ead,
+0x69671e1c,
+0x3b9459dd,
+0x492815ea,
+0x7e85727b,
+0x9f77aaf1,
+0x928ff19a,
+0x83cce1fc,
+0x4913fe7a,
+0xf1029dfe,
+0x714e6e4f,
+0xea6c437c,
+0x36dac7b6,
+0xacfa95b2,
+0xdbe0dd8f,
+0x098fa05a,
+0xf9a47972,
+0x3bb39e45,
+0xe4d6500d,
+0xc1d904c9,
+0x2c9ea80e,
+0xfdd631c9,
+0xdd76c64d,
+0xaccbe440,
+0xec8aaf22,
+0xd7473b36,
+0x7545cc50,
+0x65b9d771,
+0x68854b51,
+0xb0a7e535,
+0x046fc222,
+0xc79602e2,
+0x42010b12,
+0x47109f9a,
+0x2a55cbb0,
+0x51376861,
+0x99062869,
+0x189a65b8,
+0x7c8d9a04,
+0x0b06998f,
+0x337f9051,
+0xdc4e37eb,
+0xb03087c8,
+0x6d6ac0ee,
+0xd54777f8,
+0x66c39608,
+0x55b1d0d8,
+0x7871ce58,
+0x1ad8d093,
+0x168c1ccf,
+0x8ca43657,
+0x1ace648f,
+0x7f6ca8f7,
+0xc19e85f5,
+0xa06fea91,
+0xf42a888e,
+0x432c5649,
+0x20eca594,
+0x03c39521,
+0x62234807,
+0x3057def1,
+0x8aa893a0,
+0xb2a407f7,
+0xb454e224,
+0x0dce2a7b,
+0x49750767,
+0x6d7ca94b,
+0x9eb32cfe,
+0xcd357f50,
+0x3e02a3a7,
+0x08e561b7,
+0xba2ee729,
+0x30ac69b2,
+0x9f31a809,
+0x95902b98,
+0xc89497ae,
+0x00ee0364,
+0xe7e5fadd,
+0xaf3c5b3a,
+0x55e3f93e,
+0x67723cc3,
+0xd6073597,
+0xcde7dcf4,
+0x5b2247e9,
+0xaae02934,
+0x48e99fb7,
+0x356327f8,
+0xaf09f87c,
+0xd8a4b428,
+0x8eac5250,
+0x55f48d4c,
+0xebe92d39,
+0xa2805a33,
+0x27ce8883,
+0x54cc8a52,
+0x621db838,
+0xb6ee3dd2,
+0x2b59eb5f,
+0xf234f5c5,
+0x8ff9d72c,
+0x5bd4f6e9,
+0x30c3be56,
+0x8e19d7fc,
+0xbdb045e9,
+0xcac73d55,
+0x6d33b79c,
+0xd69c9f86,
+0x87b46e71,
+0xce7f7f5b,
+0x46eaa212,
+0x8fa2e6ee,
+0x11291804,
+0x8e57ac47,
+0x7353f364,
+0xbffd78bb,
+0xef2c7b9d,
+0x7c2229ac,
+0x98b2b211,
+0x1b62c794,
+0xb9044e04,
+0x3f910158,
+0x6ce9fe7c,
+0x641cc646,
+0x312c30ce,
+0x2afcea50,
+0x15501566,
+0xad5e3bb0,
+0x7081d9a0,
+0x69162a21,
+0x4bcb48ad,
+0x44392748,
+0x95105753,
+0x6c54b554,
+0xea030b7b,
+0x926bc20d,
+0x77094848,
+0xfc015e98,
+0xe52cd7a2,
+0x45558e6e,
+0xefac11c1,
+0x4f29b4a4,
+0x9850d0de,
+0x1acc11f4,
+0x715072ce,
+0x56b9c048,
+0xa810b744,
+0xbdf11121,
+0xc11781fb,
+0xa31ef376,
+0xea3a8508,
+0x956293c6,
+0xfc95c69b,
+0x4c6af642,
+0xf9f17432,
+0x89b2366d,
+0x828ed2c6,
+0x00982f5d,
+0xb7df053f,
+0x544a8992,
+0xc338ab4f,
+0xe17372a1,
+0x6ef65113,
+0xc1f189b4,
+0x4a2137f9,
+0xff4b9fe6,
+0x35c0b428,
+0xabfc4940,
+0x4a2c7379,
+0x6891bd93,
+0xfc699175,
+0x19dff854,
+0x6e38e8a2,
+0x3f8fbc2f,
+0xad01be9b,
+0xad80fd12,
+0x2447e378,
+0x5bf1d52e,
+0x7320f5de,
+0x208945f0,
+0xa8f486e9,
+0x3d94983f,
+0x92ddb928,
+0x958e9e21,
+0xbcd7add4,
+0x0432c02f,
+0x38a8e73b,
+0x3bd59519,
+0x78cb578c,
+0x66d4f7d3,
+0xbef7ab00,
+0x33a5265b,
+0x286048ae,
+0x7348e652,
+0xb616b76c,
+0x2a7b7af0,
+0x8a26ceea,
+0x5d060d10,
+0xaf5e3336,
+0x55885c29,
+0x437cd6b0,
+0x2a0aa0f3,
+0x914fef18,
+0x60639191,
+0x8fd1b4dc,
+0x3210ace5,
+0xdb1d0cf4,
+0x4f7ec4d5,
+0x88a81765,
+0x961ec3bd,
+0x306ac03e,
+0xc0ec606b,
+0xc0db5ccf,
+0x43bb2e77,
+0x79dc017b,
+0x61f03719,
+0x2c1be47e,
+0x2c37d6ec,
+0x63fea1d3,
+0xa40d9a87,
+0xaeba19da,
+0x9ceb85d5,
+0x92178407,
+0x16ff30c6,
+0xa3fa94a1,
+0xc4c809e9,
+0xa468871c,
+0xfef81d7f,
+0x001ece88,
+0x7704cb5b,
+0xe6e8ef1e,
+0xcd7f3384,
+0x820c2529,
+0xa428cb22,
+0xe6a9ac56,
+0x226132ea,
+0x0ca4b8de,
+0x4d3509c0,
+0x43e6d774,
+0x71d92e96,
+0x449eaf8f,
+0xb69f80dc,
+0x5e977b22,
+0x2f101b72,
+0x97d9605e,
+0x6ea51df4,
+0x40b25b2c,
+0x2001ae24,
+0x06a4a62f,
+0xf7c098a5,
+0x6f00e2fc,
+0xe9f05bdb,
+0xc8bda1db,
+0xee616216,
+0x6d84e838,
+0x4ac4e9a3,
+0x9534c429,
+0x6bbfc525,
+0x42ff04ee,
+0xc21b3106,
+0x397b7424,
+0x457f6ef7,
+0x7a9c0cca,
+0x210cbb7e,
+0xea65792a,
+0x1733a330,
+0x94d3338a,
+0x4b85263f,
+0x11d7c276,
+0x76b66a45,
+0xeabb70d6,
+0xaf565312,
+0xe0972221,
+0xf413dc0b,
+0x8c403e10,
+0xf635101a,
+0x709763c0,
+0x3951c2b0,
+0xfc55ee12,
+0x02a9f81b,
+0xba3dd554,
+0x06b35e46,
+0x391ccd8f,
+0x98ebb1f1,
+0xddef0d3e,
+0xe95538cb,
+0x26875edb,
+0x11340c00,
+0xfbf04d19,
+0x976d5b29,
+0xc74a929f,
+0xb5d3614b,
+0x76e8594e,
+0x2ddccc19,
+0x148bd94a,
+0xf4d4996e,
+0xe1439701,
+0x2118f0c6,
+0x158527e8,
+0x46ef849e,
+0xdc8085fa,
+0x51d66715,
+0xb9d857ca,
+0x5e497273,
+0xd0ee1e97,
+0x36265732,
+0x2b044e48,
+0xf7be39fe,
+0x9eb6afa7,
+0x5b4a92ef,
+0xeba1c802,
+0x11196e8a,
+0x3b48d823,
+0x9fe7c1b0,
+0xeb53f9e2,
+0x0e696c0d,
+0x4adf39d5,
+0x0adeedf6,
+0x55b7751a,
+0xf5ef8020,
+0x106acc11,
+0x35185166,
+0xf435a888,
+0x432249a5,
+0x293e3b75,
+0xec47bc15,
+0x4efcd9a8,
+0x0a16d004,
+0xcad51210,
+0xe4153e72,
+0x98c89776,
+0xdb2ffb9f,
+0x38ca03cf,
+0x07201be4,
+0x604fd9dc,
+0x15ef6a45,
+0x5b450d09,
+0xf2b2b053,
+0x763dfac2,
+0xb6ea47b3,
+0x811ddcf6,
+0x45444af7,
+0x2b0bfce5,
+0xcddf5d03,
+0x270ad807,
+0x8fe11932,
+0xe1d31365,
+0x8dae40e2,
+0x5054f88c,
+0x755cdcb6,
+0x40a5a366,
+0x5d4aa655,
+0x17df9aa0,
+0x4130fd3a,
+0xf9705a96,
+0x1cbcd681,
+0xf554aab5,
+0xb15b537d,
+0x52cafcd0,
+0x9c67024d,
+0x80cf4019,
+0x7cc33184,
+0x8d753a85,
+0xe8365847,
+0x169676e0,
+0xa75b184c,
+0xd2c36f1c,
+0x28c7b15f,
+0x9f9ab21f,
+0xf2afb261,
+0x7f3a6a47,
+0x9b9cc22d,
+0x28f3c377,
+0xd420f06a,
+0x700bbba4,
+0x02df6d08,
+0x9fde5e23,
+0x7aeb2a1b,
+0xc43c2318,
+0x6504c9ed,
+0x7246d386,
+0x909b0927,
+0x69ad96ed,
+0xffa54342,
+0xab853291,
+0x4f74634c,
+0xd67c331a,
+0xb9a87722,
+0xa5b08c3b,
+0x1d90b210,
+0x2db2963f,
+0x8a5ea1bd,
+0xf95aeb8e,
+0xf3dd2569,
+0x5a696205,
+0x2df4a42f,
+0x6a6646a1,
+0x436d8ac0,
+0x24adc05c,
+0x8e6b1fa3,
+0xecd0be1e,
+0xc95250f1,
+0x8a36949f,
+0xb099b24c,
+0x5a986c24,
+0x9ed649c2,
+0xd2eca182,
+0xd719fd3a,
+0xe259fe65,
+0xdfe60f9a,
+0x2fb6fd00,
+0x10aa6c37,
+0xabb6492d,
+0xf340d2dd,
+0xde23f880,
+0xa594cd9d,
+0x53d3c213,
+0x6bf2dffc,
+0x2f330478,
+0xd99d774e,
+0x797329ae,
+0x17dc856d,
+0x7d565d4f,
+0x4cae306a,
+0x92d9ae00,
+0x67b0f058,
+0xa6b9c90d,
+0x58e96572,
+0x1bc373aa,
+0xb18f2916,
+0xcb67205a,
+0xbbd0ed67,
+0x641eec97,
+0xfe40cc08,
+0x966841f3,
+0xc3069545,
+0x603be9dd,
+0x2c249074,
+0xff879b23,
+0x4a92b7e3,
+0x36ea40fa,
+0x44984dd9,
+0x7f63c262,
+0x349602c2,
+0x788a42ac,
+0xf434f732,
+0x0d1a0a9a,
+0xa1fc7b97,
+0x248b6670,
+0x8587fc3e,
+0x6b68b1ad,
+0x0524f45e,
+0x7b22de02,
+0x86527229,
+0x7a453d02,
+0xde64b190,
+0xfd9de60c,
+0xef6edd29,
+0x57ce2d75,
+0x49bc3537,
+0xa94caa9d,
+0x26ff46ab,
+0x38523294,
+0x2af15959,
+0xc0f57c51,
+0xbdceac5f,
+0xc0b150e6,
+0xf57e8e78,
+0xafba4d26,
+0xa3e062e1,
+0x9f8593e9,
+0x1c50b095,
+0xccca9479,
+0x982110fc,
+0x985b69a0,
+0xfc4cb0f3,
+0x1b505002,
+0x66664b87,
+0x3a22f3f3,
+0x1ba5c16e,
+0x820a239e,
+0x31b94cfd,
+0x3f2c3b63,
+0x5bed303b,
+0x7c83cd69,
+0x10314e9d,
+0x5a876cf3,
+0xdea5ea3f,
+0x42ce9ad7,
+0x0c0e21bd,
+0xe31831f0,
+0x047bfab1,
+0xb2648319,
+0x64c63e5e,
+0xd7c65f67,
+0x2f695b2f,
+0x7a19d603,
+0x346fc8c2,
+0x147bf2ee,
+0xb43228dc,
+0xeb9d0494,
+0x083ea51e,
+0x9b38370f,
+0x5e9ef147,
+0xfffcb98a,
+0xdb624b81,
+0x9034d105,
+0x2973f432,
+0x3bd8ffb6,
+0x11a99a54,
+0xd4a1098c,
+0xe5aaefc6,
+0xbb1a67c5,
+0xf0e6ad4c,
+0xc13c73ca,
+0xc6533a2c,
+0xeb4a62b3,
+0x2acafd5c,
+0xca8030a8,
+0xe4bc64e9,
+0xb2ff9f06,
+0xf9224ce5,
+0x140d8947,
+0xbd390d29,
+0x2f9f3f27,
+0xafa01bbd,
+0x2dc17a05,
+0x30124497,
+0x75b74270,
+0xd77aeeaf,
+0xc6ca98ba,
+0xb40744b6,
+0xda95a69a,
+0x88f67631,
+0x793f9efe,
+0xf3ebc2e6,
+0xa645784e,
+0x77ff409c,
+0xf44e0c36,
+0x5691da82,
+0xe37bb7fe,
+0x68863be6,
+0x8015d231,
+0x8d408837,
+0x0a09595a,
+0xecf432fa,
+0xf256f8a0,
+0x718eb22d,
+0xd12676f9,
+0xfe8a16e8,
+0xcd792040,
+0x42a8333f,
+0x9175ee97,
+0xeefc7a0f,
+0x68cd164b,
+0x5b2648c6,
+0xac0ac122,
+0xdda0d7a3,
+0x9847e802,
+0x1eb26751,
+0x9a576655,
+0x68534211,
+0x1b12a4cf,
+0xae2b2f8b,
+0x26c267cc,
+0x694753c9,
+0x68fad247,
+0x9909c782,
+0x94b13de2,
+0xcd0d6e1a,
+0x5f7f3433,
+0xf961348f,
+0x4ba1aaac,
+0x04b11dba,
+0x78037a0c,
+0x3b3bef9f,
+0x7ea4bd27,
+0x1d8c6998,
+0x00ff4444,
+0x06717ecd,
+0x0e5cf2e9,
+0x239dcf9f,
+0xb986660f,
+0xf9aa68be,
+0xeeeb55a7,
+0x307ccfcf,
+0xfc48cebb,
+0xe06db51b,
+0xeb412f4c,
+0x59cd1d7d,
+0xc9cd1356,
+0xf8eae237,
+0xf2ed2299,
+0xf2c69417,
+0xbb3d5cfb,
+0xea6ff182,
+0x8f3194b5,
+0x7858b580,
+0x267363ad,
+0x43be3b37,
+0x66f6f7a0,
+0x88e9a732,
+0x02aed71f,
+0x46b618d3,
+0xb1069c51,
+0x37d0e747,
+0x07d1d111,
+0xca721af7,
+0xb3ef62b3,
+0x78fb9131,
+0x0cf59e86,
+0xb149164d,
+0xea0680f3,
+0xfde83786,
+0x0ff3d983,
+0xd6805128,
+0xa1605df3,
+0x847d2599,
+0x137f60c8,
+0xfc09dd10,
+0x1c4dbd5f,
+0xf87d4c04,
+0x77f2fee5,
+0x568e0a84,
+0xa35ebb51,
+0x2ab91e21,
+0x8557ced4,
+0x7e5c3934,
+0x605eb788,
+0xbe24a0b6,
+0xc75ef44c,
+0xe28212ee,
+0x0abb16a0,
+0x508e08d2,
+0x81e27c5e,
+0xb7ac0b32,
+0xfe25ae90,
+0x87aaecf5,
+0x130ac5f0,
+0xbcd40ed1,
+0x09be7ed5,
+0xea946534,
+0xb3eb6bb5,
+0xcb8660ac,
+0x15260b93,
+0x9d0b44ab,
+0xdc90ffab,
+0x7d05be3d,
+0x4584463a,
+0xa57a4849,
+0xc76a5321,
+0x038aa77c,
+0x0892e879,
+0x812ea210,
+0xeff4ded2,
+0xba89fa17,
+0xf6fee870,
+0xa2886a03,
+0x05dce733,
+0x2bc7d367,
+0xa1cce8d3,
+0x5c4360d8,
+0x1120aa12,
+0x5c34d2cf,
+0x4bb9ae09,
+0x53cbd618,
+0x8f5e0ace,
+0x96c2f573,
+0x86f8590f,
+0x6d8cd9ff,
+0x6048ac57,
+0x7b1ba0fd,
+0x8d4318d8,
+0xc40d24c7,
+0x006000e8,
+0x92d13a6f,
+0xc6250a4e,
+0x4dd8b94a,
+0xe1a98d18,
+0xf5d78dd2,
+0xee0a9880,
+0xfcd0321b,
+0x903fdd40,
+0xea0b8e62,
+0x7c3e945e,
+0x0598e5da,
+0x0548a5a8,
+0x5413c2ce,
+0x2c44c7e7,
+0xb6c5297a,
+0x02318ff5,
+0x1dca4b2f,
+0x99db9500,
+0xf663e666,
+0x7e19183c,
+0x49a8cc0c,
+0xe6ad6a0a,
+0x657ec822,
+0xd8846eb4,
+0xc0da5798,
+0xdd0eea7c,
+0x46337564,
+0x2edc5e55,
+0x393d7e7e,
+0xd136e982,
+0xe0472092,
+0x7ecb0a3f,
+0xd3d290b9,
+0xfd8b0cbf,
+0x87e48fa8,
+0x5e2fee9f,
+0x6d9d3810,
+0x8a41566d,
+0x997663aa,
+0x0a8b05e4,
+0x0c75f27d,
+0x9a52c96e,
+0x8dacfcf1,
+0xac1e25bd,
+0x69959715,
+0x0689ecd0,
+0x9c182272,
+0x0d363b7a,
+0x73ec66e8,
+0xfc2c8d31,
+0xad6cc9f1,
+0x0e5c19a7,
+0x20d67f0b,
+0xe6f959ec,
+0x54b89761,
+0x3a1625c8,
+0xb6739ca7,
+0xc4bca5ec,
+0x2ff12a8c,
+0x47d602fe,
+0x0d804bed,
+0x9716d52f,
+0xb6189d69,
+0xc54a0437,
+0xdc890836,
+0x3e859ec9,
+0x65666fbf,
+0xc5a5239c,
+0xa819e592,
+0x1e2b8677,
+0x04c14ff5,
+0xaacf564d,
+0x208acd90,
+0x97eaaefb,
+0xff372f41,
+0x6a9f1725,
+0xa1a9e539,
+0x8d1fc073,
+0xdc4166f9,
+0x96e93ebe,
+0x2741002d,
+0x1a026ef9,
+0x74df54ee,
+0x5b59e0a4,
+0x12cc2717,
+0x3ef72ac7,
+0x42e8e1c3,
+0x5b6db664,
+0xf1e8d803,
+0xe563f180,
+0xe6fbee2f,
+0xf34668c1,
+0x82b089ac,
+0x1cd4d445,
+0x571820c3,
+0x1e553b1c,
+0x3d0dc8ba,
+0xf87037a0,
+0x7b2ce351,
+0x6495621d,
+0x7f4d2fe4,
+0x967646a6,
+0x49ffc551,
+0xf9670087,
+0xcaf67292,
+0x20e4254c,
+0x9ae3c772,
+0x091e6ac6,
+0x9fc7ecd2,
+0x021de8a9,
+0xd7906ef7,
+0xb6ecddac,
+0xba7ec71a,
+0x3c23d124,
+0x68b361ee,
+0x9030d41b,
+0x7d39ab43,
+0x555cea54,
+0xa14cc26a,
+0xe2e140d6,
+0xb161afc8,
+0x35b75a96,
+0x0f55a554,
+0xb1cf66cb,
+0x23811fd4,
+0x2164f593,
+0xb88102b3,
+0xdafa9238,
+0x88b365f7,
+0x92c22c38,
+0x97b19c87,
+0xd656c5c5,
+0x618abdb1,
+0xb7478056,
+0xadd9f74b,
+0x409b67fb,
+0xbd8e5581,
+0xa59f6422,
+0x53911bed,
+0x54cb4a30,
+0x495576c7,
+0x8f3b4ea5,
+0xa06f765f,
+0xf0e0f7b6,
+0x108f37ba,
+0xdf07b53c,
+0x01e3bd2f,
+0x43817eb0,
+0x3a9cfde0,
+0xb96e3503,
+0x912ea59e,
+0xb8fbe5cf,
+0x904c69da,
+0xbe580976,
+0x11ca0abb,
+0x06b183b3,
+0xf818963d,
+0x0b1ea076,
+0x2324cd1c,
+0x133ea1e6,
+0x56ac7cef,
+0xf347062d,
+0x5573054d,
+0xa0740cbc,
+0xfc9b060e,
+0xc2cf016d,
+0x288c2d6b,
+0x22a614c4,
+0xfbc09fc4,
+0xbfc40bd2,
+0xa68c6991,
+0x7113073c,
+0x8e861e7a,
+0xa254f10c,
+0x631073f6,
+0x3cda7033,
+0x4fa58026,
+0xc39272e7,
+0xa8ae0a16,
+0x355f1701,
+0x69a4fefd,
+0xadc3265c,
+0xa83f63db,
+0xfc433204,
+0xba32f048,
+0xef08235d,
+0x6fdfe695,
+0x379b2757,
+0x9cf3bf7a,
+0x5cf2bd99,
+0xd1321e06,
+0x9bdf232f,
+0xa2632c23,
+0xa70fa012,
+0x2dd04889,
+0xd53c0d33,
+0x524ec897,
+0x3984dac0,
+0x8c1e010e,
+0x297b5d0f,
+0x93717bd7,
+0xfac46d7b,
+0x02f54a4b,
+0x67dfd9a3,
+0x62d1b154,
+0x547dfb2d,
+0x69d3b7ea,
+0x4d135c50,
+0xb8b08be7,
+0xbd0fb5f2,
+0xe0e3063b,
+0xb45efff7,
+0xf1beb478,
+0x6a04d730,
+0xc30d5de8,
+0x303e1c20,
+0x2f7148ed,
+0xc39500aa,
+0x1dd05468,
+0x94e243e9,
+0xdb799808,
+0xcc273d3c,
+0x6d5f781f,
+0xb24b0b00,
+0xea604b11,
+0x66e92bbd,
+0x4555510c,
+0xed614cd9,
+0x1840864e,
+0x5872e94a,
+0x3d0d1e17,
+0x8312cf2f,
+0xd27f5af2,
+0x212d5e8b,
+0xa35114ef,
+0x7cdbd2d9,
+0x190806d0,
+0x32c525e0,
+0x2edec857,
+0x4c69033c,
+0xba7970c8,
+0x41ea47a5,
+0xec9435a7,
+0x60b0a407,
+0x6332af3d,
+0xf39c0a7f,
+0x71eb74c2,
+0x88a00457,
+0xa64d794a,
+0x90990c0c,
+0x683cef12,
+0xcc0a63b0,
+0xd45ad1db,
+0xfabf6a01,
+0x80ae66fd,
+0x1ae8d7c9,
+0x2df10336,
+0xffb1a1ec,
+0x35c0745a,
+0x6dddbe89,
+0x2a726471,
+0x73c16a4f,
+0x109c6ed3,
+0xd7201ade,
+0x890dc68c,
+0x3a4f4697,
+0xea128f6e,
+0xecc6bf26,
+0x5a3955ef,
+0xf7c02c4c,
+0x9cfcf3df,
+0x4df2ac4b,
+0x5800cbd5,
+0xa4a41b25,
+0x6085f861,
+0x83105ab8,
+0x9b726e83,
+0x8201bcc7,
+0xfdf47166,
+0x1eb0de61,
+0x96e83dca,
+0x82deb85f,
+0xf23fbe9f,
+0xde801dc1,
+0x026076b6,
+0xb1d43e79,
+0xec2a6a67,
+0x8dc851e6,
+0x580f661f,
+0xa218c8e9,
+0xb2545788,
+0x84591795,
+0xc994407a,
+0x0aba90f2,
+0xb1c4c5a8,
+0x83cf94a8,
+0x5174dc94,
+0xc1c4974f,
+0x5c3cfd86,
+0xa61294b0,
+0xcc2c3846,
+0x9cc0a733,
+0xe0f5bdc7,
+0x078fedfb,
+0xc40f1f94,
+0x56ff364f,
+0xa22198ad,
+0xf2cd9143,
+0x60ea2134,
+0xdb6aa85d,
+0x6dfc6dc1,
+0xd323ee4f,
+0xbaa2b50c,
+0x0375635c,
+0x44f34ba3,
+0xba3de097,
+0xbc40e5aa,
+0xa9574f14,
+0xe1174fdd,
+0x572eaf03,
+0xaa9ef5ab,
+0xa480e23f,
+0x0328d42b,
+0x482b6285,
+0x71423228,
+0x6884b23f,
+0xb8a4cd4d,
+0x3a7f49ed,
+0xf98a77ee,
+0x14c0d8b2,
+0x7ad4a8c6,
+0x1f400f49,
+0x11d4aac2,
+0x1a721a3c,
+0x6077149c,
+0x02ac9f9f,
+0x7d9cb594,
+0x80655c0a,
+0x976bd7fc,
+0xcbdb96be,
+0xc2171f4e,
+0x7e18cd90,
+0x0366eb67,
+0xcda61d6c,
+0x8cb99bed,
+0xbd6bdd3f,
+0xc2451299,
+0x686fcfcd,
+0x950f26a4,
+0x572e373f,
+0xecbed36d,
+0x7eaab874,
+0x026c4054,
+0x423ddaaf,
+0x38c386e0,
+0xb834b0be,
+0xd8b9a1f1,
+0x3f4c3426,
+0x0ff77ab9,
+0x3e5f63d1,
+0x1db87ba9,
+0x7b071ab4,
+0x149ea101,
+0xd443709d,
+0xa192e736,
+0xe43caeab,
+0xcc909686,
+0xff48d80f,
+0x0d64bf6e,
+0x4312db91,
+0xa04e229d,
+0x75609bf9,
+0xaf55b03c,
+0xd9879311,
+0x92d1eb09,
+0x2a1a94ec,
+0xbb155359,
+0x6e7a557a,
+0xdaed80d1,
+0x53fc5e5f,
+0xfd21a587,
+0x4d15f33b,
+0xd58005f7,
+0x5c5cb142,
+0xc9d4239e,
+0xa73ba8ce,
+0xd2b0ec2f,
+0x67994c58,
+0x53d79140,
+0xc02eac5c,
+0xd46fdc39,
+0x876d00b1,
+0x542be9a0,
+0x0845982d,
+0x3b1b9c81,
+0x69582e46,
+0xe747db19,
+0x1c0270bb,
+0xe74c63c2,
+0x102b3d6d,
+0x5d79b40d,
+0xd9b9c1e7,
+0x85ddb1cd,
+0x390fc076,
+0xdc8a89b4,
+0x3bc8e3b9,
+0xa4460871,
+0xed9f7a94,
+0x4d752473,
+0x6a4f1cef,
+0xf7d7e887,
+0xcee38f0a,
+0xaf62e6e5,
+0xd28ba571,
+0xcbd580de,
+0xe7ab6169,
+0x74b903ba,
+0xbfe251b0,
+0xa8adf62d,
+0xf1f1b20e,
+0xf0843410,
+0xe8d9a886,
+0xb848c59e,
+0xa4a6aced,
+0x9500cc66,
+0xd813485a,
+0x254d7365,
+0x3e254096,
+0x34db126f,
+0x960ad383,
+0xf6cec448,
+0xe471fefd,
+0x19deac98,
+0xaf784763,
+0x6f7827c7,
+0x21d6c158,
+0xc0e56044,
+0x8fa7ac8b,
+0x0c075160,
+0xd548dd6a,
+0x61686c94,
+0xa2a3fe4b,
+0x4c73b750,
+0x917fec47,
+0xdcf27cd0,
+0xa0e5169b,
+0x41172b2e,
+0xbcc37c23,
+0x93e2be43,
+0x7a22c186,
+0x9a8f7e47,
+0xbdaf422a,
+0xd640f0ca,
+0xfcbc0f00,
+0x98381ff5,
+0xe8cf40af,
+0x13430848,
+0x5a0e09ce,
+0x5e759bdd,
+0x6ec0881c,
+0x0ac948fb,
+0xd24b33ff,
+0x2bab38cb,
+0xbc968dd9,
+0x696ea419,
+0xb2b6fb46,
+0x1bf4bf6e,
+0xc8110721,
+0x9380ee0e,
+0xc7bdf61c,
+0xeb8f95bb,
+0xe5c72b20,
+0x8d065648,
+0x3f658b32,
+0xfb51955c,
+0x70abcb30,
+0x622cb37b,
+0xce832732,
+0x324858d4,
+0xf72da37a,
+0x77a82877,
+0x9fa0c1c1,
+0x8880001e,
+0xdc85baab,
+0x6812f00e,
+0x137c9b45,
+0xeb10ff3f,
+0x9baf571e,
+0xe5d4d360,
+0x9ebf21fc,
+0x17bed331,
+0x4933ef6d,
+0xc9cedba6,
+0x4bbcdb97,
+0x07bf5edc,
+0x32cc35f5,
+0xbcb5b0dc,
+0x1e4a3031,
+0x58cd072b,
+0xa6d8905c,
+0x349c25e0,
+0xb9fe0325,
+0x9fc9a542,
+0x1cb3ad9a,
+0xc9f1fa76,
+0x37a987b8,
+0x14b359a0,
+0x636499cf,
+0x87ada203,
+0x749fdd6e,
+0x55bebdd6,
+0x3ae60796,
+0x5a3551be,
+0x90e58909,
+0x30747437,
+0xd53ce16c,
+0x39a01a36,
+0x7ed46fea,
+0xea5dd2f0,
+0xa5d35455,
+0xe2fc7d35,
+0x364e44d6,
+0xc4cee23e,
+0x5302b802,
+0x14b5a65f,
+0x9deb8e95,
+0xce242b9e,
+0xe24545ac,
+0x4824a696,
+0xafaff199,
+0x498cdeda,
+0xdb10f2c8,
+0x37eacdbf,
+0x3efdf330,
+0x59f6d158,
+0xa09dbfea,
+0x270a60bd,
+0x9f5309c4,
+0x65ddd8b4,
+0x18655505,
+0x35f90cc3,
+0x9039ca10,
+0x168c4aad,
+0x363717a1,
+0x87db7d65,
+0xbe3bd864,
+0x1948c3d9,
+0x109116a2,
+0x85137a54,
+0x0e916aab,
+0x8146801e,
+0x750fe6b1,
+0x40cc101f,
+0x2ac6615b,
+0x33367258,
+0xecac8219,
+0xd9b6d33c,
+0xb6e82e57,
+0xd36f556c,
+0xe41327c1,
+0x7d2a4cde,
+0x8f857783,
+0xa3b32d2f,
+0x9f31defb,
+0x4d571a6e,
+0xc99d5802,
+0xa746e0a3,
+0x9d358bbd,
+0x2c478b0c,
+0xd381728c,
+0xd20637eb,
+0xd7a45296,
+0xd9f4dc55,
+0xf2804b4a,
+0xb34a08fd,
+0x2074b911,
+0x71cb06f3,
+0x0f253989,
+0x8e3e3609,
+0xe4b0e3cb,
+0x06ceaadf,
+0xcabb7a49,
+0xf56dbb19,
+0x5147ca3e,
+0xf9d2a7de,
+0xdb59674c,
+0xaba8c1bd,
+0xa5080ace,
+0xe94f7033,
+0x2c66d816,
+0xaa398c0b,
+0xd7da8996,
+0x79889cd7,
+0x47152f47,
+0x6615f0ac,
+0x22a8b11f,
+0x74c4d69c,
+0x80a59252,
+0x346e08b3,
+0xdd5750d6,
+0x54b5f561,
+0xa6b32693,
+0x48dd4cc6,
+0xea557ad9,
+0x66ad0ab9,
+0xe0cf607f,
+0x4715ef5f,
+0xa38a9656,
+0xa508c107,
+0x788aa8dc,
+0x5ddde920,
+0x2c3cddb4,
+0x1cc906b7,
+0x0594d88d,
+0x9e8cf5e3,
+0x3d6ef598,
+0xd481c6e9,
+0x50516883,
+0x79cc9c1d,
+0x4a90aa39,
+0x60efa0fb,
+0x097ce1e9,
+0xf4722134,
+0x35608c80,
+0x196890f1,
+0x4241f600,
+0x69d94766,
+0x8db386ad,
+0x92a83d99,
+0x69332d01,
+0x4cbed738,
+0xc3894c56,
+0x84efdb62,
+0xa8f35a4a,
+0xf0374549,
+0x4168858a,
+0x6bb01f2c,
+0xfca83848,
+0xcaaffba6,
+0x304d13fa,
+0x3c52db5b,
+0xbd12720c,
+0xe5d8ae8c,
+0x7226beef,
+0x798fdb7b,
+0x6afc9817,
+0x3425efe0,
+0x0e607607,
+0xd6029659,
+0x8deeb1b7,
+0xb82a1c6b,
+0x52d1b0d7,
+0x0261538d,
+0x5ccfac55,
+0x198e8b1f,
+0x72b9da15,
+0x7f79d5ce,
+0x7853be29,
+0xea7ef20c,
+0x914db487,
+0x96785e4e,
+0x9cba612d,
+0xa8223bb0,
+0x3043625a,
+0xa2320e26,
+0x295c4900,
+0x3e02071a,
+0xd358afa0,
+0x0c78250f,
+0xdc724c4a,
+0x391f1231,
+0x551e70f4,
+0x0b43d24a,
+0xea2d1caf,
+0x2acf98fb,
+0x57d921de,
+0x74ec17e0,
+0x3099f4c9,
+0x2a6d56fc,
+0x46db6ae3,
+0xf48a6850,
+0x02fdbea1,
+0xffcbabec,
+0x78f553a8,
+0x0fb0f9f9,
+0x08fcfdc7,
+0xd473ec1a,
+0xcee0cfe5,
+0x342d9c45,
+0xf101d13b,
+0x462d761c,
+0x4f72e2b8,
+0xb38dd876,
+0x8f28a7ae,
+0x3eff2d40,
+0x6b98d117,
+0x868813de,
+0x0c842904,
+0xbb975df2,
+0x091956a1,
+0xe096f923,
+0x07dffaab,
+0x495f624c,
+0xc0faf15b,
+0x771d197c,
+0x0a147121,
+0x996688d3,
+0x45f5b4ec,
+0x4d31f02d,
+0x5051f944,
+0x0f750360,
+0x7bdbc845,
+0x06f5aecd,
+0x90fca2f4,
+0x0661aca9,
+0xd794316c,
+0x27d380c5,
+0xc8e430be,
+0xefb7d451,
+0x8c3f7e17,
+0xca937b42,
+0x5c7c0f78,
+0x23cdd9e9,
+0x3849b36d,
+0x33e22877,
+0x81ac6900,
+0xd371b5f5,
+0x74f1d39e,
+0x41855f11,
+0xa6121eac,
+0xb17dfe50,
+0x4e5f3e31,
+0x2a27764a,
+0x4e9e8bb9,
+0x135c71f7,
+0xa07721a1,
+0x525a4b3b,
+0x783f712c,
+0xe18c09c7,
+0xc10ae81d,
+0xef5b48f2,
+0x0629d43b,
+0x75c59ef7,
+0x285632f1,
+0xd6ff159c,
+0x39723145,
+0x7149ecf5,
+0x86cf3c3d,
+0x28582ee7,
+0x68bb92a4,
+0xbe97c5d0,
+0x8681edd0,
+0x5d5cd238,
+0x0a21d02c,
+0x15863208,
+0x66650676,
+0x799d2a03,
+0x8959d304,
+0x1b390533,
+0xc1fd2c3d,
+0xd8136638,
+0x5ca923ff,
+0x21aee1be,
+0xe5ba137c,
+0xce3ddc80,
+0x495cadd0,
+0x2d5be2de,
+0x0eb7679a,
+0xf9ff85c8,
+0xe0362bc3,
+0xa6abd121,
+0xd9808743,
+0xcf45d41d,
+0x524ad827,
+0xe3dd36f1,
+0x0f4d5f1b,
+0x088c9707,
+0x7e1dbe8e,
+0x22ae78fd,
+0xa557aa74,
+0x6bd14845,
+0x92242982,
+0x0ecef185,
+0x8708704e,
+0x7df74292,
+0x0f4b1047,
+0xc94cace7,
+0x2d9f4554,
+0x97f739d7,
+0x21f224d6,
+0xf390aae3,
+0x71b874e0,
+0x1dee4954,
+0x7c9cc698,
+0x8ed967e0,
+0xef94fc25,
+0xc6d64219,
+0x5ca97f72,
+0x8998c7a3,
+0x452bcd1e,
+0x3ed29435,
+0xbc322a9b,
+0x3038bf43,
+0x066470f7,
+0x71262c49,
+0x2adcd23b,
+0x84d63bf8,
+0xdc073dba,
+0xf3a553ee,
+0xcf04667a,
+0xe5250101,
+0xb0b7efd7,
+0x13299bee,
+0x3a2bbb84,
+0x6354accc,
+0x1c8b82f2,
+0x25c23e4f,
+0x2a75c44a,
+0x6476f514,
+0x60e1df06,
+0x86397f7b,
+0x85c3c8e2,
+0x187792c7,
+0x3b65782f,
+0x437ee2e9,
+0x67c58d4e,
+0x6994e65f,
+0xd5b1493c,
+0xd5969027,
+0x751b2788,
+0x6b0add6e,
+0xa84ef7e2,
+0x60548bec,
+0xd736d66d,
+0x490798c7,
+0x2eb1e08d,
+0xdb0ef29e,
+0xaa587e90,
+0xf9c65398,
+0xf31bbb16,
+0x141d08e4,
+0x12348efc,
+0xe3d9ca63,
+0xc51e4cb6,
+0x3a2b2600,
+0xc56bef06,
+0xfaf1f586,
+0xdd7870fc,
+0x596e955d,
+0x83e44cad,
+0xe8f92081,
+0x0dcb32a3,
+0x824d576a,
+0x6863c306,
+0x58399512,
+0xda131485,
+0x5cef5044,
+0x2dcd0872,
+0x58ef930c,
+0xfa323def,
+0xb54ad0a2,
+0x7a5a06e5,
+0x163dcb6f,
+0x4cd4e873,
+0x8661fb58,
+0xeb52c6de,
+0xaeedcbfd,
+0x021bf2b6,
+0x4938919f,
+0x0f7af413,
+0x60794768,
+0x771f4be2,
+0xbd16f372,
+0x0bce5e37,
+0xc2c70c62,
+0x14a3da72,
+0x05ef14c7,
+0xa61d9b41,
+0x91a93a2a,
+0x62b8f9ef,
+0x17d7ea2b,
+0x0df768f2,
+0xca687ca9,
+0x07ba20ce,
+0x6d17057e,
+0xa27906f0,
+0x26ae1926,
+0x6906ddaa,
+0xc6d69889,
+0x5d188a1c,
+0x52227b0d,
+0xa66feb9d,
+0x5dc8e7db,
+0xb959cafc,
+0x92ffcddc,
+0x8644532e,
+0xa0bd895c,
+0x449038f0,
+0x7a8c699e,
+0x2454f85f,
+0xfa21c9ea,
+0x9c5e2d50,
+0xec35cb3c,
+0xa4ff1590,
+0x8176297f,
+0xebc5c840,
+0xfc58fd85,
+0xb742484c,
+0xea7f2680,
+0x7d1096a3,
+0x7d6fe426,
+0xc637d652,
+0x6dffe81a,
+0x6591aa9c,
+0x74c951d1,
+0xce543430,
+0x9afeb0aa,
+0x0a18e911,
+0x8c9dca68,
+0x737c7919,
+0xb3fe5b4a,
+0xad3a640a,
+0xc2b19d56,
+0x8820c6ff,
+0xd4fda3cb,
+0x3dca0fd5,
+0xdcac4172,
+0x2f8f21c4,
+0x194ff641,
+0xaa0906d3,
+0x9e5bffbb,
+0x27702f19,
+0x20b20e59,
+0x8ab579f6,
+0x293d238b,
+0x4d08e9d6,
+0xcc62e5ca,
+0x6d580ba2,
+0xc3051202,
+0x930c6082,
+0x8fd7a4ca,
+0xa4eb169f,
+0x3c8545f4,
+0x56fb5bcd,
+0x77757d1f,
+0x367e9695,
+0x18ca125b,
+0x81c58835,
+0xc69cf294,
+0xbca87780,
+0x6ebdf5f6,
+0x46e1a0fb,
+0x2d12190b,
+0xdd72961a,
+0xa35b2cc6,
+0x1e370192,
+0x51fc95c1,
+0x0c125acc,
+0x1575c885,
+0x255bae8d,
+0x5851fa1e,
+0x03f22fe8,
+0x6114f289,
+0xf3ea5555,
+0xa7943238,
+0xf865f95f,
+0x9cc91972,
+0x0c5bb1c5,
+0x064138f0,
+0xbc8c7484,
+0x0a214796,
+0x604f8370,
+0xcc5925f8,
+0x2fda74c6,
+0x31169ed5,
+0x0e552c42,
+0xfc6944d2,
+0xfe81bb9a,
+0x19a023f3,
+0xe11c9468,
+0x5261a6d3,
+0xdf591201,
+0x9ea10620,
+0x0e16df2d,
+0x653a8239,
+0x4f43edc2,
+0xff5d1052,
+0x10cb47ec,
+0xaf021ec2,
+0x0991a172,
+0xfa6b45a8,
+0x49508971,
+0xee683bb7,
+0x36da664f,
+0xe1614b41,
+0x3f163921,
+0xf2b1e6df,
+0x6c721396,
+0x556a4523,
+0x6515c0ef,
+0xb920c383,
+0x2c09a6b6,
+0xc1d4e2d9,
+0x2ee556fc,
+0x9bd13e67,
+0x3bbc680d,
+0x8552c84e,
+0xa1765a50,
+0x88b7ea6f,
+0xb49d4da0,
+0x656a5b4d,
+0x244b2e5f,
+0x925fe2dc,
+0xcece5d0e,
+0x75b17ec3,
+0x0f1f120f,
+0xdf961e4c,
+0x1006e9e6,
+0x6228f651,
+0x2f66081f,
+0x6fa6ef60,
+0x2c5dd18f,
+0xb193ec9f,
+0x99065a91,
+0x7e1c2e80,
+0xe3911272,
+0x7ec10949,
+0xb9aaad9b,
+0xd6f692ae,
+0x87ab511f,
+0x6cf46ac5,
+0x7184272f,
+0xf84f6dd7,
+0x38d36620,
+0xe69c2b0b,
+0x9834635f,
+0x2b70cf98,
+0xe673a7c6,
+0x9d41f5ce,
+0xe577ca2f,
+0x1aedfe0e,
+0x6865c3ed,
+0xa1d7c016,
+0x7f0fc357,
+0x484682a8,
+0x3060678f,
+0x440e5c87,
+0xa609e15a,
+0x3c155d1e,
+0xb9222644,
+0x75e4bcbe,
+0xbe6ab610,
+0x43fe6ebf,
+0x29142055,
+0x87af1d8e,
+0xe23df334,
+0x5a5c272d,
+0x60e35501,
+0xab10eb29,
+0xdb7e6006,
+0xad5288b3,
+0xda61a37c,
+0xd8f9b03b,
+0xee0ce719,
+0x7da6e62f,
+0x00e1c718,
+0x96f53779,
+0x00588355,
+0xffa10f9c,
+0x13ffd4fc,
+0xb0aa00a2,
+0x8ac65479,
+0x132b717a,
+0x3d61fee1,
+0xa5fb1e15,
+0xd01f7cc7,
+0xccb793b4,
+0x1598b2ed,
+0xb2dd927c,
+0x0886c4f2,
+0xe405c7c1,
+0x6e2ddf94,
+0xba4b521f,
+0x8163ee5c,
+0x1a954614,
+0x043e8eec,
+0xa0de8f2d,
+0xb60b0cbd,
+0xe749c69c,
+0x7694f8d5,
+0xc6709297,
+0xf2092208,
+0x6e068dde,
+0x513947ce,
+0x63f97187,
+0x9d721b17,
+0x2c7b4bce,
+0x4075cef2,
+0x7ae63533,
+0x52f36895,
+0x3edb3ec4,
+0x2503a97d,
+0x9b367436,
+0x9f5bc8f3,
+0x7582c906,
+0x19f28e91,
+0x9c3a5730,
+0xccdb4f60,
+0x35fc3cc2,
+0x6ce2e3ac,
+0x1364cfef,
+0x6a91565c,
+0x5d9dbc90,
+0x2c108294,
+0xef4acfba,
+0xd7448cdc,
+0x52f778d9,
+0x42a0d7cb,
+0x85f285b9,
+0x747d38ff,
+0x0cb1d44b,
+0xfbb91fbf,
+0xfc80d4d5,
+0xaccc8d31,
+0x17e7f6d3,
+0xf54d3c80,
+0xa3996d9a,
+0x47644356,
+0x4adb227c,
+0xc5b09bf9,
+0x882cec5d,
+0x72f34737,
+0x0c317249,
+0xf58b67e3,
+0x58011184,
+0xd1741727,
+0xc07b8505,
+0x61851b71,
+0xeb35f017,
+0xd25ec2b6,
+0x9f8f8925,
+0x97470f16,
+0xb7cc8b0b,
+0xd3abcb30,
+0x05d864b8,
+0x0645adfa,
+0x1ef3015e,
+0xaba2820e,
+0x99fce238,
+0xd2c66984,
+0x9d781d23,
+0xa9b1fa28,
+0xeeb7f8b1,
+0xb9a5c57b,
+0x217ca8a0,
+0x9ce09570,
+0xeecaf15b,
+0x95db5139,
+0xa67e8e3a,
+0x1c15d194,
+0x939a0f00,
+0x89ea6b2d,
+0xf06ce4b2,
+0xe0953f54,
+0xc88db721,
+0xa7563a8a,
+0xc83ce816,
+0xea14a083,
+0xcd62a959,
+0x07e32d87,
+0xaede1a0c,
+0x572b5697,
+0x6234c2d3,
+0xd3d2a009,
+0xa2865113,
+0xe8fc4048,
+0xfd87b3ae,
+0x186ef0eb,
+0xa930e209,
+0xea64d738,
+0xb3ab281a,
+0x480438cc,
+0x92cb6f6d,
+0x1b84e470,
+0x52536519,
+0xbff93dd4,
+0x993aa6bf,
+0xbc85662e,
+0x4a864c70,
+0xde2c2f27,
+0x550cd52c,
+0x107ed003,
+0x61f40213,
+0xe77d93f9,
+0x1510d4fd,
+0x63814801,
+0x115a1beb,
+0x05d07262,
+0x2a281a0a,
+0x243fc986,
+0xd5e516fe,
+0x2603b93f,
+0xd3aaa41e,
+0x29281696,
+0xb8cbccad,
+0x746a0cce,
+0xbc03b882,
+0xf01715dd,
+0xc697c3e9,
+0x60c3c297,
+0x77de7c7f,
+0x0530f8b7,
+0x5a6a5cb2,
+0x842b987d,
+0x46acc6c8,
+0x1bcb3c2b,
+0xd5ee1888,
+0x0f88bb89,
+0x78bf31f9,
+0x54e6b123,
+0x272e58e1,
+0x3ae79aa3,
+0x08b37749,
+0x5feb79fb,
+0xa992bd43,
+0x11ae39d1,
+0xb12d2ed0,
+0x14f8f78a,
+0x6ac519de,
+0x86a321a3,
+0xfd99b503,
+0x6bee95b0,
+0xd01784bc,
+0xadb794ef,
+0xd0784653,
+0xb39e7f92,
+0xd41b066a,
+0xb227841b,
+0x6f11851d,
+0xe77a1031,
+0xd841a9cf,
+0x56443541,
+0xf8c6d7bd,
+0xa8fefa6c,
+0xaf65cfe6,
+0x55ef070c,
+0x4b16fb64,
+0x9753a746,
+0x9cb96f84,
+0x0a130cb1,
+0xfea4ddec,
+0x004b17d2,
+0xbf48673f,
+0xfac43457,
+0x7f915c1a,
+0xf79d088d,
+0x65148414,
+0x94ee7b02,
+0x1c25d429,
+0x773159d4,
+0xa66345b8,
+0x8168f43d,
+0x16829462,
+0xeed7e3fe,
+0xb97d2a62,
+0x9c88a8be,
+0xaf26ab51,
+0x8e97a4f3,
+0xc6cb510f,
+0xf23ad9d1,
+0xb0309ffb,
+0x5ee68893,
+0x1bb90786,
+0x58401228,
+0x231fc663,
+0x3693245e,
+0xf4cfd6a2,
+0xf2e8e4fd,
+0x8bc8564d,
+0x05f28eb4,
+0xac49a20c,
+0xf9a592d2,
+0x34bad0f0,
+0x2eeb967b,
+0xb090323a,
+0x86f334ef,
+0x0510f6cf,
+0xcf44ba46,
+0x6e4944fe,
+0x413dc6a2,
+0x25282cf0,
+0xe856c298,
+0xa5522ea9,
+0x21b7ccb6,
+0xfa8eecc1,
+0x1c9d7a6f,
+0xc2fb806b,
+0x11a26bad,
+0xcfae8a6c,
+0xcd6ffba0,
+0x64c6e5e4,
+0x9a17fd37,
+0xd3bdd67b,
+0x9e3fed99,
+0x2478e3d2,
+0x70ebf150,
+0x53a55b00,
+0x4dadf347,
+0x583d0948,
+0x573dcd01,
+0x5573013b,
+0x49fe7321,
+0x34538686,
+0xc33d1fdc,
+0xc98900d9,
+0x2cfe1291,
+0x8463bc3a,
+0xd39f0873,
+0x80a953c4,
+0xc71b148d,
+0x394f89be,
+0x6e7573e4,
+0x1ccb06ce,
+0x7766e4f1,
+0x18097c33,
+0xeaf3f617,
+0xb5c36855,
+0x2d42e1e1,
+0x98a6a9c3,
+0xe5f263f6,
+0x5109a5fd,
+0x75881486,
+0xf1ea5113,
+0x54d45973,
+0x2be78f7d,
+0x759dd71a,
+0x9675cfa3,
+0x5ba59f79,
+0x7579fa73,
+0x72d5c412,
+0xec2dccd8,
+0xb0099176,
+0x68cd2ad6,
+0xfcf39c63,
+0x98229177,
+0x2475fff7,
+0x5bfc99ee,
+0x8505fbb8,
+0x41a55f2c,
+0xf4508273,
+0x09b77300,
+0x1f4e3875,
+0x688ea89c,
+0xad94dc44,
+0x5b9b2c39,
+0x6a184f0b,
+0xc5d52e02,
+0x0f6e4b4e,
+0x478c69cb,
+0x7ff46dd8,
+0x50108d93,
+0xe290fa93,
+0x3bafe880,
+0x4baeb456,
+0xc14ccb76,
+0x7bc9fbf2,
+0xc4d4cd76,
+0x632b9844,
+0xbee4b753,
+0xac3d1c65,
+0x2e724124,
+0x88f38f1a,
+0x3a753f27,
+0x903d7d49,
+0xfd264535,
+0xbd653091,
+0x1faefd92,
+0xba0f492f,
+0xaf1529b8,
+0x4f5fb335,
+0x84a6e953,
+0x2ac02c56,
+0x7355a3ec,
+0x4a337a03,
+0x3e037026,
+0x18716178,
+0x7bf3b400,
+0xe017e37b,
+0xb99c7367,
+0x9509857b,
+0x37c7da9b,
+0xbf4ee987,
+0xa073168b,
+0x7b7b91ac,
+0x501d3949,
+0xf0cc0b74,
+0x4f74ed19,
+0xb200106c,
+0xe74f3869,
+0x97c178f8,
+0xfc85116f,
+0x3f32c823,
+0xd019a4af,
+0x68ae9a13,
+0xf9127785,
+0x93c9a386,
+0xcf2bd9c5,
+0xccabd598,
+0x1669dc8b,
+0x82702a1b,
+0xe9e469d1,
+0x6ce12a41,
+0xe179bec4,
+0xd2338627,
+0x6f788000,
+0x86f00e93,
+0x09ded955,
+0xd6e2d096,
+0xbbbca20b,
+0x991bed2b,
+0x4ea6e56d,
+0x51767f48,
+0x5fc8657e,
+0x607f5689,
+0x7747bb97,
+0x5f1a423c,
+0xd51eec7b,
+0x90d2d992,
+0xda5e9a6c,
+0x6dd1d5d6,
+0x1647b911,
+0x730e10a0,
+0xc1a5f611,
+0xd8baf1cc,
+0x4354982c,
+0x8e84f84b,
+0x7d442082,
+0xc85922ca,
+0x7e1e8235,
+0x856997ef,
+0xc88f3518,
+0x35637107,
+0xa6c605c3,
+0x31a737f6,
+0x04f55ce5,
+0x17dfb2a5,
+0x0f4717be,
+0xce247ea4,
+0xc8a933e5,
+0xa2ea0d04,
+0xbd34396f,
+0xb62cbf26,
+0x4921fadf,
+0x0379532c,
+0x34e21013,
+0x66ee9e26,
+0x8fab372f,
+0x3ebfea7c,
+0x2cecd65c,
+0x424199ff,
+0x85b560c9,
+0x90e5061b,
+0x32ba1ae8,
+0x9aa4670e,
+0xe5c0fe8e,
+0x427b8e2a,
+0x3fec3701,
+0xdcee4861,
+0x03149922,
+0x58254009,
+0x55594dcc,
+0xcfdf969f,
+0x94b9378c,
+0xcc643601,
+0x823f65b2,
+0x373697fc,
+0x6747aff1,
+0x030dfcdb,
+0x6371183f,
+0x43588477,
+0xa86d1568,
+0x67524861,
+0x3853e1d7,
+0x104fe607,
+0xb7ccc60b,
+0xb1df4e73,
+0xa396635c,
+0x4a6f8264,
+0x6b0f1ff5,
+0x2806c805,
+0xab466be7,
+0x48de398d,
+0xa066c7b5,
+0xe5ac2318,
+0x2966e01f,
+0xe259e44d,
+0xb29c5768,
+0x51db4cc0,
+0x7a38cb8b,
+0xf5b875d1,
+0x288a3f14,
+0xc6e87751,
+0x5f18d49f,
+0x8bc89e99,
+0x0f36c734,
+0xfcf9634d,
+0x927ca23b,
+0x3f0efdab,
+0x09879259,
+0x130725d4,
+0xc5d1d5b9,
+0x4aa02c5b,
+0xcf405e47,
+0x525eea9a,
+0x96abdc9c,
+0x6a45986b,
+0xd41ad3b6,
+0x1f207129,
+0x8927552e,
+0x54e48c83,
+0x6d48c630,
+0x6de20de9,
+0xac08b972,
+0xbeb58e59,
+0x41b1dc90,
+0x4f28bf7e,
+0xaf3b84c1,
+0x7deb7ac6,
+0xed12b1aa,
+0xff5acfa4,
+0x526e0eb8,
+0xdb73aa69,
+0xa943d28b,
+0xc2a0611a,
+0xa7ead652,
+0xb00dcd46,
+0x4602eb11,
+0x9ad33f5d,
+0xf71eeb3a,
+0x6093a081,
+0x4660be17,
+0x41ffdea7,
+0x4043fe31,
+0xe00b29c1,
+0x6b06569e,
+0xb7271e5c,
+0xdcbce5b5,
+0xe7408c24,
+0x9116f014,
+0xae5317b0,
+0xa3be1a45,
+0x19de56e4,
+0x03ca9de9,
+0x69f8d37a,
+0x161b1d43,
+0x816b7b0f,
+0xe851a364,
+0x8f26d9b4,
+0xcd804410,
+0x3b3fdaa6,
+0x50ff88d5,
+0x0f5c0157,
+0xe0d499c2,
+0x7e9156ec,
+0x12a9dc9b,
+0xecfbe520,
+0x8bc5560c,
+0x95ad5583,
+0x9f92574e,
+0xea6d29c8,
+0xe6adaebf,
+0x9a66f80c,
+0xac375d1b,
+0x2a00fdb3,
+0x1e07ca7d,
+0xe57a9c29,
+0x8d705b95,
+0xe8583d2a,
+0xe21d87e5,
+0x242efb5e,
+0x58247b86,
+0xc80bd1ba,
+0xc9c45603,
+0x851e31df,
+0xc292f900,
+0xb9c7f27b,
+0x29ec5279,
+0x8000bfc5,
+0xf49e1236,
+0x151a661e,
+0x589a4727,
+0x1016e372,
+0xb3080cdb,
+0x1696a138,
+0x943944c6,
+0x30c796e7,
+0xca120599,
+0x8c2d0308,
+0x403a66ad,
+0x80ef500d,
+0x53e6cca6,
+0x54963587,
+0xd7424c0e,
+0x76c283af,
+0xb4b282de,
+0x4b7d5051,
+0x4348b373,
+0x0c389a13,
+0x086e91e4,
+0xf0551696,
+0x4cce65af,
+0x1df588ec,
+0xaca40425,
+0xf847de34,
+0xc38e1064,
+0x0d4d79a2,
+0x779898af,
+0x99e1e849,
+0x2a194449,
+0xc57d199c,
+0x4e64669b,
+0x5a4a35a4,
+0x2d47fb04,
+0xb78281ce,
+0x178668f5,
+0xff178b7a,
+0x1ced5c42,
+0xe02dc4ac,
+0x3da672be,
+0x34546c83,
+0xad38c0ef,
+0x8520c712,
+0x87cc1ef4,
+0x0358f078,
+0xf4c7ea84,
+0x36b08327,
+0xb733e537,
+0xfb15da14,
+0xc648271c,
+0x7fd6726b,
+0x6eec25ef,
+0x6142befb,
+0xdac91f75,
+0xae2b76b1,
+0xf71299b8,
+0x7c401ba1,
+0x732d5ba7,
+0x90b77614,
+0x9cf9f19d,
+0xd252a887,
+0x0625adf1,
+0xa87db733,
+0x21cfe431,
+0x121ff242,
+0xa17c85e3,
+0x466cecf0,
+0xebd34bd3,
+0xbdad41e6,
+0xbdf32a8d,
+0x97f875b7,
+0xa02ada48,
+0xa89e3297,
+0x59fa45ec,
+0xa9082a8a,
+0xe337d87a,
+0xcd541793,
+0x5777c524,
+0x8eaf4973,
+0x681f37d9,
+0x52e62eef,
+0x293d9320,
+0xe41993a2,
+0x1161981c,
+0x4fc83241,
+0xced9cc50,
+0x6106bbc5,
+0xb205bf31,
+0x84c78907,
+0x194d93dd,
+0xf4b071e0,
+0x59e61cbe,
+0x73e95017,
+0x1c38156c,
+0x7b5cec84,
+0x02083fd9,
+0x43a50dc8,
+0xa0948a84,
+0x8fdfb1e6,
+0xab5227c6,
+0x17231ae6,
+0x37f00fe2,
+0x66ad85e1,
+0x1d19961f,
+0x487b14e6,
+0x771fc1be,
+0xa076ac53,
+0xd5d9398d,
+0xf1172ccd,
+0xaacce2d7,
+0xd34257ba,
+0xeb134161,
+0xbafdc259,
+0xbdff59f2,
+0x2a7683b6,
+0xa00cd186,
+0x9d43d72c,
+0xae1ebaeb,
+0x573a3971,
+0xdb76083a,
+0xb5c38838,
+0xc77b89f8,
+0xaf295665,
+0x1a9b54e8,
+0x3915cf66,
+0x0449b560,
+0x913c75a0,
+0x81ca56bc,
+0x12c1bb78,
+0xf9500c40,
+0x745eb001,
+0x87391a32,
+0x99de12ba,
+0x2c3002b5,
+0xbefe2865,
+0xb4800c3b,
+0xd84e2e11,
+0xb9b154ce,
+0x5ddfd3b4,
+0x706589d1,
+0x2b4beb92,
+0x54154161,
+0x61736f0a,
+0xd3fc3387,
+0x982f7e4a,
+0x73e1a116,
+0xed867c8d,
+0x290169e4,
+0x9eae8be3,
+0x2a25cd6a,
+0x47988d41,
+0x3b963e55,
+0x4ade2e9e,
+0xbd708efb,
+0xa4a895d9,
+0xf1ed26bc,
+0x4187f247,
+0x51454e9a,
+0x4c694c61,
+0x56735201,
+0xab286558,
+0x8879a370,
+0xa79e02c4,
+0x18225892,
+0x76192d94,
+0xeed53c5c,
+0xed3041d9,
+0x00880143,
+0xbbdbd7a1,
+0x8875cb65,
+0x9d7bafa9,
+0x6aa7eb4a,
+0x1ce2d054,
+0x80261834,
+0xb8dafe98,
+0x1b324495,
+0xbe8d3331,
+0xd2668e1e,
+0x4096fe1b,
+0xe441b279,
+0xaf60bc40,
+0x64fadb50,
+0xb18fad79,
+0x22fa43e7,
+0x49509ac0,
+0x9d616b31,
+0x3140cecc,
+0xd6e6b120,
+0x645c0b47,
+0x84af1640,
+0x7fec3ea7,
+0x2c2d7aa1,
+0xabc9a67b,
+0xad50ddac,
+0xce4d3272,
+0x890ff4f7,
+0x6753ea53,
+0x6bca8556,
+0x9696c06e,
+0xa607d642,
+0xd368c2df,
+0x792a34bc,
+0x6f2259f2,
+0x2b26426c,
+0x23aba086,
+0xd012b46a,
+0x43656bca,
+0xbf4c19f7,
+0x25664973,
+0x704524cd,
+0x9b6fbcfe,
+0x29f5940c,
+0x49ed8645,
+0xd4444633,
+0xce72cdb4,
+0x24966d92,
+0xec6b802f,
+0x5c90cf93,
+0x68b1645b,
+0x5244542b,
+0x0aad88dd,
+0x3ff29b2f,
+0x64e1830e,
+0x4e91fd51,
+0x3283adcd,
+0x7b7a0a1f,
+0x56a9f66f,
+0x15de5368,
+0x57735675,
+0x3ff4c475,
+0x6237826a,
+0x31bb7f3a,
+0x260d7b55,
+0xfd7d4fbc,
+0xffdb0dae,
+0x9d88a74c,
+0xed405cc6,
+0x29eadb77,
+0x82657ba2,
+0xb890f1bd,
+0x85740246,
+0xbd89eb6b,
+0x3f0bc33e,
+0x732b2ea8,
+0xa48ebe3a,
+0x1be97d07,
+0xd2f14521,
+0x85e976c3,
+0xfcba6a82,
+0x259a0d3e,
+0xa99bd63c,
+0x1cabc8a6,
+0x9841e85f,
+0x2b1aba02,
+0x122388c0,
+0x0266601f,
+0x2c229f52,
+0x5eed2b8b,
+0x43346386,
+0xc5396136,
+0x2b3e47ee,
+0x3b1906ff,
+0x075d2bf3,
+0xdcab72f8,
+0x49eb6328,
+0x42e2b541,
+0x0556ff39,
+0x497309fd,
+0x1673d8dd,
+0x45034b40,
+0xd1db6cb6,
+0x55d8923f,
+0x7a30cc14,
+0x6e357688,
+0xb9575e0d,
+0x387a14ec,
+0x9fe4bb8a,
+0x42c10209,
+0xd1d67f0d,
+0xa18098ff,
+0x25f040d7,
+0xb4f4e7a8,
+0xfa6acd26,
+0x967cb483,
+0xf173d0b3,
+0xffe53a10,
+0x86713056,
+0xa3769ee5,
+0x0fd9072e,
+0xce0016e7,
+0xcb091edb,
+0x96cd6f50,
+0xd487c3dd,
+0xcc8364ca,
+0x32d3c0a9,
+0x4a465c08,
+0xbd14d9b8,
+0x90627b63,
+0xbf8055bd,
+0xf632deef,
+0x30d56f52,
+0x85bf1fa2,
+0xd3ea7020,
+0x5c4fb341,
+0xf53197df,
+0x0cb4b76a,
+0xae4d36d8,
+0x3f60141b,
+0xb631990a,
+0x0c4f4160,
+0xb26e5895,
+0x74e461ed,
+0x51c87435,
+0xb9f0c878,
+0x6241a1cf,
+0xbf46372e,
+0x452b1ce5,
+0x0c02742b,
+0x778e34fe,
+0x9965db13,
+0x8ac33f52,
+0xea26d872,
+0x8c3d733d,
+0xe63bcdef,
+0x879da08d,
+0xc52007a5,
+0x2c501374,
+0x4563b026,
+0xb5e6a214,
+0xd55d7b68,
+0xb386463b,
+0x023c14a6,
+0x10256050,
+0xd9f65b23,
+0x57539090,
+0x1bdc0deb,
+0x66d56de0,
+0x404544fe,
+0x88832215,
+0x432d888e,
+0x11f16aab,
+0x62f221e7,
+0x7530c0b9,
+0xd4ffb0bc,
+0x741d62f6,
+0x627701c7,
+0x4d4eec59,
+0x5b337786,
+0x84808c52,
+0xb89903c9,
+0xb3af4bc2,
+0xf4301824,
+0xcf2b000d,
+0xc70a1b29,
+0x78907a45,
+0x94be84b8,
+0xe276abf2,
+0x79632b42,
+0xf6ce77d1,
+0x667c5ce3,
+0x7d43cde8,
+0x1feb37bc,
+0x8790379f,
+0x1001a4e6,
+0x6a845a06,
+0xfc6445b6,
+0x6e4e4eba,
+0x04c541cd,
+0x020565b7,
+0x2a599e99,
+0x0d59aa07,
+0x936ee653,
+0x8290447c,
+0x74449929,
+0x87bd9e89,
+0xc6f122cc,
+0x0c727c4e,
+0x3be8677c,
+0x38985ce7,
+0x64ac0437,
+0xa4219b3b,
+0x372606f2,
+0xbf51bae7,
+0x7b4f4804,
+0x24823561,
+0x766c30f4,
+0xf5bf7a2f,
+0xea44214a,
+0xc05aa771,
+0x0c55c2b8,
+0x54dcb27e,
+0x511bc389,
+0x973a0a86,
+0xcb018bd2,
+0x81e0a056,
+0xbcad44d0,
+0x9335cc75,
+0xaedf1ae9,
+0x38a9349d,
+0xe4cdada4,
+0x5ee5c12f,
+0x0514bd3b,
+0x9eac5b4d,
+0x85d38b57,
+0x9d228c6e,
+0xe203481b,
+0xe1a80127,
+0xb87916f3,
+0x5b4fe5b9,
+0xa15ee07f,
+0xdeac00bc,
+0x45fdfc0b,
+0x84dadf9c,
+0x4846712f,
+0x3d3c083e,
+0xe6002a7a,
+0x6519b77d,
+0x0b98c39f,
+0x65c50f8c,
+0xac6f93fe,
+0x8b63fb7a,
+0x8c3c6743,
+0x624fd9ca,
+0xdd1c9abc,
+0x722bdb14,
+0x4f9f9aee,
+0xdaab2e15,
+0xbd8c8893,
+0xfeae198a,
+0x61381061,
+0x20a4aa94,
+0xfd8d1ae8,
+0x3ddad2d3,
+0xe1af9f59,
+0xc4b15fc1,
+0xf85cfdde,
+0xee83a392,
+0xa667460d,
+0x103d0063,
+0xf5c5d037,
+0x540d5bf6,
+0x57fc9d0f,
+0x98fe97b2,
+0x7ac431a4,
+0x6566d020,
+0x4b4c7da4,
+0x4d67f6b4,
+0xf71eadc0,
+0xdd487b4f,
+0xee14f18a,
+0xd30b0112,
+0x090fd3ee,
+0x46cca6ac,
+0x8311aca8,
+0xd8f3baf1,
+0xc97e6f12,
+0x0eb5b721,
+0xefea0d72,
+0x05449ef4,
+0x462af83a,
+0x06815f92,
+0xed1e8e2e,
+0x6d6ddfa5,
+0x4629311e,
+0x39b3fdb5,
+0x75011069,
+0x2fceb6e3,
+0x7e06933a,
+0x110f77ea,
+0xacf036ff,
+0x10217624,
+0xa2f7bb19,
+0x7934b81c,
+0x0243dd6e,
+0xfbf552b3,
+0x90af38a3,
+0xc8391461,
+0xf6dbd076,
+0x82ad68e9,
+0xeb438020,
+0x467089c2,
+0x19149da1,
+0xef821524,
+0x7cd390de,
+0x7ff0dca0,
+0xf27de608,
+0x4802d1b6,
+0x004d8764,
+0x8c3ba323,
+0xdb3975f9,
+0x9a8ae8f0,
+0x621b4413,
+0xdd1f709c,
+0x7ee53775,
+0x7800049c,
+0x0e1cd96d,
+0x1c066bac,
+0xbd937d24,
+0x425f81c4,
+0x6e7f645a,
+0x5564ebcc,
+0xd3144896,
+0x73fa2ea8,
+0xb655efc6,
+0x9251e956,
+0xead0f766,
+0xa6c67b91,
+0x6b344c3b,
+0xa97249dc,
+0x0be84171,
+0x9f73212a,
+0x060a5d74,
+0x8d17ef3e,
+0xd1b95282,
+0xe8789fe9,
+0x6546023d,
+0x6a850873,
+0x120238d4,
+0x0436178b,
+0xf71330cc,
+0xcd6efd00,
+0xf0c14e64,
+0x42dfe672,
+0x2b037b69,
+0x0c617c85,
+0xa43af28d,
+0x8c0b5c2f,
+0x313b4134,
+0xda9e2e3e,
+0xdfa569f1,
+0xb9e9dc64,
+0xb4fc5d48,
+0x314711b4,
+0x9465c8d4,
+0x2b5f0632,
+0x3fb49740,
+0xbe10d59b,
+0xb5695738,
+0x622ba196,
+0x67c77f10,
+0x7a6fc51e,
+0xd00affc7,
+0xad9227bc,
+0x64eedf0b,
+0xf1a1ffb4,
+0x11f2d409,
+0xacb0fd08,
+0xc0b514b6,
+0x7ac574dc,
+0x79dacb33,
+0x4feeee45,
+0xc5bdcecd,
+0x3e9c6c48,
+0x22107e64,
+0x622f48b1,
+0xb5d97f13,
+0xb9b2516c,
+0x1018b80c,
+0xdbf6c2e6,
+0x453a43f7,
+0x0a134b09,
+0x93f6247d,
+0x43d6b459,
+0x1d97a45f,
+0xee5205a3,
+0x360b177b,
+0x50c46f26,
+0xe07a0d91,
+0x364d8178,
+0xfe120d1e,
+0x49caad1c,
+0x27a3cf71,
+0x7d801e91,
+0xa484b880,
+0xd9a1a81b,
+0xe74d224e,
+0xaae07543,
+0xaf47c579,
+0x5e0033c0,
+0xfbb9f7b6,
+0x6bc838e6,
+0x5bfa1983,
+0x04fa56d4,
+0xefc0f0cd,
+0x057488b3,
+0x3375018e,
+0x66b18fec,
+0xf87f5275,
+0x291d6585,
+0xc85371be,
+0x5e8a49e1,
+0x5beb6df2,
+0x16765050,
+0xed884515,
+0x96792a9f,
+0xd4bdf867,
+0x7deefbfa,
+0x1664f0ec,
+0x4cb953a9,
+0xf508f868,
+0xa42c0aa5,
+0xb41489a6,
+0x1aeeefea,
+0x5d82e23c,
+0x864d7152,
+0x97e940d9,
+0x09515f3f,
+0x873db413,
+0xa5c619cf,
+0x89404b50,
+0x77dab682,
+0x6a417d29,
+0x019c2437,
+0xefa71a91,
+0xbf92bdbf,
+0x12e6b597,
+0x77effff9,
+0x0f491026,
+0x7e77c9e9,
+0x5887fd2a,
+0xe2827e17,
+0x3eca4360,
+0x2ab1b4a2,
+0xa6fb5586,
+0xfbba417b,
+0x89b3d98e,
+0xae07cd4f,
+0xbe52255b,
+0xdfb2dad8,
+0xd5b7a7a0,
+0xe0e42fc0,
+0xd460950c,
+0xcfd426b2,
+0x6df1e310,
+0x8894117e,
+0xf0580f53,
+0xee28c0e1,
+0xe83902a5,
+0x3dcb4073,
+0x22056969,
+0x4c716f19,
+0xec1f759c,
+0xe9723626,
+0xab6b7729,
+0xd716babc,
+0x954eb9f1,
+0xfce0871e,
+0xdec23168,
+0xaf325717,
+0x0d14ed37,
+0xbec89f54,
+0x638b971b,
+0x9c80dcc4,
+0xaeb915dc,
+0xc5c0cf71,
+0x3ee275e6,
+0x62f92d99,
+0xd28c26ce,
+0x24194a13,
+0x6260a89e,
+0x1f6f51df,
+0x73f2a4d3,
+0x96048cd5,
+0xc75b70cb,
+0xfb9b5a4f,
+0x783f5db7,
+0x79921da9,
+0x6c5c1fc7,
+0xd330b977,
+0x2caa6cec,
+0xf3dbd4e3,
+0x8fd3c4f1,
+0x8102f0b8,
+0x555f25c6,
+0xf91ea76a,
+0x953010e3,
+0x0d4ec466,
+0xef435cf9,
+0xa28b856e,
+0x9802200b,
+0xe7d6067a,
+0x88349c20,
+0xda12d0a8,
+0x26b472c2,
+0xbc98d084,
+0x79e99dd7,
+0x201f56aa,
+0x34d8bd49,
+0xe975590a,
+0xa8642862,
+0x9f611276,
+0xe3aad710,
+0x40aa4ffc,
+0xdabb9159,
+0x5d6c3255,
+0x5005bb54,
+0x8313c90c,
+0x16ff0321,
+0xa2d97f87,
+0x04f7f747,
+0xc2b0cf5d,
+0x3a65dee3,
+0x88bdd487,
+0x530ddf7c,
+0x2a832900,
+0x5d55b477,
+0x3c706c46,
+0x91de48ce,
+0xe731a544,
+0x1d926f34,
+0xa094b60a,
+0x4c9ed81d,
+0x5c9a2323,
+0xf1834363,
+0xacd29dcc,
+0xd285163b,
+0xb7abaeb0,
+0xef99d1f5,
+0x16808140,
+0x6ed3eb44,
+0xd4ff69fe,
+0x90b1661e,
+0x9c2b8893,
+0x856c5899,
+0xf3321ec4,
+0x18a8f11d,
+0xb66710fa,
+0x63a62674,
+0x5742532d,
+0x35bcd274,
+0x33d5649b,
+0x41b0c394,
+0x063d7dff,
+0x2fb873ed,
+0xced4b18b,
+0x0921c2c6,
+0x106a7c22,
+0x5519f37b,
+0xed732f1a,
+0xb4bc9bea,
+0x9ce401e2,
+0xbd5bd742,
+0x2fb0d8ed,
+0x0cb9955c,
+0x361c6d0c,
+0x60f84aa9,
+0x6da69ac0,
+0xbc4adc1a,
+0x176bec2a,
+0x541fa21f,
+0xb6e37cf5,
+0xeb09ea46,
+0x4e158058,
+0x7462b1ba,
+0x8649eda8,
+0xa5dd0141,
+0xe5015930,
+0x591dc16a,
+0x6d7bc7f0,
+0x6421ae77,
+0xea440652,
+0x7ffa51d7,
+0x3aca9092,
+0xaf1eaeb0,
+0x5988bf22,
+0xc5446a38,
+0x3ef91b24,
+0x0b714ac3,
+0x66ee53d4,
+0x6ad1b13f,
+0x88c3c60c,
+0xfb23edcd,
+0x589be59c,
+0xcbd5259f,
+0xe3ae2635,
+0x29c42882,
+0x4fea559a,
+0x65a3bc2e,
+0x3906f095,
+0x77d508a6,
+0xa7e8fcb7,
+0xf31e43b1,
+0x0dfbe84d,
+0x2207fbfe,
+0x8a85a579,
+0xc8dbc74f,
+0x296be54e,
+0xe42c21d9,
+0xc2ab88fb,
+0x819121c6,
+0x3fc4df79,
+0x8c9615d3,
+0x7f4e1f77,
+0xdf258418,
+0x05256f5b,
+0xd7477bf2,
+0xa3472fff,
+0x1a50bd91,
+0x3c52adc8,
+0x8689e23c,
+0xd8a54634,
+0x00ad1c5f,
+0xf41ee14f,
+0xc1adab43,
+0x11b29691,
+0x66c4c4ff,
+0x7ffd7154,
+0x1f904cc9,
+0x9c1af997,
+0x74495f14,
+0xf7a40df8,
+0xfed4f730,
+0xce1a607e,
+0x2140213f,
+0xc4592a9f,
+0x4a6c6db5,
+0x6f8acba1,
+0xf8d3cf7e,
+0x14d6db13,
+0x762ba35c,
+0xc55cbdc2,
+0x8da36ec9,
+0x29903bbb,
+0x0295fc26,
+0x153ebc3c,
+0xfea4743f,
+0xcbd53774,
+0xf6f8e2ce,
+0x91c8c211,
+0x529274a5,
+0xbc395894,
+0xbd156eae,
+0xdfdcb562,
+0x02660e1e,
+0x6a996c55,
+0xcdabe359,
+0x83ff0599,
+0x761bfeaf,
+0x62c2d513,
+0xe681eabf,
+0x7a21ad49,
+0x46f22784,
+0x5cceb8d2,
+0x00018b46,
+0x4b0e72cf,
+0x2f3d4cc5,
+0x9dd6733e,
+0x60cc56c0,
+0x3921a229,
+0xad953206,
+0x0e48cd5f,
+0x858b23ce,
+0x749b2a76,
+0xfb000f89,
+0x27cb1fc8,
+0x0e5b258e,
+0x7a65b128,
+0x466c46ce,
+0x9e3ef525,
+0x45f81c1e,
+0x2b77e6a2,
+0x202202f9,
+0xe9b6b2b6,
+0x73c563f2,
+0x1e3c6db1,
+0x248e4bdc,
+0xe0551a35,
+0x37f73406,
+0x7dafb034,
+0xf96e03b3,
+0x2b8716be,
+0x8508d28f,
+0x0212dcf3,
+0x076a691a,
+0xe13b323d,
+0x0cca8481,
+0xe6fbb772,
+0x81a84ba3,
+0x24c37481,
+0x61d5a4e4,
+0x2ea305e2,
+0x29b83eae,
+0x5f599756,
+0xf26e2543,
+0xe42d0fc6,
+0x074f9b25,
+0x250f650b,
+0x621b8a15,
+0x935032dc,
+0x1daa27ed,
+0x205df206,
+0x33374e32,
+0x517690ed,
+0xd65fe9d4,
+0x372e767c,
+0x261a6396,
+0x39a17ca0,
+0x68657382,
+0xa70dbb99,
+0xea987562,
+0x7e2163f2,
+0x376a887d,
+0x5c05a0eb,
+0xad41e5e4,
+0xc7918024,
+0x2abd88b3,
+0x6008bdc5,
+0x7f28e61d,
+0x6b0d54eb,
+0x42207867,
+0x53a09f68,
+0xf43bdbbf,
+0x2b3f3fbd,
+0x1a7c6efc,
+0xadced3e8,
+0xed19b4d6,
+0x36f98b2b,
+0xac7d1f86,
+0x99c4230f,
+0x6eb62aac,
+0xbe97454d,
+0x7f9762cd,
+0x2bda82d6,
+0x65d711c4,
+0x2acbb0ff,
+0x2e75d72a,
+0x9800ae7d,
+0xd24a47b7,
+0x618eb0ac,
+0x185a4707,
+0x61591a63,
+0xe8558cf3,
+0xd738d053,
+0x911c9eee,
+0xd028244f,
+0xf5e963bd,
+0x4496c4ae,
+0x86fe86ce,
+0x0d30f189,
+0xb6308692,
+0x9b76db60,
+0xba01d7a9,
+0xd6bcd0ce,
+0xa2339da4,
+0x6a4b968b,
+0x2f7a32f2,
+0xfadfa524,
+0x6527160f,
+0x9e8ec0be,
+0xfcb3edab,
+0x07818bef,
+0xf495e33e,
+0x1034f820,
+0x48f87f04,
+0xa838bf94,
+0x897c672f,
+0xc7328600,
+0xf1305cf1,
+0xd5fac643,
+0xadc634aa,
+0x97863e7a,
+0xc0a702bd,
+0x723e692a,
+0x530402bc,
+0xc715508e,
+0x3ce9114b,
+0xba6c3dec,
+0xd56c3c4f,
+0x7e553073,
+0x8b34d351,
+0xa9aed75d,
+0xd51f6c62,
+0x8f0834b0,
+0x726380a9,
+0xe6381b7f,
+0x6785f1ad,
+0x0f2ff93c,
+0x05193b54,
+0xdf92a87e,
+0xf7a39595,
+0x812a17a3,
+0xeee60f62,
+0xce321bf5,
+0x2f3649a9,
+0x4508cdb8,
+0x8fa2eee1,
+0xb0956f01,
+0x08606d77,
+0xbb200010,
+0x9a4ea6ce,
+0xa12641e8,
+0xf0eb45d9,
+0x338de662,
+0x88efd0e2,
+0x0ad389e5,
+0xd04679e9,
+0xe59a5a20,
+0xc21553cc,
+0x85bd0eed,
+0x10f85bb8,
+0xc38b68f9,
+0xeb601b3b,
+0x12a541ca,
+0x5b4d2667,
+0xa223ed92,
+0xd972a4a0,
+0x8bbd0f55,
+0xd6f80c96,
+0x0ab5eeec,
+0xbbe17516,
+0x2d14c56d,
+0xeb23f7c9,
+0xba0e7142,
+0xf7987069,
+0xac03f17a,
+0x885b6f6d,
+0x1b3e6672,
+0x55df4d42,
+0xf339ed75,
+0x46197150,
+0x158f0e17,
+0xefbe1d6d,
+0x20fce356,
+0x716ce26c,
+0x9bbcc9db,
+0x9bdae42d,
+0x600b99b1,
+0xd9ffe409,
+0x8dc37d12,
+0x58fd7f5c,
+0x582d7ecb,
+0xdf967e7a,
+0xcf3712bd,
+0xc49a96d6,
+0xc1ac97b5,
+0xd7362d2e,
+0xcbbe65c1,
+0xa071b584,
+0x1fa79bb2,
+0xa539b156,
+0x769bcc19,
+0x008cbc4d,
+0xee0d9743,
+0xc0ed4da6,
+0xa3f20066,
+0x36c70ca8,
+0xfe8e4436,
+0x025e05e6,
+0x07aa74dc,
+0x9f09765f,
+0x61e30eac,
+0x21c1240d,
+0x4dc2ecfc,
+0xb46eab9d,
+0x5e2d8806,
+0xbeff8a9e,
+0x7fb7c931,
+0xae929a9e,
+0x0bac3d05,
+0x2ff8ad74,
+0xa02f63a4,
+0x75d63735,
+0x2a0883b4,
+0x2b29c5d9,
+0x7ed0329c,
+0x4877e2dd,
+0x5fc821d0,
+0x7b90c74c,
+0xbb00b316,
+0xbb7ae936,
+0x24b7106e,
+0x74415572,
+0x97024143,
+0x002924a4,
+0x5f46eab2,
+0xace62906,
+0x26bcc856,
+0xfc85b015,
+0x4a7569ec,
+0x03d363df,
+0x4f38d62b,
+0x88d313d0,
+0x63ac3568,
+0xd11e9451,
+0x81f0694c,
+0x411970b7,
+0x83185b69,
+0x111186ca,
+0xcaa7ff65,
+0x16aea505,
+0x24051003,
+0x98352107,
+0x38e67ecb,
+0xcac1fd71,
+0xeca60cf3,
+0xbd474da0,
+0xd4ec90e1,
+0xe50836ee,
+0x4d16da71,
+0x2be7257b,
+0x66cfc020,
+0x3771b97e,
+0x423f371b,
+0x2d098795,
+0xed82cad0,
+0x6547dc5c,
+0xbe6775b8,
+0x74443782,
+0x97a1ef41,
+0x22f77136,
+0x2a32f5ed,
+0xc082309d,
+0xfd0b1263,
+0xf6e4ee21,
+0x332f2f33,
+0x3e3129cd,
+0x1239da35,
+0xbb3ac9e4,
+0x602390c6,
+0xb0b7fc17,
+0x3b8e7ff1,
+0xa005ca11,
+0x1e7d0bf1,
+0x5c849d15,
+0x84306d15,
+0xc7c03560,
+0xa5d6cc8b,
+0xb1e0377b,
+0x440d014a,
+0x20ebad70,
+0xa615eae7,
+0x437e6af1,
+0x66d29a60,
+0x83074f61,
+0x56a9e1c5,
+0x2b6da5fb,
+0xdf4b8883,
+0xb20346dd,
+0x9bbcdca5,
+0x7fa85d7a,
+0x70aa3e8b,
+0xea60b9df,
+0xc42a4a48,
+0x290ed2d2,
+0x2ccccb10,
+0xf8b38772,
+0xcc4995a5,
+0xc6043c04,
+0x173fa1ab,
+0x53745667,
+0xadf5795d,
+0xe4a516aa,
+0x72271a45,
+0xf9ae57b5,
+0xbfda6d4b,
+0x42d2721b,
+0x4dea42cb,
+0xfb7bccbc,
+0xdca364fd,
+0xc4daeaab,
+0x08fcceb6,
+0xa6e8f922,
+0x4b135b37,
+0xf4321382,
+0xa64a2536,
+0xe2b4e8f2,
+0xa0c4c1dc,
+0x27d2fe05,
+0x79b713b4,
+0x54f90d71,
+0x03d73919,
+0x1d090f0c,
+0xe5bcb2ec,
+0x2db291fe,
+0xf5dd2138,
+0x6ab43974,
+0xa8699374,
+0xc249c9a5,
+0x68bf5baf,
+0xbdb1c736,
+0x1654dcca,
+0x45380d23,
+0x5a62b409,
+0x5c29260e,
+0x34950b03,
+0xfe771a47,
+0xe39d622a,
+0xe7670cf7,
+0xf1f57be8,
+0x7fe31be1,
+0xdfc55ab1,
+0x5b6ebe7f,
+0x3d67c9d8,
+0x18ced9a1,
+0x6d9b06aa,
+0x44158c8a,
+0x512133dd,
+0xf02949f3,
+0x40d9999c,
+0x85474586,
+0x39f8b698,
+0x79832d51,
+0x6b0f7e8c,
+0xe419ec76,
+0x675b393d,
+0xc2c7919a,
+0x12ff0f06,
+0x2ff23725,
+0x7a25d3c0,
+0x0730c542,
+0x2062bcaa,
+0x117a1979,
+0xa779d35b,
+0x9979f36b,
+0xc11c7dae,
+0x9bf0880d,
+0x8ff2f68c,
+0x4ce62649,
+0x7e4d9f72,
+0x9783c975,
+0x78c0f5d5,
+0x22693aa5,
+0x25fb470c,
+0x68670602,
+0xb4fc3981,
+0x9e51defc,
+0xf0152ea2,
+0xcc6e40dd,
+0x8e403182,
+0xd955e393,
+0xdf8a7030,
+0x88c944ed,
+0x9c3e259f,
+0x6ab01439,
+0x6243373c,
+0x77b5e63a,
+0xaaa1b2cf,
+0xca698d6b,
+0xdeaa1eb4,
+0xc1d81f0f,
+0xc1e1943b,
+0xa38a8514,
+0x509cccb2,
+0x284955dc,
+0x4aa918f5,
+0xeab161f7,
+0xac68d133,
+0x8ca62068,
+0xe69769d8,
+0x57a99e06,
+0x29c6a632,
+0x0a98092a,
+0x0badab8f,
+0x3ef2c170,
+0xcd80f5a5,
+0x9176367f,
+0xfa7b552d,
+0xf7ad454b,
+0x2048f397,
+0x6663225d,
+0x326de359,
+0x2455331d,
+0x3773d1e9,
+0xe5d33575,
+0xade0a399,
+0x87635cdd,
+0xa27f95eb,
+0x925f2487,
+0x3971e1f0,
+0xb8ffe973,
+0x66d93908,
+0xd531a595,
+0x26b6ddc4,
+0x47758454,
+0xd6c799f9,
+0x2e7f7a85,
+0xadd3aff8,
+0x519e8c08,
+0x3c0c76a7,
+0x7c91ef4e,
+0xbc7e54d8,
+0x757043e4,
+0x39fb515f,
+0xfc318218,
+0xbe3088fd,
+0xe523c9d9,
+0x10659413,
+0x5e2ec68d,
+0x57d23e66,
+0x86e8bce7,
+0x6ec493b5,
+0x236fb775,
+0x8808e03c,
+0x239da90c,
+0x12b6c0e7,
+0xe1719c82,
+0x865c35f6,
+0x66c7f594,
+0xe3e6c17f,
+0x6bf8edb2,
+0x84a995e1,
+0x4eafd541,
+0xe1253e5c,
+0xdb4cdbfb,
+0xb3dfddea,
+0x81c18771,
+0x386439e1,
+0x7e131229,
+0x0bd70005,
+0xe2a1f9f0,
+0x7f87ba81,
+0x1105e0bb,
+0xe33639c4,
+0x7dc250c2,
+0xddee910b,
+0x24ed6320,
+0x4ac6f484,
+0x1f0a46e7,
+0x8a7da6b9,
+0xf3e94996,
+0x46fe8920,
+0x21d6637b,
+0xd83deba8,
+0x27034fd1,
+0xe3e72c24,
+0x0d7bdcb6,
+0xbb927fc8,
+0x07746929,
+0xf55c8d8d,
+0x0a700a33,
+0x124d2560,
+0xf67258da,
+0xd8917efa,
+0x546ce0a1,
+0xa6b0f16f,
+0x37ff83aa,
+0xb6cfec17,
+0x29883004,
+0x858a0a3b,
+0xa706c8f3,
+0x566dfa80,
+0x9cc8b72c,
+0xc06b0c43,
+0xd135608c,
+0x1f75fc40,
+0xa602e39a,
+0x6df606a9,
+0x53dc9926,
+0x71f9c1d1,
+0x889b0961,
+0xbdb42e34,
+0xbb3c68bb,
+0xfa4ab08b,
+0xb93749f0,
+0x2ceb8a65,
+0xd3695df6,
+0x6ab401ca,
+0xfb0afe9d,
+0xd018afcb,
+0xb1d73245,
+0xbb19e71a,
+0xc079cc45,
+0xf5bea349,
+0xaa1e3247,
+0xac68a9c2,
+0x763ef9a1,
+0xd01329ec,
+0x5903513e,
+0x47a85a15,
+0xb64cf747,
+0x31457710,
+0xcd15c06f,
+0x17f1b326,
+0x9dbde7be,
+0xd2d52c1c,
+0x513e5f03,
+0xeb0895e5,
+0xcd9ef921,
+0x0ba3e683,
+0xa82d14bb,
+0xb96a3858,
+0xafba27df,
+0x84782901,
+0xc4d27e37,
+0xff28448a,
+0xe295bfba,
+0xa6aa3536,
+0xacd4795a,
+0x8976f185,
+0xa9ed7170,
+0x59d890ba,
+0x1c930c80,
+0x9e58ef76,
+0x706f4123,
+0x32b3c20b,
+0x78337984,
+0xf744f95a,
+0x03fcaab8,
+0xbfac1e6f,
+0x63e9fac9,
+0x89603c0f,
+0x49c38a6f,
+0x232a5986,
+0x7c17dd40,
+0xc1c1fe2d,
+0xa5d5fc48,
+0x117a5422,
+0x6a0f72f3,
+0x15df1729,
+0x730b7655,
+0x1d2e8741,
+0xbded219d,
+0x4662c5df,
+0x0312bce2,
+0x663c26cc,
+0xb8d47655,
+0xc08dda20,
+0x372cfb6b,
+0x365eee29,
+0x017fbd80,
+0x51023e0c,
+0xd829ebf9,
+0x3f08a894,
+0x68c32a8e,
+0xa8828f01,
+0x395f3720,
+0x886880f8,
+0x95e1246a,
+0x7cd56144,
+0x87f62b06,
+0x87b5a7d6,
+0x311bb5a5,
+0xa7e34e9f,
+0xb94b28e3,
+0xcefa8fa5,
+0x58cadbed,
+0x6552f9a6,
+0x53a4cba9,
+0x0de1d556,
+0x2d02ab83,
+0xffe3c559,
+0xafbdb653,
+0xcea75888,
+0xbe274fd4,
+0xb6f614f1,
+0x96fbbf99,
+0x9b14310e,
+0xc682f411,
+0x75c2082f,
+0x3f825b9f,
+0x00a4f891,
+0xf9160d3d,
+0xd4b163e6,
+0xf1488a3c,
+0x3fa56233,
+0x7f906160,
+0x950e76d1,
+0x40dc3dcd,
+0x75bb0e76,
+0x003ed39e,
+0x0d769201,
+0xf84f4e9f,
+0x75e700c3,
+0xe1badd39,
+0xaa09d7fc,
+0x741dfe40,
+0xf6a03131,
+0x48ac4efa,
+0xf06b2135,
+0x5bd34da0,
+0x4acdcc15,
+0x26f2986a,
+0x811f053d,
+0x0ba8c7dc,
+0xfe61e0f8,
+0xba3259d5,
+0x1d64c4dc,
+0xe760f710,
+0x6779708b,
+0xc1d08953,
+0xe008a0a0,
+0x48965d30,
+0xe3e89e9c,
+0x1cde2774,
+0x86cb219c,
+0xa349f218,
+0x89999da7,
+0x659c52d7,
+0xa97ac146,
+0x39860f37,
+0xa728aa71,
+0x2005d827,
+0x00c168df,
+0x1ab36fb7,
+0x172cc52d,
+0x7794c468,
+0x1f4feaae,
+0x55da74e0,
+0x3d9fb615,
+0xc08dc842,
+0x43c92267,
+0xf1da209f,
+0x4a3f4825,
+0xbc5a5dcd,
+0xae37ea15,
+0x3e0f10ce,
+0x19cf6ccd,
+0xd7bfb6ea,
+0x2f8bd0d3,
+0xa8d3e6a7,
+0x4d0f8816,
+0xa17310d0,
+0xf2bfc223,
+0x0945cc77,
+0xe1ceb70f,
+0x0243457b,
+0x502205e3,
+0x8adc3ddd,
+0xf5a68975,
+0x9b8a6d1e,
+0x23044a82,
+0xa4410c6d,
+0x4ee0cf78,
+0x6c0110be,
+0x5d3d6811,
+0x12227e85,
+0x083165cd,
+0x01b472ee,
+0xb2541a88,
+0xf5c09637,
+0xf98e384b,
+0xe0fad117,
+0x39b4bf4d,
+0x98291d2e,
+0xbfa7cd68,
+0xa7588e9b,
+0xe3b70462,
+0x32c215e9,
+0x0343436f,
+0xbd2563fa,
+0x9cee3e2e,
+0xa789d44a,
+0x249f283d,
+0x6df8fe57,
+0x583c9de6,
+0x683932ae,
+0x2600e49c,
+0x80fcc6b6,
+0xbd7691b6,
+0x98dd0d7b,
+0x8e36c836,
+0x6221a4fe,
+0xa0cf2016,
+0x071884f5,
+0xd480e2bc,
+0x4c8f78be,
+0xe0c7ead9,
+0x8bbb424f,
+0x02d82ede,
+0x2b565689,
+0xe8c457fc,
+0xbcf29384,
+0xd87ef80f,
+0x88b41898,
+0x3f2d7bf7,
+0xe8195822,
+0x29563529,
+0xc1629b4a,
+0x495bbc1f,
+0xf1a12304,
+0xa8190e3c,
+0xe8d3b9ed,
+0x39751585,
+0x58ef1ff7,
+0xb2506df4,
+0x102ff124,
+0xb75a5f02,
+0x64ae0526,
+0xd8dbc82d,
+0xbb1239ef,
+0xa6a76063,
+0x982d0b85,
+0xdc07c8eb,
+0x6e979875,
+0xab3934a4,
+0xa0347eef,
+0xbcab9e3a,
+0xcc337532,
+0xb44fe9e5,
+0x625fbd89,
+0x7428fd58,
+0x31c56a13,
+0xadefa428,
+0x61b04b1c,
+0xea2ab2e9,
+0xe2f61264,
+0x33d72b36,
+0xef46b2e7,
+0xd9592bc7,
+0xd35e2562,
+0xddd0b3d8,
+0x9bd61935,
+0xe38f90aa,
+0xbd136e3f,
+0xcaf75622,
+0xe3b372b3,
+0x6c30c691,
+0x9f94ad8f,
+0x02f689d5,
+0xee608df1,
+0xddd38935,
+0xc784f272,
+0xbf968f8a,
+0x62de1f17,
+0xb280e55c,
+0x0adca0e3,
+0x019d1122,
+0xf20172ad,
+0x837cd92b,
+0xb4fe6783,
+0x35974558,
+0x6d22f7f7,
+0xa026f34d,
+0x6dd8b479,
+0x3527eba8,
+0x2ede28f8,
+0x6a2c473c,
+0x53e9b4d9,
+0xfab841e8,
+0x48493b39,
+0x48301cdb,
+0xbf4d561d,
+0xd3480f71,
+0x42363632,
+0x74345db2,
+0xd45dc319,
+0xa36be1af,
+0xd0a03bcc,
+0x752a1aa7,
+0x05f036af,
+0x2249314f,
+0xdc13b294,
+0xa72fc9dd,
+0x13b468fc,
+0x9920c48e,
+0x14d59dcc,
+0x09098d5d,
+0x20351c97,
+0x59164b34,
+0x929711d1,
+0xe791ae7d,
+0xea6fc245,
+0x88d66e80,
+0xf10aef55,
+0xcdb9b7df,
+0xfd778b3a,
+0x1aad6f67,
+0x93d9e5ac,
+0x1197b869,
+0xb5979e8d,
+0xa150e1fa,
+0x14c129b1,
+0xee4162fe,
+0x58e4a3a5,
+0xd4f28662,
+0x9faed396,
+0x599797de,
+0x3559df85,
+0x5a0d0b72,
+0x88317c52,
+0xf32ec1b8,
+0xc6733cf6,
+0x6ff6b846,
+0x497cdaf1,
+0x01395e39,
+0xecbff48c,
+0x23a23452,
+0x0ce83dab,
+0x118723a9,
+0xe8c9b1d1,
+0x27ebe278,
+0x3c438562,
+0xbba61783,
+0x440cf205,
+0xc8862770,
+0xeb7ad7c5,
+0x88bcc322,
+0xc98cf9c1,
+0xa645b4a1,
+0x852208e1,
+0x005e2b58,
+0x97ec13a0,
+0xd2b13980,
+0xabc4f670,
+0xcf4154b9,
+0x190b75e4,
+0xa368f6c8,
+0xde512bb2,
+0x5b1f89ab,
+0xf3f0a62a,
+0x481e156d,
+0x931b29e9,
+0xeef2b055,
+0xfc36c323,
+0xc2795892,
+0x53603719,
+0x6bb47e86,
+0x104c2465,
+0x85e89221,
+0xd0ec7827,
+0xc6ffcd40,
+0xd537d0e4,
+0x33ba51c6,
+0x34cc65d7,
+0xceee572e,
+0x75f3bbe6,
+0x7b95cf0f,
+0x446e80a2,
+0x156f40cb,
+0x5c82fab8,
+0xd6e0f01e,
+0x07f76e7a,
+0x62ef4b8f,
+0x8f3a9dea,
+0xc7c13417,
+0xc3b6e9cb,
+0x6a57d080,
+0x070d857d,
+0x14bb7194,
+0xc9d071c5,
+0xa2f98181,
+0x5d478baa,
+0x2cb7497a,
+0x1ae9d844,
+0x49e08218,
+0xe4fccb60,
+0x2f9141c4,
+0xc381ab13,
+0x5c80d46d,
+0xa30ff303,
+0xd066c3de,
+0x9d9208c0,
+0x1b08940f,
+0x85beb673,
+0xcadf48b3,
+0x30ca208e,
+0xf9aac45a,
+0x1e841683,
+0x9f28e150,
+0x0a261ec1,
+0xe6ae596f,
+0xf226bc37,
+0x3209d21a,
+0x87a367d0,
+0x8db3480d,
+0x5c053884,
+0xfc6380ed,
+0x92804162,
+0x7390bd87,
+0x10eddf47,
+0x943fd571,
+0x37938776,
+0xb834d9f3,
+0x4f04e280,
+0x8226a069,
+0x1fe91acb,
+0x52463210,
+0xfadc3d34,
+0x26ec381e,
+0x07d63a50,
+0x01d9bd75,
+0x3c44b2ab,
+0x4d16604a,
+0x6f4cfe90,
+0xfa07742f,
+0x893d787e,
+0xe2ce93d2,
+0x76099215,
+0x0993e03f,
+0x14a468c0,
+0x70c1f580,
+0x7e5e76f1,
+0xc22b503d,
+0xb9debb33,
+0x9806e6ed,
+0x83f5c143,
+0xff302ae0,
+0x20ed7178,
+0xa0177e0c,
+0x2ba4310f,
+0x8b425d6c,
+0xd2940efa,
+0x2eb58a6c,
+0x6dbca749,
+0x20410c79,
+0x0ad78bef,
+0x6772c198,
+0x7a960c1e,
+0xd46e867b,
+0x33580244,
+0xea95f378,
+0x173d0ef8,
+0x968bd278,
+0xf4ce324e,
+0x6cd72969,
+0x95764406,
+0x2ec23f14,
+0xfcb3bd29,
+0x486c782f,
+0x7d38d6b1,
+0xffe17018,
+0x7fe74f3d,
+0x270e3053,
+0xb4d1c1d8,
+0xc10f1587,
+0xf90f87bb,
+0x3243d047,
+0x7a4046bd,
+0x48308275,
+0xe4cbb872,
+0x2e636949,
+0xd40fda76,
+0x5cc1761f,
+0xc3a97f35,
+0x8d2bbaa0,
+0x875e5f06,
+0x7800e71d,
+0xd2d3a5a6,
+0xe3e4e315,
+0x39943def,
+0x2c1bd6d6,
+0x6a7b43da,
+0x0f34e2b6,
+0x5d6d0a87,
+0x0e5390d1,
+0x54cab5b6,
+0x8e3995df,
+0xba6a82dc,
+0xbdde98f0,
+0xc828a79b,
+0x29fce40c,
+0x4403d334,
+0xdbae6eec,
+0xcbc3581c,
+0xa1525701,
+0xffe0be48,
+0xae9495c3,
+0x976d7b7d,
+0x6afc00b2,
+0x24b85a48,
+0x1e4de025,
+0x4b819726,
+0xb85be2ab,
+0x346c96b7,
+0xe3c5dbdf,
+0x32974d9b,
+0x69fc3836,
+0x5c42b3e4,
+0xd0621b91,
+0x6662e641,
+0xc8545c4d,
+0xca131af0,
+0xe4bb567b,
+0x46b30b36,
+0x945abc14,
+0x4088c9c8,
+0xe1a7e386,
+0x8e79e34b,
+0xc056dde3,
+0x2e4114ce,
+0x61a37cfa,
+0xc3867b36,
+0x547c9bc1,
+0x3b81ee7c,
+0xd7c248ac,
+0x385f2cb5,
+0xe0f4e475,
+0xc66f4219,
+0xe04bf053,
+0x51c631db,
+0x173c941a,
+0x1ba4a287,
+0x990e9bb8,
+0x94336622,
+0x53c4302d,
+0x4df168e0,
+0xa3e6b3d7,
+0xb35c8384,
+0x02c3bb9e,
+0x3f35fcd0,
+0xce8a799b,
+0x8a4835fc,
+0xe47c44a0,
+0x49dec02c,
+0x7fb40853,
+0x049537eb,
+0x82d0671f,
+0x8b93961b,
+0xb2b3f932,
+0xad711d1f,
+0xc06a75f1,
+0xd64b74e3,
+0x5bb947d8,
+0x1af2bc95,
+0xc8bb25be,
+0x4b8bab0e,
+0x8e4481c3,
+0x88cfe859,
+0x42ec4eea,
+0x9d8d661e,
+0x4ebc516e,
+0xb8abdfa0,
+0xdaf3bbdb,
+0x65b3ca14,
+0x8f3314c2,
+0x9cdf9f92,
+0x93f16dbb,
+0x6a59de3e,
+0x0fa2960d,
+0x01327b27,
+0x4d10461c,
+0x7f3cb7da,
+0x8b327595,
+0xe3c76241,
+0x34d0762e,
+0x8573610b,
+0xa5096c69,
+0xbc9f1c47,
+0x236a5cd1,
+0xc6387170,
+0x38722cf8,
+0x5cdb00a0,
+0xff3a9666,
+0xea39f565,
+0x41a163bf,
+0x58b39c3c,
+0xed255a0b,
+0xe9e5310a,
+0x8c7b0aa8,
+0x8e2184ea,
+0x6c2d2b78,
+0x054e443d,
+0x3b34a94a,
+0x15a5a67d,
+0x89dcb304,
+0x67e3694d,
+0x3d7edd95,
+0xbd15f57a,
+0x49f8e7fd,
+0x204843d6,
+0xc0814460,
+0x68994c5d,
+0xcb8c7256,
+0x8208ffb5,
+0xe6619443,
+0x8c1c337b,
+0xab2a4699,
+0x2142b095,
+0x94101d3a,
+0xbfeaa48a,
+0xb15c428b,
+0x38ede700,
+0xf5bdea02,
+0xfd4fe1c3,
+0xbea9a49d,
+0xcd6d7fca,
+0xc715545e,
+0xb0a2dfc2,
+0xa555b281,
+0x99fa4da1,
+0xcdfd6275,
+0x8669874e,
+0x8a32d1b0,
+0x43c56887,
+0x6e3b85f5,
+0xde5a9f46,
+0xf52bb33c,
+0x1330a148,
+0x12628731,
+0x346b527f,
+0x605435d9,
+0x757981fe,
+0x8cd931bc,
+0x5dba3272,
+0x3a1c9775,
+0xc7bb01b1,
+0x96808904,
+0x2c586f41,
+0x2d7d1e20,
+0xa077885a,
+0x8e54d973,
+0x5ad373c6,
+0xb4861ce9,
+0x1146a19c,
+0x0a43f60d,
+0x86f01b49,
+0xb47d3e10,
+0x76fc3c5a,
+0xc2578541,
+0x4cc7327a,
+0xf7952839,
+0x21b229f5,
+0x33667bf5,
+0xdfe0fe21,
+0x55f10372,
+0x6ae32c62,
+0x71ac5d92,
+0x4b9fde72,
+0xaf2da77f,
+0x2ddf0f29,
+0x80c596a0,
+0x5028910a,
+0x2b3fa490,
+0xda70c96f,
+0x7da8117f,
+0xa6877902,
+0x4725efda,
+0xe2acf206,
+0x57beb84c,
+0xe3e0d926,
+0xbe2dcf88,
+0x9a4b6590,
+0x4e41ea67,
+0xf54a0b5c,
+0x4b6cd828,
+0x0de32504,
+0x2ce5c42a,
+0x896a2030,
+0xabe4e0f5,
+0x0eb9abdb,
+0x00f64b70,
+0x23074e64,
+0x0dc443e3,
+0x63142e7a,
+0xf599224f,
+0x9e155175,
+0x3306eb05,
+0xa124f4f5,
+0x1c25f6d7,
+0x74464389,
+0xc88c25ac,
+0xf1082229,
+0xafb6c4e9,
+0xf7fdeadf,
+0x28e85486,
+0x97dc9a0d,
+0xeac894fc,
+0x615f7673,
+0xdfcbd5cc,
+0x99bfd3cb,
+0xcf6062d3,
+0xb445d7e7,
+0xe851ee9a,
+0xc90430f5,
+0x420941bc,
+0xba0f1ef9,
+0x6128b2bc,
+0x1e78513c,
+0x70485a35,
+0x32315c33,
+0xbdfe87c4,
+0xa289159c,
+0x2814ae6a,
+0x3580612d,
+0xeaa68ba2,
+0xd7aedeb0,
+0xb0eec31f,
+0xf4ee6812,
+0x5ee6f208,
+0xb1c03ef3,
+0xb5f99d2e,
+0xb41534b3,
+0xf43f4972,
+0xf52fc6e8,
+0x081efc67,
+0x294be7f1,
+0x911b2ce6,
+0xdff77ce5,
+0x0f0700ba,
+0x64643c96,
+0x02bfe998,
+0x526b0a43,
+0x19e18fd8,
+0x8c8e7949,
+0x27ef40f0,
+0x9550f87c,
+0x3120eb5e,
+0x7d15c31b,
+0xc392f760,
+0xacab7cb9,
+0xdcbcfb22,
+0x983f03e5,
+0x8c6ee45f,
+0x9c37a72b,
+0x9d5cad88,
+0x5ba458b6,
+0x1038821f,
+0x97a3f7ae,
+0x8d0d2da2,
+0x9acd78ec,
+0x4706d030,
+0xd88b9290,
+0xc259634c,
+0x6160e917,
+0x5dbccb40,
+0x24752026,
+0x98caf7cc,
+0x73a02265,
+0x2bf99626,
+0xed49a5ac,
+0x97f6e160,
+0xfa415610,
+0x09e9310d,
+0x2daa820f,
+0x61929bd4,
+0x4caa6909,
+0xe926b863,
+0x2b77c3ac,
+0xba238e53,
+0xdabb1dac,
+0xc02eca4f,
+0x67942f95,
+0x5f49f1de,
+0x22d878b4,
+0x122367b8,
+0x2ea27a5e,
+0xeadef7ae,
+0x337b6b44,
+0xde6439e9,
+0x919262fe,
+0x90fe315a,
+0xcf586531,
+0x83ef997c,
+0x0e036eca,
+0xfa5fedcb,
+0x465f2368,
+0xc640484d,
+0x681ad4de,
+0x01a8eb21,
+0x00332bbf,
+0x583ac980,
+0xf7497ca1,
+0x92c54549,
+0x1d109dda,
+0x91a69749,
+0x4b6269eb,
+0xc3fb8f9d,
+0x2f6e1a98,
+0xa4144884,
+0x236504fd,
+0xf36e7aee,
+0x70e65ad8,
+0xa0346fb0,
+0xbd29b117,
+0xf9f53cc0,
+0x9c34c7de,
+0x66b88553,
+0xe6a23ec1,
+0x5ac3f211,
+0xbd90ae05,
+0x49f70c13,
+0x072fb658,
+0x5322765b,
+0xbb40c2b6,
+0xe4d51324,
+0x86a19921,
+0x7e9a5a78,
+0x4f04b98c,
+0xd4441640,
+0x939354c7,
+0x08340c42,
+0xb9fe0abb,
+0x9e182411,
+0xe62f2722,
+0xf19c8e29,
+0xf96d7b8c,
+0x9ff8e831,
+0xe87ca915,
+0x59f3ccdc,
+0x939a64e3,
+0x9ed6f72f,
+0xcaffd824,
+0xfa74ff22,
+0x95ebebbd,
+0x45c1b5f0,
+0x1a765f81,
+0x23ad73ce,
+0xbc08e8a5,
+0xd9d9f4ff,
+0x87ff24a6,
+0xa303688d,
+0xae402c78,
+0xa28e4527,
+0x573d1f72,
+0x3adb597e,
+0x1b0225c5,
+0xc4238307,
+0xc296d436,
+0x7d42b4e2,
+0xd074a24a,
+0x427b645c,
+0xefcc812a,
+0x8cdae433,
+0xffdd2190,
+0xda055a48,
+0x71ec9286,
+0x0ce25dd2,
+0xe857a227,
+0x4d5241f4,
+0x7ed13913,
+0x0e31dd40,
+0x40e7f269,
+0xb16f5400,
+0x2c81c355,
+0x6e2f789d,
+0x7f9f9f07,
+0x21ef9c58,
+0xbae231d9,
+0x3efbfc85,
+0x2d806590,
+0x81ffa707,
+0x9fc88c12,
+0xd8431897,
+0x5d03fd10,
+0xd943b352,
+0x36719f1c,
+0x4476db3e,
+0x2c01e7e9,
+0x34c3637d,
+0xecd74927,
+0x8a0cb100,
+0xb1881d9f,
+0x054db496,
+0xba6d1c76,
+0x1f5a81da,
+0x504a15d9,
+0xdd5ee9f2,
+0xcefdea64,
+0xb10f16b7,
+0x745506d4,
+0x339beb73,
+0x29b35c62,
+0x8d850057,
+0xec5bed17,
+0x35e31c11,
+0xb1960fdd,
+0x8f57c282,
+0xb69d28c8,
+0x9c3166c1,
+0x80bd8677,
+0x89ef60ea,
+0xbaa627cb,
+0xd1a5b90b,
+0x77bd1836,
+0xc0a06ce3,
+0xbdb8cdb8,
+0x92e5b7c5,
+0x19162cc1,
+0x15c9550b,
+0xddc2be2d,
+0x1838bcf8,
+0x717efaaf,
+0x58a4178c,
+0xb01ebd88,
+0x9113c826,
+0x6d1febbb,
+0x906a880a,
+0x9b186168,
+0x16b79850,
+0xe5a6a5ba,
+0x4a2c09e1,
+0xbe21dfaf,
+0x96a2e182,
+0x2ab94e1a,
+0xbb83f6fa,
+0xa95e3e5b,
+0x5ca51c6c,
+0x57e0d31e,
+0x7d81ece6,
+0x084fc2cb,
+0x8674c224,
+0xb7e38ad8,
+0x74990db5,
+0x17d7d866,
+0xded4510b,
+0x8cdf493f,
+0x9d372486,
+0xc63be41f,
+0x81d48f14,
+0xe9a68937,
+0x5e4fe12b,
+0xba6db8e9,
+0x4f37e149,
+0x2bf1cd23,
+0xb01dcdce,
+0x703f1de0,
+0x42bf5ff5,
+0x7ee196f8,
+0x94c62dfa,
+0x15579890,
+0x7bfb0eee,
+0x84b9c216,
+0xc86ecaf9,
+0x18e0925f,
+0x4332d52f,
+0xbd84dd08,
+0x75b63cd7,
+0xad2ee7fe,
+0xd3c23771,
+0x4d8f5ed2,
+0xccecec30,
+0x9c9a8c09,
+0xc3904cf2,
+0xbf21a26b,
+0x62955dfa,
+0xaf3a31ea,
+0x4331dd76,
+0x3b324195,
+0xb9229391,
+0xaee979a5,
+0x97b111f6,
+0x2fb15bfe,
+0x6faec284,
+0x04447f2d,
+0x70747497,
+0xf5c37f5b,
+0xd89bae41,
+0xf0a834a3,
+0x5b999f16,
+0xed721542,
+0x1f07bbf4,
+0x07aa2d72,
+0xa7f6e0e3,
+0x3b20156d,
+0xf6cdd073,
+0xb6104180,
+0xa890fd84,
+0x55d6de6d,
+0x334b314d,
+0x211204b9,
+0xeff64c38,
+0xdcc46bd0,
+0x531f638e,
+0xdabb1235,
+0x2542906b,
+0xc0bb8d7a,
+0x384cd322,
+0xec7e6816,
+0xeeda2f2d,
+0xf1146cae,
+0xb10a944b,
+0x072dd87b,
+0x8069c31d,
+0x228eea8f,
+0x2c82c2f7,
+0xd328d2be,
+0x198b94c3,
+0x41dfb345,
+0xb1f32bae,
+0xd0843513,
+0x26bcbb86,
+0x9735a9f0,
+0x20a08405,
+0xb38e6ab0,
+0xcf6d891c,
+0xf9951a48,
+0xbc77e3d7,
+0x98db0a50,
+0x77ed899f,
+0xde6ae093,
+0xe96d25a1,
+0xa78972dc,
+0xd43d090a,
+0x90ce9596,
+0x651498b6,
+0xc0804d46,
+0x67b848c3,
+0x0ef411e3,
+0x2db5bc0e,
+0x51f56738,
+0x1d058a76,
+0xc2b51e1e,
+0xbf10c0a0,
+0xbcf7d1aa,
+0x8ed5008c,
+0xd0099736,
+0x4cea59bc,
+0xba837fb3,
+0xaf945aef,
+0x1200cee2,
+0x331f2063,
+0xde7c0c33,
+0x42e6714d,
+0x34c241e9,
+0x838cf62a,
+0x9cd89a03,
+0xa0d19387,
+0x317ae999,
+0x9552403c,
+0xf42ee390,
+0x9d7c86e9,
+0xb95020b3,
+0xc164741e,
+0xdde94ae6,
+0x7b703032,
+0xb7f1f95c,
+0xd07cd6de,
+0xd3576950,
+0x20965665,
+0xb0db922f,
+0xf99fe603,
+0x61790f0d,
+0x2090a9f3,
+0x60c06f37,
+0x3ce3c5cd,
+0x90bb1173,
+0x8b38ce76,
+0xac8b7876,
+0x805d4ae7,
+0x4f9c7a91,
+0x88faaf77,
+0xc1eabb13,
+0xb0b2ed6a,
+0x14859474,
+0xd931b551,
+0xc331dc34,
+0x1ddc56c2,
+0x705d6d79,
+0x80813572,
+0x71123222,
+0x687c295e,
+0x00255b1e,
+0x48bf7d65,
+0x5d35454d,
+0x44e2739a,
+0x3923c788,
+0x11b5a3cf,
+0xc49282d7,
+0x85755b74,
+0xe0d91f4f,
+0x8b8a5b94,
+0x94e9fb25,
+0x5c1294ae,
+0xaed85b86,
+0xaba53f54,
+0x86da0245,
+0x03c5fbc7,
+0x1c65cd5e,
+0xbce2bae4,
+0x07c146ed,
+0xf55334ea,
+0xd662212a,
+0x9160878a,
+0xed1ed7f7,
+0xe4d99a26,
+0x6fc43dcb,
+0x47be4b3c,
+0x6bd38d68,
+0x44e614dd,
+0x7c56d6c8,
+0x83fc2d1f,
+0x0b66d760,
+0x237436c4,
+0xba123ba6,
+0xb92d4cd9,
+0x9e5f61e5,
+0x38d2edb7,
+0xbabd514b,
+0xba85e99a,
+0xe7270252,
+0x35567377,
+0x470efe7e,
+0x7fb573fb,
+0x7ff7e3b8,
+0x0ed6d504,
+0x3283575d,
+0x41f35ba4,
+0xc304da9c,
+0x86034eb2,
+0xc4dc0ca1,
+0x35285ecb,
+0x521c4877,
+0xd8f9c1d4,
+0xca92bb2a,
+0xa765a52a,
+0xe643bff1,
+0xc3b4b866,
+0x0bbcc0b4,
+0xc2f31054,
+0xf400f47a,
+0x94affad4,
+0x1624395d,
+0xe64787a6,
+0x5e5548ac,
+0x35b48a9f,
+0xdddb0b80,
+0x6074bd35,
+0x797633c1,
+0x65cd0a90,
+0x0ab058d8,
+0xa1555f68,
+0xa7fc2266,
+0x8e61e20d,
+0x2b152811,
+0x1ffdb306,
+0x2a815bca,
+0x2c2cd38d,
+0xa5e840c8,
+0x793e0247,
+0x204aa346,
+0x3789f249,
+0xcef3fb45,
+0x14cc6aa9,
+0x909d4f00,
+0x167a367f,
+0x6fb8b980,
+0x8a40857a,
+0x021d61b4,
+0xb07410af,
+0x74bf8d37,
+0x4b5f533b,
+0xfb14a1c1,
+0xf39c6175,
+0x0a7a0965,
+0x9a32c0cc,
+0xf3e6d595,
+0xef3a20a7,
+0x35235f80,
+0xff8b037a,
+0xb3e64441,
+0x0bf73572,
+0xf8c833df,
+0xcea5fa42,
+0x5eda5a38,
+0xad5f6625,
+0x51473169,
+0x041cfd08,
+0x6472c2cf,
+0x9997cb2f,
+0x009267d6,
+0xecacbffe,
+0xa3c472ec,
+0x1e23df0a,
+0x9367d84f,
+0xc2ac9ae7,
+0x63c5c5a0,
+0x8da7f769,
+0x707186db,
+0x0eb7ab44,
+0x3a9a2307,
+0xe24cf1ad,
+0xc564dbc3,
+0xdf07a85a,
+0x0f7a7c70,
+0x0c8a69b9,
+0x87bab9ab,
+0x32576d0e,
+0xc17447c0,
+0xf8e08fc1,
+0xed5bc767,
+0x4e26b889,
+0xb4bd9e92,
+0x5f4b2a5a,
+0xda654416,
+0xb244970d,
+0x90392fe2,
+0x4329f27b,
+0x974f9cfb,
+0x8b100b35,
+0xc1375a6b,
+0xef6b6b6b,
+0x7d12d546,
+0xd7c8f474,
+0x62d79596,
+0x1b957451,
+0x4b279690,
+0x8c0edf00,
+0xdb1d6429,
+0xf6598a22,
+0xc1b8b263,
+0x043a0a7c,
+0x7be0a89d,
+0x8656390b,
+0x45e87f77,
+0xd9691edc,
+0x6923f0f9,
+0x4d919c50,
+0x2b0aa37f,
+0x7e17fa97,
+0xe02f000a,
+0xd69d20a0,
+0xd7783458,
+0x83026a5c,
+0xfa94735c,
+0xd89ba7af,
+0xfbf2f2b5,
+0x2b1a3632,
+0x480866a6,
+0xd524b575,
+0x4cc31999,
+0xb5ab4263,
+0x0126caf7,
+0x92ee87f1,
+0xa9c6a080,
+0x3e05f6c0,
+0xf6206b05,
+0x68bb65ec,
+0xc8e09d94,
+0x7db0b4e8,
+0xb10cbe91,
+0x2cdb2fed,
+0xd357a0ab,
+0xd9579a42,
+0x10880fc0,
+0x14dc3ff7,
+0xa21df74d,
+0x89699c71,
+0xd306dbaf,
+0xfe122ca2,
+0xd4dcea6b,
+0x44efd14b,
+0xd05e9318,
+0x4b42f551,
+0xd8bb87da,
+0x1f37c4af,
+0x7dc7b67b,
+0xce7ade12,
+0x1bec4352,
+0xe23a54ce,
+0x102b0089,
+0x17db5b40,
+0x3a08852b,
+0x9206f0d5,
+0xc7d8c601,
+0x5e2f1479,
+0x1f341efd,
+0xc971a645,
+0xf764d66b,
+0x8f05964b,
+0x6a7bf51e,
+0xc1c45728,
+0x5a58c692,
+0xf591b990,
+0xf78ceab1,
+0x8ce1b5e3,
+0x6c3ca98e,
+0x66fe0045,
+0xdad878aa,
+0x153586fa,
+0x8ceab70c,
+0xe31ab218,
+0x5385cd56,
+0xa2328db0,
+0xe99ab6c3,
+0x334d11a9,
+0xd9f2830b,
+0x81d9a1eb,
+0x2f8a150e,
+0x229ad08f,
+0x0cc69d3a,
+0x28d95084,
+0xcd282b6b,
+0x555b4ebf,
+0x5e6e757d,
+0x0b89e2eb,
+0xe79fadcf,
+0x63020947,
+0xe7844663,
+0xa05155b4,
+0xddf89882,
+0x09b864cc,
+0x88381027,
+0x8d26414d,
+0xd3fda3db,
+0x83b862b5,
+0xe316c58b,
+0x7eec0ca7,
+0x22dfb2d1,
+0xd988589a,
+0x8b2e2334,
+0x0e118832,
+0x24963785,
+0x8cb02e61,
+0x54a25fa3,
+0x90278a6c,
+0xb22b37ca,
+0x117f3ccc,
+0x19ea8125,
+0x1c4e051a,
+0xd3495aba,
+0x8114181e,
+0x763385bd,
+0x34457b69,
+0xd8c01255,
+0x6f82b3ed,
+0x647f22cd,
+0x8d95a664,
+0x5afd0821,
+0x733b763a,
+0x3a050ef0,
+0xb7dc4e82,
+0x3078dbca,
+0xda683220,
+0x95e3166e,
+0x7f44a9de,
+0xbf769fa1,
+0x9da326d3,
+0xc1f43017,
+0x3f8d4527,
+0xad005039,
+0x6ef1ad2e,
+0xf35e6ddd,
+0xc774af57,
+0x7006f4b2,
+0x10a87b9c,
+0x7a037373,
+0xf1cb9d5e,
+0x94d58a31,
+0x6ee7acf8,
+0x86f6159e,
+0x1fa07375,
+0x495a1c5b,
+0x45b812ad,
+0x5bd1624c,
+0xf5a63baa,
+0xea44fb1a,
+0xb003f08d,
+0xb02f6aa5,
+0xc4215286,
+0xfa852d4b,
+0xea1c8eca,
+0x45c36017,
+0x4328c2f5,
+0xb34b2fbb,
+0x3703946f,
+0x06cffdc7,
+0x96c6fc03,
+0x8f1d01db,
+0xae314404,
+0x3e2c1a4b,
+0xe07a3461,
+0x835eba05,
+0xdf466dde,
+0xe17360d0,
+0x372fdb21,
+0x197c0c47,
+0x192fa42a,
+0x1a742027,
+0x445ea8a6,
+0x2ce2fead,
+0x77138b95,
+0xc8c313e0,
+0x95c3a015,
+0x33cd021f,
+0x9726260e,
+0x7d60518b,
+0xb563aacd,
+0xc03d6177,
+0x870f2d60,
+0xa17aeb71,
+0xb81737c6,
+0xac2508eb,
+0x7d9348e0,
+0x3f24b8c9,
+0x06d6c2a8,
+0x3b18a2f1,
+0xf685bc53,
+0x718e4a3e,
+0x78417511,
+0xaf355957,
+0xa94e5956,
+0x18cf2fe3,
+0x0cc54bed,
+0x2029993c,
+0xbea3ed3c,
+0x18288536,
+0xbbd2a4d7,
+0x898ddce9,
+0xcbbeb239,
+0x0c8aea0f,
+0x5a779aef,
+0xc57f6351,
+0x4593419a,
+0x627f885e,
+0xb1af1945,
+0x19ba4aa5,
+0xaa7a908a,
+0xbea59b44,
+0x9e80d474,
+0xda8a107d,
+0x2f714c18,
+0x025a63cb,
+0xc9cb038d,
+0x1f3df10b,
+0x4adba2dd,
+0x974cfe6b,
+0x6a74f484,
+0x5d781c4c,
+0x63b38e6e,
+0xef15ccbe,
+0x42de3cc5,
+0xca0672ad,
+0x415a8244,
+0x117b2b72,
+0xb6f4eb27,
+0x346f81fe,
+0xf3e13852,
+0x85551fc0,
+0x679c1884,
+0x2641590e,
+0xf75fd6bc,
+0x9cd02e3d,
+0x3ec0dafa,
+0xb83ec497,
+0x24880ae8,
+0x785c9080,
+0x6ae18a79,
+0x8e5c60f8,
+0x433ea6d8,
+0x9bad9a79,
+0xe543aa99,
+0xbafdd173,
+0x79c672ba,
+0xa34f3988,
+0x2ffcdd84,
+0x029773d7,
+0x275d8976,
+0xc496fe18,
+0x92be5ce6,
+0x4a20c795,
+0x0a9a1d0b,
+0x22fb1566,
+0x3c604ecc,
+0xa10f7a51,
+0xab875df6,
+0x82d95d0b,
+0x49c6f37f,
+0x1d096708,
+0x88069116,
+0x3bbdc47f,
+0x69c6251f,
+0xd8e60996,
+0xf7c0537a,
+0xd8aff961,
+0x4ccd6ac1,
+0x9dc7784b,
+0xbbfda119,
+0xdfc5fa13,
+0xbb145f69,
+0x921bb1df,
+0x9455c3e6,
+0x43aa1c1a,
+0xa9cb0e75,
+0x0427e6a3,
+0x64e481ed,
+0xdbaa77f6,
+0x30d4a29b,
+0x8801b062,
+0x7a82a56a,
+0x00333a1e,
+0xff399c13,
+0x5dc5c366,
+0x6f77e44e,
+0x73326e5a,
+0x03defd4f,
+0xa0cd7325,
+0x727c7a7d,
+0x290d214c,
+0xea608ace,
+0x3d73e831,
+0x7f38c71c,
+0x4a39e02c,
+0x50494c0d,
+0xa25e999a,
+0x06591c1d,
+0x4868deb6,
+0xfe6163b6,
+0x741a7a3d,
+0xaed3619a,
+0x10e34e3b,
+0xbec653ec,
+0x13cf0931,
+0xc933ab74,
+0xd7c35ab9,
+0x77fa78a8,
+0x75580cbe,
+0x26cbcf8e,
+0xad2a1836,
+0x47a894c3,
+0xd86cbefd,
+0x0d40be7c,
+0xfe36164a,
+0xba017905,
+0x0afc151f,
+0x29474b83,
+0xa9a34dac,
+0x6766df3f,
+0x58bb9a38,
+0x26e1a4be,
+0x9e900f55,
+0xacca54cc,
+0x19255096,
+0x79efa2e4,
+0xe0ed000c,
+0xe33bd021,
+0xfa5bc72d,
+0x910151f4,
+0x79dbabb3,
+0x7fc19387,
+0x0415a9fd,
+0xe721573c,
+0x14330fd4,
+0x9c685483,
+0xd16b936c,
+0x3c7656a1,
+0x027febbf,
+0x48145992,
+0xf456a38a,
+0x269871df,
+0xdebdffab,
+0xf3e0be63,
+0xb2ea7ed7,
+0x72f5bae0,
+0x17babe99,
+0x19149e58,
+0xfbb5cfc1,
+0x1a62db80,
+0x95721591,
+0x1abf27d8,
+0x7bd28b35,
+0x3d169f71,
+0x56de3eb7,
+0x7bfe58aa,
+0x82015439,
+0x7d4ee26a,
+0x391c7554,
+0x0dc8f603,
+0x01879c37,
+0x41f78be9,
+0x601e0394,
+0x038fb54e,
+0x30a3484d,
+0x712973f0,
+0x289f0c74,
+0xb3e24d36,
+0x59f37773,
+0xe3904b90,
+0x10cb680d,
+0x1c382501,
+0xe7ada8c7,
+0xdbf94e03,
+0x1e155bc2,
+0x4bf05629,
+0x4dc6c3e5,
+0x22efce99,
+0x7c29cb51,
+0x923d6149,
+0xf3068c52,
+0xea046332,
+0xdf0b3b13,
+0x65818e2d,
+0xc20991cb,
+0x86b8c4da,
+0x6e3a27f9,
+0x1cc2148c,
+0xf72daeb4,
+0x17c3a2f5,
+0xb76d0105,
+0x20381925,
+0xa482e563,
+0x028830a7,
+0xe47b2895,
+0x0c31c527,
+0x4819aa0f,
+0xe4f9eda7,
+0x0ad4eff8,
+0x0da1cd3a,
+0x71917d7f,
+0xdf701798,
+0x36e525bf,
+0xcd81e79d,
+0xeb4d9c15,
+0xc29d929b,
+0x71544b7d,
+0xee5ed4fa,
+0x3b6572bc,
+0x98097c29,
+0x40c9e9dd,
+0x7e58c0c2,
+0x67f0810c,
+0x8df6862c,
+0xd0361cc7,
+0xcf2eb077,
+0x3f03a957,
+0xc4fe698f,
+0xa41467a8,
+0x9ab7f277,
+0xa2c41407,
+0x317027f9,
+0x10e317a8,
+0xb057bc11,
+0x0796f127,
+0x8de575de,
+0x210e2624,
+0x6cc0528a,
+0x7d81a5fb,
+0x149da5ed,
+0x24d56525,
+0xa85f7b0c,
+0xea4e9916,
+0x27cca5f0,
+0x5a101e7b,
+0xf92e80d6,
+0x51ba1e71,
+0x7c43cf6e,
+0xce753c47,
+0xbe58fb6e,
+0x8cc2b72f,
+0x9b23c537,
+0x51522dec,
+0xfe77781a,
+0xb18220ea,
+0xcd132ba6,
+0x4725457d,
+0x195da3a0,
+0xa72ccaae,
+0xb543feab,
+0x36bbdcc3,
+0xa30d9cc9,
+0x41b0f8e1,
+0xa5d7261b,
+0xfe032603,
+0xe7a4254c,
+0x78063d28,
+0xd280f38c,
+0x18492f1f,
+0x3b85dfd9,
+0x31dd95b5,
+0x21adf169,
+0x436774e9,
+0x4cf45393,
+0x44e646e2,
+0x6fe2d542,
+0xb55fd9e7,
+0xe6d8d061,
+0xee04162b,
+0x71959fde,
+0x128d0912,
+0xb0c6d1ae,
+0xf35d74ef,
+0xcb50c552,
+0x7d01cca9,
+0xddcb646e,
+0x2b6a9bc2,
+0xd1bee3f8,
+0xc2cc7d32,
+0xe24e7d86,
+0xde9fdf99,
+0x9948f593,
+0x2de94ad3,
+0xb1ca25f8,
+0x31381c16,
+0x7e61bac9,
+0x751b4451,
+0x79b6fded,
+0xecac8d1f,
+0x8c16c15b,
+0x04662215,
+0xaeec0827,
+0x595a4bd6,
+0xe84337ee,
+0xfe97b603,
+0x54530062,
+0x501f07da,
+0xec86b0f9,
+0x2d25e32a,
+0x083ceded,
+0xf8f27108,
+0x63b2c92f,
+0xf954c0db,
+0xd2c712d7,
+0xe1ecaa3b,
+0x8f67f30b,
+0x4d9deeb6,
+0xac145932,
+0x44d3ef6b,
+0xe41d1bd1,
+0x281a9408,
+0xe588222e,
+0xae780168,
+0xae7ca20f,
+0xff4ba449,
+0x915a0dca,
+0xb4802bd6,
+0x5c51c14f,
+0x90cac126,
+0x10f7dba4,
+0x318790da,
+0x1abc6c39,
+0x9626c2c0,
+0xf84d2c65,
+0x9d7f5f8e,
+0x63501e4d,
+0xf836655d,
+0xc9f2f33f,
+0x5d581ff8,
+0x7dff4b09,
+0xa51958bf,
+0x2cdfccd1,
+0xcc49e81b,
+0x41cb52ab,
+0xf8ca0a0f,
+0x191219dc,
+0xf4189d72,
+0xe228550b,
+0xc902cb19,
+0xdeb8e82a,
+0x3aeb3289,
+0xaef61b53,
+0x607c5f65,
+0x08e3199a,
+0xf31c2734,
+0x083edb55,
+0x5d591ba7,
+0xe2e71e65,
+0xafce83ad,
+0x0e618eed,
+0x7f2b1bc9,
+0x8e398140,
+0x50a9c7f0,
+0x0abf9921,
+0x8b0a1ca1,
+0xf30832b7,
+0x97ad77ed,
+0x70c279a0,
+0x986e00ca,
+0x2c86c499,
+0x7e6f711e,
+0x244cfe68,
+0xba97305e,
+0x54fa7b5c,
+0xb0e2fb35,
+0x5a8cd571,
+0xaf9b2054,
+0x0d6f7a0a,
+0xa586bf08,
+0x8e342bb6,
+0x5132410a,
+0xa09ae1c3,
+0x64d84761,
+0x87da49c7,
+0x50a4851a,
+0xdb059401,
+0x3bf74b79,
+0xf88c9e2d,
+0x9a94a725,
+0x87664983,
+0xb9aecb37,
+0x451e1260,
+0x658b362a,
+0xf3fba82d,
+0xab71a153,
+0x68099093,
+0x1a361be8,
+0x36028b47,
+0xb1f09361,
+0x7ab7f3b8,
+0x94823cad,
+0x2b47cdce,
+0x030746da,
+0xb151c296,
+0xa7d131e0,
+0xfaecdee6,
+0x2efc616c,
+0x89bbb61c,
+0xc8875742,
+0xdad0fee6,
+0xfe5cc539,
+0x2b95c46e,
+0xd53419e2,
+0x3604ede2,
+0xa516c26e,
+0x604d547c,
+0xc49b5071,
+0x1cdb582e,
+0xd9d465a2,
+0x0b56091a,
+0xbfa1245a,
+0x33011931,
+0xc2764f29,
+0x8fc3f538,
+0x7e942c59,
+0x5798e2dd,
+0xfa7a68be,
+0xc4a90440,
+0x25d485b2,
+0xd32b6f22,
+0xce9ec219,
+0x895c581c,
+0xaa8d8dea,
+0x7c6f5872,
+0x1ecf66a7,
+0x31ddfb82,
+0xd3ae5e1d,
+0x4e8fb647,
+0x6df1bf5e,
+0x1b8cbad6,
+0x057bb1aa,
+0x0188b2c1,
+0xbbe25f73,
+0xabbf438a,
+0x37e22af1,
+0x3195fb2c,
+0xd86f6ff2,
+0xca5cfa7c,
+0x5372094a,
+0x0da409ee,
+0x2d9dc06e,
+0x2b18eca9,
+0x4ba8e234,
+0xd2e2d833,
+0xee4b7b26,
+0x213ee84c,
+0xd6f66193,
+0xdd47bd6b,
+0xce226e5d,
+0x5416df56,
+0x04bc9dc4,
+0x539536ab,
+0x61c0c02a,
+0xbc80cf59,
+0x1e6ffa6c,
+0x12a7dd2e,
+0x8cecc497,
+0xc719f6e0,
+0x1e49c860,
+0xf17a172c,
+0xae8b1b0c,
+0xe57b62b2,
+0x90594b97,
+0x86354683,
+0x101bb301,
+0x2662d95a,
+0xd7cd301d,
+0xe199ecc2,
+0x61c23e00,
+0x7ca8421a,
+0x6022a746,
+0xde51f369,
+0xca08fd86,
+0xb58b0f6e,
+0x4f77090b,
+0xe6078065,
+0xe2092aba,
+0x775dc6c8,
+0x6cf85d6c,
+0xa71c93ad,
+0x6a9d8c46,
+0x0c57ffc5,
+0xc6ab3178,
+0xd07c71e3,
+0x58e36e7f,
+0x70e51721,
+0x91058dcf,
+0xe2e5d84b,
+0xd2dff2dd,
+0x8f503c3c,
+0x92bbc705,
+0x9c5824b2,
+0x779b0f77,
+0x1768a699,
+0x2c59276d,
+0x2c5d001e,
+0x9271d70b,
+0x1f4a289c,
+0x1c554fb3,
+0x7f9c5b79,
+0x9ce61961,
+0xb33cae8a,
+0x77248a79,
+0x6ae1a8c3,
+0xbff3107b,
+0x4c0cb6fe,
+0x502de9fc,
+0x1215fe2f,
+0xaf3cc204,
+0xfc7de93e,
+0x5e0002a9,
+0x000b36ea,
+0x3b2938ad,
+0xfccab71d,
+0xf8505e2f,
+0x17f83321,
+0x797e613c,
+0x8f4bbf90,
+0xc3b1af4e,
+0x67819576,
+0xde71cf33,
+0x8c3cedec,
+0x1ee97002,
+0x7c572969,
+0x23ea8695,
+0x47d42e39,
+0x0f990de7,
+0xf55e6eb1,
+0xc9b9f208,
+0x299b9f4b,
+0x27446eff,
+0xaebf9641,
+0xb1fc78f8,
+0x6df126d3,
+0xa5d4adb1,
+0x5c78e114,
+0x4dd17255,
+0x4641c709,
+0xea0c69fa,
+0xec3b86da,
+0x21e37f52,
+0x3d746a01,
+0x43352343,
+0x3f3d3e2f,
+0x6a3eaa84,
+0x12319b40,
+0x3d0be700,
+0x88f49fde,
+0x1e6f6f2d,
+0xc1f775d6,
+0xd936d6f2,
+0x5c8db645,
+0xa0b286c8,
+0x43478701,
+0xc3b03d65,
+0xd154fb60,
+0x7aab3b1c,
+0x355c000c,
+0x374004f2,
+0xaea8ff25,
+0x0417c4a3,
+0xe197146a,
+0x317c238a,
+0xc51408a2,
+0xdb828619,
+0x504af888,
+0xc544900a,
+0x601a4a29,
+0x752366e4,
+0x1531f23e,
+0x9194bd4d,
+0xe21487d9,
+0x60528f62,
+0x9b265d48,
+0xce0bd166,
+0x6126261e,
+0xb639d21b,
+0xe520e827,
+0x4e5b942a,
+0x9694b540,
+0x17e4a0bc,
+0x65f7aeea,
+0x2bb08134,
+0x58802569,
+0xd01a1a7e,
+0x3ca366bd,
+0x01b9d357,
+0xe3d0c84b,
+0x70276de2,
+0x5630fd02,
+0x5df479c0,
+0xe20e2f52,
+0x81b5565d,
+0xb00adbbc,
+0xfe604230,
+0x794bf0df,
+0xf25fd14d,
+0xebc14754,
+0x5f0c0b01,
+0xd0e3ed31,
+0xed1766b8,
+0xd8ef9671,
+0xd06f8f70,
+0x5df01d7c,
+0x01664b1e,
+0xc31d58dc,
+0x1032c970,
+0x46dcc478,
+0xd2009aa8,
+0x45b24652,
+0x766e9272,
+0x845a5226,
+0xb990c66c,
+0xf9fb8924,
+0x1396007e,
+0x44d488fb,
+0x02c2c487,
+0x33c076e4,
+0x7814d9af,
+0xcbd89a05,
+0xb987d1c1,
+0x45aa24cc,
+0x9ab85016,
+0x8bf1b2c4,
+0x1a46cf3a,
+0x8515ce05,
+0x5f97d785,
+0x82b8fc21,
+0x2739c7ae,
+0xfd094bba,
+0x5154409d,
+0x4af76072,
+0x4e4a5d92,
+0xeaddde26,
+0x821b236b,
+0xb520a03b,
+0x22a43c69,
+0x7cbaf5dd,
+0xdae39232,
+0x0d2ac4e9,
+0xd1e86951,
+0x2f3acada,
+0x40b4784e,
+0x8895503d,
+0x155234b0,
+0x124ddf24,
+0x3b195b10,
+0xdc64da34,
+0x973067d7,
+0xc054af6d,
+0x8b081512,
+0xabc056fa,
+0xa9827474,
+0xc267d26f,
+0x119e99da,
+0xd1171dee,
+0x4ee17464,
+0x284d83b0,
+0x327ad25f,
+0xdbc31200,
+0xdc6f1dee,
+0x6091a38e,
+0x6b5c1c82,
+0x5e18793e,
+0x96cd0f6b,
+0xf6cb39bc,
+0x4635169e,
+0xe8443bfe,
+0xe6889f39,
+0x9f0147f5,
+0xea9a88da,
+0xf05788f2,
+0xf06a9626,
+0xb1a44f5d,
+0xe2e93fe8,
+0x60524d5a,
+0x12767ede,
+0x6a3dbf74,
+0xe580bfc5,
+0x6961f137,
+0x51226ea5,
+0xd180284c,
+0x293450dc,
+0xfecf9b7d,
+0x31dbad16,
+0x47fbf105,
+0xe67c3fa9,
+0x80300c09,
+0x27eb0eaa,
+0xff68cddf,
+0xac6c4ca9,
+0x63e552b8,
+0x1879a428,
+0xbab43924,
+0x3eda894f,
+0x53dc33e5,
+0xce2c7c5d,
+0xc6c44c78,
+0x23075857,
+0x895c89c0,
+0x2973a07a,
+0x674c80a6,
+0x735d4240,
+0x6141890f,
+0x33e5001a,
+0x602f311e,
+0x5c65643e,
+0x89669083,
+0xbc8c3567,
+0xee50cbf4,
+0xc0bc4f6d,
+0x8de4e268,
+0xfc6d4944,
+0x19409504,
+0xe654c1c0,
+0x5b52fa56,
+0xf30f65b1,
+0x3cc5f6e5,
+0x1ee5f631,
+0xa8c6ccf9,
+0xb9f2b61b,
+0x94b636a5,
+0x1f7e419f,
+0x7148a8de,
+0x6fd2bc0a,
+0xd9782006,
+0xe7dd4320,
+0x6bbe846a,
+0x8b4e746c,
+0x7cb36842,
+0x3d8abbfa,
+0x99d811e7,
+0xb6661430,
+0xae5e216f,
+0xe44b08d1,
+0x331fcab3,
+0xa048f349,
+0x0b465df1,
+0x8b1b9412,
+0xab05caea,
+0x0e21ea43,
+0xae2a5d2c,
+0xa27386c5,
+0x2bb0b5b0,
+0x0d332e28,
+0xd56df17f,
+0x6f96db82,
+0x9418009b,
+0xc5f9ff54,
+0xfd257454,
+0x6bc916db,
+0xd785ca63,
+0x17e50aa7,
+0xb186fbe7,
+0x1131b079,
+0xd47b5ac3,
+0xdb25a276,
+0xf8feb8fd,
+0x8015c977,
+0x6cc46185,
+0x13586dcb,
+0xc5f6ea1e,
+0xe4cbad94,
+0xb890404c,
+0x783fa58c,
+0xa901cf69,
+0xed86acaa,
+0xe0814e35,
+0x69d67ecc,
+0xa9ead96a,
+0xe7e7aa15,
+0x3448af93,
+0xd810bf52,
+0x0c5984e3,
+0x89fe767c,
+0xe27fec03,
+0x3e479b5c,
+0x6c3d0578,
+0x95bc71c6,
+0x35bdaa5d,
+0xc6f5dc98,
+0x6f9f0edf,
+0x129a136e,
+0x4862e00c,
+0xd699e2c5,
+0xd35fdceb,
+0x4966f17f,
+0x24087b60,
+0x7b9c907f,
+0xc0d93765,
+0xbacb20ba,
+0x1e7e268b,
+0x57507bf8,
+0xe782a136,
+0xa9eec89b,
+0x8b4b1db6,
+0x36807ede,
+0xcbd916f5,
+0x7d68e4d1,
+0xf1a5d00b,
+0x6550a28a,
+0x9827ab35,
+0x6d343887,
+0x4869249e,
+0xf841de2e,
+0x3d49daa9,
+0xf647cfe5,
+0xd18ba845,
+0xd0ebc5f0,
+0x3975acfe,
+0x23e96c71,
+0x4f8ca1cb,
+0x716fe8c1,
+0x643b011c,
+0x4efd88ad,
+0x1ed30fc4,
+0x7da03285,
+0x3568a759,
+0xbfd77470,
+0x2a9d08a7,
+0x5875cb68,
+0x3e5e9984,
+0xa76690a9,
+0x55c2f65f,
+0x3d4aab64,
+0x2f9045f3,
+0xbeff8a22,
+0x9f2cb371,
+0xbee39228,
+0x4b1f0f7a,
+0xd3d0a94f,
+0x71bd4325,
+0x901888cb,
+0xfe44cc77,
+0x87386dbf,
+0xf51a84a3,
+0x45824fff,
+0x06472f89,
+0x2f636247,
+0xa0190881,
+0x4d492abf,
+0x214abd19,
+0x1ba123ab,
+0xd271e139,
+0x40fcc816,
+0x79482b56,
+0x97f01a3d,
+0xef8d8956,
+0x08ee3465,
+0x2e57607d,
+0x7174a6b9,
+0x933734d4,
+0x8f294237,
+0xbf3e9b95,
+0x2c1f53d0,
+0x019b89cd,
+0x394470fe,
+0x4c1c8d57,
+0xdc11dab6,
+0xb72ab9df,
+0xa8ce4dd7,
+0x43ab9004,
+0xca78905e,
+0x3c75c474,
+0x2ac63f2e,
+0x7beb478d,
+0x0182d22b,
+0x8cebd085,
+0xc026e91d,
+0xf198490e,
+0x0872a723,
+0xab8d455e,
+0x7be7da95,
+0x9105c15e,
+0xc367afc8,
+0x66a8d313,
+0xb87cccf9,
+0x5c4a94ed,
+0x748fb3f6,
+0x61f93c63,
+0x902451ac,
+0xdbee6e8c,
+0xd18dd056,
+0xab054073,
+0x90285172,
+0x51c5f4bd,
+0x9b0a1ce7,
+0x49c11fad,
+0xbbe3c198,
+0x4f15f0de,
+0xf9d29515,
+0xf9f3d80e,
+0x4d2ab8f2,
+0x803b59ec,
+0x61093dbd,
+0x8989e2bd,
+0xfc3ba663,
+0xe7e6e339,
+0x07384a2c,
+0x96ee2fa2,
+0x55d58066,
+0x4f95807f,
+0xf791f1d3,
+0xbe86b140,
+0x916aac72,
+0x83333a7b,
+0xb39060ff,
+0x3d87c352,
+0x1c55c47f,
+0x5a89078b,
+0x2741875d,
+0xc53758be,
+0x0028192a,
+0x04bc70dd,
+0xb1f7e00f,
+0x7f8792c6,
+0x01adab56,
+0xfe38bfa6,
+0x8328fec7,
+0xf33fd106,
+0xca02faf0,
+0xe737658e,
+0x7c668994,
+0x7399dad2,
+0x3ee98299,
+0x33f65308,
+0xec8385e8,
+0xa8c0d3fd,
+0xa9717f1a,
+0xa43aad12,
+0xd81c46c6,
+0x66b74bdf,
+0x18e9c8fd,
+0x2385e197,
+0x0d227a62,
+0x171d7cc0,
+0x259479fd,
+0xe3f29dbb,
+0xb25c03d3,
+0x22ee70e1,
+0xe2ada2f8,
+0xb056638b,
+0x4cbab5bf,
+0x7e1af8df,
+0x33bc7637,
+0x16a42353,
+0x95e0e440,
+0x22f77f79,
+0x3dde280c,
+0x4d45310f,
+0x311a9de4,
+0x66b293b4,
+0x687aced8,
+0xcad8e4ec,
+0x930d6228,
+0x6b3fd2c3,
+0x8574cf1e,
+0x6aa90b36,
+0x998fa478,
+0x140ff6a8,
+0x509c0ba1,
+0xb59190fd,
+0x1ba96860,
+0xd7efe522,
+0xc19d66ea,
+0x08fbafa3,
+0x82d953da,
+0x8f2b3181,
+0x114f3748,
+0x988c02c5,
+0x303a7581,
+0x9b837714,
+0x67357cb1,
+0x91b8736b,
+0xaadd7944,
+0xe329fc95,
+0x1bc1c832,
+0xeae250e4,
+0xb12c54ac,
+0xf73f956c,
+0xec8f5b49,
+0x135e4efc,
+0xfeafcc4d,
+0xc46ff63c,
+0x11e11c85,
+0x71a5b53c,
+0xcc881718,
+0x439d2922,
+0x203ceca9,
+0xd45dfd5b,
+0x28e6a9f1,
+0x02245ade,
+0xacaafc01,
+0x7aae21bd,
+0xa30a4a20,
+0x4d282ad5,
+0x830b5e15,
+0x2740bd45,
+0x7d2767ff,
+0x314a52ea,
+0xbbb29b9d,
+0x91712421,
+0xe79a2aa0,
+0x06462493,
+0xfa80366b,
+0x315efe55,
+0x1e10556b,
+0xee15e09f,
+0x7a5aa273,
+0xf4a6c1f5,
+0xda9cc804,
+0x752c9392,
+0x51e7090c,
+0xbdc2b172,
+0x4ce4e1d3,
+0x4353e472,
+0x3f2060cb,
+0xf8f35335,
+0x4892bbe9,
+0x108c5426,
+0x196fd78e,
+0x79d2a3f3,
+0x7d878d79,
+0xc6ffc12c,
+0x3fdad6a3,
+0x50a62287,
+0xacb565df,
+0xd7a0c6f2,
+0xd8715e90,
+0xd9be1bf7,
+0xf1cbb133,
+0xb885ec5a,
+0x460a96b2,
+0x64e061e0,
+0xbddd7ede,
+0xc5c9b570,
+0xb7db1ed4,
+0xf7699daf,
+0xa25a3581,
+0xaf3e06ef,
+0x959fe330,
+0x4e8e03f7,
+0x1ce5ea8e,
+0x3ceb194d,
+0xf0cd633b,
+0xe5e88594,
+0xcb919386,
+0xf71816cc,
+0x7a22d589,
+0x6f96647f,
+0x18b1c720,
+0x369ed4a2,
+0x15290947,
+0xcc6ce198,
+0xb68a45d9,
+0xbc7499c8,
+0x1048deda,
+0xa2d81c90,
+0xdeebe98e,
+0x6eec9f2c,
+0x7ae21acf,
+0xe08cfbbf,
+0xdfb8006c,
+0x4e23066c,
+0x2df857de,
+0xa89d888b,
+0x10c7e686,
+0xd56db50b,
+0xb3b24344,
+0x2de8b21e,
+0x19e52ad0,
+0x766c2e46,
+0x663598e8,
+0xdae3a42b,
+0xd5bf0f8f,
+0xc7588e6f,
+0x96a803a7,
+0x4bfaf95f,
+0x36a55b64,
+0xe160f521,
+0xeb44bfdb,
+0xb12a8acb,
+0x2103c6ce,
+0x888593bb,
+0x482ea36b,
+0x9a510b8f,
+0x8e546764,
+0x0b40411e,
+0xa2e2ffa4,
+0x817efcb7,
+0x9352d669,
+0x61e7f81b,
+0xbe41ea7f,
+0x1b62c64e,
+0x4b21042e,
+0x38982d45,
+0xc3ebd9ca,
+0x9ae8458e,
+0x46b39c84,
+0x612ac252,
+0x4c25ed35,
+0x104d4ec6,
+0x8f43ee3e,
+0x1d901a50,
+0x210787a6,
+0x76ef13b1,
+0x365729a2,
+0x905bd3aa,
+0x2e0c944c,
+0x72c88690,
+0xa3388fee,
+0xa2eac9fb,
+0x5017124e,
+0x1db340f1,
+0x6b147dd4,
+0x9e9751b7,
+0xdcf45a54,
+0x462f7321,
+0xbc4abe40,
+0x3a743140,
+0xd140fa26,
+0xc580649a,
+0x88d92898,
+0x2a2da236,
+0x53e36b19,
+0x131e8980,
+0x933c44ac,
+0x355e1020,
+0x58380ed5,
+0x47f4b66b,
+0xb4f852d7,
+0x7126afad,
+0x72d3cb30,
+0x973ff2d6,
+0x30e3d65a,
+0xdadf262a,
+0x63d537ca,
+0x449e9216,
+0x9bbe2ad0,
+0x9eded24a,
+0x7a7d4011,
+0xad1315e7,
+0xf8ecee47,
+0x2b800f84,
+0xdf985300,
+0x5c7aa398,
+0x35c5e8a5,
+0xc32876ab,
+0x49945d96,
+0x3ee27ac4,
+0xba97aacc,
+0xbf76870f,
+0x389f7909,
+0x978452fc,
+0x27495211,
+0x5f7d625d,
+0x58e84161,
+0x1e7323de,
+0x52c8228a,
+0x131925fb,
+0x6013ea6b,
+0x531d9fff,
+0xd2cc4426,
+0x502b6a68,
+0x1f0dd19e,
+0x2d744bb4,
+0x910931e2,
+0x6d4b7864,
+0x336adf19,
+0x070960e7,
+0xb68154ff,
+0x520eb559,
+0x8ba842eb,
+0xf002ba86,
+0xa57c0712,
+0x2a7af3ad,
+0x8a5b7643,
+0x9eb871ea,
+0x32b63e0c,
+0x89937292,
+0xa30c857c,
+0xd5cb7e07,
+0x06fc4016,
+0xe4def41f,
+0x9fc1c7af,
+0x9ccad95a,
+0x5d5473f1,
+0x27f8cb3d,
+0xecd869fc,
+0xe3312ac5,
+0xa5601726,
+0xde83819f,
+0xfa123f78,
+0x1d67885b,
+0x38d9d0fd,
+0xe0d43fea,
+0x7a485c97,
+0xb106cac5,
+0xf050b6a7,
+0x2455ca8c,
+0xbdf1e6d1,
+0xc2d83e6f,
+0x5ce0f88a,
+0x682a7ab7,
+0xf4264ad5,
+0x4e8279e9,
+0x05001462,
+0x101c2d5b,
+0x81caa265,
+0x3e7408a4,
+0x542d2872,
+0x7e15051e,
+0x626355ee,
+0x2da423d0,
+0x3eb9d7fd,
+0x3a5846b9,
+0x54866729,
+0x2a3f226f,
+0xdfaa106b,
+0xfd00d085,
+0xbbe1e0ff,
+0xc22231f1,
+0xab5c1b06,
+0xc6c2220b,
+0x5ecc1abd,
+0xa1a7c6cf,
+0x13f97fdd,
+0x5664f5c2,
+0x2d2cfa01,
+0xb5af3ad6,
+0x5a36075c,
+0xaba2d3dd,
+0x203635a9,
+0x450531c0,
+0x2126aef6,
+0xe2571356,
+0x4349aee1,
+0x32e07a51,
+0x768affba,
+0x8e05fdfe,
+0x7decee0a,
+0x7648c11f,
+0x1424fb4a,
+0x61521cee,
+0xa72ebadc,
+0x2d8b8d98,
+0x61293eb2,
+0x940dd668,
+0x1208fc94,
+0x2107f382,
+0xbee14c20,
+0x41258487,
+0xcc624b4f,
+0x6d70506d,
+0xf5a2a2a7,
+0x1ba37e0c,
+0x11d599f0,
+0x91378242,
+0xb1609ea4,
+0xff037006,
+0x6c1b3116,
+0x7a3d6668,
+0x4b2af188,
+0x76a00f26,
+0x46c4b482,
+0xc4bbb12e,
+0x63557193,
+0xee7fd308,
+0x45a86b47,
+0x6126d22f,
+0xefe3e43f,
+0x39e93895,
+0x3897e9b1,
+0x694a0e53,
+0x4c9312f9,
+0xa42b2efb,
+0xe1e17ad8,
+0xac9e7ac8,
+0x060ebf0a,
+0xbdc74faf,
+0xf2102731,
+0xa9e02f6d,
+0x0f0ce4c6,
+0x5290f498,
+0x8f7be374,
+0x39db2129,
+0x0d174e23,
+0xd8bbdd38,
+0x162d0535,
+0x322a3dfc,
+0x1524fafc,
+0xecc686c4,
+0xa0b326ff,
+0x8bc58d18,
+0xc531aab4,
+0x87f08af1,
+0x5cdcc853,
+0x36c07acb,
+0x7d9ec4e7,
+0x3a5b4a01,
+0xd3eae9c6,
+0x4c2c14b6,
+0x2b290911,
+0x2eec903e,
+0x89d11422,
+0xaf78b269,
+0x7697ddd0,
+0x46125e70,
+0xa6713729,
+0xa06396ff,
+0xf61289ac,
+0x95cc874e,
+0x589aaf68,
+0x0b44d363,
+0x5308664d,
+0x42063d9b,
+0x7c6387a7,
+0x9dab4041,
+0x9524ea01,
+0x8f769979,
+0x0a99876f,
+0xb708e6cf,
+0x233351ff,
+0xd7664709,
+0x4726da49,
+0xba76e4a7,
+0xac65ea4c,
+0x5aae24ed,
+0xaa003cba,
+0xaf72c3ad,
+0x2fd9f5c0,
+0xcd889a5a,
+0xefac5f82,
+0x9808189e,
+0xb42190b1,
+0xce34411c,
+0x02b88f6c,
+0x20df436d,
+0x55bcce82,
+0xea272bbf,
+0xbaf8ecb4,
+0x9000fe2b,
+0xbfe0a006,
+0x2256f2aa,
+0x7c884e5a,
+0x4e894880,
+0xc6b20f9b,
+0x81b67a27,
+0xff341c92,
+0xc0b6abcd,
+0x1982ba11,
+0xda198370,
+0x9c857027,
+0xc3d9a3a2,
+0xd495f9e4,
+0xb8b81591,
+0x7147fcd5,
+0xf3a265d9,
+0x66372986,
+0x5b36ce5e,
+0xe5ee48cf,
+0x22e2fe5c,
+0xa92644f1,
+0x7e544aea,
+0x399fd6e9,
+0x558d1a24,
+0x6ef1e175,
+0xf9ffddef,
+0xb7c2d8ca,
+0x4c03f9ff,
+0x1d3b4f2f,
+0xc3cee571,
+0x9768408f,
+0xe80e8855,
+0x5968e53c,
+0x92395aa0,
+0x993aa63b,
+0xf775439a,
+0xa56e9c82,
+0x8650e16b,
+0x61ab5942,
+0xa772d389,
+0x29e34965,
+0x4c85c2d3,
+0x2acf0c4d,
+0x7154328e,
+0x70ad9d3b,
+0xcbd176b0,
+0x2936577c,
+0x99dca5af,
+0xea2f13e8,
+0x659f7577,
+0xfb4b06ef,
+0xb5c91e8d,
+0xa19b2489,
+0xd2d9c020,
+0xda7edd95,
+0x395b0bec,
+0xfa9fac59,
+0x4dd4ea6b,
+0x5412c4d3,
+0xc4553bf4,
+0x8764f5be,
+0x2a2db896,
+0x01ffd24c,
+0x5a057dc9,
+0x290c577c,
+0xb1d569c0,
+0x43b9cd88,
+0x87959465,
+0x776497b7,
+0xfd454fa3,
+0x5756f281,
+0x3ca05b3a,
+0x8d5c96bc,
+0xfec14ae7,
+0xd47f494a,
+0x8ef8c670,
+0x461f06f6,
+0x48abe0b8,
+0x97d378c2,
+0x6c7ab0d6,
+0x3874e28c,
+0xe82e27ed,
+0x33708050,
+0x153f9398,
+0xb65c1f4e,
+0xdeb33e68,
+0xea59220b,
+0x112643cd,
+0xa2b1c64d,
+0x81046e10,
+0x647e4a1c,
+0x207558d1,
+0x427383f0,
+0x8f02e66f,
+0xde020bac,
+0x60aba68e,
+0x65ab4a0d,
+0x55cf23dd,
+0x76e0f836,
+0xd415e6e0,
+0x9f4b7d86,
+0x8c3433ba,
+0x4c5abdc6,
+0x9348141d,
+0xb8c3139a,
+0x9029139b,
+0x32bf8da3,
+0x53209b12,
+0x6d231f9a,
+0x2c33a6e5,
+0x55177247,
+0xe36a8d02,
+0x8f282eb6,
+0xe016d157,
+0x38237ca4,
+0x763c156d,
+0x9ac7ce9a,
+0x9b102d46,
+0x311a84a2,
+0xc870c5cf,
+0x98cd676f,
+0x9a79e62d,
+0xeee5ebf0,
+0xbcd7a426,
+0x587889f0,
+0x4a90e0d9,
+0x6dd0f684,
+0x500ec477,
+0xefaf248d,
+0xc139bd7f,
+0x22572fc2,
+0x0dfb348b,
+0x06ea5387,
+0x5e20180e,
+0x524b0fb4,
+0x961261a4,
+0xac0a563a,
+0x70beddb9,
+0x6f619179,
+0x30884690,
+0x22a5b58d,
+0xd1a22078,
+0x6bd3ab82,
+0xa9cb6529,
+0x2f171ebf,
+0x64aeb967,
+0x8020e1e2,
+0x7a6237a1,
+0xffa963c1,
+0x79148110,
+0x1d5916ca,
+0x30f7c7d7,
+0x10f708b3,
+0xb4ede9ba,
+0xe2165475,
+0x6a090572,
+0x71f5ed50,
+0x96f23a0c,
+0x09dcade8,
+0x660dbffa,
+0xd6bfbd4d,
+0x51caa6b1,
+0xb2f75117,
+0x3cd655f3,
+0x2d0588c2,
+0x3a69a319,
+0xaeda7613,
+0x0154d005,
+0x967b3b11,
+0x7b1bd54d,
+0xcb8af0d4,
+0x5b512eac,
+0x4e16e37c,
+0xe1ca828a,
+0x2bfe5c9a,
+0x91a16985,
+0xa3c95a64,
+0x452b235c,
+0x981d8c44,
+0x6ecddbae,
+0x33d2e2f1,
+0x948526dc,
+0x0698f60c,
+0x3c92c581,
+0x4eea4cc3,
+0x7ffb287a,
+0x3da03ca4,
+0x7d15ae30,
+0x5ecd9566,
+0x0a081e03,
+0x7d4d5aba,
+0x2030e87d,
+0x27123206,
+0x2dead118,
+0xb812a316,
+0x16f3ff42,
+0xcdf50455,
+0x59cec923,
+0x78fb61a7,
+0x5e67ef81,
+0xa8b2aa11,
+0x5a2dd34f,
+0x7ff14eff,
+0xeb093644,
+0xd75d0066,
+0xc607c361,
+0x6eeabd55,
+0x16dde709,
+0xfa78856c,
+0x9d816cee,
+0xe4765bbb,
+0x9636d405,
+0xbe44683f,
+0xf9c55b08,
+0xad18767e,
+0x7720519f,
+0x527382ec,
+0x0d18f0e0,
+0x73a3bc74,
+0x51eacd60,
+0x86761fa0,
+0xa9df738c,
+0x31dc193d,
+0x991db59c,
+0x38fb21f9,
+0xaf5fa1ea,
+0x84e39ad6,
+0xb008ea3e,
+0xe729827b,
+0x0bec6c73,
+0x43c02e4d,
+0xd906d3f0,
+0x949d8802,
+0x1682b7a6,
+0xceba4e3c,
+0x863ffab5,
+0xdf9069b8,
+0xd2ebfcbe,
+0xf531d9e8,
+0xa7fe2a16,
+0x9ae572ee,
+0x18564c35,
+0x09e3d88b,
+0xa54e6bd6,
+0x794efa0f,
+0x72d6bb6c,
+0x72b0ba22,
+0xe6a62e6c,
+0x03286665,
+0x3255a0e5,
+0x2b271c1f,
+0x709a9fed,
+0x2423bef2,
+0x36616641,
+0x4d8b6ec4,
+0xccb2573d,
+0x62ed3cd7,
+0xbb22b413,
+0xf6ffcf49,
+0x752d968e,
+0xe686d713,
+0xa8db8092,
+0x4cb2dc82,
+0x22739d19,
+0x444156ee,
+0x8e9ba629,
+0x5818a80d,
+0x93a5a41a,
+0xdf400d6e,
+0x00448997,
+0x6998e8b5,
+0xee8918cb,
+0x597ad974,
+0x1c7b12bb,
+0xe6a7e359,
+0xa01eb806,
+0xc86f565c,
+0x07082693,
+0xbba5eaa7,
+0xd8a93cdf,
+0xef4d25f8,
+0x733098fc,
+0xbf9bfe5b,
+0x6bcf5e24,
+0xe0c1346d,
+0x1d446a7e,
+0xb27fcdb9,
+0x6b03548f,
+0xa4d4a1da,
+0xad8954fa,
+0x0014b4e7,
+0xc90e9724,
+0x5b3d394d,
+0xc9dc6ea2,
+0xa0f0213a,
+0x6fe12abd,
+0x37226565,
+0x58cb7e75,
+0x841e5efa,
+0xa07ba48a,
+0x492989af,
+0xdad0b38e,
+0xa0244dd1,
+0xb3aac155,
+0x1d7fd61a,
+0xa351b912,
+0x4a406d65,
+0xbb749f93,
+0x11de56a3,
+0xafc73690,
+0x1937af13,
+0x811657ff,
+0xf2063620,
+0x92e7734a,
+0x32cf069d,
+0x142848ab,
+0x96172402,
+0xe34fc2f4,
+0x128fb128,
+0x1b4d4660,
+0x9d5ef645,
+0xbee894fd,
+0x72ae89e1,
+0xd56cc48a,
+0x40efc203,
+0x90646cf3,
+0x095e69dc,
+0x0f522f45,
+0x57db75ff,
+0x396485c5,
+0x1fc03c41,
+0x23b815ab,
+0xd5b13ecb,
+0xd5f5c306,
+0xd3d72943,
+0x199a9392,
+0x1aa4fb5d,
+0x87eff8cb,
+0xdfb33175,
+0xa79f9b45,
+0x76fc9c2b,
+0x2fdd658f,
+0x769988eb,
+0x29a73eab,
+0x99eb6006,
+0x5f421f77,
+0xcd1c2a8d,
+0xba83298d,
+0xd63ed37e,
+0x6203cb50,
+0x90309c0b,
+0xf43d5d1e,
+0x4f8e8d86,
+0xcfb828ca,
+0xe337abbb,
+0xeabf08a1,
+0xb9b050a8,
+0x89dd5969,
+0x934c5f7e,
+0xf9f19435,
+0xfe452532,
+0x4c0d6f0c,
+0x6abcff89,
+0x94546cf6,
+0x7063f6f3,
+0x74271235,
+0x30aa9e81,
+0x2b99abf1,
+0xe14d551a,
+0x74159bf0,
+0xa7315b90,
+0x9ffc87e7,
+0x826272ff,
+0x743ac3c8,
+0x7a0e493a,
+0xa16ac368,
+0xf0386c88,
+0xc72d2225,
+0xe10b7785,
+0xbe0fd2e2,
+0xd0713986,
+0x6ac9a257,
+0xfe2169f8,
+0x3e706a92,
+0x53681b46,
+0xc43e30ad,
+0xbb01b3c0,
+0xcdab3e00,
+0x6907197c,
+0x35686245,
+0x75e0ac77,
+0xc8984073,
+0xec8f2a6d,
+0x35fddd35,
+0xedcf2ca3,
+0x41bcaf1a,
+0xce5cd300,
+0x2c3299d9,
+0x802e3cd4,
+0x50446526,
+0xa9e9c477,
+0x4e73d7f6,
+0xfb5b49e9,
+0xf8c321b0,
+0xd8fbb4d7,
+0xf30c319c,
+0xfb9f9d48,
+0x6d66013a,
+0x5f3f2833,
+0xa657f1e3,
+0xdba6e527,
+0x96711bdd,
+0x92a81cb7,
+0x1ef3ce65,
+0xd6f0454e,
+0x8e7708b2,
+0xddbe0d14,
+0x5dd0c288,
+0x16c81a5e,
+0x1e2e4857,
+0x9d07a195,
+0x5ab5cbb5,
+0x9d0d959a,
+0x32d56455,
+0xa3c225ef,
+0xf2e29026,
+0xadd511db,
+0x17e554b5,
+0xce741ba6,
+0x1cc36a43,
+0xdb125554,
+0x265ee566,
+0x91e497a4,
+0x5a1068d4,
+0xc12165da,
+0x1472db3a,
+0x8180f5e1,
+0x24595774,
+0x53515a12,
+0x36cea811,
+0xf0ffff93,
+0x3ad087ab,
+0xb4ca2682,
+0x05c38c24,
+0x11f9b328,
+0x363a8aaa,
+0xf049c86e,
+0x2ce30349,
+0x20c3fd24,
+0x93183e85,
+0x6be502f8,
+0x8bf6d7a6,
+0x86b2489a,
+0xddbf2946,
+0x552cafa5,
+0xf979d999,
+0x22945d5e,
+0xadc46d22,
+0x4bbc48ba,
+0x2081fef2,
+0x15fda35d,
+0x9127c6a9,
+0x10ce62f8,
+0xf92bd396,
+0x976601b3,
+0xbab6dbbd,
+0x9de13bbc,
+0xdda7ff8b,
+0x9033637f,
+0xeb3433a5,
+0x078c94b4,
+0x580ab0f0,
+0x4ac2c5e8,
+0x3ddf4f11,
+0x008f12cc,
+0xa81d0a39,
+0xc156fbfd,
+0xe6c3b083,
+0x72924aad,
+0x35345d1b,
+0x23ba689e,
+0xcd419556,
+0xd3115472,
+0x44ec01bb,
+0x27906402,
+0x45f3a450,
+0x4c0c0e49,
+0x16a593b3,
+0x71dfe2e8,
+0xfbf6a770,
+0x3601b649,
+0x78aa949f,
+0xfe72a686,
+0xaf92db5b,
+0x811bc3c5,
+0xb8c8d242,
+0x0886d3b2,
+0x738c420b,
+0x85a7b82b,
+0x2c28920a,
+0xa501f404,
+0x9cedee73,
+0xca2f821c,
+0xb54b3594,
+0x68d3ee1e,
+0x69d42af6,
+0xd004d761,
+0x3d9cc5f4,
+0x73b8af7a,
+0x463644c8,
+0xe9e5654f,
+0x0986a2fd,
+0xecb9b1e5,
+0x93c43059,
+0x543135b3,
+0x08a46e80,
+0x7e0cfd3c,
+0x9b8ea126,
+0xbc006fc1,
+0x87255eb0,
+0x03400a08,
+0xfe7022de,
+0x58460478,
+0xb977ada8,
+0xe8728ddb,
+0x0f54de54,
+0xe3f9d63c,
+0xfdcdc339,
+0x1461348d,
+0x71fc1949,
+0x8571cc05,
+0xeec834e7,
+0x045c8780,
+0x96460283,
+0x9251a462,
+0x97ded91f,
+0xdb21d47e,
+0x26b4d03a,
+0x7d66bc90,
+0x875e546e,
+0x47994797,
+0xea6e7ef1,
+0xd2d5dd59,
+0x70c99bb3,
+0x5927e83c,
+0x747f82c3,
+0x11122739,
+0xae351110,
+0xb79e59d9,
+0xa9e6c2cd,
+0xa1403a61,
+0xa2e07185,
+0x18ef870d,
+0xe62fca44,
+0xbccf6896,
+0xfac92938,
+0x5fb43db2,
+0x435f5219,
+0x07010e09,
+0x160c7f1b,
+0xfd8bed5a,
+0xa27b8f2c,
+0x58ac5e66,
+0x529ac152,
+0x6ecfb6de,
+0x9c623a9b,
+0x049fc3cd,
+0x32cb4261,
+0xbabc06d7,
+0xd1a19264,
+0xb6afea90,
+0x2d5bd6c5,
+0xde458a0c,
+0xadefb15e,
+0xfc6de09a,
+0x4f6f74b7,
+0xb37ee5c9,
+0x90787f07,
+0x3bb4ce5a,
+0x5ad6da2a,
+0x87ba687e,
+0xcf1d1820,
+0x715f079e,
+0xcf5f5c7b,
+0x81364abb,
+0x40da9806,
+0x55ad5613,
+0x1a345452,
+0x704f6899,
+0xeb82ad99,
+0x230a666d,
+0x99eca08c,
+0x559e4afa,
+0xb9dfcf95,
+0xd18f9cc0,
+0x90bd7210,
+0xe2999ac3,
+0xf2abd4d4,
+0xf2a40809,
+0x8074383e,
+0xf3a892d8,
+0x6d492182,
+0x6c9b4318,
+0x300f6cdc,
+0xfe696bf1,
+0x7e33f838,
+0xfab25805,
+0xdeef67d1,
+0x689bcfe8,
+0x25d1b702,
+0xf3551b92,
+0xd4a9d944,
+0x11f41977,
+0x67340f11,
+0x03a836f7,
+0xedf2f762,
+0xe00026b2,
+0x83ef5b94,
+0x71d36c16,
+0xc6ff75b6,
+0xad1375bb,
+0xdcff035c,
+0xd0cf8542,
+0x09371633,
+0x6813bc88,
+0xcdb5ddfd,
+0x0798b090,
+0x0caa055c,
+0x593a2d47,
+0x060e2be2,
+0x47d20139,
+0xf0f5a0e8,
+0x84238ca8,
+0xcdce158a,
+0x7dcd9d43,
+0xf131eaa8,
+0xabeec0f3,
+0x70224e11,
+0xa09c6938,
+0x55bd2256,
+0x7445ce99,
+0x22d277a8,
+0xedbd0e0b,
+0x5a77b221,
+0x367490fb,
+0x3b2631f1,
+0x8cab1de4,
+0x83a6137b,
+0x2830d3d2,
+0xead1c8c7,
+0x76f4f822,
+0x2611c3b8,
+0x391586d4,
+0x251d5a95,
+0xef80673d,
+0x7b6e60a9,
+0x801426fe,
+0xf44475a8,
+0x10d45a94,
+0xdac94be5,
+0x9ec7ee44,
+0x6d805dd7,
+0xa1df49d6,
+0x325c9200,
+0x9a263b0e,
+0x147e922a,
+0x3681e366,
+0x8ec94d1a,
+0x8247e3ee,
+0xbaf1d81c,
+0x95e1fdba,
+0x12250120,
+0x7c7b6d38,
+0xf5cd57d5,
+0x6c2b3df3,
+0x2c85c3e5,
+0xf4565c4d,
+0xd7fdf547,
+0x43e8f70e,
+0x69155e39,
+0xf2fb5337,
+0x0cf53a62,
+0x30fa4564,
+0x867a9ca6,
+0xa1fe938e,
+0x763c3f47,
+0xbbd345c3,
+0x38b17e57,
+0xf76eda53,
+0xb0544273,
+0x3d0394bf,
+0x847a4ba0,
+0x71f1172a,
+0xfde5bc31,
+0xf68b92ad,
+0x40c83b8b,
+0x34ff21bd,
+0xe2cdc49d,
+0xdd7089b5,
+0x45d65949,
+0x0451089c,
+0x0fa7d105,
+0x73b56538,
+0xfb79c972,
+0xd9d3cee8,
+0x8f968087,
+0x8e6fc878,
+0xebf0fd77,
+0x5e7cc720,
+0xa6e846dd,
+0xbe0afae9,
+0x1f4d10f5,
+0xca487ad1,
+0xb55a45e7,
+0xe87b4f23,
+0x227f5a98,
+0x11b9a6a4,
+0x79d826a9,
+0xbd85bfa3,
+0xffd55b50,
+0x416f5abd,
+0xbb9c6f23,
+0x76e2fbdf,
+0xb0758783,
+0xb7ce27d6,
+0xe8c93301,
+0xcb7b2f60,
+0x0df1c2db,
+0x90688953,
+0x64fd0218,
+0x3d60d00c,
+0x3e3bdc93,
+0x25f18a2f,
+0xd93f2a03,
+0x065c4415,
+0xafeacedb,
+0xc5a24534,
+0xb4b4bd23,
+0x1a4dc438,
+0xb76625d5,
+0x47bd9e78,
+0x05832b9a,
+0xd7dd2388,
+0x9e3534af,
+0xc2ae03a0,
+0xf5dda006,
+0xaf4fbb0d,
+0x20d2c043,
+0x3179ff3a,
+0x40438585,
+0xb4d322d7,
+0xc435221d,
+0xd0d36cc4,
+0x2163964e,
+0xb984a8f2,
+0x517cb518,
+0xe2c33806,
+0xb7827d91,
+0xd5ea244f,
+0xf6e70029,
+0xc35aacae,
+0xe4c8ec9f,
+0x111af167,
+0x7ab2add7,
+0xd3dd3125,
+0x90caa6c7,
+0x4197de43,
+0x5ef02e2c,
+0x8c244250,
+0xd23b4263,
+0xd09602b8,
+0x734b91c6,
+0x5dcdc571,
+0x20a52116,
+0xab1e7bdb,
+0x0754b8a8,
+0x4569f447,
+0xb319e9d5,
+0x0b47811e,
+0xeda95d2a,
+0xd7355331,
+0x1c25db85,
+0xada9a718,
+0x41ca90de,
+0xf31a1c60,
+0xbb3f5ed0,
+0x9f22f406,
+0xe7b6fb11,
+0x6bda9207,
+0x5f8f176a,
+0x1a714872,
+0xf3d050a7,
+0x1d645fb2,
+0xfd955af4,
+0x98f33a91,
+0x89f4978b,
+0x17323936,
+0x7b147070,
+0x384ac053,
+0xe1133c4e,
+0x7b0dd82c,
+0x38d4f443,
+0x6636c996,
+0x57210088,
+0xde2881ae,
+0x62631d31,
+0xde094dab,
+0x575875af,
+0xc1c4a585,
+0x80b5838d,
+0x7d2437a8,
+0xd9380611,
+0x78b743d9,
+0x172e4005,
+0xc163cadf,
+0x981eadc8,
+0x1066baae,
+0x2e140f2f,
+0xd7028859,
+0x2d77a65b,
+0xd0c03d7a,
+0xe178f5ce,
+0x5bb6f12e,
+0xd1a78fdc,
+0xa838ee8b,
+0x37378135,
+0xa3f5d6c7,
+0xda6a7bc7,
+0x14a25c02,
+0x8cc916d1,
+0x1c3759f7,
+0x035cb994,
+0x092deded,
+0xa6ca1e72,
+0x9df764bb,
+0xb29fa674,
+0x32df3871,
+0xfb900263,
+0x73a79f38,
+0x105483bb,
+0x715b9505,
+0xe99d80d0,
+0x3155bda7,
+0x0e27eab9,
+0x19110487,
+0x7b819460,
+0x9d84e280,
+0xee388893,
+0xc20c49cc,
+0x25cad5fb,
+0xc948a9db,
+0xd742ff40,
+0x8acf80c1,
+0x38a6def0,
+0xb4d53c34,
+0x3400c863,
+0x07e25856,
+0xd231c3aa,
+0x126a46e9,
+0x8fa5ca75,
+0x2d433d6f,
+0xb42945e9,
+0xb66695cd,
+0xb118b2e5,
+0xc7097709,
+0x001130c8,
+0xabcde5a5,
+0xabed2be0,
+0xcc987531,
+0x940ce0ed,
+0xcb12b849,
+0x6678d515,
+0x1bc0b9c9,
+0x39647739,
+0xdc379b64,
+0x599df7e7,
+0xd1a37374,
+0x5180a1d3,
+0x6b7de18f,
+0x982f57e7,
+0xf3c135b3,
+0xf2853149,
+0x42f2b21a,
+0x028ff30b,
+0x63fcbb2d,
+0x7a7e2ef9,
+0xd7d4b4e1,
+0x08d998c1,
+0x0b5071fd,
+0x69a35272,
+0x8db279da,
+0x2c119095,
+0x8809d8e2,
+0x1c3efe0e,
+0x65f537f2,
+0x768c8790,
+0xee8a69a2,
+0x3724deaa,
+0x7799ae06,
+0xbc008f61,
+0x4491df46,
+0x868e20a7,
+0xb380bd44,
+0xdb5e7039,
+0x0f8245c9,
+0xa27c1d90,
+0x47d1fb58,
+0x1606a778,
+0xc7e58039,
+0xd4c0caf5,
+0x27f13157,
+0x9c06c8ef,
+0xd5b3cae0,
+0x49b00dc2,
+0xce60ef42,
+0x9c3bce8b,
+0x396a6288,
+0x5fa5c722,
+0xe874cdd1,
+0x6fbf83d8,
+0x850be501,
+0x14a517b6,
+0x23de324f,
+0x243a854a,
+0x80922960,
+0x70171517,
+0xd4164100,
+0x9df3dbdf,
+0xb797f752,
+0x04f2493b,
+0x77950d46,
+0xd1023dd1,
+0x398d8290,
+0x9588f550,
+0xed40bd9a,
+0xcd401306,
+0x9acdde25,
+0x3011d2d7,
+0x4ba980e8,
+0xf58db8e4,
+0x6a2d860a,
+0xf316b3c3,
+0x9f54ec3d,
+0xfc3f4919,
+0x4d5dbe60,
+0x55a9e30a,
+0xc05caf72,
+0x0ce4008d,
+0xe3c36561,
+0x87fbef62,
+0x73c5c93b,
+0x1992fb06,
+0xf2992514,
+0x971019bc,
+0x935755cf,
+0x04d3a9d2,
+0x1e41aa59,
+0xf09ce89e,
+0xd31a01ed,
+0x0a0f3184,
+0xe0254b89,
+0x02b94ff0,
+0xfca08fb1,
+0xb10c763c,
+0xa340912d,
+0x34d0e42d,
+0x0deeadb9,
+0x20c44ac7,
+0x992aeb2f,
+0x3b221d79,
+0x16df814c,
+0x6ae3f64e,
+0x2c9595ff,
+0xb2320cb9,
+0x53703664,
+0x18abf247,
+0xfd92604d,
+0x79751fef,
+0x02540866,
+0x63ce99c2,
+0xeac3e7f1,
+0xccd5963f,
+0xa727d011,
+0x92763713,
+0x1346b328,
+0x4fb3c011,
+0x7f57113f,
+0xf5d6272c,
+0x46a09f2b,
+0xc6930e60,
+0x5d105e1c,
+0x60a0df1d,
+0xf8997ee6,
+0x9d4a92e3,
+0x8178eb35,
+0xf7427309,
+0xe0e93fa4,
+0x41cec2ae,
+0x383a4104,
+0x1061ae2c,
+0x5a1a54e7,
+0xcad33163,
+0x60fcb1b3,
+0x6d6f6f86,
+0xfc014a29,
+0xa4f5f6ad,
+0x2837644f,
+0xc15dc2ca,
+0x9d194ad3,
+0x756e9c61,
+0x2816fc79,
+0x0c840633,
+0x7cb95292,
+0x0aaf476e,
+0x7499d4df,
+0x825ce9ac,
+0x78da0f59,
+0xa90fa4ce,
+0x4ab2e1f7,
+0x107bad70,
+0xc327d94b,
+0x36883dff,
+0x89342f1b,
+0x915c7c11,
+0x04dea431,
+0x354434d4,
+0xd7e48718,
+0x2a4fd801,
+0x236a401e,
+0x7a889715,
+0x365e6ecb,
+0xf96425dd,
+0x8e156cbf,
+0x2be42a53,
+0x7dfab32a,
+0x0c7dc138,
+0x20c067d2,
+0xcace2a52,
+0x4e240cef,
+0x8cffa343,
+0x0f16a595,
+0xc1f8f528,
+0xf0561c1d,
+0x346f55a3,
+0x7f56d245,
+0x1a0a26f7,
+0x0b32156c,
+0xab4f153f,
+0xc37085ef,
+0x1494e375,
+0xd5c62858,
+0xf2a94664,
+0xcbeb6229,
+0x2ce379bc,
+0xe117ab7c,
+0x59d75a7b,
+0xdb594547,
+0x53d47fc0,
+0xdd8398e1,
+0x146381b1,
+0xcb8375ee,
+0x674ce2d2,
+0x2d6a251d,
+0x076bee89,
+0x116adb8d,
+0x17f70c23,
+0xae67153a,
+0x21ffc00c,
+0xbe5cba2c,
+0x57448a93,
+0x1f1aabd5,
+0x03b1f939,
+0x3769d851,
+0x7f76f21b,
+0x43c4eaaf,
+0xe359a8e7,
+0x9b8420c2,
+0xf3d21b9b,
+0x6c616946,
+0x1e59c8cb,
+0xdcbf81a9,
+0x13b742df,
+0x28365c38,
+0x465bd0c5,
+0x1e2ea596,
+0x8226874f,
+0xdeaab7d2,
+0x9433f38f,
+0x482487ab,
+0x0291a245,
+0x5c3d3923,
+0x0a97aec3,
+0x3526a7cb,
+0x17c53a34,
+0x56569166,
+0x49158739,
+0x2db72ee0,
+0x9c773125,
+0x71853649,
+0x5f464c1c,
+0x5e57baab,
+0x91dedeb3,
+0x042d5ddf,
+0x91fb9bdb,
+0x1138f967,
+0x04862690,
+0xd6b7ea1d,
+0x0f58d9d4,
+0x7bea1c39,
+0x86a44ff3,
+0x6fe0b6fd,
+0x6479d4da,
+0x85ea2499,
+0x0d9ef9da,
+0x383350b3,
+0xb9bb3838,
+0x38d8aacc,
+0x3a021ff9,
+0x359777aa,
+0x72fe4ce6,
+0xeaa4c5f1,
+0x97036886,
+0xe1d9ce93,
+0xa83cc8cb,
+0x485b36e6,
+0xd1adf6b4,
+0xc4ff1968,
+0xec5c1f57,
+0x63064e5e,
+0x0834d7ac,
+0x5d3c60a4,
+0xe12b3ae8,
+0x2366250c,
+0xc2cc51f8,
+0x2f0c198c,
+0x59e44812,
+0xb7b93ca9,
+0x3408218b,
+0xdde7c964,
+0xd1d7dab4,
+0x4bb49245,
+0x9d75c65c,
+0xd4961d94,
+0xa192b6ea,
+0x28637896,
+0xfd3507bc,
+0xda67063d,
+0x99b519c3,
+0x448548eb,
+0x1b46c854,
+0x10f88b49,
+0x343f4cee,
+0x53b85be7,
+0x799a660f,
+0x314ece37,
+0xcde669b0,
+0x0e56a8ea,
+0xaf2eeea5,
+0x4f545984,
+0x2a775388,
+0x214af959,
+0x81fcf923,
+0xfc804b96,
+0x62b0288e,
+0xfec8b598,
+0x0956323a,
+0x0d8ded85,
+0x69a6d2d3,
+0xadd9a63c,
+0x77948f06,
+0x577ffc35,
+0xfafd8311,
+0xfa9dff46,
+0xcbfa819f,
+0x3dad3826,
+0x38a06e02,
+0x62e7876b,
+0xa6a10ba6,
+0xaa9d34f2,
+0x7931ef4e,
+0x0f9f93fa,
+0x06a17e46,
+0xf2f48860,
+0xd19ec668,
+0x50a97a10,
+0x4aba6f5b,
+0xdff30333,
+0x3f0385a4,
+0xb407bc57,
+0xde5cbf38,
+0x9889059d,
+0xad0b9c6c,
+0x11b8442f,
+0x87e31c8e,
+0xba9aa8aa,
+0xe0ded102,
+0xc0fef9f8,
+0x2815d7ed,
+0xd7a824ad,
+0x0698d343,
+0x366b91a9,
+0xcd61fd11,
+0x92190d6a,
+0x173126c3,
+0xec021a16,
+0x0096f6a7,
+0x7bda4391,
+0x7c3ac522,
+0xba73289b,
+0x6923abfa,
+0x337030db,
+0xa409aa7d,
+0x47ce57a8,
+0x6ead16e5,
+0xd58f6758,
+0x5e219e33,
+0x9d3e5f3e,
+0x08d9da4c,
+0x8b4eea3b,
+0x58bcadf0,
+0x1ad56359,
+0xfbba0c94,
+0x00ac9094,
+0xf75f47dc,
+0xd9283d26,
+0x659460f3,
+0x769c8475,
+0xcffc8253,
+0x9541b169,
+0x1f91aa5a,
+0x51dd2492,
+0x0831bae0,
+0x77e9b310,
+0xa736a6e2,
+0x6076eacc,
+0x48df7da6,
+0x3bef9449,
+0x24c4eba0,
+0x284772e8,
+0x126caa23,
+0xb65553bc,
+0xed2d695e,
+0x031afe9d,
+0x96927911,
+0x7f4c5753,
+0xa53fc939,
+0xc01a9718,
+0x783edd8b,
+0x03cdeb2f,
+0x27aeb076,
+0xe8893fcb,
+0x4e4084b7,
+0xc7de670b,
+0x0d23540c,
+0x89c3a20d,
+0x8dc53161,
+0xe9bbfb91,
+0x5bdbcd71,
+0x50965cf3,
+0x205eb898,
+0x0a5c2edf,
+0xf5914409,
+0x366c231c,
+0xf11938e5,
+0x32dd1ff0,
+0xb4bd2a52,
+0x34ab9013,
+0x39935583,
+0xdc100c15,
+0x213ca6a0,
+0x75d00c16,
+0x5a5ec1e0,
+0x0967d6f3,
+0x6a595b9c,
+0x22ee4812,
+0x807170e1,
+0x01ebe080,
+0xbc0641d7,
+0xa6dc1d5f,
+0x30c7dbd3,
+0x07293aff,
+0x84e835d8,
+0xf3cb3ff7,
+0xfa0d9e11,
+0xc965887b,
+0x2e55417b,
+0xbbb4ab86,
+0xc1c49d36,
+0xc5c1ea5a,
+0x2ae293b7,
+0xc733745e,
+0xf21698f8,
+0x42961acc,
+0xc004b755,
+0x11262274,
+0x82d514d5,
+0x9b9793c6,
+0x5ad18bb3,
+0x1597683e,
+0x780ceb58,
+0x0b23a217,
+0xbc27f7ca,
+0xaf572452,
+0xbec5d2a7,
+0x9a93a073,
+0x52ec09a1,
+0x35d9701a,
+0xf1731c0b,
+0x604d4703,
+0xd08fa18e,
+0xd7a0c7fa,
+0x2ff3bee1,
+0xdd3b745d,
+0x96e53ec3,
+0x0131ae26,
+0x5fedf1fd,
+0x8cbd9302,
+0x24a023ed,
+0x72a78f28,
+0xc3ac87e3,
+0xf1e53ee9,
+0x162d5e0b,
+0xd8d26251,
+0xd73f56c7,
+0xac06cb87,
+0xa2943c9a,
+0x4e8af8ad,
+0xe6657ac1,
+0x578b6297,
+0x31741bb1,
+0x07824e99,
+0xcf86bf7e,
+0x62646c69,
+0x0af99ca7,
+0x33df5e9f,
+0xfcb7be59,
+0xb23fa715,
+0x86a9a898,
+0x452d457f,
+0xad1fd00e,
+0xc70ad0ef,
+0x9957b849,
+0x62b587b2,
+0xb4e38ed6,
+0x609d5e4b,
+0x2e70793b,
+0x319c7683,
+0xcee8b1f8,
+0xaa91a953,
+0x42577136,
+0xbb2c298c,
+0x5fe0741b,
+0xe5baa358,
+0xdfaeceda,
+0x4889a822,
+0xd738b97b,
+0x02e95da1,
+0xb68529af,
+0xdbd651db,
+0x883fe9aa,
+0xcb3da7c1,
+0xac219548,
+0x3ad38c64,
+0x67e92c5b,
+0xa503b164,
+0x08ec48e7,
+0x13d35da5,
+0xd0e8c985,
+0x234c422d,
+0x29dc4c0d,
+0xdfbf3392,
+0x9c77bcad,
+0xaf9035a1,
+0xa1425e7d,
+0xfa92d693,
+0xd7f79f80,
+0xfc223950,
+0x0d2cc613,
+0x4548ddef,
+0xcf384bac,
+0xd029d63b,
+0x34bb0074,
+0x67d636fe,
+0x6d206142,
+0xc870b4a3,
+0x6d6f088e,
+0x39f9323c,
+0x148ffbfc,
+0x1a39c595,
+0xb072a686,
+0x378e9597,
+0xfcd142b5,
+0x80147553,
+0x2c60947c,
+0x067e4c7e,
+0x45a63f8c,
+0xee1b9d51,
+0x4acfcf18,
+0x3b38380e,
+0x833e8ba5,
+0xf86550a7,
+0x133b8d52,
+0xbcd74f42,
+0x9b6a5dbf,
+0x9efc0783,
+0x5ac1d03c,
+0x120cae06,
+0x82c919e7,
+0x6f380bf1,
+0xadb22198,
+0x384245c9,
+0xb6dfbcec,
+0xa5975e81,
+0xcf2efb9b,
+0x178f6786,
+0xe08ca92c,
+0x130bbcc8,
+0x835b0e52,
+0x2b6252fe,
+0xeb1d496f,
+0x1932843e,
+0xc4c8cdaa,
+0x6424c34b,
+0x05c3314b,
+0xd57476c1,
+0x7e1cb896,
+0xd2299171,
+0x0b4298e7,
+0x9b829612,
+0x9f300dbc,
+0xeda02451,
+0xece6af01,
+0x8610e87f,
+0x6c6d94e6,
+0x2ca5312e,
+0xe874b9ae,
+0x6144df7a,
+0xd84f33e1,
+0x4a31aa0d,
+0x293d56b3,
+0x93b52fd4,
+0x4a5bdd2a,
+0xe9b3ba48,
+0x9d58cd37,
+0x8d420c25,
+0xe07b7580,
+0x6bf8740e,
+0xcf0aaeb1,
+0x120ea30a,
+0xa8b5f6ca,
+0x778b8e57,
+0x2a913247,
+0xa2c848a7,
+0x5e785f12,
+0xabcc879f,
+0x2dcd515d,
+0xb3fe63a1,
+0xa44e0b2c,
+0x32bf8cc2,
+0x42213acd,
+0xa91c2a79,
+0xf2d8f674,
+0x7f1c7e97,
+0x3ea9950f,
+0x1ee43264,
+0x0a40b820,
+0x73b70689,
+0x35caca16,
+0x9dd353cc,
+0x28f5b0ad,
+0x452b4798,
+0x1a6ea6ef,
+0x42018049,
+0xbe616751,
+0x3edaf5f3,
+0x781f59c3,
+0x408e0722,
+0xd8a09438,
+0x2f5c6811,
+0xce5f2fd7,
+0x5b655873,
+0x37ba334e,
+0xae572620,
+0xe60d825c,
+0x3757913e,
+0xc0dc01e6,
+0xef588285,
+0xa99ff5d7,
+0x08d59cdb,
+0xd2915e80,
+0xad5daa06,
+0x37618da8,
+0x3170c9e8,
+0x0df64f74,
+0x8a345afa,
+0x34184ccf,
+0xcafb577f,
+0xdd3b006e,
+0x70fb9ae0,
+0x483bed04,
+0x519584dc,
+0xdf7fa112,
+0xbfcd97eb,
+0x0b7868cf,
+0x2f4f4f0f,
+0x53030b0c,
+0xc910b9c2,
+0x6ae52812,
+0x4eadece3,
+0x5390a887,
+0xb117a42f,
+0x90803a20,
+0xdd3533aa,
+0x20df94d8,
+0x0b790889,
+0x1c3487dc,
+0x98af92bc,
+0xaedc05b1,
+0x57c02525,
+0xcba996f2,
+0xa1df21ce,
+0x6dc3a84f,
+0xa2351133,
+0x6d95d646,
+0x0e9d7515,
+0xe7dc00a3,
+0x3f5b70fc,
+0xa8d68aa4,
+0xabada726,
+0xcf2dfb56,
+0xcaf5fb84,
+0x4d50afc5,
+0x9828a13b,
+0xae9dbe00,
+0xcd784e6e,
+0x550cdb7e,
+0x8e6ad343,
+0x4d633353,
+0x8fe58a0c,
+0xa2fc7ca9,
+0x534ff38c,
+0xcefd4ecd,
+0xab8cc417,
+0x5af0d09c,
+0xb97a52cb,
+0x7cacc846,
+0x71f7f87b,
+0xb5e8992f,
+0x1864e3fd,
+0xe3a0d445,
+0x0fed9c94,
+0xbc19bd61,
+0x05600582,
+0x448715db,
+0x841716c2,
+0x1fa521f9,
+0xbfd86383,
+0x9dba954f,
+0x6de0ff7c,
+0x14ed6a5e,
+0x5c3c69fd,
+0x1eaa06cf,
+0xad8b32a4,
+0xb9f14db5,
+0x5201c96a,
+0xfa729f61,
+0xf2d4c138,
+0xf75a89cd,
+0x3b56151f,
+0x5c6e5c1f,
+0x41900225,
+0x8ec9fef3,
+0x175023a1,
+0x6342ff29,
+0x8e73554e,
+0x10d15db7,
+0x81d7afc0,
+0xbb3716c9,
+0x83f66b37,
+0xb3240646,
+0xdce3a63d,
+0x96ed5ee7,
+0x9cea5cae,
+0x50360bdf,
+0xb5932bb6,
+0x3bd11f38,
+0xf7527d66,
+0xbba1bcbe,
+0xf17da723,
+0xb1fd6a34,
+0x76932171,
+0xf9775df2,
+0x917c8737,
+0x3259ad81,
+0xfd5270dc,
+0xe1636961,
+0x05e3e853,
+0x668103bc,
+0xfb0b3721,
+0x4898bf68,
+0x64f9392c,
+0xc509fad5,
+0xe2fea776,
+0xea1f0368,
+0xb7984ec8,
+0x86bb38c7,
+0x57b29126,
+0x611bcd85,
+0x89c84669,
+0xd52f2bc3,
+0x737063d3,
+0xcca4c253,
+0x418b9c92,
+0x507f02d7,
+0xffa4976c,
+0x97353c67,
+0x8c8655b8,
+0x110ee3af,
+0xf687ff4d,
+0x45e9147c,
+0x404e5bf9,
+0x412b74cb,
+0xbf74bb02,
+0x5776ede4,
+0xcf2032af,
+0x0cb2545a,
+0x2ed04f6b,
+0xdd95fa28,
+0xbd4efce2,
+0x5b67cdc4,
+0x94d18f92,
+0x59180179,
+0xef43d007,
+0xfe3e4bf7,
+0x9d5e5567,
+0x9226de87,
+0x2b931b0d,
+0x57cb3954,
+0x3ef2c94d,
+0x887c5ca2,
+0xe556983d,
+0xe18099d8,
+0x9168ee41,
+0xc58ba9d5,
+0x7cfb4752,
+0x8195a156,
+0x6678b9bd,
+0xda722e72,
+0x77cb8292,
+0xa6123fc3,
+0x0c929ea6,
+0xe48d0752,
+0xe027d2ce,
+0xaf7c7457,
+0x77a8361c,
+0x0073ebba,
+0x7acf7554,
+0xc9d6e54a,
+0x3dd2ec1e,
+0x16765622,
+0x88103ba0,
+0x34991a99,
+0x6903bed4,
+0xd5dea69e,
+0x37a609d1,
+0x41651d4a,
+0x974dc46d,
+0xc9f77129,
+0x5f52b747,
+0xcbaf25c0,
+0x54206b73,
+0xf95a48c7,
+0x4fcef184,
+0x956d47c4,
+0x1575f76c,
+0xee29fcad,
+0x20cc3aa4,
+0xb934f3e7,
+0x66529162,
+0x4ad82c2e,
+0x99c3ec68,
+0xac94c1f8,
+0x5c64b86a,
+0x4b3245f4,
+0x2f002b05,
+0x36e7f54f,
+0xa62328e6,
+0xa7620efc,
+0xd2fb006d,
+0x55fa62fb,
+0x4e8da856,
+0xd10fd754,
+0x6f984c0a,
+0x8e9b4ce7,
+0xbfde28c2,
+0x53a275a9,
+0xbc3afdb9,
+0x7f3ee527,
+0xc0b6768e,
+0x9a413db6,
+0x75232770,
+0xbc818967,
+0x835d91e5,
+0x54d10c23,
+0x2a9fd46c,
+0x6fbd84a7,
+0x9e109508,
+0x634ad521,
+0xf1672135,
+0x71d46d58,
+0x720198ea,
+0x1576643d,
+0xc2d58403,
+0xada54298,
+0x86e80a9c,
+0x819ba7ae,
+0x58abfa9e,
+0x6e76240f,
+0x1f319a3e,
+0x81e16453,
+0xc5d8c0ad,
+0xd7a63acd,
+0x0366173a,
+0x9b1c836c,
+0x56d7148f,
+0x2fdfe114,
+0x35b0eecf,
+0x526162c1,
+0x59f19e97,
+0xbd0940d5,
+0x8451dc44,
+0xd135478a,
+0xa68e82a9,
+0xf3abaedd,
+0xcd55c243,
+0x1a614760,
+0x9d35c6a2,
+0x59535e39,
+0xe2afe2dd,
+0x539e322d,
+0x0f8990ae,
+0xf64124b3,
+0x7952915c,
+0xab5f6d30,
+0xfbaa6833,
+0xaee240e4,
+0xf52592ac,
+0x78b9e440,
+0x25544eea,
+0xe725db9e,
+0x1a317eb0,
+0x6fbe20d9,
+0x71b7261a,
+0xf1b96ab1,
+0xfdd89836,
+0x11384484,
+0x8d9b3cf2,
+0xae7ea158,
+0x1d69ad34,
+0x047f242b,
+0x904473be,
+0xaa7cba4c,
+0x7c6b9780,
+0x7486aca0,
+0x771e5423,
+0xe460b9d4,
+0x8e8756a1,
+0xdda14920,
+0x84d0980c,
+0x72fb088e,
+0x9d8f90fe,
+0x137ded0d,
+0x684ac53c,
+0xaced51bc,
+0xe863f36f,
+0xf2b142ac,
+0x5fcabe24,
+0x0226c7df,
+0xc8bb1b65,
+0xad0de715,
+0x0654787b,
+0xc52b3825,
+0xdafdbbcb,
+0x8ae0193d,
+0x86cc8f41,
+0x8f9d5b6a,
+0x67f09b51,
+0x61e6b6bd,
+0xf668feca,
+0xd892833a,
+0x2af710f7,
+0x37b95228,
+0xc5474efb,
+0x85a6d8e7,
+0x3494a755,
+0x250e894c,
+0xa7dc1cf6,
+0x82e6270a,
+0x93894a43,
+0xe540345d,
+0x3bc03718,
+0x85c1b000,
+0x4ec86e44,
+0x914681c2,
+0x923f48f0,
+0xede94c62,
+0x70047f80,
+0x154932ab,
+0x9c864fa7,
+0x4b04e6df,
+0x6351368c,
+0x9eb5e9a2,
+0x03c0d691,
+0x635b7f6d,
+0xe0bcf3e4,
+0xf881ba24,
+0x64ec1e29,
+0xff597d64,
+0x71dfdeb5,
+0x82f23825,
+0xce3ac65d,
+0x8f82ff07,
+0x18438dc5,
+0x2491f85e,
+0x9b513cf2,
+0x92d3f0a7,
+0xce1ace6e,
+0x1895938e,
+0xbbaeba40,
+0x017629ea,
+0x37ec63db,
+0x0e570cb8,
+0xe6580628,
+0x526b44fc,
+0x30aa7152,
+0x481b546d,
+0xdc3540a7,
+0xd2b427d5,
+0x4ab80ada,
+0x758b85f3,
+0xa9ae0123,
+0xf10d86de,
+0xf5c6f886,
+0x90022ad1,
+0x476c87ff,
+0x928866ea,
+0x2a21948c,
+0x6ceff9ce,
+0xb048ca74,
+0x0a53c2fd,
+0x5e2d7d12,
+0xdfc1aa05,
+0x1d642b8f,
+0xc5acf6f2,
+0x8a49f289,
+0xe9958df3,
+0xf29f9aba,
+0x21f98a1d,
+0xb3c07552,
+0x4569d7d8,
+0x45b1e689,
+0x14cbe088,
+0x6d9b5359,
+0x688ae91a,
+0xc6d2abd6,
+0xad065143,
+0xe139551b,
+0xf3c8ab73,
+0x496d9bc2,
+0xcfe93f23,
+0x78d56acd,
+0xa200e1de,
+0xeef9c8bf,
+0x33cd4635,
+0x7bfec16a,
+0x8ae1bb32,
+0xfd5d5f7c,
+0xa652906d,
+0x48fc267c,
+0x8ac9c851,
+0x2a3e3f92,
+0xa47058e5,
+0xc67d2805,
+0x8d7d87c7,
+0xb5e25e57,
+0x60d14ca2,
+0x5dd307e2,
+0x000ea7c1,
+0x6372d805,
+0x273cc839,
+0x215571f3,
+0x682ca22b,
+0xe50061a3,
+0xa651d07b,
+0x67f77f55,
+0x68f365eb,
+0x7c12209b,
+0x69ebd34b,
+0xee18bb7f,
+0xeb274f43,
+0x84421779,
+0xf04dbffe,
+0xa1561c57,
+0x32a84cd7,
+0xa5246f91,
+0xdcf5396d,
+0x24bc6388,
+0x37baa766,
+0xa90feba0,
+0x3b18d991,
+0x381f15f2,
+0xbd2e7b8a,
+0xa31ad346,
+0x464c43bb,
+0x49d5b73a,
+0x4c9edef4,
+0x0d2f9353,
+0x42acdbe7,
+0x211b50b3,
+0x8709c824,
+0x6d771cc9,
+0x3d6a4aff,
+0x890ad676,
+0x93c22a97,
+0x57f55635,
+0xf2e52104,
+0xb1e52174,
+0x80f4fca6,
+0x6568839f,
+0x61b655b5,
+0xf373d7a3,
+0x77be81d6,
+0x404e6337,
+0x80b3697f,
+0x9b8a239e,
+0xf495589d,
+0xcdbe7c59,
+0x55573c8c,
+0x7d26873f,
+0x791f396e,
+0xf92570dd,
+0xb86e2671,
+0x70fbec3d,
+0x381cf002,
+0x45dda75e,
+0xf1432603,
+0x183bb955,
+0x4d71a07b,
+0xf658e17b,
+0xe854fe36,
+0xd5dcfdb2,
+0x8415585b,
+0x16aab9db,
+0x960f654c,
+0xff4a489e,
+0x53b3f622,
+0x26d15034,
+0x63820784,
+0x9e37cbb1,
+0xbdf3b63d,
+0xcda53f83,
+0xf5188432,
+0x4344526a,
+0x5d9c8042,
+0x0cb351ee,
+0x688b69a7,
+0x74f0de6d,
+0x1dd71a47,
+0x9b772880,
+0x09b1d065,
+0x6e3f831b,
+0xd036785f,
+0x7941bba5,
+0xeead8837,
+0xac069d15,
+0x124fdd05,
+0x3d41e361,
+0x43205625,
+0x3bb8fc54,
+0x364150b5,
+0x19c1a26a,
+0x85016c21,
+0xdf0b65f1,
+0x4ab511cc,
+0x1e6de8f4,
+0x016f4295,
+0xae36fd6c,
+0x1bb6ac48,
+0xf2a2ffdd,
+0x12722a9a,
+0xab405ab3,
+0x58affc33,
+0x96a27041,
+0x68aee23a,
+0x7ac0fdce,
+0xae320f7f,
+0x7e3526bc,
+0xfecc1058,
+0x917bd91a,
+0x7fc5b548,
+0x716d9450,
+0x0ae5db42,
+0xd004949e,
+0x2898b051,
+0x346fc451,
+0x2bc54552,
+0x90ccc2bd,
+0x34e257a4,
+0xc9a9a0e7,
+0x1419f824,
+0x5d501eba,
+0x1fce4e5a,
+0x01cb286b,
+0x9b252de7,
+0xf053388c,
+0x36069f7b,
+0xfadc39b8,
+0xad90baaa,
+0x669db3bd,
+0x6253ad8f,
+0x675e7cfa,
+0xe5c80a26,
+0x6bb054c0,
+0x1c935da2,
+0xb42bcfd9,
+0x08ea5cf9,
+0x538aec5d,
+0xe588e80d,
+0xbaf1f481,
+0xfcf4fa99,
+0x308bc603,
+0x815d9134,
+0xdd7ecd88,
+0x80d99316,
+0x000279be,
+0x974e03c3,
+0x09f8f6ef,
+0xa92e8c0c,
+0x96949a17,
+0x8f198e33,
+0xe8972290,
+0xc5130666,
+0xef23892a,
+0x02fa3703,
+0x0a5eb52d,
+0x1dbb64e6,
+0x09917250,
+0x7acd993c,
+0xbcde55d3,
+0x85efac22,
+0x21466b21,
+0x5e5a1078,
+0x46f90e55,
+0x66dabdd8,
+0x05f18baa,
+0xae74e083,
+0x03b106be,
+0x6cf4163f,
+0x8c5848ef,
+0x9bea465a,
+0xae10d11b,
+0x3488a6b6,
+0x80701234,
+0xe3d831f2,
+0x6ad0cabc,
+0xc281f58c,
+0x0c65f60c,
+0x481c5fab,
+0x21c024d9,
+0x6ca173ce,
+0xbe55f99d,
+0x99c1ecb8,
+0xdeb5b7db,
+0x1b23e0a5,
+0xaef639cd,
+0xe2a01b59,
+0x4b11b720,
+0x36208043,
+0x4c727820,
+0xd5f009cf,
+0xbc2902ec,
+0xd2cf72ae,
+0x1cbe8602,
+0x43475970,
+0x33e94e02,
+0x113f441e,
+0xd21cf686,
+0x44f5fe2b,
+0xf33b1622,
+0x8a52349b,
+0xb5f5df21,
+0x70a9a82e,
+0x3971a1c5,
+0x4d1c7950,
+0xed61b335,
+0x99649f57,
+0x2d33949b,
+0xfb733c58,
+0xa793c10c,
+0x108f3f15,
+0x5112ce88,
+0xf64d8a9d,
+0x191ef798,
+0x9c88327f,
+0x5fc8129b,
+0x87aad365,
+0xe0620623,
+0x4449d0e3,
+0x883b7b0c,
+0x7d383f6f,
+0x60f26d15,
+0x365df7a3,
+0xf87f6284,
+0xdd67e0b9,
+0x8ab1a44f,
+0xc7b0a0b6,
+0x87319799,
+0xc1f2f56b,
+0x1667b555,
+0x60da48be,
+0x5ba93703,
+0x37d79c0f,
+0x84db4286,
+0xbd7ee69b,
+0xd188542d,
+0xd2e4c061,
+0x553319cc,
+0x108ad521,
+0x08474ae1,
+0x483c46a8,
+0x066c82ac,
+0x11fd3962,
+0x83cf2479,
+0xc4c5b7c9,
+0x66b2d723,
+0x46f0edea,
+0x54ba02ea,
+0x01380ff8,
+0x16a3bba3,
+0xed9a88de,
+0x9f6d454f,
+0x5f0d2a54,
+0x21d4990c,
+0xaf44e616,
+0x4e10792f,
+0x27a2e556,
+0xcf0a2a91,
+0xca117143,
+0x579560e0,
+0x0ab52db8,
+0x233b796c,
+0xe89078fb,
+0x9941e8d4,
+0x8f8acae4,
+0xbbfff073,
+0xfb58a83a,
+0xc99bb841,
+0xf48e77e6,
+0x9e0c3a08,
+0x6153c2f8,
+0xd219fdde,
+0xa6d1509c,
+0x49069c0a,
+0x19ef5841,
+0x14453ff0,
+0x2a1dd8d3,
+0xb5cef596,
+0xfb2032cb,
+0xc5725201,
+0x540cc343,
+0x1f3662f2,
+0xc2dcb75e,
+0xb5db69f7,
+0xfd77b6ff,
+0xb8be301e,
+0x6bce4049,
+0x22c5ccf4,
+0xb90a36f5,
+0x2b7c14d6,
+0x410eb14f,
+0xfe15e7b7,
+0xa7c3ac8e,
+0x741cee71,
+0x8cdec2a8,
+0xf06cd2c2,
+0x20be466a,
+0xc1af9d73,
+0xeed5e3a4,
+0xcd197253,
+0xf2fc5e6c,
+0x731b9825,
+0x0a546a56,
+0x48558fe2,
+0x502316d8,
+0x20881ce0,
+0xb3bca1ef,
+0xd5b88485,
+0x6f36204f,
+0xf696e93f,
+0x9171e297,
+0x13d76c73,
+0xec60ab5d,
+0x8c08ca4e,
+0xf5cad1de,
+0x1c3d92a9,
+0xfd16153f,
+0xc309019d,
+0x9a7e558e,
+0x084c6743,
+0x6458dcec,
+0xcd857747,
+0x0a4b2dde,
+0x6d90365a,
+0xb171431d,
+0x28b7752c,
+0x12bfd286,
+0x71f5837b,
+0xff133099,
+0xf3ca0d13,
+0x9b2964dd,
+0x9badcc15,
+0x25e584b0,
+0x2be4b703,
+0x858cef81,
+0xb489cc9d,
+0x75fa48c8,
+0x638e7e6b,
+0x01ad2db5,
+0x477ae340,
+0x03149508,
+0xdd5d75fb,
+0x695f05fd,
+0x17dc0d8d,
+0x1277d175,
+0x1db481be,
+0xea123314,
+0x96ad45af,
+0x0d58d022,
+0x3c5aabc7,
+0xbb58f80b,
+0xd774855d,
+0x05de57db,
+0x8e8fc327,
+0xb53ac7c7,
+0x2bdefd5f,
+0x174066ff,
+0xce8b06b2,
+0xb08acce2,
+0x9512d0ef,
+0x2c611025,
+0x2cec63f4,
+0x9380ffa2,
+0x8f5052c1,
+0x3de8be2c,
+0x904c9a99,
+0x8f7ac834,
+0xfc1970ec,
+0x9157874b,
+0xb17ae61e,
+0xefb6f321,
+0xc8663488,
+0x5f154c8a,
+0x6ee9e7d0,
+0xceea5e3f,
+0x089f8bc3,
+0x0909e72f,
+0x825a30f7,
+0xfd80af84,
+0x0d7d0fd8,
+0xc615753a,
+0xa4b7cd99,
+0x8d8a2999,
+0x115da596,
+0x75e8d9cd,
+0x00ff5119,
+0x042e6a42,
+0x9836b582,
+0x5775b4c5,
+0x3a3b0f0f,
+0x4712e941,
+0x740d6763,
+0xd321fd1e,
+0x07af14bd,
+0xd0aa8249,
+0xe2741fb0,
+0x3a3d207f,
+0x3b6407e6,
+0x6921e35f,
+0x9c6d7f9f,
+0x0228d456,
+0x0654fd26,
+0x2647c68c,
+0xebd7d4e9,
+0xd3ec4402,
+0x0e6391bf,
+0x906c376d,
+0xc1663f48,
+0x433cdb90,
+0x8a7c01f7,
+0x12d29de3,
+0xf6c80232,
+0x69b8d44f,
+0xc68f870b,
+0x856f3e3b,
+0xa21d73bf,
+0xc075898a,
+0xcb3fe8b2,
+0xe6515ecb,
+0x22467e27,
+0x991769ec,
+0x5f457dba,
+0xc92cb1b2,
+0x355e3701,
+0x904672eb,
+0xae21aeb9,
+0x7f25966a,
+0xf3d56af6,
+0x9b251e87,
+0xd9b7707f,
+0x5096ba92,
+0xb0f46749,
+0x82f4a69e,
+0x9c192c1c,
+0xe3c78ea1,
+0x77710ab6,
+0xb61e0b67,
+0x0b0c8dd9,
+0x3ff8db95,
+0x98214f56,
+0x548c24b0,
+0x36b7025e,
+0x57bb58ed,
+0xf913a97d,
+0x097134b9,
+0x08080e9d,
+0x6f3e953d,
+0x3a8c63b0,
+0x3545c083,
+0x47e9dfe3,
+0x43053af6,
+0xe7d0c089,
+0x390c0a14,
+0xfce1a0b2,
+0x4e27bc3b,
+0xaefe311b,
+0x057b049f,
+0xb6d8beaa,
+0x5564df7f,
+0x26d126c6,
+0x43e583dc,
+0xce1d71d6,
+0x4b8ec84f,
+0xc31677b3,
+0x726c2806,
+0x074ad5f4,
+0x2a4089ee,
+0xf45ad5c7,
+0xf62e3d31,
+0x61ccea60,
+0x866240da,
+0xaef2e7c9,
+0x69a3e0d0,
+0x6f9b75a6,
+0xc1c42d83,
+0x4534629f,
+0x5c0b95df,
+0xae070dd6,
+0x2bcd4f32,
+0x66c74fe7,
+0xacbb9379,
+0x9a55e85e,
+0xb8b3396c,
+0xf81fb504,
+0x2b6efe78,
+0xe953e3c4,
+0xef3872d4,
+0x663242ff,
+0x2cf4aa07,
+0x564a3dbe,
+0x9578aa65,
+0xae9c5914,
+0x8a7624d5,
+0xeae0f3f2,
+0x4e59f783,
+0xea1192a0,
+0x7a761773,
+0x2824f1f7,
+0xd1d0464f,
+0xed2471cc,
+0x31d07bf0,
+0x6829cb8b,
+0x40f4a392,
+0x46c79726,
+0x53e1abf1,
+0x695b3b0d,
+0xa9c6b278,
+0x0a891a43,
+0xb4700fab,
+0x0591ee54,
+0x5f2fd534,
+0x030f1840,
+0x9d269b63,
+0xa18b5326,
+0xfdb404a3,
+0xf97edafa,
+0x4bedfb04,
+0xb674c262,
+0xe6ff5988,
+0xa7dd0736,
+0x4b7d9c7d,
+0xd4bd7952,
+0xf1bceb99,
+0xc0a7c28e,
+0xa60febb9,
+0xa7cd3747,
+0xcdef2813,
+0xeafe3123,
+0x13ee3cbc,
+0xf119dfcc,
+0x90d22713,
+0x45f8f6fa,
+0xd6d9f17d,
+0x797047f1,
+0xfce4b610,
+0x0ad8c6e9,
+0x54533df3,
+0x16d12516,
+0x32ee941d,
+0x0807f502,
+0x21ad6f5b,
+0x96514c8c,
+0xecc05788,
+0x47fb35ca,
+0x886331e7,
+0x5aa1c7a5,
+0x15ad2616,
+0xd525b2d7,
+0x77d869ca,
+0x800ccc15,
+0x26151274,
+0xfd47c92e,
+0xfdbb5bd9,
+0x9fc9f38d,
+0xdf22058c,
+0x74636e13,
+0x93d83b71,
+0x3a28ebcd,
+0xcb6e9892,
+0x2153c071,
+0x8bc1c07a,
+0x11662ea9,
+0x04ec079c,
+0x6f9e5377,
+0x0bd1b99e,
+0xcbe93465,
+0x458bd81f,
+0xd3231cb0,
+0x45fc0557,
+0x5afd577d,
+0x7542480c,
+0x58eba9b5,
+0x7c06c6ed,
+0xf309833c,
+0x4764c6a0,
+0x61edac30,
+0x2cc80331,
+0x08da6af3,
+0x5429cf18,
+0x7ef2dfdf,
+0xd11b01be,
+0xe9098184,
+0x1a76dd4b,
+0x99a0099d,
+0xfef71fcf,
+0x8fa50f4a,
+0xb0303843,
+0xe285bfb5,
+0x8f3f1727,
+0xd79e8162,
+0xe66a3ca4,
+0xac9c8edb,
+0x747b5029,
+0xd12780a4,
+0xb85fbf07,
+0x8985cad1,
+0x47e7a807,
+0x38f536d4,
+0x4c9a79fb,
+0xc50b23a3,
+0x944cae85,
+0x3e2100e6,
+0xfba3ad7c,
+0x65abe2fe,
+0xcc4d2ac9,
+0xfce5a5e3,
+0x3741a330,
+0x9d100a6a,
+0xf678303c,
+0x821a8adf,
+0xe430206e,
+0x5323af6c,
+0x1cbe8b52,
+0x8945ae46,
+0x1768385c,
+0x8f52509e,
+0xb786a998,
+0x3d6a4e39,
+0xc5429322,
+0x80e6d123,
+0xdc295c5e,
+0x619fbec3,
+0xe1a5d9c0,
+0xd6a58bb4,
+0x782399c6,
+0xca3e9d06,
+0x1eb63090,
+0x396084d9,
+0x16473175,
+0x303fdf87,
+0x94f0d2d3,
+0xa8ba8555,
+0xb6c10ced,
+0x45b8a188,
+0x260c8eee,
+0x22386ac3,
+0x0be6e4e1,
+0x4a6fd75d,
+0xee931091,
+0xb1175d4d,
+0xe3c7d8e6,
+0x046ebc35,
+0x0d9c98d3,
+0x3bb1acbd,
+0x424d744f,
+0x5e9097eb,
+0x257d2637,
+0xfc96dd2f,
+0x55a55d3f,
+0xb29a2bfe,
+0xd4eac408,
+0x270d2a06,
+0x4e0746be,
+0x0dcd5eb0,
+0x2c686dd5,
+0xa0846091,
+0x60a38b14,
+0x1cdab4a8,
+0x50438c3c,
+0x5ba35746,
+0x49d50f08,
+0xe0cb2b15,
+0x9929e1a9,
+0x48c2e8dd,
+0xea3c000c,
+0xfc2526cf,
+0x8b66225e,
+0xd4ed4884,
+0x61244f21,
+0xc8984ca7,
+0x4e0a1230,
+0x2ac04b15,
+0xde350fda,
+0x00d477bf,
+0x31db0982,
+0x1db60749,
+0x61f0e7f9,
+0x4795939d,
+0x458b007a,
+0x91d29022,
+0x84c97bd9,
+0xd7d1dea3,
+0xc2b142cc,
+0xaa2ebe14,
+0x8845a95c,
+0x51b68d89,
+0xf3a6f029,
+0x652eae27,
+0x4864c360,
+0x15124ac8,
+0xb18567de,
+0xa9264b21,
+0x102e265c,
+0x3c3aa885,
+0x1ba77d34,
+0xbd29f34a,
+0xbc033080,
+0x5213330a,
+0xe8db1c66,
+0x94233781,
+0x2a7c891c,
+0x87d424a8,
+0xb8c8a917,
+0xe9997cc0,
+0x167e8d52,
+0x27176724,
+0xc587c8fa,
+0x0437ed5a,
+0x3c52f374,
+0xb316141c,
+0x4f679deb,
+0x15aa4695,
+0x5545a15b,
+0x732878e1,
+0x50b8f25e,
+0x360e5de4,
+0x39e268a6,
+0x1ce4b1f7,
+0x9b180243,
+0xc33d326f,
+0x18c2b1fc,
+0x3342236b,
+0x59822314,
+0x731cacfa,
+0xcdd87333,
+0x2ad62c32,
+0x0cbd6559,
+0x8ff52416,
+0x0725869b,
+0xdc74602a,
+0xde04f2bf,
+0x2a166a09,
+0x8dbcb75a,
+0xe9feb86f,
+0x0d1f3f7b,
+0x4351c1fc,
+0x99dcc8cf,
+0x4b7c62e0,
+0xb58afb85,
+0x41629aa5,
+0xe1911b78,
+0x3cee5b9e,
+0x215f5638,
+0xe463a600,
+0x287c5332,
+0xdbdb4e66,
+0xf2882b35,
+0xc2a3f828,
+0xe3ec49fa,
+0x0fa61bb9,
+0xbd666486,
+0x002c26ba,
+0x54251984,
+0x2be28703,
+0xcf4d88f3,
+0x3b8559a1,
+0x2c58576f,
+0x21370370,
+0x2d479a0c,
+0x9bc9746c,
+0xa2a7f1bf,
+0xf4695d45,
+0x24f6a882,
+0xc8874b05,
+0x498e409b,
+0xa06e7e6f,
+0x6433d31f,
+0x065d0c5d,
+0x20036a13,
+0x54abba94,
+0xe8d5651d,
+0x254085f5,
+0x445b3d62,
+0x2fce6a04,
+0x448d7be6,
+0xf1690f38,
+0xfee31e73,
+0x5df98964,
+0x64a41a3e,
+0x7a1b818b,
+0x2884380d,
+0xdd3bec46,
+0x20da36c0,
+0xc6903601,
+0xe73518d8,
+0x6b7eb6ca,
+0x5a85a730,
+0x3c6faa3f,
+0x5769c015,
+0xbe940b37,
+0xd3c319bf,
+0x47e285ab,
+0xd8821b55,
+0xd58c1b51,
+0xaa3f53b5,
+0xe63d7452,
+0xe19b5d45,
+0x76d14a7c,
+0x6d87cf9e,
+0x9ab98149,
+0x09546295,
+0x873acc9d,
+0x25c2796c,
+0xd8670fec,
+0x861ea18c,
+0x37c061de,
+0x3ef94c0c,
+0xa6a9862f,
+0xab426245,
+0xa0547dc2,
+0x298e1c76,
+0x43d4eade,
+0xeb6f23e7,
+0x81a703c4,
+0xb4075d28,
+0xdbf99364,
+0xe5400fc9,
+0x801b2dbb,
+0x58f53a49,
+0x8ec881db,
+0x53d14b09,
+0xdc5cdf98,
+0x4029b480,
+0x5b53544f,
+0x8a588bf5,
+0x9bcc212e,
+0xaa218e80,
+0xd25a8bb9,
+0x917306c9,
+0x6d1dff8e,
+0x8d039e78,
+0x516f0807,
+0x144aeebc,
+0xcce0993a,
+0x9cb00464,
+0x5b798789,
+0x3257db10,
+0xb6388bf8,
+0x3aae9ad8,
+0xf3595bc7,
+0x07eb0713,
+0xa3ab2e3e,
+0x37af6f76,
+0xd1ba95f0,
+0xe6bccd54,
+0x85e2d351,
+0x2dc5e2b5,
+0x23bfd847,
+0x36ba0e86,
+0x8766fd36,
+0x021f2f6b,
+0x97af6193,
+0x277c95b9,
+0x9c578e91,
+0x9254a2d8,
+0x0b1e5949,
+0x3523df03,
+0x55176a22,
+0x9c5959b5,
+0xc729c8ae,
+0x5cd9864d,
+0x8b4d7e9c,
+0x2cc0c9ef,
+0x771b87c0,
+0x21b03c64,
+0x79ca94f7,
+0x4c548e27,
+0x1d0732df,
+0x4dab787b,
+0x89871b09,
+0xfae0b7a9,
+0xb16a7205,
+0x05c0f228,
+0x36b78511,
+0x3be8c07a,
+0x43666de0,
+0x4a887f97,
+0x5fe62751,
+0x72c92ff4,
+0x43efe8c8,
+0xb2b6e7ed,
+0x2fafb1e7,
+0x681f5680,
+0x2852676b,
+0x11a4da8f,
+0x2390931a,
+0xbfe45016,
+0x27a22ded,
+0xae5e2b91,
+0x2c87d565,
+0x13dcdfb9,
+0x2a9a307d,
+0x60b56f00,
+0x74704392,
+0xa8c81d65,
+0x229f77df,
+0xb9e71cb0,
+0xd7034511,
+0x2bf799d9,
+0x808df8cf,
+0xee4113c3,
+0xabf751c9,
+0x7ce83b2c,
+0x8f5d29e7,
+0x59520969,
+0x679c7f9d,
+0xd882fc94,
+0x108cae4d,
+0x69682a63,
+0x8d8d34c4,
+0xecf88893,
+0xf0ba23b0,
+0xc9d95230,
+0x68bfd388,
+0x29004433,
+0xf5d48055,
+0xb519384c,
+0x685a459e,
+0xb66fcf5a,
+0xf5dfc48c,
+0xd0a86873,
+0xed836b83,
+0x1ea2f9a0,
+0x6202bbe1,
+0x0af0d4d1,
+0x0eaba4f9,
+0xc680fb0b,
+0xb2a72e04,
+0x81f51067,
+0xf80ffd57,
+0x457a4738,
+0x404d4581,
+0x8d338eb6,
+0xdb4f97ae,
+0x321c068f,
+0x980a065e,
+0x859dc84d,
+0xda98c283,
+0x6dbfc6b0,
+0xc271a49d,
+0xeb3dce1c,
+0x8843d79c,
+0x124df4cc,
+0xe9b66077,
+0x3f03adcd,
+0x420fea60,
+0x243fb7bc,
+0x5ba256c4,
+0x7c0a48fe,
+0x13ef71a2,
+0xe6665306,
+0xc13ea54f,
+0x83396e78,
+0xdb58ce8b,
+0x67554b9c,
+0x4233e95d,
+0x3545f717,
+0xc0a938b4,
+0xd676cb8f,
+0x480b7540,
+0x2a4871b8,
+0xe8868d38,
+0x91d44801,
+0xeeb49d9d,
+0x0c26b650,
+0x3ec0865a,
+0x95a04ab9,
+0x75cb80c8,
+0x0795c1b7,
+0xce339a88,
+0xf75de422,
+0x611c8235,
+0x1aefcf78,
+0xe8d739f8,
+0x8e52e02e,
+0x79a80dad,
+0x173a7a0d,
+0xba5e0671,
+0x5eb83c79,
+0x90666a1c,
+0xc270fb9d,
+0xd946737c,
+0x6c2f67b2,
+0xcda853e3,
+0x6eb9cc5a,
+0x3b0f6a62,
+0x868cfbdd,
+0x7c4c741b,
+0x8d8723a9,
+0x5f8f5433,
+0x0e50c3ce,
+0x1de437d7,
+0xbd3fceaa,
+0x49b48e7c,
+0x5bfc292f,
+0x512430c3,
+0xaa203d86,
+0x7e36058c,
+0xd2da8692,
+0xa109a2d0,
+0x24436df8,
+0x69a78275,
+0xe57761cc,
+0xa6080e1f,
+0xb60493f5,
+0x3fa0fa4a,
+0xe6f0e759,
+0x15eb4f56,
+0xd9e086a0,
+0x2cd34bfb,
+0xd88668bc,
+0xbf852945,
+0xb3105869,
+0xb0d3575e,
+0xa5ab9d3b,
+0xf4771160,
+0x8d098ef6,
+0xa2ab3801,
+0x4a3a21e5,
+0xeb66009d,
+0x96270dd1,
+0xd6bc33b4,
+0x2797feec,
+0x61b01865,
+0x30d4bb0b,
+0x90bfaa82,
+0x49b26ee0,
+0x5c0a0c14,
+0xd4ff874b,
+0x26184a3c,
+0x12e60338,
+0x06931826,
+0xc584b2e8,
+0xaa1e9e1d,
+0xa82514ac,
+0x3bad2d0a,
+0xdae3fcc5,
+0x9e4f4f61,
+0x52b7ede0,
+0x36fe7d56,
+0x955d05b7,
+0x0f514eed,
+0xa99a7f2d,
+0xcecde652,
+0x33b62032,
+0xf06077c1,
+0x05def205,
+0xc8ad2432,
+0x6dfd150c,
+0x08b72685,
+0x5d2d44b8,
+0xfc6590f6,
+0xe1ae47f4,
+0x5c83bbf3,
+0x92a71c43,
+0xbd2ade26,
+0x1cdec2b4,
+0xb6dae300,
+0x6fd4f70e,
+0x622ba458,
+0x693b1b3e,
+0x6fe82554,
+0xe13a64e1,
+0xf38ff5d4,
+0x9bcd3f34,
+0xb399c67e,
+0x87f939cc,
+0xfcdc904b,
+0x8f9f9909,
+0x4eb98808,
+0x14a1bcca,
+0x90f1233a,
+0x010a6bb9,
+0xb3a6320b,
+0x032fe117,
+0x0690c5d3,
+0x5e4a7dee,
+0x5f2cba25,
+0x67c9a8e8,
+0xd5563b20,
+0xaab75ece,
+0xa5b1f641,
+0xa6a59631,
+0x9304e9a7,
+0x0beedf4f,
+0x2a81db21,
+0xad11065e,
+0x86b338b9,
+0xc657bb3e,
+0x3cf37e0a,
+0x429a7fd3,
+0x91a7da4b,
+0x0d4a33d8,
+0x2fd4ecd7,
+0x4bb84336,
+0xad61689e,
+0xe46db4ad,
+0xb328e3af,
+0xbf866698,
+0x68204c7e,
+0xbdde2475,
+0xf3782612,
+0x8453accd,
+0x46dfb357,
+0x9bf42b51,
+0xa0599b4a,
+0x955c376c,
+0x04dbcae8,
+0x08a633b3,
+0x53bfa53c,
+0x587d3744,
+0xbaae1ee2,
+0xe19b0821,
+0xd6ba74b5,
+0x6676035b,
+0xe8c7cf93,
+0xec8fd2fa,
+0xbe07e396,
+0xf6edf996,
+0x3d1ad348,
+0x16584a19,
+0x6b1db56b,
+0xd799328e,
+0xbe8209a3,
+0xcfdbe878,
+0x3f7f4f6d,
+0x5acee50c,
+0xa99b8b38,
+0xc2123e14,
+0x5af7997e,
+0x46191926,
+0x98f4d2e0,
+0xba4174c9,
+0x78e6748c,
+0xc8903a24,
+0xe679ecfe,
+0x975c0ea9,
+0x147ec530,
+0x322dc36d,
+0xeb4bef45,
+0xa956d570,
+0x348be3e6,
+0x67d5992b,
+0xb4eb4e15,
+0x3ebe4b18,
+0xb920c797,
+0x7d54cb54,
+0xb8162780,
+0x903e158a,
+0x165b03f5,
+0xfde2e40f,
+0xb015a328,
+0xd279f58f,
+0x61e0c782,
+0xf2d5b05f,
+0x97fe0aa8,
+0x17c34eee,
+0xcd3f566f,
+0x2d7202b3,
+0x905bc72d,
+0x279ed8ca,
+0x80d08785,
+0xf4b637dc,
+0x6af92c1d,
+0x50ec8db1,
+0x8c5d62ac,
+0x41a00136,
+0xebc718c4,
+0x4425ca09,
+0x1625d9ef,
+0x3b6ab64d,
+0xa86c0a78,
+0x87d2ab1e,
+0x7a7b5304,
+0x705442dc,
+0x00abbcb6,
+0xdf6fcf80,
+0x792574df,
+0xd206285c,
+0x7dc27a7b,
+0x44c41daa,
+0xf7e4bf23,
+0x76a1842e,
+0x8db4ea58,
+0x6f4e4f39,
+0x9c04ff8f,
+0x9cefdddd,
+0xb6fe1672,
+0x70692f76,
+0x79c1ea6d,
+0x1af6692e,
+0x6d4f0b50,
+0x91bac7a8,
+0x0363ebd9,
+0x7bf73f03,
+0xb9908a3b,
+0xcb0454d5,
+0xc1c1cb23,
+0x12af306c,
+0x86a02af4,
+0x3acefeee,
+0x39dcdcb3,
+0x1b465001,
+0xaebd0d04,
+0xa40a13bd,
+0x554bd1ae,
+0x9a2ec3d1,
+0x0b7e780c,
+0x0eeb27af,
+0x631da1a9,
+0x88eded77,
+0x470092fe,
+0x01b8d06c,
+0x81601be0,
+0x6a6a56a9,
+0x31822728,
+0xd2a57b49,
+0xa94f8f35,
+0x598ec689,
+0x7666b9a6,
+0xe4324fff,
+0x7e974bca,
+0x4822020b,
+0xdece8d92,
+0xbea94903,
+0x1993ead7,
+0x83cd518e,
+0x7b0fa7d4,
+0xc03922fc,
+0x42457122,
+0x169aa59f,
+0xa743de4b,
+0x8464afd5,
+0x2b95a7dc,
+0x5a771589,
+0x0de256e1,
+0xc68bf78c,
+0x2ff1c7c1,
+0x3daa4f8d,
+0xead2db5c,
+0x1804f4a2,
+0x145d2426,
+0x6b97b03b,
+0xac6ad2ce,
+0xe215965c,
+0x3ef2fa4b,
+0x66127dae,
+0xc8c04cc1,
+0x06bdb252,
+0xdc8a868f,
+0xba67efa5,
+0x87b5e298,
+0xd78cfc23,
+0x5739dea1,
+0x4e628f2f,
+0x00461245,
+0xd8382786,
+0x6d08e46d,
+0xd26a7a40,
+0xe71abcd7,
+0xc0faee89,
+0x01c9b969,
+0x0478e795,
+0x10ada9c1,
+0x4acaaded,
+0x8669031d,
+0x960a190e,
+0xe1162083,
+0x9d26384b,
+0x14b6e1a4,
+0xf77d0f85,
+0x445da26f,
+0xa5523a09,
+0x4806015d,
+0x7f36b9dc,
+0xb3373755,
+0x3d6f317b,
+0x1bba318e,
+0x8ca400d0,
+0x3c883e15,
+0x63568898,
+0x08889d99,
+0x341510e8,
+0xb7a94bf1,
+0x4248b0d3,
+0x1ea97cb5,
+0x34ba52b1,
+0xd425a2aa,
+0x6ae3007f,
+0x73cee2ca,
+0xe80e7a79,
+0xde37e242,
+0xa1b59e56,
+0x064e3f8c,
+0x1cfd2d1f,
+0xc8ee3af3,
+0xbe5d7a3e,
+0x3078dc38,
+0x969ef5f6,
+0x9b67d602,
+0xc8369af2,
+0xd79721aa,
+0xe199a2be,
+0x6f3e2913,
+0x30c55438,
+0x4e1c77e3,
+0x0db683be,
+0x1a48dfb2,
+0x0dddd295,
+0x472a02fd,
+0xa3cfc5c1,
+0x67607abb,
+0xa92ae0ee,
+0xd0413ee0,
+0x58c262ec,
+0xf9423781,
+0x82b94da3,
+0xcc83cabe,
+0xac9b7b24,
+0xf2a79760,
+0xd3638ac9,
+0x4fdebba3,
+0x1c73ec61,
+0x5b93a2d7,
+0xc3eb09ed,
+0x05e10d43,
+0x30bfade1,
+0x3b74d5fa,
+0x976e60a5,
+0x9d770aba,
+0x1678be16,
+0x76d62163,
+0x272981e5,
+0x40131a3c,
+0x0df045bf,
+0xc554ae7e,
+0xa247757f,
+0x8c11201c,
+0xc77af68e,
+0xd85f5d35,
+0xa81d463d,
+0xdce3cc19,
+0xe9082529,
+0xea544900,
+0x17425060,
+0x8930946d,
+0x08eb5d20,
+0x1baa7391,
+0x3f4b4e25,
+0xba974cf8,
+0xd85ecad0,
+0xb009298a,
+0x251aee51,
+0xdba93219,
+0x2760e183,
+0x0559ef3b,
+0x202dd2ee,
+0x023a04ed,
+0x0fe22e40,
+0x9abde270,
+0xa40cefc6,
+0x33f7773d,
+0x2937a6b7,
+0xcf17ae0d,
+0x6c9e3a7e,
+0xc5e1de7d,
+0xb58178d3,
+0xcc9cdef7,
+0x2d2eab0d,
+0x419d4a1d,
+0xb4f69390,
+0x9d21f2ad,
+0x4cb82d18,
+0xa957b42a,
+0xb0c39fe6,
+0x80b03c51,
+0x5d235da8,
+0xaea02d71,
+0x8632a5b1,
+0xb5c4b85f,
+0xe4f7592f,
+0xff59a828,
+0xfdd0897e,
+0x6193c8ca,
+0x7249400f,
+0x68471d60,
+0xe6f25c42,
+0x616320da,
+0x82f455a7,
+0xdb9a77a6,
+0xaefffb41,
+0xb8ebc1c0,
+0x7cc95cea,
+0x682f0d2b,
+0xad0c98f1,
+0xe8bc8713,
+0xae54a244,
+0xae4a051c,
+0xbc22d8ad,
+0x4d26d619,
+0x0e1a301d,
+0xac50647f,
+0xb8dbbcc2,
+0xdcfa8bb5,
+0xf3ed5b33,
+0xa364e1a3,
+0x14a6ab89,
+0x200df99b,
+0xc4477c2b,
+0x73671111,
+0xff5311be,
+0x8e048666,
+0x879d1fea,
+0x3df82792,
+0x701db371,
+0x7db99ef4,
+0x8498ed24,
+0x35407d34,
+0xdd43b0f4,
+0xa5ca32da,
+0x68a96714,
+0x5cc44bc4,
+0x290c6220,
+0xaf8d56c7,
+0x0d67b665,
+0x769a1653,
+0x29f48b22,
+0x477bad8b,
+0x172938fb,
+0x7923d4ef,
+0x347b664e,
+0x687b065f,
+0x578721e6,
+0x6aef06bd,
+0xd0968b72,
+0xd1a37fb3,
+0x7dd9ce2f,
+0x8e37d096,
+0xe4197562,
+0x44e6ad32,
+0x89e8f199,
+0x2a13671a,
+0x5be08640,
+0x8d474bb0,
+0x04366aa4,
+0xb1ca20a8,
+0xca756ea0,
+0x80022ae3,
+0x5baaa5dd,
+0xdaeee096,
+0x800b4a66,
+0x675c690f,
+0x23a14494,
+0x0bcd4cbb,
+0x8b1b516c,
+0xd8033892,
+0x25ea6c1c,
+0x0136df6f,
+0x7a886b62,
+0x50933b23,
+0x7da57e67,
+0x642505cc,
+0xa6ef5300,
+0xb532df36,
+0xc2eb5040,
+0x7a90b4ed,
+0x3f918205,
+0x8d6e553b,
+0x923f8e90,
+0x4cd3caf2,
+0x218b0f7d,
+0x309863b9,
+0xb7deaf38,
+0x46a08cb9,
+0xcf0132d5,
+0x0f7ffd4a,
+0x26694636,
+0x41f5f32a,
+0x8c48e81f,
+0x0d28eef7,
+0x54f52153,
+0x63644c48,
+0x0e97fcf1,
+0x6437976d,
+0x6ea2b5d8,
+0xb8819a81,
+0x04b9ebb2,
+0x73c6e914,
+0x57806018,
+0xd5840c14,
+0x401bed6a,
+0x5fafffa9,
+0xcb565be6,
+0x9947faf6,
+0x33919c26,
+0xa737463d,
+0xd3708c8a,
+0x82aabf07,
+0x5d7cc0c2,
+0xaec28a77,
+0x972ae200,
+0x8256cdbe,
+0xe5272d71,
+0xac883f1b,
+0x7042713c,
+0x0790091e,
+0x9f98128d,
+0xd953f409,
+0xdb1d88e0,
+0xc4144430,
+0xd2ea4419,
+0xb04ca5bd,
+0xb44897b2,
+0xccd09c57,
+0x3f8bb789,
+0xd5af1018,
+0xf30f6eef,
+0x34001a89,
+0x065bf09f,
+0xaef8255c,
+0xa3a25d85,
+0xed7f87a6,
+0xbce3a60b,
+0xfb0e280f,
+0x89af75a8,
+0xb7af6a02,
+0x7d725621,
+0x054372e0,
+0x0552f952,
+0xcadfdf65,
+0x77316093,
+0xd0d7227e,
+0xb93e1fc0,
+0x20d599a1,
+0x05eaac33,
+0xd90fd70e,
+0xf798a056,
+0x6f49cbe2,
+0x8c924619,
+0xa257af91,
+0x09df5b8f,
+0x9da9b175,
+0xd2fdd713,
+0x537f5a7c,
+0x4126723c,
+0x212a2fac,
+0xabb9498d,
+0xd4c8830c,
+0x26964ad9,
+0x9ea3002f,
+0x8f786565,
+0xdb65393b,
+0x8effe174,
+0x960207b3,
+0xe358e202,
+0x2f34bf89,
+0xb9973900,
+0x8f8c7169,
+0x5500b72e,
+0xd4c9f52a,
+0xe31864f7,
+0xc6062ac9,
+0x36a53549,
+0x8fa80822,
+0x02163f6f,
+0xf4d6832d,
+0x80fbbaaa,
+0x46b2db24,
+0xa23b0d2f,
+0x0551f4c5,
+0x7197b3b8,
+0x1f8038df,
+0x354c00a5,
+0xff270dc3,
+0x3a3572f9,
+0xf1ce127a,
+0x378d61d4,
+0x530765ae,
+0xea775611,
+0x411b9c28,
+0xd77ee248,
+0x414b3a64,
+0xe5d196d2,
+0x781f09b8,
+0xe002e218,
+0x1cb421fc,
+0x7203d051,
+0x821486a3,
+0x66744e9c,
+0x3657e177,
+0x57e7e519,
+0xb612660f,
+0xf4bb4be5,
+0x64224add,
+0x147ea441,
+0x5d42fbf1,
+0xd9eed67d,
+0x82037d71,
+0xdb7f9bb8,
+0x9454f072,
+0x3422d79a,
+0x8acd232b,
+0xef08d237,
+0x8f4e2107,
+0x0165914e,
+0x7443fc4e,
+0x90e1d100,
+0x7cff458e,
+0x245c1a4c,
+0xf64ff88c,
+0x4136d812,
+0x074be17a,
+0xe7f7af44,
+0x3365065b,
+0xaf927728,
+0x1afe212c,
+0xebd77bd9,
+0xd00186e8,
+0x3beb4143,
+0x864ef1c5,
+0x5bc0af6c,
+0xc6682bd2,
+0x359fb567,
+0x65bb9a4d,
+0x3def2300,
+0xd5e39a8c,
+0x2c8e8bdb,
+0x37a96393,
+0x000cd414,
+0xd798c64a,
+0xf9a94296,
+0x8623d41e,
+0xa4f776b2,
+0x5e56ba81,
+0xb45e703a,
+0xf5a37148,
+0x19bd8bc3,
+0xeba46392,
+0x1f5aa5a6,
+0x0628be4c,
+0xf31d1922,
+0x671011f2,
+0x49ddde7e,
+0xb3e5bbfe,
+0x4006ca22,
+0x97979607,
+0x57183a2c,
+0x0c88d1e2,
+0xd59368c7,
+0x975563e8,
+0x68cbfc3c,
+0xe13eb4b7,
+0x4bd42097,
+0x1a19d028,
+0x884d320f,
+0xff29c8f6,
+0x5fbd1645,
+0xc5850c0f,
+0x7396eedf,
+0x67ec66c1,
+0x2202d000,
+0x0ea4915f,
+0x4639b458,
+0xee7482a9,
+0xe16a4328,
+0x0f33f980,
+0x4d4465dc,
+0x350a5d7d,
+0x58b03bd0,
+0x417468a1,
+0x15d735ff,
+0x6c627fc9,
+0x021d06a3,
+0x1e726b7c,
+0xcb6b590a,
+0x5fd4a359,
+0x57147675,
+0xdc36db24,
+0xc76e7800,
+0xf4c9dda1,
+0x135fc9df,
+0x28561695,
+0x6270ed79,
+0x82799159,
+0xdbdb9418,
+0xb2dd97e5,
+0x565e7a00,
+0x1fb66f33,
+0x1c4134f2,
+0x2cbd7eab,
+0xac2dc040,
+0xed26902c,
+0xbf7c15a7,
+0xa473c980,
+0x173e752e,
+0xabc43d95,
+0x82a7e194,
+0x27aa27b7,
+0xeafc353b,
+0x8962924a,
+0xee346a1a,
+0x5915c7bd,
+0x52a66bde,
+0x1e1aaf0e,
+0x98141ee9,
+0xba0e5fa7,
+0x00d841e1,
+0xf7d595e1,
+0x13090c21,
+0x33bb3fcd,
+0x4b01e251,
+0xd5aa2754,
+0x9c6c34a6,
+0x7fa88b5b,
+0xbe667dfe,
+0x80b4a61f,
+0x29fbe805,
+0xad4b75bf,
+0x07a4d8a2,
+0x1be044cf,
+0x2318e90b,
+0xec1f37fe,
+0xdea9fe92,
+0x33ddd34e,
+0xd5dd22ba,
+0x5256682b,
+0x92dc22f5,
+0x26bfb403,
+0xfdfcb5d0,
+0xebf61eed,
+0x25a4bf9b,
+0x597d2513,
+0x334d937e,
+0xbae85f28,
+0x10a3eb53,
+0xd02327c0,
+0x5aa2586b,
+0x0562c286,
+0x2bb064a9,
+0x94027588,
+0x25438af5,
+0xc763d05d,
+0xa54978e8,
+0x572d4269,
+0x217d1ce4,
+0x0660b927,
+0xb6fd5dc4,
+0x6908c80c,
+0x7b693630,
+0x024a5033,
+0x29b40b31,
+0x46971fbd,
+0x9af0358d,
+0x38af6197,
+0xf53008f8,
+0xffe7442b,
+0x610e2d1a,
+0x70a45316,
+0xbdf245e1,
+0xf6925684,
+0xb4656545,
+0xa3ce03de,
+0xeb41ed4f,
+0xddf1805a,
+0x732bbc50,
+0x01586cb1,
+0xcefa0761,
+0x65068545,
+0xf578b50e,
+0xb508f15b,
+0xa64772e8,
+0x4098c84f,
+0x5906bcfe,
+0xccf2611e,
+0x9391cce8,
+0x0b646873,
+0xc662551b,
+0x0d05250d,
+0xe20485de,
+0xfea533ba,
+0x354b71c5,
+0xf0761379,
+0xb670194d,
+0x9db89121,
+0xf5b23fe9,
+0x05f4c75d,
+0xef607a1d,
+0x0e0f1d4b,
+0x231e38b9,
+0xd81ee7f5,
+0x620f4bec,
+0x4d9e9bbf,
+0xb0b326a3,
+0xb0d7944e,
+0xd680e89c,
+0x01d70afa,
+0x34c0747a,
+0x28e37656,
+0x381b5ebd,
+0x48154af0,
+0xb61e54fe,
+0x3dd9ca8e,
+0xbfec9356,
+0x6b51cf96,
+0xd909045d,
+0xbd765152,
+0x4da21b45,
+0x74d9961a,
+0x5792803a,
+0x89f0c0a5,
+0x74b6153d,
+0x74f563a5,
+0xbb12c155,
+0x846965e8,
+0xde832f66,
+0xd63d79e6,
+0xdad1b10c,
+0xd069e914,
+0x78ade880,
+0x5bb04b3c,
+0xb908efe8,
+0xaebed01d,
+0xb0b8c7e6,
+0x0a109196,
+0xf4d3f8d0,
+0xdffb8fd3,
+0x49e8614c,
+0x956ff613,
+0xe1fdf235,
+0x8a03c7db,
+0x2483b1ac,
+0x2b39cb7d,
+0x3c1fe5a7,
+0xde24a4f9,
+0xa2015d98,
+0xd7a7a5c0,
+0x0099b2f4,
+0x8cf49066,
+0xa0e258a0,
+0x12ff9874,
+0xacff432c,
+0xdfd41188,
+0x1d79fb94,
+0x08adcac7,
+0x60191cf6,
+0x6eeab3b4,
+0x782eed64,
+0x5ac69571,
+0x03694088,
+0xcf6c1ca4,
+0xe9bc61be,
+0xf743e909,
+0x6fb38b3d,
+0x3157b38b,
+0x2cf84497,
+0x0551cb3e,
+0xbfa5d89d,
+0xa5c44505,
+0xe94d3fb0,
+0xa08ab3af,
+0x8dff24cc,
+0xcf0cd593,
+0x6cf20a19,
+0x7f2053a7,
+0x96f544f8,
+0x10993bea,
+0x15e0208c,
+0xb1953e4a,
+0xf4e47f13,
+0xbac85dae,
+0x3d0a154e,
+0x74b89ce9,
+0x34d3bac2,
+0x0d2f1a92,
+0x823999b2,
+0x6a064c51,
+0xbf252bc5,
+0x1064971c,
+0x50e9b988,
+0x7c555587,
+0x0ef2d322,
+0x2a2987b7,
+0xc9efbe20,
+0x1a79fa75,
+0x8c21deee,
+0x8c1a6405,
+0xbb100bb0,
+0x8c532516,
+0x6a9a3f65,
+0xd8c87dc2,
+0x320c4be3,
+0xf3bf0ba8,
+0x0bc89181,
+0xf23d54b3,
+0xd23c77f7,
+0xf2743a29,
+0xe34fdf0e,
+0x580743f9,
+0xc85cc2f9,
+0xa4029789,
+0x295199f3,
+0x15d87e91,
+0xf056cc70,
+0xf7384409,
+0x6f1e19bc,
+0xc8bb65e7,
+0xb649cdd4,
+0xbb57c624,
+0x60a61ca0,
+0xbd6ba50a,
+0xc1e69e5b,
+0x15354990,
+0x1d576008,
+0xf65aab32,
+0x9c3aeebd,
+0x54030180,
+0x147f698f,
+0xdbf7bc3f,
+0xf9d148f4,
+0x6cc8f97d,
+0x4e636315,
+0x04a2345a,
+0x1d66f24f,
+0x72c53a7f,
+0xbcce0e36,
+0x9ca07966,
+0x2ab29a1c,
+0xa94e4532,
+0xf9e7467f,
+0x1c92093e,
+0xc31734a6,
+0x43c67880,
+0x100d5d96,
+0x389a6020,
+0xa83757d3,
+0x0ab0c060,
+0xb7bfab66,
+0xcdbf5f35,
+0x0d890770,
+0x77366b54,
+0x7cc27c31,
+0xab6648ef,
+0x0bc6cf6f,
+0xca1c1a8b,
+0xce402970,
+0x3f07146f,
+0xdea9108e,
+0x5b796653,
+0xb3e26373,
+0x8385b766,
+0x7455b76c,
+0x6c972283,
+0xebc1b20a,
+0xc643a0f2,
+0x9733e7ec,
+0xc7af8cf0,
+0x910ea8bd,
+0xa9ea1952,
+0x2a6c9ef1,
+0x4221fe28,
+0xa17485be,
+0xd1fe1e9a,
+0x4e5f21ad,
+0x96a7c8b4,
+0xae7398c4,
+0x4f02d267,
+0xa965d1b8,
+0x2762d957,
+0xf6e8c334,
+0x7218fe25,
+0x0aeca79b,
+0xd67c1a9c,
+0xe94f3142,
+0x61ccec57,
+0x8fe38491,
+0xb3374d43,
+0x5492ed27,
+0x2bbef340,
+0xaf127883,
+0x074cbe27,
+0x7533b634,
+0xfd84f8ab,
+0xd7412d0b,
+0xebccd6d7,
+0xdda9768d,
+0xf2481579,
+0x981085f0,
+0xba9ef241,
+0x65236cfa,
+0x4522f805,
+0xbd964b48,
+0x95801a51,
+0xadfe27fc,
+0x24a1858b,
+0x05c4ded3,
+0x29fa34ef,
+0x336c3404,
+0x7955820c,
+0xb5baf219,
+0x4b059ed1,
+0x613f87e1,
+0x100ee013,
+0xeae55ee2,
+0xf5b1a6d2,
+0x69d1023e,
+0xbb36820b,
+0x920c58a9,
+0xd3e01f1d,
+0xff9d4565,
+0x06ef598a,
+0x00046ebc,
+0x7a37506f,
+0xd3ae20be,
+0x50a2dfff,
+0x25b69306,
+0x528418d4,
+0x6364a15c,
+0xabbb74ef,
+0x0d43758d,
+0x6de17252,
+0x52509180,
+0xac094dda,
+0x745b58b4,
+0x367a5ce0,
+0xaac3f242,
+0xe9117a5e,
+0x61066756,
+0xca5b7068,
+0xc4a48844,
+0x5c29b906,
+0x711d48bc,
+0x7324ca01,
+0x7b70bcfd,
+0x5b532ad1,
+0xe370a975,
+0x617bf881,
+0x89a9406f,
+0xf0fc87f1,
+0x6d6a0f39,
+0xc70486b1,
+0x88f77ffd,
+0x916ff0a8,
+0x93a7e905,
+0xfd9b6846,
+0xab39f2e5,
+0x3a512ba1,
+0xf7344722,
+0x40f0eab4,
+0x4f718a1b,
+0xa5f544ca,
+0xe070117e,
+0xadea7cc2,
+0xa80d7065,
+0x84638a07,
+0x98bbae19,
+0xbebceb6f,
+0x29b2dfda,
+0x539ed248,
+0x79ab5e7f,
+0x7413f3f8,
+0x35d39d3d,
+0xe5d4e86c,
+0x5484fc2a,
+0x6a64a041,
+0x096e66d5,
+0xadf48259,
+0x833540ed,
+0x868a02b7,
+0xc94435b3,
+0x90442dd1,
+0xbd5e85cf,
+0x51328bb7,
+0xb08f7680,
+0xcfc2233c,
+0xa93bde04,
+0x8cc61864,
+0x5fda8dc5,
+0x21fddee3,
+0xa0e5eec6,
+0x94b31136,
+0x6d6c5fb8,
+0x5decc5c5,
+0xc30d9c5a,
+0x1baa87a4,
+0x692e0126,
+0x404d12e5,
+0x2d29ea8d,
+0x6d68ff64,
+0x6156478e,
+0xd671d920,
+0x41b04058,
+0x1903b150,
+0xc3c525f1,
+0xa1b95060,
+0x483483e1,
+0x9f41b12e,
+0xfdf0c72c,
+0xfc8342f3,
+0xe05a1bae,
+0xbb67b044,
+0x519c2f94,
+0x3b5c356d,
+0xdee285a2,
+0xd4131b69,
+0x7a06702b,
+0xd1a17d69,
+0x6e252a56,
+0x10df25df,
+0x3b9b5cf4,
+0x3b4d6b5f,
+0x5428916d,
+0xd68c68a5,
+0x03aed4ea,
+0x7c5c998f,
+0x80323f0d,
+0x0f2ca06b,
+0xbfff34de,
+0xfc0dd277,
+0xa9bded48,
+0x75ff67c7,
+0xab55e48d,
+0x43edbf40,
+0x43015081,
+0xbb4305d3,
+0x026a5f47,
+0x54730816,
+0x5dfb0d6d,
+0xd755b7ef,
+0x2343d665,
+0x6a28d05e,
+0x323cc2f3,
+0xbe21d750,
+0x10ad081e,
+0xcd50113c,
+0xb1fe5b6f,
+0xc6303b7e,
+0x8385a086,
+0xfaa84213,
+0x3a0b824c,
+0x9080e718,
+0x06cfe087,
+0xb3fae67d,
+0x3f3cee99,
+0xd46f901f,
+0x207f0c58,
+0x9019cf77,
+0xa3e90030,
+0xf3ef92f0,
+0x5f02844f,
+0x33a5debd,
+0x368a6275,
+0xe0d7f593,
+0x4ca79ffc,
+0xbbe58cca,
+0x1e206537,
+0x81819690,
+0xbbd65e7a,
+0x40bd95eb,
+0xda2f6c43,
+0xa50c4510,
+0xc52ea383,
+0xcc652e6f,
+0x68f0779d,
+0x131454cc,
+0xc5e8c348,
+0x545315d5,
+0x1565559c,
+0x2b2a646f,
+0x3b55a54d,
+0xdd0c74d4,
+0xc3d6ca5e,
+0x824da04a,
+0x3aa9a8e9,
+0x8ffb92bf,
+0x6a0130ea,
+0xd2b28b5f,
+0xbbc837c9,
+0xbd9f3f89,
+0xac8b912f,
+0x084b6bef,
+0xba441e44,
+0x494d6ee8,
+0xadba7027,
+0xd6b15d81,
+0xcd4f2ba1,
+0x033503d1,
+0xd998aed6,
+0xfb6df4c8,
+0xb8c51004,
+0x6821032a,
+0x0be740a3,
+0x2c99d120,
+0x63bac27b,
+0xacb26d7c,
+0xcb5ff3f0,
+0xfbf0811b,
+0xc15a86af,
+0xcb94a8d2,
+0x40e5dc9c,
+0xd4ff91d6,
+0xa1091044,
+0x10401442,
+0xa6b13236,
+0x45f44d25,
+0xfed4f28f,
+0x6abb2625,
+0x4cbccb57,
+0xf41de926,
+0xce1193c4,
+0x03f779a8,
+0xb514cced,
+0x677a39f3,
+0xf3537a81,
+0xcc2248cd,
+0x9ab301cf,
+0x43d48b31,
+0x3af3cfe4,
+0x852accda,
+0x477fc54d,
+0xc959de5a,
+0x08cb7128,
+0x6939a677,
+0x4d5ce571,
+0x59761e28,
+0xffa5d982,
+0xc4bc8cea,
+0xfbbe6d9d,
+0xc924ebb9,
+0x3a86a4cd,
+0xdf04e36c,
+0xdf234d71,
+0x6bf20e6d,
+0x89738e5b,
+0xbe40720c,
+0x14c53910,
+0x0cda751b,
+0xeccca396,
+0x6bffa91a,
+0x9e0ff78b,
+0x3a8abc37,
+0xcc973621,
+0x6f63b98a,
+0x8a8abca2,
+0x65478d42,
+0xb320f06c,
+0xd8fa73f6,
+0x30049761,
+0xb8ab0380,
+0x24c10800,
+0xad1447df,
+0xc7f6a9a7,
+0x523aad49,
+0x0d798a98,
+0x1f1752ed,
+0x7a73a30f,
+0x58d8797d,
+0x3ccb0fc9,
+0x8f93dac8,
+0x825ffc98,
+0xd224f76c,
+0x84fc6155,
+0x8f2df817,
+0x988a9463,
+0x54f26f20,
+0x8db24789,
+0xdd0eccc9,
+0x6de85bae,
+0x963d5fe2,
+0x5dbcb07f,
+0x4ce1bf0a,
+0x0e31538c,
+0xc720369e,
+0xf3de6f5d,
+0x1e3f04d4,
+0xd2a46c4e,
+0xaff8cc52,
+0x0f465eb7,
+0x81de263f,
+0xa10cee93,
+0xb29518c8,
+0x3454dbcd,
+0x6b519ce7,
+0x46d67489,
+0xafe020bb,
+0x7bccd910,
+0x8922c33e,
+0x32cef0bd,
+0x89563bb4,
+0x8c009438,
+0x1d5c4f40,
+0xbbe6d61b,
+0x8b584ae0,
+0xfa361546,
+0xbd5596f5,
+0x405bd072,
+0xd26334fc,
+0xe763ca04,
+0x868d7212,
+0xecbc3aeb,
+0x69d3f288,
+0xeb5e368f,
+0xb429c569,
+0xa8e7ba1d,
+0xc919ba09,
+0x4838e77e,
+0xa637adbb,
+0xdb820aab,
+0x1fb6f676,
+0x7fee9055,
+0xd90adb82,
+0xa32bca9b,
+0xa06207ca,
+0xb6395066,
+0xebfdb6ad,
+0xcbfc7224,
+0xda40c0e6,
+0x30ec5c10,
+0x45ec0433,
+0xc6a16e29,
+0xd20f7668,
+0xeb2e6812,
+0x2748efcd,
+0x681d7b12,
+0x3655aec8,
+0x4d0f1a8c,
+0xfab44ed7,
+0x8bd004a5,
+0x9d338a8c,
+0x084b6f39,
+0xa14dd855,
+0xd98c60e6,
+0x6fe96bb7,
+0x8676f204,
+0xbbc0e47d,
+0xa6f122e9,
+0xc29124dd,
+0xef38966e,
+0xb1d9e9f5,
+0x0cb771eb,
+0x3623e13d,
+0xff75705b,
+0xa3cd6b62,
+0x3d2740f1,
+0xeaa573c5,
+0x99a11c61,
+0x98706c62,
+0xdb4e074c,
+0xdb188471,
+0x4296d52f,
+0x8c5d7d24,
+0x6f94cc34,
+0xfc0710a9,
+0x061969eb,
+0x4139c6bd,
+0x3cfd360e,
+0x58901f2e,
+0x8f086fc3,
+0xee2f3b0b,
+0x192efb1f,
+0x4435b678,
+0x325601fc,
+0xab41e19f,
+0xc0441a95,
+0xcd812c3d,
+0xcde86bfa,
+0xd40460b6,
+0xfa0dadd1,
+0x3ea95d91,
+0xda74567e,
+0x18e5db18,
+0x8d37f341,
+0xa534c05a,
+0x63ce1aaf,
+0x12436661,
+0x13cee79e,
+0xce8348bb,
+0x6c2c6557,
+0x1bcc853a,
+0xb3ef39cc,
+0x02be5a3e,
+0x67f8c313,
+0x19e730a0,
+0xa6685bc4,
+0x37aa384a,
+0xee667870,
+0xcccdd036,
+0x183359bd,
+0xd5a529b4,
+0x383eb582,
+0x611ea028,
+0x3581ef9b,
+0x1f14089c,
+0x39786146,
+0x12d72b29,
+0x8c0ba01b,
+0xf6c622b2,
+0xdc9aad6a,
+0x9f857010,
+0xf28915a3,
+0xe231584a,
+0x63132053,
+0x07d5c93f,
+0x2ddd34f4,
+0x936603ab,
+0x7cb7c94b,
+0xc16de619,
+0x701c9ca9,
+0x00ac9721,
+0x93526ddf,
+0x3f152644,
+0xd52d3d62,
+0x6a980731,
+0x1fbae209,
+0xd3e74119,
+0x3d9b6d78,
+0xd0609390,
+0xf699fb47,
+0x232800f8,
+0xc2c9cfd0,
+0x02e95917,
+0xb2e588e8,
+0xb003af34,
+0x8f816389,
+0xcc64d7c0,
+0x404499b8,
+0x0eff3fd0,
+0xb76aaa06,
+0x54493f24,
+0x81dec1c7,
+0x4fb7c28e,
+0x659f1e02,
+0xebc18ca2,
+0x4f87953c,
+0xf27f8179,
+0xcc28ef95,
+0x15fd1ba5,
+0xf87b4e4c,
+0xc97f1ecc,
+0x1254b52e,
+0xd4f560ac,
+0x770b03db,
+0xd5b16444,
+0xff4d55d9,
+0xc843914e,
+0x1e85147e,
+0x852f7c02,
+0x282cd2e3,
+0x06626de2,
+0x5b373f97,
+0xaf6e84a2,
+0x2619e621,
+0xf244e087,
+0x3f08edff,
+0x0f58f299,
+0xf4a50873,
+0xe2b2368f,
+0x061eb007,
+0x46d42b19,
+0x9c94aa20,
+0xb59da202,
+0x1459cfbd,
+0x52653b47,
+0x3d03841b,
+0x06311461,
+0x735aebca,
+0x35026606,
+0xe62af51a,
+0x395dd2c0,
+0xf26a3d8e,
+0x128adbe5,
+0x69d0805a,
+0x38f36ecd,
+0xed689da9,
+0xe7396523,
+0x1f9db234,
+0x736f0f03,
+0xf31aeb8a,
+0xefac9e61,
+0x9815ec4e,
+0x1bef31d7,
+0x9fcb2c35,
+0xb3f55716,
+0x35d6c6d7,
+0x2553319a,
+0xd4221bc6,
+0x548c7157,
+0xc9b87dba,
+0xb2198374,
+0xe7b53c8d,
+0xc59dc938,
+0xf1e6a838,
+0x36b06420,
+0xc773496c,
+0xf03b42c5,
+0xf9ee2c9f,
+0x156c988b,
+0x93cf4a30,
+0x6bf9b8ef,
+0x20497dd1,
+0xfd4fdb71,
+0x7a398dc9,
+0x06d90459,
+0x6c2b8543,
+0x2fc733eb,
+0x7e2b0488,
+0x19c5a015,
+0x22628473,
+0x6c7ec989,
+0x97befdce,
+0x2aae136f,
+0x12916137,
+0xee870a15,
+0x5335d249,
+0xe557cd07,
+0x5b92e159,
+0x37dbc3e8,
+0x8c481776,
+0xd443f503,
+0xc13da89c,
+0x1cf50916,
+0x54ced192,
+0xc93e994e,
+0x100d2ac2,
+0xa7757f03,
+0x3a4443f0,
+0x7c1c5d4d,
+0xbe12b207,
+0x697e929a,
+0x7f7d8ae6,
+0x45248aca,
+0xe78ba6e5,
+0xfba39446,
+0xb23c0c11,
+0x03059c11,
+0xa19da9fd,
+0x6f8a1d88,
+0xa1abe96f,
+0x04380455,
+0x73bb6313,
+0x698a484f,
+0x0dc27abd,
+0x8745edb8,
+0xbdb31345,
+0x793a633e,
+0xedec72f6,
+0xeb0859c7,
+0xce6d0e26,
+0x3471b834,
+0xdf38259f,
+0xdcbc9a17,
+0x9cbebc38,
+0x33ee8d2a,
+0xa5d9bd0d,
+0x55ff9d0b,
+0xcc8e2c9a,
+0xdd014ad9,
+0x4b7ede6e,
+0x3d5fd038,
+0x1e48f5c9,
+0x98df5c1d,
+0xda2f0bc7,
+0x2200af15,
+0x5173acd7,
+0x73e2cc03,
+0x9401fc4c,
+0xafcdbbcb,
+0x7cca1a91,
+0x83a6a9ef,
+0x66de185c,
+0xf3f6192d,
+0xa967c832,
+0x383c6208,
+0x7746eb31,
+0x7acb46fb,
+0x3dfaecdb,
+0xa973ba0a,
+0x3494fa45,
+0x9359994a,
+0x631e10d4,
+0x41c487c5,
+0x05b21520,
+0x2483c631,
+0xdfd90fc8,
+0xe9e7bffa,
+0x7d61791c,
+0x85757dea,
+0x6ed7de27,
+0xa897bbe0,
+0x0d4bc317,
+0xcf56abe1,
+0x46f080e6,
+0x7454d699,
+0x61700521,
+0xadddf8a7,
+0xb8866e8e,
+0x4341a029,
+0x33a7f9bb,
+0x438513f8,
+0x3d50f247,
+0x0001fa90,
+0x26c66497,
+0x7fedb633,
+0xcf17584b,
+0x8e25eb52,
+0xabf1af97,
+0xbf62c5e8,
+0xc0b8d4d1,
+0x476a5fe6,
+0x1c0c5825,
+0x0a6dacc8,
+0x264cd07e,
+0xa4cbefa7,
+0xc8df9d45,
+0xccc41157,
+0x2091037d,
+0x57192945,
+0x2a8a044a,
+0x6c25a961,
+0x0d983934,
+0x5a5f3909,
+0xf38833cf,
+0xeee95c86,
+0xefd72f82,
+0x9a3e7ca3,
+0x66b185b9,
+0x2d69c21d,
+0x8ad939c3,
+0x62e52394,
+0x75882580,
+0xff6e6c13,
+0x2a2b7715,
+0x51d16f9f,
+0xac9a5ef1,
+0x31b1a384,
+0x0c822123,
+0x708e8bfb,
+0xe8f20063,
+0x75fdf461,
+0xa34c140a,
+0x17451027,
+0x188b3c07,
+0x3043ac68,
+0xdc846398,
+0x2b9d9bca,
+0xe4558cc4,
+0x8d41c349,
+0x78560063,
+0x603220ee,
+0xc3905b3e,
+0x6aba8267,
+0x3394ec03,
+0x37f5a245,
+0x1848770d,
+0xdb0bddc4,
+0xc54508d1,
+0x57df8d8d,
+0x96b3ccd6,
+0x40a8da6f,
+0x31079a6b,
+0x94fd6893,
+0x6695cab0,
+0x808607cd,
+0xf160c383,
+0xd226cc4d,
+0xe8c741d3,
+0x25b485f9,
+0x9b0a7bf4,
+0x2de0c781,
+0x1a6ef21d,
+0x66b82c8a,
+0x3ea7bc71,
+0x0c4d8eab,
+0x14e17b6a,
+0x3ea65a25,
+0x945fdc31,
+0x380eaea7,
+0xf5b59fb8,
+0x5eda6443,
+0x12110457,
+0x9e0e54b2,
+0xbdf4d88c,
+0x2cac219e,
+0x6009261b,
+0x1bae047e,
+0x65d5e8ec,
+0xe2e012a8,
+0x48f8f76e,
+0xe01e3aaf,
+0x5847914d,
+0x68016a72,
+0x07d01e0e,
+0xccc99b8b,
+0x46cba744,
+0x0ed13b07,
+0xbe6a0e24,
+0x8d72262e,
+0x7198b253,
+0xecfee7ee,
+0x885643e5,
+0x773728e9,
+0xba085347,
+0x2d2676e1,
+0xb1d3572a,
+0x8c2f7f53,
+0x3257cbd1,
+0xc7ae2c93,
+0xe867032a,
+0xe9db52d4,
+0x524917b9,
+0x77380601,
+0xeb183267,
+0x2ad486cd,
+0x9e2824b8,
+0x25fc4d73,
+0x051dfe1c,
+0x34edc18a,
+0xed18e80d,
+0x5d272eee,
+0xb2c26a35,
+0x5c635f5e,
+0x1cf9b0ca,
+0x69b470c8,
+0x443f9b53,
+0x85e87315,
+0x7755e0f3,
+0x7f1872a7,
+0x4b1cf514,
+0x658ea219,
+0xd1c48528,
+0xe28d8822,
+0x6388575a,
+0x5e259634,
+0x1689dd23,
+0xa1bed4b1,
+0x7aa18ab2,
+0x2d7f8da5,
+0x00a32392,
+0x35194fee,
+0xec8225d2,
+0xb8a92d87,
+0xafd75259,
+0xa4411bb3,
+0x758f526e,
+0x9c2e30c9,
+0xaecbff5b,
+0xf127a1d0,
+0x4b3e1849,
+0xf94dda29,
+0x3ae0f287,
+0x1255619b,
+0xf442a7be,
+0xebbdd89b,
+0x5edf205b,
+0xbe627ebb,
+0x7b29da3a,
+0x70379be6,
+0x529256cd,
+0x90e81a5f,
+0x51b14840,
+0xac6e5b40,
+0x49f29838,
+0xd5d24df8,
+0xea48047e,
+0xc461d1e5,
+0x974a39e9,
+0x083767b6,
+0xaa80fe71,
+0xdeb39cdc,
+0x55f8538a,
+0xa861dc34,
+0xd791c048,
+0x88104363,
+0x8fc891fc,
+0x788a50ae,
+0x5e7a72fa,
+0xad5ea9f1,
+0x980ab9c4,
+0x09998324,
+0x5ab1245c,
+0x6fb146e2,
+0x42cbbf35,
+0x99f2052f,
+0xd1e62193,
+0x9c0e130e,
+0x5ca0e6d6,
+0x0e00aefe,
+0xad063605,
+0x48b765e0,
+0xffb48b93,
+0xaf543ff6,
+0x2a84950d,
+0x89c25d72,
+0x37fd48e3,
+0xa13901be,
+0x0cbf942f,
+0x05f2db0b,
+0xcc99cd13,
+0x5df4048d,
+0x5d8288ba,
+0xdf79fd6a,
+0x44ba824b,
+0x4e5c79be,
+0xbba1437b,
+0xe842ea0a,
+0x6ef33c70,
+0xa5422168,
+0x6321c0e3,
+0xbbce7f66,
+0xa54293f6,
+0x02d2d845,
+0x88c37169,
+0x8a5cb66c,
+0x9d571b1e,
+0xb11fee3b,
+0x4c3eadd9,
+0x65801257,
+0xdbe3f767,
+0x0433807e,
+0x371ed7fe,
+0x701336e1,
+0x0300deee,
+0x5a0fac3f,
+0xf491bfcb,
+0x3c476600,
+0x0c0b7b88,
+0x77c618ec,
+0x443c44ae,
+0x8e85bb13,
+0x5463cc48,
+0xf8f4bae8,
+0x2e44f9a2,
+0xbca5febc,
+0x78b2de67,
+0xcab11776,
+0x2c4880b8,
+0x256bc0de,
+0x39459582,
+0xcaa07f4e,
+0x146086c4,
+0x01492c74,
+0x22c0b04a,
+0x82a673c4,
+0xcf95116f,
+0x436e2fef,
+0x9a3d020f,
+0x5c9e99e7,
+0x974a7627,
+0x98ac8ab1,
+0xae925118,
+0x4707adb0,
+0xe159b373,
+0x5fec512a,
+0xcb75c82d,
+0xdcee6ccf,
+0x98703662,
+0x46155fc4,
+0x44703fe4,
+0x43e17652,
+0xa40ae7a4,
+0x3d603ba4,
+0x364b6501,
+0x25ac9938,
+0xebb5ec89,
+0x13ebd21f,
+0xad788b4d,
+0xfa6c4a38,
+0x0920e639,
+0x99d9f400,
+0x293306a4,
+0x3fe54681,
+0x03ac7f18,
+0x400840ce,
+0x1cce78db,
+0xd0afad05,
+0x41fd5655,
+0x4023993b,
+0xcb539f78,
+0xc1174ebb,
+0x89753a22,
+0x7bd90955,
+0xceb84e27,
+0x1980ca31,
+0x2216ae01,
+0xbe8ef770,
+0x40b62e63,
+0xb1328839,
+0x071052d4,
+0x3aba80e4,
+0x81fe7449,
+0xf39928fe,
+0x40372e7b,
+0x65668fa3,
+0x3af767e8,
+0xb63746d9,
+0xc6599f4a,
+0x6c4848e4,
+0x66396bd9,
+0x9a5cace1,
+0x3bad16e4,
+0x72fdbc51,
+0x5b97e333,
+0xa4ab01a4,
+0xcc1ca5dc,
+0xa5bab446,
+0xdd921e7f,
+0x1e79e312,
+0x36938a1a,
+0xb80da345,
+0x4db26ddd,
+0x0fb16c2f,
+0xb97a10fe,
+0xe2496c6c,
+0x1cb0203c,
+0x431f49af,
+0x535e27d2,
+0x07eaa785,
+0x5e65a0e4,
+0x1f959ce4,
+0x23a15df4,
+0x0093b752,
+0xacffbccc,
+0xc80ab717,
+0x26b2d04c,
+0x2013dd27,
+0x07423415,
+0xd29d2b3e,
+0xcc22d48d,
+0x3c02c414,
+0xd473be93,
+0xcfc11737,
+0x47512896,
+0x4165ddbb,
+0x8516fb56,
+0x3ddd0221,
+0x6d5b31fa,
+0x81b392a0,
+0xf43b36a2,
+0x518d212a,
+0xc593ab62,
+0xf597d70b,
+0xffe5df1d,
+0xb24d4117,
+0xa566947b,
+0x647563d2,
+0x931f73e1,
+0x4abdc837,
+0x398383c7,
+0x220c91a8,
+0x5f09f06b,
+0x10efedcf,
+0x9a37bf7b,
+0x6a8501f7,
+0x994909a4,
+0xfc554d58,
+0xa7aa1ef3,
+0xa83ae1a1,
+0xc7b12904,
+0xb1838685,
+0x3531bc5f,
+0x0419daa8,
+0x7ae0b979,
+0x14bd6479,
+0xc0fd5b0e,
+0x3306e9df,
+0x06e1b190,
+0x3199caf0,
+0xdd7f21fd,
+0xc7aadd6f,
+0x32332b42,
+0xc7d36013,
+0x8951ceec,
+0xc4b1cf14,
+0x5b0e5631,
+0x3cd8eb98,
+0xb97998d9,
+0xf10bf34c,
+0x847973ac,
+0x9027e9fa,
+0x06914554,
+0x79097b4b,
+0x9a778d84,
+0x60f4975b,
+0xb0693fcb,
+0x7d9f0aa9,
+0xb49b97bd,
+0x9a57ba0e,
+0x4ea322ca,
+0xec1716bb,
+0x29a2a83e,
+0xece73423,
+0x58e4ff90,
+0x046eb673,
+0xf9257738,
+0x3961c5cd,
+0xba6b2906,
+0x5552c433,
+0x69507706,
+0x6a0369f3,
+0x97d81b8a,
+0x20247585,
+0xce4823e0,
+0x0678964e,
+0x4d5727f5,
+0x616498e0,
+0x911a929d,
+0x5ac2e89a,
+0x44a588a9,
+0xed4b3268,
+0xcc226002,
+0xef72bc16,
+0x41d06675,
+0xbf9e35e2,
+0x7a0ff4ea,
+0x95ea5f22,
+0x48dbbe7b,
+0xfb9ed72b,
+0x065e54cb,
+0x50d81e4d,
+0xe2eef746,
+0xd34da49b,
+0x9deef321,
+0x5b4c7c13,
+0xeaa6036c,
+0xf7f825a0,
+0xcc1b06f2,
+0xd9a7e303,
+0x8f50366e,
+0x12e4983c,
+0xf6e3bae5,
+0x418a88de,
+0x9183481a,
+0x98720bc2,
+0x90ff5ede,
+0xff870219,
+0x12fe5bef,
+0x764c9139,
+0xe48f529a,
+0x0cd5f72a,
+0x2521825c,
+0x60203a30,
+0xf26e9ee3,
+0x7b65f00f,
+0x56b7af4d,
+0x6f603714,
+0x1f24ef5f,
+0x180ff451,
+0x9c4ce4e4,
+0x5c1c072d,
+0x371f8858,
+0x862eaebd,
+0x968f0d8c,
+0x0a53d9bd,
+0x177a677c,
+0x2cc4a01b,
+0x0b78a54b,
+0x67aaab52,
+0x9d14c912,
+0x37eae7f5,
+0x1e6acf75,
+0xab82faa1,
+0xbc38bb9d,
+0x2fb0863e,
+0xf4ddcfd0,
+0x35afe71e,
+0x33b74c25,
+0xe10d455e,
+0x8cd45448,
+0x4e16b43f,
+0xd60953c4,
+0xe90bb194,
+0x37c7cb89,
+0x72806865,
+0x50ef76ae,
+0xe4a9f34f,
+0xbb034c3a,
+0xb8cdb6fd,
+0xc697717f,
+0xad4ddb96,
+0xde038059,
+0xe0afcb86,
+0x20019528,
+0x6e9a4837,
+0xa35d41e6,
+0xbb032621,
+0xb6c3caf1,
+0x5fc08863,
+0xd898d2bc,
+0x5b8eb6dd,
+0x795adbd4,
+0xbd2df42c,
+0xe2931ced,
+0xe152d58e,
+0x2a49e0db,
+0x0218e377,
+0x91bfb7e4,
+0xb83f8f58,
+0x3ea6c8f4,
+0x123f1aaa,
+0x55211d0c,
+0x27004e6f,
+0x5642b17c,
+0xe1460cf9,
+0x4f72a5a9,
+0x12a6bd79,
+0x60e4906d,
+0x5f93cb11,
+0xa75917b4,
+0xe90ba793,
+0x90f4f20d,
+0xebf86de0,
+0x46b56e27,
+0xe3de28c6,
+0x3f283d5a,
+0xc4ddd819,
+0xbf3de0a1,
+0x6465cfc8,
+0xbd646ac6,
+0x9215f816,
+0x5c6cbd29,
+0x44ff004a,
+0xd147cdc3,
+0xe3b46974,
+0x9b217c41,
+0x3881d2a5,
+0x01a6700a,
+0xd4f0c626,
+0x4e99a574,
+0xdb533089,
+0xf063ba28,
+0x644a51fd,
+0xa8bf07e0,
+0xed7fee7a,
+0xbee88fc9,
+0x518184cb,
+0x683f0890,
+0x79e913f0,
+0x39eba37c,
+0x1d870322,
+0xeeb8938b,
+0xdc2e7d72,
+0x62aac2ec,
+0x5d7de655,
+0x4c0d17e5,
+0x9c7254b9,
+0x4cf29855,
+0x71561284,
+0xd6df7a08,
+0x0e4e4fcb,
+0xa89e2bb0,
+0x7a383d26,
+0xaecb2c0c,
+0x2a4bb5f9,
+0xde0e70b7,
+0x39c6f3f4,
+0x39167a14,
+0x5cc61b01,
+0xd033af71,
+0xca2732e1,
+0x315c6aec,
+0xbfbccbe9,
+0x49285bc4,
+0xea9468c1,
+0x00679f17,
+0xead88ad2,
+0xae83f929,
+0x26f8d7e4,
+0xdb84c068,
+0x313d3f50,
+0xc9ca8605,
+0xa734f110,
+0x86bbc39d,
+0x234e5044,
+0x67444cbc,
+0xb4769d98,
+0x25e83c7b,
+0x80df4b00,
+0xee7461c1,
+0xef3f16c5,
+0x676041be,
+0xf0f868ec,
+0x84deaf8a,
+0x6282e9af,
+0xbca99dcf,
+0x52604204,
+0xf733c0c5,
+0xbfee4ee6,
+0xc2ebf7e0,
+0x8ccda2d7,
+0xad43adaf,
+0xb76e0cad,
+0x2c11666b,
+0x03fed639,
+0x6e73e28e,
+0x29abee17,
+0x20ee884c,
+0x7b53365f,
+0x5ccfc02c,
+0x8d460c8c,
+0x1ca31714,
+0xcb38840d,
+0x6773d3a9,
+0x27b8198f,
+0x2fd63527,
+0x1bb3502d,
+0xd9615866,
+0x945ac35e,
+0xbca0a3a3,
+0xccf54198,
+0xff9e77be,
+0xa202d684,
+0x0cccbd17,
+0x8069a677,
+0x3ea6d68e,
+0xdbf727e9,
+0x743ea3f2,
+0xcff6dc00,
+0xed513240,
+0xd9309cd7,
+0xb329b21c,
+0x0788f1e3,
+0x0fe9f6e9,
+0x7a01e69d,
+0x4ac76b81,
+0x8677e30b,
+0x68c38406,
+0x8834bdd7,
+0xd6361d95,
+0xeb7a001e,
+0x4cfcbca6,
+0xf56c862b,
+0xa7eec4a9,
+0xa2cf206d,
+0xe7beaa32,
+0xe660cef8,
+0x012f470c,
+0x54d411c1,
+0x26610bf0,
+0x2b2c4205,
+0x0dcaefcc,
+0x0f90c85f,
+0xb6c3aa1f,
+0xe0d8bb90,
+0xd6f70655,
+0x3a72b2f0,
+0xabe0d0ab,
+0x714aadff,
+0x8d6f6c26,
+0xf77d880c,
+0xcc16d2e0,
+0x4baa7169,
+0xd898b629,
+0xfbbf1be5,
+0xf34bd1cf,
+0x26528b51,
+0xc2d863bf,
+0xc9415904,
+0x3d29ec5a,
+0x1e4668e9,
+0x5e169f9f,
+0xa7d91fd6,
+0x90c42d16,
+0xc0b4b60b,
+0xdfbfe045,
+0x594f1610,
+0x5057227a,
+0x24ac59ce,
+0x11eb8b0d,
+0x578795f1,
+0x8f72ff17,
+0x7d223cfa,
+0x2b2bc65a,
+0x454944ee,
+0x8b267bff,
+0xe33507f2,
+0xe9fb3e43,
+0x119d6be9,
+0x18729869,
+0x71011b80,
+0x02eae306,
+0x10d8421d,
+0x56484c38,
+0x40ca45e8,
+0x0e28dc7d,
+0x6efa4092,
+0x7f99732e,
+0x26ae6e9c,
+0x5979faf5,
+0xe15ba498,
+0x805263c2,
+0x3111ca84,
+0x44439563,
+0x2e30893c,
+0x2ca0d147,
+0x1c066a4b,
+0xa10dbf97,
+0x1c318955,
+0x220c9b0f,
+0x139b1568,
+0x9eb831ea,
+0xed05ee79,
+0x693d4d68,
+0x9c6ba893,
+0x70f3e2f7,
+0x3809f6f5,
+0xc884febc,
+0x060f4659,
+0xec861537,
+0xb6eb940b,
+0xd917ee12,
+0xe3abe3bb,
+0x478b1db5,
+0xac4077e6,
+0x66abee43,
+0x52a819e4,
+0x7845cad0,
+0xe6353633,
+0xd68fe591,
+0x617b9d24,
+0x53488ce0,
+0x6e90b779,
+0x0417c865,
+0x0305b56a,
+0xfd89a98d,
+0xa8cfe448,
+0x7d54861f,
+0xfe875048,
+0xedc00199,
+0xedf31c7d,
+0xcd1a8a82,
+0xa9ccafe3,
+0xb75754d4,
+0x1a96374c,
+0x393a12b8,
+0x2ca353d4,
+0xef4480e4,
+0xa647cce3,
+0xbb8c9653,
+0xfcbb4a6b,
+0xf7d3607a,
+0xbf52036c,
+0xa46b534e,
+0xa41d9279,
+0x75e590c8,
+0x12504adb,
+0xb4e6f65c,
+0x831a9eff,
+0x9909cd45,
+0xe343b9d1,
+0x9944a93e,
+0x7ec16727,
+0x7f10891f,
+0xf491fc56,
+0x9e164cc0,
+0x1e9c565f,
+0xa1ebf765,
+0x8449e2e4,
+0x6f2309de,
+0xf37531b5,
+0x20530701,
+0xe69bc075,
+0x10b8d547,
+0x76f38c48,
+0x85dc480d,
+0x8f52c351,
+0x8063713a,
+0xe1f41bd4,
+0x754a5faf,
+0x378ad23c,
+0x9eac875e,
+0x297fe9a1,
+0x524a50f5,
+0x060c3652,
+0x2606bc07,
+0xc7049b0c,
+0x29f6278b,
+0xd0b5b18b,
+0xef74ea16,
+0x18bec035,
+0xb1b1d459,
+0xe030d9e0,
+0x3d8fa395,
+0x3e6b6619,
+0x7ed20989,
+0x37dee365,
+0x201bed93,
+0xf70ef091,
+0xfc19d7c5,
+0xb7b6f663,
+0x9f0b1c2d,
+0x99bf744e,
+0x565db7b2,
+0x42bd3414,
+0xd09cb1ab,
+0x5bf56758,
+0xdd52c9fe,
+0xb28b0cec,
+0xc5ebc2ad,
+0xc45ebd1e,
+0xeb56c2b7,
+0xda77e984,
+0x8f91a696,
+0x68f24552,
+0x72334b94,
+0x1e9d78ff,
+0x520b1c1d,
+0x8f41c3bf,
+0xa50c79aa,
+0x28fadae4,
+0x4802f1f9,
+0x184cd218,
+0x2556b4e7,
+0xe0e60701,
+0xc385f198,
+0x634886e0,
+0xcf688cfb,
+0xdbabb125,
+0xf6c2fc9a,
+0x25812bdc,
+0x9ec25bcb,
+0x91b3873c,
+0x975f6d2b,
+0x75394de4,
+0x622cfd2a,
+0x00532f1f,
+0xc5c6da20,
+0x910e6961,
+0x2562e8b0,
+0x2241f81f,
+0x22de48ad,
+0x9a308c9a,
+0xa88d1736,
+0x4117f92b,
+0xc5f8185c,
+0xee546755,
+0xcb03a1c6,
+0xe00da224,
+0x30bc1ea5,
+0x16494adb,
+0x1090630c,
+0xe33fa835,
+0x09e8cde8,
+0xef1be4b8,
+0x7b84ad8f,
+0xb0c4daaa,
+0x78fdcc5f,
+0x286bc413,
+0x4945cf0b,
+0x291d3b01,
+0x23f40fd9,
+0x01dd507a,
+0x49556853,
+0x7f975095,
+0x4f005633,
+0xa9940274,
+0x75c8e218,
+0xcb7e71f4,
+0xc2a7bdec,
+0x3f3409a4,
+0xa81b8bde,
+0x8a755250,
+0x149db236,
+0xbf2365d9,
+0x04b8d0d8,
+0xe16af44a,
+0x5cfe52c7,
+0xd4dae5ba,
+0xd7bddf7e,
+0xf78bc75f,
+0x70f069f2,
+0xae73bb04,
+0x56b551fe,
+0xa9c6a0c6,
+0x29a99d5c,
+0x5ddbe201,
+0xdb24dc2f,
+0x47212680,
+0xed5868be,
+0x388618f1,
+0x0facfdcf,
+0x946c6bfb,
+0xe6ad8a62,
+0x95ca2224,
+0xa35ad176,
+0x19221f1f,
+0x4ef7e58c,
+0x50a7f2cd,
+0xa7fbe7a7,
+0xc6c758b2,
+0xd2b0d72c,
+0x545507a9,
+0x7f0fd74e,
+0x15fb69ff,
+0xc35d3046,
+0x5ad99fd7,
+0x0bb66a33,
+0xa80784af,
+0xe6058333,
+0xd425310a,
+0x63cd5b63,
+0xa57c3e84,
+0x9fbd3951,
+0x851d86c2,
+0x40a8d772,
+0x278b6d55,
+0x5d1f12f8,
+0x11ff8c5f,
+0xba5f9b06,
+0x069c7b28,
+0x95bf261d,
+0x2c0902c8,
+0x5c9d052a,
+0x4941c140,
+0xf209893d,
+0x69e8223f,
+0xca4cec62,
+0x1de74c5f,
+0x62917bf9,
+0xd95b4411,
+0x12fb4bdf,
+0xad1eac8a,
+0xd0cdd885,
+0xd2675fd6,
+0xad1c97ff,
+0xaab912c3,
+0xe52e7f10,
+0x8e71f922,
+0x4412dfd1,
+0xd52d82a4,
+0xee126a23,
+0x71280f0e,
+0x6a131326,
+0x672ac789,
+0x56e9f842,
+0xe49d857e,
+0x0091d69a,
+0x89bcecc9,
+0x10a51836,
+0x6abbeac7,
+0x2ff82771,
+0x2878e3dc,
+0x27be4ae2,
+0x10978723,
+0x33943774,
+0x3ae1dc7d,
+0x619394be,
+0xf9217365,
+0x44a27e04,
+0xeb67bf44,
+0x9ccf799d,
+0x2b11b18f,
+0x3f6170ae,
+0xb8fef298,
+0xe219e273,
+0x6afe0a5c,
+0x31640409,
+0xc51ddcdc,
+0xebee3209,
+0x825bed63,
+0x0a3a2602,
+0xe1e88425,
+0xe5babd75,
+0xdf077c38,
+0x1fcfbcd1,
+0x1aed7275,
+0xe1726b33,
+0xa0f5f877,
+0x79631bc1,
+0x5b79557b,
+0x5d223797,
+0x80cb618f,
+0x55f3b828,
+0x84548d9e,
+0xa577ed37,
+0x949cfe03,
+0x638075a9,
+0x3f5b14ad,
+0x9467ac4d,
+0x8abffa7f,
+0x5cfbf93f,
+0x47606597,
+0xfbe328b3,
+0xda3cbe25,
+0x77d59dd4,
+0xaf47b4ae,
+0x9d9ff651,
+0x1d1f5ecf,
+0xd32987a8,
+0x09e8dfd7,
+0x1a85a79c,
+0xb9de3231,
+0xdddeeea6,
+0xd06f0bce,
+0x9095352b,
+0x87045a6f,
+0xf862f4b8,
+0x0664c82b,
+0xc450bab6,
+0x6e74ae71,
+0x1897e441,
+0xc5a84bc2,
+0xd45e4cf2,
+0x2f45f7bb,
+0x2e4d9634,
+0x41463923,
+0xf1d7409c,
+0xe7a57aaf,
+0xa18b0c07,
+0xd33f7176,
+0x4bf4797b,
+0x9444a117,
+0x72e220e4,
+0x73576f6f,
+0xda539402,
+0xe38afa8a,
+0x197a2437,
+0x53a8348c,
+0xdc8d5c89,
+0xc889190f,
+0x7b4f049d,
+0x8324d268,
+0xe7752894,
+0x76bb5175,
+0xc056ce75,
+0x35122102,
+0xaf493b42,
+0x7ca20ca5,
+0x6a76f383,
+0x5d957855,
+0x5b289e4b,
+0x3dd8dce4,
+0xeb0fc52d,
+0x208536a5,
+0x98b62cf5,
+0x8f4557d8,
+0xa07c2799,
+0x7a99e7e8,
+0x95a522bf,
+0x03b80d0b,
+0x8f059638,
+0x4dc0001c,
+0x65f5ab7f,
+0x1955cb10,
+0x6e858e9c,
+0x2f66c078,
+0x4e1f2b7e,
+0xbb29fe24,
+0xacf2025b,
+0xa2616e02,
+0x6880078a,
+0xda343479,
+0xf17781a4,
+0x2cafc942,
+0x88600a4b,
+0xd8a389c4,
+0x9c62bce0,
+0x1d578ac8,
+0xbc14daa3,
+0x94495756,
+0xff95d4bb,
+0xc194b580,
+0x38149d37,
+0x9f6d2da9,
+0xb860a836,
+0xb2b1cf85,
+0xa6b56a66,
+0x151868be,
+0x5c73be4f,
+0xfe353b27,
+0x65cb6790,
+0xc90ca01f,
+0xe836e951,
+0x337e7a8a,
+0xc90e175a,
+0x5957b633,
+0x19533ab3,
+0x6bc3d84a,
+0xa12c3033,
+0x4db36b5d,
+0xc7ae86db,
+0x23d9cb06,
+0xea602d97,
+0x220b622b,
+0xf17609de,
+0x84cc9576,
+0x4478d682,
+0xff9ee147,
+0x7d93b70a,
+0x438c4280,
+0x0d3640f9,
+0x2cd9ee33,
+0x5a28f64b,
+0x4c3d5558,
+0x01fef7de,
+0x9a521a09,
+0xd64177f8,
+0x7d7a8d51,
+0x65be33c1,
+0xaa2b1778,
+0xf6e20af0,
+0xf7b1045b,
+0x0b6e91cd,
+0x374ce2fe,
+0x8d4039b4,
+0xb794dc44,
+0xa10fa45b,
+0xaf959f6d,
+0x405edde5,
+0xcab57569,
+0x4edc648c,
+0x51e0abaa,
+0xfd4d2503,
+0xb7d511b5,
+0x5fe0ce7d,
+0xe40dff53,
+0x3a6336e7,
+0x8ffb743f,
+0xd6899238,
+0xb8b72292,
+0xed7da1b3,
+0x25287fa2,
+0xc5885de0,
+0x3bfb96d9,
+0x1360283a,
+0xeb2f2010,
+0x5fea5b38,
+0x28a22642,
+0x77dce918,
+0x3b08d49b,
+0xda00c125,
+0x0dadaca7,
+0x88e69fed,
+0x59860632,
+0x8b527408,
+0xb8907330,
+0xafb4dea0,
+0xcaf377a8,
+0xac520b96,
+0x3731fb71,
+0xc786ef00,
+0x8f8449c0,
+0xa2df8066,
+0xbc1219fe,
+0xc53023c2,
+0xb55783d7,
+0xb0531997,
+0xe7c35ca6,
+0x6c5c58c7,
+0x17bd690a,
+0x7814e871,
+0x328221b4,
+0x6a5b0202,
+0x56a53a8d,
+0x622da537,
+0xcce3df89,
+0x15fb2183,
+0xecb1366f,
+0x9c274275,
+0x0c669b98,
+0x28ea8868,
+0x96aaa7ca,
+0x1f4c4337,
+0x0b30376e,
+0x8651e88d,
+0x68539c7e,
+0x76d4fe3f,
+0xf387da89,
+0x00fe45c7,
+0x645c9f6d,
+0x45f8e9b2,
+0xf7d54f91,
+0x53867742,
+0x5e6369b3,
+0x9355c4c2,
+0xde135991,
+0xa8bb1a14,
+0x0213d40d,
+0x3dbb51ef,
+0x15c8d667,
+0xc5f137b6,
+0x7c07ed1b,
+0x14f3910b,
+0xb941f104,
+0xe6fee72b,
+0x7c0223dc,
+0x1f3ba467,
+0xedd1200a,
+0x5d3efff1,
+0xc2e9db27,
+0xf6509fc3,
+0x9cbae8ed,
+0x743aacd7,
+0x63a4afc6,
+0x235babb4,
+0x6957f86d,
+0x91029479,
+0x5150ec41,
+0x700474ab,
+0x681dc647,
+0x30867742,
+0xc0f9a8b5,
+0xdb0a8862,
+0x477b8bad,
+0xed709e73,
+0x3ab31426,
+0xebde5c70,
+0x786ed2f9,
+0xc79c565e,
+0xb4e193c7,
+0x2180d37f,
+0x3877ecab,
+0x2dd6a00d,
+0x83c29bdd,
+0xe8fbb7d5,
+0x1dde35ac,
+0xb775c4dd,
+0xbe8f1f53,
+0xec4e965e,
+0x57a4bcde,
+0xd112f5d4,
+0xf1ca9ff1,
+0x0f11f1c3,
+0xf8e41eee,
+0xf5708fa3,
+0x7cc60e59,
+0x23523a33,
+0x6b28d83c,
+0x3a6c9249,
+0xe15cd2d2,
+0x11fe3908,
+0x612099ec,
+0xf595708b,
+0xc669e3c3,
+0x2285a09c,
+0x00794388,
+0xecd8f744,
+0x55d68748,
+0x6c24bd14,
+0x82a32721,
+0xc0d69d87,
+0x34bf228f,
+0xc8ca8d05,
+0x2de1d04a,
+0xbfca954d,
+0x75d7ae7e,
+0xa7bab667,
+0x51c4296c,
+0x0bfba5e7,
+0xb8c352d1,
+0x726eb3b6,
+0x65622f3f,
+0x989bb844,
+0xc6fac4db,
+0x47775708,
+0xcc9a7434,
+0x401bc2d8,
+0xca167359,
+0x11025abb,
+0xef0344fe,
+0xd32c1626,
+0x06f162d7,
+0x17efc179,
+0x8835b964,
+0xf3775b82,
+0xa1df5905,
+0x5ca9c489,
+0xd1878fbd,
+0xdc162e6c,
+0xfc73c492,
+0x5abc6dca,
+0x4a0270ac,
+0x09e87a1a,
+0xc18f380d,
+0x79f0b5d2,
+0x8c9c1432,
+0xe7bb5902,
+0x9375968b,
+0xe0c93fd0,
+0x1d7c21d3,
+0x629d9e87,
+0x9a44cae6,
+0xf3294ca4,
+0x47762610,
+0xd70e919a,
+0x65dfb948,
+0x0d933a54,
+0x496e301e,
+0xf88ac2e7,
+0x599831d3,
+0x6bcb5486,
+0xf3aa7a15,
+0x6415e505,
+0x2057504a,
+0xf1dc4819,
+0x04462377,
+0xa6b091fe,
+0x0b6e13f2,
+0xfa5be929,
+0x1efe0981,
+0xae20b57e,
+0xfc5a7239,
+0x6636161c,
+0x89985454,
+0x4637f78b,
+0x92350d77,
+0x03cf1655,
+0xc8655d5e,
+0x4891e3a8,
+0xf967fe88,
+0xfc245e2b,
+0x70797fba,
+0x0417514d,
+0x89ed5a43,
+0x2f091799,
+0xa374449b,
+0xa023e769,
+0x56ac01c4,
+0x87d741c6,
+0x0ccb4747,
+0xefce2e5b,
+0x361f8811,
+0x73daa5d2,
+0x3fcdb7d1,
+0x8e3bcd76,
+0x30c97211,
+0x4e5e12aa,
+0xee212aaf,
+0x73583131,
+0x2c88dbb1,
+0x9cc81515,
+0xa8555e00,
+0xce71f25f,
+0x80878f43,
+0x01ab9fe7,
+0x9a28429e,
+0x3f1048b0,
+0x5afa4067,
+0x56407fc5,
+0x797d37e8,
+0xc057dc13,
+0xc6c5ae41,
+0x9f5c4316,
+0x006d1e54,
+0x0ea54ee1,
+0xc1974e97,
+0xa05b22b2,
+0xb864d974,
+0x81c9a5eb,
+0x3592f3e2,
+0x4e23319c,
+0x6e622a43,
+0x1d79b2a7,
+0x91291c7f,
+0x2444889f,
+0x2df8dafb,
+0x91741c2e,
+0xa86fcdd2,
+0xf5d701cb,
+0x5d01ce01,
+0xae34dcd7,
+0x40ae2ab0,
+0x66ce70ec,
+0x193641dc,
+0xd3935025,
+0x03ef3ddc,
+0xc67144b3,
+0xe4ff2ab9,
+0x824672fc,
+0xd9be3d28,
+0xb06edc62,
+0x2625ac08,
+0xbfc67ceb,
+0xeb652eb8,
+0x452c3333,
+0xb89f3873,
+0xa52d1bc7,
+0x87d4706f,
+0x7789733a,
+0x7093f12f,
+0x61a47e0f,
+0x648846c4,
+0x4b266952,
+0xf78c3ffc,
+0xec495f8b,
+0x856b6c41,
+0xf00ec308,
+0x39975f7e,
+0x908d3b8a,
+0x7aebcfc3,
+0xd2d5c63f,
+0x2137ce59,
+0xa7f4841e,
+0x473cf6fb,
+0x89c41b31,
+0xb619e105,
+0x7ff485c8,
+0x319e7a05,
+0x7a6f1ec8,
+0x48c6bd2c,
+0x1f17ec80,
+0x389e43e2,
+0xafcdd596,
+0x6fb58a5f,
+0xe68d970b,
+0x31db015b,
+0xcb7bafc2,
+0xea0b3c7d,
+0x30697b3a,
+0xbaa8f9bc,
+0xa2f54028,
+0x5a119e8c,
+0x915856fa,
+0xda0ee996,
+0x046d93cd,
+0xa8544f4e,
+0xf289e4a7,
+0x21ad92e4,
+0x29339667,
+0x37b0e4f2,
+0xf2fa7198,
+0x88534b6e,
+0x5a70be1f,
+0x96743659,
+0x5a21fef7,
+0xe262d213,
+0xffb4d0f0,
+0xc482bf24,
+0x0e67689e,
+0xe056eef9,
+0x4c1a99e2,
+0xe65a5926,
+0x8b970e84,
+0xd2ceacbf,
+0x99325a62,
+0xc9c092d9,
+0x1723ce3b,
+0x53c82763,
+0xdeac63f7,
+0x2ce5bc6c,
+0x3d5835e0,
+0x76ea9f72,
+0x6ba339a2,
+0x3331fbf8,
+0x89f80f68,
+0xbc978200,
+0x86d931c8,
+0x8d319b49,
+0xf5f15707,
+0x3fd25e6c,
+0xb2a101c6,
+0x101ed9d0,
+0xe180a281,
+0xc404f0ba,
+0xc45d22be,
+0x38cfd8a1,
+0x3133b8b2,
+0x5994362e,
+0x80fd7f59,
+0xfc54a1d9,
+0x6d36299b,
+0xa19caf34,
+0xcfb9d72d,
+0x2042ad66,
+0xeec769d0,
+0xf2aa86f6,
+0x5ad96a64,
+0xdc52e9fc,
+0x16894e0f,
+0x1a463cac,
+0x0d1729fd,
+0xc4442a22,
+0x5032d6cb,
+0xe7fef582,
+0x459294ea,
+0xfb28bee0,
+0xdfe821ab,
+0xcd5ab3fa,
+0x50104634,
+0xbe8e26ce,
+0xd15b7d16,
+0xd8123a6a,
+0x1a783318,
+0x9c15a5b2,
+0xd2218db9,
+0xa94bdd7c,
+0x65494016,
+0x127975b2,
+0x183669f0,
+0x12afe8c3,
+0xc1bbc51f,
+0x83dab486,
+0x64e51099,
+0xf4de377b,
+0xd5fe875d,
+0x1aa92f75,
+0xf449a31d,
+0x0636511c,
+0x882f7e4d,
+0x6904fb93,
+0x046c4637,
+0x2d56b616,
+0xd7c029a7,
+0xfb52856a,
+0x19a0ee77,
+0x3853b405,
+0x0a2507e9,
+0xf2626275,
+0x6b3c31be,
+0x490add01,
+0xe2b3406a,
+0x809a8758,
+0xe3529a70,
+0xfb6d421a,
+0xf9fdf11b,
+0xc7fb0294,
+0x78a12245,
+0x233d42a1,
+0x71943852,
+0xf3f40317,
+0xf2b766c7,
+0xe494521e,
+0xcbb94590,
+0x384dc549,
+0xc4a9ac6b,
+0x1bfa4a37,
+0x4e95aeb0,
+0x5904b612,
+0x783635f4,
+0x6acc979c,
+0x55f33084,
+0xbbca3d3f,
+0xc1720d41,
+0xc13286eb,
+0x0955c837,
+0x10fd47b6,
+0xb6d09539,
+0x7d8e43c2,
+0xa6d7ff0a,
+0x85c8a1d6,
+0xf86921fd,
+0x6348a771,
+0x5ed57d23,
+0x47c2c4c4,
+0x5a0afb0d,
+0x1c965645,
+0x6eee4e1a,
+0x7d36af31,
+0xced31269,
+0x464fd8d5,
+0xc2a5ac0e,
+0x6799b611,
+0x540e0233,
+0x2b44f9f4,
+0x3bdc0894,
+0xb671f5fb,
+0x949f5e5b,
+0x8550f32a,
+0x82af7a27,
+0x812efe70,
+0x93fdf7f0,
+0xd34194ae,
+0xb32a5666,
+0x60b8233e,
+0x7fd519c5,
+0x4477c420,
+0x82f00d48,
+0x701f73d3,
+0x2b81da55,
+0x87a8eb44,
+0x3ec985e0,
+0x1f6c33d9,
+0xb85f826b,
+0x9464814b,
+0xfb53c62a,
+0x67234668,
+0x34f314f3,
+0xd2e47c93,
+0x76099e91,
+0xec4f2304,
+0x705cfc0f,
+0xa0363ee5,
+0x8f24d780,
+0xa6dbb97d,
+0x2a18b35f,
+0xe5be081e,
+0x1163529f,
+0x6e392479,
+0x0d7946a4,
+0xb6263a1e,
+0x21769b8e,
+0x146f1944,
+0x575fa69b,
+0xeb4509ee,
+0x933171b6,
+0xdbb3c1fc,
+0xb25c6b68,
+0x723ec672,
+0x2c0966bc,
+0xe27aec37,
+0xbac60a29,
+0x50746d15,
+0xb379a3a8,
+0x248f7c5c,
+0x8b7d0265,
+0xcddb64d8,
+0xaf4f523a,
+0x89ae76f8,
+0x3e6984e2,
+0x51a5d396,
+0xf461a604,
+0xf899d4df,
+0x458a88d6,
+0x0885e83e,
+0x8018167f,
+0x9937181a,
+0x74eb6087,
+0xb0d42cb0,
+0x310b51ed,
+0xaccf4d95,
+0x8851be7e,
+0x076324d5,
+0xd99536e6,
+0x5ccf1638,
+0xc448aeae,
+0x15eddc05,
+0x452ab774,
+0x8757a433,
+0xe9d288df,
+0xe0ecfd7a,
+0xab3f1b97,
+0x5b4b624e,
+0xd79aac03,
+0x8a240fde,
+0xf3b0dce8,
+0xe39ad076,
+0x651fcc39,
+0x68463985,
+0xe3dc49f2,
+0x15b10785,
+0x17b6dd18,
+0x94686780,
+0xd69dc8f8,
+0x45ffbe50,
+0x02f29451,
+0x433a274f,
+0x238fa902,
+0xca46fef5,
+0x14c76a68,
+0x74b3b65f,
+0x5ef9ea08,
+0x428ecec1,
+0xa85c07c5,
+0x05ae9a8e,
+0x26f04d16,
+0xd3f6bfaf,
+0xa7082abd,
+0x2e38f3d7,
+0x9588bb4d,
+0xe2ee0024,
+0x329c421f,
+0x0fc4e145,
+0x5f37999a,
+0x1b50c10a,
+0x2ce488e5,
+0x77d1756e,
+0x8b7918bd,
+0xb0131e63,
+0x3829e45a,
+0x1ead1f84,
+0xc68428d9,
+0xfc3dbef8,
+0x1db12597,
+0x287f9f4d,
+0x61c0f222,
+0x6efbc34e,
+0x382d4272,
+0xda0b5ff1,
+0x8db3235d,
+0x819c2c35,
+0xa6a9b35b,
+0x9a75d093,
+0x5780fb10,
+0x2c9bc469,
+0xefb52bbe,
+0x3937bc31,
+0xcc0095d7,
+0x5d4dfc14,
+0xf7ceb3c1,
+0x5655538b,
+0xef0a5a11,
+0x2c098641,
+0x3bfc97a3,
+0xadfd42f5,
+0x477ea4c1,
+0x93bc0145,
+0xb1db1e47,
+0xeddd558f,
+0x36baab93,
+0x945c37b8,
+0xa735eda7,
+0x49e8c8c4,
+0x37ddb4b4,
+0x55e1cc90,
+0x09ef1af9,
+0x739596c8,
+0xfd1462e1,
+0x32c2734a,
+0x7413b58b,
+0x518e3de1,
+0x21bb2a62,
+0x431616ff,
+0xc89f4092,
+0x437e46f3,
+0x2db752ee,
+0x1cd88256,
+0x602737d7,
+0x014a96db,
+0x810577e6,
+0xc78e113c,
+0x49880652,
+0x2f6f9e78,
+0x9ecba1f7,
+0x237f8dbc,
+0xcf9134b0,
+0x7c79b88f,
+0x0d389894,
+0xb244304f,
+0x93b80b54,
+0xa3bc1216,
+0xd4d3f23a,
+0xc35b1fcc,
+0x573a93f8,
+0xdf14132b,
+0x3a212d65,
+0xe45212d5,
+0xdd2d5709,
+0x3e5d82a3,
+0xc9f598a4,
+0xbfca5abf,
+0x5abe84aa,
+0xe19da3bd,
+0xd4a29d79,
+0x34d3ca68,
+0x3bf5a0de,
+0xc7cdc3bf,
+0x77c6e779,
+0xe84b4851,
+0x94a38ab9,
+0xde9704e1,
+0x1651cfc2,
+0x40f8d659,
+0xf56b8928,
+0xbce54655,
+0x3fbdd475,
+0xd6402c1f,
+0xf0ef99ce,
+0x73d81ee6,
+0xfac3e3a8,
+0x011b233a,
+0xc0f9335a,
+0x8d85493b,
+0xf40e4d57,
+0x7eb4257e,
+0x265727c7,
+0xbb6b9546,
+0xdf39caf7,
+0x1b20624c,
+0xafb8c88e,
+0xe8621ad8,
+0x23eb85ac,
+0xb53fcc7f,
+0xb5fd2aec,
+0xf5a0062c,
+0xc0ddf901,
+0x80d1ba72,
+0x286cd2bc,
+0xc9eebca0,
+0x140946f7,
+0xec9b42de,
+0x81c627a4,
+0x976c2406,
+0xcda5aafa,
+0x775579eb,
+0xd2a681e1,
+0xed897c88,
+0xd0e1f118,
+0xe51f8cf1,
+0xa65654af,
+0x037056db,
+0x10ce4ba2,
+0x02a7a09b,
+0xeb81a966,
+0x484f6283,
+0xbe940208,
+0x03098272,
+0x270cbf9e,
+0x461527f2,
+0xde63079e,
+0xcfc9bc63,
+0x1e67a508,
+0xea2ddd01,
+0xfc40766b,
+0xd7a64fcb,
+0xb3aee735,
+0xfc5d7f34,
+0xac545c9f,
+0x6cbb9937,
+0x968b389c,
+0xe0723b9f,
+0x30ed9425,
+0xb5752d5f,
+0x811324e7,
+0x08df1135,
+0x38cf84b7,
+0xa106211c,
+0x4d8fca09,
+0x766a87e6,
+0x5fff90e3,
+0x0bb26296,
+0x7f35b7f4,
+0x73809f57,
+0x50f3ebb0,
+0x915c3393,
+0x99aabb9b,
+0xf3e8a9cd,
+0x37c51a8e,
+0x78ad5202,
+0x177b7ec6,
+0xd9ef4fa4,
+0xf334f441,
+0x3d52b31a,
+0xf6002e7d,
+0x10dd0374,
+0xe10e1757,
+0xbe55ab1b,
+0xd8c0b3d8,
+0xcbb49736,
+0x155bc8a7,
+0xac979f47,
+0xd89e8727,
+0x52f09ff1,
+0x24a704b7,
+0x3a1b9cd3,
+0x9127c16d,
+0x5fee958b,
+0xf1eddf7e,
+0x943921c5,
+0x17312c12,
+0x393632a6,
+0x0f95a39f,
+0x2dfca5b8,
+0x43d7df73,
+0xe3b30f99,
+0x70cddce7,
+0xce337b82,
+0x3b77c94b,
+0xdf6dfd6a,
+0x95524f06,
+0x231aac1c,
+0x27f0ce33,
+0xcc1ee59b,
+0x3476ead2,
+0x354f22dc,
+0x7a6aa57e,
+0xc01d4564,
+0x1226d7f0,
+0x63bc7bb1,
+0xb1f14215,
+0x425c5692,
+0x9306eb74,
+0xd4a3566b,
+0x54ec988e,
+0x6671d396,
+0xeb624432,
+0x0e3891fa,
+0x2f3d63e3,
+0x4a8f129c,
+0x45acfa3d,
+0x930441a3,
+0x91c788eb,
+0xbbc492b9,
+0x5f2c167f,
+0xf6a011d3,
+0xc1f0b2df,
+0x12dfb209,
+0xfbe147da,
+0xe5bc320b,
+0x8d65dbac,
+0x3768b6b6,
+0xf17feb9b,
+0x2d5af967,
+0x0bc61d36,
+0x85c88d93,
+0x602f7e82,
+0x162f6c71,
+0x67fe9800,
+0x146f439f,
+0x67716b5c,
+0x61f56df3,
+0xaaec3487,
+0xdc938e1c,
+0x9e6b8f4b,
+0x4e211cdf,
+0x3cbc4dac,
+0x76c2e6a2,
+0xc7757122,
+0x959b5546,
+0x9defab96,
+0x265e4c78,
+0xb1352475,
+0xf5c1b81e,
+0xb68af323,
+0x52a29dab,
+0x1822c9a0,
+0x4ea43b53,
+0x73a44069,
+0xf8344709,
+0x2cd481e1,
+0xd87a53d2,
+0xf83f2b2e,
+0x5d85b205,
+0x1f61fbc3,
+0xfb71ecb1,
+0x0ef345e1,
+0x9fe1acbd,
+0x0e870cae,
+0x8263529f,
+0xb0f34ef8,
+0x781054ff,
+0xa2379fca,
+0xbac3468c,
+0xa5571951,
+0xbd1dd04c,
+0xec44f59e,
+0xf7272ab2,
+0xe29d0d6b,
+0x7c33caf5,
+0x56d9a3e4,
+0x6e32a7d5,
+0x6b02bac6,
+0x034783a9,
+0xc38a80d2,
+0xf9857c4c,
+0x59f4f6d7,
+0xc9e29b4f,
+0xc9da77b9,
+0xf1037f15,
+0x7e125974,
+0xaf01e6ef,
+0x9f5fea48,
+0xd4d28d4c,
+0xb650c86a,
+0x0cbea545,
+0x1bec5ec9,
+0x14d56305,
+0x7c7739ef,
+0xbd0327cf,
+0xf5fcf2d0,
+0xde51a290,
+0xeccffbf1,
+0x049acb2c,
+0x7f74c1e4,
+0xce9e5785,
+0xa9318011,
+0x460d3572,
+0x475617c6,
+0x60964456,
+0x7b7dcca1,
+0x81474dfc,
+0xd4ea88d2,
+0xeed235f5,
+0xcf1c2368,
+0xc2819ccc,
+0xbb67f851,
+0x814bb4bf,
+0x152ef4e2,
+0xec9b7caa,
+0xc02606c2,
+0xc601b536,
+0xad54154c,
+0xebb1d365,
+0x4e327cbd,
+0x732b8613,
+0x86e3de24,
+0xdcf5bfc5,
+0x272befd9,
+0xa8e5faaa,
+0xa77f3883,
+0x95a87c56,
+0xa5f5f909,
+0x3f0d32eb,
+0x4585f31c,
+0xdc7748e3,
+0x37490a8a,
+0xfa8fbe10,
+0xf925db81,
+0x8d58b780,
+0xa45ce466,
+0x180d8a17,
+0x4cc4af6c,
+0x059f38e6,
+0x29dff1c0,
+0x23469b80,
+0x55fad0f6,
+0x91e39e9c,
+0x6f8ca2aa,
+0x579f14f0,
+0x8a203a26,
+0xf878ef23,
+0xa6d02b0e,
+0xd24ee9e3,
+0x35148411,
+0xab9adff9,
+0xa6cd1651,
+0x4b45bbfb,
+0x8faf8e7b,
+0x4c234b95,
+0x3d0e5c0f,
+0x1ab6b3be,
+0xcf350a91,
+0x2b1fa42f,
+0xd54e363e,
+0x73eefb13,
+0x772e03cd,
+0xb5fd90e6,
+0x0fc95553,
+0xe796ede0,
+0x7f35d3dd,
+0x9b13e59d,
+0xfd10d8df,
+0x02506948,
+0x9a6ca113,
+0x3de0b6a9,
+0xe4f6c5e8,
+0xdc72b5fd,
+0x46557146,
+0xca1652fb,
+0x2542ab95,
+0xa43b0b79,
+0x6a05b310,
+0x391bc5f6,
+0xa943e0f8,
+0x687fa463,
+0x37029ac2,
+0x83d398d3,
+0x3d093d0f,
+0xea86f3d2,
+0xac901b85,
+0xdc8d93c1,
+0x8bd24799,
+0x5a952e38,
+0x2c149cab,
+0x05f65fd5,
+0x56269e16,
+0x7eb5b110,
+0x9d8b6d44,
+0xaad9c998,
+0x65127da1,
+0x65e0c1a9,
+0x0eac5ba8,
+0xfc61b66a,
+0x3e17ea4c,
+0x5c2e2ce3,
+0xd830c266,
+0xa3eed9d5,
+0x3d3ae8fc,
+0x993fa7a4,
+0x837e8e13,
+0xbb9da780,
+0x04424ffa,
+0x57267664,
+0x37225356,
+0xa86228b3,
+0xb7406f68,
+0xf0331a3b,
+0x09b18589,
+0x4a98a7ac,
+0x0c986897,
+0x5e2f4026,
+0x85c26c58,
+0x6eb0cfbb,
+0xdcc3b384,
+0x5e153d03,
+0xf67a2417,
+0xf542283e,
+0x29802274,
+0xc3757ff5,
+0x816f7827,
+0xee8a65e5,
+0x650385a0,
+0x7ff834db,
+0x35d8b1af,
+0x3038b2f9,
+0x7852d01a,
+0xdab41808,
+0x575db996,
+0xa53c7848,
+0x0fce4d4f,
+0x71f796ab,
+0xb0dab97f,
+0x9052cc07,
+0x68ae7bec,
+0xd641bf66,
+0x396907d3,
+0x316b6851,
+0xd51a4932,
+0x95f23eb2,
+0x63fcde63,
+0x9d462dd9,
+0x42a4e932,
+0xa76b49fe,
+0xee3db276,
+0xd4a568bb,
+0x60a1b774,
+0x03cfae3d,
+0x15c485a8,
+0xc310725a,
+0xbf1c8941,
+0xa5530373,
+0xdc195911,
+0x055e9a34,
+0x5d2bdf86,
+0x0fecc80d,
+0x4361988c,
+0xfe8726fd,
+0x5fa52b9e,
+0x314ab393,
+0xc24e4d1b,
+0x6bca70e3,
+0x73a61cad,
+0x4164c82c,
+0xd3b4ddfa,
+0x9bff601d,
+0xc7f60d0f,
+0x73ffbfbb,
+0x4e447abe,
+0x0c29282c,
+0x18eaf4c9,
+0x8bf8d5c0,
+0x9cdbc830,
+0x6a05c572,
+0x8cb7f9cf,
+0xbea637f8,
+0x1cabd285,
+0x78b6ea30,
+0xc1aa0a63,
+0x35c952cb,
+0xde72be92,
+0xfb67e486,
+0x960eb266,
+0x116b2d3e,
+0xe6651b8b,
+0x06f88fb8,
+0x950c10b9,
+0x3e08ecfc,
+0xc06ff515,
+0xbb45cb4d,
+0xae76fe5d,
+0x44d992e4,
+0x21485e92,
+0x5379c4cd,
+0xd1aa8b2c,
+0x8eb24b93,
+0x2efb4004,
+0x8ccab7c1,
+0x78df71c1,
+0x3a712f42,
+0x2f383b96,
+0xb9cd32a9,
+0xcd2120ff,
+0xbae869d9,
+0x23398e7f,
+0xca7e752a,
+0x27f9b7e9,
+0xcd50fab5,
+0x87480e9f,
+0x009bebb8,
+0x8d198af9,
+0x209e2f4e,
+0xcb34de50,
+0xb33a36ff,
+0xc7f32190,
+0xa2bbf37a,
+0xdd045244,
+0x23f692a6,
+0x4adb4663,
+0xae5c7012,
+0x5f590ad2,
+0x9de3a46a,
+0xe571ec72,
+0x1007e5d7,
+0xc9ff35a2,
+0x5aa44e45,
+0xab824f4a,
+0xe57f0e6e,
+0xf6212460,
+0xa2d1ecf2,
+0xf14ccad6,
+0x8b752b50,
+0x9e53f79a,
+0xf0c856ac,
+0x17880fac,
+0x2543c45f,
+0x4e730ddd,
+0x5e49e26d,
+0x1e81aac0,
+0x2c4ab688,
+0xa013a547,
+0xc81e1627,
+0xed44f8a3,
+0x35d77f9b,
+0x2c603121,
+0xb96ed04d,
+0xef616eba,
+0xb19dd3c0,
+0x6e0d8205,
+0x6553b562,
+0xf0dc4a7b,
+0xa8f5904e,
+0x83fdd5c7,
+0xddf4a7d8,
+0xe38733a4,
+0x5b1cd30f,
+0x64386feb,
+0xe1b107ad,
+0x406fe2dd,
+0x6b6b28c0,
+0xd7e07bc0,
+0x4ed34d40,
+0x771a34af,
+0xfd6b3a60,
+0x7123a384,
+0xf24c462b,
+0xaee69bcd,
+0x709f53ae,
+0x3ca57364,
+0x90100ffe,
+0x92281ef9,
+0x9f47769d,
+0x4e81e4b1,
+0x5a781050,
+0x487260a6,
+0x0fb34873,
+0x76915abf,
+0x45e00d30,
+0xced094ef,
+0x2c304556,
+0xbd92066c,
+0x37528e19,
+0x7a1708d5,
+0x9fbc2088,
+0x7f0fadd1,
+0xfe303755,
+0x6995135e,
+0x26d9d682,
+0x3b5cc98f,
+0x83aae747,
+0x55e2a2da,
+0x9bd1d4d3,
+0x564f5351,
+0xac6e527e,
+0xcfe67536,
+0x3f2f4761,
+0xfc69fd89,
+0x47779121,
+0x4c64ddfa,
+0x63d5a815,
+0x248223d6,
+0x93faaa0b,
+0x3f997c2f,
+0x442de58c,
+0xdb7a5d69,
+0x262a8d13,
+0x4dd4339b,
+0x11158d1e,
+0x3ad54e78,
+0xa72e54d0,
+0x8e56bdb6,
+0xdd871c52,
+0x09da1873,
+0x9c1a1f65,
+0x4b982e3a,
+0x71d74f1b,
+0x3ec00cc3,
+0x3185cb8d,
+0x513d3d80,
+0xfe5fcb24,
+0x0bb1d548,
+0xfa4e5cac,
+0x610d4724,
+0x7c9fd569,
+0x613a5711,
+0x71431931,
+0x587b2863,
+0x28807cf6,
+0x616617a0,
+0xd1093306,
+0x4004a3ea,
+0xd85df682,
+0xb8aef824,
+0xbcfce1ce,
+0xf3d21745,
+0x29bbcbf4,
+0x12c5bc75,
+0xa6833ec1,
+0x3d1ad9bd,
+0xd40c07f4,
+0xd0ca387a,
+0xc1bc7130,
+0x5fddbbf6,
+0xec42fd5f,
+0xadfced15,
+0xd248bb99,
+0x31a825cd,
+0x98a7c90d,
+0x7b247861,
+0x8647677c,
+0xf92878b9,
+0xeb6d9982,
+0x150b46e3,
+0xcd22b76d,
+0x4d8d9e73,
+0x76c8d1ca,
+0x1ab1ef79,
+0xdaa59685,
+0xf0addcb9,
+0x7b395040,
+0xa2aed7f7,
+0xbe73e7a6,
+0xef0443b4,
+0x7e0df3d9,
+0xa4a59ec6,
+0xb0d8d784,
+0x09884c43,
+0x0776042e,
+0x073f3fb4,
+0xafc81d4d,
+0x07a49212,
+0x32c75278,
+0x0cfbfedc,
+0x4821728a,
+0xf82fec45,
+0xafadffa6,
+0x7f308aed,
+0xa105fbd7,
+0x0ba0b398,
+0xf8ec5bfa,
+0x7dbe1168,
+0x3823c399,
+0x00e93336,
+0xe320b595,
+0x601b76de,
+0x0892f52d,
+0xb3f643d9,
+0xb7334643,
+0xbf36cee4,
+0x119228a8,
+0x2661ade6,
+0xdf7e311d,
+0xc91cf4eb,
+0xf45ae1cc,
+0x328e00c9,
+0xd67f154e,
+0x4d9be090,
+0x8c81b990,
+0x1fab7b2c,
+0x59f9a498,
+0xf0e66283,
+0xb023a9c2,
+0x6442d930,
+0x50607bd9,
+0xc2175e51,
+0x012d2194,
+0xaa118e75,
+0x9a7465df,
+0xdbf8f318,
+0x3cff4d50,
+0x552b0f0b,
+0x263f36bc,
+0x031f82d6,
+0x8bc81d34,
+0xe2f0420e,
+0x93c759c4,
+0x36edcfa8,
+0xb3b29fa8,
+0x066405d1,
+0xbe4b467a,
+0x70d2cbfc,
+0x72f39751,
+0xbe21a194,
+0xaab42863,
+0x6a79e9b9,
+0xce38f829,
+0x532e97cb,
+0x71ce6744,
+0x85e8b877,
+0x96d50676,
+0x51a3770e,
+0xfb8e5197,
+0xe6ab4e7c,
+0xb448b3df,
+0x520ad283,
+0x8e3898ca,
+0x10b9e60c,
+0x03ea34c5,
+0x8a149f0f,
+0xb0b21c64,
+0xa79dd906,
+0xbce70a9e,
+0xc2239336,
+0x65d4873f,
+0xf2306d5b,
+0x15049573,
+0x44f12880,
+0x9a7bacb3,
+0xce9706d7,
+0xfac65bed,
+0xb91427a4,
+0xf8d889d7,
+0xcc253a8b,
+0x2bec79d4,
+0x7a8378c7,
+0x0449fcd7,
+0x5a871e11,
+0x8b990d09,
+0x5ba4df9f,
+0xf77e201a,
+0x2af9f47a,
+0x659ef04e,
+0x1d3cc60f,
+0x0eb61285,
+0xd2b8d34f,
+0xc9cbe278,
+0xc789b25f,
+0x9ad83523,
+0x38c82e34,
+0x48a12da2,
+0x27dae6b4,
+0x22ec12eb,
+0xb19bc085,
+0x781e83a4,
+0x00754446,
+0x0062aa87,
+0x28d02ac3,
+0xb52ac6df,
+0xa497fa71,
+0x60206204,
+0xa516dca3,
+0xb474b152,
+0xbfeb8b45,
+0x7d9eacff,
+0xcc3dc349,
+0xeb385804,
+0xea1a0733,
+0x16a7bc64,
+0xf1d83576,
+0x728a091a,
+0x3089d80c,
+0x58b3439d,
+0xede690ed,
+0x87797316,
+0x1f8fb673,
+0x7150fdc7,
+0xdae62458,
+0x8ae61ecf,
+0x6ee3db67,
+0x17edcba3,
+0x1e0f339e,
+0x8cdd15a4,
+0xfa38de2c,
+0x381a8bea,
+0x38c25a43,
+0x950c1565,
+0x38a9a1d6,
+0x04b80d53,
+0xaf6e7b66,
+0xc03a2b6b,
+0x8cd717d3,
+0x71f3ef14,
+0xbf4d3833,
+0xcd9a42cd,
+0xee5f72a9,
+0xe778f9ef,
+0xab87168c,
+0xcd17b9c8,
+0x3331e94a,
+0xd72f95f2,
+0x0a0cd8f3,
+0x76dd1e04,
+0x1876a267,
+0xfcbe6056,
+0x75a90a1a,
+0x857e1e77,
+0x8d0eeef8,
+0x1201f8e2,
+0xcbbb2cc1,
+0x52c82e5b,
+0x0f65fb92,
+0x1684d77e,
+0xd17c9243,
+0xda8d530d,
+0x4a9653bb,
+0xf6111f06,
+0x5ac4f788,
+0xe3edc252,
+0x767c1a52,
+0xb03cd3fb,
+0xb5074077,
+0xf26999c9,
+0x83e51a06,
+0xb49db1f5,
+0x03fcabde,
+0x8bdd12be,
+0x94b6be0b,
+0x86a097a9,
+0xc42adfa5,
+0x36954f74,
+0xc65e1f28,
+0x10d962b5,
+0x5797ec19,
+0x8e4a62b4,
+0x915e3bb3,
+0x6a012413,
+0xe89f3a9a,
+0xf2362f04,
+0x3ec11c18,
+0x42d8d24e,
+0xa33a4dea,
+0xcbd10460,
+0x3ad83636,
+0xd202b321,
+0x2e8990b8,
+0x8f05b04f,
+0x1b989813,
+0x4247817d,
+0x499da9e8,
+0x33991e86,
+0x558491b1,
+0x894d42b4,
+0x8b34374d,
+0x31209b03,
+0x13744d1d,
+0xe2412f2f,
+0xbeddd4a5,
+0xe52f990e,
+0xaf877f16,
+0x7d3990be,
+0x22bffc5a,
+0x27d21ebc,
+0x26e505e9,
+0x9c7b58d9,
+0xdecae562,
+0xd7085621,
+0x33299d65,
+0x2f42fa7c,
+0xe4bb25b7,
+0xe5189989,
+0x58beb98b,
+0xcd318474,
+0x1c40a2c1,
+0xc707d783,
+0x6c64dd47,
+0xf7a8e168,
+0xa698ef61,
+0x5ba8a921,
+0xfae6c07e,
+0x0868647c,
+0x75e97e7e,
+0x827d37ef,
+0xc2f84a4e,
+0x2d7d68e8,
+0xdca40707,
+0x37cadd71,
+0x8a76b93a,
+0x6736a551,
+0x3715df20,
+0xaa330e1f,
+0xa170f417,
+0x4b94c949,
+0x5912feb1,
+0x44dae728,
+0x3b5c41f4,
+0xb6e91a61,
+0xd980946d,
+0xe97e9f9b,
+0x04458410,
+0x55acd802,
+0x6d82f132,
+0x327316a5,
+0xa07f4501,
+0x6798ef57,
+0xc3ff6936,
+0x1ee9d396,
+0x49068068,
+0xcef10100,
+0x0b7d54b2,
+0x489fa11d,
+0x9f1c8be3,
+0x4848c68c,
+0xd20c59f3,
+0x5d424e0b,
+0x4e142a7d,
+0xf4667207,
+0x9afa5994,
+0x8d3a3b39,
+0xf8e41053,
+0x1042c5ea,
+0x4c53cb1e,
+0x5d7e8e53,
+0x13889ad2,
+0xcab52ba2,
+0xc9e5233f,
+0x901bd877,
+0xb641e7c2,
+0x276becac,
+0x19f489f6,
+0xc16482ee,
+0x0be0b28f,
+0xa8306597,
+0x49b7b4a1,
+0x9b2643de,
+0xa5f1ad1d,
+0x333aebfb,
+0x07a8b83a,
+0x1b5fa602,
+0x4ef2674c,
+0x6e207a8c,
+0xf8caa7b7,
+0xa86aeedd,
+0x5d543443,
+0xc650bedd,
+0x8ce7b4df,
+0x60d1733d,
+0x8ab41a1f,
+0x777be452,
+0xf383afae,
+0x41abd6cc,
+0xda6f3f1f,
+0x7396205e,
+0x98b0bf1e,
+0xbad031a1,
+0xd49cb708,
+0xb72d8aba,
+0x8c43f396,
+0x6f5b1c24,
+0x6ce9a577,
+0xae5386ee,
+0x11bb3b32,
+0x1c1e4bca,
+0x08d2265f,
+0xf1dd71d0,
+0x847e6183,
+0xd8069e84,
+0x47c425c1,
+0xc73e9fbe,
+0x5cfbe3bd,
+0xb7462300,
+0x8a70e6de,
+0x84eb0bfd,
+0x0d6d2fce,
+0x8894c892,
+0x5d925813,
+0x39115909,
+0x90e05acb,
+0x8e39444e,
+0x411c4961,
+0x968f3613,
+0x4d22e729,
+0xf9cfb47f,
+0xbbe3bdec,
+0xce7090e7,
+0x1c457555,
+0xfdd9585b,
+0x4c484e78,
+0xb808b06b,
+0x41ce1df2,
+0x4e87df1a,
+0x329f3492,
+0x1474f207,
+0x6bc30f2d,
+0xe9c02cca,
+0x23c9c774,
+0x98757648,
+0x1cb10a69,
+0x0d3d7607,
+0x7e8d815d,
+0x0a5b723e,
+0xb3150c49,
+0x6baed342,
+0xa838137b,
+0x0780a28d,
+0x4fcea5f2,
+0xc8df3747,
+0xcc43662c,
+0x01d18f68,
+0xc7b79939,
+0xa71b30de,
+0xb748ba58,
+0xa8881555,
+0x25247e28,
+0x6c0fbd15,
+0x71f7330a,
+0x5b141b9e,
+0xc5d51127,
+0x1763c14f,
+0x018420da,
+0xa82790f2,
+0x599b94fc,
+0xaebd7ce0,
+0x9c7657ae,
+0x13b68f44,
+0x080e6420,
+0x32ea0a52,
+0x67f93eec,
+0xc2410579,
+0xc63ec24b,
+0xc6ff7654,
+0x7b58632c,
+0xeb31b9ae,
+0x20f1f5af,
+0xe1723cd1,
+0x12bf32af,
+0xa2e31892,
+0x195d09ae,
+0x8d03f840,
+0xbc34d24c,
+0xddc5d583,
+0x45c32065,
+0x8fca26bf,
+0xc8973efc,
+0x2b7862e3,
+0xcff3e41c,
+0xb6e49c6a,
+0x50896375,
+0xcb6ec3df,
+0xc602328a,
+0x842b4470,
+0xdcc44221,
+0x01140c32,
+0x8935076a,
+0x2a4fb9dc,
+0x825c30a8,
+0xd377c83e,
+0x2299ecbd,
+0x89e0b402,
+0xa8639ed6,
+0xea3cefba,
+0x589b42e5,
+0x4223a3be,
+0xc6d0f9c6,
+0xed710a9a,
+0x9a0535ac,
+0x09f02f44,
+0x257aa1f8,
+0x4fe79a2d,
+0x06f9c237,
+0xb76cff79,
+0xf1cd61e7,
+0x226f5047,
+0xb2015036,
+0x3d88c1b9,
+0xccd74dcc,
+0x7f4492bd,
+0xb62e3406,
+0xae8f45c9,
+0x248b8bb6,
+0x13ce2f0c,
+0x79f274d7,
+0x7b872a32,
+0x6d1a44a1,
+0x74bd13e5,
+0x97491738,
+0xe7ee6196,
+0x0b3f3201,
+0xd95639ae,
+0x3b923cfd,
+0x4faa514a,
+0x63311478,
+0x367c58ed,
+0x14629b04,
+0x18f58d2c,
+0x56806527,
+0xe98a8a02,
+0x07e41e72,
+0x34f0448f,
+0x01ff8084,
+0x8b6fc287,
+0x87f09bb0,
+0x0f7472d4,
+0xe0c3ddb1,
+0xcd5a6ffd,
+0x3e4810b2,
+0x88f61a6d,
+0xc2493e60,
+0x1ce167c3,
+0x9d5df1ed,
+0xbef00450,
+0x36c3c879,
+0x0124332f,
+0xf057da7a,
+0x2dcdf28d,
+0x788f036a,
+0x87a48d5b,
+0x9415a95c,
+0xa02d33fa,
+0x35dd2c92,
+0x5cfce2ea,
+0x94e67065,
+0x547e8873,
+0xfd4c35f8,
+0xbac97e6e,
+0x1e62d4ba,
+0x017508d4,
+0x5bbfae45,
+0xcfd9ab24,
+0x611d443b,
+0x72a53406,
+0xc8d8e73c,
+0xa8b14ed8,
+0xfce87959,
+0xfbe8b5ed,
+0x5844e6f9,
+0xc3ffc964,
+0x9ea5d041,
+0xe616d35a,
+0x9e45aa60,
+0x06d7d44d,
+0x4ee6fe4a,
+0xa6900255,
+0xd8d42bcf,
+0xd721d840,
+0x875aa748,
+0x25b70ed5,
+0x1c713d08,
+0xe82bc273,
+0xd69a0450,
+0xcc5e8eb0,
+0xeb91eaed,
+0xec8aceeb,
+0xcab932a8,
+0x10dd9213,
+0x7ac3263c,
+0xbe584e91,
+0x5aa80275,
+0x7561fcf5,
+0x12cd1fce,
+0xad6746c8,
+0x8f9a43e5,
+0x4ff631e1,
+0x9bc46c6a,
+0xcc6dab14,
+0x07274f12,
+0xc7887fdc,
+0xb8bb4d0a,
+0xbd6e4cb6,
+0x8e6ec4d2,
+0xb5358af2,
+0xf89f9dee,
+0x95fb9000,
+0x8bbb88ae,
+0x4fc9dd04,
+0x9697bcfd,
+0x5c1910cf,
+0xcf6d6c37,
+0x03011fb8,
+0x4a99712c,
+0x3b1834e4,
+0xa59e8139,
+0x50f86b97,
+0xdd8c5edf,
+0xe12623bf,
+0x83108129,
+0x568deb00,
+0x4a69f71e,
+0x655839b9,
+0xb874e782,
+0xb0969c7d,
+0x6c35c66d,
+0xa02baaac,
+0xe7c2e9ca,
+0xc2358fe1,
+0x3f711020,
+0xa34296d0,
+0x3e913e48,
+0xd039c35a,
+0x0debcb77,
+0xd3daa5fa,
+0xeaa8cd84,
+0xaaa2db0f,
+0xdb6478c0,
+0xd367d97e,
+0x86db3aae,
+0xacbdd713,
+0x9731198d,
+0xb7c78ed8,
+0x6c69d64e,
+0xec1225d0,
+0x4bde1074,
+0xd438088a,
+0x66662197,
+0xc7b207a9,
+0x311a5755,
+0x800676c1,
+0xbe5dd070,
+0xd2c02468,
+0x573daba3,
+0x4f08397d,
+0x88551dd2,
+0x543ff572,
+0xc39d8d6e,
+0x25e8a6b7,
+0x797f0886,
+0xf8615350,
+0x6a23224e,
+0x94116ae3,
+0x38416366,
+0x701a5531,
+0xa69889e0,
+0x7e836171,
+0x4632a982,
+0x2cda18da,
+0x65966ce8,
+0xf401c873,
+0xb6ef7333,
+0x63e7d46b,
+0x6608fe0a,
+0x7e7643ff,
+0x950314dd,
+0xbdbe2a95,
+0x0a5dc6ae,
+0x0ec20297,
+0x4fe1daa4,
+0x8438f911,
+0x5af3c989,
+0xc7e49e9e,
+0x9439193f,
+0x7463598c,
+0x27fb39fe,
+0x06433a87,
+0xfc2677e0,
+0xa2eca25f,
+0xa6797865,
+0x827320ef,
+0x3e280060,
+0xf70079c1,
+0x8d348a59,
+0xf4cb6c94,
+0xaa4736b4,
+0x6575b7e5,
+0x0acd4d07,
+0x1fd50b6c,
+0xb53302f3,
+0xc182109f,
+0x628eeb3f,
+0xd7fe223a,
+0x38ed208a,
+0xd3c7ac8e,
+0xf49862d0,
+0x15d2e43c,
+0x674f7186,
+0x2546f434,
+0x400583e1,
+0x8deaf32d,
+0x3ae82a8e,
+0xfe8566f1,
+0x08785587,
+0xc02ac80b,
+0x5276e8a3,
+0x3c2f6c2d,
+0xcf91b889,
+0x4a787428,
+0xdee0fc2f,
+0x75f06447,
+0xdd15944f,
+0x512df7b1,
+0x6e9590d6,
+0x939a8b95,
+0x7e6806c8,
+0x3a3eb633,
+0xb4cb3008,
+0xd7a68b9a,
+0x07957342,
+0x3f7fc202,
+0xc7fc6a75,
+0x4dae1ec7,
+0x5dede562,
+0x12048ef1,
+0x2e34b119,
+0x6b75cab3,
+0x6b60b66f,
+0x584c953d,
+0x402f5e03,
+0x211bbe2f,
+0x9e55498d,
+0xeb65b7ed,
+0x46526f4a,
+0x6720b4e8,
+0xe40d97c0,
+0xa6792f75,
+0x05656d1c,
+0x8d6fbe17,
+0x8f1f9f9f,
+0x53286196,
+0xfe15b9d4,
+0x2ff54b2c,
+0x2b4333ee,
+0x5440fd56,
+0xafad5bc6,
+0xe862f00e,
+0x2a8ceed3,
+0x21b0c439,
+0xc54b7052,
+0x21264a60,
+0x4f91cc81,
+0x5497b732,
+0x60e50b6e,
+0xe9028762,
+0x12a28b40,
+0x7c4dd461,
+0xd431ca94,
+0x0ee79f47,
+0x17f92c8b,
+0xfb839dd3,
+0xc9f186b1,
+0x38f90545,
+0xe05b7583,
+0xa49d1e4e,
+0xb53a6e25,
+0xdcab9994,
+0xdf19c6f7,
+0x2c89a116,
+0x339a7084,
+0xbbfa8d04,
+0x9f38be61,
+0xfaa8965e,
+0x380c3649,
+0xb39cb649,
+0x6498df43,
+0xcaf9607a,
+0x8be82000,
+0xb1725e3a,
+0x6b3c52fe,
+0x31c9da5c,
+0xfdb1dcba,
+0x4a6a4225,
+0x73b42190,
+0xf6feca59,
+0x919b0d23,
+0x497c9ec0,
+0x9e8ec973,
+0xf20c9ed4,
+0x60bc5a0b,
+0x63f6d452,
+0x10435001,
+0x54077d66,
+0x42925d8b,
+0x60afd3ba,
+0xda0dac1b,
+0x79e7f9af,
+0x03831641,
+0x850caf6c,
+0x9fc54d17,
+0x0463fbde,
+0xb54fe1ec,
+0xcf86fa23,
+0x951cd659,
+0xf89e3ae9,
+0x43fef07e,
+0x791d3c96,
+0xd2dd64d5,
+0x3e6d4fba,
+0x3333dbc3,
+0x827481a5,
+0x71841541,
+0xbc313379,
+0x912d3401,
+0x412ed283,
+0x74b0b588,
+0xd789758a,
+0x658617eb,
+0xc9ec6968,
+0x421270fb,
+0x96e69dbb,
+0x7cd6413d,
+0xca9f3863,
+0xff73f292,
+0x6c149530,
+0xd2157769,
+0xfef63869,
+0x0ab34e3e,
+0xe6b6855a,
+0x05bdb180,
+0xb7105a0e,
+0xfd2580f3,
+0x1286d4c1,
+0x22bc6523,
+0x17a7ed92,
+0xb59ef3d2,
+0x7a7c49fc,
+0xd22aadff,
+0x3af7b9ad,
+0x2e9b300f,
+0x203f5957,
+0xba5e287e,
+0x64301155,
+0x86a13178,
+0x60a35542,
+0xc5acf21f,
+0xb06bfccc,
+0xbde75452,
+0xdd47ba67,
+0x41a6c100,
+0xa41325cb,
+0xc70b824b,
+0x2cfd0efa,
+0x9130badb,
+0xf1704459,
+0x5c674912,
+0xef294d2f,
+0xbbbd3ae0,
+0xc8e10815,
+0x0e1e5909,
+0xad504588,
+0xb0c7ce9f,
+0xf7203326,
+0x84827336,
+0x0fcf1619,
+0x677b2d29,
+0x5d53ebc4,
+0xe9766f65,
+0xccafb540,
+0xce72c04c,
+0xacf5e2d4,
+0x54ffc12a,
+0x9e9eda7b,
+0x3b6de1c5,
+0x8ef8cf43,
+0x2756357a,
+0x7e0ea14c,
+0x9878eb0b,
+0x6980b0ec,
+0xb6ab4776,
+0x4caffcb6,
+0x6fedc866,
+0x41e3ccca,
+0xcdff2775,
+0x3e7e9041,
+0x15ac0b60,
+0x105da7b6,
+0x7822a4ed,
+0x96f363b4,
+0x71f354f5,
+0x36b5e9aa,
+0x65d26d2d,
+0xf52cb4cb,
+0x9996779a,
+0x5f513de5,
+0xb9fe2c44,
+0xe664c502,
+0x45a74b75,
+0x174d3c4e,
+0x6d168133,
+0x4023638e,
+0x897993a5,
+0x4c406d44,
+0xaaaf8c97,
+0x694ad7de,
+0x836fc0d8,
+0xf8a7658d,
+0x80661f86,
+0xf204b0c5,
+0x90fb2bb1,
+0xd531e0dd,
+0xe3a56144,
+0xddf4fdab,
+0x5fafe9de,
+0x944fd5ef,
+0xa47bae7e,
+0x0225b4bf,
+0x38d04b07,
+0xee3f273d,
+0xc26d1c9e,
+0x2fbe1381,
+0xc0538c47,
+0x1761bb7e,
+0x5949ddbe,
+0x87508cde,
+0xe182ca1d,
+0x973b3b5e,
+0x4c863769,
+0x2774bd73,
+0xd231828d,
+0xea69abe3,
+0x9d47583d,
+0x8c69148c,
+0xf4fd7ca2,
+0x450f3746,
+0x190a118c,
+0x135570c8,
+0xdca74667,
+0xb4d52898,
+0xe92263ef,
+0x045e2587,
+0x5372d74f,
+0x24e379d9,
+0x89e977ac,
+0xbcd49b2a,
+0x51cde993,
+0xef193870,
+0x62d1d62c,
+0x6e4bbbfa,
+0xf60a6b5d,
+0xab87735a,
+0xbdc18754,
+0x7e9b5db7,
+0xd7125778,
+0x979aa459,
+0xc32ca986,
+0xf4f86552,
+0x9a9fed69,
+0x3e65edcd,
+0x4b9274e9,
+0x7a555667,
+0xa0908a1e,
+0x1c4f9a38,
+0x85fd9c72,
+0x9d43cdd8,
+0x176a4d40,
+0xd58abfd4,
+0xe3e87199,
+0x87691cfc,
+0x995e7eea,
+0x2c8b2007,
+0x9c0ef9ce,
+0x3736f239,
+0x7f5ce82a,
+0xeff43222,
+0xfb36a393,
+0xc46879da,
+0x4668fbb4,
+0xe66d8b56,
+0x54f66bb4,
+0x495b0bc3,
+0xa0f0989d,
+0xd2905e61,
+0xea1ddbba,
+0xccb1ee10,
+0xebd3d4ae,
+0xf3b6f842,
+0x6e54ef28,
+0x39e4f417,
+0xbfe2ab53,
+0xc574fbaa,
+0x0d4d5ddf,
+0x83be0c4a,
+0xb7b60364,
+0x44973a50,
+0x471cf9e9,
+0x2ee134fb,
+0x0695c1d7,
+0x02a8abe0,
+0xe240925e,
+0x976c1278,
+0xf364467b,
+0x98ac2f98,
+0x4cfdb0d4,
+0x3f37a14d,
+0xbdb51799,
+0xc973e9dc,
+0xf67e33f4,
+0xc4126569,
+0x50d0648f,
+0x2709f97d,
+0x59f88059,
+0x0b4e3f8b,
+0x76f77865,
+0x3b29659a,
+0x99b4192b,
+0xea3ea7a2,
+0x6689362a,
+0x94aaf52f,
+0x4f7816bc,
+0x5bd3b6fa,
+0x3e6f966f,
+0x1ea01a14,
+0x387cf9e9,
+0xb117d15c,
+0xfe631f3d,
+0x8807fa04,
+0x19c074ae,
+0x532e7c3b,
+0xbd9f3324,
+0x8ad1a1c1,
+0xeef8d052,
+0x486a0d89,
+0xefea1b32,
+0xb1d31417,
+0xc8e70589,
+0x3f90a93e,
+0xfcb48275,
+0xe94079af,
+0xc5658ad8,
+0xee7d53ef,
+0x04077313,
+0x93740bd7,
+0x0ba93e53,
+0xee3ff795,
+0x5261f434,
+0xc615aaeb,
+0xf207173b,
+0x6507d914,
+0x7cb5ef4b,
+0x58100765,
+0x2479072d,
+0xed356ed6,
+0x3f74d306,
+0x44703c95,
+0xb213b339,
+0x70fefd04,
+0xc5ca278f,
+0x2d231120,
+0x54b2ba30,
+0x19ea60bf,
+0x0ca6c9af,
+0xabd03c11,
+0x570e6d51,
+0x7916cd1b,
+0x730fb1b5,
+0xf4e967f0,
+0xe6c9e1ae,
+0x6756f110,
+0x8c76b12f,
+0x642f86e5,
+0x935b6374,
+0xa889001d,
+0x6c4beda3,
+0xd5e6ae66,
+0x61c51292,
+0xc169d815,
+0x73b33248,
+0x5ba5562e,
+0x71eb23a4,
+0x5d0efe75,
+0x88e43a81,
+0x0fe83380,
+0xbc5bd3b1,
+0x1c82f136,
+0xc7e8cac2,
+0x6ef8ff4b,
+0x5aaf0147,
+0xc740e24a,
+0xbd430211,
+0xcbbb2c27,
+0x385c830f,
+0xf1ae0cab,
+0xb038ece9,
+0x58090ae4,
+0x0b8b2d0d,
+0x9df78d6a,
+0x70772553,
+0x5a381ee7,
+0xa84e286d,
+0xc8ce9313,
+0xd723f0be,
+0xbf2fd68c,
+0x7aa22b74,
+0x01b1e388,
+0x9be3332b,
+0x48f1441b,
+0xfa8c7550,
+0x23fab348,
+0x1b68a3b4,
+0x1f3ae2d2,
+0x0d6c0464,
+0x818c1b76,
+0x38e8c655,
+0x59eec370,
+0x6495dc1c,
+0x4ce65939,
+0x7ad381d9,
+0xfe2320db,
+0xb7719929,
+0x1615822f,
+0x5fe62653,
+0x2c046080,
+0x12b0f3cb,
+0x765304a5,
+0x67a392f8,
+0xabd82380,
+0xa053bfec,
+0x5ed950b4,
+0xdb061842,
+0xd9c34177,
+0x5a139a0d,
+0xc1c1153f,
+0xa7660f28,
+0xb3542045,
+0xfc74a991,
+0x9801becd,
+0x5b7ef9b1,
+0x3c7b26c8,
+0x60aff850,
+0xcf725170,
+0xbfd58db2,
+0x4e3b8045,
+0x379b022b,
+0xe4938c13,
+0x3c44f18c,
+0xbc39a939,
+0x3a34111b,
+0xa064e7f1,
+0x818180dc,
+0x2b7f3bb5,
+0xc980a552,
+0x9c5320f7,
+0x94c3209d,
+0xe7d35ffe,
+0x4c2c7012,
+0xb83f40d4,
+0x42ee0fc4,
+0xfe2b8142,
+0xe0a64391,
+0x4a4c353b,
+0x75074f6b,
+0xff975401,
+0x289e0219,
+0x7339813c,
+0x284f48c0,
+0xf3e3c172,
+0x8210797b,
+0xdc046422,
+0x1c7e5662,
+0xae0f99fb,
+0x5f75fe29,
+0xa5a482c7,
+0x51cd9a1b,
+0x7387e098,
+0x7069a37f,
+0xcf6ed2f4,
+0xd90fff33,
+0x807a68c1,
+0x8d036dd4,
+0x659da88d,
+0x16ae948f,
+0xd7bc6d6f,
+0xc96d64cb,
+0x88130d33,
+0x4c0a80cf,
+0x150f2ed4,
+0xae5a6324,
+0xe1f7feb1,
+0xa8f70c3c,
+0xca08f568,
+0xc061d8b5,
+0xfa79b1a4,
+0xfffc2fd4,
+0x22970cfe,
+0x3662c252,
+0x94d97adb,
+0x1a29f9c7,
+0x28c9890f,
+0x8ca8a11a,
+0x9bea92b8,
+0x6a556acf,
+0xb5b3955f,
+0x5460ed5d,
+0xc9b8b695,
+0x7501fa4d,
+0x44bf4078,
+0x76411424,
+0xace6b2a9,
+0x3135a223,
+0xc2f1e0cb,
+0xe8402bb7,
+0x915ba0bf,
+0x9a8caa90,
+0x395813ee,
+0x18ce73ef,
+0xdb87d6ea,
+0xc9a7757c,
+0xe44335a6,
+0x6446fb9f,
+0x23cd0dc9,
+0xa247b25f,
+0xb6c0def3,
+0x3f77a7f3,
+0x9952d4ec,
+0x4f55d7cc,
+0x060c79ac,
+0xb1477b07,
+0xbba99084,
+0x6a2366da,
+0xf0e1dd02,
+0x9ae26c3a,
+0xb35cebed,
+0x3dbacd41,
+0x239a8c86,
+0xc4b78732,
+0x2a30ff14,
+0xc40bca19,
+0xe0388ab3,
+0xe17adc92,
+0x06590be7,
+0x65e83d38,
+0xe298674e,
+0x90c9bbd9,
+0xbbf26462,
+0x62eb7389,
+0x1c1ca10a,
+0x4942bd0a,
+0x7dc198af,
+0x44e5972d,
+0x88e1d6de,
+0x1fd88c7c,
+0xc4e812ad,
+0x0960b678,
+0x57a483bc,
+0x39cde604,
+0x99ece602,
+0xd006f57b,
+0x8052ebd0,
+0x44db57a7,
+0x50dbb7ae,
+0x9938b992,
+0x69e1b5e8,
+0x323439aa,
+0x1780de04,
+0x0266aa62,
+0xda289efe,
+0xc4e9006a,
+0x492ceb06,
+0x47552b97,
+0x6b677fbf,
+0xa8c41e81,
+0xd9278530,
+0x4e30d680,
+0x23d360bd,
+0xda0755c8,
+0x29c81d4a,
+0x2bf8217f,
+0xde7c1e03,
+0xa87e4004,
+0xa16aca40,
+0x15e6a6e5,
+0xc5bebea4,
+0x1ce12e3f,
+0x3642f2a4,
+0x15e6bb4f,
+0xdf892bc5,
+0x51e4f653,
+0x997e1bba,
+0x7960aaf7,
+0xbbca8802,
+0x683e8813,
+0xf45a4964,
+0x0ccba5bc,
+0x0f044f2a,
+0x19b0d209,
+0x300698d8,
+0x64979efd,
+0x83362f5d,
+0x42d9b9ae,
+0x272861d1,
+0xcda8c56e,
+0x9e5eb982,
+0x6cd5437b,
+0xcf2ead51,
+0xbaac8a2a,
+0xed50ebae,
+0x3fbb5dcc,
+0x636b50a1,
+0x5ee826f5,
+0x6096c804,
+0xfce36c53,
+0x2a4586ee,
+0xdbd5545b,
+0x431e1506,
+0xf8d78878,
+0x22dc34a5,
+0xfc27e196,
+0x3a197bdb,
+0x1fc1891d,
+0x078c9043,
+0x40f76493,
+0x040f595d,
+0x2bfc2d38,
+0xbe653294,
+0x219223f3,
+0xd4050181,
+0xa8e27c78,
+0xb4e57575,
+0x1e72ba3d,
+0x18d69449,
+0x18dde4a1,
+0x1e094834,
+0x0a280db7,
+0x9714415a,
+0x34a56b3d,
+0x7d19b648,
+0x354f90ae,
+0x972436c8,
+0x9ded7a6d,
+0x263b41f4,
+0x39c84b7c,
+0xbe475f21,
+0xdc1acc61,
+0x3b22636f,
+0x1a12773d,
+0xd2ce73b5,
+0x8e087f8a,
+0x7480f9dc,
+0x5899944c,
+0xe77c9000,
+0x704bed81,
+0xd9be12a8,
+0x0299527f,
+0x3db65c29,
+0x884c231e,
+0x33c295dd,
+0xcbcf089a,
+0x38a634ac,
+0x215f2b11,
+0x1d2192ac,
+0xc10f55c4,
+0x6a22cf9a,
+0x0cf340e3,
+0xf34cb83a,
+0xd1a5d188,
+0xd38b970f,
+0xa72cbf19,
+0x315e4e0f,
+0x6fe73e10,
+0x013824eb,
+0x672dcce8,
+0xb87325e9,
+0x690f307a,
+0x16fe7427,
+0x60f62bfa,
+0x65446346,
+0xa0d350ad,
+0x2388fdb3,
+0x0bf3f40c,
+0x051ba413,
+0x010aff0a,
+0x3d2d163c,
+0x5cfecee3,
+0x8d3c9b6f,
+0xd0c3c58b,
+0xab017ea5,
+0x6e5fa8df,
+0x49ce050a,
+0x8276c48e,
+0x83502913,
+0x8902c52f,
+0x649677bd,
+0x79b2160c,
+0x84209644,
+0x321111dd,
+0xfadd15cc,
+0x8cae6148,
+0xb659c154,
+0x8aec5375,
+0xa162b1bb,
+0xa5152bad,
+0xf0b63baa,
+0x43465696,
+0x9fb678d9,
+0x2f0cdbbd,
+0x3a9466e7,
+0xd4548d75,
+0x261b86cc,
+0x97afe868,
+0x165cdaf0,
+0x83741dca,
+0x8ec82bfa,
+0x36b666c0,
+0x0d1c268c,
+0xd5ce66b1,
+0xeafc5651,
+0xfe823e72,
+0xe28d081e,
+0x2f6697f6,
+0xe3c0c5c9,
+0xc7bdb231,
+0x89aca5a2,
+0x32105317,
+0x62a47d9e,
+0xdcfd26ab,
+0xa85d2098,
+0x56e6672d,
+0x225b4e32,
+0x92e55195,
+0x717ffce1,
+0x4683cfe0,
+0xcac66186,
+0x81d2791a,
+0xb7f3b337,
+0x44fc3800,
+0x5823d666,
+0x04d2a4c0,
+0xf9757645,
+0xcb6095e2,
+0x705080f6,
+0xf17112af,
+0xd10d4828,
+0x60415b2c,
+0x67f20eee,
+0x7ef7e6c3,
+0x54e9c309,
+0x4117707b,
+0xedbaf101,
+0xb137cf84,
+0xd861baf5,
+0x9aa7348a,
+0x69e85f6d,
+0x5d5597f5,
+0xb69ad371,
+0x83c8bd10,
+0x616bab63,
+0x97cdc204,
+0x0e576e40,
+0x8322d8a3,
+0xcfbead5a,
+0xbec8d029,
+0x7b378f55,
+0xd3c804aa,
+0x00368bb1,
+0xec4ed851,
+0x57b0a554,
+0xc54acf08,
+0x40285815,
+0x6d6f1455,
+0xb3ed89e5,
+0x64673de4,
+0xac80431f,
+0x482f82f3,
+0xda6c3757,
+0x5ad0ee3c,
+0x2d0673d0,
+0x67903c4a,
+0x8ee4347e,
+0x8f7a8655,
+0x2aa73eac,
+0x038ca754,
+0x3b4bc16d,
+0xe1a0840d,
+0x88b8362c,
+0xdda32092,
+0xb281620b,
+0x717845bc,
+0x15429501,
+0x89db401e,
+0xb69504d6,
+0x2eb0aabb,
+0xe9b2c2c1,
+0xde4af6b5,
+0x7b37b04e,
+0x6e5505c4,
+0x5d79133a,
+0x698d309b,
+0xbfe26be5,
+0xc4d62489,
+0x2c696c93,
+0x11abb18c,
+0x52f97b25,
+0x7066f991,
+0xf3341479,
+0xd5ab9842,
+0xe64324ca,
+0x1768c7c8,
+0x78f5e9c1,
+0xae31fabe,
+0xf009f9aa,
+0xbec3e314,
+0x69fb791c,
+0x73275791,
+0x689ab083,
+0x6fc5cea4,
+0x5358bf51,
+0x78c108ad,
+0x9d38cf10,
+0xe0183155,
+0x37f9a2b2,
+0x1833a2e0,
+0xa7803517,
+0x8d491f94,
+0x55cdd9e8,
+0x1871ec1a,
+0xe57afcaa,
+0x6c3e8ee2,
+0x92f019c0,
+0x54b0bb7e,
+0xc5d8b014,
+0x5c11d3bd,
+0x3193096e,
+0xa936f0a8,
+0xb7afd1c3,
+0x02ff298d,
+0x4716d2cd,
+0x4921f25e,
+0x927f6605,
+0x71f3ffca,
+0x3af8c270,
+0xd60be7c9,
+0x4b4210f5,
+0x166b4768,
+0x4d59cac1,
+0x25810731,
+0xb5243d63,
+0xa334dafb,
+0xeaf551c3,
+0xbcf07bb4,
+0x3c700fc3,
+0x3613fa4b,
+0x6957cbac,
+0x8598c2c7,
+0x4def7665,
+0xaa615f79,
+0x3fb8243a,
+0xbf3bace7,
+0xfcb4bc46,
+0xc11f0bf4,
+0xf385e11d,
+0x4bbc54bc,
+0x3088381e,
+0x3082e761,
+0x7b0f014b,
+0x97c7d067,
+0x5589550d,
+0x933db0a9,
+0x3468d765,
+0x88b8fa51,
+0xdcef90a0,
+0x8289aa0e,
+0xd62a2360,
+0x8548da23,
+0xe2ceb75b,
+0xfb537766,
+0x8564a2ee,
+0xdc4869e2,
+0xa3ad69f8,
+0x10b63f10,
+0xa91f062a,
+0xe89e7b2e,
+0xb0cc7767,
+0xd3242bda,
+0xe52b916d,
+0xe463dc5f,
+0x033877ff,
+0x91d9d793,
+0x0aa1a4d1,
+0x42280c1c,
+0xca5c99f6,
+0xf6f78344,
+0x7aa084af,
+0xb125d3dd,
+0xa422a4f3,
+0x9c79fb9e,
+0xeecd98cf,
+0x2b6f1ad1,
+0x0bbc245c,
+0x9419a48d,
+0xabe0ccc8,
+0xd01562d6,
+0x487362e4,
+0xbff87c8a,
+0xdeb47603,
+0x48851557,
+0x6eb78ebe,
+0x533e8b19,
+0x5d4a37e1,
+0x08768c06,
+0x59d0dbf1,
+0x5b2ddbff,
+0xe0343f50,
+0x34c7745c,
+0x2ec2fe83,
+0x741a8bba,
+0xf27deabe,
+0x1cc4e040,
+0x5fc3b879,
+0x951f0f67,
+0xc51aecb5,
+0xf751cb6b,
+0xa05cd161,
+0xfd467bd8,
+0x852f06ee,
+0xbf9e9d0b,
+0xe5d3ab3b,
+0x23d3762e,
+0x4f1ffe81,
+0xd2ec683a,
+0xfd2f542c,
+0xa4aa0e77,
+0x9516a061,
+0x199a7f47,
+0x0b65b371,
+0x640b98d0,
+0x651d7a9d,
+0x0eb49a5d,
+0x14ccba26,
+0xe318fb26,
+0x0a8c014b,
+0xe2c6cd68,
+0x21425818,
+0xa04de72b,
+0x0908330d,
+0x2892a332,
+0xc13a687c,
+0x329e8e3a,
+0xf7636c4c,
+0xd8e18438,
+0x71d750ce,
+0x37c770b5,
+0x19953606,
+0x90ee1793,
+0x1f98e994,
+0xe9a0f872,
+0x1ecb8ed8,
+0xa9661e58,
+0xbb062910,
+0x338620d3,
+0x9353bf4b,
+0x4475ad0f,
+0x8ef95120,
+0x964a073e,
+0x01fa73fd,
+0x3a97c642,
+0xfc7894e3,
+0x7b456f0c,
+0x6716fbfd,
+0xa6e0b666,
+0x02271095,
+0x14247b96,
+0xdb85c2c5,
+0x4b217f69,
+0xec4e4fb8,
+0x9db453ee,
+0x879e3d24,
+0xdacae49f,
+0x0acff11b,
+0x627755fd,
+0xc4012b2c,
+0x71f81013,
+0xbb2ec9de,
+0xbf046f23,
+0x88a605dc,
+0x708c9f36,
+0x26cbb554,
+0x305c604b,
+0xb197dbf4,
+0xd63c3112,
+0x8d2c673d,
+0xee59c281,
+0x95bdc456,
+0x6be29604,
+0xe0cde92d,
+0xdf3b2232,
+0xf41c5e02,
+0xf8f3349a,
+0x1919bfa3,
+0x7e5dcf8a,
+0x134cd061,
+0xf3f94a66,
+0x6e22e2f7,
+0xe30fb75f,
+0xd724bbf7,
+0xe1c98d12,
+0x7f18dd37,
+0x6be95911,
+0x144e6779,
+0x8097c482,
+0xeb164a96,
+0x41d71a7a,
+0xe4594cb1,
+0xd9f38707,
+0xbcbb139d,
+0x5a74ffda,
+0xdd329815,
+0x97c06955,
+0xf03cd825,
+0x512f177f,
+0x283ceda5,
+0x0daa1ff8,
+0xe361534e,
+0x3c8b92e2,
+0xdf5343ee,
+0xfde5b6b2,
+0x37c70f97,
+0xe8ff28d7,
+0x3e3c5797,
+0xfb51ed09,
+0xc9b060d7,
+0xfb3708d5,
+0xf3ece807,
+0x25fef315,
+0x80778efa,
+0xeba70146,
+0xcee3510c,
+0x466293ff,
+0xff0099ac,
+0xb60592f7,
+0xa0e46cd3,
+0xd26f56fa,
+0x60b2d282,
+0x5e83e73e,
+0x282fae0e,
+0x1848593a,
+0xcbe44063,
+0xf7903167,
+0x495c7273,
+0x310ad091,
+0x97e0bf16,
+0xf6d5090e,
+0x60d77c1d,
+0xa7e242da,
+0x0d2fc84c,
+0x1c0ef273,
+0x08bb0e7c,
+0x2545133a,
+0xd2534c23,
+0x6a954126,
+0x5f5a1670,
+0x239b6612,
+0x0201ee4e,
+0x55be8d6f,
+0x8f2914d4,
+0xab2103f4,
+0xa4808f30,
+0x25b0ceaa,
+0xd1032b04,
+0xd1dc716b,
+0xd9def46a,
+0xd9979a6e,
+0x9f59b718,
+0x3d748cd1,
+0x25041d00,
+0x77912356,
+0xfe6608a7,
+0x5a69b89a,
+0x8428f7c3,
+0xc815ec23,
+0x260e6ac6,
+0x6014219a,
+0xc1ca7faf,
+0xb2b32953,
+0x2c9c7361,
+0xb02fd36c,
+0x3449d9b7,
+0xd0c5fbd0,
+0xcc36dfd2,
+0x796c64c6,
+0x5ca615c6,
+0x58df014a,
+0xaf2cbc43,
+0x8429d37b,
+0xeb8f0b62,
+0x74737afe,
+0xbd9a1506,
+0x0b7ae28b,
+0x3a56f1de,
+0xd3fe115f,
+0x339a7596,
+0xc3ed7e88,
+0x27b684a4,
+0xe16b46d3,
+0x34a198f8,
+0x5d082df5,
+0xae971520,
+0xab33238d,
+0x7499f553,
+0xfac9c5be,
+0xa2b193ec,
+0xe5ba5d6d,
+0x7864e882,
+0x55f0c7a9,
+0xd2e31cc1,
+0xf3f0bbfb,
+0x13c43b76,
+0xe96e0f00,
+0x6161cfe0,
+0x20cf294e,
+0x049641c1,
+0x9a4bccca,
+0xecead8b9,
+0xea3e99f5,
+0x48a916a5,
+0x0f945eef,
+0xaa2b923e,
+0x3f2f95f3,
+0x45984a0d,
+0x87c05d8f,
+0x86754391,
+0xfd4f2761,
+0x04935e7c,
+0x78636b1e,
+0x99d58bad,
+0x744fa442,
+0x2af28919,
+0x4410613b,
+0x1ec593c8,
+0x50f22338,
+0x6429d56f,
+0x2023ac2f,
+0x45d4c10f,
+0xcbe00811,
+0x8540959f,
+0x8959407f,
+0x4c84281b,
+0x245fbda5,
+0xbd6f1b8e,
+0x0434b9b7,
+0xc5e33128,
+0xd532d43a,
+0x6993afd1,
+0x129d63ac,
+0xd7d7e5d9,
+0x926ac43f,
+0x1bed9809,
+0xf73d934d,
+0x935ccf60,
+0x6848203e,
+0xea77da81,
+0x48a784a1,
+0x3d68d675,
+0xeeefe0cd,
+0x13bd393b,
+0x22c73eac,
+0x8d6ab17f,
+0x750744a4,
+0x3b3024b1,
+0x68f4b097,
+0xa7ea1232,
+0xb3a526c5,
+0x58b90c44,
+0xfedb07b9,
+0xc6d114a5,
+0xa340425c,
+0x602d95ea,
+0xb8e4406c,
+0x49cb209a,
+0x4ff75e73,
+0x05d51295,
+0x1a9dfd89,
+0x809ed90b,
+0xb0234908,
+0x0cb971e3,
+0x90901851,
+0x65d3efd1,
+0xe41b0a0f,
+0x97a4a3f2,
+0x8148f2ea,
+0x1e51fe3c,
+0x32a9633a,
+0x369359c5,
+0x02c2b014,
+0x8bc7fcf6,
+0x801a849e,
+0xbe036113,
+0xbad840f1,
+0x2ed96341,
+0x046a8879,
+0x97723dad,
+0x648af964,
+0xc06ffbd2,
+0x79fd8f62,
+0x6a233582,
+0x3bcf0c01,
+0x982d238f,
+0x5436e123,
+0xea5b52fb,
+0xc1468042,
+0x5b1404f4,
+0x81c3d315,
+0x213880b9,
+0x250ad99e,
+0x0f83c782,
+0x1bdadec2,
+0xe7865181,
+0x71605b8a,
+0xbeb53560,
+0x1e9bfc4b,
+0xce90e4c2,
+0x36a56fe8,
+0x90b3b914,
+0x3ffaae0d,
+0xbfb72845,
+0x6203639a,
+0xaa7bb398,
+0x6677bba6,
+0xaefabd8d,
+0xbb5809ae,
+0x5763ae56,
+0xfe4d2b78,
+0x8074b4ef,
+0x986d2567,
+0x61c1a0a9,
+0x18f88cfd,
+0x9fb01a40,
+0xdc8a6b12,
+0x24681bb4,
+0x72bc6f42,
+0x659e7438,
+0xf8ae3c4b,
+0xe27c36d9,
+0x3a37da83,
+0x59bde3bd,
+0xed18e5ca,
+0x2c6c59e5,
+0x2e27739c,
+0x415fbb9e,
+0xf8242c3e,
+0xcd983d9a,
+0x206d702e,
+0x28ff37c3,
+0x72f84c6d,
+0x55ceb747,
+0x3bf0c2c3,
+0xaac1e74c,
+0xc1d44cbc,
+0xe0c9b90b,
+0xff1ad575,
+0x5d581d4c,
+0x37563edf,
+0x074d1cc1,
+0x074e2895,
+0x514d30b9,
+0x1579bed7,
+0xd1e49ebc,
+0x9f14dfdc,
+0x332625a7,
+0xaf0e157f,
+0x0c5812ae,
+0x7cc73ff1,
+0x2e7c2c94,
+0xffa25f45,
+0x5a25d33d,
+0x1254306c,
+0xc953c646,
+0xb67fc2be,
+0xe57edada,
+0x47a202f0,
+0xc08ad72c,
+0xb28f7340,
+0x4d1195b9,
+0x6cdaa6f3,
+0xc0641284,
+0x5b7613a7,
+0x70436765,
+0x90bf317d,
+0xfa35f401,
+0x1334d8c1,
+0x85b4a41f,
+0xe8f02940,
+0x54618af4,
+0xe5048582,
+0x6d8372f3,
+0xdc44cf72,
+0x3e207780,
+0x6b3b7d38,
+0x93c6e6bc,
+0x46689afc,
+0xded31a79,
+0x0e158350,
+0xbe797d74,
+0xc7a3def3,
+0xfa3bfe42,
+0x1d2dafb6,
+0x3240ed91,
+0xb95a0410,
+0xfcb68e3d,
+0xccb9f04c,
+0xa05a2627,
+0xdd1f7f95,
+0x8cd62b78,
+0x22d15904,
+0xc96f5f71,
+0x0c7b6cff,
+0xeacb4cf5,
+0x8f086cbc,
+0x1f15345d,
+0x38747fa3,
+0x8c80a474,
+0xdce014a8,
+0x52a053e0,
+0xca994886,
+0x44b4dbc7,
+0x5bff559f,
+0xef97baae,
+0x93675c68,
+0x21d78ff3,
+0x1715101f,
+0x4d6174d8,
+0x67334a2f,
+0x79404a7c,
+0x8b06a8fb,
+0x28eef9bd,
+0x872a9049,
+0xa4c34cc5,
+0xa417c16c,
+0xb362baeb,
+0xfb09e8f2,
+0x8b61eb23,
+0x8228c54b,
+0xc762d6e7,
+0x96b3fff9,
+0x121c95ed,
+0x3242ab3e,
+0x7ae3cba1,
+0x092e09d8,
+0x400fbad0,
+0xba8caf0f,
+0x5eb55dfc,
+0x0bdca782,
+0xc22162d6,
+0xd95734a7,
+0xfa884366,
+0x71a9a169,
+0xa2e9f53e,
+0x265339c7,
+0xbf4ff4be,
+0xb8909e15,
+0xbe0537c6,
+0x00db385b,
+0xf4f3269f,
+0x84d8dc9a,
+0xa797e209,
+0xc8349fa5,
+0xd42da3ef,
+0x0e5035f7,
+0xd025f2dd,
+0xc63d056d,
+0x43a8d1b9,
+0x0c5e2e3d,
+0xc2d1d9bd,
+0x76cc6482,
+0x54cb73df,
+0x7f936712,
+0x48821c93,
+0x5514620c,
+0xa67facf6,
+0xadbbb174,
+0x6da0766d,
+0xb8076f21,
+0x673965a4,
+0x6920c5e2,
+0x386a4ea1,
+0x9bd5e21a,
+0xe248f986,
+0x51c1c5d9,
+0x9179a933,
+0x7b1be1a1,
+0x48b7b5a3,
+0x61a95848,
+0x16c6340b,
+0xd23b70c4,
+0x97d46df0,
+0x0d08c17a,
+0xfa8574c6,
+0xd497dad1,
+0x66819b06,
+0x1dd05891,
+0xa17b1b16,
+0x2a066476,
+0xcdd0652f,
+0x77a1d3ae,
+0x645f84ba,
+0x01ab83f3,
+0x32b01d50,
+0xcc5abd6c,
+0x43ea6534,
+0xfb5cbdf4,
+0xfe2b9420,
+0x09241f6d,
+0x6d6c1897,
+0xf147cdf0,
+0x85ef4aa7,
+0x52f33bf4,
+0x63dcb80b,
+0x498625ee,
+0xeb46dd48,
+0x40821a30,
+0x59d62ca3,
+0x308fe43e,
+0x6bf8acf3,
+0x7be31dd7,
+0xecb5e50a,
+0x07bbf983,
+0xb05579a8,
+0xb5f05de3,
+0xf7df38e6,
+0xc3168ead,
+0xc24cc30c,
+0x40816178,
+0xd1218dfa,
+0x13e3fbfa,
+0xa8003523,
+0x3ae26f8a,
+0xd832d647,
+0x84008767,
+0x02c9ed1a,
+0x38a2cc0d,
+0xc31288f0,
+0x5b3626a1,
+0x24f3f63f,
+0xd97f4d87,
+0x36fb790e,
+0x01a7aa78,
+0x892a430d,
+0xb64ba3a4,
+0x4d68f427,
+0x53bd3406,
+0x07e33155,
+0xa9f0c9cb,
+0xd7c73ec7,
+0xb2b6c39f,
+0x78dae549,
+0xbc248e4b,
+0xce95df70,
+0x5044af04,
+0x55b8a302,
+0xa0129c64,
+0x12271bb8,
+0x000a3bc3,
+0xe4d427f2,
+0x24886b4a,
+0x1e997302,
+0x7746db0a,
+0xfae04696,
+0xaefd1694,
+0x1f26e455,
+0x20b8c2e9,
+0xfe10c105,
+0xae00a37a,
+0x67c12f67,
+0x2288ab45,
+0x2d820c7b,
+0xc8e07917,
+0xf8347b39,
+0x71eb76d6,
+0x70f444b5,
+0x72ef8b85,
+0x8af6a2a2,
+0x54d2106e,
+0x90962da3,
+0x531a4050,
+0x2cb66424,
+0x45ab4bc7,
+0xbe551461,
+0xb3956598,
+0x52989b61,
+0xf20bdfba,
+0xe80333e8,
+0xf61d9d41,
+0x91e5e1f9,
+0x9d70d8e7,
+0xe0a96205,
+0x49a05793,
+0x1c3eaa2f,
+0xecd8e25f,
+0xbc6c8555,
+0x6bc8d2c9,
+0x4a849216,
+0xe47ad4d3,
+0xb8b0d1ab,
+0x36e68e84,
+0x894c17a1,
+0xa085a26c,
+0xcae9f08e,
+0x7ba26dc2,
+0xe11302ff,
+0x4dc6fd2d,
+0x5ad21098,
+0x51f5c359,
+0x4d8616fc,
+0x5f85a381,
+0xdaa943e7,
+0x66eae935,
+0x324f2f49,
+0x08eaef8d,
+0x99d83ca9,
+0x1ba342eb,
+0xdc34dc81,
+0xd496da8b,
+0x7d4d1a07,
+0x28209ab4,
+0x96f3f174,
+0xeb9dc441,
+0x6fba11e2,
+0x8591b9c1,
+0xd9598ef2,
+0x122d988a,
+0x49180774,
+0x9f14c96d,
+0x6cc3cf5e,
+0x40b9ca1e,
+0x73c0eb3b,
+0x3af92851,
+0xe4d4328e,
+0x8be7e31e,
+0x72d9e81d,
+0x5be3f474,
+0xd5153cf9,
+0x271f8ea6,
+0xb814e0da,
+0x51b84951,
+0x2e9b5b01,
+0xb2775829,
+0x7106fede,
+0x5008fabb,
+0x4ff284a4,
+0x3c0a6a2e,
+0xd0b39353,
+0x6e6b8d4b,
+0x72147d3f,
+0x9167ee56,
+0xb047ebc7,
+0xba7e17f3,
+0x9bd10205,
+0x1c80361c,
+0xb8b58271,
+0x3d56bf10,
+0xabe38435,
+0x6fed8ab8,
+0x942cc112,
+0xbd5c64fd,
+0x5a595f9b,
+0x05176f81,
+0xabd37e0a,
+0x6144ad6b,
+0x47088815,
+0x7a7d9afe,
+0x98963994,
+0xe7132bbe,
+0x2b6bd615,
+0x19d1ab61,
+0x6acd3853,
+0x4d92dd5a,
+0x71b9d34e,
+0x50b58b5b,
+0x1f2bd7dc,
+0x946648e3,
+0x516b47f9,
+0xf5b2559f,
+0x80248488,
+0x7282fcec,
+0x70976eb9,
+0x044de840,
+0xc5dd9cb2,
+0x9776dc82,
+0x9ccd429f,
+0x602beaec,
+0x5c8f9fc6,
+0x6887a2f0,
+0xeff058f4,
+0xb1107a6e,
+0x3e1475f9,
+0x55c9775b,
+0x1c5b2480,
+0x9ea9785d,
+0xf48d763d,
+0xe350ca23,
+0x01d74e0e,
+0x31f85d2d,
+0x2fb7bf21,
+0xd0a2f07e,
+0x3af0eb30,
+0xa92254e0,
+0x91c96d56,
+0xf62455dc,
+0xf7b3010f,
+0xb2f2f02e,
+0xdd543e79,
+0x311e01d2,
+0xc119cbfc,
+0x42788c7c,
+0xa07793d1,
+0xb7f9b360,
+0x04b49974,
+0x19e15120,
+0x5f3365ae,
+0xf2b75fd7,
+0xf0d5a437,
+0xdee84eb7,
+0xe235b49e,
+0x110ee285,
+0x871bda52,
+0x50f9976a,
+0xb392b1d4,
+0x38e8f0b7,
+0x5f24754e,
+0x7531598a,
+0x471cb05d,
+0x5d4d809e,
+0x25d84d02,
+0x7ff25671,
+0xba1432e9,
+0xc3f6dfec,
+0x674bb9a9,
+0xbbb019f5,
+0x739068a7,
+0x18e63978,
+0xe4174047,
+0x825a6b93,
+0x2395920f,
+0x689a7f73,
+0x4bef38dd,
+0x3bbe599a,
+0x799c5e7a,
+0xffd5fbed,
+0xd099e3e9,
+0x9194164f,
+0x7e78db3e,
+0x85bdd3a8,
+0x9604235e,
+0x799a74a4,
+0x65b5cf41,
+0xc2f5620e,
+0xbca94ed0,
+0x7d65bec1,
+0xc8678396,
+0xd5bea1c5,
+0xdba7fd10,
+0x86191768,
+0x20275f65,
+0x72e3fa45,
+0xf27a41a6,
+0xa84f32a8,
+0x4665b208,
+0x6932a73f,
+0x4aa5541c,
+0xb0235f21,
+0x15ba43c3,
+0xc611a5a1,
+0xd8210c08,
+0xd4a11fde,
+0x94ad5e53,
+0xdc9f233c,
+0x11b29680,
+0x790a7abd,
+0x6e9ff917,
+0x37009d1a,
+0x92c0651e,
+0x00339b20,
+0x083935de,
+0x59b855f8,
+0x175b1374,
+0xacd2e21f,
+0xc9212cae,
+0x3eddc591,
+0x7e119641,
+0x09f0be07,
+0xd35de1d5,
+0xd61b5ac1,
+0xe2ecc914,
+0xcf9e2d23,
+0x7404ec8d,
+0x8ad2e249,
+0x7cf68503,
+0xaf316e68,
+0x92de6e69,
+0x2e2e6410,
+0x6ed13edf,
+0x4673e5a1,
+0x82f85111,
+0x92161873,
+0x9c3a8f89,
+0x871a0e31,
+0xb164ae9b,
+0x8b89cb19,
+0x53793940,
+0x75cc9d3b,
+0x609a1da9,
+0x71fe6f11,
+0xf708492d,
+0xebe0f0c0,
+0xd04f2907,
+0x61d8fa4c,
+0x4f0134fc,
+0xce999981,
+0x888f69eb,
+0xa413d4df,
+0x27eebfa2,
+0x6f64d2fe,
+0x3a7e4033,
+0xcac4b752,
+0x0483d9df,
+0x61a364bb,
+0xf4c427ab,
+0x2c5d7c06,
+0xbfb47707,
+0x56b807aa,
+0x8408a419,
+0xde6a6e9a,
+0x774eba07,
+0xd38dd092,
+0xf6ebfbdc,
+0xd022f2f6,
+0xa1a6207e,
+0xd7faabfc,
+0xdf238d95,
+0xe816b85b,
+0x43a8e5b9,
+0x7b28fc50,
+0x6aec74d3,
+0xaa7302e8,
+0x4d81e7e8,
+0x3112c5a5,
+0xeae3d874,
+0x50fa7024,
+0x87678404,
+0xd33b04e3,
+0x1757c16a,
+0x7400d34a,
+0x37b96169,
+0xcef98f07,
+0x82bdbdbc,
+0xdbf2a376,
+0x79cfea7c,
+0x151fdf13,
+0x199eae75,
+0x7ebc10f0,
+0x8f5c4efb,
+0x87ab238a,
+0x87a5d17a,
+0xe244a387,
+0xa0d9f11e,
+0x4fb49e71,
+0xe182c333,
+0x98cc044c,
+0x1d5149b6,
+0x1d4544ca,
+0x3c8c45dd,
+0xcaf9e02d,
+0x44305ff1,
+0xf0021cd3,
+0x123c3574,
+0xb7c353be,
+0x74bc90ed,
+0x6ebe1384,
+0x70341b46,
+0x7aa99e03,
+0x1495e8d6,
+0xd63b79f0,
+0x1fee698e,
+0x76c39b65,
+0x06643aef,
+0xabdcc0fa,
+0x9d0e645c,
+0xc1d2f8c5,
+0xd9d8021e,
+0x3f4692cd,
+0x98d2ed6a,
+0x890049a8,
+0x40acc914,
+0x35e8c9cc,
+0x9ec00a9f,
+0x18699747,
+0xbe061417,
+0x9c964020,
+0xb936b74b,
+0x1b624dba,
+0xd30aa121,
+0xaf096df3,
+0x1036f549,
+0x16a32dcc,
+0x84d52118,
+0xf7f371dd,
+0x4cf463bf,
+0x3eceb0b4,
+0x03169b80,
+0x089d30b8,
+0xa3ba117b,
+0x387da25d,
+0x3e77d672,
+0x9278a1bd,
+0xa382c583,
+0x344d4433,
+0x73d462d8,
+0x2c813095,
+0x351eae3c,
+0x2c890b14,
+0xa635737a,
+0x9ef37508,
+0xa44adb58,
+0xf9081c4a,
+0xf221459c,
+0xb9c3b31a,
+0x5ff44cfd,
+0x6b76d414,
+0x1b76611c,
+0xd0af30f1,
+0xb1e0120b,
+0x3e57cc72,
+0xa60b91b8,
+0x92bf75fd,
+0x19c7631b,
+0xce167348,
+0x6da0487a,
+0x11baaa61,
+0x85d91573,
+0x20572373,
+0x04752526,
+0x01800a3f,
+0x6c57b4be,
+0x555400b7,
+0x6b2ea834,
+0x42fcd3dd,
+0x131f7de1,
+0x3b07a8a6,
+0xab096652,
+0xe013f857,
+0x6162e9c3,
+0x6ee4cb83,
+0x3800ee38,
+0xdcda1cec,
+0xd951abf3,
+0xc6738371,
+0x69f5168e,
+0x6dda3227,
+0x28f0b25b,
+0x8ee4ab11,
+0xa70dec04,
+0x999304bf,
+0xb4197071,
+0x5944bb2b,
+0xd0ce5662,
+0x911c58c3,
+0x5dff9515,
+0x5f6e9d8b,
+0xa8f24ac0,
+0x97bb2b4d,
+0x4fd0b6d4,
+0x60297a39,
+0xa8c00905,
+0xc50651b9,
+0xfc7bf5ad,
+0x762feb71,
+0x4dcc64ed,
+0xae841e75,
+0xdd465c0d,
+0xd974af26,
+0x599304a4,
+0x7b629d61,
+0xec0c610a,
+0xec99c5b6,
+0x8ced6e29,
+0x9e210b3f,
+0xe53a5246,
+0x03e6b46b,
+0x1b0b00f6,
+0x66b8c88b,
+0x3e6c0b84,
+0xaa15c764,
+0xf6cc0665,
+0x634dba8d,
+0xad85c9f9,
+0x65fc5fae,
+0x6d853d98,
+0x002b48ec,
+0x50112f44,
+0x8d643d31,
+0x9a9e387c,
+0xb39db548,
+0xf3f9e9b3,
+0xbe2a118e,
+0x5322b714,
+0x4ce55fb2,
+0xd5671db3,
+0x9a62fbe1,
+0xdbf2e5a5,
+0xe2275407,
+0xa7728090,
+0x31137d57,
+0x97a20782,
+0x40e065c3,
+0x8167ae7f,
+0xa37f005f,
+0xcc1e9385,
+0xa4362650,
+0x9a9cb0da,
+0x7bfdea1b,
+0x76dbd902,
+0x9f086098,
+0xa68fc262,
+0xb8bee2c9,
+0x60df93a3,
+0xf6008fc7,
+0x8a77f869,
+0x688fcccb,
+0xfd7fb25b,
+0x01465d3a,
+0x6cf68382,
+0xc92f5176,
+0x9f09ec23,
+0x697e8ee6,
+0x5c06c91b,
+0x64572b91,
+0x2ff6e434,
+0x02204a46,
+0x578d5507,
+0x0d485b2e,
+0x4a91a254,
+0x016598f9,
+0x4c1bb4ee,
+0x85f80a0f,
+0xfbe412c4,
+0x901e7a4f,
+0xe2423bb8,
+0x73a70f70,
+0xaef80731,
+0x2502744a,
+0xbb1f07e8,
+0xc76c48fe,
+0x75d74653,
+0x93267468,
+0xdb8ec7f9,
+0x96b1aeeb,
+0xa64f4fc7,
+0x164d6a16,
+0x6a85d57e,
+0x89daa6b3,
+0x2d6ddaf0,
+0x196278ff,
+0xce124b9c,
+0xeb3c4d4c,
+0x460105f5,
+0x6daa092f,
+0x9da3bb06,
+0x5356643e,
+0x6f8badee,
+0xfa0a1add,
+0xd451fd50,
+0x3ff2c59a,
+0xd71f4525,
+0x077bd3c6,
+0x014aafc2,
+0xacbff395,
+0xb405ff35,
+0xedb01f43,
+0xe48b3b63,
+0xbeb5d852,
+0x58629384,
+0x23c876a3,
+0x168a689f,
+0xe18fd3cd,
+0x91455d20,
+0x7dee9af8,
+0xa068cae7,
+0xc5ce3f74,
+0x2bf3673e,
+0x7428c041,
+0x9d36fedb,
+0x200b07ef,
+0x671d141b,
+0x2c4fd378,
+0xe4fb1476,
+0x89423194,
+0x40f7885a,
+0xb590d828,
+0x14250569,
+0x3d2a9f00,
+0xe5320c38,
+0x375239b8,
+0x64a4cf68,
+0xd799894a,
+0x579736ee,
+0x155ad968,
+0xb90c13a6,
+0x79804033,
+0x98739fd4,
+0x3be3a61a,
+0x0ebfb4a7,
+0xc86190d7,
+0x5a058818,
+0x2730281c,
+0xa77f7319,
+0xb702acf2,
+0xf5433a50,
+0xea6ed512,
+0x770a4a40,
+0x81bf75bd,
+0x2efb79f8,
+0xfc4d9a24,
+0x747cad81,
+0x49c4213b,
+0xea4d9247,
+0xd6f91d0b,
+0xb96f9ac2,
+0xda06efb9,
+0x85d279c5,
+0x5b8e68cc,
+0xe911e956,
+0x05523ee4,
+0x1afd632a,
+0xc9fd6932,
+0x0ad1aac6,
+0x05b408ab,
+0xfd49593c,
+0x1f70b486,
+0xf351fe2a,
+0xdc30c32e,
+0x3423a951,
+0xde044c5a,
+0xa57e83ab,
+0xae9e1d6b,
+0x54d0d510,
+0xdc849a06,
+0x4e60812b,
+0x889be676,
+0x3e8c12dd,
+0x75e803be,
+0x27fdb161,
+0x8c7fbab0,
+0xd514fa7c,
+0xbff82ab2,
+0x84acb22e,
+0x3d31513b,
+0xe5d9dfb1,
+0xa65aaeba,
+0x8e582ff0,
+0x40eba324,
+0x60346788,
+0x1dab9c75,
+0xdf5191d7,
diff --git a/src/soc/intel/braswell/microcode/Makefile.inc b/src/soc/intel/braswell/microcode/Makefile.inc
new file mode 100644
index 0000000..936dd85
--- /dev/null
+++ b/src/soc/intel/braswell/microcode/Makefile.inc
@@ -0,0 +1,13 @@
+# Add CPU uCode source to list of files to build.
+cpu_microcode-y += microcode_blob.c
+
+# This section overrides the default build process for the microcode to place
+# it at a known location in the CBFS.  This only needs to be enabled if FSP is
+# being used.
+# Define the correct offset for the file in CBFS
+fsp_ucode_cbfs_base = $(CONFIG_CPU_MICROCODE_CBFS_LOC)
+
+# Override the location that was supplied by the core code.
+add-cpu-microcode-to-cbfs = \
+	$(CBFSTOOL) $(1) add -n $(cpu_ucode_cbfs_name) -f $(cpu_ucode_cbfs_file) -t 0x53 -b $(fsp_ucode_cbfs_base)
+
diff --git a/src/soc/intel/braswell/microcode/microcode_blob.c b/src/soc/intel/braswell/microcode/microcode_blob.c
new file mode 100644
index 0000000..6ad638b
--- /dev/null
+++ b/src/soc/intel/braswell/microcode/microcode_blob.c
@@ -0,0 +1,4 @@
+unsigned microcode[] = {
+#include "M01406C3337.h"
+#include "M01406C221D.h"
+};
diff --git a/src/soc/intel/braswell/northcluster.c b/src/soc/intel/braswell/northcluster.c
new file mode 100644
index 0000000..e162585
--- /dev/null
+++ b/src/soc/intel/braswell/northcluster.c
@@ -0,0 +1,161 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <cbmem.h>
+#include <console/console.h>
+#include <cpu/x86/smm.h>
+#include <device/device.h>
+#include <device/pci.h>
+#include <device/pci_ids.h>
+#include <fsp_util.h>
+#include <soc/intel/common/memmap.h>
+#include <soc/iomap.h>
+#include <soc/iosf.h>
+#include <soc/pci_devs.h>
+#include <soc/ramstage.h>
+#include <soc/smm.h>
+#include <vendorcode/google/chromeos/chromeos.h>
+
+/*
+ * Host Memory Map:
+ *
+ * +--------------------------+ BMBOUND_HI
+ * |     Usable DRAM          |
+ * +--------------------------+ 4GiB
+ * |     PCI Address Space    |
+ * +--------------------------+ BMBOUND
+ * |     TPM                  |
+ * +--------------------------+ IMR2
+ * |     TXE                  |
+ * +--------------------------+ IMR1
+ * |     iGD                  |
+ * +--------------------------+
+ * |     GTT                  |
+ * +--------------------------+ SMMRRH, IRM0
+ * |     TSEG                 |
+ * +--------------------------+ SMMRRL
+ * |     FSP Reserved Mem     |
+ * +--------------------------+ SMMRRL - FSP_RESERVED_MEM_SIZE
+ * |     Usable DRAM          |
+ * +--------------------------+ 0
+ *
+ * Note that there are really only a few regions that need to enumerated w.r.t.
+ * coreboot's resrouce model:
+ *
+ * +--------------------------+ BMBOUND_HI
+ * |     Cacheable/Usable     |
+ * +--------------------------+ 4GiB
+ *
+ * +--------------------------+ BMBOUND
+ * |    Uncacheable/Reserved  |
+ * +--------------------------+ SMMRRH
+ * |    Cacheable/Reserved    |
+ * +--------------------------+ SMMRRL
+ * |     Cacheable/Usable     |
+ * +--------------------------+ 0
+ */
+#define RES_IN_KIB(r) ((r) >> 10)
+
+uint32_t nc_read_top_of_low_memory(void)
+{
+	return iosf_bunit_read(BUNIT_BMBOUND) & ~((1 << 27) - 1);
+}
+
+static void nc_read_resources(device_t dev)
+{
+	unsigned long mmconf;
+	unsigned long bmbound_k;
+	unsigned long bmbound_hi;
+	void *smm_base;
+	size_t smm_size;
+	unsigned long tseg_base_k;
+	unsigned long tseg_top_k;
+	unsigned long fsp_res_base_k;
+	unsigned long base_k, size_k;
+	const unsigned long four_gig_kib = (4 << (30 - 10));
+	int index = 0;
+
+	/* Read standard PCI resources. */
+	pci_dev_read_resources(dev);
+
+	/* Determine TSEG data */
+	smm_region(&smm_base, &smm_size);
+	tseg_base_k = RES_IN_KIB((unsigned long) smm_base);
+	tseg_top_k = tseg_base_k + RES_IN_KIB(smm_size);
+
+	/* Determine the base of the FSP reserved memory */
+	fsp_res_base_k = RES_IN_KIB((unsigned long) cbmem_top());
+
+	/* PCIe memory-mapped config space access - 256 MiB. */
+	mmconf = iosf_bunit_read(BUNIT_MMCONF_REG) & ~((1 << 28) - 1);
+	mmio_resource(dev, BUNIT_MMCONF_REG, RES_IN_KIB(mmconf), 256 * 1024);
+
+	/* 0 -> 0xa0000 */
+	base_k = RES_IN_KIB(0);
+	size_k = RES_IN_KIB(0xa0000) - base_k;
+	ram_resource(dev, index++, base_k, size_k);
+
+	/* 0xc0000 -> fsp_res_base - cacheable and usable */
+	base_k = RES_IN_KIB(0xc0000);
+	size_k = fsp_res_base_k - base_k;
+	ram_resource(dev, index++, base_k, size_k);
+
+	/* fsp_res_base -> tseg_top - Reserved */
+	base_k = fsp_res_base_k;
+	size_k = tseg_top_k - base_k;
+	reserved_ram_resource(dev, index++, base_k, size_k);
+
+	/* TSEG TOP -> bmbound is memory backed mmio. */
+	bmbound_k = RES_IN_KIB(nc_read_top_of_low_memory());
+	mmio_resource(dev, index++, tseg_top_k, bmbound_k - tseg_top_k);
+
+	/*
+	 * The BMBOUND_HI register matches register bits of 31:24 with address
+	 * bits of 35:28. Therefore, shift register to align properly.
+	 */
+	bmbound_hi = iosf_bunit_read(BUNIT_BMBOUND_HI) & ~((1 << 24) - 1);
+	bmbound_hi = RES_IN_KIB(bmbound_hi) << 4;
+	if (bmbound_hi > four_gig_kib)
+		ram_resource(dev, index++, four_gig_kib,
+			     bmbound_hi - four_gig_kib);
+
+	/*
+	 * Reserve everything between A segment and 1MB:
+	 *
+	 * 0xa0000 - 0xbffff: legacy VGA
+	 * 0xc0000 - 0xfffff: RAM
+	 */
+	mmio_resource(dev, index++, (0xa0000 >> 10), (0xc0000 - 0xa0000) >> 10);
+	reserved_ram_resource(dev, index++, (0xc0000 >> 10),
+			      (0x100000 - 0xc0000) >> 10);
+
+	chromeos_reserve_ram_oops(dev, index++);
+}
+
+static struct device_operations nc_ops = {
+	.read_resources   = nc_read_resources,
+	.ops_pci          = &soc_pci_ops,
+};
+
+static const struct pci_driver nc_driver __pci_driver = {
+	.ops    = &nc_ops,
+	.vendor = PCI_VENDOR_ID_INTEL,
+	.device = SOC_DEVID,
+};
diff --git a/src/soc/intel/braswell/pcie.c b/src/soc/intel/braswell/pcie.c
new file mode 100644
index 0000000..d437b3b
--- /dev/null
+++ b/src/soc/intel/braswell/pcie.c
@@ -0,0 +1,281 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "chip.h"
+#include <console/console.h>
+#include <device/device.h>
+#include <device/pci.h>
+#include <device/pciexp.h>
+#include <device/pci_ids.h>
+#include <reg_script.h>
+#include <soc/pci_devs.h>
+#include <soc/pcie.h>
+#include <soc/ramstage.h>
+#include <soc/smm.h>
+
+static int pll_en_off;
+static uint32_t strpfusecfg;
+
+static inline int root_port_offset(device_t dev)
+{
+	return PCI_FUNC(dev->path.pci.devfn);
+}
+
+static inline int is_first_port(device_t dev)
+{
+	return root_port_offset(dev) == PCIE_PORT1_FUNC;
+}
+
+static const struct reg_script init_static_before_exit_latency[] = {
+	/* Disable optimized buffer flush fill and latency tolerant reporting */
+	REG_PCI_RMW32(DCAP2, ~(OBFFS | LTRMS), 0),
+	REG_PCI_RMW32(DSTS2, ~(OBFFEN | LTRME), 0),
+	/* Set maximum payload size. */
+	REG_PCI_RMW32(DCAP, ~MPS_MASK, 0),
+	/*
+	 * Disable transmit datapath flush timer, clear transmit config change
+	 * wait time, clear sideband interface idle counter.
+	 */
+	REG_PCI_RMW32(PHYCTL2_IOSFBCTL, ~(TDFT | TXCFGCHWAIT | SIID), 0),
+	REG_SCRIPT_END,
+};
+
+static const struct reg_script init_static_after_exit_latency[] = {
+	/* Set common clock configuration. */
+	REG_PCI_OR16(LCTL, CCC),
+	/* Set NFTS to 0x743a361b */
+	REG_PCI_WRITE32(NFTS, 0x743a361b),
+	/* Set common clock latency to 0x3 */
+	REG_PCI_RMW32(MPC, ~CCEL_MASK, (0x3 << CCEL_SHIFT)),
+	/* Set relay timer policy. */
+	REG_PCI_RMW32(RTP, 0xff000000, 0x854c74),
+	/* Set IOSF packet fast transmit mode and link speed training policy. */
+	REG_PCI_OR16(MPC2, IPF | LSTP),
+	/*
+	 * Channel configuration - enable upstream posted split, set non-posted
+	 * and posted request size
+	 */
+	REG_PCI_RMW32(CHCFG, ~UPSD, UNRS | UPRS),
+	/* Completion status replay enable and set TLP grant count */
+	REG_PCI_RMW32(CFG2, ~(LATGC_MASK), CSREN | (3 << LATGC_SHIFT)),
+	/* Assume no IOAPIC behind root port -- disable EOI forwarding. */
+	REG_PCI_OR16(MPC2, EOIFD),
+	/* Expose AER */
+	REG_PCI_RMW32(AERCH, ~0, (1 << 16) | (1 << 0)),
+	/* set completion timeout to 160ms to 170ms */
+	REG_PCI_RMW16(DSTS2, ~CTD, 0x6),
+	/* Enable AER */
+	REG_PCI_OR16(DCTL_DSTS, URE | FEE | NFE | CEE),
+	/* Read and write back capabaility registers. */
+	REG_PCI_OR32(0x34, 0),
+	REG_PCI_OR32(0x80, 0),
+	/* Retrain the link. */
+	REG_PCI_OR16(LCTL, RL),
+	REG_SCRIPT_END,
+};
+
+static void pcie_init(device_t dev)
+{
+	struct reg_script init_script[] = {
+		REG_SCRIPT_NEXT(init_static_before_exit_latency),
+		/*
+		 * Exit latency configuration based on
+		 * PHYCTL2_IOSFBCTL[PLL_OFF_EN] set in root port 1
+		 */
+		REG_PCI_RMW32(LCAP, ~L1EXIT_MASK,
+			2 << (L1EXIT_MASK + pll_en_off)),
+		REG_SCRIPT_NEXT(init_static_after_exit_latency),
+		/* Disable hot plug, set power to 10W, set slot number. */
+		REG_PCI_RMW32(SLCAP, ~(HPC | HPS),
+			(1 << SLS_SHIFT) | (100 << SLV_SHIFT) |
+			(root_port_offset(dev) << SLN_SHIFT)),
+		/* Dynamic clock gating. */
+		REG_PCI_OR32(RPPGEN, RPDLCGEN | RPDBCGEN | RPSCGEN),
+		REG_PCI_OR32(PWRCTL, RPL1SQPOL | RPDTSQPOL),
+		REG_PCI_OR32(PCIEDBG, SPCE),
+		REG_SCRIPT_END,
+	};
+
+	printk(BIOS_SPEW, "%s/%s ( %s )\n",
+			__FILE__, __func__, dev_name(dev));
+
+	reg_script_run_on_dev(dev, init_script);
+
+	if (is_first_port(dev)) {
+		struct soc_intel_braswell_config *config = dev->chip_info;
+		uint32_t reg = pci_read_config32(dev, RPPGEN);
+		reg |= SRDLCGEN | SRDBCGEN;
+
+		if (config && config->clkreq_enable)
+			reg |= LCLKREQEN | BBCLKREQEN;
+
+		pci_write_config32(dev, RPPGEN, reg);
+	}
+}
+
+static const struct reg_script no_dev_behind_port[] = {
+	REG_PCI_OR32(PCIEALC, (1 << 26)),
+	REG_PCI_POLL32(PCIESTS1, 0x1f000000, (1 << 24), 50000),
+	REG_PCI_OR32(PHYCTL4, SQDIS),
+	REG_SCRIPT_END,
+};
+
+static void check_port_enabled(device_t dev)
+{
+	int rp_config = (strpfusecfg & LANECFG_MASK) >> LANECFG_SHIFT;
+
+	printk(BIOS_SPEW, "%s/%s ( %s )\n",
+			__FILE__, __func__, dev_name(dev));
+
+	switch (root_port_offset(dev)) {
+	case PCIE_PORT1_FUNC:
+		/* Port 1 cannot be disabled from strapping config. */
+		break;
+	case PCIE_PORT2_FUNC:
+		/* Port 2 disabled in all configs but 4x1. */
+		if (rp_config != 0x0)
+			dev->enabled = 0;
+		break;
+	case PCIE_PORT3_FUNC:
+		/* Port 3 disabled only in 1x4 config. */
+		if (rp_config == 0x3)
+			dev->enabled = 0;
+		break;
+	case PCIE_PORT4_FUNC:
+		/* Port 4 disabled in 1x4 and 2x2 config. */
+		if (rp_config >= 0x2)
+			dev->enabled = 0;
+		break;
+	}
+}
+
+static void check_device_present(device_t dev)
+{
+	/* port1_dev will store the dev struct pointer of the PORT1 */
+	static device_t port1_dev;
+
+	/*
+	 * Braswell Soc has 4 ROOT ports defined with MAX_ROOT_PORTS_BSW.
+	 * For each port initial assumption is that, each port will have
+	 * devices connected to it. Later we will scan each PORT and if
+	 * the device is not attached to that port we will update
+	 * rootports_in_use. If none of the root port is in use we will
+	 * disable PORT1 otherwise we will keep PORT1 enabled per spec.
+	 * In future if the Soc has more number of PCIe Root ports then
+	 * change MAX_ROOT_PORTS_BSW value accordingly.
+	 */
+
+	static uint32_t rootports_in_use = MAX_ROOT_PORTS_BSW;
+
+	printk(BIOS_SPEW, "%s/%s ( %s )\n",
+			__FILE__, __func__, dev_name(dev));
+	/* Set slot implemented. */
+	pci_write_config32(dev, XCAP, pci_read_config32(dev, XCAP) | SI);
+
+	/* No device present. */
+	if (!(pci_read_config32(dev, SLCTL_SLSTS) & PDS)) {
+		rootports_in_use--;
+		printk(BIOS_DEBUG, "No PCIe device present.");
+
+		/*
+		 * Defer PORT1 disabling for now. When we are at Last port
+		 * we will check rootports_in_use and disable PORT1 if none
+		 * of the port has any device connected
+		 */
+		if (!is_first_port(dev)) {
+			reg_script_run_on_dev(dev, no_dev_behind_port);
+			dev->enabled = 0;
+		} else
+			port1_dev = dev;
+		/*
+		 * If none of the ROOT PORT has devices connected then
+		 * disable PORT1 else keep the PORT1 enable
+		 */
+		if (!rootports_in_use) {
+			reg_script_run_on_dev(port1_dev, no_dev_behind_port);
+			port1_dev->enabled = 0;
+			southcluster_enable_dev(port1_dev);
+		}
+	} else if (!dev->enabled) {
+		/* Port is disabled, but device present. Disable link. */
+		pci_write_config32(dev, LCTL,
+			pci_read_config32(dev, LCTL) | LD);
+	}
+}
+
+static void pcie_enable(device_t dev)
+{
+	printk(BIOS_SPEW, "%s/%s ( %s )\n",
+			__FILE__, __func__, dev_name(dev));
+	if (is_first_port(dev)) {
+		struct soc_intel_braswell_config *config = dev->chip_info;
+		uint32_t reg = pci_read_config32(dev, PHYCTL2_IOSFBCTL);
+		pll_en_off = !!(reg & PLL_OFF_EN);
+
+		strpfusecfg = pci_read_config32(dev, STRPFUSECFG);
+
+		if (config && config->pcie_wake_enable)
+			southcluster_smm_save_param(
+				SMM_SAVE_PARAM_PCIE_WAKE_ENABLE, 1);
+	}
+
+	/* Check if device is enabled in strapping. */
+	check_port_enabled(dev);
+	/* Determine if device is behind port. */
+	check_device_present(dev);
+
+	southcluster_enable_dev(dev);
+}
+
+static void pcie_root_set_subsystem(device_t dev, unsigned vid, unsigned did)
+{
+	printk(BIOS_SPEW, "%s/%s ( %s, 0x%04x, 0x%04x )\n",
+			__FILE__, __func__, dev_name(dev), vid, did);
+	uint32_t didvid = ((did & 0xffff) << 16) | (vid & 0xffff);
+
+	if (!didvid)
+		didvid = pci_read_config32(dev, PCI_VENDOR_ID);
+	pci_write_config32(dev, 0x94, didvid);
+}
+
+static struct pci_operations pcie_root_ops = {
+	.set_subsystem = &pcie_root_set_subsystem,
+};
+
+static struct device_operations device_ops = {
+	.read_resources		= pci_bus_read_resources,
+	.set_resources		= pci_dev_set_resources,
+	.enable_resources	= pci_bus_enable_resources,
+	.init			= pcie_init,
+	.scan_bus		= pciexp_scan_bridge,
+	.enable			= pcie_enable,
+	.ops_pci		= &pcie_root_ops,
+};
+
+static const unsigned short pci_device_ids[] = {
+	PCIE_PORT1_DEVID, PCIE_PORT2_DEVID, PCIE_PORT3_DEVID, PCIE_PORT4_DEVID,
+	0
+};
+
+static const struct pci_driver pcie_root_ports __pci_driver = {
+	.ops	 = &device_ops,
+	.vendor	 = PCI_VENDOR_ID_INTEL,
+	.devices = pci_device_ids,
+};
diff --git a/src/soc/intel/braswell/placeholders.c b/src/soc/intel/braswell/placeholders.c
new file mode 100644
index 0000000..92ce00b
--- /dev/null
+++ b/src/soc/intel/braswell/placeholders.c
@@ -0,0 +1,8 @@
+
+#include <arch/acpi.h>
+#include <cpu/cpu.h>
+#include <device/pci_rom.h>
+#include <soc/acpi.h>
+
+/* Rmodules don't like weak symbols. */
+u32 map_oprom_vendev(u32 vendev) { return vendev; }
diff --git a/src/soc/intel/braswell/pmutil.c b/src/soc/intel/braswell/pmutil.c
new file mode 100644
index 0000000..044cbda
--- /dev/null
+++ b/src/soc/intel/braswell/pmutil.c
@@ -0,0 +1,364 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <arch/io.h>
+#include <console/console.h>
+#include <soc/iomap.h>
+#include <soc/lpc.h>
+#include <soc/pci_devs.h>
+#include <soc/pm.h>
+#include <stdint.h>
+
+#if defined(__SMM__)
+
+static const device_t pcu_dev = PCI_DEV(0, PCU_DEV, 0);
+
+static inline device_t get_pcu_dev(void)
+{
+	return pcu_dev;
+}
+
+#else /* !__SMM__ */
+#include <device/device.h>
+#include <device/pci.h>
+
+static device_t pcu_dev;
+static device_t get_pcu_dev(void)
+{
+	if (pcu_dev == NULL)
+		pcu_dev = dev_find_slot(0, PCI_DEVFN(PCU_DEV, 0));
+	return pcu_dev;
+}
+#endif
+
+uint16_t get_pmbase(void)
+{
+	return pci_read_config16(get_pcu_dev(), ABASE) & 0xfff8;
+}
+
+static void print_num_status_bits(int num_bits, uint32_t status,
+				  const char * const bit_names[])
+{
+	int i;
+
+	if (!status)
+		return;
+
+	for (i = num_bits - 1; i >= 0; i--) {
+		if (status & (1 << i)) {
+			if (bit_names[i])
+				printk(BIOS_DEBUG, "%s ", bit_names[i]);
+			else
+				printk(BIOS_DEBUG, "BIT%d ", i);
+		}
+	}
+}
+
+static void print_status_bits(uint32_t status, const char * const bit_names[])
+{
+	print_num_status_bits(32, status, bit_names);
+}
+
+static uint32_t print_smi_status(uint32_t smi_sts)
+{
+	static const char * const smi_sts_bits[] = {
+		[2] = "BIOS",
+		[4] = "SLP_SMI",
+		[5] = "APM",
+		[6] = "SWSMI_TMR",
+		[8] = "PM1",
+		[9] = "GPE0",
+		[12] = "DEVMON",
+		[13] = "TCO",
+		[14] = "PERIODIC",
+		[15] = "ILB",
+		[16] = "SMBUS_SMI",
+		[17] = "LEGACY_USB2",
+		[18] = "INTEL_USB2",
+		[20] = "PCI_EXP_SMI",
+		[26] = "SPI",
+		[28] = "PUNIT",
+		[29] = "GUNIT",
+	};
+
+	if (!smi_sts)
+		return 0;
+
+	printk(BIOS_DEBUG, "SMI_STS: ");
+	print_status_bits(smi_sts, smi_sts_bits);
+	printk(BIOS_DEBUG, "\n");
+
+	return smi_sts;
+}
+
+static uint32_t reset_smi_status(void)
+{
+	uint16_t pmbase = get_pmbase();
+	uint32_t smi_sts = inl(pmbase + SMI_STS);
+	outl(smi_sts, pmbase + SMI_STS);
+	return smi_sts;
+}
+
+uint32_t clear_smi_status(void)
+{
+	return print_smi_status(reset_smi_status());
+}
+
+void enable_smi(uint32_t mask)
+{
+	uint16_t pmbase = get_pmbase();
+	uint32_t smi_en = inl(pmbase + SMI_EN);
+	smi_en |= mask;
+	outl(smi_en, pmbase + SMI_EN);
+}
+
+void disable_smi(uint32_t mask)
+{
+	uint16_t pmbase = get_pmbase();
+	uint32_t smi_en = inl(pmbase + SMI_EN);
+	smi_en &= ~mask;
+	outl(smi_en, pmbase + SMI_EN);
+}
+
+void enable_pm1_control(uint32_t mask)
+{
+	uint16_t pmbase = get_pmbase();
+	uint32_t pm1_cnt = inl(pmbase + PM1_CNT);
+	pm1_cnt |= mask;
+	outl(pm1_cnt, pmbase + PM1_CNT);
+}
+
+void disable_pm1_control(uint32_t mask)
+{
+	uint16_t pmbase = get_pmbase();
+	uint32_t pm1_cnt = inl(pmbase + PM1_CNT);
+	pm1_cnt &= ~mask;
+	outl(pm1_cnt, pmbase + PM1_CNT);
+}
+
+static uint16_t reset_pm1_status(void)
+{
+	uint16_t pmbase = get_pmbase();
+	uint16_t pm1_sts = inw(pmbase + PM1_STS);
+	outw(pm1_sts, pmbase + PM1_STS);
+	return pm1_sts;
+}
+
+static uint16_t print_pm1_status(uint16_t pm1_sts)
+{
+	static const char * const pm1_sts_bits[] = {
+		[0] = "TMROF",
+		[5] = "GBL",
+		[8] = "PWRBTN",
+		[10] = "RTC",
+		[11] = "PRBTNOR",
+		[13] = "USB",
+		[14] = "PCIEXPWAK",
+		[15] = "WAK",
+	};
+
+	if (!pm1_sts)
+		return 0;
+
+	printk(BIOS_SPEW, "PM1_STS: ");
+	print_status_bits(pm1_sts, pm1_sts_bits);
+	printk(BIOS_SPEW, "\n");
+
+	return pm1_sts;
+}
+
+uint16_t clear_pm1_status(void)
+{
+	return print_pm1_status(reset_pm1_status());
+}
+
+void enable_pm1(uint16_t events)
+{
+	outw(events, get_pmbase() + PM1_EN);
+}
+
+static uint32_t print_tco_status(uint32_t tco_sts)
+{
+	static const char * const tco_sts_bits[] = {
+		[3] = "TIMEOUT",
+		[17] = "SECOND_TO",
+	};
+
+	if (!tco_sts)
+		return 0;
+
+	printk(BIOS_DEBUG, "TCO_STS: ");
+	print_status_bits(tco_sts, tco_sts_bits);
+	printk(BIOS_DEBUG, "\n");
+
+	return tco_sts;
+}
+
+static uint32_t reset_tco_status(void)
+{
+	uint16_t pmbase = get_pmbase();
+	uint32_t tco_sts = inl(pmbase + TCO_STS);
+	uint32_t tco_en = inl(pmbase + TCO1_CNT);
+
+	outl(tco_sts, pmbase + TCO_STS);
+	return tco_sts & tco_en;
+}
+
+uint32_t clear_tco_status(void)
+{
+	return print_tco_status(reset_tco_status());
+}
+
+void enable_gpe(uint32_t mask)
+{
+	uint16_t pmbase = get_pmbase();
+	uint32_t gpe0_en = inl(pmbase + GPE0_EN);
+	gpe0_en |= mask;
+	outl(gpe0_en, pmbase + GPE0_EN);
+}
+
+void disable_gpe(uint32_t mask)
+{
+	uint16_t pmbase = get_pmbase();
+	uint32_t gpe0_en = inl(pmbase + GPE0_EN);
+	gpe0_en &= ~mask;
+	outl(gpe0_en, pmbase + GPE0_EN);
+}
+
+void disable_all_gpe(void)
+{
+	disable_gpe(~0);
+}
+
+
+static uint32_t reset_gpe_status(void)
+{
+	uint16_t pmbase = get_pmbase();
+	uint32_t gpe_sts = inl(pmbase + GPE0_STS);
+	outl(gpe_sts, pmbase + GPE0_STS);
+	return gpe_sts;
+}
+
+static uint32_t print_gpe_sts(uint32_t gpe_sts)
+{
+	static const char * const gpe_sts_bits[] = {
+		[1] = "HOTPLUG",
+		[2] = "SWGPE",
+		[3] = "PCIE_WAKE0",
+		[4] = "PUNIT",
+		[5] = "GUNIT",
+		[6] = "PCIE_WAKE1",
+		[7] = "PCIE_WAKE2",
+		[8] = "PCIE_WAKE3",
+		[9] = "PCI_EXP",
+		[10] = "BATLOW",
+		[13] = "PME_B0",
+		[16] = "SUS_GPIO_0",
+		[17] = "SUS_GPIO_1",
+		[18] = "SUS_GPIO_2",
+		[19] = "SUS_GPIO_3",
+		[20] = "SUS_GPIO_4",
+		[21] = "SUS_GPIO_5",
+		[22] = "SUS_GPIO_6",
+		[23] = "SUS_GPIO_7",
+		[24] = "CORE_GPIO_0",
+		[25] = "CORE_GPIO_1",
+		[26] = "CORE_GPIO_2",
+		[27] = "CORE_GPIO_3",
+		[28] = "CORE_GPIO_4",
+		[29] = "CORE_GPIO_5",
+		[30] = "CORE_GPIO_6",
+		[31] = "CORE_GPIO_7",
+	};
+
+	if (!gpe_sts)
+		return gpe_sts;
+
+	printk(BIOS_DEBUG, "GPE0a_STS: ");
+	print_status_bits(gpe_sts, gpe_sts_bits);
+	printk(BIOS_DEBUG, "\n");
+
+	return gpe_sts;
+}
+
+uint32_t clear_gpe_status(void)
+{
+	return print_gpe_sts(reset_gpe_status());
+}
+
+static uint32_t reset_alt_status(void)
+{
+	uint16_t pmbase = get_pmbase();
+	uint32_t alt_gpio_smi = inl(pmbase + ALT_GPIO_SMI);
+	outl(alt_gpio_smi, pmbase + ALT_GPIO_SMI);
+	return alt_gpio_smi;
+}
+
+static uint32_t print_alt_sts(uint32_t alt_gpio_smi)
+{
+	uint32_t alt_gpio_sts;
+	static const char * const alt_gpio_smi_sts_bits[] = {
+		[0] = "SUS_GPIO_0",
+		[1] = "SUS_GPIO_1",
+		[2] = "SUS_GPIO_2",
+		[3] = "SUS_GPIO_3",
+		[4] = "SUS_GPIO_4",
+		[5] = "SUS_GPIO_5",
+		[6] = "SUS_GPIO_6",
+		[7] = "SUS_GPIO_7",
+		[8] = "CORE_GPIO_0",
+		[9] = "CORE_GPIO_1",
+		[10] = "CORE_GPIO_2",
+		[11] = "CORE_GPIO_3",
+		[12] = "CORE_GPIO_4",
+		[13] = "CORE_GPIO_5",
+		[14] = "CORE_GPIO_6",
+		[15] = "CORE_GPIO_7",
+	};
+
+	/* Status bits are in the upper 16 bits. */
+	alt_gpio_sts = alt_gpio_smi >> 16;
+	if (!alt_gpio_sts)
+		return alt_gpio_smi;
+
+	printk(BIOS_DEBUG, "ALT_GPIO_SMI: ");
+	print_num_status_bits(16, alt_gpio_sts, alt_gpio_smi_sts_bits);
+	printk(BIOS_DEBUG, "\n");
+
+	return alt_gpio_smi;
+}
+
+uint32_t clear_alt_status(void)
+{
+	return print_alt_sts(reset_alt_status());
+}
+
+void clear_pmc_status(void)
+{
+	uint32_t prsts;
+	uint32_t gen_pmcon1;
+
+	prsts = read32((void *)(PMC_BASE_ADDRESS + PRSTS));
+	gen_pmcon1 = read32((void *)(PMC_BASE_ADDRESS + GEN_PMCON1));
+
+	/* Clear the status bits. The RPS field is cleared on a 0 write. */
+	write32((void *)(PMC_BASE_ADDRESS + GEN_PMCON1), gen_pmcon1 & ~RPS);
+	write32((void *)(PMC_BASE_ADDRESS + PRSTS), prsts);
+}
diff --git a/src/soc/intel/braswell/ramstage.c b/src/soc/intel/braswell/ramstage.c
new file mode 100644
index 0000000..823a672
--- /dev/null
+++ b/src/soc/intel/braswell/ramstage.c
@@ -0,0 +1,204 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <arch/cpu.h>
+#include <arch/acpi.h>
+#include <bootstate.h>
+#include <cbmem.h>
+#include <console/console.h>
+#include <cpu/intel/microcode.h>
+#include <cpu/x86/cr.h>
+#include <cpu/x86/msr.h>
+#include <device/device.h>
+#include <device/pci_def.h>
+#include <device/pci_ops.h>
+#include <fsp_util.h>
+#include <romstage_handoff.h>
+#include <soc/gpio.h>
+#include <soc/lpc.h>
+#include <soc/msr.h>
+#include <soc/nvs.h>
+#include <soc/pattrs.h>
+#include <soc/pci_devs.h>
+#include <soc/pm.h>
+#include <soc/ramstage.h>
+#include <stdlib.h>
+
+#define SHOW_PATTRS 1
+
+struct pattrs __global_pattrs;
+
+static void detect_num_cpus(struct pattrs *attrs)
+{
+	int ecx = 0;
+
+	while (1) {
+		struct cpuid_result leaf_b;
+
+		leaf_b = cpuid_ext(0xb, ecx);
+
+		/*
+		 * The SOC doesn't have hyperthreading so just determine the
+		 * number of cores by from level type (ecx[15:8] == * 2).
+		 */
+		if ((leaf_b.ecx & 0xff00) == 0x0200) {
+			attrs->num_cpus = leaf_b.ebx & 0xffff;
+			break;
+		}
+		ecx++;
+	}
+}
+
+static inline void fill_in_msr(msr_t *msr, int idx)
+{
+	*msr = rdmsr(idx);
+	if (SHOW_PATTRS) {
+		printk(BIOS_DEBUG, "msr(%x) = %08x%08x\n",
+		       idx, msr->hi, msr->lo);
+	}
+}
+
+static const char * const stepping_str[] = {
+	"A0", "A1", "B0", "B1", "B2", "B3", "C0"
+};
+
+static void fill_in_pattrs(void)
+{
+	device_t dev;
+	msr_t msr;
+	struct pattrs *attrs = (struct pattrs *)pattrs_get();
+
+	attrs->cpuid = cpuid_eax(1);
+	dev = dev_find_slot(0, PCI_DEVFN(LPC_DEV, LPC_FUNC));
+	attrs->revid = pci_read_config8(dev, REVID);
+	/* The revision to stepping IDs have two values per metal stepping. */
+	if (attrs->revid >= RID_C_STEPPING_START) {
+		attrs->stepping = (attrs->revid - RID_C_STEPPING_START) / 2;
+		attrs->stepping += STEP_C0;
+	} else if (attrs->revid >= RID_B_STEPPING_START) {
+		attrs->stepping = (attrs->revid - RID_B_STEPPING_START) / 2;
+		attrs->stepping += STEP_B0;
+	} else {
+		attrs->stepping = (attrs->revid - RID_A_STEPPING_START) / 2;
+		attrs->stepping += STEP_A0;
+	}
+
+	attrs->microcode_patch = intel_microcode_find();
+	attrs->address_bits = cpuid_eax(0x80000008) & 0xff;
+	detect_num_cpus(attrs);
+
+	if (SHOW_PATTRS) {
+		printk(BIOS_DEBUG, "Cpuid %08x cpus %d rid %02x step %s\n",
+		       attrs->cpuid, attrs->num_cpus, attrs->revid,
+		       (attrs->stepping >= ARRAY_SIZE(stepping_str)) ? "??" :
+		       stepping_str[attrs->stepping]);
+	}
+
+	fill_in_msr(&attrs->platform_id, MSR_IA32_PLATFORM_ID);
+	fill_in_msr(&attrs->platform_info, MSR_PLATFORM_INFO);
+
+	/* Set IA core speed ratio and voltages */
+	fill_in_msr(&msr, MSR_IACORE_RATIOS);
+	attrs->iacore_ratios[IACORE_MIN] = msr.lo & 0x7f;
+	attrs->iacore_ratios[IACORE_LFM] = (msr.lo >> 8) & 0x7f;
+	attrs->iacore_ratios[IACORE_MAX] = (msr.lo >> 16) & 0x7f;
+	fill_in_msr(&msr, MSR_IACORE_TURBO_RATIOS);
+	attrs->iacore_ratios[IACORE_TURBO] = (msr.lo & 0xff); /* 1 core max */
+
+	fill_in_msr(&msr, MSR_IACORE_VIDS);
+	attrs->iacore_vids[IACORE_MIN] = msr.lo & 0x7f;
+	attrs->iacore_vids[IACORE_LFM] = (msr.lo >> 8) & 0x7f;
+	attrs->iacore_vids[IACORE_MAX] = (msr.lo >> 16) & 0x7f;
+	fill_in_msr(&msr, MSR_IACORE_TURBO_VIDS);
+	attrs->iacore_vids[IACORE_TURBO] = (msr.lo & 0xff); /* 1 core max */
+
+	/* Set bus clock speed */
+	attrs->bclk_khz = BUS_FREQ_KHZ;
+}
+
+static inline void set_acpi_sleep_type(int val)
+{
+#if IS_ENABLED(CONFIG_HAVE_ACPI_RESUME)
+	acpi_slp_type = val;
+#endif
+}
+
+/* Save bit index for first enabled event in PM1_STS for \_SB._SWS */
+static void s3_save_acpi_wake_source(global_nvs_t *gnvs)
+{
+	struct chipset_power_state *ps = cbmem_find(CBMEM_ID_POWER_STATE);
+	uint16_t pm1;
+
+	if (!ps)
+		return;
+
+	pm1 = ps->pm1_sts & ps->pm1_en;
+
+	/* Scan for first set bit in PM1 */
+	for (gnvs->pm1i = 0; gnvs->pm1i < 16; gnvs->pm1i++) {
+		if (pm1 & 1)
+			break;
+		pm1 >>= 1;
+	}
+
+	/* If unable to determine then return -1 */
+	if (gnvs->pm1i >= 16)
+		gnvs->pm1i = -1;
+
+	printk(BIOS_DEBUG, "ACPI System Wake Source is PM1 Index %d\n",
+	       gnvs->pm1i);
+}
+
+static void s3_resume_prepare(void)
+{
+	global_nvs_t *gnvs;
+	struct romstage_handoff *romstage_handoff;
+
+	gnvs = cbmem_add(CBMEM_ID_ACPI_GNVS, sizeof(global_nvs_t));
+
+	romstage_handoff = cbmem_find(CBMEM_ID_ROMSTAGE_INFO);
+	if (romstage_handoff == NULL || romstage_handoff->s3_resume == 0) {
+		if (gnvs != NULL)
+			memset(gnvs, 0, sizeof(global_nvs_t));
+		set_acpi_sleep_type(0);
+		return;
+	}
+
+	set_acpi_sleep_type(3);
+
+	s3_save_acpi_wake_source(gnvs);
+}
+
+void braswell_init_pre_device(struct soc_intel_braswell_config *config)
+{
+	struct soc_gpio_config *gpio_config;
+
+	fill_in_pattrs();
+
+	/* Allow for SSE instructions to be executed. */
+	write_cr4(read_cr4() | CR4_OSFXSR | CR4_OSXMMEXCPT);
+
+	/* Indicate S3 resume to rest of ramstage. */
+	s3_resume_prepare();
+
+	/* Get GPIO initial states from mainboard */
+	gpio_config = mainboard_get_gpios();
+	setup_soc_gpios(gpio_config, config->enable_xdp_tap);
+}
diff --git a/src/soc/intel/braswell/romstage/Makefile.inc b/src/soc/intel/braswell/romstage/Makefile.inc
new file mode 100644
index 0000000..cd67f4b
--- /dev/null
+++ b/src/soc/intel/braswell/romstage/Makefile.inc
@@ -0,0 +1,5 @@
+romstage-y += early_spi.c
+romstage-y += gfx.c
+romstage-y += pmc.c
+romstage-y += romstage.c
+
diff --git a/src/soc/intel/braswell/romstage/early_spi.c b/src/soc/intel/braswell/romstage/early_spi.c
new file mode 100644
index 0000000..5bff858
--- /dev/null
+++ b/src/soc/intel/braswell/romstage/early_spi.c
@@ -0,0 +1,68 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2014 Google Inc.  All rights reserved.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of
+ * the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <arch/io.h>
+#include <delay.h>
+#include <console/console.h>
+
+#include <soc/iomap.h>
+#include <soc/romstage.h>
+#include <soc/spi.h>
+
+#define SPI_CYCLE_DELAY 10				/* 10us */
+#define SPI_CYCLE_TIMEOUT (400000 / SPI_CYCLE_DELAY)	/* 400ms */
+
+#define SPI8(x) (*((volatile u8 *)(SPI_BASE_ADDRESS + (x))))
+#define SPI16(x) (*((volatile u16 *)(SPI_BASE_ADDRESS + (x))))
+#define SPI32(x) (*((volatile u32 *)(SPI_BASE_ADDRESS + (x))))
+
+/*
+ * Minimal set of commands to read wpsr from SPI. Don't use this code outside
+ * romstage -- it trashes the opmenu table.
+ * Returns 0 on success, < 0 on failure.
+ */
+int early_spi_read_wpsr(u8 *sr)
+{
+	int timeout = SPI_CYCLE_TIMEOUT;
+
+	/* No address associated with rdsr */
+	SPI8(OPTYPE) = 0x0;
+	/* Setup opcode[0] = read wpsr */
+	SPI8(OPMENU0) = 0x5;
+
+	/* Start transaction */
+	SPI16(SSFC) = DATA_CYCLE | SPI_CYCLE_GO;
+
+	/* Wait for error / complete status */
+	while (timeout--) {
+		u16 status = SPI16(SSFS);
+		if (status & FLASH_CYCLE_ERROR) {
+			printk(BIOS_ERR, "SPI rdsr failed\n");
+			return -1;
+		} else if (status & CYCLE_DONE_STATUS)
+			break;
+
+		udelay(SPI_CYCLE_DELAY);
+	}
+
+	*sr = SPI32(FDATA0) & 0xff;
+	return 0;
+}
diff --git a/src/soc/intel/braswell/romstage/gfx.c b/src/soc/intel/braswell/romstage/gfx.c
new file mode 100644
index 0000000..e7b0ad3
--- /dev/null
+++ b/src/soc/intel/braswell/romstage/gfx.c
@@ -0,0 +1,53 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <arch/io.h>
+#include <soc/gfx.h>
+#include <soc/pci_devs.h>
+#include <soc/romstage.h>
+
+void gfx_init(void)
+{
+	uint32_t ggc;
+	uint8_t msac;
+	const unsigned int gfx_dev = PCI_DEV(0, GFX_DEV, GFX_FUNC);
+
+	/*
+	 * The GFX device needs to set the aperture, gtt stolen size, and
+	 * graphics stolen memory stolen size before running MRC. For now
+	 * just hard code the defaults. Options can be added to the device
+	 * tree if needed.
+	 */
+
+	ggc = pci_read_config32(gfx_dev, GGC);
+	msac = pci_read_config8(gfx_dev, MSAC);
+
+	ggc &= ~(GGC_GTT_SIZE_MASK | GGC_GSM_SIZE_MASK);
+	/* 32MB GSM is not supported with <C0 stepping. */
+	ggc |= GGC_GTT_SIZE_2MB | GGC_GSM_SIZE_64MB;
+	/* Enable VGA decoding as well. */
+	ggc &= ~(GGC_VGA_DISABLE);
+
+	msac &= ~(APERTURE_SIZE_MASK);
+	msac |= APERTURE_SIZE_256MB;
+
+	pci_write_config32(gfx_dev, GGC, ggc);
+	pci_write_config8(gfx_dev, MSAC, msac);
+}
diff --git a/src/soc/intel/braswell/romstage/pmc.c b/src/soc/intel/braswell/romstage/pmc.c
new file mode 100644
index 0000000..7d2ca14
--- /dev/null
+++ b/src/soc/intel/braswell/romstage/pmc.c
@@ -0,0 +1,32 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <arch/io.h>
+#include <soc/iomap.h>
+#include <soc/romstage.h>
+
+void tco_disable(void)
+{
+	uint32_t reg;
+
+	reg = inl(ACPI_BASE_ADDRESS + TCO1_CNT);
+	reg |= TCO_TMR_HALT;
+	outl(reg, ACPI_BASE_ADDRESS + TCO1_CNT);
+}
diff --git a/src/soc/intel/braswell/romstage/romstage.c b/src/soc/intel/braswell/romstage/romstage.c
new file mode 100644
index 0000000..a795055
--- /dev/null
+++ b/src/soc/intel/braswell/romstage/romstage.c
@@ -0,0 +1,202 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <cbmem.h>
+#include <stddef.h>
+#include <arch/early_variables.h>
+#include <arch/cpu.h>
+#include <arch/io.h>
+#include <arch/cbfs.h>
+#include <arch/stages.h>
+#include <cbmem.h>
+#include <cpu/x86/mtrr.h>
+#include <console/console.h>
+#if IS_ENABLED(CONFIG_EC_GOOGLE_CHROMEEC)
+#include <ec/google/chromeec/ec.h>
+#include <ec/google/chromeec/ec_commands.h>
+#endif
+#include <elog.h>
+#include <romstage_handoff.h>
+#include <timestamp.h>
+#include <ramstage_cache.h>
+#include <reset.h>
+#include <vendorcode/google/chromeos/chromeos.h>
+#include <fsp_util.h>
+#include <soc/intel/common/mrc_cache.h>
+
+#include <soc/gpio.h>
+#include <soc/iomap.h>
+#include <soc/iosf.h>
+#include <soc/lpc.h>
+#include <soc/pci_devs.h>
+#include <soc/romstage.h>
+#include <soc/smm.h>
+#include <soc/spi.h>
+
+void program_base_addresses(void)
+{
+	uint32_t reg;
+	const uint32_t lpc_dev = PCI_DEV(0, LPC_DEV, LPC_FUNC);
+
+	/* Memory Mapped IO registers. */
+	reg = PMC_BASE_ADDRESS | 2;
+	pci_write_config32(lpc_dev, PBASE, reg);
+	reg = IO_BASE_ADDRESS | 2;
+	pci_write_config32(lpc_dev, IOBASE, reg);
+	reg = ILB_BASE_ADDRESS | 2;
+	pci_write_config32(lpc_dev, IBASE, reg);
+	reg = SPI_BASE_ADDRESS | 2;
+	pci_write_config32(lpc_dev, SBASE, reg);
+	reg = MPHY_BASE_ADDRESS | 2;
+	pci_write_config32(lpc_dev, MPBASE, reg);
+	reg = PUNIT_BASE_ADDRESS | 2;
+	pci_write_config32(lpc_dev, PUBASE, reg);
+	reg = RCBA_BASE_ADDRESS | 1;
+	pci_write_config32(lpc_dev, RCBA, reg);
+
+	/* IO Port Registers. */
+	reg = ACPI_BASE_ADDRESS | 2;
+	pci_write_config32(lpc_dev, ABASE, reg);
+	reg = GPIO_BASE_ADDRESS | 2;
+	pci_write_config32(lpc_dev, GBASE, reg);
+}
+
+void spi_init(void)
+{
+	void *scs = (void *)(SPI_BASE_ADDRESS + SCS);
+	void *bcr = (void *)(SPI_BASE_ADDRESS + BCR);
+	uint32_t reg;
+
+	/* Disable generating SMI when setting WPD bit. */
+	write32(scs, read32(scs) & ~SMIWPEN);
+	/*
+	 * Enable caching and prefetching in the SPI controller. Disable
+	 * the SMM-only BIOS write and set WPD bit.
+	 */
+	reg = (read32(bcr) & ~SRC_MASK) | SRC_CACHE_PREFETCH | BCR_WPD;
+	reg &= ~EISS;
+	write32(bcr, reg);
+}
+
+static struct chipset_power_state power_state CAR_GLOBAL;
+
+void migrate_power_state(void)
+{
+	struct chipset_power_state *ps_cbmem;
+	struct chipset_power_state *ps_car;
+
+	ps_car = car_get_var_ptr(&power_state);
+	ps_cbmem = cbmem_add(CBMEM_ID_POWER_STATE, sizeof(*ps_cbmem));
+
+	if (ps_cbmem == NULL) {
+		printk(BIOS_DEBUG, "Not adding power state to cbmem!\n");
+		return;
+	}
+	memcpy(ps_cbmem, ps_car, sizeof(*ps_cbmem));
+}
+ROMSTAGE_CBMEM_INIT_HOOK(migrate_power_state);
+
+struct chipset_power_state *fill_power_state(void)
+{
+	struct chipset_power_state *ps = car_get_var_ptr(&power_state);
+
+	ps->pm1_sts = inw(ACPI_BASE_ADDRESS + PM1_STS);
+	ps->pm1_en = inw(ACPI_BASE_ADDRESS + PM1_EN);
+	ps->pm1_cnt = inl(ACPI_BASE_ADDRESS + PM1_CNT);
+	ps->gpe0_sts = inl(ACPI_BASE_ADDRESS + GPE0_STS);
+	ps->gpe0_en = inl(ACPI_BASE_ADDRESS + GPE0_EN);
+	ps->tco_sts = inl(ACPI_BASE_ADDRESS + TCO_STS);
+	ps->prsts = read32((void *)(PMC_BASE_ADDRESS + PRSTS));
+	ps->gen_pmcon1 = read32((void *)(PMC_BASE_ADDRESS + GEN_PMCON1));
+	ps->gen_pmcon2 = read32((void *)(PMC_BASE_ADDRESS + GEN_PMCON2));
+
+	ps->prev_sleep_state = chipset_prev_sleep_state(ps);
+
+	return ps;
+}
+
+/* Return 0, 3, or 5 to indicate the previous sleep state. */
+int chipset_prev_sleep_state(struct chipset_power_state *ps)
+{
+	/* Default to S0. */
+	int prev_sleep_state = SLEEP_STATE_S0;
+
+	if (ps->pm1_sts & WAK_STS) {
+		switch ((ps->pm1_cnt & SLP_TYP) >> SLP_TYP_SHIFT) {
+	#if IS_ENABLED(CONFIG_HAVE_ACPI_RESUME)
+		case SLP_TYP_S3:
+			prev_sleep_state = SLEEP_STATE_S3;
+			break;
+	#endif
+		case SLP_TYP_S5:
+			prev_sleep_state = SLEEP_STATE_S5;
+			break;
+		}
+
+		/* Clear SLP_TYP. */
+		outl(ps->pm1_cnt & ~(SLP_TYP), ACPI_BASE_ADDRESS + PM1_CNT);
+	}
+
+	if (ps->gen_pmcon1 & (PWR_FLR | SUS_PWR_FLR))
+		prev_sleep_state = SLEEP_STATE_S5;
+
+	return prev_sleep_state;
+}
+
+void ramstage_cache_invalid(struct ramstage_cache *cache)
+{
+#if IS_ENABLED(CONFIG_RESET_ON_INVALID_RAMSTAGE_CACHE)
+	/* Perform cold reset on invalid ramstage cache. */
+	hard_reset();
+#endif
+}
+
+/* SOC initialization before the console is enabled */
+void soc_pre_console_init(struct romstage_params *params)
+{
+	/* Early chipset initialization */
+	program_base_addresses();
+	tco_disable();
+}
+
+/* SOC initialization after console is enabled */
+void soc_romstage_init(struct romstage_params *params)
+{
+	/* Continue chipset initialization */
+	spi_init();
+	gfx_init();
+
+#if IS_ENABLED(CONFIG_EC_GOOGLE_CHROMEEC)
+	/* Ensure the EC is in the right mode for recovery */
+	google_chromeec_early_init();
+#endif
+}
+
+/* SOC initialization after RAM is enabled */
+void soc_after_ram_init(struct romstage_params *params)
+{
+	u32 value;
+
+	/* Make sure that E0000 and F0000 are RAM */
+	printk(BIOS_DEBUG, "Disable ROM shadow below 1MB.\n");
+	value = iosf_bunit_read(BUNIT_BMISC);
+	value |= 3;
+	iosf_bunit_write(BUNIT_BMISC, value);
+}
diff --git a/src/soc/intel/braswell/sata.c b/src/soc/intel/braswell/sata.c
new file mode 100644
index 0000000..98768d1
--- /dev/null
+++ b/src/soc/intel/braswell/sata.c
@@ -0,0 +1,64 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <arch/io.h>
+#include <soc/pci_devs.h>
+#include <soc/ramstage.h>
+#include <soc/sata.h>
+#include <console/console.h>
+#include <delay.h>
+#include <device/device.h>
+#include <device/pci.h>
+#include <device/pci_ids.h>
+
+#include "chip.h"
+
+typedef struct soc_intel_braswell_config config_t;
+
+static void sata_init(struct device *dev)
+{
+	printk(BIOS_SPEW, "%s/%s ( %s )\n",
+			__FILE__, __func__, dev_name(dev));
+}
+
+static void sata_enable(device_t dev)
+{
+	southcluster_enable_dev(dev);
+}
+
+static struct device_operations sata_ops = {
+	.read_resources		= pci_dev_read_resources,
+	.set_resources		= pci_dev_set_resources,
+	.enable_resources	= pci_dev_enable_resources,
+	.init			= sata_init,
+	.enable			= sata_enable,
+	.ops_pci		= &soc_pci_ops,
+};
+
+static const unsigned short pci_device_ids[] = {
+	AHCI1_DEVID,	/* AHCI */
+	0,
+};
+
+static const struct pci_driver braswell_sata __pci_driver = {
+	.ops     = &sata_ops,
+	.vendor  = PCI_VENDOR_ID_INTEL,
+	.devices = pci_device_ids,
+};
diff --git a/src/soc/intel/braswell/scc.c b/src/soc/intel/braswell/scc.c
new file mode 100644
index 0000000..3f1d2fa
--- /dev/null
+++ b/src/soc/intel/braswell/scc.c
@@ -0,0 +1,73 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+
+#include <cbmem.h>
+#include <console/console.h>
+#include <device/device.h>
+#include <device/pci.h>
+#include <device/pci_ids.h>
+#include <reg_script.h>
+#include <soc/iosf.h>
+#include <soc/nvs.h>
+#include <soc/ramstage.h>
+
+void scc_enable_acpi_mode(device_t dev, int iosf_reg, int nvs_index)
+{
+	struct reg_script ops[] = {
+		/* Disable PCI interrupt, enable Memory and Bus Master */
+		REG_PCI_OR32(PCI_COMMAND,
+			     PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER | (1<<10)),
+		/* Enable ACPI mode */
+		REG_IOSF_OR(IOSF_PORT_SCC, iosf_reg,
+			    SCC_CTL_PCI_CFG_DIS | SCC_CTL_ACPI_INT_EN),
+		REG_SCRIPT_END
+	};
+	struct resource *bar;
+	global_nvs_t *gnvs;
+
+	printk(BIOS_SPEW, "%s/%s ( %s, 0x%08x, 0x%08x )\n",
+			__FILE__, __func__, dev_name(dev), iosf_reg, nvs_index);
+
+	/* Find ACPI NVS to update BARs */
+	gnvs = cbmem_find(CBMEM_ID_ACPI_GNVS);
+	if (!gnvs) {
+		printk(BIOS_ERR, "Unable to locate Global NVS\n");
+		return;
+	}
+
+	/* Save BAR0 and BAR1 to ACPI NVS */
+	bar = find_resource(dev, PCI_BASE_ADDRESS_0);
+	if (bar)
+		gnvs->dev.scc_bar0[nvs_index] = (u32)bar->base;
+
+	/* TODO: Finding resource from PCI_BASE_ADDRESS_1 is failing */
+	/*
+	bar = find_resource(dev, PCI_BASE_ADDRESS_1);
+	if (bar)
+		gnvs->dev.scc_bar1[nvs_index] = (u32)bar->base;
+	*/
+
+	/* Device is enabled in ACPI mode */
+	gnvs->dev.scc_en[nvs_index] = 1;
+
+	/* Put device in ACPI mode */
+	reg_script_run_on_dev(dev, ops);
+}
diff --git a/src/soc/intel/braswell/sd.c b/src/soc/intel/braswell/sd.c
new file mode 100644
index 0000000..986823f
--- /dev/null
+++ b/src/soc/intel/braswell/sd.c
@@ -0,0 +1,72 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <arch/io.h>
+#include <console/console.h>
+#include <device/device.h>
+#include <device/pci.h>
+#include <device/pci_ids.h>
+#include <reg_script.h>
+
+#include <soc/iosf.h>
+#include <soc/nvs.h>
+#include <soc/pci_devs.h>
+#include <soc/ramstage.h>
+#include "chip.h"
+
+#define CAP_OVERRIDE_LOW 0xa0
+#define CAP_OVERRIDE_HIGH 0xa4
+# define USE_CAP_OVERRIDES (1 << 31)
+
+static void sd_init(device_t dev)
+{
+	struct soc_intel_braswell_config *config = dev->chip_info;
+
+	printk(BIOS_SPEW, "%s/%s ( %s )\n",
+			__FILE__, __func__, dev_name(dev));
+
+	if (config == NULL)
+		return;
+
+	if (config->sdcard_cap_low != 0 || config->sdcard_cap_high != 0) {
+		printk(BIOS_DEBUG, "Overriding SD Card controller caps.\n");
+		pci_write_config32(dev, CAP_OVERRIDE_LOW,
+				   config->sdcard_cap_low);
+		pci_write_config32(dev, CAP_OVERRIDE_HIGH,
+				   config->sdcard_cap_high | USE_CAP_OVERRIDES);
+	}
+
+	if (config->sd_acpi_mode)
+		scc_enable_acpi_mode(dev, SCC_SD_CTL, SCC_NVS_SD);
+}
+
+static const struct device_operations device_ops = {
+	.read_resources		= pci_dev_read_resources,
+	.set_resources		= pci_dev_set_resources,
+	.enable_resources	= pci_dev_enable_resources,
+	.init			= sd_init,
+	.ops_pci		= &soc_pci_ops,
+};
+
+static const struct pci_driver southcluster __pci_driver = {
+	.ops		= &device_ops,
+	.vendor		= PCI_VENDOR_ID_INTEL,
+	.device		= SD_DEVID,
+};
diff --git a/src/soc/intel/braswell/smihandler.c b/src/soc/intel/braswell/smihandler.c
new file mode 100644
index 0000000..de4177f
--- /dev/null
+++ b/src/soc/intel/braswell/smihandler.c
@@ -0,0 +1,435 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <arch/hlt.h>
+#include <arch/io.h>
+#include <console/console.h>
+#include <cpu/x86/cache.h>
+#include <cpu/x86/smm.h>
+#include <device/pci_def.h>
+#include <elog.h>
+#include <soc/nvs.h>
+#include <soc/pci_devs.h>
+#include <soc/pm.h>
+#include <spi-generic.h>
+#include <stdint.h>
+#include <stdlib.h>
+
+/* GNVS needs to be set by coreboot initiating a software SMI. */
+static global_nvs_t *gnvs;
+static int smm_initialized;
+
+int southbridge_io_trap_handler(int smif)
+{
+	switch (smif) {
+	case 0x32:
+		printk(BIOS_DEBUG, "OS Init\n");
+		/*
+		 * gnvs->smif:
+		 *  On success, the IO Trap Handler returns 0
+		 *  On failure, the IO Trap Handler returns a value != 0
+		 */
+		gnvs->smif = 0;
+		return 1; /* IO trap handled */
+	}
+
+	/* Not handled */
+	return 0;
+}
+
+void southbridge_smi_set_eos(void)
+{
+	enable_smi(EOS);
+}
+
+global_nvs_t *smm_get_gnvs(void)
+{
+	return gnvs;
+}
+
+static void busmaster_disable_on_bus(int bus)
+{
+	int slot, func;
+	unsigned int val;
+	unsigned char hdr;
+
+	for (slot = 0; slot < 0x20; slot++) {
+		for (func = 0; func < 8; func++) {
+			u32 reg32;
+			device_t dev = PCI_DEV(bus, slot, func);
+
+			val = pci_read_config32(dev, PCI_VENDOR_ID);
+
+			if (val == 0xffffffff || val == 0x00000000 ||
+			    val == 0x0000ffff || val == 0xffff0000)
+				continue;
+
+			/* Disable Bus Mastering for this one device */
+			reg32 = pci_read_config32(dev, PCI_COMMAND);
+			reg32 &= ~PCI_COMMAND_MASTER;
+			pci_write_config32(dev, PCI_COMMAND, reg32);
+
+			/* If this is a bridge, then follow it. */
+			hdr = pci_read_config8(dev, PCI_HEADER_TYPE);
+			hdr &= 0x7f;
+			if (hdr == PCI_HEADER_TYPE_BRIDGE ||
+			    hdr == PCI_HEADER_TYPE_CARDBUS) {
+				unsigned int buses;
+				buses = pci_read_config32(dev, PCI_PRIMARY_BUS);
+				busmaster_disable_on_bus((buses >> 8) & 0xff);
+			}
+		}
+	}
+}
+
+static void southbridge_smi_sleep(void)
+{
+	uint32_t reg32;
+	uint8_t slp_typ;
+	uint16_t pmbase = get_pmbase();
+
+	/* First, disable further SMIs */
+	disable_smi(SLP_SMI_EN);
+
+	/* Figure out SLP_TYP */
+	reg32 = inl(pmbase + PM1_CNT);
+	printk(BIOS_SPEW, "SMI#: SLP = 0x%08x\n", reg32);
+	slp_typ = (reg32 >> 10) & 7;
+
+	/* Do any mainboard sleep handling */
+	mainboard_smi_sleep(slp_typ-2);
+
+#if IS_ENABLED(CONFIG_ELOG_GSMI)
+	/* Log S3, S4, and S5 entry */
+	if (slp_typ >= 5)
+		elog_add_event_byte(ELOG_TYPE_ACPI_ENTER, slp_typ-2);
+#endif
+
+	/* Next, do the deed. */
+
+	switch (slp_typ) {
+	case SLP_TYP_S0:
+		printk(BIOS_DEBUG, "SMI#: Entering S0 (On)\n");
+		break;
+	case SLP_TYP_S1:
+		printk(BIOS_DEBUG, "SMI#: Entering S1 (Assert STPCLK#)\n");
+		break;
+	case SLP_TYP_S3:
+		printk(BIOS_DEBUG, "SMI#: Entering S3 (Suspend-To-RAM)\n");
+
+		/* Invalidate the cache before going to S3 */
+		wbinvd();
+		break;
+	case SLP_TYP_S4:
+		printk(BIOS_DEBUG, "SMI#: Entering S4 (Suspend-To-Disk)\n");
+		break;
+	case SLP_TYP_S5:
+		printk(BIOS_DEBUG, "SMI#: Entering S5 (Soft Power off)\n");
+
+		/* Disable all GPE */
+		disable_all_gpe();
+
+		/* also iterates over all bridges on bus 0 */
+		busmaster_disable_on_bus(0);
+		break;
+	default:
+		printk(BIOS_DEBUG, "SMI#: ERROR: SLP_TYP reserved\n");
+		break;
+	}
+	/* Clear pending wake status bit to avoid immediate wake */
+	write32((void *)(0xfed88000 + 0x0200),
+		read32((void *)(0xfed88000 + 0x0200)));
+
+	/*
+	 * Write back to the SLP register to cause the originally intended
+	 * event again. We need to set BIT13 (SLP_EN) though to make the
+	 * sleep happen.
+	 */
+	enable_pm1_control(SLP_EN);
+
+	/* Make sure to stop executing code here for S3/S4/S5 */
+	if (slp_typ > 1)
+		hlt();
+
+	/*
+	 * In most sleep states, the code flow of this function ends at
+	 * the line above. However, if we entered sleep state S1 and wake
+	 * up again, we will continue to execute code in this function.
+	 */
+	reg32 = inl(pmbase + PM1_CNT);
+	if (reg32 & SCI_EN) {
+		/* The OS is not an ACPI OS, so we set the state to S0 */
+		disable_pm1_control(SLP_EN | SLP_TYP);
+	}
+}
+
+/*
+ * Look for Synchronous IO SMI and use save state from that
+ * core in case we are not running on the same core that
+ * initiated the IO transaction.
+ */
+static em64t100_smm_state_save_area_t *smi_apmc_find_state_save(uint8_t cmd)
+{
+	em64t100_smm_state_save_area_t *state;
+	int node;
+
+	/* Check all nodes looking for the one that issued the IO */
+	for (node = 0; node < CONFIG_MAX_CPUS; node++) {
+		state = smm_get_save_state(node);
+
+		/* Check for Synchronous IO (bit0==1) */
+		if (!(state->io_misc_info & (1 << 0)))
+			continue;
+
+		/* Make sure it was a write (bit4==0) */
+		if (state->io_misc_info & (1 << 4))
+			continue;
+
+		/* Check for APMC IO port */
+		if (((state->io_misc_info >> 16) & 0xff) != APM_CNT)
+			continue;
+
+		/* Check AX against the requested command */
+		if ((state->rax & 0xff) != cmd)
+			continue;
+
+		return state;
+	}
+
+	return NULL;
+}
+
+#if IS_ENABLED(CONFIG_ELOG_GSMI)
+static void southbridge_smi_gsmi(void)
+{
+	u32 *ret, *param;
+	uint8_t sub_command;
+	em64t100_smm_state_save_area_t *io_smi =
+		smi_apmc_find_state_save(ELOG_GSMI_APM_CNT);
+
+	if (!io_smi)
+		return;
+
+	/* Command and return value in EAX */
+	ret = (u32 *)&io_smi->rax;
+	sub_command = (uint8_t)(*ret >> 8);
+
+	/* Parameter buffer in EBX */
+	param = (u32 *)&io_smi->rbx;
+
+	/* drivers/elog/gsmi.c */
+	*ret = gsmi_exec(sub_command, param);
+}
+#endif
+
+static void finalize(void)
+{
+	static int finalize_done;
+
+	if (finalize_done) {
+		printk(BIOS_DEBUG, "SMM already finalized.\n");
+		return;
+	}
+	finalize_done = 1;
+
+#if IS_ENABLED(CONFIG_SPI_FLASH_SMM)
+	/* Re-init SPI driver to handle locked BAR */
+	spi_init();
+#endif
+}
+
+static void southbridge_smi_apmc(void)
+{
+	uint8_t reg8;
+	em64t100_smm_state_save_area_t *state;
+
+	/* Emulate B2 register as the FADT / Linux expects it */
+
+	reg8 = inb(APM_CNT);
+	switch (reg8) {
+	case APM_CNT_CST_CONTROL:
+		/*
+		 * Calling this function seems to cause
+		 * some kind of race condition in Linux
+		 * and causes a kernel oops
+		 */
+		printk(BIOS_DEBUG, "C-state control\n");
+		break;
+	case APM_CNT_PST_CONTROL:
+		/*
+		 * Calling this function seems to cause
+		 * some kind of race condition in Linux
+		 * and causes a kernel oops
+		 */
+		printk(BIOS_DEBUG, "P-state control\n");
+		break;
+	case APM_CNT_ACPI_DISABLE:
+		disable_pm1_control(SCI_EN);
+		printk(BIOS_DEBUG, "SMI#: ACPI disabled.\n");
+		break;
+	case APM_CNT_ACPI_ENABLE:
+		enable_pm1_control(SCI_EN);
+		printk(BIOS_DEBUG, "SMI#: ACPI enabled.\n");
+		break;
+	case APM_CNT_GNVS_UPDATE:
+		if (smm_initialized) {
+			printk(BIOS_DEBUG,
+			       "SMI#: SMM structures already initialized!\n");
+			return;
+		}
+		state = smi_apmc_find_state_save(reg8);
+		if (state) {
+			/* EBX in the state save contains the GNVS pointer */
+			gnvs = (global_nvs_t *)((uint32_t)state->rbx);
+			smm_initialized = 1;
+			printk(BIOS_DEBUG, "SMI#: Setting GNVS to %p\n", gnvs);
+		}
+		break;
+#if IS_ENABLED(CONFIG_ELOG_GSMI)
+	case ELOG_GSMI_APM_CNT:
+		southbridge_smi_gsmi();
+		break;
+#endif
+	case APM_CNT_FINALIZE:
+		finalize();
+		break;
+	}
+
+	mainboard_smi_apmc(reg8);
+}
+
+static void southbridge_smi_pm1(void)
+{
+	uint16_t pm1_sts = clear_pm1_status();
+
+	/*
+	 * While OSPM is not active, poweroff immediately
+	 * on a power button event.
+	 */
+	if (pm1_sts & PWRBTN_STS) {
+		/* power button pressed */
+#if IS_ENABLED(CONFIG_ELOG_GSMI)
+		elog_add_event(ELOG_TYPE_POWER_BUTTON);
+#endif
+		disable_pm1_control(-1UL);
+		enable_pm1_control(SLP_EN | (SLP_TYP_S5 << SLP_TYP_SHIFT));
+	}
+}
+
+static void southbridge_smi_gpe0(void)
+{
+	clear_gpe_status();
+}
+
+static void southbridge_smi_tco(void)
+{
+	uint32_t tco_sts = clear_tco_status();
+
+	/* Any TCO event? */
+	if (!tco_sts)
+		return;
+
+	if (tco_sts & TCO_TIMEOUT) { /* TIMEOUT */
+		/* Handle TCO timeout */
+		printk(BIOS_DEBUG, "TCO Timeout.\n");
+	}
+}
+
+static void southbridge_smi_periodic(void)
+{
+	uint32_t reg32;
+
+	reg32 = inl(get_pmbase() + SMI_EN);
+
+	/* Are periodic SMIs enabled? */
+	if ((reg32 & PERIODIC_EN) == 0)
+		return;
+
+	printk(BIOS_DEBUG, "Periodic SMI.\n");
+}
+
+typedef void (*smi_handler_t)(void);
+
+static const smi_handler_t southbridge_smi[32] = {
+	NULL,			  /*  [0] reserved */
+	NULL,			  /*  [1] reserved */
+	NULL,			  /*  [2] BIOS_STS */
+	NULL,			  /*  [3] LEGACY_USB_STS */
+	southbridge_smi_sleep,	  /*  [4] SLP_SMI_STS */
+	southbridge_smi_apmc,	  /*  [5] APM_STS */
+	NULL,			  /*  [6] SWSMI_TMR_STS */
+	NULL,			  /*  [7] reserved */
+	southbridge_smi_pm1,	  /*  [8] PM1_STS */
+	southbridge_smi_gpe0,	  /*  [9] GPE0_STS */
+	NULL,			  /* [10] reserved */
+	NULL,			  /* [11] reserved */
+	NULL,			  /* [12] reserved */
+	southbridge_smi_tco,	  /* [13] TCO_STS */
+	southbridge_smi_periodic, /* [14] PERIODIC_STS */
+	NULL,			  /* [15] SERIRQ_SMI_STS */
+	NULL,			  /* [16] SMBUS_SMI_STS */
+	NULL,			  /* [17] LEGACY_USB2_STS */
+	NULL,			  /* [18] INTEL_USB2_STS */
+	NULL,			  /* [19] reserved */
+	NULL,			  /* [20] PCI_EXP_SMI_STS */
+	NULL,			  /* [21] reserved */
+	NULL,			  /* [22] reserved */
+	NULL,			  /* [23] reserved */
+	NULL,			  /* [24] reserved */
+	NULL,			  /* [25] reserved */
+	NULL,			  /* [26] SPI_STS */
+	NULL,			  /* [27] reserved */
+	NULL,			  /* [28] PUNIT */
+	NULL,			  /* [29] GUNIT */
+	NULL,			  /* [30] reserved */
+	NULL			  /* [31] reserved */
+};
+
+void southbridge_smi_handler(void)
+{
+	int i;
+	uint32_t smi_sts;
+
+	/*
+	 * We need to clear the SMI status registers, or we won't see what's
+	 * happening in the following calls.
+	 */
+	smi_sts = clear_smi_status();
+
+	/* Call SMI sub handler for each of the status bits */
+	for (i = 0; i < ARRAY_SIZE(southbridge_smi); i++) {
+		if (!(smi_sts & (1 << i)))
+			continue;
+
+		if (southbridge_smi[i] != NULL) {
+			southbridge_smi[i]();
+		} else {
+			printk(BIOS_DEBUG,
+			       "SMI_STS[%d] occured, but no "
+			       "handler available.\n", i);
+		}
+	}
+
+	/*
+	 * The GPIO SMI events do not have a status bit in SMI_STS. Therefore,
+	 * these events need to be cleared and checked unconditionally.
+	 */
+	mainboard_smi_gpi(clear_alt_status());
+}
diff --git a/src/soc/intel/braswell/smm.c b/src/soc/intel/braswell/smm.c
new file mode 100644
index 0000000..51610b8
--- /dev/null
+++ b/src/soc/intel/braswell/smm.c
@@ -0,0 +1,137 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of
+ * the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+
+#include <arch/io.h>
+#include <console/console.h>
+#include <cpu/cpu.h>
+#include <cpu/x86/smm.h>
+#include <device/device.h>
+#include <device/pci.h>
+#include <soc/iomap.h>
+#include <soc/pm.h>
+#include <soc/smm.h>
+#include <string.h>
+
+/* Save settings which will be committed in SMI functions. */
+static uint32_t smm_save_params[SMM_SAVE_PARAM_COUNT];
+
+void smm_init(void)
+{
+}
+
+void southcluster_smm_save_param(int param, uint32_t data)
+{
+	smm_save_params[param] = data;
+}
+
+void southcluster_smm_clear_state(void)
+{
+	uint32_t smi_en;
+
+	/* Log events from chipset before clearing */
+	southcluster_log_state();
+
+	printk(BIOS_DEBUG, "Initializing Southbridge SMI...");
+	printk(BIOS_SPEW, " pmbase = 0x%04x\n", get_pmbase());
+
+	smi_en = inl(get_pmbase() + SMI_EN);
+	if (smi_en & APMC_EN) {
+		printk(BIOS_INFO, "SMI# handler already enabled?\n");
+		return;
+	}
+
+	/* Dump and clear status registers */
+	clear_smi_status();
+	clear_pm1_status();
+	clear_tco_status();
+	clear_gpe_status();
+	clear_alt_status();
+	clear_pmc_status();
+}
+
+static void southcluster_smm_route_gpios(void)
+{
+	void *gpio_rout = (void *)(PMC_BASE_ADDRESS + GPIO_ROUT);
+	const unsigned short alt_gpio_smi = ACPI_BASE_ADDRESS + ALT_GPIO_SMI;
+	uint32_t alt_gpio_reg = 0;
+	uint32_t route_reg = smm_save_params[SMM_SAVE_PARAM_GPIO_ROUTE];
+	int i;
+
+	printk(BIOS_DEBUG, "GPIO_ROUT = %08x\n", route_reg);
+
+	/* Start the routing for the specific gpios. */
+	write32(gpio_rout, route_reg);
+
+	/* Enable SMIs for the gpios that are set to trigger the SMI. */
+	for (i = 0; i < 16; i++) {
+		if ((route_reg & ROUTE_MASK) == ROUTE_SMI)
+			alt_gpio_reg |= (1 << i);
+		route_reg >>= 2;
+	}
+	printk(BIOS_DEBUG, "ALT_GPIO_SMI = %08x\n", alt_gpio_reg);
+
+	outl(alt_gpio_reg, alt_gpio_smi);
+}
+
+void southcluster_smm_enable_smi(void)
+{
+	uint16_t pm1_events = PWRBTN_EN | GBL_EN;
+
+	printk(BIOS_DEBUG, "Enabling SMIs.\n");
+	if (!smm_save_params[SMM_SAVE_PARAM_PCIE_WAKE_ENABLE])
+		pm1_events |= PCIEXPWAK_DIS;
+	enable_pm1(pm1_events);
+	disable_gpe(PME_B0_EN);
+
+	/* Set up the GPIO route. */
+	southcluster_smm_route_gpios();
+
+	/*
+	 * Enable SMI generation:
+	 *  - on APMC writes (io 0xb2)
+	 *  - on writes to SLP_EN (sleep states)
+	 *  - on writes to GBL_RLS (bios commands)
+	 * No SMIs:
+	 *  - on TCO events
+	 *  - on microcontroller writes (io 0x62/0x66)
+	 */
+	enable_smi(APMC_EN | SLP_SMI_EN | GBL_SMI_EN | EOS);
+}
+
+void smm_setup_structures(void *gnvs, void *tcg, void *smi1)
+{
+	/*
+	 * Issue SMI to set the gnvs pointer in SMM.
+	 * tcg and smi1 are unused.
+	 *
+	 * EAX = APM_CNT_GNVS_UPDATE
+	 * EBX = gnvs pointer
+	 * EDX = APM_CNT
+	 */
+	asm volatile (
+		"outb %%al, %%dx\n\t"
+		: /* ignore result */
+		: "a" (APM_CNT_GNVS_UPDATE),
+		  "b" ((uint32_t)gnvs),
+		  "d" (APM_CNT)
+	);
+}
diff --git a/src/soc/intel/braswell/southcluster.c b/src/soc/intel/braswell/southcluster.c
new file mode 100644
index 0000000..48a4b79
--- /dev/null
+++ b/src/soc/intel/braswell/southcluster.c
@@ -0,0 +1,550 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008-2009 coresystems GmbH
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <arch/io.h>
+#include <arch/acpi.h>
+#include <bootstate.h>
+#include <cbmem.h>
+#include "chip.h"
+#include <console/console.h>
+#include <cpu/x86/smm.h>
+#include <device/device.h>
+#include <device/pci.h>
+#include <device/pci_ids.h>
+#include <pc80/mc146818rtc.h>
+#include <romstage_handoff.h>
+#include <soc/iomap.h>
+#include <soc/irq.h>
+#include <soc/lpc.h>
+#include <soc/nvs.h>
+#include <soc/pci_devs.h>
+#include <soc/pm.h>
+#include <soc/ramstage.h>
+#include <soc/spi.h>
+#include <stdint.h>
+#include <uart8250.h>
+
+static inline void
+add_mmio_resource(device_t dev, int i, unsigned long addr, unsigned long size)
+{
+	printk(BIOS_SPEW, "%s/%s ( %s, 0x%016lx, 0x%016lx )\n",
+			__FILE__, __func__, dev_name(dev), addr, size);
+	mmio_resource(dev, i, addr >> 10, size >> 10);
+}
+
+static void sc_add_mmio_resources(device_t dev)
+{
+	printk(BIOS_SPEW, "%s/%s ( %s )\n",
+			__FILE__, __func__, dev_name(dev));
+	add_mmio_resource(dev, 0xfeb, ABORT_BASE_ADDRESS, ABORT_BASE_SIZE);
+	add_mmio_resource(dev, PBASE, PMC_BASE_ADDRESS, PMC_BASE_SIZE);
+	add_mmio_resource(dev, IOBASE, IO_BASE_ADDRESS, IO_BASE_SIZE);
+	add_mmio_resource(dev, IBASE, ILB_BASE_ADDRESS, ILB_BASE_SIZE);
+	add_mmio_resource(dev, SBASE, SPI_BASE_ADDRESS, SPI_BASE_SIZE);
+	add_mmio_resource(dev, MPBASE, MPHY_BASE_ADDRESS, MPHY_BASE_SIZE);
+	add_mmio_resource(dev, PUBASE, PUNIT_BASE_ADDRESS, PUNIT_BASE_SIZE);
+	add_mmio_resource(dev, RCBA, RCBA_BASE_ADDRESS, RCBA_BASE_SIZE);
+}
+
+/* Default IO range claimed by the LPC device. The upper bound is exclusive. */
+#define LPC_DEFAULT_IO_RANGE_LOWER 0
+#define LPC_DEFAULT_IO_RANGE_UPPER 0x1000
+
+static inline int io_range_in_default(int base, int size)
+{
+	/* Does it start above the range? */
+	if (base >= LPC_DEFAULT_IO_RANGE_UPPER)
+		return 0;
+
+	/* Is it entirely contained? */
+	if (base >= LPC_DEFAULT_IO_RANGE_LOWER &&
+	    (base + size) < LPC_DEFAULT_IO_RANGE_UPPER)
+		return 1;
+
+	/* This will return not in range for partial overlaps. */
+	return 0;
+}
+
+/*
+ * Note: this function assumes there is no overlap with the default LPC device's
+ * claimed range: LPC_DEFAULT_IO_RANGE_LOWER -> LPC_DEFAULT_IO_RANGE_UPPER.
+ */
+static void sc_add_io_resource(device_t dev, int base, int size, int index)
+{
+	struct resource *res;
+
+	printk(BIOS_SPEW, "%s/%s ( %s, 0x%08x, 0x%08x, 0x%08x )\n",
+			__FILE__, __func__, dev_name(dev), base, size, index);
+
+	if (io_range_in_default(base, size))
+		return;
+
+	res = new_resource(dev, index);
+	res->base = base;
+	res->size = size;
+	res->flags = IORESOURCE_IO | IORESOURCE_ASSIGNED | IORESOURCE_FIXED;
+}
+
+static void sc_add_io_resources(device_t dev)
+{
+	struct resource *res;
+
+	printk(BIOS_SPEW, "%s/%s ( %s )\n",
+			__FILE__, __func__, dev_name(dev));
+
+	/* Add the default claimed IO range for the LPC device. */
+	res = new_resource(dev, 0);
+	res->base = LPC_DEFAULT_IO_RANGE_LOWER;
+	res->size = LPC_DEFAULT_IO_RANGE_UPPER - LPC_DEFAULT_IO_RANGE_LOWER;
+	res->flags = IORESOURCE_IO | IORESOURCE_ASSIGNED | IORESOURCE_FIXED;
+
+	/* GPIO */
+	sc_add_io_resource(dev, GPIO_BASE_ADDRESS, 256, GBASE);
+
+	/* ACPI */
+	sc_add_io_resource(dev, ACPI_BASE_ADDRESS, 128, ABASE);
+}
+
+static void sc_read_resources(device_t dev)
+{
+	printk(BIOS_SPEW, "%s/%s ( %s )\n",
+			__FILE__, __func__, dev_name(dev));
+
+	/* Get the normal PCI resources of this device. */
+	pci_dev_read_resources(dev);
+
+	/* Add non-standard MMIO resources. */
+	sc_add_mmio_resources(dev);
+
+	/* Add IO resources. */
+	sc_add_io_resources(dev);
+}
+
+static void sc_rtc_init(void)
+{
+	uint32_t gen_pmcon1;
+	int rtc_fail;
+	struct chipset_power_state *ps = cbmem_find(CBMEM_ID_POWER_STATE);
+
+	printk(BIOS_SPEW, "%s/%s\n",
+			__FILE__, __func__);
+	if (ps != NULL)
+		gen_pmcon1 = ps->gen_pmcon1;
+	else
+		gen_pmcon1 = read32((void *)(PMC_BASE_ADDRESS + GEN_PMCON1));
+
+	rtc_fail = !!(gen_pmcon1 & RPS);
+
+	if (rtc_fail)
+		printk(BIOS_DEBUG, "RTC failure.\n");
+
+	cmos_init(rtc_fail);
+}
+
+static void sc_init(device_t dev)
+{
+	int i;
+	const unsigned long pr_base = ILB_BASE_ADDRESS + 0x08;
+	const unsigned long ir_base = ILB_BASE_ADDRESS + 0x20;
+	void *gen_pmcon1 = (void *)(PMC_BASE_ADDRESS + GEN_PMCON1);
+	void *actl = (void *)(ILB_BASE_ADDRESS + ACTL);
+	const struct braswell_irq_route *ir = &global_braswell_irq_route;
+	struct soc_intel_braswell_config *config = dev->chip_info;
+
+	printk(BIOS_SPEW, "%s/%s ( %s )\n",
+			__FILE__, __func__, dev_name(dev));
+
+	/* Set up the PIRQ PIC routing based on static config. */
+	for (i = 0; i < NUM_PIRQS; i++)
+		write8((void *)(pr_base + i*sizeof(ir->pic[i])),
+			ir->pic[i]);
+
+	/* Set up the per device PIRQ routing base on static config. */
+	for (i = 0; i < NUM_IR_DEVS; i++)
+		write16((void *)(ir_base + i*sizeof(ir->pcidev[i])),
+			ir->pcidev[i]);
+
+	/* Route SCI to IRQ9 */
+	write32(actl, (read32(actl) & ~SCIS_MASK) | SCIS_IRQ9);
+
+	sc_rtc_init();
+
+	if (config->disable_slp_x_stretch_sus_fail) {
+		printk(BIOS_DEBUG, "Disabling slp_x stretching.\n");
+		write32(gen_pmcon1,
+			read32(gen_pmcon1) | DIS_SLP_X_STRCH_SUS_UP);
+	} else {
+		write32(gen_pmcon1,
+			read32(gen_pmcon1) & ~DIS_SLP_X_STRCH_SUS_UP);
+	}
+
+}
+
+/*
+ * Common code for the south cluster devices.
+ */
+
+/* Set bit in function disble register to hide this device. */
+static void sc_disable_devfn(device_t dev)
+{
+	void *func_dis = (void *)(PMC_BASE_ADDRESS + FUNC_DIS);
+	void *func_dis2 = (void *)(PMC_BASE_ADDRESS + FUNC_DIS2);
+	uint32_t mask = 0;
+	uint32_t mask2 = 0;
+
+	printk(BIOS_SPEW, "%s/%s ( %s )\n",
+			__FILE__, __func__, dev_name(dev));
+
+#define SET_DIS_MASK(name_) \
+	case PCI_DEVFN(name_ ## _DEV, name_ ## _FUNC): \
+		mask |= name_ ## _DIS
+#define SET_DIS_MASK2(name_) \
+	case PCI_DEVFN(name_ ## _DEV, name_ ## _FUNC): \
+		mask2 |= name_ ## _DIS
+
+	switch (dev->path.pci.devfn) {
+	SET_DIS_MASK(SDIO);
+		break;
+	SET_DIS_MASK(SD);
+		break;
+	SET_DIS_MASK(SATA);
+		break;
+	SET_DIS_MASK(XHCI);
+		/* Disable super speed PHY when XHCI is not available. */
+		mask2 |= USH_SS_PHY_DIS;
+		break;
+	SET_DIS_MASK(LPE);
+		break;
+	SET_DIS_MASK(MMC);
+		break;
+	SET_DIS_MASK(SIO_DMA1);
+		break;
+	SET_DIS_MASK(I2C1);
+		break;
+	SET_DIS_MASK(I2C2);
+		break;
+	SET_DIS_MASK(I2C3);
+		break;
+	SET_DIS_MASK(I2C4);
+		break;
+	SET_DIS_MASK(I2C5);
+		break;
+	SET_DIS_MASK(I2C6);
+		break;
+	SET_DIS_MASK(I2C7);
+		break;
+	SET_DIS_MASK(TXE);
+		break;
+	SET_DIS_MASK(HDA);
+		break;
+	SET_DIS_MASK(PCIE_PORT1);
+		break;
+	SET_DIS_MASK(PCIE_PORT2);
+		break;
+	SET_DIS_MASK(PCIE_PORT3);
+		break;
+	SET_DIS_MASK(PCIE_PORT4);
+		break;
+	SET_DIS_MASK(SIO_DMA2);
+		break;
+	SET_DIS_MASK(PWM1);
+		break;
+	SET_DIS_MASK(PWM2);
+		break;
+	SET_DIS_MASK(HSUART1);
+		break;
+	SET_DIS_MASK(HSUART2);
+		break;
+	SET_DIS_MASK(SPI);
+		break;
+	SET_DIS_MASK2(SMBUS);
+		break;
+	}
+
+	if (mask != 0) {
+		write32(func_dis, read32(func_dis) | mask);
+		/* Ensure posted write hits. */
+		read32(func_dis);
+	}
+
+	if (mask2 != 0) {
+		write32(func_dis2, read32(func_dis2) | mask2);
+		/* Ensure posted write hits. */
+		read32(func_dis2);
+	}
+}
+
+static inline void set_d3hot_bits(device_t dev, int offset)
+{
+	uint32_t reg8;
+
+	printk(BIOS_SPEW, "%s/%s ( %s, 0x%08x )\n",
+			__FILE__, __func__, dev_name(dev), offset);
+	printk(BIOS_DEBUG, "Power management CAP offset 0x%x.\n", offset);
+	reg8 = pci_read_config8(dev, offset + 4);
+	reg8 |= 0x3;
+	pci_write_config8(dev, offset + 4, reg8);
+}
+
+/*
+ * Parts of the audio subsystem are powered by the HDA device. Therefore, one
+ * cannot put HDA into D3Hot. Instead perform this workaround to make some of
+ * the audio paths work for LPE audio.
+ */
+static void hda_work_around(device_t dev)
+{
+	void *gctl = (void *)(TEMP_BASE_ADDRESS + 0x8);
+
+	printk(BIOS_SPEW, "%s/%s ( %s )\n",
+			__FILE__, __func__, dev_name(dev));
+
+	/* Need to set magic register 0x43 to 0xd7 in config space. */
+	pci_write_config8(dev, 0x43, 0xd7);
+
+	/*
+	 * Need to set bit 0 of GCTL to take the device out of reset. However,
+	 * that requires setting up the 64-bit BAR.
+	 */
+	pci_write_config32(dev, PCI_BASE_ADDRESS_0, TEMP_BASE_ADDRESS);
+	pci_write_config32(dev, PCI_BASE_ADDRESS_1, 0);
+	pci_write_config8(dev, PCI_COMMAND, PCI_COMMAND_MEMORY);
+	write32(gctl, read32(gctl) | 0x1);
+	pci_write_config8(dev, PCI_COMMAND, 0);
+	pci_write_config32(dev, PCI_BASE_ADDRESS_0, 0);
+}
+
+static int place_device_in_d3hot(device_t dev)
+{
+	unsigned offset;
+
+	printk(BIOS_SPEW, "%s/%s ( %s )\n",
+			__FILE__, __func__, dev_name(dev));
+
+	/*
+	 * Parts of the HDA block are used for LPE audio as well.
+	 * Therefore assume the HDA will never be put into D3Hot.
+	 */
+	if (dev->path.pci.devfn == PCI_DEVFN(HDA_DEV, HDA_FUNC)) {
+		hda_work_around(dev);
+		return 0;
+	}
+
+	offset = pci_find_capability(dev, PCI_CAP_ID_PM);
+
+	if (offset != 0) {
+		set_d3hot_bits(dev, offset);
+		return 0;
+	}
+
+	/*
+	 * For some reason some of the devices don't have the capability
+	 * pointer set correctly. Work around this by hard coding the offset.
+	 */
+#define DEV_CASE(name_) \
+	case PCI_DEVFN(name_ ## _DEV, name_ ## _FUNC)
+
+	switch (dev->path.pci.devfn) {
+	DEV_CASE(SDIO) :
+	DEV_CASE(SD) :
+	DEV_CASE(MMC) :
+	DEV_CASE(LPE) :
+	DEV_CASE(SIO_DMA1) :
+	DEV_CASE(I2C1) :
+	DEV_CASE(I2C2) :
+	DEV_CASE(I2C3) :
+	DEV_CASE(I2C4) :
+	DEV_CASE(I2C5) :
+	DEV_CASE(I2C6) :
+	DEV_CASE(I2C7) :
+	DEV_CASE(SIO_DMA2) :
+	DEV_CASE(PWM1) :
+	DEV_CASE(PWM2) :
+	DEV_CASE(HSUART1) :
+	DEV_CASE(HSUART2) :
+	DEV_CASE(SPI) :
+		offset = 0x80;
+		break;
+	DEV_CASE(SATA) :
+	DEV_CASE(XHCI) :
+		offset = 0x70;
+		break;
+	DEV_CASE(HDA) :
+	DEV_CASE(SMBUS) :
+		offset = 0x50;
+		break;
+	DEV_CASE(TXE) :
+		/* TXE cannot be placed in D3Hot. */
+		return 0;
+		break;
+	DEV_CASE(PCIE_PORT1) :
+	DEV_CASE(PCIE_PORT2) :
+	DEV_CASE(PCIE_PORT3) :
+	DEV_CASE(PCIE_PORT4) :
+		offset = 0xa0;
+		break;
+	}
+
+	if (offset != 0) {
+		set_d3hot_bits(dev, offset);
+		return 0;
+	}
+
+	return -1;
+}
+
+/* Common PCI device function disable. */
+void southcluster_enable_dev(device_t dev)
+{
+	uint32_t reg32;
+
+	printk(BIOS_SPEW, "%s/%s ( %s )\n",
+			__FILE__, __func__, dev_name(dev));
+	if (!dev->enabled) {
+		int slot = PCI_SLOT(dev->path.pci.devfn);
+		int func = PCI_FUNC(dev->path.pci.devfn);
+		printk(BIOS_DEBUG, "%s: Disabling device: %02x.%01x\n",
+		       dev_path(dev), slot, func);
+
+		/* Ensure memory, io, and bus master are all disabled */
+		reg32 = pci_read_config32(dev, PCI_COMMAND);
+		reg32 &= ~(PCI_COMMAND_MASTER |
+			   PCI_COMMAND_MEMORY | PCI_COMMAND_IO);
+		pci_write_config32(dev, PCI_COMMAND, reg32);
+
+		/* Place device in D3Hot */
+		if (place_device_in_d3hot(dev) < 0) {
+			printk(BIOS_WARNING,
+			       "Could not place %02x.%01x into D3Hot. "
+			       "Keeping device visible.\n", slot, func);
+			return;
+		}
+		/* Disable this device if possible */
+		sc_disable_devfn(dev);
+	} else {
+		/* Enable SERR */
+		reg32 = pci_read_config32(dev, PCI_COMMAND);
+		reg32 |= PCI_COMMAND_SERR;
+		pci_write_config32(dev, PCI_COMMAND, reg32);
+	}
+}
+
+static struct device_operations device_ops = {
+	.read_resources		= sc_read_resources,
+	.set_resources		= pci_dev_set_resources,
+	.enable_resources	= NULL,
+	.init			= sc_init,
+	.enable			= southcluster_enable_dev,
+	.scan_bus		= scan_static_bus,
+	.ops_pci		= &soc_pci_ops,
+};
+
+static const struct pci_driver southcluster __pci_driver = {
+	.ops		= &device_ops,
+	.vendor		= PCI_VENDOR_ID_INTEL,
+	.device		= LPC_DEVID,
+};
+
+int __attribute__((weak)) mainboard_get_spi_config(struct spi_config *cfg)
+{
+	printk(BIOS_SPEW, "%s/%s ( 0x%p )\n",
+			__FILE__, __func__, (void *)cfg);
+	return -1;
+}
+
+#if 0  /* LPL - BOOT_STATE_INIT_ENTRIES failing */
+static void update_gnvs(device_t dev, int nvs_index, global_nvs_t *gnvs)
+{
+
+	struct resource *bar;
+	/*
+	 * ACPI code doesn't create a BAR1 address space
+	 * Save BAR0 to ACPI NVS
+	 */
+	bar = find_resource(dev, PCI_BASE_ADDRESS_0);
+	if (bar)
+		gnvs->dev.scc_bar0[nvs_index] = (u32)bar->base;
+	/* Device is enabled in ACPI mode */
+	gnvs->dev.scc_en[nvs_index] = 1;
+}
+
+static void finalize_chipset(void *unused)
+{
+	void *bcr = (void *)(SPI_BASE_ADDRESS + BCR);
+	void *gcs = (void *)(RCBA_BASE_ADDRESS + GCS);
+	void *gen_pmcon2 = (void *)(PMC_BASE_ADDRESS + GEN_PMCON2);
+	void *etr = (void *)(PMC_BASE_ADDRESS + ETR);
+	uint8_t *spi = (uint8_t *)SPI_BASE_ADDRESS;
+	struct spi_config cfg;
+	global_nvs_t *gnvs;
+
+	printk(BIOS_SPEW, "%s/%s ( 0x%p )\n",
+			__FILE__, __func__, unused);
+	/* Find ACPI NVS to update BARs */
+	gnvs = (global_nvs_t *)cbmem_find(CBMEM_ID_ACPI_GNVS);
+	if (!gnvs) {
+		printk(BIOS_ERR, "Unable to locate Global NVS\n");
+		return;
+	}
+
+	device_t dev0 = dev_find_slot(0, PCI_DEVFN(MMC_DEV, 0));
+	/* Update the ACPI mode for SCC devices in GNVS */
+	update_gnvs(dev0, SCC_NVS_MMC, gnvs);
+
+	device_t dev1 = dev_find_slot(0, PCI_DEVFN(SD_DEV, 0));
+
+	update_gnvs(dev1, SCC_NVS_SD, gnvs);
+
+	/* Set the lock enable on the BIOS control register. */
+	write32(bcr, read32(bcr) | BCR_LE);
+
+	/* Set BIOS lock down bit controlling boot block size and swapping. */
+	write32(gcs, read32(gcs) | BILD);
+
+	/* Lock sleep stretching policy and set SMI lock. */
+	write32(gen_pmcon2, read32(gen_pmcon2) | SLPSX_STR_POL_LOCK | SMI_LOCK);
+
+	/*  Set the CF9 lock. */
+	write32(etr, read32(etr) | CF9LOCK);
+
+	if (mainboard_get_spi_config(&cfg) < 0) {
+		printk(BIOS_DEBUG, "No SPI lockdown configuration.\n");
+	} else {
+		write16(spi + PREOP, cfg.preop);
+		write16(spi + OPTYPE, cfg.optype);
+		write32(spi + OPMENU0, cfg.opmenu[0]);
+		write32(spi + OPMENU1, cfg.opmenu[1]);
+		write16(spi + HSFSTS, read16(spi + HSFSTS) | FLOCKDN);
+		write32(spi + UVSCC, cfg.uvscc);
+		write32(spi + LVSCC, cfg.lvscc | VCL);
+	}
+
+	printk(BIOS_DEBUG, "Finalizing SMM.\n");
+	outb(APM_CNT_FINALIZE, APM_CNT);
+}
+
+BOOT_STATE_INIT_ENTRIES(finalize_bscb) = {
+	BOOT_STATE_INIT_ENTRY(BS_OS_RESUME, BS_ON_ENTRY,
+			      finalize_chipset, NULL),
+	BOOT_STATE_INIT_ENTRY(BS_PAYLOAD_LOAD, BS_ON_EXIT,
+			      finalize_chipset, NULL),
+};
+#endif	/* 0 */
+
diff --git a/src/soc/intel/braswell/spi.c b/src/soc/intel/braswell/spi.c
new file mode 100644
index 0000000..44a8e98
--- /dev/null
+++ b/src/soc/intel/braswell/spi.c
@@ -0,0 +1,599 @@
+/*
+ * Copyright (c) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * 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 is derived from the flashrom project. */
+#include <arch/io.h>
+#include <bootstate.h>
+#include <console/console.h>
+#include <delay.h>
+#include <device/pci_ids.h>
+#include <soc/lpc.h>
+#include <soc/pci_devs.h>
+#include <spi_flash.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <string.h>
+
+#ifdef __SMM__
+#define pci_read_config_byte(dev, reg, targ)\
+	*(targ) = pci_read_config8(dev, reg)
+#define pci_read_config_word(dev, reg, targ)\
+	*(targ) = pci_read_config16(dev, reg)
+#define pci_read_config_dword(dev, reg, targ)\
+	*(targ) = pci_read_config32(dev, reg)
+#define pci_write_config_byte(dev, reg, val)\
+	pci_write_config8(dev, reg, val)
+#define pci_write_config_word(dev, reg, val)\
+	pci_write_config16(dev, reg, val)
+#define pci_write_config_dword(dev, reg, val)\
+	pci_write_config32(dev, reg, val)
+#else /* !__SMM__ */
+#include <device/device.h>
+#include <device/pci.h>
+#define pci_read_config_byte(dev, reg, targ)\
+	*(targ) = pci_read_config8(dev, reg)
+#define pci_read_config_word(dev, reg, targ)\
+	*(targ) = pci_read_config16(dev, reg)
+#define pci_read_config_dword(dev, reg, targ)\
+	*(targ) = pci_read_config32(dev, reg)
+#define pci_write_config_byte(dev, reg, val)\
+	pci_write_config8(dev, reg, val)
+#define pci_write_config_word(dev, reg, val)\
+	pci_write_config16(dev, reg, val)
+#define pci_write_config_dword(dev, reg, val)\
+	pci_write_config32(dev, reg, val)
+#endif /* !__SMM__ */
+
+typedef struct spi_slave ich_spi_slave;
+
+static int ichspi_lock = 0;
+
+typedef struct ich9_spi_regs {
+	uint32_t bfpr;
+	uint16_t hsfs;
+	uint16_t hsfc;
+	uint32_t faddr;
+	uint32_t _reserved0;
+	uint32_t fdata[16];
+	uint32_t frap;
+	uint32_t freg[5];
+	uint32_t _reserved1[3];
+	uint32_t pr[5];
+	uint32_t _reserved2[2];
+	uint8_t ssfs;
+	uint8_t ssfc[3];
+	uint16_t preop;
+	uint16_t optype;
+	uint8_t opmenu[8];
+} __attribute__((packed)) ich9_spi_regs;
+
+typedef struct ich_spi_controller {
+	int locked;
+
+	uint8_t *opmenu;
+	int menubytes;
+	uint16_t *preop;
+	uint16_t *optype;
+	uint32_t *addr;
+	uint8_t *data;
+	unsigned databytes;
+	uint8_t *status;
+	uint16_t *control;
+	uint32_t *bbar;
+} ich_spi_controller;
+
+static ich_spi_controller cntlr;
+
+enum {
+	SPIS_SCIP =		0x0001,
+	SPIS_GRANT =		0x0002,
+	SPIS_CDS =		0x0004,
+	SPIS_FCERR =		0x0008,
+	SSFS_AEL =		0x0010,
+	SPIS_LOCK =		0x8000,
+	SPIS_RESERVED_MASK =	0x7ff0,
+	SSFS_RESERVED_MASK =	0x7fe2
+};
+
+enum {
+	SPIC_SCGO =		0x000002,
+	SPIC_ACS =		0x000004,
+	SPIC_SPOP =		0x000008,
+	SPIC_DBC =		0x003f00,
+	SPIC_DS =		0x004000,
+	SPIC_SME =		0x008000,
+	SSFC_SCF_MASK =		0x070000,
+	SSFC_RESERVED =		0xf80000
+};
+
+enum {
+	HSFS_FDONE =		0x0001,
+	HSFS_FCERR =		0x0002,
+	HSFS_AEL =		0x0004,
+	HSFS_BERASE_MASK =	0x0018,
+	HSFS_BERASE_SHIFT =	3,
+	HSFS_SCIP =		0x0020,
+	HSFS_FDOPSS =		0x2000,
+	HSFS_FDV =		0x4000,
+	HSFS_FLOCKDN =		0x8000
+};
+
+enum {
+	HSFC_FGO =		0x0001,
+	HSFC_FCYCLE_MASK =	0x0006,
+	HSFC_FCYCLE_SHIFT =	1,
+	HSFC_FDBC_MASK =	0x3f00,
+	HSFC_FDBC_SHIFT =	8,
+	HSFC_FSMIE =		0x8000
+};
+
+enum {
+	SPI_OPCODE_TYPE_READ_NO_ADDRESS =	0,
+	SPI_OPCODE_TYPE_WRITE_NO_ADDRESS =	1,
+	SPI_OPCODE_TYPE_READ_WITH_ADDRESS =	2,
+	SPI_OPCODE_TYPE_WRITE_WITH_ADDRESS =	3
+};
+
+#if IS_ENABLED(CONFIG_DEBUG_SPI_FLASH)
+
+static u8 readb_(void *addr)
+{
+	u8 v = read8(addr);
+	printk(BIOS_DEBUG, "0x%p --> 0x%2.2x\n", addr, v);
+	return v;
+}
+
+static u16 readw_(void *addr)
+{
+	u16 v = read16(addr);
+	printk(BIOS_DEBUG, "0x%p --> 0x%4.4x\n", addr, v);
+	return v;
+}
+
+static u32 readl_(void *addr)
+{
+	u32 v = read32(addr);
+	printk(BIOS_DEBUG, "0x%p --> 0x%8.8x\n", addr, v);
+	return v;
+}
+
+static void writeb_(u8 b, void *addr)
+{
+	printk(BIOS_DEBUG, "0x%p <-- 0x%2.2x\n", addr, b);
+	write8(addr, b);
+}
+
+static void writew_(u16 b, void *addr)
+{
+	printk(BIOS_DEBUG, "0x%p <-- 0x%4.4x\n", addr, b);
+	write16(addr, b);
+}
+
+static void writel_(u32 b, void *addr)
+{
+	printk(BIOS_DEBUG, "0x%p <-- 0x%8.8x\n", addr, b);
+	write32(addr, b);
+}
+
+#else /* CONFIG_DEBUG_SPI_FLASH ^^^ enabled  vvv NOT enabled */
+
+#define readb_(a) read8(a)
+#define readw_(a) read16(a)
+#define readl_(a) read32(a)
+#define writeb_(val, addr) write8(addr, val)
+#define writew_(val, addr) write16(addr, val)
+#define writel_(val, addr) write32(addr, val)
+
+#endif  /* CONFIG_DEBUG_SPI_FLASH ^^^ NOT enabled */
+
+static void write_reg(const void *value, void *dest, uint32_t size)
+{
+	const uint8_t *bvalue = value;
+	uint8_t *bdest = dest;
+
+	while (size >= 4) {
+		writel_(*(const uint32_t *)bvalue, bdest);
+		bdest += 4; bvalue += 4; size -= 4;
+	}
+	while (size) {
+		writeb_(*bvalue, bdest);
+		bdest++; bvalue++; size--;
+	}
+}
+
+static void read_reg(void *src, void *value, uint32_t size)
+{
+	uint8_t *bsrc = src;
+	uint8_t *bvalue = value;
+
+	while (size >= 4) {
+		*(uint32_t *)bvalue = readl_(bsrc);
+		bsrc += 4; bvalue += 4; size -= 4;
+	}
+	while (size) {
+		*bvalue = readb_(bsrc);
+		bsrc++; bvalue++; size--;
+	}
+}
+
+struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs)
+{
+	ich_spi_slave *slave = malloc(sizeof(*slave));
+
+	if (!slave) {
+		printk(BIOS_ERR, "ICH SPI: Bad allocation\n");
+		return NULL;
+	}
+
+	memset(slave, 0, sizeof(*slave));
+
+	slave->bus = bus;
+	slave->cs = cs;
+	return slave;
+}
+
+static ich9_spi_regs *spi_regs(void)
+{
+	device_t dev;
+	uint32_t sbase;
+
+#ifdef __SMM__
+	dev = PCI_DEV(0, LPC_DEV, LPC_FUNC);
+#else
+	dev = dev_find_slot(0, PCI_DEVFN(LPC_DEV, LPC_FUNC));
+#endif
+	pci_read_config_dword(dev, SBASE, &sbase);
+	sbase &= ~0x1ff;
+
+	return (void *)sbase;
+}
+
+unsigned int spi_crop_chunk(unsigned int cmd_len, unsigned int buf_len)
+{
+	return min(cntlr.databytes, buf_len);
+}
+
+void spi_init(void)
+{
+	ich9_spi_regs *ich9_spi = spi_regs();
+
+#if IS_ENABLED(CONFIG_DEBUG_SPI_FLASH)
+	printk(BIOS_DEBUG, "%s/%s\n", __FILE__, __func__);
+#endif	/* CONFIG_DEBUG_SPI_FLASH */
+
+	ichspi_lock = readw_(&ich9_spi->hsfs) & HSFS_FLOCKDN;
+	cntlr.opmenu = ich9_spi->opmenu;
+	cntlr.menubytes = sizeof(ich9_spi->opmenu);
+	cntlr.optype = &ich9_spi->optype;
+	cntlr.addr = &ich9_spi->faddr;
+	cntlr.data = (uint8_t *)ich9_spi->fdata;
+	cntlr.databytes = sizeof(ich9_spi->fdata);
+	cntlr.status = &ich9_spi->ssfs;
+	cntlr.control = (uint16_t *)ich9_spi->ssfc;
+	cntlr.preop = &ich9_spi->preop;
+}
+
+
+#if 0  /* LPL - BOOT_STATE_INIT_ENTRIES failing */
+static void spi_init_cb(void *unused)
+{
+	spi_init();
+}
+
+BOOT_STATE_INIT_ENTRIES(spi_init_bscb) = {
+	BOOT_STATE_INIT_ENTRY(BS_DEV_INIT, BS_ON_ENTRY, spi_init_cb, NULL),
+};
+#endif /* 0 */
+
+int spi_claim_bus(struct spi_slave *slave)
+{
+	/* Handled by ICH automatically. */
+	return 0;
+}
+
+void spi_release_bus(struct spi_slave *slave)
+{
+	/* Handled by ICH automatically. */
+}
+
+/*
+ * Wait for up to 60ms til the controller completes the operation or
+ * returns an error.  Clear the completion status.
+ *
+ * Return the last read status value on success or -1 on failure.
+ */
+static int ich_status_poll(void)
+{
+	int timeout = 40000; /* This will result in 400 ms */
+	u16 status = 0;
+
+	while (timeout--) {
+		status = readw_(cntlr.status);
+		if (((status & (SPIS_FCERR | SPIS_CDS | SPIS_SCIP))
+			^ SPIS_SCIP) != 0) {
+			writew_(SPIS_FCERR | SPIS_CDS, cntlr.status);
+			return status;
+		}
+		udelay(10);
+	}
+
+	printk(BIOS_ERR, "ICH SPI: SCIP timeout, read %x, expected %x\n",
+		status, (status & (~(SPIS_FCERR | SPIS_SCIP))) | SPIS_CDS);
+	return -1;
+}
+
+int spi_xfer(struct spi_slave *slave, const void *dout,
+		unsigned int bytesout, void *din, unsigned int bytesin)
+{
+	unsigned int address;
+	unsigned int bytes_to_transfer;
+	unsigned int control;
+	u8 *data;
+	unsigned int data_bytes;
+	u8 opcode;
+	unsigned int opcode_index;
+	u8 opcode_type;
+	unsigned int prefix_index;
+	int status;
+	int with_address;
+	int write_operation;
+	static u8 write_prefix;
+
+#if IS_ENABLED(CONFIG_DEBUG_SPI_FLASH)
+	printk(BIOS_DEBUG, "%s/%s (0x%p, 0x%p, 0x%08x, 0x%p, 0x%08x)\n",
+			__FILE__, __func__, slave, dout, bytesout,
+			din, bytesin);
+#endif	/* CONFIG_DEBUG_SPI_FLASH */
+
+	/*
+	 * The following hardware is available for shared use when the
+	 * controller is not locked:
+	 *
+	 *	Opcode 0
+	 *	Opcode Type 0
+	 *	Opcode Prefix 0
+	 *
+	 * The rest of the controller is reserved for static setup.
+	 */
+
+	/* There has to always at least be an opcode. */
+	if (!bytesout || !dout) {
+		printk(BIOS_ERR, "ICH SPI: No opcode for transfer\n");
+
+		/* Discard the write prefix */
+		write_prefix = 0;
+		return -1;
+	}
+
+	/* Make sure if we read something we have a place to put it. */
+	if (bytesin != 0 && !din) {
+		printk(BIOS_ERR, "ICH SPI: Read but no target buffer\n");
+
+		/* Discard the write prefix */
+		write_prefix = 0;
+		return -1;
+	}
+
+	/* Get the opcode */
+	data = (u8 *)dout;
+	opcode = *data++;
+	bytesout -= 1;
+
+	/* Determine if this operation contains an address */
+	opcode_type = 0;
+	with_address = 0;
+	address = 0;
+	if (bytesout >= 3) {
+		/*
+		 * Workarounds:
+		 *
+		 * Erase operation have an address with no data.
+		 * For some reason, the controller does not like
+		 * this condition and returns an error.  Instead
+		 * of loading the address into the address register
+		 * the work-around is to send the address as data.
+		 *
+		 * Page writes with a short amount of data are
+		 * failing.  Send the address as data to workaround
+		 * this issue.
+		 */
+		if (bytesin || (bytesout > (cntlr.databytes - 3))) {
+			/* Tell the controller about the address */
+			opcode_type = 2;
+			with_address = 1;
+			address = (unsigned int)(*data++) << 16;
+			address |= (unsigned int)(*data++) << 8;
+			address |= (unsigned int)(*data++);
+			bytesout -= 3;
+		}
+	}
+
+	/* Determine if this is a write operation */
+	write_operation = 0;
+	if (bytesin == 0) {
+		write_operation = 1;
+		opcode_type |= 1;
+
+		/*
+		 * The upper layers provide the write prefix byte as
+		 * a separate transaction which is how it is handled
+		 * on the SPI bus.  Note that a SPI transaction starts
+		 * with chip select going low for the target device
+		 * and ends with chip select going high.
+		 *
+		 * However, this controller automatically outputs the
+		 * prefix byte at the beginning of write operations.
+		 * As such, it is necessary to consume the write prefix
+		 * byte.
+		 */
+
+		if (write_prefix == 0) {
+			/* Delay sending the write prefix byte.  */
+			write_prefix = opcode;
+#if IS_ENABLED(CONFIG_DEBUG_SPI_FLASH)
+			printk(BIOS_DEBUG, "Buffering write prefix: 0x%02x\n",
+					write_prefix);
+#endif	/* CONFIG_DEBUG_SPI_FLASH */
+			return 0;
+		}
+	}
+
+	/*
+	 * Check if more output data exists than the controller can handle.
+	 * Iterations for writes are not supported here because each SPI
+	 * write command needs to be preceded and followed by other SPI
+	 * commands, and this sequence is controlled by the SPI chip driver.
+	 */
+	if (bytesout > cntlr.databytes) {
+		printk(BIOS_ERR,
+			"ICH SPI: Too much to write. Does your SPI chip driver use CONTROLLER_PAGE_LIMIT?\n");
+
+		/* Discard the write prefix */
+		write_prefix = 0;
+		return -1;
+	}
+
+	/* Determine the prefix and opcode indices */
+	opcode_index = 0;
+	prefix_index = 0;
+	if (!ichspi_lock) {
+		/* Set the write prefix byte */
+		if (write_operation) {
+			prefix_index = SPIC_ACS;
+			writew_(write_prefix, cntlr.preop);
+		}
+
+		/* Set the opcode */
+		writeb_(opcode, cntlr.opmenu);
+
+		/* Set the opcode type */
+		u16 optypes = readw_(cntlr.optype);
+		optypes = (optypes & (~3)) | opcode_type;
+		writew_(optypes, cntlr.optype);
+	} else {
+		u8 opmenu[cntlr.menubytes];
+
+		/* Get the opcodes supported by the controller */
+		read_reg(cntlr.opmenu, opmenu, cntlr.menubytes);
+
+		/* Verify that the locked controller supports this opcode */
+		for (;;) {
+			if (opcode == opmenu[opcode_index])
+				break;
+			opcode_index++;
+			if (opcode_index > cntlr.menubytes) {
+				printk(BIOS_ERR,
+					"ERROR - SPI transaction failed,"
+					" opcode map full!\n");
+
+				/* Discard the write prefix */
+				write_prefix = 0;
+				return -1;
+			}
+		}
+
+		/* Get the controller write prefix bytes */
+		if (write_operation) {
+			u16 prefix_bytes = readw_(cntlr.optype);
+
+			/*
+			 * Verify that the locked controller contains the write
+			 * prefix byte
+			 */
+			prefix_index = SPIC_ACS;
+			if (write_prefix != (prefix_bytes & 0xff)) {
+				prefix_index |= SPIC_SPOP;
+				if (write_prefix != (prefix_bytes >> 8)) {
+					printk(BIOS_ERR,
+						"ERROR - SPI transaction failed"
+						", prefix not available!\n");
+
+					/* Discard the write prefix */
+					write_prefix = 0;
+					return -1;
+				}
+			}
+		}
+	}
+
+	/* Determine the transfer length */
+	data_bytes = bytesin ? bytesin : bytesout;
+
+	/* Clear any previous error */
+	writeb_(SPIS_FCERR | SPIS_CDS, cntlr.status);
+
+	/* Segment the transfer operation if necessary */
+	do {
+		/* Determine the operation data length */
+		control = SPIC_SCGO | prefix_index | (opcode_index << 4);
+		bytes_to_transfer = data_bytes;
+		if (bytes_to_transfer > cntlr.databytes)
+			bytes_to_transfer = cntlr.databytes;
+		if (bytes_to_transfer > 0) {
+			control |= SPIC_DS
+				| (((bytes_to_transfer - 1) & 0x3f) << 8);
+			data_bytes -= bytes_to_transfer;
+
+			/* Output the data for the operation */
+			if (write_operation)
+				write_reg(data, cntlr.data, bytes_to_transfer);
+		}
+
+		/* Set the 24-bit address if necessary */
+		if (with_address) {
+			writel_(address & 0x00ffffff, cntlr.addr);
+			address += bytes_to_transfer;
+		}
+
+		/* Start the SPI operation */
+		writew_((u16)control, cntlr.control);
+
+		/* Wait for the result */
+		status = ich_status_poll();
+		if (status == -1) {
+			/* Discard the write prefix */
+			write_prefix = 0;
+			return -1;
+		}
+		if (status & SPIS_FCERR) {
+			printk(BIOS_ERR, "ICH SPI: Transaction error\n");
+
+			/* Discard the write prefix */
+			write_prefix = 0;
+			return -1;
+		}
+
+		/* Place the data read from the SPI flash into the buffer */
+		if (bytesin > 0) {
+			read_reg(cntlr.data, din, bytes_to_transfer);
+			bytesin -= bytes_to_transfer;
+			din += bytes_to_transfer;
+		}
+	} while (data_bytes > 0);
+
+	/* Discard the write prefix */
+	write_prefix = 0;
+
+	/* Successful SPI transaction */
+	return 0;
+}
diff --git a/src/soc/intel/braswell/spi_loading.c b/src/soc/intel/braswell/spi_loading.c
new file mode 100644
index 0000000..a166ec6
--- /dev/null
+++ b/src/soc/intel/braswell/spi_loading.c
@@ -0,0 +1,154 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+
+#include <arch/byteorder.h>
+#include <boot/coreboot_tables.h>
+#include <cbmem.h>
+#include <cbfs.h>
+#include <console/console.h>
+#include <stdlib.h>
+#include <string.h>
+#include <vendorcode/google/chromeos/chromeos.h>
+
+#define CACHELINE_SIZE 64
+#define INTRA_CACHELINE_MASK (CACHELINE_SIZE - 1)
+#define CACHELINE_MASK (~INTRA_CACHELINE_MASK)
+
+static void *find_mirror_buffer(int len)
+{
+	int nentries;
+	int i;
+	struct lb_memory *mem;
+	void *buffer;
+
+	len = ALIGN(len, 4096);
+
+	mem = get_lb_mem();
+	nentries = (mem->size - sizeof(*mem)) / sizeof(mem->map[0]);
+
+	/*
+	 * Find the highest RAM entry that accommodates the lenth provide
+	 * while falling below 4GiB.
+	 */
+	buffer = NULL;
+	for (i = 0; i < nentries; i++) {
+		const uint64_t max_addr = 1ULL << 32;
+		uint64_t start;
+		uint64_t size;
+		struct lb_memory_range *r;
+
+		r = &mem->map[i];
+
+		if (r->type != LB_MEM_RAM)
+			continue;
+
+		start = unpack_lb64(r->start);
+		if (start >= max_addr)
+			continue;
+
+		size = unpack_lb64(r->size);
+		if (size < len)
+			continue;
+
+		/* Adjust size of buffer if range exceeds max address. */
+		if (start + size > max_addr)
+			size = max_addr - start;
+
+		if (size < len)
+			continue;
+
+		buffer = (void *)(uintptr_t)(start + size - len);
+	}
+
+	return buffer;
+}
+
+/*
+ * Mirror the payload file to the default SMM location if it is small enough.
+ * The default SMM region can be used since no one is using the memory at this
+ * location at this stage in the boot.
+ */
+static void *spi_mirror(void *file_start, int file_len)
+{
+	int alignment_diff;
+	char *src;
+	char *dest;
+
+	alignment_diff = (INTRA_CACHELINE_MASK & (long)file_start);
+
+	/*
+	 * Adjust file length so that the start and end points are aligned to a
+	 * cacheline. Coupled with the ROM caching in the CPU the SPI hardware
+	 * will read and cache full length cachelines. It will also prefetch
+	 * data as well. Once things are mirrored in memory all accesses should
+	 * hit the CPUs cache.
+	 */
+	file_len += alignment_diff;
+	file_len = ALIGN(file_len, CACHELINE_SIZE);
+
+	printk(BIOS_DEBUG, "Payload aligned size: 0x%x\n", file_len);
+
+	dest = find_mirror_buffer(file_len);
+
+	/*
+	 * Just pass back the pointer to ROM space if a buffer could not
+	 * be found to mirror into.
+	 */
+	if (dest == NULL)
+		return file_start;
+
+	src = (void *)(CACHELINE_MASK & (long)file_start);
+	/*
+	 * Note that if mempcy is not using 32-bit moves the performance will
+	 * degrade because the SPI hardware prefetchers look for
+	 * cacheline-aligned 32-bit accesses to kick in.
+	 */
+	memcpy(dest, src, file_len);
+
+	/* Provide pointer into mirrored space. */
+	return &dest[alignment_diff];
+}
+
+void *cbfs_load_payload(struct cbfs_media *media, const char *name)
+{
+	int file_len;
+	void *file_start;
+	struct cbfs_file *file;
+
+	file_start = vboot_get_payload(&file_len);
+
+	if (file_start != NULL)
+		return spi_mirror(file_start, file_len);
+
+	file = cbfs_get_file(media, name);
+
+	if (file == NULL)
+		return NULL;
+
+	if (ntohl(file->type) != CBFS_TYPE_PAYLOAD)
+		return NULL;
+
+	file_len = ntohl(file->len);
+
+	file_start = CBFS_SUBHEADER(file);
+
+	return spi_mirror(file_start, file_len);
+}
diff --git a/src/soc/intel/braswell/stage_cache.c b/src/soc/intel/braswell/stage_cache.c
new file mode 100644
index 0000000..f762e02
--- /dev/null
+++ b/src/soc/intel/braswell/stage_cache.c
@@ -0,0 +1,38 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <cbmem.h>
+#include <ramstage_cache.h>
+#include <soc/intel/common/memmap.h>
+#include <soc/smm.h>
+
+struct ramstage_cache *ramstage_cache_location(long *size)
+{
+	char *smm_base;
+	size_t smm_size;
+	/* 1MiB cache size */
+	const long cache_size = CONFIG_SMM_RESERVED_SIZE;
+
+	/* Ramstage cache lives in TSEG region. */
+	smm_region((void **)&smm_base, &smm_size);
+	*size = cache_size;
+	return (void *)(&smm_base[smm_size - cache_size]);
+}
+
diff --git a/src/soc/intel/braswell/tsc_freq.c b/src/soc/intel/braswell/tsc_freq.c
new file mode 100644
index 0000000..9a333f8
--- /dev/null
+++ b/src/soc/intel/braswell/tsc_freq.c
@@ -0,0 +1,70 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <cpu/x86/msr.h>
+#include <cpu/x86/tsc.h>
+#include <soc/msr.h>
+#include <console/console.h>
+#if !defined(__PRE_RAM__)
+#include <soc/ramstage.h>
+#else
+#include <soc/romstage.h>
+#endif
+#include <stdint.h>
+
+unsigned long tsc_freq_mhz(void)
+{
+	msr_t ia_core_ratios;
+
+	ia_core_ratios = rdmsr(MSR_IACORE_RATIOS);
+	return (BUS_FREQ_KHZ * ((ia_core_ratios.lo >> 16) & 0x3f)) / 1000;
+}
+
+#if !defined(__SMM__)
+
+void set_max_freq(void)
+{
+	msr_t perf_ctl;
+	msr_t msr;
+
+	/* Enable speed step. */
+	msr = rdmsr(MSR_IA32_MISC_ENABLES);
+	msr.lo |= (1 << 16);
+	wrmsr(MSR_IA32_MISC_ENABLES, msr);
+
+	/*
+	 * Set guranteed ratio [21:16] from IACORE_RATIOS to bits [15:8] of
+	 * the PERF_CTL.
+	 */
+	msr = rdmsr(MSR_IACORE_RATIOS);
+	perf_ctl.lo = (msr.lo & 0x3f0000) >> 8;
+
+	/*
+	 * Set guranteed vid [21:16] from IACORE_VIDS to bits [7:0] of
+	 * the PERF_CTL.
+	 */
+	msr = rdmsr(MSR_IACORE_VIDS);
+	perf_ctl.lo |= (msr.lo & 0x7f0000) >> 16;
+	perf_ctl.hi = 0;
+
+	wrmsr(MSR_IA32_PERF_CTL, perf_ctl);
+}
+
+#endif /* __SMM__ */
diff --git a/src/soc/intel/braswell/xhci.c b/src/soc/intel/braswell/xhci.c
new file mode 100644
index 0000000..f975b8a
--- /dev/null
+++ b/src/soc/intel/braswell/xhci.c
@@ -0,0 +1,82 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <arch/acpi.h>
+#include <console/console.h>
+#include <device/device.h>
+#include <device/pci.h>
+#include <device/pci_ids.h>
+#include <stdint.h>
+#include <reg_script.h>
+
+#include <soc/iomap.h>
+#include <soc/iosf.h>
+#include <soc/pci_devs.h>
+#include <soc/pm.h>
+#include <soc/ramstage.h>
+#include <soc/xhci.h>
+
+#include "chip.h"
+
+static void xhci_workaround(device_t dev)
+{
+	struct resource *bar;
+	uint32_t xhci_mmio_base, val;
+
+	bar = find_resource(dev, PCI_BASE_ADDRESS_0);
+	if (bar) {
+		xhci_mmio_base = (uint32_t) bar->base;
+		/* Set XHCIBAR + 0x809C [31] = 1, to get XHCI to completei
+		 * reset process successfully in Chrome OS for BSW
+		 */
+		val = read32((void *)(xhci_mmio_base + 0x809C));
+		val = val | (1 << 31);
+		write32((void *) (xhci_mmio_base + 0x809C), val);
+	}
+}
+static void xhci_init(device_t dev)
+{
+	printk(BIOS_SPEW, "%s/%s (%s)\n",
+			__FILE__, __func__, dev_name(dev));
+
+	/* Initialize XHCI controller for boot or resume path */
+	if (acpi_slp_type == 3)
+		printk(BIOS_SPEW, "Running xhci_init_resume_script\n");
+	else
+		printk(BIOS_SPEW, "Running xhci_init_boot_script\n");
+	/* For BSW, WA is needed to xhci working */
+	xhci_workaround(dev);
+	/* Finalize Initialization */
+	printk(BIOS_SPEW, "Running xhci_hc_init\n");
+}
+
+static struct device_operations xhci_device_ops = {
+	.read_resources		= pci_dev_read_resources,
+	.set_resources		= pci_dev_set_resources,
+	.enable_resources	= pci_dev_enable_resources,
+	.init			= xhci_init,
+	.ops_pci		= &soc_pci_ops,
+};
+
+static const struct pci_driver braswell_xhci __pci_driver = {
+	.ops    = &xhci_device_ops,
+	.vendor	= PCI_VENDOR_ID_INTEL,
+	.device = XHCI_DEVID
+};



More information about the coreboot-gerrit mailing list