U-boot Archive mirror
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 00/13] x86: Add Intel Braswell SoC and Cherry Hill board support
@ 2017-08-16  5:41 Bin Meng
  2017-08-16  5:41 ` [U-Boot] [PATCH 01/13] x86: tsc: Add Airmont reference clock values Bin Meng
                   ` (12 more replies)
  0 siblings, 13 replies; 47+ messages in thread
From: Bin Meng @ 2017-08-16  5:41 UTC (permalink / raw
  To: u-boot

Intel Braswell SoC is the follow-up processor of BayTrail on the
Atom product line. This support utilizes Intel FSP firmware to
initialize the SoC. Note its FSP is spec 1.1 compliant, but it
is still backward compatible with spec 1.0. For simplicity, we
are using the spec 1.0 APIs to do the initialization.

There are 3 big differences from previous SoCs:
- No ICH6 legacy GPIO controller. FSP uses a custom table to
  configure the pin mux and pads.
- No legacy VGA BIOS is supplied. Instead a new type of binary
  called Intel Video BIOS Table (VBT) is used by FSP to initialize
  the integrated graphics device.
- No EHCI controller, only an xHCI controller integrated.

The support is validated on Intel Cherry Hill board, a board based
on Intel Braswell SoC.

This series is available at u-boot-x86/braswell-working.


Bin Meng (13):
  x86: tsc: Add Airmont reference clock values
  x86: fsp: Update struct common_buf for FSP spec 1.1
  x86: fsp: Add FSP_GRAPHICS_INFO_HOB
  x86: Add Video BIOS Table (VBT) related Kconfig options
  tools: binman: Add a new entry type for Intel VBT
  x86: dts: Include Intel Video BIOS Table in the ROM image
  x86: dm: video: Add a framebuffer driver that utilizes VBT
  x86: fsp: Update fsp command to show spec 1.1 header
  x86: Add Intel Braswell SoC support
  x86: braswell: Add microcode for B0/C0/D0 stepping SoC
  x86: braswell: Add FSP configuration
  x86: braswell: Disable PUNIT power configuration for B0 stepping
  x86: Support Intel Cherry Hill board

 arch/x86/Kconfig                                   |   43 +
 arch/x86/cpu/Makefile                              |    1 +
 arch/x86/cpu/braswell/Kconfig                      |   38 +
 arch/x86/cpu/braswell/Makefile                     |    7 +
 arch/x86/cpu/braswell/braswell.c                   |   36 +
 arch/x86/cpu/braswell/cpu.c                        |  170 +
 arch/x86/cpu/braswell/early_uart.c                 |   86 +
 arch/x86/cpu/braswell/fsp_configs.c                |  164 +
 arch/x86/dts/Makefile                              |    1 +
 arch/x86/dts/cherryhill.dts                        |  215 +
 arch/x86/dts/microcode/m01406c2220.dtsi            | 4308 ++++++++++++++++++++
 arch/x86/dts/microcode/m01406c3363.dtsi            | 4308 ++++++++++++++++++++
 arch/x86/dts/microcode/m01406c440a.dtsi            | 4308 ++++++++++++++++++++
 arch/x86/dts/u-boot.dtsi                           |    6 +
 .../include/asm/arch-braswell/fsp/fsp_configs.h    |   89 +
 arch/x86/include/asm/arch-braswell/fsp/fsp_vpd.h   |  172 +
 arch/x86/include/asm/arch-braswell/gpio.h          |  234 ++
 arch/x86/include/asm/arch-braswell/iomap.h         |   50 +
 arch/x86/include/asm/fsp/fsp_api.h                 |    3 +-
 arch/x86/include/asm/fsp/fsp_hob.h                 |   34 +
 arch/x86/include/asm/fsp/fsp_infoheader.h          |    9 +-
 arch/x86/include/asm/fsp/fsp_support.h             |   12 +
 arch/x86/lib/fsp/Makefile                          |    1 +
 arch/x86/lib/fsp/cmd_fsp.c                         |   24 +-
 arch/x86/lib/fsp/fsp_graphics.c                    |  124 +
 arch/x86/lib/fsp/fsp_support.c                     |    7 +
 board/intel/Kconfig                                |   10 +
 board/intel/cherryhill/Kconfig                     |   25 +
 board/intel/cherryhill/MAINTAINERS                 |    6 +
 board/intel/cherryhill/Makefile                    |    7 +
 board/intel/cherryhill/cherryhill.c                |  596 +++
 board/intel/cherryhill/start.S                     |    9 +
 configs/cherryhill_defconfig                       |   36 +
 doc/README.x86                                     |   30 +
 drivers/timer/tsc_timer.c                          |   17 +-
 include/configs/cherryhill.h                       |   22 +
 tools/binman/etype/intel_vbt.py                    |   14 +
 tools/binman/func_test.py                          |    9 +-
 tools/binman/test/46_intel-vbt.dts                 |   14 +
 39 files changed, 15233 insertions(+), 12 deletions(-)
 create mode 100644 arch/x86/cpu/braswell/Kconfig
 create mode 100644 arch/x86/cpu/braswell/Makefile
 create mode 100644 arch/x86/cpu/braswell/braswell.c
 create mode 100644 arch/x86/cpu/braswell/cpu.c
 create mode 100644 arch/x86/cpu/braswell/early_uart.c
 create mode 100644 arch/x86/cpu/braswell/fsp_configs.c
 create mode 100644 arch/x86/dts/cherryhill.dts
 create mode 100644 arch/x86/dts/microcode/m01406c2220.dtsi
 create mode 100644 arch/x86/dts/microcode/m01406c3363.dtsi
 create mode 100644 arch/x86/dts/microcode/m01406c440a.dtsi
 create mode 100644 arch/x86/include/asm/arch-braswell/fsp/fsp_configs.h
 create mode 100644 arch/x86/include/asm/arch-braswell/fsp/fsp_vpd.h
 create mode 100644 arch/x86/include/asm/arch-braswell/gpio.h
 create mode 100644 arch/x86/include/asm/arch-braswell/iomap.h
 create mode 100644 arch/x86/lib/fsp/fsp_graphics.c
 create mode 100644 board/intel/cherryhill/Kconfig
 create mode 100644 board/intel/cherryhill/MAINTAINERS
 create mode 100644 board/intel/cherryhill/Makefile
 create mode 100644 board/intel/cherryhill/cherryhill.c
 create mode 100644 board/intel/cherryhill/start.S
 create mode 100644 configs/cherryhill_defconfig
 create mode 100644 include/configs/cherryhill.h
 create mode 100644 tools/binman/etype/intel_vbt.py
 create mode 100644 tools/binman/test/46_intel-vbt.dts

-- 
2.9.2

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 01/13] x86: tsc: Add Airmont reference clock values
  2017-08-16  5:41 [U-Boot] [PATCH 00/13] x86: Add Intel Braswell SoC and Cherry Hill board support Bin Meng
@ 2017-08-16  5:41 ` Bin Meng
  2017-08-26 13:38   ` Simon Glass
  2017-08-16  5:41 ` [U-Boot] [PATCH 02/13] x86: fsp: Update struct common_buf for FSP spec 1.1 Bin Meng
                   ` (11 subsequent siblings)
  12 siblings, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-08-16  5:41 UTC (permalink / raw
  To: u-boot

Per the Intel 64 and IA-32 Architecture Software Developer's Manual,
add the reference clock for Intel Atom Processors based on the Airmont
Microarchitecture (Braswell).

This keeps in sync with Linux kernel commit:
  6fcb41c: x86/tsc_msr: Add Airmont reference clock values

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
---

 drivers/timer/tsc_timer.c | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/drivers/timer/tsc_timer.c b/drivers/timer/tsc_timer.c
index 4d1fc9c..77040af 100644
--- a/drivers/timer/tsc_timer.c
+++ b/drivers/timer/tsc_timer.c
@@ -18,7 +18,7 @@
 #include <asm/msr.h>
 #include <asm/u-boot-x86.h>
 
-#define MAX_NUM_FREQS	8
+#define MAX_NUM_FREQS	9
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -40,17 +40,20 @@ struct freq_desc {
 
 static struct freq_desc freq_desc_tables[] = {
 	/* PNW */
-	{ 6, 0x27, 0, { 0, 0, 0, 0, 0, 99840, 0, 83200 } },
+	{ 6, 0x27, 0, { 0, 0, 0, 0, 0, 99840, 0, 83200, 0 } },
 	/* CLV+ */
-	{ 6, 0x35, 0, { 0, 133200, 0, 0, 0, 99840, 0, 83200 } },
+	{ 6, 0x35, 0, { 0, 133200, 0, 0, 0, 99840, 0, 83200, 0 } },
 	/* TNG - Intel Atom processor Z3400 series */
-	{ 6, 0x4a, 1, { 0, 100000, 133300, 0, 0, 0, 0, 0 } },
+	{ 6, 0x4a, 1, { 0, 100000, 133300, 0, 0, 0, 0, 0, 0 } },
 	/* VLV2 - Intel Atom processor E3000, Z3600, Z3700 series */
-	{ 6, 0x37, 1, { 83300, 100000, 133300, 116700, 80000, 0, 0, 0 } },
+	{ 6, 0x37, 1, { 83300, 100000, 133300, 116700, 80000, 0, 0, 0, 0 } },
 	/* ANN - Intel Atom processor Z3500 series */
-	{ 6, 0x5a, 1, { 83300, 100000, 133300, 100000, 0, 0, 0, 0 } },
+	{ 6, 0x5a, 1, { 83300, 100000, 133300, 100000, 0, 0, 0, 0, 0 } },
+	/* AMT - Intel Atom processor X7-Z8000 and X5-Z8000 series */
+	{ 6, 0x4c, 1, { 83300, 100000, 133300, 116700,
+			80000, 93300, 90000, 88900, 87500 } },
 	/* Ivybridge */
-	{ 6, 0x3a, 2, { 0, 0, 0, 0, 0, 0, 0, 0 } },
+	{ 6, 0x3a, 2, { 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
 };
 
 static int match_cpu(u8 family, u8 model)
-- 
2.9.2

^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 02/13] x86: fsp: Update struct common_buf for FSP spec 1.1
  2017-08-16  5:41 [U-Boot] [PATCH 00/13] x86: Add Intel Braswell SoC and Cherry Hill board support Bin Meng
  2017-08-16  5:41 ` [U-Boot] [PATCH 01/13] x86: tsc: Add Airmont reference clock values Bin Meng
@ 2017-08-16  5:41 ` Bin Meng
  2017-08-26 13:38   ` Simon Glass
  2017-08-16  5:41 ` [U-Boot] [PATCH 03/13] x86: fsp: Add FSP_GRAPHICS_INFO_HOB Bin Meng
                   ` (10 subsequent siblings)
  12 siblings, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-08-16  5:41 UTC (permalink / raw
  To: u-boot

FSP spec 1.1 adds one more member to the struct common_buf to
determine the memory size that can be reserved by FSP below "top
of low usable memory" for bootloader usage. This new member uses
the reserved space so that it is still compatible with previous
FSP spec 1.0.

A new HOB (FSP_HOB_RESOURCE_OWNER_BOOTLOADER_TOLUM_GUID) is also
published when common_buf.tolum_size is valid and non zero.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
---

 arch/x86/include/asm/fsp/fsp_api.h | 3 ++-
 arch/x86/include/asm/fsp/fsp_hob.h | 8 ++++++++
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/arch/x86/include/asm/fsp/fsp_api.h b/arch/x86/include/asm/fsp/fsp_api.h
index afafb30..43f0cdb 100644
--- a/arch/x86/include/asm/fsp/fsp_api.h
+++ b/arch/x86/include/asm/fsp/fsp_api.h
@@ -43,7 +43,8 @@ struct common_buf {
 	u32	stack_top;
 	u32	boot_mode;	/* Current system boot mode */
 	void	*upd_data;	/* User platform configuraiton data region */
-	u32	reserved[7];	/* Reserved */
+	u32	tolum_size;	/* Top of low usable memory size (FSP 1.1) */
+	u32	reserved[6];	/* Reserved */
 };
 
 enum fsp_phase {
diff --git a/arch/x86/include/asm/fsp/fsp_hob.h b/arch/x86/include/asm/fsp/fsp_hob.h
index 7c22bcd..8ce665e 100644
--- a/arch/x86/include/asm/fsp/fsp_hob.h
+++ b/arch/x86/include/asm/fsp/fsp_hob.h
@@ -242,4 +242,12 @@ static inline u16 get_guid_hob_data_size(const struct hob_header *hdr)
 	{ 0x82, 0xb9, 0x56, 0xa5, 0xf3, 0xe6, 0x2a, 0x07 } \
 	}
 
+/* The following GUIDs are newly introduced in FSP spec 1.1 */
+
+#define FSP_HOB_RESOURCE_OWNER_BOOTLOADER_TOLUM_GUID \
+	{ \
+	0x73ff4f56, 0xaa8e, 0x4451, \
+	{ 0xb3, 0x16, 0x36, 0x35, 0x36, 0x67, 0xad, 0x44 } \
+	}
+
 #endif
-- 
2.9.2

^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 03/13] x86: fsp: Add FSP_GRAPHICS_INFO_HOB
  2017-08-16  5:41 [U-Boot] [PATCH 00/13] x86: Add Intel Braswell SoC and Cherry Hill board support Bin Meng
  2017-08-16  5:41 ` [U-Boot] [PATCH 01/13] x86: tsc: Add Airmont reference clock values Bin Meng
  2017-08-16  5:41 ` [U-Boot] [PATCH 02/13] x86: fsp: Update struct common_buf for FSP spec 1.1 Bin Meng
@ 2017-08-16  5:41 ` Bin Meng
  2017-08-26 13:38   ` Simon Glass
  2017-08-16  5:41 ` [U-Boot] [PATCH 04/13] x86: Add Video BIOS Table (VBT) related Kconfig options Bin Meng
                   ` (9 subsequent siblings)
  12 siblings, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-08-16  5:41 UTC (permalink / raw
  To: u-boot

This adds a new HOB type for graphics information introduced in FSP
spec 1.1. When graphics capability is included in FSP and enabled,
FSP produces an FSP_GRAPHICS_INFO_HOB as described in the EFI PI
specification which provides information about the graphics mode and
framebuffer.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
---

 arch/x86/include/asm/fsp/fsp_hob.h     | 26 ++++++++++++++++++++++++++
 arch/x86/include/asm/fsp/fsp_support.h | 12 ++++++++++++
 arch/x86/lib/fsp/fsp_support.c         |  7 +++++++
 3 files changed, 45 insertions(+)

diff --git a/arch/x86/include/asm/fsp/fsp_hob.h b/arch/x86/include/asm/fsp/fsp_hob.h
index 8ce665e..244f86e 100644
--- a/arch/x86/include/asm/fsp/fsp_hob.h
+++ b/arch/x86/include/asm/fsp/fsp_hob.h
@@ -127,6 +127,26 @@ struct hob_guid {
 	/* GUID specific data goes here */
 };
 
+enum pixel_format {
+	pixel_rgbx_8bpc,	/* RGB 8 bit per color */
+	pixel_bgrx_8bpc,	/* BGR 8 bit per color */
+	pixel_bitmask,
+};
+
+struct __packed hob_graphics_info {
+	phys_addr_t fb_base;	/* framebuffer base address */
+	u32 fb_size;		/* framebuffer size */
+	u32 version;
+	u32 width;
+	u32 height;
+	enum pixel_format pixel_format;
+	u32 red_mask;
+	u32 green_mask;
+	u32 blue_mask;
+	u32 reserved_mask;
+	u32 pixels_per_scanline;
+};
+
 /**
  * get_next_hob() - return a pointer to the next HOB in the HOB list
  *
@@ -250,4 +270,10 @@ static inline u16 get_guid_hob_data_size(const struct hob_header *hdr)
 	{ 0xb3, 0x16, 0x36, 0x35, 0x36, 0x67, 0xad, 0x44 } \
 	}
 
+#define FSP_GRAPHICS_INFO_HOB_GUID \
+	{ \
+	0x39f62cce, 0x6825, 0x4669, \
+	{ 0xbb, 0x56, 0x54, 0x1a, 0xba, 0x75, 0x3a, 0x07 } \
+	}
+
 #endif
diff --git a/arch/x86/include/asm/fsp/fsp_support.h b/arch/x86/include/asm/fsp/fsp_support.h
index 61d811f..97a50b0 100644
--- a/arch/x86/include/asm/fsp/fsp_support.h
+++ b/arch/x86/include/asm/fsp/fsp_support.h
@@ -191,6 +191,18 @@ void *fsp_get_nvs_data(const void *hob_list, u32 *len);
 void *fsp_get_bootloader_tmp_mem(const void *hob_list, u32 *len);
 
 /**
+ * This function retrieves graphics information.
+ *
+ * @hob_list:      A HOB list pointer.
+ * @len:           A pointer to the graphics info HOB length.
+ *                 If the HOB is located, the length will be updated.
+ *
+ * @retval NULL:   Failed to find the graphics info HOB.
+ * @retval others: A pointer to struct hob_graphics_info.
+ */
+void *fsp_get_graphics_info(const void *hob_list, u32 *len);
+
+/**
  * This function overrides the default configurations of FSP.
  *
  * @config:  A pointer to the FSP configuration data structure
diff --git a/arch/x86/lib/fsp/fsp_support.c b/arch/x86/lib/fsp/fsp_support.c
index ab8340c..e0c49be 100644
--- a/arch/x86/lib/fsp/fsp_support.c
+++ b/arch/x86/lib/fsp/fsp_support.c
@@ -425,3 +425,10 @@ void *fsp_get_bootloader_tmp_mem(const void *hob_list, u32 *len)
 
 	return fsp_get_guid_hob_data(hob_list, len, (struct efi_guid *)&guid);
 }
+
+void *fsp_get_graphics_info(const void *hob_list, u32 *len)
+{
+	const struct efi_guid guid = FSP_GRAPHICS_INFO_HOB_GUID;
+
+	return fsp_get_guid_hob_data(hob_list, len, (struct efi_guid *)&guid);
+}
-- 
2.9.2

^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 04/13] x86: Add Video BIOS Table (VBT) related Kconfig options
  2017-08-16  5:41 [U-Boot] [PATCH 00/13] x86: Add Intel Braswell SoC and Cherry Hill board support Bin Meng
                   ` (2 preceding siblings ...)
  2017-08-16  5:41 ` [U-Boot] [PATCH 03/13] x86: fsp: Add FSP_GRAPHICS_INFO_HOB Bin Meng
@ 2017-08-16  5:41 ` Bin Meng
  2017-08-26 13:38   ` Simon Glass
  2017-08-16  5:41 ` [U-Boot] [PATCH 05/13] tools: binman: Add a new entry type for Intel VBT Bin Meng
                   ` (8 subsequent siblings)
  12 siblings, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-08-16  5:41 UTC (permalink / raw
  To: u-boot

This adds Kconfig options for Video BIOS Table which is normally
required if you are using an Intel FSP firmware that is complaint
with spec 1.1 or later to initialize the integrated graphics device.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
---

 arch/x86/Kconfig | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 5373082..b0d3266 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -551,6 +551,40 @@ config VGA_BIOS_ADDR
 	  address of 0xfff90000 indicates that the image will be put at offset
 	  0x90000 from the beginning of a 1MB flash device.
 
+config HAVE_VBT
+	bool "Add a Video BIOS Table (VBT) image"
+	depends on HAVE_FSP
+	help
+	  Select this option if you have a Video BIOS Table (VBT) image that
+	  you would like to add to your ROM. This is normally required if you
+	  are using an Intel FSP firmware that is complaint with spec 1.1 or
+	  later to initialize the integrated graphics device (IGD).
+
+	  Video BIOS Table, or VBT, provides platform and board specific
+	  configuration information to the driver that is not discoverable
+	  or available through other means. By other means the most used
+	  method here is to read EDID table from the attached monitor, over
+	  Display Data Channel (DDC) using two pin I2C serial interface. VBT
+	  configuration is related to display hardware and is available via
+	  the ACPI OpRegion or, on older systems, in the PCI ROM (Option ROM).
+
+config VBT_FILE
+	string "Video BIOS Table (VBT) image filename"
+	depends on HAVE_VBT
+	default "vbt.bin"
+	help
+	  The filename of the file to use as Video BIOS Table (VBT) image
+	  in the board directory.
+
+config VBT_ADDR
+	hex "Video BIOS Table (VBT) image location"
+	depends on HAVE_VBT
+	default 0xfff90000
+	help
+	  The location of Video BIOS Table (VBT) image in the SPI flash. For
+	  example, base address of 0xfff90000 indicates that the image will
+	  be put at offset 0x90000 from the beginning of a 1MB flash device.
+
 config ROM_TABLE_ADDR
 	hex
 	default 0xf0000
-- 
2.9.2

^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 05/13] tools: binman: Add a new entry type for Intel VBT
  2017-08-16  5:41 [U-Boot] [PATCH 00/13] x86: Add Intel Braswell SoC and Cherry Hill board support Bin Meng
                   ` (3 preceding siblings ...)
  2017-08-16  5:41 ` [U-Boot] [PATCH 04/13] x86: Add Video BIOS Table (VBT) related Kconfig options Bin Meng
@ 2017-08-16  5:41 ` Bin Meng
  2017-08-26 13:38   ` Simon Glass
  2017-08-16  5:41 ` [U-Boot] [PATCH 06/13] x86: dts: Include Intel Video BIOS Table in the ROM image Bin Meng
                   ` (7 subsequent siblings)
  12 siblings, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-08-16  5:41 UTC (permalink / raw
  To: u-boot

This adds a new entry type for Intel Video BIOS Table.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
---

 tools/binman/etype/intel_vbt.py    | 14 ++++++++++++++
 tools/binman/func_test.py          |  9 ++++++++-
 tools/binman/test/46_intel-vbt.dts | 14 ++++++++++++++
 3 files changed, 36 insertions(+), 1 deletion(-)
 create mode 100644 tools/binman/etype/intel_vbt.py
 create mode 100644 tools/binman/test/46_intel-vbt.dts

diff --git a/tools/binman/etype/intel_vbt.py b/tools/binman/etype/intel_vbt.py
new file mode 100644
index 0000000..29aedaf
--- /dev/null
+++ b/tools/binman/etype/intel_vbt.py
@@ -0,0 +1,14 @@
+#
+# Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com>
+#
+# SPDX-License-Identifier:	GPL-2.0+
+#
+# Entry-type module for Intel Video BIOS Table binary blob
+#
+
+from entry import Entry
+from blob import Entry_blob
+
+class Entry_intel_vbt(Entry_blob):
+    def __init__(self, image, etype, node):
+        Entry_blob.__init__(self, image, etype, node)
diff --git a/tools/binman/func_test.py b/tools/binman/func_test.py
index 8b4db41..c4207ce 100644
--- a/tools/binman/func_test.py
+++ b/tools/binman/func_test.py
@@ -38,6 +38,7 @@ X86_START16_DATA    = 'start16'
 U_BOOT_NODTB_DATA   = 'nodtb with microcode pointer somewhere in here'
 FSP_DATA            = 'fsp'
 CMC_DATA            = 'cmc'
+VBT_DATA            = 'vbt'
 
 class TestFunctional(unittest.TestCase):
     """Functional tests for binman
@@ -74,6 +75,7 @@ class TestFunctional(unittest.TestCase):
         TestFunctional._MakeInputFile('u-boot-nodtb.bin', U_BOOT_NODTB_DATA)
         TestFunctional._MakeInputFile('fsp.bin', FSP_DATA)
         TestFunctional._MakeInputFile('cmc.bin', CMC_DATA)
+        TestFunctional._MakeInputFile('vbt.bin', VBT_DATA)
         self._output_setup = False
 
         # ELF file with a '_dt_ucode_base_size' symbol
@@ -801,6 +803,11 @@ class TestFunctional(unittest.TestCase):
         self.assertEqual(FSP_DATA, data[:len(FSP_DATA)])
 
     def testPackCmc(self):
-        """Test that an image with a FSP binary can be created"""
+        """Test that an image with a CMC binary can be created"""
         data = self._DoReadFile('43_intel-cmc.dts')
         self.assertEqual(CMC_DATA, data[:len(CMC_DATA)])
+
+    def testPackVbt(self):
+        """Test that an image with a VBT binary can be created"""
+        data = self._DoReadFile('46_intel-vbt.dts')
+        self.assertEqual(VBT_DATA, data[:len(VBT_DATA)])
diff --git a/tools/binman/test/46_intel-vbt.dts b/tools/binman/test/46_intel-vbt.dts
new file mode 100644
index 0000000..733f575
--- /dev/null
+++ b/tools/binman/test/46_intel-vbt.dts
@@ -0,0 +1,14 @@
+/dts-v1/;
+
+/ {
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	binman {
+		size = <16>;
+
+		intel-vbt {
+			filename = "vbt.bin";
+		};
+	};
+};
-- 
2.9.2

^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 06/13] x86: dts: Include Intel Video BIOS Table in the ROM image
  2017-08-16  5:41 [U-Boot] [PATCH 00/13] x86: Add Intel Braswell SoC and Cherry Hill board support Bin Meng
                   ` (4 preceding siblings ...)
  2017-08-16  5:41 ` [U-Boot] [PATCH 05/13] tools: binman: Add a new entry type for Intel VBT Bin Meng
@ 2017-08-16  5:41 ` Bin Meng
  2017-08-26 13:39   ` Simon Glass
  2017-08-16  5:41 ` [U-Boot] [PATCH 07/13] x86: dm: video: Add a framebuffer driver that utilizes VBT Bin Meng
                   ` (6 subsequent siblings)
  12 siblings, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-08-16  5:41 UTC (permalink / raw
  To: u-boot

Now that binman is able to recognize the Video BIOS Table entry,
add such one in the u-boot.dtsi.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
---

 arch/x86/dts/u-boot.dtsi | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/x86/dts/u-boot.dtsi b/arch/x86/dts/u-boot.dtsi
index a4321d3..7e37d4f 100644
--- a/arch/x86/dts/u-boot.dtsi
+++ b/arch/x86/dts/u-boot.dtsi
@@ -67,6 +67,12 @@
 			pos = <CONFIG_VGA_BIOS_ADDR>;
 		};
 #endif
+#ifdef CONFIG_HAVE_VBT
+		intel-vbt {
+			filename = CONFIG_VBT_FILE;
+			pos = <CONFIG_VBT_ADDR>;
+		};
+#endif
 #ifdef CONFIG_HAVE_REFCODE
 		intel-refcode {
 			pos = <CONFIG_X86_REFCODE_ADDR>;
-- 
2.9.2

^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 07/13] x86: dm: video: Add a framebuffer driver that utilizes VBT
  2017-08-16  5:41 [U-Boot] [PATCH 00/13] x86: Add Intel Braswell SoC and Cherry Hill board support Bin Meng
                   ` (5 preceding siblings ...)
  2017-08-16  5:41 ` [U-Boot] [PATCH 06/13] x86: dts: Include Intel Video BIOS Table in the ROM image Bin Meng
@ 2017-08-16  5:41 ` Bin Meng
  2017-08-26  3:36   ` Simon Glass
  2017-08-16  5:41 ` [U-Boot] [PATCH 08/13] x86: fsp: Update fsp command to show spec 1.1 header Bin Meng
                   ` (5 subsequent siblings)
  12 siblings, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-08-16  5:41 UTC (permalink / raw
  To: u-boot

When a VBT is given to an FSP that supports graphics initialization,
the FSP will produce a graphics info HOB that contains all necessary
information for the linear frame buffer of the integrated graphics
device. This adds a DM video driver for it.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
---

 arch/x86/Kconfig                |   8 +++
 arch/x86/lib/fsp/Makefile       |   1 +
 arch/x86/lib/fsp/fsp_graphics.c | 124 ++++++++++++++++++++++++++++++++++++++++
 3 files changed, 133 insertions(+)
 create mode 100644 arch/x86/lib/fsp/fsp_graphics.c

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index b0d3266..f72d307 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -585,6 +585,14 @@ config VBT_ADDR
 	  example, base address of 0xfff90000 indicates that the image will
 	  be put at offset 0x90000 from the beginning of a 1MB flash device.
 
+config VIDEO_FSP
+	bool "Enable FSP framebuffer driver support"
+	depends on HAVE_VBT && DM_VIDEO
+	help
+	  Turn on this option to enable a framebuffer driver when U-Boot is
+	  using Video BIOS Table (VBT) image for FSP firmware to initialize
+	  the integrated graphics device.
+
 config ROM_TABLE_ADDR
 	hex
 	default 0xf0000
diff --git a/arch/x86/lib/fsp/Makefile b/arch/x86/lib/fsp/Makefile
index 3ea4880..afe83dd3 100644
--- a/arch/x86/lib/fsp/Makefile
+++ b/arch/x86/lib/fsp/Makefile
@@ -8,4 +8,5 @@ obj-y += cmd_fsp.o
 obj-y += fsp_car.o
 obj-y += fsp_common.o
 obj-y += fsp_dram.o
+obj-$(CONFIG_VIDEO_FSP) += fsp_graphics.o
 obj-y += fsp_support.o
diff --git a/arch/x86/lib/fsp/fsp_graphics.c b/arch/x86/lib/fsp/fsp_graphics.c
new file mode 100644
index 0000000..a19b067
--- /dev/null
+++ b/arch/x86/lib/fsp/fsp_graphics.c
@@ -0,0 +1,124 @@
+/*
+ * Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.h>
+#include <dm.h>
+#include <vbe.h>
+#include <video.h>
+#include <asm/fsp/fsp_support.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+struct pixel {
+	u8 pos;
+	u8 size;
+};
+
+static const struct fsp_framebuffer {
+	struct pixel red;
+	struct pixel green;
+	struct pixel blue;
+	struct pixel rsvd;
+} fsp_framebuffer_format_map[] = {
+	[pixel_rgbx_8bpc] = { {0, 8}, {8, 8}, {16, 8}, {24, 8} },
+	[pixel_bgrx_8bpc] = { {16, 8}, {8, 8}, {0, 8}, {24, 8} },
+};
+
+static int save_vesa_mode(struct vesa_mode_info *vesa)
+{
+	const struct hob_graphics_info *ginfo;
+	const struct fsp_framebuffer *fbinfo;
+
+	ginfo = fsp_get_graphics_info(gd->arch.hob_list, NULL);
+
+	/*
+	 * If there is no graphics info structure, bail out and keep
+	 * running on the serial console.
+	 */
+	if (!ginfo) {
+		debug("FSP graphics hand-off block not found\n");
+		return -ENXIO;
+	}
+
+	vesa->x_resolution = ginfo->width;
+	vesa->y_resolution = ginfo->height;
+	vesa->bits_per_pixel = 32;
+	vesa->bytes_per_scanline = ginfo->pixels_per_scanline * 4;
+	vesa->phys_base_ptr = ginfo->fb_base;
+
+	if (ginfo->pixel_format >= pixel_bitmask) {
+		debug("FSP set unknown framebuffer format: %d\n",
+		      ginfo->pixel_format);
+		return -EINVAL;
+	}
+	fbinfo = &fsp_framebuffer_format_map[ginfo->pixel_format];
+	vesa->red_mask_size = fbinfo->red.size;
+	vesa->red_mask_pos = fbinfo->red.pos;
+	vesa->green_mask_size = fbinfo->green.size;
+	vesa->green_mask_pos = fbinfo->green.pos;
+	vesa->blue_mask_size = fbinfo->blue.size;
+	vesa->blue_mask_pos = fbinfo->blue.pos;
+	vesa->reserved_mask_size = fbinfo->rsvd.size;
+	vesa->reserved_mask_pos = fbinfo->rsvd.pos;
+
+	return 0;
+}
+
+static int fsp_video_probe(struct udevice *dev)
+{
+	struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+	struct video_priv *uc_priv = dev_get_uclass_priv(dev);
+	struct vesa_mode_info *vesa = &mode_info.vesa;
+	int ret;
+
+	printf("Video: ");
+
+	/* Initialize vesa_mode_info structure */
+	ret = save_vesa_mode(vesa);
+	if (ret)
+		goto err;
+
+	/*
+	 * The framebuffer base address in the FSP graphics info HOB reflects
+	 * the value assigned by the FSP. After PCI enumeration the framebuffer
+	 * base address may be relocated. Let's get the updated one from device.
+	 *
+	 * For IGD, it seems to be always on BAR2.
+	 */
+	vesa->phys_base_ptr = dm_pci_read_bar32(dev, 2);
+
+	ret = vbe_setup_video_priv(vesa, uc_priv, plat);
+	if (ret)
+		goto err;
+
+	printf("%dx%dx%d\n", uc_priv->xsize, uc_priv->ysize,
+	       vesa->bits_per_pixel);
+
+	return 0;
+
+err:
+	printf("No video mode configured in FSP!\n");
+	return ret;
+}
+
+static const struct udevice_id fsp_video_ids[] = {
+	{ .compatible = "fsp-fb" },
+	{ }
+};
+
+U_BOOT_DRIVER(fsp_video) = {
+	.name	= "fsp_video",
+	.id	= UCLASS_VIDEO,
+	.of_match = fsp_video_ids,
+	.probe	= fsp_video_probe,
+};
+
+static struct pci_device_id fsp_video_supported[] = {
+	{ PCI_DEVICE_CLASS(PCI_CLASS_DISPLAY_VGA << 8, 0xffff00) },
+	{ },
+};
+
+U_BOOT_PCI_DEVICE(fsp_video, fsp_video_supported);
-- 
2.9.2

^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 08/13] x86: fsp: Update fsp command to show spec 1.1 header
  2017-08-16  5:41 [U-Boot] [PATCH 00/13] x86: Add Intel Braswell SoC and Cherry Hill board support Bin Meng
                   ` (6 preceding siblings ...)
  2017-08-16  5:41 ` [U-Boot] [PATCH 07/13] x86: dm: video: Add a framebuffer driver that utilizes VBT Bin Meng
@ 2017-08-16  5:41 ` Bin Meng
  2017-08-26 13:39   ` Simon Glass
  2017-08-16  5:41 ` [U-Boot] [PATCH 09/13] x86: Add Intel Braswell SoC support Bin Meng
                   ` (4 subsequent siblings)
  12 siblings, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-08-16  5:41 UTC (permalink / raw
  To: u-boot

FSP spec 1.1 adds 3 new APIs and their offsets are in the header.
Update the 'fsp hdr' command to show these new entries.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
---

 arch/x86/include/asm/fsp/fsp_infoheader.h |  9 ++++++++-
 arch/x86/lib/fsp/cmd_fsp.c                | 24 ++++++++++++++++++++++--
 2 files changed, 30 insertions(+), 3 deletions(-)

diff --git a/arch/x86/include/asm/fsp/fsp_infoheader.h b/arch/x86/include/asm/fsp/fsp_infoheader.h
index 4a4d627..60ce61d 100644
--- a/arch/x86/include/asm/fsp/fsp_infoheader.h
+++ b/arch/x86/include/asm/fsp/fsp_infoheader.h
@@ -26,7 +26,14 @@ struct __packed fsp_header {
 	u32	fsp_tempram_init;	/* tempram_init offset */
 	u32	fsp_init;		/* fsp_init offset */
 	u32	fsp_notify;		/* fsp_notify offset */
-	u32	reserved2;
+	u32	fsp_mem_init;		/* fsp_mem_init offset */
+	u32	fsp_tempram_exit;	/* fsp_tempram_exit offset */
+	u32	fsp_silicon_init;	/* fsp_silicon_init offset */
 };
 
+#define FSP_HEADER_REVISION_1		1
+#define FSP_HEADER_REVISION_2		2
+
+#define FSP_ATTR_GRAPHICS_SUPPORT	(1 << 0)
+
 #endif
diff --git a/arch/x86/lib/fsp/cmd_fsp.c b/arch/x86/lib/fsp/cmd_fsp.c
index 2554663..2a99cfe 100644
--- a/arch/x86/lib/fsp/cmd_fsp.c
+++ b/arch/x86/lib/fsp/cmd_fsp.c
@@ -38,17 +38,37 @@ static int do_hdr(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 	for (i = 0; i < sizeof(hdr->sign); i++)
 		printf("%c", *sign++);
 	printf(", size %d, rev %d\n", hdr->hdr_len, hdr->hdr_rev);
-	printf("Image  : rev %d.%d, id ",
-	       (hdr->img_rev >> 8) & 0xff, hdr->img_rev & 0xff);
+	printf("Image  : rev ");
+	if (hdr->hdr_rev == FSP_HEADER_REVISION_1) {
+		printf("%d.%d",
+		       (hdr->img_rev >> 8) & 0xff, hdr->img_rev & 0xff);
+	} else {
+		printf("%d.%d.%d.%d",
+		       (hdr->img_rev >> 24) & 0xff, (hdr->img_rev >> 16) & 0xff,
+		       (hdr->img_rev >> 8) & 0xff, hdr->img_rev & 0xff);
+	}
+	printf(", id ");
 	for (i = 0; i < ARRAY_SIZE(hdr->img_id); i++)
 		printf("%c", hdr->img_id[i]);
 	printf(", addr 0x%08x, size %d\n", img_addr, hdr->img_size);
+	if (hdr->hdr_rev == FSP_HEADER_REVISION_2) {
+		printf("GFX    :%ssupported\n",
+		       hdr->img_attr & FSP_ATTR_GRAPHICS_SUPPORT ? " " : " un");
+	}
 	printf("VPD    : addr 0x%08x, size %d\n",
 	       hdr->cfg_region_off + img_addr, hdr->cfg_region_size);
 	printf("\nNumber of APIs Supported : %d\n", hdr->api_num);
 	printf("\tTempRamInit : 0x%08x\n", hdr->fsp_tempram_init + img_addr);
 	printf("\tFspInit     : 0x%08x\n", hdr->fsp_init + img_addr);
 	printf("\tFspNotify   : 0x%08x\n", hdr->fsp_notify + img_addr);
+	if (hdr->hdr_rev == FSP_HEADER_REVISION_2) {
+		printf("\tMemoryInit  : 0x%08x\n",
+		       hdr->fsp_mem_init + img_addr);
+		printf("\tTempRamExit : 0x%08x\n",
+		       hdr->fsp_tempram_exit + img_addr);
+		printf("\tSiliconInit : 0x%08x\n",
+		       hdr->fsp_silicon_init + img_addr);
+	}
 
 	return 0;
 }
-- 
2.9.2

^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 09/13] x86: Add Intel Braswell SoC support
  2017-08-16  5:41 [U-Boot] [PATCH 00/13] x86: Add Intel Braswell SoC and Cherry Hill board support Bin Meng
                   ` (7 preceding siblings ...)
  2017-08-16  5:41 ` [U-Boot] [PATCH 08/13] x86: fsp: Update fsp command to show spec 1.1 header Bin Meng
@ 2017-08-16  5:41 ` Bin Meng
  2017-08-26 13:39   ` Simon Glass
  2017-08-16  5:41 ` [U-Boot] [PATCH 10/13] x86: braswell: Add microcode for B0/C0/D0 stepping SoC Bin Meng
                   ` (3 subsequent siblings)
  12 siblings, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-08-16  5:41 UTC (permalink / raw
  To: u-boot

This adds initial Intel Braswell SoC support. It uses Intel FSP
to initialize the chipset.

Similar to its predecessor BayTrail, there are some work to do to
enable the legacy UART integrated in the Braswell SoC.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
---

 arch/x86/Kconfig                           |   1 +
 arch/x86/cpu/Makefile                      |   1 +
 arch/x86/cpu/braswell/Kconfig              |  38 +++++++
 arch/x86/cpu/braswell/Makefile             |   7 ++
 arch/x86/cpu/braswell/braswell.c           |  36 ++++++
 arch/x86/cpu/braswell/cpu.c                | 170 +++++++++++++++++++++++++++++
 arch/x86/cpu/braswell/early_uart.c         |  86 +++++++++++++++
 arch/x86/include/asm/arch-braswell/iomap.h |  50 +++++++++
 8 files changed, 389 insertions(+)
 create mode 100644 arch/x86/cpu/braswell/Kconfig
 create mode 100644 arch/x86/cpu/braswell/Makefile
 create mode 100644 arch/x86/cpu/braswell/braswell.c
 create mode 100644 arch/x86/cpu/braswell/cpu.c
 create mode 100644 arch/x86/cpu/braswell/early_uart.c
 create mode 100644 arch/x86/include/asm/arch-braswell/iomap.h

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index f72d307..9620764 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -108,6 +108,7 @@ source "board/intel/Kconfig"
 
 # platform-specific options below
 source "arch/x86/cpu/baytrail/Kconfig"
+source "arch/x86/cpu/braswell/Kconfig"
 source "arch/x86/cpu/broadwell/Kconfig"
 source "arch/x86/cpu/coreboot/Kconfig"
 source "arch/x86/cpu/ivybridge/Kconfig"
diff --git a/arch/x86/cpu/Makefile b/arch/x86/cpu/Makefile
index 999429e..94cdff1 100644
--- a/arch/x86/cpu/Makefile
+++ b/arch/x86/cpu/Makefile
@@ -27,6 +27,7 @@ endif
 
 obj-y += intel_common/
 obj-$(CONFIG_INTEL_BAYTRAIL) += baytrail/
+obj-$(CONFIG_INTEL_BRASWELL) += braswell/
 obj-$(CONFIG_INTEL_BROADWELL) += broadwell/
 obj-$(CONFIG_SYS_COREBOOT) += coreboot/
 obj-$(CONFIG_EFI_APP) += efi/
diff --git a/arch/x86/cpu/braswell/Kconfig b/arch/x86/cpu/braswell/Kconfig
new file mode 100644
index 0000000..c993889
--- /dev/null
+++ b/arch/x86/cpu/braswell/Kconfig
@@ -0,0 +1,38 @@
+#
+# Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com>
+#
+# SPDX-License-Identifier:	GPL-2.0+
+#
+
+config INTEL_BRASWELL
+	bool
+	select HAVE_FSP
+	select ARCH_MISC_INIT
+	imply HAVE_INTEL_ME
+	imply HAVE_VBT
+	imply ENABLE_MRC_CACHE
+	imply ENV_IS_IN_SPI_FLASH
+	imply AHCI_PCI
+	imply ICH_SPI
+	imply MMC
+	imply MMC_PCI
+	imply MMC_SDHCI
+	imply MMC_SDHCI_SDMA
+	imply SCSI
+	imply SPI_FLASH
+	imply SYS_NS16550
+	imply USB
+	imply USB_XHCI_HCD
+	imply VIDEO_FSP
+
+if INTEL_BRASWELL
+
+config FSP_ADDR
+	hex
+	default 0xfff20000
+
+config FSP_LOCKDOWN_SPI
+	bool
+	default y
+
+endif
diff --git a/arch/x86/cpu/braswell/Makefile b/arch/x86/cpu/braswell/Makefile
new file mode 100644
index 0000000..19bcee6
--- /dev/null
+++ b/arch/x86/cpu/braswell/Makefile
@@ -0,0 +1,7 @@
+#
+# Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com>
+#
+# SPDX-License-Identifier:	GPL-2.0+
+#
+
+obj-y += braswell.o cpu.o early_uart.o
diff --git a/arch/x86/cpu/braswell/braswell.c b/arch/x86/cpu/braswell/braswell.c
new file mode 100644
index 0000000..37099aa
--- /dev/null
+++ b/arch/x86/cpu/braswell/braswell.c
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/mrccache.h>
+#include <asm/post.h>
+
+int arch_cpu_init(void)
+{
+	post_code(POST_CPU_INIT);
+
+	return x86_cpu_init_f();
+}
+
+int arch_misc_init(void)
+{
+#ifdef CONFIG_ENABLE_MRC_CACHE
+	/*
+	 * We intend not to check any return value here, as even MRC cache
+	 * is not saved successfully, it is not a severe error that will
+	 * prevent system from continuing to boot.
+	 */
+	mrccache_save();
+#endif
+
+	return 0;
+}
+
+void reset_cpu(ulong addr)
+{
+	/* cold reset */
+	x86_full_reset();
+}
diff --git a/arch/x86/cpu/braswell/cpu.c b/arch/x86/cpu/braswell/cpu.c
new file mode 100644
index 0000000..6ff9036
--- /dev/null
+++ b/arch/x86/cpu/braswell/cpu.c
@@ -0,0 +1,170 @@
+/*
+ * Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ *
+ * Derived from arch/x86/cpu/baytrail/cpu.c
+ */
+
+#include <common.h>
+#include <cpu.h>
+#include <dm.h>
+#include <asm/cpu.h>
+#include <asm/cpu_x86.h>
+#include <asm/io.h>
+#include <asm/lapic.h>
+#include <asm/msr.h>
+#include <asm/turbo.h>
+
+static const unsigned int braswell_bus_freq_table[] = {
+	83333333,
+	100000000,
+	133333333,
+	116666666,
+	80000000,
+	93333333,
+	90000000,
+	88900000,
+	87500000
+};
+
+static unsigned int braswell_bus_freq(void)
+{
+	msr_t clk_info = msr_read(MSR_BSEL_CR_OVERCLOCK_CONTROL);
+
+	if ((clk_info.lo & 0xf) < (ARRAY_SIZE(braswell_bus_freq_table)))
+		return braswell_bus_freq_table[clk_info.lo & 0xf];
+
+	return 0;
+}
+
+static unsigned long braswell_tsc_freq(void)
+{
+	msr_t platform_info;
+	ulong bclk = braswell_bus_freq();
+
+	if (!bclk)
+		return 0;
+
+	platform_info = msr_read(MSR_PLATFORM_INFO);
+
+	return bclk * ((platform_info.lo >> 8) & 0xff);
+}
+
+static int braswell_get_info(struct udevice *dev, struct cpu_info *info)
+{
+	info->cpu_freq = braswell_tsc_freq();
+	info->features = (1 << CPU_FEAT_L1_CACHE) | (1 << CPU_FEAT_MMU);
+
+	return 0;
+}
+
+static int braswell_get_count(struct udevice *dev)
+{
+	int ecx = 0;
+
+	/*
+	 * Use the algorithm described in Intel 64 and IA-32 Architectures
+	 * Software Developer's Manual Volume 3 (3A, 3B & 3C): System
+	 * Programming Guide, Jan-2015. Section 8.9.2: Hierarchical Mapping
+	 * of CPUID Extended Topology Leaf.
+	 */
+	while (1) {
+		struct cpuid_result leaf_b;
+
+		leaf_b = cpuid_ext(0xb, ecx);
+
+		/*
+		 * Braswell 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)
+			return leaf_b.ebx & 0xffff;
+
+		ecx++;
+	}
+
+	return 0;
+}
+
+static void braswell_set_max_freq(void)
+{
+	msr_t perf_ctl;
+	msr_t msr;
+
+	/* Enable speed step */
+	msr = msr_read(MSR_IA32_MISC_ENABLES);
+	msr.lo |= (1 << 16);
+	msr_write(MSR_IA32_MISC_ENABLES, msr);
+
+	/* Enable Burst Mode */
+	msr = msr_read(MSR_IA32_MISC_ENABLES);
+	msr.hi = 0;
+	msr_write(MSR_IA32_MISC_ENABLES, msr);
+
+	/*
+	 * Set guaranteed ratio [21:16] from IACORE_TURBO_RATIOS to
+	 * bits [15:8] of the PERF_CTL
+	 */
+	msr = msr_read(MSR_IACORE_TURBO_RATIOS);
+	perf_ctl.lo = (msr.lo & 0x3f0000) >> 8;
+
+	/*
+	 * Set guaranteed vid [22:16] from IACORE_TURBO_VIDS to
+	 * bits [7:0] of the PERF_CTL
+	 */
+	msr = msr_read(MSR_IACORE_TURBO_VIDS);
+	perf_ctl.lo |= (msr.lo & 0x7f0000) >> 16;
+
+	perf_ctl.hi = 0;
+	msr_write(MSR_IA32_PERF_CTL, perf_ctl);
+}
+
+static int braswell_probe(struct udevice *dev)
+{
+	debug("Init Braswell core\n");
+
+	/*
+	 * On Braswell the turbo disable bit is actually scoped at the
+	 * building-block level, not package. For non-BSP cores that are
+	 * within a building block, enable turbo. The cores within the BSP's
+	 * building block will just see it already enabled and move on.
+	 */
+	if (lapicid())
+		turbo_enable();
+
+	/* Dynamic L2 shrink enable and threshold, clear SINGLE_PCTL bit 11 */
+	msr_clrsetbits_64(MSR_PMG_CST_CONFIG_CONTROL, 0x3f080f, 0xe0008),
+	msr_clrsetbits_64(MSR_POWER_MISC,
+			  ENABLE_ULFM_AUTOCM_MASK | ENABLE_INDP_AUTOCM_MASK, 0);
+
+	/* Disable C1E */
+	msr_clrsetbits_64(MSR_POWER_CTL, 2, 0);
+	msr_setbits_64(MSR_POWER_MISC, 0x44);
+
+	/* Set this core to max frequency ratio */
+	braswell_set_max_freq();
+
+	return 0;
+}
+
+static const struct udevice_id braswell_ids[] = {
+	{ .compatible = "intel,braswell-cpu" },
+	{ }
+};
+
+static const struct cpu_ops braswell_ops = {
+	.get_desc	= cpu_x86_get_desc,
+	.get_info	= braswell_get_info,
+	.get_count	= braswell_get_count,
+	.get_vendor	= cpu_x86_get_vendor,
+};
+
+U_BOOT_DRIVER(cpu_x86_braswell_drv) = {
+	.name		= "cpu_x86_braswell",
+	.id		= UCLASS_CPU,
+	.of_match	= braswell_ids,
+	.bind		= cpu_x86_bind,
+	.probe		= braswell_probe,
+	.ops		= &braswell_ops,
+};
diff --git a/arch/x86/cpu/braswell/early_uart.c b/arch/x86/cpu/braswell/early_uart.c
new file mode 100644
index 0000000..0300e13
--- /dev/null
+++ b/arch/x86/cpu/braswell/early_uart.c
@@ -0,0 +1,86 @@
+/*
+ * Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/io.h>
+
+#define PCI_DEV_CONFIG(segbus, dev, fn) ( \
+		(((segbus) & 0xfff) << 20) | \
+		(((dev) & 0x1f) << 15) | \
+		(((fn)  & 0x07) << 12))
+
+/* Platform Controller Unit */
+#define LPC_DEV			0x1f
+#define LPC_FUNC		0
+
+/* Enable UART */
+#define UART_CONT		0x80
+
+/* UART PAD definitions */
+#define UART_RXD_COMMUITY	1
+#define UART_TXD_COMMUITY	1
+#define UART_RXD_FAMILY		4
+#define UART_TXD_FAMILY		4
+#define UART_RXD_PAD		2
+#define UART_TXD_PAD		7
+#define UART_RXD_FUNC		3
+#define UART_TXD_FUNC		3
+
+/* IO Memory */
+#define IO_BASE_ADDRESS		0xfed80000
+
+static inline uint32_t gpio_pconf0(int community, int family, int pad)
+{
+	return IO_BASE_ADDRESS + community * 0x8000 + 0x4400 +
+		family * 0x400 + pad * 8;
+}
+
+static void gpio_select_func(int community, int family, int pad, int func)
+{
+	uint32_t reg;
+	uint32_t pconf0_addr = gpio_pconf0(community, family, pad);
+
+	reg = readl(pconf0_addr);
+	reg &= ~(0xf << 16);
+	reg |= (func << 16);
+	writel(reg, pconf0_addr);
+}
+
+static void x86_pci_write_config32(int dev, unsigned int where, u32 value)
+{
+	unsigned long addr;
+
+	addr = CONFIG_PCIE_ECAM_BASE | dev | (where & ~3);
+	writel(value, addr);
+}
+
+/* This can be called after memory-mapped PCI is working */
+int setup_internal_uart(int enable)
+{
+	/* Enable or disable the legacy UART hardware */
+	x86_pci_write_config32(PCI_DEV_CONFIG(0, LPC_DEV, LPC_FUNC), UART_CONT,
+			       enable);
+
+	/* All done for the disable part, so just return */
+	if (!enable)
+		return 0;
+
+	/*
+	 * Set up the pads to the UART function. This allows the signals to
+	 * leave the chip
+	 */
+	gpio_select_func(UART_RXD_COMMUITY, UART_RXD_FAMILY,
+			 UART_RXD_PAD, UART_RXD_FUNC);
+	gpio_select_func(UART_TXD_COMMUITY, UART_TXD_FAMILY,
+			 UART_TXD_PAD, UART_TXD_FUNC);
+
+	return 0;
+}
+
+void board_debug_uart_init(void)
+{
+	setup_internal_uart(1);
+}
diff --git a/arch/x86/include/asm/arch-braswell/iomap.h b/arch/x86/include/asm/arch-braswell/iomap.h
new file mode 100644
index 0000000..7df2dc5
--- /dev/null
+++ b/arch/x86/include/asm/arch-braswell/iomap.h
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#ifndef _BRASWELL_IOMAP_H_
+#define _BRASWELL_IOMAP_H_
+
+/* Memory Mapped IO bases */
+
+/* Power Management Controller */
+#define PMC_BASE_ADDRESS	0xfed03000
+#define PMC_BASE_SIZE		0x400
+
+/* Power Management Unit */
+#define PUNIT_BASE_ADDRESS	0xfed05000
+#define PUNIT_BASE_SIZE		0x800
+
+/* 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
+
+/* Root Complex Base Address */
+#define RCBA_BASE_ADDRESS	0xfed1c000
+#define RCBA_BASE_SIZE		0x400
+
+/* IO Memory */
+#define IO_BASE_ADDRESS		0xfed80000
+#define IO_BASE_SIZE		0x4000
+
+/* MODPHY */
+#define MPHY_BASE_ADDRESS	0xfef00000
+#define MPHY_BASE_SIZE		0x100000
+
+/* IO Port bases */
+
+#define ACPI_BASE_ADDRESS	0x400
+#define ACPI_BASE_SIZE		0x80
+
+#define GPIO_BASE_ADDRESS	0x500
+#define GPIO_BASE_SIZE		0x100
+
+#define SMBUS_BASE_ADDRESS	0xefa0
+
+#endif /* _BRASWELL_IOMAP_H_ */
-- 
2.9.2

^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 10/13] x86: braswell: Add microcode for B0/C0/D0 stepping SoC
  2017-08-16  5:41 [U-Boot] [PATCH 00/13] x86: Add Intel Braswell SoC and Cherry Hill board support Bin Meng
                   ` (8 preceding siblings ...)
  2017-08-16  5:41 ` [U-Boot] [PATCH 09/13] x86: Add Intel Braswell SoC support Bin Meng
@ 2017-08-16  5:41 ` Bin Meng
  2017-08-26 13:39   ` Simon Glass
  2017-08-16  5:42 ` [U-Boot] [PATCH 11/13] x86: braswell: Add FSP configuration Bin Meng
                   ` (2 subsequent siblings)
  12 siblings, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-08-16  5:41 UTC (permalink / raw
  To: u-boot

This adds microcode device tree fragment for Braswell B0 (406C2),
C0 (406C3) and D0 (406C4) stepping SoC.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
---

 arch/x86/dts/microcode/m01406c2220.dtsi | 4308 +++++++++++++++++++++++++++++++
 arch/x86/dts/microcode/m01406c3363.dtsi | 4308 +++++++++++++++++++++++++++++++
 arch/x86/dts/microcode/m01406c440a.dtsi | 4308 +++++++++++++++++++++++++++++++
 3 files changed, 12924 insertions(+)
 create mode 100644 arch/x86/dts/microcode/m01406c2220.dtsi
 create mode 100644 arch/x86/dts/microcode/m01406c3363.dtsi
 create mode 100644 arch/x86/dts/microcode/m01406c440a.dtsi

diff --git a/arch/x86/dts/microcode/m01406c2220.dtsi b/arch/x86/dts/microcode/m01406c2220.dtsi
new file mode 100644
index 0000000..cf17dea
--- /dev/null
+++ b/arch/x86/dts/microcode/m01406c2220.dtsi
@@ -0,0 +1,4308 @@
+/*
+ * ---
+ * This is a device tree fragment. Use #include to add these properties to a
+ * node.
+ *
+ * Date:
+ */
+
+compatible = "intel,microcode";
+intel,header-version = <1>;
+intel,update-revision = <0x220>;
+intel,date-code = <0x1142015>;
+intel,processor-signature = <0x406c2>;
+intel,checksum = <0x21a02433>;
+intel,loader-revision = <1>;
+intel,processor-flags = <0x1>;
+
+/* The first 48-bytes are the public header which repeats the above data */
+data = <
+	0x01000000	0x20020000	0x15201401	0xc2060400
+	0x3324a021	0x01000000	0x01000000	0xd00b0100
+	0x000c0100	0x00000000	0x00000000	0x00000000
+	0x00000000	0xa1000000	0x01000200	0x20020000
+	0x00000000	0x00000000	0x14011520	0xe1420000
+	0x01000000	0xc2060400	0x00000000	0x00000000
+	0x00000000	0x00000000	0x00000000	0x00000000
+	0x00000000	0x00000000	0x00000000	0x00000000
+	0x00000000	0x00000000	0x00000000	0x00000000
+	0x17ce1b3d	0x74fb4eb5	0x2f27d633	0x14060671
+	0x6b4d57b0	0xaa1ad327	0x6022d785	0x5fa91aad
+	0xef44e4c3	0xf91d4958	0x230883b7	0x7382ab6e
+	0xf14324ef	0xf94c28d7	0x9131d196	0xebcf2faa
+	0xc049cb37	0xd1577abd	0x5edbe45a	0x17e1ca1e
+	0xbe9a92c3	0x1c8e1790	0xb3c08b8a	0xca799851
+	0x3f2a8c92	0x1b7e15d8	0x1f44ecb2	0xaeda1838
+	0x0ace8669	0xae9d497e	0x424c680c	0x21b3a3ed
+	0xd924acfe	0xddc126a2	0x26363596	0x21cd999b
+	0x193f9df3	0x037d1953	0xf97a3dc5	0x4c94ad7e
+	0x98b360f0	0xeb90461f	0x438e6d2e	0x30851a0e
+	0xfd623681	0x18782d3c	0x702938c5	0x462df0dd
+	0xf7d67cc1	0x161076a0	0xf06e5db3	0xd861a76b
+	0xa40b06bc	0xed37c69b	0x2b25f98b	0x2b67887d
+	0xbf0131b5	0x571b7c25	0x34eb3752	0x992e406e
+	0x031ba8e7	0xccfc5b1d	0x33f487e9	0xeccc3098
+	0xe452737b	0xb38cc286	0x817bc58f	0x852a7fde
+	0xcbcd1b19	0xab11894a	0xa1f278d7	0x360829c9
+	0x11000000	0x67a4c01f	0x3f863221	0xf4b82fe4
+	0xf464c489	0x36b8d097	0xfa9ab17e	0x9bccf4e6
+	0x9f836ffd	0x647c263c	0x03c7bede	0xf20172e9
+	0x8bd6e772	0x8621aca5	0xbdf4eade	0xac27528a
+	0xb562042b	0x23d0304c	0x964558ea	0xb5c03c97
+	0xe0bd0467	0xe8a6d50a	0xe5d4b902	0xb164253e
+	0x8306959c	0xd1cd57d5	0xf7d1d586	0x4eb5152b
+	0xf488caca	0xaa47f32f	0x366676b3	0x96b27e47
+	0xc8f4fdda	0x9f6854bb	0x89921eb5	0xbb7fe720
+	0x59709d36	0x01a5880c	0xee526518	0x586055d6
+	0xfac43c7a	0x7ce6da62	0x301be309	0xf48c261e
+	0xdd7d6b27	0x6783c81a	0xf9151492	0x92a57bd1
+	0x94607cfc	0xd70700ed	0x18136034	0x16d26594
+	0xeadd5210	0xf2fa345f	0xba7e9be4	0x548b8db1
+	0xd9d81a27	0xb361bae3	0xe2c5c033	0xd34d0488
+	0x07925cd2	0xaf57a669	0xf7f634b6	0x58408a6f
+	0x2c8b4c46	0xe71e9a53	0x65bc42be	0x77db4bf1
+	0x4c839bf5	0xd6dbc641	0x4fbf6fef	0x6b71eb34
+	0x808898b9	0x7ecea348	0x608a1d5e	0x81225ea2
+	0x487a3d44	0xc2443f3e	0xff580d9a	0xefd915b1
+	0xe867848b	0x73c48e53	0x84d211d4	0x77a45152
+	0x146f95fc	0x088157cb	0x9661fa65	0x6b998636
+	0xd8d8748d	0x16bb32b5	0x3eb3be6a	0x29a2aa6e
+	0xcbd08ca6	0x74317789	0xe9e8f1ea	0x7c555679
+	0xd7f19a7b	0xcead34da	0xe584403c	0xbfae80e2
+	0x4e9a7a52	0x0eefa659	0x00eb4354	0xe6f0cf6d
+	0x69374a24	0xdb59e992	0x2d4a51eb	0x4cdb46ca
+	0x03613349	0x24d146ab	0x1cca9b58	0x6db9989a
+	0x534dedef	0xab90d703	0x75a8331b	0xec865e24
+	0x8415faf2	0x851022e8	0x4ee795cd	0x7af2b1a8
+	0x65ec359a	0x0a16c7d8	0x76d51f56	0x7e1e10ec
+	0xbab138d8	0x0d69389e	0x0a50fc3a	0x7746732d
+	0x98f692d2	0xf97254ff	0xd31185d4	0x1a7104b4
+	0x1382fbff	0x4660f775	0x187ed97f	0x880cb07a
+	0x566157d2	0x1ec58c53	0xc1fff1e3	0x30cde9d6
+	0x933993eb	0x365c5318	0x30a5df05	0x91744f18
+	0xac99ae3a	0xacb5cc81	0x6af06584	0xcbfcb5dc
+	0x10e3cdd1	0x8d31a621	0x36851aa8	0x718c1d81
+	0x4a574346	0x70fb532a	0xc97b70e3	0x4e61d0d1
+	0x9e5e2563	0xd86da543	0xb6c07a52	0x417e59f2
+	0xee4c48d6	0xca38e12e	0x9188a73d	0x6624af3c
+	0x62a1d33f	0xcf8afe37	0xd0173727	0x378470e3
+	0x35067424	0x0775c48c	0x7cab8eb0	0xfeb84d6c
+	0x187fbb8c	0xe2cab639	0xedfc3f59	0xbace1601
+	0xbc2535e9	0x74b7d16e	0xbc351b20	0xf4a41f6f
+	0x996a0c11	0xec1e5d06	0x8dae9d53	0xe92082ce
+	0x8bfb678f	0xb4ae58e4	0xbecbf0de	0xfdbd1df9
+	0x0cf5ffe2	0x362f4eb5	0x90cc7b4e	0x813a329d
+	0xd6b5c9fc	0x19dea293	0x4bc51036	0x10570f4b
+	0xd904d7b6	0x348da9e4	0x2fd7a32d	0xfc79b430
+	0x0b9c30dd	0xe0289eb6	0xc6ef55ef	0xfae73fe2
+	0xbd4a65d1	0x463804e8	0xc1d6c9d9	0xa94cea7a
+	0xa23f954d	0x2d76b17e	0x5851be88	0xcf829e51
+	0xe6c5c2a6	0x94f9772b	0xe6c22b45	0x3a6cb78f
+	0xb7f13d24	0x4c45d9f3	0xa8c115ec	0x3156aea1
+	0x8076cddc	0x191032dc	0xc7e3c577	0x04ff6b8e
+	0x4b048a66	0x61645b1e	0x49c1f2da	0x428518b8
+	0x5270837d	0x25aee268	0xa0d1bbaa	0x7c2b6cdc
+	0x95251e7d	0x47eb8833	0x4b274412	0x9df92f4d
+	0xc9165ad1	0x928605dd	0xed0ca542	0x59899c98
+	0xbe0a0295	0xaa9cc0ae	0x1a03db3f	0x00adb561
+	0xecfda91f	0xc4ba7882	0x38ec4207	0x55bc0855
+	0xced7c3e9	0x3e783ec0	0xe5085047	0x120366cb
+	0x56161c5b	0x2cda197c	0x4b855ae0	0xdebd39ef
+	0xe077f8c5	0x831346fc	0x119cf5bc	0x1f856af0
+	0x71be6741	0x94946c60	0x320ff78f	0xb24955bf
+	0xcaeaa452	0xcf673cad	0x83dee256	0xc1ca89d6
+	0x9a99b0c8	0x0506634a	0x43825141	0x93b261da
+	0x110fc9e7	0x1fff550f	0xff64e483	0x8ab28045
+	0xdc8a20e1	0x64f0125b	0x02b35cc1	0xae9a45a0
+	0x1ba02775	0x4ca78c43	0x00492b04	0xca28b4c6
+	0x2986d389	0x277de0ac	0x115a59fc	0x03c55ef6
+	0xeb2d37d4	0x8f6091a6	0x5589954b	0xd6a76cfe
+	0x52f90c11	0xc880f0aa	0x674e9009	0xd1cf458a
+	0xcbf97f4e	0x8b1a7a5e	0x52aca0bb	0x7562f0bb
+	0x27351468	0xf1ec9a0e	0x8300fefd	0x34358af1
+	0x1c33380b	0x29c5eae7	0x8ad5fedc	0x1fd8288b
+	0xb87a0fa8	0x0ed4830d	0x034a4536	0x9479d467
+	0xe6d0aafe	0x941d6d97	0x4e3b0d6f	0x057a6b8d
+	0x62cc8d8f	0xdcc01061	0x13217f10	0x6e5ddaa3
+	0xd9ebc375	0x1d54b3f2	0xed12af1c	0x48ff2428
+	0xe65ca319	0x6c699865	0x2d101e05	0xd28a495a
+	0x8bd948d8	0xa0b503b1	0x447158c1	0x662e03d2
+	0x0150fb5f	0x55288aa2	0x3e74f75d	0x5c111c33
+	0x802fe4c9	0x4d90bb9b	0x8b0a9377	0x9c215cdd
+	0x75602db3	0xf990e4a2	0xb41c8f6a	0x8a044b56
+	0x56214d80	0x95a51d94	0x957256ad	0xbc4bcfa2
+	0x82325276	0xe03231d9	0xb30b1dba	0x62974827
+	0x75c311f5	0x73081c86	0x6caedca9	0xfd65a79c
+	0x8a0a51b1	0x69f69434	0x1ec5f9ac	0x4379a9b8
+	0x25ee82e2	0xb8de5ce8	0x4dddef11	0x1f287f04
+	0x3438be45	0xa9f615c0	0xc4b4885d	0x4463603c
+	0x17a51586	0xb941900e	0x55f6b1fc	0x827adf71
+	0x2be9133f	0x98fcacec	0x7db549ff	0xf2172b4d
+	0x389a1ee7	0x28b04504	0x091e5333	0x9b3d5323
+	0xab29ddb5	0xf67748c3	0x838b320d	0xc2cd0deb
+	0x40b166b2	0xafe61841	0xbb915676	0x060235f5
+	0x68cbea2d	0xa7e4415c	0x9b67dcf9	0xd40da108
+	0xa6f53ede	0x395f766c	0xfd2b8267	0x84cbdd78
+	0x5dea645a	0x188cc462	0x471782c5	0x716f5c34
+	0x12b64f0a	0xc4e5d287	0x008469cf	0x74023871
+	0x280e14e8	0xa4cd2075	0xd6741c46	0x39228423
+	0x1d33880d	0x0fe5a8b2	0x09a0d784	0x43f282e0
+	0xe1fb9193	0x0c1d6d00	0x4618bb7e	0xa2346753
+	0xac82efb0	0x50c97aed	0x5e08b6da	0x1540d8d4
+	0xaaefaa57	0x0ae69a20	0x304ca040	0xc8e6ba4d
+	0x43b79690	0x5955117f	0x31e602b0	0xc650acbb
+	0x74fd2f1c	0xaa0ae398	0x83f8a97b	0xe2b2c874
+	0xfcb179bd	0xe2c54c23	0x1fa7d92f	0xfbafaf63
+	0xcc581a06	0x6a75505b	0xb1a35d63	0x9830e0e5
+	0xfdb7327f	0xa806c4db	0x0f146d1a	0xe848b52e
+	0x468a29bc	0x29ea4c2c	0x35ab0da3	0x0e81c222
+	0x86567478	0x1e8e8296	0x565fbd9a	0x37028b11
+	0xa477474d	0x97d39513	0x037b58a7	0x9c5b00eb
+	0xa72d199f	0xa7435b0d	0x2504561d	0xabb17c92
+	0xd4266638	0xcad2a41f	0x80527d70	0xcf6ced92
+	0x66f2fb6b	0xb8c51f64	0xb6afb635	0x32ad2078
+	0x117eab32	0x9a1304a1	0x0291a57a	0xea6bc7b5
+	0x0bfaa751	0x1e07d4af	0x2e09ea27	0x84dee2e8
+	0x6fe9e22e	0x3fc0a825	0xd34a7310	0x2e91e3ac
+	0x72c41ca4	0xe054f5c9	0xd41cf7a3	0x1451734b
+	0xf22c4d4c	0x6ff1ddbb	0x8322a1a2	0x169f77ca
+	0x8d948d3a	0x6ea0b0f5	0x59688992	0xefe70251
+	0x77dbfe62	0xcb4a6d76	0x765fa85c	0xb971b63f
+	0xf0991fe5	0xd3adf7c6	0xcd96811b	0xa49d5613
+	0x68263809	0xd97dd8e5	0xa402e5d0	0x4ee84e99
+	0x5458f785	0xdd7c356a	0x8ab65316	0xfed03904
+	0xa416a959	0x6507893a	0xc0efcfa7	0xf3f6c537
+	0x1f36838f	0x4abd214a	0x3e7f80c0	0x8f806c17
+	0xac8a7c48	0x92a9d45e	0xb923b35a	0x2e0dc4b5
+	0x38033851	0x469df49b	0x9493372a	0xe9615673
+	0x90d6cf75	0xc161311b	0xb58a84c3	0x03a5f485
+	0x59aaf326	0xb7332227	0xeed2691b	0xe0151563
+	0x90724196	0xda93f7bc	0x2928e854	0xeada9582
+	0x650c43e6	0xaef61786	0xfbedec7c	0xc31eb425
+	0x950719a9	0xa12c80d7	0x4024b15f	0xa9f81f31
+	0xd1381f85	0xb7287ed7	0x5fb7679e	0x1933734c
+	0x5ede6770	0x1ed50817	0x9b9e3605	0xf9432e65
+	0xe5537255	0xa2216726	0x5a58b595	0x197b2a54
+	0x36050287	0xebedeb87	0x362d920c	0x7b0a455f
+	0x84cae44d	0xa8862ae6	0x85a968fe	0x30e77406
+	0x36a4a4a3	0x94f0f11d	0xe94b7c54	0x6ca83879
+	0x2612a797	0xcb794096	0xe865a5c1	0x2a0be103
+	0x02e32985	0x476f701c	0xc71ba33d	0x4a028652
+	0x9876c689	0x1c3a44fa	0x26ac3755	0xaff3b350
+	0xadeb81ea	0xbdbd1786	0x3476e7a0	0xec4f3ad6
+	0xe0c48b27	0xa79b18ee	0x97f483ab	0xc99f011d
+	0x7e2eed90	0x7dc8b1db	0xa0cc452a	0xf6b42f90
+	0x75fad6db	0x9c5bdca7	0x5a01f8a8	0x6014dd88
+	0x0a01294c	0xbc5cea06	0xd503b150	0x6060d7fa
+	0xe873dbf2	0xa325211c	0x933c6ef8	0x7ea9b2ee
+	0x394f6927	0x56531513	0x99f0662d	0x86554329
+	0xf3251f93	0x54c593f1	0xb5255252	0x26a7b639
+	0x23ab770b	0xa6acb21a	0xe599b798	0xb95143f5
+	0x8c806fe3	0x19978f7e	0xb4d37f44	0xd187235f
+	0xe4bed961	0x6fa2eed6	0x9fc0c7b2	0xf893b168
+	0x87b33909	0x78cd7ca9	0xd3f90120	0x0c807273
+	0x26f6418b	0xd31524d0	0x714c9c3f	0x07eb97a8
+	0x858bdb17	0x5a588101	0x5018f39c	0x74dda380
+	0x8fbf21c5	0x3093a68e	0x8ff3944f	0x066a211a
+	0x420f71b2	0x526a827d	0xfa801547	0x5087ccc4
+	0xf137741e	0x0938d58f	0x3c69fe23	0x017c35e8
+	0x029ded16	0x036dc14c	0x770c59a2	0xd4670464
+	0x0c8d2275	0x45a911c5	0x6cb60b1f	0x3891138d
+	0xc45336a4	0x1e86ff67	0xa4b0e708	0x2c273632
+	0x43fbe16c	0x2faf304e	0x128c5e42	0x4ade9c9b
+	0xcba7d896	0xb9b05e25	0x5b74586c	0x3b45d774
+	0xdf6e3eb3	0xcbdba34d	0x5ccf0d19	0x9b957144
+	0x6cf3b84b	0xa5277ebd	0x829c027f	0x99bc4440
+	0xcb9ce49b	0x28b9b4de	0x34e39214	0x9602a143
+	0xd4845084	0x4d728f3a	0x4dcf4ceb	0x5db80b4d
+	0x430f332f	0xf543c3ae	0xbea87cc6	0x6fc493ff
+	0xfebd2c95	0x943f53c9	0x3065b316	0x11dc1899
+	0xb7d68855	0x97bab122	0x2184f556	0xf387584b
+	0x320563c9	0xb1a979a7	0x5b97dfd6	0xa255e382
+	0xa7c0df72	0xc5049fd4	0xe474318e	0x7a0c9551
+	0xfc34bdd1	0xe05dfec4	0x6c9a6135	0x3c203dad
+	0xc87836ce	0x9d1217db	0x05b32a0e	0x5b5f121e
+	0xb3fc7b09	0xa1258607	0xd20cd31e	0x7f24127e
+	0x7e949924	0x48b96fff	0x60ee0f36	0x4e3956ed
+	0x20296c84	0xc0b681d1	0x69de56a4	0xf9db1b9e
+	0xdf841982	0xaca92b54	0x3436bb28	0xf7863b65
+	0x4e5b4b1f	0x95ab63db	0x6334f3d4	0x871d46a8
+	0x9753f01a	0x7e10b06b	0xc376ab1c	0x260cdf6d
+	0x5eab64f9	0x327a9132	0x7709826a	0x23f10786
+	0x44c6dba1	0x871f6de4	0xe8ccf7eb	0x8bb6dc59
+	0x69eff83f	0xaef98db0	0x1cd5adb5	0x1ed2ca86
+	0x5a472d16	0xbae909f4	0x8f8afb96	0x75692a34
+	0x8a2899e6	0x2bf5b8f5	0x13391132	0xcd42c72b
+	0xf7e48375	0x7477eb4f	0xdd7419c3	0x84a9d605
+	0x2199b9c5	0xd6b13bc8	0xd20d40bd	0x424820d5
+	0x1d40eed0	0x018a94cc	0x40b544ed	0x24739fb3
+	0x327d9b77	0x86a2f928	0xd186ea76	0xb6228cb3
+	0x439078ab	0xae2f9ede	0xf974f961	0xaa3f8a1e
+	0xd48adf10	0x1c8a527f	0x7b70c677	0x119c057c
+	0x9ca80ada	0x8a61351e	0x232a873f	0x1c126055
+	0x65737648	0xd9d9924f	0xceec4cdb	0x5278cd97
+	0x91e7610a	0x87cb310c	0xe8a04120	0xfec45da1
+	0xc8126edd	0x6ee53cb5	0x98bdeb53	0x899eef0a
+	0xc89fbe7b	0x16433847	0xe42a19cd	0xda597cba
+	0xb70e5b99	0x4fb5d111	0xe7a8ab60	0x7e6551d5
+	0x353ee9d3	0xe84fab3b	0xe35e702c	0x2ad32196
+	0x4f9e3670	0xc66429d0	0x64ce22e8	0x11e4ba05
+	0x55224a16	0x76ec7d37	0x02e62543	0x04b1cde7
+	0xbd3dc8ee	0xb6ad0b0b	0xb6fcf7d7	0x7881c834
+	0x3df0cc71	0x537bb7e8	0x78f8df73	0x9923b5c0
+	0x6a8d2f3c	0x97443072	0x8bb39bc1	0x5786d5c6
+	0x48546b94	0x2577d9b9	0xb4f66e56	0x8abe2099
+	0xfe70136c	0x17691bdf	0x88723f20	0x2870a189
+	0x6427b158	0xb2684324	0x6a9bea0c	0xabf8f95c
+	0x8bcfc326	0x92eadb59	0xf2b8a4cc	0x2b9ae0d7
+	0x3c1a539a	0xbf09a99c	0x83d4cd4f	0x14eb71a3
+	0x9cf5b5fb	0x7023baeb	0x2546c235	0xc7df8897
+	0x57bc6c5a	0xa588fb47	0x1222afe6	0xe7a23d55
+	0x031d9638	0x27128d7c	0x1dcc8710	0x6d596692
+	0x1cff2406	0x768cd7f7	0xccbb7e3d	0x951a2e2f
+	0xd8c57dc6	0xfa455cfb	0x4629547d	0xf2157f97
+	0xb182bd3c	0x566937bc	0xe527b342	0x466f0a4b
+	0xd66b033a	0xc0ae8a6f	0xf949ee60	0x9a7fc09c
+	0xd1d021b1	0x4a6283f3	0x104ab7c6	0xa84b7fe9
+	0x59af67a3	0x7942c3f9	0xa59f5b30	0x911f8e99
+	0xca33c891	0xf8c0b06c	0x5a93223b	0x28e7f4ca
+	0x08ff0a04	0x33f5debd	0x680656df	0x68dc25c1
+	0x6d7dd94e	0x6bfec19a	0x14b0904c	0xd335e438
+	0x01548614	0x0f7950d0	0x1cb1ebd0	0x18e8128e
+	0x82b26a7d	0x59c0d22f	0x37c01e61	0xc0ff5ae7
+	0xf600e19a	0xe08b235e	0x21558e16	0xe5af4c73
+	0xaac86b6b	0x41871253	0x8cbaa7bc	0x61f54b66
+	0x24303f07	0xaa03bb7c	0x90bb6890	0x90a847ba
+	0x1f0a2952	0x3cd4c8d5	0x8f15edb8	0x46d70e56
+	0x0e3bb3a1	0xc5502c65	0xd8ad6939	0xa5e878bf
+	0x90e081fb	0x77f2b0bf	0x560b9d43	0x2fc8c14e
+	0x94b1e73b	0x5b631347	0x3aa84950	0xe0d176fd
+	0x0a786edd	0x844591b2	0x10c3d0e2	0xc4d98f1d
+	0xe0a0e814	0xb2e0716f	0x940e9f05	0x186aeb7e
+	0xba7a807e	0x57deb62c	0x7b265a97	0x01fd2f94
+	0xd48e5d97	0x733d35ec	0x9a9d42dc	0xb6deedbd
+	0xfa1a3fd1	0xc3d5f76a	0xbe067709	0x08fde17d
+	0xdf9ecd32	0x2c674cee	0xbe20548d	0xf72ed4f3
+	0x151e9726	0x77749b6c	0xddc2842d	0x640a0309
+	0xf3b76855	0xf835db9e	0xf60dc4c9	0x0406794a
+	0x29036a63	0xa8d17980	0x7564b51d	0xf9863792
+	0x862f3df4	0x11139a39	0x77d1ce24	0x2669e680
+	0xba710cfe	0x5836286e	0xd091dc30	0x185e7f5e
+	0x94b61754	0x1498803d	0x8b1938bf	0x10e14a86
+	0x52d03ce0	0x4a2e1dc7	0xc46e8732	0x3bd74fdd
+	0x8601f3a0	0xe94df719	0x5b3e303a	0x73991fca
+	0x3e94cb68	0xa189260c	0xe0c41caa	0xb5f4ce3c
+	0x73aa5d51	0xcf254e72	0x9956a4d4	0xec1dc462
+	0xc9d8bc09	0x31473e5a	0xb418252a	0x1b4ee56f
+	0xf87bd290	0x431fbb01	0x0381c88a	0xcf32fbb6
+	0x8d2957f8	0xc93752bb	0x983c2012	0x81fc1f24
+	0xc1662206	0x6288cc5d	0x337172e9	0xe3a81a3e
+	0x6f46ebe8	0x2fd1f276	0x2099a1ed	0x6c6f9e9a
+	0x63cfcf1f	0x72f26afd	0x7f793c82	0xa7c1c388
+	0x55152f46	0x3e65bc7f	0xa26cd264	0xe623a0d4
+	0x0cab83da	0x3dc711d7	0x8d4572ee	0xf5017c41
+	0x1cade528	0xc4b4978c	0x67d85f89	0x8507cf37
+	0x1926fac4	0x0f4d8776	0x965166fd	0x81e00306
+	0xe917c43f	0x27272e12	0x9ec2c54c	0x7b265343
+	0x8cd58bba	0x7566812e	0xe9f66859	0xb6bec38f
+	0xf3ee8826	0x60b03f12	0xa6dd812f	0x88f9307d
+	0xc7c8061e	0xb7c2d198	0x445c3ff9	0xe346d33b
+	0x68576e7e	0xbbdb20bd	0x1f113435	0xd5968e28
+	0x8f9f2e07	0x7f5b3a96	0x711be59c	0x7ea8ebd0
+	0x63c80b97	0x4b662d9d	0x0f02e59a	0x8d128923
+	0x07e0cf69	0x7318a67c	0x190edc7e	0xcd2c9601
+	0x53f49be2	0x5f6bf052	0x6bbda8f2	0x1a6331a2
+	0x9dac0f1c	0x6c5efba8	0x6766161a	0x59494954
+	0xfb1ed722	0x51005a48	0x05493ed9	0xb8ecb020
+	0xf304a4d5	0x76944a7a	0x54073b20	0xe25ee0fb
+	0x20b9619f	0xd25296d0	0xc6510a66	0x9834e366
+	0x4f315534	0x3b34ee74	0xe73216c4	0xbdf56f95
+	0xfce1057b	0x2315a5fe	0xeb2a061b	0xfcd4ea01
+	0x5c6bddc2	0x0275f614	0xb9f9f7d0	0x1f10dd83
+	0x48d0d8fe	0xccffd762	0x9321a2c8	0x8ff7a89c
+	0xcf1a10b3	0xb5d2c579	0xad383da9	0xbb95d976
+	0xf25f9da6	0x3fdb3f63	0xe8fa2d09	0xa2985c42
+	0x27c6eeb6	0x25151b99	0x76201836	0x75d6362d
+	0xf7905ab9	0x44126a2f	0xa0713396	0x848bcfb3
+	0xa84d3466	0x1c0b9e19	0xe61e094f	0x112b9bf0
+	0x619e22d9	0x03dbef62	0x59859152	0xec368e6b
+	0xa651aa1f	0x3d66eea0	0xf67ea12f	0x1ba2e0f9
+	0xedecff56	0xada3d57b	0xfbb21920	0xdf6f2854
+	0xb3114298	0xa82045fb	0x937479f0	0x9d3b3b4c
+	0xf26a948d	0x47b83b1f	0x32f02882	0x57a304e3
+	0x00a6ab5c	0x1254cb74	0xdd115800	0xf32884b2
+	0x6660b648	0x391661a6	0x5b038cd2	0x2d9c1493
+	0xc181d5b7	0xcc734a9e	0x7d9d8f29	0xa35cc0fb
+	0xe9903a5f	0xe646da45	0xb72e3546	0x16154cd3
+	0x3565634d	0xbd15552f	0xafd6884b	0xd8108f87
+	0x276f1bed	0x6b06c575	0xf65e35ec	0xfe0592fc
+	0x0ae81424	0x423094ad	0xe3ad0717	0x9e91e5ac
+	0x35d70ba2	0xa7c8cdcb	0xc95822e4	0x18777373
+	0x9ad23679	0x415765c3	0xfb48eb57	0x3356c8ef
+	0xf1efa441	0x24e7b6a3	0xb0445605	0x2dba7bc3
+	0x6a76440d	0xd07c1cea	0x20b0d8e7	0xbfe3a37e
+	0x9678c4dd	0x6d82de29	0x74ab2c66	0x00089f86
+	0xe6add22d	0xe2889df8	0xedadf4ae	0x19b23cb7
+	0x183ce9b4	0x77d73586	0x550fa098	0x974a7b9d
+	0x25115b51	0xdc16ab43	0x616cbe0b	0x7ba015db
+	0xd28c8bd0	0x074b507a	0xb13510f9	0x4ae4bfb1
+	0x1ddac74d	0x98f81d84	0x7e2da21d	0xec8d8dde
+	0xb713eecd	0xe75d0e49	0x55d42c23	0xecf1bf77
+	0xbed9c1ae	0xbe1acacc	0x6e2b8f23	0x7ccb75b6
+	0x001b686f	0xc914dfe8	0xa0a9e739	0x73e23c70
+	0x903e23fa	0x7676979d	0x93ed84f5	0x5624b6e3
+	0x574f0099	0x49dd6b23	0xa4341324	0xaeb24f83
+	0x8034f882	0x3ca2b684	0x8e928752	0x8a6ad2c1
+	0x8b26d97d	0x36814410	0xfe488fb4	0xcb4fe01b
+	0x5a04e8da	0xfb61ec2a	0xe49d9eef	0x94f7ca44
+	0x4166f73a	0x701ec6ea	0xce252ff6	0x04694cf3
+	0x195a89f0	0x2175f03b	0xf395917e	0xe881c885
+	0xfe159686	0x943e185f	0xb62a8327	0xed5b3540
+	0x41dd84c9	0x4188c534	0xa73c3c92	0x38406b81
+	0x7cc88362	0xced41beb	0x5ac6d56a	0xcb07c1f4
+	0x3a7f14de	0x7d507fd6	0x17569413	0xc8ba1f3b
+	0xfe57551e	0xbcff6395	0xe956535e	0xf1086750
+	0x05379ce5	0xd2e013c7	0xe3743d76	0x7ef17c09
+	0x16a2cdb5	0x5e91e546	0xe0fe9d3b	0xcb056e70
+	0x1f686ad4	0x42a8c460	0x1666f3fb	0x9c3967a4
+	0x5e2d882e	0x2e6aee38	0xc81e4ea3	0xed9569e7
+	0x0cea0a6a	0x8249847b	0x91cf9396	0x2bb3eea8
+	0xc7731e11	0x7d612f98	0x6b841102	0xad167aac
+	0xc24bc27d	0xd38029b4	0xe9ccdf55	0x77636545
+	0xa9928fdf	0x22907957	0x95a9cebe	0x37614f0c
+	0x839cbf2e	0xbcc5f0ea	0x0fe941c2	0x44557efc
+	0x04b7e364	0xaf443dc6	0x7cfc7330	0x4f48038f
+	0x048be991	0x80afdf6f	0x96ceacb1	0xf939ad8d
+	0x16f93fca	0x448e5e63	0x3825ad75	0x37eee5cd
+	0xeb6d744e	0xaed3f21a	0xed455624	0xa9a8f6e5
+	0xbafd945c	0xe4eb4ddf	0xd0dc4d3b	0x56f62531
+	0xef005820	0x6b65368c	0xe2b2674e	0xd34cf592
+	0xff62fd2a	0x6ffd6361	0x4b52670d	0xdef62e4f
+	0xd7c2f9b6	0xbe9ac33f	0xc43fd67e	0x24144699
+	0xff9bbfdf	0x8c24eb0f	0x45653dc7	0x2ef18a09
+	0x51e53102	0x6032ac7c	0xef149ac7	0x73dcf922
+	0xb52d4342	0xf03327e3	0x7a73e3f5	0x1b377d4c
+	0xde916da3	0x559e414a	0xd10af3f3	0x8c7fee3b
+	0x36776122	0x4f3207c6	0x1d27e08f	0xa21fbb0f
+	0xd7c5229d	0xbf4788a4	0xd82a3f93	0x03903b53
+	0x7f347a83	0xab4071c4	0x0a1ecbb1	0xb1e7d6bf
+	0x5e828079	0xc019e2c1	0x0ec16bfa	0xac509265
+	0x17de3777	0x99cfe9ac	0xad478dff	0x06c34fb7
+	0xda68a0ba	0x9b4b7b6c	0x5b2f93d2	0x104bc05b
+	0xa89442c3	0x27c3a2e6	0x8d5cc0e3	0x10e6d531
+	0xc10ea99e	0xeb4fe96c	0x763f38f8	0x81ebddc4
+	0x506b82fb	0x0b0880a0	0x87577166	0x398a310c
+	0xba9e9cc4	0xc7f2974a	0xb486646a	0x4cdda979
+	0x0e94c3dc	0x1964ef22	0xd97a63e5	0x6bca1047
+	0xd56a9939	0x5bb91696	0xc20562d5	0x66f7dda8
+	0xdcd24268	0x46d45d8b	0x3d44200f	0xc14319f2
+	0x5e67ffe3	0x26069d77	0xb725d689	0xda0d0e66
+	0x77dac019	0x49006c10	0xcb47615f	0x7dd57b9b
+	0x36a36580	0x7a96b587	0xcc09597e	0x3a2a2bb7
+	0x1bb88bda	0x845ecb94	0x30652a68	0x4b86fa95
+	0x714ee97c	0xb9dcc74d	0x2dbbf5bd	0x9b004cdf
+	0x317b9288	0x9bc26497	0x48c37e55	0xa1b606f7
+	0x5fcc75a7	0x56286706	0x12a80a33	0x753d756f
+	0x76043aa0	0x68485471	0x743a3148	0x1fb65fed
+	0x820b616f	0xc5e7a29d	0xef3b7dae	0xeeb0bc3c
+	0x5af0af0c	0x22596b27	0x67b89c35	0x9ad4bdc0
+	0x4ba48492	0xde6bacf0	0xda7db4e0	0x194b5b25
+	0xb9dd2572	0xa831880e	0x4cc498bf	0x19f82a38
+	0x1b595c33	0xb104e1e7	0xbb7300bd	0x1aa80628
+	0xb5f5a93b	0x62bd9398	0x0e44b29c	0x4eb6635b
+	0x3a95b2da	0x7e5147d0	0x37bd2f57	0xc9da31db
+	0x56984727	0xf3dcdd5d	0x5a53247c	0xed7d60f1
+	0x6b852de7	0x50cefb47	0x1ee892ff	0x49dd4b99
+	0xc6e50db0	0x41cbeec0	0x77e3d8db	0x3806f198
+	0xf86abbd1	0x6faf3be7	0x31838342	0xb42bfec9
+	0xf99b603a	0x612ce0ec	0x76512b53	0xab5c35d7
+	0x8adf788a	0x659c62cf	0x959658c6	0x65671995
+	0x0699df96	0xa37f6c8c	0x38361808	0xd1cf3052
+	0x1a936623	0x08e62ea2	0xdde8b2d3	0x5ca766ff
+	0xd43eadcd	0x55dcfede	0x6a8f1693	0x50c3e623
+	0x2c2f7aff	0x013a0ef4	0xbe178125	0xede2c59f
+	0x9430200e	0x335f2b92	0xc702fbc4	0xae049872
+	0x5c4724da	0x9ba3f4a2	0x82f9bf27	0x6a8b9804
+	0xe02d6803	0xf62f3e49	0x08dd271e	0xd621f3a4
+	0xd898f09b	0x0dfe3196	0x0d979ec4	0xdfaf6a3b
+	0x0ff88167	0xe75e4156	0x1d04e07c	0x85247846
+	0x4f9e6bb6	0x4696c3de	0xc6e4c54b	0xbba3ad9f
+	0x79be7de5	0x918cdf32	0x96e7e972	0xad0fce45
+	0x18ddfc3c	0x704c30a8	0xa510cde0	0x04ddbf57
+	0x72dac9fb	0x67e10a1f	0x8e2d9311	0xddc9a331
+	0xbb49ee04	0x475a66c4	0x384e248c	0x0574a573
+	0xa5e7afac	0xb064b73c	0x22026ef5	0xc556e9e7
+	0x5390cfd3	0xce544730	0xd2f36326	0x2ff6ea1e
+	0x9640deb8	0x1db8680c	0xd13f1600	0xb91c9a46
+	0x045d0ce3	0xe5954466	0x905fc4f5	0xe64f1439
+	0xa7bdae21	0x02e9dc8d	0x776eb13f	0x41ca6eff
+	0x74073553	0xff4631a1	0x092048a7	0xc2971cc1
+	0x599e6bfb	0xee9772b7	0x01e4906e	0x34d833b4
+	0x7345b8a0	0x06466cef	0xf7c46eb9	0xbaeeb3c5
+	0xd2117453	0x1ddc8818	0x04cb7263	0x2be9c872
+	0xcc62bc18	0x136c9191	0x874fe5ca	0xc383ae50
+	0xb679883a	0x3e1819d9	0x2d008f33	0x2bade1a8
+	0xb89e6983	0x83c2c04b	0xc5a242f0	0x2814c262
+	0x3372296c	0xe47a8643	0xee4a3e5c	0xfb51e2da
+	0x0a624f5d	0xee5ba40b	0x5af412e2	0x4405590b
+	0xd07f4584	0xed69ec96	0x55dfdb5a	0x41f83ecf
+	0x2463f7af	0x266943ce	0x259ab0ad	0x65dae624
+	0x03a9caf8	0xa702a063	0x1be78eac	0x1ab26eae
+	0x6dd98b4b	0x448e144a	0x5daa692b	0x0ebf8652
+	0x07c83684	0x40638efb	0xa6618691	0xead4007f
+	0x7cceba52	0x9d712806	0x92017ff5	0x0b645ffa
+	0xb908a27d	0x8ed144ea	0xa0a98258	0x6f1828d3
+	0xc8e8e87d	0xf804f635	0x77849351	0x4edbbdef
+	0x1375cd94	0x5ccdeb90	0x129783fd	0x4cef7ba2
+	0xa9e20d3f	0x28a45fae	0x84e866e3	0x5b8e42f9
+	0x649ae8d2	0x2b878cf5	0x220afb7a	0xa2037752
+	0x6b4e0536	0x184c53cd	0x65483969	0xb25d4b7b
+	0x094dde31	0xa0f8fb5a	0x352a48ee	0x431ddccd
+	0xf83f2014	0x7a34377f	0x1aa432c4	0x8c5727e9
+	0x42e36e37	0x570ea374	0xb4c4643f	0xa15445c8
+	0xc6791cac	0xf827045d	0xf1e899fa	0xcd7c7bf0
+	0xf19a1442	0xe65b96f8	0x2c49b75b	0x0f9a8e06
+	0x8493333d	0xf120841f	0x7b357e63	0x9942def8
+	0x32ecf6e5	0x2b7b7af7	0xf744ae93	0x8c04f43f
+	0x023840aa	0x6d4336db	0xe2514620	0x83596c26
+	0x2d519cad	0xe8b2c54f	0x30af842a	0x13d8331c
+	0xee9b610d	0x25c8449f	0xcf654339	0x8690e7a8
+	0x62f295fd	0xd328114b	0x79dd4e4d	0x8637a5f3
+	0x31b71fce	0x40f48fee	0xf28f611c	0xa408fd38
+	0xea4c449e	0x20589721	0xe6a88ba0	0x358852dd
+	0xb5ee1dc5	0x8b9e6596	0xe51c70d5	0xd3ac891f
+	0x3e09b78f	0x814b0301	0x8c392bed	0x5fd0351e
+	0x20481f83	0xbf0fd0a4	0x19cf17a3	0x3bbbdcfc
+	0xd7e0673a	0xd3a43eed	0xfa1a2862	0xe8b99bbe
+	0x23f53922	0x35c68711	0x6b175228	0xb59de586
+	0x3fb571e3	0x62cffd32	0x075402d4	0x65f1eea7
+	0x2c68469f	0x67f58b84	0xa73e59d5	0x9ead311c
+	0xf5c71938	0x3d9654f4	0x70481671	0x58b45461
+	0x3759d4f5	0x376b3871	0x60733242	0x76a498c5
+	0xe279b81d	0xb43df7dd	0x831117e7	0xc0fbeda9
+	0x3784c4a7	0xe5f37177	0x8f500d62	0xe99c71e9
+	0x7a4b3daa	0x9ed0d8b7	0x469aa7c6	0x9d899657
+	0xb4069f17	0x31a69746	0x6aafee94	0xa14487b6
+	0x9c00643b	0xe80ada25	0x5214ac22	0xbdb230c5
+	0x6edfab40	0x01b5f94f	0x9f849d84	0xe93777a5
+	0x4939d6e2	0xf4fc71ab	0xfa37c156	0xbc70404b
+	0xfc1ce927	0xf9383d29	0x038d5717	0x4168bb8b
+	0x71ff37a9	0x5cdd4c2f	0x3b72f3eb	0xfb24e3be
+	0x35768d10	0x3a23273f	0x8abcc6a0	0x19e9bd07
+	0x1a330236	0x11620bde	0xdd49844e	0xdc3d6de4
+	0x1c281445	0xba0afcf9	0xd028ed33	0x9dbe4b86
+	0xa19a7b55	0x9c8d38b7	0xdc309662	0x401bfc35
+	0x3b5d1916	0xa5269114	0x8e412b76	0xf7647392
+	0xf942b7d5	0x9260adcc	0x8afee875	0xfb118859
+	0xd6804c4e	0xfb85a736	0x5dc115f0	0x3f59b455
+	0xe929debd	0x63056252	0xa148034f	0x8402d095
+	0x3e97b9a6	0xe40db503	0xf0386a46	0xed00b7b3
+	0x39bb22fc	0xddb3b098	0xba16d44b	0x5e2dde16
+	0xa6bda0f5	0x724402e2	0xb5124159	0x08e33efa
+	0xcb7f9fe7	0x9e71664e	0xb23392e7	0xe2af1dc0
+	0x0eb10493	0x968aafbb	0x28471024	0x3d381c3e
+	0x1a9733e4	0x653aa7af	0x562d42b5	0x31d86c56
+	0xca350054	0x457b1463	0x851fa734	0x44487bfc
+	0xebb40fcb	0x2695d870	0xbdd9bd58	0xad69e109
+	0xc8ef5141	0xd3c19c68	0xfd162971	0x4468a595
+	0xbd54a760	0x4322f3d9	0xaddb735c	0xc825ed17
+	0xa35f38ad	0x86deb244	0xd950d2b7	0xafe4cf81
+	0xe07e1821	0xb95a97de	0x13a266bc	0x8f4d01d9
+	0xe5276f4f	0x872f5acf	0xeebdc97f	0x7a43dee0
+	0xc2c6a943	0xa5eb8784	0x4adf3352	0x3f9dc065
+	0xe496d204	0x8af51abb	0x6475d7ed	0x667702a3
+	0x7e20c88a	0x02776ed1	0xfa888f01	0xfeeb837e
+	0xdd3d24b6	0xfba0362b	0xf03e3b68	0x74f25458
+	0x903e8f1a	0x2d3de9d1	0x9fdf3e7f	0xe12a3e43
+	0xf15bc9e9	0x3863c287	0x49004368	0xbe29845e
+	0x0bdbf633	0x5a76c7ef	0x98c23cdf	0x0d7607cf
+	0x89f7332b	0xef2be61b	0xb71c5847	0x0e27f5b1
+	0x039cfe80	0x7e903d56	0x2255045e	0x544c6d81
+	0xf94977dd	0xedfe79e1	0x50d8408a	0x73c43dba
+	0x866128a7	0xdf2133c3	0x633d31c1	0xe5cecc60
+	0x743b41ae	0xa0fabbc1	0xf1d18ab7	0xd103807d
+	0x6830fa56	0x1dcf2890	0xdf7034ff	0xdd0460d7
+	0xe4f433a2	0x682725ff	0x0a1ae47d	0x9faef3a8
+	0x4cf5284f	0x1752bc7f	0x9013813c	0x729f3c2f
+	0x920aaacf	0x1c4e03f2	0x0bce5e49	0x4a202b94
+	0xa5d0855a	0xd35e2236	0xee7fdc41	0xfc8064be
+	0xe1940fc0	0xa7dfbfb7	0x5af5c656	0xdb9d9fc7
+	0x0345d8d2	0x63ef4246	0x109c3bda	0xa7705fca
+	0x531f9f2a	0xe1824461	0x076fbcd0	0xa3f84478
+	0x39c1e1fc	0xcd6d68ff	0xd683d764	0xfc9ee692
+	0x8882a22f	0x5751ff82	0x7cf8ba19	0x9bf70f38
+	0xfd552cc2	0x65e9a628	0x6efc977d	0xdb7c6cf1
+	0xf0881a57	0xd858fa98	0x60249fdf	0x5d4c712b
+	0x6d7de508	0xb1e94228	0x7bdd41e3	0xb0f587bc
+	0x91b6ebc8	0x6fc8145f	0x560ccdfa	0xae26f3f7
+	0x3bee581c	0xe16c2219	0x473b0210	0xdc6a823b
+	0xff5e7b11	0x12787b53	0x5a1e1c1e	0x213604d7
+	0x61248c6f	0xcbfdf1bf	0xd9fa23ca	0x1690dd8e
+	0x61ef8046	0x48b6d372	0xc4569da7	0x89b2c805
+	0xed56daaa	0x73ff7451	0x0a0701bb	0xe8af7ab0
+	0x7419b74a	0x48c9abba	0xeb388644	0x02514f88
+	0x8776a046	0xbf52785f	0xa65b7abb	0xb031db8e
+	0x30722207	0x15647b89	0x300041e7	0x2c08eb5e
+	0x7d05830a	0xd8e51933	0xddbaa66b	0x6b136c2b
+	0x0fb77213	0xe7ee78d2	0xbd33b0a7	0x095e5714
+	0x3bc7a3bb	0x578d0937	0x66f3a3fb	0x166f85b0
+	0x58fa0ff0	0xaf952487	0xdc3c8a47	0xe5bd8ffd
+	0x3b846c9b	0x38261e06	0x3f08e8e7	0x354bd695
+	0xde0d33eb	0xbe505098	0x6732ef86	0x4fa4b8bf
+	0x5fd1c5ec	0x816b4a96	0xd1bc334a	0x98311a2f
+	0x3165282d	0x2dba4779	0x2bbe37da	0xaf23cf33
+	0x67ba8ea0	0xdace3214	0x9cb27eab	0x6924268d
+	0x69c19eb7	0xa89b662e	0xe9d5dc02	0x3fb9655e
+	0xd5118c4c	0x6f2888bc	0x4678ab4b	0xb93276b3
+	0xe5423906	0x1f00d0a1	0xab4e1fc4	0x64f2e39f
+	0x1f207b02	0x70c940cd	0x4a3283f7	0x83343d9d
+	0x5eed954d	0x74ba89aa	0x5ce4726d	0xdf17f716
+	0x32a7a135	0x39973f63	0x0a791cd4	0x24565097
+	0xd266128f	0x59d68959	0xc7588b8c	0x0486bb41
+	0x86ba3732	0x3a3b6d92	0x153242a6	0x1dff0d91
+	0xf79d767a	0x924081dc	0xd790fa0b	0x38f94b43
+	0x0ac25566	0x19bf2f81	0x7104b31a	0xd23401d4
+	0xc74eca0e	0xd3b49e65	0x5abf11db	0xa28bb479
+	0xf34c8996	0xf3334251	0x10cf18c6	0xc8025f38
+	0x378ae993	0xd92f6598	0xf33c3c97	0x8e3cfaec
+	0x6e2a5de2	0xaaeed089	0x313f507c	0x4eba04b8
+	0xb531d1c5	0x1f10901f	0xf8ea4c50	0xecdd5da0
+	0x77772fa8	0x42ebec15	0x0974789b	0xb9e827b9
+	0xa528577a	0x5c48609d	0xc0121c09	0xb1a8ccd4
+	0x6cef020e	0x4a46ab88	0x9d719fdd	0x2adec1f2
+	0x8b397d10	0x7d65806b	0x995f1f48	0x0ecb33d2
+	0x7245161c	0x3444b266	0x999cbc96	0xa8d3297a
+	0xc95212e8	0xab4204bc	0x30a2483e	0xbb8b2181
+	0x0094cdee	0xeb347b37	0x0a1ac9ec	0x5825c9df
+	0x5cc2fa56	0xfebdbbdf	0x6fa5c412	0xc7f327a5
+	0x13777390	0x51c71bf5	0xf4a542d8	0x8cc0990c
+	0x198e2bf5	0x419a8534	0x070d7f89	0xe7790bc3
+	0x8d1a5ef0	0x3ce23a21	0xe01ea069	0x5b9f9a00
+	0x2f8ed3e0	0x97332f38	0x001925cf	0x6e779295
+	0x739fc4d1	0xabf9944f	0x343ed8be	0x2ebf63e6
+	0xd51e34e0	0x1337d0fa	0xd7fe4c38	0xb08a0db5
+	0x40bc7d7f	0x4c212f41	0x96d3bb7c	0xd2279ce2
+	0x16eb515d	0xc110656e	0xa9e92d84	0xcedc22f7
+	0xe8706dde	0x4a76e110	0x22c3fa98	0xdb211bcd
+	0x957fc51c	0x36c29d63	0x1483afaa	0x5e39e758
+	0x814d7e6a	0x5ac931fd	0x16fbe255	0x257eb0f2
+	0x39cd3ceb	0x4ee4ba07	0x1ac38737	0xecda25d6
+	0x6ea0bdad	0x07e7a879	0x0296f80a	0x7b958ed6
+	0x575161b7	0x5f650e87	0x4289d79a	0xee7d22ab
+	0x6ff67a68	0xf4dd0a9d	0xa34c4007	0xf0a5dab9
+	0x85acc38f	0x76f87ae5	0x822abfe1	0xad687af9
+	0xded258ea	0x49f6c703	0x353272bd	0xc75758a1
+	0x6b48eb11	0xdc817270	0x4910311e	0x1cfc6962
+	0xed766448	0x61cf7dba	0xf864aa30	0x8df293ee
+	0x25c5b108	0xdd5d0fe4	0x086e588a	0x7c598f63
+	0xe7089dce	0x215f3970	0xf6bef979	0x25df09d8
+	0xa8ba0705	0xa14aec4e	0xa0ece62d	0xd99cebe5
+	0x90dae17f	0x4c419379	0x86667d85	0x3dc66e8f
+	0xd2292fc2	0x4180741f	0x5f03dacb	0xcd2f8d67
+	0xc8057a13	0xff1393e9	0xb36b309c	0x8cc016a4
+	0xfbfd12da	0x0feade1f	0x240e5e48	0xbf31d152
+	0xf591375d	0xb65a5a81	0x83a06001	0x9965ae6f
+	0x32003ace	0x7a53f92d	0xa1ded870	0x6dedb048
+	0xb93fb122	0x766aed37	0xc55cea46	0xb67eb22b
+	0x91325510	0x64a2d0f8	0x26388359	0xfb09be60
+	0x6e016f6b	0xf0002197	0x9219ec31	0xf2dfa417
+	0x819b3c73	0x6d0234d8	0x5ce80fd8	0xe8257515
+	0x1a8a86c9	0xb3c27617	0xa69dacbf	0x9417e360
+	0x40df8c3c	0x59f1f2a5	0xf75856ec	0x3ac2903b
+	0x8b73d094	0x4521bbf9	0x0a845523	0x6dd5d385
+	0x3fcf96c4	0xcecdacf6	0xc2a64486	0xf4e26ac2
+	0x51187861	0xac1e7b98	0x9f02008e	0x17a2447d
+	0x0b72467f	0x23e98819	0x4e1b81af	0x58aef855
+	0x9d47d2f0	0x15515333	0xfec897ba	0xaee89cc7
+	0xc0de21ab	0xc043e61b	0x548fe55e	0x3ea899d9
+	0x01502408	0x81962698	0xffe9bb16	0x1ba4b3fb
+	0x49f85b98	0x0540393b	0xfb173c81	0x863f9793
+	0xde7cb7f3	0x6655e382	0xc0c49ccb	0xeb8d3b0c
+	0x683b66ce	0x3d61caa6	0x78868ffb	0x392248cd
+	0x9605b7db	0xa7c83840	0x4a87ab87	0x6370860a
+	0xc350fa9d	0xd4a596d3	0xcd7c5a64	0xba6f96de
+	0xe9c2a355	0x3b946d03	0x03a9c139	0x3b83ff2f
+	0xb7483bb1	0x417c662b	0xc13005ed	0xc81c11da
+	0x105191c4	0x6f03ce06	0xe358598d	0x5629fd10
+	0x2c0d1d20	0x262f8774	0x856c333d	0xfdf25340
+	0xb666a0b4	0x94ac4952	0xddc6b991	0x9cbde852
+	0xd315c735	0x85179f2e	0x6fa62af8	0xb33ec55f
+	0xd05b166f	0x6ee23870	0x352fea75	0x7b1b987b
+	0xa87efa86	0x6d0602b5	0xfe94274e	0xeb649dfb
+	0x3973b9a1	0x08cb32b5	0x5d68e7bd	0x809d8f23
+	0xd3b679e3	0x951eb5e9	0xe2585b7b	0x1c7e73c1
+	0xefb750d0	0xc422aad2	0xdc396e18	0xa4690744
+	0xb4c36aa6	0x5fd5af3b	0x4b7cc0d3	0x4909d125
+	0x4824fb79	0x7c339f14	0x28f59be1	0x363d3777
+	0x2fc0f93a	0xbaf388ba	0xeb56afce	0x4ff249ee
+	0x03661a38	0x4bf043f9	0x7b077324	0x957ea45b
+	0xccef6c1d	0xea17b6bb	0xae8338d4	0x71dd5565
+	0x8af88bf5	0x3a18b963	0x247044ee	0x5dff0975
+	0x6a5c6636	0x58e57987	0x3416898d	0xf6343200
+	0x44267a46	0xfa332076	0xf48cf90e	0x10133045
+	0xa371e825	0x420517db	0xe55f8621	0x3d3dad24
+	0xdaaa220b	0x52cacc16	0xea856a3f	0x9f67b308
+	0x01ea7270	0x98b35b19	0xf6233e61	0xd9151928
+	0x7c38a66b	0x89f7d1be	0xc443282a	0xc1950bba
+	0x85c0cc0b	0x324eac89	0xa27ae909	0x31d9c4b7
+	0xaaba5c56	0x60e58336	0x9b788ce0	0x0b133d63
+	0x07dacceb	0xf2bb1e6d	0x42ee5003	0xbf4baa0f
+	0x6500b4fc	0x1b4cce63	0x0b302ffe	0x14de241f
+	0xbfed61b8	0x9db110b3	0xac57e0dd	0x2120d62a
+	0xe8979a5c	0x9cb6e7f8	0xf7f49032	0x3e7c33a9
+	0x780e310a	0x86e4ff19	0xda9d435f	0x84b24371
+	0xd17a5e78	0xec3d82f7	0xfa8ab863	0xf7a8c116
+	0xd9ca1c0f	0xa83ae454	0x8d3cfeec	0xf9051edc
+	0x983f992d	0x4aa4d94c	0x1c2df5ca	0x637ffe63
+	0x83df348c	0xf2af22b7	0x09ac1da0	0x41ff3eb3
+	0x5ac05404	0x34977ded	0x0ad4bf25	0x905a460c
+	0x95f35a7c	0x9cf479f4	0x681daf0a	0xe6a6eaa1
+	0xdc566718	0xa7f7057f	0x48c0003d	0xddd3cb43
+	0xb261a28a	0x38d299a9	0xd1fb08fa	0x138c965f
+	0xdab5a4f2	0xeeffae4c	0x3b3c9be8	0x38d111a2
+	0x43866ff1	0x386d136c	0xd9c4c955	0x3c89ae19
+	0xbea88e6a	0x7289dab6	0x3bc4d0c6	0xb53ca927
+	0x2585c917	0x9cb4a0ad	0xb06a4a22	0xc4b3193a
+	0xd0eefaf8	0xd05f04f2	0xa1c01106	0xb9e3c86f
+	0x870a4c40	0xf5ea7b8a	0x84b8b389	0xec2a0349
+	0x02c58178	0x7641d24b	0xda5f8d6b	0xffaabbde
+	0xf4c4b368	0x9841bb8d	0xca886f15	0xa50808cc
+	0x87aef6c6	0xe191def5	0x62cceed2	0x7422822c
+	0x9840460e	0x90fb5b26	0xe095873a	0xdf5bab2f
+	0x4dcf7004	0x3b751ed2	0xa6ff671f	0x0d63a239
+	0x2c947c16	0x8f791edb	0xd5e2e176	0x1897b16b
+	0x788f26ac	0x4faf514f	0xdc131349	0x1cc91d38
+	0x6cf64acc	0xecb6a4e2	0x3a920d0c	0x9df858f4
+	0x0a346428	0x01edce06	0xa26d5ce5	0xeb8b4478
+	0x5fe54d4c	0x9d59253c	0x5a2c2bdc	0xff52e133
+	0xa5715f09	0xc46d07c7	0x2fe11c95	0x367037c0
+	0x395c2335	0xa400d4d8	0xffbbcd93	0xf10589c5
+	0x5fe05470	0x62dcd103	0x831bd594	0xf8042f6c
+	0xfbd4e834	0x53f18136	0xdb37cc3e	0xba36b5ef
+	0x932f8a0a	0xbfd2464e	0xd790043c	0x18cddf0e
+	0xc9fe957b	0xeb06fcdd	0x658422ca	0x06105ad4
+	0x4fb90483	0xf513562a	0xf8de755a	0x2b3f4a4c
+	0x9ca4c51a	0xbe9895dd	0xc31b38d3	0x9c8bb7a5
+	0x55c7c5e7	0x75fa0c7a	0xea27c61f	0xe5a176ee
+	0x6ed35a19	0x4dbcf9f6	0xf9957451	0xc8069744
+	0x682b653a	0xc6ffa275	0xe274804e	0x1f74a248
+	0xdd1a6bea	0x61bfc414	0xa12035cc	0xeb4d91b5
+	0xe908d527	0x7e1bd310	0xa5095e94	0xf1af1fe4
+	0x79fc7ade	0x549c9189	0xc20aaf51	0xaadca08f
+	0xa6bc836c	0xe6f304b2	0x614815c1	0x940d62f6
+	0xb6a2e309	0xda518187	0x3fc3b671	0x6e596f6f
+	0xecf24a59	0x5a6130fb	0xfe863237	0x3eab2f43
+	0x008fd345	0xb84dbbb3	0x17f3df84	0xa77046b0
+	0x80fe3806	0x2c9fd8be	0x98bd4be4	0xf0c9d9ac
+	0x01443cc0	0x1fa6e5e8	0x3413872a	0xfbd252ab
+	0xc4f1b4c7	0x178cc63b	0xf3a6e182	0xaebe4595
+	0xc9de7c32	0x6c1cd5ec	0x6a0ab8eb	0xe83312cd
+	0x012c7e93	0x7edd1c8a	0x4b6a751f	0x074eee6b
+	0xb79259f7	0x93963d5f	0x7bd5cda6	0x22852976
+	0x39f2e9a2	0x8f4bc0a7	0x0419312c	0xe4be5fec
+	0x6c8dc91c	0x14e59f50	0x85f17c97	0x865604f8
+	0x21c3bdd7	0x65dae217	0xb7071263	0xdb7f2d71
+	0x85f83e68	0x67be49f5	0x2fa8b9bb	0xa6c09ed5
+	0x49e9b467	0x871995eb	0x267a6ee0	0x7d7aa401
+	0xf094e6f4	0x2bd0096e	0x05d4801a	0xff33cebc
+	0xc54c1678	0x628736d4	0xb98cca32	0xfbfe5e7b
+	0x277c98c1	0x2eba7546	0xa41a9b3a	0x5c232d15
+	0xfc62c9fa	0xcb27f7a1	0xbb21a120	0x2987fa3f
+	0xc20a868a	0x592f3543	0xf6ba1c61	0xe9aeead4
+	0x0ced340d	0x484ea274	0xe8e7205f	0xf4d42151
+	0x8d63652f	0x5df919ba	0xc782202e	0x00b5558a
+	0x058ac4b7	0xf7ed3616	0xaaf532ca	0x0466f7e1
+	0xc715de7d	0x891abb16	0xd3f1edec	0x703e7d46
+	0xabcaff31	0x65da8b73	0xdb78bc96	0xb90676de
+	0x5d7426ac	0xf19f71aa	0xaf3c8094	0xbe384c5d
+	0xb1845940	0x058f5892	0x01f1e3cd	0xeecefb78
+	0x216f47ef	0x83ce4dd4	0x99a2a92e	0x5f489e0e
+	0x0030accb	0x10a522b5	0xc0e9bf92	0xbe72aaae
+	0x2868b69a	0xe16d004d	0x68cdf097	0xf0c81e42
+	0xfb771c2e	0x6c49e356	0xdf43fa86	0x6f8fdd69
+	0xe8efde9a	0x61104a22	0x9314ea71	0x4f9833d0
+	0x02d83ff3	0xb68e7a13	0x0734b8ec	0x8cebe42a
+	0x995c5419	0x77dc758e	0x40926526	0x63d5e2ec
+	0x53451011	0xdb095010	0xf04c8959	0x84fc2ade
+	0x6a8d1f9b	0xab4a694a	0xb68e3295	0x2c33244c
+	0xb756684a	0x8824b6dc	0xc7718d09	0x2c78a0b1
+	0xd6df2d21	0x1d84fdc2	0xef8449dc	0xb84516b6
+	0x1654ccf5	0x58d50227	0x775f49a4	0xa0efdc64
+	0x2f5c7ab6	0x8d5cebe6	0xe005d427	0x9d5a2340
+	0xf6960126	0xf7d1db59	0xc0d6d6a3	0x74cb7b1b
+	0xf802dbca	0x90a9f81b	0x0e8bb4b6	0xe6a3ef4c
+	0xdcc932d8	0x89b76667	0x8a6a225b	0x90762ae8
+	0x0f1f6328	0xd3b7db8e	0x979d5e9a	0x5e617a2b
+	0x4c3ee8e9	0x2af196fa	0xca0a130f	0xc013619d
+	0x64a456e2	0x066900f9	0xbf5ed7a8	0x38a68296
+	0x53ef7330	0xe823e118	0x6217d7c0	0x5e73506f
+	0x42a7702b	0xce68f476	0x747461b6	0xc9ad8bc6
+	0x6c189fb1	0xe9a4f518	0x7fa18264	0x01c1a852
+	0x1344ca0a	0x29ca755c	0x63b7079a	0x4d8c8683
+	0x0c0633db	0xa470e228	0x62cabbf5	0x9e8095b9
+	0x119922c7	0x7ba0b8eb	0x3766faee	0x7cc8deba
+	0xddf20b61	0x61b04695	0x03baee6b	0xe0246a67
+	0xf10a42e2	0xa3dc8a00	0xdd5d9f77	0xe1f1dcc4
+	0x3772369b	0xace130c6	0xbbf5fb88	0xdf454e32
+	0xc25df6b3	0x83c2d8e7	0x9cd44e3b	0xf45e8cd6
+	0x7b94d7bb	0x53b5f935	0x46006c16	0x5d342245
+	0x9621d860	0xe4f4e4cf	0xe1788871	0x1045d508
+	0xfd114bfd	0xec6966a2	0xeb6aff51	0xb03a7abb
+	0xe3766706	0x757ed7fd	0xd18e949c	0xef3f6251
+	0x9787316a	0x506cb265	0xd48cb59d	0xecb463d0
+	0xbd84346c	0x4b8360d2	0xb26d8c6a	0x450ff5bc
+	0x3ba3fbe4	0x93ee71f7	0xd2601c87	0x1aec2358
+	0x844a5d34	0x80b40953	0xa9207cb2	0x26076dd2
+	0x6a2a5343	0x589d94ac	0x3c1b0455	0x7e9c1526
+	0x9e651ce4	0x756809f9	0xd67cfec3	0xa6e987a8
+	0x74111b0a	0x95bf18d6	0x883ba1c5	0xb439a503
+	0x47b994c0	0xa08ed9ac	0x299c05a4	0x6c4a726a
+	0xdc15ec63	0xc2548b1b	0xc7b6d9c9	0x1e3fca68
+	0x8ae69b33	0x0d534ee8	0xccbc545c	0x69d8a57c
+	0x5f024f9e	0x453f469a	0xdfc42c44	0xd4a9346b
+	0x4dd997f4	0x5cd6e314	0x449335b2	0xfab68310
+	0x5a8a47e2	0xbdd8071c	0xeffc2195	0x18b06efc
+	0xfe7f3523	0xfa086966	0x7c006f79	0x87a0bcc3
+	0x693a04c3	0xf0950720	0xe0bea427	0xa12e6b4b
+	0xe3f1e30a	0xc1a2cc7b	0xbf95627c	0x123ad686
+	0xb253fb89	0x124f86ca	0x59c98e2e	0xddd47f2f
+	0x2dbd08c1	0xd0f061e2	0x3d41b8ba	0x86c36a10
+	0x24e75d20	0xa93674ed	0xd50f71e4	0xeac56eb7
+	0x5e95e65d	0x6ebe1bec	0x5f0f3adb	0xd30659cc
+	0x1ed0f17d	0xab3d79f5	0x906ec76b	0x0617fc88
+	0x126cef95	0xc7191ce3	0xd89e162e	0x4fbd2727
+	0x17b7a6a1	0x06151f52	0x73f6f1b2	0x37d20679
+	0xea9a9e5f	0xf483a7a1	0x37bb2981	0x300afd63
+	0xa168aa2f	0x0f1b60c8	0x73cd1a34	0x3ede2d95
+	0xacfa2c19	0xa6ef9928	0xb5410e65	0x5679d314
+	0x3b9ec3f1	0x0873a9b2	0xfe3eed93	0x01909bea
+	0x1c062fa3	0x9f4f9dee	0xad180d14	0x3a77f62e
+	0x903cd80b	0xdd716284	0x5d3a17e3	0xf33557db
+	0x5593cd64	0x280a25e8	0xf27720d7	0x016386e5
+	0x3eaa11dc	0xafe1dbab	0xab939bcb	0x10505da8
+	0x80f18377	0x5adb5fd6	0x2a80f194	0xf893c3e5
+	0xc575996b	0xbb898847	0xb9911094	0x3052115e
+	0x1b5be836	0xc7ff13be	0x34256191	0x159c5ea2
+	0x3a09a25a	0x5f6fe241	0x234a29cc	0x0071906a
+	0x9c3dceba	0xa0eee574	0xf7b2e1fa	0x7b16551a
+	0xe603659e	0xfcdfc6a4	0x85e43b4d	0x0c926271
+	0x615365fb	0x89e17565	0x07ab1a68	0x64555432
+	0xa0a4797c	0xa16ecc13	0xd8e6fa59	0xce8476be
+	0xc736b7c5	0x9ea33c44	0xb0097071	0xc4344f6a
+	0x9984f945	0x3a147fc2	0x59c59ff7	0xbd0af922
+	0x85dbb525	0xb57272e5	0x7f1ce809	0x3c5998e3
+	0x961b649f	0x5bc2b19a	0x272cc085	0xb0440956
+	0x0755da18	0x92c90f51	0x3efdc205	0xb3ad184c
+	0xf27700ea	0x56cb6d6f	0x8e931a0b	0x8b54c662
+	0xe12ae153	0x0fe92413	0xa4fb9a0b	0x5ac60a46
+	0xeb0da138	0xe0cbe58c	0x3a916aca	0x7eb879e0
+	0x2d000d97	0x2bdbbcff	0xd114dc63	0xd510235f
+	0xc5651eb6	0xc936dda0	0x3695d532	0x92e3d72b
+	0x5e298a2e	0x32064f5f	0x74b1d5bc	0xe499bb8f
+	0x9e69b8a6	0xa2ba91b1	0x665e010e	0xf540755c
+	0xa4481061	0x6a8b6038	0xefcd2326	0xfc35b7dc
+	0x2a9ff1e3	0xeeb9fb5a	0x3e2e55da	0xe666d0b7
+	0x425febc6	0x5e43d9f7	0x530bcc47	0xd0ff91de
+	0x4c69f7bf	0xfbd112b9	0xe09693c6	0xa3b840aa
+	0x0cdff6e4	0xb7c110ab	0xd0610264	0x1c358890
+	0x2ae72b61	0x2c777a83	0x03d82504	0x773df708
+	0xc055721f	0xc0469e23	0x9843663b	0xe6f8ba58
+	0x32a3b083	0x00c04321	0xfff85d06	0x9811ad10
+	0x7e084d4e	0xb51271c3	0x73c3e909	0x6f4dc689
+	0xed6bc204	0x6bfcf9d6	0xae6badb3	0xba47a39b
+	0x956a9ae2	0x2fbfcc3d	0xa7c82312	0xa997e4eb
+	0x084f5bfd	0x49e42545	0x0149311b	0x8f2565a3
+	0x6b59cf2f	0x350d5b66	0x44d703b5	0xc7c1a080
+	0x23e7718e	0xa94c33f8	0x6b3449f8	0x35dbe5d5
+	0xcd64f37e	0x0653ccd0	0xfeb5ffc3	0xa1cb2c2d
+	0x29d709ac	0x9f7f92c5	0xd39970bd	0xa6941c48
+	0xbeea817d	0xb16290b2	0xe7fa1175	0x04eb43e6
+	0x1738a55e	0xd4bb4d56	0x93e37393	0x062dec67
+	0x2beda16e	0xa10873fa	0x2e6c8434	0x794a42ff
+	0xb07934fa	0x7b6ac0c5	0x1ea05365	0xe3f1bbda
+	0x20b2363e	0xc03fa440	0xaa2936e1	0x5c08a05b
+	0x6a39c1e5	0xd6f678d3	0xbd1cc401	0x93ac898a
+	0x20942d76	0x7852a50f	0x544139ed	0x1537e6bf
+	0xf0539bf4	0x0a2708f3	0xd2f83a02	0x1cba26d2
+	0x86443e0e	0x62d0229f	0x4b2d945d	0x1f1c1f28
+	0xb497e8ca	0xba3e04e5	0x522509c7	0x192f77ef
+	0xef7da5e0	0x7a759321	0x41b83ff4	0x6c646590
+	0x30f48620	0x6a5612fb	0x42832c7a	0x2574928e
+	0xd6e388a5	0x9345eec0	0x167ffb91	0x4168d51e
+	0xb8b646d8	0x75646e79	0x974db936	0xc02a6e1d
+	0x3c995264	0xb2d0c32f	0x29822c7f	0xe74eeb5d
+	0xe03580eb	0x8319b856	0x0d1d271d	0x8ad42434
+	0x96651fa1	0x5564df67	0xc9ef4ef8	0x71302d3f
+	0x72226833	0xc97b6c5d	0x20610c32	0x01f874f3
+	0x622fcc68	0x081e4913	0xf830a20c	0x11a7964a
+	0x85b88912	0x52358837	0x90acc6da	0x5c0bebee
+	0xc40bfb78	0x83adc676	0x454f72b8	0x1776e8b1
+	0x0f298261	0xe2e4e4ec	0x2b3130df	0xaeee0c65
+	0x33ce26e0	0xb3577250	0xbeafcd81	0xc6c7138a
+	0xd700eb30	0x3bb1b274	0xc71598d7	0xfd7a7f26
+	0x38add452	0x8574241b	0xf596bf98	0x6785b542
+	0x4631cae3	0x2220df5e	0xffe77fd9	0x87fba210
+	0x6b145970	0x144c0e9c	0xf5bd939c	0x41d32ae4
+	0x43b35b0a	0x59c8f792	0x355355c4	0x6a2b17bd
+	0xcdcfefcb	0xdbf1dbc0	0x609e35ac	0x0ecb8b52
+	0x9c3a4f1b	0xa33870c0	0xa381d6ec	0xb386f4aa
+	0x5ae62eef	0xdf19932f	0x4d76d341	0xf26cfcce
+	0x83a36919	0xf6738880	0xaa9228cd	0xbff13a9d
+	0x6d8e63a8	0xc75f28eb	0xde816caf	0x21b1c98b
+	0x134ac097	0xbfc29aa6	0xa393e847	0xe1795918
+	0x8c5f1b5d	0x18f10df2	0xfd98960b	0x82176151
+	0x7509e711	0x73b9ee6d	0x2c11cad3	0xb8e5b028
+	0x2ab11953	0xda19e17b	0x3fe13700	0x96cc4c45
+	0x19612a6f	0x6b216822	0x4dc650e5	0xa0f67fe6
+	0x2860722b	0xebbfd77c	0xe9f8306a	0xbd1cfe5d
+	0x9f8520c2	0x4826927b	0xa6e8c777	0x91cf868d
+	0x2ef6e415	0xa66db818	0xb5c371d1	0x3d2e27f6
+	0x3c85744d	0x4fd2deaa	0xbdd81f53	0xf652b345
+	0x87ca0ec8	0xf9b7373d	0x19859129	0x71872f82
+	0x9efabd33	0x1d965b6a	0x8d4bbb05	0xc69dd6e6
+	0x0cc18042	0x4cbf6954	0x0ffffcba	0xec26cc1a
+	0x134d3aee	0x7224df40	0x701f74df	0x80b0d9a8
+	0xc835f80d	0xfee03bb0	0x67e78ebe	0x8daec7b4
+	0xb0999490	0xfcddb4e8	0x19a339f8	0xadb71117
+	0xf1ac4cbd	0xe83402f7	0xd0404953	0xdc6e386b
+	0xb0331448	0x7a80ea7d	0x1cf9cda7	0x9fcd458d
+	0xfd023527	0x66e58053	0x573800d6	0xdd2c9579
+	0xc387c6c1	0xf4bf2199	0xde150280	0xd22eac26
+	0x50cdc5fa	0x8ca12024	0xa90a1e65	0xa7393b56
+	0x8314e967	0x08deee83	0xff1b467b	0xc57ebb67
+	0x3a94253c	0x859efcdd	0x8d0a085b	0xda771c92
+	0x846af9d0	0x8005a917	0xe0985eb5	0x82ca31d7
+	0x9e862be7	0x182365f8	0xfbde08db	0xe2070ffb
+	0xf789f749	0x43e284b1	0xfebfe41b	0x43c24bd8
+	0xb5b96980	0x411ad230	0x5d2d20ae	0x6a81b066
+	0xb9d7499c	0x5f2ec4ca	0x7c0743ac	0xa66bb574
+	0x9dd48615	0x5d7d7e96	0x9fec85c9	0x8e61a725
+	0x206c4d3e	0x73b5d242	0x1359bdbb	0x61a357a5
+	0xb95f058f	0x3e519639	0xe8d4cfee	0x767253b4
+	0x3bd93d26	0x1310035f	0x172fe3ef	0x44d5f736
+	0xf8218b94	0x4e217ff7	0x7b889089	0xb1cc6b4e
+	0x1094227f	0x4a8f39c7	0xb9767d40	0xc0d8a4d7
+	0x983431d3	0x7688316b	0x2a37d76c	0x92c14d2e
+	0x395db078	0xc682c142	0x2e16782e	0xfa052bd5
+	0xd1248d63	0xcd9d1fb5	0x0ea954ae	0x2a378a49
+	0xc32815e9	0xc1381b26	0xf2f2ea46	0x7e0ac5a8
+	0xfc8b9b7f	0xa09d0266	0x511d3d2d	0x9488f11e
+	0xbfe7037c	0xc3dd86bf	0x0d368472	0xff07b3b0
+	0x3eaf3450	0xda9995b8	0x21af9375	0x4ad5b401
+	0x8e874afb	0x17358bb5	0x20905355	0x994a56f1
+	0x6c0d0b46	0xaa2c474b	0x92e7c153	0x7a0f16ef
+	0x9a5b5068	0xbd9bf73c	0x0e62a1b6	0x1337bd97
+	0x1c575823	0xc9d3a4f3	0xd4dd3f92	0x670048d8
+	0x7bccbcd4	0x2cc48caa	0x6391a9fc	0x504b86ba
+	0x6afda937	0xe11a8b22	0xb3a9b260	0x4870e243
+	0xa895fbb4	0x6dc3fa91	0x3f0f87ed	0x552b7c53
+	0xf5d866ad	0x9fd0c9b5	0x330e3e93	0x9366084a
+	0x427e792c	0x2ca2e653	0xedc14ee4	0x62a4fdb0
+	0x9a4fb34d	0x49c9ef8b	0x9dd9dbd8	0x287a5863
+	0x5338e4b9	0x09de2dff	0xde64dddc	0xc4dde910
+	0x1f8e9962	0x144f6437	0x9848dc67	0x2674682e
+	0x8f914818	0x04b1971f	0xfdb3ff8e	0x585d9e1d
+	0xe365dab8	0x84ea6149	0x54933b51	0x1c92c025
+	0x43c4475c	0x066e4d9b	0x2d7e837b	0x6b8276ba
+	0xfb0ba618	0x2386546e	0x2d3cfd88	0x354a0896
+	0x9a4dbc00	0x321910dd	0x630ce2e3	0x8fa81a9c
+	0xd2e03c87	0x73119e29	0x45352381	0xa9682006
+	0x1fb516df	0x64d22b4d	0xeac1648b	0xc2f29243
+	0x693ce48a	0x7c7db02c	0x7a32e833	0xeb0bfd4b
+	0x3b7fa87e	0x478665dd	0x021813b9	0xc044ccb2
+	0xb3e18708	0x455f2e57	0xd62563ff	0xb03fdee5
+	0x295320d1	0x4b9b793d	0x8e3b1d3c	0x4df2c6e8
+	0x1bc7ccea	0x200cde8d	0x9f4a1d1c	0xcf52ac9d
+	0x1e9f3758	0xa2039bf4	0xfd21eb46	0x501c1fad
+	0xbe8b9a79	0x244c6179	0xa141d6b2	0x458acb5e
+	0x05e036a7	0x56bd83c3	0x488946c3	0x1723be53
+	0xac579ab1	0x72c9ab9b	0xd299736c	0xa46d18bc
+	0x05f29f68	0x330856e9	0x9c3cca59	0x6766f4e8
+	0x2442ed07	0x4302b7aa	0x95b73fc2	0xf7f70673
+	0x47f8006b	0x5445fa8d	0x535338f6	0xac29315e
+	0x52df8cd4	0xc5f86670	0x33b5152d	0xf3c3fcee
+	0x45d6b944	0xdb4ef73d	0x5f4e2d47	0xfcb182df
+	0xe0415c05	0x5e423d91	0xb2a77337	0x8ded2af1
+	0xfd2a41b6	0x38b6da43	0xeb08fde3	0xa8b92f71
+	0x6033938b	0x916fc8fb	0xa1cb0bb9	0xd43d0dd8
+	0x265ccaf4	0x6ab46630	0xb5b7fca8	0x1cdc8fab
+	0x5d57f907	0x731b1c98	0x13f06a7a	0x52d40403
+	0x90838f2e	0x174c3545	0x79a5bfda	0x9a61823e
+	0x74057ca9	0x352c1c28	0x9423416c	0x04567712
+	0xcf8df7ca	0x788ad050	0x79eb1e57	0xe480f4bf
+	0xe666c03d	0x7f764d8b	0x87b54e90	0x4ad4c310
+	0xc76f14fc	0x8d31c3cc	0xd385c7de	0xc3c62ea3
+	0x756a84ed	0x6093ba49	0x865a843b	0x15a21f31
+	0x491e7d8c	0x6a85ead4	0xc23d7071	0xfee65ab3
+	0x4dbb128c	0x8756a2c8	0xe41bea19	0x6b646205
+	0x4f612363	0x102f1b65	0x50c42444	0xd66b72ac
+	0xd0a5d189	0xbbb48835	0xfaed0f85	0x35299dbd
+	0xae520e37	0xbc62d5b6	0x9fc997ce	0x4285c1f2
+	0x144b2062	0xdd2bfab3	0x34ca7ad5	0x5b0b96b1
+	0x4f5f5030	0xc6235ceb	0xbda53252	0x8d9d9c6a
+	0x91e27091	0x584cb5b4	0x118a16fd	0x6e7307ec
+	0x967dc77b	0xe25f67fc	0x71df26e3	0xf2140483
+	0x950ab226	0x98565d79	0x13c1dc8d	0xa7bbd9b8
+	0xfea3a85f	0x0514f498	0x67a9ae82	0x0b794d65
+	0x910cf547	0xac89285b	0xb7d20b88	0xdcb0d698
+	0xacec261b	0xb85e4354	0xfeb44708	0xe16daab6
+	0xe39ea8d7	0x270d9917	0xf4c443ba	0xca1ee7c6
+	0x3b772ba7	0x5db5b518	0x30743f87	0x89ea8485
+	0xebe34ec9	0x92e785bb	0x9bab88c5	0xa567d991
+	0x0834a6c7	0x3bf34a62	0x5ea7165d	0xfd765d50
+	0x1d339374	0x393ae576	0x44615546	0x94966490
+	0x522d0d58	0xc3f84daa	0xff9b3090	0x0a2b777a
+	0x9d147f93	0x7484b82d	0x7e42ce9a	0x2479cbf2
+	0xed5e8671	0x48a3fd5d	0x8c0efe67	0x57514a6a
+	0xb2d59c23	0xac1bce8e	0x9d865295	0xbf2d52f9
+	0x99eb3289	0xe9ec608d	0xdc8865fe	0x62a1d008
+	0x09e75fb8	0x14eed62f	0xb1d983c1	0x18ffc5dc
+	0x676dd012	0xd5ad1d1c	0x24089ea9	0x7b6b886b
+	0x5b597f41	0xbc45f33e	0x0607aa61	0x4c24a7d5
+	0x7c95d063	0x95bbdb62	0x54e9359a	0x64ca6b54
+	0xa8697963	0x3ac8c630	0x659a0575	0xdcf3f3df
+	0xc85e85e1	0x0be24ca6	0x754e3262	0x2ae09cc4
+	0x141edd9d	0x293850c7	0xc4d06e42	0x1db7681d
+	0x509c1d65	0xd4d25a9c	0x8b62e86e	0x7bf06aad
+	0x577b51ab	0x546dffe2	0x68a1cc2d	0x4dfbfaa4
+	0x900b86e9	0xd772e5b6	0x53b2cd20	0xd429c80c
+	0x4df53704	0x7c591d73	0xc37bf9cd	0x405de0b9
+	0xbf61eefb	0xf78d710e	0x771bfc4e	0x295bbb57
+	0x57e03c7f	0x458dcf94	0x6cfa44c5	0x8b37c19d
+	0xf6b700cd	0xee83a2e0	0xa69e0524	0xb5e8c23b
+	0xfadd16fa	0x92103411	0xf7691e93	0x024d5d01
+	0xc8f1a6bb	0xc52ae4b6	0x1481a804	0x76c3addd
+	0x4a5b380e	0x05a06be2	0x8280fad0	0x7eefcb56
+	0x6e7dbd22	0xe368006d	0x2bf09a2d	0xf19dcdea
+	0x28bed5fd	0x4a5c7584	0x3f27e5cd	0xd93992d1
+	0x05f76867	0x783a60eb	0x207ef64e	0xc55256ff
+	0xe5d8982e	0xde4fed52	0x5c407fb2	0x693745b5
+	0x67b5e2ba	0xc5141e02	0x7f8a949d	0x4bdecc6e
+	0xede07b33	0x36190f68	0x67e701a2	0x05498bb4
+	0xf320cb59	0x7c38504a	0xb6d4d813	0x2c1c0ec2
+	0x70d1628b	0x69fe9eb2	0xce721143	0x3bc1a755
+	0x22d0f125	0xbd270909	0x75fd4507	0xc86bc8af
+	0x668d01a0	0xf5f15c8f	0x46a790f7	0xb4b1cc3d
+	0xcb1e47a6	0x49f6ac3d	0xc749f955	0x71dfb5b5
+	0xe69aa8af	0x68ea10ff	0xdeeef051	0xd28eca7e
+	0xee70f434	0xdfc239a9	0xf32e58be	0xc7e4c16e
+	0x009ea4f0	0x3c704ace	0x998ba989	0x90303963
+	0xa881bb08	0x9fe1a2a8	0xa9302aa3	0x8e12260d
+	0xd8344e74	0x0b2229df	0x1de95390	0xa69dc5fe
+	0x4d2448c5	0x592dd6f9	0x66a0ff0e	0xcae3e34e
+	0xf5692970	0xc8f6a8c2	0xef6d6cc6	0x995781d9
+	0xb9b19cf2	0xf29ca8ce	0x805b80b5	0x566996a3
+	0x20c14749	0x7f7dc821	0x33b1048c	0x1d77e93f
+	0xc9924712	0xea25b7de	0x54e82316	0xbad33995
+	0x7ce5f207	0xb89032e4	0x970a6002	0x12f0cee1
+	0xfa5ff132	0x2f7c4ce8	0xa09d3c01	0x5d584790
+	0x0f019e8c	0xc140fd07	0x2ada9dde	0x3beb0ad5
+	0x0f5324f7	0x400dc16e	0x9fcaa586	0xb7cafe7e
+	0xc329b81d	0x2a52a2fa	0x41cfd08b	0x8691f7b2
+	0x88bd93f5	0x01846265	0xe5dde3dc	0xc0acf5d0
+	0x4f4951ac	0xe12d4537	0x8f897a4e	0x4e61554b
+	0xbc9daab2	0x82b1de59	0x77aa65a9	0x78dd3dcf
+	0xc457dc3a	0x8df6cdd6	0xafa82b4d	0xf892d037
+	0x15659e6f	0xd1da82f5	0x51b1da6d	0x8f8a0058
+	0x8f3da547	0x3a4c96a1	0x6c520f93	0x2560ea69
+	0xff562ca0	0x8849e4ab	0xb94bd186	0x81d83d63
+	0xd62100f2	0x10b53f77	0x3f2f3e10	0xea85a3fb
+	0x3c14492d	0x94972b24	0xee409e55	0x3fe09f34
+	0xe5bc0387	0xdbf6ed07	0xd2a13228	0x1342a4b3
+	0x8c1e9332	0x67460ce5	0xedc055ef	0xb33c3a6a
+	0x1fecac27	0x105c822d	0x38e69161	0x8ad10c3c
+	0x6c409f8c	0x10f13a50	0x9bfaadde	0xd547a844
+	0xe604518d	0xc97c118c	0x7a962a31	0xcc3f7448
+	0xa53cf973	0x39608fa7	0x2efa96ba	0xf0a05821
+	0x5054d76a	0xb17f737b	0xd7e00db5	0x5fdfe3e6
+	0xa28102d2	0x2b94e4e1	0x0f39bc76	0xdd012a05
+	0x2fb574f4	0x16395501	0x74130e6b	0x328629a6
+	0xf9fb7d2b	0x3d68bdcf	0xc5f03b6b	0x918f5026
+	0x9cc0e54d	0x246c0133	0x3b2cac9c	0x198d8cba
+	0x165c8ae3	0x4e1222fe	0xe3358ab8	0xbb920fa6
+	0xd3efae9b	0x9b1ae032	0x71ef638d	0x37c980be
+	0x683b26b3	0xcfca82d6	0x8daae26c	0xca7952a2
+	0x6c1f14cc	0x0c125b4f	0x6088cd18	0xca6fa30b
+	0x67a717d2	0x4af87e50	0x0b8d486c	0xee99aee2
+	0x8211f817	0xda042d81	0x4d4e8b3f	0x5ed4f785
+	0xb735b1e5	0xa221f19c	0x79c8c3ef	0x5f534751
+	0xe687519a	0x9c4b3c01	0x3e2e8920	0xc3fc6c9a
+	0x1fe57afe	0x042d100b	0x6704bb3b	0x385ae3bc
+	0x7a95f242	0xf063b32e	0x446a6205	0xbdea4286
+	0x89590a8b	0xf29abccd	0xab76135b	0xe3c51cf7
+	0xfe3d8718	0x9af8d666	0xd741a492	0x93f745ae
+	0xffdd5db8	0xe98f3ab4	0xf7f41efa	0x6cc9cbda
+	0x236ebf0a	0xde0b085c	0x2da1474b	0x127ef5d8
+	0xd3400d6c	0x7b9835d4	0xea2ccd18	0x7a44dbf6
+	0x20344986	0xd04719b5	0xfddecbde	0x4b3bc441
+	0xfb3ef6fc	0x3ba485e3	0xc9745a29	0x1d11db63
+	0x4b7beb71	0x5c3cc855	0x30b18cb9	0x2f0875ab
+	0x821b49fc	0xb67545d3	0xe8224e1a	0x7bc30424
+	0x08a741b1	0xb1d782e8	0xf5f92b42	0xf866a709
+	0x9df02c1e	0xb90be338	0xcfd3b7d0	0xd363a325
+	0x75ef0539	0xe6ce8816	0xed1a6ed8	0x0276b3d3
+	0xf8410ec6	0xb34b11a8	0x1a1feb78	0x37059c61
+	0xd9fc291f	0xa907066c	0x0bb622f7	0x4b5b8394
+	0x3cb593b6	0xa85f939d	0x3e752988	0xcc036b5a
+	0xaab617ed	0xdb4c7404	0x3112ffd8	0xa64d7ed1
+	0xe3e21689	0x100c07f6	0x88712b27	0x5ff60870
+	0x5ad52931	0xa588761b	0xe27bba56	0x40290b22
+	0x81c2ec99	0xd96dc1fd	0x743bc863	0xa9bc83b8
+	0x6c1f57b1	0xb3e49963	0x0e68216c	0x3b91e56b
+	0x0d0044fb	0xb771b566	0xb9bfb5e6	0x539c1238
+	0x6537f6f6	0xf3212291	0xca9a7eee	0x94fe56ea
+	0xff23247a	0x18845146	0xa9b4acec	0xbf88cd08
+	0xa8bd56db	0xbc48ddd8	0xc9e534e5	0xfb26bc94
+	0xeb2aab50	0x083e1f38	0xa1cc8db0	0xf6b7388a
+	0x07ab2148	0x08102d67	0xfbc9db3d	0xda9309ae
+	0xe1566f9e	0xa5b5013c	0xe95f5cbe	0x5a2f0891
+	0xc407cd12	0x72f2541c	0xc73d9dc0	0x000326c4
+	0xf5df8f04	0x04a46fd9	0xda0b0045	0xc0db427d
+	0x279e6218	0xf65ecee2	0x54207683	0x5f2136d1
+	0x31db49a4	0xbee12a37	0x8aec9367	0xae726b4f
+	0x79926b22	0x7b8d6817	0x3566839f	0xaa6778c4
+	0xcbf46909	0x2c4db79d	0x9cd111b2	0xd06c19a8
+	0x4e05be08	0xb385e8ba	0x1a97778d	0x3a999b16
+	0x1f27e052	0x360a451b	0xcecd5085	0xd3b98b80
+	0x60de8dc1	0x9492c191	0x6dfb20b6	0x82a2845e
+	0xfa474090	0x2f639c3c	0xb7778b58	0xe70b3e08
+	0x92e7ed04	0x16330fd7	0xa60979ce	0x37db1b61
+	0xd5b1c551	0xa1750ddb	0x35cabc02	0x7017d4d5
+	0xd7b489ca	0x385a53c0	0x5140692f	0x137807aa
+	0x4d5c15ca	0x4d8e2959	0x7309d85f	0x56620777
+	0x3b94136c	0x45cd588f	0x16175db0	0xb0189180
+	0xf7d77e22	0x72bf5c2b	0xd72bf217	0x4f440f3c
+	0x55efeb82	0xfd328176	0x991c948e	0x18db77b4
+	0x8cb7c363	0xa6db597c	0xbc0eae6e	0x5314ad9d
+	0x9e9a823e	0x0ad007b3	0x7c14dc3d	0x4fc184dc
+	0xcf15e0d5	0xf32b2740	0xf5cde28e	0xc71bb3e6
+	0x32710afb	0xce14c151	0xc8e1f0dd	0x4f79c217
+	0x224c6f25	0xa638f90f	0x9960b361	0x3bafdd53
+	0xee1e338e	0x74a43972	0xe917e85e	0x68f6623b
+	0x779950ef	0x35f45667	0x4d9f7b72	0x306cb60e
+	0x96be7043	0x82574ab5	0x51ecdf6f	0x5e89a588
+	0xeacbd163	0x8c1a51f5	0xc0cc9b39	0x0d9e650f
+	0x947a3e4f	0xb2f964ef	0x9db5a2e4	0xcdc5d80e
+	0x27491175	0xbb7e60f9	0xe3f1352d	0xfc06d400
+	0x45efed2a	0x80416fb8	0x5d391fbe	0xd9e790a7
+	0x3c62de10	0xe5b340e2	0xd7586e54	0x0bba5041
+	0xcfdb2dae	0xdf6d5e8e	0x86331542	0xfd291355
+	0x4804bbef	0xcb119296	0xcaf2989c	0x2ede7994
+	0x2b8b67a5	0xf21f05f4	0x4ffbfcd7	0xf11da934
+	0x2a725603	0x01340ad6	0xbe618780	0x404eb1e3
+	0xb5b9fdea	0x1117c89f	0xe5a203d4	0x2f518cc0
+	0xf5de0b36	0xc010b1c8	0x583c3089	0x5df76333
+	0xc1114ae8	0xb4baa895	0x7d57dc83	0x46e9a215
+	0x9ae829bf	0xea95a2ec	0x641bdac5	0x27c1b542
+	0x9776ecd8	0x673f1573	0xc59e6618	0x62b7b3f4
+	0x89f41db6	0x0e4cd877	0xbad7e43b	0x999863fc
+	0x0508928a	0x87dbb0e8	0x346aacb8	0x0ea45e00
+	0x89372f68	0xba63fc87	0x2ca89806	0x6b1150b2
+	0xefe81331	0x75b64ff8	0x653271d2	0x7c4a369e
+	0xff84d22f	0x4498d4d7	0x9819b64c	0x13603c8a
+	0x0a11e11f	0x83829df2	0xfbe75676	0xa0956257
+	0x3925356f	0xc58c2253	0x52fb552e	0x65cc18bb
+	0xcb96dcf2	0xf0ea23cf	0x09e63554	0x6ac78cc6
+	0xcd928046	0x56967dff	0x11d6e16f	0x68d423a8
+	0x0ea348fe	0xc11fffc8	0x554dc1c1	0x63e81f0c
+	0xf5a5b517	0x7a145d8d	0xe6764ad1	0x9ebefdf2
+	0x1ea700ba	0x7a41e49e	0xac6ad2ec	0x32430937
+	0x78c0c0a9	0x0d186685	0x12311c87	0x12334cef
+	0xa8f981cf	0x97e3f9fd	0x6466f308	0x7c834042
+	0xf56281b7	0x7f3a48b4	0x7f875a13	0xd5ac8188
+	0x1b284be4	0x48c0db67	0xbbf1dd5c	0xb048cb42
+	0x5fd646ec	0xddc5b07e	0xecd7dc52	0xfea93ba0
+	0xd6d2876f	0x36c646a4	0x05234f63	0xfda3b2ec
+	0x0d5e885a	0x289442d9	0x1b84cebc	0x24c57b27
+	0xcdc7af90	0x0d9054b0	0x102b9fc5	0x7c3b7851
+	0x4fc9b680	0x1027ac0f	0xe9d33d07	0xe70f0d86
+	0x0b67a11f	0x7b00c993	0x7b944198	0xe9473d98
+	0x9dbb331f	0xfc68a0df	0xc2bfdff4	0x2645cc1c
+	0xa432b05c	0x5ff0d00d	0x094daa97	0x86110404
+	0x13152e68	0xfe61af26	0x73585153	0x5d5d4bf3
+	0x1e72e7f6	0x29158039	0x67d827fd	0x28891d12
+	0x277fb2e8	0x688f2cfd	0x6cc5b235	0x2a91ad07
+	0x73ea8da0	0xdf0b3ea0	0x3483725d	0xe6e8e3de
+	0xf78e1d07	0x94568c0b	0xfff3f1ad	0xd7ef83bf
+	0x93788ec9	0x4a85764d	0xe055935b	0x6d4c35ee
+	0x015ac081	0x3a7d7f7d	0xfbbab5d3	0xd6ba93f0
+	0xadf23210	0xb3972a33	0x3b27aca8	0x14129a04
+	0xe054246c	0x49773d16	0x53ef69e4	0x543fab09
+	0xa3db9f24	0xa1905890	0x603a7878	0x46971d2b
+	0xb3aa0701	0x71439a8c	0xb1160b2b	0x2500f535
+	0xeb529914	0x09bc681c	0x886a22ca	0x029839c0
+	0x24f6fa9d	0xf273b94b	0xd4ed1fc0	0xa725fb0a
+	0xc1288834	0x298c0de6	0x7ccedef6	0x475cdd4f
+	0x9b74fe73	0xaca142f1	0x3b90630e	0xafcc14f0
+	0xa7b9176a	0x18a78adf	0x3717feaf	0x8dfca953
+	0x964b191f	0x4b2292b0	0xa0ada75c	0x439c2150
+	0x1b6bc949	0xfd7de88d	0xcafeaee5	0x1b47ea7a
+	0x4886a9bb	0xcf4f8cb5	0xdafee879	0xffa4f85a
+	0xbbc7d17b	0x386e6a18	0x37a76a81	0xe71481b2
+	0x0be3cc58	0xd1abf083	0x6f863841	0xba25ae41
+	0x7d897088	0x141ac561	0x55636cba	0xa1c6d0f4
+	0x00f9adb2	0x401e9d6a	0xf82a5978	0x7d75b4d5
+	0x38f52ee9	0xc9bf7776	0x57e541ec	0xa7326049
+	0x4eb310db	0x7a911090	0xe980d24d	0x4e4928a8
+	0xc341da19	0x160d50fb	0x52b629ed	0x36e373e1
+	0x03156b52	0x7dda6394	0x9016c191	0x10e1c2b2
+	0x745f2fa5	0xf97a0fd7	0xed78e2dd	0x52cb1fb4
+	0xf3f5a357	0x7bbb6eed	0xd49494f3	0xd5d282e6
+	0x331457a2	0xe0986390	0xabd4ad46	0xffd32433
+	0xc6760132	0x17edf947	0xef74541c	0x6c633d01
+	0x1bfc8944	0x66ae5f06	0x49180ca9	0x9439b3a5
+	0x0109ab6a	0x9988841b	0x3138e4b9	0x0c041259
+	0xdd2d6cdc	0xba4aef87	0x00b54150	0x1af1eb60
+	0x17362972	0x4e9e7391	0x2a4c8c0e	0x86e366c6
+	0xc4d32a69	0xf9682136	0x89a37daa	0xab0f206b
+	0x4bc10c8c	0xdf1448c5	0xfb04128d	0x801adf60
+	0xc610756c	0x427fad0c	0x94e62b1e	0xab472ed0
+	0x18390093	0xa57beb73	0xf76ef93a	0x47f81306
+	0x6a1f16b1	0xb5a3cb25	0xce9234b3	0x7d7be393
+	0xefc9352b	0x20469b4e	0x78d2d7c0	0x52d5a924
+	0x8dc1e477	0x9535e2a7	0x14a76758	0x00c3b32f
+	0xfc9b912e	0xe199d9ef	0xefe2a54d	0x9fe26d7e
+	0xe782325f	0x225fff1b	0xa57f1197	0x9156e416
+	0x194055ea	0x0660af3c	0x658a517f	0xc90f5346
+	0x4dcd36cf	0x5e225bb0	0x6e52580b	0xf12142b3
+	0x20495447	0xe75f4145	0xdfeda257	0xaae519ad
+	0x0b1fafa9	0xd70bddc9	0x66131cd2	0xea6513e5
+	0xdb3e7f2e	0x393388fc	0xc712bc66	0x5dcfd28e
+	0xa6c8ef27	0x6e82503a	0xc8fed6cc	0x37f04c92
+	0xf0bb837a	0x8adf1397	0x2c2e09db	0xe6ebdd65
+	0xba2f5430	0xcfa2d541	0x398ef4b7	0x1c1a1525
+	0xfed5250b	0xc8ea4537	0xd9285c99	0x4ee366c0
+	0xf00ce3a3	0xe36d4ae1	0x41a85806	0x3b26c890
+	0xb5f8bbbf	0xef64d87d	0xb7983644	0xef77edd7
+	0xf0c98c90	0xea55a358	0x3243d74f	0x8e7ecc0b
+	0xfd6e5cba	0x4ba3353b	0x2b71f634	0x068abf5c
+	0x2c7d2629	0x5ca26d59	0x69558629	0xef7dd3e4
+	0xc5b45181	0x9b8dcc34	0xd42804fa	0x97863a0c
+	0x33e67d39	0x4964aed4	0x8ddf1f63	0xaf56235e
+	0x395e9cbf	0xe4e312d8	0x54a95a58	0x1a20df2f
+	0xc020be59	0xf766cc8b	0x90f0a8fc	0x975e7117
+	0xc9c67436	0x47a32de8	0xc8b4b4ad	0xd7ad6e3b
+	0x7ea90e0a	0xc888c20e	0xa7b34096	0x49408ad6
+	0x196a44a2	0x0c976185	0x3661073f	0xec9f2ff6
+	0x363e340e	0xf5bfa91a	0x460b2797	0x8d31424f
+	0x92067803	0x4b8ea711	0xaa64e9e0	0x99af04e4
+	0x5f4ec94d	0x984ecc59	0xb46e3237	0x94ae2df5
+	0x406aceb0	0xc2db3748	0xa2ccce68	0xe4aaa783
+	0x848d3790	0x9310ceaf	0xf03f5227	0x5cfcfee2
+	0x86f79341	0x8ae74083	0xcdcfbd57	0xb73c78b8
+	0x46d53ce7	0xaf63127f	0xc8af1f62	0xd9345e73
+	0xd5a843dc	0xdfe408ed	0x2b0a5a74	0xfc5e83b6
+	0x02b82383	0xd11a8304	0x9eb33f49	0x780258e1
+	0x10ecc11d	0x3d86f81a	0x4135e11b	0x7b3c13fb
+	0x9d497a35	0xc98a53b5	0xa2662751	0x67411a3e
+	0xb7b2ec7b	0x4df0fa7a	0x27f27874	0x0e3180cb
+	0x9ce8a228	0x52ed9080	0x7419dcf4	0x39b6bb03
+	0x5f2fc03f	0x9c0b3310	0xc71ae18a	0x596789fb
+	0x0f5b72fa	0x93d2df5c	0xa1b39822	0x972f2f23
+	0x3dbab78b	0xf58f6c2f	0xc6641558	0xf4c4c4ee
+	0xc8bee865	0xec52beaf	0x25cfcf49	0xf9effa32
+	0x4da772ca	0x550135cf	0x135cd4b0	0xfb3467a1
+	0xdd9375e8	0x1bb87880	0x2212e688	0xad1cb275
+	0xc3ec168a	0xf673b7b4	0xa37cb4ba	0x496b8bd5
+	0x040481ef	0x32952c2b	0x694d71c3	0x224c0566
+	0xd53264ce	0x4151ec8c	0xbaa0aecf	0xb86f2bd5
+	0x7de90b99	0xf2f8e815	0x04ed273f	0x36587931
+	0x4d15c3c4	0x17de4bac	0xdee68b3b	0x7a2b0434
+	0x6a2c7cc5	0x1b73fd40	0x35eb37b2	0x23e52371
+	0x73b31abf	0x7bb9e3f0	0xecc6fbe1	0x88c73c81
+	0xee50ceac	0x6721d013	0x4adc7e60	0x598f6e88
+	0xcc7826ac	0x37b443ce	0xa0e46430	0x51a848e1
+	0x75990dd8	0xd9dc6164	0xaa8ac8b1	0xc68ae7bb
+	0x5d424bf5	0x6f3f6adc	0x7c5c5112	0xd4052c5d
+	0xfb5930ea	0x899798ef	0x3612772a	0x3d09d7cb
+	0xa4e4bf10	0x32539b0c	0x13dc2f07	0x3d0a5dee
+	0x4e8b1433	0x8f0299c8	0x84398672	0x8fb4eaaa
+	0x3e0ea530	0x928f9160	0xd0c59a0b	0x63212ea5
+	0xfb58f129	0xd23cfebc	0xecc0d9a5	0xaa19360a
+	0x0d8d5cda	0x9cea8440	0x3302fb43	0xfbe4cc65
+	0x84c87f41	0xdc887170	0xce6d073f	0x6b1f95d5
+	0x32cd021e	0x1238650d	0x46a4b16b	0x969889d1
+	0x05066b32	0xe5d5db39	0xe61132cf	0xc83c73cc
+	0xd9a26b2b	0x1e8514d9	0xa4ee1099	0xee5b0979
+	0x809c85d1	0x7c915969	0xc19de1de	0x5dc57999
+	0x05aaf1aa	0x9bf127cf	0x5500e2e4	0x0b58a12c
+	0xadff8f92	0x97fd18c5	0xb65ca67b	0xac997c27
+	0x183a2353	0x0d4885a0	0xbf07de7f	0x7acd2fe0
+	0x1305967a	0x73ffb3f6	0xd56bfaae	0x8bb522bd
+	0x4ec60a1c	0xd15e73a2	0xf5d5e543	0xd1936082
+	0x0e5f1e3f	0x82b630e5	0xacb42758	0x60457204
+	0x4db21d80	0x63268543	0xa74445eb	0x4da0ba72
+	0x86a911fc	0xff6eeea5	0xd9b841c2	0xcd8eeff0
+	0x7d5f71d4	0x79276494	0x7fc1532e	0x35b84999
+	0x3ae06442	0xdcb11206	0x220d92cc	0xfb716e84
+	0x106cf027	0x79265724	0x420c10a6	0xb76ebb4a
+	0x19ea9fff	0x9b4c6e5a	0xd7362c61	0x2587a379
+	0xea661035	0x33f2b5df	0x24fb5e4f	0x350973e8
+	0x3e7acc52	0x97fefe48	0xe9494f9f	0x490935bb
+	0xb570c9b7	0xff52cd9a	0x925bcd3c	0xac372cf2
+	0xf8a77b40	0x7ebc3984	0x9b61852c	0x81e07c63
+	0x7992e762	0x07517eb2	0x7b2ba667	0x09bb1d78
+	0x0514bbfb	0xb1783dc2	0xfe4e7fc3	0x76822498
+	0xf67c8bd8	0xe44c8216	0xfc0d30c9	0x99660ddf
+	0x87bdabef	0x5f0aff39	0xa8cf6af9	0x3d1b8f76
+	0x17f475b2	0xd08c6d1c	0xf431aeda	0x76c43999
+	0x7f101532	0xa09e63e2	0x6fbd3a20	0x0456123f
+	0x23d69239	0x389e916e	0xf13efcc8	0x2a00281f
+	0x8cdd42ad	0x5ae6f695	0x6ba7f99c	0x4ea30128
+	0xaa10f592	0xaa7d8d67	0x73159f38	0xad352429
+	0x42e49d5c	0x66595b5c	0x46dd2f35	0xe321a946
+	0x0b9e476f	0x97d89aad	0x6c774f9c	0x6a78c7c0
+	0xe9db7e8e	0x936b0794	0x7de947c6	0x86c2d7f6
+	0x4088019c	0xf2ae9570	0x3f766b87	0x74a306b2
+	0xe287dab3	0x789504fd	0xff9ea9ea	0xc71002bf
+	0xe162c8be	0xe59a08fb	0xd24079d2	0xdde8e548
+	0x5a05697d	0x6043463a	0xb730f504	0xbba93972
+	0xeb63ce5b	0xccdcd737	0x1c0403a9	0x0e22357c
+	0xa6eb5b59	0xde4ac8b2	0x8678668b	0x8e21df3d
+	0x6fe75aba	0x42554c7d	0x58cd2a81	0xd503c6c5
+	0x7bb58d0a	0x1dee3f4c	0x8b971ca4	0xe8222a21
+	0x59f67b2d	0xa8ae44d3	0xc1023b05	0xac1950ca
+	0xa3879faa	0xc2b4e30f	0x87109909	0x19497132
+	0x33dede03	0xce3bb967	0x78f25931	0xb7b6f9ea
+	0x7e04ac4c	0x2205aaf0	0x58542633	0xbf829e22
+	0x5b1888f5	0xe354dfc6	0x76459dcb	0x0ca1ec70
+	0x5c9fbd45	0x3e70df73	0x9d73570e	0x81f6b1b3
+	0x3ff497b8	0x3c6c1409	0x1a0d08d4	0x0dcf49ac
+	0x324f8fcb	0x08d7ff92	0xb5631b97	0xc3490c90
+	0x969d4cdc	0xcb5ba099	0xda817065	0x07862b6b
+	0x32fc8988	0x2cdf060e	0xcc4dd974	0x9c42baec
+	0x9b2a2a21	0x1e2241a1	0xb0e1cb78	0xd62e1d9a
+	0xff793d44	0x953863d2	0xf0da874b	0x1d60a9e7
+	0xbc91e4a4	0x6e782750	0x1621cef1	0x99282d4f
+	0xf7e0e472	0x9f6fc05d	0xae4f5395	0x09f8f78a
+	0xc3f194de	0x8f4233d4	0xd4850906	0x05c0c011
+	0x12a9a805	0x0058c2fc	0x7cf4c088	0x785c0d53
+	0x202f7fd0	0x5562e41c	0x4b78c95b	0xc23b4cde
+	0x763b6697	0xa5ed06ea	0x04e24f13	0xe4b2088b
+	0xb1adf6c0	0xfe2b4df4	0x63dafcb2	0x7d86b66c
+	0xa2012dbe	0xc39c7866	0x27530159	0xc7f0a0b5
+	0xd22971a9	0xc092c6f3	0xe7de0bbb	0x5bb3572a
+	0x7b0800da	0xdf370aea	0x4006f1dc	0x09518047
+	0xdf8ea9ae	0xea791ff3	0xd256760e	0x103a8d26
+	0xa96153c3	0x68b46384	0xe1e33cfe	0x7f9d352d
+	0x6251e36f	0x58519610	0xf16b6040	0x37a9baf8
+	0x81c0026c	0x0588afac	0xfba288cc	0x1dc42a1a
+	0x5d41af78	0xea4fdcec	0x66ba98ad	0xce81a06b
+	0xe85dd4b6	0xae8998ea	0x700cc21e	0x8d5df4b9
+	0x8e4388ef	0xc5d566d1	0x3cbb3fa4	0x3b8ef9bc
+	0x15017d02	0x5064cc6b	0x74248edc	0xc1f0affc
+	0x6888e988	0xf6b7b234	0x87f41320	0xffa17183
+	0x77924fd6	0x789785ee	0xf3613ee6	0x393ed47d
+	0x03ee805b	0xe5469529	0x53299ada	0xd555232c
+	0xa561286d	0x21d41ec6	0xd58f7665	0x61a5b849
+	0x6b8fc21f	0x715d1cd8	0x1b295302	0xf3856fd8
+	0x87e12015	0xb77a43f5	0x73f2f8d3	0x565fb49a
+	0xdc064b4a	0x5f8e28ba	0x14de6a35	0x397fd796
+	0xf2713e96	0x9b410701	0x47942eca	0x89d3dae0
+	0xf6255e2a	0x22af994a	0xa63d0e33	0x4a85cccb
+	0xab341593	0x07f73cfb	0x07f06a61	0x675bb9da
+	0xeeb2ef7d	0x69320097	0x3580f4b6	0xc2ccb1e3
+	0x0b0ecf68	0x3a9ccb95	0xf7b12b91	0xe678a5c1
+	0x2e2c3616	0x1cd5f11f	0x57e69fc2	0xe7d784d2
+	0x633fe3ce	0x498cd506	0xec34675d	0x4c06b624
+	0x02c81653	0xb8f19413	0xa448a3d4	0xa29eaaa7
+	0xb82040ca	0xba43097c	0x44771e12	0x3c210021
+	0x9a6ef1f1	0xb41f5d76	0xe46be509	0x59ebfa66
+	0xf0541902	0xd4f116bb	0xd68e1c39	0x6f6ee876
+	0x2a95733c	0x4ab04908	0x54433296	0x6ae55d87
+	0xa4297ea1	0x3d5ba5e7	0x4874794d	0x91dfacba
+	0x61e3868d	0x4934786c	0xb5d08504	0x0b589e13
+	0x20ed8fe7	0x8928b007	0x74231e4d	0xd08ae28c
+	0x214a2d90	0xb4e86908	0x87e9ffe8	0x4379fe18
+	0x5613c5f3	0x92556af5	0xe057ac38	0x5c706fdf
+	0xad5ab3b2	0x614c247f	0x1a1ae839	0x6a12e0b9
+	0x595d02ea	0x4a3784c8	0xdcd10560	0xa9fdce4e
+	0xde30047b	0x68044489	0xe8c6a3ed	0xee2e9140
+	0x1c9786b0	0xe923e849	0x4253cdc6	0x2a88805a
+	0xfe3cf21c	0x3e0fd06a	0x1de52860	0xd9bc4766
+	0x7fdd8310	0x85b81370	0xd4515cbb	0xd8c4529f
+	0x3a6b0087	0xaf7b3eab	0x35a9f9c5	0xcb2dee2d
+	0xc2dc5eba	0x4fad7365	0xe949f027	0xa661918b
+	0x7de7ac66	0x79a79781	0x2fd7a72d	0x106f0863
+	0x9944ba95	0x774719d9	0x96fab1e7	0xb9f5e57b
+	0xafa42488	0xd60053da	0x195b355f	0x00a488cb
+	0x6bd8ac6c	0x68f42580	0x9b24e1b7	0xe051d90a
+	0xcc303b59	0x127fb687	0x75aec9da	0x41b2172f
+	0xc212cdff	0x44dd927d	0xceabdb0e	0x7c5a5ffe
+	0x78ddaaf2	0x0dfda5de	0x2e2f3645	0xf8c23d24
+	0xf9cef11d	0x1c11f3d9	0x49748cc6	0xe168353f
+	0xe32b5678	0x23135d35	0x5d18c760	0x83500ece
+	0xa4ca1521	0x64da0411	0x73f7c159	0xc1450c89
+	0xd678fb9f	0xbe61b22f	0xa7dced66	0x75bc6601
+	0xb9bb83b8	0x0b2dbcc7	0xb037f875	0x28b67597
+	0xa5494bb3	0x77f73fac	0x460e3ea2	0x8d04b992
+	0x1a5473ed	0xe15dc011	0x4358b9b6	0xb841bd32
+	0xebfd0cf4	0x1f154cd6	0x5472d51a	0x5868057e
+	0x0e6ddf96	0x56167f00	0x9366e9a4	0xb910f4b6
+	0x1ce725c0	0x19e47c3e	0x2b7def54	0xa41ba975
+	0xb18d73b4	0xa8928f7c	0x42d41b6a	0x36e45805
+	0x6acb9862	0x9f9e3faf	0xd210afa3	0x531fdd05
+	0xc700476a	0x0d20590d	0x634abb30	0x6fd34f59
+	0x31270c92	0x61281d99	0xaaaf0d99	0xbef01a81
+	0x911ee0db	0xd4dd34e6	0xb4ed321f	0x836e0456
+	0xfafe9ee6	0xcec3d176	0xc8feacfe	0xaa78be42
+	0xfcd2a6c9	0x85c52e32	0xc00e0b2b	0x23ae87e1
+	0xfdab99e9	0xc2403118	0x7df6bb22	0x5ccd1c47
+	0x84d08ce6	0x45937da1	0xb3df11ef	0x6462dd41
+	0x32af313f	0xda1266cb	0x08591f3a	0x862fd070
+	0xbe9176a9	0xb7934784	0xbd323ecc	0x550be9b6
+	0x45f912d6	0xdfe9d0f4	0xea84ef59	0x394bce1e
+	0x42e94a55	0xb81ffa90	0xd741bba1	0xb690207b
+	0x2b120333	0x7548a8fc	0xc089f30c	0x288443a0
+	0xf3bd8eeb	0x31e37bb0	0x6c5e755d	0xd311b84c
+	0xeaac7adc	0x07c23f8e	0x11d1699a	0xcd207b08
+	0xc6407bba	0x9827894e	0x46c91baf	0x82e21b56
+	0x76bf2c72	0x0f55bd2c	0xfc5d6853	0xf88d1e03
+	0x94c643ec	0xa708c4f6	0x21dc5dbf	0xe59ac098
+	0xc80ebf22	0x3324198b	0xfb45f988	0x0226a02d
+	0xbccc6f40	0x89e6a1de	0x59f7c39d	0x4694469e
+	0x693d3d5d	0x0b38d0a0	0xeb0a72b5	0x7208517b
+	0x40310537	0x436c9a71	0x3c479b18	0x17e4b154
+	0x3b41580d	0x450991d7	0x4d76b0d3	0x46e34079
+	0xa27bb1b0	0xb99a5c34	0xb96c40c2	0xc63b7a4a
+	0x442a9d21	0xfb6db7c0	0xb31a89c1	0xe7f6bf0b
+	0x5528a8ac	0x8eed191a	0x10e6d50a	0x1a9bd4f0
+	0x5436b0e5	0xabcaca12	0xe82490aa	0xef7bf6ba
+	0x54376519	0x6368263b	0x4a125ac8	0x4bf533c8
+	0x09f9355e	0x64eb02cc	0x4fc27ae2	0x8bd26def
+	0x64fd9ef8	0xe314729b	0x7a2adcc2	0xbba495c1
+	0x1e747882	0xf569aa01	0x08c48bc4	0x3c75d45c
+	0x6e75c728	0x7fb98e42	0x5a254bed	0xf97ad9ee
+	0x3c740138	0xaa031c23	0x63a64b23	0x90b6395c
+	0xa527fad9	0x525434ae	0x9404f8e7	0x873f3702
+	0xe8d7acb5	0x174281c4	0x83f5ca85	0x5b37aab8
+	0x612c5543	0x91cf3160	0x3ea20c63	0x6099e8ee
+	0x4d834d4d	0xd2210d3c	0xa692ea70	0xf01e8904
+	0xefd7d188	0x04b10c7d	0x418fb623	0x7d2fc0b0
+	0x1b5278be	0xb693d7c9	0x60fdf6ee	0x7ece8c37
+	0x92eba7f7	0x7a925b1d	0x344552a4	0xdb2cf628
+	0x4d2a59b8	0x6da97a8c	0x322529d3	0x59140695
+	0xea6b9f9f	0x1b863b1d	0x2d5fd42f	0x5434d15c
+	0x642c5645	0x32cf7bf5	0xd4c04783	0x13e6f185
+	0xc32e96ed	0x1bd13970	0xb35313d8	0x392a0151
+	0x22488ad2	0xad9f285b	0xfdd7ff53	0xdb554e65
+	0xfbcc1e43	0x1a37ad95	0x12d38316	0x68bb1b6f
+	0xfd975bfe	0x3687c1dc	0x4563b4d3	0xc7a94f02
+	0x85722a8d	0x78320fdc	0x77662dcd	0x3a3f3642
+	0xbcd5b65b	0x113ec4c8	0x173268d6	0x3ee59f92
+	0x19b8dfe2	0xa83377cc	0x83683889	0x659befaa
+	0x4485df8d	0x7708fabf	0x44dde54c	0x3af23cbc
+	0x7e4d3048	0x737a865c	0x7160e23f	0xca21b20a
+	0x0433eae9	0xdaf47e67	0x24f18868	0x1cab7482
+	0xdf05b48a	0x69a42384	0x63a7a43e	0x316cc018
+	0x74f34be0	0x170dea21	0xec9fcf44	0xceb0e68f
+	0xc7f0e924	0x7d8bda46	0xb2c20026	0x1571a800
+	0x1fde1a61	0x3e3a22b3	0x62ef6e0e	0x984336cd
+	0xfbf0e5f5	0x70b67258	0xdf903425	0xeb54f70f
+	0x886b58d6	0x4b10d7fe	0x849b310f	0xcd39e60d
+	0xff41ad90	0x6a0a3df8	0x3cf8b078	0xb38ac71d
+	0xb5facad1	0x65a70948	0xa26997bb	0x8c92c2b4
+	0x7471c53f	0x9323b393	0x0cf70ab9	0xa37c8ecc
+	0x4a807b5c	0xbd83950a	0x6ec9e16d	0x40d62e3b
+	0xdf11015e	0xa7ff5ee8	0xf5585b3a	0x1fbe36b3
+	0xca132fc9	0x41958f29	0xa7c7a1bd	0xd41b88e1
+	0x8b723fb9	0x122db730	0xee76db7f	0xb13ea7c2
+	0x288f3d79	0xd10d82af	0x4a8a62d9	0x79bff991
+	0x5dc3301e	0x7f1a25e3	0x7636784d	0x8578642d
+	0x5afb8f70	0xcb5a7515	0xc5e74b59	0xfad50e55
+	0xd4e30207	0xb3d96b9e	0x1fdc91b9	0x87493d65
+	0x84cbbf69	0x7d7182ab	0x27d0ef36	0xcfda02f5
+	0x40fdf283	0x2de373e9	0x7562fd72	0xa84f70fc
+	0xf5d0d0b1	0x320a765e	0x7e643413	0x2a53592a
+	0x0de440dc	0x3d74cf31	0x74a2a3e2	0xb23d6788
+	0xbf7a95e7	0x9825884c	0xeee45682	0xb5b4c7c8
+	0xc3a7f9f2	0x5ece37f6	0x292a0559	0x719b0312
+	0xe567988a	0x93ab533f	0xe533370b	0x7bc50a08
+	0x41dcf01b	0x28ae927c	0x630ea007	0x49656cd3
+	0xe5bedbe2	0xfce7631e	0x6846ce25	0x708367f0
+	0x43a67c95	0xe92cd7fb	0xaabb55fa	0xfe4acc1e
+	0x2ca611a4	0xbe5dbdd8	0xacc6e736	0x04841338
+	0xde45a48f	0x2bc5183d	0xf5d35047	0x3eb2eecd
+	0x5418f40a	0x7d16472b	0x14d207ce	0x54a36e56
+	0x65008a50	0x212bc84f	0xcad5e399	0xd25dc624
+	0xe7b0fddf	0x60aa4951	0xd17a4a74	0xd1e18d5e
+	0xd48ee4c7	0x1e888f6e	0xc928e8eb	0xc43b64e8
+	0x2a11df73	0xf6dd3d0b	0xca850c7e	0x474d4db1
+	0xe8bf9ae5	0x22b41c6d	0xd1f1ef6a	0xc126ca17
+	0x407b7517	0x55a6dde7	0x804f6d7d	0x7c08faaa
+	0x72c998e1	0x7fc79a9a	0xda06e2b2	0xdabf393f
+	0xd9276c53	0x74e7e4c2	0x0d4bf502	0xd1d7c5ea
+	0x875cbcb9	0x6cfb2c10	0x64c2b561	0xea10e25f
+	0x26d6de7e	0x4725b565	0xcd3781a5	0x7c03ed14
+	0xa863085d	0xc07843e3	0x158f686a	0xa05ea8a5
+	0x9b6c89b4	0x56aaeb67	0xf629081c	0x43cdfbe0
+	0xf60a231f	0xd9994447	0xd4328af1	0xf2b771d9
+	0x5edf23af	0x98ffc84a	0x7942201d	0xad44cb25
+	0x8f9d2422	0x7278c6cd	0x5f62c6c5	0xcc41eac3
+	0x4e71353b	0x273af945	0xbae89c3b	0xf63349f1
+	0x5b44bceb	0xf37bedc3	0x2698fdc1	0xbaac0de3
+	0x6acbcd11	0x27b5ddd4	0x1df197ea	0xe2a576c6
+	0x50783d87	0x8eab25ab	0xd79d476d	0x8532782c
+	0x37ee030b	0x6e638e06	0x8650c83e	0xa1ae3206
+	0xd72abd48	0x55e94bba	0x2dfb25e1	0xcff3d98c
+	0x9936fcb5	0x8959a486	0x5bd30cfe	0x53dd356c
+	0x3443ce5d	0x91337d8b	0xd081222f	0xd14fc07b
+	0x68609843	0x572ace06	0x28b96e42	0xbba7c9cd
+	0xafdb8edb	0x2cfe192e	0xf8cae44d	0x5bbff8d3
+	0xcecc6bb5	0x9edac99d	0x355e6d71	0xabed645f
+	0x8085fb33	0x565d74f4	0x2c8ee192	0xba7276b2
+	0xef1ae1c2	0x433ec40a	0x564bbb47	0xc74e9dc7
+	0x6fcccdb4	0x4e01308f	0x16d945a7	0x29ed35fa
+	0x9328cf10	0xad3d658a	0x3d2f6aa9	0xf7dea386
+	0x2b14c435	0x259d417d	0xc25061a1	0xcbb30944
+	0x07457b0c	0xa5f352e6	0x76dc8156	0x82cddb23
+	0x8c4f163e	0x9307db9a	0x9c1335fe	0xbe7ab810
+	0x84d8b6c3	0x4bcf6fb8	0x78456523	0xed825b19
+	0x0007364b	0x56c39a7c	0x407e5e5f	0x7e50b91b
+	0xfb1b4da9	0x62e94e3f	0xc1c34997	0x20c6d4e0
+	0xce9d05ce	0xf7558b1b	0x097b99b0	0x66c2cb97
+	0x71189bca	0x4144f358	0x12a70cb2	0x179fa9b4
+	0x94d4acba	0x44a77a51	0xa815e160	0x00ba3204
+	0xbd41d6e5	0xedbbf7be	0x53c62fce	0xde596636
+	0x6dcb0bc7	0xe5689e30	0x3557eb61	0x32fa1131
+	0x0b71f616	0x41b11371	0x9272079a	0x7d91456a
+	0xbe58797e	0x5a42bde7	0x5545cbf9	0xb26db577
+	0xac1b10d3	0x723b95d9	0xb40d3998	0xbf75126f
+	0x84e2bdff	0x50ed4d3b	0x918a974c	0xf8d9649e
+	0x35d76697	0xb262e991	0xc15bc480	0x654a6404
+	0x7a76a020	0x039112f3	0x64d9e8c6	0x45bd67f6
+	0xc8cc5187	0xed9fce97	0xf47af956	0x188c783f
+	0xd7d163ef	0xfac2c447	0x251feb6d	0x1bf02539
+	0x2f039ba0	0x4cbb7532	0xa9bc6043	0xfc669e51
+	0xe84848c9	0x8dececc2	0xa0cce802	0x64dcc7f3
+	0x8bfbdc32	0xcc39105e	0xc7041c56	0x1086785a
+	0x6378e1c8	0x472b1153	0x660ffc42	0xc0b5220c
+	0x68a76c49	0x0932e082	0x5a65df76	0xe90028e0
+	0x94083531	0x3cccbcdd	0x5843d223	0xae6d84e0
+	0xb491638c	0x8a5d5e27	0xc256865c	0x55f8474b
+	0xdf49d454	0x2f0c8ead	0x0775d272	0xdec275ee
+	0xcc2dcad1	0xd9375085	0xc5bfb607	0x787ddf25
+	0xed50f8d2	0x791cc44c	0x9813ef08	0x53dc5349
+	0x64388d8d	0xcc973f31	0xaaa4e3e8	0xa0a62f9a
+	0xdc807786	0x9f08060c	0x7f3215e4	0xdbe18ffc
+	0x2e3c472b	0x75af4ce8	0xb970b528	0x24ff6c05
+	0xd8765bf1	0x66bb3062	0xd9beab31	0xdc3f67ec
+	0x3626c356	0x5b7fff0e	0x3b69f0f3	0xeeec7672
+	0x458dd8c7	0x01fc98ff	0xd77b54a7	0xbb977768
+	0xdd8cd676	0xd3aadb42	0x4cf8146c	0xa1995736
+	0xdfac95dc	0xfeed8d4d	0x6374914b	0x332112b7
+	0x763fac3d	0x05574470	0x17dfbbe9	0x82366ce1
+	0xabcec744	0x0415e04b	0x514997ee	0xd5352b1b
+	0x61380140	0xa6f58b5f	0x4ed4d7aa	0x0bd94f3a
+	0x1d77257c	0x2faced14	0x3208775a	0x5106ea55
+	0x63f6638b	0x5487c618	0x09bb75e4	0xc7016e51
+	0x7a4b97db	0x49ca9b5c	0xd5935595	0xdf4c53b1
+	0xc48a8bf8	0xfc918e77	0xcc8f8391	0x5e01ccdc
+	0x76f8eaf4	0x65fdf363	0x9f8ff68b	0x374e0972
+	0xcd3d2b3b	0x705fd33e	0x4676be98	0xe55dd0b3
+	0x5d320643	0x0177236a	0x191f349a	0xc509f6f6
+	0x24ce75a2	0x0e89ab61	0xc645e5f3	0x70abbe8d
+	0xddb3100c	0xcb3dc211	0x21cdc6c0	0x39c180b7
+	0x7dbd7a3f	0x10096c5e	0x51aa0e57	0x374e1c24
+	0xad4499c3	0x9c147248	0xf7d71841	0x7dc43952
+	0xdf44e196	0x240af2fc	0xc0480049	0xc4349b93
+	0xf197c246	0xd635758f	0x25ef779a	0xac9f2109
+	0xb6f62ecb	0x2bf07b64	0xa8b4685d	0x36979990
+	0x6887d9f5	0xd2612a38	0xb015001b	0x1f5b3fb3
+	0x5222d20d	0xda1b8a2e	0xb67a3bb0	0xe3594883
+	0x1fca07d0	0x99e19d74	0x4ccd57ae	0xffabd989
+	0x12d7abb0	0x9a601f63	0x386a592b	0xf9875f84
+	0x09a668a6	0xb084ffe3	0x18767678	0xd274125a
+	0xbad57d37	0x995de6fe	0x510e22e6	0x4f609bf3
+	0xac7fa65e	0x2d01f56c	0x702ffe23	0x95675930
+	0xecf6c705	0x60b3999b	0x592edd95	0x225dd441
+	0x307eaf9c	0xa266d125	0x535f54bd	0x3fdd8447
+	0xb50232fe	0xbd529b2c	0xa18f4b08	0xcb5e665f
+	0x855a893f	0x62b0f1cb	0x05a6b7fb	0x5112f3f3
+	0xa8282b3d	0xad79d030	0x18291569	0x50cd76c3
+	0x5b72b8d2	0xf873d71a	0xfe8238ca	0xa286370b
+	0xbe7a6071	0xf19e8646	0x03915270	0xfdf96d7c
+	0x0eebabe1	0x737acaac	0x57ae375f	0x34f6470a
+	0x00e0956b	0x2280c408	0x18a7f080	0x4be2761a
+	0xc20c3c03	0x652f61a1	0x681cf2ba	0x90a76946
+	0xd9e81d1d	0x6c935503	0x0243964d	0x4d6548c2
+	0x7b4a5973	0x12cc8e36	0x248da3c8	0xb21cebf1
+	0x809343aa	0x78a4e27b	0x2fcc02b0	0x09ad9174
+	0x20b8f784	0x7dea74df	0x0440f402	0x61961b3c
+	0x2ca4bb12	0x4a04d9b6	0xb28242e9	0x410d5237
+	0x7aa0bd8e	0x8ea39021	0x0e65c9cd	0xb01500b8
+	0xaaa7dcc1	0xd08390b8	0xa4b8a97a	0x8cd02001
+	0xecaccf41	0x633c7006	0xa9c2346d	0x526e9446
+	0xf959c633	0xcfe32892	0xf7d7ae52	0x345e1dda
+	0x03d22449	0x0d5a42cc	0x10605e60	0x89c7c14f
+	0xccd10bc8	0x1a83309c	0x0bc3108c	0x331ef896
+	0x11089de5	0x579b7061	0xe78c6535	0x186b50d2
+	0xc0257051	0xf0954f4b	0xe97bd497	0xfa80c57c
+	0x5fff084f	0x94a4d534	0x58cb76c9	0x2b6833e9
+	0x596c0b17	0xcdf9b85e	0xb3bd39ae	0x207bb792
+	0x9b9faf14	0x3ca7bc61	0xdf563ed2	0xcc047ccd
+	0x5210afee	0xff010b40	0x5720ed85	0x21d51621
+	0x3533cb99	0x0aa899a0	0xa0deaec9	0x08bfab41
+	0x39247564	0x41efb3c1	0x4164db69	0x1652786a
+	0xab748ead	0x5d10bfb3	0x5efc86a3	0x7cbda76f
+	0x65636fa8	0xdfecccac	0xfedfcb07	0xab2328d3
+	0x42dd5dd5	0x5b2d84b0	0x55531305	0x699bf734
+	0xa8261501	0x4e2070bb	0x0b927703	0x06748069
+	0xf9a1b399	0xe08b5427	0xba31583c	0x967ceb20
+	0xd187f5d2	0xcfb55282	0xb84f48e1	0x5d35fe15
+	0xe785b043	0xd0dc77e2	0x85df4fb2	0xdb77f89c
+	0x6b2accdb	0x58a47118	0xb0f8d24a	0xc39e7f23
+	0x52944e9a	0xd1006214	0xd9aba59e	0x42bd3bd9
+	0x8b7e1cac	0xf2c23db8	0x801ebde9	0x41cbb528
+	0x1b0c84bd	0xafb6487a	0x79b44529	0x1ddb236d
+	0x7035b8c5	0x7191ff1c	0xccff144a	0x5c3e8e08
+	0x7685dcac	0x6fe12e13	0x05097918	0xc2116c7c
+	0xc22b04eb	0xce3b93d1	0xcb0182a2	0xa0a7e1ea
+	0x9bf205f5	0xaa86e3c6	0x4f8b42ae	0xc0818993
+	0xa331cd1b	0x220686c1	0x63100651	0xfc69d85c
+	0x91281ba5	0x376d0dbc	0x04cbc901	0xfd1469e8
+	0xbcefcc0f	0x56653d6a	0xc2154d39	0xb4327949
+	0x4198bfa8	0x32613648	0x9ae013b8	0x656431b5
+	0xd8bd20de	0x6ffdd852	0xfa6c2024	0xc5b94dd2
+	0xb1d0d9f6	0xb660a472	0x4ff02e71	0x0d31712c
+	0x6abac5b6	0x42f10492	0x786d6dd7	0x4f20c20b
+	0x5e968a66	0xafb3cb2d	0xab055fdd	0x658f820d
+	0x2c66f544	0x53bf2921	0x6d0f63da	0x438bdb0c
+	0xfaa07652	0x5b927896	0xb33bfd4f	0xfe9bbd43
+	0x101c0e0e	0x30867a78	0xde68f671	0x391fa524
+	0xa4b948d0	0x2437e3c1	0xd9d96470	0xba321aa4
+	0x3e5b5566	0xe39a53e3	0xa82ce2d8	0x9d8ba8cc
+	0x575630c6	0x506c705b	0x2277c9d6	0xa31bac1d
+	0x37976219	0xa5e21493	0x8fd041df	0x4d2af032
+	0xe75de268	0x98699fe6	0xf3b7cfa4	0x97ac7dc4
+	0x5ff1d2c5	0x8e33fbd8	0x010772a9	0x6c93d48f
+	0x899512dd	0xf7d53c91	0x97fa8288	0xa4adab19
+	0x63717d7f	0x5e6ef885	0x66934b06	0x3dc6fa91
+	0x29f89f47	0xcd4f90f6	0xff792638	0x799c3fc1
+	0x77217e24	0xb5a6225b	0x3cb8f8f4	0x2973d35e
+	0xf3de75c9	0x3a8dd99b	0x576658b3	0x398766f6
+	0x6f3a6d60	0x1c0d85bc	0x3545d4e0	0xdc374f57
+	0x26299056	0x15385f9d	0xc4e8004d	0x12b2c69d
+	0xdc62264a	0x3fc24e10	0x0fdccc5b	0xd4d80c5a
+	0xb78c30d6	0x88e84b5c	0xaa58163f	0x3bc39155
+	0xe0df56b3	0xa93df4da	0x7c599726	0x5dd21192
+	0x1113bafe	0x95819953	0xb29234f6	0x80e1192c
+	0x3eb8a7c0	0xaa099bd0	0xc520b607	0xb4c732e9
+	0x94bbc8d2	0x5dabd0f0	0x81817835	0x50c90c43
+	0xbd61a919	0xd0604736	0xd5d59332	0x5df77937
+	0x70756f6d	0xb97c959e	0xb12e3ee7	0xfa0f8e6c
+	0x8edf86b0	0xbc55e121	0xffe36f9b	0xc5b18418
+	0xa5695abc	0xfd78db88	0xa5abb701	0xf3106a23
+	0x2a25b674	0x92149d92	0x75f554f6	0x15711825
+	0x4018223d	0x6cee4a7f	0xac49f2a4	0x8b7cbc1b
+	0x0021a126	0x5a82bb4c	0x95517060	0x5bd1c72e
+	0xef0aa703	0xded54efb	0xb0d70e26	0x5063c928
+	0x422c2cc1	0x21ca6d4c	0x5380165e	0x69a350c1
+	0x0cd638b6	0x27f70fbe	0xa666ede2	0x63dd6867
+	0xa8266be3	0x000b0b78	0x6b19ab23	0x0d00f83c
+	0x16e78848	0xd871978f	0x47602cec	0xfc687f98
+	0xf3e79da2	0xab10e9b5	0xaf437a53	0x28094fdd
+	0x1a6b4dd0	0x70375aea	0x0718d285	0xf78ef2d2
+	0xcbcfb3ef	0xedc5fdf1	0x0da3a7b8	0x233a162d
+	0xf29e56c5	0xc94f4a19	0xa8fbe895	0x28f9e994
+	0x1b32b3d1	0x1786c3c3	0x8ba9469f	0xbbe72c2f
+	0xf662f439	0x307c6b2c	0x95d354cd	0xc7c7e94c
+	0x27f3c237	0x4e52b116	0x9cb00e0d	0x952f9f0c
+	0x8fc1ddf6	0x88537027	0x8b0d8999	0x1939fa64
+	0xb72b6f2e	0x9039fe55	0x21df947c	0x21884ed3
+	0x54ad873d	0x292c5416	0x83548712	0xf8745d3e
+	0xc1c283e4	0x9d073b08	0x9e8da326	0xf859614f
+	0xf427a00f	0x45ee737d	0xe33a7d69	0x807148ad
+	0x669f1957	0x7b1f9f20	0x784c5c0c	0xded902c0
+	0x82934e64	0xc2e2a0b6	0x87a55058	0x95fe7792
+	0xff7084b8	0xba3f604d	0xeda549c7	0x2527db18
+	0x3131ec59	0x32285503	0x0d7b69de	0xa87b760c
+	0x721b0978	0xc2632bfa	0x4ee58616	0xae73bb41
+	0x7794bd9d	0x130a7b9c	0x59427c7d	0x5326fa67
+	0x7f496099	0x30e2f463	0x28df3ac0	0x6b9ea8de
+	0x842220ca	0x25a5d22f	0x0a6c931b	0x6064ee13
+	0xf3646b94	0x69ff9348	0x6663c7d4	0x6d4b1bf2
+	0x31dc6f14	0xbf8a0e0d	0xfdf341d9	0xe5d1100f
+	0x6eb5f2dc	0x9c966ca9	0xe6e58d17	0x73f020f6
+	0x069cac60	0x7b7669d0	0x39e66b48	0x6122e1ca
+	0x54bb1c31	0x413ac58a	0xcf9dbe59	0x0cd7971b
+	0xc998891d	0xdd341b08	0x670496e5	0xd46e8408
+	0xf7a7446d	0xe41b5248	0x43dbcf5a	0xba655675
+	0x886b0044	0x52399478	0x553f8eac	0x68ccfb1f
+	0xdd9d2e22	0xabee0f09	0xe897717c	0xb86cc2b4
+	0xa8db1d3f	0x2d478c2c	0xbfa07903	0x1d589a1a
+	0xd2ecb496	0xfd803a9c	0x44c95165	0xb3f0b5f4
+	0xe4423f2e	0xcbfa628e	0xf73c7e83	0xf1799aa6
+	0x9cb2acbd	0xd92d4814	0xe2e1fc1c	0x4a52d4cb
+	0x8b961bc4	0x291986d5	0x8497e79d	0xf5c9e19f
+	0x00970532	0xc4e9076f	0x683bd9a0	0x94d62993
+	0x3acffdfe	0xc54379d8	0x62746505	0xc3dd7ea2
+	0xe95e5ffb	0x0ca0c1f7	0xcdaa6c1c	0x1ed34d31
+	0xda1cc033	0xf361f4e2	0x6e798025	0x43add425
+	0xfb22a33a	0xfa2d2df9	0x32dad85d	0x8aa337c6
+	0x5a3ea801	0x28990c71	0x9f1f5086	0x21e8177f
+	0xd5763e1a	0xbe0b4887	0xd8cec934	0x94cbd176
+	0xdddd5e67	0x6dbcfde4	0x70801d55	0xbe62094e
+	0xb27820a6	0xf7455932	0x7193ab84	0x3ae710a5
+	0x01647022	0xd6c94ac0	0x2c7ebe04	0x0fba5ad2
+	0x21540f9a	0x0bf66866	0x7e88d875	0xc99e6f8f
+	0x912768ce	0x39939ec8	0xb0e09efa	0x52fb6226
+	0x1e539887	0x786bb585	0x12a61463	0x7e5dd8c2
+	0x871c00ac	0x171b39b9	0xed1f9a1b	0x38c19931
+	0x5d308052	0xddcd7646	0x7518280a	0xa310bf55
+	0x139d10fb	0x0b60d41b	0xb7e08b37	0x40fcedaf
+	0x510f5550	0x9e47ca8a	0x5c6b396b	0x04c36bde
+	0x6461629b	0x86ebdb46	0x689d0983	0x905ce4b8
+	0xc6112a75	0x890557dd	0x42b6d408	0x32fb46ce
+	0xd54112fb	0x03f7629a	0xc9d04969	0x632538b8
+	0x2fc3ec04	0x4cc3433e	0x06e50f4c	0xc0db9cd2
+	0x2d7f8994	0xd8953273	0x01861f5c	0xbbc42f81
+	0x8f8ba543	0x39727f2e	0x69c3af09	0xb0448177
+	0x6eb6bdaa	0x75de88f5	0x3871f3c8	0x9d6c8586
+	0x116cf51a	0x8a6abbd3	0xa5004cba	0x3c8d1766
+	0x51285b03	0xa00d5a46	0x83755d99	0x2d91fd87
+	0x42f0ab84	0x14c6fa0b	0xeb0a98f5	0xffd02f56
+	0xd35546d9	0x290be482	0xdba0a9d2	0x201501ff
+	0x5c753f02	0xfcefe14f	0xb7153dbb	0x6f56f22f
+	0x8779937d	0xf049ad79	0xc7e56474	0xdfc45382
+	0x17844149	0xde6612ed	0xddf3b1ea	0x88f64bb4
+	0x2dcafc21	0x3f5ba161	0x77abc313	0x0157ee00
+	0x450ec000	0xafc523c1	0x32eb6523	0x1d320c0c
+	0x5a72fb83	0x2ba7e97f	0x13ac3668	0x7b0018e8
+	0x64f4c130	0x4a4f9c9f	0xeb84e0b5	0x8c8b14d5
+	0xaa72c45a	0x47ee1a96	0x322c599d	0x2dd7faa8
+	0x55ca08be	0x9b3917f5	0x5e376234	0x476c916d
+	0x6a3f57bd	0xe4ea3874	0x168dc270	0x9357f9aa
+	0x3d600539	0x258a1ff5	0xdd634c31	0xec5d8b7e
+	0x493cba14	0x6021950e	0xd64befe4	0xc026327b
+	0xab7f248f	0xd8f340d3	0x5b7bc0b4	0xa3c306a1
+	0xdd6463d2	0x62e96662	0xa5656cef	0x772abeb6
+	0xc2ca1677	0x5f8b5aad	0x5098757b	0xbc8c8acb
+	0xee9806f2	0x48c6f749	0x7265ae20	0x13819e0e
+	0xe6da83a8	0x38b743fb	0xd024009e	0x0779eab0
+	0x324c7ad8	0x2cd02206	0x6dc4a51b	0x5c51762e
+	0x7d8c7b92	0x5ad2f586	0x45bbee73	0xb0b4018b
+	0x26ee139e	0xb1fadcd7	0x24790587	0x0dd9cbd3
+	0x08682c61	0xbd3982a2	0xd5884224	0x94a0cde5
+	0x16b5e484	0xe043a35a	0x2326d176	0xc47d6b68
+	0x15621681	0x1cb77fa1	0xdb86c3e1	0x283a89fe
+	0x7407d5e2	0x3e7473db	0x177764bf	0x2592cc46
+	0x9f907da4	0xa07f27a7	0xb8727679	0x49adfbd0
+	0xcc4e5196	0x1d5be775	0x78494187	0x74886d39
+	0xc13bccec	0xe1bf1652	0x583d5f23	0x2921f74b
+	0xf521fa1f	0xb3c6d0c7	0x9e34749b	0xe55fa3bc
+	0xd5bf2524	0x040df0cf	0xc83f244a	0x20271f12
+	0x0c9fa1fb	0x8551ada7	0x1036de92	0x5c7cf42f
+	0x9bcb3652	0x3987784f	0xcfa8d354	0x98659e8a
+	0x7c6462dc	0x9381913b	0xf34e5b3e	0x36df8a2d
+	0xb4faf4fd	0x60fb5e03	0x04158eec	0x8979dbd1
+	0xd2c21a33	0xcf6d2fcb	0xb12ea899	0x5253b50f
+	0x5e594c95	0x7284bd1a	0xe746ca53	0x06f96d59
+	0xe9de6b3e	0x03803410	0xa1d858f2	0x8b8657f7
+	0x0d4162ab	0x95a60f33	0xf1ab053d	0x7128c15b
+	0x2f79db78	0xbdc7d174	0xd8dc9ea9	0xa3f59785
+	0x74c6ff33	0xddf28b34	0x591511ac	0x4d8a8d37
+	0x0de29c2c	0xfb9f1e6a	0xe6cf02e3	0x539939a2
+	0x70947caf	0xfdf4270f	0x1100a164	0xba859bca
+	0x97dee242	0xcb0ab915	0xc28a0031	0xf76cdc57
+	0x6e66c36f	0xa797fe6f	0xcb6df78a	0x6ebb2e97
+	0x0ee6bb91	0x8de4af0e	0xa0d2fccd	0xeae7cb84
+	0x15f23995	0xcd674ce1	0xcddc0174	0xb952b1e8
+	0x71782504	0x1f747c66	0x19e32685	0x84a56908
+	0xa1f4a5be	0x8e6a987f	0xf222b162	0xc9930437
+	0x42e1ea32	0x2c2eeb4f	0x4731b176	0x9bc3e607
+	0x37f5515e	0x2b8e4f9f	0x2aba8550	0x50f9ddd1
+	0x58ddc1b9	0x75947cbf	0x0abfba8e	0x841f9f1f
+	0x069dadc6	0xe83cd9e9	0x759789dc	0x7f5c5ca4
+	0x07c29225	0xccf67318	0x97de839c	0x4e1df148
+	0x7a20ad44	0x31cb8a85	0x7f490a28	0x7d1a1656
+	0x57152c0c	0x7d55b186	0xf1cefcb3	0xf131eb0d
+	0xbc8493d1	0x17fbaff2	0xefcee9db	0x5f5a5a95
+	0xb92004b1	0x21449267	0x63ecb05e	0xe49b7a31
+	0x540647a9	0x49fd1a23	0x9ed5c174	0xa244a14d
+	0x4c9472a1	0xc708f592	0x17dab705	0x4274f9ab
+	0x08ab5c9a	0x602ba956	0xbbf687bc	0x1717007f
+	0x6e23568c	0x55ea4fc8	0x723dbdeb	0x0fc5e36c
+	0x64523bbc	0xad1a6b55	0x9837bbc4	0x6e52a3e7
+	0xd03441ca	0xbbb6df8c	0xd6697252	0x6f2da4aa
+	0x94de656e	0x10c12624	0xa5f244e8	0x72c7146b
+	0xe3014425	0xe041df93	0x9a521efe	0x86b2eae1
+	0xd095d69d	0xf6bbd12d	0xba43a859	0x282ab87e
+	0xa0ebff78	0x69e0c87f	0x7d14ce42	0x44027851
+	0x3edc8505	0x15347503	0xcad522a4	0x4f9b766b
+	0x16d657a4	0x33ff32da	0x220bc839	0x92ebc7f5
+	0x9219ce4f	0x2afe097e	0xaff96207	0xd307c69b
+	0x09a7f3d4	0x4554abc6	0xa9502f07	0x477b01d7
+	0xd20b932a	0x2c35f23d	0xd5ebc780	0xf9546079
+	0xe84e9405	0x25ac1f6a	0xcc3c443f	0x9d386146
+	0x33a1d55e	0xe422f8e5	0x777aa2a8	0xf3e897ec
+	0xa34b0838	0xcc9643e2	0x41702834	0x80e5fda3
+	0x5d814095	0x54702ff6	0x4f91b16b	0x98ae0b0c
+	0xf8cf2d5d	0xa200b65e	0x48511821	0x2e8722f5
+	0x147acd39	0xeac2f68b	0xc2c178af	0x0d5155f2
+	0x40c5a98d	0x2ea9cdb7	0x58589cd9	0xa76c4d0c
+	0xf1b2eb41	0xa169ebe1	0x9f59d297	0xf50fabad
+	0xc20acb23	0x19674a49	0xee4532f9	0x2e925d1a
+	0x24486eac	0x53aec881	0x8ad74637	0x779562c7
+	0x70aa2712	0xc0899db3	0x7fca4ae8	0xf8eaea9e
+	0x881926f3	0xdfc3a498	0x1c791816	0x7b09cea9
+	0x050667e6	0x370d6873	0xf7814892	0x618980d3
+	0x2f99b029	0x9bc8f6bb	0x625dbb01	0x3ec0567c
+	0x05a5fc45	0x71d42160	0xd2628efc	0x04ebfbee
+	0xedfdf421	0xa9300f58	0x54f9e2eb	0x499d5699
+	0x293ae3e9	0xc8cf35ad	0x9ece5019	0x4d24d1a5
+	0xd5167c3c	0x452a94a9	0x9b44e0a9	0x2ab9c19c
+	0x08537165	0xe2f91115	0xd4a4152c	0xbaaacaaf
+	0xc3e05300	0xbb0baa45	0xe9634182	0x09a6e09c
+	0x961b864a	0x992eaf99	0x92e33a00	0xcb8c1c1a
+	0xca1d7d4a	0x0a7dab83	0xbd60ec53	0xca708bd3
+	0xa97e98f8	0xed558fc4	0xd51267e4	0x57794652
+	0x133d4aad	0xe1b861ce	0xbe168102	0x007a1b16
+	0xdf08a40d	0xe761a6cc	0x71daebf2	0x73a60746
+	0x7929cbba	0x7ae763b9	0x0af8bd6c	0x98ef76e7
+	0xb463b22b	0x47ed2bd0	0xe50af1a6	0xe6337225
+	0xa09b632a	0x78496068	0xc8b89d6a	0x712da1b5
+	0x13147914	0xb03c4207	0x9725c5d9	0x6b114015
+	0xe98ace26	0xa3306ef0	0x926cd96c	0x3fa48ddc
+	0xb953f5dc	0x2e0c843b	0xb1c264db	0xe0f26270
+	0x840b08f3	0x6635f8f2	0x304b1728	0xa2c49b4f
+	0x07469866	0x622ffe72	0xd10d7143	0xb00e0d18
+	0xb76d4fc1	0x0c8e95a1	0xe0204bef	0x7cc1a000
+	0xc3f63f6f	0x50c171e2	0xb84ef3af	0x9f3364fb
+	0x02391e8b	0x6a062144	0xd8735f9c	0xbc448212
+	0xe6e1f61f	0x91750601	0x618c0642	0x3ea60e7a
+	0x5f1fd7f6	0xc4df14b0	0xc1470e35	0xcf0698d7
+	0x4b35c08c	0x8087143f	0x8fee4146	0x4563f24b
+	0x91f56e26	0xcbb627d6	0xac7fe373	0x8eccaa77
+	0x233d6d0d	0xeefccf2b	0xed159025	0x5dec09ab
+	0x6caedc10	0x8619b172	0xde79e560	0x9cd63d35
+	0xa6833e63	0xcc681535	0xec1d231b	0x5499eb3e
+	0x31ce53bd	0x39dfe672	0x63d8335e	0xab9cb671
+	0xcc5c0cad	0xd2b42d3d	0x51001000	0x01c29cd4
+	0x7b3a886d	0x93ff5435	0x4257aad8	0x957e557f
+	0xee6a5ff2	0x4601c423	0x691ab5ea	0x9f28e47a
+	0x2e441c07	0xb46dfce2	0xb85dba4d	0x2cc93e79
+	0xa29c90d2	0x239479ae	0x24459955	0x71958e73
+	0x1821725f	0x43781d53	0x57ce2d7a	0x09cbc141
+	0x52ed544d	0x765b4384	0xbfe1e539	0xaff3928d
+	0xc6533387	0x15c1de88	0x49a84665	0xddcf0d9e
+	0xde8e8287	0x3b495d4d	0x79d51f19	0xe6b93066
+	0x53dcf1e2	0x8e16e857	0xd42d5fe5	0x0864f760
+	0x27eff8c5	0xc728cf7f	0x67a46f77	0xa0103ff8
+	0xcf855c1d	0x0b2856da	0x2ef36701	0xf87d2a8a
+	0xa88bf5b2	0x44270459	0xc222c218	0xe3472c8e
+	0x147294e9	0x17d90558	0xa8b2839b	0x2da18106
+	0xbbc8cdf9	0x7986d8f3	0xa7b0dc4f	0x60a65a4b
+	0x93651766	0x9aa797d0	0x81630734	0xbdcf497d
+	0xd778ae9a	0x25dde16f	0x371b6fd6	0xb97f89ab
+	0xc54476ef	0x1566ce6b	0xa2849ad1	0x806a7c56
+	0x44e04e52	0x74cb5a8c	0x867c5d3f	0xdcbcf8c5
+	0x71dfd15d	0x0858e63f	0xc1126eee	0xf517cde1
+	0x3a6f8284	0xeeb9229d	0x7957295b	0x6b3cca9c
+	0x60c303cb	0x0ed8144b	0xdb28da39	0x8306abce
+	0xacb727f4	0x986057d3	0x86098196	0xd2b16b02
+	0x1090efff	0x5159e82d	0xf9947295	0xf5f6c667
+	0x9da3a5cb	0x1e48b098	0x6d5c6c90	0x383d4fcc
+	0x03d3a6b1	0xc8735258	0x389cb7d2	0x1e036542
+	0xdb037e85	0x27d2e476	0xdd9af5d2	0xd7ed3f8a
+	0x280c5e82	0x999392ca	0x749a0263	0x7810c063
+	0xc865ba64	0x896a9beb	0xb673e866	0x5caeca39
+	0x4cd2a62d	0xbb6b0b92	0xc71835f1	0x165b9305
+	0x3016ab9b	0xd3e0b3c2	0x217c94d4	0x19f842bd
+	0x5f125f2d	0xc1ee0904	0x465bd564	0xc460f787
+	0x946c6008	0x4a0d0533	0xd5c6bd32	0xf04f24a5
+	0xa9c993fe	0x6b0864a1	0x187d904d	0x86eb48d5
+	0xd79dd986	0x397f7e62	0x819367fe	0x65fa193a
+	0x272d28b5	0x30d3ae72	0x002f4db2	0xe4655566
+	0x90ac4aca	0xb5e53d29	0x4822cf23	0x56f8385b
+	0x338a06f4	0xadf089fd	0xeb9f1bfe	0xc09399c7
+	0xd29a120c	0x934328e7	0x51383456	0x01314dd4
+	0xe39975fa	0x6987ff55	0x4e3caa02	0xe67779e8
+	0x9dfbe6eb	0x3d19a794	0x7aca1062	0x2c1a1e11
+	0xcd2c5175	0x9be23364	0x229492a0	0x02fec171
+	0x2d8b1b44	0x7e606375	0xdbcfee13	0x04a33a9b
+	0x6ffcd7bb	0x7341f372	0x58f5c94b	0xf7b0cdf9
+	0xb5ba43e3	0x87f4128b	0xf2b5a2c7	0x3d3879a6
+	0xad1e477e	0x1236fe8c	0x664e0f88	0x41dfc0a9
+	0x31b4c69d	0x540c82ff	0x46fbe172	0xa06214b0
+	0x37529df4	0xd2bf7135	0x5d4e5e34	0x5d0c7d00
+	0xd2db4358	0xcf8688a1	0x0c711fd3	0x50fd0c71
+	0x4ec2e1db	0xd7a365c5	0x308c0a23	0x8d158bed
+	0xb600514c	0x8e133cf0	0x05af2138	0x3e1e6e62
+	0x2fa12834	0xf4cc4a63	0x22f00f7b	0xfd1daa6c
+	0x6623db43	0x95651a73	0x72e5e9e7	0xd42aad46
+	0x394043d0	0x58c741dd	0xbb56d30a	0xebe05fb1
+	0xbb8969a7	0xdd2b4af3	0x278c9406	0xb2b5e33c
+	0xee0d55f1	0xb6cdfa03	0x74826a93	0xef76b508
+	0x2c11ce20	0xdd49ed67	0xc562d228	0x67afe7eb
+	0xe76f1b01	0x80610fd8	0xd8656007	0xddc51ae3
+	0x99bff49f	0xbdca6ef8	0xaefd4e9c	0x07c8427a
+	0x5b5ada45	0x97bc8bf7	0xb4a27da5	0xaf3af444
+	0x5594b6e4	0x391beed5	0x09fc21dc	0xfbc8f199
+	0x6777a987	0xf33d15c2	0x1243b8e4	0x869188da
+	0x0b778b61	0x85959d28	0x4f9babf8	0x14fa33a0
+	0xea86de6f	0x5f2578da	0x14d30f79	0xe733ffb0
+	0xd913fe78	0xa523a7d6	0x5363d7b2	0xa3473e1a
+	0xb8adba3a	0xe144c2f1	0xe2b1f2b9	0xa3a2f9b3
+	0x842ef087	0x4c2b6680	0x16d2efd9	0xed96c3c7
+	0x683da5dd	0x9dd9c1d4	0x91457265	0xf987a602
+	0x34c042f2	0x21d69410	0x43c88084	0x554e55c9
+	0x7acc992a	0xb6da3604	0x006ef86a	0xe31a28aa
+	0x2770ba09	0x918a852d	0x79cc7c4d	0x64fbb9ab
+	0x01f8b85b	0x9443c44c	0xa6c3d2ce	0xb54cae74
+	0x1213c6b9	0x0858483d	0xe6f47844	0x5376709e
+	0x4b256846	0xf49c6aa8	0x25c81e4c	0x25999396
+	0x9b54415a	0x788d4226	0xebbe2262	0xc3bcb748
+	0x543af883	0x69c08baa	0xd54a656d	0xe0b039aa
+	0xac046b7f	0x84177c31	0x356c736a	0xb770fcf6
+	0x4b000b6b	0xf9b48dcf	0xf7657f1c	0x31b1e8e4
+	0xd8e994e7	0x34ca54ba	0x4911adee	0x7e5cc517
+	0x550806bf	0xd7fa5263	0x47e6ee14	0x1c49c943
+	0xeed7bcf1	0xb900ce8f	0x99777ef8	0x3baf54e7
+	0x2548ef59	0x17d9af8b	0xc676ada7	0x8f56dec4
+	0x1fa7bc61	0x81ab1dd7	0xce8f5df2	0xa3209c87
+	0x851f0c02	0xed3ac326	0xe0529344	0xd9306aa9
+	0x6b7d00ba	0x79426849	0x0ed3b6f4	0xae3e8af1
+	0x1e255fce	0x56eb5b59	0x07bf8950	0xa15d9b22
+	0x7dd6aa5b	0xa84faf46	0x74a1a06f	0x1a480b82
+	0x4fd0aced	0xe83372e5	0x6e6947c8	0x8397ca58
+	0xccb2423e	0xb264a888	0x13ac9e1a	0x0ef1a3b3
+	0x8e1afe87	0xd52bd6ad	0xdbae821a	0xc180101a
+	0x72ccbf05	0x210558b4	0x00ae1034	0x9340d9ed
+	0xfe6223ee	0xb8acbf6c	0xedc343d2	0xbac97e9d
+	0xa587fc40	0x3748b829	0xdae6c133	0x93a5521a
+	0x0f6e6c9d	0xe0d0e2ac	0xc2ad2d8b	0x8cab1489
+	0x24452aa3	0xd3e7fd52	0x08c5a8dd	0x3ef6d86a
+	0xc6a3c1bd	0x63a6d745	0xaf2ca5cc	0xccdc8223
+	0xc49c5c36	0xed5f1553	0xff5db9d1	0x82966ff0
+	0x8b8bd5b7	0x058fef40	0xe1ee6bed	0xbd645268
+	0xc89a4ffa	0x797baef7	0x2b4376f7	0xb61ed7c1
+	0x83ab37d7	0x72c77f78	0x9f79d15a	0x5d1951b1
+	0x114359c7	0xc7b6c8a0	0x15169406	0x6fec157f
+	0x1410a4c3	0xd1c2ba26	0x26fcf2ac	0x083e3f5e
+	0x9eb6cd4a	0x441e1768	0x6e540aa1	0xb27dbd7a
+	0xc8e42721	0xa2db5137	0xa7265985	0x169a754c
+	0x9e420ca7	0xc5c0f227	0xe437cc64	0x95aef99c
+	0x5e72ab86	0x8acf1554	0x257637f6	0xefa6e471
+	0xc58947a0	0xe7ca213e	0xbd2256d7	0xa59c1096
+	0x4d7c13d5	0x0ffe8534	0xf21f0220	0x7d485296
+	0x6977386f	0x9e240b43	0xc203de0a	0x570c75f0
+	0x7fc32645	0x618a34a9	0xdf2aae4e	0x1ae6e5fa
+	0xd624fb58	0x2df35718	0xd4b1dbb5	0x01b66636
+	0xf60ece48	0x1c2b5666	0xba1e4ff0	0x5bae1854
+	0xcfc26662	0xfc16d190	0x76ee7090	0xeae95c1a
+	0x6e76ca24	0xc7107724	0x7724006b	0x46cb66d5
+	0xe06ca426	0x44746684	0xecf7b1e6	0x1b24b877
+	0x6f88c894	0x4c9cec34	0x58cdf298	0xd899e510
+	0xdc1d2e48	0xe854758b	0x5ba5924c	0xb266ab1d
+	0x273660ed	0xdf07e034	0x4b5604e6	0x50dcbff3
+	0xef34afec	0xc056102b	0xaeba9d1e	0xb522ded9
+	0xe8908747	0x6cffe77b	0x1bde6b95	0x1e3786f4
+	0x95a8460e	0x77e0f421	0xf5908c99	0xe89b4c58
+	0x4aca0c69	0xd7c0b9a5	0x619bbb02	0x921b1d0a
+	0xea6579fc	0xd95bbb3c	0xc63bd462	0xa1e8e5a0
+	0xed0c345f	0x46b84170	0x34117047	0x0387a17e
+	0xf8d1a23a	0x553cbf2c	0x11c979de	0x3cf65056
+	0xf4a25aa2	0x605091ea	0x02faeb4e	0x97555584
+	0x3443e2c5	0xa9aaf9f8	0xfc6971d7	0xbf08de21
+	0x79f139a8	0xffe80b0f	0x97ac6bb5	0xff425410
+	0x4979eaa0	0x6d009b89	0x2c8ffde8	0x94b047e2
+	0xc8365227	0xa43a41b6	0xb2dccea4	0xdbbe4876
+	0xb54243de	0xe697c776	0xee033277	0xd27a3701
+	0x2a299b40	0x083de408	0xf34636a8	0x205d473c
+	0x749a26a7	0x7be9dc36	0xa97f3934	0xe14b3e44
+	0x0bab208e	0x7b264b81	0x291257e9	0xde72ec36
+	0x4574e269	0x57796910	0xb70e079e	0xf26fb4bb
+	0xfed27420	0x2f8774e1	0xcdfffbdb	0x079d7d6e
+	0x7103090b	0x42aa43e2	0x43145060	0x1507ed7a
+	0x796546a8	0x5b7b7273	0x70049828	0xeba1607b
+	0x6b10fff1	0x80ce2259	0x077c7b5c	0x65743d3a
+	0x7ef79050	0xb837dcf8	0x97a4525b	0xb0b2de90
+	0xe83727d8	0x6b6b91cb	0xe5a2dec8	0xeb46fde8
+	0xfd0662ca	0x4e41fd86	0xb6dfc704	0xa196e275
+	0x8ff4c3fb	0x0e9a9f98	0x9b346734	0x03d3e037
+	0xbc9688c1	0x79e2341a	0x5fa428c3	0x4965486d
+	0x3b7502f6	0x1d75af58	0xda593f8f	0x78b75ab7
+	0x6e70c385	0x0210b6ef	0xa9e9c0b3	0xf3856c36
+	0x6cb020ee	0x019797cd	0xbb6e9b95	0xfd1ce108
+	0xfe0b08e5	0xec225a0e	0xc2d4ad33	0xdef719ef
+	0xffaeeea6	0xe1243771	0x3615c3ec	0x72cdbaae
+	0x566bb86d	0xd8845192	0x86f125cf	0x7898db6a
+	0x5dcbc672	0x285dd79f	0xe23b16f8	0x014114d5
+	0x516ae99d	0x785c3fc2	0x4cd36c31	0x288a6976
+	0x14124dcf	0x5cc7f2ec	0x5b8d8ecb	0x0301d1e5
+	0x4982c681	0xd9a1c7ce	0x4f94fb85	0x90ccd5a5
+	0xdbbf99da	0x650fd62b	0xfdc4f3b7	0xbcd913f5
+	0xd013d980	0xd8f89a26	0x761fdae3	0x92313163
+	0x9118c987	0xad2b0584	0x0b5b89fa	0x315f8457
+	0x2c9e481a	0x5209ad43	0x4e9ab303	0x060e92b1
+	0x0639f966	0x9d4fb6cb	0xd57b371b	0x15a162b3
+	0x39148221	0xcbe014bb	0x407307dd	0x8ba26aa8
+	0x3be5f416	0xc43a9c41	0xd332b1c6	0x0af92f10
+	0x45467e20	0x6db14b18	0x6b13fda6	0xee416fe0
+	0xc27e01a8	0xcbe2df1b	0xd202f12f	0xcb9538f5
+	0x16344446	0x44edb8da	0x9e685ee7	0xda2e7ea1
+	0xe2a9cabe	0x3aaed424	0xeef7b952	0xfc5ee770
+	0xf6f6352a	0xff0b30be	0xe9655fa3	0x8313d64b
+	0x43703914	0x7106d5a7	0x6435d631	0x607ad042
+	0x4bf0dfd2	0x385492e1	0x48b348b5	0x38c35b9a
+	0xfdb51c06	0x66346026	0x9c192cbe	0x504ca3cc
+	0xdf1f5d15	0x05df6fd5	0xa7f21311	0x83c216dc
+	0x96b7f3fc	0xe63fa223	0xb56d4d98	0x025628d9
+	0xe0b9029b	0x8a7d4fe8	0xdafa0c44	0xaa612564
+	0x7a79883e	0xca986c55	0x40421bed	0xc038c502
+	0xbd051dfc	0xb0b49027	0xece58167	0xcba46998
+	0x34ba0fe1	0x5d187c08	0xdc47004c	0x6d74842c
+	0x2ae5624a	0xd50830c6	0xd15ecb95	0x17ce8d88
+	0x6e9276db	0x37736b67	0x6c76df1e	0x93dcd47d
+	0xc8d79fb2	0x0588b459	0x69a1bd05	0xceb86a87
+	0xd870509d	0xa2182729	0x7cb99aa1	0x2f2b6056
+	0x4869b722	0x8a46e79c	0x60d2ea42	0x0a0ef7bd
+	0xdb0f19d7	0xb12f65b5	0x7cc51707	0x3f21c663
+	0x2b1f67d0	0x6b1ed5e1	0x4333b92b	0x7d54a7a9
+	0x03a9ebf8	0x329601c4	0x4d428e4b	0x2a50477b
+	0x40a92952	0xbd58f69b	0x2d18cb43	0x331d4674
+	0x500c3cc0	0x501e3415	0x4efcf36a	0xcfd2291d
+	0x3c8657cd	0x00f687ae	0xfb3a3320	0x2d1854f5
+	0x5e6de7be	0xda36f143	0x5275dc99	0xd025b4a6
+	0x0b4bd9eb	0xf9ee3514	0x57abfa48	0xa81dae71
+	0x53845138	0x67ef4067	0x5480eb95	0x6dd8d7e2
+	0x7005155d	0xeeebabdd	0xf7a27c90	0xadee3747
+	0x314f2207	0x5001c5d0	0x0bc6e690	0x5ac451fa
+	0xb2cec227	0x84a7adfb	0x42a217bf	0xd3817dbf
+	0x32b7ff64	0x4c029b42	0x2717b9ec	0x4cdfc875
+	0x29db73da	0x70b48751	0x81a370e5	0x34726efa
+	0x4bfe99c2	0x252b678e	0xa2f811df	0x00413042
+	0xd0d1b87e	0x87f0d2da	0x5c380bd0	0xffb9e978
+	0x107ae818	0x15dd6a54	0x05d83a7e	0xa69448f9
+	0xe05d10c0	0x5f3b283c	0x3542204c	0x4dcc0839
+	0x0c5f54f5	0xf31ebdeb	0x5c1b87cb	0xeaaddddd
+	0xb4d61728	0x9b22b56c	0xad635da5	0x890aafdd
+	0xb2b77d91	0xf1ca2170	0x93029f39	0x21bdba33
+	0x736fd17a	0xce304fb8	0x6386fec6	0x01e91644
+	0x9be9c0a6	0x339ac4e4	0x1f980bf7	0x4d3277ed
+	0x75f7c6aa	0x4268086e	0xf934105c	0x45231df8
+	0x4c29625f	0x636c44c3	0x5bc247a5	0x6dbd584b
+	0x91192c3e	0x2cc14b07	0xc2234991	0xbfea0822
+	0xeb9687ef	0x1a1de5a7	0xa93f8b2d	0x7f1e8c33
+	0xc98ad887	0x0bad541a	0x766213a3	0xe2260c29
+	0x3de6c95d	0x8ec8963b	0xb2dc9bfb	0x9c08dacd
+	0x30ec7579	0xe9c6cc98	0x7b9a3234	0xf22ab140
+	0xd6984299	0x1f37764d	0x858a694e	0xb716b059
+	0x0bf8efb5	0x86d575e4	0x88dd61ef	0x2ca7b6fb
+	0x106af38a	0x4e35d588	0x327d4501	0x190a11d3
+	0x81e0288b	0x748a0223	0xecc2d2aa	0xbc958592
+	0x0b271e73	0x721eca15	0x375daa70	0x78c9033b
+	0x35643a59	0xf7f8b522	0x876112a4	0xba2bc70f
+	0x6478efdd	0xfdde22fb	0x7c3dfed5	0xd7fe1862
+	0x96aeee40	0x800855c8	0xdd37a6ad	0x3a84bc05
+	0x476c96b3	0x313b0837	0x5f499ed9	0x7d2e36ba
+	0xceb15da7	0x64cc6357	0xef5ff7b9	0x4bace9d8
+	0xc3de5315	0x6a68b3f0	0x3628f647	0x7a01c17a
+	0xae62464f	0x3a8d3185	0x2b78e14e	0x85a5e84d
+	0xde213afe	0x46cb8306	0xb19edd23	0x86d647ee
+	0x92e1fb05	0x89fca641	0x2700fd68	0x9abe7af7
+	0x41a0c32c	0x81898e73	0x5ff48040	0xb54580a2
+	0xeb5186ad	0x507375c2	0x0b4848bd	0xb07fe901
+	0x0d93ea1f	0xf991e92b	0xe9676946	0x747d6df0
+	0x56a6bf32	0xe6a63b17	0x5a296a56	0x112b3537
+	0xae4c7a7a	0x3fc1caa1	0x932ee139	0x0d345fdc
+	0xd46cd214	0x5e8323b8	0x6346c206	0x0c9f152b
+	0x5e1f0f95	0x6230e379	0x400f60bf	0xecc113ba
+	0x5975e3fc	0x62c9f9c5	0x5ba85502	0xca610496
+	0x582ea53a	0x05e7ecad	0xfa3f762c	0x412b2a6d
+	0x71670f10	0x4fcbee0e	0xf09cb82f	0x4d76c70c
+	0xdfdf510b	0x44c52b3e	0x907283fe	0x2a3d9481
+	0xc9bdf0ed	0x1798c4a6	0x68bfc2fe	0xc940dc1c
+	0x9354742b	0x31d55875	0xdc416900	0xce9331ec
+	0xae9f8e06	0xc0daa781	0xcd848a26	0x2f0b02aa
+	0xc0eb3783	0xf256f4e4	0xcdf477ab	0x7f66be8a
+	0x4f8baf5f	0x6157a7b8	0xdb2482bc	0x2a85231a
+	0x5c2b7eb8	0x0f49f740	0x6af5f4c9	0x732fcdd9
+	0xae01bcee	0x55f142bc	0xfad20f99	0x0e156e61
+	0xa72243a1	0xf187ff0e	0xe0ffff47	0x6d6e5238
+	0x42980807	0xb7e51b3a	0x2e54e824	0xacd9a4be
+	0x86b05c24	0x53d3aa13	0x08031859	0xdff1d3c1
+	0x25e00058	0x861c7a0a	0x1f1e3258	0xd4cb2853
+	0x6c86a0e4	0x158b6074	0xe30ddaf1	0xc4bbc48d
+	0x8bcf8953	0xc1372083	0x18073359	0x5f9cf737
+	0x5c3c0d12	0x9f5389e4	0x91a038fb	0xe8bf9dac
+	0xef60f867	0xa81b58d4	0xbc45f8c5	0x56b97f8a
+	0x6bb92b76	0xdc2aa293	0xba0b6502	0x7425f0ba
+	0x612c13a6	0xa2f2960a	0xddca243c	0xfc89a041
+	0xdd3c1943	0x5c5fd16d	0xab313c5a	0xea4d057f
+	0x8a4af66b	0x20257eb2	0x08d37adf	0x5919c7a6
+	0x4851f6b1	0x492e2f2e	0x36b0d4c0	0xb114f9ce
+	0x2e3f772b	0x942d340a	0x9e82414b	0x8fe95909
+	0x182ac3bc	0xb61a79e5	0xea2b7e3e	0xd6c24248
+	0x8c05863f	0x5380cd65	0x73bae4c5	0xa89a3972
+	0xe6c7b775	0x992a0588	0x11074bac	0x09132399
+	0x7cf0c30a	0xbe0bd1ee	0x8cf6e461	0xed196e5c
+	0x9a852385	0x26109fd3	0x91fa3ea1	0x2b5b312d
+	0x5caaac5e	0x6f65ae60	0xa2f21e6f	0x01dbdcd2
+	0xeb9fe559	0x1f77a3db	0x84a3fc80	0xf5081861
+	0xedbbabcf	0x2b582fc4	0xd873c137	0x38949a47
+	0x14cb2d76	0x8b82464b	0xf307f8ed	0xc4ed602c
+	0x6d4c4962	0x60483dd7	0x8b74d774	0xe3b273e0
+	0x54cd6692	0xcbdf06d5	0xc76ed302	0x4072048f
+	0xf2e67b28	0x1d8f25cc	0x8eb3820d	0x9dce8211
+	0xfbb5b706	0x4911c664	0x498cb190	0xeb086e18
+	0xaab32d7d	0x77659ae5	0x0d33a0d2	0xdb3b58fa
+	0xd95a0e2d	0x41bab52c	0xdf8cb9a7	0xe5be76ae
+	0xe5d3959e	0x545f4f88	0x0d810eae	0x42086f42
+	0xe9951149	0xeb280219	0x9f89757a	0xd85fe39a
+	0x8caf75ea	0xe605030c	0x16cb8151	0x3f10871e
+	0x70ce960c	0x7497c71b	0x1dc2df1d	0x718f8a11
+	0x88b5d93a	0x61ae0176	0xf7b06d8c	0x5b975445
+	0x8173b27f	0xb6bb1bd3	0xe428b56f	0xf2757513
+	0xc4eb2c1b	0x0f480969	0x735e7378	0x45b51ed4
+	0x13628703	0x7cafcab7	0xf59661ba	0xd509df58
+	0x9c89f68d	0x22f2d3e5	0xb63e3b55	0xcb381ad6
+	0x6fb7756f	0x9227a63a	0x08fc0721	0x5a39461d
+	0x7ac6ed7a	0x2145aaea	0x6a91b4d4	0x17e7847a
+	0x62b65666	0x953c8d6a	0x25ab7103	0xe92e3b09
+	0xbd95cb19	0x776def1c	0x707cdb78	0x2557b7df
+	0x8ec44671	0xe4f4b4dd	0x9ed1fd8d	0x8ac6138a
+	0x383542f7	0x621ac3d0	0x529446c6	0x57de60ab
+	0x159f06fc	0x03e234e7	0x7c95c8b5	0x9000e809
+	0x914a2724	0x94693755	0x54ed28a2	0x2ab5669d
+	0x9b1210ae	0xa565f56e	0xe6f4370b	0x1f8999ff
+	0x16f8b9fe	0xb0f889f0	0x722b4d96	0xe47322a2
+	0x086734e4	0x02944b1e	0xf158227e	0xa2867257
+	0x87a261de	0x82ccae09	0x4e263f28	0xd34a3206
+	0xd519172c	0x925e3840	0x2dd5fcd0	0x2fd51f10
+	0xfd3db761	0x8b1b7678	0x113e3438	0x077d715d
+	0x3513f8ce	0x177d0926	0x3203a088	0xaa01716b
+	0x522f474b	0x380d61e4	0x3ebd3255	0x0fe370f5
+	0x1be5edf6	0x6738fa64	0x759fcb14	0x87e19f53
+	0xd2fab90e	0xf612b889	0xdf8a32bb	0xea93eb69
+	0x75f6c1c7	0x63cb06c5	0xd673a63f	0x62512736
+	0x68f570ef	0x8912b248	0x11b08705	0xc431e781
+	0x57cc81b1	0xde5fe207	0xf524334f	0x82d083b2
+	0xe9d5733b	0x56b09eab	0xbbc76a27	0x5c1f4192
+	0x315f95c9	0x11784e77	0x4b2dea04	0x06e3c08e
+	0x693e4455	0xb3b21fbe	0xc2359f08	0xd38509c4
+	0xdb8be759	0x84aa9e41	0xd0187e39	0x9ca1aabe
+	0x8336e963	0xb5753fb1	0x36d35860	0xb4901721
+	0x673e390f	0xb15d8744	0x08611d98	0xd113b5e0
+	0xae88b81b	0x6a3986f4	0xa5b078ea	0xd809237f
+	0x632e0ec0	0x5da21e6f	0x17a19bd0	0xfc067354
+	0x8a4b39d7	0x878b4dee	0x38d9bc60	0xedcdfdb8
+	0x02e2dcc5	0x7e793f70	0x545cfd75	0x231760e3
+	0x3b06b558	0xd1ebec25	0x3bbc4561	0x1de5c33f
+	0xa8be3608	0x496ec301	0x8a60ff90	0x0b464864
+	0x24355c7d	0x0df4ce8b	0xcbdb764a	0x888d8fe1
+	0xb3048d2f	0x0efa5175	0xc41d4cc3	0xfa6bee3b
+	0x353c9949	0xdb191cd5	0xdb7a24dd	0x9a501902
+	0x38a8c55f	0x0b68d5b1	0xe6bfc496	0x75d094f8
+	0xf61aeb27	0x3f2442ea	0x31c65668	0x854f3c74
+	0x038480ce	0xd0e38812	0x5c591451	0x7e8e5a92
+	0xe16d372e	0x410b345f	0x80bd6abf	0x478eba91
+	0x08affe8b	0x0b866ea9	0x8ac35b00	0x8060c27b
+	0x0f9c9112	0xd655d30d	0xca7b6889	0x5cc6255d
+	0x9f073643	0x4c947c23	0xbfe3e6b7	0x17efd8ed
+	0xbb3a9850	0xb156dca7	0x0bfd2388	0x88bffee0
+	0x00a6440c	0xf995eceb	0x4f707603	0x23d57780
+	0x7bec0bf9	0xdebcbfb3	0x4ef065fb	0x1a302ba3
+	0x04192dca	0x946bee85	0xb0b7e7c6	0x320f8d45
+	0x38deb95e	0x33c79be8	0xe5eaa420	0x7f92daf9
+	0xe6cb25b0	0xd40f40bc	0xb84add83	0xc5c2ca98
+	0xc6daa9e3	0xd6ca4704	0x6354e6f0	0x51c5d31e
+	0x729d120b	0x8a2196a9	0xe61aefdd	0x80fe491c
+	0x3558d507	0x68feb980	0xbfd332e4	0x0da57078
+	0x6eb13214	0x6f614ae1	0x945830db	0xcfd3d7c1
+	0x30b376e1	0x856075e5	0x4b23527a	0x4ebad274
+	0x78747fdc	0x9af54a7b	0x12ac6d0c	0xb1b54096
+	0xbfdda75f	0x128ab19b	0x27df8b10	0x8c7c4129
+	0x3f624e9c	0x8ad257a1	0x1ef6d4a7	0x975c7886
+	0x0f6bd612	0x14ca9031	0x7de145ce	0x9bfb1a63
+	0xcbb5e614	0xe7801eda	0x9285d689	0xad984119
+	0xf1ee771d	0xa33ed630	0x9ac8e735	0xc6fa6871
+	0xf08bfc19	0xc712cb28	0xc86cf1a2	0x2ccdd60b
+	0x17b8c249	0x5fbddb03	0x97994dcb	0xa7cc6bb2
+	0xd78f3ef1	0x975f3e5d	0x00b8214d	0x31ed6277
+	0xb36cd683	0x479c1b64	0xdde3e419	0xf05836c9
+	0xde1b0549	0x34c6f410	0xb09ba104	0x6d30517a
+	0xe99a3a43	0x144a1632	0xd84c5846	0xa43d8850
+	0x4edbe0db	0xb42f8b4b	0x2179a398	0xb7e6d28c
+	0xfb0b43c8	0x0125ea28	0x39821135	0xca96637d
+	0x16f5173a	0x3231e220	0xfdee4613	0xf95f5d6a
+	0xfe690577	0xf4c46861	0x7e29b629	0x50e9ab1a
+	0x546e6d9e	0x5d79fd8e	0x93c67ec1	0x98309faa
+	0xcbb2bd86	0x606467ce	0x0814890e	0xd8770236
+	0x65f538cf	0xf2dcfcc4	0x4a39b0a7	0x436d7323
+	0x64ae68c0	0xdccc2654	0x7443744b	0x66be2a44
+	0x699957c4	0x93b62946	0xacf624ab	0x175fc132
+	0x3e89d209	0x1555ac25	0x62a25b70	0x0673a851
+	0x8132cb98	0x917c1ced	0xdfe51ea3	0xbc2d7718
+	0xa9d20408	0x0f897a72	0xd47719f0	0xef6fe253
+	0x24a754bb	0x999fa777	0xccf547ed	0x2b7d4539
+	0x74b58a9c	0x8106cac6	0x08ceab23	0x1c5353ee
+	0x7755a6d8	0x5c540708	0xeb4db8ac	0xbe274621
+	0x1aad9fe8	0xc4730db6	0x071c4042	0xe7604f3c
+	0x422dc9c1	0x7443db5b	0xcec0c201	0x56247323
+	0xd7841a1d	0x2e7b4062	0x33529c42	0x195bd16d
+	0xab2908a3	0xa380e98c	0x3458650c	0xce7321b6
+	0xda2ccbf6	0x81c2cbcf	0xbf1a6632	0xdda7af3f
+	0xd837f6e5	0x1af3fba7	0x799dc943	0xd338b93c
+	0xd53cbe53	0x1ea14b1b	0xd14983cd	0x5c128b83
+	0x67b4de12	0xe1953066	0x363304ff	0x8d721875
+	0x4872a85a	0x95a1c4be	0x1ec36a87	0xfa01837f
+	0xa9a5c3a5	0x66eccb5b	0xc5ad6d97	0xe8f3c55b
+	0x31d7786d	0x554c65d4	0x8d9dad06	0xa8079ee7
+	0xe7858df3	0x9947190a	0xf6933767	0x9451bff3
+	0x62ae5373	0x5ed0cc9c	0x45a002f7	0x264b46a0
+	0xc6844f34	0xa609e1a0	0x6cb4f75e	0xcf949485
+	0xe51115d6	0x7e9c3921	0x07ce3eee	0x0a324524
+	0x9c438342	0xaf75882d	0x16ae3a18	0xf239ee69
+	0x9bd67ee9	0xa4fccb48	0xd3a3452e	0xb9591408
+	0x61a908f5	0x8caeef9a	0x5f60734b	0x16dd888d
+	0xb12fefd3	0xe1633adc	0x559f7c6b	0xb233acf9
+	0x7b31c9b5	0xd8f67ac2	0x52f43eac	0x1ec42085
+	0xadb38845	0x3e93dd26	0x237b5838	0x049c5841
+	0xfd0c9e22	0x89fcbd6d	0xe4ec3767	0xed69deaa
+	0x32e0def7	0x5e6838a5	0xd148bda5	0xd93cc961
+	0x51c6e231	0xf0f8ff84	0x07d71241	0xbc827db9
+	0xcb0f66c6	0xdd559f7f	0xcdb23b06	0xa312dcfa
+	0x25451423	0xf1937dee	0xaa8392e6	0x28a40c5a
+	0x22ee9b7c	0xb134936e	0x802a1c38	0x15f289d5
+	0x49f7584c	0x41d79fe1	0x852d4371	0xf16a1bcb
+	0xf6d56ff1	0x3f030117	0x91240da9	0xd89243a9
+	0x255b2462	0x919c2dfd	0xa9ca3fad	0x9410a730
+	0xcee4d4a7	0xd1ff1629	0xe4e949cd	0xb792a0c6
+	0x4557b3d8	0x7f35f4ff	0x0fc40751	0x815a6254
+	0x9599e787	0x67d63390	0xb85cd4d4	0x49cf0026
+	0x1b77297e	0x1ea09e33	0x52922842	0x88850b80
+	0x15602291	0x0e102d47	0x3b9017d4	0x7c69cd81
+	0xd0fc8695	0x89b66f04	0x644b0c26	0x5d9c1f6c
+	0x2b439fd6	0x2b4c7754	0xdb12e51d	0xe6425b31
+	0x213d40b9	0x5cff5b94	0x36d37893	0x42157be6
+	0x8187955d	0x226c75ed	0xc11ba2d2	0xd08e7034
+	0xd71c8f16	0x100cd39b	0xd22b9c90	0xabbf1b20
+	0x96cb5b9c	0xc2bf3c79	0x153e2dce	0xe4e09907
+	0x669b62eb	0x318c4d63	0x0f020ab9	0x97eda6bf
+	0x4aac44d2	0xe6a48e8e	0x67b2c4eb	0x8c6951b8
+	0x25b56bca	0xb1b86107	0x0f896429	0xfda27789
+	0x70f6ee52	0x04e4b8cd	0x39eab79c	0x680a97f0
+	0x57cd1f78	0x03a7be3f	0xe7bc5154	0x90c21bcf
+	0x29c5f3f2	0xe651bedb	0xbc60e231	0x26fcd61d
+	0x77e29bdb	0xe1f7632e	0xd0542216	0x5c20409b
+	0xbf04c9d2	0x42494839	0x69cd5d4a	0xa13238f0
+	0x37ee6e57	0x92f0692c	0x895db8b9	0x11618b3f
+	0xbf84f1db	0xff26cf0f	0x39fd3e89	0xcdae196f
+	0xa6e4fc99	0x866a0f26	0x1e5064e0	0xc8cb2c35
+	0xe027c58e	0x7826835d	0x23102f37	0xdb2e2ae4
+	0xf991ee0c	0xc09d41ac	0x1d35bd25	0x2cc7002e
+	0x16fe24c9	0x550acd8c	0x698049cf	0x5ac6f2fb
+	0x8b42e909	0xd54c7bba	0x6d7e0bd0	0x827ac5b3
+	0x515741d6	0x4b68ac60	0x5dc21b9f	0xd550920d
+	0x30dc43c2	0xf66a9f00	0xdf0653b9	0x25e44abe
+	0x37de97bc	0x539fdc3c	0x814d3d35	0xa7321b72
+	0xa7d54281	0xd1343cb2	0x335685bb	0x4e026598
+	0x959a0af7	0xe9d9347d	0xe1428335	0x4aea4d28
+	0xe291cd87	0xfb3455bd	0x9bf6ca76	0x407bfd48
+	0x7bd8199a	0x1cdbea77	0xe77bfba7	0x30d4d97a
+	0x5d319b28	0x2bdbb1be	0x1d0c4b1e	0xc2b8987e
+	0x16609582	0xc8179734	0x078b4be3	0xa600e314
+	0x946f5e54	0x0eed6f63	0xa78b90b3	0x717643a4
+	0x6293fe4b	0xbde73e0d	0x011ee48a	0x4302e756
+	0x24d15f56	0x89c5ffc9	0x4481975a	0x81ea1ffd
+	0xba958ba2	0xb434fca0	0x72459be0	0x80c84042
+	0xc5162b2d	0x3a1b24b4	0x9a0b30b2	0xce47289b
+	0xc7300404	0xd1be44cc	0x67ea5c42	0xf6c97d46
+	0x63a5dc05	0xea5fcd0d	0xe095cb46	0x6a0849fa
+	0x50f172ee	0x39809f1f	0x79d7aa5b	0x3658c931
+	0xe6861e96	0x6ec7d014	0xfc481f9e	0x5f937642
+	0x01843f84	0x343565f1	0x54876cf9	0x442cd4b7
+	0x883a07db	0x99c484bc	0x95f15b01	0xa1574a2b
+	0x4bc75f62	0x93644ba0	0x1ba23bb0	0xb4acbdbe
+	0xa1b9e321	0x70e96254	0x1be5b668	0xf3df4e76
+	0x1ec1077d	0x53a1755a	0x235f32b6	0xa43e6554
+	0x247708f1	0x26ac0aa5	0x21d0e0de	0xe56c8157
+	0x579bdbf4	0x36f1e4eb	0xfa9eae74	0xa72b378d
+	0xd8ae11a2	0xbf7cd65f	0x5878079c	0xab1fda3f
+	0x409d08a6	0xf7e21f8b	0x07fd0685	0x1104254e
+	0x4f4cce2c	0x6a3fe8b9	0xd7a3a98a	0xb49dd0b6
+	0xf6c622bd	0x40dc74d3	0x92a5efd4	0x8132d6f7
+	0xeb789b86	0xe372562d	0x9c191f01	0xec41e204
+	0x7f72233e	0x6a97a91c	0x7548c957	0x23e77111
+	0x1669d8ee	0x26065766	0x93edbc5e	0xff1befbd
+	0xc9703895	0xb66287be	0x48cc29ca	0x65c800a9
+	0xaffe3b20	0xabbc2173	0x11610d2c	0xdc6b71c6
+	0xbc7b05af	0x2d390968	0x295bf334	0x64372651
+	0x461c260c	0x776d6dbf	0x39dd11a6	0x5af6beaf
+	0x2fd67fe3	0x59b8b4fe	0xe002655e	0xd998d7e8
+	0x4e2e26e5	0x1c490af0	0x633fc9fb	0x4f3bc077
+	0xa34f9f58	0xd4dad154	0x65c97188	0xb37b225d
+	0x04027ffd	0x4b6300a3	0x478742df	0xb7689dd4
+	0xea6377a6	0x850fa531	0x9de3c417	0x11c5b298
+	0x87d695c7	0x1adc2a5c	0x88455398	0xacefd3ff
+	0x34e32daa	0xd1b9008e	0x808afbaa	0x559120bc
+	0xdbf49720	0x9c5badf9	0x9c34258f	0x8018ee25
+	0x2b93bce7	0x779ca04b	0x6e0a3b48	0xdfbe13df
+	0xf123f183	0x4277cc2a	0x6c2e48a8	0xd3e3f81d
+	0x578cc007	0xaa81a4d8	0xd48d4ff8	0x7cf48c52
+	0x12b11d11	0x3c7002dd	0x434817b3	0x9a57ff3b
+	0xa19ad130	0x14a2590e	0xb973ee61	0x03e2fb13
+	0xd2ce4893	0xc8874799	0x114949d2	0x76e77375
+	0x078de0fa	0x55ce0761	0x3d544841	0x5b025388
+	0xcf3c4773	0x803ef761	0xb2e053af	0x7c523650
+	0x19d21655	0xef79ab2a	0x76ddb493	0x6dfffdb6
+	0x2ba16dd0	0x43c032c8	0x73efba26	0x963c8bda
+	0xcfed3f28	0xa5050b0a	0x05da3600	0xcba16a30
+	0x46bff28f	0x15ff5bf0	0x723ee92a	0x7d30a9e1
+	0x04c0b56e	0xb2784bbe	0x12e22ea1	0xed9765bb
+	0x98122b90	0x12f11308	0x16cc0f64	0x0d1684d8
+	0x27636750	0x2f423c1c	0x2d232bbe	0x4e3074cb
+	0x5ee7a3f6	0x70a07522	0x0fa51377	0xbea2a52b
+	0xcbcbc9c1	0xa0e9445a	0x342bf8a6	0x5ff44d0f
+	0x5dbba578	0xa486b64c	0xd333f02e	0x94166eba
+	0x835a2f39	0xea4144d9	0x1adf550e	0x922f5f14
+	0x4bd6842e	0xcc5508fd	0x509729b8	0x97e3a0da
+	0x1502d681	0x54133718	0x76af6c05	0xee5e68ab
+	0xa9032f6b	0x1b35fcae	0x37f9101d	0x29fa9067
+	0xee63a074	0xbb8fabc0	0x5bf66de5	0x9de88092
+	0x49c256ac	0x798c5a57	0xe47b5d30	0x273739af
+	0x6dd98eac	0xba8aba44	0x943ceae7	0xb51cd54c
+	0x9c44196a	0xfb8d5174	0x962f59f1	0x4b993f12
+	0x8c7866a9	0xa80e66bd	0xd619e562	0x7526df66
+	0xcbe7248b	0xe58056fb	0x21959ce9	0x7cc51a54
+	0x56e87a27	0x3a9c278f	0x9cec3ea9	0x66b8eab3
+	0x0667bef0	0x8375b748	0x5d9138d8	0x86e91bc0
+	0x24185745	0xdb2f13d3	0x01b2b0dd	0x9a358fdf
+	0xf30e3c7d	0x304b0dbd	0x440bb690	0x0b711e8a
+	0x6056cb97	0x30ae756f	0x5fb1e8c8	0xb2384413
+	0x879931ee	0x5aed1a79	0x3c859d95	0x7af6f363
+	0xcbce37e9	0xdf2be0f8	0x7f12d56b	0xcf915753
+	0xac8e345c	0xd7df8ee4	0xd9b5e1ee	0x8306ccc4
+	0x9e5b3fc7	0x38bf4e27	0x63475afc	0x4233edc5
+	0x230ffb77	0xe13918d4	0x1ea05a03	0xf845750c
+	0xd417f2dc	0xb6d25158	0x219039d4	0xbccaf9d7
+	0xb1e44727	0x6dae7c78	0x47549388	0xeeb315f3
+	0x79aa11ad	0x88a50a8e	0xee3cac93	0x6a51924c
+	0x04a4b799	0x9106db64	0x42b4a099	0x9b2901b6
+	0xc2e3aac4	0x586d472d	0x2a789813	0xb95a7af4
+	0x01d13bbb	0x5f0b8e41	0xf95f3182	0x641dc9e9
+	0x265779c9	0xa713a2f9	0x5cd19f4b	0x27aa226c
+	0xeddd652e	0x3a07395c	0xca22ac57	0x4ad147e8
+	0xf43ed399	0x5fce4508	0xaa1289ab	0x22b1df6f
+	0x399520ba	0x09f3a4bc	0x59bf9f38	0xd8bd704a
+	0xa64ae533	0xfbb34b9b	0x4aa9d05e	0x2ab62f9c
+	0x0dd361ad	0x000caeea	0x37267540	0xab66045b
+	0xedf23eff	0x54d08375	0xa0d56a23	0x8eb27a52
+	0x44d900a9	0x3d922854	0xae577189	0x8a7f6af2
+	0x05dc4fcd	0x44abada7	0x8243f96b	0x2b748f8a
+	0x483e7ef9	0x8862cbe2	0x39d0b695	0x2cb8216e
+	0x4d9fe0ed	0xbe5193ab	0x77187f01	0xc1ac2739
+	0x45caf4ec	0x0f87807e	0xfacb08f1	0x6a1713df
+	0x65413100	0xbee9fadb	0x8dfddbad	0x6c5b94a4
+	0xa672ee8f	0x6caa7dde	0x28f1c33c	0x591d41ee
+	0xa5cd15fe	0x4a193248	0x3cbfdcc3	0x1f2deabc
+	0x3bf46283	0x44ef7fe9	0xc2746149	0x08959fbd
+	0xe24dc276	0x7671f2e3	0xf1530519	0x1a6d6dc9
+	0xe50f31b6	0x7b8dc105	0xb888fb09	0xf61d2497
+	0x9b116244	0x0f66d30c	0xe7f0dd57	0xf3d57d01
+	0xca0249b9	0xbeb19bec	0x08651ab9	0xd4ed5cd3
+	0xd69286bc	0xbe88a628	0x6c65d515	0x3504a143
+	0xc5058619	0x244e9c08	0xac47e987	0xb9d6c7d7
+	0xe70c1d95	0xaeed74fc	0x11958ba5	0x8e6e335d
+	0x632d8338	0x8935ff5d	0x4ac507ed	0x3352bef7
+	0x797e7b7a	0xbee98206	0x832a50a0	0xc4a1a343
+	0x97b85530	0x41e6364d	0x168f4fb7	0x7aafc495
+	0x4d151df9	0xda375844	0xce336f4c	0x9da29b59
+	0x544e4bca	0x2a342322	0x64669f0e	0x964f0e3d
+	0xc08b95ba	0x9c3dcb9a	0xdfbd1d47	0x9b3ed679
+	0xafb6ace8	0xf126b860	0x54135b76	0x021216bc
+	0x50828699	0x0a7ed42d	0xaf94229c	0xfa5d6724
+	0x9eb496a5	0x80d45fe9	0x2736e370	0x2ce968ab
+	0xbb04396f	0xf3af6073	0x151b4e88	0x79186842
+	0x8daa7f9f	0x8f58396d	0x5dae83bd	0x5e2ff686
+	0xf8ce141c	0xa63764fd	0xf899c2b0	0x4f4566a6
+	0xd9265d15	0xb462bb9d	0xe9dc819d	0x976b3bf3
+	0x089e1788	0xb818e7ca	0x8e7ea97e	0x5d751541
+	0x9d3eb2e2	0xd492ecc6	0xe13b3113	0xecab5969
+	0x148fc8e5	0xad3ce50e	0x76180016	0xfcefbd01
+	0x7fdb6d60	0x12b4f0a9	0x2c20795c	0x8d9cfb96
+	0xeb6a9c96	0xe52d4229	0xfff76799	0x5257131d
+	0x9e519097	0x976dda55	0xb9f1ee47	0x9ae4c7a3
+	0x0066626e	0x2d761ad3	0xa126348c	0x211c5d8d
+	0x4b04d2a2	0x17623762	0x50586c7d	0xdd1a458f
+	0xa7a75592	0xe07db4fb	0x1c734db9	0x7a93cf62
+	0x9f36c801	0x8e690d73	0x66384386	0x54c6b876
+	0x207e9d7b	0xf37c3e97	0xc578a411	0xe882fd44
+	0xc635590e	0x3245084e	0x0a32171d	0xe16911de
+	0x1b7333a4	0xd6b1f15a	0x99231acc	0xb47744e3
+	0xf9d870c2	0x20ea41c0	0xc5a758f6	0x96c2e9bb
+	0x21cdc437	0xab9e4714	0x895c8b0c	0x4cd96082
+	0x552c42e4	0x631d677e	0x584af198	0x7b8986d3
+	0x7bcb6916	0xac597320	0xc6bb955b	0xab3fbb95
+	0x73e18e2c	0x35a123db	0xe29ee696	0xa47e25c9
+	0x7694ccf4	0x07e0312e	0xa98668c1	0x25ceef8e
+	0x208b4cdb	0x5d52d0b4	0x73eb5d34	0x101d2bc4
+	0x6efb2462	0x6fc5cb2b	0x03eaae45	0x43e0ad16
+	0xfbe69890	0x142b491a	0x8fdd772f	0x2b16d31d
+	0xfe9d9330	0x22e85f18	0x65ec872a	0x64871a65
+	0x36ca658a	0xc0b57a2a	0x04d6a752	0xa698f526
+	0xa1114058	0x8fea9ab6	0xe8a7edaf	0x6fd0093d
+	0x18448c52	0xd8a462cd	0x5a67343c	0x01b15967
+	0xfe12ac1a	0xf54f606b	0x688163c1	0x622e372e
+	0xffdfe4ac	0x6f01351d	0xc5ea04eb	0x7a51dd8b
+	0xd7631eee	0xadefd7a8	0x5c5caecc	0x2980fb70
+	0xbfb74ae7	0xfc7261ba	0xed4131b7	0x9f74fee8
+	0xe44ce2f8	0xd62e9ad4	0xff5c5f3e	0x36a8a6f4
+	0x0c16614b	0x9fa3ca8a	0x178a2e2a	0x3d2c2500
+	0xec1e3b87	0x2bed0c6a	0xc8c33d5b	0x52759bb7
+	0xb2662e95	0xaac07365	0xedd4ca11	0xbc89b970
+	0x2f3ee0d8	0x35ab53f2	0xffb12a47	0xb808e006
+	0x09e3b477	0x9cdf9eda	0x6fd3da31	0x959ada45
+	0x316c6a4c	0xca919150	0x1156bf37	0x04414cbf
+	0x068df2d3	0xe1e8e0bf	0xfbbf9e6c	0x91221c9f
+	0x39bd5ab4	0xd2b1e6e1	0x2362f14f	0xad545262
+	0x701c0a2b	0x772464ad	0xffcf8891	0xcdcdb1a9
+	0xe34e80e9	0xce7eebfb	0xde299e34	0x615e2ed8
+	0x52a7f9e3	0x6cc1020d	0xbdee7e4a	0x569e7fc2
+	0x59c142c8	0xf7c20e96	0xf20fb631	0x6740687c
+	0x4d68fff2	0x5a2cd053	0x33b257e8	0x7b4f088a
+	0xa4f176cb	0xfd328e24	0x3e154e03	0xa43b5b87
+	0x11c71071	0x7257bfe8	0x2a535d61	0x36c78202
+	0x722d168b	0x6890769c	0xfe42ecfa	0xa831d7c2
+	0xb29d1ce9	0xb5aeb94c	0x37565794	0x2539f681
+	0x5e591752	0xcb418994	0x835a9582	0x268cd714
+	0x1e3609aa	0x6d61ca85	0x9e9294dc	0xd80dc7ff
+	0x62fe6445	0xe1ea3101	0x5ad5adff	0x0db24cfe
+	0x80a30b66	0x88d2bc06	0x9274e673	0x434cc675
+	0xe9530b4a	0x269c98a0	0xc22c1ee9	0xf1a3a9dc
+	0x51fb0a56	0x7547d9ae	0x867b1489	0x508c8a12
+	0xdf8cd4c6	0x762bd1ba	0x80794fb2	0x2e923a11
+	0x6c00d0bd	0xc3bb10df	0x8c5f12bf	0x6ca706f3
+	0x7fe862e8	0x0d1518f4	0x61c8eec6	0xf201b867
+	0xc3faff2a	0x3c8e0c74	0xb57f2e79	0xf84a69e7
+	0x3f29ffb6	0xe4460c7c	0xb93854a0	0x826ccfb0
+	0xe5bac7c8	0x8fae6291	0x9a481041	0x4fbd6c9f
+	0xd565e22f	0xc736254a	0x7ac9ac60	0x57e9395f
+	0x8324d3a2	0x19aedcb5	0x458ec2da	0x6f2bcfa2
+	0xabf94fc1	0xf090b920	0x52a32453	0x8df5ca69
+	0xa6cad8ad	0x78b946c8	0xc2a66495	0x6be3328e
+	0x661d82cc	0x792206ef	0x9a23f795	0x87a4358a
+	0xc095f84b	0x3b55b6db	0x61e9fcc5	0x193df332
+	0xeea4ffb2	0xa948c000	0x33e4c69f	0x63e18e34
+	0x15d54588	0x95fcd9f6	0x5b802518	0xd29163f5
+	0x33e0c0d2	0x5d55f78f	0x4670d87b	0xdde32267
+	0x0caee58b	0x97adfd07	0xba82b888	0x1309f9d5
+	0xbe324ab6	0x52f3bc02	0xa65c5525	0xa6689f03
+	0xb18bac07	0x51267e61	0x49f82171	0xddafed58
+	0x37b59cec	0xd78152d2	0xc9e15f7c	0xad73670a
+	0xab87d97c	0x2b8ee545	0xc53aed3f	0xe3dcf6ba
+	0x760bac69	0x77063b2f	0x75358b30	0x1edc6db8
+	0x7cf2ef97	0xa15ffb60	0x6ab73f6a	0x29832e6b
+	0x47a21751	0x8589bea3	0xf2cc45d8	0xdb3d8cec
+	0x8f89316e	0xc92e05e8	0xf908701e	0x05ca02fb
+	0xca9055af	0x98261ed8	0xc20ca7fb	0xa818983c
+	0xd6afd167	0x0c23b117	0x7b14c760	0xeeeae6ce
+	0x2d6d2df1	0xe8b97dd6	0x91a146bf	0xc45c2822
+	0x18edb5d2	0xf4322067	0x344eca4d	0x7aa61d1b
+	0x6b7bbcb8	0xdaaff992	0xc7f1d9af	0x004a5488
+	0x4056e400	0x68720a32	0x07020016	0x6d9508e1
+	0xe67fafba	0xd3192f4a	0xeb75feb8	0xf70f0078
+	0xe9d4e113	0xd6ad19d7	0x0a57fa5c	0xacd3e0af
+	0x3b2f8dfc	0xe60fa073	0x71d022c0	0x60cdc1cb
+	0xff6f3e3b	0x6f56876d	0x02da7761	0xdba11240
+	0xcb6946a2	0x0c1cd2f5	0x5e58b320	0x031e6018
+	0xafe088a6	0xb945aef6	0xff9ba07e	0x22f2c150
+	0xa06ea588	0xb7c84ee2	0x021832d5	0x15bab1e3
+	0x5751e3d7	0x0ed06781	0x0ac46714	0xf2b83cba
+	0x82974ac8	0x572d7f6c	0xc0b2dcc9	0xb74267ad
+	0x01b5f663	0xdc669a6d	0xe54de2e1	0xc489e3be
+	0x8745a0e2	0x02bbe7a8	0x78ef8353	0x70611454
+	0x49487788	0x5539e7c7	0x24cf1183	0x1d8afdd0
+	0x119f6314	0x3d8a6f88	0xb21cba2c	0x8fa40360
+	0x9346fe4f	0x41a673bf	0x0480b244	0x35ea4016
+	0x16a555bd	0x6053a483	0xba8b89f5	0xf01dfe8b
+	0xd034f390	0x3dc8d073	0xb62c428d	0xc157396f
+	0xb80fe4ff	0xf8ed4318	0xd77e5827	0x6e25f621
+	0x741ca755	0x1a230108	0x812cd8fe	0xc16b06cc
+	0xf8c7e326	0xef900c87	0x55182109	0xeb49c8bc
+	0xe4d64da5	0x159f165c	0x6b83712b	0x727d0a0e
+	0x54295c6f	0x512e128c	0x5f64ae6c	0xb6e0b9a3
+	0xc9bca0e5	0x74acac20	0x5133cc55	0x53854fc1
+	0xc53b1a16	0x8e3737b4	0x0ae1c226	0x82bb4958
+	0xd076fdfa	0x61bbc3d6	0x9bffc907	0x8884ada7
+	0x61653261	0x9dad1561	0x94f09e29	0x039dcb7f
+	0x2254661a	0x341d1877	0x1be7116d	0x4ec98bdc
+	0xe4c65bc3	0xabebd063	0x47589b3d	0x9cc879f5
+	0x15982c8b	0xa77020c7	0x3538b713	0x370c64e1
+	0xc74fb9f2	0xf8b41ed8	0xd2ebb5bf	0xb017d73b
+	0x97ba1ff9	0xa67b8a27	0x6d0c8a44	0xa105b7a0
+	0xb37a34db	0x0fe7f07a	0x1c148611	0xfa53072d
+	0x3171bd8b	0x2650cfb0	0x80fb7709	0x701a10de
+	0x97eea655	0x59ae138c	0x742dc115	0xd631b80e
+	0x39592e51	0x46e17975	0x84d0086f	0x1ce1898a
+	0x7dfc4667	0x97e090d0	0x1af1f5cf	0xb901056b
+	0x6102fa9b	0x8b091ff9	0xe6b04608	0x50d42eb4
+	0xc34910eb	0x6420d46f	0xe1c63a02	0x1545563f
+	0xca592437	0x9bb5a862	0xa9adaa9d	0x6b63f3dd
+	0x2e8421d1	0x4436c8a1	0xfe069f0a	0xec241501
+	0xc0372dae	0x381b7153	0x8f81e0bd	0x43d5e80e
+	0x5784effd	0xa2b6e1ca	0x2ecf57d9	0x69fa2072
+	0xb75cdb16	0x902b9782	0x8167bb38	0xfd05e6cd
+	0x21f6e01e	0xf3f9c0f6	0x788d65fa	0xc957a9be
+	0x9470c32b	0x718470fd	0x93593bed	0x50ed8943
+	0x33088cd2	0x69f3ca47	0x66d28d9f	0x038c2c08
+	0xa8ece07a	0x3e2d4144	0x6a676915	0x5e2e1d63
+	0xf3ad8ae3	0x1b9725c8	0xe037d675	0xf1e80565
+	0x3d40fa7c	0x30f6e383	0x0a39dcd5	0x60fab0b0
+	0x515e34b5	0x58eb39e0	0xdd81d1f8	0xe3ca488a
+	0xd17ca1b8	0xe6b69eae	0x64847000	0xd6885f81
+	0x78417c1b	0x32757661	0xaaf7bc36	0x9122e930
+	0xfbd61074	0x1d53bf81	0x60a449c1	0xe743eb61
+	0x288768f6	0x4f549549	0x557b2e14	0x358d1fa3
+	0x3aaad4c8	0x985986e9	0xd36a1f61	0xdc2ae2e0
+	0x6e96ff1b	0x7b6c4f31	0xe442671e	0x32879a8c
+	0x5833b991	0x45de1989	0x4811924d	0xdb23156d
+	0x2d4f2b8b	0x554979bc	0x5fe9829e	0xfaec643c
+	0x9323dff7	0x38807f08	0x0e255d02	0x2ad3f7e8
+	0x9bfa7c5b	0x0beff56b	0x5c992f75	0x92540340
+	0x46d25820	0x8db340f0	0x452cf847	0xea8f58e2
+	0x41091440	0x6399d1a8	0x8a2264ac	0x9609e3ba
+	0x263fba61	0xb1923d79	0xcd9d5fd3	0x4a5b670a
+	0x2d5bb9a6	0x7fb0f958	0xc3c50eb4	0x77ebc5b9
+	0xd0656774	0xf8047773	0x309dbbb4	0x0395875e
+	0xd03f9414	0x541cdf9f	0x1f28cb35	0xae620c69
+	0x714cfe74	0x131f5c3d	0xe1a1276d	0xb4797d11
+	0x1824aa85	0xf695b531	0x30973b73	0x5f95c0ee
+	0xe6722704	0x5d73a400	0x66f06a52	0x08a42726
+	0xd5fb4ce1	0x9577bf82	0xbdfbe01f	0xaf1045c6
+	0x170bb145	0xa40f9795	0x88da4c37	0xa8417263
+	0xc0b19124	0xca1e4aee	0xe16a930c	0x5708231f
+	0xceef40b5	0xce8a8658	0x8d77f697	0x56d8c708
+	0x682fb701	0x062f7bef	0xcdd06d3f	0xacbbce6f
+	0x4e3377d0	0xc8d08a3b	0x07387e43	0xf5738441
+	0x34e27cc7	0x2959d4bf	0x6e798e68	0xe2fd29b2
+	0x95e8b685	0x972bad63	0xac3e25b5	0x57e61037
+	0xc265f8bf	0x697b6f8a	0xf0cf5f0c	0x8733e846
+	0x7a70f93e	0xf370c803	0xd7c74e5c	0x9caccb57
+	0x021cf7b2	0x0c104e67	0xab6f3c9b	0x71000592
+	0x9ba5fc98	0x07060ad5	0x0fcd94da	0xb7cd6659
+	0x54e7be2c	0xfda3d365	0xe418f91a	0x0265bf0d
+	0xa87143e1	0xdf948a49	0x161dfc21	0xb91c3822
+	0xd17f1149	0xd88d6db3	0x02b5ee68	0x306f9e00
+	0x70082a00	0x201722b0	0xfe921c36	0x946a098e
+	0x2c85aafb	0x3feb3e95	0x023d093f	0x68c3fd43
+	0x49796b79	0x215b7bb9	0x7d899645	0x53e0b6f3
+	0x01275119	0x89ef5092	0x0bee6baa	0x828287ef
+	0xf2cdcbbc	0xcad0a642	0xd7dd58dd	0x8507b066
+	0x4867bd5d	0x17735ee4	0x3d8c84d6	0xe7bbfc25
+	0x4afe54d8	0x76a67be3	0x90e22d33	0x7af2edc8
+	0x340d131a	0xd6169ca3	0xfe9c531a	0x80d4a781
+	0x9f0ad542	0x23b90fa5	0xf3e3b2ff	0xdbdd4a15
+	0xe885ffb3	0xe83f06dc	0x36d01664	0xccac8eb9
+	0x0e2fe658	0x8e32fb03	0xf0feb948	0xab0bbc6d
+	0xa2ebbb23	0x82f5a9f1	0x025b340c	0x3a1537e2
+	0x3353e8ab	0x5d461c01	0x8c0fa939	0x7233d4f3
+	0x2d77fcc7	0xd39fadff	0x8756fc45	0x48cbfcb8
+	0x6ba0c1bb	0xaf826bca	0xe471a042	0x2a073d41
+	0xdfff768d	0xe9e7e40b	0x4e26ea1b	0x471d13ea
+	0x3e41db9e	0x2de0a5b5	0x52fe94f9	0xdd74f6df
+	0x303b55b2	0xbcec507d	0x093e8352	0xce8c109e
+	0x5b9e3ecd	0xe0ab45cf	0xcf7e5d4c	0xc96c12af
+	0xe07f086e	0xcf6c6d70	0x3618958a	0x9eff845e
+	0x35d4cbc3	0x68eb4585	0xf20f85fe	0x599d4cc0
+	0x32293be1	0xaae3a3a4	0x76ece22e	0x22e032c2
+	0xaea4cac8	0x563cb9ef	0x85dfd3ac	0x744b495e
+	0x41913409	0x1553da8c	0x1778e480	0x350155b0
+	0x9c1517d2	0x4bb4ff82	0xe8649a4a	0x8858b0be
+	0xd5de22f2	0x4f8485f5	0xcbbb7992	0x0f4bfd5a
+	0x48f9feff	0xee2b26f0	0x3dc09391	0xc8caaf8c
+	0x3e64f3c3	0xf7a299da	0x9285b5f6	0x94a0bed9
+	0x5cfb559f	0x5c152fc4	0xc3ac4928	0xada954e6
+	0x8b0890cb	0x35c8e9d1	0xbe8f23b6	0xa752a66b
+	0x3153a838	0xdfa3ac41	0x2d01f9ee	0x15b6a289
+	0x3a59c616	0xa62ba845	0xc9fceb0e	0x894d02d6
+	0x59bbe43f	0x8999cca5	0xb7e3b015	0x1c56389e
+	0x1a4d8fe2	0xd8093920	0x2ef7b14b	0x4d09fc33
+	0x8148f366	0xb33afb8d	0x62a121da	0x012313bb
+	0x42fcef59	0x69f66472	0xb8539ce5	0xf56a9e1a
+	0x7e8f0b38	0x55a7d94d	0x72ca77d0	0x33eb0192
+	0x393552d1	0x1ea5b260	0x63d751e3	0x59cc559a
+	0x765ec596	0x07dd4159	0x783419e2	0x84870e85
+	0x6fe93a6d	0x1c4fa8d4	0x845a9b43	0xf83c406c
+	0x01bb3657	0xb57f03fd	0x7a43accc	0x25086537
+	0x2749c2e4	0xa74612e9	0x214c1c64	0xff5baeae
+	0xf9718add	0xf45ac774	0x1f709894	0xdd07661a
+	0xad8bded0	0x016f598c	0x85728daf	0xcdf2648a
+	0xba9b05bf	0xc5915f4a	0x0e636683	0x782a41d5
+	0x92258d0d	0x76879ddd	0x4dfef931	0x43c6294d
+	0x9e0a0f33	0x3baf914f	0x82ea0ccc	0x2417f36d
+	0x933d283c	0xd49064df	0xaf705fb4	0x292ff209
+	0x104ecbbb	0xf7161f37	0xf1a32b65	0x440d9e20
+	0x99b1f14f	0xdd7c40b0	0xfe1454b5	0xb66c6234
+	0xfdbe13e7	0x46c99139	0xb8479077	0xf7779973
+	0x8c960fb6	0xa194e586	0x3c720cbc	0xee20add6
+	0x28506fbc	0xaccd5f81	0x80f6cdbf	0xe1c52a91
+	0xc4ccd59a	0xaf1e28de	0xd89853fa	0x85843b1d
+	0x04c1e2ff	0x5c0b4616	0xbbd12336	0x9fa7b839
+	0xc7deed28	0xc2ab5517	0x89cfe951	0xebbdb0b0
+	0x598f7687	0xe928e119	0x3f03cb67	0x985af6dd
+	0x5d54a64c	0x96f70d4b	0xdfe127a3	0x0cc32534
+	0x3fdf00bf	0xa5490101	0x694635c9	0x1d181afb
+	0x195e7dae	0x08d1b01c	0xe50b7f44	0xe0c66ff8
+	0x3e7d7df4	0x29dfa54d	0x396d4d56	0x5a5fec29
+	0x2f0b1ea3	0x1c429153	0xf873906b	0x6eb926ef
+	0x1ed0626a	0x2e783b2c	0xeb16668e	0x54ce6f8d
+	0x44346c9d	0x223594b1	0xa676ba72	0x52e6aad6
+	0x43aac9f7	0x7c3a943f	0xf3b3ac65	0x40406bad
+	0xffe83b06	0x78aa8653	0xa1fa7542	0x6ce5804e
+	0x5460f9e2	0x2d71b525	0xb7326a91	0x4ec206d4
+	0xf527fc96	0x11772a2e	0x2b40b840	0x39d3f9f5
+	0x8b0f190f	0x8644fef3	0xa5ff3268	0x52f86ffd
+	0x0f018df7	0x42540a92	0x7bfc5d35	0x964c0a00
+	0x018bf8cd	0x3ac4a3bb	0x46d91e99	0x34864b57
+	0x9b27684e	0xf52848c7	0xe9f499d7	0x5ed9520c
+	0x325d3019	0x54b74933	0x10bbcdbd	0x843d5ce8
+	0x1350ac4a	0x10054476	0x0c434aed	0x6e401c15
+	0xeac89092	0x8928ccef	0x4b3ceca6	0xb79327e5
+	0xf68b937c	0x8284deba	0x5787d3e9	0x171732af
+	0x2dbe7ee5	0xe7a0c06b	0x95615d4f	0x8f8c11a6
+	0x13b2e6dc	0x55df9fe4	0x087a97a1	0xaf7bd784
+	0x9b9e74d8	0x26a90a74	0x7f4f506f	0x10eecf92
+	0xedd22425	0x490a9ad2	0xc229a4df	0xfba84966
+	0xe7a61de1	0x5bc09b37	0x09114d32	0xda88bc90
+	0x8f445360	0x69b19ba7	0xb9d2a4fc	0x1d971264
+	0xf9da43f3	0xee9cfc18	0xbd336645	0x3bb51d85
+	0x3a9a2600	0x58599a7a	0x48bd1dec	0xd8e78ad6
+	0x40bbca73	0x92b149af	0x063f99b5	0x4647638f
+	0x7d175128	0x140aa819	0x6fe74eb6	0x94691c2f
+	0x317fac5b	0x98a645cc	0xda37bc6b	0x6b3d5ddc
+	0x4ace45cd	0xcd36c61f	0x2e5c5b6e	0x7f5906e3
+	0x0784d3d2	0xf4b96726	0x077559dd	0xe068de7b
+	0xb32065a3	0x630e552c	0xf8f58a90	0x397637d5
+	0xe73aa63e	0x97cc9bc9	0xa4d6d2fa	0xdbbcdbd5
+	0xdd8f2653	0x0c81184f	0xdc1a58ac	0x3b420612
+	0x47c5eee1	0xdf8b7c86	0x12ad08db	0xbdda9dfb
+	0xe15bcf9e	0x98fb6b80	0x1e0abf93	0xdcd32013
+	0x5ff178a4	0x74bc98fc	0xbc942107	0xf84dd8c9
+	0x6f65042e	0x30be145f	0xb6d4fa39	0x54ef9dd0
+	0xc67654a6	0x5a4fbe86	0x97431a93	0x29be3abc
+	0x61f8d807	0xd629e228	0x2d348c64	0x40d53c5f
+	0xb32f8f6b	0x9d7d19d1	0x91c295e7	0x0900015b
+	0x3bd8edce	0x643a6dbf	0xdb9c134e	0x052d2348
+	0x3985d783	0xe6214b3e	0x0ceea115	0x8a97ef33
+	0x1951fd0b	0x05672f90	0x24b61c0e	0x32aa09a0
+	0xd56e1a76	0x9b43c0b4	0xfdf5c115	0xac8854a6
+	0x4574d2eb	0xc3b1fb64	0xfb318b58	0x1b61932d
+	0x645d1434	0xac9c6028	0x68db8a50	0x695e0986
+	0xb9378c0e	0x5d9753ce	0xc5801b0c	0x2b914f4d
+	0x69362da3	0x6dcf0bba	0x3dba091b	0xd81155bf
+	0x2ae6ceaf	0xbc5d3ea6	0xb3696a31	0x0d910d86
+	0x61e9f818	0x11966945	0x7e808dcd	0xd6c990a3
+	0x23fed067	0x7f98fe99	0x38c05e9b	0xfac83319
+	0x6f40f294	0x99225033	0xa04177da	0xabde8892
+	0x09bb36f3	0x7a958cd8	0xb74932bf	0x2efaf9cf
+	0xfcdf2bcc	0xc5baeafa	0x289ad862	0x3eb0f9fb
+	0x524bd500	0x66182e9f	0xab892c38	0x64d7ec97
+	0x510aef95	0x9f7cee10	0x415865ba	0xcd86791c
+	0x17c3bdad	0xe214512d	0x3fc96df1	0x93b8d658
+	0x4e817981	0x74192d57	0x1718380b	0xc3b266e1
+	0x3c29d04c	0xed3f09b0	0x3f336186	0xc74a44e4
+	0xd30e15b4	0x3fe5cf4b	0x38e02365	0x87da8d5f
+	0xa6918ee3	0x1f58d143	0x7d762103	0xfb1b37e4
+	0xc9ba17ca	0x29105a84	0x01c6f74c	0x577de9e7
+	0x270ed2d2	0xdd28071a	0xc66d7707	0xc9250b61
+	0x11521c10	0x9efab61b	0x94ef5452	0xc2a8847b
+	0xc4eb4a70	0x75549c80	0x5a398a60	0xf27cf77f
+	0x162ccca7	0x6cea6d46	0xf8724576	0xa7715f1f
+	0x83472f4c	0xaaaf12e8	0xe5f3225a	0x602188f3
+	0x8e10688a	0x477793c2	0x055a94f5	0x989004f4
+	0x50538cb2	0xf758cf09	0x5b3e1f0a	0x9d3be1ef
+	0x78b3bb3d	0x283429b7	0x5904b82b	0x7791ec90
+	0x4f62f742	0x85910cb2	0x88227cd9	0xab20b554
+	0x9e181a23	0xe4ca55f4	0x415ecf0e	0xfbba25b9
+	0x56dc4d43	0xe491fb91	0x008dc964	0x8528b622
+	0x9538ab29	0x1fb56a06	0xcf6b791d	0x138b53ab
+	0xf37d6d8c	0x38f813a1	0x59447c80	0x9ec08e62
+	0x551d8684	0xc30c28d2	0x4f7a7e94	0x2f1a6fba
+	0xb03d5bca	0xcea3cabd	0x1c3c66e7	0x89b412d3
+	0x31eec879	0x51d9c13f	0x8d4e64dd	0xacaffbec
+	0x1e978596	0x6663f425	0xf344dd59	0x5254ff1b
+	0xa6bc460f	0xc4fdb022	0x3d5e5d4d	0x411f5f91
+	0x8c574d13	0xbe2ae560	0x0882307b	0x26a703f0
+	0x77a928f2	0x1c65e6e7	0xab26ad92	0xa370c465
+	0xc92aa2c4	0x3ceb0899	0xcbf6c098	0xf133da7a
+	0x4ea55ec0	0xe80a19b7	0x2c44ac08	0x76a7f23f
+	0xbd64ba33	0xf3ead7d9	0xb1638c82	0x2959cdd0
+	0x0a7646f3	0xbf2857f7	0x355605cd	0x54801112
+	0x45622ed8	0x9f1ea771	0x63a53f12	0x81d63a7a
+	0x0a989e59	0xc3fe2618	0x65762357	0xeca3af22
+	0x138494f7	0x17795305	0xefaa46af	0xe5a3d0aa
+	0xff654c04	0x4f9543ff	0xd32bf76c	0x90a9c531
+	0xd72ef592	0x47396347	0xeb3902d2	0xbb67ba7f
+	0x9885fd57	0x663d6975	0x4ffd1507	0x465c7749
+	0xa09ae051	0xf1ac19cb	0xae4a58ff	0x8d51f111
+	0xe6cfd107	0x183241e8	0xe1024212	0xa6a1be30
+	0x0d6fb8cd	0xa9fdfc68	0x682db3de	0x600a1191
+	0x6576b836	0x1cfb2dbc	0x81edbcf7	0x6724d6f7
+	0xc953334f	0x8beb8c32	0x1cff827e	0xa1b64518
+	0x94bd5568	0x9645ea51	0x1b17cb54	0xb4537111
+	0x4ee6404b	0x4a9e390e	0xcc3f0596	0x3b40e328
+	0x0a8a46ee	0x18a2497a	0x4ebe7b10	0x4734ed23
+	0x4b5b780d	0x2d58b0b7	0x4f003454	0x106ea2b0
+	0x96338a78	0x99a2d258	0x3bcd3c24	0xe9171f98
+	0xf53f28be	0xeb4c6bdb	0x7873f13b	0xadfa32bc
+	0xfd9a5c9a	0x8f9c0955	0x74a20e95	0x0e5ceb7a
+	0x6cb22f73	0xa0e403a1	0xb3b46888	0xfd897d09
+	0x75a7571f	0x6f57ee02	0x6ab0b730	0x5ec25c97
+	0xb7ad96a0	0xdf8c309b	0x1ef43910	0x8aa0762b
+	0xb837ae11	0xb8dea241	0x48fd99dc	0x7f172ee6
+	0xa601708e	0x73db75de	0x992c9983	0x63712a44
+	0x4959af0c	0x7e2918f1	0x171d5d78	0xd08a48b4
+	0xd4918738	0xa793aaf7	0x75ba7d1b	0xa7906816
+	0xd2448c66	0x2dbb4c5b	0x06bd992f	0xac8e6248
+	0x0598d56b	0xb270c2d4	0xb30e6c13	0x8e4d5737
+	0xfa6d2ff0	0xd9b814b2	0x67f8c96c	0x25eb6d9a
+	0x84ab30a7	0x1bc02a16	0x1b7490b4	0xf15f3b88
+	0xff30e664	0x93923f25	0xd7d16d36	0xae8a6386
+	0x5d570513	0xde712ee8	0xdf6f779d	0x69f99aac
+	0xc08c2fa9	0x2936303d	0xb827825d	0xeb572a57
+	0x889f4adc	0x88f7a156	0x8e55d08b	0x6ef07e2f
+	0x85197e9a	0x84ed69da	0x9f71b333	0x541e5ca9
+	0xb50378ba	0xfb378085	0xfb70ab90	0xea0118cd
+	0xf2af9e45	0xe3cc28ba	0xe23dd167	0xca4ca7a9
+	0xb0dd538c	0x06200f5d	0x5cf68a66	0xf91ea9af
+	0x69679e3e	0xa119c1a8	0x1381e5f4	0x4dad271f
+	0x44e96569	0x7f4c0a70	0x48b1f70f	0x3ed120ce
+	0xa9a14283	0x848cddc8	0x29bff7d6	0xcb3818bc
+	0x6b9cf285	0xea21693a	0x2bfe9e1a	0xd675777f
+	0x964c311f	0xa916619c	0x271395e9	0xf18749e6
+	0x6e490302	0x75d6a3f4	0x1a7a5cdf	0xeda3ed50
+	0x04fc7264	0x42b53a21	0x82f2706c	0xe5a6f0f9
+	0xa0636220	0x4249c3b2	0xa5e01986	0xd521df61
+	0x8f5107ea	0x18bdae9f	0x3a685b33	0x5b68b069
+	0x81842215	0x3477440a	0xa4ea6722	0x4282ab6d
+	0x95438aad	0xbf5c89a9	0x73caf622	0xdbe07f84
+	0xa0b36e6b	0x9ee5fc76	0x371a4e80	0x0dc46f3c
+	0xfbe25193	0x0a416bb0	0x3ac9ffad	0x42ab52d3
+	0xc2c7ba93	0xce3914ab	0x7cbd49de	0x39cecd8a
+	0x6c6e19f5	0xae1cc215	0x68647865	0xb9878bce
+	0xc69e46ff	0xbe330e8b	0x9b26e30a	0xa023d085
+	0x39d91fc7	0x4401e719	0xd9f62ad9	0x6d1aef5a
+	0x234c8a27	0xe4f8e6e9	0xa6c63d04	0x601da433
+	0x359bc185	0x96a6a1d3	0xeca09192	0x1bb7b4d9
+	0xa6b66bb9	0xa20f2686	0xe08e66fa	0x83e105f0
+	0xd0d3070c	0x56e6f3e3	0xb52defd8	0x89e3b8db
+	0x87f5dbbd	0x82ae6cb3	0x5133abdb	0x722ad75b
+	0xfdc790ca	0xffcb2097	0xf5a5f8c2	0x598a62d9
+	0x69abe5f5	0x3cd812b2	0xc1ead283	0xf308a524
+	0xc69a652a	0x60bf3daf	0x7e8c3c8b	0x060c78af
+	0xa427b01a	0xb7002ac2	0xee11e506	0x3b1f02b5
+	0xfd6a99d3	0xf68673a2	0xfea0aceb	0xb7e3129a
+	0xcd6be898	0x1e350a9b	0x00087306	0x651027d7
+	0x96f67b85	0xfddd87e2	0xcecd9ce1	0x23914f19
+	0x2baca7a7	0x59e98966	0xe3d40395	0x0d474a28
+	0x21a45fbf	0x180cce5c	0xb95349cd	0xfc33ab53
+	0xfed5c534	0x31ea17b3	0xf738b5b8	0x3c7b1c2c
+	0xb4ff97fe	0x2991d2bf	0xa161c7d6	0x0b8d0e28
+	0x2bb0845f	0xa18ee08d	0x3cbb23d3	0x272d2fde
+	0x979f51be	0x402a856a	0x2e2e684c	0xc0725c5e
+	0x151498e0	0xcd3b3ca0	0xc284884b	0xc35eb429
+	0x7011a50a	0xae111112	0xaa6b3716	0x583738ce
+	0xd3233b6b	0xeacf9269	0x500c7c5c	0x5ba9c133
+	0xbc02b573	0x7f324a4a	0x0da91320	0x8481fe8a
+	0x86bda1fa	0xa0644d02	0x42ec50ee	0x3cc0dcbc
+	0x91782c66	0x49e0bc17	0xb72ac376	0x2a599d01
+	0x72666f91	0xf28b3a2b	0x2e1d4883	0x9eef84fd
+	0xeb1156fc	0xb82fb5e7	0xc1d31b05	0xd0e66645
+	0x17936957	0x4e70a725	0xf2104854	0xfb1a8aa3
+	0x33dd7589	0x7cf3351e	0x7be5be6a	0x69f1efc2
+	0xf6bc5444	0x71b15520	0x23bd7f80	0x5f9b8652
+	0x74ec2e77	0x8a7475d4	0xcb055568	0x56638ae9
+	0x059d2310	0x61d0ebaf	0xdcdb9ad8	0x80d3ed00
+	0x691d72aa	0x348fdef7	0x82f12704	0xfb9f8298
+	0x1e6dd716	0xe43a1bbf	0xb0d9fc3e	0xf041bd37
+	0x55663cb8	0x58c507dc	0xdeacc350	0x95d01a50
+	0x0a5a1a98	0x3bca74f9	0x5b83fa01	0xd29a2529
+	0x80dd918d	0x152c46d1	0x70d432af	0x60f8283a
+	0xf5c4866c	0x4af696c1	0x03059ee5	0x2d5ef125
+	0x56138f9f	0x3192ee6c	0xc8c0fced	0xd527524a
+	0x3547f3ac	0x681877d7	0x85ab46d3	0x150c4b81
+	0xe6f18306	0x434c8d75	0x1d1c9390	0xf3e81419
+	0x8d3d8764	0x7dc75ec7	0x75c3b569	0xcd03a1c4
+	0x9d3f41e9	0xfe19b33e	0x0e67a028	0x79401e87
+	0x0e037b98	0xc58d76ca	0xe0f18cb7	0x8c560033
+	0xa4665500	0xc4bb78cd	0xad95ca98	0xd68fb836
+	0xfdf57060	0xd80497a9	0xa7a421ea	0x96d32db5
+	0xa66fc3b2	0x95cdb8cd	0x23d0f185	0x91efb9be
+	0x7d9e1f37	0xef1c892e	0x1d486e24	0x476682b7
+	0x0a050d32	0x88d9c829	0x541c8537	0xfd710cde
+	0xcba5a430	0x2439f385	0x72fd21b2	0x2ca554f3
+	0x614f7729	0xec985291	0x0ca509cb	0x6d6e05b6
+	0x08dd92de	0xbd192b92	0xe8ccb7e4	0xaf07cb91
+	0x799ad4e5	0x5b4c6bf5	0x1a96cc14	0xcd2ae345
+	0x17c15ee4	0x6197b941	0xe24b83b1	0x7d9d6993
+	0x70f9691f	0x60bf2e52	0x1d01c51d	0x3bee5868
+	0xdfd72783	0x8a0f4233	0x866a6236	0xc2740cc1
+	0xdbaf339e	0x559cf7c6	0x96de364a	0x9c7cbcd6
+	0x7217baa6	0xd82daa51	0xcf0c97f6	0xd0db73ec
+	0x4f14d278	0x4669fa19	0xcf5d110c	0xe2011982
+	0xd1bb97b0	0xce81f96f	0x8bc01310	0x37156ed0
+	0xd77a974d	0x2a9073fe	0xb5f0d732	0x8a813bbe
+	0x971eb766	0xca2c3d14	0x4c96d317	0xca6b323a
+	0x85935552	0xf9f02c07	0xab3740ff	0x067505c2
+	0xf5d79a6e	0xe0f07b19	0x84078681	0xec6f3957
+	0xe440ea84	0xfd6e6309	0xa6179eb4	0xbec35610
+	0x8174ddc6	0x6c748197	0xc731de2e	0x49ae5123
+	0x7f467990	0x19f1f7ed	0x59ea5f2e	0x325c88c3
+	0x833d42ce	0x621d7c1b	0x6ca406dd	0xa5680ffe
+	0xd1c7b2d3	0x5a0bf09e	0x513d1f59	0x30882bf5
+	0x5a3cc060	0xdc71a26b	0x70289e32	0x236092e0
+	0x25b2423f	0xeaea4214	0xf8a027f9	0x67bc07a0
+	0x860f374c	0x52c05b05	0x3cd08d35	0xe402c8d6
+	0x3e3bd1a8	0xe2719582	0x095e06c8	0x17c0fd86
+	0x6bc76611	0xdea59bd8	0xc34b8f1e	0x763a1679
+	0x8c26c74a	0xd9a379b0	0x13aba746	0xfea28b8a
+	0xeebd68b6	0x7c4be527	0x53e05cbe	0xd4696042
+	0x8d2aeaec	0xcfffe2d7	0x2f668a74	0x79eebfb7
+	0xb0b47728	0xef935a45	0x40776fa7	0xa4dc6e68
+	0xc134bcb4	0xf56a1c7d	0xd7b188db	0xfccd1513
+	0xd5fa1cdd	0x0da42ee0	0x917f9565	0xc85997bf
+	0xf3e0f227	0xe09dc49a	0xca311aaa	0x574b0177
+	0xd9e5882a	0x0f2ff3e6	0x1b9769f5	0xcb86228f
+	0x3530ef4d	0xc0065320	0x55c4a52c	0x56bcf2b4
+	0x28d6b879	0x4f6bca0b	0x8c13384a	0xa1ca5361
+	0x48532265	0xd6167805	0xa63e0df7	0x1c83982b
+	0x367bbf0d	0x14e4797d	0xce1f56c7	0xa04a254f
+	0x0100bff2	0x253f6912	0xbdab9fa3	0xdfb39d62
+	0xc61c6b98	0x328b68dd	0xeaa264b6	0x892578f4
+	0x0ccb1952	0x9f21a8b8	0x38484927	0xc35a4a04
+	0x901e27da	0xea2b1952	0x3a04a54f	0x22c27e88
+	0x536408bc	0xe40b9d2b	0xf97afa03	0x2425f1de
+	0xbe9e79cb	0x5c656ea4	0xcd9f53d7	0x7c2459c8
+	0xf2cf492e	0xd66ba4d5	0x932c54a0	0x682dd6dd
+	0x1fd9d2f4	0x7a4c719f	0xd3102aea	0x0ee30eb7
+	0x26328baf	0x828ef58b	0x8a78a330	0x00c1742f
+	0x6a918626	0x9de34f8c	0xbcdef508	0x260901a7
+	0x7ce3d9d7	0x3b2ce881	0x872791ce	0xb877f248
+	0x208c6741	0x3926bb9a	0xf6ef56c4	0x71e95a98
+	0x6e65ac48	0x32655c5c	0xe17578aa	0x7f79bc19
+	0x5f2214eb	0x2fdc1b96	0x1339f21d	0x2b9b682e
+	0x766f751a	0xa63dcd95	0xd7a19033	0x3dbf3738
+	0x6f1caa22	0xb2145b92	0x27350daa	0xe36d8963
+	0xcb6152bd	0xaadba327	0x3264e5a5	0xcde388d2
+	0xbe051823	0xf812b0f6	0x0dd2725a	0xb18d071f
+	0x55f11010	0x0131337d	0x773fd32a	0xb2cef0ec
+	0x8c777bb7	0x536358dc	0x3ac5b6f1	0xb0032579
+	0xabdd5210	0xa2ea314e	0x73a3906d	0xeb00bd25
+	0x1fdbb407	0xa395c963	0x6be88c57	0x49697e3f
+	0xc45e7d24	0xe7fb738a	0xf461814c	0xc8e10092
+	0x0d7b6ef4	0xe30c0ea5	0xbf3d6067	0x6a341bef
+	0x7eb252b9	0xe353e73d	0x84a72fa6	0xa1d7799a
+	0x0b28a100	0x3e979814	0x0a01e9ba	0x041213e2
+	0x9682d08f	0x97db936e	0xbd038ed4	0x018805bc
+	0x5744f72b	0x293acae9	0x33361db6	0x51dad2b4
+	0x71444411	0xf734afdd	0x2fd51800	0xaf887d8b
+	0xb8650c96	0xddec4e1c	0x4c20c82e	0x6844bfe5
+	0x1b4e3911	0x4376451c	0xfd8a040a	0x42203ede
+	0x5ff4a30e	0x033125e5	0xee955d8d	0x60bb6fcb
+	0x88e683e8	0x2c64e94c	0x7fd60fb7	0xdf71ff7f
+	0x56e0b50d	0xeb80f2dd	0x8b51a6f3	0xc84563d0
+	0xde6339e1	0xca9527ae	0x24c47d25	0x1bd828dc
+	0xf0bcb594	0x8663ed64	0xa1c7b5b0	0x1c586cfa
+	0x7a50799b	0x74c48f60	0x631183a7	0xa432410c
+	0x410977ca	0x222954b0	0x8263a564	0x41acbe9b
+	0x561b3f37	0x89e3ae92	0x9cd9d49a	0x4301b667
+	0x985f3ae6	0xe2e3cb2b	0x9e9c9095	0xb46966c9
+	0xf4103b85	0x911c3159	0xc7d3e024	0x8f315d21
+	0x0509d166	0x9f915cf3	0xd20cce6f	0x93f3af79
+	0x0f91111e	0x1d8830b3	0x983caba4	0xfebe1539
+	0xa3fd7366	0x99a86b87	0xfb009453	0xf0e5c885
+	0xff8026f6	0x191d065a	0xd98a7da3	0x6d2eb3ad
+	0x46d35a1f	0xd0bba3ae	0x4310dfd1	0xf603632d
+	0xdd07ff8a	0xf2cb72ff	0xd9643599	0x2e020a79
+	0xb964ee0f	0x2211f75f	0xb3729296	0x9124d4b5
+	0x7d657de6	0x542b4144	0x59cfad0b	0xe106d924
+	0xa6ac25fc	0x4f4dcf4c	0x09a03e2b	0x2593cfc1
+	0xeb51cebe	0x3c52ac75	0x4c9091b4	0xcde9d0e9
+	0xefca538b	0x6e4ba953	0x91b2f850	0x8ac76d62
+	0x7dd300ce	0x113b588b	0xf4d90739	0x6efa3b7d
+	0x69bf858c	0x36fbe931	0x78ce8a1f	0x44c13036
+	0xb5cda075	0x952b5f83	0x58e926e7	0xc33b1d22
+	0x4678b660	0xc534c50a	0x6b045967	0xbc593b62
+	0xd529ca82	0xddafd549	0x534a4675	0xc5f2810b
+	0x010d724f	0x9bdcc4d1	0xac25d0c1	0x3337462a
+	0xfdad1b5c	0x942d2ef3	0x5bc00f04	0xc1c0a1fd
+	0x2cd752a4	0xbc9ddbe7	0xf9fe8983	0xe7f62a40
+	0x5ecbc1eb	0x97215bf5	0x7d4ea578	0x9fa60471
+	0xdfffb2ba	0x6e2e0e99	0x55339f5d	0x89a6fc60
+	0x784585c0	0x5f3f1cda	0xd9b9eb32	0xcb6392cc
+	0x29ccc5e1	0xece21770	0x60160a23	0xc1a4cb2a
+	0xc04c2c5e	0x7d11d3b7	0x4e508c61	0x252d370f
+	0x61ca2fe3	0xb8893354	0x156a1bee	0x8cfbb425
+	0x0ec00ff3	0xb2d2c12a	0x744e9a40	0x9b1e322e
+	0x20a00e1b	0x41f36133	0xbbf6844d	0x899998e9
+	0xb61bdcab	0x9f099e9b	0x17f82e06	0x7be263a8
+	0x49da5051	0x8e6c0a37	0xffe21180	0xedd1b2df
+	0x9ea4f41d	0x52b90d0a	0xffe84c6a	0xa8a98e48
+	0x10b792c3	0xc671854a	0x04d6d76e	0xca21a927
+	0x69562081	0x42ba970e	0xa47d3ded	0x11290900
+	0x1bce8523	0xd23d507b	0xf9371906	0x68fefac7
+	0x86ba4afb	0x178b9522	0xb1b26fad	0x6c4bd4e5
+	0x87f32b9b	0x4bc26f5b	0xa8c1748b	0x7bdd23b9
+	0xca098aae	0x6f816727	0x83eaa588	0x3ac77f98
+	0x8d417845	0xfe66d122	0x80c414c3	0x506db940
+	0x79c972b2	0x84c4b037	0x6580b38f	0x1cd7ac85
+	0x96eeaa0d	0xf718544f	0x756626dd	0x617b2315
+	0x00d28310	0x3e5a31d1	0xe05f100b	0xfa00bea2
+	0x3d1ce179	0x1da00cd9	0xe1cc6bc6	0xe07a17c5
+	0x9f4fd5d9	0x64809f2c	0xb5a71c87	0xa0b89200
+	0x12fd1d30	0xb026eb38	0xe84069bf	0xed556b2d
+	0x48b71126	0xa6fc59da	0x4801cda9	0x54323a0d
+	0xac881a6b	0xd6b8b66a	0xcce5dedb	0x36bdd0ef
+	0xbbe0dbca	0x8267f1d0	0xc7144609	0x8c4a5a8b
+	0x9b4bfee5	0x2400014c	0x51da7bc8	0xaa980c19
+	0xbc6bb101	0x4ec052fa	0x382f14f4	0x1d3d0d99
+	0xbe93b2bd	0x4541bdf6	0xb96df961	0x0db074ba
+	0x3d930ac0	0xbac1dc8d	0xec705170	0xc682e13c
+	0xae6373da	0xd8b872ff	0x815dcf44	0xaa0bb85f
+	0x2a08228e	0x50d4d118	0x8f158f8e	0x9344b454
+	0x40cfeb63	0x8711d963	0xa00597cf	0xffa6c123
+	0xfea36087	0xf1127531	0xff5b516f	0x49ab591f
+	0x66a4f2c1	0xe46f9f84	0x895384bd	0xb10cc9a9
+	0x58aa653e	0xfc456ba5	0x7bb6eeb8	0x7af7745f
+	0x2322ddee	0xe972a8d7	0x5c202012	0x009c983b
+	0x47086cce	0x23f78f4b	0x932b8ec3	0x49e50004
+	0x9240886a	0x4a173bc2	0xfa3164aa	0x1d9d2288
+	0x29e23199	0xb08d8bf5	0xac5274c3	0x55486b55
+	0x2c0d04c4	0xbd357b9a	0x766a55e1	0xa3a59052
+	0x4220d9dd	0x82b1ee57	0x0bb060a4	0x78150cf6
+	0xd037d758	0xb5aa59ed	0xae9dae85	0x80426176
+	0x72f8ffc8	0x7380897e	0x56ae8a52	0xe86a04e0
+	0xfe3d33be	0x4cc78b31	0x16ea75bb	0x40a64a3a
+	0x4ab21ffe	0x8509097b	0xdf89f438	0xd0a8df88
+	0x9b06018e	0xffda7f12	0xb6412342	0xa2234c5c
+	0x073c54a0	0x54ab932b	0x54f3ba7a	0x767d27d1
+	0x0e823a8f	0x206e93ab	0xab7b029a	0xd1e6fddc
+	0xc56aff85	0x11fc8e64	0x104c00ef	0x1cdb304d
+	0x669861d5	0x2fb3c3c1	0xcc3e829a	0xa4e01628
+	0xfd07ac4f	0x311062b3	0xa82b6834	0xba8a782d
+	0x5d139ca3	0x092f4c64	0x97a138b1	0x671bfe84
+	0x32395323	0xb4811fe3	0xe4e1fdeb	0xee692025
+	0xf9489f39	0x676f1f08	0x868dabc2	0xf9284790
+	0x12fe33ee	0x4bf3eb4c	0x180dd059	0xa205262a
+	0xb6054936	0xcbdc411b	0x7ef444c7	0x6f709eed
+	0x75869b11	0x7a1ea66a	0x43a5c950	0x4050e2f4
+	0x19a0cbcb	0xda1245c6	0x46bde7e9	0x4624cdac
+	0xef1f2c6e	0x0cfdd195	0x22c250e3	0x6dfbabeb
+	0x65d6dbfe	0xc32560b2	0x83817d15	0x2334666c
+	0xb2c7847a	0xe33a2456	0x74c202d0	0x6ee768e4
+	0xdb5adcfa	0x575521cf	0xf35166a3	0x38a1e16a
+	0x5e52b85d	0xa9105dea	0x3001f463	0xa81282b5
+	0x40f621fb	0xe017ed72	0x53179b07	0x5fba0fe6
+	0x273a09cd	0x33c59783	0x36e46a18	0x2444bd0d
+	0xca7bfbcd	0x72126bae	0x8e73e4f4	0x19b8327d
+	0xde5ed4cf	0xc69f7abd	0x39e087ca	0x867bef14
+	0x44412cca	0x8bd477f7	0x7b454f92	0xd29dcda2
+	0x3985521a	0x3d057f8d	0xb4f25bf7	0x5ddf53a2
+	0x2dbb000a	0xcc769706	0x7c509a35	0x7536d0e5
+	0xe6fb28c5	0x78e9ca32	0x11c593a7	0xdc654c6b
+	0xc536316b	0xa0bf76f4	0x73a446a8	0x18b86ee7
+	0xbcac6e11	0xa3d419f1	0xaf64cbca	0x9f51f8f7
+	0x5eeb5c32	0xd0fe97f2	0x88d1121c	0x3b22fe5f
+	0x720a79e7	0x30bef458	0xf83ea136	0x96b9b18f
+	0xd5f7c727	0x85d43ffd	0x0d33c6e6	0x18a0e37a
+	0x210e8a58	0x638cc461	0x3ac82eb5	0x0d3a098b
+	0x2e844cc0	0x97fbdaff	0x4be281ab	0x539ce211
+	0xd431c84c	0x1d5606f9	0x92ada3b2	0xc351847b
+	0x7595a55b	0xfd20526e	0x7f7da312	0x50ee5988
+	0x86619923	0x58c93c12	0x48de7c9d	0x8951775e
+	0x86c58dc6	0x7c11bb9d	0x1445cc73	0x4a5fb963
+	0xfb67eae4	0x715bad5d	0x5b5282e1	0xe6005c13
+	0x76aff50f	0xe1ed4e10	0x8ce7f4e1	0xee046339
+	0xef369f23	0x88f8dcd9	0x277b7f26	0xf8afc49e
+	0xa7114f15	0xb77f54a0	0x96a890d9	0x89c723d3
+	0x6bd5c7b0	0xfcf80514	0x46ac6c44	0x58159bb4
+	0xfa39868b	0x305e3d31	0x8dbb8ea7	0x2172f94b
+	0x86f7674b	0xea2c4e84	0xe7122ae8	0x030e2111
+	0xf4bb22fc	0xa6d86557	0xc25553c4	0x11022c02
+	0x60bb2490	0xd072401d	0x1fae9bee	0x8843ad22
+	0x8166238b	0xe26ad06c	0x5b96a160	0xab9ba04b
+	0xbba87fb5	0x87a089a2	0x3c443686	0x95cdb795
+	0x2070abd4	0xb66fae78	0xd2cd443d	0xe3f960f7
+	0xf01a5190	0x0d8e29d1	0x812d7ddc	0x436fddf7
+	0x85da3ee8	0x3c5da6a1	0x98e3063f	0xeab3e9dc
+	0xb19c265c	0x148e8255	0x7f1c1be5	0xfe9a28c4
+	0xc6642072	0x79db6955	0x36a653fc	0x7387416a
+	0x963963a3	0xa384062d	0x2f523d8f	0x4c17cb15
+	0x1ebeeef8	0xf3251237	0xd3562689	0xe1261014
+	0x0277fa19	0x4eaf04fd	0x3c1a02cf	0x7f2d35c8
+	0x71838b3a	0x89bf3914	0xc2e1167b	0xe30f07a1
+	0xc1ddd568	0x6b760cc3	0x12e2bd8d	0xc81cc476
+	0xf95424d7	0x48166ebb	0xae89af8a	0x4eb2b613
+	0x05c0499c	0x43f7ae47	0x49b26a4d	0x70efebc7
+	0xe6458dc0	0xd931c67f	0x564d09fc	0x3f5b48c5
+	0x49113b37	0xfae8eb42	0x340f6fec	0x722f8f0c
+	0xd8329272	0xa623e80a	0x3547cab4	0x266b501a
+	0x6e762890	0xc1484a56	0x54a9801d	0x37acde5f
+	0x4709ff9e	0xa7d6455a	0x55d30ab6	0x7fe5dd42
+	0x79dc6301	0xb597d3cb	0x1cfafa97	0xa9a46412
+	0xfec0a81f	0x9285ceaf	0xf1f1519c	0xdd50d7ae
+	0x1c64953f	0xf3e172e3	0xced17f5f	0x1cc66c02
+	0x44022f6a	0xffd7ecec	0xacad3192	0x24fcd3c7
+	0x54c193dc	0xa698c52e	0x55f7a806	0xf200e68d
+	0x7c5649a1	0x91595665	0x176f5f43	0x70ddcab3
+	0x34603fc7	0xea739a38	0x0972dd60	0x846544f7
+	0x5499b006	0xe4f7a0d5	0xdd6c9139	0x9c25e62c
+	0x88f53b0d	0xbe1074e8	0x160b4f39	0x698352ef
+	0x5aace662	0x1bd05b38	0x873e3b22	0x6a368f2a
+	0xf2a7c13b	0xd4d5b269	0x255e6546	0x3ec84e52
+	0xcb0fe661	0x0dcfd5db	0xb5fc18b2	0xa66c333d
+	0xd947a7e0	0x1d6e598d	0x01190e16	0xa02b5a31
+	0x83389457	0x068520cd	0x5492f8fd	0x36261168
+	0x1f46a505	0xefb43fbd	0x1079db7a	0x1959e999
+	0xe68a7bf8	0x9f4df5bb	0x58724697	0xd2144804
+	0x69478ac6	0x1f40cec6	0x3cb38516	0xd34988f4
+	0x834f7d76	0xf5e7fe32	0xef2c015a	0x18eae9a8
+	0x1acdcf92	0x8c8d43f2	0xbc4afdcc	0xb94060bc
+	0x085ca92a	0x60f68fa0	0x58e8df01	0x8cbfd008
+	0x9f3bf0f7	0x41bf92c7	0xe15a791b	0x820cd473
+	0xd85604ca	0xcf461ecf	0xbf4dcf27	0x21d0b4b7
+	0x5b8f7cb5	0xb0d8720a	0x93108f23	0xda9cc89e
+	0xdc20dd9d	0x26cad1b2	0x7863489b	0xd8b7881c
+	0x7d4fe255	0xa568cb77	0x7cd793c2	0x97369021
+	0x4f0192ee	0x80069294	0x56231744	0xe896631b
+	0xe90773bc	0x60dad8d7	0x30774647	0x4615aaf4
+	0x4d6b8af2	0x1ea00762	0x4ed2a604	0x17da0aba
+	0xe683308e	0x181cf60b	0xdcf9852f	0x8425e6f0
+	0x0a0fd062	0x2caf198f	0xd73456c4	0xf01ae7a1
+	0xd35a93e2	0x73039b16	0x0898e624	0x4fce54ed
+	0x35a9acce	0x7fe8568d	0xf07fdfa0	0xb24aea3a
+	0xa7cf4dcf	0x71e9147b	0x5474a30c	0x4400103f
+	0x70f1ed1f	0x2fba3216	0x318139a0	0x2d97bd43
+	0xabb875cf	0xe5c48965	0xa617b7ff	0x605f5312
+	0x657a4913	0xae5c7a1f	0xd7278db5	0xa727c6ae
+	0x23237019	0x1bca1cf3	0x4ce7d75e	0x3d6260de
+	0xda7542fb	0xfed426b5	0x584aacd2	0x409d7f66
+	0x0cb12eda	0x32045830	0x3ea4cef8	0x23f1ae12
+	0x82b55794	0x88476e1e	0xf5e6fabe	0x9dd24014
+	0x526dc5f9	0xd5330e74	0xf564e324	0xb7ed3a40
+	0xc666a437	0x8e621109	0xb0bb5c5a	0x882ec891
+	0xd2ec223c	0xa4e014f1	0x18c986f4	0x37b091ff
+	0x99d834d7	0x769c83e7	0x2cefe61b	0x568a793b
+	0x2323c761	0x89a5b8e0	0x6362f58f	0x45be41b9
+	0xddca518b	0x6b75c740	0x3dcea7ab	0xaab3321c
+	0x84ac6e36	0x151aa4bb	0x5ef8616a	0xa8a6f4f5
+	0x8971c6d6	0x4ba09733	0xb00ac1b6	0xcecc0a8e
+	0x3902fce3	0x99cd7764	0x49635cb2	0x61285d7b
+	0xe864c399	0x2888ae44	0x8456ae24	0xf4309ff7
+	0x44fa0710	0x068ab156	0xcdccae46	0x510a3ad7
+	0x00fdcbe5	0x707b0b45	0xe2498381	0x6d5b5891
+	0xb7840535	0x916e2105	0x75bf1f3b	0xf1a9b91e
+	0x22059373	0xde5f66db	0xca763395	0xac7368db
+	0x094a11b7	0x00de9249	0x3b028a80	0xd3bbe38a
+	0x020c4fac	0x15b1a7f4	0x823fd68f	0x7aedb2c8
+	0xda1dcf88	0x8167363f	0x5212c8ad	0xcc539c32
+	0x9a592ed8	0x739d5dd7	0xb07487b0	0x44cfb5a6
+	0x4b7e9b69	0x6d955dd2	0xef11d8c9	0x1801ff87
+	0xe538e687	0x837d77d5	0x5dd3dcf6	0x763dcc25
+	0x8ba97294	0xa59a0e1d	0xc545bdbc	0x459b4722
+	0xbf6e6ca3	0x923e279f	0x21469de7	0x915755c1
+	0x779d24ba	0x82f39460	0xbd7ba86e	0xd410a466
+	0x27e5aeaa	0xebc0bce9	0xd3952d25	0x7639086c
+	0xc92aa304	0x1912539c	0x9ea5299b	0xd63291f6
+	0x9fd17cd9	0x12689c75	0x0b2475ba	0x2f29f0b4
+	0x1686610d	0xb7908df6	0x7e018220	0x6a9d967a
+	0xb8853d2f	0x8f17d277	0x8ee35c9e	0x5bb52123
+	0xcdc51b2c	0x11ab24ea	0x97a5e07e	0x16ae2ec5
+	0x9d89b449	0xe0cd155e	0xb566de07	0x3da387d8
+	0x2b163524	0x04a4e8a2	0xc08632ca	0x74346654
+	0x334a0eb5	0xe0fec033	0x0f07e557	0x579cb55e
+	0xc6a3b9c6	0xa96c9277	0x376ee1fa	0x44868b46
+	0xe7f1b1a1	0x573319b5	0x7f7dac8d	0x6bc19580
+	0x3a090d03	0xfc314db0	0x979d1515	0x13778534
+	0x4449b939	0x0a8313b9	0xf8428aaa	0xb97a50d0
+	0x7dbd8c53	0x76b2ffe6	0x15fffaa2	0x63c4df79
+	0x3b282acf	0x2c751b03	0xaa6ac19c	0xd0ebe2a7
+	0xd309415f	0xc6c76dd2	0x1f983341	0x8aabd53b
+	0xdb5b4aff	0x12c283d2	0x62ae51aa	0xf30240c1
+	0x026336e8	0x538067a1	0x86fa2b2e	0x247758f9
+	0x42ef3f1d	0x930ea01d	0xadc11695	0x8a5ad5ab
+	0x961378d8	0x815dadf4	0x89d6726e	0x9974f509
+	0x9467085f	0x3f737b8d	0xe4b7e85b	0xa127a188
+	0x43859791	0x04509c12	0xa908227e	0x4e881c59
+	0x146a901b	0x36043abf	0xe0249d3f	0xb8b40360
+	0xbc0e5905	0xd0897708	0x5bdbae08	0x2b9b4a5e
+	0xf4f0f498	0x0d74ecf3	0xbdc2b65f	0x0cdbeb32
+	0xdd8a336b	0x005a5f0f	0xd2c3b52f	0xe819f7d3
+	0x181f7af6	0x18d77153	0xb951173e	0xaf0efbb5
+	0x139c0df5	0xf55b2391	0x67f94504	0x625534e3
+	0x7137d0cb	0x4581b79a	0x5e3325bb	0x8a881e6e
+	0x56a92630	0xc5f640de	0x89ea6941	0x8f989fd6
+	0x3ca31a74	0xcb271a85	0x6a387c51	0x3102c3bc
+	0x84b11081	0xd0495826	0x601f3eba	0x317dd032
+	0x3707a5e6	0x849fd348	0x558923cf	0xc1d6a6da
+	0x9ac208df	0x0051eff7	0xefd7b696	0x53bc0b4d
+	0x4e13e187	0x8bdc8c38	0xf63cc938	0xccd0fc6f
+	0x3c246414	0xbe9f7feb	0x34f0f93d	0x41b1a8f2
+	0x4cb44be2	0x6c59845b	0xfdd370a8	0xffdf9058
+	0xf392f759	0xd09732a6	0x4bc3b395	0x344051b1
+	0xb18f6e3d	0x734ffcd6	0x1318ba1f	0x0c13962c
+	0xb1cd74e4	0x439423fc	0x833d7d7c	0xe9b7adc5
+	0x2ce75959	0xc340708f	0xa57d4b03	0x9ea09ff2
+	0x4c239371	0x879a996b	0x2a783a36	0xe7f95df1
+	0xd814e58d	0x4fde6bf3	0x2f1b853e	0x71a60eed
+	0x74368f0e	0xd518e17e	0x4f4d152b	0x5797fd43
+	0x682c1380	0x652dee62	0x5cdd2d7f	0xb1a51c6f
+	0xc0bf2a05	0xe96126ba	0xc03e1206	0x383d8f98
+	0x61a97ed4	0xf1f8a5d8	0x449d44fc	0x4b61a046
+	0xc228957f	0xc4a4791b	0x15f89e9c	0x0a18a2eb
+	0x1c6040cd	0x4a7fd441	0x68d22682	0x9dac9a1f
+	0x63a7ed73	0x66662c99	0xe9661636	0x438ece88
+	0xc7cc5dcd	0x0ab73e2c	0xa3c05809	0x237a7be1
+	0x9da8d9ca	0x3a678df4	0x174b2325	0x6699eb6e
+	0x6ee6a1e4	0x15cf3d9a	0xc186100f	0xc48e80a4
+	0xa216d214	0xb0abfdb6	0xfffdd485	0x59b8a696
+	0xbe0b2bad	0xf32fb091	0x1ad71fb1	0xee001c7b
+	0x48ce3760	0x11bef465	0xa6908b71	0x92516d61
+	0x07c5ff99	0x0cef4a87	0xc799692d	0xd6684783
+	0xc1aa46bc	0x2d254b12	0xa2ba5de8	0x313faf01
+	0x05507d1b	0x29e1c622	0x154e0e98	0x4d76bcae
+	0xad7a5459	0x4602faa9	0x8d325944	0x20d1c574
+	0x4d9fcb7e	0x6b95443a	0x3ad64f33	0x0700ad1c
+	0x0f162bb4	0xbe52b28d	0xc3fd2f6a	0x3d9348e8
+	0x8a2e44a7	0xf2cce16a	0x00493d5c	0xe6e9ac80
+	0xae579d23	0x7fcf2669	0x15d5197f	0x09c806b9
+	0x808001f8	0xe2c0af54	0xa00fbe07	0x497f4f5d
+	0x2179b3f2	0xdf4774f3	0x5326f7fb	0x53ffbc38
+	0xb0e193fa	0xc96c9187	0xca82fbbd	0xe522ccd6
+	0x5114b610	0xf3269b98	0xa86ac6b5	0x884238d5
+	0xafa0865c	0x46b6cdcb	0x1e237e25	0x5df49865
+	0x54a55227	0x103fe9fe	0x5e79b7c6	0xba5d1624
+	0x48f6acdc	0xaa1060a1	0xff201401	0xf1c72711
+	0x83bfd484	0xb9477bbc	0xc3094039	0x3fe23c1a
+	0x254f9f9e	0xcf4de256	0x75ee4a50	0x6b04ff22
+	0xf8065074	0x8208977e	0x0cc05238	0xe1bb9163
+	0xf064f24c	0x1ea1de47	0x24359038	0xc5c17857
+	0x9a61f46c	0x0380618b	0x1602b8c4	0x8b506160
+	0x281ffe9e	0xae6a64d5	0x52911d06	0x08628fc2
+	0x09b0bdfe	0x91d7e488	0x5dfeb2b0	0x554d331e
+	0xcb4910d7	0x0f02630b	0x645a0d0a	0x8799a9fa
+	0x1e90c160	0x5dfacd01	0x6e5b651c	0x43001211
+	0xd9272dd5	0x3b4c1989	0x31d1b76e	0x0431c48d
+	0x9b649d96	0x4018ead0	0x0f020d41	0x1fabb251
+	0x7d379f56	0x59ab5470	0x29fab0f3	0xf502e9b0
+	0x79c30707	0x165b1c6f	0x3bb4bf59	0xea326857
+	0x892a2637	0xcac37abf	0x8f87756e	0x1dd5d05b
+	0x2986abf8	0x7da8f9c9	0x163fcbd0	0xea0f6a42
+	0xaa56217f	0xe82b10c1	0xf8581e2e	0xd6171338
+	0x32d21d55	0x6ff99536	0xed2e3d73	0xa2d18f07
+	0xa1660bf6	0xa89c770a	0x183afffd	0x280d0489
+	0xfaf77ceb	0x020c77e0	0x9b3e113a	0x99b11be4
+	0xb4d41ae4	0xb82cfa1f	0x1945a22f	0x4e156e72
+	0xb1e8b7ea	0x943e0da2	0x309d01b0	0x103d0233
+	0xec37b78d	0x0e37e6b6	0x274db293	0x1ccbc327
+	0xea19b9cf	0x1cfef210	0x4298488e	0xb22277d8
+	0xee59c14d	0xc539649f	0xfccfe8c1	0x5c989a10
+	0xeaa9317f	0xdc2dbb6b	0x2d07ace5	0x32e3487b
+	0xae086d5a	0x01d5d8ba	0x005cc847	0x2a6692b7
+	0x5f5ae5f9	0x19c868da	0xeaa1ddab	0x1f849493
+	0x3cd98fbe	0x6f02973a	0x885df640	0x033503d3
+	0x4d65cecc	0xb6f97983	0x52ec0648	0xfa8c83e3
+	0x43afcd52	0xf3fd8ad9	0x579ee672	0xef2511e1
+	0x6376e64b	0xea4f5e23	0xf13075b3	0xab7c9c5f
+	0x5304165b	0x9d6cdb33	0xfe463417	0x3d94bd5d
+	0x13b55b93	0x3afffa8e	0x69f7629e	0x7ec208ec
+	0xad17abc0	0xabb2d616	0x5641f14c	0x6a22f368
+	0x3ae5000a	0x95f98b76	0xfd8b7ba5	0x7eea947e
+	0x14850a2e	0x2811b9a8	0x4c60bc75	0x41867697
+	0xd0a319ef	0xad739b60	0x0000b49d	0xef7a2838
+	0x4b307ffa	0xe8a43fb0	0x15d00666	0xd9c686e9
+	0xdd559522	0x950cf282	0x22637302	0x3aa53b0f
+	0x80b1c08a	0xe96ced73	0x91e61c84	0xa0d0fdaa
+	0xbd8fe413	0xfd36e042	0x5a09087b	0x41ca8ba5
+	0x5582ce5a	0x942347ba	0x8f543e4c	0x8d0883c6
+	0xf3b7900d	0x97dc4923	0x782f0938	0xab8d31fa
+	0xce074404	0x517cd3ac	0xad20e6ba	0xa0e32f62
+	0xce282013	0x23506bed	0xd55edcd3	0x8a949f33
+	0x98357070	0x947df2a6	0xc2749533	0x5fd1b6f5
+	0x783eb10e	0xa27d4380	0xfea7ae04	0x5fe3cf02
+	0xe811a8f3	0x84b02fe8	0x0ae8b270	0xab5e39ef
+	0x09cbc1ea	0xf3fa86d9	0x1257493d	0xc4fb830c
+	0x82684855	0x681a3998	0x116c7625	0x109245d2
+	0xa97679eb	0xdbaa6a73	0x1b548c81	0xa800a3d4
+	0xdba71824	0x2d6ac2f0	0x97fbb83d	0x44ac16bb
+	0x086466c9	0x068e445a	0xba067266	0x6a92d113
+	0x4622b9b1	0xcea3ad3c	0xe4f18a40	0x358bab3d
+	0x29d3f843	0x51574b32	0xed4fa591	0x84aad130
+	0x61c97e51	0xe7e4f5e4	0x568d72b5	0x7e0376f9
+	0x85ba9b6e	0x723dbaae	0x6a0e7b64	0x1d33f4a2
+	0xe8117fe7	0x8f49b0c2	0x30538efb	0xcc7b34e8
+	0x5be8af6d	0xba290732	0xaf3fdeff	0x83ba0ee9
+	0xa4038c56	0x82d06778	0x8c365bc4	0x36921cd9
+	0xf81b3664	0xd1e32720	0xa29e3f29	0x585dcf98
+	0xdacd4790	0x902909df	0xbb803811	0x18859d23
+	0x066726db	0xb1ea7f6f	0xd25699f1	0xafa83cc6
+	0xd8b63456	0xa8caebdd	0x65b2a477	0x718f24ed
+	0xcb22bc40	0x92c64ba4	0x11c00c0c	0x706874a6
+	0x42a3e5e5	0x923ee55b	0xdecf3447	0x34a09608
+	0x4963b9b3	0xba0a416c	0x4ce8b1c5	0x54a684c1
+	0xbdeeadbf	0x9c4689c4	0xababefe0	0x8552a932
+	0x9da36835	0xefe736ff	0x61dbdc19	0x42c8da6c
+	0x9c9ea5c3	0xdda59588	0x50d16f05	0x9efbbf32
+	0xa7aa127e	0x9a5bf19d	0xea2f6f3a	0xaf023974
+	0x6d41a00f	0x94698a5c	0xa843d04a	0x92f305c2
+	0xbb1a189f	0x51381238	0x2cd0d86d	0xb5271901
+	0x0614ab8e	0xf11d1c5f	0x8bc6ecfd	0xb72a944f
+	0xe5e37c3b	0x3d2fb190	0x5be6ff10	0x99e5b7fe
+	0x08fb6b43	0x1b05d96f	0xc1e363c3	0x3b4ea153
+	0x055fa866	0x63560a08	0x48d508b5	0x2fc84522
+	0x9e497947	0x5da46000	0x08fe7486	0xb71af89e
+	0x96682b28	0x4d1b01dd	0xed86a5b3	0xbde56a90
+	0x59d66d6a	0x8d9ae73c	0x6b50cfe1	0x5af5b3e0
+	0xb42d30e9	0x63630d25	0xd4e07404	0x00410f7a
+	0x1af01c86	0xf0392f92	0x4e24573e	0xe267a029
+	0x9e368723	0xebc0de48	0xea1799a7	0xcaa9591e
+	0x3eec15b0	0x49147a3a	0x8398a992	0x0d846394
+	0x383132c7	0x83b0cdf8	0x37be77d1	0x7451051e
+	0x14596202	0xf47654ab	0xdd72e4c1	0xe5f6b03c
+	0x174fe6c6	0xb2ec3331	0x553add25	0x824fe0ca
+	0x743dd64a	0xa1f6a9b4	0x30e7f63c	0x541e4e26
+	0x224e59df	0xe65c2718	0x7f663d27	0xa02a37e8
+	0x3f46ce0d	0xda16ac30	0xeadebbe5	0xa1f631ac
+	0x8e9a2524	0x01277d97	0x96ee64e5	0x868bf692
+	0x42a67eaa	0xe8852162	0x965f701a	0x19f3eb75
+	0x8f4c8a81	0x0c3d787d	0x7268eafa	0xe2aeb9ab
+	0x96f2ced9	0x832314f9	0xb20bf783	0xf96cd573
+	0x6912cfb3	0x843deb68	0x66b3b4d3	0xd51c896a
+	0x83c9640d	0xdd44eb6d	0x49499ae1	0xed73fb90
+	0xbba34589	0x9a9278d3	0x58ad6ea0	0x043ac283
+	0xd9406ccd	0xbcb9bc65	0x7b60a064	0xbc84931f
+	0xfa292d20	0x800329ab	0x27bd926e	0x69915eea
+	0xe5725af1	0xdd498125	0x440a3c54	0xa4cd0026
+	0x985de162	0xfbbb4d53	0xb0268b1f	0x475ae7e2
+	0xdf9072f8	0xa0c61765	0x250d0ae7	0x65478dd8
+	0xc799678a	0xd2c4d218	0x862ce7a2	0x96919833
+	0x203b20e9	0x215e010e	0x80128487	0xf1c23e63
+	0xa04fad4b	0xb8daf933	0x15f80914	0xdfc12a54
+	0xf09894ca	0x0dbf802f	0x4822f4d1	0xff8f6c06
+	0xdbd955c7	0x75bc50dc	0x3b2ee099	0x962cc2d6
+	0x584684ea	0xef781e36	0x7f1cdc78	0x526cbd59
+	0x71c3b647	0xca9da3a9	0xfceb24b9	0x5eb4ebad
+	0xea05e523	0xe393ebf8	0x2234a837	0x5404fc94
+	0x75e1f0b9	0x3893aafe	0x5df94edc	0x7a263e44
+	0x529927d1	0x0a6eb683	0x829ee381	0x76c6317c
+	0xd86bea02	0x386e83ad	0x3040f550	0xc7431de1
+	0x3a554676	0xc08f78cd	0x3c906410	0x7d644738
+	0x250809eb	0x0357ffc8	0x278792ac	0x1fbd32d6
+	0x8b0c0c67	0xc87b2153	0x03dc960c	0x82f8befd
+	0xfa807046	0x120ddd29	0xd90feab4	0x326df8d1
+	0x37413bca	0xdc02be11	0x900b85f4	0x124d3924
+	0x078b6666	0x1e84d3fb	0x3b7b556c	0x01db9222
+	0x3f67bac4	0xbaa2092a	0x9d3926f3	0x838a7e8b
+	0xd6ec9093	0xc7b28ae8	0xde908167	0x84b57590
+	0x7d970261	0x3a3f7ac0	0x24ce07f6	0xe12fa1f5
+	0x2a475218	0x21856d02	0xa889915a	0xf0076ddb
+	0x5cbc303b	0x2ce1af10	0x4ff9772c	0x09ad5c1f
+	0xf9da31dc	0x072110b2	0x2637530d	0x3445b14b
+	0x72361261	0xa56d991d	0x5a3fdef8	0x8472cefd
+	0xcfe469fa	0xf979bd1a	0xb13015f8	0x52dedd85
+	0x7b2b4aea	0x3162f491	0xd191644f	0x06389e18
+	0x59d35a49	0x14fc45e6	0x762a6757	0x8d73f8e2
+	0xfbb66183	0x53664f34	0x21e39aac	0x1df6c044
+	0x6e0b37e1	0xfd1d6be6	0x1e45cafe	0xb70f2cea
+	0x95703ace	0x7def955e	0x060ed2a3	0xda4ecd97
+	0x862f2017	0xf77a59a7	0xaf00f288	0x6a8a3c55
+	0x5db5ad58	0x3871535e	0xd28ca2ce	0x19077968
+	0xb6b3301f	0x6caac995	0x6f19d03d	0x93cf25e6
+	0x4a5ef7d9	0x503a517e	0xb9128085	0x0b906ccf
+	0x46c12827	0x03198651	0x51633fd5	0x57f76542
+	0x7b2f000d	0x53d75ad1	0x2726e127	0xe64b4b7f
+	0x0446d85d	0xd7b27611	0x014c2d86	0x04ef2c99
+	0xf994c14d	0x7c8dd60b	0x87840031	0x33b59fa1
+	0xa1b74cd1	0x0663e464	0x097c78d0	0x39517e7e
+	0x8e439670	0xee73e23a	0x71191747	0x9d28f80d
+	0x64a576d6	0xb93fe03e	0xbca46b86	0x03616ac5
+	0x4d6f28e0	0xa42d5c11	0x85087dc7	0x7605084e
+	0xe10664ea	0x348d8b18	0xc52546ed	0x3a0686b0
+	0x0d6fb15f	0x70bf33a6	0x01a19964	0x0aaa4b46
+	0xbaff2780	0x65537512	0xc4da57e4	0x18a089d4
+	0x66170517	0x9154bc38	0x3fd4a883	0xfae08ded
+	0x79997728	0x5e328a8a	0xe5168164	0x148a3df4
+	0xae1e000b	0xa957e0a8	0xadefd9ce	0x758ae4c1
+	0x5fb16b90	0xe2f91327	0x7267d2bb	0xc472d002
+	0x8cd3b22c	0x55637951	0xa7563abe	0x5857990d
+	0x94401edd	0xec2fc270	0x3ec524cd	0xf85d4e63
+	0x3eef221b	0x450894f0	0x2734d776	0x0dd4735f
+	0x2223521b	0x459c8947	0x2d0815ce	0x44940b29
+	0x6583d5cc	0xa03f028b	0x8c7b685f	0xad0cff56
+	0xbbd27ef6	0xc1c3e146	0x2f1cdbad	0x9ee51a3d
+	0x95b72a44	0x21ce3ac2	0x7bfccdd5	0xa3cf0bab
+	0x15d9a1f6	0xca4362ce	0x34a700b7	0x8b4b5da6
+	0x6548fcb6	0xf4a08e6d	0x775e8ba2	0x0191759a
+	0xf80eabaa	0xce4f7f89	0xfb96fd51	0x6ea99f33
+	0xc27e64ba	0x7654419f	0xecfbaa6c	0xcb0736f0
+	0x1b80c5e0	0x689e27a5	0x7cc27bff	0x3f936593
+	0x00063fc7	0x111c3681	0x3b3b81a7	0x35e94cb2
+	0x4a49e1c3	0x17f666a1	0xc7e4ae56	0x9284c4c2
+	0xd8286ab2	0xef43b783	0x9c65b2cb	0x722fb1a7
+	0x6f2efb2a	0xdd60ea32	0xf472389a	0x616d9bae
+	0x48a7c9a0	0x0bd60952	0x93ae5e33	0xb6060df6
+	0xb9e59956	0x13069152	0xf46a7f8e	0x2851630f
+	0xd3ed8188	0xaf7dd5f1	0xc29090b6	0x8578215c
+	0xd6f6a05b	0x95db6cde	0x2cf581df	0x9a99ad77
+	0x2b313890	0xc9463b1c	0xadbc3748	0x6e790f05
+	0x9bf484d9	0x34c6d5dc	0x75740b8a	0x7d3fdfab
+	0xb9f8ba17	0x8d3b35d0	0x5ff294bc	0x6f6c874b
+	0xfffe2c94	0x62fe0257	0xf2e24887	0x350b5bd4
+	0x3fa99e5e	0xb7f2c2c7	0x0ae1cc93	0x333c2900
+	0xb38e8042	0x51fba3ad	0x1ceccae1	0x71c8c270
+	0x6a043a3f	0x936b478a	0x777651ad	0x450df7b7
+	0xd1089e90	0x809d789c	0xfd839654	0xe6496898
+	0x49217884	0xf50869c1	0xf2748a8b	0x0bec9aef
+	0x770f7fa1	0x76655775	0x009b2bde	0x5676ca7a
+	0xc1e143c8	0x4ee4fcdd	0xe91f1074	0x6736ad3e
+	0x4356fa89	0x495e75a5	0x0b741ec6	0x449a3b61
+	0x452ff00b	0x2ed81694	0x70f03ef9	0x964329cc
+	0x5dd12754	0xd81bca72	0x3f86b58b	0x400ac496
+	0xad12b3dc	0x5764182f	0x0e45cb09	0x7e7beac9
+	0x7dd95c4a	0xad7df1d1	0x1bac39b4	0x5bb6e943
+	0x87d1b391	0xfb54afd3	0x79b2d767	0xd84bdc42
+	0x0066dc1a	0x55b3ad75	0xf2c112a0	0x580f45ec
+	0xf62b463d	0xf60ba3fd	0x9b2c6028	0xa5b43f91
+	0x1f2d50bf	0xb8f66b8a	0xf986f887	0xd65f68be
+	0x40b82be9	0x9a43449a	0x591ef31e	0x12dbcc88
+	0x317e9176	0xa6c6c909	0xdae0d9e4	0x6bb23ee9
+	0x4ef2788f	0xa80f8192	0x3ae4b944	0x1b3f2a9e
+	0x4711ee6c	0x84eda57a	0x3dc2a8d8	0x13162de4
+	0x05aaf176	0x8d64b2e6	0x92f66278	0xcd2673e5
+	0x79c0f52d	0xf9b3c1e9	0x5ff67a66	0xf39b87df
+	0x525a32ce	0x7245ab37	0x68f7349e	0x2936377e
+	0xd6685b43	0x71c2d0ed	0x27ee3ee9	0xf3a1fac7
+	0xbdb0181b	0xaac6865c	0x84c32bdf	0x4bc38fef
+	0x3f096faa	0x1702e79b	0xae527c0a	0xb0248221
+	0x3b56d999	0x21a0eb9d	0x08f57a24	0xa95c4146
+	0x4dcaa3b7	0x80ad0104	0xd6dae67d	0x0683e683
+	0x01ac7f00	0x25374859	0x90ecc466	0x440af6ca
+	0x2321871b	0x02618fbf	0x8c7f98d6	0xd3938fe2
+	0xf252cc19	0xdb423f69	0x76334fa4	0xb3e719dc
+	0x8be5e174	0x6aa3b63b	0x1d2f3e02	0x2d01f7e6
+	0x9509183c	0x549ab8e1	0x228c065e	0x7da315ec
+	0xcaedb827	0xbfd6a696	0x4d38fa96	0xb316cf20
+	0x933ebd26	0x193b8c86	0xd95627c8	0x7ddc2f7a
+	0xb8605822	0xb19e082f	0xd64c7867	0xa7a3313e
+	0x92be3149	0x8145fe85	0x409fc646	0x7f554a0e
+	0x640e1789	0xd5e3576f	0x92eb074e	0xaeb34222
+	0x901c5e43	0xbce455a8	0x4bc50c91	0x17ddc1eb
+	0x80a18acf	0x3082a9af	0x8bb1d391	0xf47eed91
+	0x46ef5720	0xe3cbe3fc	0x00d44d26	0x586a9c44
+	0x12e92f06	0xfdae8b56	0x7f56e426	0x747caa6a
+	0x1bfe8673	0x1d19d6b5	0x33583fa6	0x77188754
+	0xb283f9a5	0x6f51a2e2	0xaf3112eb	0x320cb85f
+	0x43030267	0x81754867	0xdc41223e	0x98945de9
+	0x1390f612	0xcfdcb91a	0x2a0bf7d9	0xee8e6b80
+	0x5b33912b	0x8b46d712	0x42fb5637	0x5c7f42c4
+	0x39e78445	0x6fb87bb3	0x0f051cae	0xa61678de
+	0x3bbf0faa	0xc870c052	0x4b142a27	0x0e550347
+	0x0c5382e9	0x195b9b2c	0xeba1d275	0x7096f4fa
+	0xfa22ed77	0xa05e5b84	0x778d7db6	0x2b60f32b
+	0x6e748cc3	0x334d3f23	0x75cc287d	0xf7d1644b
+	0xc97a13df	0x4bc06771	0x1306660b	0xd3c7dd1b
+	0xa142efd6	0xe68f0d22	0xd5ff232b	0x94fb5e41
+	0x0ec6aa34	0x6da358a0	0xc02e995e	0xcaaeb52c
+	0x2835ef52	0x99bd2258	0x5f1d9529	0xb8092431
+	0xae849d31	0x15316f12	0x42b1c0ab	0xa1569054
+	0x34fcd6af	0xd798b2b7	0xfb2cff48	0xfec896d6
+	0x7ab94809	0x2030174e	0xc186a684	0x5f4a8817
+	0x84bdf2dd	0x0a291522	0xf6ab50b2	0xa9439e0f
+	0x44d7ea23	0x5351ba4b	0x928dec2a	0x0b9dd63d
+	0x5a76913a	0x079a5164	0x8e0777ee	0x4374b399
+	0x6f34f567	0xfab69db4	0xde38e38b	0xa2e5ebe3
+	0xcf6dae0a	0xd898148b	0x476e3296	0x5e7ab451
+	0x2fe45cde	0x929624e9	0x2203c854	0xfd8b8626
+	0x17376cae	0x32501bca	0xe6fcb278	0x7953d8de
+	0x9752e1cf	0x341c1601	0x00d3ae30	0xb3739e58
+	0xeceff6a6	0x4ed58c80	0x459a63ea	0x5cfc1899
+	0x9e6b410b	0xe4da8646	0xd75c48d0	0xd404f4bc
+	0x33825d6f	0xb9855c82	0xe90a0e4c	0xa989b633
+	0xfb2473e9	0x7f10fd55	0x6e0768f6	0x7c6d8450
+	0x7cc93a19	0x76475dd9	0x0b778a1a	0x29cc2a70
+	0x91caa9a7	0x49655d56	0x1c64596b	0x52d61f69
+	0x53bff6f9	0x44d9c1d4	0x2ba15c62	0x382dbeb4
+	0x56cff583	0x565c1803	0x5893fc7f	0x6a94cda8
+	0xe95ac193	0xaf3b09a1	0x795697ae	0xff624c67
+	0x56e611f2	0x9ba437a6	0x8b7d27a8	0xae8c1565
+	0xb28b944f	0x9c895b81	0xfe787519	0xa0ca12c9
+	0xd23c5ba9	0xb730d089	0x302d12dd	0x9af1a4c7
+	0x69599341	0xa8b17cb7	0xc573e9f3	0x4fe015d3
+	0x3b3286ef	0x591128a6	0xbf0bea82	0x466d79cd
+	0x3076347e	0x9c7ca61c	0x13e8aa93	0xbb00d00b
+	0xbfa86c94	0x56f38137	0xd727a03d	0x1a41b362
+	0x5331fc0d	0x113d1d31	0x09e3c464	0xf54b6824
+	0x40ba971d	0x2f1d4b53	0x2832f814	0xafdf91ec
+	0xe2d77aba	0x44f0e00d	0x2f376938	0x6d47f1df
+	0x9bef11f9	0x3f9aca74	0x197d855f	0x5d899fd2
+	0x0174123f	0x63cfbf61	0xc85eed10	0xf11930cd
+	0x163dc199	0x49f8ad22	0x1b5e4fe5	0x4ff6450e
+	0x942489f5	0xb11bff2b	0x600f4652	0x31a37809
+	0x99be777e	0x343bd797	0xc7bd34a2	0xf2b1a60c
+	0xe106e486	0xd179808b	0x1419645b	0xb34771c0
+	0x3ba7d144	0x15791097	0xbc5928ca	0xc9cc7cf6
+	0x1f17fd5b	0xba686d51	0x9e6d912b	0x20e4a194
+	0xd8c32654	0xf8937d4c	0x533007af	0x04696e3d
+	0x8207c2c8	0x7b739e0f	0xb67d066e	0x3726cf3d
+	0x62d4b3b8	0x75aec6a8	0x44469ec9	0x91406a1d
+	0x4f5ae33b	0xddcc9105	0x3387b59b	0x87c6a066
+	0x14d769a8	0x448c6139	0x476ed45c	0x8232fe75
+	0x7cb6d1d1	0xa670320b	0x28098df7	0xb94dabfa
+	0x41c51c73	0xbdfc4d53	0xd70a3aef	0xe1c8f70c
+	0x077da48d	0x441bb268	0xcd2bc13c	0x78a46a1c
+	0x84bd17dc	0x31597b9d	0x623fae1c	0xe24170ff
+	0xcf8cd6ee	0x11df9820	0x3e480b36	0x4a7eb051
+	0x3203f70c	0x06b348c1	0xf4e33bbb	0x24ed5413
+	0x1ed84552	0x3772588a	0x4ea84347	0xe1250dfb
+	0x8bfa3adb	0xe59afa8c	0x44ca1357	0x1145a5a9
+	0x0df9a86d	0xe6ab249a	0xbe151d80	0x3e7bbf3b
+	0xc1ebfa83	0x84348d05	0x8b65deac	0xdeeabbb2
+	0x6b9e5b0c	0xe1d19302	0xb0b01cec	0xd69a98d4
+	0xe42edc62	0x261ea15e	0x4c546ae1	0x74f85d40
+	0x9a9db547	0x33e07898	0x4422af20	0x5999891a
+	0x83e63253	0x7f7268c1	0x4429c438	0xab119869
+	0x1f1bd091	0x2a1652ba	0xd4dfc9ab	0x2d7b18d6
+	0x2d87faa6	0xac590208	0xcf6e46ca	0xb1c9e615
+	0x73d3bb7e	0x09573088	0x3d91165c	0xb688a3ff
+	0x7a4346cd	0x2360cc0c	0x494d1f13	0x1e4244b7
+	0x1e057f8c	0x7d3e15ad	0xee6cbca3	0x1ccf470a
+	0x9c7fb86a	0x2b694405	0xc1ceec27	0x2f4a8555
+	0xcb722c5d	0xc0756c77	0x3c2ee8ca	0x7053fe01
+	0x51dbf675	0xfe1e166d	0x654cc429	0x191d8fd0
+	0x9c6d2967	0x9f0eca60	0x6332bcb2	0xc161dd34
+	0x459bd9dc	0x89815a1f	0xc9cee790	0x7b577e3b
+	0x7b57a18f	0x1fe6c630	0x8d25db6b	0x09bd8d7c
+	0x48635a97	0x6360756a	0x9177a3d3	0x111b800f
+	0x5ebfc6d3	0xdb865f41	0x7c168244	0x32e5d8d3
+	0x91109a8d	0xa20a3590	0xd0a933ea	0x88f5df2e
+	0xccb03537	0xdb41eebd	0x5c8dbbe6	0x4c2644bb
+	0x4c65b98a	0x742f1134	0x60fde8d7	0x1cde9854
+	0xb1ea0f52	0x8a4ca4da	0x44783953	0xe0243e19
+	0xcd8cd441	0x1e042b06	0x2ccaf99f	0x5ed2d15c
+	0x3deb43f0	0x8e34c18d	0xd5be1491	0x70b793fb
+	0xaf8acf24	0x5d38b1a0	0x1630ac4f	0x182237ea
+	0x627ddbb6	0x2ea22ef5	0xd8dedc3c	0xa51830bf
+	0xda49f488	0xd2fa2c85	0x721615a3	0x1208ebe9
+	0x85048c1c	0x58acaadb	0xe7eeabb3	0x81e9430d
+	0x63346e2c	0xbb26215b	0xf83c4194	0x015cf67b
+	0x44d93f48	0x0bc2900a	0x10df11c6	0x061db4b1
+	0xad2c0350	0x52a8d223	0x0b9af5e6	0x112cba32
+	0xd5c0611a	0xde0c5af5	0xbf369309	0x2005c01a
+	0xe7e4bce4	0x253a7515	0xa66c38b2	0x6371a674
+	0x033a39bb	0xb99f4a73	0x9a359731	0x0724e9dc
+	0xd9944bb4	0xedb01d0e	0x85fecafb	0xd75f7e73
+	0xc72c37ab	0xe9b59fa2	0xf8f85487	0x09704e58
+	0x0ffe8d54	0xf8162535	0x6bf16af4	0x8f46df6f
+	0xf0e33411	0x3e177d34	0x730009ab	0xa1631939
+	0xabe65f95	0xd90633fa	0xcecf66a3	0x79cc15b5
+	0xcb28d41d	0x4861efdf	0xe7de0dbf	0x9722f417
+	0x572088db	0x7f511819	0x318b7d8b	0xce84e61a
+	0xa01a4c75	0x600c1a0f	0xc0286e02	0x1af83c30
+	0xbb64bc49	0x7a0f71cf	0x2554129d	0xc5a154f6
+	0xb842f910	0xe710460b	0x5d86e6e3	0xe414c0da
+	0xb61ad875	0x669fef0e	0x58fa944f	0x16ca9eae
+	0x1fc6f838	0x3ffe0098	0xf6be0d22	0xa2f381ab
+	0xd995847b	0x16fbc1e2	0xcc756a1a	0xd89f7485
+	0x1d0abb0b	0xffcd8cb0	0x71989ea7	0x60e19b0f
+	0xa8a56589	0xf097597f	0x942a4e88	0xeab31855
+	0x8af2fd0b	0x078a03ed	0x62025b1e	0xaf19cb9c
+	0x8c1ab68d	0xc262628b	0x62083c6c	0x874688bf
+	0x5b512007	0x310e1d4f	0x5736b0db	0xdf96874c
+	0xf0648345	0x5b3b2da9	0x075ed4cc	0x86f0f05d
+	0x211b38ac	0xe41c1462	0xf36b3395	0x63a19aff
+	0xc271872b	0x3f11e6a4	0x209ffe67	0x42def127
+	0xe22ef2a8	0x6a4624b5	0x61a19475	0x149dee80
+	0x286187be	0xf5e381aa	0x53a6bb60	0x84ba5a64
+	0xf33ed14d	0x6f2e992b	0x24ad13bb	0xbf0739a1
+	0xdc312f28	0xcd45e42f	0x63d233cc	0x8d86ec61
+	0xf8e5d0be	0x26e15a81	0xa4f6d30f	0x2cb1f3cd
+	0xa64c7b81	0x1950fab1	0x97dfa1d9	0xb437b47d
+	0x53de79c3	0xd8ebe484	0xbd655b1e	0x39de3925
+	0x51747cff	0x4a238541	0x80ada60a	0x02296598
+	0xdf23b02b	0x3ffbf18f	0x52feac43	0x01ba32ed
+	0x6bd49cbf	0x8b4bda59	0x92697191	0x3632a5b5
+	0xc060d9e1	0x124b11fa	0x61602a46	0xec8a28a7
+	0x01b67d7c	0x63b03988	0xa4591fec	0xb23e8594
+	0xa5f7633a	0x84d8a66f	0x7f06a567	0xf38b81ae
+	0x1efbd58d	0xdc476674	0x88205063	0x04ce4533
+	0x880ed70f	0xe9011878	0x58a3824d	0xdaffbc02
+	0x66941b6f	0x9e132bf9	0xf3eff9a9	0xb3d2ac15
+	0x766e0ebd	0xfd469d3a	0x678eb9e2	0x8c65bd29
+	0xebb204da	0x2875a82e	0x41341882	0xc1fc677a
+	0x111cff64	0x9af5f6cf	0x9d57bf72	0x0280048f
+	0xdb4d1bbb	0xb7aab40d	0xc953ce3b	0x9e9dc79e
+	0x291772f1	0x90872d54	0x158a2ce0	0x87da1ff1
+	0x8c4867e4	0xafbc5845	0x2d62d991	0x0ddaac95
+	0x28295d76	0x5c2cbe25	0xd9661876	0xc2438e8f
+	0x4cff1d7d	0xedcafc76	0xdd01e779	0x7facce7c
+	0x57058402	0xda77d4dd	0x53b4bb50	0x65391cb3
+	0x8152d72e	0x5d01c98b	0xff747405	0x19e6f055
+	0x1ced591b	0x525d28bf	0x121ce275	0x38539d0a
+	0x996008c7	0xa71f9800	0x85284c36	0x0d5ca4e5
+	0xa315c804	0xc4fb1ce4	0x76c8a106	0xef84c812
+	0xadb11f71	0x86d1095d	0xddd4b1e1	0x065cd8c0
+	0x99b9fe1b	0x921403d8	0x95f05195	0x1d726ca0
+	0x0fec4222	0x36aa98d7	0x2206a9a1	0xf2905f96
+	0x9502d27d	0x192e5af1	0x6b030782	0x3083d3d5
+	0x079ac64d	0xde9b04ee	0x3e1a0eec	0xbe3410ff
+	0x380d770b	0xe51dec70	0xfd45046a	0x60e9b5a8
+	0xfcee7db3	0x9407fcbc	0xe54f8a33	0x91bbcac7
+	0x1ff989a8	0xb626741b	0x086a7934	0xf6318222
+	0x8047f0dc	0x4bc04243	0xd8c55fd0	0x71019f76
+	0x2ddb9237	0x40948af4	0x0910ee25	0x9b89252f
+	0x18364ebd	0x079ffe04	0xd76db709	0xf97538b4
+	0xdbc20ced	0xa3fb6b50	0x787f7229	0x1b54a67b
+	0xb706e1bf	0xe2218739	0xa9ce7e63	0x91de8423
+	0x78aa8a85	0xb4b2297e	0xef3625d0	0x2c6618cd
+	0xe8908b71	0x678fedd7	0xf33b04a7	0x83cff4d7
+	0xafc00ab3	0x9e006bd3	0xae11c467	0xf8005ae8
+	0x3dc3c0e4	0x9615fea3	0x3cda278e	0x77f1adf4
+	0xcde0963c	0xbd3d6e5e	0x630de1a1	0x841fb94c
+	0x396b32ed	0xccdea70d	0x308edf0b	0x71acfcf6
+	0x2f07d226	0x531b1985	0xd08b58ea	0x47127332
+	0x2813e4e3	0xa3266030	0xe27c82af	0xfb03fbaf
+	0x408f9dfc	0xbad7ed47	0xd6beb8fe	0x229c79b5
+	0xe91cc6b5	0xd807be50	0xcef683cb	0x44f87410
+	0xb891c4b8	0xef29d1af	0xa93c8894	0x1e7d3a69
+	0x1acfc11b	0x4a29db04	0x983d185c	0x68ce4131
+	0x2e9cb1ee	0xe91510b5	0x621c1ef7	0x0f14a520
+	0x35cdf015	0xcc767e0a	0x2476d5f9	0x68d558e3
+	0x6932d432	0xc980c74f	0xa23e9608	0x3161023e
+	0x64a5c93c	0x9fb3985d	0x538bd7f3	0xeb8256e3
+	0x65aae455	0xb1b16e5b	0xb41b906a	0xa3e1c623
+	0x5ebfd20c	0x472ab0c7	0xb862ec5a	0x677caf94
+	0xf12f50f4	0xd188afed	0xf3cb7e39	0x53e924c6
+	0x42e0eb39	0xc60b822c	0xd8661fdb	0x72b0faf0
+	0x6aa3c735	0xce48dad5	0xc8201232	0xa4d95ef4
+	0xe80626ad	0xe0a47835	0xd6854983	0xc2b7e630
+	0x77f32e03	0x21f00e02	0x622eb8dd	0x37103875
+	0xe9c7416b	0x83db0965	0x7375fe36	0x192b127d
+	0x62794f9d	0x5a451860	0x594cdffd	0xd5e7ef9d
+	0xc782917c	0x6f9e9141	0x46a8b7a3	0x181df7e2
+	0x6dad09f9	0x15a1937c	0x99d80e91	0x63e92c73
+	0x73e43728	0x179e1573	0xfdcc276e	0x46112bec
+	0x137d0f85	0x8435213a	0xef04615e	0x01dbbc7b
+	0x505ce560	0x16f833ce	0xaa8d3688	0x47b4669b
+	0x0f354a7b	0x12c0dbd5	0xe77a9efa	0x930a3567
+	0xa011b706	0x85fdfcf3	0x7ceb2c48	0x429d7349
+	0xe61b9120	0xe080e78e	0x50f6d453	0xd63f20ce
+	0x4e18a840	0x613b4431	0x2afa105f	0xde138b58
+	0x77336868	0x5214293c	0xf6fdcdf3	0x5e63d611
+	0x42d0a5c0	0xcd01f451	0x1583eb33	0x95c699e0
+	0x21893a08	0x704facdd	0xb4ead18b	0x7c6ddaf1
+	0xbab85cc3	0xa2b9344f	0xa8657896	0xb63babb6
+	0xfaf99f20	0x73dc0349	0x38dd90f6	0xbe1a118a
+	0x76d8d230	0x2b6fc0eb	0x485a22f9	0x233df23a
+	0x894d1b5c	0x0afb3e50	0x71e7eaa9	0x88923872
+	0x085033c7	0xcb3c83de	0xbf38a300	0xfa018e69
+	0x50a4549f	0x06422587	0x0dc263ae	0x5e048686
+	0x64587a45	0x69fcf415	0xcff7a01f	0x4224983a
+	0xd2f00e53	0xbc50202f	0x56c2c541	0x716a3f01
+	0xeb97c469	0x545cf2ab	0x8a5fafe7	0x9ca6b167
+	0x7d24b6b5	0x5b9c6061	0xb7f4d550	0xf3651821
+	0x42e3dd52	0xd96e98e2	0x28b6006f	0xb30d9122
+	0x62954242	0x3b824f4b	0x97010e45	0x63caf666
+	0xf1852f27	0x5ac1018e	0x5261907c	0x8e2062d6
+	0x9bb98a7d	0xf73121cc	0xd44d7ca3	0xd922ff41
+	0xa2a7bd66	0xb60ad501	0x1042d3f4	0x464e258b
+	0xf740d72d	0x3eb38eeb	0xd155dff3	0x89a80f07
+	0x4b022bba	0x6647ef88	0xef3a7405	0x7e999fb7
+	0xf0881841	0x72f7b9f3	0x5f844112	0x3c9b265d
+	0x7ab280f8	0xf05ee4ec	0x0980072d	0x99997fd2
+	0x0be19dc1	0xf4d8a16a	0x341ebdb4	0x134c79ae
+	0x4caa6647	0xbd166e1d	0x0a3726ae	0xf6f19820
+	0xb00aaa60	0x332d2567	0xc0668705	0xd5ac46b9
+	0x0c27ef58	0x1f2a3544	0x16de79a8	0x1d4fb3e0
+	0x22c094da	0x5780d40d	0xeffedd2e	0x98be7ed8
+	0xdcd20eb6	0xcc49d902	0xee004f43	0x4db50bac
+	0x2c48407a	0x158ae057	0x1007cd9a	0x4339f13f
+	0xb25bda18	0xe3d5dc8b	0xc311b3ad	0xbf26f86d
+	0xcb685e0a	0x4e09b6b3	0x8b7d79bb	0x602281f5
+	0x56e4bb98	0xa59cbf03	0x68ac07be	0xa9565d05
+	0xd2436522	0x40fb37a5	0x0671bdda	0xd5217560
+	0x7547d749	0x3a1baa3d	0xda341a51	0x165317bb
+	0x8b7ca453	0x4794f5c6	0x939bbb1e	0xb658d2e3
+	0x4620a572	0x0d8f0169	0x15ee2511	0x20f2d2c9
+	0x77d5514a	0x5c732436	0x235b6b69	0xe32db055
+	0x609cee9a	0x60b02bf2	0xf6fef4b8	0x789f7d0c
+	0x2251220b	0x3ea6e885	0x187101af	0xc99f3ce3
+	0x171ce0b2	0x47ddb34a	0x05d20663	0x33ebcaaa
+	0x095e9ddd	0xccfa1e7a	0xa388f304	0x369c1782
+	0x811bf00f	0xab1c951a	0xe88f1480	0xbe71f874
+	0xe34e8d5a	0xa574fa6e	0xf848a97b	0x157c3627
+	0x76e11850	0xc922bef2	0x47d7f3c5	0x498c2531
+	0x7a6f752d	0x462ae32b	0x290ae02d	0x6352395b
+	0x03b5f70c	0xe66b9177	0xd006c3e0	0xc5302173
+	0xa8fc59b1	0xbb39b0d7	0x9ba45a17	0x3a03547b
+	0x28b1fc82	0xaaae00c8	0xa6723469	0x66b69630
+	0xf50a3e6f	0x33ae1719	0x4c2a4520	0x2e84d3b1
+	0xc2a6da1b	0xa8c63fb4	0x5ef3150e	0x62648121
+	0xbde9f90f	0x2e348297	0x421be188	0x3e129c67
+	0x0b72d6b1	0xdcef0ca4	0xb3f5180f	0xa3ab312d
+	0x92cf1271	0xb0174d00	0x07c34185	0x96629df5
+	0xb669f92e	0x48ffbb2f	0xce303a62	0x58758152
+	0xff88c28f	0x740203cd	0xd8606fad	0xe0f49016
+	0xe50d362c	0x8af053e2	0xe405b078	0x517db488
+	0x664667dc	0xdac203d0	0x579e7a13	0xf75bb4b8
+	0x2c465572	0xdebb0288	0x810ba79c	0xc5fb168d
+	0x325eec36	0x12939e50	0x8978e795	0x4b26a562
+	0xc0eb36e6	0xcdecddf6	0x74d8ab28	0x69abb8cc
+	0xc3e49aea	0xf4302958	0xd49f47f7	0xf41884f1
+	0x81431670	0xa6da9dcc	0x98d844b0	0x85f7dc61
+	0x28746eba	0xeefb5d09	0xdfd17127	0xb90651b1
+	0x960ff381	0x4dc2f826	0x93dd1524	0x5dda5d3c
+	0x1fd68f6e	0xd4045aa4	0x2254d6ee	0x1f92cf67
+	0xb2655366	0xf623e3ff	0x7b3d96dd	0x1871a30f
+	0x954a44c5	0x2f29fd8b	0x62c27aab	0xdc46ddc8
+	0xd44356ed	0x5bd8a440	0xd549484f	0x746e26d2
+	0x65783d84	0xcab49250	0x7a1c8b24	0xc8063e68
+	0x7609278e	0xb4f14286	0x27495301	0x2cd03051
+	0x446a046b	0x0be32e76	0xb9171daa	0x4cdc88df
+	0xcc1f34e0	0x7a81d4bf	0x6cb5743d	0x57450c96
+	0x4a236466	0xe31357ef	0xfd9a4d3e	0x03d308c8
+	0x33f21e03	0xe781adb8	0x88521371	0xd19164cb
+	0x3caa33e5	0x0c65ea5e	0x8fcd4379	0x1194cfa9
+	0x8937eced	0x7628f0e1	0x1016ee9b	0x6c43093c
+	0xd562ec84	0x53daa34f	0xc64a0632	0x5768c330
+	0x9b22d9a0	0xbabbc688	0xf83adf7f	0x9f454bfc
+	0x436c3478	0x1501bae4	0x8bdd6dba	0xabd0d59b
+	0x380ceaf2	0x698c8047	0x8646a825	0x69a0ef6e
+	0x79a56c4c	0x2789d08d	0xc52f3a4d	0x2166f074
+	0x59eb5fb7	0x43f2a041	0x43609bfa	0x9327c7c5
+	0x6663ffdc	0xfcdef11a	0xc5f824f3	0xee0fd8cb
+	0x2d6c495d	0xe280de34	0xf4af7465	0x0b157539
+	0x2a7ab144	0xbab24805	0x562ad952	0xd230fec1
+	0xe4167036	0x20a88433	0x24af7727	0xbf0622d8
+	0xbb3abc8a	0x98190a0b	0x256ac6ac	0xaf4c6720
+	0xefa7f106	0x75a16acb	0x44ea3d10	0xd696ed81
+	0xd0b59111	0x766d8497	0x100c5abc	0xf1b95046
+	0x6e69f5d9	0x66b6a5d9	0x2dd2c310	0x495dbe1b
+	0x1d32d006	0x8c690d83	0x4fb1063d	0x92979582
+	0xb385b386	0xbf0a3354	0x17ce9072	0xbdd59104
+	0x7327ab1d	0x125c0791	0x4ac0e89c	0xc2b30c57
+	0xe0686206	0x35c12383	0x10d5ae11	0x60730cbb
+	0x57ddbbc2	0xafce2e54	0xf0856d8f	0xa9759bc9
+	0x0d8f3f4f	0xa9febc31	0xe2f1b192	0x11b60587
+	0x1c33d3e4	0x479c0a41	0xf037853e	0xab97a5cc
+	0x1e1924a6	0x6d669b25	0x9b1f0d7c	0xce0407fd
+	0x2f913715	0x17099510	0x704d3f98	0x9682966e
+	0x45da3d7a	0x32d7ef00	0x36a1b717	0xc555e6e4
+	0xe50350d2	0x5d50c32c	0xd8d37f54	0x03708cda
+	0xac1e2a5d	0x257ffad7	0xd0f70b95	0x8f74af3b
+	0xa0bf13de	0x9edf45a8	0x69665702	0x756672a8
+	0x3cc067ea	0x00fe56db	0x85ae983e	0xaeb28321
+	0x09defe2d	0xa8c13c37	0x5dceaecd	0x7bec1219
+	0x4e7921c5	0x98cfe03a	0x6958c017	0x9087ef00
+	0x95ea4dfe	0xe264c6b7	0x9a6810b3	0x05d7e8ad
+	0x26a1f7b3	0xc78cf12b	0x7c4658cd	0xba02d02a
+	0x4bf51833	0x31f10171	0xeedb6de2	0xa95fe8b1
+	0x9b4e834c	0x6edb1df4	0x2eb374fa	0x599f21af
+	0xd91c85ef	0x29bb5e50	0x40acfb6d	0x5188b56e
+	0x7b371516	0x47336571	0x021a7e29	0x900ecaf5
+	0x7aaac4bd	0x7c630119	0x51592e5a	0x984c316d
+	0x99aaf2eb	0x5a5ef213	0x62972730	0x9db4c2bf
+	0x36fa8158	0x9e83fd35	0x1e819155	0xcd7da0e2
+	0x7b4b9287	0x7df42364	0x815ffec4	0x28a02a2f
+	0x7645873b	0xa96a9600	0x86fe7360	0xe2429409
+	0x0e81cec3	0x2837d531	0x3634694e	0x205f07b2
+	0x92797dd7	0x431aaadf	0x54d3edce	0x02bab9c1
+	0xff502eed	0x3f5cdb73	0xaf217968	0x65c7d614
+	0x6c1fed64	0xc84ef92b	0x3335dc76	0x8a36f261
+	0xe18cc99f	0xecb5a349	0xa60f9ac3	0xbad211ad
+	0x414c5b7a	0x2427e2d2	0x06c840e5	0x5eb6c304
+	0x81981cce	0x46fe9618	0x55b7e5e7	0xb0a84b4d
+	0xb64f1852	0x1b91dcab	0xbdc34189	0x9954a8a7
+	0x94353c4c	0x47c53c9d	0x55906e49	0xd957647d
+	0xc695fe87	0x3cdc787e	0x10deb790	0xd7e646ed
+	0x1277253c	0xe6ecc20e	0x2ecf2f7a	0x5b5deb63
+	0x49b50f6a	0x6f9e13ef	0xfc1c3a3a	0xe43a9188
+	0xa08e487c	0x7679f614	0xb2c75035	0x4ad8b606
+	0xc2ca32d9	0xe6ecc606	0x12fa8dce	0xc07baf0a
+	0x0e05a004	0x9e9e9411	0x130e9972	0xcd9ef9cf
+	0xbefbbcc7	0xf96216b6	0x9aa77353	0xb43e54d2
+	0x2df91569	0x0b16533d	0xef134eda	0xe986df3c
+	0x9d9690bb	0x821d2f44	0x21fbabb8	0x79ce8167
+	0x84f9ea38	0x2cf4434e	0x85644f97	0xb17722d6
+	0x96c1a108	0xe07cc5d9	0x843e98fd	0x92f6ac95
+	0x19f7e9f7	0x1f7602b7	0x09d94385	0x79ae50d1
+	0x66a40fe1	0xcd01e167	0x22ffeb10	0xccb05daf
+	0x407877d4	0x3dd335e1	0x7712a985	0xdb4c9f02
+	0x6c109614	0xe0c09e0f	0x93c4dec9	0x8e9742ee
+	0x10dbc990	0xaaff5f72	0xce73d6af	0x4d6ce4aa
+	0x9d78739c	0x674ec129	0x45de755a	0xa122c199
+	0x6fd9251a	0xb8a1979b	0x2a62ebbf	0xf6d19f54
+	0xdfeba405	0xec19fde2	0x51950563	0xe68e02cc
+	0xe2213039	0x9fad2f99	0x663ba91c	0x8044f595
+	0x8451dd81	0x78df35df	0x103fd73a	0xd9f2f1f3
+	0x493caf73	0xe5025797	0xdba6c5fb	0xcac85576
+	0xd36dfa5b	0xcbf18249	0xd4053837	0x1f128937
+	0xfbf049eb	0x83be2114	0xa69a8b6f	0xfbbeb881
+	0x7a738c47	0x06a3f4d2	0x7b9a8b67	0xfe949d59
+	0x8a8f15f9	0x483cba16	0x2d85aaa6	0x7285eadd
+	0x06f66872	0x59e3da71	0x2ef8ffc9	0x9e419e3e
+	0x10da30a9	0xbf052864	0xd55bb868	0x843663a0
+	0x54302010	0xca056426	0xa413d44c	0x6cfa2f03
+	0xeec3722e	0xc1b3d010	0x6cbe9937	0x4e28768f
+	0xd85a8bd2	0x852d36d3	0xdc2bb17a	0x942adb65
+	0xde0d232e	0xe7a3fdeb	0xa2effa04	0xe88f2956
+	0x4df8bc13	0x90895e4d	0xa7817aab	0xf3248976
+	0xb32d394e	0xda2db11f	0xe423fdb0	0xb09ef58f
+	0xcc889395	0xdf875ef3	0x908324d8	0x62548201
+	0x6fc040a5	0x5421e58a	0xcbed64ab	0xde8ad9b1
+	0x46708788	0xbfd97b14	0xab421144	0xae60a0ba
+	0xb6e6bbc9	0x09f37f60	0xf1135386	0x5164926e
+	0xf2660ddf	0x45fe5b88	0xfd74f7f9	0xa586e2b1
+	0x44bb2794	0x9ec54550	0x65ce44b4	0x6a326bd3
+	0x59146d09	0xc74c4e5a	0x3be1b656	0xf67601d3
+	0xbb69de44	0x6065d21a	0xe4463332	0x868232c8
+	0x3e5e8ad7	0xd04eecdf	0xc89c34ca	0xa62c3540
+	0x134bc86e	0x0fec76e9	0xb159baaa	0x419a1c49
+	0x8d829ad7	0x90a19def	0xd71d7652	0x4a9d3846
+	0xebd1c228	0x5d875423	0x0287924d	0x4ec52bbf
+	0x752c7893	0x99a1842a	0x7c8e08f6	0x35ff21a2
+	0x95ddff74	0x28bffb90	0xfe686106	0x628a1db5
+	0xb2f59548	0xeeaaabb4	0xe7825340	0x3e9c0125
+	0x1533225f	0x82e6aa5c	0x699430b1	0x2b79e86e
+	0x70b259d3	0x71586bb0	0x26c4fd82	0x322d3e16
+	0xd686454e	0xdbd4b583	0x6cae58dc	0x77b7e14f
+	0x562d70ac	0x907e049e	0xc3c4866a	0x99ccfaf9
+	0x6591a5ce	0xd35cba59	0x82d892f6	0xf6d04abd
+	0x25595ff4	0x2b5e8b12	0xe4b3d932	0x3f8f3a16
+	0xbf7f9ac8	0x4f54467f	0x41df7a1b	0x2c2002a4
+	0x4ab82fa7	0xff80a896	0x22539611	0x642ab065
+	0x4f293070	0x99ed3529	0xcb5945a9	0x7820d897
+	0x59b2ff7c	0x7ecdab7f	0xb37a6005	0xd50bcf61
+	0x4484ed63	0x2b28332a	0x101e8686	0xfdb32040
+	0x8874ce52	0xe991bdcb	0xd99d48a8	0xef1654e7
+	0x1a37d482	0xc3824d3a	0x338d6d44	0xe4f26648
+	0x4ff10b7b	0x7e2dccc2	0x02c1b663	0xc6b5e51a
+	0x327d0c75	0xff3f5359	0x55c407dd	0x7795732a
+	0x4b033d1a	0x5e285c1b	0xffa99def	0x2cac8a65
+	0x33d66077	0x8e3b374d	0xf70cde75	0xe342a9a8
+	0xf8a8286c	0x26f21845	0x1c35821c	0x30480bd7
+	0xa895087d	0x63e32777	0xfce580c3	0x62f97856
+	0x505c22db	0xfab99f9f	0xe1099684	0xf62f8889
+	0xec9b6b43	0x555e966a	0x462e70e4	0x2ae637d6
+	0x3d6ba70e	0x37bdea88	0xbcb566b0	0x40a34189
+	0xf3474e78	0xbb16e878	0x115dcbd0	0x6e379a93
+	0x55605ebb	0x357d26a6	0xce1ce1a2	0xff38b240
+	0x50b9e52b	0x66c12a77	0x99a25a6c	0xf9de1622
+	0x471d103b	0x256ad08d	0x4fff9dcd	0x44685f25
+	0x9a0e1396	0x88a2f2ae	0xc3f9f29f	0x4f9e8c90
+	0xe294901c	0x4c2a3147	0x2c206563	0x6adeb562
+	0xf9d839c6	0x801b3964	0xa61cb7cc	0x32a2072e
+	0x3e2a1d00	0x1904f4fb	0xe1027957	0x9ed87c1a
+	0x048aade5	0xe63aa9a2	0x5a460512	0xf3b85e58
+	0x1960d9ce	0x11445aeb	0xf96645a1	0xa1ad34ca
+	0xba376d98	0x5833c258	0xd7920fda	0x3a2658d7
+	0x095b9750	0x4b3fe950	0x7e6b6db7	0x259b5be5
+	0x98ee769a	0xa5fde88e	0xa6ecfc18	0xafd66bca
+	0xbc9a9779	0x260e70f8	0xd24be5fe	0x53af1ac7
+	0xec112709	0x76a4d04c	0xfc88a201	0x673f6cc8
+	0xcfce8151	0xc328f56e	0x184f44b4	0x94f0d97f
+	0xf34963bd	0x629ea5f5	0x99a6209b	0x6f11ce53
+	0x6385b633	0xc2d2e97c	0x608d81ac	0x488268ee
+	0xdddf7f90	0xa71b1365	0x332b2446	0x416a0ee8
+	0xf34dbf77	0xbf85a55c	0x39acda18	0x7b6d076b
+	0x51ab603e	0x3916cd25	0x862c27ae	0x941c4083
+	0x206fbef7	0x116e6624	0xd386b8d4	0xf5d762c9
+	0xe3aa182e	0x1c4cc0e6	0xb9d6a7fe	0x53834a40
+	0x7bcd85aa	0x47e66276	0xc6a8ba31	0x93c75a1c
+	0xdccdbe7b	0xb469a50f	0x92849b1b	0x797b14fb
+	0x9e6dcd3c	0x29cb2bbe	0x3e534aec	0x96e19982
+	0xf2c0cd9e	0x3604f523	0xb7320cba	0x1868ed05
+	0x95e44be2	0xbd16fe0d	0xfbff21c2	0x64ad7cd4
+	0xf9b88d56	0xb5224d1a	0x1271618a	0x1a5007ec
+	0xf5781dc6	0xb87bb7b2	0x0a47addf	0x003a1646
+	0xe5c57e01	0x0ddef18e	0x954de803	0xf6660d87
+	0xc929d78a	0xef164296	0x1d3993c5	0x8bdad828
+	0xafd5abf0	0xe9f3a99c	0xc925e16b	0xc1f2e4bd
+	0xb8c84791	0x59ec0aac	0xd955ed35	0x760982e2
+	0x56f2cf66	0xfbbb52c6	0x18aae748	0x3b245be1
+	0x5c455748	0xbc824892	0xd26cee8f	0x932bbf5a
+	0x1112c54c	0x75db823d	0xd8b7785d	0xc6a3aeea
+	0x1efe5e62	0x5f06df56	0x4ca2a339	0xe1f7271a
+	0xade0c55e	0x672d03d8	0x81101086	0x945d4701
+	0x77658b7f	0x7ed8432b	0xbc196029	0x9d040e95
+	0x86869faf	0xb625768b	0xda8b5870	0xb7c57dac
+	0x5486f95d	0x29c43911	0x03f75c18	0x477d1f58
+	0x43ed5793	0x0d3b9725	0x6a03401c	0x909a5bfa
+	0xce10d526	0x7adca2a0	0x04ba72f8	0x17373ae5
+	0x71c0e8ec	0xc09a855b	0xa46e5cfb	0x7d02e85f
+	0x88c0f756	0x69373644	0x2e54aba2	0xacf37234
+	0x70e33aa5	0xf560abfe	0x0fd8f883	0x7f01298a
+	0x5af95b0c	0xa07ba2b6	0x67e34074	0x23d0bf23
+	0x99a5c52e	0x1c6fc87c	0x31dbd46e	0xd291eb44
+	0x421e30e4	0xa5ff0214	0x6abceca5	0x90933fe1
+	0x45a72a5b	0x07a2b36a	0xe5313898	0xca7b9485
+	0x6263c073	0xf5190740	0xdd80f0d8	0x432fa2dd
+	0x69831440	0x6fced3b5	0xa314fbab	0x18b9ecc8
+	0xae7235a4	0x08a267fa	0xcc4a217c	0x477440b6
+	0x5877756d	0x862847a9	0x91c017ae	0x39292950
+	0x21bd5cb9	0xf01d709a	0xcdc173ad	0x138e94d5
+	0x53054d97	0x302bb5b1	0x0d264e98	0x3cc9d0be
+	0xc92555fa	0x3e79530c	0xd48c4c4b	0xa06ba129
+	0xb5f33763	0x39a37bd0	0x1e8d0d46	0x93b599bf
+	0x0842efce	0x8d6ce60f	0x3432f84c	0x9d8ca617
+	0xfec93e00	0x3389826b	0x61d2bcb6	0x6b15eeca
+	0xa8f814ec	0x31fb1195	0x4d5784dd	0x9a0c7388
+	0x39ee3413	0x7f858c65	0xfa9ea23f	0x6231f584
+	0xfaf40874	0xf2c87fe1	0x8869c40a	0x04eee868
+	0xe3bb8a66	0xc28c5aa6	0xea2cbe9a	0x3de2d5d1
+	0x88ffcd76	0x47493091	0x310271dd	0x557e51a0
+	0x6e0dc01b	0xdf812ce2	0x3b6da963	0x214f5533
+	0x099c5441	0xc16460c6	0x8c55c47e	0x319d328a
+	0xf230ceac	0x7dde560b	0x337b15d2	0x80678040
+	0x1052d3ac	0x06db710d	0x0b54d93e	0x98987009
+	0x254704e0	0x20650419	0x6118e810	0x4f52d866
+	0x64d2e8a3	0x0480d5da	0xde5ef5b9	0xb03a703f
+	0x379ffb82	0x76f87284	0xb0b7059e	0xb3d37671
+	0x2b243a94	0x75a70d88	0xe242c806	0x30435090
+	0x3ec06f3e	0xcc25e123	0x58db94cf	0x890826ff
+	0x73057887	0x1e2e0740	0xf80ced81	0x924e6de7
+	0x15a8e02e	0xde8ee51f	0x2dbb33d6	0x185567db
+	0x8145bac8	0x0d14334e	0xd8bcd7d4	0xc18d3256
+	0x57efede9	0x73ac6179	0xf6e98357	0x068c24d2
+	0x3dc62465	0x70d47d94	0x2b249317	0xca89c2dc
+	0x335e7372	0x78584f6c	0xc645bcd9	0xdd941604
+	0x0e72657e	0x5a3ba416	0x86710900	0xcf2dbfbb
+	0xa59814dd	0x8850b913	0x0c8d653c	0x2d220e4b
+	0xedfed05f	0xc4688466	0xec54375a	0x3ab1c99d
+	0xf64dba02	0x01499f01	0xbec76bba	0xf520292a
+	0xd98d6fcc	0x9e8811b5	0x0d3e90f8	0x440928a5
+	0x6df4dca7	0xd991e421	0xa80f7476	0xd39255f1
+	0x747d717f	0x67536af2	0xcbdc6e90	0xb3ef075d
+	0xc6b59f51	0xf3d2b422	0x96e646de	0x9f95a00a
+	0x370d965a	0xa20df02b	0xe3326da4	0x97e96ebe
+	0x62133be4	0xec63e8d1	0x7170458b	0xa04077ea
+	0xda611b2a	0xd4541229	0xb262f2fa	0xa0280090
+	0x04d9ff11	0xc4dd530e	0xaecc11d3	0xac5e8ee2
+	0xe03303a9	0x45c74f3b	0x0a44e0a3	0x623c812c
+	0x5a78acbb	0x174b6ddb	0xc15a6167	0xeb370d7d
+	0x344742d4	0x95c36708	0x50b22ead	0xa8f66299
+	0x240522f1	0x0c19352e	0x7aa5f269	0x7e349786
+	0xefa03eaa	0x162cbd19	0x1d657093	0xe7e2d85b
+	0x64cb8342	0xffed7a87	0x48877ee5	0x9861324c
+	0x894e2a1b	0x0ed0ad9f	0x97ffdebf	0xd8e71947
+	0xe9797767	0xd3a02dba	0x872192d2	0x9ba0166b
+	0x8c6418fa	0xc9ca4562	0xd1c20f63	0x7c0827f7
+	0xc55ebb68	0x8d7eec37	0xa0f2a179	0xfb121fb2
+	0xb6496a31	0x54f7332f	0x37fec58c	0xde32ed05
+	0xd8de600d	0x3384d32c	0xe49fdb04	0x6788cf7d
+	0x4739394a	0xff02632c	0x81c5255e	0xfa67feb4
+	0x06d7befc	0x9639b5ee	0x639cf17f	0xf9de4a5f
+	0x02243882	0x8d2241af	0x90a2219e	0x48f9d0be
+	0x3856b281	0x559afad3	0x4c73c448	0x6a19c2c3
+	0x422b9934	0x19bf9591	0x3edfbac9	0x1410f992
+	0x009c3964	0xcb2139b1	0x1f28d6ff	0xa96de3b3
+	0x7436f1c4	0xe7a96628	0x4593df96	0xa360dbf0
+	0x092edc07	0xa728ec90	0xd84eea82	0x8df6e4f4
+	0x69342820	0x7a71afe6	0x8edbcb4d	0x41c381ee
+	0xf4828f3d	0x8135dfc9	0xb7d60954	0x6ffcd452
+	0xea6fc8e9	0x5d321983	0xe1961ede	0xa627d22a
+	0x78e1fb4b	0x7cb48d21	0x45791225	0x9ed45669
+	0x873cc9b3	0x226dd2ef	0x3bc8e0b5	0x73515ea1
+	0xcfd1a0a6	0x3f0ef6a6	0x42698d45	0x24774846
+	0x1b4dd33d	0x7ab567b3	0x4287a3d1	0xb3a340af
+	0x5461daad	0x42d65034	0x79ce7d93	0x4de02311
+	0xc9cfeb8b	0xfc31cb0e	0xf2783bd9	0x9f883599
+	0x44d25fc6	0x2d0ac361	0x2314756d	0x6204058c
+	0xbb89b0c5	0x466ed73c	0x9dbe3d75	0x8ec6447c
+	0x89853f2a	0x452f289d	0x59ab32d1	0x664ef2b7
+	0xf2feb1ae	0xee84c078	0xfd352da2	0xf4bb27c5
+	0xf946c061	0xecc515c8	0x89f15047	0x7305b158
+	0xac79b70a	0x4851a92c	0xa60cda46	0xc36b47a3
+	0x1fe96c82	0x775c7496	0x7ff0ef05	0x3b902ee5
+	0x3d63a012	0xe9a59d17	0x990dc562	0x3d28b2e7
+	0x463f45b8	0x2cf93af1	0xc0b20323	0xd2f2a727
+	0x2ab30093	0x7b3067b1	0xb1084167	0x9359b6e5
+	0x2bfc7ee2	0xa433704e	0x2534cc30	0xb7eeb3ad
+	0xe6433dab	0xfab7ee93	0x8fe1baf6	0x7c9d1cab
+	0x0b37489b	0x21f29bb2	0x1fbe19de	0xa9fd5655
+	0x18cee72a	0x54444e6a	0x7b8e67bd	0x4733851b
+	0x1edc5cf6	0xc4058d84	0xb17b3474	0x635842ce
+	0x87dc13e5	0xc85c88a8	0x6465d06d	0x3651a206
+	0xf221335c	0x8f829f04	0x0cfd2da7	0x3f8a1f5c
+	0x9d7fd530	0xecebbebb	0xac20b927	0x0931c838
+	0x04f4da8a	0xc604e560	0xb5a32b43	0x92578126
+	0x086e4838	0xe299f931	0x405921ff	0x1bf3b424
+	0xe330e775	0x32a8b2e8	0x8c398e8b	0x4c1b9be4
+	0x3d6bbc2a	0xe16749d5	0x3f711d29	0x167679b3
+	0x67753943	0xbd19e4ce	0x8a01927b	0x7ed9db48
+	0xeb810bed	0xf010bb3b	0x0c619dc8	0xda2b4ee6
+	0x97f72cae	0xb1e50373	0x86a56b38	0x42564171
+	0xa42e02ea	0xf9a73535	0xa090a1e7	0x36c5f132
+	0x2be425e7	0x99450cba	0xaf895b37	0xea338c07
+	0xb5173364	0x87cba1b1	0xff17a025	0x926c143f
+	0xc1bd8ed0	0x7dc43a1b	0x409201a3	0x37435a42
+	0x6fa2c185	0xf6b63721	0x36e18dad	0x65fcabe3
+	0x047d6f6f	0xabb8de33	0x36edf818	0x5240f1c2
+	0x2a74bfe4	0x23bd88f6	0x5277ef4b	0x661eff54
+	0x63c1912d	0x5ec4b96a	0x80ce9176	0xd93f4b74
+	0xdaa4a9c4	0x4fe89560	0x4ad9f1e2	0xcf39d5ab
+	0x78a71e58	0x7fc8c792	0xf8524dcd	0x2ad0224d
+	0x80397618	0x91a5956c	0xe6d93642	0x16e811c3
+	0x115e8e88	0x01b33913	0x6019e327	0xa5394792
+	0xfaace8e9	0x984b2b11	0xa7dc9448	0xc947698c
+	0x8b191b70	0xb47def7e	0x504a792b	0x6a1e6978
+	0x8f697729	0x87e133ad	0x98b112ad	0xf4cf8898
+	0xde515d35	0x5e534596	0xbd8bf459	0x783d26c1
+	0xf021a2e4	0x2a15a509	0xa314f1db	0x88fcf5fb
+	0xcd0ab684	0x24fa6b87	0x3bde9c04	0x3a5381f5
+	0x0b035c86	0x5d8c4134	0x7131d67d	0xad193dcf
+	0xe8b949ef	0xa241ca53	0xc6a522ba	0x08214572
+	0x0f8b6327	0xd744cc9c	0xe626ba3c	0xbcc8fa71
+	0xc8889a16	0x4101e6c4	0x013361e2	0x81afc6f5
+	0xd47afc84	0x594e2007	0x46a03c82	0x6ed8e69d
+	0xc395debd	0xdf10a851	0xfdc1968e	0x35fb989a
+	0xc5c8f333	0x4bab2dcb	0xe145c017	0x2ec93db8
+	0x993415ca	0xe1fb3144	0xf111e25f	0x52cbcd55
+	0x0691a307	0xa535bda0	0x8f0f5921	0x4250306c
+	0x65307a53	0xf7c8a4bd	0x606aa819	0xaa534324
+	0xf9cea68f	0xe4152914	0xd5fe89a6	0x5199e351
+	0x82322d06	0xa9a7ccdd	0x859d711f	0x28fa34c0
+	0x405d0a0e	0x31622b61	0x5205acc2	0x658e0d8c
+	0xbf87f2f4	0xcc6309f0	0x0ac483d3	0x62d61d0a
+	0xc29ee1cb	0xe719d1be	0x44b8140b	0x9bcdda3a
+	0x4533c26b	0xb42060a9	0x58853442	0xd876d55f
+	0xf13165f3	0x35ed56e8	0xea1a5415	0x4c920d34
+	0x191ceeb2	0xc8ddc82e	0x3922fd04	0x978d6ab9
+	0xa087551e	0xbb616dc2	0x86d8101f	0x2c6e98b1
+	0x28fcd44b	0x67daa758	0xc19c6c89	0x28338d0f
+	0x9a173526	0xf1c32e1f	0x42eafaeb	0x697bf44a
+	0xb677045f	0xe902a9db	0xc96cc214	0x476ff77f
+	0x5419cc3f	0x77b86c5c	0xd95d783e	0xadf630d6
+	0x1fee8ae4	0x4e6f2f89	0xfd784caa	0x00bcc110
+	0x785fdec4	0x4b8ea519	0x93f2031e	0x69d42d67
+	0xb6a0c4f7	0xdde15f78	0xe106753d	0xd4319e3d
+	0x9f033801	0x45d214cb	0x89f0bbb6	0x0b68e9a1
+	0x0b42f46f	0x97d81d3a	0x592a0992	0x70a18d46
+	0xbd75f408	0x5fb94e1e	0x894505a4	0xd84edd3b
+	0x951f996b	0xcb7a6410	0xa9bb75fe	0x17269ed7
+	0x797e64e3	0x5385297a	0xc2e0ffb8	0xea3e7cdd
+	0x34b70c33	0xd879e291	0x6b2be9f6	0x615ef9d1
+	0x17f93517	0x29e19ec2	0xde62a1a0	0x552675ef
+	0x991f0dac	0x2decb2aa	0xf90b2cdf	0xaaeafa85
+	0xba1395be	0x552431b8	0x46b5c459	0xa95dd0b8
+	0x3da73cd1	0xb493eed4	0x4b2c1292	0x72437c8d
+	0x1fa3c029	0x3c846098	0x91f628fb	0x66c3083e
+	0xbd8674ec	0x2ad21c30	0x0755b90c	0x7c1c02f4
+	0xdea8981e	0x173c3099	0xdf5eb473	0x821bac29
+	0x2d83fed4	0x06a8eb69	0x7d3f8bad	0x5629edc3
+	0x7c4593b6	0xba8c76ee	0xf8b0d46b	0xccb41bef
+	0x571e8d7e	0xd99f20bd	0x0af219a2	0x89750f0a
+	0xfc0a9b8d	0xd0dca061	0xab6383db	0x5e095be9
+	0xc116da10	0x0850f5d4	0xa01f6c33	0x2b4b8a62
+	0xbc96338f	0x338cd044	0x6da96fd0	0x0d5c7042
+	0xffd4c56c	0x4ef92fee	0xc2f3d4e1	0xb81b2901
+	0xb0cfdcfd	0x7e68076c	0x6a48b418	0x5ae173be
+	0xa42af94f	0xb5aeaedd	0xd0a2ca28	0xfe301cb9
+	0x64616a36	0x9b63ce32	0x17e895eb	0x8576a9a1
+	0x23d14337	0x019c592b	0xef031722	0xfd6e5b19
+	0xc23eba8c	0xc64e6794	0x3602e7a0	0xfa9b4a62
+	0x806f61cc	0xbb1ad0c1	0x8253edd3	0x9e3bd367
+	0xbd24ea1b	0xcdc3507e	0xd98eed4e	0x8edd45cc
+	0x08fbf233	0xcaca956d	0x273ba326	0x49fa6eaa
+	0xd0fb7870	0x9ee56e1e	0xe675f026	0x47c4249a
+	0xd15ba3f7	0xd6a2090b	0x50b33122	0xc7bf73b7
+	0xc33cf621	0x73f17107	0x2de0b8fb	0xb8131d55
+	0xb0f18745	0xe4ed1a78	0xaf5dcc10	0xb56a7d51
+	0x27544a20	0x34188d9a	0x4d565903	0x9bfb8895
+	0x0e0ff1b1	0xd8dbb9de	0xc5b073ac	0x06499ced
+	0xdbe6dd00	0x051bc5f6	0x460e37b5	0xba525f13
+	0xf54a5470	0x227d4bfe	0x462105ac	0x43141f50
+	0x11de79f7	0x9f1821bf	0xc2aaf461	0xd5042606
+	0x7f7823cb	0x37374cd8	0x5f40c496	0xfcca9b0c
+	0xc9061b3d	0xc4887c54	0x3f9ac089	0xc7ebe1ba
+	0x933dea63	0xcf1de178	0x63713e5d	0xddf92c47
+	0x0ad1cd99	0x0ba92d8e	0xcdfcb995	0xde9d0007
+	0x8d11f064	0xb16073ac	0xcaf71f3f	0x3c220cd1
+	0x9afaebf5	0xfaa8b8d4	0x013085d5	0xa701c1c3
+	0xde4f97b1	0xe98fdf11	0xfcdf5165	0x704f0326
+	0x3aa9c333	0x5eba9c4a	0x8f17ad1b	0xefc9d59b
+	0xa8d6f56d	0xc5ba175c	0x33e332c7	0xf234bf43
+	0xf7478a19	0x62fc6fe6	0x8c205e86	0xeb21b117
+	0xda68f6c2	0xc35e50d0	0xaed255fc	0xfafaccbd
+	0x68bf6e7c	0xaedc2f85	0xb4963f95	0xb3bcdbde
+	0x20319ef8	0xa8e0c197	0x7be0aa53	0x77dd2f2f
+	0x27c5d672	0x4c9d8630	0x5b259176	0xecab82ec
+	0x0566cb79	0x35f099c5	0x2a915c42	0x2ac9e371
+	0x7137e3fa	0x4f43b99d	0x11c4dc00	0x8fc8cdf2
+	0x20e0dcd1	0x0234a137	0xa7226b26	0xf71df5a7
+	0x2c80994c	0x50f43827	0x97248143	0xdf8d811c
+	0x63168f49	0xa885ac8e	0xe7e6fce6	0x7b1d8b68
+	0x51378009	0x51eca507	0x7c862ee6	0x3a907513
+	0x339c2fb1	0xfb24c06c	0xb16c9630	0xec9327a1
+	0x790d3884	0x3053bd28	0x52a58115	0xd4071422
+	0x0e71ae93	0x446e0c55	0x917dea8c	0xecd558d4
+	0xc34e9011	0x0e3ab373	0xc74a7f70	0x1def7cc6
+	0x70e00517	0xae5bcec4	0xa491b7f0	0xa990d6f3
+	0x35322ee2	0x250d253f	0xf41d19e3	0xc8219293
+	0xf7aad70e	0x420423df	0x17947be5	0x1770183c
+	0x2d7b019f	0xac55ab96	0xec1b5070	0x6e9ae72f
+	0xf45ef9f8	0xbd99d8f5	0x5720a49d	0x4b26724b
+	0x5f7b899b	0x431d8946	0xdc9f5bb0	0xd9df764f
+	0x74fd696b	0x8ac6f8cb	0xe655113e	0x2178fb00
+	0x3ff85fbe	0xbe052b5b	0x51dd6484	0xd4f79bf6
+	0x15f60a65	0x0390aec1	0xfb6776d2	0x92f54e91
+	0x46b7b912	0x29638a41	0x36d4a299	0x817824a5
+	0x8d1f8eec	0x69fd819d	0xa2e2a133	0x54635a65
+	0x770c410f	0x4e02d788	0x3e0bdf87	0x3c98d2fb
+	0x63010acf	0x96cfa678	0x81b5b497	0x16ff2913
+	0xb8f90d11	0xd32d3085	0xd5a9a46f	0x05f45932
+	0x0694ea00	0x0d039ee0	0xa309cb9a	0xc506fe28
+	0x6d5af6e6	0xcf7e16f4	0xebb5a600	0x10b66a7a
+	0x07b0e164	0xe4466d8c	0x02979c1c	0x22e44ad8
+	0x0eba1199	0x7e007291	0x3e6eaab3	0x6bd3459a
+	0xf3072e5b	0x60e0e63e	0xc4c7072d	0xe23a1451
+	0x4fe5cd8d	0xb7cf3759	0xc415ef02	0x2ac8ed21
+	0x32d8a07f	0x630f2355	0x95f4a1f3	0xebb5fc49
+	0x766ee7b3	0x5195461c	0x652f7115	0xa5284de9
+	0xe9c3b41f	0x392f6792	0xc2997b44	0x55551481
+	0xd3f21d99	0xf0785862	0xbac2eddd	0xe1a58663
+	0x1e847578	0xd5345e0c	0x0680c68e	0x1d987ba8
+	0x94337413	0x9708920e	0x47a0683f	0x09cbf028
+	0xa400dbbe	0xe3d6cf1e	0x3d2264e3	0x82a0844e
+	0x5c6d61a0	0x29ed71ae	0x94d67091	0xa6d18fac
+	0x143550ed	0xbf002e96	0x5791faad	0x5c910726
+	0xee2a9fb8	0x92f476ac	0xff288092	0x580b9f47
+	0x2496ae51	0x6c979248	0xcfd508cf	0x24e1ed75
+	0xde92ee9a	0x227b8ea5	0x1a58fa12	0xab8990f2
+	0x9e16b990	0x9902e4f4	0x926e8f63	0x7d163d87
+	0x745c3611	0x16bb1ae9	0x8d169535	0x8a0cf1ad
+	0xf4b0ed16	0x1db04987	0x844a1644	0xde883736
+	0xd3ea88b3	0xf602cfc3	0x60be8c98	0xe94f8d25
+	0x9969ec2f	0xea40781b	0x9a51d49d	0x247539fc
+	0x396a391d	0x403bfcc4	0x460eaff9	0xfb50e4d2
+	0x88942d26	0xdc84dfd1	0x8ae3e0a2	0xed47755a
+	0x9719345b	0x84d5c24c	0xa27ae8c4	0x6bfc3ecd
+	0xb533222b	0xd9c2a3b9	0xa068909a	0xd334506a
+	0x5f8969e9	0xea577574	0x4fd7c372	0x79ebedfb
+	0x519b857e	0xe5a3b57b	0xa9c66d58	0x622d9e75
+	0x184a3f0c	0x8353e40b	0x67dffdeb	0x96f28a6a
+	0x69e3d77f	0x837ad601	0x45adb16c	0x95b7103d
+	0xf8de8e34	0xe5d897b6	0xa19aa999	0xf62b5b2a
+	0xa21205fe	0x96e3d97d	0x2f8763d1	0xc1f5ac4b
+	0xea03ebc7	0xf691c313	0x348842c3	0x5f8107ed
+	0x4b4322c5	0x7356b08a	0x1f22322a	0x60cc8cde
+	0x44d031d0	0x61832e25	0xa4405833	0x87900700
+	0x42a7965b	0xa2b6b169	0xddd0d382	0xbd6b2ad4
+	0x006b62d9	0x8cec67fd	0x8c54cce6	0xa9874881
+	0xa34fec79	0xa8d13e9c	0x918a39ff	0x2027a461
+	0x716dd8ae	0xda06d88d	0x4ec42f28	0xbb89f516
+	0x65a813d1	0x2f36fbb1	0xd16b3d5f	0x36a6a634
+	0xbafc79ac	0xd74feb8a	0x33bce888	0x2e97f521
+	0xbf3b8afa	0xe51b3ec4	0xeffd67ce	0x257f5698
+	0xc5ffbedc	0x922bfc28	0x8138e0be	0xf8f5d9fa
+	0x0d446f83	0xd43c2cf5	0x0835e427	0xd0858e4f
+	0x5d0c3300	0x9ce5e8ad	0x0238443a	0x383fe4e5
+	0x409c65be	0x726f1549	0x3e0fcec0	0x660a684e
+	0xd5959ade	0x3a07917b	0x3fd5346d	0xbe334d1a
+	0x14e90a3b	0x345f134f	0xd737dd52	0x36558ea3
+	0x66532c32	0xffda2d76	0x70c23a69	0x576cce17
+	0x1bc0f11f	0xe7e2594e	0x5531b96c	0xc7115f3e
+	0xc12d5d5c	0x61863f0c	0x953bbbac	0xf4fbc9d4
+	0x26c8f68f	0x9b1ff5d4	0x2f72c468	0x84733422
+	0xb4eaa65f	0x211fd212	0x8c3de90a	0x312ed1e2
+	0xb37aa93c	0x31f32754	0x11c8acb7	0xdc485091
+	0x6e4aa039	0x0cfa7399	0xdc5a7f7c	0x3f71ef24
+	0x30df5838	0x4eef7156	0x97ea7b48	0x7c19ff92
+	0x1bb85768	0x0fba8cf4	0xa4069660	0x7b24c4c1
+	0x9e9bcaa0	0xe8a3ba7c	0x055107ec	0xfd592e53
+	0x11d25c42	0x200bf193	0x342f7daf	0xcdfc8fc7
+	0x6f32bfc8	0xf0079c0c	0x269d86e3	0x23e44431
+	0xe1fbed2f	0x61ca39f0	0x4ac6264c	0x7b998418
+	0xa98ece70	0x25ff9012	0xfcc59f7a	0x4bdbbfe3
+	0x68bd284a	0xd49ba70a	0xe9771aaa	0x183fbdb8
+	0x0cfb07c9	0xbed9ec14	0xdd2fbd24	0x79946087
+	0x716a31a0	0x080e18fd	0x6504a5a1	0x2e4d22b4
+	0xbdad854a	0xdaba04a9	0x6eac5971	0x1eae6100
+	0x9fa5e77c	0x9e48a4ff	0xe26a35c2	0x34a7ceed
+	0x48d0287b	0x9589f189	0x899e75a6	0xfcb6b2e7
+	0x82181300	0xdb567ec3	0x215bd550	0x867ce1cd
+	0x16aaf849	0x4a455636	0xf8dd943c	0x9fb628c2
+	0xe70af387	0x2f3b46c9	0xbcd6bae6	0x1df9e892
+	0xfa3a8acf	0xb8255dec	0xedd76ede	0xe926dc9a
+	0x5bc71a93	0x792b9383	0x34c87266	0x026560b6
+	0xa3e4f7fe	0x33cfc10d	0x84a0847f	0xdd682f5e
+	0x14623fcc	0xd049aa15	0x48afe64b	0x3be26bf5
+	0xedab7c7e	0xb21641ba	0x49953a88	0x6b37a7fe
+	0xa0be5422	0xfb2bd2e4	0xf6565a3d	0xf946617c
+	0x637176da	0xa1d905eb	0x59c02b62	0xb19ce441
+	0xc04fbe15	0x40660e94	0xfdbb3c4a	0xfcbb64e7
+	0x6428a539	0xa6bda0a2	0x10fd064d	0xd565719c
+	0x3144002a	0x36d33d73	0x2f994a1e	0xd42d8bb0
+	0xd5152b0a	0x0a9849a2	0x60326948	0x28440694
+	0xcfa29f9e	0x314dc2be	0xa4620cc2	0xb7e82cfd
+	0x5975c2e8	0x4e5a273b	0xca2ae9e0	0x4e6ce1cb
+	0x25a341ab	0xec5bf801	0x4c85a32b	0xe2ec9a40
+	0x371cd350	0x2d7dfefb	0xf1a7e1aa	0x3af9adff
+	0x66788da1	0xab007648	0x6237e368	0xc20ab56f
+	0xd3886e9b	0xa67a70e6	0x18b59e24	0x2ef31cb2
+	0x1cbbe7cb	0xb94b0b60	0xce7edf06	0x14e55b20
+	0xcf71b03f	0x86b5405b	0x79fee28e	0x5ce147a0
+	0xdea14796	0x833d27e8	0xd8826ce2	0x9434b65f
+	0x36bdc020	0xf0f6c4ec	0xc322ba9c	0xbf0d9370
+	0x9b8a39b9	0x560c0742	0x317f2428	0xac3151e6
+	0x1895a12e	0xc50bd4ee	0x79a5dfd9	0xc6b3d06f
+	0x4221ca51	0xbc96d184	0x7721f26f	0x2a9faebe
+	0x680e9559	0x4761117e	0x08d752d6	0x5117fbcc
+	0xe23bb33b	0xb1d72955	0xc337218b	0x933b12b1
+	0x57f83533	0x9a8bc464	0xba8a4102	0x1767693e
+	0xfad687c2	0xa5b53640	0xf19ccc71	0xf05bf6e8
+	0x47a7cb9b	0x9208a5de	0xe23d5578	0xcac29dfc
+	0x96c58051	0x50463c0c	0x7048f2d4	0x409f78c9
+	0x74da5bf6	0x759aedc7	0x852d1133	0xbc835c09
+	0x3cb0672a	0xd9cec34d	0xfeabe3d8	0x4b1e1c6e
+	0x6c9097ec	0x026b8e9a	0x4f858410	0x79c78cd2
+	0x4381f237	0xcd7010c3	0x886e8f51	0xdaf6ce82
+	0x003307d4	0x3e60dad0	0x4506368e	0x6e01f417
+	0xee9b6003	0x8f36f3b2	0xb17c829f	0xe4fee189
+	0x06b95373	0x530cf764	0xc99046ec	0x05b6c1be
+	0xc9c164a4	0x58502c85	0x3186a69a	0xcac65ed3
+	0x13bdb988	0xbbbfa094	0x5df20633	0xbeacd0a0
+	0xc4b3abb6	0x7cd2ef9a	0x5838646e	0x800db131
+	0x27440dc0	0xca15d49b	0x66ae0afc	0x92cc4e6c
+	0xe347ed4f	0xfd8c0070	0x2537e7a3	0xb96cc468
+	0x4bf4a0ef	0xcd4d5b4b	0x99c5d3fe	0x82c7ac9f
+	0x13118704	0x5ba10fea	0x1d0972c8	0x3e9c0ab9
+	0x28289b9e	0x0cd5bfaf	0x0d6d529b	0x6c38c0a9
+	0x412e7a71	0x8b2670b2	0x9348ee40	0xf2f32dc0
+	0x625f09d3	0x6fd62269	0x0294baa8	0xb0c962bc
+	0x18298a69	0xa27dd181	0xbade6357	0xb5ddb668
+	0x3a3824f9	0x1640cc58	0xf5157f35	0x8112eb28
+	0xe3cc5745	0x1de85839	0xc3c928d7	0x9e2707fd
+	0xbca1f90f	0xccca98e7	0x56b7087d	0xd497fa74
+	0x6a01185a	0xcf937695	0x239a29bc	0x5e932d13
+	0x03598809	0x00a335c4	0x61475568	0xfb446c9e
+	0x54a56804	0x70e9920a	0x9d285d6e	0xab10cb35
+	0xdc81decd	0x062c98e7	0x72e4fa95	0x0a8e9581
+	0x361a5f99	0x26b8d16c	0x41ec0c3f	0xa8258ece
+	0xffdcbfe9	0xe4dc0b7c	0x9a2dba01	0x94ecbb16
+	0xe2c60666	0xd79195c6	0x6942afe4	0xed29d2a6
+	0x453355c3	0x48dd90bf	0x9016f7c9	0x3aa79213
+	0xf5528cd5	0x57e21566	0xbe79c184	0xefaecf61
+	0xa240ce49	0x7d3a701d	0x3345c92c	0x7045dfbd
+	0xf266997e	0xe4725404	0xacf00dc8	0x14fd44a8
+	0x7480fb1f	0x469c63dd	0x630306a9	0xe74ff394
+	0x115f913b	0x6beeff69	0x152ec535	0xe375b9dd
+	0xf86b85e5	0xa642d387	0xd57270d6	0xd5e564b5
+	0x6dcf53c2	0xf8a0cdf6	0xf10fa1b8	0xccdafb95
+	0x18bcc1be	0x9b849014	0xe3108441	0x39c736e6
+	0x07de210f	0x1e78f0cd	0xb25985b1	0x0ff9479d
+	0x582348e6	0xed3af892	0xb80f38f5	0x19df3f10
+	0x9fe7a266	0x54377947	0x87446ecf	0xc17b93b9
+	0x48987f5a	0xd80286ca	0xa53f86a4	0x50e8870d
+	0x5bf9bb0d	0xadfe56d6	0x54f7b96a	0xcbfd68e6
+	0xd31258f3	0x640cbbbb	0x6cdeced7	0xb762b7d0
+	0x3b9cd4d0	0x62ed874a	0x6c18c646	0x35181a11
+	0x2b9385f8	0x2f52ee24	0x69c8bba2	0xca1e2fca
+	0x298f168d	0x229faf64	0x00219f3f	0xf46bf47c
+	0xcd9987b0	0xabc50e23	0x5fe20807	0xc7bffa5b
+	0x5c64e801	0x8e5fdf7c	0xf22c3a58	0x6ebfcaf0
+	0x18c04c76	0xb876d8b6	0x0d185e8c	0x15e87b88
+	0xcc30f6ca	0xfebf9664	0xa26e41a0	0x7e1bff14
+	0xdac4e629	0xf3a9b993	0xea7e92ae	0x32bba216
+	0xf2b0c1b0	0xd649ab34	0xcea057ff	0xf07ab0ad
+	0x6a0cc061	0xf9844196	0x8770cbf5	0x0d0ebcd0
+	0xa137d921	0x01a0ac7a	0x6ce9b55a	0x851b7c81
+	0x9d1a3c60	0x16f70264	0x960700ee	0xcd83b035
+	0xf624d4aa	0x44831510	0x7076f930	0x558502dc
+	0xcc14f4ad	0x49f5f054	0x245eb157	0x5d717aff
+	0xb2945cd3	0x2ef2fab4	0x891b0abb	0xa74f7ecb
+	0x2f60d277	0x4382d068	0xf5621a38	0xb701d8a3
+	0xf02441a3	0x9a3bc4af	0x1fba0377	0x5585c7d8
+	0x77c10914	0x4641014e	0x125b270f	0x3e1f1d95
+	0xc5b5fa9e	0x608ef6e0	0x5287c20e	0xe5bc7622
+	0x36d5a0fe	0x26cbe98d	0x96908dd1	0x0fec2e3a
+	0x5eafa4a9	0xcdbc5730	0xdc874327	0xc4583395
+	0xca8be21a	0xf42dd3f8	0x113aa82e	0x19bf7cfd
+	0xb819ccdc	0xc8b0fd95	0x25a0b336	0xdfe23781
+	0x2061f003	0x6c897f34	0x0f10770d	0x2e7c5862
+	0x2b9b1b60	0x4a770d78	0xd7065b77	0xe5fe912d
+	0x22e6eeb6	0xdc8bc5ff	0xb6d8737a	0x4b3e0d31
+	0x9dcdfc18	0x6bd995e3	0x7d05cc1f	0xc5bf3600
+	0x49b7cfe4	0x84c8bb06	0x0622cc72	0x0107b8ef
+	0x91eb2766	0xa9bbe486	0x7076236a	0x2328014d
+	0x852261bd	0x568a0a88	0x08b3bf20	0x691b28c8
+	0x1b1ce35f	0x27bd4371	0xfb71d136	0x130006e0
+	0xbf191bd0	0xe4ef4523	0x88835271	0xb464f510
+	0x5508d73c	0xe8d62464	0x1aea93b1	0xa9d26d06
+	0x5026aba0	0x5aace509	0x6d9f3bb2	0x205742f1
+	0x4d0dcd05	0x45e0586d	0x6977274e	0x7478121f
+	0x52d3281f	0x2678cd9c	0x19aaf2f2	0x7a6ca61b
+	0x6ddd75bd	0xa4dd4b06	0x4db83b73	0x0f732c5a
+	0x85a24c37	0xb87fc623	0x58da4ed8	0x77a67f89
+	0xbf8b8cf4	0xdec76d60	0xa14e2e48	0x5e153c52
+	0x879c421a	0xa76e650e	0x04881140	0x7a0bf61b
+	0x38eb1c6c	0x53599688	0x7eee839a	0xd6bf2fcc
+	0x5b83c794	0xd191589a	0x76f4a38e	0x223c94e6
+	0xd6e7080e	0x9254461a	0xbd2a7952	0x7bc4b6c1
+	0xfddf9eeb	0x074aef50	0x32f61578	0xe7c3f32e
+	0x77bd22cc	0x3b72e014	0xf2b7b877	0xe9987b96
+	0x79333a9d	0xaf9faa27	0xcde582e0	0x58ee0d11
+	0x5bd8bd59	0x99853e4a	0x16158bc0	0xd7813aa7
+	0xc16daba6	0xf017ab49	0xed1ddd5f	0x89aef3a4
+	0x83c7ffdf	0x6c29d7f7	0x1eb83c2e	0xe030cf03
+	0xf3a1810c	0x363ae113	0x43a6b42b	0x4e5ac2d4
+	0x2a77c299	0x6c8bc618	0xedb0232b	0xdb3b2844
+	0x2bc1a846	0x4a23f40c	0x684854ba	0x01d47692
+	0x83aee0e5	0x28fa7c7b	0x851c2cce	0x7076ca67
+	0x995d2fe2	0xc6c5e8fc	0xdca37ee2	0xfde28cb7
+	0xa84895a7	0xe6a8e4cf	0x90b19069	0xa0003041
+	0x0d9b07a2	0x56c92d5b	0xde206c05	0xa3a18ec0
+	0x8b009bd2	0x24582152	0x3aa878da	0x85dcb3d3
+	0x77f97c4f	0xdf418d92	0x4607940e	0x253b04de
+	0x2ea6ee88	0xa8da5a41	0x170cce34	0x29d20fcf
+	0x8cb7151b	0x0b647896	0xe724f612	0xa37c3d7a
+	0x27be5ba2	0xc667d65e	0x80c0fc8c	0xb6231066
+	0xe85fe1bc	0xdc8209ad	0x87605f6b	0x8e237dd3
+	0x86c98159	0x991b9623	0x4e3f3beb	0x8929cdad
+	0x6ea581e4	0xc5b8abe0	0x3f844e1d	0x143bd24a
+	0x258b4f70	0xa407e2f9	0xac35a1e7	0xab93f86e
+	0x3a6f7b70	0x9edda2e3	0xf021cbe9	0x853b9110
+	0x8a61bacb	0x39b937d0	0x17b55c70	0x02dcae26
+	0x3fc81c76	0xcaa89990	0x0d187f2f	0x5f15dab7
+	0x6c5aa228	0xc584fe52	0x2d132795	0xe36d8b39
+	0x51fa6bf9	0x1f635d0d	0xe0e58f26	0x3cbed7d5
+	0x7d5a1214	0x84d7636e	0x3d09e00e	0x51f263ce
+	0x1dc8bbb3	0xdad73812	0xf8018762	0x0eb149e2
+	0x0a37a27f	0x649f893c	0xf81b17bb	0xbdfe07de
+	0x3f186d13	0x944c3b9d	0x6089cd72	0x538064c2
+	0x7d7b1940	0x857acbd8	0x441ae33e	0x612fad10
+	0xf675c90c	0x4a2b9aaa	0x4bdc9d55	0xda87fc33
+	0x3f530c81	0x8a0bfd0e	0xce301979	0x5fb8df8b
+	0xf4f89658	0xf4ec3f3a	0xdcdb37dd	0x4ff70e33
+	0xd001840a	0xa6c315dc	0x54415bbf	0x12c26520
+	0x5fa5336f	0x5127274f	0x495d8b4d	0x95e0b696
+	0x4e534571	0x259d92c9	0x04293543	0x7814a548
+	0x4226c6a6	0x931c2472	0x5e03faab	0xdc77f1f9
+	0xdf4e5b23	0xeb990f87	0xf2aee5f3	0x22ad49b7
+	0x2eeacb2f	0x57635891	0x78bb20c4	0x71f950b2
+	0x8b0d95cf	0x100241d7	0x19200510	0x57a07524
+	0xc78fa596	0xae0952e6	0xceda63f6	0xa5957392
+	0x72b6dbda	0x4c407c71	0x7bcb53ac	0xbf5536f4
+	0xdd13d99f	0xdf096e1b	0x2a03e85c	0x145f4170
+	0x7a826278	0xde53c72c	0x74ea07cf	0x0c1e956f
+	0x98bbcd66	0x93d86c6d	0x6d2d4a51	0x09c96e1d
+	0x88d7fae6	0x6e2cede2	0xc726e74f	0x964aa40b
+	0xb8ef0785	0xd9bf9c5a	0xb8e9f8d2	0xa984653b
+	0x9f33e37f	0x6031ca0c	0x479ffd41	0x31456b43
+	0xc45c89c1	0x13dd9cab	0x653c4600	0x428daa03
+	0x4b80961c	0x049c0b39	0x96f7f8dd	0x87c18aec
+	0x95724423	0x5fea9835	0xb11f3437	0x6b9a69ed
+	0xb9f0a440	0x1ae9f2e7	0x1d387b33	0x56cfc0a9
+	0xd44983b6	0x4effaa80	0x0ec7ad1b	0x655fbffb
+	0x06f6b8ca	0xcae05603	0x922bd43a	0xf4abd220
+	0xfb9b6374	0x45d377a0	0xed58cabe	0x772cc460
+	0x7ff5d59b	0x0ab67b08	0x1fc231b1	0xb04a0441
+	0x4ea6735e	0x83ea71c2	0x91773202	0xe90c33c3
+	0xa235b2af	0xa7d8afa4	0x18d523e2	0xa48b6acf
+	0x56f62366	0xade89732	0xd5aa0f21	0x4b78914f
+	0xb774fbc8	0x47e8458a	0xbc8c5b27	0xe79f809d
+	0x37339143	0xfc5c2925	0x0a66dfc6	0x421a0c01
+	0xc0a3b3aa	0x17b0dc02	0xb6b9302a	0x05d5544a
+	0x50a3ca33	0xdbb31a0a	0x216c21dd	0x3e1eeeb9
+	0xe031627a	0x17f60b7a	0x417e5944	0x79878636
+	0x1566e37a	0x3c8aeb1d	0xcce8bfaf	0x85c1e11c
+	0x2ded8d3e	0xb9f69ba8	0xd7b2509e	0xe320a03a
+	0xa8da1ae2	0x0ce8a42e	0xf35334c3	0x0b16d14a
+	0x0ec31ece	0x21d6fc90	0x357c6d53	0x0660c479
+	0xd71b35d9	0x70b3dfc6	0xa04757cf	0xe7c480cf
+	0xb5cefffb	0x815596aa	0xa4fe1233	0xd40b51f9
+	0xcd65c934	0x9e410744	0x50943901	0xb9f64d34
+	0x765892c4	0xc37dcf44	0x4ca52be5	0x4150fc1a
+	0x6be637e4	0x09593fa3	0xf3c41aff	0xa2c5ab39
+	0xb34d6c8b	0x4f5959cd	0x192f572d	0x465e28d7
+	0xec9db016	0x4daf6f1c	0x8249efd4	0x54527d96
+	0xf053854b	0xaea0ff5a	0x4811f2eb	0xb0cb3314
+	0x015d9850	0x33f43296	0x9faa4a12	0x3c385258
+	0xe11c11c3	0x1efd827d	0xe41ad89d	0x3bd99c18
+	0xefb133e0	0x97727400	0x85c3e601	0x4ff46200
+	0xa224b0da	0x640a9f69	0xefb53b38	0x78cc66ba
+	0x24cf59a2	0xec0bea08	0x7e926b0e	0x2d921e46
+	0xd8e2e2ca	0x4cd53cdf	0xb82d08ae	0xe78c1e4d
+	0xca6734a5	0xe2e63cab	0xc5ba68fd	0xfa6cb0e5
+	0xeec04de5	0x459c0ddf	0x4ec808d6	0xe039961b
+	0x03696e0b	0x92c8caf5	0xa7e86d70	0x1f742b06
+	0x1d5cbd78	0x92d5578e	0x2e51bdd0	0x23346eb0
+	0xf05d39a6	0xc8fa8535	0x0384770a	0xce33dbcf
+	0xb9044bd7	0x9afdb602	0x4f22c8bf	0x4fd59c18
+	0xb04d1c2b	0x38b74c43	0x77a23a0c	0x579b9580
+	0x4890fb00	0x58a2e345	0x22420ca1	0x82aef8f1
+	0x4218f112	0xa0156339	0x44b5af22	0x96dafcb7
+	0xfed244ce	0x0ec0d7a8	0xa52e86f9	0x694248ed
+	0xd25870fe	0x34f93daa	0xe178d84a	0x70897ace
+	0xdfec9960	0x061729b4	0x1941e2d4	0xe88eded6
+	0x5657b452	0x5c98b677	0xf4f17162	0x996c3f42
+	0x61e22ac5	0xbcc504c2	0x841ab74d	0x35630385
+	0x0e5c2389	0xa77897fc	0xadd38e6f	0x03671090
+	0x2a94d2cc	0xa866a8a8	0x381068a4	0x0d8f769c
+	0x031cd3f4	0x43efbb62	0x65d26933	0x07c4c862
+	0x08bfe63f	0x63cf80fb	0x2bc411ea	0x1e53cdbc
+	0xccd46f61	0x7ae6f760	0x0a3794f2	0x7b8366b2
+	0x8781320d	0x4d49b28a	0xfe700e14	0xac5c041a
+	0x8a428c72	0xbeba1ba8	0x104ca0c9	0x2ecdd70c
+	0x99f94dd2	0x8c9e8050	0x2cdc1187	0x8697667a
+	0x39963209	0xbd6a1e9d	0xeb57f0d9	0x9c876cd1
+	0xde6cc752	0xc5d81dd8	0xcb04f322	0x3675e023
+	0x69f0ccaf	0xdc1c7299	0x66f6cc58	0x4af279a3
+	0x2405daef	0x3cdc114a	0xf11c038b	0xed163d84
+	0x8f915a3b	0x7a03313f	0x9abedf01	0xb828e02f
+	0x05d2d07e	0x36799491	0x1fbb66ec	0x215f0d93
+	0xa195c1f4	0xfd3cf434	0x4dd36fbf	0xfcbaeef5
+	0x5fa49ada	0xcfef09b7	0x9ca1f00f	0x1094bca9
+	0x2890356c	0x5535696f	0x3f786826	0xdfd166a6
+	0x7cc2a7bb	0xeb9775f7	0xf1f1d015	0x6cb43330
+	0x44f5103e	0x19cc238a	0xd802a783	0xa86d23b2
+	0xfc6d5595	0x406b04f8	0x1f87e63d	0x7def0a8c
+	0x66df4024	0x91291bd7	0xe7c9f664	0x3053efa6
+	0x13ae9ef3	0x1ca9934c	0x635e98b0	0xd7c0e7e8
+	0x951c1f5a	0x6a1f8310	0xe2e136b4	0x4fda9bf9
+	0x3748e217	0x201a3128	0xa77450a7	0x68a164db
+	0xbecaaa8b	0x39acdb6c	0xd72a8e99	0x358091fb
+	0xcbd44198	0xf8abf8d2	0x460d979f	0x09779fed
+	0xb066acb4	0xdd3b0b54	0xba6b34d1	0x9cd07e73
+	0xded39eaf	0x4a86f91e	0xa1576746	0xef5535c6
+	0x0d68d90d	0x9063b417	0x63764a13	0xe46589e8
+	0x4c464469	0x01da5cd7	0xda3d955f	0xa9cb6bda
+	0x74c5905a	0x022a3068	0x99785d4d	0x4aa81734
+	0x65f0e347	0x38cae44a	0x41445dd6	0xa8d298e6
+	0xe135a8c6	0x9e36cc39	0x450fd746	0xb4c9282e
+	0x5f902e54	0x52047a0a	0x054dcd41	0xa7f54f76
+	0x7e064c5d	0x1840b8dc	0xa42b3fc2	0x89959221
+	0x3670527e	0x0033bf58	0x6d01b3e7	0x153a4523
+	0xfdbede48	0xeb37591e	0xe9dcd198	0xe19b32b3
+	0x0ce76cc6	0x07fd8a8b	0x7861aea7	0x0e6ef7cc
+	0x295dcc81	0xeed43565	0x85e6b1b4	0x1c36176e
+	0x4de5e5ea	0xad417cd3	0xa0b502d7	0x4f4f26ad
+	0x55f0a11a	0x70414fff	0x578f513f	0x1a0036d4
+	0x65cb54d0	0xdbe91469	0xb613a236	0x73c05182
+	0x8da00dae	0xbc1c8526	0xff0ad02c	0x9289e4ef
+	0x245d0636	0x162603db	0x0e5a40fa	0x0cfeefd3
+	0xc355fae2	0xf2866c99	0xc65dfc8f	0xb7ab492f
+	0xf811fcf6	0xceaef429	0x4ecdb0e5	0x54bf4e1c
+	0x02c83d94	0x174cf22e	0x3c304b8d	0x9ad51572
+	0x444ab420	0x7c41fcb7	0x70193210	0xdc59b8da
+	0x9042a368	0x2c73167e	0x47dfb476	0xc07c86a0
+	0x0341e3aa	0x8ee97f19	0x65a47f28	0xe9221e76
+	0xac7ce5b2	0x5dc2293a	0x575436c1	0xb897b186
+	0xb6722e1b	0x0cede865	0x641884f8	0x87784739
+	0xb2cdbe39	0xf53210b5	0x819b5b5e	0x7e993c71
+	0x088c20d9	0x1ff3c97a	0xe348600f	0xb9434df3
+	0x4e2404ee	0x72ab1fb6	0x80922cc4	0x1239aa8b
+	0x180c6d70	0x47f0e6c8	0x04c35fa4	0x861eee82
+	0x4a5b0130	0xd29740e4	0x1200e288	0xd8aa1b4a
+	0x45cf055b	0xf0970e66	0x7e82c921	0x038a1be7
+	0x0f12a078	0x89ad1d6a	0x1c97ef2b	0xd3a3abb8
+	0xd6026f4e	0x2b9e13d4	0x5d5611d7	0xb35b1222
+	0x6a0715d6	0xe93cceea	0xbdc957a3	0x998dad9d
+	0xecfec721	0x09f02421	0x4c971582	0xe4fc588d
+	0x3a8f1c64	0xaeb5a6de	0x94bdd5e3	0xca0c1072
+	0x352fd723	0x6257b138	0xfee44d09	0x9a3d6c87
+	0x1031ae4d	0x6f2ebcac	0x97611fc4	0x37799303
+	0x9566d4f0	0xf6a69a64	0xd089ecc2	0x06c7a3b0
+	>;
diff --git a/arch/x86/dts/microcode/m01406c3363.dtsi b/arch/x86/dts/microcode/m01406c3363.dtsi
new file mode 100644
index 0000000..a90f21c
--- /dev/null
+++ b/arch/x86/dts/microcode/m01406c3363.dtsi
@@ -0,0 +1,4308 @@
+/*
+ * ---
+ * This is a device tree fragment. Use #include to add these properties to a
+ * node.
+ *
+ * Date:
+ */
+
+compatible = "intel,microcode";
+intel,header-version = <1>;
+intel,update-revision = <0x363>;
+intel,date-code = <0x12182015>;
+intel,processor-signature = <0x406c3>;
+intel,checksum = <0x3ecdece5>;
+intel,loader-revision = <1>;
+intel,processor-flags = <0x1>;
+
+/* The first 48-bytes are the public header which repeats the above data */
+data = <
+	0x01000000	0x63030000	0x15201812	0xc3060400
+	0xe5eccd3e	0x01000000	0x01000000	0xd00b0100
+	0x000c0100	0x00000000	0x00000000	0x00000000
+	0x00000000	0xa1000000	0x01000200	0x63030000
+	0x00000000	0x00000000	0x18121520	0xf1420000
+	0x01000000	0xc3060400	0x00000000	0x00000000
+	0x00000000	0x00000000	0x00000000	0x00000000
+	0x00000000	0x00000000	0x00000000	0x00000000
+	0x00000000	0x00000000	0x00000000	0x00000000
+	0x6abbab24	0x789752cb	0x83003819	0x616df082
+	0xf0952c2c	0x7fbf7fbe	0xe1ca9540	0x47bb7ec7
+	0xef44e4c3	0xf91d4958	0x230883b7	0x7382ab6e
+	0xf14324ef	0xf94c28d7	0x9131d196	0xebcf2faa
+	0xc049cb37	0xd1577abd	0x5edbe45a	0x17e1ca1e
+	0xbe9a92c3	0x1c8e1790	0xb3c08b8a	0xca799851
+	0x3f2a8c92	0x1b7e15d8	0x1f44ecb2	0xaeda1838
+	0x0ace8669	0xae9d497e	0x424c680c	0x21b3a3ed
+	0xd924acfe	0xddc126a2	0x26363596	0x21cd999b
+	0x193f9df3	0x037d1953	0xf97a3dc5	0x4c94ad7e
+	0x98b360f0	0xeb90461f	0x438e6d2e	0x30851a0e
+	0xfd623681	0x18782d3c	0x702938c5	0x462df0dd
+	0xf7d67cc1	0x161076a0	0xf06e5db3	0xd861a76b
+	0xa40b06bc	0xed37c69b	0x2b25f98b	0x2b67887d
+	0xbf0131b5	0x571b7c25	0x34eb3752	0x992e406e
+	0x031ba8e7	0xccfc5b1d	0x33f487e9	0xeccc3098
+	0xe452737b	0xb38cc286	0x817bc58f	0x852a7fde
+	0xcbcd1b19	0xab11894a	0xa1f278d7	0x360829c9
+	0x11000000	0x34af9103	0xd674d0ce	0xa551e6a8
+	0xa4ecdc9d	0x1cc02761	0x9c6e5450	0xa160c598
+	0x52f99daf	0xec0347b8	0x3da61ab4	0xf567197c
+	0xfd8bb83f	0xcc995bef	0x54d178b6	0x1671de11
+	0xac092895	0x9debbed1	0x6c92142c	0x6323623d
+	0x0eb91ca9	0x5c295220	0xfbaa9c0e	0x589cb9fc
+	0xec23fbf8	0xa4a586a7	0x199f007f	0xdf3216db
+	0xc0d57da5	0x5f4725e3	0x5726d9c9	0x17667c8d
+	0xc1c79708	0x9e2256eb	0xfdd0d08f	0x60c7bed3
+	0x5845511d	0xd7082ef8	0x3baa9a81	0x79e5bbdb
+	0x5fa1d140	0x1a9dd574	0x65ab8603	0x3d09b760
+	0x5d5370dd	0x20cbfc54	0x6bb53528	0xd0d59569
+	0x3072c8e0	0x8d041e8a	0x393ff37c	0xa924e167
+	0xdc321c2e	0x758ef7f9	0x75d45a77	0xa162493e
+	0x541efc10	0x10adfa66	0x1ec98113	0x2adbfc4e
+	0x6f72ee57	0xb6135602	0x6bb1aaa5	0x8b28671d
+	0x52cd7438	0xe23e5714	0x541d71b8	0x1edeaecd
+	0x66099798	0x273aafe2	0x94c4bcfa	0xd2a91918
+	0xbfb900b7	0x7bffd9a6	0x98f3cc81	0x25418789
+	0xe4827c24	0xf91a6587	0xa8f37dce	0xed2bb02a
+	0x55e3d863	0xf75d0279	0x2d08e3a9	0x04447fc8
+	0x5b8a7d2d	0x7feac814	0x49f424a3	0xf3875991
+	0x7ba76639	0x15c5c756	0x351ce3b5	0x3f6c510c
+	0x99f05511	0xbf82e8cc	0x3a08ff2e	0x27ce0320
+	0x156823c8	0xea93277e	0xd4f644ee	0xed19db7c
+	0x883aa3cc	0x477659d8	0x328f8021	0x5f5027be
+	0xdc5dc6b0	0x7be0a222	0x3eeac5c3	0xd550feb0
+	0xe536e7f1	0x286636de	0x853b327c	0x89c0fb10
+	0xf3ca1f99	0xdfac434b	0x77629984	0xbf9089ab
+	0x4c485305	0xeeb11fc0	0x287f76db	0x30930095
+	0x6903c661	0x2b8cdcc7	0xdde71952	0xe608b18c
+	0x92c949a1	0x8aad2b8f	0x65862768	0x9cee8ac0
+	0x823d78c3	0x847136fe	0xd9310ed3	0xb8b42493
+	0x29ace469	0x42888461	0xded8e619	0xdf05ba83
+	0xbdff529b	0x200b50aa	0xa68969a3	0x852839f8
+	0xe990c70b	0x4646940c	0x97d3cc15	0xfbc684fd
+	0x670dc5bb	0x9221de80	0x4c8e6b5f	0x0d8e97a0
+	0xad70fce0	0xeae31c56	0x285bf809	0xe8875db3
+	0x90b80642	0xd3823067	0xcc83a749	0xf9ca429a
+	0x67422236	0x1391a167	0x0bf82b36	0xc9765751
+	0xe716e34a	0xe0a8a4f3	0x98c3a88c	0xc6e2f8a4
+	0x7fac67f1	0x1dc95999	0x506bbfcd	0xca368479
+	0xb40279c4	0x55bcf309	0xa33edb78	0x82136a30
+	0x5b12a8f7	0x760c01d3	0x5db7a4db	0x74f5bbf7
+	0x88d8cf63	0xbc44938d	0x3b8aa64c	0xa619841b
+	0x938ef7b6	0x4e62db80	0xec29b936	0x12c88360
+	0xd13fd368	0x049fedc3	0x980d670c	0x751d7334
+	0xe275082c	0xa856923e	0xcf718388	0x91c05a55
+	0x1feea2d0	0x973e9ef4	0xfdb50bdb	0xc9f0d356
+	0x1fb535f4	0xac8935e1	0x54ca8daa	0x5236b3f6
+	0x96077418	0x7cd145ee	0x4c3eac4c	0x96708111
+	0x2d0d2818	0xdf8d4d8c	0x1e0dc74d	0x55563148
+	0x8ded787c	0x8b23817c	0x2791cb6b	0xfe592eeb
+	0xc291504a	0x594803f6	0x5cb40c93	0x0fb42830
+	0xdc805110	0xa04177c6	0x5b196cff	0xa8389595
+	0xc22006a4	0x48f63bed	0x956fe2ab	0x8326bac5
+	0xf607d430	0x4db75e7c	0x5abe98f3	0x1ce11559
+	0x9a6bf85a	0x38332b5f	0xd5d89037	0xc68921c6
+	0xa0076717	0x7a8825e0	0xeca2298b	0x78202f5f
+	0xe9fb2a84	0x0a190fbb	0xacd7c21a	0x7c1b5df8
+	0x8bec1b4c	0x269507e6	0x8890150a	0xaba688e7
+	0x3bfe89e6	0xa2b9f1c1	0xe073b921	0x8886f1ec
+	0x8e70e13e	0x32a1a95e	0xaf7eb731	0x76ef3515
+	0x4e90039d	0x8e469581	0x076c7437	0x136549ac
+	0x357e3610	0x63a28516	0x19d505b8	0x43c971a6
+	0x0472035b	0x756164f2	0xbe6062a4	0xa1c37b2d
+	0xb07d2cf8	0x8476f6b6	0xc715da8d	0xb2afed44
+	0x249f6d7c	0xb5d69bab	0xcebfac4a	0x79dbe92b
+	0x27885a7a	0x36e23920	0x22974454	0xdb75e82a
+	0x9ed157a9	0x66b7f446	0x8dd61b49	0x1ec542a6
+	0x2f1602c7	0xfef7c1f0	0xf0e03fd1	0x7c5d27ba
+	0x1aab9e49	0x320c70a0	0x8428e51f	0x6518c994
+	0x4b1dd367	0x43e7759e	0x2e3a273b	0x02e96af6
+	0x7d7fd596	0x76fb392f	0x01e0575a	0x34c3c159
+	0x58ad09c1	0xff429aa9	0x542c728e	0x960c1be4
+	0xd993a44d	0xbe66f3b0	0x097dffa0	0x63ffa221
+	0x4e9d0eeb	0x059ac1e7	0xc8a98f69	0xba154f66
+	0x4c32444b	0x16c6b875	0x90ece67b	0xac649e61
+	0x9e8f0cf7	0x428e6df3	0xc9ceb8ef	0xa66bab0f
+	0xd499148e	0xbc453d7b	0x10064f2b	0x839a2b6d
+	0x8cf150bf	0xef4ff034	0x5f760dad	0x3ca17566
+	0xc469b66b	0x59389505	0xe731e5ef	0x436cf37c
+	0x07430a9d	0x4ec457cc	0xbb9b3569	0x39e66440
+	0x51508550	0x14e9282f	0x9019d229	0x4f1f91a8
+	0x52ed0975	0xb0f8c69e	0xc95dd930	0x58613f85
+	0xef94c1bb	0x4763c396	0x0271e452	0x199cf8f5
+	0xb5459017	0xd30a46f7	0x4a882adb	0xd81c67fe
+	0x560d3066	0x1c54e221	0xcff36db6	0x10ba2ad6
+	0x2a2f3b5c	0xb49815be	0x23d8e3a1	0x199ace76
+	0x14cabe0d	0xdcdb74ec	0x7ba0ee4e	0xcd8ade16
+	0x6fff6e9b	0xe7ebf779	0x3cd0d4bd	0x1d5988ba
+	0x41a869e6	0x938f3f7c	0x1c32d1cb	0x32cd7d32
+	0xd5f6c5b5	0x18f6ce02	0x355e6a02	0x1ce3fe19
+	0xef2db61e	0x53569367	0x2143daf2	0x9ff48c31
+	0xa8f2ae31	0xb942b0c5	0x5322e9fd	0x5c86f025
+	0x4564eb04	0xbf84637f	0x72649b68	0xbcfa9479
+	0x92160cd7	0x6a82f2ed	0x56e95854	0x8de8854e
+	0x3a6f9ae7	0xc600810a	0x3b916a72	0xc7757b0b
+	0x5c509f76	0x671a3e65	0x557be597	0xbfa43c40
+	0x75ad1bd1	0xef6e4e5e	0xc925131b	0x0b23f0df
+	0x8872d439	0xe7c68436	0x66948273	0x52c5820e
+	0x8bcdd308	0x5961f832	0x8b9e05b3	0x1877dc15
+	0x677c923f	0x9275f82c	0xb63ab226	0x2ebed52f
+	0x709be956	0x029efa11	0x181b9d17	0x85b196bd
+	0xd0ef2b24	0xdb40ed0f	0x64cd9131	0x6d4591ce
+	0x39b07cad	0x5d93a4fa	0xc72ab75f	0x411c103c
+	0x0e543f47	0x82326a56	0x97e74672	0x8ff175c5
+	0xa4af4aa4	0x7d486409	0x3c4f0022	0x8c340a17
+	0xbb78a4de	0xcd8347d6	0x3b413b09	0xc5ea0d4f
+	0xc04924fe	0x775b3449	0x5177508d	0x7837f058
+	0xad7585b2	0x04de4c25	0x62045a0d	0x795cdf60
+	0x20895612	0x927248ac	0xdec3682b	0x5f624760
+	0xd1eb3249	0x3c258434	0x5471ce68	0x63dfc40a
+	0x972e356c	0x248921e6	0x2c6c68d3	0xc7934632
+	0x21b3e041	0xe261b970	0x872c8f48	0xbc83ee9b
+	0x7fc5365e	0xbf811695	0x7421fbf8	0x351251fe
+	0x2fa69f93	0x1b0e076e	0x844620b6	0x34ae0b82
+	0xb4397ce5	0xc8c334c2	0x3b83e4a3	0x9400ac98
+	0x77ef3b8d	0x9e99a943	0xc9dea3e9	0xc79bcc15
+	0x97adb857	0xcf3628a5	0x5fb9dcd8	0x1fb48b0d
+	0x912814a2	0xd90cc6c5	0x8d41c708	0x31f3f996
+	0xd3cdc511	0x3548427b	0xb61e440d	0xa37184ed
+	0x4046b193	0xd4fa3e6c	0x49be92e7	0xffc4d769
+	0x2a612567	0xc0e47c24	0xb4cd56dc	0x642e0d3c
+	0x28f29fcc	0xade72ab6	0xb2b4e692	0x45f1d977
+	0xf6cb5893	0xd5de01db	0x8e12fe1d	0xda7387d8
+	0xe7ffe1a8	0x0b2dcacf	0x303d217e	0x755c391e
+	0x182f0fad	0x5c3b4c52	0x005ea5af	0xce544cd8
+	0x85a42ec0	0x5d7efb0d	0xb902ae0e	0x25dc0faf
+	0x31f94bdd	0x4a3ea693	0xa3715564	0x356f9547
+	0x10f6c847	0x306c053b	0x12a2b255	0xd12abc31
+	0x692c4e07	0x26e8fe46	0x893e5fb7	0xd592abdb
+	0x48135ecc	0x1c433483	0x83e52581	0xa984e767
+	0xa65b1461	0x0d32513c	0x0932221d	0x0fcfb020
+	0x20bbdc83	0x2fbad27c	0x9eb4a08b	0x947301a3
+	0x7776ddac	0x04e8ac11	0x40e42a9d	0xaf74d77d
+	0xc9e1e938	0x7af6c1d4	0xc8dc1650	0x24ad902f
+	0xe009278f	0x905d5de6	0x638d3a74	0x937d4685
+	0xaf0e95d4	0xcf1d2012	0xf9c608a0	0x6fce7bb9
+	0x8b421310	0x23efaa4c	0xa52bdf67	0x1898d46c
+	0x8f3834de	0xba7c2fb4	0xfe84eabd	0x0e66e78e
+	0x1c636cef	0x8c9c5d30	0x665e1ae3	0x5eb5888f
+	0xa832e9a9	0x8e9c37e9	0xcfb38ace	0x93ee97fb
+	0x1c191d98	0x276c4d6e	0xd18ab928	0xf86a8dd9
+	0xf975c062	0x8cc952c0	0x69c5f436	0xcd50d9d6
+	0x916dd94e	0xfe6645cf	0xb7dacd07	0xb1bbc45d
+	0x564b887d	0x587b5323	0xc0706aa2	0x14a7dcfa
+	0xad918e14	0x27edb562	0x71467cc6	0x544931c6
+	0xa003a9d3	0x9d5bc429	0x891c3a2e	0xa838c8ca
+	0xf2e664da	0xd6e6fccf	0xa4a65c77	0x845eaac8
+	0x5f15eac0	0xa0c6f671	0x6a506930	0xcc44355e
+	0xe379041c	0xee2434b6	0xcd186246	0xf7ca9b32
+	0x6150775c	0x6b8b53dc	0xc1c929fa	0x73747210
+	0xa96bbd50	0x5e3fbb16	0xb10042d8	0xe0214515
+	0x572302b6	0xd501abb8	0x39250387	0x95dee388
+	0x50c64c16	0x799e94bc	0x323bde9e	0x0148ecc4
+	0x8fa3aca3	0xbbab92ef	0xeaaa2864	0x59fc47d6
+	0xe9973a97	0xeff10530	0x2ee64dca	0x26549b06
+	0x0c8c2e08	0xae8e5415	0x3c40bbf0	0x89c50b81
+	0xb4fcfba9	0xb9c4c555	0xf2968416	0x7091257b
+	0xc70896ef	0xb3086b29	0x5b224365	0x516c78cc
+	0xc36c7b04	0xeae540ec	0x7b50490b	0x1c0681ba
+	0xdbdb6bc1	0x1892d735	0xc55d1f7d	0x43a13e09
+	0x64fb4fc7	0x63d9f7be	0xd94a1264	0x7c29c0c2
+	0xbc80d0e5	0xcc0f8ba9	0xd9ffcbe2	0xe6cbbfd7
+	0xa393ea13	0x9c1d2cb8	0xf6b30c8d	0x774ab520
+	0x902f1f82	0x591e8fcb	0x54a49a0f	0xea92775f
+	0x32db070d	0x46871147	0x71db3643	0x46ec5752
+	0x60b676d7	0x000e6315	0xda2f8ed1	0xa02774f8
+	0x5b10b0c9	0x745201fa	0x64cdb756	0xdbac8197
+	0x8ccda850	0x03376e2a	0x30b1bd37	0x40879940
+	0x0a94a9fd	0x45f5a94d	0xd291c228	0x63e8dce6
+	0xc0e92d5d	0x94f4af95	0xa6493cb2	0xaf6796d1
+	0x1b92305d	0x90cb1f96	0x52b6a25d	0x60adaaa6
+	0xc39b1758	0x90365599	0x1fd8ba91	0x9d8142d3
+	0x35de6e66	0x8c3c97c2	0xe080a68a	0x0c1212a4
+	0x432e0909	0x4617fbc2	0x8c64a51c	0x83cadb95
+	0x61e751bc	0x5a1f6e50	0xc18bf429	0x44796e3c
+	0x9196cb25	0xaa458f0d	0x17a892e2	0x0fa38b9a
+	0x27d433ad	0xbf81824c	0xc554ecde	0x3e0e0ec5
+	0x3d0507fa	0x8e01868b	0xe9890628	0x95462999
+	0x78d3c488	0x7c11e37e	0x744f486e	0x382b91a4
+	0x92b5aaa4	0xe5ced181	0x538c6405	0xef665333
+	0x0f2c9006	0x817b1d64	0x8ed18582	0x4762ebed
+	0x793e8754	0x7ffc1370	0x83e97a2f	0x0097efbb
+	0x3af550b8	0xe8b5d326	0x1328badc	0x1b876137
+	0x87d0a5f9	0xa886af93	0x84d82661	0xd59c25a7
+	0x9436457a	0x33657675	0xc2e84838	0xb69dfb0f
+	0x7cd5f62b	0x4aefc230	0x55dfae89	0x09303273
+	0x99df1289	0x91a8a253	0x308c3493	0x82ffc531
+	0xbe46de4a	0x95018289	0xb3f1484a	0xfab68007
+	0xda22a10f	0x52dc5477	0xc6c0cd11	0xd7432402
+	0x66b3b9b9	0x2d9e453c	0x61b9f88f	0x7c0eb965
+	0xcfea53f6	0x2128bef3	0xc70cd033	0x0b64e589
+	0x83b6c8fe	0x90f7f205	0x746ad9a9	0x60dc76f9
+	0x8853da22	0x77af258d	0x392bbcc6	0x4bbcee30
+	0x5109f557	0x6a54ad0e	0x8f88d2a7	0x26b23261
+	0xaacf9560	0x8fee9392	0x2305214d	0x700c4bc7
+	0x5e6fa646	0x81c09c02	0x124edc15	0x0952d2c5
+	0xac95aaa1	0xc942e831	0x59def5cd	0xf973bca3
+	0x8804722d	0x35b6502c	0xee05d2d2	0x47df0499
+	0xe9bb746e	0x3fa99f04	0x9b727ba2	0xeca8c402
+	0xe17495bb	0xbacf5681	0x37b9aac6	0x210490db
+	0x733b0296	0x946bb6c4	0x7dbf7cba	0x0faed4ab
+	0xfdf0bdfd	0x376c755a	0x7b81d000	0x4dbd9803
+	0xe86dec4f	0x69144ec7	0xb8fb18ef	0xc23f8e5d
+	0xf4dcb6a3	0x32e22545	0x2404ad5b	0x6682c8e0
+	0x65a6ca16	0x2ca8667a	0x1b54a478	0x7cc57603
+	0xe3f94a87	0xc96d24c4	0x3aeaaa11	0x23ba93fe
+	0x25855840	0x32ac7211	0xec0eed00	0x1d53723f
+	0xb27942fe	0x8ec00760	0x97116503	0x68b22ca5
+	0x36752cd5	0x61abc066	0x8fff56de	0x287f4a5a
+	0x19f88345	0x712a09d3	0xec3be550	0xd08bd04d
+	0x45e1d15a	0xde83aecf	0x0331b023	0x91b0075a
+	0x70d39c38	0xbcf8b4ce	0x3365c4eb	0x71cf887a
+	0x5c42404c	0x56953eaf	0xf804db60	0xf2d9770b
+	0xed5b877a	0xa8ebc885	0x8dd2b361	0xa3f228b8
+	0x3ce6b3c4	0x404dec04	0x32db0836	0x80805f40
+	0xee0a6b4d	0xecb6a91a	0x65583189	0xd3fe005f
+	0xff19d475	0xe030314e	0x852f4c46	0x340007ba
+	0x95500a80	0x63761dd5	0x1751389f	0x7f611d78
+	0xfab36f54	0x5f071822	0x43c70000	0xf1813b21
+	0x7ed03c5b	0x6105ae85	0x8e1d08ff	0xbd4c223c
+	0x43c39836	0x50172b88	0xa1b58d41	0x37f631e2
+	0xbf956f52	0x77c8f43d	0xab796206	0x59e9e046
+	0xcc7ada10	0x8a1c4541	0x08b733b8	0x0c8c7616
+	0x90071b59	0x34a6e0c4	0x4625f3b6	0xb992ce0c
+	0x8da6fb2c	0x5b659d0e	0x92428703	0xccf200ed
+	0x3dddcdad	0xce4f2c52	0xf9f9679c	0xa3fc82f7
+	0x06202e00	0x25f9de55	0xf0594e68	0x1cd670b5
+	0x845386f1	0x10bdf789	0xe3ee4a05	0x1efda32c
+	0x2a76a8fb	0xd0e71447	0xe77a41af	0x119b8c5c
+	0x14dc63f4	0xe5e9d8ae	0xe8cec247	0x9029858b
+	0xc0870608	0x1615fc71	0x05563b71	0x9cb09413
+	0xb4ec6ff6	0x51d020c6	0x30d8bb6c	0x438b91aa
+	0x38c35cc7	0x32b2e77f	0xf8b82f0f	0x41a186ab
+	0xb9f51625	0x87384508	0xe269eb2b	0xf6fac07a
+	0x4f81200c	0xa7534357	0x65fcc7b7	0xe4d7e5ff
+	0xc8b32713	0xd1c2d99b	0xdcf6bbbf	0x9e037d0f
+	0x39b70e51	0xdf43026f	0x347b7c12	0xc8e78974
+	0xf486ff91	0x1bfd469a	0xaa1354b5	0x487339ea
+	0x84ca7228	0x4955fd60	0xb57a9c21	0x84e74c78
+	0xcfcea592	0xa8ddaa1f	0x6c00eb77	0x45bd61e3
+	0xc629ef4e	0xcb46eec4	0x39c106fe	0xe3c17770
+	0x13a0d721	0xd4e634e6	0xdb6809f3	0xc598c116
+	0xf85738df	0x342ee0e4	0xe6161d83	0xe3691d5a
+	0x37944585	0x1a9805e3	0x0680d08e	0x70e92def
+	0x0cbe04cd	0xd962c766	0xd78ddd24	0x0e6e1994
+	0x858139f0	0xea68a33b	0xae28354c	0x207ac2fb
+	0x923d1a1e	0x2450832b	0x51f38454	0xc1fa8519
+	0x8d0ed6c9	0x6e65d931	0x1ba4b87b	0x951d0bff
+	0xbe90b5bd	0x0c110d64	0xd3f1276d	0x471d6f38
+	0x3bb356e3	0x308139ff	0x92968f30	0x553d37e2
+	0x60bc26af	0x8f72e058	0xf9d248fa	0x499d4f06
+	0x106be129	0xd82dfa04	0x076fb7ba	0xe00575f9
+	0x7876dc60	0x72b2a280	0x4953f9ed	0xcf8cf94c
+	0xb216d447	0xdd8d68e3	0xf4eba871	0xf0623e64
+	0xf358ecea	0xf22a1276	0x45f7341f	0xc1291cc8
+	0xfabf1d5e	0x6cc3988c	0x3d30aa87	0xbaef31e5
+	0x607603d1	0x87ec3e92	0xdf44a6da	0x4b97b845
+	0xf011ca64	0x7597e4a7	0x950abddf	0x57793aff
+	0x2572736b	0x2a85c40e	0x7b7f1d71	0xa288c516
+	0x85be78cf	0xa3cc2834	0xe8eaab52	0x46b92d89
+	0xe28ec2b1	0x0986bb79	0x0ac43504	0x340b3751
+	0x7d07fb3b	0x23df6bc8	0xc696b021	0xa8901b33
+	0x8f63e0ed	0x8402c0f5	0x31e1ba34	0x2b6f92fe
+	0x863fef70	0x6aca166f	0x73c01ba0	0xb1a0465c
+	0xf5ed2a7f	0x276014bf	0x09aeefaa	0xf4a04698
+	0x7c72df4d	0xe6743589	0x39398783	0x6266778a
+	0xc7bcb0ba	0xa83bcee7	0xb38fd684	0x9d49dfd0
+	0xd0503d7e	0xa3f36b94	0x014f4481	0x60628909
+	0x9c954bde	0x588f5938	0xf956dfa4	0x9a39b849
+	0xdf6d3559	0x4b52c1c5	0xbbeb551f	0xba33f1e8
+	0xb788be1e	0xb690bdcd	0xb9437592	0x020a4b65
+	0xa26c8ab7	0xfda34a43	0x8365278d	0x5a13951d
+	0xcdcf9e4e	0xe9362211	0xbff63b3a	0x7563ebfe
+	0x16de12c3	0xffac1a2e	0x394dddf2	0x37239c14
+	0xfebbf610	0xc8f5e49b	0xcc38813f	0x87bd1f2e
+	0x9e32e4bf	0x39b20865	0x5b02b19b	0x401fbafe
+	0x0a3cd931	0x3a76015e	0x3d7c7751	0x7f3f45c2
+	0xad34d39a	0x9eed5a5d	0x495ab92e	0xec72bdc8
+	0xa1659ec6	0x0d0e82db	0xcceeb7ff	0xc3a04c63
+	0x09b44e30	0x8c68f5d9	0x78a1dfe7	0x8ae29967
+	0x7a6009e7	0x7d7a57b0	0xb606debc	0x36db9de1
+	0x91b23ab3	0x9bbbbb97	0x1c7a5812	0x053b493f
+	0x21fb49e4	0x0e0c1170	0xc7519471	0x6ce8e6bc
+	0xdbfcc87e	0x902ec5da	0x5ed1890e	0x67ad2554
+	0x2b1c1e1c	0x535ae4ec	0xac637c43	0x1a601fed
+	0xfef207e2	0x46ff3ba1	0x88e9e0a2	0x64d2dd97
+	0x778e24c0	0x6052a550	0x95ed76f0	0xb3454d17
+	0x01ee92aa	0xffefab6a	0xc3d8559b	0x0dba8de7
+	0x068bedaf	0xfaef15e4	0x6234ae34	0x73ec4bf5
+	0x43adf339	0x4b0f8de7	0xe764d584	0xe0760a24
+	0xb3eb0c68	0x75b3f9b2	0xf024df28	0xda645aac
+	0x0a6bc56e	0xb7260018	0xe615875a	0xa13a327d
+	0x6eb423af	0xb033289c	0x1b738592	0x143e03a5
+	0x14d84813	0x39fb3f9c	0x97563669	0x4bb8b9b5
+	0x5d122b9f	0xf43aa655	0xcbf6bd89	0x513cd153
+	0x5a720ac6	0x28edaf40	0xc6962633	0x09116fa1
+	0x23b1dbaf	0x4ab7b1ce	0xe057f269	0x9245662b
+	0x48f8ddfd	0xecc6a53b	0x1a02ac4a	0x3ec2ff1e
+	0x498e52c1	0x97687f25	0xd8f37547	0x515b39ac
+	0x6cc1b15a	0x65522e34	0x5fd144de	0x2571633d
+	0x9d9da5d5	0x965a114f	0x40c991cf	0x8058ddf1
+	0x84f473dc	0x51ae6d25	0xde9f9b35	0xa3e3c16e
+	0x666156e1	0x829e6c3e	0xa5a38205	0x3592bc43
+	0x52d75b00	0xa047e2ea	0x7e0bd672	0x7342aabc
+	0x5f5059ca	0x9382e589	0x062931ba	0x0e0fbd2c
+	0xd5223860	0xc940e45a	0x869f1a78	0xdfa5eeda
+	0xd127bdcb	0x63940885	0x3274b29f	0xfcb77bb9
+	0xa49feb47	0x8cbf77a4	0xbb5f6177	0xa1942c88
+	0x89658f9f	0x400579e7	0x159b799f	0xa0b21b4e
+	0x1906d38f	0xda44cef9	0x26b222c0	0x5218c63e
+	0xb807726a	0x56227902	0xaa0e2b56	0xf9c690a4
+	0x045a60d7	0xaead7431	0xdf43a28b	0x72aed6cf
+	0x336aceaf	0x265ad71f	0x1f3e7c99	0x7e6030f3
+	0x6d6648d8	0xb4926841	0xc7e0b902	0x7ce4540e
+	0x70b972ef	0x17e40022	0x675e851a	0x42180d66
+	0xe45dcb6c	0x54a4491d	0x72f7671f	0xef45a9d3
+	0xeb9f8137	0x802f2db6	0x3ede9405	0x4b86c1e2
+	0x9372d02f	0xfd63fec6	0x35020008	0x52114900
+	0x7a1ad13f	0x2402f735	0xb1f6b7c7	0xd6d5b632
+	0x154a9438	0x3e364d80	0x72f916e6	0xbfd36cad
+	0x8714a353	0x4cd98007	0x319db6e4	0x9ba24eab
+	0x65a72eb8	0xf575feb1	0x040c685c	0x5eb50e7c
+	0x1e41c876	0xc93dcc6d	0xc5291538	0x59815560
+	0x94d306ef	0xc9d44f42	0xe7415aec	0xc35479b5
+	0x92e467c8	0x9782185d	0xc09fbcf2	0x8403181a
+	0xa1b58b43	0xcc02ca17	0x634bf9ec	0x20882faf
+	0xcfe6569c	0x5bb61be5	0x8de00bcf	0xd0abbb26
+	0x9b239fb7	0x6491d6c8	0x1f86ff77	0x52d842a2
+	0x769a9eb9	0xa9d7140a	0xf44acf53	0x8f679b77
+	0xda12ab14	0x45849bd4	0xd4b8fedb	0x41d2f20e
+	0x5119dfeb	0x0ab7ac95	0x85bb4fcc	0x8d5cd1bf
+	0x09d78592	0x5d632ed2	0xb7a17164	0x0d86ae85
+	0xb9ad5cfd	0x6de7be63	0xf5fe6344	0xf657f761
+	0x38ccc981	0xf4050114	0xc5c65e8b	0xc8437cbe
+	0xd61d858a	0x713f2780	0x66a26ca6	0xc2ba846e
+	0xb9c0363b	0xca90c529	0xd97bdb85	0xebd51c51
+	0xd25f339d	0x72a565df	0x3da5a9fc	0x6d8c4d1e
+	0xbb0f9788	0x64c88ee2	0xdc4fab6f	0x739aac40
+	0xb6cec86e	0xd3f1aab0	0x64cdfa8e	0xcfc2fd83
+	0x3ff62c87	0xdcc78eaf	0xec1b3f33	0x14dd4c2d
+	0x9669b3fa	0x205aa2e3	0x188ab67f	0x0383e315
+	0x7ebae462	0xaf454af4	0x7f958e2c	0xc87727b4
+	0x2451100e	0x6c0869e0	0xe9372939	0xd903f020
+	0xd6db9b5d	0xea0aec89	0xcb9ee968	0x55e6daf8
+	0x8e0c5fef	0xe0f285fb	0x3de5fd91	0x2737dc03
+	0xa5123db6	0x5e1281b0	0x1494bed2	0x7d5e981e
+	0xcd14b88a	0x70b3ef5e	0xdc22e10e	0x2d73bc09
+	0x1720e7e7	0xa48ed5c6	0xc229e058	0xf2d51b6c
+	0xe71c26eb	0x6903b9b4	0x42ee13cb	0xa4b8841f
+	0x10bfaad4	0x3b41f550	0x45802cb9	0x9e9267a6
+	0x23db6591	0xe5537ac9	0x9762de9d	0xd7da6111
+	0x43d83e0b	0x6953ab95	0x8676fad4	0xa54d6833
+	0xfbf56f8c	0xcbf1d10a	0xa0acef92	0x0e6a0856
+	0xc78ba1eb	0xb4866d64	0x79ea0af9	0xe5ccbe52
+	0x1d5441b2	0xffbedd4a	0x1a86b3e0	0x8ec6db6f
+	0x0ce230c9	0xe2d6c885	0x36d28fc1	0xe4ed575b
+	0x36aa0795	0x809c85a8	0x3d1e8a24	0x275871b3
+	0xa83143d4	0x4d0b8458	0x486621c2	0x3f3715ec
+	0x5539614e	0xcec52cee	0x2b1535bf	0x77242e14
+	0xedd93846	0x33217bda	0xab6f9a65	0x4c861cb6
+	0xc9813f7f	0xda359ebe	0xa2f24cf2	0x6f733200
+	0xcbf36590	0x7af00123	0x408b3c8b	0x1ff8bf2a
+	0x8d990131	0x464287e5	0x2c4007a2	0x5a25ac0b
+	0x8f17ec59	0x3b3292f1	0x1aac8dd3	0xd3e7bd12
+	0x36a71bf6	0xbf17a12e	0xea40b62b	0x60368c5c
+	0x0e999db3	0x6f5231f7	0x7d8e89b2	0x0f514e1e
+	0x50cf103c	0x0639c099	0xb1dd19a7	0xa2998698
+	0x3267ab50	0xfe09a5a8	0x6eda6c63	0x1e0dbd6b
+	0xbc83c163	0xecfc0b8b	0x07c4ecf4	0x207096e2
+	0x89ef2adf	0x30363e99	0xadf28af4	0x22dacfe2
+	0xb1e0a489	0x62bbb325	0x493930ea	0xf1ffee5a
+	0xa57777d0	0x44c9ad84	0x02e8c23e	0xab4819aa
+	0x02afa569	0xbb1b40d0	0x8d471322	0x253f299b
+	0x99263b6d	0x408e631e	0x0a307e49	0x80eab591
+	0xcfd02a10	0xe0f2fee0	0x627851c2	0x74c0f9ca
+	0x4b0b5736	0xfa6c461b	0x52477f06	0x1921c6ec
+	0x47538b96	0x87216ab5	0x68daa276	0xc201e54e
+	0x6a0ffcb0	0x6c38f828	0x267d3508	0xf1c7a93d
+	0x99988b01	0x43ef71fd	0x56659310	0x66cebb0b
+	0xfb59ef57	0xb11445c2	0x8cdbefc6	0x89927126
+	0xcc246095	0xea6c0e77	0x6fa82a03	0x40b81e9d
+	0x44ce6618	0x2f683915	0x7234f37c	0x04f06fae
+	0xe3f58d38	0xc5e44f9b	0x9faa5509	0xa3251387
+	0xd2bacd98	0xcc01a7ed	0xcd75beed	0x0543feeb
+	0x8a733b71	0xcc4b4ff0	0x9a328688	0x0e00ae47
+	0xd4c3291d	0x123d394d	0xe8aededc	0x67905689
+	0xcc88cd05	0x3dc25d0d	0xfcbe2d01	0xc25cb130
+	0x77668e7f	0x1a76e00c	0x2913ccad	0x623371fc
+	0x46786b97	0xe2c24f6d	0xa6f28a6d	0x311dacf3
+	0x5a0f5312	0xd0a19821	0x7415811d	0x4aad5d43
+	0xb69b186d	0x9296aad7	0xc8627e27	0xe1b2c304
+	0x138b78f2	0xa5cc26ce	0xde5c3b06	0x6a30d0c7
+	0xf4c74a52	0x61cdb6b1	0xe30a5cfd	0xb32aa583
+	0xba26805f	0x77e33257	0xbf08b9b8	0x09829ccc
+	0x248b0942	0xa6ddf03b	0x62bc5d95	0x9493b6f8
+	0xdd952082	0x1d33c2da	0xa788160a	0x8b39d3ba
+	0xdfe00bcc	0x2fd60d5e	0x1363968f	0x9f859918
+	0x71eb38a5	0x5f0519f4	0xd8f6227c	0xfe496054
+	0xb5fce544	0x8e6f6ff5	0xed51f072	0xa95500a5
+	0x952b9803	0x52deadb6	0x927e1eac	0x2f93f3a1
+	0x12e3978a	0x31b458ff	0xeae4aad2	0x8d257c5c
+	0x1b5c24b8	0x482fa692	0x7d8260a7	0x3297e1bd
+	0x1aa499be	0x58fa7e01	0x3f22da1a	0x41707c77
+	0xb474c077	0xd3ee8670	0x6eeafb6f	0xe97f6353
+	0x12c43638	0xdd846a87	0xa5ad486d	0x5b10e299
+	0x11d1fe2b	0x410f5e33	0x33a1f43c	0xa728a8dd
+	0x4197784a	0x46db1576	0xd170a6ad	0x1bb97415
+	0xbaaf2e8b	0x46c4f1b6	0x563260ed	0xf121ce91
+	0x0f02eda8	0x4b9c4db1	0xd15b1fd9	0x28a9c018
+	0x48f3a184	0x64d54afd	0x0d619290	0x45488d7b
+	0xc9ba9f92	0x5dc66623	0x4ffb5ab9	0xedd36a35
+	0x3464bbc1	0xe16e5a72	0x88f092e7	0x865a393e
+	0x4155f5fd	0x6693bfb9	0xc11be46b	0xbfb59ec6
+	0x0ddd5033	0x9a2bb34e	0x4b09421b	0x8f3363cd
+	0xd3bf4f74	0x6126f624	0x8649f98b	0x8631b39c
+	0x5d9b705a	0x6c7508fd	0x6598a753	0xed03e0f5
+	0x265586fa	0x47e2a475	0x22df5b1f	0xfd697213
+	0xf8343c28	0xfee82a3f	0xbd52e7fb	0x3c55ae1d
+	0xaa7e3726	0x9e113891	0xad1178e3	0x7c79b062
+	0xa6182e3e	0xab5cbad3	0xfafc5b49	0xab4004f0
+	0xfe9e29b4	0x2ececfb2	0xac222317	0x7eb04c5b
+	0x0bb3d6b5	0xe65e6be1	0xb6f4776b	0x854d0f09
+	0xf373c8ab	0x1686e6d3	0x4b0c5b13	0x96a5af0e
+	0xd19f784a	0xf4084e77	0x0baaf70a	0x885251fa
+	0x3211962a	0x648092a8	0x9b9cb4ba	0x15dd84a2
+	0x210f3225	0x90e32ede	0x08fe39a1	0xc3f77b81
+	0xa66164a4	0xade3cc77	0xcf101d91	0xcf32381e
+	0xf7947fc5	0xd2069d22	0x3400bff5	0xb2d092a5
+	0x17f1d109	0x2df9e6e1	0x9ecb56ac	0xbda05f04
+	0xe4f87413	0x2cb25b92	0x3830daf5	0x4855e79a
+	0x2616db3d	0xaf2e7354	0x6e4e1965	0x0bcca840
+	0x6df2d311	0xa685a6c4	0xbf1d9d04	0x0c45f1fa
+	0xfefa97a2	0x56acf5b3	0xdf253591	0x9840f77d
+	0xd939872f	0xc21a4032	0x61d3f315	0xd0f3872b
+	0x21d79975	0xe71f07af	0xfdb46980	0x1e0f2472
+	0x84dca328	0xccc1f96a	0x68b8ce74	0x666d9f20
+	0x0cd78628	0xdea393b2	0xe79cf948	0xd9a30305
+	0xa6f6e661	0xfac3a529	0x43867c2b	0x3b51873f
+	0xf83332a9	0x8083120f	0xb0c8310e	0xb2aae08c
+	0x1aaa878a	0x755bf6e7	0x046b6877	0x6d87925a
+	0x2e170b79	0x1239578a	0x6195eab2	0xe3f66cea
+	0x766fab12	0x45da58e7	0x7f4569df	0x0888ea36
+	0x8bf6feaf	0xad9cc5c0	0x21bd9bc5	0x9ea4aea1
+	0xf85aa451	0x825a4e79	0x8cd4e36d	0x5150b082
+	0x4bb0fb31	0x0dde5a88	0x973592d1	0x14eb8fe1
+	0x75174bfd	0x74847459	0xce7b6c3b	0x94c33d40
+	0xd8690898	0xf2b0b665	0x918cb951	0xc6ca50fe
+	0x2b99e7f3	0x1a346961	0x8fe21508	0x04fcf521
+	0xa9538384	0xe47fb4c2	0xd2ab26ae	0xe641ce82
+	0xd534070d	0xe156d957	0x9e98e20b	0x87e261e1
+	0x1bf87d39	0xbae63c29	0x51dc5625	0x99fa08df
+	0x29a87254	0x3ceb0e63	0x52960cb5	0xa2b429e2
+	0x7bd0cb97	0xbfece039	0x43ea635e	0xd879205a
+	0xea8557b0	0x8af0b125	0x21bece00	0x265b663b
+	0xb97bacfc	0x012a7dbf	0xf79bcf53	0x3855e394
+	0x8e095c6d	0x11842e8c	0x91c4e8d3	0x496f6dc1
+	0x67e8be94	0xeda3085b	0x0dcc7e57	0x31f1bc9f
+	0xf945ba14	0x67012d13	0x2a927c55	0x6ad89f60
+	0xaf6d62fa	0xd2b538dd	0x22961c16	0xe7c469c7
+	0x3e814b2a	0x975e033f	0x8e11e47b	0x76aa7f86
+	0xbd28d9af	0x2f52bd9a	0x04f14a37	0x03c10ea5
+	0xd109a0f1	0xeaac7a38	0x182b8b7a	0x63df0f9c
+	0xb4437ae0	0x00277618	0x92a9653c	0xc761c1b4
+	0x4b8d723b	0x0de967b3	0x8418132d	0x8766fddc
+	0x2176c33a	0x6d46b1f5	0xcef94f44	0x06499ec4
+	0x41de9284	0x40b846d0	0x609737fd	0xae574bed
+	0x7f48ddbf	0x7037a488	0x0930579e	0x70b86289
+	0x72c960d9	0xcf307642	0x333b4536	0x3208af9a
+	0xff7bdb38	0xa834082e	0x6f5586fd	0x1e033254
+	0xfec00a53	0xd4bc3747	0xea7689ea	0xce66a07c
+	0xb88dbbd5	0x8b3632f9	0x85081be5	0xe0984f27
+	0x39b71d03	0xf5cddb75	0xd32cca39	0x7a450b08
+	0x52379b99	0x5ba9e7b2	0xba19bb5f	0x138a1cc0
+	0xf64b0ccb	0x6fd1d6ee	0x81637094	0x25066f8a
+	0x8d7b1af2	0xabf72360	0x1cd5f0f9	0x2c2787e1
+	0x73eaf8d4	0x3d8875fc	0xce76c829	0x40959f26
+	0x8bf720f9	0xbf270ee2	0x0aa2bdad	0xf425fe98
+	0x7a3dbae0	0xae734299	0xfaecb714	0xe205e383
+	0x3c162cbb	0xb54f19e5	0x82f7ba9e	0x86527878
+	0xcebda01f	0xd86ced7a	0xcae432f9	0x4b07cfa4
+	0x81ec3e6b	0xec1aeb5a	0x4b2330ea	0x6fde9ffe
+	0x33aae610	0x7d371b76	0xecbcc9e0	0x0f8bbe77
+	0x139c11ff	0x53ae1dfb	0xa1053b22	0xa6d12006
+	0xceb6a898	0x049abc80	0x6db27bc1	0x8d4df3eb
+	0xd8f8a2c6	0x611d976d	0x8c4eae6f	0x7100a396
+	0xc5c1a942	0x8442bed7	0x26dbc801	0x93fb6838
+	0x367c1af1	0x769f9df3	0x1701917f	0x7d858d20
+	0xe79a4a6c	0x2313a971	0xc2621a21	0xc461a40a
+	0xc6b632df	0x4e2f0dfb	0x973564be	0x971f499f
+	0xc86f6402	0xe2e82d0c	0x2e70e676	0x25fbeb1c
+	0x05342bd9	0xbbc68474	0x02398a0a	0xe14ffeff
+	0xb0fbb75d	0xf72d7aaf	0xf5e93e34	0x02df0dd3
+	0xf336390e	0x10718585	0x66d48328	0xa94d8885
+	0x376c9cdd	0xaedcd73a	0xb7983c7d	0x9a4941a3
+	0x3a1f5677	0xd831409e	0x847c7ddb	0xcce1a9cd
+	0x91da6966	0x41dd20ba	0x14f45c08	0x3ad73dcd
+	0x566987ba	0x0ffb5606	0xfa307a12	0xcbaa12aa
+	0xe77c1800	0xcaf6803d	0x8d14a697	0x5fcaf843
+	0xf64337e7	0x923221b9	0xf3fd2ae0	0xc07434bc
+	0x55374784	0x94e00513	0x0a75c488	0xe3d21454
+	0x4d778a55	0x4aec547e	0x3afb918c	0x21b7db37
+	0xfc771fb2	0x041f4889	0x14d2d362	0xbcc9d9f6
+	0x5bd50edf	0x753ed319	0x5b8abcf3	0xb875a346
+	0xce7669f4	0x348957a2	0x9684ae1c	0xbc19e9b3
+	0x8790be92	0xc6cc9763	0x3c082777	0x617f4ca5
+	0x6fa609a1	0x9405e535	0x41094a74	0xeb925ff2
+	0x0f4f8e24	0xee2a20e4	0x381da058	0x9fe70438
+	0x7f1161e7	0xdb54d051	0x190b1779	0x21466eda
+	0x3b6c810e	0x0e0b8114	0xb497c673	0x4f644bfb
+	0x19a46e35	0x4a4eeab4	0x4b976b6d	0xa087157a
+	0x6d1e6349	0xc78eb29d	0x165225db	0xe666f808
+	0xc5d8f270	0x8267633f	0xba1265a3	0x4be87190
+	0xf8c520fb	0x9370a515	0x4bf66dac	0x950d23fb
+	0xfd63a000	0x44100c9f	0x04c60526	0x4c06cd8c
+	0x0677dfab	0x59bedc3d	0x94dc14ed	0xc0771551
+	0x4456060f	0xba490544	0x62fd88ac	0x5f5c9628
+	0xe1d30606	0xdb74bffa	0x875d1eb8	0xf08c15f5
+	0x09d59196	0x74411971	0x522cac21	0xc4f8e753
+	0x882bcec6	0x686491cd	0x9a6d2132	0xcc82e038
+	0x379115c6	0x2b398972	0xc80ef665	0x8fef530a
+	0xd77eeff3	0xeb5b3d42	0xbbdea33f	0xf7cbc015
+	0xf4dfce22	0xa06f23cf	0x07006697	0xf556def9
+	0x5b53668e	0x871ce2ff	0x640b7be5	0x21e3a27f
+	0x50bbeff1	0x12c5b662	0x3493f835	0xc2379e8a
+	0xf455167e	0xb0b7052e	0x0d8392cf	0xcbd6e6ce
+	0xa6d47313	0xd543a23c	0x5fd4b1cc	0xf41165e0
+	0x29c74588	0x4b1a4e76	0xa710a86a	0x32fd6f8c
+	0xd6f18e0c	0x7a33704f	0xfffa38d7	0x65e3524b
+	0x6eb533d0	0x680e3b72	0xa6a5278e	0x1334fbeb
+	0x4b37a445	0xc75cbb1d	0xa3414ca6	0x826ced4e
+	0x44c2dfbd	0x486dd171	0xac300a00	0x5a0e7367
+	0xe2db128b	0x2b9eb0b7	0x2a7c6c40	0x1a22daf2
+	0xee429275	0xc1d37a9e	0xb6bb1b69	0x98642f28
+	0x169a17ad	0x80c499e1	0xe8228188	0x74b9d65b
+	0x378fd8b9	0xf608cfe1	0x8299d0dd	0x1e4c4f02
+	0xdc45635e	0xd94a3b44	0x40671628	0x378e2949
+	0xdaf573f7	0x73c29e3b	0x3bfdad1a	0xca154ac2
+	0x999ef0fb	0xd7d19f58	0x7a4ddb26	0x613f2678
+	0xfea80fb5	0x6a85d7ed	0x9aa90f39	0xc8bf26ca
+	0xc325cce7	0x89328ef7	0x59a19dea	0x453b40b5
+	0x16d3f3d9	0x41215f42	0xce8d0110	0x83b79c31
+	0xfecfa5e6	0x9da5153e	0x0d505941	0x9f3582bc
+	0xd71f5c26	0x74f3e604	0xc9fe57d8	0x14394881
+	0x82cc16f8	0x3f656a38	0x5cde1d58	0xeb3505bd
+	0x27ed1c07	0x7de82a2d	0xa20b44a2	0x4bfbffe4
+	0xf306e134	0x3d8900f2	0x401b307f	0x90d666ef
+	0x2524fcfe	0x4e5deb9b	0xe53d0a84	0x873f8c55
+	0x32e7203b	0xc221ee56	0x1a2b8b2a	0xce64dfae
+	0xa367000c	0xe32b29da	0xc35fc2e9	0xc5d223a8
+	0x765d240e	0xb12e76c5	0x8652b6f6	0x8a5622f2
+	0xe069cdff	0xd7a29ae8	0x8e6b1c5d	0x3df93d30
+	0x5e19ed46	0x3f41779b	0xe7578355	0xbeba23d8
+	0xbf74fff2	0x93c39591	0x453990bf	0x0fe4c433
+	0x693bfe7f	0x6265fe37	0xd046f718	0xe7034449
+	0xf7084ee0	0x29ff71af	0x3397c1e4	0x3f0627a6
+	0xedffdb2a	0xa7f3b3a0	0x8917f4d7	0x2376ca2f
+	0x91028844	0xfecdca85	0x19879720	0x2e3a92d3
+	0x93839b26	0xbcdcf470	0xb9d25259	0xb85a15ad
+	0xf9ff7edb	0x46d4e283	0xe0239cc4	0x76c51481
+	0xd7e83208	0x6d6660c2	0xf8889044	0x5501d81c
+	0x0369307a	0x5aa53905	0xb728237f	0x06124625
+	0xeda46bb8	0x0e418323	0x487636a8	0xe153e0d7
+	0xa91106ca	0x24d8bef8	0x89d4d734	0xff8af7d8
+	0x6611efc6	0x70fc6dcc	0xb406b914	0x7c37ea68
+	0x4b0453d9	0xc4ec6bc0	0x6a25b97d	0x8ee010dd
+	0x1dccc74f	0x15341da9	0x62708075	0x9168d676
+	0x0f7ef6aa	0xdeff3a44	0xb54a28ed	0x1d2d0aed
+	0x28cddc63	0x9ab141fe	0xeed7550c	0x933f3834
+	0xac5e9e28	0x1ef0068d	0xec789605	0x303d24de
+	0xdcfebf7a	0x3642e133	0x076756ff	0xa76f1a4f
+	0x5cb3458b	0x3c87d40f	0xbe5e5339	0x53607f72
+	0xd4f628c8	0x053afd01	0x2e5f55a9	0x32a6f765
+	0x91168ba3	0x3bca077d	0x056250ec	0x29074f83
+	0x1c65eeb8	0xcae51635	0x41980e14	0xf6032fc0
+	0x62f5475b	0x546b384d	0xe33f4fb5	0xe95a0bc9
+	0x6be2cce3	0x78ba9a41	0x9341244e	0x568580ab
+	0xdfcca0fd	0xca3cbb24	0x1fa3a05f	0x9d62ace0
+	0x61697465	0x9819c572	0xcd26dce6	0x9761b0dd
+	0x05fdea68	0x8a8068e1	0xa8a5dd29	0xa3855d2d
+	0x18f83355	0x3ddf22c2	0x57bbec09	0x4e6c9d19
+	0xdd11d921	0xab279dcf	0x21fba151	0xd1992b47
+	0xc9ac75d8	0x6bb91d86	0xb7684d46	0xe1c1e196
+	0x9b02d10a	0x7034338d	0xc3e4a66d	0xd714ad9d
+	0x53a38f0f	0x82577d3a	0xbe396553	0x80c01189
+	0x65e59020	0x3f5e139e	0x5b474bd2	0x8fa77f3c
+	0x5b8ba009	0xfb31f5db	0x3a3750b9	0x2ea7b5e9
+	0x70967373	0x12af64ad	0xa88933e7	0x266e913b
+	0xb9b5ac81	0xba7eb48d	0x5f538d3a	0xcef65fc4
+	0xb87596c7	0x1841d61e	0xaddbfe29	0x357b84ac
+	0x0285ece7	0xfc4029ee	0x20f68f16	0x0570df7a
+	0x01d5fac7	0xd27d456f	0x921ee30b	0x7f3e1080
+	0xad13face	0x69890c00	0x3c11a1d9	0x14314c2f
+	0x47ec8d26	0xa64ac87a	0x9b375047	0xf1da938f
+	0x9e525923	0x83340489	0x2db83950	0x0d0df33b
+	0x2457985e	0xb5ac76ee	0x0b5d5892	0xcecd03a8
+	0x1146ca0d	0x54c28037	0x8fb9a6a7	0x1f626a66
+	0xdf0b6569	0x6d4bd562	0x1703d847	0x42f38af5
+	0x40c5f6bc	0x3806c13a	0xa52175a0	0xfd2f4814
+	0xa1a87143	0x5a3df656	0x12c937bd	0xe1108f2b
+	0xbd2af1cb	0xde4b3129	0x680cd797	0xd2d56d49
+	0x8a06d1de	0xb629e1de	0x73539c32	0x25b956be
+	0x817d8963	0x6d997e12	0x9d26c5dd	0xe0a1174b
+	0xa4233f86	0x9e1694a3	0x4fc8067b	0xbd1e7860
+	0x98af3007	0x65029e65	0x9658fb2c	0x7474ea1c
+	0x61883b2b	0xc0d95154	0x9a4fc748	0xcf9b6c01
+	0xde96d302	0x19f1ef0a	0x0dfac53e	0xb8bd5069
+	0xd596a1a3	0xb57273bd	0x39642eca	0xc252601c
+	0xfad293e3	0x9e8a64e8	0x55187031	0xfd13aeeb
+	0x940f07a6	0x818dab99	0xb9482ee7	0xf396a9d1
+	0x19eb94d5	0x72064a70	0xaa9c3266	0x814a7dec
+	0x3e138363	0x6e348287	0x8f70398a	0x8363ea0b
+	0x7737edcc	0xe08adede	0x87efe04e	0xb5e792a2
+	0x66311793	0x86a663e6	0xcd0bc4ec	0x81617887
+	0x8c93d56f	0xd0eef3fe	0x7c9a9c0b	0x37985c27
+	0x131db40f	0x2226f0fe	0x4829b9b9	0x24f9f28d
+	0x687ddc5b	0xe02e3d91	0xb9a50924	0xd1faf2f8
+	0xaedcdfc4	0x15d9de80	0x73974337	0xb3a8f3f4
+	0x2787eadf	0x164f12fc	0x093b2cf1	0x274f0718
+	0x7f98d839	0x92a12eb8	0x553db255	0x645fd979
+	0x7c37aa09	0xc70f7ebd	0xe1f39374	0x7ec2ba46
+	0x46e871fc	0xe3e15703	0x12324d6b	0xbf8625b1
+	0x1be2baa1	0x7f6ede5f	0xad6011b3	0xa2fe7edb
+	0x3d2ce3a2	0xbef298da	0x7ae87965	0x3ce8f403
+	0xfc0a9fc4	0xcd70601f	0x87ce5750	0x97ce7f79
+	0x1e832ab4	0xa2e82726	0xf8e7efd7	0xe40154ec
+	0x4f2b50f5	0x60012916	0x84b94bf1	0x34244ca5
+	0xb0a5a186	0xe1deb138	0xada43194	0x678ca2c4
+	0x121d9204	0x93676935	0x6499f72a	0x84d07869
+	0xf1bc1b7d	0xb89bdc40	0x69f37106	0x2863c0a6
+	0x00e15275	0x7d640b71	0xeb5193b3	0x87a20844
+	0x09c03e15	0x9646f0c8	0xe23a0644	0xa468c1a1
+	0x916a42c3	0x23b15ede	0x39e40968	0x117a2262
+	0xac044026	0x32585734	0x774db481	0x436c93ba
+	0x02a88471	0x83808b1c	0x1b2b216b	0xcfd03aad
+	0xe5448453	0xa0cc7d64	0xbedf4877	0xc7c3a2e9
+	0x76d8aab4	0xf7ff3890	0x97b62db8	0xe84cc1eb
+	0x55d64ada	0x9dba0059	0x2f473a5c	0x1e34bfeb
+	0xf0cc6002	0xee0e7062	0x9442a9fb	0x88b12c79
+	0x46fb7118	0xa15d7181	0xb30f5ce3	0x3e17a5ea
+	0xa15ee2ca	0x45aadae0	0xae610e36	0x71f26322
+	0x3fc3e51c	0xc714957f	0x2c7b54a2	0x23aa0fdd
+	0x942fae8d	0x0e8fee54	0xee846617	0x73305ad8
+	0x39d3d521	0x36224232	0x2b73f92e	0x27e962f9
+	0xd8193d48	0x2e0187bf	0x6d461b15	0x4b5207d0
+	0x8308ffaf	0xe1d7adaf	0x1a076838	0x0c795196
+	0xdccf9dca	0xb5e09b6c	0xd5522d96	0x532263ce
+	0x0fdd41fb	0x2216fbad	0x89a4e893	0x870930ef
+	0x1356e0fd	0x9c65a038	0xfa6e1d6a	0xdd0d8d0e
+	0x3dc5fc13	0x5014cafc	0xc82b0070	0x9f099b5f
+	0x7a39d54d	0x439b563b	0x9cb03122	0x0cfc9e04
+	0x7c017cd7	0x03f725d4	0x4d51f12d	0xc2fb3abd
+	0x9859c799	0xdefcdd82	0x5d9a9477	0xdd372929
+	0x8df7d5e7	0xdda4f6d6	0xa29031e3	0xe957cd15
+	0x4997f6d1	0xa24230d6	0xf920f6ec	0x392e930a
+	0x4bd3c02f	0x5a3fa5d3	0xde4fc5a0	0x145a7a72
+	0x578c39d3	0xac5fed2e	0xbcbe3739	0x75135d4b
+	0xcf7f58af	0x9971dd3f	0x2ed4365d	0xa38a79fc
+	0x74e3e1ab	0xc6bc1825	0x618896c0	0x0d517d78
+	0x3a87c682	0x1e08260d	0x8f45cf39	0x9ec155ed
+	0x134aa7b0	0xd6cabfc3	0x3cad6ac1	0x3e4e0de9
+	0xd2c0cd91	0x44845ec2	0x814f443c	0x9e1c4db9
+	0x4616ef30	0xca3c78bd	0xa211ee1f	0x08178d31
+	0x3a2ad599	0xeea97244	0x3648329d	0xe92f887f
+	0xd410f135	0xf617be72	0xf744f3ee	0x9c490092
+	0xe9d63d11	0xd5e07b97	0x4567fe12	0x7f9144e8
+	0xf2b8ce45	0x8e013339	0x7cecead2	0xdff53155
+	0x7a2ff59f	0xf02eaebe	0xfab33d15	0x5eb4bf88
+	0x28a72b4d	0x63fff963	0xabaa1c52	0x6177a027
+	0x9c14b8b0	0x335557c8	0x2b33180e	0xb613732d
+	0xbe08b72b	0xb197c710	0xd42c2c3c	0xe4ec967f
+	0xf8c1e10c	0x907483a3	0x57a9ff5a	0xe9ae9d13
+	0x1e0e42af	0x9c82cb11	0xde19b06f	0xe7379b1d
+	0x93ead83a	0xde52a625	0x763fd504	0x526816c8
+	0xd317a1e1	0x80158090	0x280d1508	0x24d45c2e
+	0x1bea6c69	0xa52fa27b	0x59322181	0xc1633372
+	0x8c8a03ad	0xdda781e7	0x67d994f6	0x1fe753ff
+	0x02e07f9d	0x3bbacfd2	0x448b2282	0xfcc0f1d4
+	0x579dc5ab	0x8166a776	0xb35ea37c	0x729add2d
+	0x17442ebf	0x46949807	0x3d863a9c	0xe83b9c92
+	0x9e9b6078	0x1323c135	0x0630bb03	0xc3adad8b
+	0x062fef3d	0x00256ee2	0xec5aca51	0x80d772da
+	0x81caf683	0x0bd30f14	0x90bc3205	0xb6f69582
+	0xe77536de	0x531ebe48	0x1ac226b4	0x10384a9b
+	0xb4b8148d	0x6fd5d330	0x88ee3876	0x92056102
+	0xbdd947af	0x9a7ad0cd	0x02312b78	0x93d9ce9f
+	0xfa703409	0xcf61b3f3	0x19b1c925	0xa7fff41f
+	0xf7d24b53	0x58565238	0x7b9318ee	0x0d4dbf70
+	0xefce22aa	0x8dda1627	0xda1c2d5e	0x5c30e824
+	0x9974a148	0x80f18dc7	0xe5aedeef	0x7754225f
+	0xcfe917de	0x8c52d64f	0x391f00c6	0xc2beecf5
+	0x7a78794e	0xf947b05e	0xaf33f3ae	0xbf97fcce
+	0x9565380a	0x6e35c159	0x47008d6e	0xa643d183
+	0x51bf5509	0xb9f530bf	0x2b7626ae	0x7f99d145
+	0x4a9b7027	0x72e4c211	0x908f5921	0x33b6d752
+	0xa338ccd8	0x42516085	0x342285e0	0x7421a747
+	0xf3946993	0x96bafa36	0xd2f47ff0	0x466d760d
+	0x0de58397	0x9a60732a	0x51da69dc	0x5e75833e
+	0x06bfbe37	0xee1b0b16	0x1fa9e22a	0x1471ac29
+	0x91c17bd9	0x61019572	0xda534447	0x5c8bacc1
+	0x2f21d658	0x88dfbbfb	0x4513522e	0x48e757c0
+	0xf01afc25	0xd2f2e9f6	0xb26d6dc0	0xed7228b6
+	0x0c14e015	0x166667f4	0x93b72285	0xc15004ba
+	0x583a442e	0x1a32a22e	0xe68d3f1b	0x98428797
+	0xf6642555	0xe31b2450	0x408bc05c	0x6414a0ec
+	0xe240c794	0x8e5f2799	0x82433391	0xd6ac689f
+	0xdf4da142	0xd4b138c8	0x38d48ccc	0xfe8de2a2
+	0x1e006414	0x93b20007	0x4a8364a8	0x157eb018
+	0xa2f9f92f	0x615fef5a	0x87b855ed	0x759eb5e4
+	0x39abe477	0xd7a3ebcb	0x2e80ccf7	0x94dcf71d
+	0xee4abe26	0x20585e99	0x654b270a	0x1cd75ca0
+	0xc67ea827	0xc5fbe73c	0x61dfa344	0xc4484973
+	0x3af93dfe	0xfee9add4	0xf4ee580d	0xb89c9012
+	0x4c40846d	0xf36214f8	0x3f3a51d7	0x26c06a31
+	0x43a86900	0x46a43d66	0xae1c5e8e	0x944153b5
+	0xb484539f	0xed2ade58	0x7be6ef52	0x224ab290
+	0xbaa44cbf	0x1de20200	0x3909df18	0x003e0d4b
+	0x09f04a8b	0x5c00be4b	0xc95caadd	0xa3cec080
+	0x732baefe	0xbf6ea34f	0x80232801	0xdd600fd4
+	0x1b33bfb0	0xe7fef75d	0x9b6fff5d	0x7cedaab4
+	0x158ffc0c	0xd8437113	0x8cc693d4	0x31358783
+	0x4242f7a7	0xca4004f6	0x212c48ed	0x54c1cd26
+	0xc15b9401	0x47a58cb8	0xb7d3b18e	0x269363e7
+	0x47bb4e32	0xe522fbf1	0x537da9db	0x9c7fa5a4
+	0xc5d61a7e	0x2baa4230	0x6bb65617	0x3a2197a4
+	0x57eaba91	0xd28da650	0x58e52bf1	0x2496e235
+	0x9d6e8b60	0x2a027aba	0x566e7d1f	0xa036dc49
+	0x83f8c580	0xdf4e378e	0x04ada75a	0x4d0dab78
+	0x0d8bbc02	0x86d2ff63	0xdd27ee32	0x0ae082ae
+	0x15343e58	0x8eb50be6	0x83b77044	0x3b521fe9
+	0xeb61da85	0xd507cae1	0xcf000a6b	0x6fc9726e
+	0x0a62b7cb	0xdcdd7c52	0xcf5508fe	0x91ef5bf9
+	0x4f44740c	0x4ea45d80	0x9a76c0b0	0x6d103972
+	0xd869146a	0xa5142a9c	0x0341497e	0x8643a451
+	0x34ae7a68	0x5abe7e76	0x1054c9ef	0xbbc48bd6
+	0x7cdce445	0x55717c41	0x0f85655e	0xd6d0c389
+	0xd0e4ea04	0x8e6738c0	0x0aa9d964	0xbd0714fe
+	0x83a80b5c	0x0584b1f4	0x8f15a37e	0x7e7c9032
+	0x298b2db6	0xc9c3d8e2	0xcd7bc65b	0x75fcac55
+	0x1a43278c	0x399666c4	0x624dd366	0x2a0288a1
+	0x7b84f00e	0x6721d3fa	0x155bddc9	0xa5832bf5
+	0xf73d2bce	0x29b9523e	0x4c1cd6a1	0x5e8d8b89
+	0x701c5e9d	0xb57001f7	0x0a84f98a	0xe30922e8
+	0x58026df9	0x5d4107be	0x237dab8a	0xbcb893e2
+	0x93931352	0x592aab19	0x95b5bc39	0x0ec276e5
+	0x3c609401	0x922036a2	0xadb4cfcf	0xe6521586
+	0xe1640a6c	0x24bf8313	0x4ba05eeb	0x56ef987a
+	0x33b9f215	0xb65797a9	0x1536019b	0x723536a0
+	0x25a6b487	0x2db59f88	0x7746718e	0x0cbf4fe8
+	0xe632ceca	0x3039f430	0xdcf6fb51	0x573d18cf
+	0xb4cf7b89	0xea361eef	0x85f75a46	0xb77f2f71
+	0x55d2d1a3	0xe8e4d3e9	0x17932aee	0x3e42d407
+	0x807fead7	0x27c406c0	0xbf6cbdf9	0xf13b9496
+	0x20fbfdb1	0xa4b6e59f	0x1bb32d9f	0x758dd09c
+	0x27d79394	0xa1c38206	0xc9ffa516	0x8f143420
+	0xa7a954a2	0x15e24879	0x4157d333	0xdd08fe8c
+	0x7f8f4c7c	0xd9929f79	0xf08c56ae	0xa89ccc7a
+	0xa4512c38	0x4ca4810b	0x1c61701a	0xf3c85c94
+	0xbf07823b	0xf757db8c	0x28e3dc21	0x249065ff
+	0x5a64d769	0x8d6281c7	0x2d058499	0xd8730aab
+	0x808506c8	0x720c3a2d	0x817dff34	0x0de91ab2
+	0x7d93c64a	0x8849feee	0x471f53a0	0x07aa5a0e
+	0x5f8a8da1	0xda8888f3	0xf2e18c3e	0x57abfbde
+	0xcbd09b52	0x587b1a74	0x643d5a15	0x7395720e
+	0xb2189014	0x37b43781	0xa1841e74	0xcbf7f9b2
+	0x9d9304d0	0x1dbf98c5	0xde999d02	0xdc1753a9
+	0x69160a3b	0xaf3519d4	0x0c866572	0x5130921b
+	0x5c6881de	0xbc1bd626	0xe2b955f1	0x69948d87
+	0x054b2369	0x20f9ffdf	0x480b0fe9	0x756ffee9
+	0xc0771524	0x7e6aabc8	0xf7500779	0xf13ea1ea
+	0xb67c8e04	0x29366e64	0x841a3277	0xb7eed14e
+	0x0589cf6e	0xcf893298	0xfff9adff	0xb70798ff
+	0x062db27d	0x5f6a647c	0x083bfc45	0x3e18c09c
+	0x36febc70	0xe36a0092	0x7d493db6	0xdaf466de
+	0x979f8206	0x1cdebec4	0x3cd78f6c	0x4fb52a20
+	0x874bfd02	0xf59240a0	0xa95ac48b	0xcd89c378
+	0x298099c8	0x52ab614d	0x48278ee4	0x8f16c49b
+	0xe9a16134	0xc36db612	0x51d2d2e4	0xdbfa3c70
+	0xbcb42a2f	0xc16f2b27	0x4246c14b	0xdcb73b13
+	0x1d1dc6a4	0x002e5926	0x6708e93d	0xfc3aba78
+	0x90f75cc7	0xcf937c0c	0x9cba6d7c	0x6d3fb343
+	0x0674f7bb	0xf9b34e66	0x93be5de0	0x78ba46c1
+	0xb194b20a	0x0fef85b4	0x1d3ffd61	0x7badb331
+	0xfda07586	0x6731dc9e	0x675da1ed	0x0ba561a1
+	0xc0425299	0x1e4baad7	0xe3d32df7	0xc8b37cd9
+	0x0c4c44ba	0xd5da35ce	0x68cbeea2	0x3e387b81
+	0xd4ef03df	0x3e3a3bfc	0x1ad8316a	0xb6e40b8e
+	0x0ca7e866	0x6a6cd5c8	0x97665bb7	0xae5952ab
+	0x5cb5e9fd	0x27c81a79	0x3f75d956	0x701fc9d7
+	0x093378b8	0x5985d0d9	0xa9935020	0xde7b61de
+	0x3d9dc834	0x54a5095d	0x9fd6f41a	0xe4d9c24a
+	0x51b1b8b6	0xffc2ff47	0xe6685ed7	0xa5fd8248
+	0x9e18046f	0x289e9a2e	0x09f657bd	0x482cacb2
+	0x4dc32fd0	0xf9b458a0	0x23027c36	0xad32d113
+	0xc5036fb1	0x6b2a8e3a	0x3eb74ccf	0x77b4c572
+	0xecc8d2f8	0x92f44900	0x90048b89	0x9cce0583
+	0x6dcdfe85	0xca040af3	0x61df87cc	0x5beddace
+	0x11877f8f	0x512943dd	0x21e2bf44	0xb7517252
+	0xc9785d37	0x5d2b9a4e	0x13e202db	0xcd3a137f
+	0x0293505f	0x41ec9a3c	0xeed2b586	0x183b40bb
+	0x14c48ee7	0xc2876c20	0xcd7dec3c	0xa459edf6
+	0xdd67d9a6	0xf706894b	0xd9818e07	0x8a461cf5
+	0x15adfd23	0x7cb4cd17	0x39aa1f7a	0x4df5d26a
+	0x840f184a	0x9686d301	0x31d29c9f	0xa7180296
+	0x965002c6	0x3e9544a5	0x1206f370	0x75c18c0e
+	0x57912849	0x053fa29b	0xffd30572	0x2e6fbd99
+	0x17eb3a5f	0xe18c6318	0x2d07ca7b	0xafbd5771
+	0x58fb3970	0xdbf048ed	0x718e0239	0xdcc0b959
+	0x22273bd4	0x1f8f1eba	0x62fa54f1	0xe056c81e
+	0xe3a51e11	0x5dc1fc3d	0xa8e39e23	0xce488068
+	0xed91ea12	0xcd3ccd6f	0x7046dca6	0x337a781e
+	0x688269ef	0xa4668369	0xbd83be39	0x347ba242
+	0x19d996b9	0xdd0fea66	0x23f9b272	0x6a16d880
+	0x728089a6	0x5e5bdd31	0xed31e22c	0xceb72578
+	0x79ea1871	0xf0b3c9ce	0xdb305b7b	0xb54bf9a3
+	0xcfa7f7f3	0x40e28548	0xb803bf79	0xff547750
+	0x2fa6362c	0x9b1d1389	0x09b7495a	0x13cb10ea
+	0x9ad42dbe	0x37aef678	0x12530cda	0xeae3e2e0
+	0x65925024	0xc6de6ce8	0x1ffd7394	0xfb0f2364
+	0xdc169b6c	0xb76fc725	0xc6c3a74e	0x78d79ee5
+	0x730a3ef8	0xd7a0ec86	0x42d7a185	0x66428e6b
+	0x1094381c	0x845e1941	0xc4b1a33a	0xf0925496
+	0x1ed09d84	0x1ecff42e	0x1e3387d4	0x37d647f5
+	0x5936e0c4	0xdb4f3ef0	0xd38b44f3	0xd5149695
+	0x06047449	0x837b50c1	0x421328f9	0x1bd9ded5
+	0xd784284a	0x0f5d63aa	0xb326ce4b	0x3fecef33
+	0x75122695	0x6f30c185	0xa29f84d1	0x39f76a0b
+	0x9443b53c	0xdc90f13b	0x70047cfb	0x67f6c4f1
+	0x1ed2d922	0xce38688f	0x3f141c9d	0x0d4f91d3
+	0x375ac756	0x482c7cab	0x90fbfce9	0xc3490ae0
+	0x3a69cebd	0x6d099850	0x91c349e6	0xf526002c
+	0x5896d0e2	0x6ac50c7e	0x39dfdbe3	0x7c40fcc3
+	0x379cad28	0xae961cf4	0x6a758433	0x841a4d85
+	0x63861939	0x0a946680	0x6da8701e	0xd550bdb3
+	0x201496f2	0x62ca33ca	0x7ae7bf3e	0x198f5463
+	0xb22fbd34	0xdd39f70c	0x25263379	0x9e95c66c
+	0xd84bf5a5	0x2b9aded9	0xa6147b6e	0xb89c2b3b
+	0xf8b10abd	0x3003ca93	0xcbe94d2d	0xd9617213
+	0xa931de10	0x33f1ebfe	0x23fe0186	0xc24d7340
+	0x5d614af4	0x6cc048e8	0xac818a18	0x52fa7af2
+	0xa09419be	0x2b7c82f2	0x770ee19f	0xbc7e65a8
+	0xbbbb8a4a	0x6d146b52	0xbd6211e6	0x15c7da07
+	0x0cf2faea	0x8b2cb87a	0xc916bc44	0x6d66d212
+	0xb5968598	0xb3e99615	0x347947b9	0x87492f23
+	0x3eabb960	0x2b91e737	0xc0c9b619	0x766f8e74
+	0x25b476f6	0xe3a24df7	0x23f981dd	0xc9fbf78a
+	0x0af89fe4	0x45738d27	0xd489af00	0x5c061815
+	0xd12b2164	0x57bfbd74	0xbfef9b7d	0xeb511275
+	0xd2898c5a	0x06be111b	0x4731a2eb	0x456b42a5
+	0xb2cf1dda	0xfc4deace	0x7be324db	0x9babddb3
+	0x01a14e3f	0xf7ffaeb1	0xb04125b7	0x9b7b86d3
+	0x9c5fa4cb	0x9f797971	0x854823da	0x2022e056
+	0x0a8ba859	0x8a1934d0	0x619e7f51	0x0f4fefc7
+	0x54afe297	0x2393e4ab	0x719b8926	0xfce7747a
+	0x771f92f5	0x006e53dc	0xffcb61ff	0xac5a4741
+	0x43d4b5b8	0x7728b3cf	0xed066443	0x99c09a5c
+	0x8f42a70b	0x5e51ea91	0x187fccae	0xec4dac4f
+	0x07d0e8b3	0x16fcc343	0xb0590a64	0x8d649106
+	0x1877d52f	0xb6e45491	0x10d0ac72	0xaf06409e
+	0x3f9cf640	0x5413ddc6	0x02a31403	0xd288da1b
+	0x32847b74	0x8622b38f	0xfcbc1c7d	0x148985a3
+	0xb6344b5b	0xaf7eb8cf	0x3384f1fd	0x8a4d913b
+	0x3172065c	0x23bb59f6	0x3c2fc870	0xf4c76793
+	0xfc5aa31a	0xa0ee8d53	0x85efb8a1	0x72466119
+	0xd7a3d404	0x22f99ce9	0x97d0f88f	0xe4e07da6
+	0x88163c96	0x051b66c7	0x6eaef0ca	0x75f52358
+	0x9f3178f3	0xf5bd5fd4	0xfa6c0e5c	0x780729b1
+	0xdd39de9a	0x31780770	0xc584ce18	0x71ecd3a7
+	0xe82629d0	0x2e7a76a8	0x3a2dd546	0xb1237f4b
+	0x7487891e	0xcecf432d	0x58265ae3	0xe194d5a5
+	0x3aac66ef	0x6b4bd7b5	0x323a3d50	0xd01e60c1
+	0x699457a1	0xcd489c34	0xe4adced4	0xd34cb642
+	0xb94a4d62	0x80887b89	0x8ea234ac	0xfc88385a
+	0x8c146f06	0xae8777f4	0xad46cd3c	0x401fed10
+	0x8467748c	0x41c40b78	0xbbc37f38	0x18c84e06
+	0x4945938e	0xa2908255	0xf687f4ff	0x2e732e2f
+	0x1cdfeded	0x92fffab1	0x7ebc780b	0x979889b7
+	0x8489f724	0x3945b49a	0x7aee3355	0xbb674afe
+	0x828780af	0x971413eb	0x0902a6af	0x042c45df
+	0x7f4af12e	0xe5f5249d	0xe25468e3	0x97818fcf
+	0x1451cae4	0x30062b26	0xe8630a7b	0x8368771e
+	0xbbc6a3bc	0xefc83f27	0x4934280a	0xabdfbd97
+	0x1feea1ee	0x9f7897a1	0x6156bffc	0xdd8b58bf
+	0x76395beb	0x7c338f9d	0xbc83133e	0x3dad63ec
+	0x35742863	0xe1a1d456	0x7f5e7be6	0xd0a82ccd
+	0xa7b16e9d	0x725b7f04	0x1339b223	0xe3e47cc6
+	0x83cec424	0xbf3f0513	0x90d0f35a	0x8488188e
+	0xf5c34eb7	0x7c82bc37	0xcc18d1ab	0xb443dfc2
+	0x8493c257	0x7900420f	0x558a7c66	0x520148e3
+	0xdbc027c0	0xf0bdce00	0xab02c2bd	0x80599ae7
+	0xe620de2c	0x57c571a3	0xc5174627	0x2fde78b6
+	0x9e01c562	0xf1bfe2fb	0x4d7e6cbd	0x2c56832c
+	0x8fd80c09	0x3f55416f	0x3fa0fcff	0x483ba427
+	0xc3ad39c4	0x5c408df6	0x34f755fc	0xcf3a5b6e
+	0x4874f343	0x7c3a9bc1	0x5a4b01c7	0x4b31d661
+	0xb50e957b	0xb2015fc8	0xfa64a6fe	0x6a082854
+	0x4843c2d2	0x0c0571ee	0x45440895	0x75c11e5c
+	0x212f11e3	0x88f95e34	0xfb266b4b	0xf0ddedd0
+	0x8974aef7	0xd0fc9e68	0x1bd8add3	0xf682e0e7
+	0x812b5c0d	0xf80b04e6	0x6daf3553	0x14b781e2
+	0xb8a82efc	0x1329ae71	0xe82a99b9	0x79049efb
+	0x76e72456	0x85f4eff3	0x87c9c832	0xb91c8318
+	0x6ca9b268	0x8148b2a7	0x8510a526	0xbf2cd1a0
+	0x347d4302	0x0b461b0f	0x544e2e94	0xf164b15e
+	0xd1c77890	0x49852d4d	0x6c843c90	0xc4ffcb5a
+	0x498c8fc9	0xc84ce753	0xba759251	0xa8c79423
+	0x52342dd3	0x0f8e0153	0x37b28a54	0x7902ea4f
+	0x8b525eb1	0x87ea4eca	0x76957985	0xc6bd5dd6
+	0x663d215e	0x09ebbd86	0x39c9926c	0xdb36c2c3
+	0xa11cf17e	0x7eb4d71c	0xefa5a070	0x78dc513e
+	0xc3f162ee	0x5b84a5da	0x206a3d2a	0x27f8f48c
+	0x659748c4	0x7ef8623b	0xbdf27ebd	0x3dfec3c8
+	0x90a3b8de	0x5fd6e300	0x438697b9	0xca0c237e
+	0x50cc24f5	0x22561e83	0x5b25c46c	0x2be72162
+	0x0711a609	0xeceb1b54	0xa12431f4	0x09e8916f
+	0x2b6f666f	0x99664c04	0x570ced8e	0xa9a98f8b
+	0x57bf0caf	0x1a745ac5	0xa74c0abe	0xcadd1e86
+	0xd33c0b9d	0x1e9051dc	0xcfccf19a	0x5c2137c6
+	0xa867c560	0x936836fb	0x0f23b44c	0x738bf270
+	0xee440dad	0x4e391beb	0x314caed7	0x1aaa607a
+	0x415bbbb7	0xc04a2145	0xc9702577	0x39f63162
+	0xa10b9b1b	0xaf3c2d1a	0x0f72e304	0x51a79bbc
+	0x32d1995a	0xe34a9575	0x9bdf9dba	0x85101f2a
+	0x9d8276b6	0xb8b879f7	0x0ae3ca65	0xe3d66918
+	0x80aa293f	0x43d82c64	0x393deec0	0xab56cd2c
+	0xdddc8a45	0x1267081b	0x295f8dfd	0x767ab942
+	0x115379c6	0xc5a4585e	0xc07a66fb	0xe45c5d75
+	0xb1a842ee	0xa9236277	0x9770c838	0xcf9c4134
+	0xe16c0094	0x38f0ea9e	0x57b1eac2	0x8e6fcb6b
+	0x7f0d3305	0xe774ef92	0xbd5503c8	0x97c8e8ec
+	0x975be29d	0x146418cf	0x3a3adaa1	0xff5ef035
+	0x723accc5	0x66aff96b	0x380204df	0x47587815
+	0x1aa400ee	0xa08ceaef	0xcaee738a	0x16f03cdf
+	0xe4256ac2	0x135739e8	0xde31864b	0x82cd4032
+	0xc5265659	0x9604a7da	0x5d8afd1d	0xaad5ff28
+	0x1c00e2a4	0x1581833b	0xa968b62d	0x8b38d1b3
+	0x593410ef	0xe7e8a71f	0x1e1c9fb6	0xf925cbbc
+	0xdd3e85e8	0x3b3aadd5	0x84d9f74c	0x581eb7eb
+	0xe63cfd53	0xff75c2e3	0x013c6dc5	0x0ae97c86
+	0x7cb6d0c5	0x6ec256b7	0xe8b4eb84	0xd96b8306
+	0xe36a96c5	0x2e7b1b9a	0x6a49a9cb	0xf28e3f2f
+	0xb41a1c16	0x375eeaf4	0x9a9dd4b7	0x8c32449e
+	0xe622e795	0xab519da3	0xb2d48b0f	0xef484cbf
+	0xd5864f8a	0x2e393970	0xdbb14998	0xa8c1a6fd
+	0x6112642c	0xf5870498	0x3a8230be	0x54b4bb44
+	0xfc88a620	0x29fbfd7f	0x5801330a	0xd78180b0
+	0x6521f702	0x3f3e78be	0x86a68549	0xf6c5986f
+	0x9def0e3c	0x9e55bf81	0xbf0bb5d3	0x712547de
+	0xc2d5d10e	0x9b675f25	0xae6a4781	0x91031255
+	0x6143136c	0xcf05f24b	0x61695810	0x1bcb6f26
+	0xb9e6ca6e	0xf678e6a6	0x4df61b82	0x87c54c86
+	0x2505beac	0x118b81d4	0xfca2c297	0x4b7a4453
+	0x8ce182ad	0xf10f4e80	0xf99b11c4	0xc5f5caa3
+	0x216d0e58	0x3db50acb	0xbf96e2ab	0x618fa2d1
+	0xb38f35a2	0x0f0f74de	0x8dd58c72	0x00d9b368
+	0xfe320abd	0x49b6ec6f	0x4030acc2	0xbef8a356
+	0x2bd9bfc5	0xef8dbffe	0xf13b0244	0x00188161
+	0x25406dd2	0x2f4f3b56	0xf203c447	0x0a1fb4a6
+	0xc2334ae2	0xb9e4053b	0xdd5c2ebb	0xbdc81af9
+	0x3e263722	0x92c82d89	0x0a58d018	0x0badb1ac
+	0x1a4bd0bf	0x0b865ec3	0x5fddb3f5	0x7153dbbb
+	0x2c97c00c	0x86037016	0x36b52725	0xd6e0def9
+	0xd837759c	0x07531fde	0xc680b671	0x30966b39
+	0x934fa92e	0x35ca8826	0xd1c24287	0xc0cdccef
+	0x8192b827	0xc1af2fed	0x98cebf84	0xc04d894a
+	0x2118989b	0x564e4b30	0xcffb342d	0xd0da699c
+	0x7aefca3d	0xb83d950d	0x8a8ed0f9	0x7ef0b8a2
+	0x2f84f600	0x0611e9ea	0xf35eef74	0x6e9772b4
+	0xefc0dbe9	0xa21a7716	0x460e247b	0x94837360
+	0x55237b02	0x90cec742	0xf0678d6d	0x5dec7e87
+	0x5a851a95	0x6fe8198b	0xbfb9d8f1	0x95f301d8
+	0x4ad12482	0x8b6d3161	0xec76075b	0x86ce5788
+	0x0bed2394	0x6951b46a	0x718d9222	0xd4c095ee
+	0x601a6a12	0xf29fc33c	0xcdec895d	0x2246a903
+	0x436a9939	0xd04706b4	0xd60feeb9	0x3f1ca1ea
+	0x899ba86b	0x20d1dbb9	0x10ba8e23	0xf2072cb9
+	0x2c196fa4	0x43771b0c	0xcbbc9f73	0x67508afc
+	0xfd73af1f	0x6fbc312a	0x8bc64a14	0x03acba7b
+	0x7e8df10b	0xf8cc4ebd	0x0ee3a40e	0xc41665bb
+	0x3b6ab57f	0x36e15963	0x4c995096	0x5ec9e1fd
+	0x615c80e4	0xae174d53	0x24f02023	0x234d7be1
+	0xd843e2c1	0x38f04f48	0xb737dd73	0x6c4abf98
+	0xa0c250b7	0xd6e1276a	0x9ccbd1f7	0xd220e1d8
+	0xe84ad760	0x8c8e7b85	0x05a8e087	0xd3af7af5
+	0xd63d7b73	0x41dc53d0	0x173b1805	0x1a8292e6
+	0x2e5efaea	0x09a26302	0x44574882	0x925c5b49
+	0x6c9d4585	0xbe6e6701	0x344c5d7a	0x31f138d2
+	0xf4747381	0xb6acc603	0x7409221b	0x1c326479
+	0x0c5ff2de	0x0b736e2f	0x7ed9ec3c	0xc0cd899c
+	0x31d35abc	0x2273ecc8	0x07abfa00	0xe9de35ae
+	0x3a1c9f3f	0xd26041a6	0x35f9ea8d	0xf1d83b6c
+	0xfd1c4592	0x61a951ef	0xbee8a672	0x45381d14
+	0x7dd69c43	0x01c366f8	0xa6ccdab8	0x1882f58b
+	0x8d59cc58	0x4a09c9f1	0xd736634e	0x0558b347
+	0xaf9b4711	0x61e6cdaa	0x32632483	0x5487d992
+	0x237f49e2	0xefd0e0f2	0x7dcf0e32	0x70f61400
+	0x63773baa	0xc650192e	0x580ad366	0xe693dddb
+	0x77b85837	0x2e40ea78	0xc21ca746	0x445d70e0
+	0x8624ebe8	0x7024de3d	0x7cb47e65	0x2190aa52
+	0x2f065d3a	0x83c321ca	0xb7fd28f1	0x5af8cd99
+	0xc7668eac	0xff944a06	0xef3b6fcd	0x27596de4
+	0xcb47335e	0xc6764e25	0x1da450ee	0x11033a43
+	0xc4b6613d	0x9333b968	0xacf9c56c	0x811955a2
+	0x97c36cc6	0xf7d1a167	0xd444df3c	0x8be97e7b
+	0x4bceb48a	0x36b72f60	0x7e468e7a	0x6512aa67
+	0xea90171f	0x0fca7605	0x47ad8dea	0x4e37457e
+	0xe2cdcb3f	0x4c37177f	0x765af06f	0x7bc40e00
+	0x07c42553	0xd7080699	0x427d7a9e	0x0198c797
+	0x1ff1f142	0x895a24ab	0xb8c244b8	0x9efdcfe6
+	0x3f51da58	0xd8c589a9	0xf3d2799f	0x2144e2cf
+	0x67024f6b	0x6b8d7b7b	0x9124fcf7	0xd85918f8
+	0x689cdb05	0x391478f7	0xccc51204	0x0eb5602b
+	0xf6ce4b1f	0x62359edf	0x22c7d65f	0xf487e7ef
+	0x0581f150	0xdb1682da	0x820c8de7	0xc8bd9662
+	0xa4b44927	0x54f052d6	0x6e36da6c	0x5236de3b
+	0x033b779a	0x453b5329	0x5623f6a0	0x932bd405
+	0x23b8ea2b	0xb12cdfb6	0x75a58619	0x30ff7414
+	0xce0d2b7a	0x8116a90c	0x9a3ab506	0x85b458f6
+	0x6ef7fd0d	0xa3347c26	0x677f5d8d	0xa49943d2
+	0xe7d0451f	0xc5a2344f	0xbd93baeb	0xb602539e
+	0x67eb6c3b	0xb49f9d0b	0xfb1e5678	0x2227adf1
+	0x85d0aeb1	0x9186533b	0xfbed8d1a	0x982393ce
+	0x3991dfe6	0xa46b85ba	0xfa66fc1d	0x7a08974c
+	0x1ebac9d5	0x81e389ed	0xc9fdef00	0xe245f8b7
+	0xeaef6ef1	0x9869d841	0x49605657	0x79484187
+	0xe784d76c	0x2048836b	0x08d186bb	0x71e1c341
+	0x8672925e	0x3a92f29d	0x63511a07	0xe5b99c9f
+	0xf1390106	0xedb7e533	0xe3810327	0xcfeae39e
+	0x3543a1c0	0x4035f741	0x6a0e6e5b	0xa992edf4
+	0xcd5075f3	0x5aa0588c	0x1156081a	0x2e658154
+	0xd9d802fa	0x307100ba	0xf551fdce	0x3ac37a44
+	0xd12d492a	0x60fd1a36	0x0de5da06	0xd1566fbb
+	0x5ddacb3b	0x58154da7	0x5cf2c397	0xba7b2f62
+	0x99c49d68	0xc62621ed	0xccdb1ece	0x011ebe69
+	0x6e089b29	0xd994627b	0xbfbed610	0xcdafbaf1
+	0x528085c6	0xad428c6b	0x4f161e6d	0xb679f4fb
+	0x6a4c28fb	0xc507e998	0x8676cd92	0xc8a46ebe
+	0x1182919b	0x21f8de23	0x5787fb73	0x88f1e5a5
+	0xdce59fa4	0xfb3bcdaf	0xbaba656d	0x2fcc5b3a
+	0x2c034c87	0x43b672c5	0x9648b968	0x8960ebf2
+	0xf9a4536e	0x235e54ab	0xf3355fcf	0x1ad9631d
+	0x91ffbd7f	0x24178b15	0x6741ac6f	0xce41b802
+	0x46fb00db	0xf9916002	0x25d7bc7e	0xaa260863
+	0x696ec48c	0x8fc4c555	0x8ab04e22	0xfdab9946
+	0x1860a1a7	0xa54b2749	0x866eae4e	0x0d2960ce
+	0xd11b2ff1	0x35a30836	0xe0e977b8	0x7a1b0cee
+	0x3798eaed	0x043d20b2	0xbab6f830	0x143620b6
+	0xba51c31a	0x97d71294	0x67aa7e3b	0x82377a7e
+	0x64ecaf0e	0xe88947d1	0x81a520ae	0xdcaa9b97
+	0x02620cff	0xe48f7d0f	0x98f41ed3	0x4f176760
+	0x17b3d315	0xb5622b46	0x41e2d4a9	0x39dd3a8e
+	0x44005aca	0x417a4b70	0x88dc7def	0xcfd427f5
+	0xa2a728a5	0x07946606	0x8c1d8be5	0x14460fae
+	0x78ac2a44	0x589583ca	0x3742ede8	0x9f2c5d2e
+	0xe64ce0c2	0x86ab899c	0x21a5c3ab	0x8726195c
+	0xe75e2f14	0x80806d99	0x41b041a5	0x35cb36ec
+	0xec62882e	0x8c03147d	0x365af3be	0x5c798fe1
+	0x47be4bf2	0x3e8c84b0	0xa718d0f2	0x8b7e1ef6
+	0xbfe89676	0xa0252b85	0xee3e6cad	0xf4fce8ab
+	0x24951aff	0x2a352a61	0xd2a74ae7	0x1dfd5343
+	0xc15702cd	0x33486702	0x7ad81d76	0x38ab7636
+	0x0c7f4c95	0xf4094ee7	0xb99baa10	0x77cb9d3f
+	0xd2161629	0xba35abcc	0xe9611023	0x66cbe446
+	0xff956a02	0xd71625b7	0x89db7f99	0xe697f643
+	0xed4272c7	0xa6651c16	0x7477c7ab	0x1815fc23
+	0xc475b6af	0x652f761e	0xfc9e3230	0x0953cf95
+	0xf87d8ceb	0xa78a341f	0x4c6fb1d3	0xfce381c7
+	0xd0cdf3a2	0xd96c1310	0x3b1f32da	0x66699230
+	0xdd8fa942	0x4f99eae5	0xecb6f129	0x64e1ce70
+	0xde40daf6	0x3f295bc0	0x76aa3066	0x3a228445
+	0xbc4c5910	0x309aed06	0x20fc3956	0x7a9c6582
+	0x98f3c114	0x13996295	0x620dd144	0xe11bec57
+	0x0cd0bc65	0x7fe3fe69	0xd59bcdb6	0x05f2b5cb
+	0x20bf1ffc	0x3898ad90	0x0e42fa17	0xc697b4b4
+	0x594ec2fe	0x34aa0c86	0x0b79c42c	0x267e6ed2
+	0x29f55757	0xd6ffa5d0	0x155d861c	0x0a71f478
+	0xc048e6ff	0x381b2716	0xdcf4874e	0x73ff9095
+	0xb94331a0	0x8a6e4b25	0x1f5f0681	0xbc348b6d
+	0xa96a67fc	0x392140f3	0x869c68d5	0xc22ad0e8
+	0x9d1d8c92	0xc1879dda	0x1d996cf2	0x24606e73
+	0x4c34247e	0x4de6c562	0x51e2cbe4	0xb7bd266b
+	0xd11bd794	0xa31c2cfa	0xf8463471	0x6e19c4f3
+	0xc800068d	0xf06e8679	0x8b03ad40	0xbfaa42a3
+	0x98b1042b	0x01a1433c	0x51119333	0xcfefb50d
+	0x33197716	0x5f4b5198	0x9045452f	0x705f8baf
+	0x3143b8ac	0xd1a97568	0x945fe0d1	0x9eca20fe
+	0x944320f6	0x8364d909	0x9e837057	0x270dd85f
+	0x464e1cbc	0xf8a096e7	0xc82abe62	0xd9f20af7
+	0x3c3678e8	0x232f4829	0x919f0bfa	0x361fd9ff
+	0x9d645eca	0x81f28a57	0x953bb917	0x3bb21f02
+	0x17160c9a	0xfbdbe204	0x34952372	0xe24e2feb
+	0xcf946f11	0xd573ba3a	0xa9d15745	0x1c6d7bcf
+	0x877bd4c8	0x150119ee	0x9103a2bf	0x44070992
+	0x5a3418d2	0xecd4c8bf	0x7e7a8fa6	0x11f4e04f
+	0xba9069b4	0x71b77487	0x3ba09dc2	0xe4bde5a1
+	0x20e3611e	0x98d8647a	0xb78c7046	0xde91346f
+	0x68ffb9b4	0x7d01b221	0xf779cc1d	0x27b35ff2
+	0x0ca094de	0x19befae2	0x36b66504	0x338a990c
+	0x2b50e06e	0xc2066c0f	0x819abe30	0x628baedb
+	0x2bac03f9	0x4e477b68	0xa297fb12	0x35d4540a
+	0x30acc8d7	0x4090e4f3	0xbfac512b	0x7f4340a6
+	0xf01b5a5b	0x877e9140	0x44d87f50	0xd874d7f4
+	0xad9801d9	0xeee50e0b	0x0cb32eed	0x9400e0d1
+	0xd8ac5a17	0x27bd037e	0x7cba2a3d	0x2a3951d5
+	0x8f25428f	0x4a605d41	0x16f489ab	0xbc799c85
+	0xbc69b822	0x51b315ce	0xe74603a4	0xd0c0c52a
+	0x092474cf	0x3ce4f32c	0x9fe627ed	0x7d20a42d
+	0x1adf5396	0xdfa06d63	0x13cb8d88	0x7662cb37
+	0xa95f4c87	0x424102a5	0x8dd27019	0x873d08eb
+	0x615a6652	0xbac7f0cb	0x5fb19bf8	0x221331a9
+	0xca573b32	0xf8550c24	0x40be12b8	0x1094694c
+	0x53fa3885	0x99b40ca2	0xfa6eac06	0x3a9a479a
+	0x421fbabb	0x770221ef	0xf34bae93	0x846eec91
+	0x34fbf8a7	0xa08f3c79	0xd2d784bb	0xb81c5306
+	0xbd479e8b	0x9dfbed60	0xbc375a3f	0x618f10c1
+	0x82146d54	0x98a4c283	0x6200b4e1	0xe90e920c
+	0xa57a25ce	0x5921a075	0x19004d24	0xaa3d1c31
+	0xa9185a87	0xabb99eee	0xbb657b87	0xf975d31d
+	0x342cef63	0x75bc7574	0x9e4fe8ee	0x23a2836e
+	0xda9e131c	0x18492ee8	0x6643425a	0xc8b5cba3
+	0x468eb004	0x7aaa857e	0xcd503368	0x1607235c
+	0xffe96110	0x1596128f	0xcc1ebf3b	0xeb46d018
+	0x5b05336a	0xce241af1	0xcf71cbea	0x491db611
+	0xef516c09	0x4fc4e1e7	0xb2762ba4	0xfec8cc8d
+	0xc0d243c6	0x64aa0029	0x59ec36e3	0xcbc12453
+	0xa6af3186	0xa36d80de	0x7bd57003	0xb7c1d83b
+	0xc6faf4de	0x4e57b3ac	0x3854c0e6	0x9cde6e92
+	0xf7be88f8	0xf99bfc54	0x81faba59	0xe2e98a84
+	0xbb648cc5	0x5fb76295	0x0764a71f	0x442db4c1
+	0xe8ff003e	0x03466725	0x1eaefd90	0x50321f63
+	0xf644e2e6	0x6d534da8	0x6dae2669	0x81dc8bfb
+	0xfff6073b	0xa86372ff	0x0ead4d0e	0xf11714df
+	0x4e9705af	0xf608fda3	0x25729bfd	0x5db11661
+	0x5ef3cfe4	0xcc146a88	0xf91ecc3a	0x50733fd7
+	0x3cf50543	0xde49cdfe	0x611cb9cb	0x93ea5a66
+	0xbdd95966	0x2ccc917a	0x19d1ee2e	0xa2b5aef9
+	0x241cabc1	0xafdfc7f3	0x80895cb4	0x48c93472
+	0x038ba423	0x3c5f258f	0xc15c2ad3	0xd26cf152
+	0xa8f00a7a	0x7c430545	0xb8eaab99	0x5c3d449e
+	0xee42eb2a	0xb1961033	0x9cf87c89	0x21145d40
+	0x81a037d2	0x38e40261	0xbd56bb28	0xf9e8dbed
+	0x46514c0c	0x3b97a0da	0x944f86d5	0x77c9999b
+	0xdb87d7a8	0xc03ce15c	0xdd3269d9	0x5fb76adc
+	0x65cfb61a	0xc8152ae3	0x0f0d5f27	0xb5585e2c
+	0x4744d600	0xe4385327	0x5c89f731	0xe1096acd
+	0x5d8fc264	0x093f63e5	0x2d3c19d7	0x5cebc066
+	0x1f0655c7	0xc1395fff	0xc40f0c11	0x56016d53
+	0xaa383e0c	0x5db7710c	0xe6be574c	0xaa2be895
+	0xef0dce09	0xa8240a4f	0x9c5a33e5	0x7be3a281
+	0x2dc5c082	0x9ae1dc16	0x42a49f6a	0x3e24b386
+	0xb7c923eb	0x497593aa	0x1cd99918	0xcb000c44
+	0xa40b0763	0x9719e9bf	0x9eedafc0	0xf493ff35
+	0x55ae26f7	0x3cd58778	0x68b59e30	0x1f4697b8
+	0xbe0f10ab	0x35f44468	0x9da6c1cc	0x365e542f
+	0xb02409be	0xdea3f90f	0x36df462d	0xe4eafba8
+	0x03dcde13	0xe57a1eb4	0x47ca29e9	0x818c952c
+	0xfc34a27d	0xa170b2d9	0x1ce39622	0x68244a2e
+	0x371c7726	0xeb077fff	0x4eb089a3	0x395c64aa
+	0x9756b333	0x68da35ff	0x43dbe173	0x2ab61b97
+	0xdbb99ec2	0x972cb31a	0x250aacee	0xd5f6e367
+	0x246d3c8c	0xebf892a7	0xd3769f8a	0xf6321d4a
+	0x8951b942	0x7130e776	0xda497251	0x5b04bb53
+	0x40758cd1	0x70d1c6da	0xe8dad90c	0x65f403c1
+	0x24b0d323	0x588af410	0x92b835be	0x8377f84b
+	0xdffdcd3b	0xb9d59608	0xafed6cf2	0x173e9dad
+	0x5aff2885	0xdf79aeb2	0xbfd84988	0xc7cc7459
+	0x7f06424f	0xf9474eb9	0x0809e3e8	0x2442d5d7
+	0xa21b3e56	0x55875de1	0x9806a895	0x351f212e
+	0xa57e1a51	0x68f04da1	0x2a84e833	0xe27b77a5
+	0x3ca3292b	0xa61a1fb8	0x49740b7b	0xbfb5569c
+	0x1046bd22	0x5b476ee0	0x6296a26a	0x357cb225
+	0x40da65e8	0xb325f52d	0x629dd277	0xb24242de
+	0x56d51cef	0xe71fb9bb	0x76f7eb8a	0x0259cfc8
+	0x4cbbe47a	0xf1237f7e	0xf5fd440a	0x8984d330
+	0xf2daec44	0xad9db68a	0x3d52247b	0x00cf4338
+	0xafb80404	0x98c1df9d	0x74d3aea5	0xdd756dcb
+	0xde16a5c5	0x242e270d	0xb751ed97	0xd5caad99
+	0x2fb67de5	0xc85683a1	0xc32777bb	0xc6dd06c9
+	0x1e6c342e	0x3f211514	0xef96a291	0x19bcdf8a
+	0x58cd072a	0x6f9de153	0x38418da4	0x0527e346
+	0x8355e14a	0xdf92720e	0xf958b32f	0x190145ef
+	0x1745190c	0x0285e8e3	0x7b6b7aa5	0x544ef530
+	0x9d5296b5	0x3f5e113f	0xa5c85c4a	0x1e8a3c6a
+	0x935dab20	0x6858d152	0x4618ed8b	0xa2a137b4
+	0x7b08d9dc	0xa6d60f47	0x357fbaca	0x449351ae
+	0x99f91683	0x24a56e7a	0xee480687	0xdbe356f2
+	0xa5ee5986	0x37463d5f	0xd44bebe6	0x46cd2c4e
+	0x5445d044	0xccd76946	0x8923790c	0x7d136437
+	0x4a330ae2	0x415689eb	0x2f61d0c8	0x3d16fe12
+	0x78efadba	0x8281fea0	0xb834b5df	0xa9fb0d25
+	0x70d7bc60	0x140e82db	0x4d41874a	0xc20aeebf
+	0x5512fadb	0x0329ff4f	0xc837fc56	0x2966e442
+	0x60e9272f	0x5c274f74	0xa1b7c7d9	0x1a455e99
+	0x252ab092	0x8eb3342b	0xb8f3942a	0xabd4e1ea
+	0xf4544aea	0x1a613b41	0x9e98b5a6	0x82bef7ea
+	0xbe465e94	0xac1f3d52	0x191ab8e8	0x047cc1c5
+	0xd418ebfa	0xd6638536	0x31d8d719	0x0a1fdb7e
+	0xe7555120	0xece47d38	0x69cfc4e3	0x5f96de68
+	0x87eaf094	0xcded6048	0x0180d5f3	0x291186a5
+	0xb0b29bd6	0x82459eb7	0xf85f79b4	0x822408c3
+	0x83d75e39	0xa3288963	0x1d5e50bc	0x48bb63a1
+	0x156ba375	0x44cb00cf	0x7ce58e27	0x10f2b467
+	0x5d246aa4	0x6bd8bbd0	0x816c152e	0x3e5eee98
+	0x44791155	0xe6ddb7a0	0x12bc6e0c	0xd93be5eb
+	0xac98a9f3	0x3988215b	0xe1aad8de	0x3d978c7b
+	0xc0e6d8a8	0xd9cfdd65	0xb93e2e9e	0x539eaba3
+	0x2c7f4f92	0x05a1f15c	0xbdbcfc9a	0x9aa52400
+	0x3df183c3	0xfb3655ed	0xf9596b88	0x01286991
+	0x429b807a	0x50806501	0x6e5a4966	0x9efb7597
+	0xbd4c57e8	0xeafa1a6d	0x8903d162	0x7bb40d8c
+	0x423f899b	0x33f873d2	0x82487c9a	0x2d7f72c1
+	0xbdde0886	0x358dd6e4	0xf9144435	0x83780cb9
+	0x8d1b0ff9	0xbab38bce	0x8914fba7	0xc6a57afe
+	0x2f946753	0x9cd6d258	0xfc8dcadc	0x0e8dce12
+	0x87411620	0x58ca5b04	0x686f7ea6	0x89e8f315
+	0x4f3de4c6	0x81e09d6c	0x40e60225	0xce6e0584
+	0x97d586b9	0x5ece30a8	0xc5dbae59	0xa3821324
+	0x420799ae	0x2307200e	0x7b5689a2	0xd7a61685
+	0x9fa7f042	0x854c1b08	0xb78fc244	0x6980c696
+	0xd5218ad3	0xfa259d5d	0xec0df961	0x5b956c2d
+	0x6dd986be	0x63de9edb	0x18be4cc2	0x6499b8c2
+	0xba41cfb4	0x38e3aaa1	0xd7cfaaa5	0x13182793
+	0x68b21f98	0x9b2db84a	0xd9aa1d69	0xfafa3520
+	0xe5fc7365	0xb71f70aa	0x3d959892	0x46950845
+	0x0e35a6c7	0x1d356229	0x664d9ea7	0x85e7b139
+	0x0c0a288d	0x219f5dbc	0x354b6862	0x2e08b2d6
+	0xa04cdfa0	0x1c0c9535	0x3c7b382e	0x75741964
+	0x6c3a4da1	0xd36c4560	0x1c8aee89	0xb0776546
+	0x333e78b0	0xe8e0015b	0x7b5f5416	0x84a02be7
+	0x538f045e	0xdf512ed9	0x87860bf6	0xae791e66
+	0x051f3632	0x774ef031	0xbf64967d	0x74e3f460
+	0x824be685	0x39aa94a1	0x921e59dd	0xadaea534
+	0x9198c5e5	0x6fba31d9	0xa4a37005	0xbf054ccf
+	0xf5b2a9fa	0x9de511f1	0x2acacb40	0xbae1b52f
+	0x1cde721d	0x32b05dc3	0x0d119372	0xdb5cf890
+	0xd345e8ac	0xac335030	0xe7af918e	0xf6ee2b7d
+	0x004f636e	0xd068b99d	0x615c97a6	0x10236e8c
+	0xdd58f2b1	0xf6bc1e23	0x3f11d896	0xc30ea16e
+	0xa5004ed4	0xc7405f8a	0x320646ee	0x8b7d9a9b
+	0x5b4fc5e6	0x51609d94	0xb833d2d6	0x3c75f456
+	0x786be713	0x035a3105	0xabef806f	0x17788e0a
+	0xde88134b	0xaf029542	0x58fa003c	0x052c1f84
+	0xf37dde54	0x52fc32d1	0x96b72579	0x9dd1b0e0
+	0xa4a39564	0x8aed127e	0xa47c630b	0x388e786c
+	0x54f9d309	0x1910ef02	0xb59425ed	0x026cfa61
+	0x6e0f95a0	0x3ebec1bb	0xaa89972f	0xf70c867b
+	0x4201d9b1	0x8c573cee	0x2310ead1	0x82249efb
+	0x62a322f4	0x873eb079	0xabce9df4	0x996c6f78
+	0xca0f3ff9	0x75698aad	0xff5762e6	0x4e52ccdd
+	0x40689a6a	0x257d8355	0xd90ce88d	0x16809385
+	0xdb41d890	0x5d5c0f25	0xfa7b0543	0x8cb8cb05
+	0x811b1779	0x62ab96aa	0x84e6bef8	0xe0f7e758
+	0xe7e52cce	0x5ebec748	0x9b68ad1c	0x1362c049
+	0xbc5cde27	0x68445b32	0x35117d00	0x741c982f
+	0xe254f07d	0xce0b9466	0xb6940a37	0x6559d627
+	0xf324c0c8	0x101fcde6	0xb9731c06	0x71a6e9e7
+	0x18b9143e	0xef938ba0	0x74c23b69	0x99bd8ad5
+	0xf77aaa12	0xea095a6c	0x0d108239	0x3f6cdb99
+	0x3dbfa345	0xf0334210	0x026298cb	0x4804b3b6
+	0x38b7cc2e	0xbc386020	0xf09f2756	0x0447e4ca
+	0x9add32d8	0x25389b9c	0x2749f04b	0x9269f823
+	0x33d4ebbd	0xf3ac8dd0	0xef63c582	0x521aff63
+	0x8e0d75c8	0x920e7cbf	0xa6fcb2bb	0x27c00509
+	0x4b37a1f7	0xfca11e3c	0x331e869f	0xcc3fb236
+	0x07e7c054	0xe97554d3	0x89bea7cd	0x488db07a
+	0x8fb18918	0x3aa3dade	0xf257738d	0x68eb51f4
+	0x03c4635e	0x90300007	0x3dccd582	0x0ced580f
+	0x2d99a51c	0x1299ea42	0x798a3b7e	0x91b52c3d
+	0xa8fc9be9	0x4bf7c900	0xbe332555	0x555e4742
+	0x2b5d4ae8	0xa91f5e85	0x244776cf	0xbf54f159
+	0x0d0b10ff	0xf0616048	0xfffd60ac	0x4004016f
+	0xb5280641	0xec6dfcd7	0xc5db16d4	0xd3ed3319
+	0x4a991c5d	0x3a72e0ad	0x624776bc	0x6b2a46a0
+	0xc8a04e73	0x94e8cce5	0x76405dc4	0x14d6e67a
+	0x97aef6fa	0xb779a41f	0x90cc1391	0x1cc168f7
+	0x33b87c53	0x44aa57b8	0x3fe7d204	0x6727e569
+	0xf9083a86	0x181d935a	0xabda2133	0xff7784d9
+	0x9808d117	0xf89ba19b	0x8d27632a	0xf96fcd9a
+	0xc7a2c826	0x686ed065	0x066705e1	0xf30580cd
+	0x0e84642b	0x66330ea9	0x3a526904	0x5450a3ce
+	0xee0ede87	0xf37940f4	0x68746ef4	0x813cf9bd
+	0x67e297f3	0x19e7f602	0x51d7c429	0xe3d3b4d3
+	0x06955ad9	0xbf2b1c4c	0xbc090d0b	0xca870e3b
+	0x5314e9d6	0x459e2f44	0x246c1ea5	0x341cbe56
+	0xba0d09dd	0x042310bf	0x77c0bba2	0x08993ad0
+	0xef12acff	0x7ed654fe	0x7fddd922	0x846887f4
+	0x966891f9	0x36136123	0xb44850c4	0x6e195454
+	0x50e04902	0xb2715177	0xa2b41fd4	0x5ce22c86
+	0xdff8b6ce	0xfc554058	0x0e2935cf	0x9eca9263
+	0xaa96f95a	0xb09e52a0	0x7b27970e	0x623be3d7
+	0x6bdef7e1	0xe495efca	0xf744c829	0x3aba1bc3
+	0x8d56b59e	0x44759deb	0xbfb30205	0xb9cb3a1e
+	0xbe6461b9	0x39654447	0xc42dfd3a	0xb5a79f79
+	0xc4a90b9a	0x4f01a59e	0xcbb71c35	0xa31d22ce
+	0x49bc206a	0x6e04046e	0x8ee74197	0x97215f67
+	0x034db94e	0xc11eb716	0x1459f3d0	0x9b14b5ee
+	0xc45693c6	0xcb2c182d	0x3565d2f4	0x7ee32c58
+	0x58dc30f1	0x8630c6d2	0x719010ee	0xbe012e71
+	0x8271a456	0xed652511	0x882f40ce	0x4ddf02d7
+	0xc67a8e0a	0x4811c88a	0x72cee120	0xa08fab13
+	0xca3a64bf	0x4e5a1278	0xf912ba7a	0x393c008c
+	0x1cb7080f	0x07a469fa	0xa8f74a4f	0x633eac50
+	0xa41a0c86	0x72f0ffc3	0x1c6bcd6d	0x4f7b5ddf
+	0x6c481d42	0x8bf6e5ba	0xd574503f	0xceed8e8a
+	0xb5f6d809	0xf37b2260	0x24d1b6e9	0xc85044dd
+	0x95f5677b	0x9d6b1640	0x45328493	0xe5253a77
+	0x49a7cc7a	0x8d9be125	0xde28f113	0xa7d7795b
+	0x7fb7d42f	0x069f3287	0xc1fea02d	0x698307d2
+	0x5a3e7c2d	0x278e7f6a	0xa18d5f7d	0xfbdb9ea8
+	0x8fef2832	0xaf9f309e	0x2fcd2656	0x4b50c851
+	0x98fad9d6	0x9a44a31f	0xbcb0e851	0x3a85043a
+	0x24e82166	0x051b1dd0	0x7f89a562	0xde1bc7c2
+	0x1eb95680	0x429433cc	0xac6c5f6c	0xafbc3411
+	0x79bf3735	0xe2048733	0x14a2afc2	0x80069a16
+	0x30d483db	0x58742e73	0x6fc8ad56	0xb503881a
+	0x8f141424	0xc8167c63	0xbd277b7f	0xfac019d4
+	0xd0ca6c57	0x5f5398f5	0x2f45edf7	0x9144cf57
+	0x23f3a679	0x5a64dd70	0x35ee3e79	0x1b7d6b5f
+	0x48c9639a	0x1bfacca6	0x9e089b85	0xfa65c048
+	0x32f4730f	0x5f2464f0	0x4df941bf	0x6bd6f2b7
+	0x05292b73	0x320af866	0xe828ac00	0x3af499ea
+	0xada16128	0x432f4299	0x01dcc1a8	0xc56f07af
+	0x7d84f35e	0x46be77d1	0x7270a955	0x496f4d42
+	0xd90dc01d	0xa2e77cea	0xc5a966e0	0x3c5b9adf
+	0x37e08155	0x6d52cbec	0x52feb4f0	0x4f2a7434
+	0x1fce299c	0xf6d188f8	0x53f4af1c	0xf89e8b9d
+	0x3993aac7	0x8cea8f26	0x2ee2090f	0x1619d4d2
+	0xe45da14e	0x94d55488	0xf4c6b2d9	0x826d3015
+	0x7af57189	0xf6ace4ad	0x2f46056b	0x915037b4
+	0xc2222334	0x55b796cc	0xb65a044c	0xb2fb399f
+	0x8ce60200	0x6b37f137	0x26fa3366	0xbe302fbd
+	0x9277949e	0x3cf1c345	0x3841c52a	0x2e3a7512
+	0x3130de1e	0x7961d00a	0x88c9b862	0x5a630bcc
+	0x43e7d5f4	0x928f5358	0xf5c34089	0xe92d42e0
+	0xaed2fffd	0x094ee05a	0x7274ba00	0x75a9f3b2
+	0x6ef65875	0x7d00bc88	0xc609d7b6	0x8e90c34d
+	0x241833e0	0x5d2ba7f8	0xafb64328	0x9df08520
+	0xf0eeb551	0xad42d417	0xb8e17033	0xf851c449
+	0x29b19535	0xff7d0fc5	0x2b30645d	0x92ace5c5
+	0x4a66a2b5	0xadcc90ad	0x7b29189b	0x038c5470
+	0x88d32f2f	0x312882c8	0x985c5602	0x7ee684e3
+	0x28c09d9f	0xfcaf86df	0x230feb68	0xb56f0671
+	0xcf591176	0x05ecf079	0x638c253c	0x28736801
+	0x20b8a3f5	0xfb1b1f2f	0xb4385544	0x53348dbe
+	0xfc2c878a	0x711999e7	0x659d946a	0x1521af64
+	0x0812e71f	0xc8203d37	0x29a7f5d4	0x958f34d8
+	0xb6cbed8e	0x4358f076	0x2a423f75	0x3c356d5c
+	0x197f3fee	0x032a0d70	0x56000bc5	0x027fa2f7
+	0x8eb13b65	0xb89d6266	0x8493e74a	0x11b1eeef
+	0x2ef00f51	0x03e757df	0xfc2c1678	0xbc6e9977
+	0x9a38df8e	0xcd11cff0	0x2c269834	0xb997958f
+	0xb32ff8bb	0x9bcff1cd	0x801dbce5	0x9768f02f
+	0x38231c6d	0x338f7b3c	0xf12cbc4d	0x60e9c44e
+	0xaa09ce8f	0xd6b58269	0x75ff5b6e	0x7039abcd
+	0xf2cb9471	0x1093a2b2	0x618d39f1	0x47a7752c
+	0x862e26bc	0xb8600cd3	0x0ce5a0b3	0x2afae97c
+	0xf0053c3d	0x2e4003ab	0xa672060e	0xf06a2be6
+	0xb97f0b4b	0x92375a88	0x037bcb1f	0xfd9a4b01
+	0x15f8f271	0x9a9d186a	0x3ce6d235	0x2f1d18c3
+	0x126a57e5	0xb1b44c87	0x78948684	0x843898d8
+	0xa79e8665	0x222947ca	0xecb9d548	0x10d7625c
+	0x4a3695a5	0x9ea5b48b	0x01299640	0x7951fb14
+	0x4dd34ffb	0x1c654f92	0x8970cef4	0xdca89d00
+	0xbff56ca5	0xda5c53a3	0xd860080b	0x58fb736d
+	0x8c61a830	0x1a12dbd8	0x42b588a4	0x779da738
+	0x3e92ee98	0xabd14a57	0x276193a9	0x48cbd267
+	0x4c126241	0x665d83fc	0x2078bb6f	0xd3848b9a
+	0x53b7f977	0x2edd260f	0x6b477827	0xdd7ebce2
+	0x2c044944	0xf091ead1	0xa39aba93	0xadb6ad6d
+	0xa02ad5bf	0x41ab5d42	0x375224c7	0xf42f3e7d
+	0x1c0b528f	0xc3c2d705	0xe7c09e2c	0xea2fe19d
+	0x85bfc53d	0xfe2b0e47	0x94df7ec6	0x7ab703ec
+	0x407d00e6	0x47d61156	0xc0b7527c	0x98a3480f
+	0x91061b8e	0x8d52a8c9	0x7126ba2b	0x55f44b5f
+	0x98e1d428	0x7dc3d2e5	0x1e4c1d39	0xf5feeb85
+	0x28f76e4b	0x3822f307	0x054a14aa	0xf267738e
+	0x34a65fe6	0x2b1757f4	0x6beeffbe	0x350b4c49
+	0xb890d208	0xbd8e0a6c	0x673b7408	0x42894542
+	0xa3a87f72	0xbd39c48e	0x8d306798	0xaa9b91dd
+	0x1aeece30	0xc00883c8	0x01803861	0x54f91e34
+	0x45981e4a	0x8b818484	0x0332e964	0xf918582a
+	0x99c4f34a	0x890afaa0	0xc6f6dc3b	0xa9271d74
+	0x5a8453de	0x5e92554f	0x479bf1a9	0x7c6f8358
+	0xaa0b8bc2	0xa5199f81	0x94a91e08	0x30008ece
+	0xfca46e08	0xb519aa53	0x4a341f4b	0x60698887
+	0x1e00cb4b	0x8905ccbf	0x87fcd005	0xe6049bc2
+	0xe8264448	0xfa2fe06b	0xae981189	0x2c40f71a
+	0x51011676	0x80a7ce52	0xebe83473	0x33f6e6fc
+	0x7673fdcb	0x7cac2b00	0xd3256641	0x5f2a9578
+	0x41cc8670	0xdf5f662c	0xd42c59d7	0x4564e3de
+	0x62a51e7d	0x9ed383a2	0xa2fa5977	0xd7b906f5
+	0xbc1af102	0xa2cb35c3	0xe596af48	0xeb584e54
+	0x8df8da61	0xbbe11869	0xba5e3a67	0xcbfa3acc
+	0xa432523f	0x98ec0105	0x0c4d3f23	0xe839e993
+	0x3d380d3d	0x8501b0b1	0x233ed8c3	0xd67e434d
+	0x6b56fef0	0xfe376708	0xc2ea0f72	0x9f8dcc30
+	0xac2c85f0	0x35283c61	0x22e354c4	0xb6a15eb9
+	0x6f237d7e	0x8f6ebbeb	0xda1a2754	0x648647d9
+	0x07404cb4	0xaf22c410	0xf14018e0	0x0af8cfa7
+	0x9faaa273	0xe60a36aa	0x056e738c	0x719a0d68
+	0x09ce5c5c	0x692fa9e5	0xafe860d9	0xf595c31d
+	0x0de5bcf9	0x7df5ee42	0x5d53d0d1	0x3313aa5e
+	0x78ba479c	0xcb33cf99	0x217b1838	0x18a19803
+	0xa8c1c26e	0x282aa101	0x5f2bd95c	0x7089f922
+	0xf061de08	0xd4b41ac6	0xd7f696fd	0xb40b0be3
+	0x3f152cb5	0x2efb8244	0xd704a6af	0xe7556418
+	0x6846f530	0xba3b5fbc	0x450ecdcc	0x98f656fe
+	0x3fd2bf30	0x4ff4f378	0x7da84334	0xef205a74
+	0xb1611f37	0x40d6418e	0xeeb3fa8f	0xf316ce17
+	0xa52c51d0	0x7f05d21b	0x705d8557	0xc2555ce9
+	0x669eff19	0x2894092d	0xb8232046	0x5e23fe50
+	0x34189bd5	0x0ff4ef8f	0x7a7a1e52	0xe801f840
+	0xf452159b	0xa55d67e0	0x582552c1	0x9c22979b
+	0x046c821f	0x6d5e4c26	0x31173819	0x43793399
+	0xb125da6c	0xa3ff301f	0xc2b336bb	0xee8946fb
+	0x978ee873	0x9400f42b	0xac4ee454	0x6e5763c5
+	0xfd1a8190	0xe67c691c	0xcd9012c9	0x1b3c8bc9
+	0xc83d9eeb	0x8a2b8818	0xc130bb2a	0xb3b84e6e
+	0x9da3b263	0x2b2bbe17	0x82892688	0xa4e415e4
+	0xb34abd61	0x199ab6b6	0x7a98c614	0x82cbd39f
+	0xe6fd92c2	0xc34c59d2	0xdc1b98da	0x260667db
+	0x85e38107	0x06f7fcfe	0x694ec698	0x536b8a72
+	0x2c520c3a	0x3a635176	0x75cf01cb	0xe49840c5
+	0x26cb9b25	0xe14e4656	0xb78fa730	0xa52107f2
+	0xb2ab5e5a	0x039cb57e	0x86d19969	0x35a3d367
+	0x10ef5a1d	0xdafe5c52	0x2b1641ee	0xb1003ede
+	0x6f9dfb48	0x552de3b2	0x42f6481c	0x265e4243
+	0x68f80be8	0xab240b69	0x1040ba15	0xa4f537c1
+	0xcf902312	0x7e87036b	0x24908e7b	0x317fcff0
+	0x11ece36b	0xdfecefcf	0xae6d315b	0x6b755b77
+	0xc16fc4e5	0x94a2d8f5	0xb256249e	0x3e195cbd
+	0x51921ffa	0x4fe77749	0x7dba7c6e	0xd1d204a4
+	0xa1eeb4eb	0xf54d8122	0x64df07ad	0x7b4ff6a1
+	0x2c15619c	0x8e06336c	0x58807c29	0x8f91e547
+	0x57c7fe5e	0x9cd6dc5a	0xcb196fe4	0x0f8bbc9e
+	0xa4fe9a7f	0xda247b8d	0x46219462	0x04030f72
+	0xe9278418	0x1c357565	0x415d5bb5	0xc6969fa9
+	0xe5408809	0xe1993b26	0x7e50ad6f	0x0fab56c4
+	0xe561f44d	0x3dd422b4	0x3718be1f	0x4e3c1589
+	0x341494e8	0xb1e17790	0xd5a4aab1	0x132ffbe3
+	0x5dcfa00c	0xe492eb3c	0x6ef3d999	0xa3b15e11
+	0x2382a161	0x27fd8575	0xc2f47571	0x2b6e8acf
+	0xf16eafa8	0xe0a4d3de	0xf1ac66c7	0x3f344de3
+	0xa21f3ad5	0xa16dfb14	0x98b8cc07	0x3f835cc2
+	0x88522657	0x728c8017	0xd5ce1855	0x950d3c49
+	0x3ecbda68	0x20d59694	0x7e4ecee9	0xe7b6948a
+	0x6e40d777	0x5cc5bc4d	0x940563ea	0x847719c5
+	0xf1c3e4bc	0x90b7078a	0xeeb9ea16	0x4d70ea7d
+	0x2de86bac	0xe9d44bc7	0x8d5d5f83	0x337be334
+	0x8709f043	0xfc548262	0x7c288102	0xe306c122
+	0x4c3706cc	0xccf4e0e0	0xe0e139ad	0xafcd392f
+	0xd6d46889	0x22ac5b40	0x40630668	0x46e0364e
+	0xe3fc723d	0xf2244f2f	0x23b9ccdd	0xcaa416de
+	0x491512f1	0xb81e2a55	0x6a4e13cb	0x68a92102
+	0x1acb5d35	0x9dd4b349	0xbc79a6ee	0x53486c8e
+	0xc0b782c0	0x38ba5b65	0x083856ce	0x8bbc8166
+	0x832ae44e	0x6d1a7821	0x9440a2b2	0x50856005
+	0xd58acb6f	0x8458be69	0xb5e3e12a	0x8fe5c418
+	0x2bab1868	0x5fdce26a	0xb055b5b5	0x3347963c
+	0x01778244	0x94632954	0x0bd2f410	0xeea46465
+	0x5f2e6606	0x3d3b5b8d	0xe22cf626	0x22b05fe0
+	0x985a8242	0x37f05e43	0x081f8f7e	0x48160fe0
+	0x7b31d3c8	0x9131115c	0xfdd4d60f	0xe49b7cbf
+	0x8d1c324a	0x03dcb09a	0x4b075ec5	0x2161f6bb
+	0x22a73927	0xa03df0b0	0x3312f32a	0xef29918c
+	0xb4f45af5	0x08d7ad75	0xe3b10cf6	0x9f038cff
+	0x38187cff	0xe6b8640a	0xe25e6816	0x09f360e6
+	0xe723e6d8	0x3e54a97d	0x839833b2	0x50870a6d
+	0x15d28f5e	0x1502d9a6	0x09e3a446	0xf384e317
+	0x0b52d1d8	0x7bdac6c2	0x9bcafa94	0x6130a3e0
+	0xaff0a77a	0x455e3f06	0xe7ec673d	0xb6fd34a4
+	0x79586f9f	0xf8a774f1	0xbefe2e7f	0x0c1f366d
+	0x723ce30d	0x9ef5c33f	0xe6291746	0x928494a4
+	0x8f36fc92	0x00b4cae2	0x2662aaaa	0x14025de3
+	0x6ca2e231	0x465da855	0x7dcbaf24	0x438ecc22
+	0x6405847c	0x39bd34d8	0xb9102808	0x52adc27c
+	0xa436b8a6	0x1c8e9627	0x7c514a11	0x2c95eaed
+	0xf3d78737	0xcd70b289	0x00ecae75	0xf48a5c2f
+	0xcfc314ae	0xd4d23c1e	0xbd3611c8	0x41dfb4b0
+	0x09321b0b	0x49d323c7	0x0ac45ced	0x92d8a2e9
+	0x45649117	0x38289144	0x98b60c78	0xefbca700
+	0x8385eeaa	0x150d1d18	0x9fe76248	0xd040677c
+	0xae640755	0xa27263db	0x0bb183c6	0x3cc9e42d
+	0x4395c88d	0x358a8380	0x7e123cdc	0x6cf3d1f9
+	0xfdc6215b	0x949ee303	0xf417ac31	0xc3b90a56
+	0x9ecba65a	0xbfa39c82	0x834a7416	0x2872d073
+	0xc7e45f1a	0x5e265a4f	0x57dd0057	0xda31d555
+	0xc2e3125f	0x154a94ad	0x7a257e54	0x21afa615
+	0x1bf7d2e2	0x9c53ecf0	0x03644304	0xfb272d9e
+	0xa1308603	0x7b6a6995	0xa7b53c52	0x99785141
+	0x717ec8c2	0x90a3a34d	0xaf773803	0x13149c46
+	0x84969711	0x650bc0b2	0x090e7282	0x5f5b52f0
+	0x317765d4	0x1eced54c	0xcdacf3fb	0x1a4d998d
+	0x96dbe788	0x2c83c1c1	0xc3c6060a	0xb47b022e
+	0x7f0a2461	0xb2c6833f	0xa28ef21e	0xcc7f08cd
+	0x6276cab2	0xf2c28561	0x3f8a341d	0x0dc2ce23
+	0x5a7c6095	0x0de2c81a	0x30b2396a	0xdb9f1abd
+	0x77aa1c88	0x0b1a58d7	0xeb65b5a2	0xe8a8c26d
+	0x1fd13326	0x98f9b8da	0x0b60d4c4	0x283d53d9
+	0xf2c85b54	0x959abd77	0xc1402998	0x82ec4bf9
+	0x2b2822f3	0xdc3e5b73	0x4f9b363c	0xf0de3afb
+	0xd4058608	0xbe225786	0x08ac049c	0x810c38b7
+	0xfa275712	0x8a3b3b18	0xe2014f37	0x9d7e84cf
+	0x837430fb	0x9d268d6c	0xdacfec30	0x4de714e2
+	0x651d1443	0x83868ebd	0xd35f410b	0xa8189c28
+	0x6eef00e8	0x133eb94f	0xff511292	0x48f7eda0
+	0x586f5a01	0x1f35a55f	0xdc739391	0x5643e66c
+	0xb203ce9b	0x02da8c64	0xd33f419e	0x9d3dded1
+	0x1894ece5	0xe3044813	0xe30856ad	0x981090e8
+	0x449a75fa	0x4741c87d	0xa3eeb1af	0xdebed7bc
+	0x63d36cf9	0x0c662c7d	0xded8eae5	0x462cc7e4
+	0xedea5e09	0x18de0808	0x2d45caae	0xaeb97a8b
+	0xd77e497b	0x96290389	0x629bf169	0xf6e6f176
+	0x7b824f3b	0x456d5afb	0x3ec297b8	0x02f66afc
+	0xb06732d1	0xfbc15c02	0x31cd5d46	0x8d5f6836
+	0xaf8458b6	0x63dff3a3	0x6a6778cf	0x6ccdd64c
+	0x384945a6	0x9edea46d	0x441a7d5b	0xa36fa901
+	0x713e66bc	0x1d7d2c95	0x465f8ec8	0x00940a0b
+	0xbd5193ef	0x2183dc17	0xe580206b	0xc31829b9
+	0x552b9c22	0x4cccc102	0x3e4c999a	0xbddf5759
+	0x46818e3b	0x572278d9	0xd5d472b9	0xbf44051f
+	0x5bcd9d4d	0x18b150c4	0x579b4f53	0x8e2d2284
+	0x3d59efb5	0xbb29d05c	0x8142d678	0x3e4e009f
+	0xda9d9683	0xc7624dc4	0x3c21df4a	0x5bcc17f1
+	0xff19d9b1	0xdb4c6d42	0x45c43a0b	0xa1901783
+	0x88dd43ea	0x3fec2821	0xb37ea79d	0xc48fed64
+	0x7ced3131	0x0ab60cbe	0xaaad69bc	0x5b8e0945
+	0xae8a56fb	0x5966785d	0x9ff02083	0x7b032ce6
+	0x8efed925	0xbdd319b4	0xb46a1dd7	0x1ed4a73d
+	0x679394d1	0x692e3cc8	0x1dbdc2db	0xc0e1f4e9
+	0xe86c32d5	0x0cde1e9e	0x14c7d904	0x57b0b968
+	0x646914fd	0x70984932	0x1d6e5da0	0x35ae3ce7
+	0xc6b4b7da	0x3b103957	0x4ee8ea6d	0x3498c59c
+	0x09ac5c5c	0x600f9a79	0xe74fd1cd	0x3b273adc
+	0x4aaf4eae	0x664e6213	0xf828611e	0x3c7ec70f
+	0x2105ad64	0xf16f02a9	0x7daf897e	0xdc3e4c8c
+	0x14f49242	0xaa03a96b	0xb3015ffe	0xd1213cac
+	0x82a51c21	0xe1859816	0x249d328c	0x7bd8a3be
+	0x1874e84e	0xbf8ace44	0x8c052f76	0x591b6e4a
+	0xc712e62b	0x350ebc97	0x330fc6c2	0xed4a2318
+	0xc260d922	0xe66421fa	0xdecf6bbd	0x69537478
+	0x8a4f6c68	0x7e33740d	0xb5c79fb4	0xe42fc7ea
+	0x64986a83	0x4af721fb	0x4228fbff	0xe00db003
+	0xdf9c785f	0xa833bce3	0x07a39f1c	0xa09077ae
+	0x2c24872c	0x00ddcb5b	0x61689e74	0x019b570a
+	0xe62fc616	0x6048d96c	0xe0879492	0x9f20adc3
+	0x750238f5	0x00b30a8a	0xed16556a	0x7e0f2660
+	0x04cde130	0xc48b7090	0xf6867ff0	0x9bcfa048
+	0xcdc389df	0x15782910	0xa7fb9c4d	0x5df2ba44
+	0x57f5f6cf	0x116e9d63	0x3a2a34fd	0x69ffb436
+	0x4330770c	0x2623b655	0x92aa0610	0x146ed3ed
+	0xe4f33f7f	0x12480673	0x791f1af7	0xe374c82b
+	0xbc591988	0x73e19e74	0x4a692627	0xacb6599a
+	0xb9e364ec	0x636b8fed	0x57aeeb35	0xdde4c110
+	0x3d32b541	0x2c8ce305	0x1cbbb467	0x17e21691
+	0x234ec6a4	0x5c2ab507	0xeca83639	0x81132994
+	0x63cd6d05	0x52c7c0eb	0xb24bb6fa	0x6ca949b3
+	0xe612b60c	0x637af946	0xa5eb9c8a	0xd8abf616
+	0x5a3cc348	0xe2e97af2	0xc9404712	0xd18bcf2a
+	0x8c2a45d0	0x5e6e0fbe	0x9fbd894a	0x86641a1a
+	0x1540f11a	0x33bfbdb7	0x8411fcfc	0x2e028d1f
+	0xa8eec52d	0xf8b4df05	0x6d95227b	0x67ee103d
+	0x1e82ddc7	0x29bbcfde	0x846d2c98	0xcbb0b4a2
+	0xf7d4014b	0xf1bf579a	0x31d8c825	0xdb8e5ced
+	0x5fedd954	0xd34461d9	0xa30b43bd	0x270892e8
+	0x39a0f23a	0x0294ac24	0x4b3f9eef	0xd1bde6c7
+	0x19a2253e	0xef39ad0a	0x25667125	0xdc1f8783
+	0x60663a21	0xea9a2dff	0x2b9b70ed	0xbda0f119
+	0xd2bcc1ad	0xa6a3c214	0x7e110a63	0x03054fea
+	0x38869655	0x665c6db5	0xb2e1598d	0x4af4544c
+	0x9d5ad473	0x2813f572	0x5b34d77f	0x2b6a4991
+	0xc02d2724	0x57aab26e	0x1e73ddd0	0x6876174a
+	0x26b216b2	0xfd47c5e6	0x7637487b	0x83dd88c5
+	0x84ed74a3	0xad0fd5af	0x7e54d329	0xb81f89c3
+	0x096e31b0	0xca82055e	0x93fdd796	0xdde95e3e
+	0x270f28c0	0x75e430ba	0xfbfa701d	0xcdaad076
+	0x88f75410	0xd2f285ac	0xe7bb7afa	0x217cca34
+	0x612f28e3	0xa8216d4a	0xfe499570	0x3a0f2239
+	0x1d5822df	0xab511a4f	0xc89c8fc1	0xf2363058
+	0x8db8c643	0x1a41f69b	0x91b92d7b	0xc3b594c5
+	0xeef08b27	0x0ed4fd46	0xd1249b98	0xae503313
+	0x42ef4416	0xb5c0c3e8	0x77badf2a	0xfc4d2592
+	0xd03a8c29	0xfdcd34a9	0x5751fb68	0x10e9dbab
+	0xea38b7c7	0x47013225	0x5734eeb1	0x664b9965
+	0xdfdb5b24	0x42544b2b	0xb0368177	0xcdd7fd65
+	0x0245a4d3	0x583c1178	0xb1daf428	0xaf7363fd
+	0x454218d7	0xfd349719	0x518a639f	0x725e0f31
+	0x0414577a	0x967e7d0a	0x555969b4	0x140e85e8
+	0xe3938e1b	0x70ee21e1	0x86b18f76	0xe8108b69
+	0xe3ae5493	0xf27ae045	0x873ace86	0xd48fb78e
+	0xe7eddaa7	0x2b88f431	0x221a5d60	0x61c01e66
+	0x82cd0a4c	0xd3e9dc97	0x266c18b4	0xfc585350
+	0x0f120ef3	0xc4a24ad6	0x7f02152e	0xaf47f02d
+	0xa9ce53b4	0x0f55b1f5	0xb9ec47da	0xcd673d94
+	0xc4b60fe3	0x5f56bcbb	0x05f115fb	0x63444136
+	0x8e588685	0x9555fbf1	0x1bdd435c	0xe188dde5
+	0xe9738b16	0xfb2ae508	0xb2d9d78d	0x796982c7
+	0x9e875155	0x60147d37	0xeb317502	0x92c29986
+	0x639170af	0x56da3868	0x9912a537	0x9b63618b
+	0xedfa5898	0xe151fb3f	0xcbd5427e	0x3d6dcd3e
+	0x811273ad	0xaa90ba33	0xdefafb01	0x009d7449
+	0x295ef072	0xd8b67355	0x529a01c4	0x74ca4584
+	0x866664ea	0xf8c8b458	0xaa4ab16a	0xfe988c59
+	0xc58d072b	0x54119dc2	0x50358fd7	0x54983d5a
+	0xe6c15754	0x726a5f16	0x0ebe004b	0x9d623abb
+	0x6c88eef7	0xcc851413	0x4307feeb	0xa5da6e33
+	0x8457b842	0xc8a7332f	0x8951c594	0x0aaa4bb7
+	0x3accfc82	0x4864f9da	0x56483d4e	0xc46053e6
+	0x018c47ef	0xa279c96f	0xd1f3d3c1	0xd0b203f5
+	0x35052ba8	0x70b32239	0x1df89081	0x7bfdf671
+	0xc7996b1a	0xd5ed7557	0xed503f8b	0xc557f81b
+	0xd048f722	0x554e29c1	0x936b0699	0x8aa23925
+	0x4b3c7a7d	0xfabd4f21	0x2c02b0c6	0x5b8009f5
+	0x0563c1a1	0x898aa452	0x73b29ce7	0x798fd3d3
+	0xc5dc75be	0x7599dd0e	0x797ffd6b	0xccff6ec7
+	0xdf73d8a9	0x8d1334b8	0x52710c43	0x6c0a7dcf
+	0x9e855916	0x709b1835	0x1b44d0c2	0x22d8bb03
+	0x12dc9286	0x5d2b739d	0x52d469d6	0x540d1947
+	0x25f75edc	0x3fea9589	0x8dfe2007	0x892d4f25
+	0xe67129d3	0xc358b651	0x4dc9b1ea	0x25761253
+	0xb3098396	0xb068cc53	0xf8c8bf22	0x48e27cfd
+	0xeaf19f48	0xc8a40778	0xaee9c616	0x0024a40d
+	0xfede7631	0xad81dada	0xdb8cea60	0x929c3442
+	0x250399f6	0x51f1c010	0x18ef9559	0xfa27cfbd
+	0x163d0c03	0xd575a689	0x4d4594ab	0x6bd8bf94
+	0x329a1f8f	0x81beacf4	0xe5af6537	0x737d254d
+	0xf6bb6bd4	0xe70591fe	0xe7a2c66f	0x58661b43
+	0x2b984d33	0x997f1f4a	0xe394e796	0x40effba7
+	0xbfb54ae0	0x1c7dea09	0xed55d2a6	0xeebcee4c
+	0x75a0fea0	0xb9649edb	0x68a86630	0x5a80f63e
+	0x5e7dcea6	0x1a039cb1	0x22bb884d	0x6e0fc84a
+	0x4b8e4a59	0xcd7367cc	0xb742cfdd	0x8a99aa92
+	0xb2e2466c	0x48b5e5d5	0x8d39a375	0xc925f825
+	0x728073b6	0x56970db0	0xf33dc778	0xf70a3c02
+	0x9f1a4977	0x5d18d43e	0x508ecf01	0xb87cb169
+	0x80e9f7ac	0x578393d6	0x1733c507	0x03cc47dc
+	0x097de77f	0xf3da7314	0xb9d07a2c	0x1420c666
+	0x054564e5	0xab2b429d	0xb5209da4	0x4112060c
+	0xf413eea3	0x93813942	0x6a43af2b	0x1a68b0a3
+	0xdf7a714d	0xa6324c42	0x539e4d35	0x6636118a
+	0x943feab0	0xfb4eaa60	0x93c28171	0x467572a5
+	0x5d4bfd37	0x0caafdfc	0xa3041fa3	0x90931037
+	0xc44810e5	0x0dd66557	0xfdd770aa	0x5847a8c0
+	0x96ddcbd4	0x4b6a4fce	0x9bcd061a	0x3932e8d0
+	0xb69d4a57	0x9af47cf1	0x46736b55	0x29e55e34
+	0x7300375b	0x179a9a21	0x307b0689	0x96ae5d9e
+	0xa853f570	0xf841c73f	0xbd94ac9f	0xa64b9114
+	0x947524f2	0xe38f6e68	0xf1ca7c83	0xce6b034f
+	0xb9fde58b	0xa706e0c4	0xda3996c1	0xecd1f6b5
+	0x161fb63d	0xe5536bc3	0x1c07dc6d	0x2805b076
+	0x0903eb62	0x354107a4	0xe90ff4a3	0xa2054d33
+	0x1f2a632e	0xd03cb8ac	0x1d8f344b	0xc1ec57fc
+	0xcaacf346	0x23acbc65	0xfdf934ac	0x49033711
+	0xc73bc97a	0x5b25c7b8	0xa1ee9a56	0x5a2f95e6
+	0x9b486eba	0xdac28dae	0xbaed0e0b	0x3e6cab39
+	0x2a95e4d1	0xc7a7dd82	0x74348dcd	0xbb95024e
+	0x53bd88c1	0xee00d042	0xb5d577ae	0x6082285a
+	0x484d5a35	0x2d93c0f9	0x9bce2a6d	0xe3955fb0
+	0x428133cd	0x07377886	0xb3797f0d	0xa342fa77
+	0x5834cde1	0x522c80f6	0x7bc9f92b	0xb2237d8d
+	0xaa9bfa50	0xd00b0490	0x874c71dd	0x139292a8
+	0x367145e6	0xba90a80a	0xce06e0dd	0x7cb49f4a
+	0x5bc3e38b	0x4bf1dcf8	0x11213f42	0x99b0a5b5
+	0x0458e96b	0x7c329c9f	0xc50c5e61	0xed935b3b
+	0x2c94aef8	0xd9797f93	0xab1cc1ba	0x8a7dc27c
+	0x2fda9eb1	0xfb865d65	0x9ea8f1f3	0x30a307b2
+	0xc373502e	0xb3bb752e	0x0b609f6b	0x955ecfce
+	0x946646fb	0x76b5f628	0x37a00871	0x7a3da0cd
+	0x0e87e034	0x85500d3f	0x31db1de9	0x30f5832f
+	0xe30224e5	0x4ebec8a5	0x99ca0ce8	0x418c26d4
+	0xa264de66	0xec9ff883	0xb690b887	0xfd29d0fc
+	0x68a93e17	0x3aa30ee2	0x070f19fd	0xd2005cc6
+	0xd47a807c	0xb93ac4da	0xa3726bc2	0x88d58f3a
+	0xa91555c7	0x8437fdc1	0xf462a9ee	0xb2554c71
+	0x4ee039fd	0x361749b6	0x9176114b	0xfb339f0c
+	0x85c474f3	0xcae87770	0x4c2e9f89	0x2e8b9634
+	0x415568db	0xde7c55b3	0xbaa534b3	0xa211d29e
+	0x05e95d73	0x95145b12	0xf1f095f0	0xa16d176a
+	0xdd7497ea	0xa1079a8f	0xb3b445f6	0x04c63340
+	0xcfbeb747	0xcfc12f02	0xa29d4ebd	0x70f97ab0
+	0xcafc8b79	0xdaf6418b	0xd0dd9a11	0xe29dfdfe
+	0x61615382	0x30f4d07d	0x6d0d520c	0x79624ad0
+	0x41b07e2f	0x42fca262	0x97994ce0	0xd1a8e339
+	0x42913134	0x18e4473a	0x893509ba	0xba73d8df
+	0x90e342b6	0x2205f686	0x71f76660	0x41464649
+	0x876b6481	0x06622a67	0xb16962ab	0xd709a0fe
+	0x3f8169f7	0xbc5bf617	0x2ef29aea	0xafbc9dff
+	0xc99285d8	0x1737fe89	0x7d32ee92	0xd841ccd2
+	0xa18eb29d	0xb48aec94	0x039987b0	0xc3a9f403
+	0xa3626dfc	0xfb71f00d	0x9629f7c7	0x612a19be
+	0xf679ca41	0x89745a20	0x5a9767b7	0x124fe621
+	0x55eaa08b	0x7dd29949	0x36850483	0x17473919
+	0xe9a4d0cb	0x36f15505	0xb74c42ae	0x898c4348
+	0x95f6e4a5	0xdb5c4f19	0x0d2c0fb0	0xd5e62865
+	0x98d1822f	0x84fbf5c9	0x6a9d0dd2	0x98a5d7d9
+	0x6b05ec03	0x61e1dca4	0x57681251	0x6bf77c79
+	0x6bd89da7	0x30ea009e	0xb6479a71	0x11e737c2
+	0xa619a10b	0x70b16943	0xce2a3af9	0xf29681f5
+	0xa50db0da	0x2ce2522f	0x64806d0c	0x7e9a0852
+	0x541ca68b	0xf5deba66	0x57e038f6	0xa1fe4d9c
+	0x4a2c97ee	0xd1ccaf77	0xee5aa1e7	0xfcbbbbf1
+	0xc59521e9	0x1d527843	0xbf08121f	0x72d67cea
+	0xdd1c22a1	0x9d0c51a0	0xd3d5cc37	0xc6737e98
+	0x0c33deb4	0x5ae1ea98	0xe3f6bb8f	0x0f9e4998
+	0xdbe9da9f	0x8ecb8d39	0x6b98346e	0x7f229bcd
+	0x4e1e1537	0xa8afb742	0xd58a85b0	0x232f6bd6
+	0xa2672db1	0x05d64425	0x9a351d62	0xa8d4ceba
+	0x28b10a12	0x9ea04603	0xbe969e87	0x238a228b
+	0x6281a77e	0xf22ec5a3	0x88660a2a	0x81dbb399
+	0x07106406	0xf3f8e110	0xb1b909c6	0xe5a86a1b
+	0x0bff6f8f	0xf668d01b	0xe82e9a6f	0x0f7fae47
+	0xbff65826	0xd31668b4	0x51d1a640	0x807cf8e0
+	0xa9e7479c	0x1087538d	0x90c8e4c1	0x9f5bf12b
+	0x50319e47	0x4ec285cc	0xac679b45	0x3a53c86d
+	0xda2e37e8	0x6c42329a	0x3ae623f7	0x00df9e58
+	0xa43a58ea	0xefb494e3	0x2a2ddf62	0x1ae04284
+	0x1088fae3	0x8bfcee8c	0xc85c9efd	0x633cee0b
+	0x95fdf98f	0xa38c4b7f	0x63da55e2	0x4f3bb32a
+	0x51e939d9	0x499af23a	0xc09f5791	0xfd4a792c
+	0xf511d3db	0xf28c1aa0	0x175fcb8d	0x83abc579
+	0xbceca9b4	0x0ab223df	0xde6f2e30	0x16248550
+	0xcd361a21	0xfe901788	0xb2e562f1	0x77ac5ded
+	0xe0d06bc7	0x631c94d6	0xf31d83f7	0x42d22d58
+	0xd8477e89	0x2c610d19	0x520022a0	0xdfb5ac06
+	0xd463055d	0x1857521a	0xaa12bc72	0x3e125f69
+	0x8f409c7c	0x50e55b99	0xa17ac715	0x28d0341f
+	0xdd31dd1e	0x06632b18	0xf58f5ebf	0x69903d86
+	0xa1c5b456	0xa783e4bb	0xc407bc15	0xba9f8619
+	0xcf061535	0x69151522	0x99f5f300	0x8891be7c
+	0x9fd407c7	0x67e56a91	0x47b89f11	0x0afeace4
+	0xe5bc3fb4	0x3c8af0a0	0xb034e54f	0x3d0fae58
+	0x7daf3ee2	0xcfc30806	0xedb46947	0x8f053ec5
+	0x3bc38e12	0xc7405f8f	0xf7be65d4	0x1e60ba9c
+	0x38136225	0xed02190d	0x9142a560	0x59d0c540
+	0xc6b80e9b	0x818b36ba	0x5f63c642	0x4c420bc2
+	0xd5347fcd	0xfb418dfe	0x0bd6be6f	0xcb978de7
+	0xda009d22	0xc1bc14c1	0x63b2cf06	0x6e595cc9
+	0xb0e51376	0xf8e16970	0xe7b14a24	0xc2fc0520
+	0x8ef3442b	0xf8db738c	0x4e19708b	0x2b8e30ed
+	0x6393b9c4	0xfb229c75	0xca190ae6	0xcedfd195
+	0xe75bfa92	0x6e532cea	0x2429aaa4	0xf3b043a7
+	0xc025b207	0x17d66042	0xfc5c8576	0xb298c410
+	0x80710b2a	0xf1b32af9	0x5d63a95d	0xcff13167
+	0x8c5ec446	0xf5927065	0xdc90ebda	0x35126e6b
+	0xc9604d65	0xbb3742ca	0x7e4b726a	0xeb97d309
+	0x7577a1c5	0xfae1831c	0x28297aee	0x395b3ec2
+	0xcd3bf725	0xdb4573f0	0x41f3d4a9	0x316283af
+	0x1c7deed7	0xb478d2d2	0xf379ff50	0xa447e404
+	0x15465174	0x8104e6c0	0xe6880b94	0x89361cf1
+	0x1378a030	0x2e29eaf3	0x911238b1	0x3b66bbd5
+	0x9267486f	0xa58a4d79	0x43f421cf	0x4b74e99f
+	0x4a837bb5	0x070b6cd4	0xdcfe2588	0xf26c612d
+	0x1cb4cf0e	0x9544a3b0	0x81ec2db0	0xdc0b4b9a
+	0xea69a377	0x3fa3c81d	0x576cf512	0xb5991f4a
+	0xa0e39100	0x1b2fc704	0x3ae2ec5c	0xde55ad73
+	0xe3de17ca	0x78455914	0x9e000992	0x602eebd6
+	0xd53066ea	0xd2fea4af	0xc0808eff	0xe7571192
+	0xb12fd785	0xc61a8a48	0x4876c57f	0xde3b4fb9
+	0x21d59d1b	0x77e55c0b	0x47fea192	0x09ec05dd
+	0x8cdda4ed	0xd07d827e	0x30792c19	0xe6a249a2
+	0x0ab09c15	0x709b15d3	0x41f6a1b0	0x39222672
+	0x9eb2db55	0x7cf9e5a8	0xdfc72e5f	0xbf53242f
+	0xddaf4628	0x52fb1b29	0x212ba450	0xeca2ae62
+	0x23a79905	0x830f4375	0x935a384d	0x741b1831
+	0x1f5b374d	0x135eaaa7	0xa12d4801	0x688a49cc
+	0xf3ab834c	0x2f437388	0x77051494	0xf7d5dc40
+	0x73b9ae86	0x57cc1469	0x6e017e06	0xcd2a35c4
+	0xd4b7d26c	0xbec9bfb7	0x6dbf6d62	0x5c802611
+	0x251cbf05	0x0749f9af	0xea361170	0x9d5a561f
+	0x22ee92a4	0x419bd3fb	0x6f0c10d9	0xb9c50f48
+	0xbd6173f7	0x738a654d	0x00d606e0	0xaaafe42d
+	0x1e5d141c	0x6a081224	0xf8f84471	0x9284a71b
+	0xb36c9f34	0x5bc3cbda	0xbbd8296e	0x63dc9354
+	0x4ee4e87c	0x7bcca0cc	0xf0431cc1	0x6244b0ab
+	0x36df6624	0x985c6e27	0x3268c9d5	0x59fdb579
+	0x974301b8	0x46cf11c0	0xadc121ad	0xdc3b8804
+	0xe4c4be6c	0x75fafdf1	0x8a063c69	0x498cf19c
+	0x0ad8518b	0x3c0d49a3	0x04124718	0x4b4af21d
+	0xd88b0cc0	0x2a31dbab	0xd419298d	0xc625f2c0
+	0x034c1ce2	0xc66aa1a1	0x47b5cf9f	0x2e2c0597
+	0x448a266b	0x850e89e8	0x63fd2ca3	0x9d8d2798
+	0xaa782d19	0x0e5772f3	0xad61cd01	0xd02548ec
+	0xd9ba4c3d	0xfe11122e	0x45f6c671	0xa751459c
+	0xde2f54a8	0x50b0a23f	0xa76c8331	0xd43865cb
+	0xe682f57f	0x9576ece5	0x993008e3	0xb630ea07
+	0xf4456220	0x6edd836a	0x3065f85d	0xdf3a879a
+	0x50098784	0xb0d8ed1a	0xf7c5e468	0x67a3ac63
+	0x6bbe8a10	0xd8a3fe90	0x95e59763	0xab20bf63
+	0x917c2bd6	0x6cb8941d	0xe4850103	0xc01e8eb0
+	0x8191a18a	0x957b65fb	0xc5386e7b	0x7ebbe153
+	0xae923977	0xb8307243	0xdc249419	0xdffc3c54
+	0x3ecab7ab	0x906bbfc8	0x8775aa1e	0x62476cec
+	0x1fd5b9e0	0xca51a7fc	0x3c2b7f21	0x73c3ba73
+	0x16197c1c	0xecfb2470	0x9afae107	0x476a3680
+	0x0aeef302	0x10e6ff0e	0xf9d26c2c	0x321b693c
+	0x6631a566	0xc3159f11	0x5220ca36	0xae16a624
+	0x15228e05	0x3a0e0c7e	0x95abbf47	0x97d035b5
+	0x3dfb2c57	0x1c449f22	0x161bb69f	0x4c9a334c
+	0xb7cf2717	0x0066444d	0x6654a9fe	0x09591653
+	0x8b5b70e7	0xd54200f1	0x0b73e933	0x72fb76f0
+	0x28d263ef	0xafd00a3d	0xfa5dd759	0x08c4d2cd
+	0x95439811	0xe819f8ae	0x2e4a8449	0x1f924127
+	0x05b8eae7	0x65af5b24	0xa51f1b52	0x54d9dca3
+	0xdedc6e38	0xd2dcba1b	0xdaecf27e	0x93c51700
+	0xeea32dd3	0x9db8347a	0xa6a58eb1	0x7c097ac2
+	0x040d3ded	0x8752cf61	0xcaf09da1	0x855d91ea
+	0x90376107	0xccf430ad	0x8f5b608f	0x61b2d6c5
+	0x3b7cbf6e	0x139c6b94	0x24794bfa	0x8c39d7c0
+	0x1ef0a524	0xcf5b7d94	0x0209d271	0xdee02cd3
+	0x0f1af81a	0xbe9b4cf7	0xd509cf9c	0x2fc088ab
+	0x1b0d3a93	0x3be3df49	0x6edd166b	0x7b5f00c9
+	0x6ad579e3	0x97ea1c1d	0x256d1964	0x4c450442
+	0xf7d65fe3	0xe9f864c6	0x7b5b0cc5	0x02d13af0
+	0x127b46a0	0x272e7f0b	0x9a4af66e	0xc1538ffd
+	0x89438219	0xc5fbfda8	0xd7111981	0xc150fca0
+	0x69cc6bc3	0x3f34a55e	0x3e54ee9c	0x20cf58ea
+	0x4e4193bd	0x5e299bdb	0xb58d48fc	0x32b8399d
+	0x4f54a5c3	0x066d0d6d	0xf0de2923	0xf2ad5145
+	0xbd606fd0	0x2e94a5ca	0x44812a53	0xa54983e2
+	0x7a371445	0xacb230e4	0xbf26afff	0xd2d6e689
+	0xd19ef29b	0x687f6230	0x7c4d14e5	0xd5b3a33a
+	0x9e35e3c2	0x4a431c1c	0x38beae5d	0x38f1d918
+	0xf78bc898	0x996a8439	0x78ed60b7	0xf78dd0ae
+	0xc01feb81	0x33800ee4	0x052f09e5	0xd247411a
+	0x385464ba	0x11c3f9d2	0x305fd9fa	0xdff2def2
+	0xa90c76e7	0x140945b8	0x10f33abe	0xc00f77e6
+	0x54f6844f	0x826a12cf	0x33474a58	0xde2b7ebd
+	0xe28abd2d	0xf8107730	0x410a0c2f	0x71902891
+	0xff7199d9	0xa46e3539	0x6087cbfb	0xb123c666
+	0xf246206c	0x81dddf8b	0x8d33ca1c	0x647d40b7
+	0x7ff9e364	0x623aea75	0xb839bf91	0x78add7e0
+	0x9554d372	0xa160cc75	0xe3b028ec	0x47059b9a
+	0xb250818f	0x261b9303	0x3673e559	0xf26abc26
+	0x2f94fbd8	0xfa815b57	0x17471b5a	0x28e31a21
+	0xbf5b8654	0x08eb2da5	0x5ec7fe01	0x2607b68e
+	0x65f7b4ff	0x60bebcc0	0xd7a7367b	0x29dd0f2a
+	0xafd7aa3d	0x78cf6f36	0xf143f863	0x1f6bb8bb
+	0x191e3d04	0x1c98660a	0xa13b16ca	0x5bb60bc5
+	0xdb384357	0x078b2125	0xd85c1f6c	0xac0c0ddc
+	0xd2bc3fef	0x9bdeba33	0xf2cc03a2	0x12c73d2d
+	0xc8aa452f	0x641dcf0e	0x5b3144e2	0x26f3b3b6
+	0xb8fa61ec	0x8be854f8	0xf8be5bd3	0x370ce815
+	0x77aa5ef1	0xb4fdf0fc	0xb5006075	0x5752a3cd
+	0x9d61154d	0x5b3d86c2	0x1760e58a	0xd18f5c6a
+	0x6d6ec175	0x7f858ccc	0xc3df52a8	0x42f4dbaa
+	0xc35573b9	0x5158f16b	0x8d5ca72e	0x85110274
+	0x2fe27489	0xbd40ab31	0xa85ea42c	0xbfe3f636
+	0x8c08b37c	0x0aea1ddf	0xa50cd8f0	0xe559318a
+	0x2a280158	0x43847f6b	0x3a078777	0xec615237
+	0xa56396af	0x696ae4ae	0x4d855505	0x007ff90f
+	0x47d03918	0xa7d310ba	0x6e53e746	0x149e77d7
+	0x975feab7	0xfe1c7b97	0x9a8abf4e	0xbb3c7a37
+	0x84038c2a	0x954d20f4	0xee5d8ed4	0x11da739f
+	0x20eecc04	0x5226db0c	0x8c5369d1	0x78ed6585
+	0x8dd1cdf0	0xb46c10ef	0x141a96db	0x92ad7d97
+	0x4e7e0836	0xf1cffda9	0xad2fdc2b	0x6843beff
+	0x9c59468e	0x94217ef1	0x1d49c692	0xa498e16e
+	0xa135ecde	0xe7adddbd	0x54bc7af6	0x6585df75
+	0x4f7e2c7d	0x1c9a2488	0xd9dd192b	0x0b263684
+	0x08be6e1c	0xab6002d9	0x2c6cf690	0xbba8405e
+	0x4c3e7c5e	0x35dc1a2f	0xa56dd38f	0x5674802b
+	0x41c87fbf	0x99fbc6b1	0x47b51a74	0xd51a67e6
+	0xb499a89f	0xe0d1a3c4	0x38deb3d1	0x68f4c97f
+	0x2422bda9	0xe879354d	0x57c1863b	0x10c6ce01
+	0x1d9a72dc	0xe5cd2133	0x2ddb9094	0x6e92e0a6
+	0x26f6dfec	0x0e68265a	0xb6c2f28f	0x08817db6
+	0x3cfb4255	0xabe020c3	0x45259016	0xa8501b1d
+	0xfaeade6e	0x7de9daa0	0x34e019b1	0xb22d2a5a
+	0x84a6f3f2	0x1d970bc3	0x53ac86d0	0x177c49f9
+	0x79ca257e	0x0657c1aa	0x791594c5	0xb15d7c7e
+	0xcd111b31	0x20bdb043	0x3d31dee6	0xffd66121
+	0x0a8f413d	0x7a1bd1eb	0x58340242	0x434aeb92
+	0x03bc4a31	0x9471e1d5	0xd4f3c2ba	0xfff0d8b1
+	0x9bd13e3e	0x7cd0a853	0xe3d6f849	0xe1017a2e
+	0xd925ea81	0xb22e87ad	0x0512c884	0x58854850
+	0xdd9f682c	0xe94b2977	0x2161cbc8	0x0e253a5a
+	0xda691f0d	0x05c8e4fb	0xae2ba23d	0x8f5297a9
+	0x279f4c37	0x63cc89ed	0x928d2eff	0x08c231a0
+	0xc2748444	0x192845d2	0x0754964e	0xd2845816
+	0x06933750	0xa4c9163c	0x634ebd9c	0x2a9cfec2
+	0x477cb9c4	0x03f50d10	0xbdbe4f84	0xe9736708
+	0x6e48bbcd	0x8837479a	0xcf8b2793	0xc4188ea7
+	0xa342d8a6	0x94ea9d9c	0x8e44db11	0x9c086ff7
+	0xd8b8678d	0x5c90df79	0xb7d837c4	0x839db0a5
+	0xfa26efcb	0x5bff775b	0x8599f333	0x2e4c99f6
+	0x32c3f18e	0xe6e2e6c1	0xaa2df9da	0xb346c52b
+	0x24f2ff8d	0xe2da722a	0x1e163221	0x013bd00e
+	0x72853bf6	0xdeff1305	0xb85f22ee	0x880ed484
+	0x8a006bdf	0x8a5636d8	0x25b3559c	0xc76d7673
+	0x63545968	0x13d65171	0x00a2ce44	0x06d87d03
+	0x6ee7639d	0x9613e4c5	0xa93b5e85	0x100d6a2e
+	0xa131e34a	0x1adf9840	0xc6654177	0x2f07a13f
+	0xb7ef41e7	0x2230a4f3	0x810d8b9e	0x73851a6c
+	0x05624fcd	0x9bd58867	0x628e8263	0x48c59a8a
+	0x52758d7c	0x06f156ac	0xebd23187	0xec5a26b4
+	0x66ee70a7	0xe6ef0cae	0xfe2d03ff	0x90d11944
+	0x042622dc	0x285c0075	0xd4765aab	0x4bb300b3
+	0x7138d3b8	0x40ad4f50	0x98095640	0x133645d5
+	0x9ccf9b91	0x263756ce	0xf88d9aa2	0x18022ea0
+	0x9fe4cd01	0xdb2dd0ae	0x43fea9ad	0x3e420109
+	0xf4d75e7b	0x3a350693	0xba2af5ea	0x65ab5787
+	0xf170d42b	0x3186e0b6	0x02003a01	0xf606588d
+	0x0fa8746a	0x31c76bde	0x61dac6c8	0x2f8741e9
+	0x10204434	0xef31c0bc	0x37862053	0x16f3aff9
+	0xbdc93959	0x06113d52	0x05647a65	0x154ea551
+	0xdb8c097c	0xa8a23927	0xeb4cd475	0x8ef48ef5
+	0x7b8896c9	0xa9911410	0xdd9376f9	0x14a2c712
+	0x8ee98697	0x00435529	0x96f1929d	0xf965796c
+	0x868df4b5	0xa9a9949f	0xbaa8e792	0x8cec9579
+	0xa2546f3a	0xd324b50c	0x76a77cbd	0x8e324208
+	0xe4b0577e	0x9a10e51f	0x84746ea0	0xb90a795a
+	0xc2664e9d	0xb5b5ecde	0x0e25e165	0x550ddc30
+	0x2c60d566	0xd65327da	0x52ee1c96	0x5c99b4aa
+	0x90582271	0x1beb1ef2	0x76c95767	0xfea6fe91
+	0x446c8801	0x3e028055	0x4867364d	0xe4aeb591
+	0x1c19ac36	0xc69a5dc0	0x9b611e0c	0x332c3288
+	0x200a1cfb	0x0ebbb255	0xa5f61529	0x350c8644
+	0xedccefa3	0x4385fb5c	0xba009b5c	0xa5de8f29
+	0x70988978	0xd67053e2	0x6124b992	0x30499dc0
+	0xef642b9d	0x8828a259	0x4edca94e	0xebbc2986
+	0x37977b75	0x3501bc3c	0xbdd23c96	0x4bed7e8d
+	0x2e80a7b4	0xe6cc07e5	0x15099be4	0x394497dd
+	0x4e534eab	0x9afb903d	0x09036115	0x0a1d7a1c
+	0xb5e0a5fe	0xf12ff4de	0xb22f3c00	0x0513ceba
+	0x8b148c80	0x4ea14c55	0x2fc18fae	0x15a0e676
+	0x1f408a3b	0x9678064a	0x350ec108	0x36f652c9
+	0x9220195f	0xbe718685	0xe792afa6	0x259c3b51
+	0xad820d8c	0xf9caf47d	0x32e5ff95	0x00e6f06e
+	0xe81f1a95	0xa5f97ad7	0x350b2e6f	0x4838b3b6
+	0xdaa037a4	0x6ce2194d	0x2b076b6f	0x27e7eee9
+	0xb781298a	0x9990ae04	0x4a4f4708	0xeb7ce242
+	0x2ab8ad07	0x52d044a2	0xac8d193e	0x6d791816
+	0xad7c794b	0x44d78639	0x91b5162e	0x57aaa1ca
+	0x5e6ff7fa	0x3873ad1f	0x41328c73	0x7d3c66dd
+	0x4cd194c7	0x4557bc1e	0x27dac112	0xb617bd0f
+	0xa24eaac4	0x069d5819	0x4e21ebd1	0x8f2a90c1
+	0xe0b28919	0xfa11d5cc	0x66b0fd7f	0x6db8dd9c
+	0xb747bfa8	0x43a3b201	0x0fade0a2	0x2d0116ba
+	0x253f9ab7	0x6ae02746	0x01b7192c	0xccdeee30
+	0xf3cf3221	0x5a983db0	0x97990f27	0x1438f1d6
+	0xef7f94d0	0x2c393d1e	0x66c502c7	0x471fc8bc
+	0xe3267158	0xb5582cd1	0xae56aeb2	0x54c43f93
+	0x846297eb	0x58b6ad13	0x1df7d00b	0x8b1b5524
+	0x01bf5010	0x93b77b5b	0xcce61136	0xe2793e61
+	0xe673bc9f	0xdf16f114	0x79a1b96b	0x8c03a05e
+	0x5c176d75	0xf75ea263	0xe3d750d5	0xce53b6b3
+	0xd92e7564	0x000a1ad1	0x96f88a71	0xbd820682
+	0x29c17ea2	0x4b36c1e0	0x21329442	0x248d464f
+	0xc4c38dca	0x1e8f055e	0x9e599834	0x1004a6eb
+	0xadb8b9f7	0xb9cf7630	0x913afa99	0xe0977242
+	0x230eedf2	0xd126d72e	0x00d1fe3d	0x033acebf
+	0xe416523f	0x1e9b5e6e	0xfdb78e69	0x9fff4953
+	0x570b41c5	0xd2e47e82	0x22233676	0xb89da5b0
+	0x9742b8b7	0x8d33deb3	0x07157406	0xc5114ab3
+	0x787f2e65	0xad24323c	0x23f2911f	0x37c589b3
+	0x793411f9	0x4d0356a5	0xc6cca656	0x3e4dd7f5
+	0x8c2df38b	0x0b758f7d	0xd218e47d	0x39c1c194
+	0xdb0e18fd	0x19a1518d	0xffaf2297	0x99f30028
+	0x67951418	0x90b6f209	0xd5a711ad	0x4aadf909
+	0x21e9e1ac	0x9f85f773	0xd76d159a	0x24994f98
+	0x4c194536	0xdd86aaff	0xd0f74edc	0x741c554b
+	0xc25a7fb0	0x8a4a4292	0xb133d05f	0x2b33fd66
+	0x03cc58ec	0x09e15000	0x9f720886	0xfd131f33
+	0x67f4b431	0x4bee4aec	0xadbbeccf	0x4d678c46
+	0x42c9c72f	0x2b73e922	0x3faec5a7	0x0138b3e3
+	0x443193de	0xf0b949ed	0xf283cb89	0x22b28882
+	0xa29dcebb	0x8c0d1c73	0xc3daea22	0xf50acb6a
+	0x67b06286	0x33094641	0x9e8fbe70	0xfc052237
+	0xc538eea7	0x525cf5a7	0x1efe9ab9	0x8c21b545
+	0xc9c0088d	0xbbdd52b2	0xbfc15c89	0xee8cf0f9
+	0xc2916f7f	0x0a442773	0x1f067f1d	0xd54fca53
+	0x1eecf171	0xfb4fa5ba	0x276f45a7	0x7510c282
+	0x64cfb998	0xbd969384	0x264db253	0xdcd7ed53
+	0x163a2bc2	0x6bd6bfcd	0x43735319	0x2228a09f
+	0x7f4d28ab	0x8fd9e6d8	0xc18753ac	0xdf0df0b7
+	0x6840ca57	0x17edb14e	0x8d2517c1	0xa7cd3870
+	0x65940658	0x382b14f4	0xfb9ea817	0x817f16bf
+	0x0c25f424	0x848ed419	0x4b7e7167	0xcebc30f1
+	0x98f7bf89	0xc224284e	0xa99c99cb	0xb8b90159
+	0xdbe97c71	0xadebf568	0x15b1a7c5	0xcb7c3642
+	0x44c47cdd	0xc6c7b478	0x018ff834	0xbaa64b64
+	0xdc0e482d	0xedbcb019	0x23589e7f	0x7166836d
+	0xba733222	0x9d7ef1dc	0xf1d4ea52	0xbe21fa73
+	0x41f00e61	0x8dd0fcf7	0x9ae06374	0xfa21c5cc
+	0x6ba9148b	0x3ffee3f5	0x896c451d	0x1fe6b43f
+	0x632ca681	0xa795b698	0xeeb0d107	0x9ff78e0f
+	0x72971a84	0xbe663043	0xb001eb08	0x24e917a0
+	0x7bdaf512	0xb40cd0e0	0x59ed30e6	0x2f635261
+	0xcf762a6c	0xcf781328	0x08c7627e	0xd6e14cc1
+	0xc03aa675	0xa376a246	0xaae23178	0x95f70090
+	0xedf90ba0	0x8cda6565	0x2e6261be	0x5d4946a1
+	0x60153db2	0xb54657ce	0x5d49d847	0x458449f8
+	0xdc7c3328	0x561e2cbd	0xbad5cf83	0x8e99e7ff
+	0x69008abd	0x84414ea3	0x63506a20	0xc524448d
+	0xc276be82	0x6f0f31d8	0xd9c611b5	0xa127120a
+	0x7f88a013	0xebd4f643	0x633a626c	0x35379824
+	0x5f962a57	0x8a668612	0x3d246d96	0x95b47fe8
+	0x546cded4	0xa9c6e986	0xe80774ef	0x78c678a5
+	0x7275593f	0x111eb13a	0xf1a89c2e	0x5886db2c
+	0x3af60fe7	0xa307a283	0x54ec2412	0xacad4002
+	0x3690a492	0x4d670a97	0x1df719f8	0xd53736a4
+	0x1ce1985d	0x0be32571	0xf50f4774	0xc8db8b5d
+	0x37ff1298	0xeb95a35a	0x27ae0b93	0xb74430b3
+	0xe8df4d1a	0x3bae1697	0xb69cc560	0x3a7d46ad
+	0xf1a03663	0x98cd1809	0xc5c138c2	0xea8bf120
+	0x5d238c1d	0x871bd60f	0x7cdb6d30	0xf744fa50
+	0x90973d60	0xe8fed7dc	0x9081b4db	0x7ab73dfc
+	0xae12622f	0x80430feb	0x7ac39c71	0x7a345a34
+	0x672b0550	0x15fd64c9	0x5b9dbbe1	0xc2334a32
+	0x8f0d1dbf	0x1cc62305	0x99a6a3ac	0xd24c1124
+	0xc3f6c035	0x5ed2e9bc	0x82d59437	0x4f00d4b1
+	0x146886da	0x5c21fbdd	0xa07f5135	0x1f018efd
+	0xbd680c54	0xf02713b2	0xec5ef134	0x1bde8262
+	0x2d2444d7	0xf9131281	0xa947d0a1	0xf4129df6
+	0x89c35065	0x0c3d5ad1	0x60e696b8	0x0fc55db4
+	0xdc758cd5	0x82a84515	0x814c1b5f	0x7498d93d
+	0xfb3c4409	0xb832cd16	0xac239a91	0x49064edf
+	0x59fc8e3b	0x0324c18d	0x30a36f75	0x9ef23737
+	0xae3b6b8c	0x6896faaa	0x4cd93534	0xc8920a2f
+	0x3fed0f6d	0x8e8d2da2	0xfeee93b0	0xffd4834b
+	0x0b88a1b7	0x9aea4e4c	0xdf7b41e0	0xc9f35c19
+	0xb3dae0c8	0x340c0982	0xf4070909	0x4664b23b
+	0xd6734d91	0x9be09b71	0xc2a8e1a1	0xab15460e
+	0xfc5bc1ab	0xcf95f3d8	0x09a83b2d	0xfe81cbd8
+	0x0c06d827	0x0a8bb0c4	0xb1f0552b	0xde60c26c
+	0x3abf0a63	0xca2afce7	0xaa11d850	0x28d866d8
+	0x6d8a0e80	0x7bcc5705	0xadca3aa8	0x06a26ae3
+	0xb1477649	0x7328d96f	0x7d483848	0x53082689
+	0x7c0e5568	0xb49decdd	0x851de7e9	0xba15c25e
+	0x0b9f0e30	0x465e4921	0x8152ab4f	0xe62880c4
+	0xc3b6b869	0x1acda063	0x45733b33	0x4b40b8e9
+	0x58f506d2	0x6e8be867	0xeef7fb60	0xb7ed8306
+	0x30b4a0d1	0x0a3c07c4	0x91e3abf6	0x118fde6b
+	0x20ed11f0	0x2978d6d2	0x6ab8dc87	0x16ab61ba
+	0x556cf833	0xb2f5c1c0	0xe87dd9c8	0xb015c2f7
+	0x1dc9ef29	0xd9f171fc	0xc9f5e442	0xb6912d66
+	0xaf6dd636	0xf8582905	0x0faae085	0xc87d4004
+	0xfa94e438	0xc2f1880b	0x154c7079	0x3e27171d
+	0xfc248d10	0x1b595188	0xe415add8	0x4315d693
+	0x724ebc18	0x2dfc4a77	0xded78c2d	0x570e4ddc
+	0xd88a1c25	0xb11a0496	0x2ac230ba	0x864e053c
+	0x3c376fc8	0x5afbe1ac	0xe0ccd689	0xaa9264bc
+	0xd966fbb0	0xa1a4bb29	0xc6e9748a	0xcec607d1
+	0xffa72d3b	0x5b61b779	0x18d55e21	0xf5a5e9ac
+	0x13895dac	0x0c01e53a	0xcefe8daa	0xece628fa
+	0xb2020ce1	0x895cd83c	0xe32d1283	0xfb192758
+	0xa57d64e6	0x78ad9183	0x3ce3220e	0x6ee76140
+	0xfd84b385	0x6016b54d	0xdfa35264	0x4cbdb8dc
+	0x349fe6c1	0xf5fd349b	0x3feaa7f0	0x6a00146f
+	0x69790627	0x19dba070	0x2e5ac7f2	0x44dc51d9
+	0x0dc9964d	0xd1c8a3bf	0xbcb213e9	0x62708b00
+	0x67c6e855	0x2fc3c32a	0x0ec04e0a	0x5053f5a8
+	0x6f8411e6	0xb399d84e	0xaa5ae55b	0x05bbd2f0
+	0x02b4d130	0xe88178bc	0xf2e68c0f	0x4aabdf1a
+	0xb683e6a9	0x775ba61c	0x36633c31	0x67ec74b7
+	0xf093c02e	0xc45f244e	0x46476822	0x4250586a
+	0x516fabf7	0xb6377c04	0x5f278798	0xa1068782
+	0xa55916d5	0xc4ad5f97	0x60a5e69b	0x98119ce5
+	0x76fc3f59	0xf8e46ee4	0xaa28a397	0xfc325000
+	0xa70f3091	0xa5ca51d7	0xd69bbab5	0x20c64fcd
+	0x2b378365	0x80c58577	0xc0962ec2	0x48b0fb39
+	0x054e046b	0xcde8e446	0x566f37f3	0x936fd623
+	0xf18c729c	0x09220d87	0x929fb871	0x7a6c4db6
+	0x62620ed2	0x5f9ce765	0x0d0c5d2a	0x6260a50e
+	0xe7399a16	0x6357e512	0x6b781814	0x5d4d4a63
+	0xf94b0172	0xa77bf890	0xaae5e81b	0xc1ebe8d6
+	0xb4874555	0xe4263fb3	0x22030975	0xa50d2c79
+	0x4faa81ed	0x81777d4e	0x9f7fbe6f	0x7448bbc3
+	0x42ea31f4	0xc8c26fa3	0x6701902d	0xf2f286a4
+	0x2040990c	0xe2058471	0xd58263fa	0xde37591d
+	0x2870ca90	0x56881bea	0x09052b3c	0xd8de66f8
+	0x3a8f1e47	0x9ca9676a	0xa6767532	0x5f3dfae8
+	0x17f7a245	0x93bcffb1	0x192d9a5b	0x07f0c3d7
+	0x9fca4550	0x7b97103c	0x1e7f070a	0xee31d420
+	0x88f4fc4c	0x18df3074	0x4840065c	0x70801f9b
+	0xf0d6f2bb	0x51995f3c	0xe2486bad	0xccc10902
+	0xe6c9e135	0xa8224250	0x7f55294c	0x001884e7
+	0xd6010027	0x572d3941	0x51eb6de5	0x3d25faf3
+	0xcc1f170c	0xeb25e5a2	0xd8d10187	0xd91cc741
+	0x63f5f7cf	0x241e556b	0x5875f757	0x2a86f545
+	0x778ff93a	0x6643fbe3	0xdf07a6f8	0x3e11e40a
+	0xd93c6e6b	0xe329e272	0x3f874626	0xdfe61dd8
+	0x7fe956e7	0xde945710	0x0af24d62	0xb6554577
+	0x7d874ee0	0x6c0cdf4d	0x9c0d53af	0x5b053be7
+	0xa0c4529d	0xb6fed9d0	0xc01a138f	0x67c644b8
+	0x57aa439e	0x0035775c	0xc9f8a8e2	0x35975f57
+	0x14a11132	0xf0ed9e83	0x9c02cdce	0xefd3c079
+	0xd740ccb1	0x6aa5e5a1	0xf4645565	0x0bfa46ef
+	0x3a17a81e	0x5ffa56a0	0x94fdaf5d	0xa8e7afb2
+	0xe5b7c2b9	0xcf6d846d	0x8655fecb	0xd4e8e697
+	0x42e0b2d7	0xd96d8078	0xe7683d61	0xe00f6e63
+	0x3ce9e37e	0xcc570a3e	0xca16e27d	0x56fe882d
+	0x0e8b75fa	0x5b543aa0	0xa4ee347a	0x436fdd0d
+	0xd10f01d0	0x996cbae9	0x1242e354	0xe6af0ffd
+	0x8dee4a7b	0xd7b8c02a	0x1b600476	0xe3b9848e
+	0x9f8638ee	0xbc6411fd	0xd2abe239	0xa911b870
+	0xd25d8edd	0x9dac4009	0x415262ca	0x8086ac62
+	0xeeaf0402	0x93ad90e4	0xa4b907ea	0xd82fa99a
+	0xa3be7fc5	0xf3008912	0xa14a7be3	0x7f18097a
+	0x98011536	0xfb6f5aaa	0x353b0592	0xb0099fd7
+	0x7ce6ebaf	0x0a5d50ca	0x0e5170ad	0x55b9b7c4
+	0x7647e14f	0x1c53ec4e	0x0f649237	0xf4c8a704
+	0x0cb77104	0xa93b3965	0x1e0d4e4e	0x3f4c655f
+	0xbbc12d00	0xebaf8942	0xd3a7d859	0xbd9c5ed7
+	0x5dd26423	0xedaa0468	0x43ab3093	0xb1a592f2
+	0x6376fbdd	0x0c09822b	0xee093680	0x9344f19d
+	0x886f3fdf	0x156b18ef	0x0a68374a	0x9235b0bd
+	0xc1b73296	0x23346073	0x95b1c61f	0x315ad69f
+	0xe511947b	0xbbbffba3	0xd7bc8761	0xe391da80
+	0xfd6b5f18	0x8e701be6	0xfd0e9497	0xd1dd69f3
+	0x11162d48	0x7e42681f	0x3dc8f5c8	0xcfed2aad
+	0xe398244c	0x72877aaf	0xad97fbad	0x9460384b
+	0xef192c6b	0x475b0941	0xa71eaf40	0x126ac591
+	0x6c09e2f2	0x70c1f80d	0x0a1e37e4	0x47e318d9
+	0x2dcc4467	0x0dc45110	0x3790f0d6	0x9eec3632
+	0xa1c9d51d	0x929233b3	0x70036b1c	0x3314c529
+	0xc50b5feb	0x49a1c810	0x4390f561	0xaa2536e1
+	0x3afa43ab	0x6d099434	0x1ba2d09b	0xcffb902d
+	0x86a25119	0xcbbbc618	0x0416cc6a	0xde1e3001
+	0x4fe993ca	0xd74274a7	0x287ba439	0x1ee5e5c4
+	0x410c3fa2	0x10e7893f	0x6007874b	0xa7540560
+	0x6d9b1a86	0xb9bfb618	0x8f68bc50	0xf96b9da7
+	0x3c73bdfc	0xef2a83f8	0x616edf09	0xfb2160c1
+	0xa27a35de	0x71287947	0x17722ae0	0xc670a323
+	0xb96c4cbf	0xd2361a92	0xbd0c3913	0xb1315762
+	0x4f462140	0x6b7a3473	0xb4cf5725	0xa9159313
+	0x0ffec555	0xa8dc36c3	0xd3b855ce	0xd21e9b35
+	0x83404c24	0x980a8108	0x92aa9331	0x8f46cd7b
+	0x71a4fe47	0xdb707645	0xf6e61196	0xdd292a49
+	0x0102d727	0xbf0885ae	0xd2731f27	0x1474503a
+	0x393bb25e	0x3935f820	0xe27f70e1	0x863b68f4
+	0x1f6a1476	0x0ca52e45	0xdf5c0782	0xcf837ef6
+	0xb39f8ba5	0x983c4c86	0x2fd37a76	0x80cfbbd3
+	0x1372c7e0	0x3fbf087f	0x9c6cb8dc	0x17c43488
+	0x7957e195	0x929ccea9	0xf1e821bc	0x8b3f7506
+	0x7046f2e7	0x4559cfea	0x853ba7b1	0xca19b920
+	0xa6b2f987	0x41c7711f	0xbcf81c0c	0xcbb42d22
+	0xaf132f3a	0xb8f46a2e	0x53a390d8	0x717b172b
+	0x0582849e	0xe71702cc	0x2aebdc71	0x03b0208d
+	0x887bbfab	0x7797e8d1	0x76bfe070	0x7550a939
+	0xc33376f9	0x7cb173f6	0x931a578f	0x99960aa9
+	0x758ff5be	0xc58beee1	0x63777d94	0x1220dc29
+	0x4da97584	0x6c8d686c	0x40d46332	0x043f78ef
+	0x7d602ee8	0x348fe2e2	0x8a3e167d	0xa5f2435c
+	0xa9d1c73b	0x301363dd	0x07578742	0xc997b680
+	0xb000c89b	0x981a8a9c	0x6567829d	0x4b9750e8
+	0x27634808	0x811b5d35	0x5519c0ec	0xad00c70f
+	0x417c2317	0xc8782d93	0xc9accc54	0xd867de4a
+	0x6b9a83f6	0xfaf1546a	0xfc49986a	0x9c5c038b
+	0x327cc0cf	0xd1290d48	0x3077ea8f	0xd4949041
+	0x873bcbb3	0x7e9016e6	0x8a84424c	0x1b88c983
+	0x3dfa44fb	0x8eaa7f32	0x05f5aabb	0xffe970cc
+	0x7aa14ac9	0x666ab28a	0x4baafbcb	0x0642f672
+	0x1e8bc896	0x7b8128ba	0x1be68a85	0x2696df42
+	0xe8cf0ea2	0x8298c7b4	0x3425a85b	0xce460218
+	0xcb65ea8d	0xc6200c9a	0x01a1672a	0xfd49e891
+	0x18fcdb44	0xca73729b	0x4056a413	0x16dc8bd5
+	0x87be0bf8	0xe3106ab4	0xe5319b2f	0x930a1b26
+	0x254804a5	0x4088ac10	0x8581aed8	0xe40f6bad
+	0xb9ead8aa	0xa7abeaff	0x500785e0	0x2c707afa
+	0xa561968e	0x378866bd	0x55a67cf4	0xfaa68c33
+	0x82055d2a	0xb4481f33	0x326b5fa7	0x1db474bc
+	0xae894f21	0xdecdfafd	0xf9411b19	0x9a8947a6
+	0x0c6baf46	0x215aba04	0xc2b175d5	0xf67300dc
+	0x7f421ff4	0xfac75b42	0x101ff909	0xd57ad5b9
+	0x7278981f	0x58065ac0	0x895e14e8	0x7896dc2f
+	0x3ad7ce32	0x78fba2ff	0xa2d72bed	0xabec76be
+	0x00fea962	0xdcc0c142	0x0804f109	0x978331d8
+	0x8ac9bca6	0x590373c5	0x9a1e5701	0xbf14e8bd
+	0xb7a7c018	0xa1f899cd	0x39aa72ba	0x115eae69
+	0xa68d971c	0xd8bbd9c0	0x558288f8	0x5d23047c
+	0x90a17c2d	0x865b74c0	0xf4002788	0xbbc54132
+	0x8067d761	0x35e99e73	0xa54e4f96	0xfed8426a
+	0x4fd78d1c	0x30d474e0	0x8a568169	0x1ee9566c
+	0x7e029e9e	0xc2a01e4e	0x2d7c4cad	0x6d7ed9f1
+	0x52c8f409	0xb294db7e	0x6786422a	0x1c72d1c6
+	0x9d0eeef7	0x550189b7	0xf40e3406	0x433c7dc1
+	0x01d9e35d	0x5481f069	0xe74f8018	0x48838c41
+	0x3e9957c6	0xa8503414	0xf6956426	0x94b7ae28
+	0xd2fec0d4	0x369fa1d3	0x3bece7fe	0x2fc55ff1
+	0x8e778511	0xaf6f26d1	0x1793d266	0x10855993
+	0xcfd10bd8	0xc42cebc7	0x8a823d22	0x0edc6d62
+	0xdee868ef	0x75ee74eb	0x16ebd54e	0xc607e8ee
+	0x7c279bb6	0xf4834322	0x9f788766	0x0e826e3b
+	0x943cd7f7	0x0903d01c	0x6ddb7cd4	0x4f39e33f
+	0xc893b860	0x79839901	0x77d1cdec	0x9be4a741
+	0x9cd9e1b0	0xe5a560ba	0x23123fbd	0xe116354d
+	0x65f7a549	0xfed35af4	0x4696626f	0xb5308a11
+	0x99b6681a	0xb062578e	0x7692e3ba	0x9ffc6640
+	0x6c77099f	0x2bbd6944	0x540b15c4	0xb87a5b81
+	0x403854b9	0xa1ff1832	0x5c0d39ef	0xb0c2f3cb
+	0xc88e7a47	0xc9d3a08f	0x0602ad28	0xed10a525
+	0xf1bc7158	0x74fc3b5a	0xd27e2488	0x7d10527c
+	0xe6564780	0xb047d1ab	0xeb3d26c0	0x8caf9cb8
+	0xb4400f3b	0xa183efd2	0xe1fc540b	0xc7951df4
+	0x6f4652e0	0x2cf8f3f9	0xe4b1135a	0x83c0e6b8
+	0xa908b003	0x60ebf691	0x9a4e7b21	0x3ee9660d
+	0xc9a0e97b	0x0a8dafe0	0x694c2d14	0xd118c90f
+	0xc652e0cc	0x1eecbb3d	0x7722833a	0xba6ab804
+	0xd8bcb08d	0x7631e04c	0x606ed699	0xe430a0ca
+	0x4cd5344f	0x460ade64	0x365954dd	0x48a94382
+	0x2ef6b381	0x307026f0	0xfccbbaba	0xa1cb149b
+	0xcfaca235	0x7573cf3f	0x59e30226	0xc34754de
+	0x4836647c	0x234f6b6e	0x296623b9	0x39f9fad5
+	0x30fb6818	0x37f0caa4	0xa611329b	0xa305e080
+	0x52518c08	0xd4cf686a	0xf9443a8a	0x2f2c6edc
+	0xd7c6da54	0x508dad11	0x34c97df1	0xc9e112b5
+	0xa4c55bf8	0xfde85123	0xec1995ad	0x4b159772
+	0xcdb9a9e3	0x00e59bd6	0x949ff262	0x6870ea55
+	0x53e01298	0x7f1af410	0xd612c321	0x50890531
+	0xabdffeb4	0xe90e3a7d	0xb0a21b46	0xd8a4381f
+	0x05efac53	0x7828ab6d	0x97ea883c	0x9b1791f9
+	0x916c1312	0xe9a6a482	0xce2354f8	0x3f88ac00
+	0x627f11b7	0x5146f6ca	0x076619ef	0xd12a9579
+	0xb6bae5a3	0xbe467c99	0x373377c4	0x9f603c7e
+	0xf94fa407	0xef84def6	0xe212c11f	0x5b367294
+	0xf1b4d822	0xd41ffd05	0x796b994d	0xfdac8700
+	0xaa9f21a7	0xaa29bd36	0x27f6a0c9	0xe3c24d00
+	0x01457132	0xd365542f	0xabc67f64	0x22be8484
+	0x96996a6f	0x491d1511	0x46119041	0xe4661409
+	0xece6fea4	0xd8cc7bdc	0x1ebd7316	0x196342a9
+	0x9a4b639a	0x2a3d4a91	0x40ed9b55	0x0f1b6e64
+	0x1d87f823	0x0a39b16b	0xdadb12fe	0x17681fce
+	0x9bc6d11a	0xd16b2739	0x140ae9b4	0xf7113bf8
+	0xa46d1e3d	0x30fcad8a	0x74a51593	0xce47d530
+	0x36147ece	0x9cc3d588	0x65cf29e8	0x0f53d6d3
+	0x0e395cc9	0x95761b1b	0xb9d2459a	0xb731a236
+	0x0c2e674a	0x7122028a	0xd97d5d6b	0xe8bf97d3
+	0x20818d68	0xbfcdedfa	0xfbd356c2	0xf188ed5b
+	0xde98b65d	0xf7cc0cdc	0xa9850a26	0xb72adde4
+	0xfbdc55b6	0x25302654	0x96be612f	0xda23e5c0
+	0x69a73ee1	0x8238db8e	0xa96dcf06	0xac59ea7d
+	0x02c65753	0x4f70b819	0xe776a631	0x069addb7
+	0xf490c4b1	0xf371c06f	0x6ec67932	0xa6330f04
+	0x27cd9f4a	0xd83c1c5a	0xc5694a43	0x325dd140
+	0x447db53c	0x7396f3ff	0xc7880953	0x5c549557
+	0xe2f4b5ce	0xb0e76e9a	0xfc00d782	0x8486f191
+	0xf233b315	0x0a012053	0xecab1590	0x44dbd9a0
+	0xda6fdb6f	0x72fb14d9	0x29a510a1	0x872477ae
+	0xb68c69b3	0x7bc5c5a1	0x65b8eaf2	0xb8df1f74
+	0x763a249f	0xcac51253	0xb1262ba4	0xda0240b7
+	0xbc5d5306	0x8145ffdc	0x18de6fa7	0xbad3d62c
+	0xa4704d64	0x49937584	0xb6e23070	0x1a52daab
+	0xee4d6d3f	0x114316da	0xcfe1f9ed	0x113f059b
+	0x866276a4	0xb44bfd0c	0x9a3814e7	0x94cc5b56
+	0x33d97b0c	0xe039e9e2	0x3a50af65	0x90d0a868
+	0x8b0bef64	0x3bb9ad2f	0x8cd6c272	0x9eb8dc74
+	0x28ef58af	0x7f148173	0x30ae7e14	0x2b195aba
+	0xc06f2611	0x285dc687	0x4e478b83	0x68ba56a2
+	0xc8621a4d	0x677c1ed4	0xea608196	0x56db4818
+	0xeb1a991d	0xe831ce79	0xaf0a73fa	0x824af713
+	0x716c7ff3	0xbada6d94	0x5c527a29	0x0fbcc995
+	0x19e46890	0x98d9ed33	0x7346e056	0x38ef97ca
+	0x61954b61	0xd7f6262a	0x66958560	0x7f819169
+	0xb2b4507d	0xd3195569	0xb65343c6	0x8f41a137
+	0xef451985	0x4c1d64d4	0xc11073b1	0x70fa9ad1
+	0x9267ba0d	0xc81d9c45	0x6d1752d5	0x478c366a
+	0x1012d652	0xee249e82	0x78e6ba3e	0xcb606c77
+	0x183bcc85	0x981591eb	0x688dd24b	0x39c0dc8f
+	0x18490bd2	0x2988f05c	0x0198a8a4	0xb726e7db
+	0xb8b22960	0x5a98d5f5	0xdc573a70	0x0c067bd0
+	0x14158bcf	0x0758e6aa	0x9540ff4b	0xe04d6072
+	0x0a60b4f6	0x2e854f09	0xa661a639	0x7603ee18
+	0x482ba591	0x5fd484d5	0xc7ac02b8	0x451e0fd6
+	0x9f2664ab	0xddc1292b	0x983e51ee	0x083845eb
+	0x58cba0cc	0xbcc0839f	0x95d80521	0x4ec6ecb8
+	0x131f7f90	0xc80028a8	0x522e2f62	0x7913cdb7
+	0xa0aedbe1	0x689ac9f0	0x1d18af9e	0x191a35a2
+	0xeaad470b	0x31b9f01c	0x9876b1ea	0x3dcd966a
+	0xb60c1c25	0x00e65e53	0x7d937058	0x2e364755
+	0xbb51ade9	0x8fc87b67	0x97201168	0x74f62b85
+	0x6b5535a0	0xb2fd7002	0x16d7259b	0x415845c7
+	0x9ff14fa1	0xd1bc7f94	0x229902a4	0x6529a970
+	0x8a8a5ad0	0xff260d37	0x6ef8b883	0x05909698
+	0xa26166d4	0x2c80f99b	0x21dff93f	0x18d3a4b0
+	0x2a22f2fa	0x450d310a	0xbc680337	0x3a894074
+	0x4ab8f0c7	0x35f0ec7f	0x1e700765	0xc9b45e45
+	0xc5e5cd92	0xb9bf35fb	0x2c1283a5	0xbc17d662
+	0x36be245d	0x312c7793	0x173a40f0	0x2716b170
+	0x18c94462	0x12cd09e3	0x1bbc3e56	0xbc2d8db1
+	0x4f5c1910	0x5b03a6ea	0x4adbdfa6	0xf6510e03
+	0xcffa5b3f	0x32f1dfeb	0x5151fca8	0xaa899aa6
+	0x095163c7	0x034a2dc6	0x119ccc45	0x5089ba30
+	0x8f605161	0xfca7b679	0x0b0d3cfc	0x17667004
+	0x5991b404	0x168f0961	0xea0a6032	0x80a6e02d
+	0x518dd20a	0xa33fba9a	0xb448524b	0xde77f2cb
+	0xf0bb2fed	0x2e344125	0x8cd3bbd6	0x4be001c4
+	0xd59940a8	0xd75b88ab	0xebc55155	0xe15a63eb
+	0xb25b3baf	0x2a503a20	0x1cc7b5b6	0xf4781bda
+	0x8fa6c80b	0xfe9bc60e	0xbbc20a81	0x34fc30e3
+	0xc160951b	0xfedb32ec	0x6226dea7	0x394b55bf
+	0x6ef58d68	0xda88652e	0x3dd7e95a	0x53eb3784
+	0x023e6f7e	0xcf3fce9f	0x788d1782	0xc9cf4764
+	0xec4fbd7d	0xba5ed578	0x3db7b6c5	0x4f9a2913
+	0x692b39f8	0xe19fba7f	0x1e4635ae	0xb96750f3
+	0xdff7f86c	0x266e0859	0x6fe19f49	0xf03c8d64
+	0x411b1e7d	0xaf2d0738	0x949c2d8c	0x64dd3e1b
+	0x88f857f1	0x7cd7d82f	0xabf654f3	0x7b08709f
+	0x4d667d83	0x0dcf9a64	0xe9510ab9	0x1cac7a7f
+	0x9ba52176	0x4b116870	0x653c69c9	0x4b04c2ba
+	0xc264a49c	0x2a2d17fe	0xbf793418	0x9c43ebc0
+	0xcbb51084	0xbe23359c	0x969bbda2	0xe8f18626
+	0x9496cb51	0x49e4e3f3	0xf2a0e552	0x85f73f27
+	0x2d73397a	0x67a9790c	0x30b56dd6	0x3d3c4339
+	0xde7d3b49	0x35df9146	0xad463797	0x24ff300e
+	0x70eabbad	0xec91b2d2	0x3edbddf9	0xc7d1ec6c
+	0xdfd36d9f	0x0ef9f5d6	0x2c93a79c	0x0881c5ed
+	0x1f917edf	0x83c9e7f3	0x7fe3a8cc	0x63ea6979
+	0xeb2592c0	0xe34ea996	0xacfe886a	0x9841349e
+	0x72d33942	0x3d7994d0	0xefb87989	0x5e919048
+	0x117bf886	0x78c4bd90	0x2518dd07	0xa9f4ba8f
+	0x824c7761	0x715e2b8f	0xabc1d28f	0xe8d11551
+	0xa0ebfcf5	0xc4e8e475	0x4aedaf53	0x3eba506f
+	0x9efbd03f	0x65930a1b	0x54162482	0x13bc5795
+	0xf07d4219	0xbe96bb9c	0x3b0652a8	0xff9bc37a
+	0xceb3361b	0x45ef9496	0x0d679c2e	0x54b90bf9
+	0xe1e6f7ed	0x399fca25	0xa1edcc32	0x69da91ef
+	0xfbb0519f	0xf939a80d	0x5b4418e5	0xb87c864f
+	0x71f29282	0x8af506d5	0x0f6a1769	0x7a453a63
+	0x2a1a4d28	0xe3af59c5	0xc343e93c	0xbe190abe
+	0xda0cec62	0xf562b05d	0x1c9f969d	0xada2b4f8
+	0x9f9d639f	0x0ca15660	0xd600753a	0xf10bdcbd
+	0xe8d94653	0x27607854	0x0ec38c17	0xa2fcb299
+	0x7bda5fdb	0xfda12488	0xa51d5737	0x61e276dd
+	0xb203a049	0xa2253af6	0xed6a68c0	0x347fe408
+	0x6c889e60	0x91537e12	0xd6b090ac	0x5241ec82
+	0x46b47a47	0x22ba24cc	0xd390918c	0x57b7f9b3
+	0xb28c2647	0xb0884c10	0xf9442a57	0xed297050
+	0xc25a169a	0x29f969c0	0xc8e6e374	0xbe45f5be
+	0x8254008a	0x03d600f2	0xe20b0159	0xdcf69252
+	0x04a2f075	0x64cc0458	0x2a5d1e2e	0xa756d276
+	0x45038103	0xa6946d8a	0x72471fc4	0xc32219ad
+	0x123e790c	0x889ca543	0x274f179e	0x30a6dd69
+	0xc3436de5	0x5ee6c85a	0xc98bb4dc	0xc7a1640a
+	0x6d480d57	0x89ace207	0x0022e802	0x7baa70b4
+	0xc14939cb	0xc82e3e3a	0x5700dd7d	0xae8a85d7
+	0xfac3f05b	0xc660876c	0xa7acbad9	0xe64b9bd5
+	0xa4a3fd88	0x96b5b5db	0x0b2c458a	0x350977b8
+	0xf8ba5d2e	0x5ccf71bc	0x559f6cc3	0xa587703f
+	0x79916dbc	0x1641d1f8	0xd95b6190	0x6b1adf04
+	0x108b4f7d	0x639480d3	0x6e3e9153	0xb558d84f
+	0x39bee031	0xfed4cf3e	0x0f926ee2	0x6f293d71
+	0xadb974d7	0xa4af8308	0x04ebdfd9	0x4d72c486
+	0x7189fc9b	0x88aac2eb	0x8075004f	0xa4cca679
+	0x297683a5	0x404fccff	0xc81fa29e	0x869b42a4
+	0xe6befa09	0x7988f040	0x7726b931	0x6f7ab84a
+	0x65415536	0xff448bec	0xdbc9faa4	0xb8d99cc2
+	0x05c4119e	0x8a71c8b4	0x77dfd31f	0x43965cc1
+	0xf24b4a0e	0x607f9e17	0x1ebb9b1d	0xe0c8f95f
+	0xb6677dc6	0xdc7813e5	0xb72ad65e	0x63aeb087
+	0x2da79eb1	0x4f39c354	0xe28d2d2f	0x0f1e904e
+	0xa84941c0	0x0deabd41	0xff332281	0x1ae46042
+	0x54b90c03	0x77d5a3d7	0x4136b5a9	0x54055050
+	0xbbbcad66	0x01237f9f	0x6796b0bc	0x72d4b550
+	0xea1489e6	0x84127d77	0x685db4f5	0x1b579f48
+	0x1b0cb80c	0x7ddeeae3	0xe1b04653	0x7cb328f6
+	0x8b53c4b3	0x26b38fa6	0xd9ea9db2	0x97d07575
+	0x5325e316	0x3e4865a1	0x7605f5b0	0x2b2c432a
+	0xbf2a4911	0xd3f098da	0x8ec35801	0x972ff2a3
+	0x7498b7ff	0xb347e5da	0x9d319a41	0x68d55b0d
+	0xc38b06c7	0x06236699	0x5b50a289	0xb04b5593
+	0x258220f7	0x52f79ed2	0xfae73314	0xbc146ffd
+	0xc8ff7536	0x4a7bd89b	0x35d7820c	0xc52c327d
+	0xad70c777	0xdc9ab7ee	0xf59059de	0x8a202a38
+	0x841616de	0xb50fbb2b	0x15db36af	0xc6292480
+	0x05d33a0e	0x2b8e0f35	0x270aa710	0x0d450937
+	0x28fd506e	0x5fce3b04	0x0dcae2fe	0xef5e5d20
+	0x7a123a26	0x21787b80	0x83ae38be	0xbb44f0ad
+	0xbfe52dd7	0xbd8cb263	0xf08eee72	0x7d0b5481
+	0xd67b0e59	0xeb83bf7c	0x08f45985	0x6db3d92f
+	0xf7d444d7	0xde90570d	0x376012e5	0x103f6713
+	0x6bbec763	0xa6a53541	0x6ab0e563	0x62c3a5b0
+	0x3729c63e	0x5e5e5255	0x0956e38a	0xcddcce0b
+	0x862029a4	0x43ce75f0	0xde44bba9	0x025a4bc0
+	0xb56373bc	0x801d2752	0x7b8e43c4	0xc1c4f98e
+	0x5b3ced72	0xb12b6d0e	0xf831eea5	0x86fe9cd8
+	0x49e97afd	0xf57778ac	0x6ffb8af2	0x785c4068
+	0x5028671f	0x6e0f7f2f	0x9fbc8287	0xe612d670
+	0xbe06c51c	0x5961a0e4	0x296ab25b	0xe545f4c2
+	0x8d6abeda	0x36236cc9	0xd42f13a9	0x9bfa1f5c
+	0xc3dea740	0xe48a8ecb	0x24f8958e	0x6c47104a
+	0x993a7ab5	0x5968bc52	0x424d7ca6	0xa4bab037
+	0xcc874d2d	0xb8c035ca	0xee9dab38	0xfe6eeb13
+	0xec2e2888	0x6f1a25ac	0x47079ed3	0x64448864
+	0x9c3abce8	0x39554f34	0x4fdc2516	0x62e83b0e
+	0x89ae118b	0x830dbe87	0xd690788c	0xc8cc9080
+	0x3a42ed7e	0x183d66cf	0xbeacb93e	0xc1a7f489
+	0x908a957a	0x3b26b582	0xea796e6c	0x0126ee1c
+	0xcb1ddba7	0xd0abf353	0xb84f703e	0x320ae8ca
+	0x294ef6c7	0xb5392b49	0x14349529	0x77d35a23
+	0x8716cbd3	0x30366d70	0x4111270d	0xb0eab53b
+	0x0af79f25	0xf5055b55	0xf0f405c4	0x1a4b5f3c
+	0x834dc5c4	0x28a6a94d	0x66afc445	0x6b919abd
+	0x879cb288	0x1302d221	0x8506e8cd	0x8ea7f251
+	0xe630b16b	0x7f5ff8bc	0x025613c4	0x8e39dff7
+	0x2f37fcf9	0xdea4d4a7	0x0d142386	0x3474db56
+	0x6e3f8281	0xe85e9b0d	0x35802ead	0x78df0490
+	0x9f07130a	0x1e5ebba4	0xe3c4eb8b	0x53a643fd
+	0x3cacc272	0x9c350f45	0xa9ffc6f0	0x33505268
+	0xbf9cb138	0xe84f5f72	0xa70b5d31	0x270d7255
+	0x9b7d1b27	0xa3ae79cd	0x1a5daca2	0x64d248f1
+	0xfde0526e	0xb6cfab0b	0xcaa5153c	0x8b5bc478
+	0xbbd48c11	0xbce8c336	0xd9927e55	0xfb830699
+	0x959cdc2c	0xf82c8dcb	0x6a0922c0	0xe0d731e2
+	0x4ef480d2	0x6abfcdfa	0xb1fcac91	0xae5d5570
+	0x93fd9108	0xd87be502	0xe66b673a	0xb423f9e0
+	0x50312a00	0x8227fb4f	0x23f8fe77	0x045be66f
+	0x949dfe02	0xd89ad331	0x01f0d93d	0x298b0bbe
+	0x8564e712	0xa8a0c3dc	0x34da9c65	0xd98403da
+	0x63583086	0x5ac590fb	0x388f235c	0xc7090997
+	0x2359701a	0xdab76a4f	0xc501b263	0xb3306224
+	0x77bdedb4	0xa1d5ed6f	0x83158d8c	0x108f24c2
+	0x99bdb36d	0x62c37d36	0xa2ca0ad4	0xe2a7157d
+	0xc1e42c60	0xebc6bd09	0xc64014a5	0x6e54c35b
+	0xff07c3eb	0xe0224076	0x197d14ad	0x15ff9320
+	0x57e80375	0x6dff371d	0x7ef4f618	0x56f3d7ce
+	0xb5f5a648	0xa03a659d	0x228fbe9c	0x90a947df
+	0x64e0c7ea	0xa048640f	0x81286c34	0xcb623e91
+	0xeb3c3fd9	0xdbcfbb16	0x514e3d18	0x8e8949a8
+	0x328a537b	0x78e6bc3e	0x644976d9	0xf594ed10
+	0x9063943c	0x4a326109	0x5d22ca4b	0xa8a18e45
+	0x3b595bfc	0x279941cc	0xaf068b0a	0xc4a187b0
+	0xab6a6326	0xc2de2ee6	0x7818b4bc	0x7152e588
+	0x3510f808	0x5a622603	0xea234cf2	0xdca5bcfe
+	0x83ff3c4b	0xfbc24843	0xf025c9a7	0x57821ade
+	0xfcc774eb	0xafbc2016	0x384cb8b9	0x83af43b8
+	0xb2ebf04e	0x26713404	0x995d1dc2	0x900fa7e7
+	0xa4deb71c	0x975dbf56	0xa48fa012	0x310620df
+	0xc5598e91	0x6f45a7fd	0x5740bd08	0xbcd195d9
+	0x9fc787a5	0x5f7b8497	0xd29dfd42	0xc90ff52d
+	0xf343cdb2	0x1cfef760	0xf6a02280	0x36713753
+	0xc0301693	0x621156a0	0xbe327c2d	0xbe57f87f
+	0x121f3a07	0x4d2ca830	0x1a2ef579	0xe86282bf
+	0x94b32361	0x1bb08daf	0x20fc1ab7	0xc51e1307
+	0xe7c478d2	0x3c745aab	0xb10152e1	0xa9cf7c19
+	0x89855a05	0x5b704936	0xe36c89c4	0xbca1a384
+	0x91e82ff9	0x411b14b2	0x1552702e	0x80c5af7f
+	0x16c3f0e6	0xb7d8c710	0xc5b230cf	0x2de00aa1
+	0x93e5270f	0x329d3ecf	0xe83c3c8b	0x9bd37e80
+	0x13bb17a0	0xae432b8b	0x59b7358a	0xdd84498b
+	0xe9ea3be6	0xf9548f7b	0x43a025f9	0x6f3f3278
+	0xac4994f2	0x29d409f1	0xfa324b13	0xf4bf0104
+	0x4b868bb5	0xeba9cc94	0x74775fa5	0x4fdec109
+	0xce1a1b1d	0x86ab89aa	0x5473e3c5	0x684b1ccb
+	0xf68461ce	0xd006c423	0x097ea953	0x23a61db8
+	0xc8c56849	0x337bc22e	0x78b0916d	0x5f0eb33c
+	0x9a8e2d61	0xb8ab4e25	0x294f3db3	0xb5020fd0
+	0x0f43b95f	0x23076282	0xdfd9f6c3	0xb6b208a5
+	0x7df4b794	0x8d2375c1	0x18e026da	0x4f3522de
+	0x910b4556	0x0cc98fb9	0x68589bd8	0x50bb610e
+	0xf29788c7	0x563b4441	0xe7c4e0d0	0x68dbba01
+	0xeb69f724	0x019944ba	0x9bc51602	0x67ad65ca
+	0x31c651b8	0x3621cdfc	0x27a77d52	0x8a0edd16
+	0x7418e206	0x1430bd7f	0x53759d95	0x460226b3
+	0x30fa67f8	0x44c40861	0x3e22f99e	0x40f3e0d9
+	0x4cc0e0f7	0x03b1a264	0x32e26344	0x4ef8f76e
+	0xdcd4b02d	0x62484f68	0x904d89cc	0xe60e8ea6
+	0x1823d081	0x77c356dd	0x38de841a	0x8f9c3276
+	0xf73f3a7b	0x2c38808c	0x0b18b659	0x7cf5a2cb
+	0x45c3f848	0xa5cd8536	0x9168592f	0xc5a7830b
+	0x31d6e527	0xabfbee52	0xe4f41303	0xb1798316
+	0x624d1b54	0x39acf8ba	0x250c9a4f	0xb1ec2879
+	0xc51f3935	0x7bbe7772	0xde143dfa	0x35f62871
+	0xa1ac9091	0xa9b4fe98	0xdd25a0b9	0x1a49582a
+	0x42abd4d0	0xe68090f2	0x3be4e0c8	0xd7a98dfb
+	0x9415e78c	0x0e2f25b6	0xe2517c54	0x8212fd75
+	0xa1493204	0x57c6c0c0	0xa51c5338	0xa72602af
+	0xe26e502f	0xb5cdc20e	0xd711026b	0x0d4744c2
+	0xa75f1f5c	0x7e98dd5a	0xfeb81356	0x4ff292b6
+	0x52858f48	0xfd5a2f28	0x05c1b427	0xdb5071b2
+	0x4d9aa9e0	0x43e7b11c	0xfcf9da70	0x397ee628
+	0x1325a404	0x869bf482	0x5d4284ab	0xe59039b1
+	0xb2f472b9	0x6cccf2be	0xe5860615	0xe1c20ea6
+	0xc30bffeb	0xf86aab5c	0x446775e4	0xb62213a0
+	0x960f81b7	0x23ad7c64	0x8a22c1a7	0x4af56b4a
+	0x39a5b6fd	0x5f16c382	0xcd54fbfc	0xf4a8047f
+	0x708963c4	0xd1d91e1e	0x635e3948	0x3db3e84f
+	0x9e38efa8	0x59031133	0x79599df8	0x83b7811d
+	0x573a60f5	0x9fce4a92	0xe550dd56	0xa491f069
+	0x7c50dc04	0x38ef5b6a	0xa88ee00a	0x4d021489
+	0xf82d4f13	0xd2e795de	0x80bcbf5c	0x365fd054
+	0xb862cbe0	0x634e92b5	0x1871c57a	0x55b6028c
+	0xd2d70f4e	0xdeccb131	0x7888c633	0xc6486b0a
+	0x67f528de	0xa710f46d	0xa84916f6	0x88188cdb
+	0xbb72ec33	0x6685b1e2	0xafca9c5f	0x4b4ff1df
+	0xb84a26df	0xb5fafa79	0xed525284	0x46d4932f
+	0x69116a8a	0x49b167f4	0xa01ef38c	0xbc85cb0f
+	0x25f77bd4	0x8f8a549d	0x1ca73743	0xf5757669
+	0x2f302bf7	0xf5f89a9a	0x850bbabd	0xd85f2611
+	0x1370b3ef	0x3194d277	0x4e9104f4	0x6c757e5e
+	0x00422879	0xa5bedbd8	0xda29c3cc	0xda0df97f
+	0x4986d231	0xd9a24305	0x35359723	0xe2e2fc93
+	0xdfa20ccf	0xdb202187	0xdd4dd677	0xaec9fa31
+	0xcc5de9d3	0x3d3460d1	0x48814829	0x72bb3ed9
+	0xd33fea2c	0x9dd872b2	0x0878cfce	0x6dc204a3
+	0x1a0dc040	0xfe15f8a1	0xeb165407	0xa9236b28
+	0xbee03665	0xbf6fb1d7	0x4f3e87c4	0xe0c58e45
+	0xa065b3da	0x5708d811	0xc266476c	0x9bf4e0ed
+	0xa009cf43	0x7e1678df	0xdb1cd3bb	0x11a4d5a3
+	0xb3721b58	0x4665e493	0xcf7b5bbe	0xdbdef294
+	0x98d670d4	0xaf774cd6	0x66c1056f	0xa51d6b95
+	0xbee90c56	0x6c2a920b	0x77822353	0x8b20fc95
+	0xb2e9f29d	0x111bbbbd	0xacc7a3cc	0x5bfa6e52
+	0xf548020f	0x306e7ba7	0xc14ede01	0x1a9a20f0
+	0xfeeda674	0x441655fe	0x130b52e1	0x7fe59c0d
+	0xd6e4a90d	0xa4653fa9	0xb4575119	0x64896de5
+	0x475f2780	0xff765b43	0xadeb9ed1	0x989bdcd8
+	0xf44b6c79	0x75549280	0xb093079e	0x9139ab67
+	0xfa370961	0x9f0db1e1	0xb8b7a467	0x640ab754
+	0x0d9e5503	0x23fde51a	0x55234ec4	0xd8174f65
+	0x5665c027	0x43b50f76	0x95306f9d	0x7231c9dd
+	0x30722113	0x19f4294c	0xe82883c6	0xbe15602d
+	0xac3e5845	0x4dbee450	0x9bfcaa49	0x02a5ec77
+	0xbeb8c2db	0x3ecd47a5	0xa4505c0e	0xb57a1dcf
+	0x4e6157c6	0x726e81c4	0x724417a3	0xa845ff42
+	0xd092f15f	0x457acdfd	0x021e4490	0x63d0ab88
+	0xa91a2dc8	0xd4018359	0x37957d6b	0x03916903
+	0xa9d4b39e	0x61ee3040	0xc0973510	0x876fe7c9
+	0xa7829080	0x9f747a29	0xefd1fa92	0x4d4adf60
+	0x96c15b07	0x2fb1a011	0xf0513da2	0x384992e7
+	0x8b0eb4d8	0xa56f7d38	0x9f924e97	0x8f78460f
+	0x7a3ee93f	0xe2831c12	0x3cdb42e8	0xeb44f1f5
+	0x9883ab8c	0x29bc9b34	0xb1f32100	0x27ab14cf
+	0xc13d9735	0xb5084ca4	0x340b41cb	0x94e588a7
+	0xf95c347f	0xd9f09df4	0x1fdf7f5f	0x7a484ecb
+	0x314abdd1	0x5d97adcf	0x8f9b457b	0x72d89c5a
+	0x7ecd4d97	0x3e13b400	0xb4ae4fa2	0x26b28084
+	0xc6b580eb	0xc59f8e20	0xa209204b	0x41486eb4
+	0xdb34330e	0x5a2d83d8	0x9c194f64	0xa331ae66
+	0x65b33445	0xdf5b0598	0x425eb210	0x011686eb
+	0x0aac53d2	0x7de4871d	0x8053f014	0x518266e6
+	0xcfe9855f	0x6c62e9f3	0xda2f8d5f	0x8522507b
+	0x1aac59df	0x93ca496b	0xaf50e69d	0xfd4000d9
+	0x91b4a050	0xdbc05f1a	0x1f16613b	0x365756d0
+	0x314ecad2	0xed4da0c0	0x3f04494f	0x4d0487a5
+	0xfe0b97f6	0x0e5162f4	0xcf57c254	0xf7becd61
+	0xdb0d3617	0xbe713ff9	0xdb9d96b8	0x2b4168cd
+	0xa2ac42b4	0x964cb886	0x150716f7	0xce8348f5
+	0x503f4c5f	0x03a1a8e6	0x6b0e90f0	0x2ea85d46
+	0x8204eee0	0x969c6d74	0x0e5b18ab	0xb683d620
+	0xfc9b44b9	0x729b1784	0x2f843558	0xf183fe38
+	0xe2e99f2b	0xa9ae04e2	0x3a60d35b	0x2d345909
+	0xca2c5694	0x12f45060	0x7028db3f	0x07f99dab
+	0x960585b0	0xe5dbc6e2	0x5b8333c5	0x2b77f77b
+	0xc8e70635	0x3b0d7224	0xaa76a60e	0x543807ba
+	0xbecc8819	0xf70cffc4	0xf0932f38	0x7f999e10
+	0xc88672a1	0xd9b885a9	0x4b613e9c	0x7875a265
+	0x2ac88b77	0x240d3c64	0x3de65ac9	0x03b8ce0b
+	0x1c0a3859	0xec94f5db	0x6ceb845a	0x3e9d648c
+	0x1e6c80f6	0x5ee477de	0x30d37b65	0x697b5489
+	0xe8f84f71	0x3a5aad3b	0xd093bd75	0xf27813a8
+	0xd850c6ce	0x7c699f67	0xb32b5d26	0x4604321b
+	0x51a9024f	0xf817aebd	0xf27aaa31	0x20157d53
+	0x866dbf73	0x72d2f58c	0xd5fae491	0x04cb4f4d
+	0xf2c06b8d	0xbeefec8f	0x274302fc	0xde6e2b68
+	0xee8520fb	0x44fa81f5	0x9e4055d4	0xa3dedb68
+	0x9c40949a	0xcaa4b068	0x2ac6c7bc	0xab627d4a
+	0x415a2c59	0x6e14347c	0x5da07b6d	0x1c1be5de
+	0x8fc0f7af	0xc100947e	0x11db7ee7	0x120c92f4
+	0xcd4f972c	0x590ff1d8	0xbc1e7a7d	0x51697cd8
+	0xe48b3420	0x4ea3a431	0x7dd0c153	0x5391d2d4
+	0xd5c5c82c	0x5967e1ce	0x3d44c2a2	0x80f79d91
+	0xe90d518f	0x2cb4956c	0xd9ed5294	0x5cef41e4
+	0xfadd2823	0x8974a1e9	0xd376fad3	0xb192a385
+	0xe48e2a26	0xc8df7700	0x043c9ec4	0xda39fe0f
+	0xea574fb0	0x7ad30f35	0xe9154ca1	0x474e3d20
+	0x6e6af557	0xfddf5772	0xb96fc3e4	0xa39a3f3b
+	0xfb108495	0xd891364e	0x6f8dceef	0x9f4921af
+	0x3310b829	0x6670dfe8	0x0662e875	0xabfb9b48
+	0xb5ae9c13	0x2603e556	0x88c7cd3b	0x9b1beb93
+	0x254b9fbe	0x32042c8d	0xa5e305c4	0xe1a69795
+	0x02b81164	0xe2969e8e	0x7a8334c7	0xf19489a5
+	0x205e36f3	0xdc863e7b	0x513d2b00	0x66368a3b
+	0x7088ab84	0x4907bbdf	0x318ec4a6	0xd89c5d2a
+	0xb5a796e8	0xc0044431	0x017a5037	0x2d3b22bf
+	0x53bb1800	0x2519bada	0x961b8b5f	0x6f8aa8b1
+	0x13a0ec62	0x1e89cff7	0xcd6ab65d	0xb187e96f
+	0xf09827b9	0x8972b571	0x09f1e590	0x7bfb46a4
+	0xa49cbccc	0x71e0777e	0x33c08a90	0x9999922a
+	0x7d18dd73	0x5dc04a9c	0xd578531a	0x9996dc76
+	0x56e7e2b8	0x18e5c221	0x90c07367	0x353e133a
+	0xfc70611d	0x5c89f9e2	0xe9d83fb0	0x42d8ce60
+	0xc0fabf53	0x6481010b	0x6840f4bd	0xac103abf
+	0x2e574f00	0xa3a2d595	0xa96bdc16	0x4627aa4e
+	0x405f6973	0x4faa2d6b	0x861834e8	0x45b6aa35
+	0xa8c437f7	0x13184d3d	0xe7a2d71a	0x2d8e591a
+	0xc5315a50	0xff13cc9e	0x1a249f13	0x9748fd21
+	0x8f17f18a	0xe86acedb	0x061fb9a9	0x43fcbd4d
+	0x0013d58e	0xb832aa50	0x23dc785f	0xc2088707
+	0x7a5a0011	0x93cb4118	0x30804a87	0xc0410f49
+	0x96588905	0x2598c587	0x76a3e974	0x3ae34f59
+	0x9e113af3	0x718ead7c	0x8a85d4c1	0x4fd9c57b
+	0xf6b1d5a0	0x297aec3d	0x0a98d4b5	0x98c7e81a
+	0xa1196f44	0x4e601b2c	0x09307ef4	0xb766e44b
+	0xb184082b	0x9e2d9eb9	0xf8f96c72	0x2558ca03
+	0x24598851	0xaab04461	0x0af930ff	0x5902e1ae
+	0xca847d84	0x96cda635	0x5676016c	0xc4fc69e2
+	0x8d86599c	0x3bb10688	0x7f574931	0xd4c1dc88
+	0x2538bcc8	0x77bf368f	0xe9482551	0x205b869d
+	0x8b226ad5	0x3e02371d	0x6b0640c3	0xe6c4d539
+	0xb88fa4e0	0x98fadb9f	0xdc4884f2	0x049eeac6
+	0x7412f993	0x7f04835d	0x337bcd06	0x492e1391
+	0x118ad88c	0xb30a1834	0xd810970f	0x37b6ec63
+	0x152c4a59	0xbc3e88f3	0x18ae1d16	0x86b98276
+	0x4dd2c554	0xdfad199b	0xec00978c	0x7206c96f
+	0xb440b8df	0xab8ab54c	0x0aeb14c3	0x6693147e
+	0x952fd529	0x97e2311d	0x8f8be60f	0x06aa4644
+	0x88c56174	0xf4f6092f	0x8b724d86	0x6e413836
+	0x6376c213	0x81271734	0xe9ae97d0	0x58ea9606
+	0x27ee585d	0x2de93684	0x1b4841b5	0x57be1727
+	0xf1856cfc	0x10e169db	0x86c47dbc	0x846b1cea
+	0x074cd88b	0x3ce62663	0x908149bc	0x85223107
+	0x3e653140	0x2932e51a	0x61af5c5d	0xfccd7c88
+	0x207b9a28	0x5fdb3d09	0x10e7253c	0x09fa8ca1
+	0x4a5df2f5	0x634333d5	0xf8e69c5c	0x65a237c9
+	0xcc54062d	0x12321c07	0xef854638	0x17b3d78e
+	0x06142660	0xd0d7380a	0x8b13fe7b	0x56d2c264
+	0x1382267c	0x1d1adff9	0x3f824692	0x15438a97
+	0x0abccda2	0x96ea33bf	0xbbc8a37a	0xa393e1d7
+	0x7cec239a	0x897b3a52	0x233158c7	0x095177cd
+	0x1ec2739b	0x166fdfd0	0xd0d1e4a5	0xf6af17b0
+	0xbd232dd3	0x18bd1a0f	0xe71b4284	0x4ed47f7f
+	0xc4d85b74	0x35987b84	0xff192061	0xb1d857f0
+	0x0b823de8	0x475261df	0x47af3bf8	0x117e5872
+	0x0196dbc3	0xb91af7d4	0x849b43f7	0x954a4444
+	0x9ee6c355	0x32be0405	0xb0db0ca9	0x3ad808f0
+	0xe2fb9582	0x1c28a00f	0x71d0505d	0xe35ea260
+	0x82ff9335	0xb8bb879d	0x255777af	0x68d92ebc
+	0xc88d983f	0xaac601e5	0xb9c7abd2	0x04159fea
+	0x1d07c075	0xf1d54b03	0xfdddb32c	0xfc66b0f6
+	0x795938b7	0x943422a6	0xc3100357	0xf2eda566
+	0x16e494f3	0x43482258	0x12de39d9	0xdc23e6ba
+	0xf2faf851	0x27993ab3	0xb6060964	0x7b538f2f
+	0x2aa982b0	0x56d36ebe	0xd6263aec	0xd07724ab
+	0xa634f8b6	0x09ade1e4	0x9d810aa3	0x92a2506c
+	0x9064204a	0x9988c438	0x3189d92d	0x444761db
+	0x496b52ed	0x8c9100d0	0x73cc0243	0x03ff75a1
+	0xd3a8fa51	0x225196ae	0xa0f436fe	0xc6bacf3c
+	0xbb41be3e	0x51179e19	0x58d480e0	0x2a44db04
+	0x3a315e9c	0xc06d982c	0xc9d23539	0x8ba55f8c
+	0xa0c31f24	0x7d3fef38	0x43a887f4	0xbe7f6023
+	0xb1c09c4a	0x5bc4ba37	0x2ce4ffb3	0xd5d61ba9
+	0x2bff836f	0x9bbb9580	0x6f242a1c	0xd6d89009
+	0xe983fbc0	0xaa970583	0x40eb3de5	0x7c40e189
+	0xed9a773a	0x2a3134ef	0x2e8a8ac7	0xf5af3ad5
+	0xa578b242	0x3e53c982	0xd2b771ee	0xf59f36df
+	0xb88f203e	0x6067b8cd	0x0d64069d	0x52d9f38b
+	0x56b494c1	0xb8d8aa7c	0x1fa90e67	0xa172b5f2
+	0xf002343c	0x7bc06d40	0x58dbd091	0xe91e517f
+	0xfc1e5577	0x0359a36c	0x8fd54f85	0x1144ba34
+	0x5a3609b8	0xe910c559	0xe336a70f	0x1c21a8db
+	0x4e3b75d1	0x50d1fff2	0x66117a25	0x2a02db19
+	0xf959d30d	0x92b6a248	0x20c0706a	0x9b95885b
+	0xcda96b17	0x86e17242	0xd1281912	0xff909d5e
+	0x95da411b	0x22a43d49	0x1534c9f4	0xc2fa71d4
+	0x717dcdcc	0xedc2e724	0x64ea2049	0x721429f3
+	0x661dd588	0xf5da23cb	0x435fd9a9	0x7def1a28
+	0xa3b047e1	0xee17b194	0x0d02202a	0x1b4acd9a
+	0x0f557183	0x54538c92	0x7c6973e0	0x59a4f60a
+	0x2994418b	0x7f7ec9e4	0xdddf6a28	0x2ce8de09
+	0x896156d8	0x2b3544ba	0x0b3a4f61	0xef295210
+	0xe68612b8	0x38ee0ed2	0xfdb842e1	0x4bb338ec
+	0xe72f65c3	0xb06e48ac	0x9e5fd457	0x605cc320
+	0x782a871c	0x25415859	0x03aa12d4	0xce27ed0a
+	0x0fb5cecd	0x85cf5146	0xd92c6d21	0x693fd927
+	0xa1154c7d	0x3076d66a	0x5a94ada8	0x56a77573
+	0x7c821b67	0x666d549e	0x0976d365	0x547195b4
+	0x22a6efa8	0xa5d79006	0x83722c02	0x23e3849f
+	0xba38804f	0xa634d1d7	0xfca40529	0x0d99747e
+	0x2e04eda1	0x62640645	0xd4eff1c4	0xdab1eb94
+	0xbc2421b0	0x4f2816ab	0x5339df08	0x76717945
+	0x3d90e768	0x2fc5ef40	0xa6d1a2e2	0x4670d792
+	0x64d02442	0x56d8ebf8	0xbe8a1827	0x36f1ceb3
+	0x4f8e962f	0xe39e58ec	0x8247a21b	0x957ab902
+	0xf390026f	0x84cec387	0xdd1f248c	0x9c91a08d
+	0xa4ce5c31	0xcedb63b8	0x55f7e028	0x8bf3cf8e
+	0x124c7ee0	0x9005abab	0x0d4da93d	0xd54253a6
+	0x4a6301ef	0x64d643d9	0x4ed41ae5	0x8e4c83a9
+	0x21598234	0xf7389a30	0x100eaf77	0x5bdd2cb3
+	0x88c39874	0xfcea8089	0x493acf72	0x57d25c5c
+	0x3e2cc2d3	0x1b01208b	0x49eb120a	0x5eb7e34b
+	0xf96a31fd	0x93315c7e	0xda6fb4b0	0xd2dd6beb
+	0x48adcca1	0x5ef9a30a	0x6f94c49d	0x1f1ff810
+	0x37eb4707	0x68b8ea8e	0x6b8a5847	0x8bbc9103
+	0x2e6c4d87	0xb333cf9b	0x5b2c0178	0xacb02b34
+	0x53ddfda0	0xf4fa98be	0x602e0fe3	0x2b3c25f5
+	0xd27a9991	0x8c116b9a	0x43b35362	0xe25fe05e
+	0xed9dead8	0x67c67277	0x43860823	0x094d4e78
+	0x558ed96d	0x8382a93e	0x20c30e0f	0xcbd4ea8e
+	0xb971c329	0xa8b7ef2b	0x7445e0fd	0xf6f1ef07
+	0x23071d6e	0xbca31530	0xd27aad91	0x297d1b7d
+	0x2559361c	0xf486d25d	0xb75bf444	0x2dab4bfa
+	0x9d8db753	0x4aabda7f	0x81d11c75	0x3c4a859d
+	0xd0b60f2a	0x6edbea57	0xd9f3b42b	0xd252f51c
+	0x13875ff3	0xaa5c1b7c	0x979fb0ac	0xb40c9ce4
+	0x3079d900	0xe952d852	0xeae46ae5	0xf0b90a1e
+	0xaf518b37	0x9d52a851	0x2d8c1a8f	0x57780e8a
+	0x50f9628a	0x1100c756	0x69d6192d	0x448988ef
+	0xc3a3fea5	0x21803245	0xb203c756	0xcc5b1215
+	0x9245c37b	0xa08e799e	0x0db9b26a	0xc5b66236
+	0xb9311e31	0x4b19038a	0x1f3ff253	0x09d63d6c
+	0x75f31ef0	0x76248710	0xa0099017	0x4250ac6b
+	0x254a8707	0xa7569943	0x3b439a3b	0xe288d09e
+	0x672f5a88	0xa68084b6	0xcba91f48	0x448db9c0
+	0xdf10551b	0x84a10f35	0x008b4af1	0x4acc57ed
+	0x36724f17	0x0ec2c1b3	0xc9b135e2	0x2c0638f3
+	0x20c3f50d	0xf0c06eb7	0x1f6bbfac	0xec637e1a
+	0x0145b13f	0xce7fe14c	0xb9381bb3	0xa136bff5
+	0x7b2c9888	0xce8472dc	0x5057fd00	0x3eb0d7fe
+	0xbb02fad9	0xc7916753	0x823abec5	0xe17b2320
+	0x2c090cd3	0x815bcc43	0x99b3d95a	0x30034606
+	0x6a15812b	0xd0f1e2f0	0x942b74bc	0x17ac6a8d
+	0xd1a11423	0x2de79a31	0xd88cf121	0x9b36fed3
+	0xb492889f	0x43c3fcca	0xdb7844ac	0xefbbf35e
+	0xaa7d5b92	0x0b6f30b1	0x88e110c9	0xeff4f11e
+	0x7633adea	0x3dda5e7d	0xd3c89c70	0xa3a07393
+	0x9e3c59c7	0xb65578a7	0x7bbf4db2	0x6d5000e8
+	0x7f870540	0x2362a068	0x101459b1	0x9d820d27
+	0xe6b1d38d	0xe3f1a0a7	0x2ab84484	0x025bf524
+	0xc61703b3	0x949a9e3e	0x9434c15e	0x8a5c91db
+	0xb9ea0679	0xd2af96cb	0xc7a0d345	0xe5dff74d
+	0xd3cf50aa	0x928eff16	0x8ba74a28	0xf3e8dfed
+	0x20c2badc	0x0ec3a976	0xabbea975	0x527660c3
+	0xa4011b5b	0xbea12a60	0x45148e21	0xacb6115e
+	0x4260086f	0xbca635a2	0x5840c38f	0xb627d589
+	0x6b192e20	0xecf49f5f	0x16e3aa54	0xcecdcfe6
+	0x882f8001	0x63eef92f	0x5f9f7509	0x78cb7be6
+	0x0f7ca5e1	0x1dbec4b8	0x28b3b964	0xf7ba8d41
+	0x45f651e9	0x96ca3669	0x6037154c	0xd5ea1924
+	0x3b96a8e0	0xf7d1cfc1	0xefb681f2	0x1e0c2da0
+	0x18801718	0x52a4577c	0xe62d976d	0x0c91d3a6
+	0xdd69ee59	0xf3d3e5e8	0xd41bf236	0x453139d4
+	0x6331a2d7	0xd8199629	0x147d4a25	0xf28f9387
+	0xd0b8dcb4	0xfbf0b395	0x48bb2300	0xbbbaab21
+	0xc492db08	0x3f3dfd1f	0x369eee48	0xbedacfbe
+	0x61757c6e	0xc38119f5	0x96e06a31	0x9f1484f8
+	0xb3252479	0x4e81ecaa	0x779e1325	0xf36b14a3
+	0xe1537d49	0x8d428cee	0xd3193ae5	0x9e9b534b
+	0xb6220228	0x19669905	0xe45ddc93	0x375be8e8
+	0xb8b48aa2	0xd7d66075	0xe85aae5c	0xde09b76a
+	0x0017cdbe	0x05f4853b	0xa400880e	0x5eb1d8e6
+	0x2942a29d	0x9f05eb18	0xf61f40ac	0x23c597d2
+	0x88667773	0x9d115d43	0x1a7f9f37	0xf9eb4fc6
+	0xb193c4fa	0xc498f6fc	0x758fb29f	0x4da3ed95
+	0x5c703a90	0x090155e2	0x6a332a01	0x2c5c766e
+	0x4ae57380	0xe84bd64b	0xf4f33a8b	0x8bc4b91b
+	0xefd3a254	0x04bfbb7e	0xfead0e9d	0x8ac41203
+	0xc7496ae7	0x84f274f0	0xfd1fb7c8	0xb2b3d329
+	0xf3b37346	0xbdbd437e	0xafc67884	0xc0e6cbf2
+	0x70a9cc27	0xf818e439	0xa637a529	0xd3f9e36a
+	0x890751cb	0xbd75f152	0x4d8a05d2	0xf050a2a3
+	0x56148db8	0x087b5cc7	0xd81c4fac	0x05ae220e
+	0x6c609d1e	0x1238e2eb	0x6ccc9ddb	0x2e2b84f4
+	0xd8b944ed	0xe3c13d24	0xdb178633	0x445b8c30
+	0x9dd3c53c	0x6e12a4a2	0xe9707282	0x86f336f9
+	0x0b82de22	0x723c4c44	0x29a19995	0x97590aa5
+	0x4897f90e	0x1c9992f8	0x17ef1185	0x74a1edeb
+	0x0e8599eb	0x963c882a	0x9d28dc60	0x2ca48e25
+	0x75716ea7	0x73cd9332	0x50dfe0ea	0x91f44e55
+	0x6b18b072	0x44f17e11	0x2b3c0408	0x8f167451
+	0x1c96fc39	0xf5708789	0x9a67042b	0x53a55dc8
+	0x00d62c04	0x6b4197d6	0xad4f8b95	0x31dd6a2a
+	0x5ff83f8e	0x1a20b399	0x94e62de1	0x2b6707ab
+	0xd8475628	0x1756e992	0x148f1514	0x8cc89880
+	0x66df6344	0x075745ca	0xde2b3539	0x9c0daa3c
+	0xe4f33dd7	0x66e6440d	0x340b259b	0x0e461961
+	0xc5f9871a	0x48c13c45	0xf7de0700	0xd4ebc695
+	0x5a81d5f7	0xf43f6a12	0x0dfecaee	0xa7258a8b
+	0x029ab98a	0x09d335db	0x6d15b80a	0x561408be
+	0x78c24a20	0x293fcb8f	0xb59d5c53	0x62e474a9
+	0x8a16cac9	0xac96a195	0xda46263f	0x8ab714e3
+	0x28eb2de3	0xaa6b2e24	0x4c28a02e	0xfbc0b03e
+	0x015ce311	0x4fb4cb94	0x75e0ade5	0x295fd817
+	0x7083903d	0x583b627f	0x9379517b	0x90aae152
+	0xadc926f8	0xf729d766	0xb6308cdb	0x7457cd1f
+	0x015acd84	0x6cf61675	0x20cae13d	0x9eacd8cb
+	0x6ffdaeb5	0xfc75ba5a	0x9ca40b7d	0xc0bd650e
+	0xd2920e28	0x3ba043e7	0xbfc24013	0x868e9d97
+	0x2b8ec5c0	0x0e792e3a	0x019dcf75	0xc1ba6633
+	0x4ed5d5b6	0x00abc7ce	0xa00ce6cf	0x09aabb6d
+	0x3ca6bcdb	0x101ae811	0x3f1c8918	0xe3e8c440
+	0x448ef7ab	0x09352730	0x531da8c6	0x71b6fc26
+	0xf1c7205d	0x3b06f2d9	0xbbe6daf8	0x8ffd291f
+	0x05e3a037	0xabdb19da	0x09b8dd0b	0x9458cd20
+	0x1532c626	0xbe7857cf	0x30b00814	0xf9f58c9b
+	0x8cfa3417	0xbfcb8dcc	0x04215266	0x62e7edef
+	0xb8cbf96c	0x23177b29	0x41f114f1	0xc2040cb7
+	0x56447ca4	0x1f2f3dcc	0x822ec94b	0xc23a7cbf
+	0x32660e99	0xd7f16c48	0xf008d9ec	0xe13b7d78
+	0x63ff83ec	0xce778320	0xd711836a	0x00f800b9
+	0xaff6af4e	0x590fd4ce	0x6cd83b93	0x96b9a6e9
+	0xb75f478f	0x295f9409	0xc6581fca	0x2b21290c
+	0x2b4e7c35	0x84c0a1fb	0x41ebf009	0xb1272092
+	0x8055e060	0x3ae9304a	0x2178abb2	0xb59c5b38
+	0x33df9632	0x9b9c1fa7	0x76225761	0x51d5c9d8
+	0x898e2c9d	0xe281ccf7	0x86a4f00a	0x673d0c4c
+	0x32206572	0xca0f1317	0x5f29f948	0x6fb394d1
+	0xb17ff591	0xef614b93	0x0e0f420d	0x91a6bc63
+	0xab44427d	0x93268daa	0xd99882f0	0xd69565d7
+	0xd892e0ac	0x5db25ff1	0xdcef6bbf	0x56cd014d
+	0x880ac90b	0x2900c6ba	0xe4c200ed	0xfad2d057
+	0x79fb4fc1	0x135d9bea	0xec59a73d	0xa6ebc18c
+	0xda3ab47f	0xdb77c2a7	0x69c2caf4	0x83991de1
+	0xfafe44e3	0x7e8d9a7e	0x934b316f	0x5e421ddf
+	0xca24ce98	0x00d98df6	0xe46b5814	0xc6e081b5
+	0xa776dfdc	0x3e3f6990	0x34f7ac2d	0xe752da77
+	0xcb190e9e	0x59b28768	0x48221cc6	0x43619429
+	0x8d1cb372	0xc9377ddb	0x83d7f02f	0xe3f48f16
+	0x4ed6bd43	0x7d52904a	0x83de2c5b	0xd3d8f656
+	0x63ce2cde	0xb38f2d61	0xd27031b9	0xdf3c03d4
+	0xc68db5ec	0xb9e3514c	0x00795bb5	0x100a012a
+	0x800e332e	0xe19aacde	0xd4b6038f	0x4be062dc
+	0x4660a0a8	0xcc5759af	0x897878f7	0x22342fa0
+	0x1e4d8aff	0x41f3dae0	0x5a7b62f6	0x3cd3cdf5
+	0xea6f51ca	0x0e983e67	0x5b766696	0xf826b059
+	0xf09a0b0d	0xd84ac2b3	0x5aeeb3e8	0x3bf5dbcd
+	0xb79672e5	0x06fa7030	0x5ed30c20	0x5fcaa290
+	0xb2c4f2a1	0xa75961cd	0xf1b4e982	0x7872d0fe
+	0x8a62669c	0x33ed98f9	0xee12c734	0x1c70d204
+	0xcd52cb65	0x12892202	0xee056788	0x70f99a76
+	0xeb97991f	0xfff0bca1	0xb906b029	0x4963b1f6
+	0x887c4310	0xdbcacc55	0x7725788d	0x8cc2e199
+	0xd0ef5c53	0x6f44fad3	0x5287d500	0x05308b66
+	0x9eb8ade8	0xf9dc7b1c	0x0d4d3ffc	0x7429fbca
+	0x15af3491	0x9955697f	0x4228e39a	0x463a55a9
+	0x00d95f8c	0xe51c9ae2	0xebdfccf4	0x3be66295
+	0x629034ed	0xabad2be2	0x44aeabec	0x3d7080a3
+	0x4143a1ee	0x5b9ffb49	0xc183639b	0xfad3fb69
+	0x29f6f62c	0x36f226e9	0x5b703d69	0x18ab5b12
+	0x5c8d77a2	0x98649f8b	0xd581758c	0x0cd7f8b4
+	0x4327b2d9	0x95368a1a	0xd115fb1b	0xf40af796
+	0x89d290a5	0x89492e3f	0xf4e43595	0xbd5b6fd0
+	0x4f09a4ea	0x38479d4f	0xfc98aa54	0x6bec3ac0
+	0x62488652	0x5582af82	0xa0a75ca5	0x43314a89
+	0x6dbbf38b	0xb2788393	0xda27176f	0xf7254172
+	0x2af59ed0	0xf5554836	0xe34b5b7d	0x6153404f
+	0x4489677a	0xeff85730	0xb043b04f	0x53b5e756
+	0xf0a03313	0x4a4be252	0x8386b940	0x51c826e9
+	0xddf89c5d	0x2c71fdcf	0x5a108bf9	0x2feb29e4
+	0x5a763c96	0x36296f86	0x4960f0d8	0x219d21cc
+	0x7bb793b4	0x1326468c	0xef50e659	0x02f9fa0e
+	0x28315921	0x92db3e7e	0x5d7d318c	0xd7bf1467
+	0x61eab0f3	0x20891bf5	0x0f674975	0x9764cdbf
+	0x6729d881	0xe2aba927	0x732ff326	0xb0e434b1
+	0xe488f46f	0x29ed16cd	0x585515d8	0xd6a9aefd
+	0x450eb992	0xe6950aea	0xe3857d2c	0x495e9d92
+	0xba9435ca	0x42c8a4ee	0x940d4c33	0x10310bd1
+	0xa7c3dab2	0x1b70c734	0x3f6b40a2	0x7917ecc0
+	0xe3156ea2	0x01b359f6	0x3ea144da	0x9257bb9e
+	0x6f0b078c	0x0b405c47	0x0f5619bc	0xf9f7a7b1
+	0x89253558	0xc7f05fbf	0xbd7f1508	0x5dd43c97
+	0xa88d03d8	0x7bf54345	0x93f4a4cd	0xcdb8d598
+	0x781065ec	0x1a09d10c	0x4ed8699a	0x92420a61
+	0xab559e5c	0x19a1ac82	0xb46595fa	0x7c13ac60
+	0x013d2099	0xa7b46aa3	0xac24aa06	0x2e1d2dd0
+	0x3bae2b03	0x32f2bb34	0xd650d334	0xa901f08e
+	0x79e81800	0xe37017c6	0x8fc55b6f	0x8a12dfd2
+	0xe52ce701	0x5c7f3dd5	0x1201ecbe	0x08d2dfe4
+	0x0a2eb2a0	0x1af945b0	0xe6bbe773	0xe2d51489
+	0x8b6a388a	0xecd81b15	0x0dad9088	0xc46537a6
+	0x88f720e2	0xf63af877	0x52ef02bc	0xe99a2b37
+	0x5c0c4616	0x5102326d	0x358b2295	0xe99ab5f8
+	0xe00db448	0xe0a79207	0x25a9ff03	0xb038291c
+	0x88b4c168	0xeb898740	0x103eaa80	0x058cfed7
+	0x3fa4fd00	0x6908bd9a	0x4777e2cf	0xce7d4589
+	0x114d4674	0x695d4ce1	0xe764f690	0x6fa820fe
+	0x0f276846	0x8b4ec1d8	0x0c96ebac	0x03094822
+	0x0c18d4fc	0xb291cb53	0xb7872f2e	0xa0993d96
+	0x2e236716	0x96c8b169	0x662e6dfa	0xba55cbb1
+	0x2d8fb09e	0x6d163664	0x8a9f5f48	0x81a94df4
+	0x9eb4fc04	0xfd76098f	0xbf259198	0x0bac8969
+	0xfa96ad2b	0xad00cc31	0x10ce7679	0xefe9617c
+	0x0a5fd0e0	0xe475933d	0x0c78a62e	0x91c21a56
+	0x788642c3	0x462802da	0xa1a1ab9a	0xa71ddeca
+	0x1550359c	0xf029aee5	0xd0715dda	0xfe871504
+	0xa687b423	0x2b09bbef	0x9c0fd356	0xd7637e14
+	0xa32decdd	0x951b0fef	0x627f7a81	0xbd7a596b
+	0x8bca5b3e	0xf64a3209	0x9f42065f	0x5a4f061e
+	0x15d45530	0xb48d9116	0xe5e3e11d	0x487053b2
+	0x8cbbd18a	0x4b44d87c	0x93e8d394	0xde496daf
+	0x1755614e	0xd28c28a7	0xe26a4b69	0x03744bb4
+	0xb0e9c714	0x77c3c4f1	0x0cbe3eee	0xa243a10c
+	0xdacbc970	0xa262e44e	0x513a38d1	0x28c65954
+	0xd875dc63	0xf35484f8	0xb8b991f8	0x4989b753
+	0xaffa7212	0x32bd36b8	0x9b9e8a92	0x4fe36b10
+	0x3f01653d	0x85b0b3bf	0xde42056b	0x51e6b399
+	0xd4379c83	0x368aadd3	0x8753ffcc	0x37301bdd
+	0xbaeb3642	0x5fc623c0	0xf7c7173f	0xd6ad14a2
+	0x61da411f	0x28c6fb52	0x2fb2941c	0x0edb5b6a
+	0x3fd16bb7	0xdf0c7726	0x74a2de09	0xe88062f7
+	0x2bc7f6cb	0x90465a23	0x993ee4fd	0x5a269a35
+	0xceada35d	0x3ee2052d	0xe0083e9d	0x247c577a
+	0x42134fae	0xa93a745e	0xa703c551	0x31843951
+	0xef4cc6f5	0xf566068c	0x1d55b4dc	0x42c1ed36
+	0x350d2d94	0x6257c7eb	0x11f834d2	0x96bb27f9
+	0xc88c66eb	0xe08a40db	0x468084b7	0xe9fa8359
+	0x60b25036	0xcee481a3	0x452a6cda	0xfdca0d0e
+	0x1c3bf3a8	0x3a971457	0x3d98531f	0x2c813831
+	0x501964ea	0x349acb79	0x44e875b5	0x53a292eb
+	0xf9588c50	0x6f423eef	0x040be49f	0x9b4e78fd
+	0x8499d9cf	0x5b0d86c4	0x6a0f9858	0x42e458d2
+	0x605a3d3b	0xabbf3f04	0x804f2723	0x5a769afa
+	0xd1492b12	0x22a64c24	0xbd7e0c25	0x28086942
+	0xf3c1e264	0x88b3278a	0xc9d3d58a	0x637e02c4
+	0x1297f21a	0xfbffc9b9	0x2319b83b	0xd32407d4
+	0xa14784ae	0x8eaede6b	0xef9cf10e	0x3d3e00c5
+	0x5b1c1bde	0x9d91a209	0x69cbaceb	0x2c6f8b84
+	0x59dc443a	0xd7e6b99d	0x416c43fa	0x3ad2958e
+	0x3d1822d4	0x4c00d378	0xbafb167e	0xb2468dba
+	0xe29e961f	0x24fe6e79	0xdaad60d7	0x2f011002
+	0xd139c430	0xd23be70f	0x99254a89	0x9451c64f
+	0x954455fc	0x05bd2f14	0xbfbc820b	0x66156aa2
+	0x96934d0a	0x613ff796	0x30a64031	0xfd696ed4
+	0xad6c8015	0x00ae5a59	0x04b44690	0xab7303d6
+	0x227af390	0x93c13b09	0xb59763ec	0x4662c256
+	0xb44526aa	0xa6467137	0x147e75ae	0x8a6c7ed1
+	0x68b61559	0x995abc17	0x20545ce6	0xd712f95a
+	0xc49d70d0	0x6e4b4f32	0x51b6b0b5	0xcf6b6fae
+	0x912c5098	0x5311442e	0xe7f2c750	0xcc8f91d9
+	0x0635e736	0x885cdf7b	0x5e96c066	0xdc32d35e
+	0x0b94de6a	0x4063f416	0xdb0351d0	0x905eccf2
+	0xf164d279	0xb3b28b2d	0x243fe410	0xe383f233
+	0xebed9419	0x72d8ab58	0x5e0a95a0	0x2394041b
+	0x51d0b849	0xd53dc6ff	0x135442b8	0x2b1a50c0
+	0xc89aa5d9	0x366700fd	0xdd4b4e2e	0x36a5ba7b
+	0x25c8735f	0x5b0689ee	0x014ad466	0x2fa0d27f
+	0xe7677338	0xa29b9a7d	0x113f312e	0xf0a51d0e
+	0xc29026a6	0x5ac62386	0xe1f08ba7	0xe2e352f7
+	0x9530644e	0xc10dcb9f	0x96a4c1f5	0xdcf458eb
+	0x807bbd1a	0x17a8ff52	0x5d21220b	0xb29d084a
+	0xede98100	0xfe972081	0x905b9e4f	0x0c163982
+	0x68b51b09	0x4c2d2ba0	0x6b19bfce	0x99db8997
+	0x440039da	0xcda5a6e1	0x037b541a	0xc71fbace
+	0x0ea0288d	0xa0521229	0xa4df10f0	0xf00963ca
+	0x8910ad0f	0xbb969091	0x8aebec79	0xf3f23a4b
+	0xe303ed65	0x7ac7a310	0x7d352efe	0x95ba541e
+	0x57c12da1	0x3e71d397	0xec7cc279	0x5dbeaf8b
+	0xfd328b05	0x4143c12b	0x5c1d47af	0x9b17b429
+	0x4bdea442	0xd075af6f	0xc96f9995	0xad8883c5
+	0xa4ae65e0	0x66cfe62f	0x1626ad8c	0xf90230cd
+	0xa146cab2	0x3a12da95	0x516145f8	0x46a40261
+	0xfed06327	0x5d01ea51	0x1f374eee	0xc53edd43
+	0x3b05ded1	0x4fdace33	0x88d6008c	0xe5552e69
+	0xbf839f05	0x2c048e0d	0xad48b0ab	0x8ee97494
+	0x46ce2e55	0x271a1c6c	0x00b7c0ec	0x7749a5a2
+	0xe362046c	0xe9b62470	0x02495144	0xadb16f01
+	0xb39a0a84	0x0597a94c	0xfef71155	0x2b16a519
+	0x39a08e03	0x32beade8	0x3a6c620d	0x52de396d
+	0x58c4a974	0x8341dc8f	0xd2e0662d	0xc31313c9
+	0x26b9d04a	0x45a09750	0x17ae15f7	0xfcdc102f
+	0xa80ccdef	0x0c91eab3	0x8fc07faa	0xb3d49786
+	0x71b50412	0xe1c5d21a	0x9de14c8e	0x020cda1f
+	0xda603e28	0xd16d700e	0x2cd8d241	0xc4464b2f
+	0x10767b1f	0xacf951fc	0xf1af4811	0x60f203ef
+	0xfe2fdda7	0x587d2066	0x61ed0d33	0x999c2aac
+	0x0c976170	0xf9ba73e6	0xa099d76d	0x0d0fd35b
+	0x9d785bb6	0x29244f0c	0x18c1c4ef	0xad166abc
+	0x305e463c	0x28bc7845	0xc37c2187	0xc06f9683
+	0xa43a493f	0x5358d2e8	0x040e19c2	0xa2f5c830
+	0x6a82664a	0x616c181e	0x5a0edf83	0x515c2d33
+	0x5e0f195e	0x0ca1e76c	0xff5129a3	0x0f1e4068
+	0x9cf970cf	0x6cb8cca7	0xe97060da	0x08568143
+	0x3a1610eb	0x3524ddb9	0xb01ae711	0x414811ae
+	0x93ab7ca7	0x0220578c	0xa6890d60	0x3ffc773e
+	0xf2569e5f	0xfe7bc137	0xba54416f	0xcb09f9fe
+	0xdfc9e943	0xd351ddcf	0x3804eb61	0xfd217c55
+	0xe8e5312a	0x5d2f72c3	0x77d7c53c	0xcb928d7c
+	0xa3e41d33	0x6654f69a	0xdb7305f6	0xc16b160a
+	0xcccff80f	0x9f824e66	0x441a353a	0x092d18f6
+	0x57287b8a	0x8e4f53ed	0x7ac092c1	0xab538ad2
+	0x3ee0f6ae	0xfc5d2362	0xdd9886c9	0xefca45d0
+	0x3bcf7d2c	0x3c13007f	0xb3486310	0x28d85956
+	0xe73b79f7	0xb2826693	0x4a1689ef	0xc7c75bb9
+	0xc6dcf278	0xb7e5889c	0x499a9294	0x40d3cbbe
+	0xb192ba4a	0x07184194	0xc1c4b09f	0x3a56e539
+	0x0b1d95e0	0x7f017eb8	0x34492123	0x87b49dd3
+	0xd18f58b2	0xffeeb628	0x87f933a3	0x5064e080
+	0x0f5ca746	0x0fa6a21b	0xba871262	0xd8e61931
+	0x3b2ecb5d	0xb917a8f0	0x86db03d0	0x98c6ad13
+	0x8af29fa4	0x31246abb	0xbf5fbac2	0x0f0bdec6
+	0x000a67a2	0xda471b18	0xd2878316	0x8032555c
+	0x07a0c57f	0xddef9dc1	0xbf93b2e4	0xccc53229
+	0x6ac5694c	0xfcf56e7b	0x25dd8274	0x61bb506e
+	0x9680824c	0x2108c113	0xc4b99502	0xe10c4403
+	0x7e4a00dd	0xdd9dddbd	0x81b007b6	0xed0e2bef
+	0xcde1384c	0x31ac9186	0x423466ec	0xfe3cf19d
+	0x23fec5f7	0xbc43b9e0	0x168a64ab	0x778d537f
+	0x31aab49d	0x0ef7f7f9	0x8e2972e0	0x7674399f
+	0x06ba8c5a	0xa5d5aad1	0x233fa49a	0xd9ea5761
+	0x34aaba4e	0x76292aac	0x0fd6d9f3	0x4aa42343
+	0xd8a605f2	0x6c377ddb	0xe7cec8b9	0x5ca585e1
+	0x381b2afe	0x56f2f0b9	0x7d6e7858	0x97e0f9b1
+	0x107ce0e5	0xafe55426	0x39b22485	0xe09e7f23
+	0x3edf761c	0x5bfaf7c7	0x777475f0	0x1f859031
+	0xffc7695f	0x9a5921c3	0x70e526e5	0x8464b2c9
+	0x034e8e18	0xbe1ff735	0xd102ec62	0x042f43f9
+	0x3ebca006	0xdf556000	0xe36a069d	0xba211941
+	0x11ccb113	0xd3cd8e1d	0x38720e11	0x6bdc393e
+	0x58981401	0x55d99eca	0x9688007c	0x121e215a
+	0xa0ceecdb	0xebc3685e	0x08ee9340	0xd9b6e22e
+	0x03ffa516	0x758b7f83	0xccbf682f	0xb78a5f57
+	0xb62f97ec	0xe695a1c9	0x2330f7eb	0x14fea517
+	0x40461809	0xd4ccee15	0xd7f9ecef	0x8802908f
+	0x4541cb1f	0x8a5e5b93	0x90febc1a	0xe7c4b957
+	0x72e0d014	0x6706cb38	0x4f51b134	0xa1a42c4b
+	0x83fa8197	0xa518fe44	0xbb486372	0x4c1b1c78
+	0x034490b2	0x18a8b011	0xf554c068	0x5b61d5dd
+	0xbba8379d	0x1d14c707	0xad1d2b75	0xf45d8707
+	0x97bd03ee	0xa071851b	0x006e6b4b	0x0868372f
+	0x8bab261c	0x0cfe4ee2	0x15b51279	0x82f9ccf5
+	0x2cabbc6e	0x6e711b59	0x4891dac3	0x28e148af
+	0xf2fe8b83	0x24c3188a	0x022c4bb0	0x2e248b82
+	0xab97c5c0	0x7f68e907	0xeffa4236	0x0fa4201f
+	0x16a00933	0xda13af63	0xa5b4fec5	0xa4bcfbd4
+	0xb60bb5ad	0x8b32ab4c	0x578c127f	0xf586cebd
+	0xd81f4378	0x723fc323	0x1d229f26	0x05152eca
+	0x31cd4451	0xfc3ced8c	0x18a32d87	0x2d55977c
+	0x0be31b1c	0x79d45df2	0x96c946e6	0x5ce56238
+	0xd22c156e	0x65c2c291	0xb4002bc0	0x5d901028
+	0x729cfe3c	0x47933bad	0x69b1e791	0xf513f3b4
+	0xa325caab	0x23506c6f	0xc8bfc381	0x465fa544
+	0xde615fe6	0xbfe24eee	0x932030a2	0x961a308b
+	0x3cb79a7d	0x8a0250db	0xedec9ede	0x1939ef34
+	0x0206409b	0xeb223f4b	0xdc1ad860	0xf08aaf2f
+	0x67c8cdb3	0x7708d5fb	0x909da6c9	0x723e0e9e
+	0xbf6c013d	0x8a4cf22d	0xb3819e44	0xd7dbc597
+	0x46c72921	0x3ac0b590	0xc4b84c99	0xf8a92e97
+	0x1ef40c6a	0x03203085	0xc346a05b	0x38a3de79
+	0x933b2243	0x614536fe	0xc86051a6	0x88d033c1
+	0x4df02fd7	0x717ad53f	0x98f037fc	0x3d4306bb
+	0xeb1c9a59	0x94213860	0xa0c7dd34	0x6f27b633
+	0xd1486b30	0xf86dd433	0x0b395d8c	0xce53a2f2
+	0xa22fb45b	0x968facb3	0xacf297dd	0xd9c5703f
+	0x576ba00c	0x9e7b9b8c	0x2be66d48	0x6508dd69
+	0xb980c11c	0x93bf667a	0x1e881337	0x1ce801e8
+	0xc1f5fc7d	0x273be22f	0x4fa2d821	0x0510c637
+	0x5f6b635e	0x427d7347	0xf40c1758	0xdffe201c
+	0x7a22edf2	0x25916bab	0x18a99236	0x623f2063
+	0x41ca5444	0x63cf267b	0x6734b211	0x18f1c06d
+	0xa104bd94	0xe9e62583	0x1a4da3b5	0xe048de3b
+	0x80dd5832	0x0396017c	0x39dfab82	0xbbfa6fdd
+	0x72e64ec3	0x1d3a6dd6	0x1f6d9460	0xf385f9bd
+	0xdd076e5f	0xf11df430	0x435c9682	0xbc0c0ac9
+	0xfe3b3b6c	0x4516edbb	0xc42aa77b	0xb7ae091c
+	0x4c143663	0x14bf8df3	0x677383e0	0xcd548ba9
+	0x93792f8f	0x3ad9bfc7	0x2f0c6751	0x133a1a3d
+	0x7010a505	0xb1d48044	0x8a481507	0x13e3a32c
+	0xc5fe24af	0x2b7476b4	0x5dd06527	0xd0f8389e
+	0x25de4e9d	0x9fd61436	0xea7b7879	0xe1c5cd0b
+	0x503d9ce4	0xcde0934f	0x1d9ea9ef	0xe7b2b1d5
+	0x000e0491	0x5d78c53d	0xaa696cc5	0x37ad7f6b
+	0x90df174d	0x9e9fe66e	0xab922d53	0x6a3d19fb
+	0x4eb7dac0	0xf27589aa	0xd19af92f	0xcff88a14
+	0x853f8371	0x0e4bf2b5	0xe1fd1d07	0x9d8f8570
+	0xf4971b5a	0x4159ff3b	0x120a65fe	0xa1dd5dca
+	0xe01663e5	0x59a0ef68	0xcb4dd853	0xaa83b180
+	0x67f849ef	0xf54e52f5	0xca703ced	0x5c210fd8
+	0xf47fe815	0xa25695ba	0x98e947e3	0xfa884608
+	0x2f79457b	0xdf818a2e	0x96d2f2c8	0x61456df6
+	0xc36f5523	0x9aedaf63	0x6fec7f02	0xaf753d1c
+	0x354065df	0x06655daf	0xfe489775	0x194e2422
+	0x1749457a	0x0463aaf1	0xf6ffa473	0x98b465ba
+	0x1fa85d3c	0xb11cb5fc	0x66abff1f	0x55db4357
+	0xd97d1609	0xe443de5a	0x286d07f7	0x5c0ce355
+	0xbae53951	0x5e63e69b	0x7ffd7424	0xae841fdc
+	0x1bb38220	0xa27200b9	0x579e44ca	0xf38b6216
+	0x1d82a2d7	0x8337aaa7	0x8aee45f2	0x7fc829ab
+	0x276b7476	0x695a124c	0x02aad7ba	0x7233cbca
+	0x283e463b	0xaec6e3dc	0xb3af78ee	0xee8cba4b
+	0x8c07a98c	0xcc4ebe61	0x0e86abfc	0xca32e797
+	0xbd24baae	0xa1c5e302	0x658244c8	0x9e78627b
+	0x450bcaff	0x7405ff5e	0x4bdb233c	0xde2995f3
+	0xb3e8331e	0xab082e2f	0xea83479c	0x2a352f38
+	0x3972637d	0x9ae9139f	0xb6a80e19	0xe17db52f
+	0x4eac9610	0x81609e06	0xb50d2491	0x60d958b4
+	0xfbc203cc	0xdb7d26a5	0x349142ba	0x0ab5f7b9
+	0xf62ab392	0xb0f1e31a	0x8136e852	0x4a3d2268
+	0xc584d58e	0xe224860b	0x58d79eb8	0xfbe5fe43
+	0x3d18e4a9	0xac2f776e	0x6b131761	0xd5564fbe
+	0xac7c3ca9	0x3a9d9fdb	0xf5fe28c6	0xd52ec196
+	0xd030a6bd	0xeaf1b5b6	0x73bb036d	0x7a2b9257
+	0x12b62687	0x844c8e63	0xc59291ac	0x8e1c87a5
+	0xc4f0cc7b	0xccc30d12	0xe787d139	0x46b8abe0
+	0x952f5853	0x72b48e77	0xf2e3f0d3	0x58800758
+	0x686c8d8c	0x7dc80ea3	0xc55d2de5	0x8e14a550
+	0x0e8de947	0xa74161f6	0xf6b320d8	0x3573a3a5
+	0xff479169	0xf3137dbd	0x8dc20185	0x38adec68
+	0x78a69188	0xdeab0159	0x4ad2a2c4	0x2d63666e
+	0x1279e322	0x3925b58e	0x60a7c009	0x17de2a16
+	0xebbbc69e	0xeeea14b4	0x6c54c727	0x3a307309
+	0xce93b448	0x7e4c6dfc	0x669ae34f	0x35323865
+	0x16bd8def	0x2937048d	0x16d8d64c	0x5d694add
+	0xf6ecf6f5	0x1238ae13	0x6239dcd6	0xcc3b281e
+	0xce0a63c6	0xb89621e9	0xebcbd980	0xa5cbf1d4
+	0x70df4f8a	0xe0980438	0x4aa731c1	0x0f7975c2
+	0xb0ead74f	0x61974f82	0x384db0b9	0x2cb4e9b1
+	0xb5d8214e	0xbebe8264	0xe36f034c	0x2b753309
+	0xfad36dbe	0x2620e3c7	0xbd66ce2b	0xc53a2e3e
+	0x6714449d	0x831ebcd7	0xb7b5f2d6	0x57a69535
+	0x62515a6d	0x1645c968	0x37b205b0	0x76675ce2
+	0xde00e787	0xb036534f	0xfe1e054c	0x11f88e38
+	0xab787e9c	0x5a158df8	0x161e1662	0x9f545e6d
+	0xf3490aba	0x837ef55a	0xcd4bb007	0x61aae9a0
+	0xba4ab6bb	0xd769baa2	0x42615ea0	0x0bde749e
+	0x57d5ff9a	0x9b5497de	0x24be1c44	0x6d327458
+	0x50e963ab	0xaaa5ecce	0x612f244d	0xe73db30d
+	0xaa337f92	0x1995b6a8	0x50e157cb	0x4bad2f3f
+	0x0c4316e7	0xa5d9b41b	0x0cec474e	0xabc9acda
+	0xfaeed025	0xe274dd94	0x0b4925cd	0xf99467af
+	0xf381ad99	0x812e58b3	0xe07afa8c	0xdbf890a8
+	0x45961d55	0x27988b0d	0x70f0b2cb	0xfe8c512a
+	0x7bd10263	0x8ec2eec3	0xc5555d48	0x99ab8132
+	0xb070a5d6	0x9e172ffe	0xeb0e9e7d	0xa2a49fb9
+	0x6c280b32	0xca6f5235	0x81c37eea	0x5662fae5
+	0x4a4658d4	0x568cd6fe	0xde557c0f	0xe9db63d8
+	0xc719ef53	0xe0faf84a	0x8af06cff	0xbe3e4346
+	0x18f6bc0a	0x9706da71	0x54dcad4e	0xbd9448d0
+	0x9555e097	0x884e4bb8	0xbe0f0c46	0x837db52d
+	0x39d5085c	0x97578886	0xb933b7e3	0x013b4d7b
+	0x987fd07c	0x4ea7e9d9	0x20b16946	0xbb48b9fd
+	0x6aa637a2	0xf7ac0b91	0x85f198e9	0x2d4baf49
+	0x24ec0411	0x4994aa7d	0xa7c7f51c	0x2393ac06
+	0x5d4571c8	0x6e174904	0x63a5ccaf	0xf72a1a40
+	0x59159d31	0x9a019d51	0x512ae9d6	0xb7e04828
+	0x98fe54c8	0xc55d1c8f	0xfa4db367	0xf0ab2bcc
+	0xbc8018ba	0x23f3bf8e	0xc2176f49	0xcf1e432e
+	0xcdafd7c2	0x82e55995	0x7a9e080c	0x7658e1ba
+	0x6a0f09ae	0x8f16a1e9	0xeba0f77e	0xd0c52ff3
+	0x13a9c1b6	0x1a340c20	0xabe6e15a	0x3da73697
+	0xf1b934de	0x4e52b7cf	0x752f59a8	0x7d76fdc7
+	0x3bb20b01	0x9a8dd5b4	0xe4166bf3	0x98eec94b
+	0xe4354c8c	0x23ada159	0x95a44d3e	0x15478874
+	0x0d8ba705	0x2d4a4de2	0x708ab9e8	0x25e4e3a6
+	0xc0f5f48a	0x52eb242a	0x1718fb82	0xa40cfd32
+	0xd8734956	0x72cd9c88	0x2e208319	0x58c1d73f
+	0x3f37c213	0x6ec72127	0x7fc2139f	0xf11f3bac
+	0x4431769a	0xe4ca8f04	0xc30c02b9	0x57e3f89b
+	0x4d1ab101	0x1c4962d5	0x1227c388	0x24253d2c
+	0xc3d46a2d	0x82430c1c	0x7a0258c5	0x6c96d00f
+	0x45a15ec8	0xff43c82b	0x6e014181	0x0132aaae
+	0x006e4d97	0xeaae7c32	0x29d7df63	0x705a3bcc
+	0x66741778	0x097ccf9d	0x3de6e616	0x5b3acd76
+	0xaa7b79bb	0x34e3b316	0xc3989dce	0x25cda16f
+	0x7d07a9aa	0xee780a8b	0x6544d377	0x07e3a1e8
+	0x6295aa83	0x6f250b8c	0xb1f93f05	0xa2e17f9b
+	0x3f1a3612	0xc8bb56bd	0xcd495e52	0xafe78658
+	0x0bfc26a5	0x76ea5add	0xa8d8cbc4	0x45446df2
+	0x7b19f465	0x546f5543	0xa0dc30cc	0x74de6501
+	0xeecb9b6e	0x298935a4	0x885b1b26	0xb9143423
+	0xcce93223	0xe5b5e087	0x13908140	0x6281677b
+	0x7701c82c	0xad3d74a1	0x80bfa37e	0x33ed0677
+	0xbd4168f7	0x4d3354f4	0xc0cf30c4	0xe3289b44
+	0x0d47aad5	0x94747441	0xdf744f8a	0xa461d3b1
+	0x87790d45	0xb730305a	0x0cafcf3d	0x5603c0f2
+	0xd7173faf	0x81912836	0xca7a5352	0x8e49ff99
+	0x89760ee2	0xc82e08dd	0x5bb91452	0xab382cb5
+	0x83779503	0x92330d0e	0xcb5d625d	0x4ee912a2
+	0xe1392681	0xc53a1814	0x13a53dbc	0x0d292998
+	0x1b5fcae5	0xd0ba4d10	0x52b6c109	0xaee5c7af
+	0xec6c5278	0x3f2fdcb3	0x7c306821	0xaa5dcd52
+	0xb1a7d58b	0xe03556f5	0x766767b1	0x4c197a70
+	0x6ac372b6	0xcff9741c	0x0edb006f	0x645ec6e5
+	0x9c5c9749	0x2c03397d	0x98688628	0xdf6400a6
+	0xb3f0a94f	0xb0044905	0xb58c8ed6	0x5fdf2ead
+	0x89c6e941	0xe57f3640	0xf2991830	0xf81efe51
+	0xc19a8bb4	0x3035fc08	0x77c8cfba	0xe821d2c5
+	0xeb464e3a	0xbc585b43	0xdc346221	0x507e5859
+	0x78123b69	0xcb9a448d	0x0682cc21	0xe1b0bc67
+	0xe127f626	0x2cd2f1c7	0x858db418	0x019523de
+	0x6fc85edc	0x58d67a6a	0x1c34ae12	0x1e0738fc
+	0xd9e2b7d9	0x5956f0d9	0x76ffbb5e	0x8ea99a03
+	0x4f28dc4f	0x4f377244	0xe295aec5	0x6ea98b60
+	0xf00b2493	0x2260b535	0xc0810f7c	0x33188d47
+	0xf105cf3c	0xd8ff2c55	0x205f5f16	0x69f94e83
+	0x5e145007	0x07d02195	0x22f1c594	0xeb813738
+	0x3ec889bf	0x344c6aa0	0xe3fa138d	0xc6776c53
+	0x9a0941b6	0x57acabe4	0xf6b79e0c	0xc1a61dc8
+	0x9c3a4175	0x9a525797	0x7ab647d0	0x815c5b02
+	0x843dfd1b	0xc9124fef	0x7da29da3	0xd1cdb4e2
+	0x7d653eab	0x5369353e	0x6b9ec980	0x50d1b2e7
+	0x3bcc95ab	0xc6b78936	0xc0d6f8db	0xdaecd71f
+	0xbd0233b8	0x362fd051	0x63aa338e	0x22902c76
+	0xadf9081e	0x765a075d	0xe8d43ed4	0xdd6c35d8
+	0x4ba6a975	0x119690f1	0xd7e6b01e	0xd8dca103
+	0x4e22374e	0xbc8ec469	0x57b00417	0x18e8d991
+	0xda02c93f	0xb0228936	0x6ab10d11	0x722b5a1c
+	0xf6363195	0x75785c34	0x5139025d	0xf7a69b80
+	0xb1492176	0xad952fe7	0xe82d0408	0x448916e6
+	0xbdfea2b3	0x856e72cd	0x417e78a0	0xac28fab2
+	0x27c13cdb	0x0b930623	0x12f7b26e	0xf0aed34d
+	0x1f8f749c	0x35222817	0xcac9bacd	0x7f777e74
+	0x97a3e115	0x8f85c9f2	0x1452e0fe	0x7e2ed8b3
+	0x587ed189	0xbc188f85	0x0142c616	0x3444faa6
+	0x01818417	0x2124ff4c	0xeb7197e0	0x63118334
+	0xb29b2be7	0x5ca49b49	0x06f468f7	0x70179c4b
+	0x1e9dd3c9	0x3c7a32b3	0xd92aafd9	0x4dfb63c1
+	0x7fd439fe	0x4058c739	0x9b521f02	0x31825fb4
+	0x3bbe4125	0xaacc1cb0	0xa514cce6	0x68d2cc09
+	0x38b567d5	0xe227ecc3	0x0b24c16c	0xe06c6dc2
+	0x46068fcf	0x5c00e286	0x944697fd	0xc5edfda5
+	0xdf8636fe	0xf282f091	0xd1e8711b	0x6665c15d
+	0x855da354	0x1e62debf	0xda022ca9	0x3c0c64a4
+	0x7562ee7a	0x4acd07ed	0x22508388	0x70630601
+	0x15a16675	0x57b86658	0x5a102137	0x480ad6ed
+	0xa9184349	0xc705efdd	0x48999b87	0xf6e6ba1d
+	0x749e7bed	0xacc5a5b2	0x310b2c7a	0x7861d6fa
+	0xbc55a09f	0x19e737a8	0x2bc6513e	0x3fc6bca3
+	0x4dfea26f	0xe24d8b91	0x83629535	0xd1052687
+	0x20cc4383	0x7aa1e7d7	0x75b153bd	0x2f2a9ddd
+	0x48873223	0x4791b746	0x8fe42fb3	0x9fbbedc9
+	0xd43f965f	0x726a4e05	0x65185962	0x6740ba54
+	0x0b656909	0x581f22c4	0x779c19b1	0xba293041
+	0x26a745c2	0x8ea1971a	0x9ff74024	0xc227ddb7
+	0x5b5ee97a	0x1ae82d7b	0xefc5dad1	0xb5ee41e2
+	0xc8485664	0xd41e7c0b	0x8f8427df	0x6ff3e568
+	0x362a80a9	0x6893e2dc	0x2bda7f0a	0x491e3fc4
+	0x550e8b7a	0x185ca646	0x82760f19	0xe3f78d81
+	0x980ac0a1	0x42933c59	0x88424db2	0x99a6e1c3
+	0xeb739d1a	0x4aca1f81	0x795f7ff9	0x21d4e69f
+	0x1d80bd9f	0x2be3a32a	0x3c0b3c65	0xfb303676
+	0xff635b42	0x294744ea	0xc848d076	0x640370f7
+	0xd35a60af	0x12417850	0xec1ed4cc	0x07667b00
+	0xa76d46f1	0xf932cc84	0xb11f5ec3	0xbd9ac4ae
+	0xf23dc67c	0xa66ea9cd	0xe7e7c4d8	0x492e5337
+	0x5dfa2c73	0x0b4d7290	0xb50d334c	0xfcf14143
+	0x86046298	0x4e1cd1b0	0x4f3a7b97	0xd073633c
+	0x95814eeb	0x6c1fa6b3	0xed98842a	0xee2299bf
+	0xe80ae8c1	0x78757d9a	0x6b053062	0x46ffcd36
+	0xfa60e6d3	0x5390aaff	0xc81a0a94	0xd26e396b
+	0x3cac31cb	0x4c381753	0x18de6247	0x9297661e
+	0xd6825ce0	0xfa31f8a5	0x5e800708	0x737a5a11
+	0x66dc1fd5	0xc67d1f7f	0x778da819	0xa049e76a
+	0x5aab1c1d	0x05c6f21e	0x8b573cc9	0xe44fd3b4
+	0x2490cb7f	0x65905197	0x040e1ff1	0x8a0192a5
+	0x0d46ab54	0xde0e6d81	0xa093f87e	0x819d8b7e
+	0x9b0f2745	0xb66b8de1	0xac8c5c80	0x0dc5313a
+	0xd840809e	0xbc414760	0x4e06e034	0x9d8366da
+	0x4ef6f4dd	0x7488a4c0	0x83ee53fe	0x2011285c
+	0x98ab3f5a	0x300432be	0x4fdd5dec	0xb2748763
+	0xe40d3aed	0x848d99ca	0xc86aaf2e	0x717ecb92
+	0xba543092	0x3f440cd8	0xe4d927ec	0x9cb09261
+	0x426c46ae	0xac3a9a36	0xfe83b64f	0x6947e370
+	0xbc7663a5	0x7debc201	0x651093f0	0xa2962378
+	0x619f6068	0xa06d007e	0xd0c48de3	0x785efedd
+	0xd633152f	0x4ea99c02	0x33fad1d3	0x9c9b3c98
+	0x942fe460	0xfca551f6	0x16a8f197	0x2ad918f3
+	0x94f02ef3	0xd6524fad	0x72d470fb	0xf84e52f3
+	0x8722801e	0xefe0a8a9	0x8e593529	0x019f9d30
+	0x96dc0ace	0x1b768040	0xa49f11e3	0xcff9cbcd
+	0x58b36b7c	0xe29ea1d6	0x455f4346	0x74f0c613
+	0x5a8bf97e	0xda51b363	0x6c576397	0xe9252092
+	0xffa92b65	0xdc2ccaa1	0x30065dbe	0x2b7f108f
+	0xa84346ce	0xc91916ae	0xb4c5ee03	0x416f4879
+	0xcdef4c5a	0x76332689	0xbd319e93	0xb8bcf385
+	0x5e77a40d	0x05de0696	0x52fc9818	0x08faa0ab
+	0x1e67d791	0x25ef893a	0x9f937fc0	0xbed5bfac
+	0x93c5f640	0x0abf759d	0xc0d4d7ce	0xc4ddcfaf
+	0xcd9befd6	0x20ffe316	0x1c07fd48	0x7cfb08fb
+	0x4f28a8d2	0x18678aa9	0x1a2753c1	0x73006703
+	0xb3fc95f3	0xfc0cd3e5	0x7fd92714	0x9fd4671b
+	0xec12027e	0xcf9e56c7	0x7dc68849	0x31e717ee
+	0xbe531bf5	0x94d45305	0xfb405c7b	0x9ad135e1
+	0x723c100e	0x37e302ff	0xa036eac3	0xb3a77e75
+	0xf4c34278	0x349e3c04	0x66df304f	0x2dcf838f
+	0xd82a3e00	0x5bd6e392	0x83b9a9a3	0x14dfba4e
+	0x3873144e	0x71c3347b	0x7a4e65fb	0xcd3ba935
+	0x1153574e	0x83fdf44a	0x49a48aa9	0xe1f9083b
+	0xa8119f21	0x05209f0f	0x14384d4b	0x27bcc004
+	0x745fa1da	0xba6eed19	0xcb47e66d	0x91d6a558
+	0xbad8add2	0x4f1d5fb3	0x4dc75258	0x966f48e2
+	0x120c1609	0x9b13a6d6	0xf0a16805	0x1898766c
+	0xde1b9ff3	0x5a9d507d	0x4a565e8d	0xbe88c31d
+	0x16936be5	0x1f44c02b	0xc23f0825	0x9269546e
+	0x00e3de36	0x5d47f411	0x0b46ab97	0x95e0f199
+	0xe0b995a4	0xb8c3beb5	0xa4432016	0x10cea427
+	0xd300cb4f	0x924d8a9f	0xaffcb88d	0xd1e1e4da
+	0x7da61ca2	0x8bc8f183	0x780a0c28	0xe518dc05
+	0xeba38ea9	0xeb7d767c	0xdaa2103a	0x23364f67
+	0xf02ee3dc	0xebfcfb0b	0x0f22e18f	0xea8fda82
+	0xa23ae037	0x3722e408	0x6738483f	0x33e8165e
+	0x3e9c6495	0x5882f406	0x04ac661d	0x1e85cd16
+	0x827d5265	0xff8d3fc9	0x3d948b6a	0x18801705
+	0xd9347fad	0x30f8f3f6	0x1ea4d500	0xd5f3c765
+	0x828b37f4	0xf15d533d	0x73df58f9	0xe870426e
+	0x928607cc	0xcc5fd660	0x0fb578db	0x75db215f
+	0x8fcebd47	0x48e3e363	0x0f5d9d96	0xa9d0116e
+	0x1503a34d	0x1ff75383	0xe3e24a22	0xfda79fe0
+	0x2661dfd1	0xc1d34c3f	0x971e62ff	0x817f1f64
+	0xb03fc646	0x0c74b735	0x2e81d310	0x701fe3a0
+	0x6d6e6b96	0x0ebf1774	0x604e3178	0xb3737445
+	0x64d91cb5	0x990caa97	0xb977e546	0xabae4409
+	0x4ccddbe4	0x34d7fa5b	0xfe227368	0x95c83782
+	0x52b2408c	0xa20b8018	0xac5db689	0x3ee04364
+	0xffc63f30	0xcc81d116	0xeea99fe6	0x61c785af
+	0x15a718cd	0x24134c77	0x4146e78c	0x75dad204
+	0x7ebc0c8c	0x39948f39	0xcb38fc43	0x9c1e1f63
+	0x48168b5b	0x1c97e121	0xab09a405	0x1cdfbf29
+	0x4334229a	0x9480fcf0	0xc34091d4	0xa44e0419
+	0x546a720e	0x8ba3ee43	0xc8cb3289	0x9d123fd9
+	0x1519a7f7	0x2a585ee3	0x69fc1b81	0xb42ab658
+	0xd231f924	0x2b55834c	0xfae439cf	0x6816fed5
+	0x4728350b	0xff2664dd	0xfe0d8f6a	0x3ed2f728
+	0xc4e4ad5e	0x50347bf7	0xcb8231f2	0x82e044f3
+	0xccfb78c7	0x5c022555	0x481136cb	0x79dc4fe3
+	0xa687f0d5	0x07d65c8a	0x66bca01d	0x9bde6dee
+	0x85a64c04	0x519940ca	0xb22f6e13	0x2b21382c
+	0xbb81c8fb	0x64c04056	0xc73b33c3	0xcf9a79f4
+	0xe6e4b7e4	0xb4152ee3	0xee23a4c4	0x157801be
+	0x543017db	0x95bb0125	0x42511510	0xf557fdbe
+	0xe374e3e4	0x31f68073	0x0de44372	0x38fed503
+	0x57cabf0e	0x34288cda	0x7661344d	0xc2e63fa4
+	0x7f3d4dd9	0x140190e9	0x15d48c13	0x784659de
+	0xeb682991	0xbe375ace	0x2bc63394	0x0d19af78
+	0xbf2bb9a7	0x282380e8	0x74ebb09e	0x11a6a055
+	0x342a3522	0x33d85fa5	0x6c396814	0x303e6ec8
+	0xde031b17	0x191695c5	0x5fe07830	0x62f1b548
+	0x5438d408	0x2cfb1c0a	0x67920f0d	0x9d590b84
+	0x16e7f74f	0x97828a47	0xaf4dcdb3	0x2f6317e3
+	0x6a7a91e1	0xff788f24	0x8e940bc1	0x473842da
+	0x0cf70214	0x7090b9e0	0x71261810	0x3b7df990
+	0x3e669354	0x8759af39	0x77c72d8c	0x0bc8c22b
+	0x7f1b8ba1	0x281fcaef	0xd16accc3	0xccdba102
+	0x1e931718	0xcd67cb44	0xcd19710e	0x7a7f0f36
+	0x375f6e2c	0xd78c5578	0xf55e87a3	0x3ef95e3e
+	0xea710ceb	0x5a072489	0x61fbbf4f	0x5f1d0fc9
+	0x598edde1	0xd7042d39	0x1673d192	0xe6973f99
+	0x084c3ef0	0xbde1539b	0xcdd1bf5e	0xca42632f
+	0x777a38b7	0xf8fecc39	0x8549e0a4	0x625dce14
+	0x6655a073	0xb04e383a	0x44f016ac	0x866c7973
+	0xbb46d5fe	0x994a5098	0x4c3bd918	0x21c73df6
+	0xc1fd4b52	0xd0a9e113	0xa2f03acd	0x974451f9
+	0xedd42ca9	0x38870eec	0x2f3e1b4a	0x79c69186
+	0x15eea43c	0xc90855b9	0xace00357	0x60ce8e33
+	0x80d117ef	0xd854a15a	0x84cd676e	0xa31d1739
+	0xa0ca6d4e	0xe84a4524	0xde0136a5	0xdd79e656
+	0x88b7eaff	0xbd93d15b	0x30ab675e	0x6207f62c
+	0xd5490adb	0x7480e321	0xea81773a	0x387136b1
+	0xd5c22105	0x6e706735	0xa4eb2744	0x0ad9a079
+	0x83349037	0xc330d3fb	0xa81ee533	0x3125b1c8
+	0xd1414bd7	0xa30afc4a	0xd99525e6	0xdaf73c51
+	0xd3b98ee3	0xf5b290c2	0xeb799214	0xc7e9133e
+	0xf8f0076d	0xf445bfe9	0xbdd0518b	0xa30c24b9
+	0xc5d25b6d	0xa25ba659	0x79234f3d	0x86c8e684
+	0x8066483a	0xd961e632	0x832d1959	0x44a38ea1
+	0x9cd3e3a4	0x6b1abcdd	0xe4a7fa59	0x46841d79
+	0xce38e676	0xc2757fed	0xea7f7e78	0x779eff59
+	0xf7ee861b	0x0eb695d9	0x3fe9eb7a	0x6c6290a5
+	0x63cecae9	0x7cedb7e6	0x18878277	0x8008091d
+	0x1df089d5	0x9bbe0075	0x7f59089e	0xde5aa796
+	0xd06bb3e1	0x02e9c5e3	0xcfba6549	0x1bd9fb0a
+	0xb44ab1f1	0x35f7999a	0x95d63438	0x083b9457
+	0xf328d4d5	0x16f37ae5	0x82beada7	0xe26e4fb1
+	0x85864258	0x0192a536	0xd0f8b4f1	0x5ecfb19b
+	0x025fb800	0xee2aaf36	0x792c49aa	0xdd0187c3
+	0x498647b8	0xe1b41a63	0x09ebfd9c	0xc96f26f5
+	0x3fc48981	0x8c68303a	0x47a867b4	0x643df6f6
+	0x84892cef	0x28516233	0xe4c27a44	0xd3129381
+	0x493d3917	0x7062877f	0x74bde3f9	0x72f9e8c6
+	0xa2bb3b66	0x712c2227	0x386d2f0e	0x458392eb
+	0xaebdce7c	0x22555760	0x37c7af5c	0xc651c231
+	0xc8a649b4	0x7d15f31b	0xdcb9328a	0x36ea9cab
+	0x3ada09f8	0xe01b773e	0xb7697f5d	0x917aef7e
+	0x8190eaf6	0x83b98ef2	0xeef18e70	0x697c4607
+	0x0906b079	0xdf06e862	0xf05b4850	0x2ce2f7f5
+	0x0540ca6b	0x682a2bf0	0xbb8263da	0x1422b9f9
+	0x17f35559	0xe2fbcfbe	0x7e8169a8	0x91b8db24
+	0x42856196	0x0be5a1b4	0x28999d2c	0x2f6be076
+	0x5269e8c1	0x48cf5766	0x03591611	0x5b72dbbb
+	0xad300303	0x9eb1aa63	0xb7166a5e	0x6c274e92
+	0xbe0c6a40	0x69fee3ff	0x5a8dc033	0x40cee68b
+	0xab9b80f1	0x2395bfc6	0x4afb3b5c	0x9bfd39bb
+	0x4aab7a4e	0x23df70a9	0xf6c340d1	0xf0f3848f
+	0x90e7fd19	0x25e0a7ed	0x31074934	0xcddd2fb1
+	0x6ea34d68	0xe0f3778b	0x7c860177	0xa26b92e6
+	0x4437a325	0x70fd57a5	0xfc2cfa9b	0x13485039
+	0x1bd4e4e2	0xaaeea86c	0x4de37971	0x75d20efd
+	0x34e1ec93	0x5ad122f3	0x6e2f668b	0x6ea6aac1
+	0x3b94f845	0x8f61513e	0x2e485e46	0xab7132fe
+	0x5e9e8bfa	0x50ab19ec	0x0285e572	0xbe3ad39f
+	0xc478eb3b	0x19a94c85	0xf557c5be	0x36597029
+	0xd37529a8	0x5f0a58ab	0x6417f0ab	0x03d94597
+	0x70120a10	0x2b6db78c	0x3943d9e9	0x66acedbe
+	0xf6b6badc	0x471decb4	0xb73d3e40	0x69502e0b
+	0x341820b7	0x3c2c79b8	0x0a7b038f	0x4a3343ae
+	0x3ae5458f	0xf6848486	0xcbc982dc	0x2dee4059
+	0x35a21444	0x7c8e0bef	0x8a8cfdee	0x1534c92e
+	0xb432312b	0x05b6fa03	0x9b83cf74	0x379159ed
+	0xc21f11b3	0x7282ff01	0xcf0740dc	0xd879705b
+	0x173817fd	0x916f3350	0xa496225c	0x65ddbff8
+	0xd61d525a	0x982e0fce	0xf58fa7e9	0xaf6312f1
+	0x499fa2f0	0x1f793638	0xb03eb6dd	0xd821309e
+	0x4f4a5ed0	0x0cfc458c	0x9b65653d	0xd7c822a0
+	0xe46c1f97	0x5c27b2f6	0xe6354696	0xc4ea6beb
+	0xaf06e287	0x6e8c0b9c	0x74175332	0x11cf494b
+	0xf079ce99	0x4be03c9c	0xa95c2dd5	0xcfdafa90
+	0x3177ca27	0xb2dcee84	0x9201dcd3	0xabebd63c
+	0xd2fc184c	0x37f40e4d	0x77e93ad3	0x0112f0cb
+	0x72f682b8	0xf6f3fc87	0xe6abce78	0xc7cf5e60
+	0xabfd3462	0xe667595d	0x98870028	0x0982701f
+	0x80b9062d	0x6e044289	0xbe7d907a	0x44d68dbc
+	0xc9167700	0xf6c5ec5d	0xc5b4ce20	0x2e1015fe
+	0x55442dfd	0xd7ca7610	0x841c88d3	0x9903db7b
+	0x95ad7edf	0x9ebf0021	0x4fc157ec	0xf600c811
+	0xf1ad1f59	0x0d77c2f1	0x89b8d3d2	0xdd9eee7a
+	0xffb17d22	0x4fca690f	0xc4c1f2d8	0xc8afc94a
+	0x0c7c1745	0x4bb621b6	0x3d75ceda	0x6f9746f0
+	0xf44dbe8e	0x9b850efd	0xaab6180a	0x57527cb7
+	0x3534dd3f	0x1ff6e803	0x76bb9cfc	0xcab36e54
+	0xf385f182	0xffac20da	0x5b8a43bf	0x5fbf4d2f
+	0x2b77642a	0xec1e5c93	0xb0504cac	0xee0e922b
+	0x5e01b38c	0x42dc278a	0x843ab524	0x6992589f
+	0xf6a2af67	0xf346ead1	0x505098e9	0xb00a139c
+	0x2eb081d9	0x3b4cd203	0xd9413240	0x9990a5b6
+	0x5676de55	0xf3adf5b9	0x830c656b	0x79c55512
+	0x369b7724	0x1afeb32e	0x8118eccc	0x07c0c588
+	0xb1a09254	0x2bfed2e0	0x214222eb	0xf502928c
+	0x1bb4ca24	0x6187288f	0x670b0606	0xcbaf70c5
+	0x807f7d2d	0xe78611ab	0x8dd22008	0xb73fd276
+	0xa341efdd	0xb6d8127e	0xbe9fc22b	0x55be147b
+	0xa695937c	0x7708e3e6	0xb725bf90	0xd7c3b12b
+	0xb33f78e1	0x3955a329	0xff0958a8	0x743e23ba
+	0x97e9de7b	0xcc7a689b	0xb151a7de	0xe4984eba
+	0xf195140f	0x4dc261e4	0x6c71f17b	0x093af5c2
+	0x60744fc9	0x0fa1278c	0xda239485	0x038c1f90
+	0x87986901	0xd2357350	0x81fe692f	0x31124229
+	0xc8203adc	0x815d2334	0xc5fd3cf6	0xe2b42ac3
+	0x9c029ef5	0xfe7ac665	0x14e38a95	0x3ebddbef
+	0x28a90740	0xac71efc4	0x94c6a80b	0x4bdf6813
+	0xafee9d1e	0x7fadc051	0x73411618	0x764783c5
+	0xf6060dda	0xbec13966	0xff5875b9	0x324a6ee6
+	0xbf1e3746	0x8c3f5217	0x98c5c05d	0xeb471a9e
+	0x39d7c5db	0xdb2177ca	0xe571d2e1	0x29c0d496
+	0x2023e0df	0x2c96706c	0xe71db3a2	0x8cffa8ec
+	0x8116a4fa	0xb4b69138	0x24b7f4ff	0xaa6378ef
+	0x6046cba2	0x844d9636	0x7aab4c05	0xedc065eb
+	0x19cf7b8f	0xae8a03bd	0x0ab6ab51	0x0bedbda3
+	0x85b64a54	0xceac8f63	0x75125a25	0x955b497d
+	0x465edb99	0x2007e0a9	0xeee988ac	0x1c0643b9
+	0xc7f956f0	0xbf0630a2	0xf7a6c53d	0xa7432f9b
+	0x80d2d9bb	0xe1787fee	0x0aaa4f57	0x06f4272b
+	0xe7493a41	0x2dcd4866	0x30e70a10	0xe955370b
+	0xf0235059	0x01ae1e21	0x963d6d77	0x960cfd6d
+	0x75be5eeb	0x4a86dbab	0xcabc4b66	0x3236c834
+	0xa45290b1	0x659787ff	0xc131650e	0x48d2d9dc
+	0x1a8f7c4c	0x63998c37	0x06c454a9	0x1ef993e1
+	0x41aff645	0x00eb2b91	0x101894e7	0xf9b1a117
+	0x0ed070a2	0x290180da	0x9a14be60	0x6e3d03b1
+	0x4d3d4ecb	0x80d8ef94	0xcf339b07	0x388cf142
+	0x8cdb06fb	0xb617e890	0xfac0d770	0xd1fcf799
+	0x95d67721	0x5ea6a7e6	0x85128e9e	0x7ec079eb
+	0x29717fa8	0xbf09763e	0x0ebd8399	0x3f480024
+	0x87d3e528	0x16dda779	0xb7ac97a9	0x86d52702
+	0x936317c3	0xa5947d34	0xad5cbc91	0xdf5e64bf
+	0x0a8eb1d9	0x715a4b03	0xb808be4c	0xe2765963
+	0xdc2a6110	0xff7d6f90	0x5c739c74	0x155c8b7c
+	0xf395f600	0xf40a488b	0x7fb36cca	0xe9682285
+	0x83ff1c7b	0xe91b8074	0x2a46668f	0xe273d76c
+	0x5dd8c7c8	0x3f8abd13	0xe97e90fd	0xbccca860
+	0x6f0ccf46	0x9c188444	0x61999556	0x8b977e47
+	0x46174143	0xdbadc2f3	0xeb6ba578	0xc4897ba9
+	0xf07a464a	0x36f4753f	0x3364e813	0x36d5c7e8
+	0x4bf18a52	0xdfc3a153	0x1ad55f91	0xfea1e967
+	0x0c85fd48	0x5384a6b0	0x6b8de6e1	0xa151346c
+	0x3e7a6851	0x152d49e1	0x78ceb464	0xca23843c
+	0x6c9d37fe	0x260ce22e	0xcc079bc2	0x7d566992
+	0x668a3668	0xf4279295	0x656265c0	0x400012e9
+	0xc27edd8f	0xc152a52f	0x07bc0d7b	0xe6d35b5d
+	0x8b03c2aa	0xb3766dd3	0xdc3bc28e	0xf34fb1f4
+	0x38dedbed	0xafa38639	0x6e0fe8b0	0x2dd874d0
+	0x5df7dae6	0xaf0d2384	0xeefe7264	0x6a478257
+	0xcdf1ff32	0xa2334718	0x8dd5b342	0xee98b780
+	0x617fb349	0x864925cd	0x46b3c744	0x8040c26e
+	0x3353a788	0xcf239c08	0x02d1cc8a	0xe9dcb96e
+	0x275423ee	0x644ee983	0x3ee92c68	0x89b5ead6
+	0x4a602133	0xd9b3a33e	0x30de9de7	0x3eff27fb
+	0xed3b1293	0xd5a05946	0x372e88c0	0xae88aaff
+	0x91246608	0xce011ebc	0x94550884	0x9d3a85b7
+	0xdda9250d	0x20542a8c	0x94e4af41	0xe1f80d11
+	0x2d82a816	0xba9f7aff	0x582c84c7	0x5c43393e
+	0x8ca04919	0xf5629c65	0x45054732	0x64385e70
+	0x39383a84	0x3f0e29d5	0xfc1e597e	0x79177f66
+	0x233e2caa	0x3ce767ca	0x79637b04	0x416d574c
+	0xb9569e38	0x3b7dac61	0x2f1f86a4	0xe1360d10
+	0xdf186d84	0x1543027c	0x98b43803	0x5b9b960f
+	0x0a591f8c	0x8d76209a	0xc4cfca15	0x073a398e
+	0x66dccca3	0x48719052	0xbf563d06	0x006b07ba
+	0xed497412	0x084caf89	0xc7f1d375	0xf95e97ce
+	0x2e5fa564	0x59c414e8	0x313a7bd9	0x3b8c87b2
+	0xc4963711	0xd6a6f603	0x82ee462a	0xa88093bf
+	0x67e41f29	0x4512ee1e	0xc38e3a82	0xb3ced654
+	0xb75a798d	0x881ef18b	0xc204a60a	0x27f7cc5a
+	0x8d35ad28	0x55594352	0x48a42223	0x259d8299
+	0x499d2033	0x08f5ea05	0x886a5b5f	0x36b20afa
+	0x9d49a192	0x01c82790	0x861342a1	0x60e0c409
+	0x10805370	0x77d499ce	0xa4c7dd65	0xadcf7d07
+	0xb1dde041	0x875c3723	0xd9dee136	0x2ef52a50
+	0x4f604958	0x460a4cdf	0x90c070a6	0x717db9a5
+	0x2fdb4939	0x93e75075	0x5299f7c8	0xa73e1cab
+	0xdd00cf51	0x534c76b3	0xf2f7b53f	0xb1523453
+	0x31e9493c	0xa3257b99	0x879cd2a4	0xd74ad3d2
+	0x5919c860	0x4799f960	0xcf5d884b	0x3c6993c0
+	0x10b6ea4a	0x86fbf23e	0x8c7be0e1	0x4d573966
+	0x1a893b58	0x3d91ee3c	0xdf041806	0x7654f684
+	0xcdb8a2e3	0x790b3d04	0xa9cb7d65	0xfca1b3ab
+	0x143c2c58	0x7595bc5f	0xaf4b4a40	0x57e69cc1
+	0x0dd31961	0x303d1795	0xa2a63e3f	0x20dcc683
+	0xf374c161	0x72105c7f	0xbf2faa0c	0xdfb12f28
+	0x8396721b	0xd75fbb08	0x6941bcfe	0x46c7fac6
+	0xfd526b99	0x72e68fe2	0x0950f9b1	0xbf298858
+	0xd8c0f08b	0x9bf1aa3b	0x21048aa0	0x8a90fb0a
+	0x12036d46	0xe4ca93da	0x7e2cb27e	0x4beaf867
+	0x8d62c893	0xea10003e	0xecac918f	0x86205028
+	0x3b54abeb	0xff5d6617	0x1c267469	0xc68f5c5d
+	0x1f1659c7	0xfd478aca	0x893e1748	0xc7998d21
+	0xd230ec24	0x394ddb56	0xcca6aae4	0x3f2c2f4e
+	0x248ae819	0x67b13e4b	0x5864309f	0x0beff2ce
+	0x33198654	0x4baeb6f3	0x342ada7e	0x4803dd05
+	0xea8892e7	0x5bb0efc9	0x19c01d97	0xa7aeafa5
+	0x70fe7a60	0xc32bca1d	0xbf231477	0xfd38a5d1
+	0x5dda8f7c	0x4f81a2c8	0xf1f60ac8	0x4e5ce4a2
+	0x65e9d910	0x0c874bf7	0x74c3c85c	0x344f381f
+	0x15030e53	0x70127334	0x51c5d7ca	0x044ae0ae
+	0x66f10350	0x3aa8df7a	0x21880a75	0x260d14eb
+	0x133da4c8	0xbbc8e897	0x76756741	0xfe69c06b
+	0x6c95899b	0x411fd880	0x552b7d85	0x3b30d292
+	0x77435e89	0x1355beee	0xdf003991	0x6a15a772
+	0xc5d80050	0xd5c9382c	0x84cdda29	0x94cd9965
+	0xb5a84a3b	0xa08abb0a	0x7a9d6141	0x9bae52cb
+	0x8c07ff9b	0x28061f0f	0x5a0c5e6d	0x9eabdaa1
+	0xc97f23f3	0xead6928f	0x7269206e	0x884229c7
+	0xc7d771c1	0xa3aea19f	0xbbf0ceda	0x4140012e
+	0x8cf90bca	0x5b2d3152	0xf287f031	0x41f8d35b
+	0xa103ebc5	0x5aa73c70	0xacab87c7	0xdcaf712e
+	0x78410214	0x2d9cfdaf	0xd39dfba8	0xadc67ad2
+	0x73cd67c4	0x7aa75914	0x6571e799	0x39adddc2
+	0x8546ffa3	0x6b4bce4e	0xc2e8a1b3	0x1b104196
+	0x55cb07f0	0xb90bc06f	0x0f230543	0xfbadd0aa
+	0xd098422b	0x0e34eafa	0xbee3ddd1	0x4df90b34
+	0x3f29b4db	0xc87e2f94	0xeb54be37	0xc374ff38
+	0xac22f71f	0xa8aebf4e	0xea310c0f	0x6c21369c
+	0xd244dd2a	0xa68d4f48	0xdc6a92e1	0x37caf199
+	0x66082e5d	0xcb124920	0x70af34bf	0xc5796cdc
+	0x368a9147	0x149f376b	0x4e69caae	0x33f33e7e
+	0x5724c343	0x05b13f9d	0x01b87bfc	0xfc263eb4
+	0x3c5f38cc	0x0a5f6033	0x2e4a54df	0xf530e3ff
+	0x3d1c60de	0xa4ba42ba	0x9726de09	0x0046806e
+	0x9791823b	0x4d64cdeb	0x88d5e42f	0x597daa59
+	0x1c55c15a	0x39e015a8	0xc538e916	0x00ab7195
+	0x9071b51e	0xd97ae2f7	0x9807d116	0x5cea5164
+	0x8d74c00c	0x6b251b56	0xbf58fbaa	0xac250c07
+	0x945daadc	0xda7917d9	0x7c068d3c	0xc004802d
+	0x0296b4fb	0xe1b1a5e8	0xd5ddcdf5	0xd7b6183c
+	0xe5bd6c42	0x2299abf3	0xfa87e2cf	0x3686128c
+	0x82cb8d29	0x6654136f	0x3e9ab17a	0x44dd6e32
+	0xb44b0faa	0xfafa413f	0xec73d96e	0xce064861
+	0xd411bf46	0x8e4e4621	0x2218e385	0xc535040f
+	0x6cd85d4f	0x514bf4a3	0x9ea8d8aa	0x8ba6bb48
+	0xf46738b1	0x3f04c9a7	0x52c13abe	0x83ced633
+	0xd7664fef	0xfdcdc5ec	0xc1f2e432	0x889da687
+	0x620ecf91	0x7af5d799	0xe69493b7	0x5b738999
+	0x4d2cc130	0xa30be59f	0xe9b5473e	0x71896548
+	0x906b8a23	0x5a76224f	0xda560e42	0x3b92f7b2
+	0x4a90e2b4	0x6c2a9744	0x0a0219ad	0x845e3b08
+	0xf3fe408b	0x4745a6dd	0xbfa574d2	0xfa49e8fa
+	0x44940ff1	0x086b919f	0xefb7460f	0x550eb161
+	0xb032a166	0xfa434888	0xc4cc385f	0xfd2ff664
+	0x3d4c1f99	0x82c06f59	0x2de837b1	0x6b52dd0f
+	0xb6ad23b1	0xd05151b3	0x0a2871e0	0xe85226f7
+	0x9043c92d	0x79058576	0x33a962f5	0x17cff6fe
+	0x0b78888e	0x6622d840	0xbbe1be04	0xa50efc0e
+	0xb53934a8	0xb4ea37d1	0x9f4436c7	0xfb53b5f0
+	0x6e68d93d	0x30184ced	0x14fcfaba	0x38a492a8
+	0xe6f0a8cf	0x9099de6f	0x5765d144	0xe111d965
+	0xa473138d	0x3be66029	0x1d365c34	0x4deb53d2
+	0x5e9c4f90	0x68b67bf3	0x0c897ffa	0x93b561a5
+	0x8f5eac9e	0x091c8c8f	0x4fa0298b	0x7e38101b
+	0x34c62801	0x0f735c36	0x419ff5a9	0x9d8e68e3
+	0xd8038989	0x1bee76c9	0x38089cfe	0x7d19097c
+	0xbf31a9da	0x33bb0d59	0xc76b443b	0x1ee83f21
+	0x807f8f06	0x0ee9612b	0x3f459f79	0x103d2f72
+	0x8da89260	0xacee343c	0xa46b2d58	0x2a60396b
+	0xd117b1b9	0x612c34e2	0x591fb909	0xc8144a5a
+	0x0d779add	0xb6b76e8c	0x7d5e1708	0x55f21741
+	0xeeeba67c	0x0eafa75b	0xde498575	0xd15fb914
+	0x6ddf1959	0x7bc7b6a6	0xc144abc1	0x26afb10f
+	0xb29b7512	0x7815d027	0xbec51943	0x7d6583b5
+	0x8f26a407	0xb7bfd258	0x8cfcf59a	0x0a7a9e66
+	0xde51a634	0x3f787f74	0xcaa26da4	0x736c83ee
+	0x4634c5e8	0x66b64dd5	0xae95b8bf	0xe2bd2894
+	0xfd8ba4ec	0x0c20a2c7	0x813a64ad	0xc60af07a
+	0x732dc477	0x601e0197	0xe04ac001	0x564bc90f
+	0x4a9d25e7	0x11f65eb9	0xe6fea958	0x223da6c8
+	0x8581f601	0x88145d23	0x1bd42c0f	0x04f2d28a
+	0xe24654c9	0x5b08d2cb	0xf6546ffa	0xa5a744df
+	0x4cb791c2	0x61f5f89c	0x6b803a24	0x5f546567
+	0xb1199d2c	0x2a22c0c7	0xd2ae5c0d	0x090c6055
+	0xe1037d8e	0x7b41db99	0x7514e362	0x17fd5157
+	0x34ad8c90	0xff662bf0	0x1f01570e	0xe6169186
+	0x54d47ec5	0xdab4af4a	0x7fb2d49a	0x9e2e4a49
+	0x32c44e3f	0xa6bf1ee2	0x1faf2814	0x29282a53
+	0xd0b72abb	0x2ffbd0f3	0x21006432	0xcd46d7dd
+	0xf64b0313	0x1d03fa9d	0x4389c1d3	0x3703ceec
+	0x36aacd09	0xfef7884d	0x7047cbe7	0x8954f663
+	0xbea645bd	0x2c6b3f10	0x029b36c9	0x96759c04
+	0x10ae8d9b	0x4d85f973	0x756b5ec1	0x2eb35037
+	0x3100e803	0xd01905ad	0x448c28c9	0xbabe98b7
+	0x788d6d6d	0x71da1dab	0xa4927839	0xa56ab98d
+	0x0087dfe0	0xe1337450	0x65585e30	0x99b63afe
+	0xefcaf038	0x2d099c4d	0x32407de0	0x9b094c50
+	0x6ece7c59	0x6d86ec20	0x6a2160cc	0x0bc3e325
+	0xa54f792c	0x0544d34e	0xebaeb072	0x7638ba3d
+	0xc8fc882f	0x0f532d93	0xd77dd024	0x65d4edda
+	0x9c2e5637	0xf73c0d0b	0x16e3d323	0x7de101fe
+	0x91f87849	0xefddd1bf	0x8b24af18	0x233cd450
+	0x2785dca5	0xd2214427	0x59459371	0x7ae571f5
+	0x48ce3223	0x080f86a3	0xd308cefc	0xed2e45e1
+	0x5b6a4315	0x1466f286	0x83ac8bc1	0x5567eed5
+	0x8090b29c	0xeae1d679	0xfc238d76	0xc1eb7c42
+	0xdfdec1be	0x7fdaa172	0x8016c65c	0xe89476ac
+	0x599236f5	0xaa124bb9	0x515ea6f7	0xf16851bd
+	0xa3fa9be1	0x401feacb	0x516145f2	0x77b305e9
+	0xd8cff8b7	0x4300572d	0xa6c42289	0x4a73a9f6
+	0x21e2894f	0x4af4dd20	0x43fc544e	0xcfac2867
+	0x66fc9def	0x7332fdfd	0xaaaed04a	0x32ce1d6a
+	0xe6725a79	0x50206ae3	0x2eb4a6f2	0xd0c7df73
+	0xd1bd6097	0x15774ebe	0x4e104db1	0x2f5cfd5a
+	0x3e74d537	0x65716c73	0x08458a3c	0x0b74ce34
+	0xce8d90f2	0x21afc2d5	0x72216251	0xa0f312e6
+	0x253644fe	0x42b7facc	0xe3f4fd41	0xcfc21f7c
+	0xc455fe9d	0x706fe56f	0x8c04af77	0x70751b53
+	0x7df3a3cd	0x43712289	0xe5882298	0x8afd8557
+	0x76462a24	0xbac24d74	0xe165ad81	0x23b9a538
+	0xa71c0137	0x6fb1cbf7	0x0b51ebc8	0x114a447b
+	0xd6e07bfa	0xf0a6c415	0x8cb99dc5	0x2e0e31e9
+	0x1bc18710	0xe4b96a4d	0xdac3872a	0xb741211f
+	0xfe9e7a77	0x76e645b3	0x4852ec86	0x1d6d982a
+	0xfde19d14	0xb6da8f9c	0xa951999d	0xb3086f10
+	0x8aebf978	0x8ee3286e	0xebd52207	0xf1e2a866
+	0x228798dd	0xc8087195	0x2315b21b	0x9b500be0
+	0x9ab8d442	0xf152d839	0x85a8e3ed	0xadcab2ca
+	0x1ebe2197	0x5126e698	0x3dff6302	0x2941336a
+	0x28326340	0x61880041	0xeb2fd2a3	0x3de1e2a2
+	0x1234da0e	0xf3b1549a	0x1f283cd0	0xf3821c39
+	0x59754e35	0xcbb933a2	0x4436d243	0x54ca0de8
+	0xe632538a	0x23869338	0x4d35d0b3	0x285377d1
+	0xbd299300	0x515d7481	0x09b2fc0a	0x98b5bf50
+	0xbab2b7ee	0x8780f346	0xafdfeb1d	0x22ab972c
+	0x71fce448	0xda57ebad	0xfe0a2785	0x01da0d77
+	0x375aaed0	0xa3d414b7	0x4fb19891	0xc707aff2
+	0x8ca1d94a	0xa6d23c03	0x04d6dd16	0xa6b3f879
+	0x1eaae384	0x9b99d588	0xc689af4d	0x4fcc25c1
+	0xcdd7eb3a	0x75b95712	0x62703e21	0x116d06dc
+	0x631c9abc	0x2d3f0c11	0x696bec86	0x7c5c2fbb
+	0x2409cde4	0x6dac2db6	0x3f9bee2f	0xe7e54a27
+	0x56768bcb	0xc0368fbf	0x93fce0d3	0xe92313e4
+	0x093a7b97	0x5d2af760	0xdef2ab6a	0xbf3863a1
+	0x6106d416	0xc434bd1d	0x06d63078	0x2f1c8c81
+	0x755f8476	0xecb494ca	0xb08c6ceb	0x5d593d08
+	0x40c2e068	0x54d3308b	0x936c1d1a	0x4c96a092
+	0x6fa95de8	0xc12a9b48	0x9eb5e5eb	0x98c087b7
+	0x508ce106	0x0915df8f	0xcb43a306	0x05e72250
+	0x21e16fa5	0xb00fd201	0x962639e4	0xb0893d78
+	0x514b8a14	0x8b151be4	0x2fdeffdb	0xa450fe7f
+	0xf0e63b7a	0x4aa0ebff	0x8a8275ef	0xef853a85
+	0x7efab0ab	0x0a4fbd19	0x697ddf85	0x8df6998f
+	0x5e69b745	0xc64c3a08	0x79829f24	0x460e3a41
+	0xcccbdfb3	0x8da90a90	0x39f81dec	0xce305d2b
+	0xbb35f3ff	0xe399aa1e	0xace951a3	0x1bd210df
+	0x5ec90597	0xf325cd5a	0xcbd78d03	0x9d04c0cd
+	0xa86595a5	0xfeefc2e0	0xc0d28407	0x4e9f69cb
+	0x4d4f1bed	0xc970f33c	0x62186944	0xa6c6354e
+	0xde435280	0xc8ea7a55	0xeab20041	0x0e95491c
+	0x78b3821a	0x763ee3b7	0xc8100ce7	0xce83c316
+	0xcc1a0c8c	0x13d1a74f	0x39ecbbde	0xe98145db
+	0xe302f8f5	0x22eb6a20	0xa8f74af8	0x41ddf49e
+	0x8433cd5b	0xc456c28e	0x6afb686e	0xa5db1c39
+	0xc83cb0c9	0x4419fd52	0xd44db362	0x20cd4d63
+	0xada966c8	0x3bacda86	0x437d4ac5	0x13973b39
+	0x4a49b85c	0x99b48075	0x23f0c25b	0xdac8cf6a
+	0xdaab7730	0x19a518fe	0xd95b8162	0x71902b5a
+	0x70013771	0xae97283e	0x4444c4dd	0xfc275dfa
+	0xc29f21fe	0xa39f3abe	0x7cb3e13b	0x35d6cc56
+	0x056ef713	0xe2dc81cf	0x8fd0c22c	0x6db640d2
+	0xfe3ebb1f	0x531c8302	0x80cdaded	0xa9fb8c4f
+	0x274bcf29	0xf62eff4a	0x12bb82b4	0x7e4ad163
+	0xd8b1f0d8	0xae5bae34	0x2165bcef	0xf50ba211
+	0x68557956	0x7e67449e	0x99ee2ccc	0xb8b69f15
+	0xd9b36a24	0x63b27cc6	0x4badcb12	0xea899076
+	0xf975b6e9	0xfe58ebcd	0xc5ff654f	0xcaa7d6fb
+	0x5ea2e405	0x90ae7199	0x72ec3b9a	0x2a453106
+	0x47d3b1a5	0x361d8aa6	0xa149a23f	0xc8f8d390
+	0xe5d7318c	0x326a2bba	0x9118a5a6	0x6c219a33
+	0xe05fb376	0xc9004bd0	0xabe44e0d	0x3870fe2f
+	0x3c728447	0x84406b26	0x318c800a	0x0235ac0f
+	0x16c01806	0x27c4d984	0x8f14f125	0x658b3b5e
+	0xdb28aefc	0x630b641b	0x3fb5ebc4	0x634a85cf
+	0xe80ee19a	0x33e0826b	0x518e6a12	0x999713c8
+	0x667f8d0b	0x0cc9a577	0x508fb0f3	0xa5d6e73d
+	0x20e61c9b	0x50f4f2e7	0x236c8a4c	0xade76a7c
+	0x0fa450c1	0x0c54f03e	0x72fe04be	0x8ff73d80
+	0x392bee56	0x15b5b4c6	0xa62b7a0b	0xb796b3a3
+	0xbbcbf54f	0x80417daf	0xe574a712	0x28001ea8
+	0x5e30a497	0xa6a25c14	0x32ba16c6	0xd661e4a6
+	0x817f509e	0xa496d2fa	0x1e4f8cf4	0x90f78f96
+	0x163925c7	0xdcb0d33d	0xaa865639	0xd3e387a4
+	0x14fcf5ec	0xc21eda73	0x923784b0	0x097bcd98
+	0x0fcda2d8	0xbbb9ebad	0x5f064dae	0x40dc2c31
+	0x7f0a08f9	0xe7dbc5ef	0xe77aac9a	0x591de70b
+	0x2cc62bdf	0x47a345ff	0x81edc110	0x53d48b75
+	0x566557e4	0x0c42d611	0x9edd448d	0xe5f4814a
+	0x27dac99e	0x3f135f84	0x84f9493d	0xd4f2b218
+	0xdbd3f692	0x78c3348e	0xb5af1757	0x763a3c8c
+	0x876b14ae	0x806a90c7	0x4e7f5dc0	0xb4591516
+	0xc91b6579	0xf3df296d	0x3dc74e23	0xa08e7b7f
+	0x14057ec1	0x5871291c	0x5062175d	0x85a85b54
+	0xebf56545	0xc0a81211	0x2598fcfe	0x7eb97d02
+	0x9a854167	0xfd613310	0xfd850f78	0x1fc72c95
+	0x45c218c2	0xd44e9a3c	0xca586f12	0x57c3f9f4
+	0x44802040	0x80064ad7	0x23fc4c50	0xeb9ed0f3
+	0xdcae36be	0x38f6e23f	0xf3385950	0x0e101cae
+	0x1bd16945	0x232547a6	0xf42c3231	0x3711c4f3
+	0x1f7e8a4c	0x31004985	0x12da4ae8	0x543c4828
+	0x7f6818d5	0x921559f3	0xb8d51d29	0x52e0ff15
+	0xfa8fe0c9	0xb828d1e2	0x4521a9d4	0x186f4757
+	0xeaab0188	0x61cb1636	0x516a3dd5	0x9d3f2958
+	0x02b28e7b	0x434d010a	0xb5169c95	0xb65d4e5a
+	0x6321b3c1	0x890ac766	0x308f6b60	0xe54788cd
+	0x9e90752f	0x7036f8bc	0x86f97de0	0x5ec031ce
+	0x14857989	0x9da1e45d	0x5216f2b6	0x4c589080
+	0xfb55177d	0xf671424d	0xfce77383	0x950281b0
+	0x401609f3	0xd9516273	0x219e07b4	0x06a5a04b
+	0x190f2f10	0xbd1c7956	0x0476d223	0xae30e102
+	0x9c5efc75	0xe156c478	0x6f004a43	0x00333843
+	0x6d8e6818	0x382ccf95	0x4c82bfeb	0x7ab758c0
+	0xa459cbd0	0x7be79ec2	0x9cfeed10	0xa9d0caf7
+	0x7192124a	0x902f0cec	0xaa932326	0xb8e7c76c
+	0x130deb5a	0xeb354197	0x7680bf6e	0x54e7bf33
+	0xd4307c79	0xbd907fb3	0xe72b54cd	0x32255b9a
+	0x5a535257	0x3b9d7736	0xb30d0792	0x96b18203
+	0xc4ea711c	0x97fdbc19	0xc59eda9a	0x69cc67fe
+	0xadc51de0	0xfe2a0dd6	0x806cd25b	0xa466a58f
+	0x200f78de	0x1089a442	0xeaa6bd5f	0xc84ac519
+	0xf1e80f62	0x58636f84	0x48f3438b	0xcf725f01
+	0x5a82943d	0x8dbd5a00	0x5c989265	0x60b58123
+	0x80f6d70d	0xfd1d61f9	0xa171fd28	0x5618614a
+	0x841f993f	0x705228f0	0x04016a43	0x56594302
+	0x9828b756	0x50e2ea9d	0x118e59ff	0xc356bb3e
+	0x9f946380	0xf715706c	0x885ef6a1	0xf5f81e59
+	0x98b6f836	0x9a375f8b	0x2842891b	0x85462288
+	0x0669f199	0x25fe39d9	0xec1eff0a	0x78d8116d
+	0xc5973c6d	0x3008a2d8	0x57e18637	0x57ffae27
+	0x3c4ad88e	0xd8e93dc7	0x52ff67e3	0xe5cd75a4
+	0x421c56bf	0x6b15b0f5	0x7f41f7c8	0x60e92dcd
+	0x67c81bd9	0x927b1693	0x245ae76a	0x809aa48a
+	0x15b746ae	0x22bf4dc1	0xbcf5b625	0x9a3c4bac
+	0x14451f53	0x5aad23ab	0x97c9c618	0xdc76caa4
+	0x929066f9	0x4d3d818d	0x6611708f	0x3ce63234
+	0x1b349745	0x5262efcd	0xaefab5a1	0x2306ce0a
+	0x57977451	0x277663b2	0xf772cde9	0x384dd60b
+	0xd8b4b7e3	0x5b3a187d	0xb7692fae	0x45bfff07
+	0xa2043035	0xf851c7fd	0x1a8b848a	0x66b8f87a
+	0x0ae0a524	0xad92f9d6	0xd7565a73	0x5ea51378
+	0xa2319d9e	0x488c427a	0xe9a39c18	0xe2b183de
+	0xfd778117	0xad88bc56	0x14f76023	0x6589b358
+	0x257130a6	0xcb6184d2	0x4aa80502	0xcd5605b7
+	0xf53e19a9	0x9953e7bd	0x669d6448	0xeea8c2ee
+	0xc7b213b6	0x079a1cdd	0xad1d5103	0x5561fb0c
+	0x3bbe50b9	0x9ffa0693	0x78051ade	0x7b73c195
+	0xb414ddba	0x47899188	0x18026d9c	0x2bdbe5ac
+	0x9f65cab3	0x91950d72	0x3dfea1de	0xdd61569c
+	0x6604206d	0xf4ba96b9	0x20820f66	0x7f0b0243
+	0xa6a0f325	0x5eaeb2d9	0xf789bc01	0x1373f654
+	0xd4a47473	0x04425ded	0xdd9a7f3a	0x3abf275a
+	0xe263ea14	0x8f6169ff	0x3a63a3b2	0x87ba15ee
+	0xd0a5a156	0x26bde235	0x931edc59	0x03c4e928
+	0x323aca3c	0xfedf8396	0x209f2f4e	0x1aef810a
+	0xb3f2679c	0x3316418b	0xb553434c	0x8634c005
+	0x30a100ab	0xc245675a	0xb206ea0c	0xedfa5ab1
+	0x6b4b846d	0xfd5fd128	0x29798aec	0x5fc41f53
+	0xb15722b5	0xbe1d3033	0x223adb78	0xc1fe8904
+	0x76de3953	0xaee33aa3	0x10dfc850	0xa6e4a584
+	0x8920dc0d	0x21174399	0x0a5afe74	0x94d90916
+	0x86ecc3da	0xf656eb02	0x85857ecb	0xe3f5ca94
+	0x7cf0e460	0x4e0bf7f3	0x1a04ae50	0x73372cc0
+	0xcccf3b51	0xcdd169d6	0x22b9106a	0x1fa60507
+	0x6925bc91	0xe36356de	0x359f7032	0xe86f8dd8
+	0xc327a0cd	0x2ca53f93	0x6e315548	0xe73a3e92
+	0x8c42965e	0x8645d7ba	0x4770dad3	0x1a7886dc
+	0xec8e8307	0xc8ff6dcc	0x1557a35a	0x4c1b527b
+	0x435da150	0x32bf6ecb	0x6d0bf563	0x3284be9f
+	0xb9b23587	0xa33477da	0xfce96214	0x47972a39
+	0x1fbbf2ca	0x25627d43	0x12f86a56	0xde86b0e9
+	0x124c5903	0x6b86de58	0xf7952a1c	0x1a6b63d0
+	0x9f8bc4d7	0x030e5131	0x44f06ade	0x4f71d355
+	0x2e965410	0x40ca062e	0x70111389	0x660d6267
+	0x678a5c80	0xdc1ad7a2	0xb29961d8	0xd2f26196
+	0xcf275c02	0x3190a61a	0xd45b4aa2	0xbbf7b9db
+	0x7829943c	0xb8f7274b	0x0c1c0585	0x163d0476
+	0x6efc76b5	0xc5fef0f7	0xa75c14f3	0x2cb9fe8e
+	0xd399ce15	0xd2a184a4	0x0768a954	0xcb80d980
+	0xb95cd729	0x4e901b18	0x9eab3bf0	0x7237b401
+	0x6225c6c9	0xc7495145	0x35c2942a	0xf447bcbe
+	0x9a32be83	0x558e59a7	0xb5af8b87	0x0a2d2d98
+	0x8374f2c4	0xf177c03a	0xbb19cdc1	0x01a613fd
+	0xff39389c	0x0e17ed79	0x0475abdb	0x5de4a8d5
+	0xf6b4171f	0x6e8edd0e	0x776b40da	0xb5509e37
+	0xda6f8a3c	0x75fc2c3f	0xd53e31b5	0x66de7c7b
+	0x3406c2f9	0x517bf87a	0xea6ecd3b	0xcfd09c66
+	0xb72b24ff	0x37435510	0x90be4cf0	0x03a452b8
+	0x553e8ca1	0x24214c39	0xe5c0fa12	0xcd1c9c3d
+	0xec7a7231	0xb4fa832c	0xf5de6468	0xe784a3d6
+	0xb9423f69	0x354f9fe3	0x41521557	0xfadd5984
+	0x39ca80ba	0xcbe6c652	0xf3b45a2f	0x6992bbb7
+	0xa4c72b39	0x6854594b	0x82d2ef15	0xd584e39e
+	0x6b3b4fcd	0xdd492030	0x867cd856	0x249b821a
+	0xb0379bed	0x4100e222	0x7312537f	0xcb521849
+	0xceb72aaa	0xac51cc81	0x7586ae8d	0x71f92cff
+	0x311fdbcb	0xd4116dbe	0xab717f42	0x791414ef
+	0x70d4d8f6	0x91f1f135	0x30bc99b3	0x36da6d95
+	0xc48c49c5	0xc803d576	0x5f495677	0xe4262583
+	0x68e4b23e	0x976ba635	0xa0243fbc	0xab04ac6f
+	0xfeaebdf7	0xa81d7fec	0x6b3d049c	0xc3221da5
+	0xe96e56be	0xf858386c	0x562b0da6	0x3e4766ea
+	0xb353cee5	0x94d008f3	0xabec8b06	0x51bf82a8
+	0x7cc0d89a	0xb9cfd0f0	0x13e18bfd	0x6bd00069
+	0x6daedd19	0x6abafb5d	0xbf34f37c	0x2d90a21c
+	0xe9f4d292	0x0a66b943	0x7f1a60d7	0x59ef101c
+	0x54fc6b3b	0xce03a480	0xa08d6b8e	0x06baa20f
+	0xca03542f	0xf0ff27fa	0xc5ece348	0xe47d42c0
+	0xa0d8b8b0	0xed01b33d	0x8dd63d7f	0x5fd02a8a
+	0x81f83853	0xba341238	0x0a63ceb5	0x86406ecf
+	0x7d665976	0xfeba74c4	0x258da3ea	0x204cc408
+	0x11582f04	0xfe3cd7b4	0x3b714588	0x3dc97528
+	0x7f9887dc	0xdd2f6d06	0x7e4d19c9	0xc552514c
+	0x424e75fe	0x7ae62f2c	0xdd9222f2	0x3ba811e5
+	0xd7a0ab49	0x625090f6	0xe5850c24	0x707013ca
+	0xb8ace70d	0x95dac4a6	0x62577f26	0x01d632d1
+	0xa3cf47eb	0xf9b4055f	0x32624c4e	0xff941d8e
+	0x9e5af670	0x93f99de7	0xbbb3954a	0xb227af2b
+	0x3e4ab087	0x02f16e48	0xf28c64d7	0x758792f8
+	0xb21b32e1	0x8f24ee98	0xfd415342	0x456b2172
+	0xdffa483a	0x2a38036f	0x21f6a971	0xdb479757
+	0xbfd259ed	0xcd38e863	0x05279d93	0x09d71d11
+	0xd8e0257d	0x494071d0	0xf157a892	0x4510edd4
+	0x685357ed	0x0390b056	0xbd746b34	0x1d337902
+	0xaeb9ed88	0x112f875c	0x0ed6bf0b	0xecb8fc59
+	0x9bf72b5b	0xa4740376	0x0213572f	0xa8e00b6b
+	0xdc393631	0x4963115b	0x1b6e6818	0x0e73d2f6
+	0x8e954a23	0x9390c58e	0xa983e79c	0x7350ee9c
+	0x96d8a259	0x4a01e546	0xf9868dc6	0xbdf42faf
+	0x7aad50fb	0xbfbba165	0x4f51a747	0xb3bfa5bd
+	0x53809dfe	0xadef7a2a	0x445390c3	0x67725c26
+	0x9b260e5b	0xc2b8e005	0x8cddbee4	0x96d47ac5
+	0xfb60e03a	0x8b52f81e	0x0995ab9b	0x84057106
+	0x2becaca0	0x0fd09571	0xe01aecef	0xa119ab8e
+	0x485f4536	0x595fad9c	0xb9b1ebdf	0xbce19699
+	0x36731f9d	0xe4f16794	0xf6c5aa03	0xbbce3355
+	0x5d93a8a6	0x33383e61	0x050f50f6	0x769d6b3d
+	0x83212d78	0xd149ab11	0xec478081	0x54cc8540
+	0x7201178d	0x1c843939	0x85c75091	0x4f6a9a78
+	0x2759be97	0xf1376629	0x4ce2901c	0x02ec8e45
+	0x6eac63c4	0xb22fa33d	0xb2a7f661	0xfaa77004
+	0x01d9237f	0x10aaa035	0xff7f3513	0x196d1dcc
+	0x7430bda1	0x69b71e23	0xd74a90b6	0x65d74784
+	0xc6490de7	0xd6e9f2e2	0x0b87f40b	0xe8849c1e
+	0x617a85a5	0x92b4512b	0x2d73aa4d	0x899d01fb
+	0x8e982fb6	0x117b432c	0x715f3f5a	0xda4272dd
+	0xf08ae063	0x1218725b	0x95377933	0x3c7b26b9
+	0xf21d2042	0x45c2ba68	0x10809214	0x86daf0a5
+	0x43f02612	0xa33e0ff4	0x3d695563	0x6689b249
+	0xf3cf7710	0x9d0a39b5	0x2aa45670	0x85a326d3
+	0x0af694e9	0x08a6b8b6	0xc8a83fe9	0x6914713f
+	0x08f30177	0xd2c29d1d	0xddda35c4	0x769e7700
+	0x1986d959	0x6689ed32	0x3fdac901	0x70caf3c5
+	0xe63bcab1	0xbcdf809f	0xff6a878c	0xc3d343ef
+	0xd6452e17	0x7177a0ad	0x32ff3fd9	0x1297df84
+	0x9b84eba3	0xba5b1465	0x494ffd04	0x5dbe7244
+	0x21e61112	0xb8b4cd36	0xc7dcd6ec	0xa6c0c3f4
+	0xca16bd6a	0x00a6971f	0x835bc69f	0xd8dc4a5d
+	0x98d10553	0x24f1d85d	0xf4a3956f	0x8ee7dcee
+	0xacc0ed5d	0xe16d9960	0xbe3a381a	0xc0cc0d60
+	0x559ef1b7	0x39d86162	0x93a4cb6f	0xafe29854
+	0xf8b48577	0xbb9d2550	0xafb458ba	0x849c35a9
+	0xa3e207a6	0xa030e543	0xc8e935da	0xe5f32787
+	0x3ea91533	0x1745f72b	0xfdf08a17	0xe89e9f1c
+	0xef67d2de	0x0694671e	0x2f5e3907	0x9fe6dd96
+	0x925640ac	0xde272aa6	0x1dac04ac	0xf94a0f54
+	0xdefabfec	0xe955871d	0x23a1aa04	0x6bf36852
+	0x2211162f	0x5bc98c83	0x3f6924f6	0xb64e7f2d
+	0xea3a8302	0x2110af91	0x75304d77	0xe82d2a4b
+	0xdd7d4da6	0xa98c038b	0xe3a315c4	0x7e5b999c
+	0xf025fa4f	0xf1b7b69d	0xbcb13965	0x96dfcbd7
+	0xd41309a2	0x32ff856f	0x6d37bef7	0xc8bb6095
+	0x66cb32aa	0x1f6162da	0x90bd942a	0xf412e06b
+	0x776966e3	0x387582d1	0xd71a7e8f	0xd75f3b6a
+	0x53734892	0x88eff90d	0x69220b7e	0x3045352f
+	0xdf533e9b	0xc91845da	0x298cc6fa	0x8ba5e6f6
+	0x0f9167de	0xc5978c4d	0x6ea85f96	0xc77f10cc
+	0xd796bf8d	0x480d9931	0x56174c70	0x02174000
+	0x6cc4521f	0x1715f38b	0x913546d0	0x84585357
+	0xc83dc565	0x8e957fc4	0x07d3474e	0x42983e88
+	0x0ff84d07	0xe56208a7	0x16709afb	0xd607f6d2
+	0x6e445f5e	0x73d95fa6	0x712035df	0x4b8fc909
+	0xe5af4df1	0xa758d797	0xf2b9273d	0xc4b62d39
+	0x729c23da	0xc7253a08	0x62b12859	0xcb3fded4
+	0x1454ea1a	0xe8e7e773	0x55924cc7	0xf73f5e6a
+	0x797cac9b	0xbd48c20a	0x4ff6f18e	0x8407e804
+	0x4ab04803	0x5a5334ee	0xfcd7cd6f	0x5ec80f18
+	0xcd164a55	0x67ac6dc3	0xf6e49a75	0x2f69bc0e
+	0x4c0f0211	0xd5ae1cf3	0xf5103445	0xf27bf657
+	0xdf432f9a	0x6eef249b	0x0598d382	0x15109505
+	0xe872af5a	0xd2428b36	0x657d55f9	0x04732810
+	0x3cf097d4	0xb8ef402a	0x62bb44ff	0x665b05f8
+	0x11abb02b	0x42d2aaef	0xa149aa71	0x529ecbea
+	0x683cd7c7	0xb2f09135	0xade28ede	0xc8e59a7a
+	0x803e4b2b	0xa623a7f9	0x3953e208	0x93d4144d
+	0x842aca29	0x58caf86e	0x549d425e	0xf7709fc4
+	0xb50284bb	0x6dbbce3d	0x7796d7b6	0x4899750d
+	0x3382194a	0x19a7bea8	0x73e5465e	0x93ba1c22
+	0x9aa1f2bd	0x7f5691eb	0x3b950058	0xf02cc3ee
+	0xa8f28dc6	0x789cf720	0xd441c4d7	0x35b1c8b1
+	0xc8e842a4	0xff10fe2c	0x425306ff	0x4d6a191c
+	0x22daa4e6	0x519c5fb6	0x2cc4cb10	0xe7120144
+	0x9f4a7d69	0xe6d5fc30	0x75ec0eea	0xa7de2cbe
+	0x5fa59098	0x9df3a6dc	0x52de5d2a	0x82963f9b
+	0x3709a412	0xd626c435	0xa8f00f34	0x3a512069
+	0x006983b6	0x3b0a697e	0xe90bcaff	0x19297264
+	0xf9fceda6	0x18d9d689	0xc9e69d7d	0xbd9710c4
+	0x135279fd	0x4a359c26	0x11166e2d	0x804ad089
+	0xe6d18178	0xd90f71c3	0x0d9a0a8a	0xb7180f54
+	0x6d70facb	0x361be428	0x041f3f0c	0x4cb0c5ad
+	0x614e8d27	0x6527e2fc	0x97ac698e	0xe58d7c00
+	0x1cec1d90	0xb321bee4	0xf3beb812	0xc255076b
+	0x2c4acfff	0x706b6ed9	0x7fad6b11	0xe306510e
+	0x2fe3ddb3	0xb2f08024	0x62e0e2cb	0x5a4f90dd
+	0x210d2a16	0x092c0832	0x9eb04a23	0x96838a58
+	0x12caf300	0x63aa4aee	0x11b6a93d	0x7cb752e4
+	0x435311b8	0xd00aba1a	0xef846a02	0x4ea790a7
+	0xf29ebc8d	0xc336a707	0x630de4a7	0xe45708db
+	0x20db2e1d	0x57cb316c	0xd479b609	0x9af6571d
+	0xdb970db2	0xc9fce654	0x96f09aa5	0x225ba7d4
+	0x2891a63a	0x9b9162eb	0x799def38	0xc6643e22
+	0x44b31cdf	0x8c0a493e	0xaf71100e	0x84127a59
+	0x6f91a01c	0x803ab9dd	0x28e9fb3d	0x161a12b4
+	0xf59c264a	0x29b43833	0xa7aafcf2	0xf6c720d2
+	0x5202b6e1	0x0318c41d	0x7d0ff022	0xe827a277
+	0xf6abd6c1	0x29e0eb01	0x9ab11402	0x83328f75
+	0xb7cb13bd	0x84fb5817	0x5e85ebc6	0x8d99fa64
+	0xff2938ea	0xfa96fc30	0x038fef42	0xc90de80b
+	0x71a9eae0	0x20049e42	0x049ac066	0xdf3e3519
+	0x1b2d5a75	0xbab5f077	0x685f20d3	0x215b1298
+	0x10a9e784	0xae8f4b2a	0xd8dca751	0xbe8c6ee4
+	0x6773524a	0xb2f04d49	0x3c6bff85	0x799ef406
+	0x5c656296	0x801122e6	0x6a1d81bf	0x595fccd2
+	0xcc12da8d	0x4c5e3b60	0x3437b239	0x518f817f
+	0x8e467efc	0x9869a104	0x2461a353	0x3c28f835
+	0x0e67618c	0xc29e23b6	0xfaf34214	0x143cf0b4
+	0xf5a69276	0x4feb63c1	0x704d989c	0x9db3e3fd
+	0x6ba1398a	0xcf57d34a	0x725911bf	0xcf4c858f
+	0x56d964cf	0x0d5fa849	0xe886cca5	0x8e9ea46e
+	0xacd4b8e7	0x95bfe216	0xbb88491d	0x7c88e59c
+	0xeffb9ed3	0x49a4b758	0xefb24fde	0xc0232164
+	0xb4b7ccb1	0x679b78af	0x4d21dffe	0xd45a35d4
+	0x160823de	0xf65e4066	0x341fb2ab	0xd6f614d6
+	0xfbf17ba7	0x5afd13a6	0xa455273d	0x453821f8
+	0xf8f37428	0x2090963f	0x88e8b836	0x38dc985f
+	0x510c17fb	0xe2deebcb	0x069a2f4c	0x1ccee426
+	0x8c443999	0x34eb5aba	0xae95c92c	0xb7f83819
+	0xe4827abc	0xcf417efd	0x2ddc73d9	0x128a6e68
+	0xf46bb0e8	0x64d7bdcf	0x9d8772ee	0xb943c873
+	0x2b0f0c3f	0xab1fbe06	0xca0c4bb7	0xa300b28d
+	0x0c8060b9	0x000484d9	0x5f274f61	0xf9358725
+	0x1aaf33a0	0xb102f1db	0xe86b39cf	0x9e11d9b3
+	0xa0881ca4	0xa3024006	0x46a99267	0xfff365e1
+	0xd2d48d38	0x86d9d95c	0x49c0bfe8	0x1963c548
+	0xe91ca0d1	0xb84e3c1b	0x195eb0a8	0xe3646e97
+	0x916a186a	0x667a2a25	0xa7ab38d5	0x183d43f9
+	0x70bffcc5	0xf154bcb2	0x14c046bb	0xf9ff26e7
+	0x69d79ced	0x48a05fba	0x372a5f9a	0x35b5c9a0
+	0xe0e358db	0x8b5f0dc5	0xc22f701b	0xe683f48d
+	0x5b034911	0x0fed5e7f	0xdb683998	0xd6a9a700
+	0x1badea0d	0x173f4bdb	0x83168ab9	0x1f1923f3
+	0x32ba4e68	0x4c9e79ce	0x8f1f299e	0x7b4f20b3
+	0x1243e98f	0x599dbc27	0x74f24d56	0x0f773707
+	0x09f1e68b	0xa6fdb723	0x29e6e470	0xa3997247
+	0xafa009be	0x742282a1	0xb36642d8	0xb8aa17b3
+	0x3c9af066	0x50b94ed1	0x4761835d	0x8fe20805
+	0x7b858120	0xe440c815	0xcd52cd4b	0x18d6edc6
+	0xa41772fd	0xd148ee14	0x2009222c	0x46c65426
+	0x2795c9df	0x21eb100d	0xc2bd3803	0xfe1d9d76
+	0x7a9d1821	0xbdacbc01	0x1fa45260	0xfb631eda
+	0x894eae94	0xf4b5070e	0xa8d7a16a	0xe98b428b
+	0x1a476a36	0x741e97ed	0x1c77247e	0xc0a72a45
+	0x5427f854	0x4b64d7dc	0x6242e4ee	0x55e328f5
+	0xb248d583	0xcc4cfb27	0x8d86039f	0x7f41761a
+	0x2efd22ca	0xc70922d8	0xc4b573a4	0x15820152
+	0x1c0ba97a	0x6496dbf2	0xb76018bf	0xba84c083
+	0xeff0e5f6	0x763db7db	0x775345a3	0x9b3c003d
+	0x01dbf9e8	0x3cc5b87a	0x47684026	0xd63b0b9f
+	0x0d83eb4f	0xece68b2a	0xdd07b7f1	0xd303743c
+	0x630027b2	0xfef29b84	0x03683911	0xe707c285
+	0x8ebae47c	0x5c19641b	0x35f08e66	0x6cdbc761
+	0x65f0c3dc	0x760b9893	0x8025249c	0x8abb720e
+	0x37dca4c0	0x9694f8d1	0xa1b5805e	0x091749ce
+	0xd8978f50	0xbd4ad496	0xd52d5e2f	0x0fef221c
+	0x6c867aee	0x56c39956	0x223895fb	0x8068532b
+	0x60df98b6	0xb6dd366b	0x5a17e3f3	0x81fcce53
+	0x488c6fce	0x814349f8	0x89cb9ba6	0x3b53e5f6
+	0xe9da7bc2	0xf80568ed	0xab234165	0x371349e7
+	0xd9a947d6	0x1cceec36	0x8573f942	0x7290f0d8
+	0x5f161a82	0x70e3e105	0xa6c26088	0x469cd6ab
+	0x134c630d	0xc5464ce6	0x571a0351	0x8e21b837
+	0x3665d020	0x667bacd3	0x9d196b21	0x111a868e
+	0x0aed7801	0xb97e3b65	0x6808e4a1	0x113eb51a
+	0xa37bb421	0x7c56fd88	0xcd22277f	0xd9c895f1
+	0x68ee5f3b	0xc043f5bf	0x41494580	0xd5b242eb
+	0xc4825a66	0x7c7a56a3	0x0693064e	0xf12d515d
+	0xee675338	0x7b86749a	0x02dd1685	0xa66647fe
+	0x9f5d1795	0x473579b4	0x4ab09d77	0x0dc10dc5
+	0x44026e86	0xdd35ead4	0x8fb96400	0xfdb30e9a
+	0x0588e53c	0x39d80fc9	0x324ad652	0x913a457b
+	0xe669b8dd	0x3eb47660	0x7041bf1a	0x62f98e20
+	0x25968303	0xa02c8b5a	0x6c075fcb	0x1fb183f8
+	0x2e9a679e	0x16edc9c4	0xbd2c4d02	0x422fe595
+	0xa83913d6	0x383e0b59	0xd1447684	0x3cf2b3ab
+	0x66e67b30	0x8cd1527d	0x80a9bb5c	0x4abc2c5c
+	0x66d06ea1	0xb7a64fc9	0x2e539496	0x27555c5c
+	0x9ec3ee3b	0x61a32d28	0x50a76922	0x45ed1f81
+	0x38743d4c	0x9f1eb599	0xce331719	0xc995e2b1
+	0x74dd1277	0x44743eeb	0x6521d577	0x8e76beb8
+	0xea7af3bf	0xdb7f2ffc	0xa630105b	0x89fe0f28
+	0x7a977152	0x9f092cd5	0x5b927403	0x28305b13
+	0xab3c67db	0xcd7f3033	0x16ca25d7	0x8e3f57c3
+	0x8caae435	0xce4b7269	0x3688b9d1	0x369a8493
+	0x6df48a4e	0x0489dd7b	0x5b2e807a	0x3925185a
+	0xcf305c92	0x986b562b	0x60c50830	0x0f4dbf84
+	0x0576611b	0x3839e3ce	0x9af0007a	0x4709eaef
+	0x3d1ad6c4	0xc1eab1bd	0x0a58b099	0x45c204cc
+	0xbf2a5251	0x93cac875	0xd2cfbfde	0xfdd58e30
+	0xe37bfd04	0x3a5263de	0x435cbcb6	0xe09e54f8
+	0xf33cdfb1	0x0b5abf2e	0x0a3c3188	0xc5e37648
+	0x9a7a5ddb	0x1159c4b0	0xe7be16f5	0x0116786d
+	0x96657ab6	0x747e553d	0x5f4b9ec3	0xac693308
+	0xb3415d8d	0x3b685a30	0xf1c42e72	0xcda1f5bc
+	0xd687153a	0xe45ced9f	0x6b2d5657	0xea7c3117
+	0x175104db	0x284929f7	0x13f1c0ef	0xc2a5f183
+	0xeed273f8	0xc92f15db	0xd5f95bd4	0x69885d65
+	0x9c3fb788	0x8b930eea	0x88086995	0x7aab4028
+	0x8a14792e	0x257ec30a	0x2231b1c6	0xf91df891
+	0x2fb015e7	0x1d4bb578	0xff4d6f2d	0xc2c3db5b
+	0xad03584e	0x19a1b1c3	0xf153fe52	0x7ae7f48e
+	0xb8f4c0f8	0xb5d48c52	0xa94fef1d	0xd43eff71
+	0x7bbfd2ba	0xa5f8ea89	0x576fd7b1	0xb2903342
+	0x4273485d	0x131e2843	0xb377d9db	0xfc8ff297
+	0x30a2ddba	0x44a1b8dc	0x01bf515b	0xc0da16e2
+	0x508d9f74	0x7a90a4f1	0x57568e63	0x11a09bdb
+	0x51a604c2	0xfe12e1e8	0x6a9607d6	0xb1a0a789
+	0x6a76e484	0x258166b7	0x8ad6b887	0xc444addc
+	0x517ebf69	0xf79397ff	0x0049f65d	0x9e145a13
+	0xe0068f55	0x027a0364	0x5a0057c7	0x1e6b6f8d
+	0x41698aa4	0x58f4c1f1	0x641caa0b	0x84a9d59e
+	0x8b651eae	0xfbf026a1	0x054304a6	0xbf66fd74
+	0xc00a93fa	0xf863127f	0x52d37b5f	0x46c214dc
+	0x630b5b22	0x091351c2	0xa247c4a7	0x1eacbcfa
+	0x9bceaa14	0x4367f8ee	0x83b3d3bb	0x2b1f13e6
+	0x69643070	0xafc8472c	0x17c26523	0x50edcc79
+	0x3b15944d	0x3c5a1363	0xbf0b4701	0x4f194d5c
+	0x3ba74203	0xf7e493db	0x13f070d4	0x4f42d64d
+	0x5e7a6127	0xca3ba6b4	0x2ff001ae	0xe9ce2be1
+	0x1c584947	0x917fa2fd	0x25b9c328	0x376192fe
+	0xf8f9eaf3	0xb6ec754a	0x58d16bfa	0xf093cc7a
+	0x9f9e6fbe	0x0e02ffdf	0x8dffad5e	0xd72e0790
+	0x0151e220	0x91b565cc	0x7ad2c99c	0xc1955fb0
+	0x12fd0a43	0x9efd7fb3	0xf6e3997b	0x3eb490fd
+	0x708cbf53	0x5dcd89f0	0xd9cf7780	0x507d6bbf
+	0xa7161efc	0xc3723ce7	0xdec81ada	0x276b5d15
+	0xe953f82f	0x35f30ebc	0x1ab1dde1	0xfaeec970
+	0xc7f3f073	0x14e819ea	0x21e2f1d7	0xd559bf86
+	0x772e14e1	0x0eb88848	0x00e69e61	0x8a497d1d
+	0xa963ee2a	0x8ff10aa5	0x37c194a1	0x6a000265
+	0xb55dfca1	0x69f61cea	0xfb2c527c	0xe6d64f5d
+	0xf732b4a1	0xba8c9ff4	0xcaa5d101	0x81053249
+	0x6658aa41	0x857699bb	0xa2f13d14	0x1361bbbd
+	0x2bf2a199	0x00398645	0x070abac4	0x5cce57de
+	0x8267bf14	0x4543d732	0xe47218ae	0x30aef0bf
+	0x2d5edd4b	0x440f9aa8	0x4126c00c	0xb6d99d96
+	0xbb36d858	0x46d38282	0xf8a43705	0xa75557ee
+	0x04327972	0x5bea1e19	0xff8becda	0x2e0a7a49
+	0x574c643b	0x7a5302a1	0x7c2ff01f	0x1257edbf
+	0x15bf9b62	0x03c74cd7	0xd22e143c	0xb891f41b
+	0x533876b2	0xf73f9635	0x19dc3428	0x2c673ac2
+	0x6b682d9f	0x1aeafa18	0x9af0a22c	0xdc43c8f1
+	0x2b786385	0x10f98eb4	0x8aad0a78	0x77d5c4e3
+	0x61a5f667	0xb4aa1847	0x8789a085	0x007ff3d8
+	0x06c7a5db	0xeb3c591b	0xd0a8fef3	0xb9470f57
+	0x9174392f	0x594f6001	0x017a8569	0x10aad33e
+	0x04815079	0x69ea4901	0x076b6aee	0xed30c5d2
+	0x06fc650c	0xf574a085	0xb9c1e1b1	0x3ebb08ce
+	0x285e57fd	0xc24570ed	0x7460c123	0xfd985bb7
+	0xc478bfde	0x877bcc7f	0x493062ce	0xb4cc6a9c
+	0x880e2028	0xa589365a	0x962f15c5	0x703cbe4d
+	0x0d56c4ef	0x193d4d90	0x276b4569	0x9ca9eace
+	0x6d7a304e	0x7c50f0d4	0x5ff737cf	0x46bfd681
+	0x59cdb9d1	0x1f437987	0x17177ff7	0x39e83454
+	0x48fee875	0x5d48fa8e	0x2705b465	0x3c478202
+	0xb199ec9a	0x0108d7f6	0xa43f30ad	0x1576cd45
+	0x59849348	0x0701b1d2	0x32827168	0xf654bcf5
+	0x288297a9	0x533ad0d4	0x9d9696de	0x0f498526
+	0x8fe5ab96	0x957af30e	0x69ffbf6d	0x3b13652a
+	0x46ddd99c	0xd673e4bf	0x97f13d07	0x51b78a76
+	0xb220a001	0xad4c5bdd	0x99d90d52	0xfd892417
+	0x60034f0f	0x1e412240	0xa8197499	0x9995f0a8
+	0xa38cba7e	0xb800d542	0x0e783e44	0x88129fce
+	0x4809663f	0xfec5cb0a	0x52f61a9d	0x14d12170
+	0x2bd8cd03	0x09bf9435	0x73734b1d	0x219ea5d9
+	0x74ed78b0	0x95994396	0x9415ab93	0x3d13a09e
+	0x6fe96774	0xacf99169	0xb4f051c3	0x07f0ea49
+	0x36980427	0xed285a17	0xde1a0009	0x1a7a5a29
+	0x0d609fca	0xcd460bcd	0x7693718a	0x73f57373
+	0xd48e6402	0x2d1d78e0	0x9a77cfc3	0x37909719
+	0x1644b501	0xfd90123c	0xeb4251f2	0xb503e033
+	0xff3e1f6b	0xbe265870	0xf3f21485	0xacb23ea8
+	0x48225e94	0x2fa168a5	0x85fd8d79	0xd93d3433
+	0x00e124e3	0x753715e3	0x493b849b	0x682a18cf
+	0xc0018f99	0xc710e6bf	0xc8e3fa66	0x286bd828
+	0xe17e8c66	0x4721a38a	0x70df0ce3	0x16bdc77d
+	0x66a1f048	0x53328406	0x70f75e77	0x7cd05511
+	0xca4cbb1e	0xb0fbe0ff	0x21f5dc79	0xb447587a
+	0xbe077a4b	0xc6845495	0xad48a151	0x3765dc3e
+	0x6a49324b	0x251b88c1	0xed59bad9	0x5f8f0267
+	0xb59ce794	0x16452ef6	0x5c50ba3e	0x7ed68ede
+	0x84db7efa	0xcaf2ea3b	0x5fdb4ff1	0x6a286fe0
+	0xe94297d6	0x27590c49	0x6f3e12ae	0x19e41cf1
+	0xa0f0502f	0x3cd2e909	0xb2aef610	0x78c5b2d2
+	0xe49209c8	0x6ebe18c5	0xf137a7a7	0x4f4eb99b
+	0xe6d79941	0x07d2bb35	0xd4b7d8f4	0xb25a1399
+	0xb57dc708	0xe59b2408	0x1b5df50c	0x7e0b3879
+	0xcf7b61db	0xe996a300	0xd4dde50d	0x2e55ba95
+	0x8083ceaa	0x2fdf351c	0x6273920f	0x7faed796
+	0x10958965	0xad134825	0x34c002c6	0xaaca47a4
+	0x725f8421	0xac5a6cd3	0x75e0848b	0x5b0df598
+	0xe8d27993	0xfa909486	0x2e298288	0xea3f0e20
+	0xa6339ec0	0x54a648f6	0xa7a801da	0x7c710a28
+	0x68f427a8	0x3af716a2	0x764ca04e	0xfde6554e
+	0xec662cb0	0x8718d0eb	0x0471d858	0xb30d0f68
+	0x80b04ea0	0x7d863a99	0x78f19cd6	0x4916d80a
+	0x89175a16	0x730eea74	0x3746aefe	0xfa1cf6b5
+	0x61adef3c	0x501f951f	0x13745487	0xd1b3ff32
+	0x6884d5e2	0x02496686	0xf83c84d3	0xcae1b806
+	0x83edc94d	0xc7d9566e	0x1433eb37	0x89969700
+	0xa954cc67	0x8ef1253e	0xede17011	0x19f95b50
+	0x170bfd83	0xa2f9ae15	0x1f7ab3ef	0x433b7cbe
+	0x46542510	0xcb24c0c4	0xb6192b4e	0xab31ac5f
+	0x12a28bf6	0x9b30c0a9	0x639cd074	0x6c7ab249
+	0xb34a412e	0xf17389b8	0xf18dde36	0x633b6868
+	0x78830066	0xbcc82cdf	0x60b934e6	0x9353d93b
+	0x294b8e89	0xa81635bb	0x494b2335	0x0ab73edf
+	0xe9252637	0x325fc7f5	0xb40a24e0	0x0523577e
+	0x06b432d9	0x5fddc685	0xfd7acfac	0xace4443d
+	0x569a1a6a	0xbc445236	0xecc5cc92	0x151182ec
+	0xe574f5ec	0x2c56e2bc	0x2af5abce	0x4339c30c
+	0xb55188b9	0x23698d98	0x60820baa	0x93ff7340
+	0x94c3333a	0x20f0e87f	0xab1d9fba	0x35834bea
+	0xd154a699	0xe320890a	0x85bf556d	0x42a2849c
+	0x7ba110dd	0xaee94e55	0xc790062b	0x78a8c168
+	0x66b1329d	0x0b527436	0x012da168	0xd2f0ee39
+	0xb679c867	0xca0a6921	0x940ccadb	0x6946498a
+	0x768d5174	0x5e7fba38	0x383f7c89	0x5c567fb2
+	0x310f24d4	0x4db03e90	0xd1bf21ac	0x8f15e7d0
+	0xa4d86530	0x8044a876	0x91f5130d	0x398f16ff
+	0xc7c1e0e6	0x9938b166	0xe3268899	0xefc1713a
+	0xe57529c5	0xfc878166	0xecf72ded	0x95ddaadc
+	0x0b391002	0x48d721e1	0xc5d1c59c	0xe7b1bebb
+	0x32fc2599	0xef46e6af	0x988769f1	0x71acab79
+	0x490080ac	0x10056692	0x2e11eb27	0x5acacf81
+	0xeae43c4f	0xc9e639d4	0x42d4c5c4	0x950606cc
+	0x3724a3dd	0xaced0ab2	0xccf75ff8	0xa27ca076
+	0x3bd73ecb	0x843f6982	0x48bc7011	0x460fa891
+	0xff7040a1	0xefdec3b5	0x4e32c53c	0xee9410f1
+	0xff88acac	0x38ceac92	0xcd7eee13	0x0fb5c53a
+	0xe6051d62	0xae5cecac	0xe98ab365	0x3c6f4ab6
+	0x3805e767	0xe0afc6cc	0xbb50a97e	0xd77e3cde
+	0x11461b04	0xe3596b3e	0x2462e279	0xd3ce1706
+	0xf5d951bd	0xac5d54e4	0xc5b0e96a	0x4d278b29
+	0x32bf069d	0x5af0d8c8	0x774c9588	0x86541549
+	0xb784a57b	0x62041d1e	0x84fec5e2	0xe7a02d73
+	0x1d74f2a9	0x611e0553	0x3b1d3821	0x1145d1fa
+	0x6c9eb1cc	0xa206315e	0xd144fc48	0x73847ca1
+	0x5029d400	0x7cd55815	0x1b144927	0x9cf7c04c
+	0x9643ea87	0xb16eb72e	0x3aa8837b	0xe8da7e89
+	0xe7da78db	0x5e50528c	0x3da12100	0x1b485ad1
+	0x1b21c0b9	0xb7bd623a	0x01350aa0	0x9ef31e71
+	0x2fd41bdb	0x7c65f063	0xe643f189	0x855b2c38
+	0xfd39766e	0xa29166da	0x85cb19c3	0x0553eec2
+	0xc3981002	0x05c026b5	0x0e6d7f4e	0xe45eda9e
+	0x4a8d4a53	0xf7c0d328	0x7ec10195	0x48aabc2d
+	0xa5162132	0xd673f0d3	0x28370129	0x386ca94f
+	0xc5e4fcab	0x63c14f79	0x156e44ff	0x4ef699dd
+	0x636756ef	0x4e4d0bb3	0xd29b405c	0x91efa47b
+	0x97ed6b3d	0x00f84348	0x0fcc73d8	0xbf412254
+	0x9e13a7e8	0x4fe9d1e1	0xa5f6f2cc	0x41d448a0
+	0x7ec7bad5	0x47656169	0x306ef8e0	0xeda02d50
+	0xc2fe9304	0x7ea7402f	0xb2165f5a	0xe36f3293
+	0xd2bf7174	0x64c1d01c	0x35331b08	0x8815ce43
+	0x0a860ec0	0xf000b1e2	0x22bba533	0xd2466bfc
+	0xfb50c4ee	0x59c255a6	0x08ede5c6	0xae11af6b
+	0x21c567f8	0x2deda390	0xf582c770	0x32a71f68
+	0xe5ca38bd	0x9911a225	0xeff94cde	0x66620d38
+	0xab8bc0c1	0x1682c8bf	0xf4822ea9	0xbbcd0d23
+	0x33bfde90	0xaee20724	0xa257d4ab	0x11802b6c
+	0xb1b1b529	0x31c2d8e8	0x00aa517d	0x4289c462
+	0xfa2fa42c	0x72557fc0	0xb0a54dbb	0xd5fc3e96
+	0xc07e39c3	0x93c0971a	0xa3abd61d	0xb5ad71de
+	0xb195e2c0	0x90e6594d	0xf86668b4	0x1c2f6270
+	0xc77d4f3b	0x6a37da20	0x420517a3	0x1cb5a1f4
+	0xdd65a884	0xd25f8295	0x7e4b9e1a	0xf9218723
+	0x14c15112	0xf5494da7	0x115c0604	0x2ebe1653
+	0x38a7a4c9	0x65d309e1	0x699bd062	0x3ac861b8
+	0x27172a07	0x1bf1ef7d	0xe84020c7	0xf6789173
+	0x9b74b780	0x925900b9	0xd05be0a5	0xccf0d5f9
+	0x7aa80fbe	0x590af161	0x12d33a9a	0xc301a2bb
+	0x27852617	0x277ba895	0xaf4925e4	0xed32ceea
+	0xa577e5e1	0x7d8ee645	0xf7e7afab	0xf4399460
+	0x0f2918e0	0x6f3ebf38	0x6b850f99	0x220658ae
+	0xbbd7637d	0x650f7053	0x7cf7d110	0x9ccea7af
+	0x79a727d6	0x80e9ed94	0x1bf513d8	0x1ab6e5f6
+	0xb4d31711	0x7912ac20	0x9e27d831	0x322ffb9b
+	0xdd8ef385	0x9738f2c6	0x2fd86982	0xf4e8c2c9
+	0xde9db8b1	0x5539d392	0x677fc7a6	0x2c5eb135
+	0x6db4c192	0x9da897e6	0x627d966e	0xed9b7993
+	0x969ca010	0x784e3016	0xda8678d3	0xdc1f0963
+	0x4e7ff6f5	0xb14d0966	0x552e1b93	0x68a43b8c
+	0xa2236345	0xa9b56c06	0x2d07cd9c	0xb6956632
+	0xd779e7a7	0xeccd2305	0x6bf60f0c	0xea0b32ad
+	0x14ea130b	0xb30ee5a9	0x8e076029	0x473f2043
+	0x051b275e	0x415bf046	0x9428b049	0xfa732499
+	0xd8419bf6	0xd4841843	0x2bf32829	0x3fbe2cda
+	0x6faa0fcf	0xfb282345	0x6ed0c2f3	0x08b172fe
+	0xd78bb73e	0x850b4c41	0xd3e9b902	0xc606fc7e
+	0x069dcaf6	0xc8ddc1f5	0x07f3fe56	0x98f43217
+	0xd111880b	0x7280be17	0xc19c6d05	0x28546554
+	0xb38a24cb	0x933951fe	0xef7b0e5f	0x2c0c01cb
+	0x7a8436df	0xee6b863c	0x8f33f6d4	0x861541a1
+	0x53685709	0x86f04b0c	0x7d592b84	0x04846350
+	0xb67cede9	0xdc297b9b	0x08e1ed70	0xe9306e22
+	0x013e379b	0x6635c475	0x00b95612	0x37514ad9
+	0x8c86123e	0x69c21346	0xe7b3d1dc	0xc09150a5
+	0x94b115c8	0x5799e5eb	0xf69cc4f8	0x3646b963
+	0x05e73f71	0x056f7937	0x4858bd19	0xf0cdbcbf
+	0xb7aac562	0x716a0b2d	0x849328dc	0x79bf0fa8
+	0x5092c51c	0x4b43622d	0x10d60769	0x6f981f1c
+	0x163b2b7e	0x210b0d12	0xc905e28b	0x139c2e1b
+	0x39e7ac9a	0xfdea5974	0xd240ee81	0x00b605d6
+	0x5cf6da6d	0xf6e5864c	0x538e2b3a	0x0b68a4d9
+	0x1542f8aa	0x22fdc4b0	0xce0727d9	0xc00509c0
+	0xe2e9da83	0x85e58cd3	0xc3a4cc2a	0x05b733d9
+	0xd142b1b8	0x9b50b224	0x24a4f235	0x7e26e4ff
+	0x72d74616	0xa8118811	0x845249c8	0xb385bea6
+	0x9ae48f64	0x4f3fc38c	0xfb92d503	0xb348fd91
+	>;
diff --git a/arch/x86/dts/microcode/m01406c440a.dtsi b/arch/x86/dts/microcode/m01406c440a.dtsi
new file mode 100644
index 0000000..6fdf211
--- /dev/null
+++ b/arch/x86/dts/microcode/m01406c440a.dtsi
@@ -0,0 +1,4308 @@
+/*
+ * ---
+ * This is a device tree fragment. Use #include to add these properties to a
+ * node.
+ *
+ * Date:
+ */
+
+compatible = "intel,microcode";
+intel,header-version = <1>;
+intel,update-revision = <0x40a>;
+intel,date-code = <0x12182015>;
+intel,processor-signature = <0x406c4>;
+intel,checksum = <0x5807e19a>;
+intel,loader-revision = <1>;
+intel,processor-flags = <0x1>;
+
+/* The first 48-bytes are the public header which repeats the above data */
+data = <
+	0x01000000	0x0a040000	0x15201812	0xc4060400
+	0x9ae10758	0x01000000	0x01000000	0xd00b0100
+	0x000c0100	0x00000000	0x00000000	0x00000000
+	0x00000000	0xa1000000	0x01000200	0x0a040000
+	0x00000000	0x00000000	0x18121520	0xe1420000
+	0x01000000	0xc4060400	0x00000000	0x00000000
+	0x00000000	0x00000000	0x00000000	0x00000000
+	0x00000000	0x00000000	0x00000000	0x00000000
+	0x00000000	0x00000000	0x00000000	0x00000000
+	0x624800aa	0xf01ac54c	0x5a84228f	0xcc79131d
+	0x9feff6a3	0x4a87b5a3	0xac874956	0x7dfe6197
+	0xef44e4c3	0xf91d4958	0x230883b7	0x7382ab6e
+	0xf14324ef	0xf94c28d7	0x9131d196	0xebcf2faa
+	0xc049cb37	0xd1577abd	0x5edbe45a	0x17e1ca1e
+	0xbe9a92c3	0x1c8e1790	0xb3c08b8a	0xca799851
+	0x3f2a8c92	0x1b7e15d8	0x1f44ecb2	0xaeda1838
+	0x0ace8669	0xae9d497e	0x424c680c	0x21b3a3ed
+	0xd924acfe	0xddc126a2	0x26363596	0x21cd999b
+	0x193f9df3	0x037d1953	0xf97a3dc5	0x4c94ad7e
+	0x98b360f0	0xeb90461f	0x438e6d2e	0x30851a0e
+	0xfd623681	0x18782d3c	0x702938c5	0x462df0dd
+	0xf7d67cc1	0x161076a0	0xf06e5db3	0xd861a76b
+	0xa40b06bc	0xed37c69b	0x2b25f98b	0x2b67887d
+	0xbf0131b5	0x571b7c25	0x34eb3752	0x992e406e
+	0x031ba8e7	0xccfc5b1d	0x33f487e9	0xeccc3098
+	0xe452737b	0xb38cc286	0x817bc58f	0x852a7fde
+	0xcbcd1b19	0xab11894a	0xa1f278d7	0x360829c9
+	0x11000000	0x242e4460	0x190ba541	0xd3a20d0c
+	0x7de0fc1d	0xafbe0a08	0x3233d6f4	0x82d82901
+	0x12c67fea	0x927c5686	0x8d45c03e	0xdb650016
+	0x88e39816	0xa493cdea	0x81a87c12	0xadbd5724
+	0xd402794b	0xdde114da	0xa32c6058	0xd820b63c
+	0x712726d9	0xf99787b2	0x1b8628b6	0xbd4c94ff
+	0x70952446	0xa00d56ba	0x36911787	0x5f3ca7d7
+	0x7cc87a67	0x10c77f6f	0x63bb3eaf	0x85f294d3
+	0x3283b281	0x71c85eb4	0x69a72f05	0x5e0f08e0
+	0xdedd727a	0x8f300d0e	0xe1998f90	0x340f0e3f
+	0x8ce037fa	0x801f7160	0x671b364c	0x09c2ba50
+	0x6d506296	0x4760ba91	0x046e581b	0xd5711e70
+	0x58c7279b	0x4376b9b5	0x63cabe1e	0x9c22ec14
+	0xb6752bf0	0x1b4da16f	0x09a0c65f	0xc6dbaf78
+	0x04e7d9aa	0x20895400	0x9516e20b	0x8cb87942
+	0x16f1e580	0x4dc7b3c0	0xec4ea2a3	0xd57a22c3
+	0x51306f3f	0xa9ef572d	0x261efc37	0x9d9e7b4a
+	0xe3024514	0x4a2e2c58	0x3a77c165	0xafab4790
+	0x6ce34d1b	0x04f0ab75	0x2d437f08	0x1d790312
+	0xbac94faa	0x976b9ce9	0xf770def7	0x6ed8427c
+	0xce8a6521	0x1ec7251b	0x10379d55	0x882b8ef8
+	0x58c4e197	0xb2c48b35	0xb3311655	0x8ccdf15a
+	0xf4368e46	0x5e41fe36	0xc6eae59d	0xe4b01c2d
+	0x506e5bc1	0x522095cb	0x32c19087	0x67d400ab
+	0xc46ca675	0xd1b4dc87	0xc41aaf74	0xb75e5de1
+	0x53588482	0x6e168b15	0x3cf9d2eb	0x2a26c991
+	0x868d92e6	0xefd21291	0x0d7d393b	0xd28a6693
+	0xbf850f8b	0x8bab78fa	0x06ef9ab5	0x96bf071e
+	0x4de55407	0x72997fcb	0xc6416709	0x9ba6d026
+	0xf8d588bc	0xbbacd314	0xdbb65892	0x49ce4e3f
+	0x9f7f23c6	0xf3bfb271	0xe3b039ef	0x9721d9d2
+	0xcfeff460	0xf9770555	0x8ecbd41f	0xdbc8de19
+	0x7f16eff1	0x50702a87	0x4e893e88	0xd0fe5546
+	0xd75c268d	0x3b325a3e	0xccb8f848	0xf116b116
+	0xd53bc36b	0x69c3fbca	0x78fca5a7	0xde29e62a
+	0x087fe22c	0xa2341056	0x4d8e470c	0x0897e8e0
+	0x1231c549	0x29fe1948	0x1510df78	0x27dfdf9f
+	0xfa7ac39d	0x02a2d8a3	0xf4e92fcc	0x65f8a856
+	0x0a620586	0x9d8168c6	0xfc2b73e8	0x51aa73cf
+	0x790d1ff2	0xe2eec1ee	0x2b6bf6ae	0x016d719f
+	0x4299ce1e	0xf5b6fb08	0x616eeef7	0x58e7838a
+	0x983a59c5	0xaab03473	0xb493c5cc	0x8f895d01
+	0x7eeb95ed	0xc751e74b	0xd56b648c	0x73397d44
+	0x2044779e	0x76ebf0ac	0xde6e453d	0x314e2211
+	0x75da63a0	0xaebc257e	0x3ed500ca	0xcb90731f
+	0x0e061298	0x202e853c	0x5475c57e	0xf7d590c9
+	0x50d855ad	0xa9a1740a	0xad86458c	0xac935753
+	0x443950f0	0x679449c7	0xfecdc458	0xda126f52
+	0xf95db8ad	0xce83faca	0xd50e170d	0x8985c89a
+	0x21300e90	0x45681348	0x77d41f24	0x7771eae6
+	0x7c649019	0x776f433f	0x1176f3a2	0xba7771a5
+	0xac9add02	0x80a77d73	0x9d532385	0x32a3bf43
+	0x3812be26	0x5f0b64e2	0x661150bf	0x1cda3da3
+	0x25901706	0x5566fc2a	0x4196324b	0xdaf55897
+	0xa182d0d1	0x27753c5c	0x7ed91479	0x670dd712
+	0x79f5e8c5	0xc2a882f7	0x99387af4	0xfbc30997
+	0xb2cbb413	0xe205d416	0x9c380f50	0x3ba30c90
+	0xf80b317f	0x06b74c14	0x5b8780de	0x98735ad4
+	0x335d6f43	0xb2de8a5b	0xeab51ec0	0x6b9bb87b
+	0x49f621d9	0x6dee0720	0xa5a5fbf8	0x576383ad
+	0x8d9fb03e	0xc7c6836f	0xc2b98f2a	0x157973e9
+	0xc3054865	0xb5d5a8f0	0xb2a939d4	0xda7d660c
+	0x5bea5713	0xcd9fb93c	0xd04225a5	0x469c6ef5
+	0x6e1b2189	0xec2038a5	0x48d864c9	0xf96ad8b8
+	0xc311c9f4	0xf293d447	0xda23084d	0xc0cec16b
+	0x4fa98f1d	0x1d65cb44	0x25241ce4	0xec6e71ba
+	0x5c060508	0x864e7590	0xa7bdf4df	0x05fb9183
+	0x70a2ed5e	0x8a7bdfd5	0xea411027	0x19a6c9ff
+	0xcbbc17ac	0x401aa669	0xe6bf3370	0x72f681cb
+	0xbe77a1a9	0xbc6ae060	0x8378299a	0x926ee257
+	0xff603c73	0xdeecde51	0x519d6956	0x5c4c6dd0
+	0xfd29f3e6	0x846667e5	0x2105ef33	0x158f5778
+	0xb894867e	0x162fe780	0x70d1570d	0x27ce89cb
+	0x3bad8e45	0x439d8dce	0xe8667d8b	0x4d47880a
+	0x652c7019	0x5f414acc	0x4339c1a7	0x833ca27c
+	0x32c92aa1	0x243b00bf	0x8e50fe5f	0x7efc7591
+	0x2e0d41f6	0xc67c978f	0x87f2eb1b	0xdcf5e604
+	0x801c6f5c	0x3caaf323	0x82d252d6	0x99fe2e39
+	0xb76a1e41	0x134d9628	0xfc095714	0x45a0825f
+	0x48c60f59	0x2c959a36	0x3d60f4d7	0xe24a8f04
+	0xa3b5f596	0xd9e67450	0x186af1d5	0xa1a1bb77
+	0x031cbf72	0x273f96e1	0x6938dbd2	0xc9613d71
+	0x786056b4	0x41bfff37	0x90dc1359	0x88291b7e
+	0xe087ea2f	0x2a307121	0x8f9ce425	0xeaf83930
+	0x63b737a2	0x63e23ab1	0xbfd9e458	0x423603de
+	0x3fc30a6f	0xcb6142e6	0xa64299b4	0x61c68b5f
+	0x1ba06ed2	0x91887c3e	0xb9aff67f	0x64784f73
+	0x34b0824c	0xc12f97e1	0x94441a34	0xd2080b65
+	0xe1c21c9a	0xa74732a0	0xefa59483	0x5d8a01a7
+	0x1dd6c22e	0x4d480d8f	0xb63a8354	0xa72c3581
+	0xf1df301e	0x5b3f517e	0x26b2082b	0x2b41052b
+	0x9154629f	0xabc7702c	0x1025b356	0x9e85e8ba
+	0x1f544d99	0x2c8ec998	0xe4440160	0xb0deb1a3
+	0x201e3fe8	0x70a7792c	0xfcf41de1	0xe2b2e6aa
+	0x10fc055b	0x373e9fbf	0xffee3e7d	0x2d1baa79
+	0xdb411a57	0xf30ea568	0xe30497de	0xb4682d8c
+	0xb458fbd2	0x5d1d68de	0x02da095c	0x71471bce
+	0x543edc68	0x52187bde	0x98743b08	0x0674aa49
+	0x5dad1705	0x74b009a2	0x765840c7	0x3e1cf377
+	0x3ecbb54e	0x6d5934b9	0x8a67c9ac	0xe1a15fbe
+	0x6e096703	0x24fbe4b3	0x99c9e345	0xd2d520f3
+	0xc5aefea5	0xe9e828b9	0x4e8f47b2	0x92653def
+	0xa7b8249d	0x5f53eb02	0xe3233073	0x1c933c46
+	0xcb682c30	0x7e6e4f1a	0x42015257	0x8cdb5897
+	0xc9cb6caf	0xfd8834a4	0xf353bbb4	0x6a37526a
+	0xadf7562d	0x151f071a	0x960a244f	0x7ca3adb3
+	0x9408588d	0x54bfc516	0x8b66a80b	0x2ed849ec
+	0xf408d6f8	0x20bf2961	0x38131c67	0x79f4be5c
+	0xe439ce8e	0xa497411a	0x75e67d7b	0x89e55132
+	0x5775d8d7	0x945cfe97	0xcb3fab49	0x0f776050
+	0x6a6d6600	0x669e6d18	0x9e919045	0xa4fceac8
+	0xcb9cbb97	0x44ff0303	0x5ab4c9f4	0x6356e012
+	0x153c7cfc	0xd6e436eb	0xff02c626	0xb8c6b9a0
+	0x649e7186	0x7ca5666b	0x7d79feff	0x96a659b7
+	0x52c99b9d	0xcfc545ff	0xe694e092	0x0978951e
+	0x23c1fa45	0xa196acc1	0xfa43a0e7	0xd02e58ac
+	0xa437a7ed	0x928bee99	0xab7a4203	0x476afb0e
+	0x85720b30	0x24c1aa4f	0xf0f5aa46	0xb370c71b
+	0x72c28056	0x6476c6bc	0x371e15a9	0xf1dd6370
+	0x20c99f9c	0xd41af717	0xed13673c	0xcb6c24c9
+	0x76d3038f	0x13ca83ec	0x92f89264	0xf15f7b8f
+	0xf58caccb	0x8c35c1e3	0x09ab9fbb	0xe43b29c3
+	0xab4ea87e	0x38115de0	0x6907638b	0x42348cc1
+	0x46c0541f	0xce20b070	0x85f96b9e	0xfa6a55e2
+	0xde7508eb	0x9f8f1b4f	0xed64d64c	0x440fb418
+	0x58ddfb97	0x13762796	0x7a19e78c	0x1f4532a2
+	0xd77581f6	0x95d2e36e	0xb43f3e07	0x4ee36289
+	0x8e02424c	0x59413984	0x25a857b1	0x85d7f421
+	0xad16de66	0x89889e00	0x41a2419a	0xaa4d9734
+	0x054c611b	0x163792a3	0x5024a4a7	0x28e8c480
+	0xd8d0a170	0xac2789b6	0x9e901eac	0x8dd4c756
+	0xb7e7a78a	0x09cb2f8f	0xcefbf036	0xd76d6b90
+	0x97195548	0x2cb9a698	0x0d8bf470	0xd47a53c5
+	0x7cde7ca3	0x86752d36	0x2b247ff0	0xf88824a6
+	0xffa16b3b	0x6cdce7fc	0x3b4616a0	0xa10175d7
+	0x9582056c	0x430e2b58	0x87fc2c37	0x9f6e818c
+	0xbc1139f1	0x84760da0	0x27a89d38	0x71c5e1af
+	0x131dc64a	0xadd87cc3	0x1e803420	0x742fd011
+	0xd72bd1db	0x0fb75ab1	0x94b49dee	0x72c056ad
+	0x5e6792a0	0x6d555dd0	0x74b1b90b	0x6ad51aca
+	0xfabbeff2	0x100ac64a	0x4809c8d9	0xc34c3576
+	0xea9e97da	0x16e7c254	0x67bb276e	0x051352b1
+	0xa876828c	0xb9050b68	0x220b1342	0x194adca9
+	0x91c155a0	0x13840fb9	0x3d84c855	0x0f556748
+	0xec5c095c	0x843a3203	0xa481fa2c	0xfab143e4
+	0x21644052	0x8c78b21e	0x9aebfce8	0xec06d25f
+	0x3de84e4f	0xf6fcc4ff	0x14939e02	0xdbc002bd
+	0xaf9bb5fa	0x2b2577ec	0xb58e2198	0x8695c42c
+	0xbd4134b3	0x339ad83d	0xb068e618	0x55a79546
+	0xa9d25584	0x8c2686dd	0x65c1fa6c	0x1b923e1a
+	0xf85508f1	0x35405141	0xebc72b0f	0x61dad5d5
+	0xd494ef56	0xce496144	0x95ac0f6a	0x22feb180
+	0x314fa6a2	0x6fdb5569	0x3b545d45	0x04993ded
+	0xcbde0b29	0x79f8402e	0x438f03a4	0x697a2395
+	0xa60c9399	0x6773e016	0x0239bd45	0xb481fb75
+	0x9fa5c550	0x411ef264	0x67860ed6	0x27b2c816
+	0xb51d6798	0xad6fd700	0xc3bda74e	0x56aed35b
+	0xd8c5ccc3	0xfe5f41e4	0xd6bf9729	0x823aced3
+	0xea7be38f	0xab1dc712	0x5cd0bf3a	0x668a68bf
+	0x28456fbf	0xa2dac02b	0x20ace936	0x95b0ba3d
+	0x377b8a1e	0x0dd9c396	0x3c7f2925	0x76818503
+	0xc359dc77	0x00ac4c3f	0xc51174cf	0xc75b0427
+	0x9cddf343	0x5976c090	0xb940ae71	0x67b3149a
+	0x2126db25	0xa0c32f5c	0x0d4478ad	0x7fefc9b0
+	0xb142782d	0xa150a3cf	0x64ad041f	0x0fca8532
+	0x0e8e5348	0x969950ad	0xdd3d8704	0x8ae1c3d2
+	0xc9110da4	0x8d1d9e53	0xdcf5ccd2	0x283b2954
+	0xe9bc7d4c	0x4e3dacfd	0x2101a11f	0xc8931fcb
+	0x248a7c32	0x2f1bad2f	0xa4d4ba90	0x842d6a97
+	0x9688a63e	0xca0c8ad2	0x9f580417	0x46e7fd85
+	0x2d3ebc79	0x47aa9462	0xebbe843f	0xd78153e2
+	0x909560b2	0xf46c5e3f	0x7c290a30	0x56b869f4
+	0x41fd075e	0x0a5b6e52	0x36d2d38a	0xd18b2b9a
+	0xce905361	0x421cdd95	0x8a12d791	0x95ffe01f
+	0xa0164308	0x49a9ee60	0x1905f05a	0xd7d654a1
+	0xf3231a7e	0xd0576e98	0xc24f44e1	0xe2860d3c
+	0x391bd3ef	0x9e69bf4f	0xe72c6172	0x59500290
+	0x3d34636c	0xbd04b4fa	0x895b8094	0x5cc90dd3
+	0xc199504e	0xe9fd3199	0xbc45079f	0xe90b08d1
+	0x73e17406	0x28173cdd	0x99cbd64a	0x7b6d0f22
+	0x841d5dfd	0xdf5ac032	0xd4816d36	0x1f4a3984
+	0xeae96366	0x50ed8bb9	0x4d33650b	0x7128cee3
+	0x37277426	0x471cdd80	0x25fff263	0x6f474b74
+	0xe9aa07cd	0xe1d7efb2	0xc22815f8	0xc608745e
+	0xdbefd2d1	0xd153fcb5	0x6e6bc7f9	0x4882ccfe
+	0xc81e1310	0x81cbd86b	0xbababff2	0xd907a1fa
+	0xcd8cc1fd	0x6189dcb3	0xc09856b7	0x561b5eb7
+	0xca1a86ca	0x44d14be5	0x09e0d9b1	0xabafa3ec
+	0xb195d7ee	0x6bd4ac69	0xd96ca290	0x4646b3de
+	0x946a8de5	0x62e7811f	0x8576b1df	0xd801d15a
+	0xea3b3d1c	0x4b5d2213	0xac6d698d	0x4e6688ba
+	0xa8bd3c7c	0x61b00447	0x636290b7	0x21ea494d
+	0x3f54301b	0xf3fd3625	0x761ee539	0x940e3e52
+	0x83170a07	0xd22f0a78	0x953dec00	0xa38ab91c
+	0xf92c8998	0x67009969	0x87672384	0xe491f9cf
+	0x6b6ddf09	0xff109fa0	0x76a8b76a	0x180ee54d
+	0xcaeb9a0a	0x92c5648f	0x85ff11e2	0x9b2df67b
+	0x4201d9b8	0x8aaf347b	0x4a9dbe10	0xec862b6a
+	0xb71c8b69	0x18b610e6	0x74308a4a	0x48f932f0
+	0xab89e3cd	0x7c8f0ea8	0x1bb5f1bc	0xcdb4357a
+	0xaaf85d77	0xade08dcb	0x590d0607	0x193b1e39
+	0x4a2c0ad8	0xb537ede3	0x18028be0	0xdfdc9b3e
+	0x4ed44a28	0xd99088fb	0x5f463afa	0x30b3406f
+	0x9a841acc	0xe99b8e91	0xd7b8a939	0x681ffaa2
+	0xadbb1fd1	0xfcad4167	0x0112b6f6	0xdc7f9eef
+	0x9fe2e8c3	0x2a6c0b92	0x52455d9c	0x6c8d1640
+	0xbde4c4f8	0x898f0c75	0x888be513	0x547d135c
+	0x1eb060b3	0x065d0c94	0x29dccb26	0x7e8c7b31
+	0xa5447074	0x284dfd0e	0xbf1d6663	0x18c99457
+	0x00347d9b	0xf61a7399	0x97295200	0x5b8496d1
+	0xcbafa538	0x5d98baf9	0x90cee1e6	0x96ff22c0
+	0x18c2a3ac	0x543af7ed	0xeea413c6	0x5bae5343
+	0x8e448ca0	0x6e7d4242	0xaa3f43ce	0x28215051
+	0xf64810cd	0xb5a7e727	0xd7f81460	0x35308099
+	0xeebca740	0x01df1f57	0xb7e65871	0x3ab3b9e9
+	0xee122b31	0x1ac1db5e	0x5e99528f	0x564692be
+	0xea2b238c	0xfee52d82	0xbf986e8f	0x822c1414
+	0xca6d9632	0xf9a2f73b	0x26991573	0xdf31a166
+	0xefd371c8	0xe6a8c9e5	0x98ec2cd3	0xe36a2f4b
+	0x64f72616	0xa7d08fd6	0x93363a09	0x05601635
+	0x1f525f29	0xd63ac5e1	0x6a09abe8	0x3992b4fe
+	0x1d0aaeee	0xb32d924e	0x2d364a4d	0xcc3676a1
+	0xa3570ad3	0xcc42a28e	0xe1209e02	0x5a7a939e
+	0x8baae5a7	0x37970d2e	0x9ad75409	0xc3fe31db
+	0xcbb9e37f	0x00e73ed5	0x03d10ffe	0x7e1abed0
+	0x6184e0a1	0x04dd9992	0xe1a4c0ed	0x1accdc34
+	0xf75029e1	0xeb908c2d	0x7182338b	0x153c755d
+	0xbd920e61	0xb7d99e35	0xd76b3cfb	0xc48e4427
+	0x4918ffa7	0xc3f70d6d	0x7d5b47d4	0x20e585e5
+	0x846d305e	0xd1953927	0x9ecd3367	0x7ea7af8d
+	0xb99c02b9	0x9ff7bcb9	0xe2f9dd77	0x91f7c422
+	0x0b6d6df5	0xb52ee017	0x0c7ac175	0xba7f84a3
+	0x940030e8	0xf3361cf3	0x2c79691e	0xf9f4cbb6
+	0x2adbcc7c	0x4e3216fa	0xeed50c23	0xdfc14253
+	0xf773ac08	0xb7a8fae8	0x8d321ff2	0x9eb7ba88
+	0xfdd06639	0x5edc8612	0x198977c7	0x8d8e1163
+	0x47466343	0x32ef6f8c	0xd61e51c8	0x696e19a6
+	0x03d0d4d8	0x0b06ce47	0xb5f0d0f6	0xc82a4f88
+	0xaad06d48	0x663c5d5d	0x8af24640	0x07bfa68f
+	0x886c17f6	0x6e3f131d	0x74f642e2	0xddcd55d0
+	0x2f30f2f6	0x8411fd8d	0x6d16c414	0xef747761
+	0xdcf2e965	0x005f15bf	0x3cb4cf17	0x47489073
+	0x436c5651	0xb762078b	0xed30e15c	0x1a7d5f47
+	0x908482ad	0xbb10cf3d	0xc11ab477	0x028d5ddd
+	0xd312ea2f	0xe7dcf336	0x99b07e30	0xe3dcee9a
+	0x4b93c17f	0x7b1a1423	0x2f23ae0c	0xb6913cfc
+	0xb4a9c590	0xbb37ea60	0x5a914eac	0x476b180b
+	0x942673d8	0x01f92634	0xf80a805b	0xb27dff69
+	0x6ae95b74	0x29f3c9d4	0xc100c578	0x4bba9461
+	0x84415667	0xc08eb87f	0xe9ebceed	0x0f81f386
+	0x2c9ef4b6	0x7377e8a2	0x786a5395	0x240f944c
+	0xc473d377	0x51e7ab41	0x9c7c062c	0x9ae8812a
+	0x92e249b9	0xec9ecbbc	0x32ec3b85	0x1e1219b6
+	0x5de07061	0x709f8adf	0xa2617686	0xdfc04de9
+	0x2d9601a5	0x17b91303	0xc2c3b25c	0x6c68286e
+	0x69b80bd5	0xe9170aa7	0xa4e769ef	0xcd59002e
+	0x03c62f50	0xaecaad82	0xa0446f52	0x7235f286
+	0x25842cc2	0x568daa6a	0x745f3c5c	0xb7da088e
+	0xbb7ce303	0x5a26aadb	0x0f300768	0x8075224e
+	0x041a1fc2	0xc42d3a48	0x65e1d2b3	0x0c425eef
+	0xf0be77bb	0x158f5e71	0x4f3b7aed	0x4dc49cdf
+	0xeabf7a1a	0x89ba777b	0x58633b37	0xa1ade7e7
+	0x5636aae2	0x4fa6ebc2	0x53b69d2f	0x08045872
+	0xe7aaa910	0x85b2a487	0xd0efc26e	0x74552637
+	0x094fdaba	0x53d7892b	0x4bc020c7	0x8ade858d
+	0x79ea282a	0xf26d298e	0x3b045781	0x934b0106
+	0xc9079aa7	0x97119415	0x66e6a403	0x89537b45
+	0xe73dfdb7	0xebf01300	0xde74994f	0x02088618
+	0x1b0e2af2	0x5772ed57	0xb602065a	0x17d9a1fc
+	0x1f586b71	0xa97c7aac	0x787bf657	0xc2624036
+	0xe43d1b5d	0xff1a581d	0xd2a70d71	0xe5c6f837
+	0x1b310855	0x58b1cfca	0xb16ac7c8	0xbfdcdbcd
+	0x08d08749	0xbea8c9d7	0x54dd52eb	0xda29929e
+	0x0520bac8	0x8069db1d	0x024e2433	0x2f58dd5b
+	0x2675d219	0x07a63f8b	0xb434bea2	0x9de76b17
+	0x42a9ba44	0x24643707	0xd44e6483	0xda2acc9b
+	0x35ec2061	0xad77a18c	0xcb5297c8	0xe4205cea
+	0xc6c373af	0xf54fa587	0xcd7e17da	0x746b1c4a
+	0x6f2622fe	0xfbb62c51	0xe6c2e806	0xf0783a39
+	0x310894c9	0xe45a1590	0x9e16bf7a	0xc8b3e0fd
+	0x3926836c	0x7703d031	0x460b069b	0x4bfa3cdb
+	0x8d5d2129	0x9785ecb9	0xe1e1599e	0x10ccdc77
+	0x7523c7ca	0x04b71d48	0x460a5b56	0x20276dee
+	0xd2ddb422	0xa647fac5	0x5a6b9c9b	0x7ae06c9f
+	0x804a66b1	0x4198f056	0x54bd34a9	0xa2911284
+	0x381172c1	0xfe4c4593	0xb3eee29d	0xf1df50b6
+	0x1fa0521f	0x1bae484c	0x400bc170	0x2284b14a
+	0x36378b02	0x474cdb9d	0x125ce7b4	0xccf8ca2a
+	0xcad1435a	0x6b3ef3ad	0x07911869	0x5d2af5f9
+	0xe890a391	0x84db947c	0x92a296bb	0x5e47a853
+	0x8f8e9b02	0x8217b798	0x5d0c8fdb	0x4b82a1bf
+	0xbb9d9ddc	0x5c3646de	0x38409ae3	0x5a0334f8
+	0x0ca6ae23	0x7cf66ad7	0x0bc3c769	0xdd7e58bf
+	0xee9348a7	0x29c5df89	0x310819f8	0x624f6de8
+	0x08ed0bf4	0xa3c790ab	0x7289c4da	0xc1a68566
+	0x7061e620	0xc0c7fbcf	0x13f31266	0x0644d951
+	0x763284dc	0xb201e4f9	0x9b21465e	0xfa49ddcc
+	0xe3af7f77	0xf27536fe	0x40f5e4ff	0xaa8433f7
+	0x319dd056	0xeb2b211c	0xd588d768	0xef8c823e
+	0xa743d935	0x107e2582	0xc23ce2ff	0x99fdb245
+	0x0965cc02	0x73ce4b97	0x0118f1ab	0x28c575b6
+	0xa3655e07	0x48409d8c	0x3bd10f75	0xd3634366
+	0xcd293761	0x15db1b25	0x1fccb21f	0xe8141f3a
+	0xbcd89ad1	0x53ceb99a	0x39e80422	0x95592406
+	0xe56956af	0x26e87b88	0x47ef03f3	0x37220d2a
+	0x092e1bab	0x5b5984c9	0x6dea2c0f	0x7cad0369
+	0xb4f0dbb7	0xc18cc43f	0x4195b382	0x4f5f7d63
+	0x0f6cfdbe	0xf5a3df66	0x9e25dced	0xfd2310d3
+	0x2f137c49	0x33986698	0xd4ba0c96	0xae11d033
+	0xe8b72cb4	0x70e814ef	0xe978353f	0x1b568ba4
+	0x89889582	0x0387b214	0xc58d0ae0	0xaf8ca49f
+	0xc3fbc17e	0xc30d40d5	0x9e74edac	0x12f94383
+	0x68d6f1ce	0x8dc5d480	0x3a3d7eb9	0xf03046c3
+	0x722aec23	0x6d4f55f5	0xf3ece7fe	0x6a8d9df1
+	0x749060b1	0x9c170b8a	0xe6281454	0x748ce6d6
+	0x2d91dc4d	0x5b173596	0xf359c629	0x2c6f17b6
+	0x0aed39cd	0x31e749b6	0xd0b8f062	0x0813d11b
+	0x189fb015	0x3cab2e97	0x058fba0c	0xfd1b6651
+	0x9a8e844b	0x50524773	0xb2db8548	0xf254761d
+	0xf0e00ce5	0x246621f0	0xc0bc81ae	0x035b8d5a
+	0x5cd39846	0x65210952	0xde9c544f	0x94b50762
+	0x959c2d0e	0xf7966e26	0xeb92273d	0x25fbb61e
+	0xb8af3176	0xe0ee6870	0x86ee2b1d	0xd4f9666c
+	0xfda83623	0x49c6fbeb	0xe14b19c8	0x89c83059
+	0x5bc697bd	0x2e873505	0xb7763e5e	0x5d802426
+	0x6aa1770e	0xa14f4b15	0xfc01f148	0xb55a8463
+	0xc77766b4	0x83d46980	0xabc67a90	0x4581c639
+	0xb24332ae	0x8a6a6a3f	0x45460e3c	0x2f979301
+	0x9da26d46	0xf2d82fc0	0xfcb6d2cf	0xb43d6be0
+	0xba5e1c4c	0xe4a12772	0x2ec2edd7	0x384bb800
+	0x46463f92	0x1ecb6517	0xfe795d3b	0x2b813434
+	0x7f07d577	0x58c2ef7b	0xf7ef6c45	0x5ef14dba
+	0x68d32f84	0xfd41125c	0x1d60f95f	0x80634cad
+	0x7cf1e3af	0xd8e0eecf	0x18ffe0e5	0xfac38b40
+	0xa1470b5a	0xfc573f25	0x71b379e1	0x79ada1cd
+	0xd6202f3a	0x2064d260	0xf81b4a78	0x78bcb6ce
+	0x0a51176c	0xe6f9cca8	0xb6a412ea	0xad2a2046
+	0x3d48bce8	0x248e5b1c	0x58730463	0x3eb87aec
+	0xb2a5d6ae	0x7a6bd456	0x82603999	0xd0419841
+	0xbf3382d3	0x841d04ff	0x31dae79e	0xb44d0cd1
+	0xee88b3ba	0x1ef37747	0xf4e7b3b9	0x7f7588cc
+	0x1ec2693c	0x4cbe2715	0xc1ec14ed	0xa2acbc8a
+	0x5a929034	0x6a6f1665	0xf16a280b	0xf42a69a3
+	0x6fadf80a	0xee4eb89f	0xd4dd24e6	0xc75b26c4
+	0xf6a9f084	0x78eaec74	0x86201788	0x24ea2ef5
+	0xc1d8fa87	0xcc5ff140	0x57caaad1	0xbdd82355
+	0x742f0e34	0xe444c652	0x3e96b2c4	0x2c920561
+	0x0577df04	0xb1f5c5df	0xcd5c19c3	0x9c725e0e
+	0x2154c6da	0x400b719e	0x2bbd900f	0x6f2af9b4
+	0xef235247	0x34ff3448	0xa2203ba7	0xe95a3cac
+	0xa3a75edc	0x0cb75c83	0xd4d58f54	0x9c5d8ed8
+	0x2e198c12	0x68228d38	0x0810e408	0x8f6fc1b6
+	0x17375775	0xbf9b8b3a	0xa4b20362	0x271de049
+	0x27d66314	0xdb8eff9d	0x472b462d	0xa2753e61
+	0x4b08a2e5	0x003fd8a7	0x7132b0aa	0x86cf745d
+	0x04a74a16	0x3f187b59	0x3dec12b6	0x1685ae21
+	0x09cceb45	0xea3f4249	0x18896fc2	0x7b596781
+	0xc3b00701	0xf45b2348	0x9157f33d	0x373afce0
+	0x5ab0f7e7	0xd11dd144	0x789e4a3f	0xa2cf8cc8
+	0x2763e381	0x297093ef	0x1e18ee87	0x5670f2ea
+	0x3870a085	0x7bb26ecd	0x8be4ae47	0xc90a2838
+	0x90253b64	0xb64f3213	0x90316e77	0xa1065312
+	0xc701bfa2	0x78b8b393	0x195f8062	0x455ffd63
+	0x256cae7d	0x14e41781	0x89ab05a3	0x9d06f374
+	0x13ce2d15	0x02e9c362	0x32e3f1cd	0xb5b721cb
+	0xdeadbdcb	0x204cab64	0xbd778fd8	0x8f9099eb
+	0xe99a4ed0	0xbdd90d0a	0xbd00b922	0x8eb31a92
+	0x87bdeab3	0x6b9cf5f0	0xe021d51f	0x2474352e
+	0xd901ebe0	0xd04c0ec0	0x1cfb5498	0x3ef1da8d
+	0x9f5ea3cf	0x919b794e	0x2234462d	0x60a12913
+	0x2b516e1c	0xeb5d63ef	0x59163e77	0x9d0b6c15
+	0x06d29864	0x0ab3e5ff	0x84e5c751	0xededa5d4
+	0x6f2646b8	0xc5343089	0xa1274e11	0xc80fc0de
+	0x25d198bf	0x0cc3c67a	0xedfd0e21	0x3d083ae0
+	0x1e118379	0x5bf6e94f	0xa1d7e95e	0xde69bb24
+	0xf413ebda	0x6230cf49	0x5d2b9510	0x53f7b612
+	0x62c7eba8	0x0f2c0a46	0x68689315	0x66170fd8
+	0x69e271a5	0x227f306c	0x070e6d48	0xcb363e6e
+	0xac73d4e8	0xa86c53a5	0x521e4087	0x723e7829
+	0x030d34ac	0x3a692250	0x7fe37a11	0xd222b160
+	0xb692ab81	0x29711c32	0x63badd8b	0x0c5f88e1
+	0xf9b84e79	0xeeb8d616	0x0fc9a7ce	0x3ac0a073
+	0x04df6e70	0x653ba8d2	0xe7c0fc18	0xca5f74ec
+	0x53b8a32f	0x41f20b6a	0xfa088ea0	0xc236a349
+	0xeb2668ee	0x9a716606	0xb81026ac	0xede58e14
+	0x93577dc1	0x26d623fb	0x2f46d6d1	0x36792a07
+	0x6942680f	0x2eba3000	0x3eb54815	0x9662a861
+	0x1c72420f	0x38ab7e35	0x046e8870	0x1b6ac99f
+	0x9ef80a86	0xb4536aab	0x3018741d	0x4a5f6fd5
+	0x9238b8e4	0x0fff6bfc	0xbc070e77	0x998c5bf8
+	0xe5da6078	0x1f3bbd88	0x45ede937	0x5df05dda
+	0xfadd003d	0x9dc951f8	0xf1b9ab8f	0xa61899f0
+	0x824e94d3	0xc722d831	0xb5b589f5	0x260162b5
+	0x37f56eab	0x28ddbb24	0x9099aae3	0x6a0569d7
+	0x17521d8a	0xfebed88c	0xe0b17f90	0x459d1261
+	0x71720437	0x7774706c	0xdbd8296b	0xe2e930fd
+	0x533108af	0x4ed99a97	0xdb411394	0xd7fc6f52
+	0x2d400e97	0x62179749	0x403b1bea	0x782b58c6
+	0x721a8d7c	0xc16e050e	0x6fabfb33	0x3dacccdf
+	0x1b44eaf5	0xccea00d7	0xaa9db3d4	0x2049ec4c
+	0x8b8fdb66	0xfbe0ae38	0x30fb344c	0x2ffa90f7
+	0x0d5124c6	0xde1167e7	0x75950723	0x7d04f094
+	0x9b4fbfb4	0x30dd0a25	0x678d8e05	0x1593b586
+	0xd6c681c6	0x334d4b89	0x52f1dfc2	0x555e1dd3
+	0x1ef04ae6	0xf6abb115	0xade9597b	0x9a278bc9
+	0x0bf22078	0x91c2e9af	0xdcca425f	0xaa3083d2
+	0x6b743fde	0x50d7a3e2	0x2e896bac	0x99b328c2
+	0xcf5f7b6e	0x637cc0f6	0x1697db57	0xf6861788
+	0x5bc8c0fc	0x2efd58c9	0xe21f95e0	0xf2c37414
+	0x1d6e3802	0x5216077c	0x935067ee	0x0ebda837
+	0x0d9247ef	0xb80cf7db	0xb1d059cd	0x6a2f13a4
+	0xd67a58e0	0x794bdff4	0x5d231283	0x61bf4994
+	0x91b0d200	0x41535f81	0x5b16aac6	0xc07b7c3f
+	0xd8fba065	0x12075029	0x6514862c	0x6b51c7d2
+	0xf0a9945c	0x5d230573	0xe3e465a1	0x9f62b179
+	0xa082de80	0x6f321158	0xd23d6f6f	0x52e89e06
+	0x567a7a26	0x702f271c	0xad6d1773	0x868a4951
+	0x12215303	0x90a03402	0x62cb847b	0xb27525ff
+	0x49143560	0x91295f7b	0x8e55438c	0xf3b89dc5
+	0x42ed6a2e	0x0034b9dd	0x2acdeca8	0xbec43836
+	0x9fb17e97	0xe58b0fa7	0xfa145934	0x85fbb9ad
+	0x95de5881	0x26b0a0d5	0x104f7aa2	0x854eb51e
+	0xb933973a	0x731e627a	0x2993c363	0xcf786c52
+	0x8a4fc24a	0xa595abdf	0x78384c3e	0xb9fb1df4
+	0xf9e57ca0	0x65127da2	0x5a79decc	0xdf4cbeba
+	0xb114bad1	0x337de172	0x0e3ea702	0x6b81da6c
+	0xcd6fcec9	0xfbd9b0ad	0xc64ab9cc	0x7e4a2cfe
+	0x57e95205	0x657ab502	0x5accf277	0x1929a188
+	0x5da83ef9	0x80e6d771	0xf1a53333	0xcf6e37c3
+	0x699e5a6d	0x3347df35	0x2622f61b	0x3cf94535
+	0xa07ec501	0xe54f7046	0x63c5332c	0x2d3820e2
+	0x053b6076	0x0b010f4f	0x7ec1d8c4	0x45b55100
+	0xf30d9a07	0x40d20ca2	0x7f412a03	0xcda1dd71
+	0x275ec460	0xa40f7f27	0x7864652f	0x9df5a051
+	0xdf289605	0xb711264c	0x4361fbb3	0xa0d2f988
+	0xbf6a36d8	0xecc6820e	0x4b55e0a2	0xcf2c9924
+	0xe07bcf08	0x8c377f0b	0x99345c94	0x0134a900
+	0x56f1c367	0x5dcfbfac	0x25360a09	0x49c5ccf6
+	0x922aa36e	0x276eac5f	0x8710bcac	0xc6ea8cb0
+	0x01231ef2	0x8ad4b783	0xc301b63e	0xe2050fca
+	0x03bb94b4	0x4ade55df	0x9d352042	0x125b0dbe
+	0x927cfc5b	0x2a1a4c22	0xa8df1087	0x48f4fcac
+	0x11a9146c	0x9050d4b5	0x50ae4db7	0x3d55d36c
+	0xcda2ab9b	0xaeac16c6	0xd2aba445	0x6e67bb31
+	0xc5e2bc39	0x74b22d9c	0x9ab21d96	0x08c9d930
+	0x644b849a	0x01afe0eb	0x404bc2da	0xc9a72a81
+	0x99fb4563	0xe7c76b3c	0x85c61427	0x5f8965c2
+	0xbac7e3cf	0xb0c0874c	0x5b74d24f	0x7c6b65b6
+	0xad2a6956	0x9b28819d	0x12cb73be	0xb20186e4
+	0xd620106e	0x541cd7bd	0xea9ecc4a	0xf13f0fce
+	0x46c54ec4	0xd152c3ab	0xb2c3f44a	0x1fd51335
+	0xe8700691	0xfb37e2d7	0x9b460ed3	0x02bc94eb
+	0xe6d3c07c	0x5d14b59c	0x4caa9b64	0xc1d5e067
+	0x091822f6	0xcc05772a	0x0582b394	0x26eface0
+	0x2cc18131	0x9c185a07	0x85e1c51e	0x0002022c
+	0xebfe882c	0x0a789198	0x9a08ba3c	0xde2cc070
+	0x2bbd9cfe	0x284afed9	0x0c7379e4	0xf93de40c
+	0xbd37bbe3	0xa9ecefe4	0xf9a158ac	0xbc908d2d
+	0x2bfdd088	0xa361662a	0xb1c0d365	0x8beb7d9d
+	0xfedbdee7	0xc79f3876	0x9960ba9d	0x2034d88d
+	0x958e019e	0x41f39110	0x64da9bc2	0x816abb18
+	0xe63629a5	0x20794d8a	0x662616b8	0xfe9f46d1
+	0x071aac55	0x30d84d05	0xa06cc26b	0xa824df49
+	0x5f14495c	0xabcd0785	0x83179f84	0xf8a0d3e0
+	0xe55eaac9	0xa0c1d5ca	0x57bf9c29	0xa7c88077
+	0x26a94994	0x1d24439b	0xe5bed5dc	0xeb7c690a
+	0xa0b18552	0x7f76b756	0x750a0a29	0x558f21ec
+	0x78bef53e	0x32ccb511	0x151c3954	0xef46ae12
+	0x67ffef39	0x052a28c3	0x22bef7f6	0xf85d4c0c
+	0x7f1f720f	0xf3f17037	0x46dd1bee	0x888db6e8
+	0x341815f3	0xf06776e8	0xdb259c33	0xf9b0e8d6
+	0xd4006773	0xaf315b70	0x9fae82bd	0xb0d94ef6
+	0xe44e2e9d	0x3874a840	0x4b5edbd0	0xafbcf23d
+	0x6f471b90	0xe20da874	0x2d2b5672	0xbeaf33f7
+	0xafed4e5b	0xe8026760	0xf7d5816f	0xdb6a0104
+	0xee342d91	0x3fd028e2	0x46c9d97a	0xfcbbfbb2
+	0xaec52ec7	0x26a53cf0	0x2316bff5	0xc4437f42
+	0x6375d058	0x58a6250d	0xca6a79a1	0x0aeb2a2b
+	0x6aa9e430	0x94fd7d5e	0xb4febd86	0x2e2c543c
+	0x487d8f6b	0x86456252	0x4f4f5113	0x3e754682
+	0x9b06f61e	0x2cd59fea	0x75dfecaf	0xffa22da8
+	0x8d19266a	0x4989fd18	0xeb914d90	0x51c5c90e
+	0xcb93443a	0x5430cc60	0x7505ed40	0xc846f4a7
+	0x6889f168	0x2e4a2483	0xfd343421	0x5f840378
+	0xb1fd6683	0x72cbc8c5	0xa6c3dc64	0xa62b7e66
+	0x0bd334ba	0xd3325eef	0x4995c33f	0x70807fcd
+	0xc00f74f8	0x95bc9b96	0x5d5c427e	0xa4e61238
+	0x4bd67f30	0xb5f77587	0x394d8fef	0x388f2157
+	0x821f9605	0xd9d6c839	0x397448f6	0x909c7fce
+	0xfa33419c	0xe76f2a93	0xd8d82a0a	0x958ad737
+	0xacc2db98	0xde83b149	0x8fdeb3fe	0x22f50686
+	0xf5f12f19	0x995ed87e	0x01e991ea	0x7de09abe
+	0x709cb382	0x1889a44f	0xe08aadff	0x7baaad92
+	0xeebdb9d2	0xd56d750a	0x695ea096	0x5a058e43
+	0xda042ea8	0x65298703	0x9dd245f2	0xe9ad47f0
+	0x7d190a49	0x830be058	0xf04924af	0xb870703b
+	0xea03bf4c	0x9c0cc87f	0x7a17fe68	0x4d116013
+	0x1054c702	0x55c3cf0e	0xa217a2c6	0x7d4ce193
+	0x88b348c1	0x72a4ab9e	0xa354465a	0x766fe13f
+	0xef614370	0x8a144eb7	0xf45c4941	0x6cbde577
+	0x27bd3e2c	0x33858ccb	0x1ff580bd	0x43d9033f
+	0x40836392	0x783ab27e	0x5706c509	0x18bcd812
+	0xcc132c39	0xc3059b54	0xd3c5b401	0x9e0f318c
+	0xffe7fd5e	0x3443ef1e	0x0263afc2	0xa782e17c
+	0xcc606b78	0xe7e5ee02	0x148e0eeb	0xafe85cb7
+	0x9fd7a869	0x46af1217	0xf50b4e8a	0x17aa5daa
+	0xde454b83	0x56cee58f	0x96c2bac1	0xd12e1575
+	0x81af14e2	0x8be3cf30	0x9aa3d338	0x1924840d
+	0xf6e2f7b6	0xd48dd26a	0xf0107e1b	0xe477207d
+	0x21ce17be	0x8cc2ecb3	0x0794ec9d	0x16939e22
+	0xfbf477f5	0x77dae996	0x1b778d69	0x83f0e9b7
+	0xb9864a5f	0xf235d47e	0x11881d8f	0x75250d33
+	0x4ff84f64	0xe6ab23f8	0x3fe1e0ea	0xa1235fb9
+	0xf794936d	0x3cb45af8	0x6741e3fe	0x267beb14
+	0xe9feddc1	0x69644d8c	0x8c4c159a	0x81ef74cf
+	0x7e32e357	0x4577b760	0x6c9f2a13	0xf2b40a0d
+	0x9907e9dd	0x732dbd8d	0xb9bc75e9	0x97400142
+	0xc3a04231	0x8a4b0c8f	0x0892560e	0xbe279fd4
+	0xcbccef1a	0x3a7f36bd	0x6bb2bec3	0x74916369
+	0x6750eb0c	0x0adab860	0x29caab76	0x22278996
+	0x43044e80	0x01ec2031	0xb73889d2	0x883a69ae
+	0xfa282963	0xaba2e3dd	0x28211b19	0x93d2d65d
+	0x925a8da5	0x6938296e	0x56e4a090	0x55e01f10
+	0xc1656a69	0x2ad00f4c	0xf4cc31a4	0xf482cc33
+	0x4db0ab44	0xf7e2fcbe	0xa1b056a9	0x8dbc69d4
+	0x94a0ab45	0x1039c33b	0x22ad0f89	0x96c324a4
+	0x772e8e21	0x4be19286	0xc334d7d9	0x8fe52e6b
+	0xdc575fc8	0x55e093dd	0x4072b164	0x455f5953
+	0xc1be8a20	0xc909e3c8	0x4e014a31	0xd262c165
+	0x3b8c6f36	0xb325686c	0x2a9a5be2	0x2c9d6391
+	0x5833eb46	0x809a3e39	0x79afe57f	0xda8f5d9d
+	0x20edcd04	0x916c1c5b	0x18a08965	0x1237b0e3
+	0x1d306141	0x963c4107	0xe7d19f5d	0x3646a554
+	0x70ddd647	0x347ae7e9	0x6c93751b	0xb8140f9c
+	0xc87a899c	0x9009637a	0xa2121286	0x70274bc7
+	0xfaa6bdd4	0x6a8058c5	0x69288fbd	0x5d99c8f8
+	0x9c17265e	0x627758c0	0x3d0b4a49	0xa0e7e889
+	0x896ca47e	0x2604f3d0	0xf74e9f29	0x5c67cbca
+	0xd182c0c0	0xbb53e30e	0x1760ac60	0x8479de69
+	0x81dc43c9	0xa3502737	0x7a494ce3	0xbf15690c
+	0xf01bbc02	0x11b409ec	0x11f9ae61	0x5ea7db7d
+	0xc6acad70	0x8354f8e8	0x33abdb39	0xc180c9f0
+	0x1bb2bc26	0x8ace959a	0x47bfbf28	0x7260d8f9
+	0x26718357	0x0baec766	0xde8a5471	0xb9363d8f
+	0x7721337c	0xf3058007	0xe1943bbf	0x6c099927
+	0x255ae5c7	0x40f53571	0xbf2730d9	0xb59dcbb5
+	0xe5f30f40	0xb409cf50	0x59bcdad7	0x781c882d
+	0x869ec8d8	0xb7c6da37	0xc90c80ae	0x0fa16b77
+	0x4299f827	0x2994df77	0x5f4bc5d4	0x4fccc675
+	0x18f3397f	0xf361abbe	0x4bab0e91	0xbd254234
+	0x2dc1633f	0x260dfabd	0xdbcd00ee	0x8c4efd98
+	0xec29b992	0xf64a1525	0x07c67439	0x4f94e202
+	0x5faea3e0	0xb92afe2e	0xab4cdaa9	0x626ed8e0
+	0x4dea08ab	0xf9f9bb95	0x7e7c464a	0x387bc35f
+	0x7ff891cd	0x72f159a4	0x850a58d8	0x3ca73efa
+	0x19f4c978	0x68ecb807	0x3a55cbfd	0x6d0befcb
+	0xddd7fb88	0x8907e3e4	0x8b9316ca	0x0c526804
+	0x04e2a4e1	0xe6171958	0x7e1c66b4	0x3541ddd8
+	0xe343d15e	0xb2508465	0xf752e13e	0x6d0080dc
+	0x1d8f4ae8	0x24da3465	0xeb5943f1	0x5fe28985
+	0x6f982104	0x2d0d972d	0xaa8c451c	0xb7e48698
+	0xf669229a	0x7195af34	0x67bcfec9	0xfc5799b7
+	0xfc256d6c	0xc9095e36	0xc29020a0	0x9141b686
+	0xac0ae23f	0x76f0b463	0xecb76e68	0xdca1c5a1
+	0x2d4fca83	0x8953f692	0x31d1912a	0xd816f824
+	0xcb04f062	0xfdbbd34d	0xcf163dcc	0xdb9cff91
+	0x9db9bce5	0x4ca42841	0x4d88103d	0xaf6f09d1
+	0x646928b2	0xb71056d7	0x32560e11	0x6454d746
+	0x0c17c2a9	0xd265ab20	0x01f017ee	0xfc67c395
+	0x5b1acd70	0x3a6c8cf5	0x71e2d110	0x2ca5bb0f
+	0x626734c2	0xac0e5db1	0x4c7a3df8	0x0443be75
+	0x812f4e5d	0x5535bd41	0xd64093bf	0xbcced37a
+	0x37338d6b	0x83b901d6	0x8f13585d	0xa0c32a10
+	0x850091fa	0x24864a2d	0x2daef36b	0x3c9b2a64
+	0xe05bca8b	0x35c0c539	0x5b507233	0x588861d9
+	0xae0000e1	0x12c4f5cb	0x2f6f1d92	0xf861b587
+	0x4cb13ea5	0xc685fd44	0xaf3e79eb	0x6894ec24
+	0x6cbdc6a2	0xe8043d1b	0x0bae6d8f	0xeaaf8aa1
+	0xbd258899	0x6fcf2c4c	0x8c3b38d3	0x74479897
+	0x02ef1ae9	0xf252194a	0x4305fdff	0x096dfe12
+	0x52ce0e33	0x7a444340	0xb98aa819	0x8d402d73
+	0x2324c799	0x0e383c16	0x4f5ea7f0	0x18f3f716
+	0x079a5941	0xc275f1c3	0xf38a3b57	0x7967ba58
+	0x24d824ce	0x870c135c	0x9147bfed	0x87446edf
+	0xe6a5d5cb	0x6325e4f9	0xcbcc4a39	0x89b77802
+	0x40ae8bb1	0x0e25732d	0xe146cd6d	0xe2857df0
+	0x7d4c4d4a	0x5e015167	0x4b29072e	0x9de040ab
+	0xfbe384d9	0xfa2d1bcd	0x6d15bd11	0x3d374222
+	0x31ed6491	0xcfa242a2	0xcbbd5cf4	0x009a4aa3
+	0xf03912a3	0x8206d3a2	0x57693b50	0x5dc3629b
+	0xc4a557fc	0x8e1916ba	0x9a94d4ae	0xd8ef98d4
+	0x60987606	0x5722c9ac	0x85dff228	0xefe455d1
+	0x1b93dc34	0x3c3f5839	0x4794ed4a	0xe5f4cc96
+	0x8d2be902	0xc766218d	0x7c5ca4fb	0xf75c46dd
+	0x4c294ead	0x9c26cce6	0xa5af7967	0x33df7c94
+	0x8a3ad2eb	0x7db3b432	0x6e961c53	0x38596cb3
+	0x4c7401f1	0x174b07f2	0x3fddb615	0x8eb8fe06
+	0xca1d5e31	0xc2e5b4f9	0x68cb83e1	0x157ab415
+	0xfcd4f635	0x85a625b8	0x45a5d073	0xb8737726
+	0x8d66d90c	0x22374ea2	0x5048665f	0x741d4084
+	0x95ca85f1	0x3e9ec723	0x11020c1c	0xb197ffec
+	0xe1f584aa	0x59a7b34f	0x7a8757a9	0xb49376a7
+	0x0af698b0	0x2aa7ad32	0x5118eec1	0x805f60de
+	0x7fcdecf9	0xd99f5243	0x6fc3f111	0x10b12af2
+	0xa71778f5	0x62679d7d	0x8c648f68	0xa82ef346
+	0x1af396a4	0x279b2f9a	0x9ef3ea43	0xcb5ef78c
+	0x486bb8af	0xa619b664	0xafa5e5a1	0x9ad5af77
+	0xc56f1a36	0x33fdbced	0x07a5e6d3	0x60988d83
+	0x5cde15f2	0x58cf910a	0x670336cc	0x6a8ea3d7
+	0xb2d3f8e6	0x107b7afd	0xa616021a	0xa1d95c02
+	0x8bd9d9e3	0x31c99a87	0xf92136d9	0xd3e00422
+	0x21f98c6f	0xccd4ca9b	0xe0b0b097	0x8f96cb8e
+	0x1a241a03	0xc8451b34	0x9ab68eeb	0x89f27e16
+	0xabfd9614	0xbb1e5d95	0x33add3a2	0x69ee5ea7
+	0x2d525a1c	0x6ea2fa35	0xe2bcfd31	0x8d29feb5
+	0x1bbf2ceb	0x4dcf92d0	0x31a28a88	0x33262872
+	0xf9b2cc0f	0x3e17d56f	0xc4bd98ab	0xdc65811c
+	0xd15ec7d9	0x2926cc47	0x17eff4a8	0xf285a14f
+	0x5beddbdd	0x911bf1de	0x4d29d23b	0x5b2a57ab
+	0x9b18d6c5	0xec838995	0x203ac465	0x4b71acc7
+	0xc9d70c1a	0x1f42f685	0xf8d68e39	0x7b0be69d
+	0xae2ad5f0	0x14861118	0xe4d67c0c	0x2a7a97ba
+	0xd1dded36	0xb0aef347	0x94435d9e	0x6c77193f
+	0xbdfee9d5	0xf2926e0c	0xe9cd2c1f	0x48b0a0b2
+	0xecc37a3c	0x6a7357ee	0x35f26462	0xd4787e94
+	0x85159c0e	0xd300df63	0x68fc81d7	0x70214c8b
+	0x4d8eaf04	0x0ce45314	0x2a57e90a	0xefad38bc
+	0x61d26191	0x538a438d	0x2a9bf8d0	0xf417e6be
+	0xde2b8fa6	0x7d51432f	0xc953ebdd	0xa35e3d4f
+	0x422606d2	0xf96ea32a	0xfd741ba9	0x3c1068b8
+	0x83d7fb0a	0x820ecd14	0x8293f025	0x69eb4478
+	0xb38688f4	0xc37c7c15	0x423c41a4	0xbaf87529
+	0xf13a689a	0xc99683f4	0x5d307068	0xf540802e
+	0x45e4e2b0	0x7461c823	0x9242c577	0x3bb20e57
+	0x2f9b460d	0xb5ca4e7a	0x8f243f1f	0xcf2b115a
+	0x02e42b62	0x1f735558	0x61de9c7b	0x3080e0cf
+	0x56898a0c	0x286b4a43	0xe17d1858	0xfdb0d21e
+	0x9a0998bd	0x6f3793b5	0xe7a4b2a9	0x1a9ef7a7
+	0xf022a829	0x91a8220f	0xd35f6564	0x5689758e
+	0xa9723d93	0x01e17c3c	0x9e797d6c	0x931448b6
+	0xd4e8430b	0x0dba9b8d	0xecd995e4	0x95ec825e
+	0x87aad51e	0xc9f158b7	0x32942d39	0x541a555c
+	0xa4ff1310	0x60a03907	0x2194852f	0x111f4a75
+	0xdb1c720a	0x095dcca0	0xf3dd7dff	0xc7ca3304
+	0xb5eeb3f7	0xcf0d0c72	0xd808a0a5	0xac1075f0
+	0xbc561609	0xdc72b6a2	0x54885b6c	0xe7efd131
+	0xa1a5a25c	0xcbe4ff3c	0x28f97f18	0x4012e7ea
+	0xb179d1b7	0xc809f1f2	0x03ec77bf	0x95e2b32b
+	0x3037ee61	0xfaaaaeef	0xa962f075	0xad708299
+	0x773e64e1	0xec4393b8	0x78f3a010	0xb64f4526
+	0x0371e230	0x8190f9c8	0x6ebf110a	0xee32985b
+	0x3d9224f7	0xda849ae1	0x0e374bf4	0x66d520ee
+	0x19e8a010	0x3eed7ee7	0xdbf76747	0xa7da62d1
+	0xeb485f92	0xf90297e8	0x36a32248	0x82a0b444
+	0x0072c4d7	0xf31919b2	0xf63b3ca8	0x78729ede
+	0xc2c3c36f	0xd170210d	0xc1d19649	0xad9eba3e
+	0xb8ad7754	0x0af0eed6	0xf7c5a835	0x788ca836
+	0xd9ef72eb	0xfdfa039c	0x88398d5b	0x20f22f57
+	0xa9a8b93b	0xa5ebca5d	0x28f209ff	0x07e32e21
+	0x9656f67f	0x6d3c5fa7	0x110eb8f9	0xe15ed9b5
+	0x866d4470	0x3c60e896	0x156b88ad	0xe03f5d01
+	0x4b71a715	0x5b635aef	0x233a242e	0xafaa190b
+	0x4dabcdc9	0xca4f7fb1	0x2af45681	0xcdb6acd2
+	0x445ea28d	0xeb2375ae	0x332b2a88	0xf4c09b6e
+	0x9735d52a	0x05246fe1	0x155ec9ca	0x28e12827
+	0x02eb26e5	0x5e34c38a	0x14f65c83	0x570c33ef
+	0x083f8f84	0xafbed213	0xd8de70f3	0xb846bc36
+	0xd9dbe621	0xafa979d1	0x3e1e9824	0x19042871
+	0x32f7cb39	0x0855c3ff	0x6bcc596b	0xb1bd6c61
+	0xf2eef2e0	0x4266114e	0x2af9f232	0x638ee7be
+	0xead00f9d	0x1eb23029	0xb7a696f5	0x3dca0c76
+	0x18d10791	0x6d0b8421	0x11265a7a	0xa94e0ba4
+	0x7ead64f6	0xebe66308	0xdf484ae9	0x4bd2aaf5
+	0xc4524a77	0xef077907	0xbf3611f7	0xdd200d07
+	0xe74763ce	0x48471278	0xa16800c5	0x057a9c8c
+	0x8351bce2	0x01f13e2c	0xea354df2	0xebab56c8
+	0x35131ec5	0x91b89076	0x089a3f82	0x2febf67e
+	0x6371f8e9	0x47875c38	0x68068d1a	0xa9ffaca9
+	0x981fe8ad	0x3cbf3d90	0x0f595206	0x4819c74b
+	0xdf34f481	0xbe9bee8e	0x75a32f6e	0xa2fa22c1
+	0x831c50ad	0xe926e034	0x9eaabf41	0x85fc1fdd
+	0xa0e03c72	0xc03afb52	0x714b2c07	0xcf6ea676
+	0x4570c3a2	0xcc59d874	0x88b7bb1b	0x9f290e3e
+	0xe1bc799a	0x7cb7feb1	0xf6cf2a64	0xee527235
+	0x6fae46de	0xd1718027	0x8887b0a6	0x4d2ba919
+	0x8ffe8517	0x23cf9380	0xd2740cc1	0x608bb9df
+	0x10a6a677	0x40cfb2b3	0xda8f22fe	0x371fbcb6
+	0x2930ffa5	0xa71d9c73	0xd30539d7	0xe5c2a5d4
+	0xbbe79909	0x09c8dd8f	0x6ebb55d0	0x07987f3a
+	0xfc2c9aac	0xeffd1fd6	0x0d3f17c0	0xc6202654
+	0xaf1811cd	0x7a0ccefd	0xf6c0a796	0x9f26e794
+	0x573bebf0	0x56e55fe2	0xcd7a3689	0xb9bfb1ed
+	0x2b114c33	0xe7d85aa8	0x8e11b760	0xb7aa684b
+	0xa9cea609	0x26e91a1d	0x36d6bd2c	0x7e4b06af
+	0x990f23c2	0xa7c9b36a	0x791c6816	0xb7c873b8
+	0xb9b22ba4	0x3b12ce3d	0x19c88243	0xa23c93b5
+	0x6c879c45	0x612dee26	0x205ac600	0xc941d786
+	0x5aec21a0	0x628a03cb	0x29f6b021	0xa9815280
+	0x0b7f80ae	0x9626928b	0xce7fe692	0x74debb2f
+	0x1b0f48b5	0xedf656b4	0xaf90977a	0x7f298c97
+	0x599de972	0x2455b833	0x1b0e8a97	0x68e3cfb4
+	0x2af88b8e	0xaf00bf4c	0x576f0615	0xac27d941
+	0x3a3915c1	0x11980b31	0x36e6df96	0xcdce8ae3
+	0x596aaa5c	0x9902fb8a	0x437c5dd8	0x78fa4402
+	0x6e0499a1	0x20d91a0b	0x90185f3d	0xc7ec9381
+	0xc09a6965	0x1332c6ae	0x533d678e	0xe0d5bfdd
+	0x638fd40f	0x2413c57f	0xb4479fa7	0x8ce09a6d
+	0x141a584c	0x9ad2e9ec	0xbce7d66c	0x66f87de2
+	0x652ed9ba	0xe5a3e8d6	0x3438f95d	0x34455629
+	0xa2cd73ee	0xc72352a1	0x861dec12	0x05657b8c
+	0xb5788820	0x0f147d8a	0x58bd7e0c	0x95ec08d7
+	0xfbba26b4	0xa8cafa3c	0x60679191	0xfbb5a740
+	0xd062635a	0x27691cc5	0x19a7a5f9	0x0720cd0b
+	0x5998bd90	0xb89b4377	0xc0b6cff6	0x9d2cef91
+	0x10506588	0xbc6758dc	0x4d608503	0x5a699cd3
+	0x4e1074f8	0x705ae566	0x693f055d	0x7fffa4cf
+	0xa938f3d5	0x68d378dc	0xbbbcf3c2	0x3025fd31
+	0xf11955eb	0x335580c5	0xc14fb547	0x8ca8b7cb
+	0xbf488ec7	0xd65643d5	0x3ab48e8e	0xeb2a5a9d
+	0x8d4634b3	0x53d3c415	0x26ecd313	0x45866732
+	0x5ca6800a	0xa95a5003	0xb6a4a0ae	0xcf61181b
+	0xecce7a4b	0x6bb2617d	0xe6f6cf30	0x2ca484f7
+	0xfc041327	0xecfb38c6	0x8da2da87	0x04d6df0a
+	0x1da682fd	0x7bcc8939	0xb3211ba6	0xfed462eb
+	0x22d0bdb2	0xc81a03c8	0xc6cef99e	0x4a07f162
+	0xf47081cc	0x6b9f9f79	0x5255ed2c	0xc6664862
+	0x0a0d0fe0	0xce0a3c43	0xee29901b	0x08b1ebf7
+	0x3f6e20de	0x29d73ca8	0x19fbef40	0x35b805aa
+	0xe41c9fb3	0xdaab78c8	0x396eb246	0x7942b8b5
+	0x94b3bea3	0x44addace	0xd8c3b55d	0xa07d52f8
+	0x810d6bfc	0x84efa9c5	0x55cc3d58	0x31a721e9
+	0x818b9866	0xbdb4e594	0xcf9ef3a0	0x3ec34d62
+	0xc5f646ca	0xe03ff91f	0x5b7d6ac6	0xc965abc3
+	0x5d0a4b45	0x523b07fc	0x4ad23688	0xeb25e21f
+	0xec42f996	0xeac4a305	0xd083a034	0xf47e421f
+	0xa57f6115	0xc89869e7	0xad127bac	0x5766f2fe
+	0x73f8f406	0x66a164ed	0x57ce5b92	0xfe0543a7
+	0x3d01ea2f	0xbb5c4582	0xa0187dc6	0x0bac43a4
+	0xe3762160	0x53f709af	0x72a79d9a	0x8b131235
+	0x40144439	0x7f4b638b	0x740cb6c8	0xa267d4ad
+	0xe75e3d28	0x1936b8a0	0xf595f923	0x2653e6fd
+	0xeeeb0a5c	0x126c218f	0xf787c637	0x6e68d9a1
+	0xbb7a371d	0x70a542ef	0x6d6ca7ed	0xf4c6aeb0
+	0x7ecd1488	0x29b9f964	0x033cf786	0xcd34a0ed
+	0x4d09bf44	0xf94697cb	0x9fc11acd	0x4faec4de
+	0xe427a1b6	0x814c4083	0x75b5bcf2	0xf77ecbac
+	0x84f98a7e	0x67be3e94	0x547715fe	0x91134de4
+	0x1a258be0	0x4f1b0657	0x5d9a5451	0x6184d23c
+	0x2b0ebf79	0x45957241	0x327d3072	0x571b4e7f
+	0x29a93f26	0xdd3b33f1	0xc764cdc2	0xfac837cc
+	0x08dd03e7	0x7e20c4c2	0x2c706329	0x6a595b37
+	0xa399940a	0xe62996dd	0x410a43fd	0x8422504a
+	0x83c9047c	0xda9342da	0x0fd8d28b	0x10363a28
+	0xe583b580	0x7f865d38	0x53049b61	0xe2244969
+	0x1654cf74	0x3928b71d	0x92c56873	0x89c9f802
+	0x700f0112	0x06294872	0x5398b3f5	0x7ea9c78d
+	0x5e3dd947	0xdad37580	0xa4e7392a	0xe915e856
+	0x9253d5ee	0xa6c48e3e	0xf3712d98	0x2617d308
+	0x0b42e7d1	0x219ac5a1	0x934263c0	0x3b47e88d
+	0x5be1bac0	0x1ceaafe9	0x3ff3404a	0x89566b7a
+	0x68bfc8c9	0x8c7a1f86	0xfbbeab00	0xbd72bd86
+	0xf095a97d	0x4001537b	0x7231e146	0x65323fd1
+	0x29a7d447	0xbcdc2739	0xef8e77eb	0xbdec1572
+	0xba8d38ea	0x8be0df9c	0x14c9e008	0xccb500fe
+	0xf4f4aad8	0xa71ebae7	0x3e80c57c	0xb16084b8
+	0xd697a5d3	0x4102600e	0x14b09a48	0x929600aa
+	0x71f7d884	0x339dcba5	0x8b655661	0x68fd1ca3
+	0x79e428a9	0x13b38380	0x6e03dedf	0xcfc74cc5
+	0xd38273db	0x38f7e269	0xafcf0d11	0xe6efbc51
+	0x07559ea7	0x184f0ce9	0x5a0f1eaf	0x0890f392
+	0x0aac937c	0xaafe4395	0x635f04eb	0xbab57b9f
+	0x25ffe623	0xe63b2795	0xb0f990bb	0xb9dd0f23
+	0x72dd05d7	0x8b4afed9	0xad93aa8d	0xed6650dc
+	0x961af304	0x79ed2e65	0x64baf219	0x59cac07a
+	0x30a71753	0x6329158e	0x4df28920	0x4bccf1e3
+	0xdbf26ce6	0xdaf5b01e	0xe6d6ddf8	0xeb3b0b8f
+	0xf21c4078	0x383703b6	0x31b3eb29	0x8a4722b2
+	0x6da9cf03	0xde9b68d5	0x9fb81a8a	0xb9b7b225
+	0xbbf25f2a	0xfcbbcf77	0xf6b349e0	0x55e2a946
+	0xaa0ec8e8	0xe0c3f755	0xbb5317f5	0x42d49d16
+	0x955020be	0x57663a99	0x27f6472d	0x0db9e8fc
+	0x73e868b5	0x221726cb	0xf88d7a67	0x1afabd43
+	0x1c416d42	0xa7c8c7f9	0x2d53d211	0xa4b16994
+	0x7994098c	0x1196457c	0x1041d6ed	0xc3f3b526
+	0xdd6233d9	0xe5afe646	0x3eaa4645	0xb2f4be8b
+	0xa041a2d1	0xf56f06b6	0xe1a2b3cb	0x10f2ee3a
+	0xb4b80873	0x1f31a3c3	0x00a702f9	0xcc024339
+	0x0f11db60	0xe41963e2	0xee888ba9	0xe68bdba0
+	0x233f9cab	0x1011efb5	0xd0f9a956	0x63c01b4b
+	0x8f86b442	0xba153a6b	0x1886f0e8	0xc8cd92b2
+	0x6dee78a6	0x5425709a	0xb64fd26f	0xddd0d0fb
+	0xf543b459	0x6c853b90	0x7510f0e7	0x76d8a652
+	0x60ca661f	0xe9252e55	0x5a29d60f	0xe1fd802d
+	0xb3e9acdf	0x9af447b6	0x5eaf51bd	0xdfb0d9f6
+	0xa7c530c0	0xc8ecf367	0x0ed05b4e	0xc228d0de
+	0x564b4190	0x7a4211d4	0xfb7a7c13	0xde76c43b
+	0xb4984c7e	0xf3fe0221	0x066070ac	0x6e651083
+	0xd05fc9ce	0x1233ddc5	0xcbceea78	0x2a5bd303
+	0x8e085a72	0xede7cd74	0x3d62b29a	0x29774643
+	0x64c254f9	0xf117a1b4	0x3b557f53	0x4f6eae39
+	0x23da390f	0x6a8464b8	0x6ea39bb5	0x087f7f2f
+	0x43842be8	0x586ef6e9	0x37d3689c	0xbec7fa83
+	0xe85a0b9f	0x675c93ed	0x2d9f0762	0x4e7d5a3c
+	0xe6e54fbd	0xad3b58b3	0x81a4c6b8	0xb2da4172
+	0x4d992b63	0x8672774b	0x0f41f386	0x0d59a903
+	0x37fe2435	0x1d0dacc7	0x3c44c47c	0x56e00c7d
+	0x445d5b27	0x0ac7091b	0xb4b51593	0x21fb0537
+	0x9134c389	0xa5f7ac5d	0xb94b47b2	0x7bad6b13
+	0x573c7e83	0xcafc2dd1	0x09566a61	0x7b3d531e
+	0x3f0f399f	0x6c74ffde	0x4ffb2bba	0x1c59ce82
+	0x799d9fbd	0x3f64b5f7	0x595607c1	0x1366684a
+	0xff162fbb	0xe682e121	0xe07eb26d	0x5193e3bf
+	0x6d1d9de9	0x20c82cbf	0xc84a8e1d	0x73b5816a
+	0x590e6335	0x452c8c1f	0x19b2335c	0x4fa2145d
+	0xff0cd6eb	0xa5e683c7	0xc62b7cf0	0x66dbd8b7
+	0x886af340	0x1d661d53	0x45c3407b	0xe258129d
+	0x5738bc38	0x4e468671	0x8ef5dfbf	0x169d51c2
+	0x5e264507	0x33bf23b0	0x83df12f9	0xb23ca69b
+	0x050f29aa	0xf100c178	0x8eec6db0	0xafa51051
+	0xa31b4988	0x90a05b3e	0xf39b878f	0x1489a7ad
+	0x86726bf3	0xbc5679f4	0xcea42088	0x071984a2
+	0x9116773b	0x374ea03b	0x58ff0b61	0xb1fc9e12
+	0x527d73d3	0x2851a8fe	0x7dd6bfb6	0xe6df4902
+	0x1bbba42c	0x99af720f	0x097b9713	0x7bb88ff4
+	0x58f5f053	0x0f842f16	0x3d1e721b	0x887eed55
+	0x5c041320	0x378f42b4	0xd3c1ea60	0x4daaa4a4
+	0xa8ae1598	0x5dfd04c6	0x5e13f51d	0x8f2bc005
+	0x8112d8fe	0xd980f816	0xe60ed7ae	0x6d81784f
+	0x5ee9bbd5	0xdc72c993	0x5e4ffd01	0x2fdf5ca4
+	0x364c7ba1	0x8b957fe2	0xecf88970	0x1c948513
+	0x64e317f3	0x6d7ab225	0x70f168c7	0xb3d8f41e
+	0x54727fde	0xc180072b	0x52b62642	0x53d59c35
+	0x0756424a	0x84e736ea	0x403f01ef	0x7737edb8
+	0x0968aa7f	0x629b8453	0x54f02e23	0x40cad2cc
+	0x4712c678	0xcc0f73d8	0x9ce3491e	0xa93ad225
+	0x4fc3c353	0x9702a179	0xcbd42840	0x2a2d55f5
+	0xfb153530	0xd2aae06e	0x3b988b1b	0x215defa2
+	0xb7cb3a4d	0x517e11bd	0x116743c7	0x60f89947
+	0x96955aa2	0x8ef1616b	0xc7a86367	0x7962234b
+	0x80da3dc4	0x33327b35	0x076a2bd4	0xdd7a4bbc
+	0x685a08b4	0xa7fdcf7c	0x65bf1d86	0x1917a9d2
+	0xdca93ed0	0x48a391ef	0xd70a8cd8	0x86d52919
+	0x2dbe56b9	0xde8815b2	0xd5e0477d	0x4e111ddb
+	0xf5ef2878	0x17c5692e	0xd4937594	0xc071b1c2
+	0xd7151f2d	0x1ba686c3	0x54c38767	0x6501d7cc
+	0xbc16a74e	0x909dd991	0x858cf3ee	0x4fad895f
+	0x5975eee4	0x6ca600e5	0xabd86999	0x7a4c5051
+	0x9e023f91	0x2a581273	0xfc1856b0	0x717a9500
+	0xc814682e	0x868635eb	0x5567ee04	0xdd0fa821
+	0x7dd71e2c	0xaa29e440	0xfe7fa170	0xa6975f2d
+	0x7db13286	0xf80ea7cb	0x65440c80	0x1bbc88c2
+	0xdeeb5a2c	0xc1477a30	0xafbf244a	0x198402cb
+	0xcdee31e8	0xbba5e44d	0x83e50fc0	0x145c0c4c
+	0xe28d07e2	0xec6292b1	0xf03845da	0x04f887df
+	0xf8cf9658	0x9055eebd	0x7e433402	0x46b83e87
+	0x32c1d8e5	0x953b989c	0x27f6253b	0xedfb4f91
+	0x6f1ae0a6	0x70a2df8b	0x091a55f5	0x8758b4dd
+	0x1bda1ece	0x7a284685	0x4d63c11c	0xf22826ef
+	0xf0ff2763	0x4f10103d	0x8b9aad7e	0xda3a748f
+	0x86ba49ee	0x4a48f0c1	0xb4258bb6	0xb892aef4
+	0x2e1eec09	0x658af08e	0x03609f72	0xe067efef
+	0xd599a0d8	0x27043e1c	0x76610816	0xbd1a9b56
+	0x047cfef9	0xa7159a70	0xc82ced0e	0x44901cd3
+	0x19dea1d6	0xea24e644	0xe645f856	0x6e8fd665
+	0x25cd03ed	0x987368fb	0x95a04c97	0x4aaf44de
+	0xd232decf	0xdd2131ed	0x6602bdc6	0x8a42bd18
+	0xf839fb2a	0xb65785f7	0x7a6ff4c6	0x899830d5
+	0x46e993fd	0x09973f39	0x83cf23cb	0xb2f26770
+	0x8c531c1f	0xd97b41fb	0xf572173b	0x7a1404a7
+	0x61d85f57	0xa0702253	0x48afa948	0x8f2aaba3
+	0x1252a999	0x1a1e4171	0xe287d10f	0x121ff861
+	0x544d166a	0x7adbdffb	0xc2dadb3d	0xf88b86db
+	0x087f1dd2	0x3260bf71	0xa4b9881c	0x2b8f6795
+	0x2812e4a0	0xce728d9d	0x9ab3081a	0x3d2fa8be
+	0x61bc77dc	0x530464ab	0x36fda196	0x4efceb71
+	0x04aa6f81	0x8032ce30	0xb9c33455	0xa07c5b61
+	0xbfdddce1	0x16ffa34d	0x9f7f8efe	0xf6308df6
+	0x071fa35a	0x948978e1	0x35124fb9	0x2786d40b
+	0x62f06ff2	0x1409d3ae	0xc0223171	0xf524409c
+	0xd143e8f3	0xe87832fe	0xf5f46599	0xd0302b71
+	0x7259891f	0x83f9158d	0xa0b3ca08	0x37f0b6f7
+	0x8da1abef	0x869bc166	0x0891274e	0x1c99caa0
+	0x84f5c390	0x174eff0e	0x450caa3d	0x53704c05
+	0x14e2404e	0x5a050d3b	0xe3e1d53f	0x059293f1
+	0x4ebcc617	0x7278707e	0x3a0f589c	0x462178ab
+	0x9448eda5	0xc7ec4df8	0xc104df6c	0x0e7651f9
+	0x301ac757	0x5571a9e4	0xa1845d20	0x9bcaf8a2
+	0xee184556	0x54cd32f9	0xc64d37bd	0x87821019
+	0x0bf5eef7	0x88c05039	0x73f0c7ad	0xd9743149
+	0xe8ac4c1c	0x18d90782	0xfc38561f	0x3478b897
+	0x86ce7d3d	0xb465bea3	0x75101723	0xca9c4a8e
+	0xf3eeb88f	0x47221789	0x8561f74a	0xc5c69e0e
+	0xdff3c1d0	0xde80d4cf	0xe9098800	0x519678d6
+	0x0eadd078	0xb85293eb	0x891b8db3	0xf13980c1
+	0xd1ded2ef	0x57aba1f9	0x2be45501	0xe1e0b6d7
+	0xce304444	0x03a5dc2f	0xc55fcc35	0x66f3e426
+	0x507998c2	0x1ff98a40	0xd214ad6e	0x29f5da1e
+	0xa09ba361	0x4375dcd0	0x17a3e9c4	0xf43aa48b
+	0x279324fb	0x5355ef2c	0xd07c0a40	0x4a801679
+	0x3ccce904	0xbd1fccb5	0x72d23024	0x40bf2d1a
+	0xad66d845	0xd3b06ab6	0xa02e0454	0x6b8bb9f6
+	0xa0f01e02	0x7083871c	0x22a240b3	0xbc595e6e
+	0xec3ae893	0xc129dc83	0x305c6133	0x6478ca71
+	0xc3e31f2a	0xa672d383	0x25d1cdc1	0xa43ad0cc
+	0xc62762ff	0x524e0786	0xc8266cf9	0x4c1dce61
+	0xf401db3d	0x4731884f	0x2e74c74d	0x580d1361
+	0xced44e75	0x9cfbed1c	0xa4a118b8	0x3fc49536
+	0xc7ed335d	0x557bd121	0x99f6096b	0x105313eb
+	0x12d814e9	0x140bf537	0xfde60a3f	0x8fbb2142
+	0x290c9253	0xde68576c	0x1b6a453b	0xff076026
+	0xfb76b4b7	0x5e0b8e4b	0x1a5c4d8f	0xed50c7ab
+	0xe769b705	0x359af5cb	0x3b59367d	0x354ecb98
+	0x4779cbc9	0x19ed0073	0xc02a8af7	0xa7785920
+	0xbbabe7a6	0xd6088727	0x8e8ab30c	0xbe870ea8
+	0x4ba0119c	0x7d62815b	0xd2463123	0x07090f2b
+	0xb0ddb91c	0xf7b729c7	0xc6de14fa	0x5858ed16
+	0xd9ae0f53	0x413f2b4e	0x1d82480c	0x3d6ace1b
+	0x40276887	0xdf499b6d	0xe2f27cbc	0x7e3f27aa
+	0x881fbbd0	0x17f170c2	0x1b155736	0xb5474620
+	0xc245161b	0x6e0b4d6b	0x002e9fce	0xf7f5dc75
+	0x7110bf54	0xee5540ff	0x9beb5aaf	0x3140dd10
+	0xca6527ae	0x1eff473a	0xc21e9ed4	0xb90e2c31
+	0x1639bcb4	0x79299082	0xd8569456	0x9d55a257
+	0x4cdf608a	0xb763062f	0x33132bb2	0x95048255
+	0xfa7a56df	0xc4c25dc7	0x5acfdf09	0x01b4c169
+	0x65a39270	0x6a07cdad	0x5c1322ae	0x0a547a52
+	0x5b88ad05	0x2795f9a2	0xa878eb57	0x831c6d35
+	0x8de77363	0xef454c49	0xcc483e00	0x98d30ef7
+	0x5cee6411	0x59ddda14	0xdcad4568	0x63ce2a5a
+	0xc78a4f40	0x56c6a389	0xdca6fb34	0x4019a066
+	0x223145f1	0xc05df1e2	0xac849b7a	0xff73ca98
+	0x76de09cb	0xbb4369ac	0xe7145267	0xb07b456b
+	0x1fdf145a	0xde56e1c7	0xc5e9e8cb	0x64e69739
+	0xe5a32181	0x55ee6c8f	0x86521149	0xabae431e
+	0x10f5a7e6	0x2ad18917	0x12b1a65c	0x4ff84a9e
+	0x8068860f	0x610a0bf2	0xd331b49c	0xc92487f2
+	0xab54424f	0x968608ca	0xf6152bc9	0x17fbe76a
+	0xfbebd48e	0x33eae855	0xbe20e3fc	0xff5567e5
+	0x37cbf19b	0x76ed0c82	0x8b4607cf	0x4a659fda
+	0xab5af02f	0x98dbab4d	0x0098bb06	0xd17b1f16
+	0xe472636a	0xde2da4b6	0x6d9f8ed9	0x805ebfaf
+	0xedf89d3f	0xdc4e2ad0	0x3a30d17b	0xfc41ce23
+	0x4ff0c7da	0xdb3066b3	0xe60f5cf3	0xe6acb2c6
+	0xae51c542	0xbef39ca2	0x2d38d866	0xd4d7998e
+	0xff668ba1	0x577045d8	0xd3e7b383	0xf22ccabb
+	0x75752791	0x61bdaaa5	0x0cf06032	0xb6373ff7
+	0x0c074a20	0x09042638	0x92dd83f6	0xe4577636
+	0x6d64a8be	0x597d896c	0x2fa05214	0x4d410aee
+	0x6f3c5da8	0x611bd40f	0xfe674796	0x7b0f1129
+	0x460e765c	0x3e65fdf4	0x5069c2af	0x6d7f7ff2
+	0x2906295f	0x1541c107	0x8d7af680	0x700d4a29
+	0x4ffebd8f	0x039bddc0	0x138c2994	0x84df9bcf
+	0xe724df28	0xaadb2e86	0x8c31c7f2	0xd0b0cb77
+	0x6c98a1cf	0xaf7d74a0	0x813f01b8	0xa5d49e0e
+	0x49e7168c	0x00c8f29f	0x6ed79b2c	0x1fac71d5
+	0xaa1d3e40	0x9ccaaa99	0x49d3cfd7	0x57e8a241
+	0x2208c379	0x8a0d30b0	0x8379f733	0xc036439d
+	0xba4f760c	0xfd17d48d	0xb687eff8	0xc16cb64c
+	0x138be857	0xa7a2ba2c	0xea6bbaf8	0xa432e0b8
+	0x2923df56	0xb9b4ff80	0xe78982a5	0x8eaa1315
+	0x28492c47	0x8dad81e4	0xba11923e	0x0555126d
+	0x5bb2ec54	0x4cb99eb4	0xfcc71c59	0xd4ea57f0
+	0x96c8da30	0x08435ada	0x52062f62	0xb464f40d
+	0xf8709791	0xca08084b	0xed31fd35	0xfc33d802
+	0x7d3a3dba	0xd4cb5ded	0x1cf550db	0x3f720ee1
+	0xf0c445fc	0xc1a92738	0x4d3604d4	0x378bc2e7
+	0xf7b7dd63	0x336bdeab	0x7a778204	0x7828910e
+	0xc2874bdc	0xa3c31510	0x9ab5c466	0x4f20578f
+	0x8e73ff32	0xd0bf1bf8	0xc28d73a0	0xa39944af
+	0x061d7674	0x7ea1ce1c	0x5a3cca8f	0x1a88f2be
+	0xd88f6adc	0xccf0633d	0x30c3b802	0xdd71dee4
+	0x8ae4d351	0x0a7738bf	0xf36e848b	0x6dec785e
+	0x58988a3b	0xdbb8b887	0x18d080b2	0x58a86f9c
+	0xcae797a7	0x96b255c0	0xd9379480	0x709d26ea
+	0x9051125c	0x295d8682	0x97c2e475	0x7e5b407f
+	0x6681fdb8	0xe16c2876	0x3345a959	0x1cad6f73
+	0xef3e3ea3	0xcb3faa5a	0xd88ed048	0xe12448d9
+	0x61295bf7	0x7b420d0a	0x1d439f5a	0xb5a9b50c
+	0x8653bf6e	0xb2dc9144	0x93036dad	0xba7d6a4e
+	0x055e559e	0x9c850951	0x6d31816f	0xd54a7969
+	0x508967e7	0x6a76cd75	0x48229f7c	0xf94261fa
+	0x4f1b2c60	0x30591684	0x619f5412	0x37a573d4
+	0x27fe764b	0x7a146285	0x6c66e646	0xb1e2889b
+	0xb0be8e7c	0xf0b6cd6c	0x0f9a006f	0xb015a2c0
+	0xcd58c3d8	0x737b0710	0x5dddbeba	0xdc021827
+	0x9208233a	0x5d325f47	0x965ac3b9	0x1fe61d1c
+	0x8d7419fc	0xd483074d	0x9c58f815	0xf8dc14bf
+	0x7adbaad3	0xe9e10bf0	0x3dc02504	0xf724d248
+	0x22b0e801	0xb90d698a	0x5e5eff9a	0x9d961510
+	0x2d9cdf4f	0x5c0088e0	0x309aa90c	0xcfa57d5d
+	0xd4de3f7b	0x3338841b	0x98312bf6	0xbcf10b77
+	0xea6c7b59	0x0336eedc	0x4fd84d28	0x04e0b906
+	0x26aa6af0	0x391fea83	0x065f8c6e	0x051b9508
+	0x4caa3453	0xdecc0ddb	0xa35dcda0	0x4ddda422
+	0xdc98138f	0x46764b42	0x78affc7a	0x53a62634
+	0xa8d37797	0xc777ba1d	0x5c682b96	0x07faf56f
+	0xe50f7e2d	0xb7e94981	0x08b19a90	0x80480c0f
+	0x1466bd8e	0x3f032f83	0x7bc67f78	0xb7f5259c
+	0xf58d4330	0x7e1e3dd5	0x82fc00e1	0x35ee07dc
+	0x384acde7	0x7cf91b30	0xc220653a	0x3e472880
+	0x98b7737e	0x5a7828ed	0x3598f86b	0x65ff2395
+	0xb057dc53	0x96819f8f	0xc6f5a8da	0x46cc05e7
+	0x4e0066ee	0x1fdf6e48	0xc6cd3d59	0x991fb04f
+	0xc359fd4f	0x2d7a356c	0x382adf55	0x7ade325c
+	0x73779267	0x86c529ff	0x814cf15d	0xc5922d2a
+	0xde99fc0e	0xeeafe58c	0x96692a4f	0x3053bdfc
+	0xe5b78930	0x601e01ad	0x568a9dc4	0x67930925
+	0x019c962c	0x4b0ecfd9	0x143c6181	0x09bc4d21
+	0xcb2a7147	0x615faa33	0x5500ec44	0xfaa814f4
+	0x4fccea84	0xe3464e32	0xbfbad0b6	0xf9126b0c
+	0xc4cf5765	0xcaff573c	0x05677979	0x1ecaa748
+	0xb2e05819	0x8e2613e2	0x91d7e9d0	0x28cf5075
+	0xb1758e90	0x56f4304b	0xc3eae732	0xc6f9668e
+	0x9f6bca3a	0x917baf38	0xb2a70b37	0x8204ee82
+	0x3758fdf0	0xc9af6ab3	0xf7e210aa	0x82df501d
+	0x881462ff	0xe4108709	0xbea770b9	0x142ce156
+	0x3c3dcbf7	0x4587c97d	0x93a9beff	0x0be1a423
+	0x8ffe073c	0x5bfac5d3	0xa37dd1ee	0x4c4b28c3
+	0x6b746ebc	0xcebf1b65	0x6da9ae68	0xf6ccbd7b
+	0x87259951	0x0df484b8	0x34d02cae	0x0cf57a47
+	0xfb2626e7	0x0e4c7cbd	0x8a794c05	0xc5bc72a7
+	0x1d5f8c05	0x8f74d29b	0xdbe61ade	0x2c40bae4
+	0x52316fdc	0xacbbf330	0x24620aba	0xbd509810
+	0xac7b2062	0xce960eb8	0xeb3cb3ea	0x951a3a3b
+	0xcbe6919a	0x15121b2c	0xbe7b4001	0x4a2e857e
+	0x60005d12	0xdfcea0a2	0x04411e0d	0x519dc985
+	0xd7557722	0xf7031a53	0x8e6bd4ac	0xf7610a7a
+	0x8c3285b4	0xd0bc660b	0xc2a35cdc	0x3e6fda33
+	0xb947c465	0xb65d70c7	0xa0f0a4fd	0xd7a49801
+	0xd43eff86	0xb0ea0425	0xc11e89e0	0x1cf1cfd2
+	0xcf52abb3	0x0b877e5c	0xed0a4b93	0x60389dc6
+	0x29e5550a	0xf09bfff9	0x6de1254e	0x76dc4048
+	0xdd3ffa40	0xa3e5d68e	0x17a2ae52	0x48be8d4c
+	0xd0ab3725	0xd22c0450	0xcc67629a	0x88f454ea
+	0x107a0eef	0xce96d2c1	0xae8fbf50	0xe5fb6d09
+	0x0057065d	0xdd432ef2	0x32a1bdff	0xb2c10866
+	0x3884658b	0x1e15fcc3	0x7d2e25e9	0x80a5ba6a
+	0xd41bce41	0xda436c28	0xa8dba199	0xe788932f
+	0x47f7f0a9	0x6980522c	0xe97b47fe	0x9d9ed687
+	0x54ccb0ac	0x1524ab70	0x86e84451	0xb466ab2a
+	0xaff0031c	0x56230e36	0x662772b7	0xc3cac3b0
+	0xf3801208	0x592050d8	0xa314a00c	0x23073044
+	0xa2651660	0x5c141005	0x75c3a9ab	0x426fadea
+	0x917b94b7	0x00e4d928	0xf0022117	0x459b8638
+	0x4d252cf6	0x50f9672a	0x4ab3c6ef	0xc78ae924
+	0x811252c6	0x71359755	0x4771731a	0xb814dfb9
+	0xbc17a50d	0x21438116	0xdc97051d	0x293354c7
+	0x989e5e5b	0xf32c7b44	0x509912ef	0x00778203
+	0x761a5968	0x139bfd3f	0xfc10aa15	0x5144a561
+	0x33e2e16d	0xb6121a7f	0xa0b92381	0x429d85fe
+	0xc523496f	0xdf05031e	0x995a9d12	0xff983574
+	0xd070af21	0xf2d0d735	0xbc2ac395	0x79f3cfd5
+	0xc7cbe59c	0x15d4190e	0x8b41e26c	0x34273bf4
+	0x08a3cb05	0x0db92689	0x80fcc3d2	0x1e44d756
+	0xb2695d04	0x8fd1718c	0xdf54decf	0x31b02282
+	0x73c559f4	0x6bdf32bb	0xb02a5d71	0x27feb1bf
+	0x02a82f46	0x4dcc864e	0x4f55ffc1	0xb8d8f2e7
+	0xfbb13ff2	0xfa097c0e	0xd8644d7d	0x7062051e
+	0x4ba6fa07	0xbc929f5c	0x21b24366	0xa20fd863
+	0xbfbe4678	0x6eb43570	0x57450ff9	0xad350484
+	0xba606d11	0xb1b80485	0xaa5b6ae1	0x4fac0470
+	0x77c3c5cb	0x802418c0	0xf5d108ae	0xd2436de9
+	0xa7dc4291	0xf5bfe6dd	0x99a31c5f	0x61f481cc
+	0xe32d2ac4	0x1caeefca	0x2028329c	0x2bba53e2
+	0x1d415096	0xbbba9e95	0x6f16ee63	0x609517ed
+	0xd2bc2b95	0x0ef9e1c3	0xf4d4c78b	0xe80f7dfa
+	0xea9a2522	0x86154997	0x8c271ab3	0x607af865
+	0x82a33550	0xde348c29	0x72414485	0x332d1fcd
+	0x4f3bda6f	0x60d7bb1b	0x37591f18	0x3bb8a79c
+	0x34df8a48	0xfd353ce8	0x9b2cc1b5	0x64849bc8
+	0x42cb559d	0xbc1d0578	0x3807691b	0xfb80da40
+	0x6224c0b5	0x2504790c	0x9ac5d31b	0x162a24fa
+	0x4b242775	0xe67afa85	0xf3f6f5f8	0x619aefb7
+	0xad5a1909	0xbe9cfeab	0xb19e8ff7	0x1778c7cc
+	0x9b72f14e	0x5a232673	0xccfa7f0e	0xcedfa0c2
+	0xa53b8a1c	0x0507bfe2	0x006a7e79	0x55e1a874
+	0x2c6f2145	0x302f5ed2	0xf8eb1829	0xe9113acf
+	0x7ed4acf6	0x8d120045	0x83d7777f	0x18806b1d
+	0xe39cbc73	0x0e458dc4	0xd1dc4355	0xa917f91f
+	0x06bd5adf	0x6700644c	0xfafedd5d	0x68597623
+	0x85998d31	0xf0fde105	0xbb59f732	0xfa90c9a5
+	0x77fd2cd7	0x58fac067	0xd1b0c8b4	0x477377ac
+	0x077d7a62	0x2ef1f7b4	0x5aec6414	0xaf19d978
+	0x78d46a78	0xfa173873	0x3181df8c	0xbb8d5af7
+	0x561d830a	0x45e3c2ab	0xc729929c	0x3705eda5
+	0x38a1ba3d	0xfceaeaa7	0xd9df7473	0x09129efd
+	0x51d1c610	0x61287d3e	0x466b1c40	0xfafa9019
+	0xba016f71	0x93f0fd44	0xf5f6dc97	0xfdbb8fa9
+	0x869f225a	0xf375e880	0xcf69a3ff	0x4e6dd47c
+	0x8b50ad80	0x76c6393c	0xc79c197a	0xf07f7fe9
+	0xd5f7def2	0x9753c9c4	0x583359a7	0xed786492
+	0x29c5ae36	0xffc244d5	0xbc59624c	0xe5272a4c
+	0x9cf42a99	0x47ef2f4f	0x26ffd2ab	0x20ed6804
+	0x6162d8f7	0xb5b41cbe	0xddbe5795	0xafa94d09
+	0x2a98c884	0x36a36cfd	0x4f3d1939	0x83310078
+	0x86defdfe	0xc6aa6db2	0x1fe02291	0x6a7ccc2b
+	0x31b28d66	0x50be72aa	0x511dd793	0x65aed937
+	0x1c0f78fa	0x955f24b6	0x182ae927	0x341c2a39
+	0x1684910a	0xfba7553c	0x7e684210	0x466c4bb9
+	0x776df978	0xe20a9283	0x1d59ccb0	0x12cdeb81
+	0x07ed0938	0x90ae4179	0xcd380d07	0x203b2f9b
+	0xae16b51f	0xc35acff4	0xcdacfed1	0x93690501
+	0x1ddcac8e	0x28508191	0x7cf2dbce	0xed9da43f
+	0x927b0860	0x91ccd0e6	0x0bf7dfe1	0xdc7d9ba0
+	0x79a68763	0x9ef7572a	0x06165514	0x5799b51f
+	0x633c76ba	0x9dd549bc	0x71ec2b95	0xff02fec3
+	0xef70992f	0x837f108a	0x6c2145b2	0xcbd64dc3
+	0x1c76ad74	0x0ec92535	0x3f44281d	0xe7906f31
+	0x8f58019e	0x6f563cb0	0x2b02143e	0x0dc40ea6
+	0xf46b09e7	0x8594fc54	0x9db830e2	0x6689da9b
+	0x5d1729e4	0xe621d473	0x8f8829f8	0x1712d3a5
+	0x8c5032d4	0xb36b8a2b	0xa08173a8	0xc719ca8a
+	0x7437c799	0x08e991fd	0x22bdaa06	0x2d91e2f5
+	0x85e1d68a	0xa610f97d	0x651efa62	0x346116e1
+	0x78fa57e7	0x60a80baa	0xcc94cd1c	0xffdc8330
+	0x669a8391	0x4c49cf5f	0xa28ec5b1	0x59d01240
+	0x7b508f7a	0xcccfc915	0x306ac46c	0xbcb39059
+	0xe90411da	0x505fb85b	0x66354da9	0x956c672b
+	0xe2bc6473	0xd5a8ca2c	0x4e15c962	0x30b76eb2
+	0x5df03137	0xe8fbd420	0x867bac76	0x209ec951
+	0xd4c709a2	0xd865c07e	0x23e244d2	0xb3b45618
+	0x5b02b3f8	0x292f0be8	0x67e5681d	0xe9002734
+	0x650021dd	0xc596ea6e	0x300d4231	0xe6df79a1
+	0x3412adea	0x64e19360	0x19e70926	0xe912da63
+	0xbfa60dac	0xe194a62b	0x818fecbc	0x2209d4f5
+	0x56072a4f	0x8ac44d25	0xb2a6f22c	0xd9a720cd
+	0x0c7d37fd	0x28edcb42	0xfcbce7a7	0x31c5300d
+	0x7b7a16ef	0x987e720d	0x4c226bd6	0x8dcebb8c
+	0xeb01942e	0xa1eb5733	0xf888063d	0x4528ec12
+	0xe5085215	0x1dd01b03	0x6eb87865	0x5f8e7363
+	0x37035578	0x3fa2dba3	0x7ed02de4	0x01d3fc19
+	0xc6a841d0	0xe656cc11	0xddfe564c	0x97af79f9
+	0x2edb1cf9	0x8f5fb166	0x8bb807e4	0xac601010
+	0x3b465d78	0x33ae7ec5	0x9b669db5	0xe3ef2d8c
+	0xfaf2eec2	0xfcb39916	0xabe03aa5	0xa145f2fa
+	0xdf35974b	0x73be668d	0x79a5ebc1	0xa53d89a0
+	0x754988d4	0x687f673d	0x7a479719	0xda3b853d
+	0x68f03ecc	0x6e6b0e44	0x740ed419	0x8fa9de3f
+	0x4ff58f61	0x8a5cf063	0xb0226c8b	0x8a9cfb91
+	0x5c9e6a52	0x75b6ad55	0x3f2c089a	0xdb7b23ca
+	0x68844595	0x258c4964	0x6253c527	0xe3e6b34d
+	0x5daa8920	0x849ccc19	0xa17fe037	0x700b8a74
+	0xb4eabdfb	0x73b1dcba	0xa349bd25	0x57de9e42
+	0xf1909e9e	0x95885ef3	0x9d395f5f	0xa38e326d
+	0xca3f1ec3	0xf3708445	0x64de4b31	0x9cc93d9e
+	0xfb69603a	0xd987080f	0xb8baa0f0	0xec3f33ee
+	0xdfd52d67	0xedba3a6d	0x2a4f8cab	0x6e2dbeea
+	0x12d24ed2	0x098bb00b	0xbb7f66d3	0xac78a277
+	0x78018918	0xc582c790	0x4d3ef0d0	0xb46bc302
+	0x2a70e09e	0xd0f7b22c	0x33ba2cbb	0x8b712476
+	0x321d99a5	0x49891850	0x3d95aebd	0xcbb8ad7a
+	0x1fc7cfef	0x30b0af9c	0x3670cfb0	0xbdbc245d
+	0x2fa63a41	0xaaf27d47	0xdbb39c6b	0xd77f37c3
+	0x0e07267a	0x5d3d8758	0xb49ad992	0xdb66d32f
+	0x48e3d291	0x3a05086b	0x5917ca45	0xb6bf4644
+	0x977d7e89	0xd8b7e404	0x7bd674c9	0x422ffff3
+	0xdb431079	0x461eb2d1	0xb62f4fb2	0xf83f1852
+	0x62c1af99	0xcb254f3e	0x801148b8	0xa98845a4
+	0xa8838d10	0xd18389e9	0x64f0a8d5	0x456b72d2
+	0x3cb4db66	0xb478700d	0x40133906	0x01477df4
+	0x99714186	0x82b0f95f	0xfb59e846	0x780a0734
+	0x0ab15793	0x5c7054f0	0xa88d1048	0xf038bc7a
+	0x6c79d43c	0x70f1dec3	0xf6c18788	0xd9071d93
+	0x02ec302e	0xe1102ac2	0x48f7f323	0xa8ac18f9
+	0xe580dcf5	0x8d3adc67	0x419577d6	0xa2b2cd7c
+	0xb8564eca	0xde3975cf	0xefd084b6	0x7a3fcf92
+	0x93bb391a	0xa283dde8	0xef590884	0xd1322fce
+	0xc9af1c92	0x5677501d	0xabe661c3	0x77faf3cc
+	0xb63fa4f3	0x72eb0ce8	0x0e7364f3	0x474a4498
+	0x1c33fa72	0x7caf20e0	0xa06d582c	0x5d730c23
+	0xa853bf9f	0x89d46b32	0x95032652	0x82bee6b9
+	0x71dfd466	0xc2f1475a	0xee3b8ae9	0xa4b97940
+	0x745369c8	0x848c968b	0x80b11fe7	0x9640d4bb
+	0xccb129ba	0xcd0ef642	0xb418253c	0x91b51140
+	0xddb1eade	0x4a9d5b6c	0x0f655c9d	0x9cf66310
+	0xad184851	0x811264e7	0xeb80b2d3	0xdc9400a5
+	0x5c0be6fc	0x4f4c3128	0xf1478880	0x0aa6d75d
+	0xaae40d65	0x1283ae73	0x93eb915f	0x17739d76
+	0xd2bc76c4	0xc4c80b26	0x5c491d34	0x885b5d22
+	0xe2bf7486	0xcec80dbb	0xb8fd71c4	0xeaa133d0
+	0xb44306af	0x975bb919	0x9add2d65	0x6de21027
+	0xbcd9c28a	0x74aec7f9	0x75f6bb9c	0x5ca8ffa1
+	0x9189bc76	0x22e7f05c	0x14f56912	0x72ccf25e
+	0xd2067b68	0x3d1f11aa	0x4717271a	0xd9d5d193
+	0x3e2fe4cb	0x3bb466ab	0x9965fa51	0x172edc9b
+	0xdade7440	0x0f6a748b	0x993413f0	0x0c1812d3
+	0xc02cd79e	0x1f791c39	0xe189ef04	0xeb61e49f
+	0x0ba3d9b0	0xa776a292	0x371aae0c	0x0250cd7c
+	0xf41758e4	0x8b8ef384	0x71b28bec	0x620e9b36
+	0x120ac178	0x6f8a854f	0x1471a913	0xa069fc61
+	0x9c4513b5	0x7c776851	0x1aca6979	0x8d31f3b6
+	0xf254b3e2	0xab44b76e	0x0112ff65	0x40eaa69d
+	0xea0a2ed1	0xefcb2a4b	0xaebb74bc	0xfbc17af5
+	0x03b74d58	0x3995bd99	0xe9f8ae4c	0xa0b5884c
+	0xea69fe56	0x58edbf35	0xd0eea61a	0x2ad90dba
+	0x118e2310	0x07218c60	0x8280e78b	0xe2afb938
+	0x6bd3d541	0x0d305da7	0xc846e977	0x7aba7e7e
+	0xcd4f2676	0x9292007c	0x739e4f6b	0x1e8d3ac1
+	0xd42503ab	0x15f01dc9	0x572a6c4c	0x66535cd6
+	0xcf9ce218	0x7dafcfe3	0xfb21c85a	0x85374429
+	0x85307f2b	0xe1358f44	0xa742f5ac	0x0c4c3c91
+	0x9143061a	0x24657578	0x5028f7d2	0x1a388256
+	0x78bb6dfe	0x2e6f427a	0x32b3debe	0x65c48f0d
+	0x1ead8389	0xd7c29256	0x0af9ab7f	0x8e78121d
+	0x6500ad8e	0x7a38798c	0xa785e9d2	0xd8b0487f
+	0xf06af944	0x55599828	0x416fa4ea	0x4a2438a2
+	0x92da4518	0xecf9cc97	0xa4c2102b	0x547005a4
+	0xa812d78e	0x346ecff4	0xc62b5671	0xa40fbced
+	0x9fd7d46c	0x4dd8d8db	0x20baae36	0xd80ef524
+	0x3a2454aa	0xdaaa7d0f	0xd2ecaa28	0xa20628ee
+	0x30267d78	0x575d527d	0x747fe51e	0xa4842d47
+	0x31b71ee5	0xf8f23f34	0x35f963fc	0x8f9ceb93
+	0x52473b8c	0x4774804f	0xff4e9655	0xb5bbc63f
+	0xadff0741	0xc07b443c	0xebe1961f	0xf9598ca5
+	0x42352c37	0x369ac508	0x8d822d15	0x4d3e72b8
+	0xfbfab060	0x62cbec96	0x5bdd24a2	0xa7a199cc
+	0x738d6954	0x0eab5c0e	0x556e3147	0x7da855d4
+	0xf253d1d8	0x9e69b00e	0x8753ce4b	0x162218c3
+	0x533ddb08	0x1ee47916	0x37d4be4a	0x9752b0c8
+	0x5c287bec	0x6d6b42eb	0xb8e72496	0x85caad93
+	0x77191373	0xc54b5b9a	0x415c96b6	0xc5bbe4c0
+	0x0751c53b	0xb352d2fd	0xf00bc102	0xcd84f522
+	0x8447660c	0x62c3103b	0x27f36752	0x31b0e45a
+	0xe4cd3555	0x90904327	0x88f68b9d	0xaa342e7a
+	0xdbb54fa3	0xb871056a	0x3c4519a8	0x7953beeb
+	0xf36e2f4d	0xd1a82d4d	0xbc028565	0xd5720d91
+	0xdaaa9362	0xadea675b	0x9d07c8f6	0x9ae45c5b
+	0xa3cbe112	0xf7d58045	0xca9b35d5	0x8f5bf9c7
+	0x40bc3c9a	0xfedbc773	0xc916d4bf	0x7de7c9c9
+	0xe398edc1	0x33339071	0xd8d088a5	0x34cedc7f
+	0xe693824e	0x664ac04b	0xd3d86f85	0x8495e903
+	0x0b7820b1	0x93cd84d4	0x73850311	0x6cc916c6
+	0xb6b39ac7	0xf3abca13	0x3d01cd83	0x3a235796
+	0xc4ecde4a	0x8954413b	0x1223b62b	0x4117c02f
+	0xf4440a54	0xbd8c4c26	0x4422eddd	0x0dfe468c
+	0xaa2ac23a	0x776747e8	0x31cc43d0	0xff1bc38d
+	0xf7aa3359	0x90a68203	0xba162ac5	0xe5fb1d70
+	0x0d7fa055	0x7d230950	0x0e555bea	0xf2c8e634
+	0xce03f163	0x9841b4e6	0x55893013	0x56bf9792
+	0xd62c89b2	0xf1b4447b	0x53ff76f4	0x39f94c2e
+	0xe90cb414	0x22af74cd	0x5222553d	0x706afb99
+	0x86b32a7a	0x83b54903	0x972d00e8	0x08a8cc23
+	0x0e0b5dd7	0x4a23c583	0x777758d5	0x6b33509d
+	0x915bf8b1	0xa818c224	0x5b38ac0d	0x1d3917fe
+	0xf305d3fb	0x5c8a2f21	0xc3d42f61	0xaaa6a53d
+	0xb7fef5a3	0x3aa1d7dd	0x8e93db45	0x221d653c
+	0x12697f37	0x0e0b1e1e	0x48154723	0xac62a1e0
+	0x019fe7a1	0x36cd456b	0xf2ca6528	0x040f4928
+	0x6770a838	0x60a12ecb	0x548560ef	0xe31cef90
+	0xdaffb967	0xc12d714b	0xca9e5b33	0x22944355
+	0x09e705af	0x2d1b7a0a	0x9097cd6e	0xb2e9bfe7
+	0xd640dbf7	0x14a44e97	0xb54347f1	0xa7a3e4e3
+	0x08cb77b8	0xb53e473f	0xf803036a	0xddd720de
+	0x85e5b1d3	0x321c8b53	0xf9a645ec	0xc19fc693
+	0xd181890e	0xac6e6a5b	0x028b1f6e	0x718bf5ff
+	0x2068c47d	0xea1ee003	0x24e5e6ff	0x0395ce67
+	0x501472e3	0xcdbcaea8	0x7143f0c4	0x963473f1
+	0xc2d32a61	0x25b77183	0x926f7391	0xc1b9bec2
+	0x235ecbfe	0xce2bfd3f	0xf94c3482	0x7556dba4
+	0x20b958fb	0x7696cbba	0xbdfffd80	0x931d15a7
+	0x27899680	0x8843c47a	0x9b8bbe63	0x63d2844f
+	0xb2c965af	0xd8bed411	0x5251f3ce	0xcc9a2b98
+	0x333624f4	0x674b8921	0x630d672c	0x3c211d4c
+	0xd3651499	0x5b6102f6	0x71de73cc	0x62cb38ac
+	0x0b8ef96d	0x7c211efb	0x462d7fe4	0xfa427451
+	0x3f0793b0	0xef1d32b1	0x75a6c7a4	0xb6d312d2
+	0x8882bdc4	0x4cb44a2b	0x6c2dcc86	0xba3bee30
+	0xe49d8fcf	0x6a6f6e85	0x4bad2807	0x0a90f701
+	0x3bf0d0ef	0xf39c2c70	0x24c13f7b	0x32f91421
+	0xdd86a8e5	0x5bd98912	0x296192b6	0x0a3161e6
+	0x6c4bb90c	0x09074da3	0x844f7a00	0x43ea9d82
+	0x261918ba	0x90a25580	0x427ea834	0x0a9b2df4
+	0xcae515eb	0x86909d3b	0xd09ec51a	0xa437a800
+	0xb3e2c472	0x1fffbee0	0xc287d852	0x90e69648
+	0xed4af77a	0xc7863fae	0x09ccbc07	0x1e0dae50
+	0x4dfdb2ee	0x63c8bfbc	0x6e3c4be2	0x0eba65bd
+	0x2d3020f1	0x4185d9cf	0xfd307d41	0x38f281de
+	0x3f52929a	0x45e7fc34	0x41b70485	0x46994292
+	0x616183d0	0x4e97cdf4	0xcb0d3573	0x88ab95f8
+	0x580d3343	0x2d899c19	0x934c2c83	0x996eb67c
+	0x93af7041	0x76eff4ae	0x306bf9f6	0xf0583bbc
+	0x2950854a	0x8cb6985d	0x0dbbaa35	0x94752d5a
+	0xa960b2a2	0x99e7eeaf	0x04103312	0xc86ce32b
+	0xd7328adc	0x455cb9ec	0x9c3a8b8b	0xb9570f3a
+	0xb44e6dff	0x63a0e324	0x08ff5a24	0xfebbd317
+	0x4d2d2250	0x35ba9a14	0x7f036830	0x0b5b47a6
+	0x15613fcb	0x77773e65	0x13dd43a3	0x17dbf143
+	0xddde6126	0x5e5eb3f8	0x4c227240	0x741246b4
+	0x433fb072	0xbb816f4a	0xc2aadc5d	0xe099a124
+	0xccbb1ae3	0xf6925d81	0x05bf98e3	0xe85ada2d
+	0xb9d3cbb4	0xce98bffc	0xff1345ca	0x7c911c00
+	0xcca8a7e7	0xf1bddf15	0x909e4cff	0xcf9e807e
+	0x5158e784	0x1d277247	0xd04da5e2	0xf273e0cf
+	0x7807707f	0xddc68a60	0xd19ce0a3	0xbff8416b
+	0x1d8b4b63	0x7c0973f0	0x686fe206	0xd341d352
+	0x1357f0cc	0x65b8ec3d	0xaf10451e	0x65792664
+	0x6a2e7fd0	0x30e52919	0xd3d8334a	0xaa126b88
+	0x03618083	0x66861d88	0xc9a6f447	0xa38f931c
+	0xb6c81114	0x05ba6529	0xfc24abd6	0xcf965251
+	0x3f2d6d3f	0x899d7122	0xa267e82e	0x86bc523c
+	0xdc287579	0x41323ce6	0x8674328b	0xde39514b
+	0xb73080ee	0x46db8f86	0x236d455f	0x948e8b31
+	0xc617f609	0x8407e4d8	0x58898c23	0xaa0fee77
+	0xe208a647	0xfe93943d	0x6142bee3	0xa5ee20ba
+	0xba71945a	0x5d1319c3	0x2cde8323	0xddff5e23
+	0x2938e99b	0x57781e69	0x65f18537	0x59d3813c
+	0x612dcc67	0x8221186a	0x74346a0f	0xf9b5e8b2
+	0x51a8a89f	0x3f719660	0x27e0a4ad	0xe1f53c48
+	0x75071497	0xd89258c6	0x5df36dae	0xb088d1fc
+	0x617d59d9	0xf6b02c55	0xf481cf7c	0x930ec40c
+	0x840d9d72	0x324d28f2	0x866396ed	0x8c7008f3
+	0xbe6562c5	0x6541389d	0x29032124	0x4a4b1bfb
+	0x939ab296	0xaa3420db	0x51586947	0xc8080583
+	0x74a53a76	0x3969c752	0xc316993a	0xc1865a5a
+	0x4e2dff5c	0xd9e640b3	0x8afd0055	0x2df0df5b
+	0x50399e64	0xbda466e8	0xd393eba2	0x64501f82
+	0xb2170330	0x6905ca9c	0x9545875b	0x2a716bf4
+	0x3d84fb86	0xfc6eb3fa	0xa3f19240	0x3fa1b1aa
+	0x38a26342	0x36cc1a64	0xa9ea4a6f	0xfe1221f1
+	0x0d2c0874	0xd039600f	0x4733ee63	0x779b9d0f
+	0x1f6d5ba1	0xadce4232	0x7ef1d927	0xc7f50ab9
+	0x1803224e	0x735ad0ca	0xf90ce6ee	0x43fafcd2
+	0x5d18f867	0x8baede71	0x06b19914	0x4a2afb9c
+	0x4361cbfc	0xe4fe48ab	0x2a30bb42	0x8d1793e9
+	0xd2d2272e	0x93a2495b	0x30c3aa6d	0xf61d2d61
+	0x9d03a325	0x1212f8ae	0x04d3d802	0xcdf17fb4
+	0x1a2c3f53	0x631e5918	0xdd5da4ad	0x2049edd5
+	0x4cf33d66	0x69fe3c6a	0x09fb25ea	0x14038f9c
+	0xf35f8fc6	0xae85bf48	0x4f66dcdd	0x36a38ef4
+	0xda7f166f	0x7a480d5e	0x2ee96e00	0x62aeacd6
+	0x7db7afc1	0xef452e08	0x35fc1947	0x267c71c2
+	0x32cd85cc	0x47fa693c	0x1c4451cf	0x69aa65f8
+	0x892bc9f7	0x0ef79729	0x7341568f	0x0b097c7e
+	0xba49383f	0x971c9a86	0xf087b5b8	0xd6633391
+	0x13ae6f8b	0x4ac59d4c	0x3bf66d77	0x2c44ef5c
+	0x46affdff	0x5d31ca59	0xb839227c	0xf17d0ab2
+	0x61828055	0xe8627dba	0x86741273	0x3ce25788
+	0xf93b9718	0xf607e235	0xc81960b0	0x09c83c2b
+	0xa6dd7a55	0xbb442bc7	0x40996c51	0x79618023
+	0x3baeb067	0x016145c6	0x35c74dd4	0x87eb8f72
+	0x2533565b	0x6c677920	0xe98959b0	0x740600ce
+	0xd3276f05	0x9cb59940	0x48206ccb	0x42d91f21
+	0xd3fad546	0x2fd7bd71	0x4d0ceb21	0x2cf4bdb9
+	0x49b7eb2c	0x1491b3d2	0x1d32a4aa	0xed8eddfc
+	0xc46a4109	0x0ff7904a	0xa3fa1477	0x4b541901
+	0x6d17d28e	0xc9f5e6ec	0x550f9aa9	0x5be73ffd
+	0x527aa7a8	0x3dec2fbc	0x06f4e253	0x280c4970
+	0x5b252fc0	0x28c7a99e	0x6be0ade3	0xc912fb59
+	0x6df2b558	0x1e7115ee	0x0d3674d0	0x73982cb9
+	0xd5130d14	0x95d2eb94	0x90e824c3	0xae63dd69
+	0xdc1cc2f6	0x6f625222	0xb56650dc	0xa0804801
+	0x83de64cf	0x300ee3a5	0xe61d6b08	0x8af407be
+	0x2e3b5458	0x13d5d61c	0x96b97c27	0x3ff2b138
+	0xf55f15fb	0x05367ca9	0x2dfe48d3	0xd475a775
+	0x8adcddf6	0x08a87984	0xb9d8db95	0x4c64dc69
+	0x7678e5c4	0x3f787436	0xe77f3c9c	0x51ead76b
+	0x08a0a17c	0x38c26de9	0x393f7667	0x019e26fa
+	0xdc18902e	0x8464c93c	0x9b2159d6	0x7bc83716
+	0x02473747	0x22760f8f	0xba56250a	0x69d8b7f9
+	0xcaef54f8	0x3ab04f04	0xb5d69ead	0xb557222c
+	0x89d7407e	0xa2023064	0x9b12df4a	0x6e6e6282
+	0x1e2c01a8	0x1f32ecc2	0x15b8d009	0xbcce68dc
+	0xa73b44b5	0x67c5fa56	0x77b9a68e	0xdb309031
+	0x89fd86c9	0xb5cf0533	0xb9767bc4	0x13706941
+	0x6a371170	0x75c6b2d8	0x1a793e9e	0xa384a62b
+	0xf2f10dc9	0x443d44f5	0xe50121d7	0x91427c16
+	0xce395518	0x319a79a2	0x2f4ddc05	0x03e6038b
+	0x84c351ad	0xdb75f333	0x16fe4d23	0xe069473e
+	0xec11fee7	0xa6fbaa35	0x95562e11	0x00073ff6
+	0x3a9cdaa4	0x5dddbdd4	0x6e811efb	0x245067f3
+	0x2175c41d	0x1a2c9570	0xcfdcac6a	0x6d7f4003
+	0x756539d9	0x286e393f	0x7296856c	0x0298c64e
+	0x40583fe6	0xf56c48cb	0x79906451	0x69878ad7
+	0xc89360d8	0xf41521a1	0x5468606b	0xf2ac0952
+	0x05c2aaf8	0x0c281f8a	0x926d08d5	0x66500ebf
+	0x8766c806	0x44940d66	0x24598745	0x2c751d18
+	0xa1295019	0x2f5a4797	0x8f74a4a1	0x1d8f0938
+	0x79cf29c9	0x6ed43a8b	0xa39f1716	0xef8d551d
+	0x20396951	0x96b039cd	0x73c90ee0	0x3be74718
+	0x3c6d6915	0x0d2bae34	0x115a48ce	0x7ae08b90
+	0x75333b3d	0x2b1f77c4	0xaa2b4e8c	0x01771e17
+	0xbdb3b763	0x53490c21	0xc413efe8	0x77eaef46
+	0xbf241246	0x68b80f5a	0x68daeca9	0xda0d8421
+	0x4d93cff8	0x8312ba53	0x59d221d7	0xdd9f993e
+	0xe153d55a	0x5465c8a3	0x512cf45e	0x09817be4
+	0xd9180ad3	0x3878720c	0x63cf7022	0xcf9a9000
+	0xede3792e	0x09047d82	0x86a35e16	0x6a51c408
+	0x99b14cfe	0x798b41c8	0x1014c9dd	0x99437aee
+	0x43a41b04	0xc417b87e	0xe58fb27c	0x732b2e2d
+	0x5d181e1e	0x69614981	0xdcdb6d12	0x4c2c4094
+	0x2c134d4e	0x757b0752	0x14c8337a	0x8a63b65b
+	0x767b11f1	0xe4597e9f	0x8d2f8046	0x5c71a95c
+	0x07d458c5	0xfa490cac	0x19ad3653	0x38ebb812
+	0x879f6091	0xa4b06da4	0x97d530ac	0x493cef7a
+	0x34472438	0x2f7bc03c	0x7a0e971c	0x4de4c4da
+	0x722567a1	0xeefaa9dd	0x0ff4289f	0x78ee158e
+	0xb74dc660	0xe43d44cc	0x37fdf8ac	0xf0aa80cb
+	0xc9bc302b	0x62bc2b14	0xe05400d1	0x50d9b3d1
+	0xb2fa1a08	0x3319310e	0x1423ed01	0x9d21ffc8
+	0x96b302f5	0x44e14bbe	0x48139d6f	0x00469f63
+	0x1fc9e79a	0xe53dfe55	0x6e5fd22f	0xba9db817
+	0xf06bd8fb	0x368e5fe3	0x57e1d023	0xbf2b7331
+	0xe645dbb6	0xc3e9e1e4	0x33d992b5	0x71820083
+	0x141a3f11	0x75bf460e	0xaf3940fe	0xba6a1b70
+	0x1904207a	0xb9a59626	0x01c0e10a	0x3c799256
+	0xe2f0a070	0xe49873c9	0x043f19a6	0xea15fa4c
+	0x3914389c	0x5759106c	0xe8ef98ce	0xd48114b8
+	0x998a8829	0xe2526434	0xc00f2cce	0x2077cbf7
+	0xf44b9744	0x69693d18	0xb16a0880	0xf1fdd3f3
+	0x32c3f731	0xa499472e	0x67dc721c	0x1d798259
+	0x48d7a406	0xb8ccc13c	0x2ef181bf	0xb8ae2873
+	0x47eded1d	0x29165bd0	0xd018f6a0	0x370fe96b
+	0x9aeba42e	0xc070e6fb	0x7a65c9d1	0x4787b944
+	0x873dd192	0x42c37903	0x12e9769a	0xe2678bab
+	0xa6e3929b	0x265c037b	0xd7261fe0	0xbb6c295b
+	0x9b833704	0xb2355808	0x5d56f79e	0x79f654a4
+	0xcc125216	0x01908561	0x9b320df4	0x548c4f88
+	0x7110e20e	0x0517f94d	0x03c2d0c8	0xba351956
+	0x4275f6ed	0xe9c9d940	0xd680828e	0xef4d4fc8
+	0xb0b32bd2	0xc6ccafd8	0xf696004a	0x4fdd7879
+	0xfeb1fcb0	0x9385422b	0x3c2b9dd9	0x8cf18b07
+	0x62748860	0x5bcb9e8c	0x899a2937	0xf9f501ae
+	0x186eb5a0	0x959a3714	0xa400f6e3	0x5c27eab4
+	0x50b42e84	0x51a7121d	0x94ea1f42	0x083edb1b
+	0x9aa9ffcb	0x4d93db79	0x5a50e2cd	0xdad2b9aa
+	0xdfc1993d	0xac0ef252	0x3ebea017	0xde8adcf4
+	0xb83bb50e	0x8be07c3e	0x43e22441	0x2e4ffe0f
+	0xacaea888	0xa96b1ae3	0x29b05f78	0xda38c661
+	0x9e1c1c98	0x3be89982	0x686eeb2f	0x52ac0e93
+	0xc13ef398	0xf6114090	0x72d74a13	0x0e4c5162
+	0x412e4801	0x5664bb09	0xab8eff3e	0xb29a5ee1
+	0xca4a0709	0x0c20eebe	0xbd266fc0	0x15ca28da
+	0x80a96d8c	0xfef90527	0xaaa85e1a	0xcc457c17
+	0x25dc38b8	0x8ce9769f	0xbf255314	0xc8400177
+	0x089fa961	0xbd232721	0x53ca8254	0x5469aad2
+	0x0bf328e3	0xfbc9cff3	0x9cbd2560	0x59083d00
+	0x263b476c	0x2034b217	0x7b1b96df	0x71e2b5b5
+	0x739b6488	0xf868f2ce	0xb4c2e558	0x2363c171
+	0x66d12327	0x48055332	0x247b62c7	0xb9e86728
+	0x71797ee9	0x9233b437	0xfdbab962	0x226ebe50
+	0x3c646aae	0xccc66200	0xe2279855	0x54bd9796
+	0xbc41d857	0x19b80e89	0x6d69a007	0x41e31450
+	0x72688b6c	0xdb1d95f4	0xd3de621b	0xfae7e454
+	0xc82d6c6e	0xd3a34aab	0x8d31bf7d	0x1e1baae7
+	0xe554cea4	0xc1fe98b5	0x43e83432	0xb393a1f2
+	0xff64dd99	0x0a798857	0x4d9508eb	0x6d5e520a
+	0x5c028b0b	0x846461aa	0xd9d910ff	0xdc45a169
+	0xfd6c7b05	0x39dfe286	0x48fea115	0xda5c22a3
+	0x06df1f67	0x295c426b	0x2f57643a	0xab317e96
+	0x5a97e35c	0xc35c99ea	0x616daed6	0x4a5a7e5b
+	0x86db9179	0x2e31bebf	0x67c1bfd4	0xab70ad35
+	0xc23d6e89	0xb86cd4af	0x96f15490	0xb4926f42
+	0xd8eb2b04	0x36865b27	0x1bebc0a3	0xd320bb6a
+	0xdb3d99ca	0x67f1eac7	0xf00cbfd9	0x88ff5de1
+	0x9d6761b4	0x58c9665b	0xcf208f37	0x2e72850a
+	0x75d6a311	0x1d9f6cbf	0x1ff2c8b7	0x0ac4974b
+	0x9ffddb15	0x844da134	0x4385f83d	0xef3d5636
+	0x1c46e418	0x282b5a69	0x33c19be1	0xbea4ca0c
+	0x3430e6da	0x27bd1cbd	0x24f53db7	0xe7de5573
+	0xb9df0cc8	0xd3608acf	0x3461d906	0xb98954e1
+	0x4d17c0d3	0x6ff05d1f	0x4ffbd387	0xcc418845
+	0x52691ea6	0x9fc82771	0xa0d4fe96	0xb246d371
+	0x0c925598	0xd4f9c6e5	0x089c436d	0x462488b4
+	0xc66bf983	0x80710b31	0xdcdd92ee	0x9b23344e
+	0x893534fc	0x9b0958b2	0x2d972b53	0xc903891b
+	0x5d3fa8f2	0xfad9f3da	0x025fceb2	0x0936f5c9
+	0x22c60c28	0x022cbb55	0xbf64b03e	0xa2741a40
+	0xc39839c1	0x689957f9	0x55016547	0x980be48c
+	0x32f79347	0xc3b007c6	0x14b02b4d	0xaa7abdef
+	0xbeef96bc	0xcac44a9e	0xd189581e	0x64c1678a
+	0x842f7725	0x899ecd96	0xe6bd35af	0x9ff16743
+	0xf9810444	0x937d2dcb	0xeef3745c	0x463d697d
+	0xa9177296	0x922606ad	0xc589e4e6	0x7fce85f5
+	0x0e282c9c	0x45772b2f	0x4f9e4ad1	0x1d8c18d3
+	0xf6b7cecf	0x39f252a5	0x7a6517a9	0x43b531a7
+	0xa1b70c15	0x4890149d	0xb77b41c6	0xc6273a81
+	0x31fee2e3	0x5574b062	0x9030ac68	0x08be1c87
+	0x7a28470c	0xb5d77506	0xbeb246aa	0x4ccfb5e2
+	0x73cc0f3a	0x061ba338	0xb02c2910	0xd2cb7dc6
+	0xb5fcb59c	0xfffb7494	0xcc1fb080	0x038da62a
+	0x6f1e9c33	0x10c160b2	0xf92f9e46	0xe88e325c
+	0x707a443c	0x4483717c	0x1bc3a65f	0x9cd36553
+	0x0dce8fa5	0x6949cd99	0x27764ea5	0xf9aedd67
+	0x3cf14fc5	0x4e7b2b8a	0x1648e477	0xe9ab5d58
+	0x9a01ef8a	0xe4bb6451	0x4826c42e	0x429e43b9
+	0x9ea26a2b	0x2a04324b	0x1b52a414	0x7b0e6263
+	0xbdbaa603	0x6de2bd68	0x6e3f1ec1	0x58c33715
+	0x125f33ef	0xb71d200f	0xd16aa410	0x2556e9e0
+	0xc195b12b	0x8cc60255	0xae797629	0xabfc8c32
+	0x3eb521a6	0x92e7c9c1	0xe2448157	0x9f6f8a7f
+	0x731eb492	0x2712ae7d	0x89609926	0x0687a6a2
+	0xe7f628c3	0x4f65157c	0x7d7b305d	0x841d3626
+	0x391c386c	0x3e3a9d1f	0xabcd68c6	0xfd0cd231
+	0x39c1e3db	0xfada45e3	0xd5b6d1aa	0x18fe646c
+	0xf742a96d	0x74d26ac6	0x8467351c	0xafef9c1c
+	0x7ff9d24f	0x51b28bf5	0x239ec2ac	0x648bd90e
+	0x184f5241	0xd5173b0c	0x99f9e0e4	0x2ef7a3c2
+	0x4631836f	0xe363f943	0x4daac20e	0x7e332266
+	0x34474b72	0xfee7f6cd	0xa861b458	0x2b390bc5
+	0xf33c2713	0x58bac7ab	0xfa560247	0x4444434a
+	0xd183c11a	0x8b397b13	0x5f42ef20	0x5a7bb80d
+	0x535492f8	0x1e3c479d	0x22af7d02	0x9ced1d00
+	0x20509deb	0x287059b3	0xbf620a20	0xda7d4d23
+	0xb628f464	0xb205b5de	0x3df7d96e	0x05a1d1d8
+	0x68881dbe	0xb2f37cb8	0x3542778e	0x866b8e2e
+	0x3d3c6243	0xfdbb75fd	0x398aa395	0x065b5e04
+	0xbb8517b6	0xd9b51782	0x99bac363	0xf3166a18
+	0x7c7fccca	0x1dc86d20	0xc7ca3c16	0xa328650f
+	0x5ae266c7	0x893f5e21	0xf5b33e6d	0x42d75218
+	0x7f70aec1	0xbdbf56a4	0xdca9dee3	0xaca87462
+	0xab03ee81	0x9cb3170e	0xd047dc9a	0xf1a33dc2
+	0x765ed8ef	0xbe7db712	0x8d24efc4	0x4f94db8f
+	0x8e9054cd	0x5f130d0a	0x393884c3	0x9fa1aba2
+	0x5d208022	0xff5dd2ab	0x10f2ff7b	0x031b14d9
+	0xc42ecf87	0x9d8c51c5	0x93c53e6a	0xd950dc97
+	0xca85f453	0x9e6167df	0x3d4b38e4	0x25334dc4
+	0x7b2def4d	0xd88dd7ba	0xbc4c0164	0x1f8a45ab
+	0xf2849ce8	0xb4afb52b	0x6994aa4f	0xa48811a6
+	0xe59c8535	0x98e0459d	0x96baf624	0x49ef84f0
+	0xc729f178	0x9690406e	0x91d494c3	0x7ad4b29d
+	0x957735a3	0x44ff4c6c	0xa64673ba	0xf20e8b54
+	0x62ae6437	0x3b8a767d	0x7187a2c8	0x5322dd0a
+	0x2ed99b7e	0xb43e8e63	0x29abb7e7	0x41fc0edf
+	0x62312c07	0xb310bbb5	0x8ebcab75	0xce246520
+	0x38a3fcd5	0x2f9f0fb7	0xbc26a8b4	0xf1e90186
+	0xb15c7de2	0x1178ab54	0xd5f76c38	0xe971da6d
+	0x13556df7	0x61ce53a4	0x5b6c0704	0x2bae03c1
+	0xe82fa850	0x8a6ab6fa	0x0ed05fc1	0x835927ac
+	0x3849db78	0xcff4dfde	0x9804cd75	0x697f18a2
+	0xbe604bef	0xc202738c	0xf2e8a4a5	0x8b6361d5
+	0x0469300a	0xf89bf5c0	0xa9fdc209	0x2439fc79
+	0xbda566aa	0x6b02ebf4	0x7daaeeca	0x5e845429
+	0x79a52787	0x76c18921	0xf2157580	0x0e51c37a
+	0x34f1e505	0xbef79b43	0x60f589c6	0x31d9e178
+	0x66d77003	0xe2596de7	0x324531b5	0x9b08836b
+	0x29d7b288	0xd66a8661	0xf99bf376	0x830d4e97
+	0x43d19589	0x501f49ed	0x282a1103	0x6fc3f1e2
+	0x17000117	0xd423646f	0xfd6d45d4	0x7c5eeb84
+	0xc478e828	0xf8cbe08d	0x7cd41d18	0x74987bb3
+	0x351c2305	0x703e9a90	0xda95a103	0x4675977b
+	0x964c6719	0xc83f01a6	0xdf5816df	0x0711073d
+	0xad788488	0xa2bef75c	0xd1bc3134	0x31e1ae80
+	0xe47cd8dc	0xd6e997ac	0xbc64037b	0x6b693af3
+	0x3e28d3f5	0xaa60b35a	0x6ddf3034	0x89cafc81
+	0xeee00cf9	0x35298933	0x8b85e3ae	0x4e1ed6ad
+	0x95c9a627	0x4cc27068	0x8c9a4667	0xab9984f2
+	0x1be75381	0xea018e83	0xde3e9771	0xbd91f6b6
+	0xc1ca440b	0x8384a0ce	0x531c3ee1	0x42d9a41c
+	0x21cf18ec	0xba39f43f	0x9c6189e1	0x77134ca0
+	0x1c6c9d89	0xea999a2b	0xdbdb0bb3	0x8f90e331
+	0xbcac15df	0xa5e1ce4c	0x41872886	0xa134dc47
+	0xe7b2e5fe	0xa60ea19b	0x0c242c64	0x1ee241cb
+	0xe357a99e	0x4f169427	0xeeef270a	0x0a97b188
+	0xe901a495	0xce68f434	0x87412b2b	0xb2797d07
+	0x8453a00c	0xdf6a4506	0xb69b478a	0x760e3aeb
+	0x6a450b2c	0xf29ce4d0	0x33b9b409	0x59dfb002
+	0xa1885e8b	0x114c2cd6	0x4946c941	0x6aef1d0f
+	0x09f2eb78	0x0230e56a	0x14fa9652	0x71ceac31
+	0xf149957e	0x0c7fc978	0x3c4de046	0xcfaf111f
+	0x8e806a58	0x90f589d7	0xadc9cfd5	0x76c98405
+	0x45267b7a	0xf23080ed	0xfee4b22d	0x235c9d68
+	0x61cddf25	0x94b24dbf	0x707b12de	0x039ddadd
+	0x6d8ced8c	0x74a9aa61	0x55bd5d4b	0x0001267d
+	0xc6bd2165	0xa8580393	0xa21380af	0x86f57fac
+	0xdf225e98	0xed4a8bde	0x278ba930	0xdb0eb6f9
+	0xd546baa4	0xa0d0eddf	0x3700d0ea	0x8623fbf0
+	0xb5de4159	0xcd987abd	0xcdbb7d42	0xda51a7d7
+	0xa2ed5b76	0x7fa8d049	0x0ff9cfb6	0xfe741c53
+	0xe67ca66d	0xf87c80d6	0x0e338d5f	0x2816ab54
+	0x9bb5111e	0x5908c471	0xc929d548	0x2e09a3b9
+	0xcf996e71	0xb3feb32c	0xa6a3ded8	0xf1de159e
+	0x8e7912c2	0x9117ea62	0x8a2bc677	0x62019360
+	0x0a37c87a	0x68f7d20b	0xb20a6392	0x08dfd29e
+	0xd1754a6f	0xf4e9b799	0xe8cb4097	0xea12996f
+	0x4ee6b302	0x6b2222ed	0xc48f1def	0xae0ec530
+	0x3f7dd4c3	0x9c0c89ff	0x10e5a030	0x3a7fe7d5
+	0x591a1887	0xb896a6d4	0x5eebe287	0xcc6a2931
+	0xf93a3d12	0xfd0c973a	0xd3ed2395	0x8856712e
+	0x2dd3d153	0x71604f81	0x6d43dcae	0xfbd5a60a
+	0xd3642cf8	0xcef67e72	0xf92679c5	0x5978a0df
+	0x31e52d4c	0x2c99afd3	0xae5508e4	0xd80a2026
+	0x9f8c2e26	0xca5678b0	0xd4457ed3	0x40eacefb
+	0x30159f2e	0x787719fe	0x77bd38ae	0xc0c959b3
+	0xa8fcdf83	0xeb2f35a0	0x12c3679f	0x0e6cdb49
+	0xf4c2c1b2	0xec3cc30f	0x15393130	0x28666bfe
+	0xb0280fb4	0x5e731016	0x87fc6fd6	0xd6ed815c
+	0x5102dc55	0x01d1457f	0x42c20f03	0xc97c799f
+	0x0898c8a8	0x236c74ab	0x59007c31	0x8671d1e6
+	0x687d10c2	0x90596194	0x88737c04	0x6ba246ec
+	0x9fd21a96	0xb31a0e22	0x06760d52	0x46376c4c
+	0xd0377d10	0x27f327a6	0x7172371d	0x3278d768
+	0xd5e4a4aa	0x9496b184	0xe1598e55	0x79b81601
+	0x5e6504f7	0x65953db2	0x827e535b	0x2a9845b0
+	0x0ebd585d	0x34fda4d3	0x9aa5f56d	0xc604a643
+	0x04667d2e	0xdfaa3144	0x8b697070	0x1071b6e4
+	0x59a62213	0x0aad9262	0xdd85a2c1	0xe78158c6
+	0x5e597679	0xafc95247	0x8562ac76	0xbe724287
+	0x95df26b1	0x631f95b8	0x4b273544	0xfe4c8205
+	0xfcd0b2a3	0x6a648810	0xcd00fbc0	0x6d7ae7de
+	0xc55dc711	0xd2c54140	0x7205328d	0x61149749
+	0xa18ca6cb	0x465cd12e	0x4256c600	0x78e3994c
+	0xa08f0d5e	0xeadfda4b	0x4144bef7	0xc2bbe8c8
+	0xf9727a45	0x45aaff8c	0xdf55ff6a	0x1679e624
+	0x08a0a4c9	0x3d850fe9	0x935371e3	0x4c8ee65a
+	0x87489f22	0x922bc4d5	0x2a79234d	0xd3f4b9bc
+	0x0428dc1e	0x0b56cf51	0x832be5e6	0xbebc05c6
+	0x46a0229f	0xc096889e	0xc1eb7dbd	0x60583e8a
+	0xbc916869	0x84f334dd	0xd1cd949a	0xd0b60e81
+	0x14dc9282	0xc3260066	0x6bca5262	0xed65da4b
+	0xf4afac17	0x20d3708e	0xd570d02a	0x0a5c4624
+	0x458553e3	0x080670bb	0xaac9fe22	0x29635d29
+	0x984543c4	0xaa46fab8	0x88f51422	0x7b0c922b
+	0xe03f8571	0x253065be	0x7eae75ea	0xe0ad3531
+	0x6e39a2d2	0x5e20398d	0x44c6eca8	0x5a99ce6c
+	0x4bf0652a	0x1d87158f	0x5fa6ee5a	0x0d1ecef1
+	0x9aeac19d	0x1291e54f	0x4ef5e8fe	0x201568c2
+	0xac928887	0xdb213ab7	0xa5b23ca0	0x7aa36dc1
+	0x9f459a01	0x6925051f	0x51166d69	0x17391074
+	0x5f4dac0c	0x3c65c5ed	0x82410dd3	0x11dc9554
+	0xc2ff2440	0xd145f7aa	0x88c580dd	0x2d665fe5
+	0x8b459149	0xa6a3d63c	0x8119542c	0xe4ea4830
+	0xc943ee11	0x11c81007	0x8b192b2b	0xe111fadf
+	0xbf24f2bd	0x85688f72	0x395060e6	0x9a6183c5
+	0x8f2c9397	0x7428bd10	0x81fbcc32	0x95e477cf
+	0x6f7aca36	0xbfb729be	0x5692929c	0x55fec4fb
+	0x2b7238f6	0x745c622d	0x7c306fc7	0x3aae5f89
+	0x527ee3c7	0x124adeaa	0x3ef2a62a	0xf3d1f3a1
+	0x1e29a164	0xf2fd7fed	0x779f38d6	0x9d781240
+	0xb114b838	0x5acfbd0a	0x603db973	0xdb26d966
+	0x2bb6d838	0x38808300	0x9968a93d	0x2d3b7a2a
+	0x0b87310b	0xe1075e16	0xf99fbda9	0x26c80868
+	0x4b3a0e16	0x489a041d	0x93fe522e	0x2f3d9f35
+	0x65fcac62	0x784a79cd	0xf659ee00	0xc7115cee
+	0xddb43dba	0xf7417c81	0x18bb0b76	0x4a65ed21
+	0xd449cf4c	0xadef0ca2	0x8df488bf	0xa45ed893
+	0x786074f0	0x63c8c85b	0x9ba06767	0xf91d6c4c
+	0x8c296e0b	0x3e713400	0xf08a1a8a	0x3f85bcb0
+	0x13a9a240	0x4af2097c	0x31e8c19d	0x8a5632ac
+	0x4a7f3a01	0x27b33fbd	0x3eb57a1f	0xc41a9f9e
+	0xb02e9d8b	0x3cd5c551	0x344459d0	0x82208b42
+	0x7b5080a8	0x7297da72	0xcf099c27	0x7e9d8f08
+	0xff89d997	0xcf4aadd2	0xbca31063	0x6e776ddc
+	0x86887a48	0xd1e14c52	0x477a5c1e	0xad4c813f
+	0xee8ee579	0xac0ef345	0xa2ca0189	0x9f3d2890
+	0x551d307a	0xbe1186ff	0x47ec9093	0x282a217f
+	0xb69a904f	0xc039cb02	0x6275b24a	0x198e63d7
+	0x581315e8	0xe06273a1	0x83435257	0xd88f5344
+	0xd0c09528	0xbcfd89ac	0xd10aeaac	0x7f40cafd
+	0x6ee9d7e2	0x71c661c6	0xf43585a7	0xe77b33a6
+	0x6459076f	0xfaa6bdb6	0xc094c451	0xda9581d5
+	0xc4fb8bbc	0x279b815e	0x2ad06a46	0x85f16193
+	0x157e2cd9	0x60603d40	0xbfebba5e	0x8f5602aa
+	0xa99b67c9	0xc14940a5	0x63e5b0b8	0xdade3f40
+	0xfea0e352	0xa838d4ca	0xfd49f7d4	0x411e92b6
+	0xa59ecabf	0x56f5cd99	0x38464815	0x134d4834
+	0xac5b045c	0x313225de	0x09f9d422	0xf13b59ba
+	0x90c6e2b1	0x033cc601	0x05212579	0x50650085
+	0x3e1ed885	0xfb55cf1a	0x514c188f	0x862d6542
+	0x87b0a8ca	0x0dbbe2bf	0x1f062bd5	0xb9db5921
+	0xb3956060	0xe1011253	0x02ba0715	0xb712d976
+	0xa56effba	0xecfea4cd	0x998a8fa2	0xbac2040c
+	0x78f810cd	0xf49cdded	0x1b1ecbf9	0xa39324e8
+	0xc9c9d170	0xdbdf031d	0xffa22fd2	0x228fb0f7
+	0xdeebbdcd	0x2ab87788	0x7733aad7	0xa0903ccb
+	0xdfbe960c	0x4fb66a32	0xc4116a1a	0xf6f6fcb8
+	0x34607f80	0x3fa5d765	0xeeb7d3ee	0x9e82916d
+	0xec558818	0x57c1b40e	0xbcd7b5ee	0x41284e1a
+	0xe4fcffa0	0xbe6994b4	0x081bc597	0xbfd2ae67
+	0xdd3d45a3	0x8597efb1	0x1e32ed7f	0x916a2b59
+	0xd9bfea8d	0x817c52c9	0x8e69978f	0x3260c8e1
+	0x2e68361b	0x77121ca5	0x379afc8d	0x566f84df
+	0xd671bed4	0x963ebea5	0x9e13a13e	0x149226b1
+	0x54dc3e91	0x9d9d88f9	0xecf40a88	0xd11588d1
+	0xdf1ce683	0x0a4c034a	0x0c0288e0	0x95d27196
+	0xb70fcddd	0x390c6608	0x932c30fe	0x1421b40b
+	0x3e6a8f12	0x720c37b4	0x131f84b0	0x9366cee0
+	0xbeb1e54e	0xcb87807c	0x6eb511cf	0x51327e74
+	0x9a14428e	0x7f85f990	0x32b49454	0x35e54147
+	0x56485202	0x6098b209	0x47adf064	0x56e6b38c
+	0x248bc21f	0xb4fb0248	0xb119ecd1	0x4adc92f9
+	0x14121b5e	0x7960a2c6	0x5becea6b	0x4ada0b2f
+	0x1392c419	0xc867fe0a	0x6d0a0ea3	0xb1693186
+	0xd5f8c08f	0x5aef27b1	0x0a4cc1cc	0xa908727a
+	0x479c6cee	0x8a2166ec	0x5004c1ae	0x5be28a85
+	0x58345dc2	0x582fab3b	0xeb588d86	0x5ded5c7b
+	0x62de5ee4	0xde399717	0x7eb71367	0x6711ca46
+	0x25a067f1	0x4189d51d	0x8136cfa8	0x3fb2a63b
+	0xa93bd63b	0x31ded695	0x138b4c19	0x7b3e3321
+	0x00f85c16	0x99c9ad46	0x9c61c855	0xb590bd91
+	0x9fe86d17	0xda40a5e2	0x8d6d5468	0x13390dee
+	0xf9e04dfb	0xc1081395	0x2b9764a3	0x2002f0b5
+	0xb8fb1a86	0x3a17ac03	0x63adfa9e	0x56070ed8
+	0x70913109	0x506154ec	0xfc97e231	0x14e97084
+	0x847acb88	0xdda65a5d	0x8852793f	0x3340d3a0
+	0x178d6cb5	0xf88a3a72	0x2bd6cc4e	0x627bcc10
+	0x2d84b6fd	0x8a4e0d9a	0x79e1656c	0xd5688a96
+	0x339bdf6d	0x4cd371fb	0x0be9c919	0x3edbfa5c
+	0x3b9ff9e8	0xc011e66b	0xeb07abe0	0xd957cf0b
+	0x4b9b59ed	0x185df1d1	0x5b359154	0x0eafe888
+	0x7a9ec4e4	0xad73fb84	0xbe680eed	0xab6bb5e3
+	0x2fe7f672	0x12917f24	0xdf2f06bf	0xf2f15066
+	0x653d7392	0x448f4958	0xc57b3616	0x7554c753
+	0x477f344d	0x53cb815e	0x92432979	0x995f7c5b
+	0xd444613d	0xbfc375a0	0xa558b193	0xb9a04fa7
+	0x5dc44f73	0xd2794e11	0x67afd4db	0x2f33a486
+	0x9f494f9b	0x4dbd615d	0x51467f59	0x4f8ade7d
+	0x7d690d61	0xfc4e4cf0	0xd445fa4f	0x52a1963c
+	0x976ba746	0x031ea65b	0x5c510fc7	0x6a6ecb39
+	0x07341321	0xb2231470	0xa8c53448	0x398e6423
+	0xf6ad9f7d	0xa0960bef	0x9d10e113	0xe492c051
+	0x1fdbad33	0x5b5a5221	0x81e84600	0xc3960bd9
+	0x670b29f0	0x6dcf1584	0x902b6b4d	0xd8d57f9e
+	0x350a633a	0x60a76401	0x0ad8d075	0x819237de
+	0x51a49f68	0x2e731581	0x36466063	0xbb6e0ae2
+	0x842c2b84	0xd55e6c15	0x76db4240	0xd532b2c2
+	0x88ee2b09	0x960820a1	0x12c128f9	0x50eb2d48
+	0xd0899ebe	0x9aab2e87	0x431c5f0f	0xf0ad6572
+	0x170d8286	0x3141f694	0xc599df60	0x88c369fe
+	0xb185106f	0x19ddbb39	0x05abf400	0xa8c6e8af
+	0x5c7c37c7	0x538e2704	0x7ff774e5	0x2a525d31
+	0x5e86c8e1	0x6f1cab4d	0x9432754a	0xb31e7345
+	0xda8c0ebe	0xde1e8f4e	0x22b8a5c7	0x2d43845c
+	0xbc44ff6e	0x5a6a9f74	0x9245eb1c	0x05cf9997
+	0xd9e54326	0x93c04441	0x89b64c83	0xd3c9502c
+	0x1d77b35c	0x20c37f3a	0xf5ec242a	0x594235ad
+	0x62445010	0xd43e4b0f	0x9945420e	0xe8808c53
+	0xc4ec3486	0xccac8e69	0x85b742d9	0x05d14091
+	0xd35044b1	0xe71d1900	0x721d137e	0xdf0b24d6
+	0xc75b8cde	0xf7228766	0x2787c27a	0xf6810632
+	0x4d326f1b	0x8ea69f7c	0x7013ae81	0xec071128
+	0xa2ce8886	0x527c6e4b	0x7b792611	0x992426ce
+	0xaa8bf49b	0xde77f138	0x675dcb46	0x81df02b8
+	0xee38dbd7	0x82699815	0xe8e97881	0xc3c7dfbc
+	0x080bdcfa	0x57e97143	0x728e27c8	0x773a7186
+	0x617b8e48	0xe3bbdd6e	0x8aa36f10	0x39b5b9d3
+	0x43949cbc	0x18ced620	0x4cbd3a25	0x7413db27
+	0xd8f38237	0x60d8f30c	0x96174aa1	0x9d6e3762
+	0x45e86e75	0x9302858d	0x02929f0c	0xcee92d8b
+	0xe444d794	0x1850664b	0xa6f133c7	0xcdb7228c
+	0x5f7e1457	0x2e906b98	0x3669d3b7	0x96152f85
+	0x68683995	0xead5a65e	0xa3097397	0xbea543f4
+	0xe7bdb225	0x42af47cb	0x75391ced	0xb23e26aa
+	0x631443b4	0x9682298b	0x68b78e0c	0xa5b0c501
+	0x30f14a74	0x11b5b8cc	0x124cc79d	0x0755ece8
+	0x694730a1	0x8edba746	0xecb345bc	0x15e6c073
+	0xb682ceaa	0xe9bbd0e5	0x035f0b8f	0xaa0df5e3
+	0x14f09fad	0xc4716593	0xf5dad2b5	0x9e10b4da
+	0x4386da92	0x7f990a4b	0x3eae9576	0xd00677d7
+	0xc1d62609	0x5a01f3ce	0x3b155993	0xbc8a7f57
+	0x4c7682f7	0x99c0bbf6	0x8ed9484d	0x802ac94b
+	0xa67555b4	0x2004f6d6	0xe2082653	0xf44548f1
+	0x09ac6801	0x6dca2a9a	0x6e4cbab5	0x815c7887
+	0xbd79cff4	0xd88bbed5	0xb2f01ea0	0x159847ca
+	0x947e16eb	0xaf80fc20	0xc7628ccd	0x7a8ae02d
+	0xbf0ce15f	0x1290de82	0xe81e202e	0xe7d8a3b4
+	0x8b905ca3	0x26627404	0x3ae0ac3b	0x0c6073da
+	0xc12450b0	0xcb79a7f0	0x8bd5ea61	0xfe47b334
+	0x7cfd9de8	0x74c89bb6	0x71f383ec	0x8661ad30
+	0xb4b63123	0xebc613b5	0x15fff519	0x442bb4d9
+	0xad59c517	0xc7ab8e33	0x0cbc7901	0x41199274
+	0x45f306cf	0x3ad61c62	0x9e912bf6	0x44114ad6
+	0x191d1ec2	0x2eccc397	0x905b1a54	0x8d8919c6
+	0x4e87bac9	0xabd4a7a2	0x5b6b3993	0x0f6f18ee
+	0xa7fe213f	0xd74bcde6	0x3d3f0482	0xb85a10e0
+	0xa0e0b08e	0x5e9ecece	0xc2930a83	0x7595604d
+	0x1cec8002	0x84b4c720	0x3033d9e3	0xc3cd9b62
+	0x56ee9e9a	0x58aad2dc	0x535ca0b1	0xf5eef580
+	0x280e12e4	0x1cf53a6b	0x4b63d5e5	0xfea73389
+	0xe8aa9aac	0x29bdcb44	0xb408cc52	0xf1385801
+	0x0de3b337	0xae8fd591	0x32f6469f	0x077d0b03
+	0x5103a792	0xe6c861fe	0x5647e012	0x70ccc977
+	0xcf32790e	0xf7fadf72	0x3770019e	0xb02dddda
+	0xdda4f5e6	0x0b0d5e4b	0x26843a72	0x47ee4965
+	0x1603077e	0xcc06f743	0x4d7748df	0x31c908ad
+	0x3c19b991	0xb490ff50	0xacf9b2ba	0x37205591
+	0x55db532c	0x75813338	0x5eb0a0c3	0x5f3e45e1
+	0xd0d2ed2a	0x66886d7c	0x41e716e6	0xf3507079
+	0xe734772e	0xe39dd270	0x4fcc1c4a	0xa957f121
+	0x4ba2c853	0xf4570af9	0x52424fa8	0x95ca0993
+	0x0f905db2	0xee96d160	0x85b6b8a2	0x8b1301b1
+	0xecffef26	0xe1b87fb4	0x968bea1b	0xdad2c510
+	0xd175726b	0x34a828d8	0x8310584b	0xdfca6d9a
+	0x3b73628d	0x49fae2bc	0x55550fe1	0xa3a7df7f
+	0x51210aea	0x6aa351cd	0x7b0f31f3	0xe1256629
+	0x6669d296	0x50552e01	0xfc9593be	0xae90a4a3
+	0x86225932	0x5fbe2f37	0x5befb997	0xd2f71acf
+	0x2bc86954	0x60246751	0x727c9ac9	0x3ddb54ba
+	0x80941a52	0x40a3a81c	0xca3000f4	0x9baf3d5e
+	0x773bb476	0x023572b8	0x2e84af85	0xf666f7ba
+	0x1743896b	0x073930d9	0x004acd2a	0x717d9896
+	0x7d354494	0x999a492e	0x8eb4bbc3	0xf4b5d775
+	0xc6e70e22	0xad2cfeca	0xa6cf04b1	0x8f9bc1f2
+	0x09ba4743	0xc00425cb	0xfc02322d	0x5bc27d0e
+	0xc77103ee	0xe12f5df9	0xa805e67e	0xc2b05c95
+	0xb6cf2316	0x3ca44583	0x5fae6582	0x01129109
+	0x2fb7b0ea	0x5b5a180a	0x9f94d616	0x90671f22
+	0xd84c534e	0x14815deb	0x222b7be5	0xe4fb51ed
+	0x73511682	0x752efee0	0x61ffb0c6	0x892412a4
+	0xa20138e7	0x769f4a0c	0xc56a3237	0x72f5249d
+	0xeb04b59d	0x6d286aba	0x53f9fe15	0xc0505c34
+	0xc99cd600	0xdd3e61c8	0xaf3366e8	0x47ce1fe7
+	0x068546a2	0x0bd4e6e9	0x0ff92967	0xc7e87eca
+	0x65bfde25	0xe3692b7f	0xacbc4d7e	0xf0d81fa2
+	0x2943a25b	0xce0feb3b	0x0b4d2f35	0x1ce4f67e
+	0x297478ea	0xe4df25c4	0xc38fd905	0x7cc95c7e
+	0xb430cdd7	0x1e3438da	0xf2ad2634	0x36e68548
+	0x04b5db72	0x8792e32f	0xf54a6f45	0x2af52be7
+	0x3c023453	0x2dd259c3	0xb2a684a1	0xd7c3c833
+	0xfd471eb1	0x8fbf3928	0x4a5c71f2	0x4f2d58fa
+	0xa024508e	0xb36d7589	0x6d553d5f	0x33181e8e
+	0xc8b0fb4f	0x85ba3b03	0xbc209589	0xdb081c6f
+	0x34d215c0	0x08be5c71	0xc1e0292e	0x76836c13
+	0x2ddbaae1	0x5df4c244	0xec448d6c	0xf7c641b2
+	0x2a5e53fd	0x66112ece	0x8da6d580	0x856de3d3
+	0x6c1e473f	0xbfc60f19	0x2f144016	0xf6c55199
+	0xe89642fd	0x6777f35a	0x5d1acb6b	0x6691b481
+	0x528dd544	0x1411f2a2	0x2adcae8f	0x8c740190
+	0xc6773d78	0xee996a7f	0x96d58502	0x72bd466b
+	0x9cc4335f	0x0203bea8	0x1885d52f	0xdad7b494
+	0x60b41e2c	0x3312c32b	0xbe2908fb	0xf69f2dd2
+	0x484f658f	0xe48093d1	0xba75cd97	0x7e657376
+	0xf1c92b0b	0x2be471eb	0x24f62fff	0xb99282ca
+	0x3d7b5783	0x2513d204	0xea884d02	0x458f0cf1
+	0x7e40f424	0x658a7a85	0x581b11ac	0x5bb5fc34
+	0x1fcd272f	0xaa3972d6	0x9a1f8079	0xc59af67f
+	0x7a827fc2	0xf472c0a1	0x84914900	0x3fd551c8
+	0xa38a1f95	0x860a3b77	0xd00b08ad	0x08e5277d
+	0x7a8c26ea	0x47b0a735	0xa1e99cd1	0xce1bc648
+	0xbe1c41d4	0x66f6d2d4	0x4275938f	0x2fee7589
+	0x707be4d1	0xaee4bd13	0x24c6345c	0xdbc54f29
+	0x7efecbc4	0x0bf2230d	0xbb8cb923	0x27d2cdb2
+	0x5e2a0541	0x35ab1727	0x98875039	0x35438620
+	0xaa9c49ab	0x426114b9	0x84c40696	0x3cb66935
+	0x431c4fd8	0x588f2dbb	0x092a0fcd	0x548185ae
+	0xf23eb2b0	0x188b6f02	0xe9651fb2	0x1d0f74f0
+	0xfc7f570b	0x180f1646	0x9f718a58	0x7401d5f7
+	0x0aff98a9	0x4eaccf59	0xbca42e90	0x35d321db
+	0x594b693c	0x818d9a17	0xbded7192	0xa9c1ea87
+	0xd47e9a1d	0x9beea5ee	0x4e2fee03	0xc166ad28
+	0xe55fc422	0x93a14122	0x010d35d4	0xe781c8cf
+	0xc4aa6471	0xa8b96e7b	0x14dd565d	0x2dd9a026
+	0x22d8075d	0x876a7c93	0x83694f2b	0x06c7eff1
+	0x24acb7bb	0x2deb19c1	0xd4ba9956	0x2e806677
+	0xba566fe0	0x81cd6103	0x246f9f68	0xe6113763
+	0x804aeb1a	0x2173e433	0xc505dce2	0xf9319b55
+	0x41fca4ff	0xf0714f4a	0x1a15e070	0x5db9c70b
+	0xf34db1c8	0x183d533a	0x3d6c0f22	0x0f76ca0b
+	0xd9039430	0x62ac91f6	0x2499efa5	0xf4ff76a5
+	0x858aab83	0x9e986655	0x1cc8ff10	0xe8d4ce19
+	0x0d8e2de3	0xa6cfcf48	0x181df14e	0x89a52eb4
+	0x6816adb9	0xa2b66717	0x41b0fa96	0xfbe1edb7
+	0xad668573	0x6d67820e	0x91cbf5ab	0xd1b9fc33
+	0xeb331d5d	0xcf7628a3	0xfee9a9b8	0x66ab2d8a
+	0xb672b6cd	0xad58e906	0xb4a39452	0x6f92f95f
+	0x6cdb843a	0x56401c71	0x19f4aee9	0x57d76653
+	0x5afa2e82	0x3ef7cdd8	0x296f5209	0xdecd3cdf
+	0xc3951f94	0xe38326eb	0x25472f3c	0xbb5dce4c
+	0x2ce8210c	0x9e5fc4aa	0x7f3fca3b	0xa5f17340
+	0x44887cb4	0x8f5c6f26	0x55b54a21	0x988f1a27
+	0x419be353	0xc535835b	0xfa904fc4	0x5de08b6a
+	0xbcaeb6d9	0x705147a1	0xfb30755d	0x9fd7be17
+	0x92724e90	0xbb3f29cf	0xc7ef74f8	0xfbc2c998
+	0x71ad2c3c	0x87143833	0xa1187339	0xf660197f
+	0xea84662b	0x67ea863b	0x70c34e51	0xcedb2bf6
+	0x52cc9f7e	0x2ac9e77d	0x94eb7648	0xc8f6aaab
+	0xef5186e7	0x3c4ceb87	0x2ca11ea4	0xd7c8540f
+	0x4109e17a	0x45c3bd71	0x44554ebc	0x345ae1e6
+	0xd8780f5a	0xc451138b	0x0bc2a7f4	0x6c412554
+	0xa7fe4f95	0xe607cae1	0xda1d4ad4	0x6db5340f
+	0xff64ebc4	0x55534be0	0x0bfc0c92	0x60601125
+	0x95cb006b	0xe3be4649	0xa5e140f6	0x37fc9f93
+	0xac38f0b9	0x0f6dad8b	0xe923c34a	0xb8ea4ad2
+	0x6e654e52	0x2d08fc87	0x03cbb421	0xef78a443
+	0x1b85fb58	0x7b3b36a9	0x18d7272f	0x28c34d93
+	0x20383e57	0x27b58dd8	0xb551f954	0x55e1f411
+	0xab483488	0x93e07e94	0x2e2a16fc	0x12d9e06a
+	0x832c23c2	0x278cb7d5	0xb8e22e64	0x8394ef0e
+	0x17ac0ceb	0x64931c52	0x077fe430	0x68002c2c
+	0x27e18e68	0x45cc9e1f	0x4c49ec24	0x2980d740
+	0x80a7c5c1	0x2b50eedb	0xbfd64ed9	0xf81983bd
+	0xb678a219	0x1e5092b1	0x3dd6d628	0x19360275
+	0x7de6641a	0xfa7cf7cb	0x98f62648	0xe688ae51
+	0x018e7dc9	0x6a61f236	0x41f4b242	0xa495d0ef
+	0xd4a94da6	0x106f1641	0x017cc5b7	0xe89f8bc0
+	0x573153f1	0xc985e3ff	0xd0fdc851	0x7dc62089
+	0xf8ea9ee2	0x9fe1ea26	0x8c54a7f1	0xcb8069c5
+	0x54a86dbc	0xbf7a66e0	0x999c1285	0xaf2c2d4b
+	0x0c6cf2b4	0xb4465271	0x846f28d6	0xeeded0f7
+	0x6c43c6b0	0x703fdcbf	0x49c6db1a	0x78e69e7b
+	0x542c298b	0x08b5b873	0xcf72235b	0xbdd9ae81
+	0x69e1e6d3	0x5e9aaf66	0xece06ce0	0xcc525e97
+	0x787f9a51	0x45121369	0x26147ba2	0xced126d6
+	0x455777a9	0xb9064788	0x7ab26d13	0xb74a9aed
+	0x82dd23f0	0x410eebbf	0x73cf78f7	0xf29953c7
+	0x427b0421	0x2c6d40e1	0x546375ec	0xad8165ee
+	0xb29484e0	0x96a2531e	0x46712333	0xebb63bf2
+	0xa9823123	0x1b72caff	0x7947bef3	0x57051ad6
+	0x3b936c87	0x80dacfc3	0x5ee40eac	0x0a229d01
+	0x865767ff	0x8e12afa8	0x7b285d32	0x0ee31093
+	0x3168bdd1	0xdd837dc4	0x58eacde3	0xc55084b3
+	0x51ec771f	0x23006e9e	0x5c4c767b	0x908cd8ae
+	0x722cadb0	0xcb9304b0	0xec60d811	0xcdae744e
+	0x81cd4855	0x10ae6f5e	0xaefcea80	0x67f222bc
+	0x30d0cc5b	0xbd1e2c25	0xd3b32426	0x43a2be34
+	0xb002f12c	0xe9f73775	0xf5c9c2bf	0x739327c3
+	0x2a7242e3	0x33bb27c4	0x2b7889c9	0xe342346a
+	0x7acf80b8	0xda71648f	0xdb2cbd46	0xe16371a2
+	0xede2cebc	0x7b589198	0x44e86d55	0x7bbffe83
+	0xc83a3f65	0xcc901957	0x5ae5e6ca	0x23de3c09
+	0x67aa277d	0xf1b63e69	0x85b99976	0x7a2ac4e7
+	0x92b79fad	0x0d0a5277	0xddf4e562	0x46b66691
+	0x6b1de610	0x263ca0b3	0xfb1e0f84	0x8f6fd83a
+	0x6b3c2b45	0xe49ad81d	0x9885d8d4	0xf7746c4b
+	0xfd84f3ab	0xc11a0bf4	0x4a828a3b	0x1e2e9b16
+	0x1deba99a	0x18483669	0xb1e4f415	0x8ecfe51d
+	0x3ecb9cc6	0x4e02175b	0x67e5c08f	0x6b5c6263
+	0x8cebe442	0x8f3ff29f	0xb0813c4c	0x4bb7aaca
+	0x1db39f19	0x9dd02910	0xe1f8a066	0xf7e56073
+	0x6b86d18d	0xeb54eba8	0xeb0b8cab	0xeb7c9438
+	0xe9a8c30e	0x7eb57257	0x53f8c8f8	0x4f9c89ef
+	0x4443fc93	0x2813d51d	0xa58cf82f	0x75757120
+	0xed4fee21	0x98eec7a9	0xeef67a47	0x3ae2111b
+	0xbd391d55	0x67ca7ab7	0x404aff85	0x121f4671
+	0xd8f6b365	0x36e7062e	0x215299f3	0xcf4fbef8
+	0x1543e277	0xcb33df8a	0xda484268	0x9c494e61
+	0x572d9b53	0x58abe627	0x7fe97f1f	0x028ca45b
+	0x7c7dfacd	0xb51f1eaa	0x7e98a7ec	0xe832234c
+	0x71deb341	0xc9e060f1	0xbe9f875c	0x354a853f
+	0xf26b00ef	0xe6c87730	0x7eec122b	0xa9892426
+	0x87918b08	0xc9946396	0x173115a1	0xf51ea146
+	0x03b077ed	0x2a264d65	0xe01f4cc7	0x5e171457
+	0xcbe5c3f7	0x95f6d140	0x326c8c47	0x9e6caae3
+	0x18f5b4f6	0xdcd5c464	0x9eafb305	0x6e4c2aba
+	0xc39392fb	0x57100051	0x2130483e	0xe08ba409
+	0x7da42422	0xabafe0fb	0x9200f115	0x3e7322c0
+	0x13e9fc90	0xe376444d	0xd68fa418	0x5583d5bc
+	0xa852a3db	0x05197d2f	0x8345e9e2	0xc1f0982a
+	0xebf67593	0x198eedd0	0xc8b5c671	0x85293c86
+	0x0b50b9dc	0x31e2d510	0xb626cbd6	0xc83d16f1
+	0x2c07b32e	0x4984ddf0	0xebb19417	0x817f99b3
+	0xb4eafbe3	0xd0026855	0x6db93d14	0x009f298b
+	0xd306be84	0x8abbe023	0x81b60efa	0x049be80a
+	0x07401a52	0x4203bc93	0x0785562c	0xc01ab373
+	0xd8da3195	0x28ecd4a4	0xfca10ada	0x17712048
+	0x69553628	0xc7724f43	0x0dc923cd	0x172558d2
+	0x752abeba	0x7bd7ffeb	0xc3ed6971	0xb0cf358b
+	0x404d896b	0x4612dd1b	0xccaedd36	0x2638e06f
+	0x928d3af3	0xc71eb9d9	0x023a73c3	0x8d103c49
+	0x2d995e18	0xfa00c44e	0x44913889	0x0e876063
+	0xb54f63b1	0x4d082825	0x89d834c5	0x0fe4a8d9
+	0x0e85b58f	0x3f99f925	0x765883e5	0xbcc43dca
+	0x4ee291f5	0x35b74dcf	0x027571f0	0xa0c5295a
+	0x0c68069c	0xc7327b3c	0x4cc45fed	0x1f472e12
+	0x2a63026b	0x4c4c17c1	0x9fa86708	0xe9c38a3c
+	0xce8e9812	0x2b604fa5	0x38d5d1dc	0xe91846a5
+	0x5747aed5	0x591f15ed	0x0fb619bb	0xd39f6bb5
+	0xbc53e945	0xa02f3949	0x06b27e95	0xa23c46e7
+	0x0d8362f8	0xfb6877fd	0x15c69e66	0x7b2933f5
+	0x2bc45df5	0x1764196f	0xa8c55a88	0x37fded9b
+	0xd6c3534c	0x36fe6a54	0x4badde31	0xd032c75a
+	0xd8d2e57b	0x3c99cd0c	0x8d75e750	0x648d0106
+	0x32a41039	0x254c1680	0x3b6fe699	0xcdabc95c
+	0x46d47692	0xf4d969fe	0x84ba45b8	0x372f3232
+	0xb3f9852c	0x924c3c28	0xf003b67b	0xee85c8b6
+	0x8a2738ff	0xabca2de0	0x8da0f860	0xa9d95969
+	0xedb3f8ee	0x554a358a	0x53528d45	0x31162b28
+	0x0e50555e	0xcef1d0ae	0x5b805749	0x66bc69e1
+	0xe368a0e2	0xed8c60c7	0xd2a2aa26	0x5e39e565
+	0x397f03fd	0x07e64f11	0x9457fc30	0x9f265bdf
+	0x19fcb18d	0x2fbd473b	0xf3b2ae8d	0xe86d9296
+	0x1a317024	0xa27b86d4	0x6da73cab	0x914fb453
+	0x3e5b9c14	0xf056ca1c	0x4e37c21b	0xc21bdc68
+	0x8bd12ce3	0xada89078	0x8a0fc7f8	0x43892038
+	0x18b3ead8	0x0311158a	0x6345ccfb	0x719030f1
+	0x246dabe5	0xe1976ed3	0xc473da4e	0xf94d22cb
+	0x9801bca4	0x4e4f1f9e	0xcd20b543	0x34d10800
+	0xb62152d1	0x80b915a7	0x95c37fe9	0xebba8088
+	0x87cd39ad	0x10f384ee	0xfd0e10ff	0x043ad9a0
+	0x38ff5849	0x7e8f5a56	0x8b1de4c2	0x72c06d94
+	0xcd6d4237	0xa8d5cac1	0xe1413995	0x76dd6ef5
+	0x7d9d7bc4	0x5eb7b0bc	0x88b8af0f	0x46a2b10b
+	0xb17d2429	0x95ec4595	0xae518994	0x3d7509f0
+	0xe2aa249d	0x10740833	0x2b97c557	0x2c605939
+	0x86f79340	0x1af2be26	0x540a70e9	0x1cbbeae6
+	0x05a301f9	0xc88e12f1	0x1564fc42	0x68fb0e27
+	0x2c7f4eb6	0x158883d5	0xd4dc1717	0x2cc658e5
+	0x246c17f4	0x6a389e58	0x83c5343a	0x46db0cce
+	0x4da840cb	0x97b918e5	0x285a067e	0xf243a6d9
+	0xbc3af972	0x5b8edeb8	0xcd710e36	0x6ab486f4
+	0x133fd0ab	0xd9e9a245	0x8779538c	0x3c0933f7
+	0xc81841b1	0xaaaeea59	0x765f3fad	0xd8fbe536
+	0x8176bd94	0x728bf97c	0x8e471350	0x513a44bf
+	0x82353032	0xc20654ae	0x49ce3d85	0x64ee2518
+	0xd5cfb23f	0xac189ee8	0xe1b9f468	0xb7a9ea8e
+	0x877cf20d	0xc755983f	0xac51129a	0x7df719b3
+	0x8a483f26	0xcfcaa3c8	0x5afa0ee5	0xa2c593aa
+	0x4d2cdbe7	0xb5cd8283	0x7e4ff6a6	0x6e801a68
+	0x980b13c1	0xe979630e	0x7f632d1f	0xbbf743b1
+	0xcedab613	0x7677947c	0x734d3f1e	0x11ef770c
+	0xf9da69c7	0x3b97ddd0	0x62b49df5	0x5a2acd51
+	0x068cfa4b	0x198a348e	0xed809399	0x02b056e3
+	0x5e9554c8	0x2512559d	0xb7b30621	0xe515c9c3
+	0xf5648bd2	0xa31e6638	0xd5b42cae	0xb4b7bbce
+	0xd2f350f0	0x98b99f9c	0xf7e24f3f	0xba8afae3
+	0x657a798f	0x17ec9409	0x1c636dfb	0x7a3e3fe7
+	0xa3eb6835	0x0a14b2b4	0x74a152fe	0x57fc6043
+	0x3d17a5cb	0x31e650e0	0x356c3821	0xb38bdc0c
+	0xf6b738ea	0xc412fbe5	0x39018b62	0xf1f14a7d
+	0xb68bce4f	0xa4c5c887	0x2733400e	0xbd4e5111
+	0xd41d010b	0x959850e7	0x426cc29b	0x79c53136
+	0x281cd990	0xd0afa74e	0x9c74f6fe	0x59fcd65c
+	0xfc580644	0xfa9a5fe5	0x597d59f5	0x5ce5a557
+	0x75a46fa5	0x736b73ea	0x3e17ca48	0xfb87bbe5
+	0xf28030c1	0x923a926e	0x2c175c37	0x798007e9
+	0xae5599cd	0xaab93107	0x3001e588	0x7678c6c7
+	0x153fd89d	0xd63c7bcb	0xd1960041	0x90c9e3f6
+	0x45651ecf	0x0528e353	0x75581bda	0xf116c906
+	0xc0051330	0xeb329e89	0xe6fecaae	0x2e45827d
+	0xf3899797	0x0385fcde	0xe4d84770	0x0e7545c3
+	0x5e873caf	0xc674aee3	0x62f2b5d6	0x84458ebf
+	0x4c8fcc65	0x3db6dd6c	0x995d2eeb	0x25790fab
+	0x581bf7c3	0x2ffca726	0x3dde038e	0x6cb21c71
+	0xce236f54	0x21c1b5c9	0xd9bca960	0x77de5cb8
+	0x3b836174	0x63055abd	0x698f1c45	0x92bdd9b8
+	0xc0d92f66	0x35538d1a	0x2ac46829	0xc2f3e8b9
+	0x733a7f24	0x7e21bf3e	0x8f67417a	0x058d5e78
+	0x025f6fb8	0x71ac9975	0xeeca3bb2	0x422c52fb
+	0x17b98771	0xb7ba7045	0xf57344d8	0x3aecb087
+	0xcd245d35	0x69f94fac	0x72da3e1d	0x9f391828
+	0x481a2454	0x73a39c2b	0xacbbec83	0x0cf4d2be
+	0xc209b260	0x11f34b5f	0x3cf5159a	0xdefee9b5
+	0xb900a60f	0x82f6341c	0x07b719f5	0xe2b1eef9
+	0xeaa07132	0xd46a1746	0x7faad831	0x0ca7cf01
+	0xe4e512c0	0x73663db9	0x0beeb604	0x5170a87b
+	0x739f3a64	0x6527add0	0x6b05aad4	0xaf6a07ea
+	0x9e5fc813	0xb80c957f	0x1509e086	0x1a652f9b
+	0x83c4a31a	0x645479f3	0x271bdb57	0x5f04c0e4
+	0x4bd8bd13	0x367ca8ad	0x1e1ada34	0x924e75a4
+	0x135df414	0x8f326276	0xf5d23b38	0xd85902b3
+	0xbd7a4ccf	0x12255ba2	0x09b164e5	0x1acdcaf5
+	0xb753b78e	0x57ee136e	0x6ab95b37	0x2d3fe7bc
+	0x368c8433	0x43c3d9fb	0x77a153ff	0xe835064e
+	0xbfd8822e	0xc2d34f86	0x1c06b25e	0x32bdcb59
+	0xb54691e1	0x665be085	0xa227ee6f	0x1e2a3563
+	0x558fe4c9	0x4a11ebe6	0xd36046af	0x427329aa
+	0x55155033	0x0c5ef912	0x9344a17f	0xb035f571
+	0xf190b199	0x4daffefd	0x3b4ec3d9	0xfbb69438
+	0x075eaedd	0x4dcd780b	0x82476d75	0x38a29a7b
+	0xbd8b9199	0x28c97621	0x09f3bb4a	0x992b0120
+	0x3ce53394	0xb81f6125	0xf24b8710	0xdb8c7e5d
+	0xe66aa544	0x9e59db26	0x4bf601c1	0x6956438b
+	0x7936284e	0x42c09dbc	0xb4286de2	0x3433fb38
+	0xa65b462f	0xc453e362	0x38cf5031	0xcf2ddb81
+	0x9a9b4d57	0xe5746cf8	0x15130f65	0xda1932a1
+	0x00b830e2	0x250eef55	0xa066afb4	0xc1d32bdd
+	0xb28c8daa	0xe60486ed	0x398f63d1	0xd8bf6630
+	0xd784e9c3	0x0021aa08	0x34118453	0xb14561af
+	0x41a6a25b	0x661e54b5	0xd919e480	0x2d006b11
+	0xc58fc132	0x0f8c73c2	0x86b321e2	0x4ac8c451
+	0xc5acfe6b	0x8a3ee820	0x96aafe6e	0x117fe9c5
+	0xc53a77d7	0xe6289308	0x254d7010	0x10979262
+	0xb0ca2fb3	0x9392e7f6	0xc3f7795b	0xdbc8e897
+	0x66bc320c	0x46652a3b	0x51987bb6	0x0151620f
+	0x479bd58b	0xb9831ae1	0x5e6758fa	0xe1db9a18
+	0xe585362e	0xa214364f	0x79283b25	0xe41e5688
+	0x449aff9d	0xa3748569	0x1ab77d53	0x423c1af7
+	0x85a21770	0x717d72c9	0xc11a9d00	0x350c545a
+	0xe7246cc8	0x591973dd	0x65c3c2c0	0xbb156877
+	0x18b332ae	0x083b7792	0x7f5300ad	0xe2bc6462
+	0x0ff80c64	0xe9cdffe3	0x81f5a179	0xc51b21e1
+	0xba8cc80f	0x5528cce2	0x07af48a5	0x312e50a2
+	0xb849b72b	0x6162eaba	0xb6d67046	0x8713a459
+	0xefc571e2	0xaf1d17e8	0x7f5f4007	0xa6b689d8
+	0x9524706a	0x3aebc3ce	0xdb8ade06	0x5af5b102
+	0x7723648d	0x81a2fb99	0xc51abfaa	0x6276c2bc
+	0x18f42359	0x4c2e0bb1	0x8a2e26fd	0x03ba8dde
+	0x917479bc	0x4f23cc82	0x441501aa	0x47d16588
+	0xe46bbb26	0x76cebde9	0x9d06c5ed	0x2fb19333
+	0x74c314b3	0x6f70828e	0x1e747727	0x1c8b38b0
+	0xad22a517	0xc2c306b3	0x9b0e8c1b	0x2a1b0cbf
+	0x5ef93990	0xefd567a2	0x15d41c0a	0x3e759035
+	0xf5bf6598	0x55ba183a	0x232bb2ee	0x7e2a518c
+	0x2f55f023	0x29f9019f	0x4dcd1d87	0x66873fde
+	0xa513b0d5	0xd2df839d	0x2e48a91a	0x88f5a4cd
+	0xc1f41e63	0xe57c9470	0x2d54f4b7	0xadb6540b
+	0xac93446a	0x0226acd8	0xa2852b58	0xe9b79d59
+	0xc64035fc	0x0b1bcc74	0xbff993d4	0x31de54c2
+	0xc34b2da3	0xd7500287	0x59cce868	0x4bfaf38f
+	0xc3fdaff3	0xd1eeddb0	0x0579c161	0xeda22a64
+	0x2a88d9a0	0x12b506c5	0xe496968e	0x55e6a7ee
+	0x60fb7faf	0x96e9d3f9	0x59ff4cb6	0x2ff00e00
+	0x8347f760	0x635a5b77	0x392dd6fc	0x8e633333
+	0x5f951ca2	0xff656885	0x1c9d9178	0x27fdb652
+	0x11c19001	0xb56c9db9	0x8f4d53ba	0xa14b6f68
+	0x42e43f8c	0x29a84b0a	0x5dcc30c3	0x066c8304
+	0xf049fdec	0xa9aeb741	0x47141e86	0x922e0d70
+	0xa1e2af5d	0xa9ad9db3	0xcb0446ef	0xc097e87c
+	0x929e5c1f	0x03cf9baa	0x19640d38	0x036b2ed2
+	0x8a0468d5	0x6f38889e	0x9d836d46	0x6d460e63
+	0x1a7e242a	0x81e1d569	0x26c0cc55	0xffaa2075
+	0x2689857b	0x9c3123e1	0xde69b9ac	0x68678c56
+	0x07c31945	0xbdcd09a8	0xb984128f	0x6b141f3f
+	0x57e30d2e	0x77dbe7f2	0x4f43684e	0x28b0b495
+	0x1f1b156b	0x03c1c0b5	0x24d5f20b	0x6677d692
+	0xc68bba29	0xbace23ef	0xa0caea05	0x4a292b48
+	0x54b28817	0x36711c31	0x8f43827b	0x9065cc31
+	0x92ffc7dc	0xee4560da	0xeddf2c0a	0xf7e05169
+	0xc8429620	0xe11ba6c6	0xec806b6b	0x0ad456bd
+	0xcf3d955b	0xe064d178	0x7c81f9b0	0x369a2e98
+	0xf946a8b3	0x26647955	0xb31e91be	0x22f79668
+	0xcc8bcd27	0x33804fa0	0x054c3d3e	0xc65d1aa0
+	0x8e8ebb9c	0x78e50c77	0x10a71e03	0x6f7eb5d7
+	0x69fad4c0	0xe0c3d868	0xaaa27815	0xe787de22
+	0xb28b0b72	0x140e140b	0x42350f96	0xb82dadb5
+	0x63ed346b	0x5a53e8d5	0xd8e172db	0x15be3f66
+	0x4efc8812	0x966a1085	0x8810f12a	0x5a9cc86e
+	0x0f2101e1	0x4df822cb	0xe0e22c55	0x9b40ab87
+	0xc185ea33	0x24da3227	0xbf6da297	0x7e85c299
+	0x423d9723	0x82bf5a50	0x3f129df9	0xff71db6d
+	0xdd9c61b7	0x6d61b223	0x5001f056	0x70def3cf
+	0x9aa6b53f	0xa385409b	0x97a369b7	0x3aafcaa9
+	0xc3ae08c3	0x74741a86	0xd08542bc	0xa8e6cad8
+	0x4c9635be	0xabcebc1a	0x9cce5c40	0xded2f2c2
+	0x71bb00df	0xb87228a6	0x29efc748	0x3723f6dd
+	0xe772c299	0x1b1dfafd	0x8c13dd49	0x1779c8f3
+	0x88743605	0x00eaa426	0x4295b019	0xd4227e8b
+	0xe62da964	0x59c6c883	0xeda9b50e	0x0ab68434
+	0x23f8dfc7	0xe52ca7e8	0x9fbc286b	0x80d2f140
+	0x72b97700	0x15595da5	0xf8b17a11	0x35700095
+	0x0748d3ef	0x048afd7f	0x1a79c6b7	0x22cfacda
+	0xa64baaca	0xd7f134d4	0x22ec940a	0x8891592a
+	0xa6a0ebfb	0x951ece3f	0x1bec1abd	0x18a9bc48
+	0x6280d1b0	0xdf8f77df	0x3304a405	0x85dd1146
+	0x5b9e51a2	0xa536471b	0xf2dd932c	0x59242994
+	0x7ee5be81	0x28975f6b	0xf871ac4e	0xd68b0df4
+	0xb6dd4ced	0xcf5c922a	0x79e744e9	0xd6aabebe
+	0xd0a4eb03	0xe628ba02	0x2e640b6d	0xa3f74566
+	0x3a87439b	0xb7620ec2	0xdf666f8c	0xdb402f56
+	0xcb48744b	0x1e4c252c	0x0802b11c	0x307ef6d2
+	0x7d6c35d6	0x094c0212	0x99a9505d	0xdde8e0b9
+	0xd8a85e18	0x23d48407	0xe8fce481	0x57d2da6d
+	0x189fb636	0x3bc4e436	0x64d1f5b3	0x873672e7
+	0xeb0d163f	0x3e7699cb	0x77843424	0xb39cc2b8
+	0x33b384fa	0x34c098b1	0x0dec103f	0x938175c3
+	0x7a4fd9f5	0xe4fa138d	0x86e7945b	0xd6bc0b68
+	0xa0384822	0x455c4e87	0xa30d7331	0xc55a986a
+	0xa3fd77ba	0xf4ae89d2	0xf75c0de8	0xbcf4b02f
+	0x1982c49b	0xa0895efe	0x4eb8b46a	0x8617cc9b
+	0x7c77138f	0x4c734ec0	0xe80a006f	0xb42e0fd1
+	0x612d5d62	0x6e3b28f7	0x128c5148	0xca9269c1
+	0x54cf44b6	0x3ef8c71e	0x1902569e	0x47ac1243
+	0xb59487c1	0x0a8bcd5c	0xe8376295	0xa185c2ed
+	0xf48487a7	0xd2eb422c	0x60c8906b	0x85626bb5
+	0x8aff9c01	0xeca98486	0x32642805	0x3dba00d1
+	0x0f44b6e7	0x7f36d3e1	0x169159a5	0xc6f5f3d2
+	0x70b2d883	0x30392544	0x89a1f11f	0xc4fe6666
+	0xd7a644d1	0xc28c1925	0x3540c25d	0x83933376
+	0x9564c63c	0xbc7e96bb	0xd9aed315	0xa627db55
+	0x27b5dd12	0x9adf3a24	0xb8a31788	0xf1e1b75b
+	0xb2d0f7c0	0xa11a109d	0x4bb6d538	0x65c11840
+	0x69ea67d1	0xf39270bb	0x0b45559f	0x6237dad5
+	0x6d584cc6	0xbbf3d720	0x3f06e546	0xfab204c5
+	0xf60c2e78	0x2fd60875	0x414825d0	0x7de66f9c
+	0x70296c29	0x3d3dc98b	0x4e780816	0xefedb2ab
+	0xada68af4	0x1c0c4e2f	0xb1c5c088	0xddac785b
+	0x006e46a2	0x91ea694b	0x23d17c88	0x9df9e192
+	0xdacb38e3	0x6346671c	0x9c1063a7	0x52a0f4c5
+	0xb7488fbc	0xe69b1d28	0x0b8be40f	0x7767cb3c
+	0x4e53e5ea	0x88f93fd5	0xd289a3ae	0xd52b34d2
+	0xc06a6abf	0x1f0d3393	0xfc697604	0xf8a9d142
+	0x13456e9a	0x54fd7c2b	0x23e0d2c5	0xba20acb4
+	0xb5d13f7e	0x51720fa1	0x7aa11a19	0xdb18b444
+	0xd832d72b	0x82bd98c0	0xca345d75	0x8b53a7e1
+	0xb78a9fc9	0x835c91b8	0xa721f269	0xb4228ada
+	0x2a1332ef	0x9d2c3297	0x8ac605d5	0x101d0e3e
+	0xc51da322	0xced12e70	0xfde53ead	0x1208f219
+	0x0014ca96	0xddae88a9	0xaa157dff	0x3aa78eea
+	0x98fee8f3	0xe6e0a663	0xe33427e7	0x9db0451c
+	0xde9e1f4e	0xb1c81e9f	0x171ea5ee	0x289aa1bd
+	0x3f02d9f0	0x1789641f	0x929c74e7	0xef4a720d
+	0x75cecbd7	0x5d1bc327	0x9edb9707	0x93edf8b0
+	0x906ddcb0	0x2d4ec3f8	0x2bb8019c	0x3a8fa6e0
+	0xe9c95679	0x7938bfa2	0xd4377880	0x2b1fb187
+	0x53105f1d	0x93e54541	0x15c293c0	0xc39f44d1
+	0x4c022717	0x950d1bd6	0x809b4475	0x6fa53fa4
+	0x574658ff	0xa047d562	0x1c991013	0x5f9908ae
+	0xc31c56d6	0x53f51225	0x70d329c5	0x499fe938
+	0xe3eba31a	0x3cf614df	0xe0565508	0xaa76d026
+	0x68369afc	0x159a5063	0xfa9e8303	0x4989f72d
+	0x697788fe	0xd44cf5e0	0xb787582f	0x9ae61831
+	0xc13b900f	0x8682ad74	0xb8270369	0xff527834
+	0x8075c909	0x4ab9fa91	0xfec8c247	0x2983dd9a
+	0xaf5e88f7	0x31fa0dda	0x96a94e34	0x7cdb2fc7
+	0x585d0f70	0x61959e38	0xb657af8b	0xe860a37c
+	0x76efd5e7	0x75d4e4d0	0x09aad491	0x0f96d3d1
+	0xc5362add	0x30db88ee	0x6505011c	0xed815b2f
+	0xcd65a7be	0xff8c8933	0xf8e4dbae	0xb452c8b0
+	0xba8c9650	0xfc4e4470	0xff434eff	0xeeff1c75
+	0x3b572a54	0x6d299a57	0xa3f93ac8	0x81d7966f
+	0xc3d0371f	0x45a67ec1	0x758b5c09	0xd6e9e0e0
+	0x060ceb96	0xd9abe780	0x55aebdef	0xf8968395
+	0xa7458357	0x40f928a3	0x839f1295	0x65c301da
+	0xc29d0c27	0x12f440f1	0x501242b0	0x3d6901cc
+	0x0f3763b1	0x9f8a13a2	0xf7d98cce	0x68bf2708
+	0xbe8c6054	0x6a2887da	0xa89e2ab0	0xfddf5050
+	0x7faa6323	0x45d441d7	0x5670f16f	0xc5f8ecc1
+	0xfc055e8c	0xc9f823f0	0xf536c387	0x21cabfda
+	0x1f48d7d8	0x42d8c548	0x0ae06ce7	0x40ee30ee
+	0xb5f3c702	0xd15ccbe0	0xe1cc92a1	0x6432acb9
+	0x269c6913	0xa1b410da	0x4c3dfa9f	0x6e188a15
+	0x65fd9a6d	0x9ed8bc7a	0x3a56f184	0xe5235bf8
+	0x13f0d45a	0x7c5e4c0b	0x7bee841c	0x05c8b28d
+	0x1b073094	0x5bcf3dce	0x48b71861	0xdd507cfc
+	0xc0a7ed57	0xb3d9d3a3	0x4a7bc06a	0x37cf37d5
+	0x745b9217	0xc85943ce	0xd9d118bb	0xd199caa2
+	0xa3cde3c2	0xb26acb43	0x3815bd9f	0x70b68e98
+	0x350a0efe	0xb30f66d1	0xe0d6e822	0xc2133287
+	0xa2488940	0x55dc3068	0xbcdacbe5	0xe650e03e
+	0xcdc47780	0x886e5444	0xc4633856	0x3b5a9117
+	0x862610ee	0x88f20b48	0x5c22e59a	0xf5b73c89
+	0x8b2d1496	0xfdc285c1	0x6627f736	0x5cb4f02a
+	0x9f2a3aed	0xd0d40bdc	0x6d860720	0x2c0cfd98
+	0xf77e2507	0x7b5b71a2	0x43dddf53	0x8e1b9b95
+	0x7bb26763	0xdd562c1e	0xb97f535e	0x0ff5a63d
+	0x4b9143e5	0x03af7570	0x2a8cfddc	0xa641eca0
+	0xa5e88d84	0x40bf55f9	0x43a44471	0x01a28153
+	0x9a493986	0xb8640c31	0xba638a10	0x236594aa
+	0x0964049e	0x6c580e70	0x9702093c	0x11717846
+	0x8f84ee25	0x963bd0d4	0xee8aecbc	0xceb308c9
+	0x7e87fefa	0xfe29eaf3	0x081bf223	0x39f50aee
+	0x64426842	0x97a17f9e	0xb9be289e	0x388891bb
+	0x4ff7d1e1	0x9ce9f261	0xa93271b8	0xe035f412
+	0x2200e0b4	0x512b25b5	0x45ae8b23	0xd29ea962
+	0x667f62e3	0xfabb6736	0x5b877b6d	0x053c7b61
+	0x076cb3eb	0x601e232a	0x0e468161	0xed8adec0
+	0x5f77e7b3	0x33cc6297	0xc012f67a	0x4e7eb479
+	0x71c41e11	0xc022102d	0x968c4181	0xe3378a34
+	0x921f1a7c	0x747b3223	0x2424eb3a	0x14a6099b
+	0x2c21bfec	0xf931fc54	0x8834adce	0x8ea89281
+	0x7149822b	0xf9064226	0x9035c603	0x5ae59126
+	0x09a9bef5	0xb602bf8c	0xccc76158	0xe1462d73
+	0x2fdad828	0x63b629af	0x73844cb8	0xb408c4ac
+	0x94c1d64e	0x907b2a2e	0x9fc1b634	0x6afd654f
+	0xa0edfdc0	0xbc29a7d6	0x767b1b0b	0x7138e98c
+	0x352d8b21	0x0927d5ca	0x4d41ceb8	0x9fa9e4ff
+	0x04756e49	0x62b06eed	0x8c0bce0e	0x4f6c8fb6
+	0xcf5c7009	0xc367e6a0	0xb0bdb7fd	0x647be9e5
+	0x6f996e46	0x197a8e3c	0x17799ba5	0x70b5aef9
+	0xa41ce63d	0xc0d9086d	0xb71cb59a	0x453fe0a9
+	0x68f36324	0x42165087	0x917f6c86	0x25cb02ea
+	0x3a80eb14	0xf2026099	0x09f64835	0x2587641e
+	0x0973460d	0x552774b0	0x20465def	0x4822a5ad
+	0x992f6abb	0x954d1b87	0x3a6e15b0	0x279b5b30
+	0x2151ddfa	0xccc18116	0x9720fdf4	0x2ed42fcd
+	0x5b3c3664	0x5a55c3b1	0xfdd0416a	0xd5eed81e
+	0x8a2e1433	0x24113038	0x4735a373	0xb3ff6425
+	0xfcb08279	0x33293359	0x322b74c9	0x38c5a700
+	0x4304badf	0x6eb9b90f	0x080ca3e1	0x43786a88
+	0x0ffec938	0xfe4e5743	0x67e3c861	0x348ac552
+	0x11414ac9	0xda0a9520	0x633f535f	0xff97a48f
+	0x8fbea6c6	0xfbd2e2ab	0x677a91ab	0xecfdb8f9
+	0x56b7cdfd	0x861106f3	0x1367b28e	0xac0ea350
+	0x2957095e	0x0e15134d	0xd465f129	0x7e111986
+	0x6903ffe5	0xe37ac087	0x6f13c15a	0x62fbaf84
+	0x16bc67a0	0xe238771b	0x714ec75a	0xb09e2feb
+	0xaf3ec6d3	0x8842008b	0xacc45f3a	0x1433cc4a
+	0xebee23d6	0x13b9e003	0xf20a265d	0xc485064e
+	0x0c72f0ad	0x6bc8bf06	0x74246c1c	0x6bf0bc64
+	0xe03fc104	0x49581c87	0x35326bda	0xf617407f
+	0x60d7d19c	0x1b94bb2b	0x8767c5f5	0xa8f373ad
+	0x6c7ee825	0x6fb4a03c	0x5d1a75a8	0x86f425be
+	0x7c60739f	0xce3a459a	0xa9e3c0fa	0xa0ff2952
+	0xb8929242	0x520db900	0x0bc756cf	0xfb2df381
+	0xd9616091	0x1685f62a	0x9580d893	0x2e09a90d
+	0x60385df6	0x4763db61	0x005b1896	0x5e306c49
+	0x13f53931	0x2785ab69	0x892b6765	0x8fbf4042
+	0xe45495c8	0xf12880f6	0xc07df0b4	0xbd80dfd8
+	0x677c7bc0	0x08aefbb1	0x415420af	0x1b4f7083
+	0x0b8afd31	0x157a36b6	0x96f53d12	0xa85da83d
+	0xb5276d89	0xe7c9f2e9	0x8fd0e291	0xad7d1fae
+	0xda951bd1	0xb4b44ca3	0xebd72c28	0x57f90f7f
+	0x677584b0	0x84e8d695	0x97fa0306	0xd21c4b77
+	0xc52a0f4a	0xd9d74407	0x7211d537	0x53537228
+	0x19397df4	0x71a91efe	0x74c01c0b	0x706877f3
+	0x184f5d34	0x20dd060b	0x890fdaf0	0x52d19f60
+	0x1217b122	0xc5615f70	0xaf9d2c8c	0xb272b296
+	0x019449c8	0x3345644e	0x3c3b1e72	0xe4620518
+	0x61f2150e	0x8a823141	0xe167e84a	0x114e05be
+	0x2ebd17e7	0x1be2bb7a	0xb5b23ba3	0x5090f028
+	0x5fc6aa04	0x2d1c5e65	0x9065b402	0xf0ec9ea2
+	0xe872712a	0x420a4ddb	0x75b4cc28	0x065698ae
+	0x0d7658f0	0xbfb57451	0x78d83c3c	0xa1929b6d
+	0xe7189ecd	0x9f733a3b	0x2c3dbfbf	0x6a1751fb
+	0x1ccd0a1d	0x015b9ab2	0x89ef1b81	0xa433137d
+	0x6d1963fa	0xabc41008	0x292f7135	0x11230f69
+	0xa3903eec	0xa10cbf4d	0x20393216	0xc8da597a
+	0x99ca932c	0xf6e173e7	0x6b76f01b	0xa09e1ff8
+	0x0318a1dc	0x49e27984	0xdd1b06d0	0xfb292259
+	0x2d785d58	0x70aa6f16	0x446a6894	0x78f9e6fa
+	0x6697bff4	0xb955fe3f	0x7d8c869d	0x64732d78
+	0x0786c98d	0x8381fd3b	0xd6390e4e	0xc7993b9b
+	0xe5e1f8c5	0xaafe569b	0x7d8a78a0	0xb89bd783
+	0xf54c207b	0x2e939a1e	0xdf143293	0xae6ff8ae
+	0xb2a91716	0x59968c88	0x39bf23b8	0xae6f4de8
+	0x25036bd8	0x80aec9cf	0xf0ee7e3f	0x317b4da3
+	0xf8fd7859	0x08df3ed8	0xa71e6b8b	0x3a3462fd
+	0x25bc7455	0xb13fbb3d	0x9d2724cb	0xc7b31258
+	0x29065213	0xb281d1e6	0x3106fb33	0xaa6c1ade
+	0xb638c936	0x356ae429	0x13c86ee0	0xbce90444
+	0xf9c0d88a	0x518c013b	0x62b04106	0x4ac7ee0b
+	0x3c616332	0xf0c22f5b	0xfc27ee0d	0x4ce9b5c9
+	0xc905c353	0x4e11e45d	0x20256223	0xcfea482b
+	0x8af1d33a	0x6640b197	0x270691df	0x7475f179
+	0xc1be0ff1	0xfc21a6dd	0x786b980e	0xc72ca8fc
+	0xb767d852	0x7ac8af42	0x7d72c6b6	0x5a19fd11
+	0x5716bd2e	0x82b53504	0x85b83ccf	0xf811ccce
+	0x09f4fc3d	0x26d5ee64	0xeaeeebde	0xec395bd8
+	0x63b1e856	0x72d766d9	0x48735ba3	0x05c17cec
+	0x84ec9d2e	0x4799a35f	0x4db934c1	0x1a739a95
+	0xcc76a3b1	0xec0380c6	0x9fe51ba6	0x3a50a27d
+	0xf87acb98	0x341361c9	0xfacfcb38	0x5d4b6c17
+	0xf895d893	0x5ddba6e1	0xde76e175	0xdd13201e
+	0xf3ad93be	0x2f5b8221	0x59e89ac6	0x1a747325
+	0x296066ba	0x4d85ed20	0x17622be7	0xa8a5a7bd
+	0x2d4622c0	0x35bcbbf7	0x6adfc5f3	0x81df2b42
+	0xfc506e18	0xb2abbd05	0x850204c1	0xdf349905
+	0xfd16cf46	0x95a65c40	0xf522fd5f	0xc46bc0b2
+	0x972d3bf7	0x63cd3d05	0x5c0cdba9	0x0a2b5665
+	0x70b5d650	0x471c9665	0x5b46d2ca	0xe03dcfed
+	0x88ad25ee	0x28b79b36	0xd4876196	0xff45ddb9
+	0x3f6f97fb	0x84297dd7	0xf674b99b	0x53c88ca3
+	0x120ea529	0xf2b960c1	0xc38b3d15	0xb51c0647
+	0xa2730c34	0xd4165f60	0x9985dd8a	0x077643e9
+	0xd59044ab	0x88957ef8	0x711688e1	0xb1037691
+	0xfee7269a	0xf9d31f46	0xc77af041	0x3f37ffc5
+	0xa4d46180	0x1bcf34b7	0xd3d0eaec	0xbfa88a90
+	0x48263e38	0xed557ffb	0x1af3d3b2	0x0316948a
+	0x4af71ae0	0x7517cbcd	0xe1b2d099	0xdc83d657
+	0xa725bc70	0x355417cd	0x8ecdee8d	0x24007bfa
+	0xe6849596	0x857cbf25	0xab6561de	0x4f5eefe6
+	0xc4906bdc	0x6eaa8b85	0x56fa64f5	0xcaff294c
+	0x17649e98	0x0a841bdc	0x9bf4f213	0x1b341d28
+	0xdbe8cb6f	0xc39466e2	0x3bc747da	0x5649f344
+	0x03cd04fd	0xfbe13795	0xbd77ede6	0x7021258b
+	0x3ddb01d2	0xcae06294	0x9e078842	0x99f6e391
+	0xafb9f4e0	0xbf598407	0xfff330f8	0xffb3b210
+	0x818c3811	0xfb212c5a	0xddc8ffc9	0x395554cd
+	0x1ae3fe4d	0x8d9222f1	0x26f8d43b	0xae69cfa5
+	0xe4c894b3	0x67eb4bc0	0x652cfea7	0xfd4df537
+	0xf5cc0cfd	0x6bf05b5a	0x27385c62	0xc836f0e7
+	0x0c31c339	0x75906219	0xbb82f59d	0x3ad4d28b
+	0xe482643b	0x527c4116	0x9da57e94	0x40a040b2
+	0xc06cb4c2	0x3eaf28f6	0xc32fbf31	0xf539696c
+	0x4941c01e	0x663106bc	0xeaeb376d	0xb9be9f1b
+	0xc72e0c52	0x043a4216	0x306a80c3	0x4acc7adf
+	0x770ec027	0xfeff9cc3	0xd3758d92	0xc2f4b4ab
+	0xcdc5212e	0x7e8d4723	0x8bfa11ce	0x1820669d
+	0x9f64641a	0xd0be018a	0x8155e867	0xd83a02f2
+	0x3cb5f6fd	0xacde0504	0x6901ddcc	0xc07c6558
+	0xf4e6e1ef	0xa00eeef1	0x700f082d	0xf3c0850b
+	0x2a0847df	0x4c29c837	0x7362f81d	0xebde2f1c
+	0x69ef6173	0x5f74b6b4	0x6c816252	0xb0594c53
+	0x5aeeba10	0xe37de616	0x5bd89ef2	0x4d604d46
+	0xf07b9ba6	0x590d4b3c	0x5eaed047	0xf2e80e52
+	0x77d78870	0xadffbef4	0x82f2ad9a	0xc24df650
+	0x4f9fee73	0x9b6e3248	0x40220a7a	0x66e18e7c
+	0x4aa7303e	0xc4152aa7	0x7881cb37	0x94dbf10f
+	0xfe390997	0x2ebcdf4f	0x31a1ba58	0x30a652a7
+	0xc0a1e533	0x868c9169	0x5adacc98	0x65b64557
+	0xb6a21b69	0x85c27fa7	0x8561bb37	0x7cbe2e5d
+	0x4ac12213	0x2c820597	0xb5bed145	0x8393fe9a
+	0xaba4bc10	0x1480dee4	0xc3651295	0x5ac05ae4
+	0xea9223cb	0xe1683bff	0x25eabf57	0xc5f911f9
+	0x69961525	0x21ee6e4a	0x36cfaa3f	0x58c44058
+	0x654f8f59	0x63c179c2	0xbe0dc7cd	0x43edce6c
+	0x75bec268	0x8b451b1b	0x65488a4f	0xf2ab82c6
+	0x473dfd11	0x09c9e208	0xc92e032b	0x319c92cd
+	0xb0016818	0x6cef2d44	0x9fc0d134	0xc375eb03
+	0x3cbeb3c0	0x4e12c415	0xeaed2bcf	0x98489ec0
+	0xd332bee8	0x8865b77c	0x986ae566	0x46ae627c
+	0x43cf7d2c	0x4786a470	0xf8c23b0f	0x7f420546
+	0x49947085	0xb5fa542a	0xfeb619b7	0x0062eb47
+	0x964e7643	0xb4b20dc5	0xe6830b7e	0x42d7b4be
+	0x367e45fc	0xf8a770e4	0x89381661	0x61dd19ae
+	0xb16333f8	0xc22bd1f9	0x76f2f244	0xcf536bd0
+	0x4b9d2004	0xfe5f8a48	0x64bafdf5	0x25eacc27
+	0xc831c205	0x6e9d5c74	0x6700468b	0x72e451c4
+	0x474d1e45	0x313fdd60	0xd8f23c79	0x052613d2
+	0x8c1c6562	0x87b0988b	0x6da5d909	0xd286a27d
+	0x369e1f5b	0x2eee77e9	0xd7942a63	0x83daa4a4
+	0x0395eea1	0x75640f29	0xaf66cd73	0xe08f6de5
+	0x5d4a2544	0x1845d47e	0x7447bb8f	0x91c82985
+	0xd2df8d81	0x396cefd9	0xdb3b2ade	0x4c3dbd33
+	0x9d3abe58	0xbcdeaa39	0xa904cd8c	0x87849f6c
+	0x3827fbd4	0x00c17a56	0x9e1f3c93	0x36e83c68
+	0xe803a822	0x537f11a6	0x8a6485dd	0x9ed17fad
+	0x0ebde5e5	0xaa5e4856	0x49b58252	0x53619b36
+	0x167e4702	0xca402b44	0xdecab152	0x1dfaa766
+	0x1257140f	0x3069091b	0xd92374d1	0x3ab0597c
+	0xb52bcc31	0x620e60d8	0xd83a5471	0x61006f3b
+	0x629d6ad6	0x982149ef	0xcc96105e	0xfdd6f0ac
+	0x3141869d	0xc5ea6866	0x9ab04e17	0xe46cb130
+	0x3dcb70d7	0x5c8f384f	0x81e38fb3	0x1318faeb
+	0x3e69c9c0	0x6fa70a9e	0x8b6d5450	0x26301b3e
+	0x6df0df6e	0x3b50b066	0xc894e340	0x3ff53894
+	0xd6fe09d2	0x69187a50	0x958df3c7	0xfade4e07
+	0x5980b30d	0x4634b779	0x0dd4f80e	0xe1ea49e3
+	0x55516c63	0x2d785418	0xbfdc1981	0x13467164
+	0xc3d81d6e	0xda687d88	0xc0a15af1	0x572ebde2
+	0xbfec27b9	0x2d40276e	0x72651cd5	0xc87b84df
+	0x483543c9	0x9de39ef6	0xbd8b4606	0xeba1a3e2
+	0x9b549679	0xa6c5918f	0x1ad8e96a	0x88f31d85
+	0x29eb2208	0xee470626	0x0cb1aa35	0x0c8262da
+	0x97dc5b4f	0xa1e06d7f	0x5818e64f	0xabbab4a6
+	0x817c3816	0x7faff78f	0x5050c52a	0x7b8de34b
+	0xf32f77bb	0x34ee341f	0x8d3a9e4d	0x39b1ada7
+	0xef322bd2	0x29190d44	0x415bdfb8	0xd779ec97
+	0xca058f42	0xd5912e76	0x96b1f11e	0x331f6fd3
+	0x9fee7289	0x3fe204b4	0x1a629c6f	0xcbf9aff1
+	0xff789191	0xa50a3890	0x7afe9809	0xfd9208da
+	0x46d21823	0x74073593	0x23d4523a	0x10e8e98f
+	0x566f17de	0x1df7aca2	0xad6237be	0xa48f877e
+	0xb96513c5	0x539b4f7f	0x77e704d4	0x7812d61c
+	0x81e3d573	0x8b530d0c	0x2bda27e1	0xbd2cae27
+	0xf5c09ead	0x61b78bf9	0xcb933660	0xf8893a6a
+	0xb45fc8b0	0xebde71f6	0x9fb14aa8	0x18950fd9
+	0x6d8bb51f	0xf140c194	0x885f559f	0x10d049b9
+	0xdd5ff1cd	0x3f589620	0x84f30dd3	0x70beec51
+	0x75b70a1e	0xd3415405	0x096a9360	0x39c54abf
+	0x83507ac0	0x39191f54	0xddb76cce	0x0054ba33
+	0x6345d176	0x043fa87d	0x33b121ee	0x0e451b51
+	0x1ee8412e	0x821ee12a	0x1aad0a1d	0xd49f63d8
+	0x07ef3812	0x90fe7617	0xc2ad0712	0x68311c5e
+	0x2dcd3471	0x928b6248	0xe20fcf7e	0x99e3c939
+	0x9cc965dc	0xd4b9e274	0xf3fc93ed	0x80d127b5
+	0x078c1604	0x2b65a809	0x4030853f	0x234febca
+	0x9fa441f3	0x0c3b264c	0x53eac391	0x98cd202d
+	0x7e50a035	0xbac1b949	0x47429a0d	0x62e0b0c5
+	0xdaa182e0	0xd3bf57cf	0xce7cc318	0x6a07ae43
+	0xf1127353	0x82156f15	0xd4e7a574	0xbc22b57c
+	0xa3114d16	0xcdccd132	0xc47962bf	0x5ed0e4b6
+	0x11c70012	0x4a50e501	0x80dbe1c9	0xe4d7bd1c
+	0xe802a5fc	0xc6d127fa	0x50842812	0x5d9d4d93
+	0xbdb3108e	0x41f7ff27	0x33478a4f	0x1c38e1d6
+	0x7dc1bc3b	0x7b8f17b4	0x2115e253	0xbf8f1ac5
+	0xd639ffa5	0x238876ed	0x7dba90b7	0xaa0d2c45
+	0x3d3d383c	0x4bcefe30	0x99eeee70	0x22fd7f1b
+	0x6ce141db	0xe8065fe0	0x4ac120da	0xe8abf231
+	0xc353e26e	0x4d7d344e	0x1b704e29	0x9ce0bcb7
+	0x9cdd3fe4	0xe5585f2d	0x2b5ae25e	0x820803e1
+	0xb61f0734	0x1f088f07	0x91ba90db	0x89a64f71
+	0x6c0bae11	0x777c2242	0x52f88f57	0x4e066af9
+	0x3a306836	0xaba6d24b	0xa1d3848f	0x0409eef2
+	0xab97e370	0xa6419863	0xd9c71cdd	0xc2cfcdec
+	0x52c87221	0xe64b7ff1	0xb2cfb829	0xaf6a1164
+	0x31f49fbb	0xc9b55773	0x1512b8fa	0xf52d1715
+	0x4d443b40	0x3a0e15ff	0xfa810f9b	0xdf150287
+	0x69d07a24	0x408cded6	0x8a1bde41	0x4d61714f
+	0xbbcb8345	0x6bfb4c19	0x915fda61	0x771c9172
+	0x5d11e873	0xf6ca0bb9	0xfbe5f5dc	0xa59cfeeb
+	0x23fd2965	0x77af31b3	0x8bb691bd	0xc4131646
+	0xc03178d4	0xf5bfbc1d	0x5e44cde8	0x373f8ac4
+	0x89e0d0c5	0x60e45013	0x5f9d3eb6	0xb2694ef4
+	0x5c90bd23	0x81b21d02	0x9ccbda7a	0x113837e1
+	0x2e7a5eef	0xcc2b0c93	0x986d7017	0xc6d4341f
+	0xed83411f	0xfb3be8ea	0x65df7285	0x43f71d3c
+	0x98db6b47	0x356d3fb0	0xc28c0c3f	0x5bfa8b9c
+	0xb7dc8574	0xf3e85821	0x5e618232	0x57eb8e09
+	0xfa577d69	0x3256b9c0	0x23925882	0x049a62c2
+	0x8bf9ea56	0xcf4a26ea	0x3ed441e6	0xa58b6e6a
+	0x2c177862	0x3287e567	0xf23ca964	0x261c9b17
+	0x22465daa	0x4ef9f195	0x046a867d	0xa38898ea
+	0x912c0b81	0x2c54e834	0x4c7d8e9a	0x749b8caa
+	0x44a0ddde	0xe3c28d2c	0x0e973992	0xf69f0a04
+	0x12eedbeb	0x07d58a27	0x06335f41	0x5858009b
+	0x02e0d44c	0x91b3f425	0x6f485a0f	0xcfbcfed0
+	0x28ecae95	0x820c3d43	0x17563bd6	0x2eeed266
+	0xefc66054	0x00cfb51f	0xc7725be0	0xda64401d
+	0xaf62184b	0xc7c7e121	0xc2fcbccf	0x80bfc1ec
+	0x7f881507	0xbf1d8cb7	0x762d74dc	0x8114836e
+	0xb1f06f4e	0x6f601cfc	0xe180598c	0x78fdf809
+	0x83a3c7f8	0x5b1836f9	0x6dba011d	0x00c8ae4b
+	0x1835d8ae	0x5ed6e662	0x9c844738	0x2fb27fed
+	0x0667707a	0xa9b346f5	0x9cebb524	0x924fc582
+	0x606a13d1	0x16720fb9	0xf2ace147	0x2075637d
+	0xcd1e83ed	0xb19b8945	0x96466650	0xccddef5e
+	0xc32a83e1	0x12fb7523	0x401edbcc	0xcaa03bcd
+	0x4d1a84f1	0xa5c725c3	0xd4707e6d	0x2ef4fa20
+	0x7055c032	0xe1085516	0x7c18f940	0x1f82cb9d
+	0x7bb59fe0	0x096736a8	0xb537886a	0x5abb9208
+	0xcfcbc80c	0x3f5d2ec9	0x067dd2d6	0xacdb69b4
+	0x76d00d90	0xeace3ae6	0x596c4c15	0xa5022191
+	0xa3b9853a	0xdaad430e	0xb2b954d3	0x6e22758f
+	0xb2970653	0x606ddc84	0x9c4e0b95	0xf5e75a19
+	0xb499080b	0x8b42112d	0xb8108a0f	0x6bdca24e
+	0xee8dfb1d	0x767b2f57	0xe37bced2	0xae936071
+	0x66d2f8dc	0x7741efb5	0x5c77e0a7	0x865122a4
+	0xd6e83d1e	0xcf928435	0x3de624e8	0x462696db
+	0x10d1f807	0x541bb0d7	0x184e3d7b	0x5ac43ad4
+	0xb3090fdf	0x4d3a3d94	0xcd924076	0xee2c0699
+	0x17fdfa1b	0x03655b76	0x48d97db9	0xf1ee5304
+	0x208bf840	0x8dd4e4bf	0x6b740615	0x22dc0f33
+	0x9fda2f1c	0x7691c188	0xf7cf64f9	0x3a60d388
+	0xeb1e7a76	0xe7788522	0xf0fb39ff	0x5e9cfc57
+	0x76d58502	0xb432345e	0xeef3ff5d	0x380c0bba
+	0xfab7de41	0x7d0479f1	0xa82a18c8	0x9bea9dda
+	0x29daf1ba	0x0478713e	0x235875b2	0xb1e94931
+	0xf725e488	0xccbb3665	0x1d1e12f8	0xe3169ac0
+	0x0e353155	0xec0135af	0xb2f5bbb9	0xa1413c4a
+	0x32dd6a50	0xa613ce43	0x34e8b451	0x90e2975e
+	0xbd463ae6	0x530c5722	0x1e6882c5	0x375adec7
+	0x1193cc50	0xa6d207e8	0x4d1d54eb	0xba27d393
+	0x80e10ee4	0x79bb8587	0x49bd8647	0xea7617ad
+	0x624ff2a2	0x71a1fd3a	0xb241b33d	0xf1ae8102
+	0xf491156f	0x0f2ea561	0xa324bc38	0x2f7ee0b7
+	0x00636490	0x25570a6e	0xefadb85e	0xa6d2d3a1
+	0x157c3b64	0xd2ff1c1a	0x69ac4cbf	0x87d4fee8
+	0x6aba8dd1	0x22d2a609	0xf8a2bbb9	0xbd2e4b14
+	0x70b1ef68	0x27ba55cd	0xe9ce37ad	0x28d8ce39
+	0xf87da8c4	0xd5f87821	0x7ecb7dca	0x85f3c622
+	0x7d6cc927	0xf8475902	0x08c72487	0x14075f9b
+	0xf38c8386	0x5589faee	0x6fb3277f	0xa33daafd
+	0x463ee430	0x452c08ea	0x5a971195	0x8d58224e
+	0x76d0bcf7	0xd477f886	0xb4afa33e	0x20db6f47
+	0xd3f06a30	0x94a45d9a	0x17d13401	0xff77b1b5
+	0x3f5b358f	0x695a48ce	0xfd6d6011	0x5d490878
+	0x89e9b0a2	0xe5d579a0	0xa6b9d30d	0x689b78e3
+	0xd54559ad	0xf4faa8da	0xb39c5d09	0x7d087d64
+	0x6d61c287	0x8a57fce1	0x21e247d2	0x67c79473
+	0x4e0d7780	0xa8a7b8bd	0xbb4bcc3d	0xd5e9398d
+	0xb9520607	0x634867a1	0xe2499ffe	0x659217b9
+	0x661b2857	0x653dc708	0x0c43a1d4	0x7fc3d14a
+	0x2a9ea2b1	0x8ae5ea88	0x150f8219	0xcdce21d6
+	0x942a487b	0x969bd34e	0x9e7f4407	0xe2a26c6b
+	0x7129d6af	0x94869bbf	0xf65154a2	0x2ef48faf
+	0x0602abd7	0x21755d3d	0xa4b8ae1f	0x37d4ced3
+	0x29c5ae07	0xbb1196ae	0x658c8ff1	0x4cec0ccc
+	0x604acb40	0xb1cd3d35	0xac4486bf	0xac3113d8
+	0x45b82f3a	0x7d18f6b8	0x1f40801c	0x38c2afdc
+	0x69435265	0xaf338c8f	0x37472b04	0x90f05195
+	0xd94b6110	0x72e45ffb	0x0f985a7f	0xcaedf2da
+	0x2f941a33	0xff093077	0x2ff5741d	0xf3cd640d
+	0xfbea8b3b	0xe88d69f0	0x1868e3d2	0xde237ce5
+	0x0e87e8a4	0xeab1ddf5	0xb402b367	0x623ac9ad
+	0x0c3b6838	0xfeb50a00	0xe7b21c55	0x76a28adf
+	0x14563da6	0x9e1999bc	0x163831cc	0x48187995
+	0x041e1368	0x7b20c89b	0x3e8f237c	0xff90dff8
+	0xaee1a97b	0x54665385	0x80577ab3	0xce8ce668
+	0x3911cf3a	0x80b3354f	0x759f967e	0xa9c81de1
+	0x361abb2f	0x3f413da0	0x74214313	0xb7a9e9fc
+	0x340ca8b3	0x37172ad2	0xad3270ad	0x09be725d
+	0xadc54991	0xdab7b984	0x0f13dae5	0x76268ed8
+	0x59060e51	0x1f5c0188	0xb6b4c162	0xde7b2c61
+	0x86bfb062	0x9e22d595	0xfc307f39	0x1630f78a
+	0xdf479d05	0x52dbe41b	0xfc4dc8ea	0x208f1808
+	0x32e07fd1	0x52c02977	0x8024fca0	0x801110b2
+	0xa2c7b65b	0x32a59164	0x4242212c	0x47173b8f
+	0xe14769aa	0xa60dea63	0xdfb10ed7	0xf2ae55fa
+	0x152829f6	0xb48d4237	0xc9a6874a	0x96c2e600
+	0xf6af04d5	0xa190d45a	0xe70fd3ef	0x44f23ab1
+	0x3e855121	0xc0110062	0xd1f3edc7	0xba502f36
+	0xa631d8e4	0x61e84d5c	0xff62a94e	0xb95ed76b
+	0x59839a61	0xb85ea38b	0x2c52ce8c	0x299bcc6d
+	0xa4093132	0xb7adee0d	0x2aa2e418	0xf3901449
+	0x8bc8db20	0x9ed30a6d	0x079de39e	0x85c380d4
+	0xf8ef66a3	0x3c4b3f4b	0x9bf5c780	0x32bd0dc6
+	0xf3b65908	0x6cd47c06	0xf63419b0	0xe4e44829
+	0x808b5e12	0xc9b0a33b	0x2147c554	0x352284bb
+	0x7b94105c	0xe3bb1add	0x6bd5f31e	0xd5ebdebe
+	0x56e01b27	0x0748c388	0x09281d79	0x2e68aecb
+	0x469e3040	0x67aad95b	0xa7354ffc	0xfe80f193
+	0x8dbf794e	0x3e15ffbd	0xb0eb2fc0	0x7ddf7747
+	0x81b3ba19	0xb0a2fa5b	0xeaafe060	0x7c292897
+	0xbada5f5a	0x6d3dfdf3	0x781d390f	0xf7e3f51b
+	0xffd969f4	0x7e72612a	0xa3625a5a	0xbbf34741
+	0x32680cd1	0xa79443f6	0x1caa178f	0x3f255b46
+	0x64fa6137	0xf37f8333	0x38bc8f8f	0x974d2fb5
+	0x85d49900	0xb6a5cb6f	0x5ad85aa3	0x0f5e6477
+	0x44e86ace	0x8f21b385	0x68ad33e1	0xcbc88a7b
+	0x1bf62264	0xcb53aa08	0xe6a953da	0x038224bb
+	0x184f666c	0x8cebf64b	0x73d34e9e	0x7c87c559
+	0xb130264f	0xc8094a11	0x6c8cb034	0xc4c408a9
+	0x6e999fc5	0x60edfc21	0x9d4053d7	0x17f7c225
+	0x161979cb	0x73cc61b5	0x89ea22b0	0x7887803a
+	0x73859bb7	0x4b27c011	0x08e70c9b	0xb909a1c3
+	0xb2bfea81	0xc5141b9e	0x3e0c43c7	0x12dc9fa0
+	0x35701e3f	0xd2c4f6f2	0x98eae649	0x6c783fd2
+	0x9ccf062e	0x1470ab42	0xdece3ad3	0xb8a2fa19
+	0x9f5b8519	0xe3843a3e	0x1b9f3b79	0x51268bb8
+	0x9eb0eeaf	0x49994b14	0xd2743466	0x6fb954ba
+	0x4abc9b9a	0xc66fbebc	0xe2085c56	0xadedb2fb
+	0x45722ebb	0xe4bb7d10	0xb4978709	0x226a4d7d
+	0x242c08d4	0xee93fc4f	0x931b3c37	0xeb62e006
+	0x82483dd7	0x216fbc42	0xd917981d	0x6087b346
+	0x11a54983	0xef1e3307	0x1b588a7e	0x63fa27c4
+	0xb8017cc7	0xb24a8cb7	0x7e879647	0xdc7da4b1
+	0xf74d6835	0xee620649	0xae190349	0x3c3d53be
+	0x1a4ace04	0x38002ea6	0xdc558ada	0xff3b1d52
+	0xce99f397	0xc07cdd81	0xae913e80	0x4d367dd6
+	0x13dc3349	0x8d33196a	0xbbf50e13	0x37f572db
+	0x36735184	0x09c2d71c	0x14c5a677	0x76bdda40
+	0xa48c2e0d	0x14e7df15	0x1727199f	0x795ca3d5
+	0x925b5bc2	0xcb97d364	0xeba4db16	0x7cf6028f
+	0x83755f53	0xf881fec6	0xde422b3d	0x1c085640
+	0x4f23865e	0xaff88fcd	0x626ea59a	0xf5598008
+	0x7b0ab489	0x39978fcb	0xa84191ab	0x7d2807ed
+	0xf13f4343	0x890ce899	0xd6f637eb	0x7b20e016
+	0x9909ebea	0x4bd59f10	0xbe7902c6	0x4ca3783c
+	0x57d2588e	0x2179ecad	0x85c05d24	0xcb28ee97
+	0x590771a7	0xe2132e7c	0xc640985a	0x4331a21e
+	0x6be5ddfc	0x7ec3441a	0xdea4685c	0x596106da
+	0x833b94a9	0xceb629ea	0x5a1375c2	0x41a23238
+	0x8d55d148	0xfd27d828	0x57c933ce	0x21729557
+	0xdcafe0e1	0x91b06e49	0xa6dd2635	0xcc3783e1
+	0x20e50577	0x2568a488	0xb19e1425	0x1ba20828
+	0x987bc2fc	0x62b33d70	0x1056e680	0x542b9214
+	0x49391384	0x62d6170f	0x97a84c89	0xa9911d9a
+	0xe0c98e8b	0xf6c81386	0xc7c46132	0x4a83d058
+	0x4fcebfc8	0x12441c74	0x6c87ca14	0x87f7d3d9
+	0x9cf008ba	0xa4f3735e	0x3506be84	0x3a6b6b3b
+	0x7477725d	0xade4f1ec	0x592ae374	0x310b0e6a
+	0x3e3ccb57	0xc4bfd2fb	0xcdbb318b	0x1299f706
+	0xe8636a17	0x7efec28e	0xf7661b8f	0xb900cd60
+	0xf222e768	0xabd23bb9	0xa1152084	0x2a26944c
+	0x3d8747e7	0x49e17fe0	0xc19ae63e	0xa6b070c6
+	0x81b07927	0x6e03984b	0xb117e26e	0xee1857ee
+	0xe24c52f5	0x74bb61bb	0x9d7aed8d	0x4c010020
+	0x1e3e3180	0x65287c0d	0x37481ec3	0x2995c17a
+	0xdfedb8eb	0x45c5c59c	0x9c18a582	0x6d8ac7ed
+	0x10425e79	0x18752f9f	0x1d8d3451	0xc7f2e2e4
+	0x282111dc	0xe6fb7f7d	0x6dc210d0	0x50c6769b
+	0x66e90a86	0x3257408c	0x828e3d50	0xe4b5033a
+	0xf24da685	0xafe664ff	0x39dc5b71	0x96ccb04a
+	0xbf3f04ee	0x5be42c4d	0x3f505e68	0x32c8c46a
+	0xf1db2ca9	0xdca7094b	0xd39ac464	0x334c2403
+	0x2a9a7716	0x67cf7b68	0x069e8449	0x2d809042
+	0x35fe0f2f	0xca17bacf	0x1005128f	0x3b05def0
+	0x07dede91	0xaf6c85b0	0x7e58e94d	0x053abdec
+	0xef24c1c5	0xad242374	0x0ba1890c	0xd02ebd41
+	0x0a46238a	0xd3e1c35f	0x769c6515	0x2a9808e1
+	0x95ab0520	0xeb575cf2	0x79a17f8d	0x0c51a77d
+	0xb38f3064	0x322097c8	0xc1b9197a	0x34473ead
+	0x13e198eb	0x5634ba10	0x8955ce69	0x31d88b5f
+	0x1e090166	0xed251efc	0xa7fbe0b8	0xfd4a7c35
+	0xfa96ee0f	0xaa31f574	0x105e4865	0xb5b10240
+	0x1fd08a0a	0x96199e4e	0xeff7c1c1	0x6ae9c539
+	0xe592cc17	0xe2c202fb	0xad368437	0xb76c8b94
+	0xbb330ea7	0x2b46e1c5	0x2dadc985	0x19fb2862
+	0xec3d720c	0xf4fbafb6	0x44804949	0xe547ef56
+	0xe2b5d0d7	0x82e45ad3	0xff5cc9c9	0xa34eaab3
+	0x618f8530	0xb743c062	0xbe48e157	0xcf1df31c
+	0x4eb314fe	0x84292218	0xacfa4098	0x2aaa1ad1
+	0x35611959	0xf59510f4	0xb9d585be	0x434ca16b
+	0x41b50b88	0xa8973b64	0xcf190fd2	0x59a7b2d6
+	0xc4ed282d	0x50069edf	0x2c6a1c74	0x7264fc66
+	0xc42e8715	0x866a54f0	0xcf850cc1	0x049fa76c
+	0xdb540cdd	0x5e975b4c	0xf4851211	0xebca9bf3
+	0x56ab93c7	0x6c3644e4	0xbbb3ce6b	0x9bd0886e
+	0xd622d87e	0x29ff56fa	0x7fedeb3e	0x11ca822a
+	0x964fd55a	0x64815d1c	0x5de299d1	0xc0344d87
+	0xe6f03380	0x2b76d1ec	0xdac63777	0xfc82f6f7
+	0xdc29bab6	0x3a345889	0x8e66f31f	0xa85c5b95
+	0xc3590441	0x96cd06e3	0xbde2ff32	0x886e770a
+	0x407078ec	0x6fb41a33	0xa2d809ff	0xae36137d
+	0x6226694b	0xf69b19b9	0x8994ec81	0x27a845df
+	0xf656a2d9	0x1468d119	0x2df7830e	0x307fea6b
+	0xff39ec85	0x067328fa	0x1a2f5fc4	0x0eb1826f
+	0xeccce43d	0x8eb43122	0xb4421608	0x857e02f5
+	0x0e812ce3	0x6323b5b7	0x34ead2f8	0x4df21513
+	0x8d9a0520	0xe7004fb6	0xf72e814f	0xf077cce3
+	0x6388e042	0x7d748151	0xdfbcbcba	0x7d172571
+	0x24990a40	0xdfd173f9	0x68cd2161	0x80f8ee00
+	0xcb7bf35c	0x73c33c94	0xd8b7c28b	0x42415b96
+	0x535e263f	0x7b5a4419	0xa869acdc	0x859832f6
+	0x63b51b84	0xf0ce1fc2	0x4827d03f	0x8279c75e
+	0x30e83aaf	0xc359670f	0x7373eafb	0xcd8a51cc
+	0x3158dbf2	0x65d7ce0d	0x136a500d	0x6fd3cfcd
+	0x852b3f5b	0x9c84fc67	0xcb3457bc	0xb207cd37
+	0x2b9f3037	0x1b58a00d	0x30afbc1f	0x74d983d5
+	0xb35a0640	0xf615013c	0x76280a97	0x8fbbed01
+	0xf3ff8b82	0x9c8bf7c0	0xb517c986	0x8c34973a
+	0x945590f9	0xae947cfc	0x9b973538	0xfb9d7dfb
+	0x82884287	0xbff22c23	0x3d55dade	0x365c76d0
+	0x62adf496	0xa48ef1fc	0x2723be5c	0x7ac930c1
+	0x318ce996	0x120e51fb	0x969add52	0x3b296626
+	0xc64c1c5a	0x7b016b62	0x76cbd18f	0xf405f9be
+	0x46c5b3bc	0xa3ad6071	0x32cdcbc9	0x0a45c65e
+	0x89f8db31	0x0406b13c	0xfc9a98e0	0xd8dff697
+	0x275b05df	0x7314b4bd	0xf21edc9e	0x9e00e055
+	0xfc9e094f	0x51893446	0xf7800e67	0xd561ef2d
+	0x78d46bd4	0x19809124	0x342fbbc7	0xbebad398
+	0x8146baf6	0xc138ec6d	0xfcda50dd	0xee9495b4
+	0x0db40288	0xd5142c64	0x0c87d513	0x2c4eee1c
+	0xac1f2369	0x6ba344e0	0x6c4c5ece	0xa8d9963d
+	0x2c012ef6	0xaa8fead7	0x60fa4d1f	0xffe820f8
+	0xa22a632e	0xc6bd0210	0x224e4f92	0x70534e1b
+	0x5644bfd9	0xfdf6a54c	0xdc9658ed	0x2fe412a3
+	0xa2089338	0x3e1d45c1	0xf834522c	0xb01e520f
+	0x89d771a6	0xe66ce704	0x0a2c6557	0xcbf04071
+	0xa835525a	0xba9cbc4e	0x39b3c3ef	0x322fa1f0
+	0x14e96e98	0xbf48a7d0	0x5924713d	0xafe81627
+	0x7dacc6be	0x20f04d86	0x27a86e2e	0x612f267a
+	0x25e4b39d	0x02277be1	0x0befb95b	0x326a18d5
+	0x454cb039	0x1912ec94	0x5913b530	0x640c81b0
+	0xd8200108	0x70e8513b	0x4cc67352	0x4180dabd
+	0xc13fea2f	0xb75d7e92	0x43e7fbd2	0x03970abe
+	0x0192c51b	0x12175a67	0xfd0d1e94	0x5173ab22
+	0x565f67d9	0xb7301dac	0x86647677	0x6579822e
+	0x2fca90c9	0x9da0ab9a	0xe5b95852	0xb43ef479
+	0xefde3dcc	0x340e0ce3	0xac979fcf	0x5458aec6
+	0x63160461	0x5f921027	0xf820c99a	0x80f97b33
+	0x7f3880c9	0x71338918	0x62000d9c	0x45329e41
+	0xf505170c	0x47b3cd69	0xe95c797a	0x9b2952ad
+	0xafd0d397	0x4c15bec6	0x226bf7e7	0x200cec22
+	0x8fa00cf4	0x20b0c8ac	0xf7050b92	0xf72cf1d3
+	0x2ebb18d2	0xbb8ae7ea	0xabb45dba	0x01b568e4
+	0x793203b8	0x037d9eb5	0xca8cb1e5	0x9af6c43a
+	0x16d143d4	0x0e9e3aa5	0x44c2efdd	0x54363e09
+	0xe03f2faf	0xe14ce314	0xd7b99c5b	0x8b2b7de0
+	0x2b6e3237	0xf4bab1e8	0xda4f5a7d	0x0ccfb320
+	0x227f341d	0x140cb1ce	0xaa4c0e73	0xe2cf4984
+	0x3bbb3256	0xda26cd97	0x02ec6207	0x7a16fcc5
+	0x19a6e4b4	0x38c7e66d	0xc305d996	0x75c3dd71
+	0xf194a65c	0xca3c29b6	0x6dfcb70f	0x9b740010
+	0xda469aae	0xbd36870e	0x6af28ae4	0xe7c67bc0
+	0xaf9035ca	0x036bb34c	0xfcc3b2ef	0xd2a7d218
+	0xdd90b078	0x442e5baa	0xfed6c529	0x6bb624c4
+	0xe82918fe	0x9bb882a9	0x69624c47	0x4250ab3d
+	0x041061ce	0xb83149e2	0xabae7385	0xc5b6f878
+	0x343bb149	0xa5bdad02	0xfa435cee	0xed9df83d
+	0xdf030bb8	0x53c8a719	0xb8517b7f	0xba6089d6
+	0xfc8500ab	0x44a26f98	0xdce8272d	0xfea017fb
+	0x5b949a03	0xc4865cb8	0xca02bd68	0x04be3de0
+	0x127d764f	0x0075fe7d	0x555862d8	0x0fdbb430
+	0xcbe88e5e	0xdf8eea7d	0x5f252637	0xab6929bb
+	0xfdf3bf28	0xaef26e0e	0x6f4a160a	0xf8ddb2a5
+	0xb77486af	0x7ce7af50	0xd59ae204	0xe638ad8c
+	0xb806581d	0xa131a882	0xee60c9e0	0x57bf2a73
+	0x1d55c2ff	0x0677bc2e	0x98e2203d	0xa4da3b89
+	0xd10df673	0x1890d381	0x44753e6a	0xd2374be4
+	0xe1515c4f	0x31398576	0xaf29a94c	0xc833e871
+	0x83114ae9	0xf1989533	0x3d6855ca	0x321bf2b9
+	0xf03339ad	0xf119e6a0	0x08518f15	0x4bb2a2f3
+	0xa1bc6a7d	0x4281b21b	0x6e449c55	0xf0a3a10e
+	0x67713bb3	0x0971da72	0x56c40a76	0x40f962cd
+	0x2b99cedb	0x515ef3ba	0x75b9941e	0x2dedb549
+	0x40f64c89	0xca521276	0xf99ef855	0xcb871c5f
+	0x5f8b0f1c	0xcec4e935	0x3181ef57	0x03f070d4
+	0x3adf04a6	0xf368c0f3	0x0cdd9ece	0xb42575e5
+	0xf3330c7c	0xddd7c228	0x1620149f	0x5e9c6ff5
+	0x0bb443c2	0x39c16e77	0xb7914a40	0x0d6e41a6
+	0x85b3aa01	0x8034fd49	0xf5cea432	0xa40aa8cb
+	0x0457fbca	0x1edf2904	0xe2888d23	0xe7c5fb31
+	0x144fdd01	0xd05b38ec	0xbcbdb172	0xe72e721b
+	0x2dd4f673	0xf2b06bd6	0xe8744ed8	0x1f71445a
+	0x06735a89	0xb90a30d9	0xa41c3576	0x4771da3b
+	0xebb3be18	0x3063dc2c	0x6c37a2dd	0xd4e46133
+	0x2f2229b6	0xd86d3a9b	0xdc6fe0ad	0x53e6ef27
+	0x50610504	0xaa8ec2d3	0x1053e00b	0x1f7fb19d
+	0x52dddd67	0x4087cb7e	0x79983df6	0x25b89a75
+	0x0c273f72	0xeeb6038d	0x87912056	0x89d2c60d
+	0x0f9a3f89	0x466e87aa	0x81d7fb0c	0x19c4a20b
+	0x3a6d7f8e	0x7a3a853f	0xdb590879	0xa235d07f
+	0x61af2785	0x3b3512e7	0x98553ffc	0x7fe687b9
+	0x94857fa6	0x163e3e92	0xebc32498	0x27a7647c
+	0x83199806	0xe4b57b69	0xbfbec239	0xfb9f96b4
+	0x006d96ad	0x5ebb9c81	0x91d6fc3e	0x22c7d324
+	0xd3867a5d	0xf3e3c0e5	0x9396ac42	0x3e4f877c
+	0xd3713f68	0xaf65a501	0x12751ee6	0xb7657c74
+	0xe8ab984a	0x20c7148c	0xcbe78866	0x7e26ae0e
+	0x8f8dbe32	0x635c0335	0x827ec430	0x1eb65a86
+	0x2d920987	0x99b8f206	0x51794ca5	0x98d23276
+	0xa14ad870	0x01a25d21	0x6d9ded56	0x84a98da8
+	0x5241feff	0xeb0bd44c	0x7ff0d5b2	0x4eafd901
+	0xc4e5240e	0xd83a508b	0xda780274	0x2c9d31fd
+	0x16a956e4	0x80ae7dd0	0x5e2996d0	0xe0f2c8db
+	0x41f3b936	0x7097159a	0xdf8c2891	0x75d437b9
+	0x33e6812e	0x028c0693	0x73ba98b3	0x286e2cde
+	0x30dcc32f	0xfba1b8fe	0x0838f6db	0xe4600b0c
+	0x71b37e93	0x8aa32674	0x60efe98e	0x5f2aa8f3
+	0x4df96b2f	0x448ca812	0x08de8250	0x4e589a07
+	0xb1a2b4a5	0x61cc2f70	0x0ab48797	0xb8fe2fbc
+	0x41b6b009	0xd7f4f2c3	0xed49ddaf	0xaf41e8df
+	0x16f3072d	0x3dbc5bfa	0x100b0ac9	0x975ad110
+	0x5b8ba1c4	0xfb2cca87	0x5364fd70	0x657860e5
+	0xdfb66039	0xb1bb5c7f	0x78ebed1f	0x5cd6d055
+	0x783ae62a	0x770d974f	0x1ca3db3e	0xdc89476d
+	0x0b92b39d	0x6edb3fc2	0x7d197db3	0x9c153321
+	0xca82f11a	0x6ad3e144	0xc8919523	0xa904d663
+	0xc6fdbeb4	0xf31202eb	0x6973e94b	0x999d0bb4
+	0x1c00e7d5	0x3b7b3236	0x16fe019f	0xab063227
+	0x55daad0f	0xe8d8ab3d	0x0120506c	0x5b33fad9
+	0x2c5d9889	0xbc51eabb	0x7275a262	0x68c00c03
+	0xabb720b5	0xad59c4eb	0xbc5ee111	0x13e8db52
+	0xaa30b3a0	0x80c39f72	0x8e1e3556	0xd3b2ff26
+	0x1152fd6e	0x68986c71	0x6eec49ee	0x22f1efcb
+	0xf04877fe	0xad046796	0x2c0cfea6	0x856f41d7
+	0x888f2cf2	0x210913c2	0x18b66f8b	0xd8f1e849
+	0xffa3a144	0x2fbbe18e	0xdc2ee3ae	0xe4bd602b
+	0x4a57bb4c	0x103bc8e0	0x8a28d26e	0x8d5420b8
+	0x59fdd406	0xe00e081a	0x5fa22cef	0x7b27cff5
+	0x9555bd01	0x7cb74723	0xffe1debe	0x6ce4be13
+	0x7208420a	0x59dfb6d6	0x8a7a3727	0xb5fcc8a4
+	0xc2c47307	0x32dfc132	0x58555a84	0x1626ed76
+	0x1bc4930a	0x573ca725	0xdaf844e9	0x86412ed9
+	0x56edcc86	0x7ce7d86a	0x3549ff0c	0xabb32f09
+	0x142ae7ed	0x44a43c09	0x30f08a59	0x7d7ffd78
+	0xfc45e227	0x54eeb32f	0xfbe758b1	0x7c9b1c98
+	0xefefad06	0x0838c92e	0x9bd7a069	0xf6f71a42
+	0x65a2e5c1	0xeb8186fb	0xbf3c93be	0x30f3720d
+	0x4dcf7a73	0x5b1feac7	0x55ebeaa4	0xacbce709
+	0x85b24a81	0xf8003552	0x92296135	0x9c2343e4
+	0x04862757	0x24378a91	0xc2a37ec3	0xbecf299b
+	0x7950df1e	0x9e02ba86	0x7cb3d764	0xbf332b0f
+	0x305cb8ef	0xc96e973e	0xc4752d94	0x0d280865
+	0x6dd06208	0xf7c0decc	0x9f62a7e4	0xa22b9e4d
+	0x566ecc24	0xcd532672	0xe19697cf	0x31b5425d
+	0xbab80fe0	0x23338ddd	0x26469603	0x2b9c07da
+	0x86bd404a	0x1893e429	0xc84c9c31	0xb871978e
+	0x2c8dac0b	0x3afdc81a	0x66de70a7	0x0c67fcc1
+	0xb8dc0dea	0x537e7511	0xff031a24	0x7015e67c
+	0x34c12ac7	0x885268c0	0x538071e9	0x7117a5e5
+	0x5b9890a1	0x3a35a5b2	0xca0669bf	0xeb9be8ab
+	0x0514816b	0x0d615a31	0x37bc09b3	0xb6ef53d4
+	0xef635599	0x317ad54a	0x523537f4	0xa00a245e
+	0x239cd535	0x64ab16e0	0x7529df8a	0xca7cfd72
+	0xefa62c3d	0x8f3c7c78	0x8a9525a9	0x2449c3fe
+	0x04b4654a	0x52405702	0x92740c4f	0x889c4c86
+	0xbb433c1f	0xd35a81a1	0x09055603	0xa6630465
+	0xbf0728ec	0x53657965	0xbb2e694a	0x7fcfaea0
+	0x9f815c41	0xf2a9a2c3	0x1b32bd79	0x4ab37a04
+	0x396510dd	0x0595d343	0xbe46c057	0xbc70707a
+	0x479c2fe2	0x8772a36c	0xf6226f97	0x8f879773
+	0x58d1bf88	0x346f90b8	0x5adf3ae9	0x366e21d6
+	0xab951c42	0x5b441472	0x3586083b	0x6b09c693
+	0xa543d9f6	0xa35f002d	0x7349c6e9	0xd0d9297e
+	0x5ac3da84	0x1594a70d	0xe36cf8ab	0x52011943
+	0x1133cb9e	0x31721c1a	0x689367f8	0xc36e0d34
+	0xb40cd03d	0xcb4a6560	0x6fde32d1	0x3cc41337
+	0x6edadb0f	0xeb94107f	0xbdce6c1c	0xb680fea9
+	0xee5705ed	0xe8ccfd9a	0x4c2e25cf	0xaec446e5
+	0xadedad15	0xac083684	0xc09c7576	0x18500d6d
+	0xb35975d7	0xf79b4b3a	0xcc9bbf01	0x3e1c48d5
+	0x950f8ed5	0x9754b7d8	0x37a3793e	0xdec7767c
+	0xbbaf41e9	0x8c630cc4	0x4ba3442b	0x9fafa156
+	0x69d7761a	0x4a77c503	0xd735e8c2	0xd503278b
+	0xe58a4ebf	0x87b10dae	0x390a5e9a	0x14e29966
+	0xcc713fb5	0x9ce6327a	0x6010165d	0x4cc1c54d
+	0xbd12d6ba	0x775c23ad	0xddb84211	0x0f3a2878
+	0x434f4580	0x34f88ea4	0x89321b73	0x1b8c7f98
+	0x1f3e1e48	0xc4408ae0	0x5a654fe2	0xa676c04c
+	0x070b59e9	0x9b94a087	0x7a5ca30e	0x7752a2f1
+	0x1723f5bb	0x3b40c24e	0x83e91275	0x644863a7
+	0x514305c6	0xf17497e4	0x31a29711	0x75df2066
+	0xdb9dd12f	0xddefa292	0xf227d2af	0xee3984d3
+	0x564af7a1	0x470204fd	0x9490c3c1	0x58ec98a3
+	0x506d606f	0x6714b347	0xbf3b9bbc	0x3bd1fc29
+	0x91a5c7f8	0x6adbe076	0x42910be8	0xa33f4e12
+	0x5978d19c	0x1bda9fda	0x52358b20	0x2cb124c2
+	0x8a9407b9	0x003dbd72	0x95775e44	0xd3cdb943
+	0xd8944191	0xd34784c4	0x49355f80	0xe0e905a7
+	0x16b19416	0xe9ad85ab	0xac510c84	0x8763b3bd
+	0x86cc1dca	0xa0c0431f	0xef2cc448	0x7356ebdb
+	0x4bbc2a4f	0x8c4b2d83	0xa454eb11	0xf2554402
+	0xb2221af7	0xf39a006d	0x1f40db2e	0xcf1b4b24
+	0xe6ada442	0x5715edf6	0xbd88c5fd	0xf8370676
+	0x6374fa3c	0x21c43044	0xe09eba2e	0xd13121bc
+	0x235f2e18	0xe920486c	0xd6d3ed96	0x3e65592a
+	0x35b28b3e	0x968288f7	0xb1a8f263	0x2a095921
+	0xd733dd90	0xc27f602a	0x57526980	0xbcaad755
+	0xde77b9da	0x8b6f33c5	0xc6977d38	0xe0898599
+	0x665dee18	0x2af9bdc8	0xa71446d1	0xac3733e3
+	0xcd300da1	0x100af68b	0xe8ef9fc5	0xb328cd95
+	0x595c7a2c	0xc33cbba8	0x45f779f9	0x84429560
+	0x82c4b759	0x628472a0	0xa7aebca7	0x1f4d3017
+	0x9dac2596	0xbb573467	0xd474a54a	0x7b0f53e6
+	0xb931bc25	0xc3fd70d7	0xd7ec2eb1	0x2d537c85
+	0xc718e6a0	0xf8e50b5a	0x4eca90d9	0x9d839c71
+	0x23d47a3d	0xdff0d61c	0x6d04a0e8	0x0e166309
+	0x2af6917d	0x0a1252de	0x7a62f303	0x5c2e9ecd
+	0x7ac2223b	0xdce1ab0a	0x9e9cfecd	0x702a1549
+	0xd2262e68	0x52c93a56	0xd45432ed	0xe43cb580
+	0x2807a30f	0xc0aa2425	0x78ee782a	0x03ff6460
+	0xd3e351ff	0xafbbf095	0xfe016746	0xfb3dde4a
+	0xc0a78518	0x0f531fe1	0xec2b4f14	0xec05892f
+	0x01a2db8d	0x76a8db65	0x95080291	0x68cd235e
+	0xd6046324	0xc562bba3	0xe6b2eac7	0x9012954f
+	0x7918aaa0	0x34c21d45	0x3235dfdc	0x6c3e5b04
+	0x3aaf4137	0x8932ab1c	0x58b18c4a	0x2a81d2cc
+	0xa70d05fa	0xbe0b315b	0xb3ebf1ef	0x5ffb7ac3
+	0x887325e0	0x004a96c5	0x45dc30d7	0x38c52d24
+	0xca444ba9	0x142402d7	0x4a437132	0x463f40f8
+	0x5c40858b	0x90822d4e	0xc8256844	0xbcfb6faf
+	0x357b0e86	0x5110fb28	0x114a531e	0xc322c375
+	0x18cb1cd6	0xf0859c76	0x9a165fdc	0x4112bcae
+	0xf7093213	0xe8b29412	0x1da7320a	0x7faba7c1
+	0x57978831	0x45e74710	0x8ebc83d7	0x32116337
+	0xdead9fcf	0x77c48252	0x18e3becd	0xae616db0
+	0x8f5c4cbc	0xe7f7a56e	0x60e216e7	0xe2414c4b
+	0xeadc1dab	0x81d54f1c	0x230a9758	0xa695cf15
+	0xf40bc8d9	0xbdf2c94a	0xdf5986ca	0x3805965b
+	0x4ba27c7d	0x4569d8db	0xd9fd79a0	0xf22f0afa
+	0x16bb1d8f	0xc0759fe8	0x8c43e99a	0x75700859
+	0x9ffe4ab8	0xa570f2d0	0x524e3a01	0x56dad32c
+	0x85d55e45	0x85d881e9	0x3a93e5e6	0x89b03991
+	0x0bf7cf97	0xbb2166fc	0x71db8270	0x38ba2fc7
+	0x9921e2fb	0x8d590f34	0x6dc126c6	0x83bf3833
+	0x4b610fc7	0x5ea14f5b	0xabc0b232	0x621b6371
+	0xdbac1530	0xabded327	0xadc1bfe6	0x2c1700f3
+	0xed5fd6fa	0xe589d956	0x4e313ea1	0xcd3880fb
+	0x975aa904	0x4c69a30d	0xa1b36534	0xd9fbd174
+	0x81160863	0xed25e4c7	0x04856f8b	0xbdbd0e25
+	0xe77bbe49	0x58f747ea	0x1e152b06	0xc81f5552
+	0x663870d2	0x5690f730	0xac123619	0x82f38298
+	0xad13cb79	0x8b139198	0x8b990c26	0x46f43a42
+	0x13295bf9	0x14692be0	0x5aad4b0c	0x0170eef2
+	0x9e6d43b1	0x3f394d21	0xa9bb5969	0x2e55fc16
+	0x571cc833	0x2d3b886a	0x3fbdd241	0xc2f692d0
+	0x7934aeb4	0xb4758a91	0xec7840e1	0xcbeb4483
+	0x49d89230	0x8acfcd21	0x78db849d	0xdb89bc3e
+	0x23008191	0x0cf22895	0xa4f37634	0x880df3fd
+	0x6b21779a	0xe1b21abc	0xe9ffecd3	0x6b03d356
+	0x1dc13c44	0xd47e5606	0x39a45bac	0x2e0d0d43
+	0x3f6804fb	0x39184454	0x519c8340	0x3aa1de30
+	0x230bb743	0x672c5a77	0x1578491f	0x66ea9f3d
+	0x91290f01	0x241bff3a	0x96ebf092	0x800e8a44
+	0x386775e4	0x4044777e	0x32c90a90	0x091f1a68
+	0x4c3cf321	0xff7c5bcb	0x6449fb26	0x1678b234
+	0x9ca07a55	0x73bed56b	0xae871520	0x56607c8a
+	0x3d891862	0x91465f3c	0xba0a008f	0xc12647ea
+	0x3ed57a74	0x20511850	0x1dacfbbc	0x1be85a51
+	0x7c4dc3a8	0x8bf69d64	0xcd12a3af	0x7f7a8947
+	0xb782d3fc	0xd3baa39b	0x654a6f2c	0x4e8098b7
+	0xeaa2a9dd	0x7b1444fc	0x1b17a8a3	0x5477c47b
+	0x98e3989f	0xb165aad8	0x934b1a26	0x3c7396df
+	0xa0df197e	0x88402f6b	0x633b4c8e	0x188368ed
+	0xdd6ef1ec	0x10ca68c3	0xed9a9849	0x56ef27a2
+	0x25746244	0x1b5d1e76	0xbfd8715c	0xd6c1c20e
+	0xe5c5051f	0xcee2f685	0x3ad9bffb	0xf02b5544
+	0xc783883c	0xb0c08788	0xc08d85f8	0xb654b840
+	0x3801673c	0x5035928d	0x90072396	0xfc6be60a
+	0xe1d91fff	0xd4cf7946	0xa989e61f	0x6eb27707
+	0x7064ec46	0x66ed5e3c	0x7aaa6163	0x5a5215b0
+	0x1250fe8e	0x98daeb89	0x06227be6	0x926fda4e
+	0x1e5af2aa	0xcf54d342	0xb4f987d8	0xf9f691e8
+	0xa196fec3	0xf10e03c5	0x712242d8	0x516d1dd9
+	0x661ce323	0x299bea81	0x5da0a1f6	0xd4efe590
+	0x233a872c	0xde7fe938	0xa8489405	0x80cf8506
+	0xa14a30d0	0xfe0204af	0x8ec1eb33	0x45a33913
+	0xe8f5f0a4	0x7ded8dc5	0x9bcbafd5	0xf8db53b2
+	0xde7a9a19	0x2068398a	0x998c9e42	0xf83bb18f
+	0x0abca1ed	0x6af92508	0x93e5d447	0x35a52d69
+	0xee4d6b03	0x14b8f5ab	0x07e664e3	0xae5ebffa
+	0x8a9ad0f8	0x9c61e029	0x623cc5c6	0xf53f8046
+	0x299cbea5	0x329d6311	0x9d29e239	0x97254322
+	0x1ab51d60	0x6a420e7f	0x9e839b09	0xfbfd0f9d
+	0x71e79e4c	0x64db79aa	0x48312fc7	0x6aa6c163
+	0x69f5a669	0x51897ab7	0x5be56db7	0xff28685d
+	0x2bf568f7	0x2f397f8c	0xe2bd5c24	0x772d8c86
+	0x72bbf518	0xa7e00c91	0x9ce87bef	0x9a87adf7
+	0x98a234f4	0x98e6efad	0x6488536a	0xad7f3401
+	0x1965ab49	0x15f073c4	0x1a40b820	0x8701f688
+	0xaecfea30	0xf2710d99	0xf707183c	0xbabfa4e5
+	0x3c656c1a	0xc7871ed1	0xb7e38fce	0xa17c51b7
+	0xd136159a	0x500db2ac	0x6beadfcd	0x9e250948
+	0xd48185e0	0xea424945	0x3fd0ad9f	0x692c55de
+	0xb546a831	0x15ceca7d	0xb96f7585	0x329567c5
+	0xc328daa8	0x795bed48	0x8d589ec1	0x59c5039d
+	0x69b9df49	0xa3a9bca0	0x33f21d47	0xa5b4c884
+	0x1524d082	0x04b8e6ed	0x2cfac981	0x8b2bf91f
+	0xb65cab78	0xcaed7635	0xdf50f8d2	0x8d9894b2
+	0x2c7dd4e1	0x2f0ba31a	0x8a2ad05a	0xf020143b
+	0xd6443af4	0x43d99a7d	0x5932a8ab	0xf439abee
+	0x358c39e0	0xc948bdd6	0xe0a23f1b	0x6a3f975d
+	0xd0869563	0x2091634f	0x25a37a45	0xc98b748b
+	0xb4c07888	0xadf3c21b	0x91aa6e90	0xd301e5b2
+	0x831e9921	0x5cf2d88a	0x3d875085	0x3fd7e37b
+	0xd80ee010	0xd61d0af9	0x300dcd8b	0x65fc3adc
+	0xb62e5c17	0x570369ec	0x413f3135	0x4347b1b9
+	0xa653d898	0xa374f9b2	0x5ea98269	0xb85bce61
+	0x3c94ce20	0x671ce756	0xf8840f0f	0x870554a0
+	0xb2aa3364	0xd4ee24bd	0x4c0a73d5	0x2b700d83
+	0x8adaee09	0xfe9ec1b2	0x5d2a21ae	0x1e1d5cd3
+	0x1ba3e0cc	0x5a940afa	0x2d4b46f3	0xaad74fa9
+	0x1dbdb7a9	0x451f3977	0x4cba6d31	0x56fb678e
+	0xfbfc193d	0x0c7973d1	0xaef4a731	0xfce12223
+	0x11357778	0x83979d22	0x0194c5f5	0xce3dde5d
+	0xeebd0bba	0xa0a07102	0x79539b0f	0x13bd2dbd
+	0x6333c870	0x796b06ba	0x14470ee3	0x2780d6ea
+	0x5dbc7ec2	0xd0c1948c	0xf82e5a52	0x929faae4
+	0x53d79d6b	0xdec7f7e3	0xc0b80845	0xc8b63c35
+	0x4ddb5449	0x7073c226	0xf207efd9	0x69b680ba
+	0x22b7258e	0xd55168a0	0x9ff88d23	0xf80cf9e0
+	0x95a95370	0x51bb4bdb	0xc743f83a	0xfc668525
+	0x6246454f	0x1665241f	0x44216a86	0xce93a0a2
+	0x6078e3a4	0xc6691a3d	0x238c4ddb	0xe3eb70f3
+	0x6214f1da	0x6d86378e	0x0c904f40	0x5e813cf2
+	0x27ad8a9e	0x27d81514	0xe2fd4749	0x8620e50f
+	0x1316acc7	0xae68b637	0x148be177	0xf558c991
+	0x8e25a2a4	0x0e5919df	0xd9f19ac7	0xc6a0c708
+	0x042cfade	0x06770c05	0x5a76957e	0x587fd2f8
+	0xb31370d5	0x828ed6cf	0x0f3b1a8e	0x1779a530
+	0xd3b1d8a8	0x0d5aae00	0xa982cd22	0x7b82472b
+	0x8056c1e1	0x226f6f6c	0x0fd80cd3	0x97d96da4
+	0x61805e7a	0x84df2731	0x5c999636	0xf46741ae
+	0x5bafac8a	0xf871d4d9	0xde6ad6b9	0xcab5859b
+	0x77f78bcb	0x2e7a51f5	0x94e2c9d4	0x22d39537
+	0x3b3d07ec	0xb5f392c0	0xbcd94eba	0xce1fb95d
+	0xca716f56	0x5a8f7c2d	0xef9de54e	0x08845d4c
+	0x767a59dc	0xfd170b05	0x05027d26	0x1f806f78
+	0x5b66a678	0x3e137ea6	0x01e7fc4c	0x76df5d65
+	0xe9cf9ef7	0x2af76225	0x2f42dcb3	0x28a8858f
+	0x0e15b08a	0xd4e07b3c	0x02c4cfd6	0x8f2dae02
+	0x973c6f32	0x5e9dec57	0x69c641c1	0x78bec8db
+	0xbd5bc82f	0xad39bc31	0xcb10aa49	0x27ee22ab
+	0x2dedabca	0x30789cce	0x2a215f15	0x05ea393f
+	0x69757b87	0x787e3b1a	0x9c7b25e8	0x151ea785
+	0x25c93b80	0x4bf5cbc3	0x73cca060	0x6c00be42
+	0x967ef3a8	0x6293519e	0xa1007d65	0xa4ccff75
+	0xc69c8843	0xf96b8b73	0xbf338ffe	0x2750acdc
+	0x87fdbc7f	0xa0832263	0x90cb0912	0x54264748
+	0x26c87710	0x143a9d62	0x37be9819	0x7d3b4fbd
+	0x9af2eb14	0xc83b0d46	0xee1c4432	0xe156c2e6
+	0x49d5f472	0x124f050b	0x7fe3af42	0x4aee49ef
+	0x74188fab	0xca15c353	0xe774845a	0x04e7310c
+	0xdd6dd6ea	0xb5a6d613	0xeb9b77b8	0xd5947bf7
+	0x6ef9eafa	0x3aeb45f8	0x49351d7d	0xa072f018
+	0x7483e5e6	0x6f13b68b	0xdebdf954	0x50b4385a
+	0xbd5e9f33	0xfb744026	0xc1f830ec	0xac83bf60
+	0x76a9ef51	0x32d18f5f	0x795f2e19	0x6f7fa556
+	0x99c7aca1	0x69381821	0x8d44d1c9	0x948c584a
+	0xd0be173b	0x4030e8d8	0x3651bef7	0x83248705
+	0xbcb4dfaa	0x431de6ce	0xb2503d15	0x1169e47f
+	0xd213aca1	0x745ae622	0x5b56bd12	0xad126322
+	0x54704fa2	0x694f056a	0x49115d92	0x3d807e20
+	0x47632e77	0x1311112b	0xbf06daad	0x95aa4cc3
+	0x9aa92f52	0x65d57230	0x88f7aa75	0x54a57a2e
+	0x713be92c	0xbb8b3684	0x9dfecc66	0x448d2c0e
+	0x3f9883f8	0x9652fa29	0x68860bdf	0x011d897f
+	0x4b0829bb	0x4cc674b8	0x01f13646	0x00a488ec
+	0x65501a3e	0x88e128ec	0x827ec0ea	0x4b5175f3
+	0xac5cccef	0x438201ce	0x79ecd144	0x469c28e0
+	0xf91af7dc	0x97371a54	0xe29260ff	0x13a9436e
+	0x311a94a4	0xa4da86b6	0xe18b73e9	0x8ed1854d
+	0x057da825	0x34228358	0xb1063f97	0xeda2b117
+	0xbc542204	0x7cc094d4	0x82c1f257	0x34d4ab20
+	0x0e505a65	0xbb0f2cb4	0x8e5e4b64	0x67c2880d
+	0x209583cf	0xdf65f51a	0x25eab3ed	0x4b2d2ff3
+	0xbb137ce7	0x244be9a1	0x0a652ef9	0x3dd71282
+	0xdc02f2a9	0x809f3ae4	0x17b30a32	0x9ce532b5
+	0x7bde0397	0xb60616bb	0xffddcb18	0xf6f4be58
+	0xcde163e8	0xd1ad7114	0x8cb41a81	0x6f02b845
+	0x269439a9	0x70172077	0xb6f09684	0x28400ccb
+	0x48aea720	0x2e1d720b	0x6b7799b6	0x3cf03de8
+	0xb3ff42f2	0x3eb07288	0x90755be8	0xfb7b265c
+	0x0a4fdd27	0x0efabd18	0xc043b53e	0x8e0a35cd
+	0x57218045	0x66b0d97b	0x4641544f	0x889a0b79
+	0xaca4b9ba	0xc226cded	0xf8089e7d	0x18416a78
+	0x5085bf5a	0xa89f9cb1	0x588226a0	0xac3935c7
+	0x68cb7d75	0x74853fb4	0x8ee36c87	0xc72986e8
+	0x9d8aa967	0x509c1eb5	0x4d4ef31a	0xcc4f612c
+	0x709b7b77	0x5c108a3c	0x8a654bce	0x8aaf712a
+	0x398419f9	0x28cb7bdc	0xa90c4235	0x6c19408b
+	0xe0ccda3e	0x33202fc4	0xebae0f73	0x4278c68e
+	0x07273009	0x68931945	0xf9b50bb5	0xa43fc355
+	0x5fc9877f	0xde15c6d9	0xf3f095f9	0xf1bc971d
+	0x256ac91b	0xedbf0776	0x1f55cc83	0x3f422ff3
+	0x2498d1ad	0xfa8eda95	0x527d9641	0x99901d61
+	0x5c35e5ca	0xe8cffe68	0xe775e61f	0x21227b0f
+	0x3af6636b	0xaf08f8fd	0x39ba8287	0x127d3209
+	0x741bff23	0x52f5cc78	0x40e2f91a	0x51f0fa79
+	0xa942e22e	0x3ae5bcf3	0xd9bef6cc	0x455dd4ed
+	0x0b827356	0xecd8e59a	0xa80f1f2a	0xcce386f8
+	0xcfeb2982	0x13dd110f	0x607275ec	0x0c766ef7
+	0x3b4c1585	0x30cbbeb3	0x57b4ccf3	0xc063c086
+	0x7cf5a420	0xf50bf1e0	0x7e2092fb	0x6ffe6057
+	0xdbb47ae4	0x56a6d4c4	0xb47eb358	0x63d7b718
+	0x3cd7369a	0x92fdff12	0xfd869092	0x878665f3
+	0xff5a0256	0x42c2f259	0xf0cb21e1	0x658dcc4e
+	0x80e9f85f	0x4c1fc304	0x5a8f1d47	0x1abc0020
+	0xf0bb0522	0xf3294457	0xf5ea2f35	0x6681598a
+	0x14733bcc	0x212c92a7	0xfbc293b9	0x81b49d81
+	0x245d5926	0x9e58b86a	0xe1645ea9	0xeecb5059
+	0xba81810b	0xc53dfb94	0x412de939	0xf3c1b5b3
+	0x2e167708	0x3e74c972	0xfaf16b5c	0x57814119
+	0xbad6c81a	0x6e2935dc	0xf7a1f5ad	0x25b5bd84
+	0x9ddefb80	0xaa2b3a77	0xa9f91dee	0x9aaad6b9
+	0xbba274b1	0xb08d295a	0x8d84ba2e	0xb5fa3475
+	0xa8caefe4	0x09b2a662	0x8da4d199	0x194480ba
+	0xe89bf8d4	0x11e77f26	0x18084e74	0x37f48f62
+	0x7c3976fb	0x23b49e49	0xc3b5d5d6	0x25080932
+	0xb4e708e7	0x01503dd8	0xf9396ffe	0x2d9b1d51
+	0x94b14742	0xee6bc1a1	0xb5a2895c	0x1c914541
+	0xbe5980d8	0x86ed8a24	0x3d52a7a6	0x4c77d74b
+	0x8016911c	0x56b007fa	0xd1efce31	0x15326640
+	0xf5c053dc	0x7012707e	0xf183699e	0x7969c341
+	0x23b2103a	0x2fa21964	0xd549dab5	0x376dcd1c
+	0xb327b470	0x22b045ab	0x4b00cec6	0x241b2bda
+	0xf075633b	0x74d3fe57	0x661901c3	0x0fca71f6
+	0xda0cc159	0x1367aaf6	0x835816a9	0xfc98b063
+	0x7e9ca2df	0xbfe73c8e	0xa3834b1f	0x79614541
+	0x854853c9	0x95492fae	0x27603fd4	0x55e1e93a
+	0x25528bb3	0xd30bac22	0x1fecde8c	0x31002163
+	0x2f01d7db	0x8596ff2e	0x20f80182	0xc324f92c
+	0x1cd21542	0xbe094f03	0x9f43609f	0x50de10a4
+	0xfff2f867	0x46b43556	0xaa8ee529	0x1856d8c2
+	0x58656b90	0x3e7c2d81	0x8b4c6a74	0xf706c8f5
+	0xc41e8962	0xea262591	0x29c2e013	0x4422b666
+	0x86c7d6a4	0x5fa23c5c	0x32c2d31e	0xae72c75a
+	0xa3dd046f	0xbc7c5f37	0xed94a3a5	0xd9a22859
+	0x79d66f46	0xa6b4990c	0xfc49a056	0x74a1778b
+	0x73811c97	0xd24440b1	0xc626124d	0x23ef8511
+	0xa317d2b9	0xa5f9d7fa	0x326885b4	0x99e226c2
+	0xea78b5d1	0x6b58cb66	0x8b5be497	0x48e964f0
+	0x55ab4913	0x3301bf75	0x330e2743	0xd415a894
+	0xf38ed952	0x00e6e660	0x55d26c36	0x55f12ded
+	0x3846c0ab	0x63d58c09	0xfba15dd8	0x1e60bf12
+	0x62f5a93a	0xb5986564	0xb98be31a	0x6f66a4e5
+	0xdefdcda3	0x912fb317	0xf8c0488b	0xa4d941a4
+	0xeaa5a8d2	0xb1f035cd	0x95f051e9	0xe29d05ce
+	0x3e44b749	0x46fde8d0	0x39937696	0x224c3be8
+	0x5a232a7a	0x0ca9041a	0x99fad21f	0x0303cfb9
+	0x1a7643b7	0xd55d8c66	0x32060e6e	0xeda6ce0e
+	0x219c81be	0xb5433840	0xfdf82993	0xac80ba38
+	0x7772a04c	0x91f68bba	0xf42910df	0xad82db9e
+	0xb35415ae	0x1d40f2c5	0x1fd01178	0x6d7eb7e5
+	0xaaf2dffb	0x4779bf28	0xd36d0310	0xeb368a47
+	0xb8ba4d9e	0x58fc0973	0xbd9ee703	0xbf969251
+	0x1e35ae1a	0x447f8cb8	0x21757d93	0x1eb0dace
+	0xc6f846a1	0xfb64ec19	0x494891b7	0xe4d35c15
+	0xb9c50a38	0x89dd11fd	0x8bdc21f1	0x7343cf00
+	0xc3bf71d8	0xd9a8af87	0xe5dc66ac	0x1c7810e5
+	0xde98ce69	0xefd45cb3	0x6e32ddc2	0xfd6f4664
+	0x3dad71c4	0xe2fb9131	0x2b950f11	0x2f189912
+	0x0c7c01be	0x5f5dcf8b	0xf874aab2	0xe203451e
+	0xb224fa47	0x579de04a	0x997ea108	0x5fc8d34e
+	0x7bfb8a8f	0x6cb8ab68	0x7428234b	0xcfe16973
+	0x3ca221fa	0x100e1072	0x93cd8af8	0x0abc2b73
+	0x747b8f09	0x1427ec11	0x0d367b23	0x0ea4719a
+	0x1ee649e5	0xd1bab2c6	0xb46c9dff	0xaeefbee1
+	0x8de92617	0x7efb9ae9	0xb7542a1a	0x44a56df2
+	0xb757b1d5	0x60ca058e	0xc67417f5	0x137cf58a
+	0xb497b8a6	0x55affc90	0x6ad41636	0x47f53b8f
+	0xfa8af101	0x4e4af0fe	0x5b526ee2	0xf7e1d851
+	0xb2437be1	0x9d0d9600	0xd10b4e97	0xbd90a40b
+	0x966e0f4b	0x2cc630e0	0x5dcd5377	0xe4fc80af
+	0x6607c3e6	0xcc854f4d	0x65e70ef3	0x1aca994b
+	0x556e06d7	0xb57db273	0x906eb1cb	0xe5542c5f
+	0x45a0f2aa	0xa6066d4a	0xd11291f5	0xd9c392f9
+	0x05ae1288	0x569395f3	0x743327b8	0x742b1c18
+	0x795dff3f	0x00d635cf	0x0317a1bb	0x420a6ed4
+	0x648b926b	0xc3c1333e	0xd5e904dd	0x479bcfdf
+	0x8ae63fad	0xd71f204c	0x4c311f39	0x5cbdf76f
+	0xe5bd4205	0x00721bab	0x9569c091	0xc4dd5f40
+	0x739434c7	0xe6adb73e	0x34af4385	0x8627216c
+	0x9d357195	0x9d2f5112	0xbe543ed5	0x0e1037f9
+	0xddf7ac02	0x72ef5cb5	0xb8f6cbe6	0xdb1aa017
+	0x5889b094	0x05d80d45	0x2ade1d37	0x6716f816
+	0x94f6220a	0x53b4beae	0xeef5361d	0x17e7cb90
+	0x10c536f4	0x01cc42c8	0x587b6f85	0x783261b6
+	0x3e60d172	0x93d2a63a	0x20e44c63	0xa415cc75
+	0x6de5620f	0xad7c5e97	0x8ad48c9e	0xe1fbfe36
+	0x1385f1cc	0xbfc81bd0	0x7b8db259	0x00cc93e3
+	0xe79afef4	0xb245cf74	0xf7cf840e	0xe4f75bb5
+	0x6b5e5534	0x16919a9f	0x24933a7c	0x709a67a4
+	0xb06cc7bc	0x27d00d60	0x23eec9c1	0x2557aad2
+	0xd7b53016	0x6a626d84	0x837ac48b	0xfd58f0c4
+	0x9f0d275e	0xf6ff3e6a	0x608ce8de	0x69a82582
+	0xcb80c55e	0x0097ca1b	0x53a45277	0xc0d87cc9
+	0xfbbb2867	0x048a0b96	0x567bb875	0xe42cc027
+	0x1cfc40a7	0x6507709e	0x9e70a491	0x65ca4078
+	0x91473cee	0x009c0bf5	0x648566e9	0x191c8cc7
+	0x4fd72a58	0xea4823b5	0xa09ca42d	0xeba4fc85
+	0x9af017a9	0xe18fa00b	0x57dabf57	0x4b8d6557
+	0x76d9bbd0	0xfb4511d2	0x13624ca3	0x2662cab1
+	0xd9cf4ed2	0xa0927b7f	0x0593ed03	0xb2ccd2b1
+	0xb026f8d6	0x2393232f	0xaa7de1a6	0x212c2b41
+	0x6f6a502b	0x960dd830	0x5e40123f	0xa772ce63
+	0xa2b350fd	0x9be53f1f	0xb49ff483	0x6e7198d5
+	0x184d5de4	0x8caede59	0x92a69f17	0x3944317e
+	0x5b83e785	0xa2a1600f	0x88f4c890	0x7d0f0751
+	0xa4dc4724	0x306c2422	0xa55778d6	0x3468cb7c
+	0xdbc43d8f	0x97518c45	0x3786f4cf	0x59be6d38
+	0x81328f07	0xc886c08c	0xe5f5a2c8	0x805cc450
+	0x201025cf	0xcac77654	0xe03c5999	0x7f2fe9d8
+	0x2d7cd63b	0xe37bda44	0x3fdafb55	0x1baadc8a
+	0x04b9c4e8	0x05033691	0xf0542f66	0x076b9144
+	0xa95b0460	0xffd59ee8	0x4adfad44	0x5c3d4ada
+	0x85405a17	0x809bce8e	0xf76e4473	0xf2bbd4d4
+	0x76bd3c17	0x197f08ae	0xfc72d944	0x61b871f5
+	0x3cfd0867	0xd506fcf5	0x323b6c2f	0xe9a4e05a
+	0x41559058	0x2497797d	0x8239ef53	0x90c9da08
+	0x6fc6038c	0x4565e030	0x98dcf8bf	0x0d258c28
+	0xd3b2a435	0xedc58062	0x9bf5fdf0	0x418a4f4f
+	0x52493701	0x0f52bbae	0x4c1cad5f	0xeeabc56b
+	0xcc26d83e	0xc8699144	0x711c8293	0xc94977ff
+	0x64207548	0xaac1fc9f	0xb9ec2518	0xd42a581c
+	0xc5d176b0	0x76148e4c	0x57e7c22e	0x50d79d68
+	0x7261349b	0x01fc0a26	0x2e0741e0	0xd8990e91
+	0x5ccdf76d	0xf253b0ae	0x0b4cefcc	0x87905632
+	0x86c6bee4	0x34156b61	0x188af518	0xb8aa7c05
+	0x51c6c308	0x99de423c	0x3e284f44	0x1352c866
+	0xca90bb4a	0x561e0a54	0xbc48090f	0x87783530
+	0x5ecafec3	0xaa11758d	0x02a3c95c	0x5140bf1c
+	0xe710e834	0xcc792227	0x97c8fdf5	0x3d4ae80a
+	0x174c270b	0x131bcc61	0x6a2d1ef0	0x858938c5
+	0x7110b82a	0x98042869	0x658d6b34	0x2eeb4686
+	0x0489e246	0x7c6c8fa1	0x1591b423	0x70cb970f
+	0x63a77870	0xedf82598	0x6a59690b	0x22e9870d
+	0xdecdd549	0x232340b7	0x603b48a1	0x181e7fea
+	0xf62fbb42	0x44e88f9d	0x6b2dc3d2	0xc18b8c47
+	0x648fb362	0x89c05984	0xe0e48711	0xbc36bb8c
+	0x237b0266	0x38bf387d	0x975b0518	0x74fa5799
+	0x8f49e13a	0xffe74abc	0x913b590f	0x93b0b2c2
+	0x3eb3015a	0x38a0f94d	0xa62343d4	0x709b1921
+	0x759458ac	0x5c9d5b02	0xafc56a30	0x29176dc6
+	0x95640730	0xba946241	0x309fa854	0x2653120f
+	0x6125e744	0x71594382	0x59ba63ab	0xbc820a96
+	0x459d1b68	0x8addfde6	0xbd3960fe	0xcc128ee1
+	0x5f1b4726	0x505e1816	0xe9f4eff4	0xc4a372df
+	0x61d52ed7	0xb75d3184	0xf007e704	0xe80889b3
+	0x4914100d	0xdc433905	0x507dc5fb	0x91e71741
+	0xe8a8aaf2	0xa9a58028	0x8e452803	0x20d19046
+	0x45d6804e	0xc5c6f4fc	0xeaaddc2c	0x34375983
+	0x198ef17c	0x7383a724	0x1436c902	0x6cef7fe7
+	0x7dcaba1e	0x55333649	0xaca12dd1	0x9f5ea721
+	0xb524b004	0x13a3172c	0xc3074bc8	0x61a56a47
+	0xc1ff249d	0xd012ad08	0x65dd207c	0xa8d38a54
+	0xbf37ae04	0xed970086	0x03502e78	0x81faf743
+	0x028dd6b5	0xafa8dcd4	0x84aff729	0x8079435f
+	0x07433cf9	0x5acd7db7	0x63b5a865	0xedd0ecb4
+	0x38198a9b	0x306ae22a	0x7ee63ba0	0x696b2fcc
+	0x6e87ba2e	0x40a149eb	0x97bcac21	0x491e81be
+	0x5862ec1e	0x7a37a598	0x8161e060	0xf0d2ef42
+	0x0aae1b6c	0x9744329b	0xe8b428dd	0x7ecd2710
+	0x28db6ee9	0x99cdae78	0xdb6438d4	0x99777322
+	0xd99188a4	0x43c7af5f	0xb5194418	0x2ff77c3b
+	0xdeabcecb	0x6a5a52c7	0x91f8ce20	0xc9d2c8c4
+	0x855618c3	0x59479754	0x7f244182	0x688c271f
+	0x38de9c9a	0x42fd5cd8	0xc9df931e	0x1791c2c2
+	0x0006c6bf	0xefc0c89b	0x135f4fd7	0xd7ea17fa
+	0xa76acedf	0xc4824dc7	0x5e74e2d8	0x784e00ed
+	0x8c376c35	0xfd8915d6	0x63274627	0xfe4de86b
+	0x057c780b	0xa3628ac8	0xb86fa094	0xa4180313
+	0x98260bbf	0x31ffb6a9	0x346ada5a	0xf52cdb37
+	0x990a0e04	0x1dd4f630	0xbc4b09ec	0x4f511d06
+	0x827c673e	0xb16140e2	0xb4cb87a9	0x5aa641be
+	0x3d3116ef	0x88e1130e	0xca5996f7	0x4913c5e4
+	0xfef485d1	0x99899cf4	0xd2b8b8c4	0xbf605102
+	0x9012aae5	0x24c2488c	0x98225b96	0xc6004100
+	0xe9786694	0xdcf08ea1	0xe9a9698e	0x6d9985be
+	0xf6c7bbc7	0x7913dcef	0x24c541f1	0x326c0aa4
+	0xd6356e79	0x53260a76	0xa7927e05	0x16a67516
+	0x2fab1dd6	0x68108bb8	0x7a184c86	0x5ed42c2c
+	0x00d0b46b	0xcf5062cd	0xf06c2b38	0x2f1eb5f6
+	0x72430b08	0x7faed127	0x8d52bc6b	0x0c01189b
+	0x55926abc	0x5b43cb79	0xeb10fec6	0xfe3fe206
+	0xfc43ab4b	0x33339a6f	0x65918b40	0xceae08ed
+	0x23907eb6	0x8b50a149	0x3ee2d7cb	0x35a9c1bb
+	0x33b9965b	0x13d0c07f	0x6e966e00	0xff6211f8
+	0x1fcdcfb0	0xa45be5c4	0x6bb10242	0x51beb3a7
+	0x5c5cbec5	0xff3eecd6	0x2f31ed96	0xb871733c
+	0xa79abfd7	0x755ea2a3	0x5afd3104	0x632b74cf
+	0xf5533208	0xeaa7858f	0xa489a246	0x8d3db27b
+	0x80209a3d	0x6f821974	0x7a877499	0x698b0919
+	0x8b522259	0x25b09456	0xb59c406c	0x214b6573
+	0xf71ec38a	0x986e5402	0xea7c22de	0x474c0e97
+	0x1c701f5d	0x572161c0	0xe6bb8f21	0xb9d37b66
+	0x3bb33780	0x27c0b0fa	0xcd6c8ad6	0x0ccfbd2f
+	0x87cb8197	0xf8062bbe	0x1c89176d	0xd6a8cf38
+	0xfae92880	0x265d58f2	0x78416c5c	0x91a4c986
+	0x09773b9b	0x151029e1	0xdf2c9056	0xc011b423
+	0x38e01955	0xc9d3bbe5	0x3a1a8cc9	0x737e1832
+	0x8056ab36	0x5397b84b	0xb5693b6d	0x0e04bc33
+	0x55bd54ce	0x8f8afd54	0xf925eedc	0xd5735e1a
+	0xfc83706d	0xd31afd37	0x60d53ed8	0x3921b0db
+	0x27c52f2e	0x5eff5a29	0x1457267e	0xba02940f
+	0xeb87265a	0xfba11a54	0x286b3d5f	0x62c8dfe7
+	0x09acaaa2	0x7e324ca9	0xf88732b1	0x21519a6d
+	0xda939cc8	0xdc7b7a3b	0x3cea28fa	0x1ebf4bbc
+	0x481cbb29	0x4d6500b9	0x9d916185	0xc3c8abfb
+	0xd918d34a	0x98e2e731	0xf171bc7a	0x7ed1767e
+	0xb248576e	0x75b26cc0	0x32d29a34	0x4bbb60a8
+	0x15353f33	0x0e3a0040	0xde8accb9	0x40958226
+	0xad766a5a	0x1d5034d2	0x50e31058	0x020f0334
+	0x2a5a36b6	0xe1bfb70a	0x02d3feea	0x64784369
+	0xd26937c0	0x3d21e686	0xb509f055	0xdd080923
+	0x22c6de8d	0x69ad6af8	0x66d5684d	0x39528761
+	0x281d1c67	0x9f4847e6	0x52b5d5af	0x81e016af
+	0x4401e179	0x8677e61b	0xdf2681ae	0x2fec63a6
+	0xe1f26427	0xf2e91904	0x5ad56cbd	0x96c23a3a
+	0xab858070	0xd8b56be7	0xd92ea61c	0xa922c734
+	0x7a246e49	0xaa278bc8	0x7d8976f2	0x088f0c0f
+	0xbbbd5d97	0xbd52d675	0x45c1d287	0xad02c87a
+	0xe4e2b055	0x288c0b15	0x9176daee	0xb022bfac
+	0xa23fc53f	0x5b019da2	0x602a8d94	0x2222c82b
+	0x938677ec	0x09958df7	0x1d0f7daa	0x2dd8a9c6
+	0xb3450f31	0x1df9e65e	0x8d3067bc	0x5249e896
+	0xdb9f621c	0xe999d84f	0x784bb655	0x5e35eec1
+	0xe689d839	0x304b033c	0x01082ace	0xec0f9627
+	0x928ef406	0x3e5d7ba8	0x7b4c53d6	0x83735573
+	0x5ead53f6	0x09c717b3	0xecf35a9b	0x3ed01fde
+	0x1696aa1d	0xf7cb4817	0xe2fcd66d	0xee3ff786
+	0xcab1b89c	0x13a03cce	0x1327498a	0x8960e308
+	0x572a3588	0x01a84bba	0x15ed662e	0x7dc1e12a
+	0xab2be262	0xa94f4d74	0xd2f1d04e	0x387d937f
+	0xb47af6c6	0xe0d692e4	0x873c59a3	0xf60df864
+	0x600719dc	0xf2dcf1c0	0x5d4b3b53	0x0536020f
+	0x8744af7d	0x42b7647e	0x3c4fa6e2	0x27f85072
+	0x859b6c71	0xc2da0dc6	0x96880d43	0x8ebfdcca
+	0xf64fc35c	0xdc890edc	0x9ac62db3	0x03b24059
+	0x5d4df402	0x9157910c	0x71d0c724	0x6ffb801d
+	0x8138640c	0x58287f9c	0xcdfe7312	0x5d42ac32
+	0x43ee41e3	0x601faba1	0x2d98880c	0x982ef6f6
+	0x29fee027	0x6bf9c734	0xc6643eb3	0xf810f45c
+	0x09e6598d	0xe922e9d3	0x9b9cd24e	0x13adbdf2
+	0x87fafe2b	0x598153a0	0x07fe0627	0xdc9bbe63
+	0x5fcd7a0e	0x344e9d97	0xaae1ccd7	0x12cc8785
+	0x83bce154	0x81b6e4fd	0xecc54d13	0x78c16f81
+	0x161274f6	0x9a84ab54	0xb0b68efa	0x8fc36d30
+	0x44822756	0xf8b7c352	0xa3c8b5c9	0x4d79f22c
+	0x92948fa5	0xbb1894cf	0x17cc9500	0xfba63222
+	0xc09778f7	0x9dfcd0e8	0x33518208	0xbebb96e9
+	0xffba3160	0x8c72e960	0x3f11d1ab	0xb4911fd0
+	0x54bc5159	0xcaa29313	0xf7b6586a	0x0cc228d3
+	0x936503c7	0xaa170b5e	0xd64fca4f	0x1881a6f2
+	0x08e1c2bc	0x57b8a94c	0x2b9fd67c	0xc7879eae
+	0x554a3c57	0x58ca2cb1	0x58fa905a	0x0c2f41a2
+	0xf3844926	0x7d843474	0xb71234a7	0xafff1955
+	0x8cd60a91	0xa2d462ac	0xe85b7897	0xfa94f137
+	0xa52befd4	0x6f0ba1db	0x21381c00	0xbf231fca
+	0x8691279c	0x29ac9a2a	0x1a5ef8f0	0x34ebb5bb
+	0xbd3474f4	0x4610ce7a	0x4a48948a	0xecefa1ac
+	0x2e0b10ef	0xfbaa21d4	0xf40d5dc4	0x2b3f5bbe
+	0x1d360d61	0x58bd70b9	0x0a114fcd	0xf8355262
+	0x52401115	0x25d59b5d	0x747079a6	0x23801f64
+	0xfd0b0c18	0xc6e44236	0xd2744f37	0xa36fa13f
+	0x3fd25df1	0xc6821c82	0x3a0ce1d9	0xb546ff49
+	0x80c28886	0xabf85e5e	0x96910bf8	0x4f58ae33
+	0xcfb853b1	0x591a9143	0xb8292dda	0x5b83a701
+	0x35e18911	0x4d146860	0x040b53fb	0x8a5a4d4d
+	0xb6117da3	0x9012f65e	0x169d8f3b	0x51ab1456
+	0xc801485d	0x3bf357d9	0xd3c7e46e	0xd50963a3
+	0xde44d541	0x10de078d	0xe07a9196	0x8c44ee32
+	0xfbb01649	0x748edd37	0xa69ba2d0	0xfc525cb8
+	0xd8a74e49	0xc892c44f	0xed0b50b9	0x1cf62b23
+	0x2e881075	0x8f3a8b3c	0x24d8b09e	0x317548c7
+	0xb3e14861	0xfeebf131	0xf2484505	0x870a469e
+	0x59a7b206	0x7cf2f6fe	0x6d1f05ef	0x23b21d99
+	0x29589811	0xc0736a54	0x61bcd0eb	0x0135ce68
+	0x1729bde4	0x2dc96f91	0x41c77758	0x0d676649
+	0x37337894	0x8adeffa5	0xe496f4e1	0xa557cd7f
+	0xf568d996	0x57e1f297	0x92f70afa	0x781a2301
+	0x790d71e3	0x4a7b35d0	0x6f9251e7	0x55a494fb
+	0x76a6ba36	0x0e9f0126	0x046f22d1	0xea93ed50
+	0xff76fd91	0x83ed0a6c	0x15bd11b7	0x935ced68
+	0xdcc52119	0x960fcc2a	0xad91335d	0x349deaf9
+	0x225b2929	0x65b7be98	0x0659a786	0xf65b2e2d
+	0x08cbfa0f	0x7e8c3f4d	0x8a156726	0x36b5e58c
+	0x989c069f	0x5459464d	0x9fc5aaf1	0x4dd86d29
+	0x4d4ad07b	0x69c8c130	0x04e3142f	0xc95ea468
+	0xeffb4afd	0x7a211bb7	0x952b8d10	0xbd102c4f
+	0x67d7937c	0x83eb94d6	0x1ff1fdbe	0xb3bd615f
+	0x08a071d2	0x50530418	0x21527174	0x93214577
+	0xc097a66a	0x1dab8146	0xabb3482e	0x7e940eda
+	0x0663abf8	0x050d47dc	0xa32d336e	0x4e4a887d
+	0xdb987e01	0x8638c3a7	0x89b1b0a4	0x9f76d795
+	0x7c46b627	0x8384bd8a	0xf77ed572	0xc9232bee
+	0xbb45fd3b	0x12d1944c	0xb4954081	0xe771b6c8
+	0xdfac1820	0x61dca1a7	0xec8a2940	0xd1bafc91
+	0xf0bc4084	0x97c61ce8	0x7bc0ddf4	0xdf40b00d
+	0xe4ad2946	0xedbabd85	0xa0c5ac70	0x0dc53e1d
+	0xee5c96a1	0x77593635	0x7e9b23c9	0x8cee4341
+	0x81b5a33d	0xb58c7ecd	0xc62e5f92	0xf9d39d7f
+	0x122f4090	0xfee80c91	0x00fe09d7	0xb9afd944
+	0x86b3b327	0x0523e8d4	0xdfbaeec4	0x596a0e2a
+	0x97548a99	0x4774ee8d	0x8555a48b	0x73ea4142
+	0xcb53fd5f	0x6dc88895	0x9d787f56	0x60966bb6
+	0x403b9849	0xa1c13ab9	0xefd4e252	0xee8aed68
+	0x66ba7d8b	0x64d4d61d	0x5f7eb39f	0x114c484a
+	0x7713b3f0	0x8628805d	0x8a24e1a4	0x1139746c
+	0x8a99de75	0xffefa8bd	0x9f9a938e	0xe93af749
+	0x2eb9c43e	0x9e55664d	0x19ff5cb7	0x5782a442
+	0xd800f3b5	0xa5bcb2d1	0xd6850316	0x3df8af93
+	0x394ab2c3	0x6ef66c7e	0x556f73a3	0xa981f3ed
+	0x20203c07	0x5d6a920f	0xe00a922b	0xf1903e75
+	0xbf772696	0x21fc9a3d	0xe10229c9	0xe01ad2b7
+	0x78f62dc6	0xfbadb04d	0x2957db23	0x8c94c107
+	0x9ff3dcb5	0x26a3e680	0xe960b52a	0x4bbd0b87
+	0x5abdd089	0x0dfc4286	0x829f59cf	0xe2247a40
+	0x9d1cbccd	0x4e18275a	0xfc6a33fa	0x56af1cef
+	0x46a5407c	0x90110c91	0x4015089a	0x00953ad7
+	0x2c978a38	0x564c377c	0x6d6d8201	0x069e2756
+	0x0c5fff64	0x9f9774c9	0x9609b2c8	0xe6abfd77
+	0xa0580475	0x736144fe	0x05dc3c2d	0x6e5fc0a9
+	0x50e0834e	0x8fbb47aa	0x90b68cdc	0x84c35ccd
+	0xb81ee6d7	0xbfe0ce25	0x53fcf80c	0xce1cf77d
+	0x1c275359	0x1d2b149b	0x56ebbe4b	0x4faa74dc
+	0x07862ed0	0xdfb7fc08	0x558d371c	0xf2691a4f
+	0x121bc61f	0x344111e9	0x3187fbe4	0x993d7413
+	0xa8b52f7c	0x0cc39240	0x93b08b23	0x94266e6c
+	0x9a268c2a	0x9734bce9	0xac998603	0xaa35a92b
+	0xb784fe18	0xe6f629f1	0xc6ce9fa9	0x7e61683b
+	0x35f930c1	0x52667303	0x41d8c050	0x2d99f78a
+	0x3ab6d31e	0x9aab1c79	0x46c078e4	0x3f0f491b
+	0x23d084b9	0xf22a8448	0x3dd9d718	0xc31e1563
+	0x0ec2df74	0x1ad16767	0xfae2173c	0xb8752548
+	0x07b8599d	0x35324a72	0xf2a68f0f	0xf8e2d671
+	0xf442ff79	0x5c03bbd4	0x51f11325	0xe3f5183f
+	0x9eeb69f5	0x890efeda	0x2a65b287	0xb4471c55
+	0x8a45f5ac	0xe569267c	0xfeb1b0b5	0xd54913ac
+	0xf2de26e4	0xd06f867b	0x29710c74	0x5fb1befc
+	0x7025429e	0x58b8d19a	0x500f0cc3	0x65ecf67a
+	0xfb628da6	0xe784c9bb	0x250e4bf8	0x99b9aecf
+	0x5f4007c4	0x373a39bf	0x3b950adb	0x9a717036
+	0x07d7a187	0x0abd3bd6	0x41370fa4	0xcf82b052
+	0xfe5ec029	0xfb007bc0	0x63b29380	0x95b2de13
+	0x566534df	0x25b6edbb	0xa942e41a	0xbee4d9d7
+	0x70b6da90	0x91755dc0	0x612bd54b	0x9b40788e
+	0x642cc160	0x9ec848fe	0x614e3528	0x15fc410e
+	0xcc7f550a	0x7b3427ef	0xdb08937f	0x4b9afdf5
+	0x6116eb2b	0xc0328047	0x62f0d812	0x0424e9f2
+	0x0f893bd5	0x11476e2c	0xd26e12cd	0x6327ef0e
+	0x404cfd09	0xbc4598a3	0x10b55cfc	0x1446ad32
+	0x814c55de	0xf7713ff0	0x89eea612	0xfd425dd0
+	0x003dda0d	0x702cb59d	0x145d1fb3	0x81303836
+	0x2f3f3417	0xd6d1ea5d	0x4e301541	0x3d3f8667
+	0x8d406f2a	0x1b8647c4	0x388dfa65	0x88dadf47
+	0x6270baac	0xa34e0bab	0x429ed567	0x836c5e77
+	0xc08e56e2	0xce6a4931	0x68437def	0x76ad3ce2
+	0xec62349e	0x15429d20	0xc325196e	0x45a57f9f
+	0x1a20c06c	0x9afa83aa	0x327e1a76	0x6d2fdc82
+	0xd07ef3f0	0x177fe9ed	0x2bcff8a8	0xa65110df
+	0xaf3001cb	0x5633a9de	0x1df68b9d	0x696baad4
+	0xd0249ae9	0x02448e92	0x22bc4a0c	0x32ef7a1d
+	0x6585b1bb	0xa66806a7	0xe0616052	0x5c722fae
+	0xba0ab9cd	0xc8a38f10	0xbb3fe81e	0x32500744
+	0xec813994	0x788c9807	0x2e81d444	0x88165de7
+	0xd7540962	0x4346b654	0x6bc7cd93	0x99fec87d
+	0x15b476cd	0x558d0c52	0x6abc5640	0x8b41a007
+	0xc7606d9f	0xe04e693f	0x89fda724	0x5579a807
+	0xdf33a9fc	0x1d3224c9	0xca72ab66	0x0dc9efdc
+	0x1d498f9e	0xcffd4cc3	0x63f83770	0x1a6690f5
+	0xa1f3af17	0x4ca7ec20	0xa8ea1e2f	0x9b784760
+	0xd49d1927	0xb91c20f2	0x95c9202c	0xca8dad56
+	0x5234d524	0x1856f6a6	0x2ee0b3f3	0xd7b20473
+	0x091be698	0xcf478a0d	0xc6637ba2	0x5bb767b0
+	0xecaab410	0xc91a19ce	0x85d25ccf	0xcc2da302
+	0x324ee21a	0x22adbce7	0x3f2c722f	0x3f321405
+	0x009945a4	0xc3a7d14c	0xedf6f3d1	0x81cd0bb3
+	0x0a9b5eea	0xd041a2d7	0xa8e06a61	0x8997a4cd
+	0xb2898ec7	0xe768b729	0x3430b9b8	0x644fb5ad
+	0x7b90a2d5	0x48a72448	0x729dd522	0x7118735b
+	0xb0d55182	0x4ac77348	0x441ec574	0xebab3eba
+	0x11eecd9b	0x88b6612d	0xc5feae0e	0x92fcf02f
+	0x4f05d5b9	0x7803aacc	0x5eb79723	0xe009b8d3
+	0x70b544ab	0x97afb1c0	0x707a0282	0xae7c4c93
+	0x2592575f	0x73cdcfeb	0xc948999a	0xaef3f9ad
+	0xb3794bbd	0x4807380e	0x4eac29e3	0xaf939ae1
+	0x80d59ac8	0x804c331c	0xcc090607	0xdc88a91d
+	0x3b490db9	0x4f3c4eec	0x42df431b	0x56dfdcc1
+	0xda724c79	0xd8c708a4	0x234c1b59	0x8275458a
+	0x7b4981f0	0xc72ceac1	0x38e53c52	0x8fa414ff
+	0x19da4809	0xb4d3ae44	0x740693d6	0x55e70140
+	0xd21eb87c	0x906984fd	0x5702bdfc	0xd383d58f
+	0x5fedeacc	0xd4396f05	0xf8a0b6f2	0xa357b9bf
+	0x3a6a8576	0xa3c42ee8	0x442102c8	0x14a4bf79
+	0x45de2ac8	0xd6754beb	0xd22d71de	0x10c6af1c
+	0x90f4dc45	0x38e9702c	0xbaead6dc	0x2ad36a8d
+	0xad64add2	0x99b62dc0	0x78c6829b	0xdfd7e096
+	0x2dea8ea4	0x833ff4ef	0x61a6d864	0x8b2e19cd
+	0x283ac076	0x8b6be036	0xab6c6080	0x8f542cb1
+	0x314d4c84	0x0d9956fa	0xc47b5a2a	0x34b81491
+	0x4df58d9b	0x4de1fb46	0xef7a6b6a	0x7da433ef
+	0xd96082c2	0xd1a2adaf	0x14fc1556	0x86a72784
+	0x2dfec1e2	0xac788574	0x69819abb	0x2922dba1
+	0x8ab48f0c	0x9f03ca28	0x9270d2b4	0x7677f583
+	0x27248cc7	0x92d8971e	0xbc385da7	0x14cc79fa
+	0xc680780f	0x27848e1e	0x58d2b632	0x32790eae
+	0x79e8d5ae	0x224d3f16	0x0b6d341c	0x224e9e91
+	0x175e282f	0xb7c36625	0x705821a3	0x16e0bdc3
+	0x387cdef1	0x8cdaf7ee	0x5007ca07	0x6a79a168
+	0xa0db2776	0xfba26824	0x0e9bce6f	0xe600c368
+	0x488f50c5	0x79739590	0x0ece49d2	0x03fc281e
+	0xa2c8c717	0x721e90ab	0xc378799b	0x893c1a33
+	0x13b0cd73	0x0c9081e6	0x16a9deef	0xb9e72955
+	0x269e5482	0xad3993e0	0x2a10c681	0x7f285d76
+	0xa395c5c4	0x911b2a1a	0x58431aae	0x0bfddfcd
+	0xdb3559b4	0x7f49c8be	0x05039677	0x5d6e9b5e
+	0xd9ceb3d8	0x5fd01959	0x6e8da61a	0xe246a2dd
+	0x26a2bc6d	0xabff83b1	0x04b775b4	0xed358c56
+	0x15f29b09	0x79fa65fa	0xb8f8702e	0xee0f1d0d
+	0x5e724848	0x47bb200a	0x74d8a284	0x181c9830
+	0xcf70a31b	0xf845947a	0x37a9ec63	0x4b9cf5f5
+	0x003a3859	0xd9e303b2	0x4546be40	0x324955d0
+	0x0a5e4ef4	0x439a4d22	0x99372ed4	0x2794c20c
+	0x7636fa41	0x0a9b07f7	0x05b5ac3d	0xd5599050
+	0x6f04fc49	0xe1320ba9	0x8c4e067d	0x879dfb21
+	0x36465e7a	0x66f3ef7d	0x72d37f20	0x5cc376d0
+	0x532df60c	0x62c1a06a	0xfd15736c	0x92620070
+	0xb699cc1f	0xdcd068ed	0x5d8a98d3	0x6ce7f6cd
+	0xf6c13820	0x87deb7de	0x4e906b97	0x2a745e57
+	0xe69fee10	0x695a2cba	0x852cd7ef	0x99c0107a
+	0x5111becd	0xcc323dc9	0x5692f080	0x46d6cdca
+	0x2acf342e	0xbf8603e9	0x8ca56f5c	0xa72f08a3
+	0xde60bd03	0x8bc19a08	0x2fa89646	0x44d0265c
+	0x303da472	0xe491ff6e	0xad4b1072	0xeca3a968
+	0xcee2577c	0x459f5af1	0x4d3c812e	0x16e94fff
+	0xb0fb9735	0x01401110	0x242b3999	0x73c7d6e5
+	0xd2e21b99	0x613e1800	0x9eaecb46	0xe6d4191a
+	0xf698f877	0xd018765e	0x8f81c2cc	0x233b95f6
+	0x849b3acb	0x8c010655	0xb5b623a0	0xbaa41efd
+	0xf868cc38	0x253fc919	0x9f1fab25	0xda5dd9ad
+	0xdd8e6b29	0x6bc3a557	0x1b50143d	0x8a7c04a9
+	0x17631708	0x8167cd4e	0xa37b770c	0x67105ffb
+	0xb78ac286	0x29c5726e	0x11416c47	0x4dc16db1
+	0xa33efaf9	0x3b84dd88	0x570deef5	0x056a9806
+	0x7976f125	0xc2942f06	0xd4c8c28d	0x9b65a893
+	0x73995f09	0xa8548ee7	0x359ee61f	0x929fd628
+	0x7a5439a2	0x5182fa81	0x62247ed8	0x5d22235e
+	0x7aacd9cb	0x4f3cda1a	0x91311a37	0xe41d68dd
+	0x325ac748	0xaefdd54e	0x1116e3f1	0xba749d52
+	0x08b47631	0xbe4ab0ef	0x51ffa46b	0x52db617a
+	0x5ade5675	0x0027005b	0xa3d99e68	0xfcfd766f
+	0xd0824eec	0x115aef66	0x006601af	0xc1fe2c65
+	0xa36712ed	0xb52b5a10	0xa36f677e	0x0a2fb9ea
+	0xe1b458d2	0x6e444d72	0x13be25b4	0xb703ad95
+	0x96792e2d	0x13580470	0x93d3b204	0x35504bfe
+	0x720c794b	0x3d70be27	0x7655e2c5	0x6b1ae173
+	0x8de22629	0xad32e01e	0x3d3b7907	0xd84e9995
+	0x2e887e56	0x50be8126	0xf1a54d2a	0xbb1d6100
+	0x08e4b765	0xaa3b33a4	0xdd09d122	0x82741701
+	0xc1bc7d29	0x45fb5b56	0xc528a45c	0xf813f75b
+	0x0b2ba18a	0x8da98ede	0xca7f418e	0xf3682a15
+	0x1919fe33	0x65586c2f	0x7876cf1f	0x969c41e6
+	0x46d07918	0x69c621d4	0x5fca0e46	0x72d277e0
+	0x6c233976	0x9708f8d9	0xf6d28154	0xc9cc85f1
+	0x6f357fd7	0x0424658e	0xb7020947	0x55a6448e
+	0xc2e5f854	0x874ecbcb	0x17c24d79	0x707c78d4
+	0x4502fbfc	0x65f1ca8c	0x2154f6ea	0x57fe2910
+	0x7d89ac5d	0x1ce9a4c7	0x83e61a03	0xe6586a06
+	0x53c7897d	0xd2cf9349	0x8eef31f7	0x52528d7e
+	0x9a5fdb90	0xe1baaa8f	0x6f14a696	0x01909532
+	0xf1f21d0a	0x74601127	0x11f490be	0xdeda6c6b
+	0xcf85b10c	0x3562adfd	0x5504cac8	0xef8b56e3
+	0x4b33b6d1	0xa5ebb84d	0xce401e47	0x9f6cb277
+	0x72039e85	0x861ca68c	0x18950d6b	0x508d11bf
+	0x349ad2af	0xf242e2f9	0x7eb42180	0x7533f825
+	0x21a3340b	0x16e28330	0xd8571147	0xc84aebf0
+	0xc23a975b	0xb0eea403	0x2232d224	0xf21e3160
+	0xa1d6c39c	0x76c96409	0x9f5e2c75	0x222b72af
+	0x059e8b47	0x388dce7b	0x39f5b246	0xd9668661
+	0xe0a024e7	0x54edd260	0x0a270f3b	0xb6fbee78
+	0x2c039b9e	0xaf1e444a	0xa39415a8	0xe3041193
+	0xeeb26f2d	0x3b6ce988	0x58d74a71	0x608330b5
+	0xd0eef205	0xc4267cd1	0xff03a1d9	0xea8ba1e0
+	0xe4036ef6	0xa87f3028	0x90b33011	0x55242e67
+	0xc35ee189	0x56097dd7	0x87c2b5e4	0x07a7a1ee
+	0x641de89e	0x2f798154	0x491ed515	0x6e4ea602
+	0x62fadd73	0x4a660586	0x047282f5	0x7955abc6
+	0x4a1c1758	0x45d15417	0x6fdc9099	0xdc613b07
+	0xed5c167d	0xe9822538	0xba3f8c49	0xa025d455
+	0x4c0d0037	0xfd07db30	0x079cb572	0xaac6ba62
+	0x9600e315	0x5a85c6b9	0xb71d5ef7	0x7f84ec38
+	0x53bee874	0x6d9c8f80	0xf6163407	0x9239d31b
+	0xc3794be3	0x431553e5	0xff083a87	0xbe687362
+	0xb1b0e984	0xb3172474	0x7435823d	0xe49c98ca
+	0x2799f77f	0x283f3ebb	0xfe0c0a0e	0x42dbce29
+	0xe2daa570	0xf8f56b98	0xf653e89d	0x2da9466a
+	0xe821b59b	0xcd8c1e26	0x914e9425	0xef01a32a
+	0xe1ff4e1c	0x097363af	0xec455394	0x183506ce
+	0x5d4e617a	0x3e96eaf6	0x337f4962	0x4809ebcc
+	0xe7dcd960	0x0be6ea6a	0xba4f2fae	0x897c90ab
+	0x5fb20c63	0x29584db3	0x71efe4a7	0x410d5462
+	0x5852abd0	0x3282d97e	0x88c08da7	0x10517d90
+	0x8203fac0	0x9198c071	0xb75e2350	0xd5dc6f2a
+	0xfc66ae49	0xc264bbec	0x10c9a02d	0xcea6c4c5
+	0x35860e57	0x9c2f6e98	0x84395132	0xa6b960ac
+	0x2caf8028	0x8e1e5633	0xe1752db0	0xc3245b6f
+	0xbc2cec8e	0xaa15b168	0xfab0ebf4	0xcbaf83ce
+	0xbc52b077	0xacea8d81	0x82cea769	0xe581def1
+	0x76ddee44	0xf17c7617	0x1a9b4ac3	0x39edff69
+	0x9459de09	0x6d0ea754	0x6707ff35	0x98fee90b
+	0xa139af94	0x59f6b1ec	0x39ef6a70	0x782074bd
+	0x7e7d9e52	0x21db4c56	0x0e495ee2	0x184e9f7b
+	0xb278874d	0x6e72b8d4	0xaa6f763d	0x49f8e47f
+	0x08330d8a	0x02ffa0d1	0x1174cf44	0x7368cd37
+	0x19bc4720	0xe31720c0	0x2fc34953	0xc2722687
+	0xfa147a47	0x6906e465	0xcded8c2a	0x42385b71
+	0x4fa5a5ff	0xed07e0ff	0x804f76f8	0x649f8898
+	0xf4545a45	0xdca3db8b	0x8621d651	0x7bb87849
+	0x157b14d0	0x776d7ab6	0x4226aec7	0x58c370f7
+	0x49acf453	0x16e21652	0x541d581a	0x868f855f
+	0x03c06a49	0xf38e6155	0x0cb111d3	0x14e6a36d
+	0xfedd612d	0x1042b154	0x639b0d94	0xc63fb348
+	0xbe6e66f1	0xd5d9df0b	0xa9e91f4d	0x1a19f11e
+	0xc1cfc7ff	0x3aa16113	0xcea08dd0	0xa2aea243
+	0xe42f951c	0x07a6db3a	0x67eb68e4	0x235e58cf
+	0x17506a25	0x69bb3cfd	0x2bae86f4	0xa995a8fd
+	0x20f480f0	0xa25ca74b	0xca1cdb25	0xf0aa2edb
+	0xc61abd99	0x4a155ff6	0x6c083688	0x0633eb9a
+	0x5f6223c1	0xfce26987	0x931de7c4	0xfb0561c3
+	0xc52038fc	0x0571c227	0x75065594	0x676be0e0
+	0xe9d9e47b	0x556ed5e2	0x1cc8e3aa	0x7c4ce1b4
+	0x537eeb83	0x2c332e93	0xdf90cb6f	0x6da31edd
+	0xcde77ab5	0xb9948b59	0x72198548	0x6d49e633
+	0xea62555e	0x4419f41c	0x8e020cd4	0x3fcf5474
+	0x6c5f1a5d	0x34314049	0xe5e9eb9c	0x968e6127
+	0x239b603a	0x993e6c89	0xe7b67d41	0x3643087f
+	0x02d8fd59	0x145502ab	0x98f4d610	0x0eb62bf5
+	0xa2e02092	0xa21c9ec8	0x9bbdedc5	0x52922483
+	0x19085100	0x7f7e4c15	0x21fb1ed1	0xd79abd7a
+	0x1bf76b86	0x976e1175	0xff3d93db	0x9355b0ed
+	0xcdd24eac	0x3856129c	0x8c143c8b	0x1b2aaa49
+	0xcf0688c5	0xa0912255	0x1134f43f	0xf61e9271
+	0x8c1eca82	0x297344df	0x467b61dd	0x3ac90cc9
+	0x789018e9	0xc38a77da	0xff709ae9	0x72c9ceeb
+	0x357f1b28	0x15f0aea7	0x551d246f	0xbd7cc82d
+	0x672d4fb6	0xf858f87e	0x2b1eeeee	0x079689d9
+	0x955925e7	0x00a10bed	0xdda0a02c	0x10a25c82
+	0x56f68ec3	0x11fd65b9	0x0c4a65a2	0x376c4472
+	0x0feb20ee	0x86daf4ce	0x9b278dd1	0xe5f364b3
+	0x90cb0ef5	0x9f9d5fe5	0x91feabea	0xc46114e5
+	0xf1c16e32	0x83945c8b	0x7f848eaf	0xa5026dc1
+	0x3bec24e7	0x07bb910d	0xa752b3c2	0x0dcbdbfe
+	0xc78c4784	0xcbc7c202	0xd5e695ba	0xa2d691ce
+	0x828cab00	0xe1d64aa8	0xacf5d948	0x89b8861c
+	0x31b3810c	0x6ad5cfdf	0xf221332b	0x22c87d65
+	0x0a841b6b	0x16d99143	0xdd77e7eb	0xd21cfb06
+	0xcd6a31b8	0x2dae353a	0x94d85b10	0x8eef3bd9
+	0x8a76c301	0x8bdbf4e6	0x5a210641	0xd7420869
+	0x630ad1a9	0x7b6b052b	0x3524464e	0xd846fd9b
+	0xc0068471	0xfa3bbe8f	0xf084c8df	0x44226cf7
+	0xebbccdc3	0xf0984e35	0xfb35f581	0xda93b2cb
+	0x0aeee7b5	0x0dd32807	0x23c02205	0x3fb701f0
+	0x1ac5bfda	0x3bcd2ce4	0x5d811747	0xf5541925
+	0xb7375bcd	0xd882432c	0x1e478675	0x1ad173b5
+	0x68fff417	0x38a91f66	0x3d659b0f	0xc8aee8c2
+	0xd50d62fd	0x947a228a	0x601953eb	0x4d919f47
+	0x2c19bd7c	0x9d35d641	0xfc265b57	0xb74799cb
+	0x32f3ac32	0x5f595e1b	0x72a15736	0x7c077991
+	0x102b2c91	0xb32f536e	0xccfe834e	0x98e4b690
+	0x3f32d1f0	0x17fa31de	0x50422c3e	0x5d777366
+	0xeb9329ad	0x8ac92be3	0x2d67d62b	0x05b2d142
+	0xfb134580	0x1bd4fdee	0x193514ec	0xe299593b
+	0x5a916adb	0xa3a91cd0	0x53b43410	0x761c29ce
+	0x13033aa6	0x9999e69c	0x4a45d118	0x284f5624
+	0x4c293a75	0x28b66b01	0x6cbe27f4	0x9bde5619
+	0xb25856cf	0xd1ca33fe	0xe4c2b700	0x05ab2c66
+	0x361d7e7d	0x665d674d	0xb395dfa6	0x45162269
+	0xab8d300d	0x1f2f0747	0x9e1a9577	0x2c49b2f3
+	0x6f96740f	0x319eed23	0xe6a57527	0x67142ac4
+	0x8f53165c	0xb85c54ed	0x3d78dda5	0xc32be8a5
+	0x1b3b0719	0xb23f7301	0x8420a33c	0x036cab5b
+	0xb4e0d0f5	0x22839b64	0xe818330b	0x8a1763e1
+	0x97696a37	0x249e23dd	0x0d7e1bf6	0x509196eb
+	0xf6e50012	0xe5d893b6	0x48905c3b	0x05e02309
+	0x29bc4aa2	0x73b784e8	0x8e4153d7	0x527167c2
+	0x041549f3	0x4924dcda	0xbf93ca86	0xe28a1207
+	0x9d327f71	0x6ca6c00c	0xf9137665	0xe8e5dfee
+	0xa9fdcd1f	0x2349da0b	0x4c86ff7b	0x546afb66
+	0x07b23458	0xe01ca83a	0xcf41d93f	0x4bd981a6
+	0x3cff8d5d	0xd2fe6407	0xe1191895	0x400fe581
+	0x5f74510b	0x2f4f7b7b	0xd557c281	0x085c8293
+	0x251744b5	0x367b4095	0xebf6f48f	0xf2ea6d97
+	0xfe0d42d3	0x02bc0fb9	0xb64f38af	0xb5118b87
+	0x5a5b04a4	0x4642c640	0xb0500d33	0xf947778b
+	0x23365f08	0x2f34d96b	0x596dc4be	0xd8a97b42
+	0x9e44aaf1	0x91fe9485	0x76976934	0xb4e2b957
+	0x3336893a	0x4e9fffe3	0xeb2a75b7	0x35b2291a
+	0xd83e197e	0x26753fa7	0xf1993550	0x227a99ed
+	0xe8b30fa8	0x499a81ea	0xa0274b8f	0x1e0675d8
+	0x01eabc3d	0xade1ddb6	0x273caa5e	0x515ff12e
+	0x5bd43352	0xe697fe31	0xb66b3eb0	0xe02fca0b
+	0xc67fa56b	0x406219b1	0x85aec5ef	0x72fb6679
+	0x9cddd44d	0x91360fe1	0x116a874b	0xd759aa07
+	0x5330671e	0x55947d4f	0x90e8dfe1	0x9c5882f3
+	0xf08d54ff	0xb6e2eb19	0xb7b48c7e	0xe9ad8310
+	0x44af59b1	0xb2bda966	0xa61e1146	0x593928ff
+	0xf0bc46b5	0x632bc665	0x14818224	0xb7456386
+	0xb498b8ab	0x4a1bd6d9	0x09ed9613	0x912b4afc
+	0x2cde21a9	0xccec290a	0x9798e5b5	0x3532a428
+	0x825f9129	0x4ec5d6f2	0x6a2ab0a8	0x239e67b6
+	0x6ef4fdca	0xde49fbbc	0xe55fbac9	0x857a746b
+	0xa57e8eb4	0xc52d1177	0x76165b22	0x764df578
+	0xedb92bb2	0xe5e91799	0xea70b3e9	0x5f101efe
+	0xc60ccd93	0xa424ccc3	0x60f66951	0x9c6406f4
+	0xb3613fc6	0x45015da7	0x6037f51f	0x198d616b
+	0xf4885eb5	0x9e1f3710	0x37f96b58	0xd81ed7b3
+	0x1dbcfded	0x2c698214	0x3d44dbf2	0xa4736f24
+	0x280c900d	0x32a4179e	0xc91f58d0	0x78c9a829
+	0x75274aea	0x1086ea93	0x6221c7bb	0x5ba660a5
+	0xc351999e	0x9e395a65	0x676c627e	0x63d7c3ff
+	0x3b3ef626	0xe50b46df	0xac546eda	0xd029a1e7
+	0xbc2659c6	0xb3f04642	0x0a647b50	0x4261d62c
+	0x037bd7ec	0x1c6392d2	0xb89895d6	0x4cda8c14
+	0xa7cfdfe4	0xb290303a	0xe0547aa6	0xd2117ed4
+	0xd729d316	0x1374dc2c	0x85568432	0x52902d7d
+	0x90eae464	0xc9bb76a0	0x04efb64a	0x75ac68cf
+	0xbd76dcc1	0x718fc088	0x23955173	0x09c73ecf
+	0x255e4c62	0xea69bb72	0xa11a8d7c	0x9e34f5be
+	0x679d4004	0x7ed467d7	0xfb39169e	0x0b183356
+	0xe3ac01b2	0xa80039e3	0x02b6a1c2	0xfa90f1d9
+	0xf3c3cfaf	0x963ce60b	0xedf9a86a	0xdeffa99f
+	0x81eadecf	0x48e4387a	0x05cec096	0x0556b694
+	0xab8e8147	0xe508f298	0x2e80ccb2	0xf42acc8d
+	0x4f4bfe84	0xab58acbd	0xe16e1821	0xdca56a11
+	0xa6019789	0x1fc8405e	0x60d70605	0xc6be366a
+	0x5b581001	0x1b754680	0x50e79254	0xdb06bec7
+	0x9abe763d	0x4d11e316	0x10855481	0xf0038cce
+	0x848192d2	0x5275f364	0x1410439f	0xef4d0611
+	0xd2855e7c	0xaf9a1ce5	0x9d04fb37	0xa91f0537
+	0x6cd683d5	0xac4532ec	0x6dccb68c	0x5e6524f5
+	0x01d8fbb2	0x4f0506c7	0x73088bb6	0xde4258da
+	0x24987366	0x168e6004	0xb401ca58	0xe0e3ed90
+	0x7f9cc276	0xa0d0df95	0x0b829a47	0xed0cb95d
+	0x1b80e077	0xb66484f2	0x57ffce42	0x7d31d4ad
+	0x4bd625de	0xdf03b660	0xf6d1a7ce	0x6f26aed2
+	0x024e6c22	0x5a2ebf97	0x9ac2088a	0xdcf581b5
+	0x31aa8d93	0x18b0e5f9	0x4d74be23	0xe2e47953
+	0x492c8e75	0x84688df5	0xf477cf2f	0xb5c3ac43
+	0x13391bb7	0x8e12b599	0x3b3debcb	0x05a7b474
+	0x3a661679	0x60dd7249	0x9d4e79c2	0x2dd3abe7
+	0x95bb7ab8	0xc6489109	0xb843b66b	0xef9bd35a
+	0xac9534a3	0x4643e967	0xdbaea162	0xa2651aa3
+	0xef077c6c	0xceaf4094	0x6a9873d3	0x1307f6ef
+	0xc0f8ec89	0x31257a8f	0xa3ccffd6	0x954d07bd
+	0xcad4f220	0x49491562	0xcd771af0	0xb52337d5
+	0x56005903	0xfc8b8776	0x0bc5c5d9	0x77e6496e
+	0x1c5ace1e	0x23214163	0xb16404ea	0xf21d7587
+	0x3272b9c3	0x819d6967	0xf3935cda	0x5f75e7b7
+	0xd47e0a45	0x3835711c	0x65c8b9f8	0xec9216e2
+	0xca694b01	0xa09507fe	0x1321c7bf	0x09e884b3
+	0xd47b9a71	0xb5d04a73	0x347b8e0a	0x8135bc67
+	0xd203544f	0x5f0fb637	0x3b3b174c	0xf84c4e4f
+	0x8c546829	0xec92ce65	0x211c2f94	0x0f15d175
+	0x8a7a2eba	0xb2b3ea92	0x946f3cfa	0xd3af9721
+	0x28420bce	0x0d1adbd5	0x76ab261a	0x8addf98d
+	0xe0da2a84	0x96dce746	0x2a1c215d	0x69269465
+	0xcdac281a	0xb02d391e	0x8668b6c8	0xc698d17f
+	0x58fda8c6	0x5d670573	0xb6dd7500	0xc214e33f
+	0xa799dba0	0x7f9af447	0x6e44fde8	0x99086eb9
+	0x2f0c325c	0x7c3ae345	0xa53b3661	0xdd359b1e
+	0xc4cdb7ea	0x24c92053	0x0676821e	0xdc768e80
+	0x799e291a	0x4254efe9	0x245f1229	0x9fd3bc07
+	0xf57dea56	0x2cae3b3b	0xc66828a7	0xbcf094dc
+	0x946bc135	0xf3f4a5fa	0xbc6009ff	0x0315504d
+	0x1d6383e0	0x9e3b6f27	0x0e0587a0	0x77f92fcb
+	0xef643571	0xe9583f7f	0xaea0c615	0x18308730
+	0xbf12e2bf	0x500e7e9a	0xa68193e9	0x037885bb
+	0x7afa33be	0xa0215cc3	0x6f3b153f	0x0749bee8
+	0xffde3598	0xc120bf6f	0xd87c6a94	0x39cf0ff7
+	0x77e3b6eb	0xfc58b718	0x75cfaf83	0x0da3b0dd
+	0x61bd6afc	0x13f73a6a	0x015315f3	0x8ab77ca8
+	0xbd176c00	0xdbfb1163	0xafb556fc	0x586a8768
+	0x87bb256e	0x080cf4c9	0xfc3672ff	0x82434519
+	0x9ca08dc1	0xd91ef241	0xdb71c24c	0x247adc45
+	0x88d6976e	0x3644c393	0x99160c08	0x86660664
+	0x3e7c9c70	0x13bff68a	0x9d622be8	0xc27f7319
+	0x38f7bee2	0xefe2cdbd	0xb862e5e3	0xca4afc28
+	0x38615428	0xa4c218a7	0x3d5a0bbd	0x6846e206
+	0xdc60775b	0x34a8a637	0x51bdc338	0x029c47b1
+	0x12837e46	0x4cb03808	0x2c3302b4	0x6957523f
+	0x74064563	0x4650749e	0xa0a699c2	0x2b6ee710
+	0xb854168d	0xde2c5867	0x778225a1	0xc4c08262
+	0x8dab98bb	0x86588df1	0x042b34bb	0x0c975ca4
+	0xeecae2fd	0x899390e7	0x58a2cc81	0xa4663244
+	0x4283bade	0x1df2caf1	0xad5195a4	0xc82ed5c0
+	0x7a61742c	0x5f91acf6	0xece62844	0xc1e79126
+	0x9c1c0da5	0xcc986bdb	0x78d7050a	0x7bc13829
+	0x3d503e7a	0x7427d7b0	0x60a99dd8	0x69d18c4a
+	0x1773ec06	0x82e68e3f	0x23efefa6	0x34abcc61
+	0x5ffb24c9	0x550afd07	0x4d797854	0xc68d13bc
+	0xde7239fa	0x71e6e110	0xaac81aa5	0x7cda2f9e
+	0xc28662db	0x222d5fc0	0x59844c5a	0x5fb5444f
+	0xc57a4f77	0xcf258bc7	0x81c98c21	0x1b07937f
+	0x380c18d2	0xce92a236	0x597dc1e3	0x4c5e3600
+	0x598f79ef	0xcc8d5785	0x739541b1	0xc97b533d
+	0xbf3f15b8	0xa736552f	0x535468db	0xc416f758
+	0x442e1f42	0xd983480c	0xfc62acba	0xe3259803
+	0xd842885d	0x4de67800	0xe9739f17	0xccd6dbbf
+	0x2693226d	0xb53440b9	0x6a2325be	0xa73db668
+	0xc092fc17	0xfc3030a7	0x473182c3	0xe579f173
+	0xb9826f21	0x1c003628	0x7a1c0849	0x07a91ae6
+	0x1d374309	0x71137645	0xebeb0264	0xb4d0770b
+	0x0b08efc2	0x0d41d275	0x2b4bd763	0x34befc76
+	0xaf5969e6	0x8fae7eb3	0xd21ab29e	0xf311c198
+	0x99ca6131	0x07b8727b	0x705d2272	0x4aba3e02
+	0x6bcfa46a	0xcb410ff3	0x2218a46c	0x8fa79e4c
+	0xe0a7fd8f	0xad866e32	0x19f3614c	0x51c5107b
+	0x1d70682d	0xfae51d5b	0x92c8d209	0xf7e7f809
+	0xf7f298ae	0x1ed98b1f	0x8d72320f	0x4ca62653
+	0x555d761b	0x585b931d	0xea97f50b	0x4cd60527
+	0xc11470aa	0x351ea162	0x6e02aa6d	0x13a2e29b
+	0x26247856	0x53763351	0x73502e2b	0x0e72cf00
+	0xfead8af9	0xea9fed5f	0x8e29593d	0x1dffa068
+	0x35018a10	0x241b6929	0x8dd1ff6c	0xf7aafa9e
+	0x799d49c5	0x1457a9f6	0x28bf4090	0xaafa7ba6
+	0x7f96e432	0x98035b6b	0xa2bfa070	0xb47d9c1b
+	0xd4f92138	0xe5c44f9d	0x817767e5	0xb5a851e1
+	0x4abec330	0x4f3ee596	0x232f5407	0xff720a97
+	0x4bcb73a3	0xb9e9defa	0x44ace459	0xacc87ec0
+	0x6115e7ad	0x60c824d8	0xca2c910b	0x70b0a1dd
+	0x09c5dbb5	0x53fff786	0x1f49e297	0x2deb0ff2
+	0x4e7e1015	0x4a40fc18	0x7d2930af	0x641128e9
+	0xb42c96d5	0xe0a63f2c	0xa3d5b009	0xa7683f57
+	0xd1b15d72	0x5411bc6b	0xc5e3c6c4	0xa307e3dc
+	0x8619f0e7	0x87f088e4	0x90bfa9da	0xcb88afe7
+	0x41793feb	0xb36ad18b	0x09c23ea1	0x8732883e
+	0x9f9557a1	0x22d6a9fa	0x0481d5ea	0xf857343d
+	0xba41144d	0xa8b44d45	0x79752ae2	0x322edb6f
+	0xec48bdc6	0xb28216de	0xca282e57	0x773e6396
+	0xb99968ec	0xd105854e	0xf77089a4	0xea9521db
+	0x39b5cbf4	0xaee60835	0x8e8326f5	0x457dbc19
+	0x48c03f43	0x3aaa54b2	0x895b3606	0x82b8c9b7
+	0xd7943204	0x83eb8600	0xe532c12d	0xc1171d60
+	0x4ba2916c	0x2e785bc3	0x0dd98393	0xb8845390
+	0x05fd2150	0x2211c618	0xb5c2e445	0xd7ed0c82
+	0x0adf8dca	0x233af513	0x8503d749	0x488b1c15
+	0x79dff5a7	0x42e58503	0xeedfd69e	0x88f15379
+	0x1b7cd660	0xc9e9b279	0x14d20061	0x49c7aefd
+	0x5e22c5aa	0xb63fdde0	0x9465f03f	0xdc58b321
+	0x63a7289d	0x15f2288f	0xaf4532cc	0x4e4bbb69
+	0x091cfeb1	0xb5be580e	0xbbec6fc2	0x0fd821bf
+	0x0a547ce6	0xc2bcd84d	0x40a28139	0x7eeea0ca
+	0xb2feea2b	0x4fd5e4f8	0x2ccf48dd	0xb7194b6c
+	0xd22b9198	0x78ad936c	0x9460b1c8	0xdc17bbd8
+	0x3f40823d	0x4b236d52	0x14f928cb	0xd007bc72
+	0xd2f8b85d	0xb0d1d115	0x4c159971	0xda7580b5
+	0xb1ead8af	0xb36b50e3	0x0bd46374	0x2ceb5dc5
+	0xe1bb39d5	0x792e7cd4	0xc018c9a1	0xd800a972
+	0x408ed808	0xbf4ca03a	0x8960e693	0x6e890423
+	0x4551ec70	0x95cebd5b	0xcd80e621	0xeadf97f9
+	0x7696783d	0xdf6e5acb	0xe9c07318	0x5c99b573
+	0xb48f5ebd	0x45ac8391	0x4397286f	0x1384bfb5
+	0x20956529	0xf3efad7e	0xbba89728	0x81e2ffdf
+	0xfe7267a2	0xba5a0b2c	0xea564265	0x2eab215f
+	0x0585687a	0x8b321898	0x018932fa	0x79b1eebb
+	0xdf5e0adc	0x83b2599e	0x69de903a	0x0042d857
+	0x64621f39	0x916e6620	0x7edc8eff	0x0e30efa0
+	0x89e1712a	0xe2956107	0x613114e2	0xc507bf0c
+	0x18c57a2c	0x73c7d51e	0x73ed48d0	0x0134e2f5
+	0x9e7fc4df	0x9d23249e	0xd664b664	0xea0e92b1
+	0x62751e9e	0xa5253078	0x13b29a93	0x607f0ed6
+	0x6399eca1	0xad627487	0x8674256e	0x07a72d0c
+	0x64d888f2	0xb186a4fb	0x53c28502	0x3e1a820f
+	0x0e2e283d	0x29cc46d4	0x044debd0	0x264258d8
+	0xf2df4d96	0x381fe77f	0xb34e0bb9	0xa680fce4
+	0xf3965166	0xf66aa965	0xfa01274e	0x173a27c3
+	0x9372c2e2	0xaf379123	0x1d7795b5	0xd0cbea27
+	0xac2aa4dc	0xaf75cd15	0x08aafbd7	0xe1eb3ad9
+	0x73f2efba	0x7e1f8cfc	0x4fc216ce	0xc0b058df
+	0x47984d31	0xdbba78d6	0xf4322222	0x2d1332ae
+	0x1e389863	0xda868594	0x9009bcf3	0x3e3bfd37
+	0xf5c8d23e	0x659ed8f0	0xaf40d5ed	0x79334c6a
+	0x8a5fe638	0x43794c1e	0xfb797e56	0x0cfdf9ab
+	0xb9cb56e8	0x4521d561	0xb9225208	0xe640f78e
+	0x1228af34	0xde8b9a8e	0x068d9ab7	0x83e3b7ab
+	0xda2594b3	0x5788c4fb	0x482757d3	0xd2dc8c42
+	0xc2b20dd2	0x056d07d1	0xe2547141	0x1ffc298a
+	0xc3a87b06	0x41e29745	0x097beee1	0x79900e95
+	0x7b1adecd	0xb2e72144	0x4e26e17b	0x85cc1a4c
+	0x9950fce5	0xd6d98df9	0x93794074	0x824d14d2
+	0x4f0647a5	0x946ebf66	0xf7573917	0xbd8de17c
+	0x87b3e0f0	0x2d7244aa	0xc7e3a076	0x15b1cc40
+	0xbd4da30d	0x72d94da2	0x59f4bb70	0x11171bd1
+	0x7fb5b60e	0xb5c57746	0x9bc50e57	0x3f451f05
+	0xb94e5d7c	0x1a8f3f35	0x161962d3	0xdb989b4c
+	0x677fe3cd	0x11c0d3dd	0xf44e1845	0x4f0e923c
+	0xc9747ce4	0xd3e3b8f7	0xcca06709	0x22364a45
+	0xc451d651	0x61175a92	0x37c80223	0xce26776a
+	0xd84465a2	0x6f650d82	0x3c0c44c6	0x4cce06a4
+	0x9419dbd8	0x3790ad96	0x92931a8c	0xbee8a011
+	0xc6e6e935	0x90ded61f	0x2c600834	0x288d7aa7
+	0x29525b86	0xbc356cb2	0xe7990035	0x93a41510
+	0xeb1ae6f3	0xcfaebe12	0x986b8751	0xe5c12e29
+	0x97a81f41	0x0486ad01	0xe72ed202	0xb113d7f6
+	0x474b2b6b	0x84117dca	0x253fa634	0xd82a74ea
+	0x638cc440	0xa7f37501	0x6fee7b98	0x11c8d721
+	0xb546c6a8	0xb9614144	0x11f332f7	0x74cbd864
+	0xeebb972b	0x7fcfe0d0	0xc3bc74b8	0xf77b951b
+	0x48ebcc35	0x4e14d72f	0x7b953ae1	0xfbbb9ce2
+	0x42c55f78	0xb6d380ed	0x49c3d722	0x872ba533
+	0xb8e493c7	0x7ebb8ac1	0xd72cf5bb	0x008276de
+	0xac42547f	0x36d30ad9	0x73c4e5a5	0xd42a79c6
+	0xd7fc1c97	0xc1e39393	0x9d93c834	0x504deadf
+	0x507017d7	0x5e7f8596	0x64dff308	0xa1ffa86c
+	0x406863fb	0xc696762f	0x8346ab74	0xbbb26ac0
+	0x040e22b7	0xb9bd6bc1	0xb5a9662a	0x313baf09
+	0xc88a5d73	0xf89b101e	0x2df99e8c	0x66f9143d
+	0x6a15e728	0xd073efc9	0x2550f1e5	0xe6d2e0e7
+	0x201603c0	0xbedee383	0xb90eeba5	0x3c6d3689
+	0x6c221cc7	0x5e42e7e3	0x16773ca3	0xa903f046
+	0xa359c206	0x21aa9ce7	0xecc3c52f	0xfdd397dc
+	0xff0aa1aa	0x86a9241a	0x23dca3ca	0x7aa7964f
+	0xce44f45e	0x787ce819	0x102182f2	0x648daae7
+	0xfe8cef54	0xe5a2fa46	0x7858e946	0xe0f78cd8
+	0xc03dcc41	0xaa9eeda2	0xdec6ff3b	0x82503cad
+	0xe3c69ab1	0x636ecaaa	0x2842ccec	0x8281e787
+	0xc9457836	0xaaeb2b64	0x58433aa0	0xa8e90fdb
+	0xf4878f15	0xa4509d31	0x349d3d9e	0xdb41cd52
+	0xfcacc1dd	0x028cf8e6	0xe4063eed	0x4374291c
+	0x0a7b5823	0x5dc812a6	0xc559676e	0x1cccb0c0
+	0x8b5054ae	0x2c668113	0xe6ea95d8	0xebc32c6d
+	0x7c7e8e52	0x563f5e56	0x7b6ba1d1	0xbc768499
+	0x44d1b27b	0x11da187c	0xc150a0ae	0x8d549c27
+	0xef479ebd	0x1bec041a	0x2d724c70	0x4f6fff05
+	0xccc70e9a	0xcdf3f224	0xde13a03d	0x286faf62
+	0x0422a7ee	0xa1dce95a	0xa052c652	0x24ef7f65
+	0xc3d56751	0x062ca4b6	0x9c3a424b	0x4c6b8a5d
+	0x9b0760a3	0x454eb5a1	0x89d719c6	0x5d7c30b5
+	0x1875f304	0x76ccdecc	0x7f7b6f2d	0x91392a06
+	0xa4dadd23	0x3f89b22d	0xe5670c1e	0x69e5fab5
+	0x8d7d676a	0xca764743	0xee377c21	0x962ef23e
+	0x3c9776ca	0xcf94e1f1	0x90b70a30	0x82331925
+	0xac501a5d	0x9c9e78c4	0x709b0db6	0x427e02d7
+	0xf1b04309	0xa9f6f0f4	0x08ff5d7f	0x78a97bbf
+	0xab003329	0x62c425e7	0xc444a6bd	0x91d672d6
+	0x694e119d	0x0caf0d23	0xd25b4687	0x220d1657
+	0xf7ba3375	0x288606d7	0x843cf7da	0x57885fa7
+	0xedb17314	0x6b72199f	0x60781834	0x2af5db9b
+	0x30580a07	0x8624fbf0	0x7e0cd294	0x47352010
+	0x10a3b651	0x6f339211	0xc1eae963	0x35be0698
+	0x59ba2497	0x59b522b9	0x3f2f1d3e	0xca39fbda
+	0x8e75f2a9	0x0548e490	0x9f33e02c	0x6adecfdb
+	0xc5503669	0x4d5db11a	0x67e838e3	0xe9b880aa
+	0xfd649783	0xc138c050	0xd7aeaa11	0x966cc90a
+	0xaee0e03f	0x274a604f	0x8f9aa296	0x814516e7
+	0x6e196fc7	0xb73e1c2f	0x0d12e4f4	0x9ac2a2d5
+	0x8c7c9604	0x2697ef9b	0x1e29342f	0x31e4e835
+	0x24c641d9	0x11caf5ab	0x3f2e207b	0xbc84be68
+	0x053d130f	0xd9c47984	0xe876ad21	0x313d7941
+	0x4fbd8b5f	0x55da59db	0xad5f7256	0x72aad15d
+	0xa0dd11c2	0x2edb36b6	0xe2394a24	0xd1d3e21a
+	0x1bc12b51	0x3f90e0c8	0x1e931f28	0x228d3807
+	0x148253ba	0x0c92fa37	0x68cea9b5	0x8fa72940
+	0x8e168b8e	0x7917c0ba	0xca35e962	0xa24501ea
+	0xc88a581e	0xf7eec60e	0x44a2c310	0x3b6fe6b7
+	0x7157e3ef	0xc7336d28	0x94e1c1fe	0x53cae8a4
+	0xfa702348	0x377220d5	0xaf64d7df	0xd36c486b
+	0x4cc02674	0xfb4e74d8	0x5f444b3b	0xff8918bf
+	0xad443e0f	0xfb1e69e2	0x58a35eef	0x52be618a
+	0xbc32b508	0xd4bfd717	0x12c20777	0x9fac22cb
+	0xf527f00d	0xc4036217	0x076a0000	0x3e050a72
+	0x24d5bd98	0xb3df2dcf	0xb6577a1a	0x20db8dbf
+	0x81d84f2b	0x2b23bc93	0x04f5aba4	0xb89a7879
+	0x26037e61	0x8bf4c947	0x2c2f00db	0x4770fdaa
+	0x03517beb	0x7c0aed15	0x9b1c508d	0xd03887fa
+	0x612c327f	0x75630859	0xee089ebc	0x054363de
+	0xe1170da6	0xa6fbad45	0xbe5fd481	0x7170ce4a
+	0x982705f2	0x2f28fce4	0x4828396d	0x946e3227
+	0x4707b6a3	0x40b3b489	0x38e44d67	0x9baf7701
+	0xb5514d53	0x6a03ea96	0xa7edeb18	0x318592be
+	0x8077c7e2	0x54bb983e	0xba06f777	0x78ac3dae
+	0x162292fc	0x5f5a64de	0x8447342c	0xae366b1f
+	0xd40cda5f	0xa00c4331	0xc9f89e9a	0x614bfd85
+	0x13f4d895	0x351d65da	0x2dcc6c65	0xb932fef4
+	0xd979267a	0x369a3a48	0x3d69186f	0xbd36dedc
+	0x6531794b	0x5994888c	0x9c810184	0x86078fa0
+	0x019116c4	0x27c94578	0xa0f4b9a2	0x624564b5
+	0x5eaa49cf	0x6bb1af65	0xef20f1b5	0xc4e51d80
+	0xa4253cb9	0x0613e005	0x6a48efb6	0x6572d581
+	0x80e998c0	0x03d1497b	0xef167ec5	0x9778e1e4
+	0xcc81e16b	0xa690c40c	0x20e4afdd	0x85a7f7a6
+	0x036f2764	0x9899bbf0	0xb7d5ad3f	0xcea2c566
+	0xabad02af	0xb2d06c67	0x9c8d5a47	0x35c8381e
+	0xd620a859	0x37e6a29f	0x95158030	0x0f209e29
+	0x47ea5ef6	0xa4848559	0x3aff1ebf	0xe252e609
+	0x159bc4b0	0x30c2354c	0x6051bc9b	0x867842e1
+	0x16f60895	0xb62cee9c	0xa1afdd0a	0xeb91a8fa
+	0x4c711ddf	0x595d88cb	0x2b3144df	0x2dd6f0ee
+	0x1a5d54bd	0xa97fdee2	0x9acc0191	0x97b317c6
+	0x8801e044	0x008e6462	0x8bf44ec4	0xcde58a45
+	0xdc4b8ffa	0x4b99ce7e	0x98a86ccd	0x201461da
+	0x98b35c96	0xb01a44b5	0xb2873eac	0x100f0d31
+	0x8a4c4856	0x3bca7b1d	0x6692c4d5	0xd1b52a79
+	0xd0a0dccf	0xef954a6d	0xee084a14	0xf9e290ca
+	0x554125a6	0x4fe7363a	0x6582a536	0x91f95b1a
+	0x79b9a1b5	0x337b3623	0x4534e2c8	0xf9baf5e1
+	0x3bcf71d5	0x157a8e77	0x3c42836a	0x19d9e549
+	0x7b90ef15	0x3f556612	0x68b02db5	0x9a9261dc
+	0xc87ad241	0xa4783fc9	0x0b9e52e7	0x18f3a671
+	0x9c753a17	0xbb263021	0x7b79489c	0xd26d5901
+	0xda6aa081	0x6c9ec91d	0x7f51e8eb	0x63d8e990
+	0xeabd63cb	0x51a2b689	0xeec71240	0x6fd61a3f
+	0xb8bef531	0x5c579f62	0x42cda99e	0x32829716
+	0x587fe9bc	0xe2787a90	0x3caa6374	0xc6b05b3a
+	0x033b091e	0x4227df55	0x00f2ccf3	0xf8ba50be
+	0x5b3cbff8	0x2dec92d3	0xcd92b997	0x3aae0eea
+	0x58265341	0xb140c1bf	0x896bd107	0x8e134f1e
+	0xa2ab412a	0x692d37b1	0x3feb282c	0xe33378c4
+	0xb1825514	0xbb463933	0xbe4973af	0x4beec156
+	0xb3806b53	0x30544c35	0xb3d801b8	0x735a5103
+	0x9a44d96a	0xe36ce6ef	0x99ffd1d8	0x9887ffde
+	0xf36cb2a8	0xd778276f	0x16212ca2	0xac7507a1
+	0x1d37f935	0x0b3dd0b8	0xc9fbf313	0xdebbf9c9
+	0xbcb3ce18	0xc7b56762	0x326f0143	0xf670a4ad
+	0x39260fe6	0x523d5f26	0x2e2f3dc8	0x311a4065
+	0xddb07fdd	0x9c6e378c	0xaa812c40	0xb76a6682
+	0x798adc3f	0x0eb85bf6	0x085f1f36	0x9d787e48
+	0x5af6ad55	0x078882fa	0x286e6aad	0x0fbbd33e
+	0xa3a83587	0xd8dede42	0x8e0bc57f	0x830da747
+	0xe6a39721	0x5f17385b	0x130a11c7	0xf7ebf4a6
+	0x01c47595	0x0b1cd209	0x6e3fa03e	0x1c165752
+	0xe6d733a4	0xd5115cb4	0xd26bd353	0x633dc916
+	0xad32ae98	0xaf360cc0	0xcc433c3e	0xee2db5f1
+	0xbc52cb9b	0xd57d9343	0x1aea1757	0x305678ab
+	0xb706fe92	0x79be3615	0x9f826438	0xd8451944
+	0xde387b02	0xd1a7ab99	0x7e90bc25	0x3083cb16
+	0xb7457bce	0x5f3a5bac	0x4de880d2	0x799c1684
+	0x05957d56	0xe11f9a26	0x7489984d	0xc383c690
+	0x20e67701	0x67d91f20	0xe0bf8925	0x21207184
+	0x6151e242	0xe9b70cb3	0x9506a913	0x4a67bf59
+	0xd7274edc	0x5f33bb0d	0xc73eba6e	0xc90ffb29
+	0x2ac578c9	0x69b8a02a	0x79f0f3ed	0x25172463
+	0x343866c3	0x62ac94e1	0x868e8ef8	0xa2735dd7
+	0xb578b263	0x36eaf066	0x6cc058fb	0xa68329d5
+	0x6d56bad6	0xfe13ed4f	0xbc13f247	0x4ea42e00
+	0x03abe771	0xe0cfdff2	0x02b946f6	0x3e28b51c
+	0x00d1a074	0x630d047d	0x3774bde0	0xd54d848f
+	0x519df7c8	0x2f795cdd	0x2be0979a	0xffc9336f
+	0x865b9fe4	0x989ef40e	0xe8e1937f	0x70c73c37
+	0xd47ce2c1	0x84747455	0xd29ffe8f	0x7d5f7e59
+	0x54503948	0x33a43626	0xcb21bfaf	0x372754eb
+	0xf4e9fef0	0x7ef72486	0xea5981f7	0x6f460236
+	0xe562a5d5	0x50529138	0xe6a53b06	0x39b362e8
+	0x84899918	0xb9748fb3	0x8263ef83	0x5c6a28e4
+	0x081cc763	0x5635c0bd	0xf45de0a9	0xf676e138
+	0x70358031	0x0c96d004	0x9c7a26bd	0x621f7620
+	0x0f5f2d5d	0x4b884b34	0xe97c5049	0xc3dc680a
+	0xabd96144	0x581eb22a	0x9a21e4c9	0xa65945a9
+	0x3cb2eb06	0x198dfbcc	0xeed765e4	0xa79433b5
+	0x1eab8e7c	0xaf0caa85	0x1f64e75d	0xe5ac6d33
+	0x566cb0bc	0x99a1dd23	0x07488351	0x20420ef8
+	0xee4c584f	0x4b16ec16	0x9c22d1b6	0x0677a344
+	0xd675b2e6	0x3699da5d	0xfcd9c9a9	0xaf39754d
+	0xc20e780f	0x6a313594	0xad4d8e05	0x0b745217
+	0x1caeeaea	0x8d33c5dd	0xb5134401	0x25897152
+	0xabc5620c	0x5c6a6e2f	0x7f9bfcc6	0x4e23c064
+	0x915851ee	0x10cde250	0xd43ce4a3	0x77e3d669
+	0x83c5acd0	0xd556601c	0xb4b9b0d1	0x5fc0197d
+	0x6fe1b764	0x98736a2e	0x8f9c5d6c	0x5a3c73a0
+	0xbb9223e9	0x477fb96c	0x76e212d4	0x852c7448
+	0xe3df0ebd	0xd26e786d	0x5adf03f2	0x43a19194
+	0x39e95e1e	0x312c2c01	0xf28f5bb9	0xad9b066a
+	0x50c6804c	0xb3cb2412	0x27736125	0x2d75b115
+	0x878b9808	0xcee5e550	0xd3b21a84	0x7f73c6f6
+	0xf31048f8	0x9c27baf7	0xcbe28ae5	0xf16f55e8
+	0xff1d883a	0xb917dee3	0xd84bcba9	0x99d9bc06
+	0xd3254c6e	0x913fb216	0x33bae4b3	0x3ab2b856
+	0xe40edf7a	0x3f8e9842	0x6dcb2c20	0xb08a42bb
+	0xf82b32bc	0xd6e65b9a	0x8280902a	0x13bde0c4
+	0x5749ee1d	0xe09a44f9	0xa1ed7a47	0x92325cb1
+	0xba37e230	0x08bf455b	0xf7a8e6b1	0xf999b250
+	0x279eb5f6	0xae471b0d	0xe3ddc073	0x99a4a6d4
+	0x6f0c9b2e	0xea2ec118	0x6930dd92	0x76f731fd
+	0x3ced82b8	0xac77a11c	0xf6d40ae3	0x9709b288
+	0x066bee60	0x366e4442	0xc682e70b	0xcf3f5ee6
+	0xeb669330	0xb2bfec9f	0xd9d02229	0xe506c12c
+	0x5c499813	0x1acd8364	0x5dea0305	0x11b8cdcb
+	0xae9d46f8	0xe92f7cff	0xe47da028	0xa96b7996
+	0x3c24981c	0x8218d0dc	0xcdc423f8	0x5783ec85
+	0x71031f87	0x75f91d5b	0x7dbd9347	0x89320bd3
+	0x44ea6e5b	0xf52fed47	0x8cfba940	0xc568ba2c
+	0x32e64a48	0x467f2af2	0xe1c81736	0xd677c3c4
+	0xb691033f	0xf05f91ae	0x3ab34af4	0xb7f77aa8
+	0xec235606	0x2dd4f5d9	0x51918489	0xed4ccd82
+	0x7388c7e8	0x1b4c953d	0xa4dbc23d	0x47f6896e
+	0x5df966e6	0x51077388	0xdc110c3d	0xd784b6d1
+	0x16a759c6	0x23e10e0e	0x1ff60d5b	0xc8a0b014
+	0x23b0bac1	0x99a220ef	0x53af8b8c	0x07ac467d
+	0xc906cc36	0x3f94abe0	0x175fd4ec	0x18d9644f
+	0xad6ea521	0xb6c70a07	0x32f6af52	0x9f62ad48
+	0xe1f3d447	0x407b2768	0x1e081391	0x29a24dca
+	0x92d3b535	0x2a445762	0x066c94fa	0x6da4b159
+	0xbcb3c6e3	0x67127ece	0x75cb186a	0x31c96430
+	0xa8bdacd8	0x8e73d453	0xcd809a5c	0x6e651761
+	0x6b594127	0xff12aab7	0x91d08ff8	0x86080248
+	0x52107544	0x80894884	0x05e57b3f	0x80cab344
+	0xfe8e16fa	0xf65fe16e	0xe2265c3e	0xe2cbb1d6
+	0x7330dbd6	0x2c9535e6	0x6a1e434c	0xf575b138
+	0x7a6f4b59	0x24fb8bf5	0x62502c89	0x92e0442b
+	0x5c77ab13	0x1d83ce27	0xfa7e3916	0x5eb18873
+	0xcc314bbb	0x9d641295	0x7fff5b4f	0x10cf0507
+	0x4bdf7795	0x77536166	0x6746a004	0x4886b845
+	0x5aa46f6d	0xe30d9ba2	0xef7f14e7	0xdca44530
+	0x0516615d	0x43927969	0xc80235f7	0xd8473012
+	0x8b4b2e12	0x841ec702	0xfa110fbe	0xcad703e9
+	0x5df65ee2	0x947b7c2c	0x7cac7cfb	0x3282a0b5
+	0x5c67da3b	0x71459bfd	0x91b055db	0xc951eeed
+	0xde06eeda	0xaaea5aca	0x08d9226d	0x1e0c0b50
+	0x44ae07b8	0xf037265d	0x823100f8	0xa642e2e5
+	0x7f54061d	0xa0026339	0xbd969e25	0x51eb6051
+	0xb7b2b522	0x7e3a0bd7	0xd8116971	0x3e973442
+	0x8cdc35f3	0x0d108320	0x7a2f92dc	0x2c94b7a4
+	0x6ab06326	0x50b9b16c	0x9bb91308	0xacd38150
+	0x05922ec7	0x9f48a633	0x8e72317b	0x41b59d8c
+	0xc6cdfe4c	0x2f628aac	0x3874bd08	0xb4e572ad
+	0x7649260e	0x71b6aaf9	0x39dab510	0x858f965e
+	0x322ba132	0x58c33983	0x25f5a5c5	0x45131737
+	0xc9efed2a	0x43dcdc7a	0xb8176559	0x62a26ac4
+	0x1ee7c5b1	0xc0f02a9b	0x26dd7616	0x8d0c377c
+	0x9c5c57c6	0x06edf20c	0x22ad4eaf	0x5bddddc4
+	0x7e221c25	0xbbec97e9	0xf82338e3	0xbb5c5916
+	0x65885430	0x962077de	0xe52142ec	0x4c10a5a6
+	0xcbf19d91	0x825cb043	0x21b49df1	0x1407f2c4
+	0xa3cc17b2	0x796ed4ad	0x1859e928	0xeb9f55d2
+	0x2f5fb606	0x4ef1bf74	0xa00279f9	0xc9fa2517
+	0x925d9a77	0x164beb20	0xc4c52a47	0x3cd6b3f3
+	0x607d07d0	0x1791803c	0xe82123a4	0xe2409ff9
+	0xbcafaa43	0xd4809fe4	0x0ff22683	0x7ef4d5f9
+	0xf67098f2	0x215173e0	0xe84b651d	0xfff97430
+	0x9117caa5	0x9701e965	0xfb41af2b	0x2de0b345
+	0x863219cd	0x57dbfb08	0x5ed9878f	0xda9848c8
+	0xbd6a3e2a	0x78cee879	0x65a9ae31	0xd265ab5d
+	0x4d8d0a94	0x53fe3477	0x163a9807	0xe6ee333d
+	0x230ec18a	0x805befb4	0x28c735f3	0xfcea12a8
+	0xdfb36088	0x6d71eeda	0x526509a0	0x97c07aa7
+	0x505217dd	0x471bddf6	0x861c2251	0x1d4de90c
+	0xe9b9c550	0x4741fb3f	0x67d594e5	0x0f134eea
+	0x122daaee	0xab9a4171	0xf3675a04	0x68226f18
+	0xdfeb2219	0x2d558e8d	0x3520077b	0xbd89e17e
+	0x55ee30f2	0xe89bb5dd	0x5cd339a2	0x23671683
+	0x6ae7fef5	0xff85343c	0x24592a20	0xaf79aa20
+	0xa32c6711	0x2fe7d13a	0x3f582a56	0x575b9049
+	0xd117d4a2	0xfe150bcd	0xd3598397	0x3df2fab3
+	0x1259b6fe	0x7f9137d9	0x6911f18d	0xafeeeb77
+	0x1c9c05ec	0xef1c1316	0xdc90bc14	0x3f084ebb
+	0x197022a5	0xc723baef	0x8d956a3a	0x98b49ce9
+	0x368f3198	0xa9542710	0x0d9b0fc8	0xe8940414
+	0x0e4a345f	0x93d03091	0xb91a177c	0x166de3e9
+	0x0497a17f	0x3b179d21	0x145bb508	0x59dcefdc
+	0x6c00b488	0x48c5b25a	0x11ac5ff2	0x791caabe
+	0x2a69fdb6	0xd4e828bb	0x495a2e26	0xafdbfbb9
+	0x44a9c4de	0x203ebc65	0x41783cd5	0x5eec8a1a
+	0x1b0107a4	0x8ee93772	0xa5342616	0xd1aeb1a2
+	0xeb11eea0	0xa2db8d0e	0xd887bf86	0x2328668b
+	0x6f047abb	0x1a016056	0x02792c95	0x743580e9
+	0xf597f3d6	0x48169911	0x0fe7e92a	0x0d7bdd58
+	0xf7a6dc2b	0xa928427c	0x52ad1483	0xaf181b83
+	0x129dc832	0xf771c658	0x9fb4882e	0x491bfd60
+	0x756e61cd	0xad7191fe	0x1ba10ed9	0x3cf91d75
+	0xe635f99b	0x8182d8bf	0x2567117a	0x7a9c16c6
+	0x79f4ec31	0xa0422381	0x75a6ee79	0x17fcc09c
+	0x093dac9f	0x5d86884a	0x47294d64	0x9bbbbbb7
+	0x8188504d	0x499bde9d	0xac5f4d4b	0x230012a6
+	0x06e74e6b	0x9a2af42f	0x28786631	0xd9db3613
+	0x6212a02b	0xff9c9169	0x0f7d0549	0x32cb119a
+	0xdd8d4303	0x9798bff1	0xd72ff905	0xca5365a3
+	0x3cb9f375	0xfe61bc4b	0xccd0f915	0x94151776
+	0x64166df4	0xeefd90a6	0x3a0089cb	0xc4efaca4
+	0xa64cbd96	0xbc4b834c	0x4b8be091	0x72f322fe
+	0x35e67029	0x4030ed4c	0xe0cd63a3	0xda35976a
+	0x94fbc08c	0xd6d3429b	0x6ac3087d	0x57e3eb54
+	0xeba813a4	0x9bd06f05	0x2d2f860f	0x4901e70c
+	0x226802f5	0xcc8d0940	0xa8825eb5	0x1ab23757
+	0xe842caff	0x77123976	0x647068e2	0xc75de8be
+	0x0bf388a2	0x4f501ebe	0xc64118fc	0xc1cbaabb
+	0x98c9810d	0x0b4f63e4	0x641e2360	0x168bb3c8
+	0xa1cede7b	0x5fe0d436	0xa93a4cf8	0xf7b75424
+	0xf4725a08	0xe0532c1e	0xfe83bc98	0x3a43d6e0
+	0xbebecec8	0x81bd1a51	0x5525ecd7	0x384d8d37
+	0xed6ef639	0x5efe6032	0x6937ce1f	0xb3ee8dbd
+	0xa0aa97df	0xd62d6fd7	0x5acc6d6f	0xef19f5b1
+	0x3ad0d109	0x3660bbd1	0xfbf8d7e7	0x210ab474
+	0xd9cde94d	0x4cb35844	0xb287c427	0x6087b156
+	0xc04b25c1	0x78722325	0xe5937d3b	0x2477d2bf
+	0x859237aa	0xd29b1567	0xc4b6c1ec	0xb325f9d3
+	0xb59d3b11	0x54449fb8	0xba28f795	0xc72e0157
+	0xa306042a	0x974e4bf8	0x835a665c	0x4b54f87b
+	0x25b9f700	0x2176126c	0x868ad962	0xf5478e50
+	0xa82f2f84	0x1ef6e4af	0xbfaf0c9b	0xea6acebe
+	0x55965550	0x0d1a325d	0x9b786f43	0xa3a55c13
+	0x758e4290	0x0e156cd6	0xec3fa531	0x73464f29
+	0x1639e8bf	0x051d786b	0x303c214a	0x80c09001
+	0x71f5ec60	0xb5322364	0x91ea1fc2	0xb461fe47
+	0x596fbd60	0x73671c45	0x7301b951	0xb9c9605c
+	0x1b04f497	0xfbef823b	0xc621a97b	0xe55e1d29
+	0x6984e8b5	0xefce9254	0x544f7540	0xdcd81ef6
+	0xa20e4ad6	0xc80fb804	0xb96d8a3b	0x3d04128e
+	0xdcbd0f39	0xb5d4bca3	0x7720d158	0x6da9a045
+	0x273c430e	0xece0eb38	0x672e817a	0xc0d79da7
+	0x75c37954	0x58c753de	0xcbcbad35	0x786e6c7e
+	0xe260b5d1	0xc404468d	0x57cfae75	0x39b497a8
+	0x1bae57a2	0x52c7508e	0x89b127b9	0x03736bf1
+	0xd0af6722	0x10b7cad0	0xb2fec538	0xae1bee3b
+	0xb4fcc9f5	0xc7a89d3b	0xdde3aa84	0xef24259d
+	0x5adacacb	0xd7f953d6	0x0be41a0c	0x83d6fbb0
+	0x6967528e	0xb46394d6	0xf63ebf82	0xd2b3f03e
+	0x7b86862f	0x57786dba	0xeb06cbba	0x7e989a81
+	0xb9ebccbc	0xb74fffd4	0xbec943d2	0xb9a375c3
+	0xd3344f7a	0x26c60798	0x49016082	0x551f17e0
+	0x0f4bee9d	0x614303cd	0xcad6bd8c	0x5c3bbeaf
+	0x86f4d83d	0xfc4445db	0x0f1a79e5	0xb9f0ce8c
+	0xdc4152af	0x6e8fc82f	0xf2ccad51	0x8b0b7cc3
+	0xa2aa307b	0xa520ea29	0x0292bc09	0x534ffc75
+	0x1b398c80	0x5eca089e	0xc7aff269	0x0059f0b9
+	0x541aa484	0x99943f2a	0xfc1f579e	0x85da714d
+	0xd7092c5f	0x0a167a5d	0x898726b8	0x47ffe115
+	0x8990821e	0xc08ff8a0	0x0e1a2986	0x339ff1d0
+	0xedd4aaeb	0x9350e602	0x6569e126	0x5859aafd
+	0x5b0cb2c6	0x147cfa35	0x0d905917	0xf2233208
+	0xb36ef680	0x841b48d9	0x1c6a0f0d	0x8227247e
+	0xac9bbb04	0xff8bbb90	0x6fcea1ea	0x7dfbb3aa
+	0xa464bac7	0x88633a36	0x674b0362	0x74223977
+	0x139a8d87	0x1d8a5826	0xaa254054	0xeff8db68
+	0x664d29b7	0x5f1ac3eb	0xddcba2bf	0x0e73df53
+	0x08ffe947	0xbf3f1da8	0x46f1d718	0x5ab11692
+	0xf190a0b8	0x9d0e9717	0x86757018	0x97827999
+	0x573d0b1d	0x7bf3969b	0x3172eab5	0xc5dd90bd
+	0x413d1445	0xc9612206	0x43ecc87c	0x4d0af8fb
+	0xad744b83	0x8f007f86	0x44551cd7	0xaf820402
+	0x6b9a3cd7	0xed4a0a59	0xd4eb0493	0x1bde6215
+	0xa693b3fc	0x22e4fe0d	0x057a211e	0x9973169c
+	0x086516f4	0xe1e6ba26	0xb4ad5a0e	0xbf3cf264
+	0xa40e61f0	0x12eef468	0x7be11464	0x6acb81cf
+	0xa04787f7	0xdbe5ac75	0xcad096a8	0x185cf673
+	0x6e0ea343	0xe84a1467	0xef3f00eb	0xef177b01
+	0x46dd87bc	0x34309420	0x0821d1d1	0x39000215
+	0x685f4c0e	0xb80c1c87	0x9756d5ff	0xbbcaf5b0
+	0xde2d1453	0x4c9f69d1	0x56196e6b	0xef81e9a5
+	0xfc22f7ce	0xca61a7a6	0x4bf15020	0xfa080406
+	0xd0b837a6	0x7bcb8577	0xfedf367c	0xfcf81696
+	0x014ed3e6	0xf3353212	0xc062d44a	0xd813a68f
+	0xd5d7a1db	0x8c45c94e	0xc5b90467	0x6f74385b
+	0x7130a2d3	0x708b9489	0xdbbb7ce7	0xfc90865c
+	0x653c5bd4	0xac3cd1e2	0xe27bb6d9	0xd41e4d6a
+	0xae016134	0x87b7b2c9	0xd994b3e9	0x71e42004
+	0xb845d3af	0x592dbebb	0x620899c0	0x8d3b090d
+	0x9d0e6a42	0xce95d950	0x4b7117d0	0x4e32208e
+	0x379df4c7	0x73c8403d	0x9c035976	0x9fa4ab3f
+	0x0e4abd10	0xea5abdc0	0xc74b08f5	0x8ad84f2f
+	0xe6ea941f	0xedd37fd7	0x8800959d	0x4eaf1dd9
+	0xc03f8601	0x3f05cec7	0xa7dc9585	0xfc497aa7
+	0x5ab6ec8d	0xf920b15a	0x0528a3a0	0xb03478f9
+	0xf58d945c	0xf6d56911	0x9d6b8f61	0x62eced7e
+	0x8c387967	0xb9c3664c	0x703321a1	0xb0779fb6
+	0x0a5ca536	0x216262ca	0x8471e2dc	0x456035c2
+	0x1f9a3f80	0x62f7b45b	0xe0fb6e10	0xd817b0a1
+	0xb04007a7	0x8a2a3997	0xc13b2ff7	0xac042c3c
+	0x0af1158f	0xb080446d	0x22561f86	0x3c449de0
+	0xbe156e20	0x7745c38a	0x19cadbff	0xcf505afc
+	0xc2f94af9	0x720e8b00	0x1d740186	0xc411e6a7
+	0x16f99b0a	0x0b949e35	0xbc306cf9	0x67f417b4
+	0xce3e2635	0xd8f3a3fa	0x4b6fd9e6	0x63cfad21
+	0xaaf1456d	0x6c520541	0xca2dcac8	0xab62863d
+	0x150a0ae3	0xa9e92a07	0x85e51d1f	0x327253e7
+	0xa0d5d35e	0x331b43ce	0x207a336a	0x3407a0b3
+	0x975a2429	0x95d42c04	0x9ff5ef17	0xfefb14c7
+	0xa3d8f8ac	0x6a112cd8	0x2d276889	0x5f2f6ef9
+	0x611636e3	0xecc81a74	0x4d482888	0xa46a478d
+	0x7de65d9d	0x921e2a1f	0x48cca90f	0x64013e1f
+	0x45aa6b87	0x5da46878	0x39a21b74	0xa72250de
+	0xebbaa970	0xef8d31f9	0x59a9e1e2	0xd3403b97
+	0x1780ddca	0x731fa40f	0x6c2ba0fe	0x4f053afb
+	0x2cf0e873	0xb6a733a8	0xc2a2e53e	0xd2241962
+	0xcb981a05	0x4af04278	0x053d4e34	0x63d071b8
+	0x731b063a	0xeed8b331	0x05221e90	0x6705a444
+	0x2c504d6d	0x231c42ec	0x8debbfaa	0x07829ed7
+	0x50ee8337	0x17ed0270	0x4a04c200	0xf5e650bd
+	0x5bbe5f66	0x72d412d3	0x40253020	0xa949f29d
+	>;
-- 
2.9.2

^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 11/13] x86: braswell: Add FSP configuration
  2017-08-16  5:41 [U-Boot] [PATCH 00/13] x86: Add Intel Braswell SoC and Cherry Hill board support Bin Meng
                   ` (9 preceding siblings ...)
  2017-08-16  5:41 ` [U-Boot] [PATCH 10/13] x86: braswell: Add microcode for B0/C0/D0 stepping SoC Bin Meng
@ 2017-08-16  5:42 ` Bin Meng
  2017-08-26 13:39   ` Simon Glass
  2017-08-16  5:42 ` [U-Boot] [PATCH 12/13] x86: braswell: Disable PUNIT power configuration for B0 stepping Bin Meng
  2017-08-16  5:42 ` [U-Boot] [PATCH 13/13] x86: Support Intel Cherry Hill board Bin Meng
  12 siblings, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-08-16  5:42 UTC (permalink / raw
  To: u-boot

Add FSP related configuration for Braswell.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
---

 arch/x86/cpu/braswell/Makefile                     |   2 +-
 arch/x86/cpu/braswell/fsp_configs.c                | 158 ++++++++++++++
 .../include/asm/arch-braswell/fsp/fsp_configs.h    |  89 ++++++++
 arch/x86/include/asm/arch-braswell/fsp/fsp_vpd.h   | 172 +++++++++++++++
 arch/x86/include/asm/arch-braswell/gpio.h          | 234 +++++++++++++++++++++
 5 files changed, 654 insertions(+), 1 deletion(-)
 create mode 100644 arch/x86/cpu/braswell/fsp_configs.c
 create mode 100644 arch/x86/include/asm/arch-braswell/fsp/fsp_configs.h
 create mode 100644 arch/x86/include/asm/arch-braswell/fsp/fsp_vpd.h
 create mode 100644 arch/x86/include/asm/arch-braswell/gpio.h

diff --git a/arch/x86/cpu/braswell/Makefile b/arch/x86/cpu/braswell/Makefile
index 19bcee6..ddf6d28 100644
--- a/arch/x86/cpu/braswell/Makefile
+++ b/arch/x86/cpu/braswell/Makefile
@@ -4,4 +4,4 @@
 # SPDX-License-Identifier:	GPL-2.0+
 #
 
-obj-y += braswell.o cpu.o early_uart.o
+obj-y += braswell.o cpu.o early_uart.o fsp_configs.o
diff --git a/arch/x86/cpu/braswell/fsp_configs.c b/arch/x86/cpu/braswell/fsp_configs.c
new file mode 100644
index 0000000..d984519
--- /dev/null
+++ b/arch/x86/cpu/braswell/fsp_configs.c
@@ -0,0 +1,158 @@
+/*
+ * Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.h>
+#include <fdtdec.h>
+#include <asm/fsp/fsp_support.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+/**
+ * Override the FSP's Azalia configuration data
+ *
+ * @azalia:	pointer to be updated to point to a ROM address where Azalia
+ *		configuration data is stored
+ */
+__weak void update_fsp_azalia_configs(struct azalia_config **azalia)
+{
+	*azalia = NULL;
+}
+
+/**
+ * Override the FSP's GPIO configuration data
+ *
+ * @family:	pointer to be updated to point to a ROM address where GPIO
+ *		family configuration data is stored
+ * @pad:	pointer to be updated to point to a ROM address where GPIO
+ *		pad configuration data is stored
+ */
+__weak void update_fsp_gpio_configs(struct gpio_family **family,
+				    struct gpio_pad **pad)
+{
+	*family = NULL;
+	*pad = NULL;
+}
+
+/**
+ * Override the FSP's configuration data.
+ * If the device tree does not specify an integer setting, use the default
+ * provided in Intel's Braswell release FSP/BraswellFsp.bsf file.
+ */
+void update_fsp_configs(struct fsp_config_data *config,
+			struct fspinit_rtbuf *rt_buf)
+{
+	struct upd_region *fsp_upd = &config->fsp_upd;
+	struct memory_upd *memory_upd = &fsp_upd->memory_upd;
+	struct silicon_upd *silicon_upd = &fsp_upd->silicon_upd;
+	const void *blob = gd->fdt_blob;
+	int node;
+
+	/* Initialize runtime buffer for fsp_init() */
+	rt_buf->common.stack_top = config->common.stack_top - 32;
+	rt_buf->common.boot_mode = config->common.boot_mode;
+	rt_buf->common.upd_data = &config->fsp_upd;
+
+	node = fdt_node_offset_by_compatible(blob, 0, "intel,braswell-fsp");
+	if (node < 0) {
+		debug("%s: Cannot find FSP node\n", __func__);
+		return;
+	}
+
+	node = fdt_node_offset_by_compatible(blob, node,
+					     "intel,braswell-fsp-memory");
+	if (node < 0) {
+		debug("%s: Cannot find FSP memory node\n", __func__);
+		return;
+	}
+
+	/* Override memory UPD contents */
+	memory_upd->mrc_init_tseg_size = fdtdec_get_int(blob, node,
+		"fsp,mrc-init-tseg-size", MRC_INIT_TSEG_SIZE_4MB);
+	memory_upd->mrc_init_mmio_size = fdtdec_get_int(blob, node,
+		"fsp,mrc-init-mmio-size", MRC_INIT_MMIO_SIZE_2048MB);
+	memory_upd->mrc_init_spd_addr1 = fdtdec_get_int(blob, node,
+		"fsp,mrc-init-spd-addr1", 0xa0);
+	memory_upd->mrc_init_spd_addr2 = fdtdec_get_int(blob, node,
+		"fsp,mrc-init-spd-addr2", 0xa2);
+	memory_upd->igd_dvmt50_pre_alloc = fdtdec_get_int(blob, node,
+		"fsp,igd-dvmt50-pre-alloc", IGD_DVMT50_PRE_ALLOC_32MB);
+	memory_upd->aperture_size = fdtdec_get_int(blob, node,
+		"fsp,aperture-size", APERTURE_SIZE_256MB);
+	memory_upd->gtt_size = fdtdec_get_int(blob, node,
+		"fsp,gtt-size", GTT_SIZE_1MB);
+	memory_upd->legacy_seg_decode = fdtdec_get_bool(blob, node,
+		"fsp,legacy-seg-decode");
+	memory_upd->enable_dvfs = fdtdec_get_bool(blob, node,
+		"fsp,enable-dvfs");
+	memory_upd->memory_type = fdtdec_get_int(blob, node,
+		"fsp,memory-type", DRAM_TYPE_DDR3);
+	memory_upd->enable_ca_mirror = fdtdec_get_bool(blob, node,
+		"fsp,enable-ca-mirror");
+
+	node = fdt_node_offset_by_compatible(blob, node,
+					     "intel,braswell-fsp-silicon");
+	if (node < 0) {
+		debug("%s: Cannot find FSP silicon node\n", __func__);
+		return;
+	}
+
+	/* Override silicon UPD contents */
+	silicon_upd->sdcard_mode = fdtdec_get_int(blob, node,
+		"fsp,sdcard-mode", SDCARD_MODE_PCI);
+	silicon_upd->enable_hsuart0 = fdtdec_get_bool(blob, node,
+		"fsp,enable-hsuart0");
+	silicon_upd->enable_hsuart1 = fdtdec_get_bool(blob, node,
+		"fsp,enable-hsuart1");
+	silicon_upd->enable_azalia = fdtdec_get_bool(blob, node,
+		"fsp,enable-azalia");
+	if (silicon_upd->enable_azalia)
+		update_fsp_azalia_configs(&silicon_upd->azalia_cfg_ptr);
+	silicon_upd->enable_sata = fdtdec_get_bool(blob, node,
+		"fsp,enable-sata");
+	silicon_upd->enable_xhci = fdtdec_get_bool(blob, node,
+		"fsp,enable-xhci");
+	silicon_upd->lpe_mode = fdtdec_get_int(blob, node,
+		"fsp,lpe-mode", LPE_MODE_PCI);
+	silicon_upd->enable_dma0 = fdtdec_get_bool(blob, node,
+		"fsp,enable-dma0");
+	silicon_upd->enable_dma1 = fdtdec_get_bool(blob, node,
+		"fsp,enable-dma1");
+	silicon_upd->enable_i2c0 = fdtdec_get_bool(blob, node,
+		"fsp,enable-i2c0");
+	silicon_upd->enable_i2c1 = fdtdec_get_bool(blob, node,
+		"fsp,enable-i2c1");
+	silicon_upd->enable_i2c2 = fdtdec_get_bool(blob, node,
+		"fsp,enable-i2c2");
+	silicon_upd->enable_i2c3 = fdtdec_get_bool(blob, node,
+		"fsp,enable-i2c3");
+	silicon_upd->enable_i2c4 = fdtdec_get_bool(blob, node,
+		"fsp,enable-i2c4");
+	silicon_upd->enable_i2c5 = fdtdec_get_bool(blob, node,
+		"fsp,enable-i2c5");
+	silicon_upd->enable_i2c6 = fdtdec_get_bool(blob, node,
+		"fsp,enable-i2c6");
+#ifdef CONFIG_HAVE_VBT
+	silicon_upd->graphics_config_ptr = CONFIG_VBT_ADDR;
+#endif
+	update_fsp_gpio_configs(&silicon_upd->gpio_familiy_ptr,
+				&silicon_upd->gpio_pad_ptr);
+	silicon_upd->emmc_mode = fdtdec_get_int(blob, node,
+		"fsp,emmc-mode", EMMC_MODE_PCI);
+	silicon_upd->sata_speed = fdtdec_get_int(blob, node,
+		"fsp,sata-speed", SATA_SPEED_GEN3);
+	silicon_upd->pmic_i2c_bus = fdtdec_get_int(blob, node,
+		"fsp,pmic-i2c-bus", 0);
+	silicon_upd->enable_isp = fdtdec_get_bool(blob, node,
+		"fsp,enable-isp");
+	silicon_upd->isp_pci_dev_config = fdtdec_get_int(blob, node,
+		"fsp,isp-pci-dev-config", ISP_PCI_DEV_CONFIG_2);
+	silicon_upd->turbo_mode = fdtdec_get_bool(blob, node,
+		"fsp,turbo-mode");
+	silicon_upd->pnp_settings = fdtdec_get_int(blob, node,
+		"fsp,pnp-settings", PNP_SETTING_POWER_AND_PERF);
+	silicon_upd->sd_detect_chk = fdtdec_get_bool(blob, node,
+		"fsp,sd-detect-chk");
+}
diff --git a/arch/x86/include/asm/arch-braswell/fsp/fsp_configs.h b/arch/x86/include/asm/arch-braswell/fsp/fsp_configs.h
new file mode 100644
index 0000000..4b8521d
--- /dev/null
+++ b/arch/x86/include/asm/arch-braswell/fsp/fsp_configs.h
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#ifndef __FSP_CONFIGS_H__
+#define __FSP_CONFIGS_H__
+
+#ifndef __ASSEMBLY__
+struct fsp_config_data {
+	struct fsp_cfg_common	common;
+	struct upd_region	fsp_upd;
+};
+
+struct fspinit_rtbuf {
+	struct common_buf	common;	/* FSP common runtime data structure */
+};
+#endif
+
+/* FSP user configuration settings */
+
+#define MRC_INIT_TSEG_SIZE_1MB		1
+#define MRC_INIT_TSEG_SIZE_2MB		2
+#define MRC_INIT_TSEG_SIZE_4MB		4
+#define MRC_INIT_TSEG_SIZE_8MB		8
+
+#define MRC_INIT_MMIO_SIZE_1024MB	0x400
+#define MRC_INIT_MMIO_SIZE_1536MB	0x600
+#define MRC_INIT_MMIO_SIZE_2048MB	0x800
+
+#define IGD_DVMT50_PRE_ALLOC_32MB	0x01
+#define IGD_DVMT50_PRE_ALLOC_64MB	0x02
+#define IGD_DVMT50_PRE_ALLOC_96MB	0x03
+#define IGD_DVMT50_PRE_ALLOC_128MB	0x04
+#define IGD_DVMT50_PRE_ALLOC_160MB	0x05
+#define IGD_DVMT50_PRE_ALLOC_192MB	0x06
+#define IGD_DVMT50_PRE_ALLOC_224MB	0x07
+#define IGD_DVMT50_PRE_ALLOC_256MB	0x08
+#define IGD_DVMT50_PRE_ALLOC_288MB	0x09
+#define IGD_DVMT50_PRE_ALLOC_320MB	0x0a
+#define IGD_DVMT50_PRE_ALLOC_352MB	0x0b
+#define IGD_DVMT50_PRE_ALLOC_384MB	0x0c
+#define IGD_DVMT50_PRE_ALLOC_416MB	0x0d
+#define IGD_DVMT50_PRE_ALLOC_448MB	0x0e
+#define IGD_DVMT50_PRE_ALLOC_480MB	0x0f
+#define IGD_DVMT50_PRE_ALLOC_512MB	0x10
+
+#define APERTURE_SIZE_128MB		1
+#define APERTURE_SIZE_256MB		2
+#define APERTURE_SIZE_512MB		3
+
+#define GTT_SIZE_1MB			1
+#define GTT_SIZE_2MB			2
+
+#define DRAM_TYPE_DDR3			0
+#define DRAM_TYPE_LPDDR3		1
+
+#define SDCARD_MODE_DISABLED		0
+#define SDCARD_MODE_PCI			1
+#define SDCARD_MODE_ACPI		2
+
+#define LPE_MODE_DISABLED		0
+#define LPE_MODE_PCI			1
+#define LPE_MODE_ACPI			2
+
+#define CHV_SVID_CONFIG_0		0
+#define CHV_SVID_CONFIG_1		1
+#define CHV_SVID_CONFIG_2		2
+#define CHV_SVID_CONFIG_3		3
+
+#define EMMC_MODE_DISABLED		0
+#define EMMC_MODE_PCI			1
+#define EMMC_MODE_ACPI			2
+
+#define SATA_SPEED_GEN1			1
+#define SATA_SPEED_GEN2			2
+#define SATA_SPEED_GEN3			3
+
+#define ISP_PCI_DEV_CONFIG_1		1
+#define ISP_PCI_DEV_CONFIG_2		2
+#define ISP_PCI_DEV_CONFIG_3		3
+
+#define PNP_SETTING_DISABLED		0
+#define PNP_SETTING_POWER		1
+#define PNP_SETTING_PERF		2
+#define PNP_SETTING_POWER_AND_PERF	3
+
+#endif /* __FSP_CONFIGS_H__ */
diff --git a/arch/x86/include/asm/arch-braswell/fsp/fsp_vpd.h b/arch/x86/include/asm/arch-braswell/fsp/fsp_vpd.h
new file mode 100644
index 0000000..ecb01fa
--- /dev/null
+++ b/arch/x86/include/asm/arch-braswell/fsp/fsp_vpd.h
@@ -0,0 +1,172 @@
+/*
+ * Copyright (C) 2015, Intel Corporation
+ * Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com>
+ *
+ * SPDX-License-Identifier:	Intel
+ */
+
+#ifndef __FSP_VPD_H__
+#define __FSP_VPD_H__
+
+struct __packed memory_upd {
+	u64 signature;				/* Offset 0x0020 */
+	u8 revision;				/* Offset 0x0028 */
+	u8 unused2[7];				/* Offset 0x0029 */
+	u16 mrc_init_tseg_size;			/* Offset 0x0030 */
+	u16 mrc_init_mmio_size;			/* Offset 0x0032 */
+	u8 mrc_init_spd_addr1;			/* Offset 0x0034 */
+	u8 mrc_init_spd_addr2;			/* Offset 0x0035 */
+	u8 mem_ch0_config;			/* Offset 0x0036 */
+	u8 mem_ch1_config;			/* Offset 0x0037 */
+	u32 memory_spd_ptr;			/* Offset 0x0038 */
+	u8 igd_dvmt50_pre_alloc;		/* Offset 0x003c */
+	u8 aperture_size;			/* Offset 0x003d */
+	u8 gtt_size;				/* Offset 0x003e */
+	u8 legacy_seg_decode;			/* Offset 0x003f */
+	u8 enable_dvfs;				/* Offset 0x0040 */
+	u8 memory_type;				/* Offset 0x0041 */
+	u8 enable_ca_mirror;			/* Offset 0x0042 */
+	u8 reserved[189];			/* Offset 0x0043 */
+};
+
+struct __packed azalia_verb_table_header {
+	u32 vendor_device_id;
+	u16 sub_system_id;
+	u8 revision_id;
+	u8 front_panel_support;
+	u16 number_of_rear_jacks;
+	u16 number_of_front_jacks;
+};
+
+struct __packed azalia_verb_table {
+	struct azalia_verb_table_header header;
+	u32 *data;
+};
+
+struct __packed azalia_config {
+	u8 pme_enable:1;
+	u8 docking_supported:1;
+	u8 docking_attached:1;
+	u8 hdmi_codec_enable:1;
+	u8 azalia_v_ci_enable:1;
+	u8 reserved:3;
+	u8 verb_table_num;
+	struct azalia_verb_table *verb_table;
+	u16 reset_wait_timer_ms;
+};
+
+struct gpio_family {
+	u32 confg;
+	u32 confg_changes;
+	u32 misc;
+	u32 mmio_addr;
+	wchar_t *name;
+};
+
+struct gpio_pad {
+	u32 confg0;
+	u32 confg0_changes;
+	u32 confg1;
+	u32 confg1_changes;
+	u32 community;
+	u32 mmio_addr;
+	wchar_t *name;
+	u32 misc;
+};
+
+struct __packed silicon_upd {
+	u64 signature;				/* Offset 0x0100 */
+	u8 revision;				/* Offset 0x0108 */
+	u8 unused3[7];				/* Offset 0x0109 */
+	u8 sdcard_mode;				/* Offset 0x0110 */
+	u8 enable_hsuart0;			/* Offset 0x0111 */
+	u8 enable_hsuart1;			/* Offset 0x0112 */
+	u8 enable_azalia;			/* Offset 0x0113 */
+	struct azalia_config *azalia_cfg_ptr;	/* Offset 0x0114 */
+	u8 enable_sata;				/* Offset 0x0118 */
+	u8 enable_xhci;				/* Offset 0x0119 */
+	u8 lpe_mode;				/* Offset 0x011a */
+	u8 enable_dma0;				/* Offset 0x011b */
+	u8 enable_dma1;				/* Offset 0x011c */
+	u8 enable_i2c0;				/* Offset 0x011d */
+	u8 enable_i2c1;				/* Offset 0x011e */
+	u8 enable_i2c2;				/* Offset 0x011f */
+	u8 enable_i2c3;				/* Offset 0x0120 */
+	u8 enable_i2c4;				/* Offset 0x0121 */
+	u8 enable_i2c5;				/* Offset 0x0122 */
+	u8 enable_i2c6;				/* Offset 0x0123 */
+	u32 graphics_config_ptr;		/* Offset 0x0124 */
+	struct gpio_family *gpio_familiy_ptr;	/* Offset 0x0128 */
+	struct gpio_pad *gpio_pad_ptr;		/* Offset 0x012c */
+	u8 disable_punit_pwr_config;		/* Offset 0x0130 */
+	u8 chv_svid_config;			/* Offset 0x0131 */
+	u8 disable_dptf;			/* Offset 0x0132 */
+	u8 emmc_mode;				/* Offset 0x0133 */
+	u8 usb3_clk_ssc;			/* Offset 0x0134 */
+	u8 disp_clk_ssc;			/* Offset 0x0135 */
+	u8 sata_clk_ssc;			/* Offset 0x0136 */
+	u8 usb2_port0_pe_txi_set;		/* Offset 0x0137 */
+	u8 usb2_port0_txi_set;			/* Offset 0x0138 */
+	u8 usb2_port0_tx_emphasis_en;		/* Offset 0x0139 */
+	u8 usb2_port0_tx_pe_half;		/* Offset 0x013a */
+	u8 usb2_port1_pe_txi_set;		/* Offset 0x013b */
+	u8 usb2_port1_txi_set;			/* Offset 0x013c */
+	u8 usb2_port1_tx_emphasis_en;		/* Offset 0x013d */
+	u8 usb2_port1_tx_pe_half;		/* Offset 0x013e */
+	u8 usb2_port2_pe_txi_set;		/* Offset 0x013f */
+	u8 usb2_port2_txi_set;			/* Offset 0x0140 */
+	u8 usb2_port2_tx_emphasis_en;		/* Offset 0x0141 */
+	u8 usb2_port2_tx_pe_half;		/* Offset 0x0142 */
+	u8 usb2_port3_pe_txi_set;		/* Offset 0x0143 */
+	u8 usb2_port3_txi_set;			/* Offset 0x0144 */
+	u8 usb2_port3_tx_emphasis_en;		/* Offset 0x0145 */
+	u8 usb2_port3_tx_pe_half;		/* Offset 0x0146 */
+	u8 usb2_port4_pe_txi_set;		/* Offset 0x0147 */
+	u8 usb2_port4_txi_set;			/* Offset 0x0148 */
+	u8 usb2_port4_tx_emphasis_en;		/* Offset 0x0149 */
+	u8 usb2_port4_tx_pe_half;		/* Offset 0x014a */
+	u8 usb3_lane0_ow2tap_gen2_deemph3p5;	/* Offset 0x014b */
+	u8 usb3_lane1_ow2tap_gen2_deemph3p5;	/* Offset 0x014c */
+	u8 usb3_lane2_ow2tap_gen2_deemph3p5;	/* Offset 0x014d */
+	u8 usb3_lane3_ow2tap_gen2_deemph3p5;	/* Offset 0x014e */
+	u8 sata_speed;				/* Offset 0x014f */
+	u8 usb_ssic_port;			/* Offset 0x0150 */
+	u8 usb_hsic_port;			/* Offset 0x0151 */
+	u8 pcie_rootport_speed;			/* Offset 0x0152 */
+	u8 enable_ssic;				/* Offset 0x0153 */
+	u32 logo_ptr;				/* Offset 0x0154 */
+	u32 logo_size;				/* Offset 0x0158 */
+	u8 rtc_lock;				/* Offset 0x015c */
+	u8 pmic_i2c_bus;			/* Offset 0x015d */
+	u8 enable_isp;				/* Offset 0x015e */
+	u8 isp_pci_dev_config;			/* Offset 0x015f */
+	u8 turbo_mode;				/* Offset 0x0160 */
+	u8 pnp_settings;			/* Offset 0x0161 */
+	u8 sd_detect_chk;			/* Offset 0x0162 */
+	u8 reserved[411];			/* Offset 0x0163 */
+};
+
+#define MEMORY_UPD_ID	0x244450554d454d24	/* '$MEMUPD$' */
+#define SILICON_UPD_ID	0x244450555f495324	/* '$SI_UPD$' */
+
+struct __packed upd_region {
+	u64 signature;				/* Offset 0x0000 */
+	u8 revision;				/* Offset 0x0008 */
+	u8 unused0[7];				/* Offset 0x0009 */
+	u32 memory_upd_offset;			/* Offset 0x0010 */
+	u32 silicon_upd_offset;			/* Offset 0x0014 */
+	u64 unused1;				/* Offset 0x0018 */
+	struct memory_upd memory_upd;		/* Offset 0x0020 */
+	struct silicon_upd silicon_upd;		/* Offset 0x0100 */
+	u16 terminator;				/* Offset 0x02fe */
+};
+
+#define VPD_IMAGE_ID	0x2450534657534224	/* '$BSWFSP$' */
+
+struct __packed vpd_region {
+	u64 sign;				/* Offset 0x0000 */
+	u32 img_rev;				/* Offset 0x0008 */
+	u32 upd_offset;				/* Offset 0x000c */
+};
+
+#endif /* __FSP_VPD_H__ */
diff --git a/arch/x86/include/asm/arch-braswell/gpio.h b/arch/x86/include/asm/arch-braswell/gpio.h
new file mode 100644
index 0000000..ff82a27
--- /dev/null
+++ b/arch/x86/include/asm/arch-braswell/gpio.h
@@ -0,0 +1,234 @@
+/*
+ * Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ *
+ * From coreboot src/soc/intel/braswell/include/soc/gpio.h
+ */
+
+#ifndef _BRASWELL_GPIO_H_
+#define _BRASWELL_GPIO_H_
+
+#include <asm/arch/iomap.h>
+
+#define NA		0xff
+#define LOW		0
+#define HIGH		1
+#define MASK_WAKE	0
+#define UNMASK_WAKE	1
+
+enum mode_list {
+	M0,
+	M1,
+	M2,
+	M3,
+	M4,
+	M5,
+	M6,
+	M7,
+	M8,
+	M9,
+	M10,
+	M11,
+	M12,
+	M13,
+};
+
+enum int_select {
+	L0,
+	L1,
+	L2,
+	L3,
+	L4,
+	L5,
+	L6,
+	L7,
+	L8,
+	L9,
+	L10,
+	L11,
+	L12,
+	L13,
+	L14,
+	L15,
+};
+
+enum int_type {
+	INT_DIS,
+	TRIG_EDGE_LOW,
+	TRIG_EDGE_HIGH,
+	TRIG_EDGE_BOTH,
+	TRIG_LEVEL,
+};
+
+enum glitch_cfg {
+	GLITCH_DISABLE,
+	EN_EDGE_DETECT,
+	EN_RX_DATA,
+	EN_EDGE_RX_DATA,
+};
+
+enum mask {
+	MASKABLE,
+	NON_MASKABLE,
+};
+
+enum community {
+	SOUTHWEST = 0x0000,
+	NORTH = 0x8000,
+	EAST = 0x10000,
+	SOUTHEAST = 0x18000,
+	VIRTUAL = 0x20000,
+};
+
+enum gpe_config {
+	GPE,
+	SMI,
+	SCI,
+};
+
+enum inv_rx_tx {
+	NO_INVERSION = 0,
+	INV_RX_ENABLE = 1,
+	INV_TX_ENABLE = 2,
+	INV_RX_TX_ENABLE = 3,
+	INV_RX_DATA = 4,
+	INV_TX_DATA = 8,
+};
+
+enum gpio_en {
+	NATIVE = 0xff,
+	GPIO = 0,	/* Native, no need to set PAD_VALUE */
+	GPO = 1,	/* GPO, output only in PAD_VALUE */
+	GPI = 2,	/* GPI, input only in PAD_VALUE */
+	HI_Z = 3,
+	NA_GPO = 0,
+};
+
+enum gpo_d4 {
+	LO,
+	HI,
+};
+
+enum gpio_func_num {
+	F0,
+	F1,
+	F2,
+	F3,
+};
+
+enum int_capable {
+	_CAP = 1,
+	_NOT_CAP = 0
+};
+
+enum pull_type {
+	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 */
+};
+
+enum park_mode_enb {
+	DISABLE,	/* Disable */
+	ENABLE,		/* Enable */
+};
+
+enum voltage {
+	VOLT_3_3,	/* Working on 3.3 Volts */
+	VOLT_1_8,	/* Working on 1.8 Volts */
+};
+
+enum hs_mode {
+	DISABLE_HS,	/* Disable high speed mode */
+	ENABLE_HS,	/* Enable high speed mode */
+};
+
+enum odt_up_dn {
+	PULL_UP,	/* On Die Termination Up */
+	PULL_DOWN,	/* On Die Termination Down */
+};
+
+enum odt_en {
+	DISABLE_OD,	/* On Die Termination Disable */
+	ENABLE_OD,	/* On Die Termination Enable */
+};
+
+enum bit {
+	ONE_BIT = 1,
+	TWO_BIT = 3,
+	THREE_BIT = 7,
+	FOUR_BIT = 15,
+	FIVE_BIT = 31,
+	SIX_BIT = 63,
+	SEVEN_BIT = 127,
+	EIGHT_BIT = 255
+};
+
+#define TERMINATOR	0xffffffff
+
+#define GPIO_FAMILY_CONF(family_name, park_mode, hysctl, vp18_mode, hs_mode, \
+	odt_up_dn, odt_en, curr_src_str, rcomp, family_no, community_offset) { \
+	.confg = ((((park_mode) != NA) ? park_mode << 26 : 0) | \
+		  (((hysctl) != NA) ? hysctl << 24 : 0) | \
+		  (((vp18_mode) != NA) ? vp18_mode << 21 : 0) | \
+		  (((hs_mode) != NA) ? hs_mode << 19 : 0) | \
+		  (((odt_up_dn) != NA) ? odt_up_dn << 18 : 0) | \
+		  (((odt_en) != NA) ? odt_en << 17 : 0) | \
+		  (curr_src_str)), \
+	.confg_changes = ((((park_mode) != NA) ? ONE_BIT << 26 : 0) | \
+			  (((hysctl) != NA) ? TWO_BIT << 24 : 0) | \
+			  (((vp18_mode) != NA) ? ONE_BIT  << 21 : 0) | \
+			  (((hs_mode) != NA) ? ONE_BIT << 19 : 0) | \
+			  (((odt_up_dn) != NA) ? ONE_BIT << 18 : 0) | \
+			  (((odt_en) != NA) ? ONE_BIT << 17 : 0) | \
+			  (THREE_BIT)), \
+	.misc = ((rcomp == ENABLE) ? 1 : 0) , \
+	.mmio_addr = (community_offset == TERMINATOR) ? TERMINATOR : \
+		     ((family_no != NA) ? (IO_BASE_ADDRESS + community_offset +\
+		     (0x80 * family_no) + 0x1080) : 0) , \
+	.name = 0 \
+}
+
+#define GPIO_PAD_CONF(pad_name, mode_select, mode, gpio_config, gpio_state, \
+	gpio_light_mode, int_type, int_sel, term, open_drain, current_source,\
+	int_mask, glitch, inv_rx_tx, wake_mask, wake_mask_bit, gpe, \
+	mmio_offset, community_offset) { \
+	.confg0 = ((((int_sel) != NA) ? (int_sel << 28) : 0) | \
+		   (((glitch) != NA) ? (glitch << 26) : 0) | \
+		   (((term) != NA) ? (term << 20) : 0) | \
+		   (((mode_select) == GPIO) ? ((mode << 16) | (1 << 15)) : \
+		    ((mode << 16))) | \
+		   (((gpio_config) != NA) ? (gpio_config << 8) : 0) | \
+		   (((gpio_light_mode) != NA) ? (gpio_light_mode << 7) : 0) | \
+		   (((gpio_state) == HIGH) ? 2 : 0)), \
+	.confg0_changes = ((((int_sel) != NA) ? (FOUR_BIT << 28) : 0) | \
+			   (((glitch) != NA) ? (TWO_BIT << 26) : 0) | \
+			   (((term) != NA) ? (FOUR_BIT << 20) : 0) | \
+			   (FIVE_BIT << 15) | \
+			   (((gpio_config) != NA) ? (THREE_BIT << 8) : 0) | \
+			   (((gpio_light_mode) != NA) ? (ONE_BIT << 7) : 0) | \
+			   (((gpio_state) != NA) ? ONE_BIT << 1 : 0)), \
+	.confg1  = ((((current_source) != NA) ? (current_source << 27) : 0) | \
+		    (((inv_rx_tx) != NA) ? inv_rx_tx << 4 : 0) | \
+		    (((open_drain) != NA) ? open_drain << 3 : 0) | \
+		    (((int_type) != NA) ? int_type : 0)), \
+	.confg1_changes = ((((current_source) != NA) ? (ONE_BIT << 27) : 0) | \
+			   (((inv_rx_tx) != NA) ? FOUR_BIT << 4 : 0) | \
+			   (((open_drain) != NA) ? ONE_BIT << 3 : 0) | \
+			   (((int_type) != NA) ? THREE_BIT : 0)), \
+	.community = community_offset, \
+	.mmio_addr = (community_offset == TERMINATOR) ? TERMINATOR : \
+		     ((mmio_offset != NA) ? (IO_BASE_ADDRESS + \
+		      community_offset + mmio_offset) : 0), \
+	.name = 0, \
+	.misc = ((((gpe) != NA) ? (gpe << 0) : 0) | \
+		 (((wake_mask) != NA) ? (wake_mask << 2) : 0) | \
+		 (((int_mask) != NA) ? (int_mask << 3) : 0)) | \
+		 (((wake_mask_bit) != NA) ? (wake_mask_bit << 4) : (NA << 4)) \
+}
+
+#endif /* _BRASWELL_GPIO_H_ */
-- 
2.9.2

^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 12/13] x86: braswell: Disable PUNIT power configuration for B0 stepping
  2017-08-16  5:41 [U-Boot] [PATCH 00/13] x86: Add Intel Braswell SoC and Cherry Hill board support Bin Meng
                   ` (10 preceding siblings ...)
  2017-08-16  5:42 ` [U-Boot] [PATCH 11/13] x86: braswell: Add FSP configuration Bin Meng
@ 2017-08-16  5:42 ` Bin Meng
  2017-08-26 13:39   ` Simon Glass
  2017-08-16  5:42 ` [U-Boot] [PATCH 13/13] x86: Support Intel Cherry Hill board Bin Meng
  12 siblings, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-08-16  5:42 UTC (permalink / raw
  To: u-boot

FSP's built-in UPD configuration enables PUNIT power configuration,
but on B0 stepping, this causes CPU hangs in fsp_init(). Disable it.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
---

 arch/x86/cpu/braswell/fsp_configs.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/x86/cpu/braswell/fsp_configs.c b/arch/x86/cpu/braswell/fsp_configs.c
index d984519..249f851 100644
--- a/arch/x86/cpu/braswell/fsp_configs.c
+++ b/arch/x86/cpu/braswell/fsp_configs.c
@@ -139,6 +139,12 @@ void update_fsp_configs(struct fsp_config_data *config,
 #endif
 	update_fsp_gpio_configs(&silicon_upd->gpio_familiy_ptr,
 				&silicon_upd->gpio_pad_ptr);
+	/*
+	 * For Braswell B0 stepping, disable_punit_pwr_config must be set to 1
+	 * otherwise it just hangs in fsp_init().
+	 */
+	if (gd->arch.x86_mask == 2)
+		silicon_upd->disable_punit_pwr_config = 1;
 	silicon_upd->emmc_mode = fdtdec_get_int(blob, node,
 		"fsp,emmc-mode", EMMC_MODE_PCI);
 	silicon_upd->sata_speed = fdtdec_get_int(blob, node,
-- 
2.9.2

^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 13/13] x86: Support Intel Cherry Hill board
  2017-08-16  5:41 [U-Boot] [PATCH 00/13] x86: Add Intel Braswell SoC and Cherry Hill board support Bin Meng
                   ` (11 preceding siblings ...)
  2017-08-16  5:42 ` [U-Boot] [PATCH 12/13] x86: braswell: Disable PUNIT power configuration for B0 stepping Bin Meng
@ 2017-08-16  5:42 ` Bin Meng
  2017-08-26 13:39   ` Simon Glass
  12 siblings, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-08-16  5:42 UTC (permalink / raw
  To: u-boot

This adds support to Intel Cherry Hill board, a board based on
Intel Braswell SoC. The following devices are validated:

- serial port as the serial console
- on-board Realtek 8169 ethernet controller
- SATA AHCI controller
- EMMC/SDHC controller
- USB 3.0 xHCI controller
- PCIe x1 slot with a graphics card
- ICH SPI controller with an 8MB Macronix SPI flash
- Integrated graphics device as the video console

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>

---

 arch/x86/dts/Makefile               |   1 +
 arch/x86/dts/cherryhill.dts         | 215 +++++++++++++
 board/intel/Kconfig                 |  10 +
 board/intel/cherryhill/Kconfig      |  25 ++
 board/intel/cherryhill/MAINTAINERS  |   6 +
 board/intel/cherryhill/Makefile     |   7 +
 board/intel/cherryhill/cherryhill.c | 596 ++++++++++++++++++++++++++++++++++++
 board/intel/cherryhill/start.S      |   9 +
 configs/cherryhill_defconfig        |  36 +++
 doc/README.x86                      |  30 ++
 include/configs/cherryhill.h        |  22 ++
 11 files changed, 957 insertions(+)
 create mode 100644 arch/x86/dts/cherryhill.dts
 create mode 100644 board/intel/cherryhill/Kconfig
 create mode 100644 board/intel/cherryhill/MAINTAINERS
 create mode 100644 board/intel/cherryhill/Makefile
 create mode 100644 board/intel/cherryhill/cherryhill.c
 create mode 100644 board/intel/cherryhill/start.S
 create mode 100644 configs/cherryhill_defconfig
 create mode 100644 include/configs/cherryhill.h

diff --git a/arch/x86/dts/Makefile b/arch/x86/dts/Makefile
index 6589495..6d0c4b6 100644
--- a/arch/x86/dts/Makefile
+++ b/arch/x86/dts/Makefile
@@ -3,6 +3,7 @@
 #
 
 dtb-y += bayleybay.dtb \
+	cherryhill.dtb \
 	chromebook_link.dtb \
 	chromebox_panther.dtb \
 	chromebook_samus.dtb \
diff --git a/arch/x86/dts/cherryhill.dts b/arch/x86/dts/cherryhill.dts
new file mode 100644
index 0000000..1ccb605
--- /dev/null
+++ b/arch/x86/dts/cherryhill.dts
@@ -0,0 +1,215 @@
+/*
+ * Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+/dts-v1/;
+
+#include <asm/arch-braswell/fsp/fsp_configs.h>
+#include <dt-bindings/interrupt-router/intel-irq.h>
+
+/include/ "skeleton.dtsi"
+/include/ "serial.dtsi"
+/include/ "rtc.dtsi"
+/include/ "tsc_timer.dtsi"
+
+/ {
+	model = "Intel Cherry Hill";
+	compatible = "intel,cherryhill", "intel,braswell";
+
+	aliases {
+		serial0 = &serial;
+		spi0 = &spi;
+	};
+
+	config {
+		silent_console = <0>;
+	};
+
+	chosen {
+		stdout-path = "/serial";
+	};
+
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		cpu at 0 {
+			device_type = "cpu";
+			compatible = "intel,braswell-cpu";
+			reg = <0>;
+			intel,apic-id = <0>;
+		};
+
+		cpu at 1 {
+			device_type = "cpu";
+			compatible = "intel,braswell-cpu";
+			reg = <1>;
+			intel,apic-id = <2>;
+		};
+
+		cpu at 2 {
+			device_type = "cpu";
+			compatible = "intel,braswell-cpu";
+			reg = <2>;
+			intel,apic-id = <4>;
+		};
+
+		cpu at 3 {
+			device_type = "cpu";
+			compatible = "intel,braswell-cpu";
+			reg = <3>;
+			intel,apic-id = <6>;
+		};
+	};
+
+	pci {
+		compatible = "pci-x86";
+		#address-cells = <3>;
+		#size-cells = <2>;
+		u-boot,dm-pre-reloc;
+		ranges = <0x02000000 0x0 0x80000000 0x80000000 0 0x40000000
+			  0x42000000 0x0 0xc0000000 0xc0000000 0 0x20000000
+			  0x01000000 0x0 0x2000 0x2000 0 0xe000>;
+
+		pch at 1f,0 {
+			reg = <0x0000f800 0 0 0 0>;
+			compatible = "intel,pch9";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			irq-router {
+				compatible = "intel,irq-router";
+				intel,pirq-config = "ibase";
+				intel,ibase-offset = <0x50>;
+				intel,pirq-link = <8 8>;
+				intel,pirq-mask = <0xdee0>;
+				intel,pirq-routing = <
+					/* Braswell PCI devices */
+					PCI_BDF(0, 2, 0) INTA PIRQA
+					PCI_BDF(0, 3, 0) INTA PIRQA
+					PCI_BDF(0, 11, 0) INTA PIRQA
+					PCI_BDF(0, 16, 0) INTA PIRQA
+					PCI_BDF(0, 17, 0) INTA PIRQA
+					PCI_BDF(0, 18, 0) INTA PIRQA
+					PCI_BDF(0, 19, 0) INTA PIRQA
+					PCI_BDF(0, 20, 0) INTA PIRQA
+					PCI_BDF(0, 21, 0) INTA PIRQA
+					PCI_BDF(0, 24, 0) INTA PIRQA
+					PCI_BDF(0, 24, 1) INTC PIRQC
+					PCI_BDF(0, 24, 2) INTD PIRQD
+					PCI_BDF(0, 24, 3) INTB PIRQB
+					PCI_BDF(0, 24, 4) INTA PIRQA
+					PCI_BDF(0, 24, 5) INTC PIRQC
+					PCI_BDF(0, 24, 6) INTD PIRQD
+					PCI_BDF(0, 24, 7) INTB PIRQB
+					PCI_BDF(0, 26, 0) INTA PIRQA
+					PCI_BDF(0, 27, 0) INTA PIRQA
+					PCI_BDF(0, 28, 0) INTA PIRQA
+					PCI_BDF(0, 28, 1) INTB PIRQB
+					PCI_BDF(0, 28, 2) INTC PIRQC
+					PCI_BDF(0, 28, 3) INTD PIRQD
+					PCI_BDF(0, 30, 0) INTA PIRQA
+					PCI_BDF(0, 30, 3) INTA PIRQA
+					PCI_BDF(0, 30, 4) INTA PIRQA
+					PCI_BDF(0, 31, 0) INTB PIRQB
+					PCI_BDF(0, 31, 3) INTB PIRQB
+
+					/*
+					 * PCIe root ports downstream
+					 * interrupts
+					 */
+					PCI_BDF(1, 0, 0) INTA PIRQA
+					PCI_BDF(1, 0, 0) INTB PIRQB
+					PCI_BDF(1, 0, 0) INTC PIRQC
+					PCI_BDF(1, 0, 0) INTD PIRQD
+					PCI_BDF(2, 0, 0) INTA PIRQB
+					PCI_BDF(2, 0, 0) INTB PIRQC
+					PCI_BDF(2, 0, 0) INTC PIRQD
+					PCI_BDF(2, 0, 0) INTD PIRQA
+					PCI_BDF(3, 0, 0) INTA PIRQC
+					PCI_BDF(3, 0, 0) INTB PIRQD
+					PCI_BDF(3, 0, 0) INTC PIRQA
+					PCI_BDF(3, 0, 0) INTD PIRQB
+					PCI_BDF(4, 0, 0) INTA PIRQD
+					PCI_BDF(4, 0, 0) INTB PIRQA
+					PCI_BDF(4, 0, 0) INTC PIRQB
+					PCI_BDF(4, 0, 0) INTD PIRQC
+				>;
+			};
+
+			spi: spi {
+				#address-cells = <1>;
+				#size-cells = <0>;
+				compatible = "intel,ich9-spi";
+
+				spi-flash at 0 {
+					#address-cells = <1>;
+					#size-cells = <1>;
+					reg = <0>;
+					compatible = "macronix,mx25u6435f", "spi-flash";
+					memory-map = <0xff800000 0x00800000>;
+					rw-mrc-cache {
+						label = "rw-mrc-cache";
+						reg = <0x005e0000 0x00010000>;
+					};
+				};
+			};
+		};
+	};
+
+	fsp {
+		compatible = "intel,braswell-fsp";
+		fsp,memory-upd {
+			compatible = "intel,braswell-fsp-memory";
+			fsp,mrc-init-tseg-size = <MRC_INIT_TSEG_SIZE_4MB>;
+			fsp,mrc-init-mmio-size = <MRC_INIT_MMIO_SIZE_2048MB>;
+			fsp,mrc-init-spd-addr1 = <0xa0>;
+			fsp,mrc-init-spd-addr2 = <0xa2>;
+			fsp,igd-dvmt50-pre-alloc = <IGD_DVMT50_PRE_ALLOC_32MB>;
+			fsp,aperture-size = <APERTURE_SIZE_256MB>;
+			fsp,gtt-size = <GTT_SIZE_1MB>;
+			fsp,enable-dvfs;
+			fsp,memory-type = <DRAM_TYPE_DDR3>;
+		};
+		fsp,silicon-upd {
+			compatible = "intel,braswell-fsp-silicon";
+			fsp,sdcard-mode = <SDCARD_MODE_PCI>;
+			fsp,enable-hsuart1;
+			fsp,enable-sata;
+			fsp,enable-xhci;
+			fsp,lpe-mode = <LPE_MODE_PCI>;
+			fsp,enable-dma0;
+			fsp,enable-dma1;
+			fsp,enable-i2c0;
+			fsp,enable-i2c1;
+			fsp,enable-i2c2;
+			fsp,enable-i2c3;
+			fsp,enable-i2c4;
+			fsp,enable-i2c5;
+			fsp,enable-i2c6;
+			fsp,emmc-mode = <EMMC_MODE_PCI>;
+			fsp,sata-speed = <SATA_SPEED_GEN3>;
+			fsp,pmic-i2c-bus = <0>;
+			fsp,enable-isp;
+			fsp,isp-pci-dev-config = <ISP_PCI_DEV_CONFIG_2>;
+			fsp,turbo-mode;
+			fsp,pnp-settings = <PNP_SETTING_POWER_AND_PERF>;
+			fsp,sd-detect-chk;
+		};
+	};
+
+	microcode {
+		update at 0 {
+#include "microcode/m01406c2220.dtsi"
+		};
+		update at 1 {
+#include "microcode/m01406c3363.dtsi"
+		};
+		update at 2 {
+#include "microcode/m01406c440a.dtsi"
+		};
+	};
+
+};
diff --git a/board/intel/Kconfig b/board/intel/Kconfig
index d7d950e..4ebf808 100644
--- a/board/intel/Kconfig
+++ b/board/intel/Kconfig
@@ -18,6 +18,15 @@ config TARGET_BAYLEYBAY
 	  4GB memory, HDMI/DP/VGA display, HD audio, SATA, USB2, USB3, SD, eMMC,
 	  PCIe and some other sensor interfaces.
 
+config TARGET_CHERRYHILL
+	bool "Cherry Hill"
+	help
+	  This is the Intel Cherry Hill Customer Reference Board. It is in a
+	  mini-ITX form factor containing the Intel Braswell SoC, which has
+	  a 64-bit quad-core, single-thread, Intel Atom processor, along with
+	  serial console, 10/100/1000 Ethernet, SD-Card, USB 2/3, SATA, PCIe,
+	  some GPIOs, one HDMI and two DP video out.
+
 config TARGET_COUGARCANYON2
 	bool "Cougar Canyon 2"
 	help
@@ -69,6 +78,7 @@ config TARGET_MINNOWMAX
 endchoice
 
 source "board/intel/bayleybay/Kconfig"
+source "board/intel/cherryhill/Kconfig"
 source "board/intel/cougarcanyon2/Kconfig"
 source "board/intel/crownbay/Kconfig"
 source "board/intel/edison/Kconfig"
diff --git a/board/intel/cherryhill/Kconfig b/board/intel/cherryhill/Kconfig
new file mode 100644
index 0000000..a4fa004
--- /dev/null
+++ b/board/intel/cherryhill/Kconfig
@@ -0,0 +1,25 @@
+if TARGET_CHERRYHILL
+
+config SYS_BOARD
+	default "cherryhill"
+
+config SYS_VENDOR
+	default "intel"
+
+config SYS_SOC
+	default "braswell"
+
+config SYS_CONFIG_NAME
+	default "cherryhill"
+
+config SYS_TEXT_BASE
+	default 0xffe00000
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
+	select X86_RESET_VECTOR
+	select INTEL_BRASWELL
+	select BOARD_ROMSIZE_KB_8192
+	select SPI_FLASH_MACRONIX
+
+endif
diff --git a/board/intel/cherryhill/MAINTAINERS b/board/intel/cherryhill/MAINTAINERS
new file mode 100644
index 0000000..6e90f64
--- /dev/null
+++ b/board/intel/cherryhill/MAINTAINERS
@@ -0,0 +1,6 @@
+INTEL CHERRYHILL BOARD
+M:	Bin Meng <bmeng.cn@gmail.com>
+S:	Maintained
+F:	board/intel/cherryhill/
+F:	include/configs/cherryhill.h
+F:	configs/cherryhill_defconfig
diff --git a/board/intel/cherryhill/Makefile b/board/intel/cherryhill/Makefile
new file mode 100644
index 0000000..0dbb055
--- /dev/null
+++ b/board/intel/cherryhill/Makefile
@@ -0,0 +1,7 @@
+#
+# Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com>
+#
+# SPDX-License-Identifier:	GPL-2.0+
+#
+
+obj-y	+= cherryhill.o start.o
diff --git a/board/intel/cherryhill/cherryhill.c b/board/intel/cherryhill/cherryhill.c
new file mode 100644
index 0000000..d86dc97
--- /dev/null
+++ b/board/intel/cherryhill/cherryhill.c
@@ -0,0 +1,596 @@
+/*
+ * Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/arch/gpio.h>
+#include <asm/fsp/fsp_support.h>
+
+static const struct gpio_family gpio_family[] = {
+	GPIO_FAMILY_CONF("SOUTHEAST_2_hshvfamily_2x3_rcomp_7_0", NA, 0,
+			 VOLT_1_8, NA, NA, NA, 0, ENABLE, 2, SOUTHEAST),
+
+	/* end of the table */
+	GPIO_FAMILY_CONF("GPIO FAMILY TABLE END", NA, 0,
+			 VOLT_1_8, NA, NA, NA, 0, DISABLE, 0, TERMINATOR),
+};
+
+static const struct gpio_pad gpio_pad[] = {
+	GPIO_PAD_CONF("N37: CX_PRDY_B", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 29, NA, 0x4c38, NORTH),
+	GPIO_PAD_CONF("N35: CX_PRDY_B_2", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 27, NA, 0x4c28, NORTH),
+	GPIO_PAD_CONF("N39: CX_PREQ_B", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 20, NA, 0x4858, NORTH),
+	GPIO_PAD_CONF("N48: GP_CAMERASB00", GPIO, M1, GPO, LOW,
+		      NA, NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 37, NA, 0x5018, NORTH),
+	GPIO_PAD_CONF("N53: GP_CAMERASB01", GPIO, M1, GPO, LOW,
+		      NA, NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 42, NA, 0x5040, NORTH),
+	GPIO_PAD_CONF("N46: GP_CAMERASB02", GPIO, M1, GPO, LOW,
+		      NA, NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 35, NA, 0x5008, NORTH),
+	GPIO_PAD_CONF("N51: GP_CAMERASB03", GPIO, M1, GPO, LOW,
+		      NA, NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 40, NA, 0x5030, NORTH),
+	GPIO_PAD_CONF("N56: GP_CAMERASB04", GPIO, M1, GPO, LOW,
+		      NA, NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 45, NA, 0x5058, NORTH),
+	GPIO_PAD_CONF("N45: GP_CAMERASB05", GPIO, M1, GPO, LOW,
+		      NA, NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 34, NA, 0x5000, NORTH),
+	GPIO_PAD_CONF("N49: GP_CAMERASB06", GPIO, M1, GPO, LOW,
+		      NA, NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 38, NA, 0x5020, NORTH),
+	GPIO_PAD_CONF("N54: GP_CAMERASB07", GPIO, M1, GPO, LOW,
+		      NA, NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 43, NA, 0x5048, NORTH),
+	GPIO_PAD_CONF("N47: GP_CAMERASB08", GPIO, M1, GPO, LOW,
+		      NA, NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 36, NA, 0x5010, NORTH),
+	GPIO_PAD_CONF("N52: GP_CAMERASB09", GPIO, M1, GPO, LOW,
+		      NA, NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 41, NA, 0x5038, NORTH),
+	GPIO_PAD_CONF("N50: GP_CAMERASB10", GPIO, M1, GPO, LOW,
+		      NA, NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 39, NA, 0x5028, NORTH),
+	GPIO_PAD_CONF("N55: GP_CAMERASB11", GPIO, M1, GPO, LOW,
+		      NA, NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 44, NA, 0x5050, NORTH),
+	GPIO_PAD_CONF("N00: GPIO_DFX0", NATIVE, M5, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 0, NA, 0x4400, NORTH),
+	GPIO_PAD_CONF("N03: GPIO_DFX1", NATIVE, M5, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 3, NA, 0x4418, NORTH),
+	GPIO_PAD_CONF("N07: GPIO_DFX2", NATIVE, M5, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 2, NA, 0x4438, NORTH),
+	GPIO_PAD_CONF("N01: GPIO_DFX3", NATIVE, M5, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, INV_TX_ENABLE,
+		      NA, 1, NA, 0x4408, NORTH),
+	GPIO_PAD_CONF("N05: GPIO_DFX4", GPIO, M1, GPO, HIGH, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 5, NA, 0x4428, NORTH),
+	GPIO_PAD_CONF("N04: GPIO_DFX5", GPIO, M1, GPO, HIGH, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 4, NA, 0x4420, NORTH),
+	GPIO_PAD_CONF("N08: GPIO_DFX6", NATIVE, M8, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 8, NA, 0x4440, NORTH),
+	GPIO_PAD_CONF("N02: GPIO_DFX7", GPIO, M1, GPO, LOW, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 2, NA, 0x4410, NORTH),
+	GPIO_PAD_CONF("N15: GPIO_SUS0", GPIO, M1, GPI, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 9 , NA, 0x4800, NORTH),
+	GPIO_PAD_CONF("N19: GPIO_SUS1", GPIO, M1, GPI, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 13, NA, 0x4820, NORTH),
+	GPIO_PAD_CONF("N24: GPIO_SUS2", GPIO, M1, GPI, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 18, NA, 0x4848, NORTH),
+	GPIO_PAD_CONF("N17: GPIO_SUS3", NATIVE, M6, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 11, NA, 0x4810, NORTH),
+	GPIO_PAD_CONF("N22: GPIO_SUS4", GPIO, M1, GPO, HIGH, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 16, NA, 0x4838, NORTH),
+	GPIO_PAD_CONF("N20: GPIO_SUS5", GPIO, M1, GPO, HIGH, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 14, NA, 0x4828, NORTH),
+	GPIO_PAD_CONF("N25: GPIO_SUS6", GPIO, M1, GPI, NA, NA,
+		      TRIG_EDGE_LOW, L9, NA, NA, NA, NON_MASKABLE,
+		      EN_EDGE_RX_DATA, NO_INVERSION,
+		      NA, 19, SCI, 0x4850, NORTH),
+	GPIO_PAD_CONF("N18: GPIO_SUS7", GPIO, M1, GPI, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 12, SMI, 0x4818, NORTH),
+	GPIO_PAD_CONF("N71: HV_DDI0_DDC_SCL", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 57, NA, 0x5458, NORTH),
+	GPIO_PAD_CONF("N66: HV_DDI0_DDC_SDA", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 52, NA, 0x5430, NORTH),
+	GPIO_PAD_CONF("N61: HV_DDI0_HPD", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, INV_TX_ENABLE,
+		      NA, 47, NA, 0x5408, NORTH),
+	GPIO_PAD_CONF("N64: HV_DDI1_HPD", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, INV_TX_ENABLE,
+		      NA, 50, NA, 0x5420, NORTH),
+	GPIO_PAD_CONF("N67: HV_DDI2_DDC_SCL", NATIVE, M3, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 53, NA, 0x5438, NORTH),
+	GPIO_PAD_CONF("N62: HV_DDI2_DDC_SDA", NATIVE, M3, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 48, NA, 0x5410, NORTH),
+	GPIO_PAD_CONF("N68: HV_DDI2_HPD", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, INV_TX_ENABLE,
+		      NA, 54, NA, 0x5440, NORTH),
+	GPIO_PAD_CONF("N65: PANEL0_BKLTCTL", GPIO, M1, GPI, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 51, NA, 0x5428, NORTH),
+	GPIO_PAD_CONF("N60: PANEL0_BKLTEN", GPIO, M1, GPI, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 46, NA, 0x5400, NORTH),
+	GPIO_PAD_CONF("N72: PANEL0_VDDEN", GPIO, M1, GPI, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 58, NA, 0x5460, NORTH),
+	GPIO_PAD_CONF("N63: PANEL1_BKLTCTL", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 49, NA, 0x5418, NORTH),
+	GPIO_PAD_CONF("N70: PANEL1_BKLTEN", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 56, NA, 0x5450, NORTH),
+	GPIO_PAD_CONF("N69: PANEL1_VDDEN", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 55, NA, 0x5448, NORTH),
+	GPIO_PAD_CONF("N32: PROCHOT_B", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 24, NA, 0x4c10, NORTH),
+	GPIO_PAD_CONF("N16: SEC_GPIO_SUS10", GPIO, M1, GPI, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 10, NA, 0x4808, NORTH),
+	GPIO_PAD_CONF("N21: SEC_GPIO_SUS11", GPIO, M1, GPI, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 15, NA, 0x4830, NORTH),
+	GPIO_PAD_CONF("N23: SEC_GPIO_SUS8", GPIO, M1, GPI, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 17, NA, 0x4840, NORTH),
+	GPIO_PAD_CONF("N27: SEC_GPIO_SUS9", GPIO, M1, GPI, LOW, NA,
+		      TRIG_LEVEL, L15, NA, NA, NA, NON_MASKABLE,
+		      EN_RX_DATA, INV_RX_DATA,
+		      NA, 21, SCI, 0x4860, NORTH),
+	GPIO_PAD_CONF("N31: TCK", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 23, NA, 0x4c08, NORTH),
+	GPIO_PAD_CONF("N41: TDI", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 33, NA, 0x4c58, NORTH),
+	GPIO_PAD_CONF("N39: TDO", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 31, NA, 0x4c48, NORTH),
+	GPIO_PAD_CONF("N36: TDO_2", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 28, NA, 0x4c30, NORTH),
+	GPIO_PAD_CONF("N34: TMS", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 26, NA, 0x4c20, NORTH),
+	GPIO_PAD_CONF("N30: TRST_B", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 22, NA, 0x4c00, NORTH),
+
+	GPIO_PAD_CONF("E21: MF_ISH_GPIO_0", GPIO, M1, GPI, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 18, NA, 0x4830, EAST),
+	GPIO_PAD_CONF("E18: MF_ISH_GPIO_1", GPIO, M1, GPI, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 15, NA, 0x4818, EAST),
+	GPIO_PAD_CONF("E24: MF_ISH_GPIO_2", GPIO, M1, GPI, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 21, NA, 0x4848, EAST),
+	GPIO_PAD_CONF("E15: MF_ISH_GPIO_3", GPIO, M1, GPI, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 12, NA, 0x4800, EAST),
+	GPIO_PAD_CONF("E22: MF_ISH_GPIO_4", GPIO, M1, GPI, NA, NA,
+		      NA, L0, NA, NA, NA, NON_MASKABLE, NA, NO_INVERSION,
+		      NA, 19, NA, 0x4838, EAST),
+	GPIO_PAD_CONF("E19: MF_ISH_GPIO_5", GPIO, M1, GPO, HIGH, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 16, NA, 0x4820, EAST),
+	GPIO_PAD_CONF("E25: MF_ISH_GPIO_6", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 22, NA, 0x4850, EAST),
+	GPIO_PAD_CONF("E16: MF_ISH_GPIO_7", GPIO, M1, GPO, HIGH, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 13, NA, 0x4808, EAST),
+	GPIO_PAD_CONF("E23: MF_ISH_GPIO_8", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 20, NA, 0x4840, EAST),
+	GPIO_PAD_CONF("E20: MF_ISH_GPIO_9", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 17, NA, 0x4828, EAST),
+	GPIO_PAD_CONF("E26: MF_ISH_I2C1_SDA", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 23, NA, 0x4858, EAST),
+	GPIO_PAD_CONF("E17: MF_ISH_I2C1_SCL", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 14, NA, 0x4810, EAST),
+	GPIO_PAD_CONF("E04: PMU_AC_PRESENT", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 4, NA, 0x4420, EAST),
+	GPIO_PAD_CONF("E01: PMU_BATLOW_B", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 1, NA, 0x4408, EAST),
+	GPIO_PAD_CONF("E05: PMU_PLTRST_B", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 5, NA, 0x4428, EAST),
+	GPIO_PAD_CONF("E07: PMU_SLP_LAN_B", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 7, NA, 0x4438, EAST),
+	GPIO_PAD_CONF("E03: PMU_SLP_S0IX_B", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 3, NA, 0x4418, EAST),
+	GPIO_PAD_CONF("E00: PMU_SLP_S3_B", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 0, NA, 0x4400, EAST),
+	GPIO_PAD_CONF("E09: PMU_SLP_S4_B", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 9, NA, 0x4448, EAST),
+	GPIO_PAD_CONF("E06: PMU_SUSCLK", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 6, NA, 0x4430, EAST),
+	GPIO_PAD_CONF("E10: PMU_WAKE_B", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_1K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 10, NA, 0x4450, EAST),
+	GPIO_PAD_CONF("E11: PMU_WAKE_LAN_B", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 11, NA, 0x4458, EAST),
+	GPIO_PAD_CONF("E02: SUS_STAT_B", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 2, NA, 0x4410, EAST),
+
+	GPIO_PAD_CONF("SE16: SDMMC1_CLK", NATIVE, M1, NA, NA, HIGH,
+		      NA, NA, P_20K_L, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 9, NA, 0x4808, SOUTHEAST),
+	GPIO_PAD_CONF("SE23: SDMMC1_CMD", NATIVE, M1, NA, NA, HIGH,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 16, NA, 0x4840, SOUTHEAST),
+	GPIO_PAD_CONF("SE17: SDMMC1_D0", NATIVE, M1, NA, NA, HIGH,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 10, NA, 0x4810, SOUTHEAST),
+	GPIO_PAD_CONF("SE24: SDMMC1_D1", NATIVE, M1, NA, NA, HIGH,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 17, NA, 0x4848, SOUTHEAST),
+	GPIO_PAD_CONF("SE20: SDMMC1_D2", NATIVE, M1, NA, NA, HIGH,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 13, NA, 0x4828, SOUTHEAST),
+	GPIO_PAD_CONF("SE26: SDMMC1_D3_CD_B", NATIVE, M1, NA, NA, HIGH,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 19, NA, 0x4858, SOUTHEAST),
+	GPIO_PAD_CONF("SE67: MMC1_D4_SD_WE", NATIVE, M1, NA, NA, HIGH,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 41, NA, 0x5438, SOUTHEAST),
+	GPIO_PAD_CONF("SE65: MMC1_D5", NATIVE, M1, NA, NA, HIGH,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 39, NA, 0x5428, SOUTHEAST),
+	GPIO_PAD_CONF("SE63: MMC1_D6", NATIVE, M1, NA, NA, HIGH,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 37, NA, 0x5418, SOUTHEAST),
+	GPIO_PAD_CONF("SE68: MMC1_D7", NATIVE, M1, NA, NA, HIGH,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 42, NA, 0x5440, SOUTHEAST),
+	GPIO_PAD_CONF("SE69: MMC1_RCLK", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 43, NA, 0x5448, SOUTHEAST),
+	GPIO_PAD_CONF("SE77: GPIO_ALERT", GPIO, M1, GPI, NA, NA,
+		      TRIG_LEVEL, L2, NA, NA, NA, NON_MASKABLE,
+		      EN_RX_DATA, INV_RX_DATA,
+		      NA, 46, NA, 0x5810, SOUTHEAST),
+	GPIO_PAD_CONF("SE79: ILB_SERIRQ", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 48, NA, 0x5820, SOUTHEAST),
+	GPIO_PAD_CONF("SE51: MF_LPC_CLKOUT0", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_NONE, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 32, NA, 0x5030, SOUTHEAST),
+	GPIO_PAD_CONF("SE49: MF_LPC_CLKOUT1", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 30, NA, 0x5020, SOUTHEAST),
+	GPIO_PAD_CONF("SE47: MF_LPC_AD0", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 28, NA, 0x5010, SOUTHEAST),
+	GPIO_PAD_CONF("SE52: MF_LPC_AD1", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 33, NA, 0x5038, SOUTHEAST),
+	GPIO_PAD_CONF("SE45: MF_LPC_AD2", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 26, NA, 0x5000, SOUTHEAST),
+	GPIO_PAD_CONF("SE50: MF_LPC_AD3", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 31, NA, 0x5028, SOUTHEAST),
+	GPIO_PAD_CONF("SE46: LPC_CLKRUNB", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 27, NA, 0x5008, SOUTHEAST),
+	GPIO_PAD_CONF("SE48: LPC_FRAMEB", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 29, NA, 0x5018, SOUTHEAST),
+	GPIO_PAD_CONF("SE00: MF_PLT_CLK0", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 0, NA, 0x4400, SOUTHEAST),
+	GPIO_PAD_CONF("SE02: MF_PLT_CLK1", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 1, NA, 0x4410, SOUTHEAST),
+	GPIO_PAD_CONF("SE07: MF_PLT_CLK2", GPIO, M1, GPI, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 7, NA, 0x4438, SOUTHEAST),
+	GPIO_PAD_CONF("SE04: MF_PLT_CLK3", GPIO, M1, GPI, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 4, NA, 0x4420, SOUTHEAST),
+	GPIO_PAD_CONF("SE03: MF_PLT_CLK4", GPIO, M1, GPO, LOW, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 3, NA, 0x4418, SOUTHEAST),
+	GPIO_PAD_CONF("SE06: MF_PLT_CLK5", GPIO, M3, GPO, LOW, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 6, NA, 0x4430, SOUTHEAST),
+	GPIO_PAD_CONF("SE83: SUSPWRDNACK", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 52, NA, 0x5840, SOUTHEAST),
+	GPIO_PAD_CONF("SE05: PWM0", GPIO, M1, GPO, LOW, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 5, NA, 0x4428, SOUTHEAST),
+	GPIO_PAD_CONF("SE01: PWM1", GPIO, M1, GPO, HIGH, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 1, NA, 0x4408, SOUTHEAST),
+	GPIO_PAD_CONF("SE85: SDMMC3_1P8_EN", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 54, NA, 0x5850, SOUTHEAST),
+	GPIO_PAD_CONF("SE81: SDMMC3_CD_B", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 50, NA, 0x5830, SOUTHEAST),
+	GPIO_PAD_CONF("SE31: SDMMC3_CLK", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 21, NA, 0x4c08, SOUTHEAST),
+	GPIO_PAD_CONF("SE34: SDMMC3_CMD", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 24, NA, 0x4c20, SOUTHEAST),
+	GPIO_PAD_CONF("SE35: SDMMC3_D0", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 25, NA, 0x4c28, SOUTHEAST),
+	GPIO_PAD_CONF("SE30: SDMMC3_D1", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 20, NA, 0x4c00, SOUTHEAST),
+	GPIO_PAD_CONF("SE33: SDMMC3_D2", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 23, NA, 0x4c18, SOUTHEAST),
+	GPIO_PAD_CONF("SE32: SDMMC3_D3", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 22, NA, 0x4c10, SOUTHEAST),
+	GPIO_PAD_CONF("SE78: SDMMC3_PWR_EN_B", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_20K_L, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 47, NA, 0x5818, SOUTHEAST),
+	GPIO_PAD_CONF("SE19: SDMMC2_CLK", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 12, NA, 0x4820, SOUTHEAST),
+	GPIO_PAD_CONF("SE22: SDMMC2_CMD", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 15, NA, 0x4838, SOUTHEAST),
+	GPIO_PAD_CONF("SE25: SDMMC2_D0", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 18, NA, 0x4850, SOUTHEAST),
+	GPIO_PAD_CONF("SE18: SDMMC2_D1", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 11, NA, 0x4818, SOUTHEAST),
+	GPIO_PAD_CONF("SE21: SDMMC2_D2", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 14, NA, 0x4830, SOUTHEAST),
+	GPIO_PAD_CONF("SE15: SDMMC2_D3_CD_B", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 8, NA, 0x4800, SOUTHEAST),
+	GPIO_PAD_CONF("SE62: SPI1_CLK", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 36, NA, 0x5410, SOUTHEAST),
+	GPIO_PAD_CONF("SE61: SPI1_CS0_B", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 35, NA, 0x5408, SOUTHEAST),
+	GPIO_PAD_CONF("SE66: SPI1_CS1_B", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 40, NA, 0x5430, SOUTHEAST),
+	GPIO_PAD_CONF("SE60: SPI1_MISO", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 34, NA, 0x5400, SOUTHEAST),
+	GPIO_PAD_CONF("SE64: SPI1_MOSI", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 38, NA, 0x5420, SOUTHEAST),
+	GPIO_PAD_CONF("SE80: USB_OC0_B", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 49, NA, 0x5828, SOUTHEAST),
+	GPIO_PAD_CONF("SE75: USB_OC1_B", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 44, NA, 0x5800, SOUTHEAST),
+	GPIO_PAD_CONF("SW02: FST_SPI_CLK", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 2, NA, 0x4410, SOUTHWEST),
+	GPIO_PAD_CONF("SW06: FST_SPI_CS0_B", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 6, NA, 0x4430, SOUTHWEST),
+	GPIO_PAD_CONF("SW04: FST_SPI_CS1_B", GPIO, M1, GPO, HIGH, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 4, NA, 0x4420, SOUTHWEST),
+	GPIO_PAD_CONF("SW07: FST_SPI_CS2_B", GPIO, M1, GPO, LOW, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 7, NA, 0x4438, SOUTHWEST),
+	GPIO_PAD_CONF("SW01: FST_SPI_D0", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 1, NA, 0x4408, SOUTHWEST),
+	GPIO_PAD_CONF("SW05: FST_SPI_D1", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 5, NA, 0x4428, SOUTHWEST),
+	GPIO_PAD_CONF("SW00: FST_SPI_D2", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 0, NA, 0x4400, SOUTHWEST),
+	GPIO_PAD_CONF("SW03: FST_SPI_D3", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 3, NA, 0x4418, SOUTHWEST),
+	GPIO_PAD_CONF("SW30: MF_HDA_CLK", NATIVE, M2, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 16, NA, 0x4c00, SOUTHWEST),
+	GPIO_PAD_CONF("SW37: MF_HDA_DOCKENB", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 23, NA, 0x4c38, SOUTHWEST),
+	GPIO_PAD_CONF("SW34: MF_HDA_DOCKRSTB", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 20, NA, 0x4c20, SOUTHWEST),
+	GPIO_PAD_CONF("SW31: MF_HDA_RSTB", NATIVE, M2, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 17, NA, 0x4c08, SOUTHWEST),
+	GPIO_PAD_CONF("SW32: MF_HDA_SDI0", NATIVE, M2, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 18, NA, 0x4c10, SOUTHWEST),
+	GPIO_PAD_CONF("SW36: MF_HDA_SDI1", NATIVE, M2, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 22, NA, 0x4c30, SOUTHWEST),
+	GPIO_PAD_CONF("SW33: MF_HDA_SDO", NATIVE, M2, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 19, NA, 0x4c18, SOUTHWEST),
+	GPIO_PAD_CONF("SW35: MF_HDA_SYNC", NATIVE, M2, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 21, NA, 0x4c28, SOUTHWEST),
+	GPIO_PAD_CONF("SW18: UART1_CTS_B", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 11, NA, 0x4818, SOUTHWEST),
+	GPIO_PAD_CONF("SW15: UART1_RTS_B", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 8, NA, 0x4800, SOUTHWEST),
+	GPIO_PAD_CONF("SW16: UART1_RXD", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 9, NA, 0x4808, SOUTHWEST),
+	GPIO_PAD_CONF("SW20: UART1_TXD", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 13, NA, 0x4828, SOUTHWEST),
+	GPIO_PAD_CONF("SW22: UART2_CTS_B", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_NONE, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 15, NA, 0x4838, SOUTHWEST),
+	GPIO_PAD_CONF("SW19: UART2_RTS_B", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 12, NA, 0x4820, SOUTHWEST),
+	GPIO_PAD_CONF("SW17: UART2_RXD", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_NONE, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 10, NA, 0x4810, SOUTHWEST),
+	GPIO_PAD_CONF("SW21: UART2_TXD", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 14, NA, 0x4830, SOUTHWEST),
+	GPIO_PAD_CONF("SW50: I2C4_SCL", NATIVE, M3, NA, NA, NA,
+		      NA, NA, P_1K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 29, NA, 0x5028, SOUTHWEST),
+	GPIO_PAD_CONF("SW46: I2C4_SDA", NATIVE, M3, NA, NA, NA,
+		      NA, NA, P_1K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 25, NA, 0x5008, SOUTHWEST),
+	GPIO_PAD_CONF("SW49: I2C_NFC_SDA", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, INV_TX_ENABLE,
+		      NA, 28, NA, 0x5020, SOUTHWEST),
+	GPIO_PAD_CONF("SW52: I2C_NFC_SCL", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, INV_TX_ENABLE,
+		      NA, 31, NA, 0x5038, SOUTHWEST),
+	GPIO_PAD_CONF("SW77: GP_SSP_2_CLK", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 50, NA, 0x5c10, SOUTHWEST),
+	GPIO_PAD_CONF("SW81: GP_SSP_2_FS", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 54, NA, 0x5c30, SOUTHWEST),
+	GPIO_PAD_CONF("SW79: GP_SSP_2_RXD", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 52, NA, 0x5c20, SOUTHWEST),
+	GPIO_PAD_CONF("SW82: GP_SSP_2_TXD", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, INV_TX_ENABLE,
+		      NA, 55, NA, 0x5C38, SOUTHWEST),
+	GPIO_PAD_CONF("SW90: PCIE_CLKREQ0B", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 48, NA, 0x5c00, SOUTHWEST),
+	GPIO_PAD_CONF("SW91: PCIE_CLKREQ1B", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 49, NA, 0x5c08, SOUTHWEST),
+	GPIO_PAD_CONF("SW93: PCIE_CLKREQ2B", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 51, NA, 0x5c18, SOUTHWEST),
+	GPIO_PAD_CONF("SW95: PCIE_CLKREQ3B", NATIVE, M2, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 53, NA, 0x5c28, SOUTHWEST),
+	GPIO_PAD_CONF("SW75: SATA_GP0", GPIO, M1, GPO, HIGH, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 40, NA, 0x5800, SOUTHWEST),
+	GPIO_PAD_CONF("SW76: SATA_GP1", GPIO, M1, GPI, HIGH, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 41, NA, 0x5808, SOUTHWEST),
+	GPIO_PAD_CONF("SW78: SATA_GP2", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, ENABLE, NA, NA, NA, NO_INVERSION,
+		      NA, 43, NA, 0x5818, SOUTHWEST),
+	GPIO_PAD_CONF("SW80: SATA_GP3", GPIO, M2, GPI, LOW, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 45, NA, 0x5828, SOUTHWEST),
+	GPIO_PAD_CONF("SW77: SATA_LEDN", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, ENABLE, NA, NA, NA, NO_INVERSION,
+		      NA, 42, NA, 0x5810, SOUTHWEST),
+	GPIO_PAD_CONF("SW79: MF_SMB_ALERTB", NATIVE, M1, NA, NA,
+		      NA, NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 44, NA, 0x5820, SOUTHWEST),
+	GPIO_PAD_CONF("SW81: MF_SMB_CLK", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 46, NA, 0x5830, SOUTHWEST),
+	GPIO_PAD_CONF("SW82: MF_SMB_DATA", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 47, NA, 0x5838, SOUTHWEST),
+	GPIO_PAD_CONF("SW90: PCIE_CLKREQ0B", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NA,
+		      NA, 48, NA, 0x5c00, SOUTHWEST),
+	GPIO_PAD_CONF("SW91: PCIE_CLKREQ1B", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NA,
+		      NA, 49, NA, 0x5c08, SOUTHWEST),
+	GPIO_PAD_CONF("SW93: PCIE_CLKREQ2B", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NA,
+		      NA, 51, NA, 0x5c18, SOUTHWEST),
+	GPIO_PAD_CONF("SW95: PCIE_CLKREQ3B", NATIVE, M2, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NA,
+		      NA, 53, NA, 0x5c28, SOUTHWEST),
+	GPIO_PAD_CONF("SW75: SATA_GP0", GPIO, M1, GPO, HIGH, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA,
+		      NA, 40, NA, 0x5800, SOUTHWEST),
+	GPIO_PAD_CONF("SW76: SATA_GP1", GPIO, M1, GPI, HIGH, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA,
+		      NA, 41, NA, 0x5808, SOUTHWEST),
+	GPIO_PAD_CONF("SW78: SATA_GP2", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, ENABLE, NA, NA, NA, NA,
+		      NA, 43, NA, 0x5818, SOUTHWEST),
+	GPIO_PAD_CONF("SW80: SATA_GP3", GPIO, M2, GPI, LOW, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NA,
+		      NA, 45, NA, 0x5828, SOUTHWEST),
+	GPIO_PAD_CONF("SW77: SATA_LEDN", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, ENABLE, NA, NA, NA, NA,
+		      NA, 42, NA, 0x5810, SOUTHWEST),
+	GPIO_PAD_CONF("SW79: MF_SMB_ALERTB", NATIVE, M1, NA, NA,
+		      NA, NA, NA, P_20K_H, NA, NA, NA, NA, NA,
+		      NA, 44, NA, 0x5820, SOUTHWEST),
+	GPIO_PAD_CONF("SW81: MF_SMB_CLK", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NA,
+		      NA, 46, NA, 0x5830, SOUTHWEST),
+	GPIO_PAD_CONF("SW82: MF_SMB_DATA", NATIVE, M1, NA, NA, NA,
+		      NA, NA, P_20K_H, NA, NA, NA, NA, NA,
+		      NA, 47, NA, 0x5838, SOUTHWEST),
+
+	/* end of the table */
+	GPIO_PAD_CONF("GPIO PAD TABLE END", NATIVE, M1, NA, NA, NA,
+		      NA, NA, NA, NA, NA, NA, NA, NO_INVERSION,
+		      NA, 0, NA, 0, TERMINATOR),
+};
+
+void update_fsp_gpio_configs(const struct gpio_family **family,
+			     const struct gpio_pad **pad)
+{
+	*family = gpio_family;
+	*pad = gpio_pad;
+}
diff --git a/board/intel/cherryhill/start.S b/board/intel/cherryhill/start.S
new file mode 100644
index 0000000..11af9de
--- /dev/null
+++ b/board/intel/cherryhill/start.S
@@ -0,0 +1,9 @@
+/*
+ * Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+.globl early_board_init
+early_board_init:
+	jmp	early_board_init_ret
diff --git a/configs/cherryhill_defconfig b/configs/cherryhill_defconfig
new file mode 100644
index 0000000..a2017ac
--- /dev/null
+++ b/configs/cherryhill_defconfig
@@ -0,0 +1,36 @@
+CONFIG_X86=y
+CONFIG_VENDOR_INTEL=y
+CONFIG_DEFAULT_DEVICE_TREE="cherryhill"
+CONFIG_TARGET_CHERRYHILL=y
+CONFIG_DEBUG_UART=y
+CONFIG_SMP=y
+CONFIG_GENERATE_MP_TABLE=y
+CONFIG_SYS_CONSOLE_INFO_QUIET=y
+CONFIG_HUSH_PARSER=y
+CONFIG_CMD_CPU=y
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_FLASH is not set
+CONFIG_CMD_MMC=y
+CONFIG_CMD_SF=y
+CONFIG_CMD_SPI=y
+CONFIG_CMD_USB=y
+# CONFIG_CMD_SETEXPR is not set
+CONFIG_CMD_DHCP=y
+# CONFIG_CMD_NFS is not set
+CONFIG_CMD_PING=y
+CONFIG_CMD_TIME=y
+CONFIG_CMD_EXT2=y
+CONFIG_CMD_EXT4=y
+CONFIG_CMD_EXT4_WRITE=y
+CONFIG_CMD_FAT=y
+CONFIG_CMD_FS_GENERIC=y
+CONFIG_ISO_PARTITION=y
+CONFIG_EFI_PARTITION=y
+CONFIG_REGMAP=y
+CONFIG_SYSCON=y
+CONFIG_CPU=y
+CONFIG_RTL8169=y
+CONFIG_DEBUG_UART_BASE=0x3f8
+CONFIG_DEBUG_UART_CLOCK=1843200
+CONFIG_USB_STORAGE=y
+CONFIG_USB_KEYBOARD=y
diff --git a/doc/README.x86 b/doc/README.x86
index c542a69..c96a22c 100644
--- a/doc/README.x86
+++ b/doc/README.x86
@@ -26,6 +26,7 @@ In this case, known as bare mode, from the fact that it runs on the
 are supported:
 
    - Bayley Bay CRB
+   - Cherry Hill CRB
    - Congatec QEVAL 2.0 & conga-QA3/E3845
    - Cougar Canyon 2 CRB
    - Crown Bay CRB
@@ -332,6 +333,35 @@ the default value 0xfffc0000.
 
 ---
 
+Intel Cherry Hill specific instructions for bare mode:
+
+This uses Intel FSP for Braswell platform. Download it from Intel FSP website,
+put the .fd file to the board directory and rename it to fsp.bin.
+
+Extract descriptor.bin and me.bin from the original BIOS on the board using
+ifdtool and put them to the board directory as well.
+
+Note the FSP package for Braswell does not ship a traditional legacy VGA BIOS
+image for the integrated graphics device. Instead a new binary called Video
+BIOS Table (VBT) is shipped. Put it to the board directory and rename it to
+vbt.bin if you want graphics support in U-Boot.
+
+Now you can build U-Boot and obtain u-boot.rom
+
+$ make cherryhill_defconfig
+$ make all
+
+An important note for programming u-boot.rom to the on-board SPI flash is that
+you need make sure the SPI flash's 'quad enable' bit in its status register
+matches the settings in the descriptor.bin, otherwise the board won't boot.
+
+For the on-board SPI flash MX25U6435F, this can be done by writing 0x40 to the
+status register by DediProg in: Config > Modify Status Register > Write Status
+Register(s) > Register1 Value(Hex). This is is a one-time change. Once set, it
+persists in SPI flash part regardless of the u-boot.rom image burned.
+
+---
+
 Intel Galileo instructions for bare mode:
 
 Only one binary blob is needed for Remote Management Unit (RMU) within Intel
diff --git a/include/configs/cherryhill.h b/include/configs/cherryhill.h
new file mode 100644
index 0000000..14da9ca
--- /dev/null
+++ b/include/configs/cherryhill.h
@@ -0,0 +1,22 @@
+/*
+ * Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#ifndef __CONFIG_H
+#define __CONFIG_H
+
+#include <configs/x86-common.h>
+
+#define CONFIG_SYS_MONITOR_LEN		(2 << 20)
+
+#define CONFIG_STD_DEVICES_SETTINGS	"stdin=usbkbd,serial\0" \
+					"stdout=vidconsole,serial\0" \
+					"stderr=vidconsole,serial\0"
+
+/* Environment configuration */
+#define CONFIG_ENV_SECT_SIZE		0x10000
+#define CONFIG_ENV_OFFSET		0x005f0000
+
+#endif	/* __CONFIG_H */
-- 
2.9.2

^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 07/13] x86: dm: video: Add a framebuffer driver that utilizes VBT
  2017-08-16  5:41 ` [U-Boot] [PATCH 07/13] x86: dm: video: Add a framebuffer driver that utilizes VBT Bin Meng
@ 2017-08-26  3:36   ` Simon Glass
  2017-09-02 16:11     ` Bin Meng
  0 siblings, 1 reply; 47+ messages in thread
From: Simon Glass @ 2017-08-26  3:36 UTC (permalink / raw
  To: u-boot

On 15 August 2017 at 23:41, Bin Meng <bmeng.cn@gmail.com> wrote:
> When a VBT is given to an FSP that supports graphics initialization,
> the FSP will produce a graphics info HOB that contains all necessary
> information for the linear frame buffer of the integrated graphics
> device. This adds a DM video driver for it.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>
>  arch/x86/Kconfig                |   8 +++
>  arch/x86/lib/fsp/Makefile       |   1 +
>  arch/x86/lib/fsp/fsp_graphics.c | 124 ++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 133 insertions(+)
>  create mode 100644 arch/x86/lib/fsp/fsp_graphics.c

Reviewed-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 01/13] x86: tsc: Add Airmont reference clock values
  2017-08-16  5:41 ` [U-Boot] [PATCH 01/13] x86: tsc: Add Airmont reference clock values Bin Meng
@ 2017-08-26 13:38   ` Simon Glass
  2017-09-02 16:11     ` Bin Meng
  0 siblings, 1 reply; 47+ messages in thread
From: Simon Glass @ 2017-08-26 13:38 UTC (permalink / raw
  To: u-boot

On 15 August 2017 at 23:41, Bin Meng <bmeng.cn@gmail.com> wrote:
> Per the Intel 64 and IA-32 Architecture Software Developer's Manual,
> add the reference clock for Intel Atom Processors based on the Airmont
> Microarchitecture (Braswell).
>
> This keeps in sync with Linux kernel commit:
>   6fcb41c: x86/tsc_msr: Add Airmont reference clock values
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>
>  drivers/timer/tsc_timer.c | 17 ++++++++++-------
>  1 file changed, 10 insertions(+), 7 deletions(-)

Reviewed-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 02/13] x86: fsp: Update struct common_buf for FSP spec 1.1
  2017-08-16  5:41 ` [U-Boot] [PATCH 02/13] x86: fsp: Update struct common_buf for FSP spec 1.1 Bin Meng
@ 2017-08-26 13:38   ` Simon Glass
  2017-09-02 16:11     ` Bin Meng
  0 siblings, 1 reply; 47+ messages in thread
From: Simon Glass @ 2017-08-26 13:38 UTC (permalink / raw
  To: u-boot

On 15 August 2017 at 23:41, Bin Meng <bmeng.cn@gmail.com> wrote:
> FSP spec 1.1 adds one more member to the struct common_buf to
> determine the memory size that can be reserved by FSP below "top
> of low usable memory" for bootloader usage. This new member uses
> the reserved space so that it is still compatible with previous
> FSP spec 1.0.
>
> A new HOB (FSP_HOB_RESOURCE_OWNER_BOOTLOADER_TOLUM_GUID) is also
> published when common_buf.tolum_size is valid and non zero.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>
>  arch/x86/include/asm/fsp/fsp_api.h | 3 ++-
>  arch/x86/include/asm/fsp/fsp_hob.h | 8 ++++++++
>  2 files changed, 10 insertions(+), 1 deletion(-)

Reviewed-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 03/13] x86: fsp: Add FSP_GRAPHICS_INFO_HOB
  2017-08-16  5:41 ` [U-Boot] [PATCH 03/13] x86: fsp: Add FSP_GRAPHICS_INFO_HOB Bin Meng
@ 2017-08-26 13:38   ` Simon Glass
  2017-09-02 16:11     ` Bin Meng
  0 siblings, 1 reply; 47+ messages in thread
From: Simon Glass @ 2017-08-26 13:38 UTC (permalink / raw
  To: u-boot

On 15 August 2017 at 23:41, Bin Meng <bmeng.cn@gmail.com> wrote:
> This adds a new HOB type for graphics information introduced in FSP
> spec 1.1. When graphics capability is included in FSP and enabled,
> FSP produces an FSP_GRAPHICS_INFO_HOB as described in the EFI PI
> specification which provides information about the graphics mode and
> framebuffer.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>
>  arch/x86/include/asm/fsp/fsp_hob.h     | 26 ++++++++++++++++++++++++++
>  arch/x86/include/asm/fsp/fsp_support.h | 12 ++++++++++++
>  arch/x86/lib/fsp/fsp_support.c         |  7 +++++++
>  3 files changed, 45 insertions(+)

Reviewed-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 04/13] x86: Add Video BIOS Table (VBT) related Kconfig options
  2017-08-16  5:41 ` [U-Boot] [PATCH 04/13] x86: Add Video BIOS Table (VBT) related Kconfig options Bin Meng
@ 2017-08-26 13:38   ` Simon Glass
  2017-09-02 16:11     ` Bin Meng
  0 siblings, 1 reply; 47+ messages in thread
From: Simon Glass @ 2017-08-26 13:38 UTC (permalink / raw
  To: u-boot

On 15 August 2017 at 23:41, Bin Meng <bmeng.cn@gmail.com> wrote:
> This adds Kconfig options for Video BIOS Table which is normally
> required if you are using an Intel FSP firmware that is complaint
> with spec 1.1 or later to initialize the integrated graphics device.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>
>  arch/x86/Kconfig | 34 ++++++++++++++++++++++++++++++++++
>  1 file changed, 34 insertions(+)

Reviewed-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 05/13] tools: binman: Add a new entry type for Intel VBT
  2017-08-16  5:41 ` [U-Boot] [PATCH 05/13] tools: binman: Add a new entry type for Intel VBT Bin Meng
@ 2017-08-26 13:38   ` Simon Glass
  2017-09-02 16:11     ` Bin Meng
  0 siblings, 1 reply; 47+ messages in thread
From: Simon Glass @ 2017-08-26 13:38 UTC (permalink / raw
  To: u-boot

On 15 August 2017 at 23:41, Bin Meng <bmeng.cn@gmail.com> wrote:
> This adds a new entry type for Intel Video BIOS Table.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>
>  tools/binman/etype/intel_vbt.py    | 14 ++++++++++++++
>  tools/binman/func_test.py          |  9 ++++++++-
>  tools/binman/test/46_intel-vbt.dts | 14 ++++++++++++++
>  3 files changed, 36 insertions(+), 1 deletion(-)
>  create mode 100644 tools/binman/etype/intel_vbt.py
>  create mode 100644 tools/binman/test/46_intel-vbt.dts

Reviewed-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 06/13] x86: dts: Include Intel Video BIOS Table in the ROM image
  2017-08-16  5:41 ` [U-Boot] [PATCH 06/13] x86: dts: Include Intel Video BIOS Table in the ROM image Bin Meng
@ 2017-08-26 13:39   ` Simon Glass
  2017-09-02 16:11     ` Bin Meng
  0 siblings, 1 reply; 47+ messages in thread
From: Simon Glass @ 2017-08-26 13:39 UTC (permalink / raw
  To: u-boot

On 15 August 2017 at 23:41, Bin Meng <bmeng.cn@gmail.com> wrote:
> Now that binman is able to recognize the Video BIOS Table entry,
> add such one in the u-boot.dtsi.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>
>  arch/x86/dts/u-boot.dtsi | 6 ++++++
>  1 file changed, 6 insertions(+)

Reviewed-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 08/13] x86: fsp: Update fsp command to show spec 1.1 header
  2017-08-16  5:41 ` [U-Boot] [PATCH 08/13] x86: fsp: Update fsp command to show spec 1.1 header Bin Meng
@ 2017-08-26 13:39   ` Simon Glass
  2017-09-02 16:11     ` Bin Meng
  0 siblings, 1 reply; 47+ messages in thread
From: Simon Glass @ 2017-08-26 13:39 UTC (permalink / raw
  To: u-boot

On 15 August 2017 at 23:41, Bin Meng <bmeng.cn@gmail.com> wrote:
> FSP spec 1.1 adds 3 new APIs and their offsets are in the header.
> Update the 'fsp hdr' command to show these new entries.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>
>  arch/x86/include/asm/fsp/fsp_infoheader.h |  9 ++++++++-
>  arch/x86/lib/fsp/cmd_fsp.c                | 24 ++++++++++++++++++++++--
>  2 files changed, 30 insertions(+), 3 deletions(-)

Reviewed-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 09/13] x86: Add Intel Braswell SoC support
  2017-08-16  5:41 ` [U-Boot] [PATCH 09/13] x86: Add Intel Braswell SoC support Bin Meng
@ 2017-08-26 13:39   ` Simon Glass
  2017-08-26 13:55     ` Bin Meng
  0 siblings, 1 reply; 47+ messages in thread
From: Simon Glass @ 2017-08-26 13:39 UTC (permalink / raw
  To: u-boot

On 15 August 2017 at 23:41, Bin Meng <bmeng.cn@gmail.com> wrote:
> This adds initial Intel Braswell SoC support. It uses Intel FSP
> to initialize the chipset.
>
> Similar to its predecessor BayTrail, there are some work to do to
> enable the legacy UART integrated in the Braswell SoC.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>
>  arch/x86/Kconfig                           |   1 +
>  arch/x86/cpu/Makefile                      |   1 +
>  arch/x86/cpu/braswell/Kconfig              |  38 +++++++
>  arch/x86/cpu/braswell/Makefile             |   7 ++
>  arch/x86/cpu/braswell/braswell.c           |  36 ++++++
>  arch/x86/cpu/braswell/cpu.c                | 170 +++++++++++++++++++++++++++++
>  arch/x86/cpu/braswell/early_uart.c         |  86 +++++++++++++++
>  arch/x86/include/asm/arch-braswell/iomap.h |  50 +++++++++
>  8 files changed, 389 insertions(+)
>  create mode 100644 arch/x86/cpu/braswell/Kconfig
>  create mode 100644 arch/x86/cpu/braswell/Makefile
>  create mode 100644 arch/x86/cpu/braswell/braswell.c
>  create mode 100644 arch/x86/cpu/braswell/cpu.c
>  create mode 100644 arch/x86/cpu/braswell/early_uart.c
>  create mode 100644 arch/x86/include/asm/arch-braswell/iomap.h

Reviewed-by: Simon Glass <sjg@chromium.org>

A few nits / suggestions below.

>
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index f72d307..9620764 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -108,6 +108,7 @@ source "board/intel/Kconfig"
>
>  # platform-specific options below
>  source "arch/x86/cpu/baytrail/Kconfig"
> +source "arch/x86/cpu/braswell/Kconfig"
>  source "arch/x86/cpu/broadwell/Kconfig"
>  source "arch/x86/cpu/coreboot/Kconfig"
>  source "arch/x86/cpu/ivybridge/Kconfig"
> diff --git a/arch/x86/cpu/Makefile b/arch/x86/cpu/Makefile
> index 999429e..94cdff1 100644
> --- a/arch/x86/cpu/Makefile
> +++ b/arch/x86/cpu/Makefile
> @@ -27,6 +27,7 @@ endif
>
>  obj-y += intel_common/
>  obj-$(CONFIG_INTEL_BAYTRAIL) += baytrail/
> +obj-$(CONFIG_INTEL_BRASWELL) += braswell/
>  obj-$(CONFIG_INTEL_BROADWELL) += broadwell/
>  obj-$(CONFIG_SYS_COREBOOT) += coreboot/
>  obj-$(CONFIG_EFI_APP) += efi/
> diff --git a/arch/x86/cpu/braswell/Kconfig b/arch/x86/cpu/braswell/Kconfig
> new file mode 100644
> index 0000000..c993889
> --- /dev/null
> +++ b/arch/x86/cpu/braswell/Kconfig
> @@ -0,0 +1,38 @@
> +#
> +# Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com>
> +#
> +# SPDX-License-Identifier:     GPL-2.0+
> +#
> +
> +config INTEL_BRASWELL
> +       bool
> +       select HAVE_FSP
> +       select ARCH_MISC_INIT
> +       imply HAVE_INTEL_ME
> +       imply HAVE_VBT
> +       imply ENABLE_MRC_CACHE
> +       imply ENV_IS_IN_SPI_FLASH
> +       imply AHCI_PCI
> +       imply ICH_SPI
> +       imply MMC
> +       imply MMC_PCI
> +       imply MMC_SDHCI
> +       imply MMC_SDHCI_SDMA
> +       imply SCSI
> +       imply SPI_FLASH
> +       imply SYS_NS16550
> +       imply USB
> +       imply USB_XHCI_HCD
> +       imply VIDEO_FSP
> +
> +if INTEL_BRASWELL
> +
> +config FSP_ADDR
> +       hex
> +       default 0xfff20000
> +
> +config FSP_LOCKDOWN_SPI
> +       bool
> +       default y
> +
> +endif
> diff --git a/arch/x86/cpu/braswell/Makefile b/arch/x86/cpu/braswell/Makefile
> new file mode 100644
> index 0000000..19bcee6
> --- /dev/null
> +++ b/arch/x86/cpu/braswell/Makefile
> @@ -0,0 +1,7 @@
> +#
> +# Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com>
> +#
> +# SPDX-License-Identifier:     GPL-2.0+
> +#
> +
> +obj-y += braswell.o cpu.o early_uart.o
> diff --git a/arch/x86/cpu/braswell/braswell.c b/arch/x86/cpu/braswell/braswell.c
> new file mode 100644
> index 0000000..37099aa
> --- /dev/null
> +++ b/arch/x86/cpu/braswell/braswell.c
> @@ -0,0 +1,36 @@
> +/*
> + * Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com>
> + *
> + * SPDX-License-Identifier:    GPL-2.0+
> + */
> +
> +#include <common.h>
> +#include <asm/mrccache.h>
> +#include <asm/post.h>
> +
> +int arch_cpu_init(void)
> +{
> +       post_code(POST_CPU_INIT);
> +
> +       return x86_cpu_init_f();
> +}
> +
> +int arch_misc_init(void)
> +{
> +#ifdef CONFIG_ENABLE_MRC_CACHE
> +       /*
> +        * We intend not to check any return value here, as even MRC cache
> +        * is not saved successfully, it is not a severe error that will
> +        * prevent system from continuing to boot.
> +        */
> +       mrccache_save();
> +#endif
> +
> +       return 0;
> +}
> +
> +void reset_cpu(ulong addr)
> +{
> +       /* cold reset */
> +       x86_full_reset();
> +}
> diff --git a/arch/x86/cpu/braswell/cpu.c b/arch/x86/cpu/braswell/cpu.c
> new file mode 100644
> index 0000000..6ff9036
> --- /dev/null
> +++ b/arch/x86/cpu/braswell/cpu.c
> @@ -0,0 +1,170 @@
> +/*
> + * Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com>
> + *
> + * SPDX-License-Identifier:    GPL-2.0+
> + *
> + * Derived from arch/x86/cpu/baytrail/cpu.c
> + */
> +
> +#include <common.h>
> +#include <cpu.h>
> +#include <dm.h>
> +#include <asm/cpu.h>
> +#include <asm/cpu_x86.h>
> +#include <asm/io.h>
> +#include <asm/lapic.h>
> +#include <asm/msr.h>
> +#include <asm/turbo.h>
> +
> +static const unsigned int braswell_bus_freq_table[] = {
> +       83333333,
> +       100000000,
> +       133333333,
> +       116666666,
> +       80000000,
> +       93333333,
> +       90000000,
> +       88900000,
> +       87500000
> +};
> +
> +static unsigned int braswell_bus_freq(void)
> +{
> +       msr_t clk_info = msr_read(MSR_BSEL_CR_OVERCLOCK_CONTROL);
> +
> +       if ((clk_info.lo & 0xf) < (ARRAY_SIZE(braswell_bus_freq_table)))
> +               return braswell_bus_freq_table[clk_info.lo & 0xf];
> +
> +       return 0;
> +}
> +
> +static unsigned long braswell_tsc_freq(void)
> +{
> +       msr_t platform_info;
> +       ulong bclk = braswell_bus_freq();
> +
> +       if (!bclk)
> +               return 0;
> +
> +       platform_info = msr_read(MSR_PLATFORM_INFO);
> +
> +       return bclk * ((platform_info.lo >> 8) & 0xff);
> +}
> +
> +static int braswell_get_info(struct udevice *dev, struct cpu_info *info)
> +{
> +       info->cpu_freq = braswell_tsc_freq();
> +       info->features = (1 << CPU_FEAT_L1_CACHE) | (1 << CPU_FEAT_MMU);
> +
> +       return 0;
> +}
> +
> +static int braswell_get_count(struct udevice *dev)
> +{
> +       int ecx = 0;
> +
> +       /*
> +        * Use the algorithm described in Intel 64 and IA-32 Architectures
> +        * Software Developer's Manual Volume 3 (3A, 3B & 3C): System
> +        * Programming Guide, Jan-2015. Section 8.9.2: Hierarchical Mapping
> +        * of CPUID Extended Topology Leaf.
> +        */
> +       while (1) {
> +               struct cpuid_result leaf_b;
> +
> +               leaf_b = cpuid_ext(0xb, ecx);
> +
> +               /*
> +                * Braswell 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)
> +                       return leaf_b.ebx & 0xffff;
> +
> +               ecx++;
> +       }
> +
> +       return 0;
> +}
> +
> +static void braswell_set_max_freq(void)
> +{
> +       msr_t perf_ctl;
> +       msr_t msr;
> +
> +       /* Enable speed step */
> +       msr = msr_read(MSR_IA32_MISC_ENABLES);
> +       msr.lo |= (1 << 16);
> +       msr_write(MSR_IA32_MISC_ENABLES, msr);
> +
> +       /* Enable Burst Mode */
> +       msr = msr_read(MSR_IA32_MISC_ENABLES);
> +       msr.hi = 0;
> +       msr_write(MSR_IA32_MISC_ENABLES, msr);
> +
> +       /*
> +        * Set guaranteed ratio [21:16] from IACORE_TURBO_RATIOS to
> +        * bits [15:8] of the PERF_CTL
> +        */
> +       msr = msr_read(MSR_IACORE_TURBO_RATIOS);
> +       perf_ctl.lo = (msr.lo & 0x3f0000) >> 8;
> +
> +       /*
> +        * Set guaranteed vid [22:16] from IACORE_TURBO_VIDS to
> +        * bits [7:0] of the PERF_CTL
> +        */
> +       msr = msr_read(MSR_IACORE_TURBO_VIDS);
> +       perf_ctl.lo |= (msr.lo & 0x7f0000) >> 16;
> +
> +       perf_ctl.hi = 0;
> +       msr_write(MSR_IA32_PERF_CTL, perf_ctl);
> +}
> +
> +static int braswell_probe(struct udevice *dev)
> +{
> +       debug("Init Braswell core\n");
> +
> +       /*
> +        * On Braswell the turbo disable bit is actually scoped at the
> +        * building-block level, not package. For non-BSP cores that are
> +        * within a building block, enable turbo. The cores within the BSP's
> +        * building block will just see it already enabled and move on.
> +        */
> +       if (lapicid())
> +               turbo_enable();
> +
> +       /* Dynamic L2 shrink enable and threshold, clear SINGLE_PCTL bit 11 */
> +       msr_clrsetbits_64(MSR_PMG_CST_CONFIG_CONTROL, 0x3f080f, 0xe0008),
> +       msr_clrsetbits_64(MSR_POWER_MISC,
> +                         ENABLE_ULFM_AUTOCM_MASK | ENABLE_INDP_AUTOCM_MASK, 0);
> +
> +       /* Disable C1E */
> +       msr_clrsetbits_64(MSR_POWER_CTL, 2, 0);
> +       msr_setbits_64(MSR_POWER_MISC, 0x44);
> +
> +       /* Set this core to max frequency ratio */
> +       braswell_set_max_freq();
> +
> +       return 0;
> +}
> +
> +static const struct udevice_id braswell_ids[] = {
> +       { .compatible = "intel,braswell-cpu" },
> +       { }
> +};
> +
> +static const struct cpu_ops braswell_ops = {
> +       .get_desc       = cpu_x86_get_desc,
> +       .get_info       = braswell_get_info,
> +       .get_count      = braswell_get_count,
> +       .get_vendor     = cpu_x86_get_vendor,
> +};
> +
> +U_BOOT_DRIVER(cpu_x86_braswell_drv) = {
> +       .name           = "cpu_x86_braswell",
> +       .id             = UCLASS_CPU,
> +       .of_match       = braswell_ids,
> +       .bind           = cpu_x86_bind,
> +       .probe          = braswell_probe,
> +       .ops            = &braswell_ops,
> +};
> diff --git a/arch/x86/cpu/braswell/early_uart.c b/arch/x86/cpu/braswell/early_uart.c
> new file mode 100644
> index 0000000..0300e13
> --- /dev/null
> +++ b/arch/x86/cpu/braswell/early_uart.c
> @@ -0,0 +1,86 @@
> +/*
> + * Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com>
> + *
> + * SPDX-License-Identifier:    GPL-2.0+
> + */
> +
> +#include <common.h>
> +#include <asm/io.h>
> +
> +#define PCI_DEV_CONFIG(segbus, dev, fn) ( \
> +               (((segbus) & 0xfff) << 20) | \
> +               (((dev) & 0x1f) << 15) | \
> +               (((fn)  & 0x07) << 12))

This seems to be shared by baytrail? Do you think it should go in a header file?

> +
> +/* Platform Controller Unit */
> +#define LPC_DEV                        0x1f
> +#define LPC_FUNC               0
> +
> +/* Enable UART */
> +#define UART_CONT              0x80
> +
> +/* UART PAD definitions */
> +#define UART_RXD_COMMUITY      1
> +#define UART_TXD_COMMUITY      1
> +#define UART_RXD_FAMILY                4
> +#define UART_TXD_FAMILY                4
> +#define UART_RXD_PAD           2
> +#define UART_TXD_PAD           7
> +#define UART_RXD_FUNC          3
> +#define UART_TXD_FUNC          3
> +
> +/* IO Memory */
> +#define IO_BASE_ADDRESS                0xfed80000
> +
> +static inline uint32_t gpio_pconf0(int community, int family, int pad)
> +{
> +       return IO_BASE_ADDRESS + community * 0x8000 + 0x4400 +
> +               family * 0x400 + pad * 8;
> +}
> +
> +static void gpio_select_func(int community, int family, int pad, int func)
> +{
> +       uint32_t reg;
> +       uint32_t pconf0_addr = gpio_pconf0(community, family, pad);
> +
> +       reg = readl(pconf0_addr);
> +       reg &= ~(0xf << 16);
> +       reg |= (func << 16);
> +       writel(reg, pconf0_addr);

Can we use setclrbits_le32()?

> +}
> +
> +static void x86_pci_write_config32(int dev, unsigned int where, u32 value)
> +{
> +       unsigned long addr;
> +
> +       addr = CONFIG_PCIE_ECAM_BASE | dev | (where & ~3);
> +       writel(value, addr);
> +}
> +

Regards,
Simon

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 10/13] x86: braswell: Add microcode for B0/C0/D0 stepping SoC
  2017-08-16  5:41 ` [U-Boot] [PATCH 10/13] x86: braswell: Add microcode for B0/C0/D0 stepping SoC Bin Meng
@ 2017-08-26 13:39   ` Simon Glass
  2017-09-16  4:32     ` Bin Meng
  0 siblings, 1 reply; 47+ messages in thread
From: Simon Glass @ 2017-08-26 13:39 UTC (permalink / raw
  To: u-boot

On 15 August 2017 at 23:41, Bin Meng <bmeng.cn@gmail.com> wrote:
> This adds microcode device tree fragment for Braswell B0 (406C2),
> C0 (406C3) and D0 (406C4) stepping SoC.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>
>  arch/x86/dts/microcode/m01406c2220.dtsi | 4308 +++++++++++++++++++++++++++++++
>  arch/x86/dts/microcode/m01406c3363.dtsi | 4308 +++++++++++++++++++++++++++++++
>  arch/x86/dts/microcode/m01406c440a.dtsi | 4308 +++++++++++++++++++++++++++++++
>  3 files changed, 12924 insertions(+)
>  create mode 100644 arch/x86/dts/microcode/m01406c2220.dtsi
>  create mode 100644 arch/x86/dts/microcode/m01406c3363.dtsi
>  create mode 100644 arch/x86/dts/microcode/m01406c440a.dtsi

Reviewed-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 11/13] x86: braswell: Add FSP configuration
  2017-08-16  5:42 ` [U-Boot] [PATCH 11/13] x86: braswell: Add FSP configuration Bin Meng
@ 2017-08-26 13:39   ` Simon Glass
  2017-08-26 13:56     ` Bin Meng
  2017-09-16  4:32     ` Bin Meng
  0 siblings, 2 replies; 47+ messages in thread
From: Simon Glass @ 2017-08-26 13:39 UTC (permalink / raw
  To: u-boot

On 15 August 2017 at 23:42, Bin Meng <bmeng.cn@gmail.com> wrote:
> Add FSP related configuration for Braswell.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>
>  arch/x86/cpu/braswell/Makefile                     |   2 +-
>  arch/x86/cpu/braswell/fsp_configs.c                | 158 ++++++++++++++
>  .../include/asm/arch-braswell/fsp/fsp_configs.h    |  89 ++++++++
>  arch/x86/include/asm/arch-braswell/fsp/fsp_vpd.h   | 172 +++++++++++++++
>  arch/x86/include/asm/arch-braswell/gpio.h          | 234 +++++++++++++++++++++
>  5 files changed, 654 insertions(+), 1 deletion(-)
>  create mode 100644 arch/x86/cpu/braswell/fsp_configs.c
>  create mode 100644 arch/x86/include/asm/arch-braswell/fsp/fsp_configs.h
>  create mode 100644 arch/x86/include/asm/arch-braswell/fsp/fsp_vpd.h
>  create mode 100644 arch/x86/include/asm/arch-braswell/gpio.h
>

Reviewed-by: Simon Glass <sjg@chromium.org>

Can this use drivers instead of manual device-tree access?

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 12/13] x86: braswell: Disable PUNIT power configuration for B0 stepping
  2017-08-16  5:42 ` [U-Boot] [PATCH 12/13] x86: braswell: Disable PUNIT power configuration for B0 stepping Bin Meng
@ 2017-08-26 13:39   ` Simon Glass
  2017-09-16  4:32     ` Bin Meng
  0 siblings, 1 reply; 47+ messages in thread
From: Simon Glass @ 2017-08-26 13:39 UTC (permalink / raw
  To: u-boot

On 15 August 2017 at 23:42, Bin Meng <bmeng.cn@gmail.com> wrote:
> FSP's built-in UPD configuration enables PUNIT power configuration,
> but on B0 stepping, this causes CPU hangs in fsp_init(). Disable it.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>
>  arch/x86/cpu/braswell/fsp_configs.c | 6 ++++++
>  1 file changed, 6 insertions(+)

Reviewed-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 13/13] x86: Support Intel Cherry Hill board
  2017-08-16  5:42 ` [U-Boot] [PATCH 13/13] x86: Support Intel Cherry Hill board Bin Meng
@ 2017-08-26 13:39   ` Simon Glass
  2017-09-16  4:32     ` Bin Meng
  0 siblings, 1 reply; 47+ messages in thread
From: Simon Glass @ 2017-08-26 13:39 UTC (permalink / raw
  To: u-boot

On 15 August 2017 at 23:42, Bin Meng <bmeng.cn@gmail.com> wrote:
> This adds support to Intel Cherry Hill board, a board based on
> Intel Braswell SoC. The following devices are validated:
>
> - serial port as the serial console
> - on-board Realtek 8169 ethernet controller
> - SATA AHCI controller
> - EMMC/SDHC controller
> - USB 3.0 xHCI controller
> - PCIe x1 slot with a graphics card
> - ICH SPI controller with an 8MB Macronix SPI flash
> - Integrated graphics device as the video console
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>
> ---
>
>  arch/x86/dts/Makefile               |   1 +
>  arch/x86/dts/cherryhill.dts         | 215 +++++++++++++
>  board/intel/Kconfig                 |  10 +
>  board/intel/cherryhill/Kconfig      |  25 ++
>  board/intel/cherryhill/MAINTAINERS  |   6 +
>  board/intel/cherryhill/Makefile     |   7 +
>  board/intel/cherryhill/cherryhill.c | 596 ++++++++++++++++++++++++++++++++++++
>  board/intel/cherryhill/start.S      |   9 +
>  configs/cherryhill_defconfig        |  36 +++
>  doc/README.x86                      |  30 ++
>  include/configs/cherryhill.h        |  22 ++
>  11 files changed, 957 insertions(+)
>  create mode 100644 arch/x86/dts/cherryhill.dts
>  create mode 100644 board/intel/cherryhill/Kconfig
>  create mode 100644 board/intel/cherryhill/MAINTAINERS
>  create mode 100644 board/intel/cherryhill/Makefile
>  create mode 100644 board/intel/cherryhill/cherryhill.c
>  create mode 100644 board/intel/cherryhill/start.S
>  create mode 100644 configs/cherryhill_defconfig
>  create mode 100644 include/configs/cherryhill.h

Reviewed-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 09/13] x86: Add Intel Braswell SoC support
  2017-08-26 13:39   ` Simon Glass
@ 2017-08-26 13:55     ` Bin Meng
  2017-09-16  4:32       ` Bin Meng
  0 siblings, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-08-26 13:55 UTC (permalink / raw
  To: u-boot

Hi Simon,

On Sat, Aug 26, 2017 at 9:39 PM, Simon Glass <sjg@chromium.org> wrote:
> On 15 August 2017 at 23:41, Bin Meng <bmeng.cn@gmail.com> wrote:
>> This adds initial Intel Braswell SoC support. It uses Intel FSP
>> to initialize the chipset.
>>
>> Similar to its predecessor BayTrail, there are some work to do to
>> enable the legacy UART integrated in the Braswell SoC.
>>
>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>> ---
>>
>>  arch/x86/Kconfig                           |   1 +
>>  arch/x86/cpu/Makefile                      |   1 +
>>  arch/x86/cpu/braswell/Kconfig              |  38 +++++++
>>  arch/x86/cpu/braswell/Makefile             |   7 ++
>>  arch/x86/cpu/braswell/braswell.c           |  36 ++++++
>>  arch/x86/cpu/braswell/cpu.c                | 170 +++++++++++++++++++++++++++++
>>  arch/x86/cpu/braswell/early_uart.c         |  86 +++++++++++++++
>>  arch/x86/include/asm/arch-braswell/iomap.h |  50 +++++++++
>>  8 files changed, 389 insertions(+)
>>  create mode 100644 arch/x86/cpu/braswell/Kconfig
>>  create mode 100644 arch/x86/cpu/braswell/Makefile
>>  create mode 100644 arch/x86/cpu/braswell/braswell.c
>>  create mode 100644 arch/x86/cpu/braswell/cpu.c
>>  create mode 100644 arch/x86/cpu/braswell/early_uart.c
>>  create mode 100644 arch/x86/include/asm/arch-braswell/iomap.h
>
> Reviewed-by: Simon Glass <sjg@chromium.org>
>
> A few nits / suggestions below.
>
>>
>> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
>> index f72d307..9620764 100644
>> --- a/arch/x86/Kconfig
>> +++ b/arch/x86/Kconfig
>> @@ -108,6 +108,7 @@ source "board/intel/Kconfig"
>>
>>  # platform-specific options below
>>  source "arch/x86/cpu/baytrail/Kconfig"
>> +source "arch/x86/cpu/braswell/Kconfig"
>>  source "arch/x86/cpu/broadwell/Kconfig"
>>  source "arch/x86/cpu/coreboot/Kconfig"
>>  source "arch/x86/cpu/ivybridge/Kconfig"
>> diff --git a/arch/x86/cpu/Makefile b/arch/x86/cpu/Makefile
>> index 999429e..94cdff1 100644
>> --- a/arch/x86/cpu/Makefile
>> +++ b/arch/x86/cpu/Makefile
>> @@ -27,6 +27,7 @@ endif
>>
>>  obj-y += intel_common/
>>  obj-$(CONFIG_INTEL_BAYTRAIL) += baytrail/
>> +obj-$(CONFIG_INTEL_BRASWELL) += braswell/
>>  obj-$(CONFIG_INTEL_BROADWELL) += broadwell/
>>  obj-$(CONFIG_SYS_COREBOOT) += coreboot/
>>  obj-$(CONFIG_EFI_APP) += efi/
>> diff --git a/arch/x86/cpu/braswell/Kconfig b/arch/x86/cpu/braswell/Kconfig
>> new file mode 100644
>> index 0000000..c993889
>> --- /dev/null
>> +++ b/arch/x86/cpu/braswell/Kconfig
>> @@ -0,0 +1,38 @@
>> +#
>> +# Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com>
>> +#
>> +# SPDX-License-Identifier:     GPL-2.0+
>> +#
>> +
>> +config INTEL_BRASWELL
>> +       bool
>> +       select HAVE_FSP
>> +       select ARCH_MISC_INIT
>> +       imply HAVE_INTEL_ME
>> +       imply HAVE_VBT
>> +       imply ENABLE_MRC_CACHE
>> +       imply ENV_IS_IN_SPI_FLASH
>> +       imply AHCI_PCI
>> +       imply ICH_SPI
>> +       imply MMC
>> +       imply MMC_PCI
>> +       imply MMC_SDHCI
>> +       imply MMC_SDHCI_SDMA
>> +       imply SCSI
>> +       imply SPI_FLASH
>> +       imply SYS_NS16550
>> +       imply USB
>> +       imply USB_XHCI_HCD
>> +       imply VIDEO_FSP
>> +
>> +if INTEL_BRASWELL
>> +
>> +config FSP_ADDR
>> +       hex
>> +       default 0xfff20000
>> +
>> +config FSP_LOCKDOWN_SPI
>> +       bool
>> +       default y
>> +
>> +endif
>> diff --git a/arch/x86/cpu/braswell/Makefile b/arch/x86/cpu/braswell/Makefile
>> new file mode 100644
>> index 0000000..19bcee6
>> --- /dev/null
>> +++ b/arch/x86/cpu/braswell/Makefile
>> @@ -0,0 +1,7 @@
>> +#
>> +# Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com>
>> +#
>> +# SPDX-License-Identifier:     GPL-2.0+
>> +#
>> +
>> +obj-y += braswell.o cpu.o early_uart.o
>> diff --git a/arch/x86/cpu/braswell/braswell.c b/arch/x86/cpu/braswell/braswell.c
>> new file mode 100644
>> index 0000000..37099aa
>> --- /dev/null
>> +++ b/arch/x86/cpu/braswell/braswell.c
>> @@ -0,0 +1,36 @@
>> +/*
>> + * Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com>
>> + *
>> + * SPDX-License-Identifier:    GPL-2.0+
>> + */
>> +
>> +#include <common.h>
>> +#include <asm/mrccache.h>
>> +#include <asm/post.h>
>> +
>> +int arch_cpu_init(void)
>> +{
>> +       post_code(POST_CPU_INIT);
>> +
>> +       return x86_cpu_init_f();
>> +}
>> +
>> +int arch_misc_init(void)
>> +{
>> +#ifdef CONFIG_ENABLE_MRC_CACHE
>> +       /*
>> +        * We intend not to check any return value here, as even MRC cache
>> +        * is not saved successfully, it is not a severe error that will
>> +        * prevent system from continuing to boot.
>> +        */
>> +       mrccache_save();
>> +#endif
>> +
>> +       return 0;
>> +}
>> +
>> +void reset_cpu(ulong addr)
>> +{
>> +       /* cold reset */
>> +       x86_full_reset();
>> +}
>> diff --git a/arch/x86/cpu/braswell/cpu.c b/arch/x86/cpu/braswell/cpu.c
>> new file mode 100644
>> index 0000000..6ff9036
>> --- /dev/null
>> +++ b/arch/x86/cpu/braswell/cpu.c
>> @@ -0,0 +1,170 @@
>> +/*
>> + * Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com>
>> + *
>> + * SPDX-License-Identifier:    GPL-2.0+
>> + *
>> + * Derived from arch/x86/cpu/baytrail/cpu.c
>> + */
>> +
>> +#include <common.h>
>> +#include <cpu.h>
>> +#include <dm.h>
>> +#include <asm/cpu.h>
>> +#include <asm/cpu_x86.h>
>> +#include <asm/io.h>
>> +#include <asm/lapic.h>
>> +#include <asm/msr.h>
>> +#include <asm/turbo.h>
>> +
>> +static const unsigned int braswell_bus_freq_table[] = {
>> +       83333333,
>> +       100000000,
>> +       133333333,
>> +       116666666,
>> +       80000000,
>> +       93333333,
>> +       90000000,
>> +       88900000,
>> +       87500000
>> +};
>> +
>> +static unsigned int braswell_bus_freq(void)
>> +{
>> +       msr_t clk_info = msr_read(MSR_BSEL_CR_OVERCLOCK_CONTROL);
>> +
>> +       if ((clk_info.lo & 0xf) < (ARRAY_SIZE(braswell_bus_freq_table)))
>> +               return braswell_bus_freq_table[clk_info.lo & 0xf];
>> +
>> +       return 0;
>> +}
>> +
>> +static unsigned long braswell_tsc_freq(void)
>> +{
>> +       msr_t platform_info;
>> +       ulong bclk = braswell_bus_freq();
>> +
>> +       if (!bclk)
>> +               return 0;
>> +
>> +       platform_info = msr_read(MSR_PLATFORM_INFO);
>> +
>> +       return bclk * ((platform_info.lo >> 8) & 0xff);
>> +}
>> +
>> +static int braswell_get_info(struct udevice *dev, struct cpu_info *info)
>> +{
>> +       info->cpu_freq = braswell_tsc_freq();
>> +       info->features = (1 << CPU_FEAT_L1_CACHE) | (1 << CPU_FEAT_MMU);
>> +
>> +       return 0;
>> +}
>> +
>> +static int braswell_get_count(struct udevice *dev)
>> +{
>> +       int ecx = 0;
>> +
>> +       /*
>> +        * Use the algorithm described in Intel 64 and IA-32 Architectures
>> +        * Software Developer's Manual Volume 3 (3A, 3B & 3C): System
>> +        * Programming Guide, Jan-2015. Section 8.9.2: Hierarchical Mapping
>> +        * of CPUID Extended Topology Leaf.
>> +        */
>> +       while (1) {
>> +               struct cpuid_result leaf_b;
>> +
>> +               leaf_b = cpuid_ext(0xb, ecx);
>> +
>> +               /*
>> +                * Braswell 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)
>> +                       return leaf_b.ebx & 0xffff;
>> +
>> +               ecx++;
>> +       }
>> +
>> +       return 0;
>> +}
>> +
>> +static void braswell_set_max_freq(void)
>> +{
>> +       msr_t perf_ctl;
>> +       msr_t msr;
>> +
>> +       /* Enable speed step */
>> +       msr = msr_read(MSR_IA32_MISC_ENABLES);
>> +       msr.lo |= (1 << 16);
>> +       msr_write(MSR_IA32_MISC_ENABLES, msr);
>> +
>> +       /* Enable Burst Mode */
>> +       msr = msr_read(MSR_IA32_MISC_ENABLES);
>> +       msr.hi = 0;
>> +       msr_write(MSR_IA32_MISC_ENABLES, msr);
>> +
>> +       /*
>> +        * Set guaranteed ratio [21:16] from IACORE_TURBO_RATIOS to
>> +        * bits [15:8] of the PERF_CTL
>> +        */
>> +       msr = msr_read(MSR_IACORE_TURBO_RATIOS);
>> +       perf_ctl.lo = (msr.lo & 0x3f0000) >> 8;
>> +
>> +       /*
>> +        * Set guaranteed vid [22:16] from IACORE_TURBO_VIDS to
>> +        * bits [7:0] of the PERF_CTL
>> +        */
>> +       msr = msr_read(MSR_IACORE_TURBO_VIDS);
>> +       perf_ctl.lo |= (msr.lo & 0x7f0000) >> 16;
>> +
>> +       perf_ctl.hi = 0;
>> +       msr_write(MSR_IA32_PERF_CTL, perf_ctl);
>> +}
>> +
>> +static int braswell_probe(struct udevice *dev)
>> +{
>> +       debug("Init Braswell core\n");
>> +
>> +       /*
>> +        * On Braswell the turbo disable bit is actually scoped at the
>> +        * building-block level, not package. For non-BSP cores that are
>> +        * within a building block, enable turbo. The cores within the BSP's
>> +        * building block will just see it already enabled and move on.
>> +        */
>> +       if (lapicid())
>> +               turbo_enable();
>> +
>> +       /* Dynamic L2 shrink enable and threshold, clear SINGLE_PCTL bit 11 */
>> +       msr_clrsetbits_64(MSR_PMG_CST_CONFIG_CONTROL, 0x3f080f, 0xe0008),
>> +       msr_clrsetbits_64(MSR_POWER_MISC,
>> +                         ENABLE_ULFM_AUTOCM_MASK | ENABLE_INDP_AUTOCM_MASK, 0);
>> +
>> +       /* Disable C1E */
>> +       msr_clrsetbits_64(MSR_POWER_CTL, 2, 0);
>> +       msr_setbits_64(MSR_POWER_MISC, 0x44);
>> +
>> +       /* Set this core to max frequency ratio */
>> +       braswell_set_max_freq();
>> +
>> +       return 0;
>> +}
>> +
>> +static const struct udevice_id braswell_ids[] = {
>> +       { .compatible = "intel,braswell-cpu" },
>> +       { }
>> +};
>> +
>> +static const struct cpu_ops braswell_ops = {
>> +       .get_desc       = cpu_x86_get_desc,
>> +       .get_info       = braswell_get_info,
>> +       .get_count      = braswell_get_count,
>> +       .get_vendor     = cpu_x86_get_vendor,
>> +};
>> +
>> +U_BOOT_DRIVER(cpu_x86_braswell_drv) = {
>> +       .name           = "cpu_x86_braswell",
>> +       .id             = UCLASS_CPU,
>> +       .of_match       = braswell_ids,
>> +       .bind           = cpu_x86_bind,
>> +       .probe          = braswell_probe,
>> +       .ops            = &braswell_ops,
>> +};
>> diff --git a/arch/x86/cpu/braswell/early_uart.c b/arch/x86/cpu/braswell/early_uart.c
>> new file mode 100644
>> index 0000000..0300e13
>> --- /dev/null
>> +++ b/arch/x86/cpu/braswell/early_uart.c
>> @@ -0,0 +1,86 @@
>> +/*
>> + * Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com>
>> + *
>> + * SPDX-License-Identifier:    GPL-2.0+
>> + */
>> +
>> +#include <common.h>
>> +#include <asm/io.h>
>> +
>> +#define PCI_DEV_CONFIG(segbus, dev, fn) ( \
>> +               (((segbus) & 0xfff) << 20) | \
>> +               (((dev) & 0x1f) << 15) | \
>> +               (((fn)  & 0x07) << 12))
>
> This seems to be shared by baytrail? Do you think it should go in a header file?
>

Yes, I think so.

>> +
>> +/* Platform Controller Unit */
>> +#define LPC_DEV                        0x1f
>> +#define LPC_FUNC               0
>> +
>> +/* Enable UART */
>> +#define UART_CONT              0x80
>> +
>> +/* UART PAD definitions */
>> +#define UART_RXD_COMMUITY      1
>> +#define UART_TXD_COMMUITY      1
>> +#define UART_RXD_FAMILY                4
>> +#define UART_TXD_FAMILY                4
>> +#define UART_RXD_PAD           2
>> +#define UART_TXD_PAD           7
>> +#define UART_RXD_FUNC          3
>> +#define UART_TXD_FUNC          3
>> +
>> +/* IO Memory */
>> +#define IO_BASE_ADDRESS                0xfed80000
>> +
>> +static inline uint32_t gpio_pconf0(int community, int family, int pad)
>> +{
>> +       return IO_BASE_ADDRESS + community * 0x8000 + 0x4400 +
>> +               family * 0x400 + pad * 8;
>> +}
>> +
>> +static void gpio_select_func(int community, int family, int pad, int func)
>> +{
>> +       uint32_t reg;
>> +       uint32_t pconf0_addr = gpio_pconf0(community, family, pad);
>> +
>> +       reg = readl(pconf0_addr);
>> +       reg &= ~(0xf << 16);
>> +       reg |= (func << 16);
>> +       writel(reg, pconf0_addr);
>
> Can we use setclrbits_le32()?

Will do in v2.

>
>> +}
>> +
>> +static void x86_pci_write_config32(int dev, unsigned int where, u32 value)
>> +{
>> +       unsigned long addr;
>> +
>> +       addr = CONFIG_PCIE_ECAM_BASE | dev | (where & ~3);
>> +       writel(value, addr);
>> +}
>> +

Regards,
Bin

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 11/13] x86: braswell: Add FSP configuration
  2017-08-26 13:39   ` Simon Glass
@ 2017-08-26 13:56     ` Bin Meng
  2017-08-26 22:39       ` Simon Glass
  2017-09-16  4:32     ` Bin Meng
  1 sibling, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-08-26 13:56 UTC (permalink / raw
  To: u-boot

Hi Simon,

On Sat, Aug 26, 2017 at 9:39 PM, Simon Glass <sjg@chromium.org> wrote:
> On 15 August 2017 at 23:42, Bin Meng <bmeng.cn@gmail.com> wrote:
>> Add FSP related configuration for Braswell.
>>
>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>> ---
>>
>>  arch/x86/cpu/braswell/Makefile                     |   2 +-
>>  arch/x86/cpu/braswell/fsp_configs.c                | 158 ++++++++++++++
>>  .../include/asm/arch-braswell/fsp/fsp_configs.h    |  89 ++++++++
>>  arch/x86/include/asm/arch-braswell/fsp/fsp_vpd.h   | 172 +++++++++++++++
>>  arch/x86/include/asm/arch-braswell/gpio.h          | 234 +++++++++++++++++++++
>>  5 files changed, 654 insertions(+), 1 deletion(-)
>>  create mode 100644 arch/x86/cpu/braswell/fsp_configs.c
>>  create mode 100644 arch/x86/include/asm/arch-braswell/fsp/fsp_configs.h
>>  create mode 100644 arch/x86/include/asm/arch-braswell/fsp/fsp_vpd.h
>>  create mode 100644 arch/x86/include/asm/arch-braswell/gpio.h
>>
>
> Reviewed-by: Simon Glass <sjg@chromium.org>
>
> Can this use drivers instead of manual device-tree access?

Which part?

Regards,
Bin

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 11/13] x86: braswell: Add FSP configuration
  2017-08-26 13:56     ` Bin Meng
@ 2017-08-26 22:39       ` Simon Glass
  2017-08-27  0:10         ` Bin Meng
  0 siblings, 1 reply; 47+ messages in thread
From: Simon Glass @ 2017-08-26 22:39 UTC (permalink / raw
  To: u-boot

Hi Bin,

On 26 August 2017 at 07:56, Bin Meng <bmeng.cn@gmail.com> wrote:
> Hi Simon,
>
> On Sat, Aug 26, 2017 at 9:39 PM, Simon Glass <sjg@chromium.org> wrote:
>> On 15 August 2017 at 23:42, Bin Meng <bmeng.cn@gmail.com> wrote:
>>> Add FSP related configuration for Braswell.
>>>
>>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>>> ---
>>>
>>>  arch/x86/cpu/braswell/Makefile                     |   2 +-
>>>  arch/x86/cpu/braswell/fsp_configs.c                | 158 ++++++++++++++
>>>  .../include/asm/arch-braswell/fsp/fsp_configs.h    |  89 ++++++++
>>>  arch/x86/include/asm/arch-braswell/fsp/fsp_vpd.h   | 172 +++++++++++++++
>>>  arch/x86/include/asm/arch-braswell/gpio.h          | 234 +++++++++++++++++++++
>>>  5 files changed, 654 insertions(+), 1 deletion(-)
>>>  create mode 100644 arch/x86/cpu/braswell/fsp_configs.c
>>>  create mode 100644 arch/x86/include/asm/arch-braswell/fsp/fsp_configs.h
>>>  create mode 100644 arch/x86/include/asm/arch-braswell/fsp/fsp_vpd.h
>>>  create mode 100644 arch/x86/include/asm/arch-braswell/gpio.h
>>>
>>
>> Reviewed-by: Simon Glass <sjg@chromium.org>
>>
>> Can this use drivers instead of manual device-tree access?
>
> Which part?

Well you have intel,braswell-fsp for example. You could create a
driver with the two compatible strings and have it read the platdata
from the DT in the ofdata_to_platdata() method.

Regards,
Simon

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 11/13] x86: braswell: Add FSP configuration
  2017-08-26 22:39       ` Simon Glass
@ 2017-08-27  0:10         ` Bin Meng
  2017-09-06  1:39           ` Simon Glass
  0 siblings, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-08-27  0:10 UTC (permalink / raw
  To: u-boot

Hi Simon,

On Sun, Aug 27, 2017 at 6:39 AM, Simon Glass <sjg@chromium.org> wrote:
> Hi Bin,
>
> On 26 August 2017 at 07:56, Bin Meng <bmeng.cn@gmail.com> wrote:
>> Hi Simon,
>>
>> On Sat, Aug 26, 2017 at 9:39 PM, Simon Glass <sjg@chromium.org> wrote:
>>> On 15 August 2017 at 23:42, Bin Meng <bmeng.cn@gmail.com> wrote:
>>>> Add FSP related configuration for Braswell.
>>>>
>>>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>>>> ---
>>>>
>>>>  arch/x86/cpu/braswell/Makefile                     |   2 +-
>>>>  arch/x86/cpu/braswell/fsp_configs.c                | 158 ++++++++++++++
>>>>  .../include/asm/arch-braswell/fsp/fsp_configs.h    |  89 ++++++++
>>>>  arch/x86/include/asm/arch-braswell/fsp/fsp_vpd.h   | 172 +++++++++++++++
>>>>  arch/x86/include/asm/arch-braswell/gpio.h          | 234 +++++++++++++++++++++
>>>>  5 files changed, 654 insertions(+), 1 deletion(-)
>>>>  create mode 100644 arch/x86/cpu/braswell/fsp_configs.c
>>>>  create mode 100644 arch/x86/include/asm/arch-braswell/fsp/fsp_configs.h
>>>>  create mode 100644 arch/x86/include/asm/arch-braswell/fsp/fsp_vpd.h
>>>>  create mode 100644 arch/x86/include/asm/arch-braswell/gpio.h
>>>>
>>>
>>> Reviewed-by: Simon Glass <sjg@chromium.org>
>>>
>>> Can this use drivers instead of manual device-tree access?
>>
>> Which part?
>
> Well you have intel,braswell-fsp for example. You could create a
> driver with the two compatible strings and have it read the platdata
> from the DT in the ofdata_to_platdata() method.

I thought this before. We discussed the possibility of adding a new
FSP uclass long time ago. When I added the Braswell support, I wanted
to have a try since Braswell's FSP is v1.1 spec complaint and if we
have a uclass for FSP we can put the common stuff in the uclass
driver. But in the end I did not do it because:

1. FSP's initialization sequence is just a one time initialization and
we don't do anything after the initialization completes.
2. Making a uclass for FSP means we have to delay fsp_init() to after
initf_dm().But after fsp_init(), we will return to board_init_f()
again and do the initialization for the second time. So all previous
platdata of FSP that is set up by DM gets lost during this process.
3. There are some other architecture-dependent stuff in the
arch_fsp_init() that is not suitable to be put in a FSP driver.

Regards,
Bin

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 01/13] x86: tsc: Add Airmont reference clock values
  2017-08-26 13:38   ` Simon Glass
@ 2017-09-02 16:11     ` Bin Meng
  0 siblings, 0 replies; 47+ messages in thread
From: Bin Meng @ 2017-09-02 16:11 UTC (permalink / raw
  To: u-boot

On Sat, Aug 26, 2017 at 9:38 PM, Simon Glass <sjg@chromium.org> wrote:
> On 15 August 2017 at 23:41, Bin Meng <bmeng.cn@gmail.com> wrote:
>> Per the Intel 64 and IA-32 Architecture Software Developer's Manual,
>> add the reference clock for Intel Atom Processors based on the Airmont
>> Microarchitecture (Braswell).
>>
>> This keeps in sync with Linux kernel commit:
>>   6fcb41c: x86/tsc_msr: Add Airmont reference clock values
>>
>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>> ---
>>
>>  drivers/timer/tsc_timer.c | 17 ++++++++++-------
>>  1 file changed, 10 insertions(+), 7 deletions(-)
>
> Reviewed-by: Simon Glass <sjg@chromium.org>

applied to u-boot-x86/next, thanks!

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 02/13] x86: fsp: Update struct common_buf for FSP spec 1.1
  2017-08-26 13:38   ` Simon Glass
@ 2017-09-02 16:11     ` Bin Meng
  0 siblings, 0 replies; 47+ messages in thread
From: Bin Meng @ 2017-09-02 16:11 UTC (permalink / raw
  To: u-boot

On Sat, Aug 26, 2017 at 9:38 PM, Simon Glass <sjg@chromium.org> wrote:
> On 15 August 2017 at 23:41, Bin Meng <bmeng.cn@gmail.com> wrote:
>> FSP spec 1.1 adds one more member to the struct common_buf to
>> determine the memory size that can be reserved by FSP below "top
>> of low usable memory" for bootloader usage. This new member uses
>> the reserved space so that it is still compatible with previous
>> FSP spec 1.0.
>>
>> A new HOB (FSP_HOB_RESOURCE_OWNER_BOOTLOADER_TOLUM_GUID) is also
>> published when common_buf.tolum_size is valid and non zero.
>>
>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>> ---
>>
>>  arch/x86/include/asm/fsp/fsp_api.h | 3 ++-
>>  arch/x86/include/asm/fsp/fsp_hob.h | 8 ++++++++
>>  2 files changed, 10 insertions(+), 1 deletion(-)
>
> Reviewed-by: Simon Glass <sjg@chromium.org>

applied to u-boot-x86/next, thanks!

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 03/13] x86: fsp: Add FSP_GRAPHICS_INFO_HOB
  2017-08-26 13:38   ` Simon Glass
@ 2017-09-02 16:11     ` Bin Meng
  0 siblings, 0 replies; 47+ messages in thread
From: Bin Meng @ 2017-09-02 16:11 UTC (permalink / raw
  To: u-boot

On Sat, Aug 26, 2017 at 9:38 PM, Simon Glass <sjg@chromium.org> wrote:
> On 15 August 2017 at 23:41, Bin Meng <bmeng.cn@gmail.com> wrote:
>> This adds a new HOB type for graphics information introduced in FSP
>> spec 1.1. When graphics capability is included in FSP and enabled,
>> FSP produces an FSP_GRAPHICS_INFO_HOB as described in the EFI PI
>> specification which provides information about the graphics mode and
>> framebuffer.
>>
>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>> ---
>>
>>  arch/x86/include/asm/fsp/fsp_hob.h     | 26 ++++++++++++++++++++++++++
>>  arch/x86/include/asm/fsp/fsp_support.h | 12 ++++++++++++
>>  arch/x86/lib/fsp/fsp_support.c         |  7 +++++++
>>  3 files changed, 45 insertions(+)
>
> Reviewed-by: Simon Glass <sjg@chromium.org>

applied to u-boot-x86/next, thanks!

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 04/13] x86: Add Video BIOS Table (VBT) related Kconfig options
  2017-08-26 13:38   ` Simon Glass
@ 2017-09-02 16:11     ` Bin Meng
  0 siblings, 0 replies; 47+ messages in thread
From: Bin Meng @ 2017-09-02 16:11 UTC (permalink / raw
  To: u-boot

On Sat, Aug 26, 2017 at 9:38 PM, Simon Glass <sjg@chromium.org> wrote:
> On 15 August 2017 at 23:41, Bin Meng <bmeng.cn@gmail.com> wrote:
>> This adds Kconfig options for Video BIOS Table which is normally
>> required if you are using an Intel FSP firmware that is complaint
>> with spec 1.1 or later to initialize the integrated graphics device.
>>
>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>> ---
>>
>>  arch/x86/Kconfig | 34 ++++++++++++++++++++++++++++++++++
>>  1 file changed, 34 insertions(+)
>
> Reviewed-by: Simon Glass <sjg@chromium.org>

applied to u-boot-x86/next, thanks!

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 05/13] tools: binman: Add a new entry type for Intel VBT
  2017-08-26 13:38   ` Simon Glass
@ 2017-09-02 16:11     ` Bin Meng
  0 siblings, 0 replies; 47+ messages in thread
From: Bin Meng @ 2017-09-02 16:11 UTC (permalink / raw
  To: u-boot

On Sat, Aug 26, 2017 at 9:38 PM, Simon Glass <sjg@chromium.org> wrote:
> On 15 August 2017 at 23:41, Bin Meng <bmeng.cn@gmail.com> wrote:
>> This adds a new entry type for Intel Video BIOS Table.
>>
>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>> ---
>>
>>  tools/binman/etype/intel_vbt.py    | 14 ++++++++++++++
>>  tools/binman/func_test.py          |  9 ++++++++-
>>  tools/binman/test/46_intel-vbt.dts | 14 ++++++++++++++
>>  3 files changed, 36 insertions(+), 1 deletion(-)
>>  create mode 100644 tools/binman/etype/intel_vbt.py
>>  create mode 100644 tools/binman/test/46_intel-vbt.dts
>
> Reviewed-by: Simon Glass <sjg@chromium.org>

applied to u-boot-x86/next, thanks!

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 06/13] x86: dts: Include Intel Video BIOS Table in the ROM image
  2017-08-26 13:39   ` Simon Glass
@ 2017-09-02 16:11     ` Bin Meng
  0 siblings, 0 replies; 47+ messages in thread
From: Bin Meng @ 2017-09-02 16:11 UTC (permalink / raw
  To: u-boot

On Sat, Aug 26, 2017 at 9:39 PM, Simon Glass <sjg@chromium.org> wrote:
> On 15 August 2017 at 23:41, Bin Meng <bmeng.cn@gmail.com> wrote:
>> Now that binman is able to recognize the Video BIOS Table entry,
>> add such one in the u-boot.dtsi.
>>
>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>> ---
>>
>>  arch/x86/dts/u-boot.dtsi | 6 ++++++
>>  1 file changed, 6 insertions(+)
>
> Reviewed-by: Simon Glass <sjg@chromium.org>

applied to u-boot-x86/next, thanks!

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 07/13] x86: dm: video: Add a framebuffer driver that utilizes VBT
  2017-08-26  3:36   ` Simon Glass
@ 2017-09-02 16:11     ` Bin Meng
  0 siblings, 0 replies; 47+ messages in thread
From: Bin Meng @ 2017-09-02 16:11 UTC (permalink / raw
  To: u-boot

On Sat, Aug 26, 2017 at 11:36 AM, Simon Glass <sjg@chromium.org> wrote:
> On 15 August 2017 at 23:41, Bin Meng <bmeng.cn@gmail.com> wrote:
>> When a VBT is given to an FSP that supports graphics initialization,
>> the FSP will produce a graphics info HOB that contains all necessary
>> information for the linear frame buffer of the integrated graphics
>> device. This adds a DM video driver for it.
>>
>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>> ---
>>
>>  arch/x86/Kconfig                |   8 +++
>>  arch/x86/lib/fsp/Makefile       |   1 +
>>  arch/x86/lib/fsp/fsp_graphics.c | 124 ++++++++++++++++++++++++++++++++++++++++
>>  3 files changed, 133 insertions(+)
>>  create mode 100644 arch/x86/lib/fsp/fsp_graphics.c
>
> Reviewed-by: Simon Glass <sjg@chromium.org>

applied to u-boot-x86/next, thanks!

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 08/13] x86: fsp: Update fsp command to show spec 1.1 header
  2017-08-26 13:39   ` Simon Glass
@ 2017-09-02 16:11     ` Bin Meng
  0 siblings, 0 replies; 47+ messages in thread
From: Bin Meng @ 2017-09-02 16:11 UTC (permalink / raw
  To: u-boot

On Sat, Aug 26, 2017 at 9:39 PM, Simon Glass <sjg@chromium.org> wrote:
> On 15 August 2017 at 23:41, Bin Meng <bmeng.cn@gmail.com> wrote:
>> FSP spec 1.1 adds 3 new APIs and their offsets are in the header.
>> Update the 'fsp hdr' command to show these new entries.
>>
>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>> ---
>>
>>  arch/x86/include/asm/fsp/fsp_infoheader.h |  9 ++++++++-
>>  arch/x86/lib/fsp/cmd_fsp.c                | 24 ++++++++++++++++++++++--
>>  2 files changed, 30 insertions(+), 3 deletions(-)
>
> Reviewed-by: Simon Glass <sjg@chromium.org>

applied to u-boot-x86/next, thanks!

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 11/13] x86: braswell: Add FSP configuration
  2017-08-27  0:10         ` Bin Meng
@ 2017-09-06  1:39           ` Simon Glass
  2017-09-12 15:20             ` Bin Meng
  0 siblings, 1 reply; 47+ messages in thread
From: Simon Glass @ 2017-09-06  1:39 UTC (permalink / raw
  To: u-boot

Hi Bin,

On 26 August 2017 at 18:10, Bin Meng <bmeng.cn@gmail.com> wrote:
> Hi Simon,
>
> On Sun, Aug 27, 2017 at 6:39 AM, Simon Glass <sjg@chromium.org> wrote:
>> Hi Bin,
>>
>> On 26 August 2017 at 07:56, Bin Meng <bmeng.cn@gmail.com> wrote:
>>> Hi Simon,
>>>
>>> On Sat, Aug 26, 2017 at 9:39 PM, Simon Glass <sjg@chromium.org> wrote:
>>>> On 15 August 2017 at 23:42, Bin Meng <bmeng.cn@gmail.com> wrote:
>>>>> Add FSP related configuration for Braswell.
>>>>>
>>>>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>>>>> ---
>>>>>
>>>>>  arch/x86/cpu/braswell/Makefile                     |   2 +-
>>>>>  arch/x86/cpu/braswell/fsp_configs.c                | 158 ++++++++++++++
>>>>>  .../include/asm/arch-braswell/fsp/fsp_configs.h    |  89 ++++++++
>>>>>  arch/x86/include/asm/arch-braswell/fsp/fsp_vpd.h   | 172 +++++++++++++++
>>>>>  arch/x86/include/asm/arch-braswell/gpio.h          | 234 +++++++++++++++++++++
>>>>>  5 files changed, 654 insertions(+), 1 deletion(-)
>>>>>  create mode 100644 arch/x86/cpu/braswell/fsp_configs.c
>>>>>  create mode 100644 arch/x86/include/asm/arch-braswell/fsp/fsp_configs.h
>>>>>  create mode 100644 arch/x86/include/asm/arch-braswell/fsp/fsp_vpd.h
>>>>>  create mode 100644 arch/x86/include/asm/arch-braswell/gpio.h
>>>>>
>>>>
>>>> Reviewed-by: Simon Glass <sjg@chromium.org>
>>>>
>>>> Can this use drivers instead of manual device-tree access?
>>>
>>> Which part?
>>
>> Well you have intel,braswell-fsp for example. You could create a
>> driver with the two compatible strings and have it read the platdata
>> from the DT in the ofdata_to_platdata() method.
>
> I thought this before. We discussed the possibility of adding a new
> FSP uclass long time ago. When I added the Braswell support, I wanted
> to have a try since Braswell's FSP is v1.1 spec complaint and if we
> have a uclass for FSP we can put the common stuff in the uclass
> driver. But in the end I did not do it because:
>
> 1. FSP's initialization sequence is just a one time initialization and
> we don't do anything after the initialization completes.

That's not a very good reason though. There will be several drivers like that.

> 2. Making a uclass for FSP means we have to delay fsp_init() to after
> initf_dm().But after fsp_init(), we will return to board_init_f()
> again and do the initialization for the second time. So all previous
> platdata of FSP that is set up by DM gets lost during this process.

Yes, although this is in the nature of the broken FSP API that we hope
Intel will fix. As I understand it we already do the init twice, this
is just a case of knowing what stage we are at.

> 3. There are some other architecture-dependent stuff in the
> arch_fsp_init() that is not suitable to be put in a FSP driver.

But I am suggesting having a driver specific to the arch, not a
generic one, so this should not be a problem.

Regards,
Simon

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 11/13] x86: braswell: Add FSP configuration
  2017-09-06  1:39           ` Simon Glass
@ 2017-09-12 15:20             ` Bin Meng
  2017-09-13  2:31               ` Simon Glass
  0 siblings, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-09-12 15:20 UTC (permalink / raw
  To: u-boot

Hi Simon,

On Wed, Sep 6, 2017 at 9:39 AM, Simon Glass <sjg@chromium.org> wrote:
> Hi Bin,
>
> On 26 August 2017 at 18:10, Bin Meng <bmeng.cn@gmail.com> wrote:
>> Hi Simon,
>>
>> On Sun, Aug 27, 2017 at 6:39 AM, Simon Glass <sjg@chromium.org> wrote:
>>> Hi Bin,
>>>
>>> On 26 August 2017 at 07:56, Bin Meng <bmeng.cn@gmail.com> wrote:
>>>> Hi Simon,
>>>>
>>>> On Sat, Aug 26, 2017 at 9:39 PM, Simon Glass <sjg@chromium.org> wrote:
>>>>> On 15 August 2017 at 23:42, Bin Meng <bmeng.cn@gmail.com> wrote:
>>>>>> Add FSP related configuration for Braswell.
>>>>>>
>>>>>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>>>>>> ---
>>>>>>
>>>>>>  arch/x86/cpu/braswell/Makefile                     |   2 +-
>>>>>>  arch/x86/cpu/braswell/fsp_configs.c                | 158 ++++++++++++++
>>>>>>  .../include/asm/arch-braswell/fsp/fsp_configs.h    |  89 ++++++++
>>>>>>  arch/x86/include/asm/arch-braswell/fsp/fsp_vpd.h   | 172 +++++++++++++++
>>>>>>  arch/x86/include/asm/arch-braswell/gpio.h          | 234 +++++++++++++++++++++
>>>>>>  5 files changed, 654 insertions(+), 1 deletion(-)
>>>>>>  create mode 100644 arch/x86/cpu/braswell/fsp_configs.c
>>>>>>  create mode 100644 arch/x86/include/asm/arch-braswell/fsp/fsp_configs.h
>>>>>>  create mode 100644 arch/x86/include/asm/arch-braswell/fsp/fsp_vpd.h
>>>>>>  create mode 100644 arch/x86/include/asm/arch-braswell/gpio.h
>>>>>>
>>>>>
>>>>> Reviewed-by: Simon Glass <sjg@chromium.org>
>>>>>
>>>>> Can this use drivers instead of manual device-tree access?
>>>>
>>>> Which part?
>>>
>>> Well you have intel,braswell-fsp for example. You could create a
>>> driver with the two compatible strings and have it read the platdata
>>> from the DT in the ofdata_to_platdata() method.
>>
>> I thought this before. We discussed the possibility of adding a new
>> FSP uclass long time ago. When I added the Braswell support, I wanted
>> to have a try since Braswell's FSP is v1.1 spec complaint and if we
>> have a uclass for FSP we can put the common stuff in the uclass
>> driver. But in the end I did not do it because:
>>
>> 1. FSP's initialization sequence is just a one time initialization and
>> we don't do anything after the initialization completes.
>
> That's not a very good reason though. There will be several drivers like that.
>
>> 2. Making a uclass for FSP means we have to delay fsp_init() to after
>> initf_dm().But after fsp_init(), we will return to board_init_f()
>> again and do the initialization for the second time. So all previous
>> platdata of FSP that is set up by DM gets lost during this process.
>
> Yes, although this is in the nature of the broken FSP API that we hope
> Intel will fix. As I understand it we already do the init twice, this
> is just a case of knowing what stage we are at.
>

But DM initialization is unnecessary to get FSP run. This will lead
longer boot time.

>> 3. There are some other architecture-dependent stuff in the
>> arch_fsp_init() that is not suitable to be put in a FSP driver.
>
> But I am suggesting having a driver specific to the arch, not a
> generic one, so this should not be a problem.

I mean there will be some non-FSP driver stuff (eg: MRC cache, ACPI
S3) in the FSP driver, which doesn't look very good IMO.

Regards,
Bin

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 11/13] x86: braswell: Add FSP configuration
  2017-09-12 15:20             ` Bin Meng
@ 2017-09-13  2:31               ` Simon Glass
  0 siblings, 0 replies; 47+ messages in thread
From: Simon Glass @ 2017-09-13  2:31 UTC (permalink / raw
  To: u-boot

Hi Bin,

On 12 September 2017 at 09:20, Bin Meng <bmeng.cn@gmail.com> wrote:
> Hi Simon,
>
> On Wed, Sep 6, 2017 at 9:39 AM, Simon Glass <sjg@chromium.org> wrote:
>> Hi Bin,
>>
>> On 26 August 2017 at 18:10, Bin Meng <bmeng.cn@gmail.com> wrote:
>>> Hi Simon,
>>>
>>> On Sun, Aug 27, 2017 at 6:39 AM, Simon Glass <sjg@chromium.org> wrote:
>>>> Hi Bin,
>>>>
>>>> On 26 August 2017 at 07:56, Bin Meng <bmeng.cn@gmail.com> wrote:
>>>>> Hi Simon,
>>>>>
>>>>> On Sat, Aug 26, 2017 at 9:39 PM, Simon Glass <sjg@chromium.org> wrote:
>>>>>> On 15 August 2017 at 23:42, Bin Meng <bmeng.cn@gmail.com> wrote:
>>>>>>> Add FSP related configuration for Braswell.
>>>>>>>
>>>>>>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>>>>>>> ---
>>>>>>>
>>>>>>>  arch/x86/cpu/braswell/Makefile                     |   2 +-
>>>>>>>  arch/x86/cpu/braswell/fsp_configs.c                | 158 ++++++++++++++
>>>>>>>  .../include/asm/arch-braswell/fsp/fsp_configs.h    |  89 ++++++++
>>>>>>>  arch/x86/include/asm/arch-braswell/fsp/fsp_vpd.h   | 172 +++++++++++++++
>>>>>>>  arch/x86/include/asm/arch-braswell/gpio.h          | 234 +++++++++++++++++++++
>>>>>>>  5 files changed, 654 insertions(+), 1 deletion(-)
>>>>>>>  create mode 100644 arch/x86/cpu/braswell/fsp_configs.c
>>>>>>>  create mode 100644 arch/x86/include/asm/arch-braswell/fsp/fsp_configs.h
>>>>>>>  create mode 100644 arch/x86/include/asm/arch-braswell/fsp/fsp_vpd.h
>>>>>>>  create mode 100644 arch/x86/include/asm/arch-braswell/gpio.h
>>>>>>>
>>>>>>
>>>>>> Reviewed-by: Simon Glass <sjg@chromium.org>
>>>>>>
>>>>>> Can this use drivers instead of manual device-tree access?
>>>>>
>>>>> Which part?
>>>>
>>>> Well you have intel,braswell-fsp for example. You could create a
>>>> driver with the two compatible strings and have it read the platdata
>>>> from the DT in the ofdata_to_platdata() method.
>>>
>>> I thought this before. We discussed the possibility of adding a new
>>> FSP uclass long time ago. When I added the Braswell support, I wanted
>>> to have a try since Braswell's FSP is v1.1 spec complaint and if we
>>> have a uclass for FSP we can put the common stuff in the uclass
>>> driver. But in the end I did not do it because:
>>>
>>> 1. FSP's initialization sequence is just a one time initialization and
>>> we don't do anything after the initialization completes.
>>
>> That's not a very good reason though. There will be several drivers like that.
>>
>>> 2. Making a uclass for FSP means we have to delay fsp_init() to after
>>> initf_dm().But after fsp_init(), we will return to board_init_f()
>>> again and do the initialization for the second time. So all previous
>>> platdata of FSP that is set up by DM gets lost during this process.
>>
>> Yes, although this is in the nature of the broken FSP API that we hope
>> Intel will fix. As I understand it we already do the init twice, this
>> is just a case of knowing what stage we are at.
>>
>
> But DM initialization is unnecessary to get FSP run. This will lead
> longer boot time.

Looking at the init sequence in board_f(), we have fsp_init() quite early:

#if defined(CONFIG_HAVE_FSP)
arch_fsp_init,
#endif
arch_cpu_init, /* basic arch cpu dependent setup */
mach_cpu_init, /* SoC/machine dependent CPU setup */
initf_dm,
arch_cpu_init_dm,

I still feel that ultimately FSP should be a driver (and should happen
before arch_cpu_init_dm(), and that this should not affect boot time
(since we need to do DM init at some point), but I think this needs
more investigation. We would need to first empty out arch_cpu_init()
and march_cpu_init().

So for now, let's leave it as is.

>
>>> 3. There are some other architecture-dependent stuff in the
>>> arch_fsp_init() that is not suitable to be put in a FSP driver.
>>
>> But I am suggesting having a driver specific to the arch, not a
>> generic one, so this should not be a problem.
>
> I mean there will be some non-FSP driver stuff (eg: MRC cache, ACPI
> S3) in the FSP driver, which doesn't look very good IMO.

Well given the nature of FSP (whole platform init) I think this is
fine. The FSP driver can call out to common code or pull in other
drivers as needed.

Regards,
Simon

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 09/13] x86: Add Intel Braswell SoC support
  2017-08-26 13:55     ` Bin Meng
@ 2017-09-16  4:32       ` Bin Meng
  0 siblings, 0 replies; 47+ messages in thread
From: Bin Meng @ 2017-09-16  4:32 UTC (permalink / raw
  To: u-boot

On Sat, Aug 26, 2017 at 9:55 PM, Bin Meng <bmeng.cn@gmail.com> wrote:
> Hi Simon,
>
> On Sat, Aug 26, 2017 at 9:39 PM, Simon Glass <sjg@chromium.org> wrote:
>> On 15 August 2017 at 23:41, Bin Meng <bmeng.cn@gmail.com> wrote:
>>> This adds initial Intel Braswell SoC support. It uses Intel FSP
>>> to initialize the chipset.
>>>
>>> Similar to its predecessor BayTrail, there are some work to do to
>>> enable the legacy UART integrated in the Braswell SoC.
>>>
>>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>>> ---
>>>
>>>  arch/x86/Kconfig                           |   1 +
>>>  arch/x86/cpu/Makefile                      |   1 +
>>>  arch/x86/cpu/braswell/Kconfig              |  38 +++++++
>>>  arch/x86/cpu/braswell/Makefile             |   7 ++
>>>  arch/x86/cpu/braswell/braswell.c           |  36 ++++++
>>>  arch/x86/cpu/braswell/cpu.c                | 170 +++++++++++++++++++++++++++++
>>>  arch/x86/cpu/braswell/early_uart.c         |  86 +++++++++++++++
>>>  arch/x86/include/asm/arch-braswell/iomap.h |  50 +++++++++
>>>  8 files changed, 389 insertions(+)
>>>  create mode 100644 arch/x86/cpu/braswell/Kconfig
>>>  create mode 100644 arch/x86/cpu/braswell/Makefile
>>>  create mode 100644 arch/x86/cpu/braswell/braswell.c
>>>  create mode 100644 arch/x86/cpu/braswell/cpu.c
>>>  create mode 100644 arch/x86/cpu/braswell/early_uart.c
>>>  create mode 100644 arch/x86/include/asm/arch-braswell/iomap.h
>>
>> Reviewed-by: Simon Glass <sjg@chromium.org>
>>
>> A few nits / suggestions below.
>>
>>>

[snip]

>>> +static void gpio_select_func(int community, int family, int pad, int func)
>>> +{
>>> +       uint32_t reg;
>>> +       uint32_t pconf0_addr = gpio_pconf0(community, family, pad);
>>> +
>>> +       reg = readl(pconf0_addr);
>>> +       reg &= ~(0xf << 16);
>>> +       reg |= (func << 16);
>>> +       writel(reg, pconf0_addr);
>>
>> Can we use setclrbits_le32()?
>
> Will do in v2.
>

Changed to use clrsetbits_le32(), and

>>
>>> +}
>>> +
>>> +static void x86_pci_write_config32(int dev, unsigned int where, u32 value)
>>> +{
>>> +       unsigned long addr;
>>> +
>>> +       addr = CONFIG_PCIE_ECAM_BASE | dev | (where & ~3);
>>> +       writel(value, addr);
>>> +}
>>> +

applied to u-boot-x86, thanks!

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 10/13] x86: braswell: Add microcode for B0/C0/D0 stepping SoC
  2017-08-26 13:39   ` Simon Glass
@ 2017-09-16  4:32     ` Bin Meng
  0 siblings, 0 replies; 47+ messages in thread
From: Bin Meng @ 2017-09-16  4:32 UTC (permalink / raw
  To: u-boot

On Sat, Aug 26, 2017 at 9:39 PM, Simon Glass <sjg@chromium.org> wrote:
> On 15 August 2017 at 23:41, Bin Meng <bmeng.cn@gmail.com> wrote:
>> This adds microcode device tree fragment for Braswell B0 (406C2),
>> C0 (406C3) and D0 (406C4) stepping SoC.
>>
>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>> ---
>>
>>  arch/x86/dts/microcode/m01406c2220.dtsi | 4308 +++++++++++++++++++++++++++++++
>>  arch/x86/dts/microcode/m01406c3363.dtsi | 4308 +++++++++++++++++++++++++++++++
>>  arch/x86/dts/microcode/m01406c440a.dtsi | 4308 +++++++++++++++++++++++++++++++
>>  3 files changed, 12924 insertions(+)
>>  create mode 100644 arch/x86/dts/microcode/m01406c2220.dtsi
>>  create mode 100644 arch/x86/dts/microcode/m01406c3363.dtsi
>>  create mode 100644 arch/x86/dts/microcode/m01406c440a.dtsi
>
> Reviewed-by: Simon Glass <sjg@chromium.org>

applied to u-boot-x86, thanks!

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 11/13] x86: braswell: Add FSP configuration
  2017-08-26 13:39   ` Simon Glass
  2017-08-26 13:56     ` Bin Meng
@ 2017-09-16  4:32     ` Bin Meng
  1 sibling, 0 replies; 47+ messages in thread
From: Bin Meng @ 2017-09-16  4:32 UTC (permalink / raw
  To: u-boot

On Sat, Aug 26, 2017 at 9:39 PM, Simon Glass <sjg@chromium.org> wrote:
> On 15 August 2017 at 23:42, Bin Meng <bmeng.cn@gmail.com> wrote:
>> Add FSP related configuration for Braswell.
>>
>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>> ---
>>
>>  arch/x86/cpu/braswell/Makefile                     |   2 +-
>>  arch/x86/cpu/braswell/fsp_configs.c                | 158 ++++++++++++++
>>  .../include/asm/arch-braswell/fsp/fsp_configs.h    |  89 ++++++++
>>  arch/x86/include/asm/arch-braswell/fsp/fsp_vpd.h   | 172 +++++++++++++++
>>  arch/x86/include/asm/arch-braswell/gpio.h          | 234 +++++++++++++++++++++
>>  5 files changed, 654 insertions(+), 1 deletion(-)
>>  create mode 100644 arch/x86/cpu/braswell/fsp_configs.c
>>  create mode 100644 arch/x86/include/asm/arch-braswell/fsp/fsp_configs.h
>>  create mode 100644 arch/x86/include/asm/arch-braswell/fsp/fsp_vpd.h
>>  create mode 100644 arch/x86/include/asm/arch-braswell/gpio.h
>>
>
> Reviewed-by: Simon Glass <sjg@chromium.org>
>

applied to u-boot-x86, thanks!

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 12/13] x86: braswell: Disable PUNIT power configuration for B0 stepping
  2017-08-26 13:39   ` Simon Glass
@ 2017-09-16  4:32     ` Bin Meng
  0 siblings, 0 replies; 47+ messages in thread
From: Bin Meng @ 2017-09-16  4:32 UTC (permalink / raw
  To: u-boot

On Sat, Aug 26, 2017 at 9:39 PM, Simon Glass <sjg@chromium.org> wrote:
> On 15 August 2017 at 23:42, Bin Meng <bmeng.cn@gmail.com> wrote:
>> FSP's built-in UPD configuration enables PUNIT power configuration,
>> but on B0 stepping, this causes CPU hangs in fsp_init(). Disable it.
>>
>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>> ---
>>
>>  arch/x86/cpu/braswell/fsp_configs.c | 6 ++++++
>>  1 file changed, 6 insertions(+)
>
> Reviewed-by: Simon Glass <sjg@chromium.org>

applied to u-boot-x86, thanks!

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [U-Boot] [PATCH 13/13] x86: Support Intel Cherry Hill board
  2017-08-26 13:39   ` Simon Glass
@ 2017-09-16  4:32     ` Bin Meng
  0 siblings, 0 replies; 47+ messages in thread
From: Bin Meng @ 2017-09-16  4:32 UTC (permalink / raw
  To: u-boot

On Sat, Aug 26, 2017 at 9:39 PM, Simon Glass <sjg@chromium.org> wrote:
> On 15 August 2017 at 23:42, Bin Meng <bmeng.cn@gmail.com> wrote:
>> This adds support to Intel Cherry Hill board, a board based on
>> Intel Braswell SoC. The following devices are validated:
>>
>> - serial port as the serial console
>> - on-board Realtek 8169 ethernet controller
>> - SATA AHCI controller
>> - EMMC/SDHC controller
>> - USB 3.0 xHCI controller
>> - PCIe x1 slot with a graphics card
>> - ICH SPI controller with an 8MB Macronix SPI flash
>> - Integrated graphics device as the video console
>>
>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>>
>> ---
>>
>>  arch/x86/dts/Makefile               |   1 +
>>  arch/x86/dts/cherryhill.dts         | 215 +++++++++++++
>>  board/intel/Kconfig                 |  10 +
>>  board/intel/cherryhill/Kconfig      |  25 ++
>>  board/intel/cherryhill/MAINTAINERS  |   6 +
>>  board/intel/cherryhill/Makefile     |   7 +
>>  board/intel/cherryhill/cherryhill.c | 596 ++++++++++++++++++++++++++++++++++++
>>  board/intel/cherryhill/start.S      |   9 +
>>  configs/cherryhill_defconfig        |  36 +++
>>  doc/README.x86                      |  30 ++
>>  include/configs/cherryhill.h        |  22 ++
>>  11 files changed, 957 insertions(+)
>>  create mode 100644 arch/x86/dts/cherryhill.dts
>>  create mode 100644 board/intel/cherryhill/Kconfig
>>  create mode 100644 board/intel/cherryhill/MAINTAINERS
>>  create mode 100644 board/intel/cherryhill/Makefile
>>  create mode 100644 board/intel/cherryhill/cherryhill.c
>>  create mode 100644 board/intel/cherryhill/start.S
>>  create mode 100644 configs/cherryhill_defconfig
>>  create mode 100644 include/configs/cherryhill.h
>
> Reviewed-by: Simon Glass <sjg@chromium.org>

applied to u-boot-x86, thanks!

^ permalink raw reply	[flat|nested] 47+ messages in thread

end of thread, other threads:[~2017-09-16  4:32 UTC | newest]

Thread overview: 47+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-16  5:41 [U-Boot] [PATCH 00/13] x86: Add Intel Braswell SoC and Cherry Hill board support Bin Meng
2017-08-16  5:41 ` [U-Boot] [PATCH 01/13] x86: tsc: Add Airmont reference clock values Bin Meng
2017-08-26 13:38   ` Simon Glass
2017-09-02 16:11     ` Bin Meng
2017-08-16  5:41 ` [U-Boot] [PATCH 02/13] x86: fsp: Update struct common_buf for FSP spec 1.1 Bin Meng
2017-08-26 13:38   ` Simon Glass
2017-09-02 16:11     ` Bin Meng
2017-08-16  5:41 ` [U-Boot] [PATCH 03/13] x86: fsp: Add FSP_GRAPHICS_INFO_HOB Bin Meng
2017-08-26 13:38   ` Simon Glass
2017-09-02 16:11     ` Bin Meng
2017-08-16  5:41 ` [U-Boot] [PATCH 04/13] x86: Add Video BIOS Table (VBT) related Kconfig options Bin Meng
2017-08-26 13:38   ` Simon Glass
2017-09-02 16:11     ` Bin Meng
2017-08-16  5:41 ` [U-Boot] [PATCH 05/13] tools: binman: Add a new entry type for Intel VBT Bin Meng
2017-08-26 13:38   ` Simon Glass
2017-09-02 16:11     ` Bin Meng
2017-08-16  5:41 ` [U-Boot] [PATCH 06/13] x86: dts: Include Intel Video BIOS Table in the ROM image Bin Meng
2017-08-26 13:39   ` Simon Glass
2017-09-02 16:11     ` Bin Meng
2017-08-16  5:41 ` [U-Boot] [PATCH 07/13] x86: dm: video: Add a framebuffer driver that utilizes VBT Bin Meng
2017-08-26  3:36   ` Simon Glass
2017-09-02 16:11     ` Bin Meng
2017-08-16  5:41 ` [U-Boot] [PATCH 08/13] x86: fsp: Update fsp command to show spec 1.1 header Bin Meng
2017-08-26 13:39   ` Simon Glass
2017-09-02 16:11     ` Bin Meng
2017-08-16  5:41 ` [U-Boot] [PATCH 09/13] x86: Add Intel Braswell SoC support Bin Meng
2017-08-26 13:39   ` Simon Glass
2017-08-26 13:55     ` Bin Meng
2017-09-16  4:32       ` Bin Meng
2017-08-16  5:41 ` [U-Boot] [PATCH 10/13] x86: braswell: Add microcode for B0/C0/D0 stepping SoC Bin Meng
2017-08-26 13:39   ` Simon Glass
2017-09-16  4:32     ` Bin Meng
2017-08-16  5:42 ` [U-Boot] [PATCH 11/13] x86: braswell: Add FSP configuration Bin Meng
2017-08-26 13:39   ` Simon Glass
2017-08-26 13:56     ` Bin Meng
2017-08-26 22:39       ` Simon Glass
2017-08-27  0:10         ` Bin Meng
2017-09-06  1:39           ` Simon Glass
2017-09-12 15:20             ` Bin Meng
2017-09-13  2:31               ` Simon Glass
2017-09-16  4:32     ` Bin Meng
2017-08-16  5:42 ` [U-Boot] [PATCH 12/13] x86: braswell: Disable PUNIT power configuration for B0 stepping Bin Meng
2017-08-26 13:39   ` Simon Glass
2017-09-16  4:32     ` Bin Meng
2017-08-16  5:42 ` [U-Boot] [PATCH 13/13] x86: Support Intel Cherry Hill board Bin Meng
2017-08-26 13:39   ` Simon Glass
2017-09-16  4:32     ` Bin Meng

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).