1
0
Fork 0

Merge branch 'u-boot-samsung/master' into 'u-boot-arm/master'

utp
Albert ARIBAUD 2014-02-13 13:30:54 +01:00
commit d53ccdb341
36 changed files with 11593 additions and 5446 deletions

View File

@ -26,7 +26,7 @@ struct clk_bit_info {
};
/* src_bit div_bit prediv_bit */
static struct clk_bit_info clk_bit_info[PERIPH_ID_COUNT] = {
static struct clk_bit_info clk_bit_info[] = {
{0, 0, -1},
{4, 4, -1},
{8, 8, -1},
@ -870,7 +870,6 @@ static void exynos4_set_mmc_clk(int dev_index, unsigned int div)
struct exynos4_clock *clk =
(struct exynos4_clock *)samsung_get_base_clock();
unsigned int addr;
unsigned int val;
/*
* CLK_DIV_FSYS1
@ -890,10 +889,8 @@ static void exynos4_set_mmc_clk(int dev_index, unsigned int div)
dev_index -= 2;
}
val = readl(addr);
val &= ~(0xff << ((dev_index << 4) + 8));
val |= (div & 0xff) << ((dev_index << 4) + 8);
writel(val, addr);
clrsetbits_le32(addr, 0xff << ((dev_index << 4) + 8),
(div & 0xff) << ((dev_index << 4) + 8));
}
/* exynos4x12: set the mmc clock */
@ -902,7 +899,6 @@ static void exynos4x12_set_mmc_clk(int dev_index, unsigned int div)
struct exynos4x12_clock *clk =
(struct exynos4x12_clock *)samsung_get_base_clock();
unsigned int addr;
unsigned int val;
/*
* CLK_DIV_FSYS1
@ -917,10 +913,8 @@ static void exynos4x12_set_mmc_clk(int dev_index, unsigned int div)
dev_index -= 2;
}
val = readl(addr);
val &= ~(0xff << ((dev_index << 4) + 8));
val |= (div & 0xff) << ((dev_index << 4) + 8);
writel(val, addr);
clrsetbits_le32(addr, 0xff << ((dev_index << 4) + 8),
(div & 0xff) << ((dev_index << 4) + 8));
}
/* exynos5: set the mmc clock */
@ -929,7 +923,6 @@ static void exynos5_set_mmc_clk(int dev_index, unsigned int div)
struct exynos5_clock *clk =
(struct exynos5_clock *)samsung_get_base_clock();
unsigned int addr;
unsigned int val;
/*
* CLK_DIV_FSYS1
@ -944,10 +937,8 @@ static void exynos5_set_mmc_clk(int dev_index, unsigned int div)
dev_index -= 2;
}
val = readl(addr);
val &= ~(0xff << ((dev_index << 4) + 8));
val |= (div & 0xff) << ((dev_index << 4) + 8);
writel(val, addr);
clrsetbits_le32(addr, 0xff << ((dev_index << 4) + 8),
(div & 0xff) << ((dev_index << 4) + 8));
}
/* exynos5: set the mmc clock */
@ -956,7 +947,7 @@ static void exynos5420_set_mmc_clk(int dev_index, unsigned int div)
struct exynos5420_clock *clk =
(struct exynos5420_clock *)samsung_get_base_clock();
unsigned int addr;
unsigned int val, shift;
unsigned int shift;
/*
* CLK_DIV_FSYS1
@ -967,10 +958,7 @@ static void exynos5420_set_mmc_clk(int dev_index, unsigned int div)
addr = (unsigned int)&clk->div_fsys1;
shift = dev_index * 10;
val = readl(addr);
val &= ~(0x3ff << shift);
val |= (div & 0x3ff) << shift;
writel(val, addr);
clrsetbits_le32(addr, 0x3ff << shift, (div & 0x3ff) << shift);
}
/* get_lcd_clk: return lcd clock frequency */
@ -1061,7 +1049,6 @@ void exynos4_set_lcd_clk(void)
{
struct exynos4_clock *clk =
(struct exynos4_clock *)samsung_get_base_clock();
unsigned int cfg = 0;
/*
* CLK_GATE_BLOCK
@ -1073,9 +1060,7 @@ void exynos4_set_lcd_clk(void)
* CLK_LCD1 [5]
* CLK_GPS [7]
*/
cfg = readl(&clk->gate_block);
cfg |= 1 << 4;
writel(cfg, &clk->gate_block);
setbits_le32(&clk->gate_block, 1 << 4);
/*
* CLK_SRC_LCD0
@ -1085,10 +1070,7 @@ void exynos4_set_lcd_clk(void)
* MIPI0_SEL [12:15]
* set lcd0 src clock 0x6: SCLK_MPLL
*/
cfg = readl(&clk->src_lcd0);
cfg &= ~(0xf);
cfg |= 0x6;
writel(cfg, &clk->src_lcd0);
clrsetbits_le32(&clk->src_lcd0, 0xf, 0x6);
/*
* CLK_GATE_IP_LCD0
@ -1100,9 +1082,7 @@ void exynos4_set_lcd_clk(void)
* CLK_PPMULCD0 [5]
* Gating all clocks for FIMD0
*/
cfg = readl(&clk->gate_ip_lcd0);
cfg |= 1 << 0;
writel(cfg, &clk->gate_ip_lcd0);
setbits_le32(&clk->gate_ip_lcd0, 1 << 0);
/*
* CLK_DIV_LCD0
@ -1114,16 +1094,13 @@ void exynos4_set_lcd_clk(void)
* MIPI0_PRE_RATIO [23:20]
* set fimd ratio
*/
cfg &= ~(0xf);
cfg |= 0x1;
writel(cfg, &clk->div_lcd0);
clrsetbits_le32(&clk->div_lcd0, 0xf, 0x1);
}
void exynos5_set_lcd_clk(void)
{
struct exynos5_clock *clk =
(struct exynos5_clock *)samsung_get_base_clock();
unsigned int cfg = 0;
/*
* CLK_GATE_BLOCK
@ -1135,9 +1112,7 @@ void exynos5_set_lcd_clk(void)
* CLK_LCD1 [5]
* CLK_GPS [7]
*/
cfg = readl(&clk->gate_block);
cfg |= 1 << 4;
writel(cfg, &clk->gate_block);
setbits_le32(&clk->gate_block, 1 << 4);
/*
* CLK_SRC_LCD0
@ -1147,10 +1122,7 @@ void exynos5_set_lcd_clk(void)
* MIPI0_SEL [12:15]
* set lcd0 src clock 0x6: SCLK_MPLL
*/
cfg = readl(&clk->src_disp1_0);
cfg &= ~(0xf);
cfg |= 0x6;
writel(cfg, &clk->src_disp1_0);
clrsetbits_le32(&clk->src_disp1_0, 0xf, 0x6);
/*
* CLK_GATE_IP_LCD0
@ -1162,9 +1134,7 @@ void exynos5_set_lcd_clk(void)
* CLK_PPMULCD0 [5]
* Gating all clocks for FIMD0
*/
cfg = readl(&clk->gate_ip_disp1);
cfg |= 1 << 0;
writel(cfg, &clk->gate_ip_disp1);
setbits_le32(&clk->gate_ip_disp1, 1 << 0);
/*
* CLK_DIV_LCD0
@ -1176,16 +1146,13 @@ void exynos5_set_lcd_clk(void)
* MIPI0_PRE_RATIO [23:20]
* set fimd ratio
*/
cfg &= ~(0xf);
cfg |= 0x0;
writel(cfg, &clk->div_disp1_0);
clrsetbits_le32(&clk->div_disp1_0, 0xf, 0x0);
}
void exynos4_set_mipi_clk(void)
{
struct exynos4_clock *clk =
(struct exynos4_clock *)samsung_get_base_clock();
unsigned int cfg = 0;
/*
* CLK_SRC_LCD0
@ -1195,10 +1162,7 @@ void exynos4_set_mipi_clk(void)
* MIPI0_SEL [12:15]
* set mipi0 src clock 0x6: SCLK_MPLL
*/
cfg = readl(&clk->src_lcd0);
cfg &= ~(0xf << 12);
cfg |= (0x6 << 12);
writel(cfg, &clk->src_lcd0);
clrsetbits_le32(&clk->src_lcd0, 0xf << 12, 0x6 << 12);
/*
* CLK_SRC_MASK_LCD0
@ -1208,9 +1172,7 @@ void exynos4_set_mipi_clk(void)
* MIPI0_MASK [12]
* set src mask mipi0 0x1: Unmask
*/
cfg = readl(&clk->src_mask_lcd0);
cfg |= (0x1 << 12);
writel(cfg, &clk->src_mask_lcd0);
setbits_le32(&clk->src_mask_lcd0, 0x1 << 12);
/*
* CLK_GATE_IP_LCD0
@ -1222,9 +1184,7 @@ void exynos4_set_mipi_clk(void)
* CLK_PPMULCD0 [5]
* Gating all clocks for MIPI0
*/
cfg = readl(&clk->gate_ip_lcd0);
cfg |= 1 << 3;
writel(cfg, &clk->gate_ip_lcd0);
setbits_le32(&clk->gate_ip_lcd0, 1 << 3);
/*
* CLK_DIV_LCD0
@ -1236,9 +1196,7 @@ void exynos4_set_mipi_clk(void)
* MIPI0_PRE_RATIO [23:20]
* set mipi ratio
*/
cfg &= ~(0xf << 16);
cfg |= (0x1 << 16);
writel(cfg, &clk->div_lcd0);
clrsetbits_le32(&clk->div_lcd0, 0xf << 16, 0x1 << 16);
}
/*

View File

@ -751,12 +751,7 @@ static int exynos5_pinmux_decode_periph_id(const void *blob, int node)
if (err)
return PERIPH_ID_NONE;
/* check for invalid peripheral id */
if ((PERIPH_ID_SDMMC4 > cell[1]) || (cell[1] < PERIPH_ID_UART0))
return cell[1];
debug(" invalid peripheral id\n");
return PERIPH_ID_NONE;
return cell[1];
}
int pinmux_decode_periph_id(const void *blob, int node)

View File

@ -185,9 +185,11 @@ static inline int s5p_get_cpu_rev(void)
static inline void s5p_set_cpu_id(void)
{
unsigned int pro_id = (readl(EXYNOS4_PRO_ID) & 0x00FFF000) >> 12;
unsigned int pro_id = readl(EXYNOS4_PRO_ID);
unsigned int cpu_id = (pro_id & 0x00FFF000) >> 12;
unsigned int cpu_rev = pro_id & 0x000000FF;
switch (pro_id) {
switch (cpu_id) {
case 0x200:
/* Exynos4210 EVT0 */
s5p_cpu_id = 0x4210;
@ -196,10 +198,12 @@ static inline void s5p_set_cpu_id(void)
case 0x210:
/* Exynos4210 EVT1 */
s5p_cpu_id = 0x4210;
s5p_cpu_rev = cpu_rev;
break;
case 0x412:
/* Exynos4412 */
s5p_cpu_id = 0x4412;
s5p_cpu_rev = cpu_rev;
break;
case 0x520:
/* Exynos5250 */

View File

@ -247,180 +247,81 @@ void s5p_gpio_set_rate(struct s5p_gpio_bank *bank, int gpio, int mode);
/* GPIO pins per bank */
#define GPIO_PER_BANK 8
#define S5P_GPIO_PART_SHIFT (24)
#define S5P_GPIO_PART_MASK (0xff)
#define S5P_GPIO_BANK_SHIFT (8)
#define S5P_GPIO_BANK_MASK (0xffff)
#define S5P_GPIO_PIN_MASK (0xff)
#define exynos4_gpio_part1_get_nr(bank, pin) \
((((((unsigned int) &(((struct exynos4_gpio_part1 *) \
EXYNOS4_GPIO_PART1_BASE)->bank)) \
- EXYNOS4_GPIO_PART1_BASE) / sizeof(struct s5p_gpio_bank)) \
* GPIO_PER_BANK) + pin)
#define S5P_GPIO_SET_PART(x) \
(((x) & S5P_GPIO_PART_MASK) << S5P_GPIO_PART_SHIFT)
#define EXYNOS4_GPIO_PART1_MAX ((sizeof(struct exynos4_gpio_part1) \
/ sizeof(struct s5p_gpio_bank)) * GPIO_PER_BANK)
#define S5P_GPIO_GET_PART(x) \
(((x) >> S5P_GPIO_PART_SHIFT) & S5P_GPIO_PART_MASK)
#define exynos4_gpio_part2_get_nr(bank, pin) \
(((((((unsigned int) &(((struct exynos4_gpio_part2 *) \
EXYNOS4_GPIO_PART2_BASE)->bank)) \
- EXYNOS4_GPIO_PART2_BASE) / sizeof(struct s5p_gpio_bank)) \
* GPIO_PER_BANK) + pin) + EXYNOS4_GPIO_PART1_MAX)
#define S5P_GPIO_SET_PIN(x) \
((x) & S5P_GPIO_PIN_MASK)
#define exynos4x12_gpio_part1_get_nr(bank, pin) \
((((((unsigned int) &(((struct exynos4x12_gpio_part1 *) \
EXYNOS4X12_GPIO_PART1_BASE)->bank)) \
- EXYNOS4X12_GPIO_PART1_BASE) / sizeof(struct s5p_gpio_bank)) \
* GPIO_PER_BANK) + pin)
#define EXYNOS4_GPIO_SET_BANK(part, bank) \
((((unsigned)&(((struct exynos4_gpio_part##part *) \
EXYNOS4_GPIO_PART##part##_BASE)->bank) \
- EXYNOS4_GPIO_PART##part##_BASE) \
& S5P_GPIO_BANK_MASK) << S5P_GPIO_BANK_SHIFT)
#define EXYNOS4X12_GPIO_PART1_MAX ((sizeof(struct exynos4x12_gpio_part1) \
/ sizeof(struct s5p_gpio_bank)) * GPIO_PER_BANK)
#define EXYNOS4X12_GPIO_SET_BANK(part, bank) \
((((unsigned)&(((struct exynos4x12_gpio_part##part *) \
EXYNOS4X12_GPIO_PART##part##_BASE)->bank) \
- EXYNOS4X12_GPIO_PART##part##_BASE) \
& S5P_GPIO_BANK_MASK) << S5P_GPIO_BANK_SHIFT)
#define exynos4x12_gpio_part2_get_nr(bank, pin) \
(((((((unsigned int) &(((struct exynos4x12_gpio_part2 *) \
EXYNOS4X12_GPIO_PART2_BASE)->bank)) \
- EXYNOS4X12_GPIO_PART2_BASE) / sizeof(struct s5p_gpio_bank)) \
* GPIO_PER_BANK) + pin) + EXYNOS4X12_GPIO_PART1_MAX)
#define EXYNOS5_GPIO_SET_BANK(part, bank) \
((((unsigned)&(((struct exynos5420_gpio_part##part *) \
EXYNOS5420_GPIO_PART##part##_BASE)->bank) \
- EXYNOS5_GPIO_PART##part##_BASE) \
& S5P_GPIO_BANK_MASK) << S5P_GPIO_BANK_SHIFT)
#define EXYNOS4X12_GPIO_PART2_MAX ((sizeof(struct exynos4x12_gpio_part2) \
/ sizeof(struct s5p_gpio_bank)) * GPIO_PER_BANK)
#define EXYNOS5420_GPIO_SET_BANK(part, bank) \
((((unsigned)&(((struct exynos5420_gpio_part##part *) \
EXYNOS5420_GPIO_PART##part##_BASE)->bank) \
- EXYNOS5420_GPIO_PART##part##_BASE) \
& S5P_GPIO_BANK_MASK) << S5P_GPIO_BANK_SHIFT)
#define exynos4x12_gpio_part3_get_nr(bank, pin) \
(((((((unsigned int) &(((struct exynos4x12_gpio_part3 *) \
EXYNOS4X12_GPIO_PART3_BASE)->bank)) \
- EXYNOS4X12_GPIO_PART3_BASE) / sizeof(struct s5p_gpio_bank)) \
* GPIO_PER_BANK) + pin) + EXYNOS4X12_GPIO_PART2_MAX)
#define exynos4_gpio_get(part, bank, pin) \
(S5P_GPIO_SET_PART(part) | \
EXYNOS4_GPIO_SET_BANK(part, bank) | \
S5P_GPIO_SET_PIN(pin))
#define exynos5_gpio_part1_get_nr(bank, pin) \
((((((unsigned int) &(((struct exynos5_gpio_part1 *) \
EXYNOS5_GPIO_PART1_BASE)->bank)) \
- EXYNOS5_GPIO_PART1_BASE) / sizeof(struct s5p_gpio_bank)) \
* GPIO_PER_BANK) + pin)
#define exynos4x12_gpio_get(part, bank, pin) \
(S5P_GPIO_SET_PART(part) | \
EXYNOS4X12_GPIO_SET_BANK(part, bank) | \
S5P_GPIO_SET_PIN(pin))
#define EXYNOS5_GPIO_PART1_MAX ((sizeof(struct exynos5_gpio_part1) \
/ sizeof(struct s5p_gpio_bank)) * GPIO_PER_BANK)
#define exynos5420_gpio_get(part, bank, pin) \
(S5P_GPIO_SET_PART(part) | \
EXYNOS5420_GPIO_SET_BANK(part, bank) | \
S5P_GPIO_SET_PIN(pin))
#define exynos5_gpio_part2_get_nr(bank, pin) \
(((((((unsigned int) &(((struct exynos5_gpio_part2 *) \
EXYNOS5_GPIO_PART2_BASE)->bank)) \
- EXYNOS5_GPIO_PART2_BASE) / sizeof(struct s5p_gpio_bank)) \
* GPIO_PER_BANK) + pin) + EXYNOS5_GPIO_PART1_MAX)
#define exynos5_gpio_get(part, bank, pin) \
(S5P_GPIO_SET_PART(part) | \
EXYNOS5_GPIO_SET_BANK(part, bank) | \
S5P_GPIO_SET_PIN(pin))
#define EXYNOS5_GPIO_PART2_MAX ((sizeof(struct exynos5_gpio_part2) \
/ sizeof(struct s5p_gpio_bank)) * GPIO_PER_BANK)
#define exynos5_gpio_part3_get_nr(bank, pin) \
(((((((unsigned int) &(((struct exynos5_gpio_part3 *) \
EXYNOS5_GPIO_PART3_BASE)->bank)) \
- EXYNOS5_GPIO_PART3_BASE) / sizeof(struct s5p_gpio_bank)) \
* GPIO_PER_BANK) + pin) + EXYNOS5_GPIO_PART2_MAX)
/* EXYNOS5420 */
#define exynos5420_gpio_part1_get_nr(bank, pin) \
((((((unsigned int) &(((struct exynos5420_gpio_part1 *)\
EXYNOS5420_GPIO_PART1_BASE)->bank)) \
- EXYNOS5420_GPIO_PART1_BASE) / sizeof(struct s5p_gpio_bank)) \
* GPIO_PER_BANK) + pin)
#define EXYNOS5420_GPIO_PART1_MAX ((sizeof(struct exynos5420_gpio_part1) \
/ sizeof(struct s5p_gpio_bank)) * GPIO_PER_BANK)
#define exynos5420_gpio_part2_get_nr(bank, pin) \
(((((((unsigned int) &(((struct exynos5420_gpio_part2 *)\
EXYNOS5420_GPIO_PART2_BASE)->bank)) \
- EXYNOS5420_GPIO_PART2_BASE) / sizeof(struct s5p_gpio_bank)) \
* GPIO_PER_BANK) + pin) + EXYNOS5420_GPIO_PART1_MAX)
#define EXYNOS5420_GPIO_PART2_MAX ((sizeof(struct exynos5420_gpio_part2) \
/ sizeof(struct s5p_gpio_bank)) * GPIO_PER_BANK)
#define exynos5420_gpio_part3_get_nr(bank, pin) \
(((((((unsigned int) &(((struct exynos5420_gpio_part3 *)\
EXYNOS5420_GPIO_PART3_BASE)->bank)) \
- EXYNOS5420_GPIO_PART3_BASE) / sizeof(struct s5p_gpio_bank)) \
* GPIO_PER_BANK) + pin) + EXYNOS5420_GPIO_PART2_MAX)
#define EXYNOS5420_GPIO_PART3_MAX ((sizeof(struct exynos5420_gpio_part3) \
/ sizeof(struct s5p_gpio_bank)) * GPIO_PER_BANK)
#define exynos5420_gpio_part4_get_nr(bank, pin) \
(((((((unsigned int) &(((struct exynos5420_gpio_part4 *)\
EXYNOS5420_GPIO_PART4_BASE)->bank)) \
- EXYNOS5420_GPIO_PART4_BASE) / sizeof(struct s5p_gpio_bank)) \
* GPIO_PER_BANK) + pin) + EXYNOS5420_GPIO_PART3_MAX)
#define EXYNOS5420_GPIO_PART4_MAX ((sizeof(struct exynos5420_gpio_part4) \
/ sizeof(struct s5p_gpio_bank)) * GPIO_PER_BANK)
#define EXYNOS5420_GPIO_PART5_MAX ((sizeof(struct exynos5420_gpio_part5) \
/ sizeof(struct s5p_gpio_bank)) * GPIO_PER_BANK)
static inline unsigned int s5p_gpio_base(int nr)
static inline unsigned int s5p_gpio_base(int gpio)
{
if (cpu_is_exynos5()) {
if (proid_is_exynos5420()) {
if (nr < EXYNOS5420_GPIO_PART1_MAX)
return EXYNOS5420_GPIO_PART1_BASE;
else if (nr < EXYNOS5420_GPIO_PART2_MAX)
return EXYNOS5420_GPIO_PART2_BASE;
else if (nr < EXYNOS5420_GPIO_PART3_MAX)
return EXYNOS5420_GPIO_PART3_BASE;
else
return EXYNOS5420_GPIO_PART4_BASE;
} else {
if (nr < EXYNOS5_GPIO_PART1_MAX)
return EXYNOS5_GPIO_PART1_BASE;
else if (nr < EXYNOS5_GPIO_PART2_MAX)
return EXYNOS5_GPIO_PART2_BASE;
else
return EXYNOS5_GPIO_PART3_BASE;
}
} else if (cpu_is_exynos4()) {
if (nr < EXYNOS4_GPIO_PART1_MAX)
return EXYNOS4_GPIO_PART1_BASE;
else
return EXYNOS4_GPIO_PART2_BASE;
unsigned gpio_part = S5P_GPIO_GET_PART(gpio);
switch (gpio_part) {
case 1:
return samsung_get_base_gpio_part1();
case 2:
return samsung_get_base_gpio_part2();
case 3:
return samsung_get_base_gpio_part3();
case 4:
return samsung_get_base_gpio_part4();
default:
return 0;
}
return 0;
}
static inline unsigned int s5p_gpio_part_max(int nr)
{
if (cpu_is_exynos5()) {
if (proid_is_exynos5420()) {
if (nr < EXYNOS5420_GPIO_PART1_MAX)
return 0;
else if (nr < EXYNOS5420_GPIO_PART2_MAX)
return EXYNOS5420_GPIO_PART1_MAX;
else if (nr < EXYNOS5420_GPIO_PART3_MAX)
return EXYNOS5420_GPIO_PART2_MAX;
else if (nr < EXYNOS5420_GPIO_PART4_MAX)
return EXYNOS5420_GPIO_PART3_MAX;
else
return EXYNOS5420_GPIO_PART4_MAX;
} else {
if (nr < EXYNOS5_GPIO_PART1_MAX)
return 0;
else if (nr < EXYNOS5_GPIO_PART2_MAX)
return EXYNOS5_GPIO_PART1_MAX;
else
return EXYNOS5_GPIO_PART2_MAX;
}
} else if (cpu_is_exynos4()) {
if (proid_is_exynos4412()) {
if (nr < EXYNOS4X12_GPIO_PART1_MAX)
return 0;
else if (nr < EXYNOS4X12_GPIO_PART2_MAX)
return EXYNOS4X12_GPIO_PART1_MAX;
else
return EXYNOS4X12_GPIO_PART2_MAX;
} else {
if (nr < EXYNOS4_GPIO_PART1_MAX)
return 0;
else
return EXYNOS4_GPIO_PART1_MAX;
}
}
return 0;
}
#endif

View File

@ -36,7 +36,6 @@ enum periph_id {
PERIPH_ID_SDMMC3,
PERIPH_ID_I2C8 = 87,
PERIPH_ID_I2C9,
PERIPH_ID_I2C10 = 203,
PERIPH_ID_I2S0 = 98,
PERIPH_ID_I2S1 = 99,
@ -54,8 +53,8 @@ enum periph_id {
PERIPH_ID_PWM2,
PERIPH_ID_PWM3,
PERIPH_ID_PWM4,
PERIPH_ID_I2C10 = 203,
PERIPH_ID_COUNT,
PERIPH_ID_NONE = -1,
};

View File

@ -51,10 +51,17 @@
#include <asm/io.h>
/* CPU detection macros */
extern unsigned int s5p_cpu_id;
extern unsigned int s5p_cpu_rev;
static inline int s5p_get_cpu_rev(void)
{
return s5p_cpu_rev;
}
static inline void s5p_set_cpu_id(void)
{
s5p_cpu_id = readl(S5PC100_PRO_ID);
s5p_cpu_rev = s5p_cpu_id & 0x000000FF;
s5p_cpu_id = 0xC000 | ((s5p_cpu_id & 0x00FFF000) >> 12);
}

View File

@ -125,20 +125,45 @@ void s5p_gpio_set_rate(struct s5p_gpio_bank *bank, int gpio, int mode);
/* GPIO pins per bank */
#define GPIO_PER_BANK 8
#define S5P_GPIO_PART_SHIFT (24)
#define S5P_GPIO_PART_MASK (0xff)
#define S5P_GPIO_BANK_SHIFT (8)
#define S5P_GPIO_BANK_MASK (0xffff)
#define S5P_GPIO_PIN_MASK (0xff)
#define S5P_GPIO_SET_PART(x) \
(((x) & S5P_GPIO_PART_MASK) << S5P_GPIO_PART_SHIFT)
#define S5P_GPIO_GET_PART(x) \
(((x) >> S5P_GPIO_PART_SHIFT) & S5P_GPIO_PART_MASK)
#define S5P_GPIO_SET_PIN(x) \
((x) & S5P_GPIO_PIN_MASK)
#define S5PC100_SET_BANK(bank) \
(((unsigned)&(((struct s5pc100_gpio *) \
S5PC100_GPIO_BASE)->bank) - S5PC100_GPIO_BASE) \
& S5P_GPIO_BANK_MASK) << S5P_GPIO_BANK_SHIFT)
#define S5PC110_SET_BANK(bank) \
((((unsigned)&(((struct s5pc110_gpio *) \
S5PC110_GPIO_BASE)->bank) - S5PC110_GPIO_BASE) \
& S5P_GPIO_BANK_MASK) << S5P_GPIO_BANK_SHIFT)
#define s5pc100_gpio_get(bank, pin) \
(S5P_GPIO_SET_PART(0) | \
S5PC100_SET_BANK(bank) | \
S5P_GPIO_SET_PIN(pin))
#define s5pc110_gpio_get(bank, pin) \
(S5P_GPIO_SET_PART(0) | \
S5PC110_SET_BANK(bank) | \
S5P_GPIO_SET_PIN(pin))
static inline unsigned int s5p_gpio_base(int nr)
{
return S5PC110_GPIO_BASE;
return samsung_get_base_gpio();
}
static inline unsigned int s5p_gpio_part_max(int nr)
{
return 0;
}
#define s5pc110_gpio_get_nr(bank, pin) \
((((((unsigned int)&(((struct s5pc110_gpio *)S5PC110_GPIO_BASE)->bank))\
- S5PC110_GPIO_BASE) / sizeof(struct s5p_gpio_bank)) \
* GPIO_PER_BANK) + pin)
#endif
/* Pin configurations */

View File

@ -8,6 +8,7 @@
obj-$(CONFIG_SOFT_I2C_MULTI_BUS) += multi_i2c.o
obj-$(CONFIG_THOR_FUNCTION) += thor.o
obj-$(CONFIG_CMD_USB_MASS_STORAGE) += ums.o
obj-$(CONFIG_MISC_COMMON) += misc.o
ifndef CONFIG_SPL_BUILD
obj-$(CONFIG_BOARD_COMMON) += board.o

View File

@ -0,0 +1,9 @@
mmcboot=setenv bootargs root=/dev/mmcblk${mmcdev}p${mmcrootpart} ${rootfstype} rootwait ${console}; run loaduimage; bootm 0x40007FC0
rootfstype=ext4
loaduimage=ext4load mmc ${mmcdev}:${mmcbootpart} 0x40007FC0 uImage
mmcdev=0
mmcbootpart=2
mmcrootpart=5
console=console=ttySAC2,115200n8
bootcmd=run mmcboot
dfu_alt_info=u-boot mmc 80 800;params.bin mmc 0x38 0x8;uImage ext4 0 2

View File

@ -0,0 +1,411 @@
/*
* Copyright (C) 2013 Samsung Electronics
* Przemyslaw Marczak <p.marczak@samsung.com>
*
* SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
#include <lcd.h>
#include <libtizen.h>
#include <samsung/misc.h>
#include <errno.h>
#include <version.h>
#include <asm/sizes.h>
#include <asm/arch/cpu.h>
#include <asm/arch/gpio.h>
#include <asm/gpio.h>
#include <linux/input.h>
#include <power/pmic.h>
#include <mmc.h>
DECLARE_GLOBAL_DATA_PTR;
#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
void set_board_info(void)
{
char info[64];
snprintf(info, ARRAY_SIZE(info), "%d.%d", s5p_cpu_rev & 0x0f,
(s5p_cpu_rev & 0xf0) >> 0x04);
setenv("soc_rev", info);
snprintf(info, ARRAY_SIZE(info), "%x", s5p_cpu_id);
setenv("soc_id", info);
#ifdef CONFIG_REVISION_TAG
snprintf(info, ARRAY_SIZE(info), "%x", get_board_rev());
setenv("board_rev", info);
#endif
#ifdef CONFIG_OF_LIBFDT
snprintf(info, ARRAY_SIZE(info), "%s%x-%s.dtb",
CONFIG_SYS_SOC, s5p_cpu_id, CONFIG_SYS_BOARD);
setenv("fdtfile", info);
#endif
}
#endif /* CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG */
#ifdef CONFIG_LCD_MENU
static int power_key_pressed(u32 reg)
{
struct pmic *pmic;
u32 status;
u32 mask;
pmic = pmic_get(KEY_PWR_PMIC_NAME);
if (!pmic) {
printf("%s: Not found\n", KEY_PWR_PMIC_NAME);
return 0;
}
if (pmic_probe(pmic))
return 0;
if (reg == KEY_PWR_STATUS_REG)
mask = KEY_PWR_STATUS_MASK;
else
mask = KEY_PWR_INTERRUPT_MASK;
if (pmic_reg_read(pmic, reg, &status))
return 0;
return !!(status & mask);
}
static int key_pressed(int key)
{
int value;
switch (key) {
case KEY_POWER:
value = power_key_pressed(KEY_PWR_INTERRUPT_REG);
break;
case KEY_VOLUMEUP:
value = !gpio_get_value(KEY_VOL_UP_GPIO);
break;
case KEY_VOLUMEDOWN:
value = !gpio_get_value(KEY_VOL_DOWN_GPIO);
break;
default:
value = 0;
break;
}
return value;
}
static int check_keys(void)
{
int keys = 0;
if (key_pressed(KEY_POWER))
keys += KEY_POWER;
if (key_pressed(KEY_VOLUMEUP))
keys += KEY_VOLUMEUP;
if (key_pressed(KEY_VOLUMEDOWN))
keys += KEY_VOLUMEDOWN;
return keys;
}
/*
* 0 BOOT_MODE_INFO
* 1 BOOT_MODE_THOR
* 2 BOOT_MODE_UMS
* 3 BOOT_MODE_DFU
* 4 BOOT_MODE_EXIT
*/
static char *
mode_name[BOOT_MODE_EXIT + 1] = {
"DEVICE",
"THOR",
"UMS",
"DFU",
"EXIT"
};
static char *
mode_info[BOOT_MODE_EXIT + 1] = {
"info",
"downloader",
"mass storage",
"firmware update",
"and run normal boot"
};
#define MODE_CMD_ARGC 4
static char *
mode_cmd[BOOT_MODE_EXIT + 1][MODE_CMD_ARGC] = {
{"", "", "", ""},
{"thor", "0", "mmc", "0"},
{"ums", "0", "mmc", "0"},
{"dfu", "0", "mmc", "0"},
{"", "", "", ""},
};
static void display_board_info(void)
{
#ifdef CONFIG_GENERIC_MMC
struct mmc *mmc = find_mmc_device(0);
#endif
vidinfo_t *vid = &panel_info;
lcd_position_cursor(4, 4);
lcd_printf("%s\n\t", U_BOOT_VERSION);
lcd_puts("\n\t\tBoard Info:\n");
#ifdef CONFIG_SYS_BOARD
lcd_printf("\tBoard name: %s\n", CONFIG_SYS_BOARD);
#endif
#ifdef CONFIG_REVISION_TAG
lcd_printf("\tBoard rev: %u\n", get_board_rev());
#endif
lcd_printf("\tDRAM banks: %u\n", CONFIG_NR_DRAM_BANKS);
lcd_printf("\tDRAM size: %u MB\n", gd->ram_size / SZ_1M);
#ifdef CONFIG_GENERIC_MMC
if (mmc) {
if (!mmc->capacity)
mmc_init(mmc);
lcd_printf("\teMMC size: %llu MB\n", mmc->capacity / SZ_1M);
}
#endif
if (vid)
lcd_printf("\tDisplay resolution: %u x % u\n",
vid->vl_col, vid->vl_row);
lcd_printf("\tDisplay BPP: %u\n", 1 << vid->vl_bpix);
}
static int mode_leave_menu(int mode)
{
char *exit_option;
char *exit_boot = "boot";
char *exit_back = "back";
cmd_tbl_t *cmd;
int cmd_result;
int cmd_repeatable;
int leave;
lcd_clear();
switch (mode) {
case BOOT_MODE_EXIT:
return 1;
case BOOT_MODE_INFO:
display_board_info();
exit_option = exit_back;
leave = 0;
break;
default:
cmd = find_cmd(mode_cmd[mode][0]);
if (cmd) {
printf("Enter: %s %s\n", mode_name[mode],
mode_info[mode]);
lcd_printf("\n\n\t%s %s\n", mode_name[mode],
mode_info[mode]);
lcd_puts("\n\tDo not turn off device before finish!\n");
cmd_result = cmd_process(0, MODE_CMD_ARGC,
*(mode_cmd + mode),
&cmd_repeatable, NULL);
if (cmd_result == CMD_RET_SUCCESS) {
printf("Command finished\n");
lcd_clear();
lcd_printf("\n\n\t%s finished\n",
mode_name[mode]);
exit_option = exit_boot;
leave = 1;
} else {
printf("Command error\n");
lcd_clear();
lcd_printf("\n\n\t%s command error\n",
mode_name[mode]);
exit_option = exit_back;
leave = 0;
}
} else {
lcd_puts("\n\n\tThis mode is not supported.\n");
exit_option = exit_back;
leave = 0;
}
}
lcd_printf("\n\n\tPress POWER KEY to %s\n", exit_option);
/* Clear PWR button Rising edge interrupt status flag */
power_key_pressed(KEY_PWR_INTERRUPT_REG);
/* Wait for PWR key */
while (!key_pressed(KEY_POWER))
mdelay(1);
lcd_clear();
return leave;
}
static void display_download_menu(int mode)
{
char *selection[BOOT_MODE_EXIT + 1];
int i;
for (i = 0; i <= BOOT_MODE_EXIT; i++)
selection[i] = "[ ]";
selection[mode] = "[=>]";
lcd_clear();
lcd_printf("\n\t\tDownload Mode Menu\n");
for (i = 0; i <= BOOT_MODE_EXIT; i++)
lcd_printf("\t%s %s - %s\n\n", selection[i],
mode_name[i],
mode_info[i]);
}
static void download_menu(void)
{
int mode = 0;
int last_mode = 0;
int run;
int key;
display_download_menu(mode);
while (1) {
run = 0;
if (mode != last_mode)
display_download_menu(mode);
last_mode = mode;
mdelay(100);
key = check_keys();
switch (key) {
case KEY_POWER:
run = 1;
break;
case KEY_VOLUMEUP:
if (mode > 0)
mode--;
break;
case KEY_VOLUMEDOWN:
if (mode < BOOT_MODE_EXIT)
mode++;
break;
default:
break;
}
if (run) {
if (mode_leave_menu(mode))
break;
display_download_menu(mode);
}
}
lcd_clear();
}
static void display_mode_info(void)
{
lcd_position_cursor(4, 4);
lcd_printf("%s\n", U_BOOT_VERSION);
lcd_puts("\nDownload Mode Menu\n");
#ifdef CONFIG_SYS_BOARD
lcd_printf("Board name: %s\n", CONFIG_SYS_BOARD);
#endif
lcd_printf("Press POWER KEY to display MENU options.");
}
static int boot_menu(void)
{
int key = 0;
int timeout = 10;
display_mode_info();
while (timeout--) {
lcd_printf("\rNormal boot will start in: %d seconds.", timeout);
mdelay(1000);
key = key_pressed(KEY_POWER);
if (key)
break;
}
lcd_clear();
/* If PWR pressed - show download menu */
if (key) {
printf("Power pressed - go to download menu\n");
download_menu();
printf("Download mode exit.\n");
}
return 0;
}
void check_boot_mode(void)
{
int pwr_key;
pwr_key = power_key_pressed(KEY_PWR_STATUS_REG);
if (!pwr_key)
return;
/* Clear PWR button Rising edge interrupt status flag */
power_key_pressed(KEY_PWR_INTERRUPT_REG);
if (key_pressed(KEY_VOLUMEUP))
boot_menu();
else if (key_pressed(KEY_VOLUMEDOWN))
mode_leave_menu(BOOT_MODE_THOR);
}
void keys_init(void)
{
/* Set direction to input */
gpio_direction_input(KEY_VOL_UP_GPIO);
gpio_direction_input(KEY_VOL_DOWN_GPIO);
}
#endif /* CONFIG_LCD_MENU */
#ifdef CONFIG_CMD_BMP
void draw_logo(void)
{
int x, y;
ulong addr;
addr = panel_info.logo_addr;
if (!addr) {
error("There is no logo data.");
return;
}
if (panel_info.vl_width >= panel_info.logo_width) {
x = ((panel_info.vl_width - panel_info.logo_width) >> 1);
x += panel_info.logo_x_offset; /* For X center align */
} else {
x = 0;
printf("Warning: image width is bigger than display width\n");
}
if (panel_info.vl_height >= panel_info.logo_height) {
y = ((panel_info.vl_height - panel_info.logo_height) >> 1);
y += panel_info.logo_y_offset; /* For Y center align */
} else {
y = 0;
printf("Warning: image height is bigger than display height\n");
}
bmp_display(addr, x, y);
}
#endif /* CONFIG_CMD_BMP */

View File

@ -146,6 +146,6 @@
};
ehci@12110000 {
samsung,vbus-gpio = <&gpio 0xbe 0>; /* X26 */
samsung,vbus-gpio = <&gpio 0x316 0>; /* X26 */
};
};

View File

@ -110,11 +110,11 @@
};
ehci@12110000 {
samsung,vbus-gpio = <&gpio 0xb1 0>; /* X11 */
samsung,vbus-gpio = <&gpio 0x309 0>; /* X11 */
};
xhci@12000000 {
samsung,vbus-gpio = <&gpio 0xbf 0>; /* X27 */
samsung,vbus-gpio = <&gpio 0x317 0>; /* X27 */
};
tmu@10060000 {

View File

@ -13,10 +13,17 @@
#include <usb/s3c_udc.h>
#include <asm/arch/cpu.h>
#include <power/max8998_pmic.h>
#include <samsung/misc.h>
DECLARE_GLOBAL_DATA_PTR;
static struct s5pc110_gpio *s5pc110_gpio;
u32 get_board_rev(void)
{
return 0;
}
int board_init(void)
{
/* Set Initial global variables */
@ -173,3 +180,13 @@ struct s3c_plat_otg_data s5pc110_otg_data = {
.usb_phy_ctrl = S5PC110_USB_PHY_CONTROL,
};
#endif
#ifdef CONFIG_MISC_INIT_R
int misc_init_r(void)
{
#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
set_board_info();
#endif
return 0;
}
#endif

View File

@ -26,22 +26,6 @@
DECLARE_GLOBAL_DATA_PTR;
#ifdef CONFIG_USB_EHCI_EXYNOS
static int board_usb_vbus_init(void)
{
struct exynos5_gpio_part1 *gpio1 = (struct exynos5_gpio_part1 *)
samsung_get_base_gpio_part1();
/* Enable VBUS power switch */
s5p_gpio_direction_output(&gpio1->x2, 6, 1);
/* VBUS turn ON time */
mdelay(3);
return 0;
}
#endif
#ifdef CONFIG_SOUND_MAX98095
static void board_enable_audio_codec(void)
{
@ -56,9 +40,6 @@ static void board_enable_audio_codec(void)
int exynos_init(void)
{
#ifdef CONFIG_USB_EHCI_EXYNOS
board_usb_vbus_init();
#endif
#ifdef CONFIG_SOUND_MAX98095
board_enable_audio_codec();
#endif

View File

@ -28,6 +28,7 @@
#include <power/max17042_fg.h>
#include <usb.h>
#include <usb_mass_storage.h>
#include <samsung/misc.h>
#include "setup.h"
@ -742,7 +743,7 @@ vidinfo_t panel_info = {
.vl_hsp = CONFIG_SYS_LOW,
.vl_vsp = CONFIG_SYS_LOW,
.vl_dp = CONFIG_SYS_LOW,
.vl_bpix = 5, /* Bits per pixel, 2^5 = 32 */
.vl_bpix = 4, /* Bits per pixel, 2^4 = 16 */
/* s6e8ax0 Panel infomation */
.vl_hspw = 5,
@ -786,3 +787,21 @@ void init_panel_info(vidinfo_t *vid)
setenv("lcdinfo", "lcd=s6e8ax0");
}
#ifdef CONFIG_MISC_INIT_R
int misc_init_r(void)
{
#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
set_board_info();
#endif
#ifdef CONFIG_LCD_MENU
keys_init();
check_boot_mode();
#endif
#ifdef CONFIG_CMD_BMP
if (panel_info.logo_on)
draw_logo();
#endif
return 0;
}
#endif

View File

@ -28,6 +28,7 @@
#include <usb.h>
#include <usb/s3c_udc.h>
#include <usb_mass_storage.h>
#include <samsung/misc.h>
DECLARE_GLOBAL_DATA_PTR;
@ -72,15 +73,12 @@ static void check_hw_revision(void)
int checkboard(void)
{
puts("Board:\tTRATS2\n");
printf("HW Revision:\t0x%04x\n", board_rev);
return 0;
}
#endif
static void show_hw_revision(void)
{
printf("HW Revision:\t0x%04x\n", board_rev);
}
u32 get_board_rev(void)
{
return board_rev;
@ -144,17 +142,17 @@ static void board_init_i2c(void)
int get_soft_i2c_scl_pin(void)
{
if (I2C_ADAP_HWNR)
return exynos4x12_gpio_part2_get_nr(m2, 1); /* I2C9 */
return exynos4x12_gpio_get(2, m2, 1); /* I2C9 */
else
return exynos4x12_gpio_part1_get_nr(f1, 4); /* I2C8 */
return exynos4x12_gpio_get(1, f1, 4); /* I2C8 */
}
int get_soft_i2c_sda_pin(void)
{
if (I2C_ADAP_HWNR)
return exynos4x12_gpio_part2_get_nr(m2, 0); /* I2C9 */
return exynos4x12_gpio_get(2, m2, 0); /* I2C9 */
else
return exynos4x12_gpio_part1_get_nr(f1, 5); /* I2C8 */
return exynos4x12_gpio_get(1, f1, 5); /* I2C8 */
}
#endif
@ -568,7 +566,7 @@ vidinfo_t panel_info = {
.vl_hsp = CONFIG_SYS_LOW,
.vl_vsp = CONFIG_SYS_LOW,
.vl_dp = CONFIG_SYS_LOW,
.vl_bpix = 5, /* Bits per pixel, 2^5 = 32 */
.vl_bpix = 4, /* Bits per pixel, 2^4 = 16 */
/* s6e8ax0 Panel infomation */
.vl_hspw = 5,
@ -618,11 +616,17 @@ void init_panel_info(vidinfo_t *vid)
#ifdef CONFIG_MISC_INIT_R
int misc_init_r(void)
{
setenv("model", "GT-I8800");
setenv("board", "TRATS2");
show_hw_revision();
#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
set_board_info();
#endif
#ifdef CONFIG_LCD_MENU
keys_init();
check_boot_mode();
#endif
#ifdef CONFIG_CMD_BMP
if (panel_info.logo_on)
draw_logo();
#endif
return 0;
}
#endif

View File

@ -22,6 +22,7 @@
#include <usb/s3c_udc.h>
#include <asm/arch/cpu.h>
#include <power/max8998_pmic.h>
#include <samsung/misc.h>
DECLARE_GLOBAL_DATA_PTR;
@ -446,7 +447,7 @@ vidinfo_t panel_info = {
.vl_vsp = CONFIG_SYS_HIGH,
.vl_dp = CONFIG_SYS_HIGH,
.vl_bpix = 5, /* Bits per pixel */
.vl_bpix = 4, /* Bits per pixel */
/* LD9040 LCD Panel */
.vl_hspw = 2,
@ -511,3 +512,21 @@ int board_init(void)
return 0;
}
#ifdef CONFIG_MISC_INIT_R
int misc_init_r(void)
{
#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
set_board_info();
#endif
#ifdef CONFIG_LCD_MENU
keys_init();
check_boot_mode();
#endif
#ifdef CONFIG_CMD_BMP
if (panel_info.logo_on)
draw_logo();
#endif
return 0;
}
#endif

View File

@ -26,7 +26,7 @@
#endif
#include <lcd.h>
#include <watchdog.h>
#include <asm/unaligned.h>
#include <splash.h>
#if defined(CONFIG_CPU_PXA25X) || defined(CONFIG_CPU_PXA27X) || \
@ -777,9 +777,9 @@ static void lcd_display_rle8_bitmap(bmp_image_t *bmp, ushort *cmap, uchar *fb,
int x, y;
int decode = 1;
width = le32_to_cpu(bmp->header.width);
height = le32_to_cpu(bmp->header.height);
bmap = (uchar *)bmp + le32_to_cpu(bmp->header.data_offset);
width = get_unaligned_le32(&bmp->header.width);
height = get_unaligned_le32(&bmp->header.height);
bmap = (uchar *)bmp + get_unaligned_le32(&bmp->header.data_offset);
x = 0;
y = height - 1;
@ -900,9 +900,10 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
return 1;
}
width = le32_to_cpu(bmp->header.width);
height = le32_to_cpu(bmp->header.height);
bmp_bpix = le16_to_cpu(bmp->header.bit_count);
width = get_unaligned_le32(&bmp->header.width);
height = get_unaligned_le32(&bmp->header.height);
bmp_bpix = get_unaligned_le16(&bmp->header.bit_count);
colors = 1 << bmp_bpix;
bpix = NBITS(panel_info.vl_bpix);
@ -917,9 +918,7 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
/* We support displaying 8bpp BMPs on 16bpp LCDs */
if (bpix != bmp_bpix && !(bmp_bpix == 8 && bpix == 16)) {
printf ("Error: %d bit/pixel mode, but BMP has %d bit/pixel\n",
bpix,
le16_to_cpu(bmp->header.bit_count));
bpix, get_unaligned_le16(&bmp->header.bit_count));
return 1;
}
@ -956,7 +955,6 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
}
}
#endif
/*
* BMP format for Monochrome assumes that the state of a
* pixel is described on a per Bit basis, not per Byte.
@ -987,15 +985,16 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
if ((y + height) > panel_info.vl_row)
height = panel_info.vl_row - y;
bmap = (uchar *) bmp + le32_to_cpu(bmp->header.data_offset);
fb = (uchar *) (lcd_base +
bmap = (uchar *)bmp + get_unaligned_le32(&bmp->header.data_offset);
fb = (uchar *)(lcd_base +
(y + height - 1) * lcd_line_length + x * bpix / 8);
switch (bmp_bpix) {
case 1: /* pass through */
case 8:
#ifdef CONFIG_LCD_BMP_RLE8
if (le32_to_cpu(bmp->header.compression) == BMP_BI_RLE8) {
u32 compression = get_unaligned_le32(&bmp->header.compression);
if (compression == BMP_BI_RLE8) {
if (bpix != 16) {
/* TODO implement render code for bpix != 16 */
printf("Error: only support 16 bpix");

View File

@ -9,6 +9,11 @@
#include <asm/io.h>
#include <asm/gpio.h>
#define S5P_GPIO_GET_BANK(x) ((x >> S5P_GPIO_BANK_SHIFT) \
& S5P_GPIO_BANK_MASK)
#define S5P_GPIO_GET_PIN(x) (x & S5P_GPIO_PIN_MASK)
#define CON_MASK(x) (0xf << ((x) << 2))
#define CON_SFR(x, v) ((v) << ((x) << 2))
@ -124,17 +129,15 @@ void s5p_gpio_set_rate(struct s5p_gpio_bank *bank, int gpio, int mode)
struct s5p_gpio_bank *s5p_gpio_get_bank(unsigned gpio)
{
int bank;
unsigned g = gpio - s5p_gpio_part_max(gpio);
unsigned bank = S5P_GPIO_GET_BANK(gpio);
unsigned base = s5p_gpio_base(gpio);
bank = g / GPIO_PER_BANK;
bank *= sizeof(struct s5p_gpio_bank);
return (struct s5p_gpio_bank *) (s5p_gpio_base(gpio) + bank);
return (struct s5p_gpio_bank *)(base + bank);
}
int s5p_gpio_get_pin(unsigned gpio)
{
return gpio % GPIO_PER_BANK;
return S5P_GPIO_GET_PIN(gpio);
}
/* Common GPIO API */

View File

@ -8,7 +8,7 @@
#include <common.h>
#include <power/pmic.h>
#include <power/battery.h>
#include <power/max8997_pmic.h>
#include <power/max77693_pmic.h>
#include <errno.h>
static struct battery battery_trats;

View File

@ -100,8 +100,8 @@ static int serial_init_dev(const int dev_index)
{
struct s5p_uart *const uart = s5p_get_base_uart(dev_index);
/* enable FIFOs */
writel(0x1, &uart->ufcon);
/* enable FIFOs, auto clear Rx FIFO */
writel(0x3, &uart->ufcon);
writel(0, &uart->umcon);
/* 8N1 */
writel(0x3, &uart->ulcon);

View File

@ -62,31 +62,6 @@ static void exynos_lcd_init(vidinfo_t *vid)
lcd_set_flush_dcache(1);
}
#ifdef CONFIG_CMD_BMP
static void draw_logo(void)
{
int x, y;
ulong addr;
if (panel_width >= panel_info.logo_width) {
x = ((panel_width - panel_info.logo_width) >> 1);
} else {
x = 0;
printf("Warning: image width is bigger than display width\n");
}
if (panel_height >= panel_info.logo_height) {
y = ((panel_height - panel_info.logo_height) >> 1) - 4;
} else {
y = 0;
printf("Warning: image height is bigger than display height\n");
}
addr = panel_info.logo_addr;
bmp_display(addr, x, y);
}
#endif
void __exynos_cfg_lcd_gpio(void)
{
}
@ -323,9 +298,6 @@ void lcd_enable(void)
if (panel_info.logo_on) {
memset((void *) gd->fb_base, 0, panel_width * panel_height *
(NBITS(panel_info.vl_bpix) >> 3));
#ifdef CONFIG_CMD_BMP
draw_logo();
#endif
}
lcd_panel_on(&panel_info);

View File

@ -73,18 +73,19 @@ static void exynos_fimd_set_par(unsigned int win_id)
/* DATAPATH is DMA */
cfg |= EXYNOS_WINCON_DATAPATH_DMA;
if (pvid->logo_on) /* To get proprietary LOGO */
cfg |= EXYNOS_WINCON_WSWP_ENABLE;
else /* To get output console on LCD */
cfg |= EXYNOS_WINCON_HAWSWP_ENABLE;
cfg |= EXYNOS_WINCON_HAWSWP_ENABLE;
/* dma burst is 16 */
cfg |= EXYNOS_WINCON_BURSTLEN_16WORD;
if (pvid->logo_on) /* To get proprietary LOGO */
cfg |= EXYNOS_WINCON_BPPMODE_24BPP_888;
else /* To get output console on LCD */
switch (pvid->vl_bpix) {
case 4:
cfg |= EXYNOS_WINCON_BPPMODE_16BPP_565;
break;
default:
cfg |= EXYNOS_WINCON_BPPMODE_24BPP_888;
break;
}
writel(cfg, (unsigned int)&fimd_ctrl->wincon0 +
EXYNOS_WINCON(win_id));

View File

@ -34,6 +34,7 @@
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_CMDLINE_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_INITRD_TAG
#define CONFIG_CMDLINE_EDITING
@ -113,8 +114,13 @@
#define CONFIG_UBIFS_OPTION "rootflags=bulk_read,no_chk_data_crc"
#define CONFIG_MISC_COMMON
#define CONFIG_MISC_INIT_R
#define CONFIG_ENV_OVERWRITE
#define CONFIG_SYS_CONSOLE_IS_IN_ENV
#define CONFIG_ENV_VARS_UBOOT_CONFIG
#define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
#define CONFIG_EXTRA_ENV_SETTINGS \
CONFIG_UPDATEB \
"updatek=" \
@ -208,8 +214,8 @@
/*
* I2C Settings
*/
#define CONFIG_SOFT_I2C_GPIO_SCL s5pc110_gpio_get_nr(j4, 3)
#define CONFIG_SOFT_I2C_GPIO_SDA s5pc110_gpio_get_nr(j4, 0)
#define CONFIG_SOFT_I2C_GPIO_SCL s5pc110_gpio_get(j4, 3)
#define CONFIG_SOFT_I2C_GPIO_SDA s5pc110_gpio_get(j4, 0)
#define CONFIG_SYS_I2C
#define CONFIG_SYS_I2C_SOFT /* I2C bit-banged */

View File

@ -124,6 +124,9 @@
#define CONFIG_SYS_CONSOLE_INFO_QUIET
#define CONFIG_SYS_CONSOLE_IS_IN_ENV
#define CONFIG_ENV_VARS_UBOOT_CONFIG
#define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
#define CONFIG_EXTRA_ENV_SETTINGS \
"updateb=" \
"onenand erase 0x0 0x100000;" \
@ -229,8 +232,8 @@
/*
* I2C Settings
*/
#define CONFIG_SOFT_I2C_GPIO_SCL exynos4_gpio_part1_get_nr(b, 7)
#define CONFIG_SOFT_I2C_GPIO_SDA exynos4_gpio_part1_get_nr(b, 6)
#define CONFIG_SOFT_I2C_GPIO_SCL exynos4_gpio_get(1, b, 7)
#define CONFIG_SOFT_I2C_GPIO_SDA exynos4_gpio_get(1, b, 6)
#define CONFIG_SYS_I2C
#define CONFIG_SYS_I2C_SOFT /* I2C bit-banged */
@ -253,10 +256,10 @@
*/
#define CONFIG_SOFT_SPI
#define CONFIG_SOFT_SPI_MODE SPI_MODE_3
#define CONFIG_SOFT_SPI_GPIO_SCLK exynos4_gpio_part2_get_nr(y3, 1)
#define CONFIG_SOFT_SPI_GPIO_MOSI exynos4_gpio_part2_get_nr(y3, 3)
#define CONFIG_SOFT_SPI_GPIO_MISO exynos4_gpio_part2_get_nr(y3, 0)
#define CONFIG_SOFT_SPI_GPIO_CS exynos4_gpio_part2_get_nr(y4, 3)
#define CONFIG_SOFT_SPI_GPIO_SCLK exynos4_gpio_get(2, y3, 1)
#define CONFIG_SOFT_SPI_GPIO_MOSI exynos4_gpio_get(2, y3, 3)
#define CONFIG_SOFT_SPI_GPIO_MISO exynos4_gpio_get(2, y3, 0)
#define CONFIG_SOFT_SPI_GPIO_CS exynos4_gpio_get(2, y4, 3)
#define SPI_DELAY udelay(1)
#undef SPI_INIT
@ -269,16 +272,43 @@ void universal_spi_sda(int bit);
int universal_spi_read(void);
#endif
/* Common misc for Samsung */
#define CONFIG_MISC_COMMON
#define CONFIG_MISC_INIT_R
/* Download menu - Samsung common */
#define CONFIG_LCD_MENU
#define CONFIG_LCD_MENU_BOARD
/* Download menu - definitions for check keys */
#ifndef __ASSEMBLY__
#include <power/max8998_pmic.h>
#define KEY_PWR_PMIC_NAME "MAX8998_PMIC"
#define KEY_PWR_STATUS_REG MAX8998_REG_STATUS1
#define KEY_PWR_STATUS_MASK (1 << 7)
#define KEY_PWR_INTERRUPT_REG MAX8998_REG_IRQ1
#define KEY_PWR_INTERRUPT_MASK (1 << 7)
#define KEY_VOL_UP_GPIO exynos4_gpio_get(2, x2, 0)
#define KEY_VOL_DOWN_GPIO exynos4_gpio_get(2, x2, 1)
#endif /* __ASSEMBLY__ */
/* LCD console */
#define LCD_BPP LCD_COLOR16
#define CONFIG_SYS_WHITE_ON_BLACK
/*
* LCD Settings
*/
#define CONFIG_EXYNOS_FB
#define CONFIG_LCD
#define CONFIG_CMD_BMP
#define CONFIG_BMP_32BPP
#define CONFIG_BMP_16BPP
#define CONFIG_LD9040
#define CONFIG_EXYNOS_MIPI_DSIM
#define CONFIG_VIDEO_BMP_GZIP
#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE ((520 * 120 * 4) + (1 << 12))
#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE ((500 * 160 * 4) + 54)
#endif /* __CONFIG_H */

View File

@ -147,15 +147,23 @@
""PARTS_BOOT" part 0 2;" \
""PARTS_ROOT" part 0 5;" \
""PARTS_DATA" part 0 6;" \
""PARTS_UMS" part 0 7\0"
""PARTS_UMS" part 0 7;" \
"params.bin mmc 0x38 0x8\0"
#define CONFIG_ENV_OVERWRITE
#define CONFIG_SYS_CONSOLE_INFO_QUIET
#define CONFIG_SYS_CONSOLE_IS_IN_ENV
#define CONFIG_ENV_VARS_UBOOT_CONFIG
#define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
#define CONFIG_EXTRA_ENV_SETTINGS \
"bootk=" \
"run loaddtb; run loaduimage; bootm 0x40007FC0 - ${fdtaddr}\0" \
"run loaduimage;" \
"if run loaddtb; then " \
"bootm 0x40007FC0 - ${fdtaddr};" \
"fi;" \
"bootm 0x40007FC0;\0" \
"updatemmc=" \
"mmc boot 0 1 1 1; mmc write 0 0x42008000 0 0x200;" \
"mmc boot 0 1 1 0\0" \
@ -178,7 +186,7 @@
"mmcboot=" \
"setenv bootargs root=/dev/mmcblk${mmcdev}p${mmcrootpart} " \
"${lpj} rootwait ${console} ${meminfo} ${opts} ${lcdinfo}; " \
"run loaddtb; run loaduimage; bootm 0x40007FC0 - ${fdtaddr}\0" \
"run bootk\0" \
"bootchart=setenv opts init=/sbin/bootchartd; run bootcmd\0" \
"boottrace=setenv opts initcall_debug; run bootcmd\0" \
"mmcoops=mmc read 0 0x40000000 0x40 8; md 0x40000000 0x400\0" \
@ -217,7 +225,6 @@
"setenv spl_imgaddr;" \
"setenv spl_addr_tmp;\0" \
"fdtaddr=40800000\0" \
"fdtfile=exynos4210-trats.dtb\0"
/* Miscellaneous configurable options */
@ -287,8 +294,8 @@
#include <asm/arch/gpio.h>
/* I2C FG */
#define CONFIG_SOFT_I2C_GPIO_SCL exynos4_gpio_part2_get_nr(y4, 1)
#define CONFIG_SOFT_I2C_GPIO_SDA exynos4_gpio_part2_get_nr(y4, 0)
#define CONFIG_SOFT_I2C_GPIO_SCL exynos4_gpio_get(2, y4, 1)
#define CONFIG_SOFT_I2C_GPIO_SDA exynos4_gpio_get(2, y4, 0)
#define CONFIG_POWER
#define CONFIG_POWER_I2C
@ -306,16 +313,43 @@
#define CONFIG_USB_GADGET_VBUS_DRAW 2
#define CONFIG_USB_CABLE_CHECK
/* Common misc for Samsung */
#define CONFIG_MISC_COMMON
#define CONFIG_MISC_INIT_R
/* Download menu - Samsung common */
#define CONFIG_LCD_MENU
#define CONFIG_LCD_MENU_BOARD
/* Download menu - definitions for check keys */
#ifndef __ASSEMBLY__
#include <power/max8997_pmic.h>
#define KEY_PWR_PMIC_NAME "MAX8997_PMIC"
#define KEY_PWR_STATUS_REG MAX8997_REG_STATUS1
#define KEY_PWR_STATUS_MASK (1 << 0)
#define KEY_PWR_INTERRUPT_REG MAX8997_REG_INT1
#define KEY_PWR_INTERRUPT_MASK (1 << 0)
#define KEY_VOL_UP_GPIO exynos4_gpio_get(2, x2, 0)
#define KEY_VOL_DOWN_GPIO exynos4_gpio_get(2, x2, 1)
#endif /* __ASSEMBLY__ */
/* LCD console */
#define LCD_BPP LCD_COLOR16
#define CONFIG_SYS_WHITE_ON_BLACK
/* LCD */
#define CONFIG_EXYNOS_FB
#define CONFIG_LCD
#define CONFIG_CMD_BMP
#define CONFIG_BMP_32BPP
#define CONFIG_BMP_16BPP
#define CONFIG_FB_ADDR 0x52504000
#define CONFIG_S6E8AX0
#define CONFIG_EXYNOS_MIPI_DSIM
#define CONFIG_VIDEO_BMP_GZIP
#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE ((500 * 120 * 4) + (1 << 12))
#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE ((500 * 160 * 4) + 54)
#define CONFIG_CMD_USB_MASS_STORAGE
#define CONFIG_USB_GADGET_MASS_STORAGE

View File

@ -152,6 +152,9 @@
#define CONFIG_SYS_CONSOLE_INFO_QUIET
#define CONFIG_SYS_CONSOLE_IS_IN_ENV
#define CONFIG_ENV_VARS_UBOOT_CONFIG
#define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
/* Tizen - partitions definitions */
#define PARTS_CSA "csa"
#define PARTS_BOOT "boot"
@ -178,11 +181,16 @@
""PARTS_BOOT" part 0 2;" \
""PARTS_ROOT" part 0 5;" \
""PARTS_DATA" part 0 6;" \
""PARTS_UMS" part 0 7\0"
""PARTS_UMS" part 0 7;" \
"params.bin mmc 0x38 0x8\0"
#define CONFIG_EXTRA_ENV_SETTINGS \
"bootk=" \
"run loaddtb; run loaduimage; bootm 0x40007FC0 - ${fdtaddr}\0" \
"run loaduimage;" \
"if run loaddtb; then " \
"bootm 0x40007FC0 - ${fdtaddr};" \
"fi;" \
"bootm 0x40007FC0;\0" \
"updatemmc=" \
"mmc boot 0 1 1 1; mmc write 0x42008000 0 0x200;" \
"mmc boot 0 1 1 0\0" \
@ -196,7 +204,7 @@
"mmcboot=" \
"setenv bootargs root=/dev/mmcblk${mmcdev}p${mmcrootpart} " \
"${lpj} rootwait ${console} ${meminfo} ${opts} ${lcdinfo}; " \
"run loaddtb; run loaduimage; bootm 0x40007FC0 - ${fdtaddr}\0" \
"run bootk\0" \
"bootchart=set opts init=/sbin/bootchartd; run bootcmd\0" \
"boottrace=setenv opts initcall_debug; run bootcmd\0" \
"verify=n\0" \
@ -237,7 +245,6 @@
"setenv spl_imgaddr;" \
"setenv spl_addr_tmp;\0" \
"fdtaddr=40800000\0" \
"fdtfile=exynos4412-trats2.dtb\0"
/*
* Miscellaneous configurable options
@ -277,7 +284,6 @@
#define CONFIG_EFI_PARTITION
#define CONFIG_PARTITION_UUIDS
#define CONFIG_MISC_INIT_R
#define CONFIG_BOARD_EARLY_INIT_F
/* I2C */
@ -318,16 +324,43 @@ int get_soft_i2c_sda_pin(void);
#define CONFIG_USB_GADGET_VBUS_DRAW 2
#define CONFIG_USB_CABLE_CHECK
/* Common misc for Samsung */
#define CONFIG_MISC_COMMON
#define CONFIG_MISC_INIT_R
/* Download menu - Samsung common */
#define CONFIG_LCD_MENU
#define CONFIG_LCD_MENU_BOARD
/* Download menu - definitions for check keys */
#ifndef __ASSEMBLY__
#include <power/max77686_pmic.h>
#define KEY_PWR_PMIC_NAME "MAX77686_PMIC"
#define KEY_PWR_STATUS_REG MAX77686_REG_PMIC_STATUS1
#define KEY_PWR_STATUS_MASK (1 << 0)
#define KEY_PWR_INTERRUPT_REG MAX77686_REG_PMIC_INT1
#define KEY_PWR_INTERRUPT_MASK (1 << 1)
#define KEY_VOL_UP_GPIO exynos4x12_gpio_get(2, x2, 2)
#define KEY_VOL_DOWN_GPIO exynos4x12_gpio_get(2, x3, 3)
#endif /* __ASSEMBLY__ */
/* LCD console */
#define LCD_BPP LCD_COLOR16
#define CONFIG_SYS_WHITE_ON_BLACK
/* LCD */
#define CONFIG_EXYNOS_FB
#define CONFIG_LCD
#define CONFIG_CMD_BMP
#define CONFIG_BMP_32BPP
#define CONFIG_BMP_16BPP
#define CONFIG_FB_ADDR 0x52504000
#define CONFIG_S6E8AX0
#define CONFIG_EXYNOS_MIPI_DSIM
#define CONFIG_VIDEO_BMP_GZIP
#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE ((500 * 250 * 4) + (1 << 12))
#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE ((500 * 160 * 4) + 54)
#define CONFIG_CMD_USB_MASS_STORAGE
#define CONFIG_USB_GADGET_MASS_STORAGE

View File

@ -223,6 +223,8 @@ typedef struct vidinfo {
unsigned int logo_on;
unsigned int logo_width;
unsigned int logo_height;
int logo_x_offset;
int logo_y_offset;
unsigned long logo_addr;
unsigned int rgb_mode;
unsigned int resolution;

View File

@ -8,6 +8,8 @@
#ifndef __MAX77686_H_
#define __MAX77686_H_
#include <power/pmic.h>
enum {
MAX77686_REG_PMIC_ID = 0x0,
MAX77686_REG_PMIC_INTSRC,

View File

@ -8,7 +8,6 @@
#ifndef __CORE_PMIC_H_
#define __CORE_PMIC_H_
#include <common.h>
#include <linux/list.h>
#include <i2c.h>
#include <power/power_chrg.h>

View File

@ -0,0 +1,29 @@
#ifndef __SAMSUNG_MISC_COMMON_H__
#define __SAMSUNG_MISC_COMMON_H__
#ifdef CONFIG_REVISION_TAG
u32 get_board_rev(void);
#endif
#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
void set_board_info(void);
#endif
#ifdef CONFIG_LCD_MENU
enum {
BOOT_MODE_INFO,
BOOT_MODE_THOR,
BOOT_MODE_UMS,
BOOT_MODE_DFU,
BOOT_MODE_EXIT,
};
void keys_init(void);
void check_boot_mode(void);
#endif /* CONFIG_LCD_MENU */
#ifdef CONFIG_CMD_BMP
void draw_logo(void);
#endif
#endif /* __SAMSUNG_MISC_COMMON_H__ */

View File

@ -9,18 +9,25 @@
#include <lcd.h>
#include <libtizen.h>
#include "tizen_hd_logo.h"
#include "tizen_hd_logo_data.h"
#include "tizen_logo_16bpp.h"
#include "tizen_logo_16bpp_gzip.h"
void get_tizen_logo_info(vidinfo_t *vid)
{
switch (vid->resolution) {
case HD_RESOLUTION:
vid->logo_width = TIZEN_HD_LOGO_WIDTH;
vid->logo_height = TIZEN_HD_LOGO_HEIGHT;
vid->logo_addr = (ulong)tizen_hd_logo;
switch (vid->vl_bpix) {
case 4:
vid->logo_width = TIZEN_LOGO_16BPP_WIDTH;
vid->logo_height = TIZEN_LOGO_16BPP_HEIGHT;
vid->logo_x_offset = TIZEN_LOGO_16BPP_X_OFFSET;
vid->logo_y_offset = TIZEN_LOGO_16BPP_Y_OFFSET;
#if defined(CONFIG_VIDEO_BMP_GZIP)
vid->logo_addr = (ulong)tizen_logo_16bpp_gzip;
#else
vid->logo_addr = (ulong)tizen_logo_16bpp;
#endif
break;
default:
vid->logo_addr = 0;
break;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,15 +0,0 @@
/*
* (C) Copyright 2012 Samsung Electronics
* Donghwa Lee <dh09.lee@samsung.com>
*
* SPDX-License-Identifier: GPL-2.0+
*/
#ifndef _TIZEN_HD_LOGO_DATA_H_
#define _TIZEN_HD_LOGO_DATA_H_
#define TIZEN_HD_LOGO_WIDTH 520
#define TIZEN_HD_LOGO_HEIGHT 120
#define TIZEN_HD_LOGO_BPP 32
#endif /* _TIZEN_HD_LOGO_DATA_H_ */

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,727 @@
/*
* (C) Copyright 2013 Samsung Electronics
* Przemyslaw Marczak <p.marczak@samsung.com>
*
* SPDX-License-Identifier: GPL-2.0+
*/
#ifndef __TIZEN_LOGO_16BPP_GZIP__
#define __TIZEN_LOGO_16BPP_GZIP__
/* Format: GZIP: BMP RGB565 16BPP 500x160 */
unsigned char tizen_logo_16bpp_gzip[] = {
0x1f,0x8b,0x08,0x08,0xff,0xf7,0xb3,0x52,0x00,0x03,0x54,0x69,0x7a,0x65,0x6e,0x2d,
0x4c,0x6f,0x63,0x6b,0x75,0x70,0x2d,0x4f,0x6e,0x2d,0x44,0x61,0x72,0x6b,0x2d,0x52,
0x47,0x42,0x5f,0x35,0x30,0x30,0x78,0x31,0x36,0x30,0x2e,0x62,0x6d,0x70,0x00,0xed,
0x9d,0x7f,0x6c,0x5b,0xe7,0x79,0xef,0x29,0xf1,0x47,0xd8,0x59,0x86,0xd9,0xda,0x85,
0x95,0x50,0x89,0xc9,0x56,0xe9,0xa2,0x44,0xc5,0xec,0x55,0xbb,0x91,0x22,0xba,0xbe,
0x32,0xe6,0xdc,0x6b,0xad,0xc6,0x1c,0x55,0x1e,0x24,0x99,0x4e,0x60,0x0b,0xce,0x20,
0xa8,0xee,0xbd,0x86,0xae,0x50,0x2b,0x92,0x62,0x5c,0x55,0xf3,0x6e,0x32,0x25,0x80,
0x3d,0xd9,0x2b,0x65,0xd1,0xb9,0x70,0xa0,0x74,0x70,0x4b,0xe3,0x56,0x05,0xbd,0x58,
0x09,0x95,0x3f,0xbc,0xd1,0x5b,0x8c,0x31,0x80,0x73,0x77,0xdc,0x50,0xc9,0xe1,0x05,
0xec,0xed,0xac,0x73,0xd1,0x03,0x54,0x45,0xd8,0x4a,0xa9,0x79,0xdf,0xe7,0x1c,0x1e,
0xf2,0x90,0x3c,0x3f,0xde,0xf7,0x90,0x3c,0x24,0x95,0xf7,0xfb,0x40,0x89,0x2c,0x51,
0xe4,0xfb,0xeb,0x73,0xde,0xe7,0xfd,0xf5,0xbc,0x7b,0x0f,0x3c,0x7b,0xb2,0xde,0x02,
0x7a,0x16,0x7d,0xb5,0xa3,0xaf,0x5f,0xd7,0x59,0x2c,0xff,0x1b,0xfd,0xbf,0xce,0xe2,
0xb2,0x58,0xe1,0x17,0xe8,0xf7,0x5b,0x37,0x59,0x84,0xaf,0x8c,0x7e,0x63,0xb1,0xfc,
0xbf,0x87,0x2c,0x96,0x1d,0x16,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,
0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0xaa,0x5a,0x90,0xd7,0xc9,
0x75,0xb4,0x0e,0xb6,0x0e,0xee,0xef,0x6e,0xf6,0x1e,0x75,0x56,0x3a,0x35,0xe5,0xd3,
0x65,0x57,0xb3,0x77,0x5f,0xcb,0xe3,0x9a,0xb6,0x0f,0xd9,0x65,0x97,0x19,0xa9,0x39,
0xe6,0x82,0x4f,0xd3,0x4b,0xcd,0xe3,0x2d,0x37,0x1a,0x4b,0xf1,0x69,0x38,0x79,0x2f,
0x97,0x41,0x99,0xda,0xbc,0x5e,0x03,0x2d,0xeb,0x6e,0xe3,0x3e,0xdd,0x32,0x32,0x37,
0x27,0xcd,0xde,0x63,0x06,0x5a,0x07,0xe4,0x43,0xef,0x9d,0x1f,0x6f,0xb9,0xe7,0xf1,
0x90,0xbf,0x35,0xb6,0xce,0xec,0x5a,0x9d,0x6f,0x8f,0xf6,0x47,0xfb,0x63,0x8d,0xcb,
0x77,0xc2,0xa3,0xa1,0xc5,0xd9,0xab,0x23,0x57,0x7a,0x6e,0x76,0xdc,0x68,0xec,0x72,
0xe2,0xd7,0xcd,0x65,0xd7,0xf1,0x4c,0x8b,0x9c,0x72,0xed,0x43,0x69,0x16,0xbf,0xf7,
0x3a,0xef,0x79,0xf6,0xb5,0x4c,0x99,0x42,0x8e,0xb6,0x7e,0xd4,0x73,0x2d,0xdc,0x17,
0x6d,0xd7,0xb5,0xfe,0xd8,0x9d,0xc8,0x2f,0x06,0xca,0x9d,0x9a,0xfd,0xdd,0xa3,0xa1,
0xfe,0x98,0x7e,0x6a,0xda,0xa3,0xdb,0x97,0x5f,0x1f,0x31,0xd2,0xb6,0xb2,0xb2,0x79,
0x5d,0xd3,0xc9,0x08,0x4e,0xde,0xcb,0x67,0xfd,0xd1,0x73,0xb3,0xfb,0x5a,0x48,0x52,
0x3d,0xe5,0xe2,0xc7,0xdb,0xa3,0x95,0x4d,0xb5,0x42,0x3e,0x62,0x87,0x42,0x5c,0x07,
0x49,0x3e,0xde,0x6c,0xe4,0xc7,0x1b,0xd1,0x5f,0x36,0x62,0xbc,0xfb,0xb9,0xd9,0xc7,
0x89,0xca,0x08,0x5f,0xc7,0x5b,0x92,0x91,0x20,0x1f,0x67,0x96,0x90,0xad,0x30,0xeb,
0xac,0x3b,0xb1,0xce,0x2e,0x31,0x63,0xb1,0x7e,0xd4,0xbe,0x0e,0x85,0x4e,0xce,0x9c,
0x18,0x1e,0xea,0x7e,0x71,0xd7,0x8d,0xc6,0x29,0x57,0x97,0x26,0xf3,0xad,0x83,0x2b,
0xec,0xce,0x69,0xf1,0x35,0xb7,0x06,0xda,0xa3,0x8b,0xb3,0x62,0xdb,0xbc,0xdb,0xf8,
0xe1,0xec,0x1c,0x73,0xab,0xec,0xdc,0xe8,0xe9,0xdf,0x3b,0xda,0xa3,0x4d,0xdc,0x3a,
0x8b,0x63,0x3e,0xae,0x31,0xfa,0xc4,0xde,0x72,0xa6,0xa6,0xd9,0x7b,0x21,0xec,0xc3,
0x4c,0x4d,0x53,0x62,0x85,0x2d,0xa6,0xfc,0xce,0xec,0x1a,0x0d,0xb9,0x13,0x50,0xaf,
0x95,0x34,0x77,0xc2,0xc7,0x2d,0xce,0x92,0xf4,0xe9,0x07,0x86,0x97,0x18,0xdc,0x32,
0x32,0x37,0x1f,0xa3,0x21,0x9b,0xd7,0x62,0xf1,0x60,0xe6,0xe3,0xea,0x48,0x13,0x76,
0xe9,0xfb,0xb8,0x73,0x44,0x65,0x84,0xab,0xa3,0xce,0xad,0x0b,0x6c,0x6a,0x8d,0x85,
0xde,0x7c,0x2c,0x6d,0x73,0xb1,0x25,0x26,0xce,0xac,0x08,0x9f,0x1b,0x67,0xe6,0x98,
0x00,0xfa,0x19,0x13,0xfe,0x70,0xf6,0x83,0xf1,0xfb,0x03,0xce,0xbd,0x90,0x43,0x25,
0xbd,0x3e,0xb2,0x9c,0x5c,0x9c,0x15,0x39,0x6f,0x18,0x5c,0x67,0xb7,0x2d,0x74,0x39,
0x6d,0x5e,0x9b,0xf7,0x46,0x63,0xdb,0xc2,0x11,0xae,0x75,0xb0,0xf4,0x69,0x27,0x53,
0xeb,0x60,0x13,0x37,0x97,0xc9,0xa3,0x9e,0xad,0x30,0x1f,0x8c,0x97,0x33,0x35,0x57,
0x7a,0xc6,0x62,0xf0,0x34,0xc5,0xb1,0x40,0xac,0x29,0x21,0x3d,0x41,0xc9,0xd5,0xe5,
0x5c,0x9d,0xf7,0x71,0xb8,0x9f,0x55,0x4e,0x5b,0x67,0x93,0x91,0xe3,0x04,0xbd,0xd5,
0xb6,0x85,0xa6,0x44,0xa5,0xd3,0xac,0x64,0x40,0x86,0x73,0x2f,0x2e,0xe7,0xf7,0x3c,
0x6d,0x0b,0x6e,0xcc,0x7c,0xf4,0xa3,0x32,0xba,0x16,0x26,0xf3,0x7a,0xf0,0x74,0x75,
0x24,0xc8,0x4f,0xf0,0x4b,0x8c,0x9c,0x73,0xb9,0xcd,0xa5,0x7b,0xf9,0x15,0x76,0x05,
0x7d,0x07,0xff,0xba,0x13,0xb9,0xd2,0xa3,0xf4,0x4e,0x07,0x86,0xdd,0x89,0xe7,0x66,
0xa4,0xfe,0xbc,0x3f,0xfa,0xdc,0xcc,0x5b,0xbb,0xda,0x16,0xda,0x16,0x9c,0x7b,0xcf,
0xcd,0x2c,0x31,0xf7,0x2b,0xde,0x9f,0x7f,0x1d,0x3d,0x7b,0x70,0x6b,0xb2,0x3f,0xba,
0xc4,0xb8,0xa6,0xcb,0x99,0x9a,0x86,0xc1,0xbe,0x68,0x00,0xbb,0x65,0xc5,0x99,0xe7,
0x66,0x8c,0x8e,0x7c,0x48,0x9e,0x28,0xe5,0x35,0x68,0x3b,0x37,0x09,0x3c,0xde,0xde,
0x05,0xfc,0x1a,0x33,0x37,0x1f,0x4b,0xcc,0xfe,0x6e,0xdc,0x5c,0x34,0x7b,0xdb,0x16,
0xe2,0x98,0xe5,0xdf,0x8f,0x6a,0xfa,0x42,0xf8,0xcc,0x2e,0x23,0xf5,0xac,0xa5,0xfd,
0xdd,0x71,0x36,0xc8,0x77,0x26,0x10,0xe7,0x31,0x30,0xad,0x34,0xcc,0xa5,0x3d,0x7b,
0x77,0xa2,0x3f,0xa6,0x94,0xcb,0xd6,0x41,0x37,0xea,0x75,0xc4,0xef,0x6f,0x0d,0x24,
0x23,0x6d,0x0b,0xab,0xf3,0xe0,0x17,0x00,0xeb,0x63,0xb1,0xca,0x73,0x8e,0xc6,0x15,
0x30,0x1a,0xc1,0x2a,0xed,0x3e,0xe0,0x7c,0xa2,0x9c,0xa9,0xb9,0x8f,0x46,0x36,0x24,
0x2d,0x6b,0xe7,0xb4,0xb1,0x11,0xfa,0x94,0x6b,0x1b,0xa2,0x05,0x27,0xd7,0xe5,0xb7,
0x25,0x86,0x09,0x93,0x70,0xde,0x56,0xb5,0x9c,0xcf,0x11,0x70,0x6e,0xf3,0x6e,0x0b,
0xe2,0x3e,0x67,0xa1,0x7f,0x19,0x0d,0x91,0xf8,0x3c,0x78,0x29,0x60,0xc2,0x6c,0xb2,
0x93,0xeb,0xe4,0x04,0xce,0xa3,0x7a,0xa4,0x8b,0x16,0x88,0xf9,0xb8,0x9d,0xd3,0xb9,
0x63,0x88,0x2e,0xe7,0x94,0xeb,0xb5,0xe1,0x75,0xf6,0xe4,0x8c,0x38,0x13,0x77,0xa5,
0x27,0x19,0x81,0xd7,0x5e,0x0b,0x5f,0x08,0xcf,0x09,0x74,0x55,0x7e,0x7c,0xde,0x3a,
0x18,0x17,0x52,0xa2,0x9d,0x4b,0xf1,0xf7,0xc0,0x39,0x5f,0x56,0xbf,0xfd,0x96,0xc0,
0xb9,0x7e,0x89,0x8b,0xaf,0x30,0xce,0xf9,0xad,0x01,0x78,0x42,0xe3,0xd4,0x6b,0xf9,
0x6d,0x89,0xb9,0x16,0xfe,0x21,0x01,0xe7,0xd5,0xf3,0x84,0xca,0xcf,0x07,0x19,0xe7,
0x5b,0x2b,0xca,0xb9,0xc7,0x72,0x76,0x26,0x92,0xf4,0x73,0xb9,0x9c,0xe3,0xb0,0xbe,
0xc2,0x9e,0x9b,0x95,0xaf,0x3c,0x79,0x9d,0x57,0x7a,0x16,0x67,0x2f,0x84,0xe1,0x79,
0x7d,0x7b,0xb6,0x61,0xb0,0x0b,0xfd,0xbb,0x3d,0xba,0xce,0x32,0xe1,0x7f,0xef,0xe2,
0x3a,0xee,0x44,0x56,0x50,0xb9,0x54,0x43,0x7f,0x2e,0x70,0xae,0x99,0xcb,0x7e,0x19,
0xe7,0x5b,0xca,0xda,0x9f,0xe3,0x71,0xde,0x5f,0x24,0xe7,0x53,0xae,0xad,0x41,0xc4,
0x0a,0x81,0xe7,0x50,0x3e,0xeb,0x37,0xc6,0x79,0x14,0xaf,0x4d,0x9a,0x9b,0x8f,0x39,
0x45,0x8f,0x56,0x59,0x12,0xe7,0x38,0x75,0xdd,0x57,0x06,0xce,0x37,0x0d,0xfa,0xb9,
0x09,0xde,0x9d,0x10,0x39,0xef,0x43,0x9f,0x81,0xdb,0xa7,0xc7,0x99,0x93,0x39,0xa3,
0xc5,0x2e,0xe7,0xc9,0x99,0x65,0xf4,0xc4,0x58,0x61,0xdd,0x89,0xe5,0x64,0xdb,0xc2,
0x94,0xeb,0x47,0x03,0x6e,0x34,0x16,0xf8,0x91,0x30,0x8e,0xbf,0x35,0xb0,0xc4,0x4c,
0xf2,0xd5,0x30,0x0f,0xb7,0x22,0xe3,0x5c,0xab,0xb4,0xcd,0xe0,0xdc,0x1c,0xbf,0xfd,
0xfe,0x00,0xf8,0x5f,0xfd,0x05,0xf9,0x33,0xcb,0x32,0x9f,0x27,0xac,0xda,0x0a,0x9c,
0x13,0x8c,0x3d,0xd3,0x9c,0xcb,0x2d,0xfb,0x7e,0xd9,0xf7,0x8d,0x16,0x7c,0xae,0xf2,
0x4f,0x95,0x4c,0x7a,0x1d,0xce,0xeb,0x33,0xaf,0x11,0x38,0xc7,0x5e,0x8d,0x21,0xe9,
0xcf,0x4b,0xcf,0xf9,0x5b,0xbb,0xc6,0x62,0x68,0x64,0xce,0xc1,0x7a,0x8b,0x5b,0x18,
0x9f,0xf7,0x61,0xf7,0xe7,0xf9,0x9c,0x7b,0x2c,0xce,0xbd,0x27,0x86,0x0f,0x0c,0xb7,
0x0e,0x1e,0x18,0x3e,0x31,0xbc,0xbf,0xbb,0xcb,0xb9,0xaf,0xe5,0xc4,0xb0,0x34,0x5b,
0xe7,0x75,0xbe,0xda,0xf3,0xfa,0x48,0xe9,0xe7,0x16,0x48,0x95,0xcb,0xb9,0xb6,0x99,
0x35,0x3e,0xc7,0xa5,0xc5,0x18,0xe7,0x53,0xae,0xd5,0x79,0xa9,0x37,0x97,0xda,0x6a,
0x9f,0xe9,0x96,0xa5,0x74,0x0e,0x71,0xfe,0x16,0x51,0x7f,0xbe,0xc2,0x56,0x22,0xc5,
0x1a,0x79,0xc9,0x72,0x4e,0xd8,0x9f,0xe3,0xd5,0x74,0xa9,0x39,0x9f,0x72,0xf5,0x86,
0x22,0x49,0x89,0xf2,0x0c,0xe7,0x51,0x6d,0xaf,0x56,0x8d,0xf3,0xda,0x50,0x86,0xf3,
0xa8,0x7a,0xdb,0x91,0x5a,0x64,0x7b,0xd9,0x39,0x4f,0xfb,0xed,0x9a,0xa9,0xc9,0xa4,
0xc8,0x20,0xe7,0x30,0x36,0xcf,0x25,0xbc,0x72,0xbb,0x4b,0xe0,0xd3,0xe7,0x62,0x88,
0x73,0xa2,0xfe,0x7c,0x85,0xad,0x6c,0xaa,0x0b,0x73,0x21,0x3e,0xaf,0xe6,0x62,0x2d,
0x46,0x38,0x57,0xad,0x6d,0xc9,0x03,0x69,0x2f,0x31,0xe7,0x1f,0x8c,0x4f,0xf0,0xfe,
0x0c,0xe5,0x02,0xe7,0x85,0x9f,0x1c,0x53,0x62,0xbe,0xbf,0xc6,0x39,0xcf,0xe6,0x50,
0xad,0x35,0x8a,0x66,0x0e,0xe7,0xea,0x29,0x91,0xa7,0xc7,0x18,0xe7,0x97,0x51,0x6f,
0xbe,0xc2,0x88,0xa3,0xb1,0x3e,0x85,0x1c,0x9a,0x67,0xd2,0x67,0x07,0x88,0x39,0x5f,
0x67,0xf5,0x4a,0x48,0xbd,0x06,0xcb,0x95,0x0b,0xf4,0xbc,0x62,0x02,0xc4,0x9c,0x4b,
0xef,0xa1,0x9c,0x9b,0xec,0x6f,0x4a,0xc9,0xf9,0x50,0xf7,0x1a,0x0b,0x23,0xf3,0x42,
0xce,0xe5,0xe9,0xc8,0xe6,0x30,0xd7,0xd7,0xad,0x61,0xce,0x59,0x6d,0xce,0xe5,0xb5,
0x6a,0x8e,0xdf,0xae,0x9e,0x96,0xe2,0x39,0xbf,0x35,0x10,0x88,0x65,0x9f,0x24,0xd2,
0x3b,0xe1,0xcf,0x09,0x94,0xce,0xfa,0x63,0x62,0x1a,0x02,0xb1,0x0b,0x44,0x9c,0xb7,
0x65,0x38,0xd7,0x23,0x3d,0xb7,0xad,0x96,0x27,0x0f,0xd2,0xd3,0x12,0xf6,0x3d,0x04,
0x62,0xf8,0xbb,0x25,0xe5,0x9c,0x2b,0xe7,0x45,0xfe,0x9b,0xd2,0x71,0x7e,0xcf,0xb3,
0x7d,0x59,0xee,0xb3,0x17,0xf6,0xe7,0x4a,0x4f,0x9a,0xac,0xd5,0x38,0xe7,0x39,0xa4,
0x2b,0x7e,0x2f,0x8d,0xcf,0xcb,0xba,0x4f,0xa6,0x90,0xf3,0xc2,0xfe,0x23,0x5b,0xe2,
0xe4,0x9c,0xdf,0x6d,0xdc,0xb6,0x10,0x67,0xb2,0xef,0xad,0xd7,0xfa,0xa1,0xed,0x96,
0x9b,0xf6,0x39,0x03,0x9c,0xf7,0x63,0xfa,0x3c,0x62,0xbd,0x95,0x37,0x07,0xd2,0x13,
0x0b,0x4a,0x8a,0x94,0xf3,0xfe,0x98,0x72,0xdd,0x96,0x8f,0xf3,0xc5,0xd9,0xec,0xfc,
0x5b,0xee,0xf8,0x5c,0xfb,0xd9,0x99,0x79,0x62,0xa2,0x56,0x57,0x9b,0x9c,0xc3,0xae,
0x0b,0x69,0x9c,0x94,0x4f,0x95,0xd8,0x17,0x64,0x7c,0x17,0x93,0x38,0xef,0x4f,0x7f,
0xaa,0x9a,0x89,0xe3,0x36,0x23,0x9c,0x8b,0xab,0x88,0xf2,0x5e,0x3c,0x90,0xb6,0x39,
0x25,0x63,0x04,0x53,0xfe,0x5d,0x91,0x16,0xc8,0x3c,0x43,0x60,0xbe,0x9d,0x9c,0x73,
0xfd,0xd9,0x43,0xf9,0x2a,0x51,0xa0,0xac,0x26,0xb0,0x1e,0x9d,0x33,0xc4,0x79,0xbf,
0x46,0x6d,0xa7,0x5b,0x5e,0x09,0x39,0xff,0xd6,0x70,0x27,0x97,0xeb,0xb3,0x4b,0x9c,
0x8b,0xf3,0x7d,0x6a,0x65,0xba,0xd1,0x38,0x57,0xca,0xa7,0x7c,0xf5,0xc6,0x2c,0xce,
0xb5,0xe7,0xe1,0x8c,0x72,0x6e,0xf3,0x1e,0x0a,0x89,0xbe,0xa2,0x9c,0x71,0x19,0xd1,
0x66,0x5a,0x9a,0xf5,0x31,0xe2,0x75,0xb5,0x34,0xe7,0xfa,0x25,0x94,0x43,0x79,0x91,
0xcf,0x25,0x8d,0xe7,0x9d,0x44,0x3a,0xec,0xfc,0x32,0xc0,0x79,0x54,0x8b,0xf3,0xfe,
0x92,0x72,0xce,0x75,0x04,0x98,0x60,0x01,0xe5,0x59,0xce,0x71,0x5a,0xdd,0x06,0xe0,
0x5c,0xa5,0x8f,0xe8,0x17,0x7c,0xbf,0x7e,0xe1,0x99,0x1d,0x37,0x8b,0x73,0xcd,0xde,
0x0a,0x3d,0x79,0xd3,0x33,0x22,0x64,0x9c,0x37,0x0c,0x8a,0x27,0x0e,0x33,0x6d,0x3f,
0xcd,0xdc,0x52,0x85,0x6c,0x4e,0x38,0x0d,0x15,0x67,0xee,0x10,0xed,0x93,0x11,0xf7,
0xbd,0xea,0xb4,0x49,0x99,0xb7,0x2e,0xe5,0xb4,0xbc,0xb9,0x80,0xe7,0x15,0x1a,0x9f,
0x13,0xef,0x7b,0x4d,0xf3,0x15,0x53,0xcb,0x45,0xe9,0xd6,0xd5,0xde,0x6c,0x3c,0x1f,
0x52,0xa2,0x1c,0x38,0x17,0xd3,0xd1,0x17,0x53,0x4e,0x47,0x7e,0xab,0xab,0x55,0xce,
0xd3,0x9e,0x97,0x7a,0x2e,0x33,0xad,0xa6,0xfc,0x9c,0xc3,0x38,0x4f,0xab,0xb4,0xb3,
0xa5,0x4e,0xca,0xb9,0xd8,0x9b,0xcb,0xfa,0xb7,0x8a,0xf1,0x9d,0x4b,0xc9,0x3a,0x4b,
0x76,0x8e,0x25,0xcd,0xb9,0x4e,0x9b,0x1c,0x93,0x73,0x5e,0xf6,0x67,0x19,0xb0,0x1e,
0x67,0x48,0xce,0xb1,0x20,0xce,0xd3,0xe7,0x58,0xf4,0x9e,0xe9,0x30,0xce,0x8a,0x33,
0xe7,0x8b,0xe6,0x7c,0xe7,0xf4,0x04,0x1a,0x99,0xc3,0x09,0x5a,0x25,0xce,0xc7,0x62,
0x63,0xd8,0xad,0xae,0xb6,0x39,0x97,0x9e,0x69,0xf9,0x26,0x5f,0x45,0x5c,0x61,0x76,
0x9a,0xc2,0x79,0xbf,0x4a,0x5a,0x72,0x53,0x14,0x67,0x0f,0x12,0x70,0xde,0x30,0x28,
0x9e,0x26,0x0e,0x54,0x09,0xe1,0x92,0xc1,0xb9,0x54,0x32,0xce,0xc5,0xf3,0x9c,0xea,
0x25,0x94,0x3b,0x2a,0x37,0xcb,0x63,0x81,0xd3,0xda,0x06,0x39,0x57,0xc9,0x89,0x54,
0xcf,0xa5,0xe0,0xfc,0xfd,0x01,0x77,0xc2,0xcf,0xad,0x29,0x50,0x9e,0xe5,0x1c,0xb3,
0xd5,0xd5,0x24,0xe7,0x5f,0x1f,0xce,0xe5,0x5c,0xf2,0xa3,0x32,0x23,0xf6,0x5c,0xce,
0x59,0x33,0x39,0x57,0xd8,0x77,0x99,0xb3,0x7f,0x21,0xce,0xe2,0xf5,0xe7,0x1e,0x0b,
0xb4,0xab,0xde,0x85,0x15,0xb6,0xb2,0x7e,0xba,0xb2,0xf9,0xb8,0x64,0xa4,0x59,0x25,
0x7a,0x81,0x92,0xb2,0xfd,0xb9,0x42,0x19,0xe5,0xec,0x5f,0x06,0xca,0xcd,0xcb,0x07,
0xc4,0x8c,0x80,0x88,0x32,0x1e,0xac,0x5c,0xe4,0x73,0xae,0xd6,0xee,0x04,0xce,0x11,
0x5b,0xe7,0xc3,0xc5,0x70,0x7e,0xbc,0xe5,0xe9,0x68,0x90,0x57,0xea,0xcb,0xc1,0xe2,
0x39,0x9c,0xeb,0xb5,0xba,0x15,0x76,0x03,0x71,0x9e,0xb7,0x77,0x7a,0xcc,0x3c,0xce,
0x85,0x59,0x1d,0x85,0x74,0x28,0xa4,0x68,0x05,0xb3,0x3f,0xf7,0xa0,0xaf,0x1f,0x76,
0x40,0x8f,0x63,0xac,0x05,0xaf,0xa8,0xb4,0x8f,0x52,0x98,0x9f,0x6b,0xe2,0xc8,0x62,
0x77,0x48,0xe7,0x52,0x55,0x4a,0x28,0x8f,0x72,0xb5,0xb6,0x5d,0x6a,0xf3,0x71,0x93,
0xfc,0xea,0x3c,0x7e,0x04,0xc1,0x2c,0xe7,0xaa,0xb5,0x9d,0xa9,0x67,0xe1,0xfc,0x79,
0x11,0xfd,0xf9,0x51,0xe7,0xea,0xbc,0xf2,0xc8,0x5c,0xa9,0x3f,0xd7,0x6a,0x75,0xb5,
0xcd,0x79,0x6e,0x3c,0x99,0xdc,0x67,0x59,0xee,0x4a,0xe9,0x0a,0x5b,0xee,0xf1,0x79,
0xbf,0x2c,0xce,0x44,0xbf,0x8a,0x65,0x53,0x83,0xcf,0xf9,0xcd,0x8e,0x38,0x0b,0x35,
0x0a,0x67,0xff,0xf1,0x0d,0x5e,0x1d,0x88,0xf5,0x2e,0x9c,0x9b,0x59,0x9d,0x2f,0x87,
0x6d,0x0d,0xae,0xce,0x37,0x0c,0x92,0xb5,0x1a,0x79,0x1c,0x16,0xf5,0xd2,0x11,0x47,
0x27,0x81,0xd8,0xa1,0xd0,0xed,0xd9,0xf2,0xa4,0x3d,0xdf,0x3e,0x18,0x27,0xf1,0x4a,
0x80,0xf3,0x15,0x46,0xbd,0xdd,0xc9,0x5b,0x5e,0x7f,0x74,0xa5,0x28,0xce,0x5f,0x1f,
0x81,0xf3,0xa7,0x6a,0xf1,0xae,0xb2,0x9c,0xe3,0xb6,0xba,0x5a,0xe4,0x1c,0xe2,0xdd,
0xe0,0xc7,0x8d,0x5a,0x2f,0x7b,0x7f,0x2e,0xae,0xc3,0xe2,0x58,0x00,0xa5,0xe6,0x39,
0x6c,0xce,0x9b,0xbd,0x10,0xef,0xcf,0x9d,0x58,0x63,0xc9,0x0c,0x4e,0x2e,0x42,0xfc,
0x80,0x63,0xce,0x1b,0x8d,0xa5,0xb7,0xbb,0x8d,0xe4,0x31,0x74,0x71,0xe2,0x2d,0x89,
0xe3,0xf2,0x75,0xb6,0x3d,0x3a,0xd4,0x7d,0xd4,0x79,0xb7,0x0c,0x29,0x2f,0x34,0xb2,
0x5c,0xd8,0x08,0xe2,0xc9,0xc0,0xbc,0x90,0x71,0xce,0x9f,0xd8,0xbb,0xc4,0x4c,0xf0,
0xca,0x23,0xf3,0xdc,0xfe,0x1c,0x97,0x81,0xb3,0xb5,0xca,0xb9,0xc6,0xf3,0xcc,0x74,
0xce,0x63,0xf2,0xd4,0xa8,0x3f,0x55,0xd3,0x9c,0xcf,0xe0,0xcf,0xc3,0x1d,0x18,0x9e,
0xe0,0x27,0x54,0xc7,0x68,0xea,0x76,0x98,0x8b,0x33,0x0d,0x15,0x3f,0x3f,0x9c,0x55,
0x2e,0xe7,0x6a,0xbd,0xb9,0xc4,0x39,0xc9,0x0e,0x1c,0x33,0x25,0x70,0xce,0xe2,0xb6,
0xbb,0x15,0xf6,0x82,0xc1,0xf1,0xf9,0x5d,0xcf,0xb5,0xf0,0xbc,0x4e,0xad,0xe7,0x73,
0xae,0xd5,0xea,0x36,0x0e,0xe7,0x63,0xb2,0x7c,0x99,0xcf,0xf9,0x58,0x01,0xe7,0xca,
0x29,0x23,0xe7,0x1c,0xe2,0x01,0x04,0x79,0x98,0x73,0x25,0x8b,0x64,0x2a,0x9e,0x7a,
0x10,0x49,0xf7,0x94,0x2d,0xe7,0xf8,0xca,0xe7,0x5c,0xb9,0x7c,0x80,0xf3,0x15,0xc4,
0x39,0xfe,0xcc,0x98,0xb9,0x2a,0xe4,0x5c,0xab,0xdd,0x19,0xe5,0xdc,0x63,0x39,0x39,
0x23,0xee,0x7f,0x53,0xf7,0xda,0x81,0xf3,0x40,0x01,0xe7,0x6a,0xad,0x4e,0xe0,0x7c,
0x76,0x63,0x70,0xae,0x6e,0x65,0xe7,0xfc,0x58,0x6e,0x7f,0xae,0x65,0xa4,0x9c,0xc3,
0x0d,0x10,0x8b,0xb3,0x70,0x86,0x81,0x9c,0x74,0x3f,0x1f,0x67,0x95,0xe3,0x7c,0x9a,
0x2f,0xdc,0x38,0xa9,0x81,0x58,0x9c,0x6d,0x8c,0x92,0xac,0xd8,0x99,0x29,0xe0,0x7c,
0x05,0x33,0xce,0x5d,0xbf,0x61,0xce,0xef,0x1f,0x83,0x71,0x97,0x5e,0xfd,0xe6,0x73,
0xae,0xc7,0xc0,0x39,0xca,0x79,0x91,0xca,0xf7,0xdb,0x4b,0xcb,0x39,0x44,0x18,0xb8,
0x3d,0x3f,0x21,0x8c,0xd2,0xd7,0x89,0x46,0xe9,0xeb,0x6c,0x10,0x91,0xfe,0x6a,0x55,
0x90,0x8e,0x1f,0x0f,0x39,0xce,0x6c,0x5f,0xde,0x08,0x9c,0x1b,0xed,0xcf,0x6f,0x76,
0x04,0x62,0xb0,0x9a,0xa6,0x5d,0xb3,0x6b,0x44,0x9c,0x07,0x6a,0x98,0xf3,0x25,0x26,
0x7b,0x1e,0x41,0x3d,0x7f,0x01,0x13,0x38,0xff,0xc5,0x31,0x92,0xf8,0xed,0xe4,0x9c,
0x5b,0x2c,0x10,0x37,0xdf,0x08,0xe9,0xee,0x44,0x30,0x19,0x88,0xfd,0x57,0xec,0x7d,
0x20,0xe5,0x53,0xef,0x42,0x53,0x02,0xaf,0x5d,0x2e,0x31,0x64,0x3b,0x70,0xcc,0x14,
0x70,0x0e,0x2b,0xba,0xfa,0x39,0x11,0xdb,0x1d,0x39,0xe7,0x37,0x1a,0x47,0x43,0x7a,
0x33,0xaf,0xeb,0x19,0xce,0x71,0x49,0x17,0x38,0xaf,0xd1,0xf1,0x39,0x2e,0xe7,0x81,
0x2a,0xe2,0x1c,0x76,0x73,0x1a,0xe1,0x1c,0x4e,0x20,0x8f,0x86,0x26,0x84,0xa7,0x3c,
0x99,0xef,0xee,0x4e,0x44,0x92,0xa7,0x62,0x64,0x77,0x0b,0x95,0x43,0xbd,0x0b,0xbe,
0x0d,0xc5,0xb9,0x5e,0x5e,0x8c,0x72,0xbe,0x65,0x02,0x6f,0x36,0x46,0xe2,0x1c,0xaf,
0x4c,0x6b,0xb7,0x3f,0x87,0x5b,0x49,0xaa,0x85,0xf3,0x86,0x41,0x7c,0xce,0xe7,0x0c,
0x72,0x0e,0xbb,0xa3,0x98,0x30,0xac,0xb4,0x10,0xaf,0xb1,0x71,0x91,0xe4,0xf6,0xe8,
0xf1,0x0a,0xcf,0x60,0x23,0xce,0xb9,0x8d,0xc4,0xb9,0x7e,0x4d,0x1b,0xe1,0xfc,0x4a,
0x8f,0x3b,0x81,0x53,0xc7,0x94,0xf3,0xea,0xe6,0x7c,0xac,0x08,0xce,0x21,0xde,0xe7,
0xf6,0x65,0x78,0xd6,0x93,0x93,0x1e,0xe4,0xcf,0x87,0x49,0xf6,0x83,0x94,0x5e,0x94,
0x73,0x7d,0x35,0x7b,0xb7,0x47,0xf1,0x77,0x4b,0x10,0xfb,0xed,0x35,0xce,0xb9,0x12,
0xed,0xb9,0x11,0x05,0xcc,0xe1,0x5c,0x39,0x25,0xf9,0x69,0x2a,0x86,0x73,0x38,0x8b,
0xdc,0x17,0xf3,0xeb,0xcc,0xd1,0x28,0x19,0xc4,0x29,0xe8,0x0d,0xdd,0x2d,0xc9,0x9d,
0xcc,0xc6,0x24,0x72,0x8e,0x53,0x42,0xd5,0x3e,0x0f,0x27,0xf9,0xed,0xca,0x79,0x91,
0xff,0x06,0xee,0x57,0xc3,0xe7,0xdc,0xeb,0x14,0xa3,0xc6,0xe0,0xd6,0xa9,0x56,0xfb,
0x2f,0x4c,0x4f,0x2d,0x73,0x3e,0x17,0x0b,0x60,0x59,0xf6,0x0e,0xa9,0xf2,0x28,0x97,
0x73,0x6d,0x5b,0x2a,0x8a,0x73,0x88,0x07,0x18,0x88,0xcd,0x1b,0x20,0x1d,0xf6,0xa4,
0xff,0x8a,0x60,0x27,0x77,0xa9,0x25,0xe7,0xbc,0xd0,0xe4,0x7c,0x54,0x3f,0xe7,0x78,
0xed,0x8e,0x94,0x73,0x88,0x1a,0x43,0xe2,0xad,0xe1,0xb6,0x38,0xa1,0x77,0x41,0x0c,
0xd4,0x30,0xe7,0x4c,0x80,0x91,0x97,0xab,0xd2,0x53,0x15,0xce,0x74,0x9a,0xcd,0xb9,
0xfa,0x53,0x15,0x38,0x87,0x1b,0x2a,0x8b,0xb9,0x01,0xfd,0x4a,0x0f,0xec,0x81,0x31,
0x46,0xfa,0xd9,0xd9,0xe2,0xee,0x5e,0x37,0xae,0xde,0x10,0xe2,0x5c,0xd5,0xe7,0x91,
0xd7,0xd7,0x4a,0x15,0xaf,0x9f,0x37,0x8b,0x9c,0xab,0xf6,0xa4,0x85,0x9c,0xbf,0x88,
0xc9,0x39,0xd7,0x31,0x16,0x23,0x1b,0x93,0xa1,0x16,0xc7,0xcc,0x61,0xb6,0xba,0x39,
0xa6,0xe6,0x39,0x57,0x1c,0xa5,0x67,0x72,0x28,0xbc,0xa6,0x8a,0x38,0x17,0x4e,0x42,
0x9e,0x2c,0x8a,0x73,0x38,0x7d,0x0f,0x7e,0x38,0x29,0xe7,0x71,0x34,0x4e,0xf7,0x73,
0x3b,0xa7,0x3d,0x25,0xca,0x35,0x99,0x0e,0xe1,0x70,0xce,0x40,0xf9,0xc0,0xbe,0xd7,
0xea,0xe5,0xbc,0x57,0xe4,0x5c,0xaf,0xdd,0x41,0x5e,0x44,0xce,0xb1,0xe6,0x3f,0xdf,
0x6c,0x1c,0x0d,0xf9,0xb9,0x38,0x51,0x7d,0xa6,0x63,0xe2,0x68,0x8c,0x17,0x37,0x0e,
0xe7,0xb9,0x3d,0xba,0x82,0x09,0xaf,0xa9,0x2e,0xbf,0xbd,0x78,0xce,0x2d,0x96,0x13,
0xc3,0x46,0x49,0x77,0x73,0xb1,0xb2,0xde,0x29,0xa9,0x26,0xe0,0x7c,0x4e,0xaf,0x8c,
0x84,0xf3,0xb4,0x35,0xc2,0xb9,0x5e,0x4d,0x13,0x71,0xee,0x9a,0xf6,0x73,0xeb,0x2c,
0x19,0xe7,0x62,0x8f,0x8e,0x91,0x92,0x9a,0xe7,0x5c,0x20,0x5d,0x27,0x7f,0xe6,0x71,
0x8e,0x37,0x6a,0x2b,0x0d,0xe7,0x16,0x0b,0x0f,0xb7,0x73,0x18,0x20,0x1d,0xa2,0x03,
0x9f,0x18,0x2e,0x45,0xae,0xc9,0x84,0xc3,0xf9,0x52,0xcd,0x70,0x9e,0x8d,0x7d,0xab,
0xde,0xf2,0xf0,0x39,0xbf,0xd2,0x03,0xf5,0x42,0x46,0x39,0xdc,0xa3,0x88,0xdf,0xbb,
0xd4,0x32,0xe7,0x71,0x26,0x4d,0xba,0xd2,0x53,0x4d,0xf8,0x99,0x18,0x85,0x05,0xf2,
0x78,0xb0,0xcc,0x9c,0xc3,0xec,0x51,0x26,0x25,0xca,0x65,0x9f,0x4e,0x51,0xa9,0x38,
0xf7,0x3a,0xb7,0x4c,0xc3,0x8e,0x0a,0xd2,0x3e,0x00,0x5a,0xd4,0x1a,0x6b,0xfe,0x49,
0x36,0x91,0x73,0x55,0x0f,0x8c,0x09,0xc8,0x22,0xbc,0xf4,0x55,0x35,0xe7,0xb0,0x43,
0x4b,0xb5,0xae,0x99,0x6c,0xcb,0x83,0x79,0x21,0x1c,0xce,0x8f,0xb7,0xc0,0x6a,0x29,
0x59,0x3d,0x1e,0xe6,0x4e,0xc5,0x4e,0xce,0x30,0x61,0x61,0xee,0x5f,0xbd,0xd5,0x31,
0xf2,0x56,0xb7,0x58,0xd3,0x9c,0xe7,0x90,0xce,0x64,0x4d,0x1e,0x6b,0xc9,0x4c,0xce,
0xe7,0x0a,0x52,0x22,0xfe,0x3b,0x1b,0xa5,0xb5,0x34,0x9c,0x43,0xbc,0x91,0xb3,0x33,
0x93,0x3c,0x69,0x3f,0x20,0x92,0x1e,0x67,0xcc,0xbe,0xc3,0xfe,0x10,0x1a,0x7f,0x2e,
0x31,0x32,0xd2,0x73,0x4a,0x27,0x1b,0xf3,0x31,0x2e,0x70,0x5e,0xf9,0x9b,0x3a,0x95,
0x25,0x71,0x2e,0xcb,0x09,0x93,0x43,0x9a,0xac,0x9e,0xf1,0x38,0xef,0x72,0xae,0xce,
0xc3,0x79,0x23,0xfc,0x5a,0x84,0xfa,0xeb,0xe4,0x5a,0x07,0x9d,0x7b,0x93,0x11,0xe0,
0x7c,0x4e,0xfe,0xd4,0x51,0x68,0x75,0xb5,0xcd,0xb9,0x5f,0x9d,0xf3,0x9c,0xde,0x5c,
0xe0,0x9c,0x3b,0x38,0x53,0xce,0xd4,0x48,0x9c,0x07,0x34,0x38,0xcf,0xa6,0xc8,0xcd,
0x95,0x86,0x73,0xf1,0x24,0x9b,0x34,0xae,0x8b,0x13,0x18,0xcc,0xd7,0x2f,0x31,0xe6,
0x9e,0x64,0x23,0xe1,0xbc,0x5f,0x88,0xa8,0x3e,0xe5,0x3a,0x56,0x52,0xeb,0x72,0x16,
0x9f,0x8b,0x5c,0xce,0x73,0x6b,0x57,0x22,0x4b,0xca,0x0d,0xcc,0xff,0xea,0x73,0x7e,
0x75,0x04,0xee,0x46,0xc4,0xaf,0x41,0x20,0xdd,0xcf,0x2d,0xce,0xc2,0x79,0x97,0xf6,
0xa8,0xc8,0x79,0x41,0x3a,0x14,0x5b,0xdd,0x46,0xe0,0x3c,0xcf,0x1b,0x94,0x3d,0x55,
0xcd,0xe3,0x5c,0x31,0x25,0x79,0x33,0x05,0x4b,0x25,0xec,0xcf,0x41,0x70,0xbf,0x22,
0x8c,0xd2,0x8d,0x90,0x7e,0x9d,0x19,0x32,0xf1,0x7c,0x4b,0x01,0xe7,0x79,0x1e,0x66,
0x96,0x73,0x38,0x71,0xd9,0xbb,0x70,0x72,0x66,0x71,0xb6,0x94,0xf6,0xe1,0xfc,0xe2,
0xec,0x2b,0xdd,0x9e,0x22,0x73,0x91,0xdf,0x9f,0x17,0xcc,0x38,0xc8,0xfb,0x73,0x0c,
0xce,0x87,0xba,0xe3,0x8c,0xe8,0xb3,0xe3,0xd6,0x5b,0x1c,0x51,0xfe,0xa9,0x10,0x81,
0xb3,0xa5,0x5b,0xe2,0x5c,0xaf,0xd5,0xd5,0x38,0xe7,0x39,0xf1,0x11,0xe5,0x9e,0x4b,
0x7e,0x74,0xd4,0x26,0xee,0x39,0x53,0x38,0xcf,0x7b,0xce,0xab,0xa4,0xa8,0x74,0xfd,
0x39,0xc8,0xe6,0xed,0x0d,0xc1,0xba,0x2b,0x99,0xf7,0x1e,0x67,0xd7,0xd9,0x79,0xbe,
0x2f,0xe6,0xc4,0xbe,0x89,0xa4,0x58,0x89,0x9c,0xab,0x97,0xd0,0x52,0x86,0xf3,0x38,
0x44,0xb0,0xe4,0x7c,0x25,0xb7,0x20,0x1f,0x2f,0xda,0x87,0xc9,0x72,0x2e,0x99,0x7a,
0x3d,0xcf,0xe9,0x72,0xde,0xec,0x15,0x4f,0x2c,0x90,0xf9,0xec,0x71,0x46,0x3c,0x69,
0xbc,0x5f,0xe4,0x5c,0xa1,0xfd,0xcb,0xc7,0xe5,0x59,0x06,0x6a,0x91,0xf3,0x13,0x05,
0x9c,0xe7,0x32,0x9f,0xfb,0x6f,0x5f,0xf9,0x39,0x67,0xd4,0x53,0x93,0x6f,0xbe,0x92,
0x72,0x8e,0x5a,0x4b,0xcb,0xf9,0x30,0x94,0x06,0xa9,0xad,0xa3,0x3e,0x7d,0xbb,0x69,
0x33,0x5e,0xa3,0x19,0xce,0xf5,0xea,0x0b,0x91,0xce,0x96,0x23,0xde,0xab,0x8f,0x5b,
0x4e,0x1e,0x0a,0x15,0xe7,0xbd,0x23,0xce,0x43,0xb9,0x9c,0xab,0xe7,0x04,0x38,0x67,
0x34,0x38,0xef,0x72,0x9e,0x9d,0x85,0xb3,0xc6,0x64,0x7e,0x58,0x27,0xc7,0xa7,0xd7,
0x45,0x5b,0x72,0x38,0xd7,0x4b,0x8d,0x6f,0xc3,0x70,0x3e,0xa7,0x98,0x3f,0xf3,0x39,
0xcf,0xff,0xf4,0xdc,0x9f,0xc4,0x4b,0xce,0xb9,0xc5,0x72,0x7c,0xd7,0xa7,0x11,0xa3,
0xa4,0x33,0x91,0x7d,0x25,0xba,0xa1,0x5b,0x5b,0x72,0xce,0xf3,0x4b,0xa8,0x80,0x73,
0x54,0x9a,0x2b,0x82,0xad,0xa7,0xbf,0x72,0x6d,0x5d,0xe1,0x3b,0x65,0x5b,0x4f,0xbf,
0x42,0x3c,0xcb,0x39,0xc9,0x33,0xe1,0xa3,0x25,0xe7,0x7c,0x4e,0xf5,0x7b,0xe0,0x5c,
0x7d,0x46,0xb1,0x75,0xd0,0xcd,0x75,0x92,0xd5,0x1a,0xf2,0xf1,0x7b,0x17,0x2e,0xa7,
0x4f,0x29,0x88,0x9c,0xab,0xb7,0xfa,0x7c,0x06,0x36,0x06,0xe7,0x73,0x39,0x56,0x59,
0xce,0x0b,0xad,0xbc,0x9c,0xc3,0xae,0xc9,0xa7,0xa3,0x87,0x0d,0x90,0x0e,0xa7,0x20,
0x7b,0x17,0xee,0x79,0x4a,0x9b,0x1a,0x25,0xe5,0x72,0xae,0x55,0x3e,0x71,0x19,0xe9,
0xeb,0x19,0x52,0x8d,0x73,0x9e,0x65,0xdd,0xcf,0x5d,0x28,0x05,0xe7,0x9c,0x7a,0xbb,
0xcb,0x6d,0x79,0x6e,0x4e,0x9d,0xf3,0x9b,0x1d,0xa7,0x62,0x84,0xcf,0x66,0xe6,0x30,
0x27,0x5f,0x71,0xdc,0x9f,0xc3,0xb9,0x76,0xab,0xab,0x65,0xce,0x57,0x08,0x3c,0xe5,
0x72,0x73,0x0e,0xbb,0xb2,0xf1,0xd2,0x52,0x1e,0xce,0x21,0x0e,0xf0,0xa9,0x98,0x38,
0x4e,0x27,0x25,0xdd,0xcf,0xad,0xce,0x93,0xc6,0x37,0x26,0x97,0x96,0xdf,0x9e,0x5b,
0x3e,0x59,0xce,0xc9,0xe2,0xe1,0x69,0x99,0xc4,0xf9,0xf9,0x70,0xb1,0x7e,0xfb,0xa1,
0x3c,0xce,0xb5,0x4c,0x9d,0xf3,0x37,0x1b,0x7b,0x43,0xe2,0xc8,0x1c,0x9f,0x72,0x88,
0x0a,0x29,0xdf,0xf7,0x20,0x72,0x8e,0xcf,0x40,0xad,0x72,0x0e,0x37,0x63,0x55,0x0b,
0xe7,0x4b,0x15,0xe7,0x1c,0xe6,0x6e,0xaf,0x33,0x13,0x3c,0x79,0x9f,0x2e,0xae,0xd3,
0x14,0xd7,0xcf,0xe9,0x0b,0x71,0xce,0xe3,0x96,0x90,0xc8,0x79,0x5c,0xa1,0x5f,0xce,
0xf5,0xc3,0xd5,0xbf,0x97,0xff,0x4c,0xb4,0x78,0x9a,0xf3,0x62,0xfb,0xf3,0x43,0xa1,
0xce,0x12,0x70,0xbe,0x65,0x5a,0x5c,0x4d,0x23,0xa9,0x25,0x88,0xc8,0xef,0x91,0xbd,
0x07,0x09,0xe7,0x71,0xca,0x79,0x09,0x04,0x9c,0x93,0x94,0x78,0x79,0x38,0xb7,0x58,
0x6e,0x0d,0xc0,0x7a,0x19,0x3c,0xfb,0x49,0x5a,0x10,0xa4,0xbd,0x93,0xdb,0x39,0x5d,
0x8a,0xf5,0x65,0x75,0x01,0xe7,0xb8,0xf5,0x45,0x76,0xfb,0x0c,0xae,0xad,0x00,0xe7,
0x45,0xcf,0xc3,0x1d,0x0a,0x35,0x71,0xb8,0xf9,0xf0,0x71,0x4c,0x44,0x89,0xf3,0x57,
0x7b,0xe2,0x0c,0xd1,0xc8,0x9c,0x81,0x67,0xf1,0xb5,0xb0,0x2d,0x27,0x52,0x08,0x70,
0xae,0x35,0x27,0xb8,0x91,0x38,0x17,0x6f,0x19,0xd2,0x6e,0x2f,0x55,0xc6,0x39,0x5b,
0x3e,0xce,0x61,0xbd,0xb1,0x93,0x03,0x9e,0x88,0x4c,0x20,0xdd,0x9d,0x99,0xc7,0x2d,
0x8f,0xc8,0x38,0x2f,0x9d,0xc9,0xf3,0x59,0x1a,0xce,0x61,0x27,0xa6,0x7e,0x4e,0xe2,
0xaa,0x9c,0xc3,0x1d,0x3b,0xc2,0xc8,0x9c,0xa0,0x8e,0xfc,0xfc,0xf5,0x82,0x5b,0x5d,
0x3f,0x5f,0x9c,0xe3,0xd4,0xf3,0xe7,0x87,0x73,0x8b,0xe5,0xb5,0x11,0x3f,0xe7,0xe7,
0x24,0xcf,0x17,0xbf,0x4f,0x87,0x95,0xa7,0xd7,0x46,0xca,0x95,0x2a,0xe0,0x7c,0xa2,
0x22,0x9c,0xcb,0x4b,0xbe,0x74,0x9c,0x2f,0x61,0xb4,0x3c,0x65,0xce,0x3d,0x96,0xc5,
0x59,0x88,0x1e,0x40,0x50,0x3f,0x0c,0xc4,0x9f,0xb8,0x5a,0x50,0x37,0xfb,0xbb,0xfb,
0x30,0x39,0x8f,0xd7,0x30,0xe7,0xe9,0xb2,0xc2,0xc8,0x61,0xf5,0x71,0x7e,0xb6,0x8c,
0x9c,0xc3,0xf9,0x16,0xb8,0x7f,0x8f,0xbc,0x4f,0x87,0xb8,0x64,0xdf,0x2a,0xdb,0x49,
0xb6,0x2a,0xe0,0x9c,0xf1,0x73,0xa3,0x25,0xeb,0xcf,0xf5,0x5b,0x9e,0x32,0xe7,0x07,
0x86,0x21,0xe2,0x87,0x40,0x39,0x66,0xdd,0xc0,0x58,0xac,0x6d,0xa1,0xb0,0xc5,0xe0,
0x73,0x2e,0xf5,0xe7,0x95,0x8b,0x26,0x64,0x54,0x69,0xce,0x75,0x48,0xcf,0x78,0x3d,
0xa6,0x70,0xae,0xdf,0x8a,0x25,0xef,0xb1,0xbc,0x51,0x5d,0x8e,0x3a,0x0f,0xce,0xf8,
0x79,0x62,0xd2,0x99,0xeb,0x88,0xf4,0xeb,0xcc,0xfd,0x32,0x9d,0x6f,0x19,0x0d,0x4d,
0xf2,0xb8,0xfe,0x17,0xa9,0x37,0xa2,0xd7,0x1f,0xc6,0x33,0x6d,0xdd,0x2c,0xce,0xe3,
0x69,0xce,0xef,0xe4,0x71,0x7e,0xb3,0x03,0xd8,0x24,0x7b,0x02,0x4f,0xf0,0x7d,0x31,
0xa5,0xfb,0xe6,0x88,0xfa,0x73,0xd4,0xea,0x6e,0xd7,0x64,0x7f,0x3e,0x99,0xe1,0x5c,
0xdf,0xfc,0xc8,0x53,0x2e,0x67,0x6a,0x5a,0xd3,0x9c,0xe3,0xd8,0x4a,0xd9,0x39,0x17,
0xef,0x64,0x83,0xd3,0xa7,0x4b,0x58,0x29,0x92,0x1b,0x3c,0x1d,0xde,0x2f,0x0b,0xe9,
0x02,0xe7,0x78,0x65,0x54,0xd2,0x15,0x35,0x30,0x89,0xf6,0xd2,0xf6,0xe7,0x7a,0x56,
0xc8,0xf9,0x8d,0xc6,0xf3,0xc2,0xea,0x22,0x49,0x8d,0xb8,0x51,0x3d,0x2a,0xd7,0x88,
0xc4,0x39,0x5e,0x99,0xd6,0x38,0xe7,0x7a,0x2d,0x47,0x78,0x85,0x59,0xfd,0x39,0x8e,
0xc1,0xea,0x4e,0x39,0xfd,0x76,0x51,0x97,0x5d,0xbf,0x9a,0x07,0xd2,0x49,0x5a,0x94,
0xd4,0x1e,0x02,0xb1,0x57,0xca,0x70,0xbe,0x45,0xea,0xcf,0xf5,0x53,0x50,0x6a,0xca,
0xc5,0xf5,0x35,0x71,0x5d,0xad,0x78,0xce,0x47,0x81,0x73,0xac,0x72,0x2d,0xe4,0x1c,
0xf9,0x59,0xc2,0xee,0x2e,0xfc,0xfa,0x58,0x13,0x56,0x42,0x94,0xd3,0xf2,0x39,0xe3,
0x5c,0xd1,0x7b,0xaf,0x08,0xe7,0x1a,0xf3,0xff,0xd9,0xf4,0xac,0x9b,0xd0,0x9f,0x83,
0xe0,0xa6,0xa6,0x4e,0xc2,0x59,0xdd,0x74,0x8b,0xe0,0xfb,0xa2,0x4f,0x94,0xfc,0x7c,
0x8b,0xbc,0x3f,0x57,0x2d,0x1f,0x81,0x46,0xd1,0x4a,0xb5,0xab,0x5d,0x4e,0x7b,0x29,
0xe6,0xe1,0xd2,0x9c,0xab,0xd6,0x76,0xb6,0x1c,0xf3,0x39,0xbf,0x3f,0x00,0xbb,0x92,
0xae,0x93,0xd5,0x05,0x7a,0x32,0xa9,0xed,0x61,0xca,0xe7,0x5c,0xa3,0xd5,0x6d,0x0c,
0xce,0x35,0x4b,0x0a,0xcc,0x24,0xbf,0x1d,0x8b,0x29,0xb3,0x38,0x87,0x93,0x6c,0x42,
0x6c,0x41,0x52,0xce,0x61,0xad,0x96,0x7f,0xba,0xe4,0xe7,0x5b,0xb0,0xfc,0xf6,0x92,
0x53,0x2e,0xe7,0x1d,0xf6,0xf8,0x16,0xbf,0x1f,0x2e,0xd3,0x9f,0xeb,0xe6,0x05,0x38,
0x4f,0x66,0x38,0x3f,0xb3,0x6b,0x7b,0xf4,0x30,0x47,0x44,0x39,0x1a,0x45,0x9d,0x8a,
0x3d,0xa4,0xfa,0xc4,0x45,0x9c,0xc7,0x70,0xfb,0xf3,0x95,0x1a,0xe6,0x1c,0xea,0x6e,
0x4d,0x9b,0x2e,0x36,0x2e,0x78,0x6c,0xe5,0xe7,0x1c,0x76,0x25,0x62,0x71,0x9e,0xee,
0xcf,0xcd,0x29,0xf1,0xe3,0x2d,0xd7,0xc2,0x9d,0xd8,0xab,0x40,0x59,0x03,0xd2,0xaf,
0x69,0x9c,0xc0,0x30,0xa2,0xf3,0x22,0xe7,0x9a,0xb5,0xb5,0x56,0x26,0xc6,0x25,0x9b,
0x44,0xb9,0x2a,0x76,0x3f,0x1c,0x3c,0x3b,0x57,0xf0,0xfa,0x17,0x19,0xe7,0x53,0xae,
0xad,0x41,0x3f,0x61,0x4d,0xc0,0xbc,0xfc,0x01,0x8d,0xf5,0x0f,0xe0,0x5c,0x98,0x6d,
0xd5,0x6f,0x77,0x42,0xab,0xbb,0x5d,0x93,0xf3,0xed,0x22,0xe7,0xe2,0x8e,0x46,0xf5,
0xfc,0x89,0x7b,0x1e,0xab,0x86,0xf3,0xf4,0x28,0xd1,0xbc,0x88,0x7c,0x70,0x53,0x13,
0xfe,0x3e,0xcd,0x5c,0xd2,0x47,0x43,0xa5,0x3c,0xc9,0x06,0x9c,0x6b,0xd6,0x55,0xa6,
0x37,0x2f,0x17,0xe5,0x9d,0x5c,0xb0,0x04,0xe7,0xd5,0x44,0xce,0xd3,0x39,0xd1,0x6c,
0x79,0x72,0xce,0xaf,0x8e,0xc0,0xaa,0x25,0x09,0xe5,0x71,0x61,0x37,0xb2,0x96,0xf7,
0xb1,0xbf,0xbb,0x1f,0x8f,0x73,0xb1,0xd5,0xf1,0xb5,0xcc,0xb9,0x38,0xc3,0xa2,0x66,
0xd2,0x89,0x26,0x73,0x38,0xd7,0x4a,0x49,0x36,0x45,0xe6,0x72,0x2e,0xdc,0xd4,0x14,
0xed,0x44,0xfe,0xe2,0x92,0xbe,0xaf,0x91,0x31,0x91,0x74,0x58,0xb5,0xbd,0x5c,0xb2,
0xf3,0x2d,0x19,0xce,0x35,0xcb,0x46,0x22,0xdd,0xc7,0xf9,0x4b,0x6e,0x93,0x3c,0x9b,
0xfc,0x70,0xde,0x53,0x54,0x2e,0x44,0xce,0xd7,0xd3,0x7e,0xa2,0x76,0x6e,0x60,0x5e,
0x28,0x19,0x81,0xf3,0xe7,0xfb,0xbb,0x03,0x8c,0x9b,0x68,0x9e,0x7d,0x09,0xfd,0xad,
0xde,0x89,0x61,0xe0,0xdc,0x27,0x72,0x8e,0xd5,0xea,0x36,0x0c,0xe7,0xf9,0x7e,0x53,
0xe6,0xfc,0xb1,0xe9,0x9c,0x2b,0x3e,0x53,0x45,0x83,0x27,0xeb,0x39,0x53,0x6f,0x45,
0xd9,0xdf,0x3d,0x26,0x3c,0xf7,0xaf,0x13,0xf5,0xe8,0xd7,0x99,0xd2,0x8e,0x30,0xce,
0x87,0x82,0xda,0x33,0x2a,0x39,0x9c,0x4f,0xf0,0xc1,0x12,0xdb,0x72,0x92,0x4d,0x26,
0x23,0x4a,0xeb,0xd0,0x24,0x92,0x38,0x5f,0xcb,0xb6,0x3b,0x95,0x9a,0x96,0x38,0xb7,
0x79,0x6f,0x34,0x42,0x1c,0x10,0xb2,0xb2,0x87,0xf9,0xba,0x57,0x74,0x62,0xdf,0x14,
0x70,0xae,0xd3,0xea,0x6a,0x93,0xf3,0x20,0x2f,0xcd,0xa5,0xaa,0x3f,0xc7,0xa4,0x5b,
0xa4,0xfd,0xbc,0x19,0x9c,0xaf,0x61,0xf4,0xe7,0x6b,0x15,0xe0,0x1c,0xce,0x4d,0x5c,
0x67,0xa0,0xa5,0x5d,0x27,0x34,0xb8,0x69,0xf5,0xe0,0x4c,0x69,0xce,0xb7,0x9c,0x0f,
0x07,0xf9,0x75,0xcd,0x38,0x68,0x52,0x6d,0xc1,0x38,0x63,0xe7,0xf4,0xfd,0x81,0xd6,
0xc1,0x52,0xda,0x81,0xe1,0x4d,0x83,0xa4,0x77,0x91,0x17,0x2a,0xcb,0xb9,0x7e,0x3d,
0xc3,0xae,0xf4,0x6b,0xe1,0x9b,0x1d,0x5b,0xa6,0xdd,0xc2,0x53,0x16,0xcf,0xa0,0x96,
0xe2,0xb2,0xa8,0x31,0xea,0x82,0xe7,0xb7,0x0f,0xeb,0x34,0x0c,0xa4,0x66,0x82,0xbf,
0x5d,0xc1,0xdb,0xf5,0x8c,0x4a,0xce,0xb9,0x72,0xa9,0xaf,0xb1,0xd9,0xbb,0xe2,0x27,
0xca,0xcf,0x39,0x2b,0xa6,0x46,0xaf,0xb4,0xc5,0xd4,0x98,0x1f,0x31,0x1f,0x4e,0xb2,
0x89,0xa4,0x93,0xf5,0x2b,0x90,0xaf,0x2d,0x25,0x89,0x89,0x2d,0x72,0xae,0x45,0x48,
0x76,0xf5,0x6b,0x4c,0x71,0xff,0x57,0x35,0x48,0xe2,0x5c,0xac,0x6b,0xe5,0xbc,0x48,
0x2d,0x0f,0x46,0xd8,0x4c,0xe4,0xb9,0x99,0xbe,0x28,0xcc,0xbd,0xe3,0x96,0xfc,0x75,
0xc1,0x67,0x47,0x23,0x26,0xdd,0x16,0x22,0x71,0xae,0xf7,0xf4,0x5c,0x4b,0xb7,0xba,
0xda,0xe7,0x5c,0x3a,0x61,0x9c,0xb5,0xdc,0x53,0xcb,0x26,0xf4,0xe7,0xac,0x34,0x8a,
0x50,0x63,0x7d,0x3d,0x93,0x9e,0x4a,0x70,0x0e,0x25,0xe6,0xe6,0x60,0x5d,0x87,0x94,
0x74,0x68,0x27,0x85,0x67,0x28,0xc8,0x25,0x71,0x9e,0x5f,0x53,0xd9,0x1a,0x93,0x6a,
0xcb,0x87,0x38,0xe7,0xaa,0xf6,0x9e,0x86,0x2c,0xe7,0x2b,0x8a,0xde,0xe4,0x4a,0xce,
0xf8,0x23,0x10,0x4b,0x46,0xb4,0x22,0xb8,0x29,0x95,0x78,0x27,0xf7,0x74,0x14,0xe7,
0x39,0x97,0xe5,0x5c,0x7d,0x96,0x2a,0xdb,0xea,0x26,0x37,0x00,0xe7,0xd2,0xf3,0x55,
0x1e,0x53,0x20,0x67,0x7f,0x84,0x69,0x9c,0xcb,0x9f,0x3b,0x4a,0xf1,0x8b,0xa0,0xee,
0x27,0x2b,0xc2,0xb9,0xd7,0x19,0x1b,0x87,0xf8,0xfe,0x64,0x9e,0xbb,0x48,0x7a,0x9c,
0xd5,0x5a,0xdf,0xc1,0xd3,0x85,0x34,0xe7,0x7a,0xe5,0x53,0x3b,0x9c,0x2b,0xe5,0x26,
0xb7,0xe5,0xc1,0xea,0xf6,0xf6,0xe5,0x53,0x31,0x91,0x5f,0xdc,0xb1,0x52,0x9c,0xdd,
0x84,0x75,0x5b,0x8e,0x9c,0x73,0xfd,0x52,0x9d,0xe4,0x3f,0xdc,0x10,0x9c,0xaf,0xb1,
0xd9,0xe8,0xb8,0xf9,0x9c,0x4f,0x9a,0xc1,0xb9,0xac,0xf6,0xf3,0xe3,0xf4,0xc6,0x73,
0xea,0xbe,0x32,0x9c,0xc3,0xae,0xf7,0x9d,0xd3,0x87,0x39,0x98,0xe1,0x21,0xb3,0x00,
0x6a,0x7b,0xd7,0x99,0x62,0x6f,0x6a,0x92,0x73,0xae,0x14,0xb1,0xb8,0x86,0x38,0xe7,
0xd5,0xda,0x5d,0x6e,0x3e,0xe4,0x9c,0xe3,0x96,0x35,0xec,0x8d,0xc9,0x8d,0x1a,0xa3,
0xae,0x7c,0xce,0x95,0x62,0x77,0xd7,0x3a,0xe7,0xaf,0x01,0xe7,0x79,0xcf,0x55,0x75,
0x33,0x83,0xf3,0x4e,0xcc,0xd4,0x00,0xe7,0x95,0x3a,0x09,0x0c,0xe7,0x5b,0x60,0x9d,
0x9f,0x94,0x74,0xf0,0x25,0x8b,0x3d,0xc9,0x86,0x38,0x4f,0xe2,0x95,0x50,0x75,0x73,
0x7e,0x3e,0x34,0xc1,0xe3,0xe5,0x03,0x62,0x77,0x90,0x71,0x0e,0x67,0x83,0xd5,0xf7,
0xb9,0xe6,0x0b,0x38,0x87,0x88,0x80,0xb8,0xad,0xae,0x26,0x39,0x1f,0x01,0xce,0xf3,
0x3d,0x77,0xca,0xb9,0x9e,0xe0,0xa6,0x26,0xd8,0xf5,0x6e,0x84,0xf4,0x40,0xac,0x98,
0x5b,0x0e,0x28,0xe7,0xfa,0xe6,0xe6,0xfa,0xa2,0xea,0xfb,0x5c,0xf3,0xf5,0xf9,0xe1,
0x1c,0xb7,0xbc,0xcd,0x98,0x6f,0xaf,0x0d,0xce,0xe1,0x7c,0xcb,0xd6,0x60,0x27,0xc1,
0x3a,0x4f,0xb6,0xaf,0xe9,0xe4,0xfa,0x62,0xf9,0xb1,0x8b,0xf0,0xf5,0x79,0xe6,0x1c,
0xaf,0x84,0x61,0x9f,0x2b,0xc9,0x8d,0xd5,0x22,0xe7,0xf8,0xad,0x6e,0xb5,0x56,0x39,
0x4f,0xd0,0xfe,0xdc,0x88,0xee,0x79,0x20,0x06,0x39,0x79,0x8f,0x0e,0xa4,0x27,0x23,
0x46,0x09,0xa4,0x9c,0x6b,0x1b,0x8c,0xcc,0x7f,0x35,0xef,0x25,0xd8,0xab,0x40,0xca,
0x79,0xad,0xf6,0xe7,0x9d,0x9c,0x3e,0xe9,0xe2,0x2b,0xca,0xcf,0x39,0xb4,0x4e,0x9c,
0xa7,0x8e,0x78,0x9a,0x62,0xd1,0xe4,0x7d,0x32,0xf9,0x42,0xad,0x35,0x4c,0x3a,0xf3,
0x2e,0xb5,0x45,0x26,0x6c,0x6c,0x6d,0xfb,0x42,0x38,0x92,0xc4,0x7b,0x32,0xfb,0xab,
0x9c,0xf3,0x49,0xac,0x1e,0x06,0x5e,0xd1,0x49,0xc0,0x79,0x27,0xb7,0x7d,0x99,0x6c,
0x1f,0xcf,0xe7,0xa3,0x3f,0x8f,0x24,0x45,0xce,0xa5,0x53,0x87,0x4a,0x44,0x65,0xcf,
0x29,0x99,0xc3,0xb9,0x5a,0x5a,0xe4,0xe9,0x81,0xd3,0x14,0x95,0x8f,0xc8,0x77,0x66,
0x17,0x13,0x31,0x46,0x3a,0x9c,0xe1,0x36,0x72,0xbe,0xe5,0x5a,0x9a,0x73,0x2d,0x42,
0xc4,0xdf,0x57,0x39,0xe7,0x61,0x91,0x73,0xf5,0xbc,0xc8,0x4f,0xce,0xe0,0x72,0x0e,
0xb1,0xa4,0x48,0x67,0x3f,0xf6,0x77,0x07,0x04,0xce,0x71,0x5a,0x9d,0x3b,0x11,0xac,
0x79,0xce,0xd7,0x59,0x65,0xce,0xb3,0xb9,0x0c,0xf2,0x67,0x4d,0xeb,0xcf,0x75,0xdb,
0x71,0x55,0x70,0x0e,0x91,0xca,0xb6,0x47,0x0d,0x91,0x8e,0xfa,0xdb,0x6f,0x2c,0xe4,
0x46,0x12,0xc7,0x11,0x09,0xe7,0x81,0x9a,0xe0,0x5c,0xad,0xae,0xb3,0x2d,0x0f,0x97,
0x73,0x88,0x1a,0x43,0xbe,0xeb,0x50,0xe2,0x1c,0xab,0xd5,0x6d,0x08,0xce,0xf5,0xf3,
0x48,0x39,0x2f,0x94,0x73,0x2f,0x9c,0x64,0x83,0xfb,0x73,0x49,0x38,0x87,0x9b,0xe4,
0x0e,0x73,0xb7,0xe7,0x49,0x73,0x70,0x4d,0xd7,0x6f,0x97,0x9e,0xca,0xb5,0xce,0x79,
0x36,0x37,0xc0,0x79,0x32,0xd2,0xa7,0xc3,0x39,0xcc,0x7b,0xf4,0x86,0xee,0x12,0x9f,
0x0c,0xcc,0xf6,0xe7,0x5a,0x04,0xd4,0x3e,0xe7,0x3e,0x02,0xbf,0xdd,0x1c,0xce,0x71,
0xbc,0xb9,0xea,0xf0,0xdb,0x45,0x0d,0x75,0x9f,0x8a,0x91,0xcf,0xc8,0x05,0x84,0x73,
0x16,0x27,0x09,0xcf,0xb7,0x5c,0x0b,0x2f,0x27,0xf1,0xbc,0xdd,0x09,0x3e,0xc0,0xd4,
0x02,0xe7,0xca,0x79,0x91,0xff,0xce,0x27,0xf4,0xe7,0x22,0xe7,0x85,0xb7,0x93,0x8b,
0x06,0x3e,0x7b,0x9f,0xa1,0xe7,0x9a,0x34,0x3e,0xc7,0x2b,0xd5,0x8d,0xc1,0xb9,0xb6,
0x95,0x9d,0xf3,0xe1,0x5c,0xce,0xb5,0xac,0x9a,0x38,0xb7,0x58,0xde,0x1f,0x08,0x30,
0x46,0xbc,0xf7,0x35,0xe1,0x7c,0x0b,0xc9,0xec,0xb0,0x9c,0x73,0xed,0xf2,0x99,0xe4,
0xe7,0xaa,0x98,0xf3,0x0b,0x79,0x9c,0x6b,0x99,0x4f,0xc7,0x6f,0x0f,0x08,0x7b,0x0d,
0xd7,0x0d,0x46,0xcd,0x17,0xfa,0x73,0xcc,0xb4,0x40,0xab,0xab,0x45,0xce,0xbf,0x35,
0xbc,0x4c,0xc0,0x79,0x90,0x3f,0x58,0x56,0xce,0xbf,0x35,0x0c,0xb3,0xc4,0xb5,0xc8,
0x39,0xb4,0x96,0x4f,0x91,0x67,0xb9,0x7d,0x99,0xcc,0x92,0x91,0xa7,0xa3,0xdb,0xa3,
0x24,0x33,0x47,0x58,0x9c,0x73,0x9d,0x9c,0x0f,0x71,0x1e,0x60,0x4a,0x1b,0xb3,0xaa,
0x74,0x02,0xce,0x83,0x04,0x9c,0xc7,0x35,0xfd,0xf6,0x80,0xe0,0xb3,0x9f,0xd5,0x8c,
0x1a,0xa3,0x2e,0xe0,0x7c,0xa2,0x46,0x38,0xf7,0x3a,0xa7,0x5c,0xc7,0x88,0xcd,0x63,
0x89,0x8d,0x47,0x78,0x92,0xfe,0x7c,0x71,0xd6,0xeb,0xf4,0x3a,0xc9,0x3e,0x65,0xca,
0x85,0x5b,0xfe,0xe5,0xe7,0x9c,0xbc,0x8c,0xf0,0x72,0xe8,0x41,0xef,0x7c,0x60,0xf8,
0x7c,0xf8,0x7c,0xa8,0x97,0xd4,0x16,0x98,0xf0,0xc1,0x19,0xfc,0x28,0x4c,0x38,0x9c,
0x77,0xa6,0x39,0x5f,0x12,0xee,0x12,0x33,0xd2,0x32,0xc8,0x4b,0x80,0xc4,0x27,0x29,
0x86,0x73,0x65,0xaf,0xbd,0x93,0xbb,0x16,0x36,0x1a,0x9d,0x6b,0xa8,0x66,0x38,0x77,
0xee,0x3d,0x1f,0x86,0x9d,0x59,0x81,0x18,0x89,0x8d,0x21,0x83,0x95,0x5c,0xdc,0xd2,
0x86,0x5c,0xc6,0x59,0xf8,0x2b,0xb2,0xcf,0x01,0x9f,0xeb,0x16,0xd6,0x9e,0xee,0xf2,
0x72,0xbe,0xaf,0x65,0x75,0x7e,0x89,0xb8,0x94,0x70,0xad,0x2f,0x3a,0x16,0xd3,0x9f,
0xcb,0x29,0x34,0x98,0x77,0xdf,0xbe,0x8c,0xdf,0xef,0xe2,0xf9,0xed,0xc0,0x39,0xd8,
0x12,0x43,0x5a,0x5b,0x46,0x0c,0xe6,0xc0,0x46,0x43,0x6f,0x11,0x8c,0x11,0x8c,0x72,
0xae,0x48,0x79,0x6c,0x8d,0x3d,0x55,0xc4,0x0e,0xc3,0x5a,0xe1,0x7c,0x5f,0x4b,0x5f,
0x2c,0x45,0xa8,0x07,0x29,0x36,0xc5,0x26,0xd9,0x24,0xfe,0x18,0x49,0x34,0x3f,0x07,
0x7f,0xf5,0x00,0xfd,0x3d,0x99,0xe2,0xec,0x10,0x46,0x3d,0x90,0x70,0xee,0x23,0xe4,
0xfc,0x46,0x63,0xef,0x02,0x69,0x29,0x91,0x69,0x19,0x95,0x26,0xb9,0xf9,0xb9,0x54,
0xaa,0x2f,0x86,0xdf,0x17,0xe1,0x72,0x0e,0xe6,0xe7,0x96,0x93,0xe5,0xcd,0xb3,0x5c,
0x10,0xdb,0x09,0xee,0x37,0xc4,0x51,0x09,0x39,0x8f,0xc1,0x2c,0x47,0x31,0x37,0x57,
0xd6,0x8a,0xdf,0x7e,0xa5,0x67,0x39,0x09,0xa3,0x6c,0xfc,0x48,0x7e,0xe2,0xb3,0x5e,
0x68,0x0b,0x09,0x82,0xfe,0x5c,0x7c,0x7d,0xa6,0xaf,0xc0,0xff,0x34,0x68,0xcb,0x6a,
0xb7,0x61,0xc8,0x25,0x72,0x0e,0xe9,0x72,0x83,0xa9,0xa4,0x02,0x0c,0xd2,0x80,0xcf,
0xb9,0x07,0x7d,0x3d,0xb1,0x17,0xe2,0x17,0x96,0x3e,0x2a,0x62,0x71,0x86,0xc6,0x4c,
0x88,0xc5,0xb6,0x05,0x0f,0x76,0x6d,0x03,0xe7,0xe9,0x12,0xd2,0xae,0xa9,0x74,0x2d,
0x91,0xb4,0x8b,0x62,0x8c,0x45,0x6d,0x10,0xfa,0x54,0xbc,0x9c,0x88,0x9c,0x77,0x6a,
0xd7,0x35,0x6a,0x6d,0x90,0x13,0xe8,0x5d,0xb4,0x38,0x77,0x27,0x6e,0xcf,0x1f,0x2d,
0x82,0x3c,0xd4,0x9f,0x33,0x02,0xe7,0x5a,0xa5,0xca,0x89,0x65,0x5a,0x49,0xce,0xef,
0x0f,0x4c,0xf2,0x41,0x1e,0xaf,0x4e,0x7d,0x19,0x4b,0x97,0x31,0x2e,0xe3,0x79,0x3d,
0x05,0x6e,0x1b,0x92,0x3e,0x0b,0x97,0x73,0xa8,0x53,0xf1,0x69,0xa2,0x5e,0xe2,0x52,
0x0a,0x82,0x49,0x12,0xce,0x5f,0xe9,0x61,0x93,0x41,0xde,0x9c,0x36,0x8f,0x67,0x62,
0xd9,0x04,0xf9,0x38,0x4b,0x72,0x3f,0xd3,0xb5,0x30,0x9b,0xcc,0xf0,0xa1,0xc9,0x39,
0xe9,0xf3,0xb8,0x38,0x0b,0xf2,0xc1,0x24,0xfe,0x7c,0x62,0xb3,0xf7,0x5a,0x86,0x73,
0x95,0xbe,0x06,0xc8,0xca,0xf8,0x25,0x22,0xe7,0x85,0x94,0x8f,0x21,0x9f,0xfd,0x53,
0x85,0xbb,0xd1,0x49,0x24,0x71,0xae,0x59,0xa6,0x99,0x12,0x8d,0x24,0x2b,0xc5,0xf9,
0xad,0x01,0x28,0x65,0x1f,0x87,0x6f,0x46,0x19,0x57,0x6a,0x45,0x78,0x9f,0x97,0x4a,
0xb9,0x30,0x38,0x3f,0x20,0x71,0xce,0x69,0x71,0xee,0x4e,0xd7,0x7d,0x84,0x88,0xf3,
0xa1,0x6e,0xf0,0xab,0x2b,0xcd,0x76,0x3e,0xe5,0x50,0x73,0x24,0xbd,0x39,0x26,0xe7,
0x39,0x3d,0xba,0x59,0x9c,0x4f,0xf2,0xaf,0x1a,0xe2,0xdc,0xad,0x5c,0xd7,0x85,0x9c,
0x47,0xc5,0xfe,0x5b,0x3e,0xc3,0x14,0x47,0x3f,0x29,0xe6,0x94,0x2f,0x08,0x38,0x17,
0xc6,0xaf,0x9a,0x5e,0x64,0x67,0xda,0x8b,0xac,0x34,0xe7,0xf8,0xec,0x15,0x49,0xb9,
0x01,0xd6,0xdd,0x09,0x03,0x9c,0xab,0x7e,0xb2,0xf8,0xe4,0x25,0xe7,0x3c,0x52,0x35,
0x9c,0x67,0x6b,0x22,0x92,0x5c,0xc7,0x9a,0xb9,0xc8,0x4a,0xe2,0x5c,0x93,0xf2,0x84,
0x34,0xe7,0x5e,0x0b,0x9c,0xab,0x3c,0xd3,0x31,0x38,0x87,0x55,0x73,0x9c,0x76,0xa5,
0x2d,0x19,0xe7,0x9a,0xad,0xae,0x9a,0x38,0xc7,0x31,0xcd,0xe7,0x16,0x26,0xe5,0xd9,
0xf1,0x0a,0xd6,0x27,0x26,0x1e,0x10,0x71,0xee,0x56,0x4f,0x63,0xe6,0x93,0x7d,0x86,
0x38,0x37,0xaf,0xdd,0xeb,0x11,0x2e,0xe6,0x01,0xc6,0xe6,0x64,0x2b,0x52,0x22,0xe7,
0x3a,0x75,0x98,0xa9,0x1d,0x33,0x48,0x97,0xc6,0x1f,0x46,0x38,0x77,0xab,0xd7,0x35,
0x97,0xad,0x6b,0xb8,0x1d,0x35,0xc3,0xb9,0x6c,0xfe,0x6d,0x9d,0xed,0xc5,0x8e,0x1a,
0xa3,0xae,0xbc,0xfe,0x5c,0xb5,0xd5,0xd5,0x1a,0xe7,0x95,0x30,0xe2,0xfe,0x5c,0xd7,
0x8c,0xf5,0xe7,0x59,0x1f,0xa3,0x32,0x7c,0x67,0x19,0x87,0x36,0x1e,0x44,0xc4,0x92,
0xae,0x07,0x65,0xfd,0x76,0x3c,0x23,0x19,0xcf,0x15,0x63,0x45,0xf4,0xe7,0x18,0x75,
0x9d,0xe1,0x5c,0xd6,0x9b,0xbb,0x13,0x7d,0x51,0xae,0x8b,0xac,0xf4,0x94,0x34,0xd4,
0xbd,0x04,0x9c,0x63,0x96,0x66,0x24,0xb9,0x35,0x58,0x31,0xce,0x85,0x79,0x38,0x33,
0x78,0x35,0x62,0xa4,0xe3,0x73,0x39,0x0b,0xea,0xef,0x09,0x6b,0x46,0xb8,0x37,0x57,
0x7a,0x2c,0x85,0x9c,0x57,0xca,0xe4,0xad,0x77,0x39,0xd9,0x4b,0xd8,0x9b,0x93,0x73,
0x6e,0x16,0xe9,0x46,0x38,0xc7,0x69,0xb3,0x3e,0x4e,0x99,0x73,0x88,0xd0,0x68,0x6c,
0x9f,0x6b,0xbe,0x44,0xce,0x3b,0xb1,0x5a,0x1d,0x78,0x60,0x95,0xe3,0x7c,0x22,0xcd,
0x79,0x35,0xb2,0xee,0x2b,0x39,0xe7,0x62,0x4e,0x8d,0x70,0x3e,0xc1,0x67,0xdf,0xa1,
0xf2,0x06,0x27,0x0b,0x9e,0x20,0xde,0xdd,0x41,0xce,0x79,0xf9,0xad,0xb8,0xfe,0x5c,
0xfb,0x69,0xa8,0xcc,0x39,0xc4,0x93,0xb8,0x6d,0x70,0x9f,0x6b,0xbe,0x80,0x73,0x58,
0xcb,0xd7,0x6e,0x77,0x3e,0xae,0xd2,0x9c,0xdf,0xcf,0x70,0x5e,0x8d,0x46,0xce,0x39,
0xde,0xfb,0x82,0xdf,0x4e,0xc6,0x79,0x90,0x9f,0xe0,0x0b,0xd3,0x56,0x29,0x9b,0xe0,
0x59,0x34,0x36,0x27,0xbf,0x75,0xb4,0x90,0xf3,0xf2,0xa7,0x15,0xa7,0x3e,0x26,0x51,
0xe9,0x92,0x73,0x2e,0xbe,0xbf,0xf2,0x28,0x47,0x5e,0xd7,0x79,0x9c,0x43,0x3c,0x9e,
0x48,0xf1,0xb7,0x3f,0x89,0x4a,0xfb,0xed,0x09,0xbc,0xd6,0x5c,0x39,0xbf,0x5d,0xe2,
0xbc,0x7a,0xcd,0x08,0xe7,0x7a,0xed,0x8e,0x7c,0x7c,0x1e,0x4c,0xf7,0xe7,0xd9,0xf7,
0xc9,0x6d,0x59,0xa5,0x1b,0x81,0xe7,0x7e,0x82,0xf2,0x3b,0x2f,0x27,0xfd,0x5c,0x8b,
0x81,0xbd,0x9a,0x72,0xce,0xc9,0x6a,0x41,0x2d,0x9d,0xf9,0x3f,0xf3,0x67,0x52,0xad,
0xf4,0x5b,0xe5,0xda,0x80,0xfd,0x23,0xe4,0x9c,0x6b,0x97,0x79,0xf6,0xbd,0x33,0x9c,
0xa7,0x7b,0xf3,0x75,0x76,0xa9,0xe8,0xd5,0xb4,0xac,0xe4,0xeb,0xe7,0x7a,0xf9,0xac,
0xe4,0x3c,0x9c,0x9c,0xf3,0xf2,0xce,0x26,0x19,0x6f,0xff,0x04,0xfb,0x64,0x30,0xe6,
0xc4,0xc5,0x57,0x90,0xcf,0xc3,0x4d,0x54,0x7c,0xbe,0x5d,0xb2,0x20,0xff,0x20,0xd5,
0xb6,0x60,0x24,0xba,0x9d,0xc8,0x79,0xb5,0xe4,0x43,0x34,0x1f,0x39,0xe7,0x2d,0x10,
0x2f,0x43,0xf6,0x1e,0xe8,0xaf,0x27,0x78,0x3f,0xf2,0x72,0xfc,0x60,0xb2,0x77,0x96,
0xfc,0xf6,0x4f,0x23,0xed,0x51,0x71,0xcd,0x1c,0xa2,0xb3,0xf3,0xe3,0x1e,0xf2,0xa2,
0x53,0xd1,0x50,0xf7,0xf5,0xf4,0xf8,0x5c,0x2f,0x97,0xf0,0x8a,0x4a,0xf6,0xe7,0x93,
0x7c,0xa4,0xea,0x76,0x74,0xe6,0x96,0x10,0x3e,0xe7,0x13,0xd8,0x6b,0xdc,0xc5,0xae,
0x9f,0x4f,0xf0,0xa5,0x34,0xa1,0x75,0xf2,0x39,0xa6,0xf1,0x09,0xd0,0x9b,0x3b,0xb1,
0x23,0x8c,0xcb,0xc5,0x84,0xf3,0x77,0xef,0xa6,0xdf,0x53,0xe5,0xd3,0xd2,0xbf,0xd7,
0xcf,0x2d,0x87,0xf5,0xaa,0x9c,0x77,0x96,0x1b,0x39,0xe7,0xcb,0x49,0xed,0x7a,0x90,
0xbf,0xbb,0xc4,0xf9,0x98,0x30,0x03,0xb7,0x15,0xe3,0x76,0x44,0x7c,0x01,0xe7,0x30,
0x86,0xc0,0x6d,0x75,0xd5,0xc0,0x79,0x69,0xdb,0x6e,0xf1,0x26,0x95,0x0e,0x1e,0xe7,
0x07,0x32,0x9c,0xeb,0xbf,0x2b,0xb0,0x42,0x3a,0x0f,0x27,0xec,0x7b,0xad,0x78,0x99,
0x80,0xf7,0xf5,0x20,0xb5,0x3a,0x0f,0xb3,0x48,0x1e,0xe2,0xda,0xce,0x70,0x5e,0xf1,
0x5c,0x48,0x26,0xf6,0xbf,0x84,0xf3,0x70,0x2d,0x90,0x0f,0xac,0x77,0x17,0xea,0x7a,
0x2d,0xd3,0x9f,0xaf,0xb1,0xdb,0x97,0x4b,0x7b,0x0b,0xac,0x38,0x0f,0x87,0xdb,0xea,
0xd8,0x2a,0xe0,0xbc,0xd2,0x35,0xae,0x5e,0x3e,0xb8,0x9c,0x8b,0xf3,0x39,0x38,0x6d,
0x0b,0x4a,0x9c,0x8c,0xf3,0xe5,0x64,0xb0,0xe2,0x65,0x21,0x1a,0xd4,0xd6,0x13,0x86,
0x7a,0x73,0xe0,0xfc,0x41,0xaa,0xfa,0x6a,0x1a,0xfa,0xb9,0x20,0x01,0xe7,0xfb,0x5a,
0x3e,0x8d,0xe0,0x71,0x0e,0xef,0x3d,0xc9,0xaf,0xa7,0x39,0x87,0x73,0xc5,0xc5,0xdd,
0x5b,0x55,0x28,0x81,0xf3,0x24,0x6e,0x99,0x22,0xce,0x4b,0xea,0x4d,0xe0,0xeb,0xfe,
0x40,0x90,0x8f,0x60,0x96,0x59,0xa5,0x5a,0x01,0x3e,0xe7,0xf8,0x2c,0x22,0xce,0x31,
0xa3,0x28,0x7a,0x2c,0x50,0x9b,0x6c,0xb2,0x3a,0x4a,0x09,0x7a,0xf3,0xdb,0xf3,0x46,
0xd7,0x84,0x98,0xc8,0x83,0x54,0xa5,0x73,0xa0,0x64,0x64,0x9c,0x4f,0xb9,0x7a,0x43,
0x29,0xcc,0x7c,0xf8,0x79,0x91,0xf3,0xa7,0xa3,0xb0,0xcf,0xf5,0xe0,0x0c,0xe9,0x8e,
0x03,0x3d,0x0d,0x75,0xc7,0x99,0x48,0x0d,0x70,0xbe,0x69,0x30,0xc8,0xe3,0x3e,0x1b,
0x2b,0x63,0xc0,0xf9,0x41,0x0c,0xce,0x4f,0x0c,0xfb,0xb1,0x39,0x87,0x3c,0xaf,0x12,
0x70,0xfe,0x4a,0xcf,0x83,0x54,0x75,0x70,0x0e,0xf3,0x68,0xc6,0xc6,0xe6,0xa0,0x64,
0x04,0x97,0x0f,0xb3,0x73,0x15,0x21,0x38,0xaf,0x06,0xa7,0xa9,0x27,0x78,0x38,0xb3,
0x1f,0x4c,0xea,0x7b,0x70,0xc1,0x34,0xe7,0x70,0x3b,0x22,0x79,0x24,0x6c,0x3d,0xbd,
0xda,0xb3,0xc6,0xe2,0x73,0x0e,0xf3,0xa7,0x6f,0x16,0xbd,0xd7,0xd6,0x88,0xae,0xf4,
0x40,0xe4,0x07,0x23,0x31,0x0e,0xcc,0x33,0xbc,0xfe,0x7c,0xd3,0x20,0xac,0x37,0xe1,
0xbd,0x63,0x10,0xbd,0x27,0x44,0xb1,0xc2,0x29,0x21,0x8f,0x05,0xce,0x9f,0xc3,0x93,
0xa1,0xd2,0xe5,0x30,0xc9,0x43,0xe4,0x87,0x62,0x6e,0xbb,0xb8,0x16,0x4e,0xa5,0x82,
0x15,0xcf,0x45,0xa1,0x41,0xdc,0x12,0xfc,0xf3,0xe7,0xa0,0xfb,0x03,0x4c,0x78,0x89,
0x01,0xda,0x85,0xb8,0x27,0x49,0xf0,0x08,0x94,0xde,0x19,0x38,0x77,0x27,0x3e,0x8d,
0x04,0x62,0x7d,0x31,0xa3,0xa3,0x1d,0x2d,0x39,0xf7,0xae,0xb1,0x68,0x2c,0x84,0x95,
0x4b,0x68,0x75,0x5b,0x0d,0xad,0x93,0x14,0xaf,0x66,0xef,0x98,0x10,0x4f,0x86,0xad,
0x56,0x43,0x2d,0xdb,0x9d,0xc0,0xa9,0x21,0x9b,0x77,0xfb,0x32,0x6e,0x4e,0x52,0xa8,
0x77,0xc6,0x8b,0x46,0x25,0xea,0xb2,0xab,0x6d,0xa1,0xe2,0xa5,0x84,0x4a,0x02,0x76,
0xc7,0xdc,0xf3,0x18,0xae,0x6c,0x4b,0xeb,0x20,0xb4,0xb5,0x8a,0xe6,0x42,0xc1,0x40,
0x4c,0x04,0xce,0x94,0x90,0x64,0xed,0x46,0xa3,0x73,0xef,0xad,0x81,0xab,0x23,0x67,
0x67,0x46,0x43,0x7d,0x51,0x37,0x27,0x46,0x29,0x82,0x88,0x15,0xc0,0x3c,0x58,0x96,
0x73,0xe4,0xb5,0xc7,0x5e,0x2b,0xc9,0x3e,0xd7,0x7c,0x1d,0x75,0x42,0xcb,0xc0,0xad,
0xbf,0x48,0xb2,0xd8,0x1b,0xec,0x8d,0x8b,0xeb,0x5a,0x9d,0x67,0x22,0xd7,0xc2,0xd5,
0x68,0x17,0xd0,0xd7,0xa1,0x10,0xae,0x47,0xc7,0x75,0xe0,0xe5,0x84,0x09,0x8f,0x86,
0x5a,0x07,0xc9,0xc6,0xb8,0xfb,0x5a,0xce,0xce,0x32,0x15,0x2e,0x8d,0xb6,0x85,0x03,
0xc3,0xc5,0xc5,0xa8,0xf5,0x3a,0x4f,0x0c,0x43,0xfe,0x2b,0x9b,0x8f,0x7c,0x63,0x22,
0xbf,0x9a,0x2f,0x26,0xda,0xc3,0xdd,0xc6,0xb7,0x76,0x0d,0x75,0xb7,0x0e,0x6e,0x99,
0x40,0xf5,0x8f,0x7a,0xf9,0x48,0x12,0xfa,0xf8,0x07,0x42,0x6c,0xb3,0x48,0x92,0x4d,
0x41,0x4c,0xcb,0x83,0x33,0xe5,0xea,0x47,0xf7,0xb5,0x3c,0x37,0x83,0x97,0xcf,0xf3,
0xe1,0xd6,0x61,0xb5,0x56,0x67,0xaf,0xeb,0xae,0x7f,0xb2,0xfe,0xf7,0x04,0xfb,0x8f,
0xba,0xff,0xa8,0xfb,0x79,0xdd,0xcf,0xbf,0xf0,0x8f,0x5f,0x78,0xb1,0xee,0xae,0xcb,
0x52,0xb2,0x19,0x85,0xa3,0xce,0x66,0xaf,0xad,0x4a,0xad,0xd9,0x4b,0xd2,0xb2,0x8f,
0xb9,0x70,0x72,0xd2,0xec,0x35,0x72,0x1e,0xd1,0xe3,0xac,0x74,0x59,0x94,0x26,0x0e,
0xf5,0x8d,0x46,0x9c,0x32,0x32,0xd7,0x4a,0xb3,0xd7,0x1c,0x66,0xe8,0x9a,0xbd,0x37,
0x3b,0x86,0xba,0x0f,0x0c,0x1f,0x9c,0xe9,0x45,0xbd,0x3c,0xcc,0xed,0x3c,0x48,0x8d,
0xc5,0xae,0x8e,0x94,0x73,0xf6,0xcb,0x63,0x81,0x36,0xa5,0x97,0x47,0xed,0x56,0xf7,
0x13,0x6b,0xc2,0xf1,0xa8,0xe3,0x33,0xfb,0xc7,0xf6,0x77,0xed,0xf3,0xf6,0x71,0xfb,
0x61,0xfb,0xe1,0xcd,0x8f,0x6c,0x7e,0xdb,0xf6,0x67,0x0d,0xe7,0xdc,0x5f,0x78,0xd2,
0x83,0x99,0xfa,0x67,0xeb,0xfe,0xb1,0xae,0x34,0x79,0xa2,0xa2,0xaa,0x05,0x79,0xd0,
0xf3,0xec,0x78,0x8b,0x73,0xef,0x50,0xf7,0x50,0xf7,0x99,0x5d,0x9e,0x4a,0x27,0x47,
0x57,0x3f,0xae,0x7f,0xcf,0xb1,0xe3,0xa1,0x37,0x1c,0xa7,0x1d,0x2f,0x38,0xf6,0x38,
0x76,0x38,0x1e,0xd8,0x59,0xfb,0xb2,0xfd,0x92,0xfd,0x0d,0xfb,0x1b,0x9b,0xdd,0x8f,
0xfe,0xe9,0x53,0x38,0xcf,0xf8,0x1b,0x96,0x39,0xfb,0x98,0xfd,0xef,0xcb,0x9f,0x58,
0x2a,0xaa,0x2a,0x90,0xa7,0xd2,0x09,0x30,0xa4,0xb3,0xa8,0x47,0x3f,0xed,0xf8,0xa6,
0xe3,0x31,0xc4,0xf8,0x27,0xf6,0x88,0x3d,0x68,0x9f,0xb4,0x1f,0xb1,0xfb,0xec,0x9f,
0xd9,0x1e,0xb5,0x37,0x6d,0xfe,0xc9,0x9f,0x5c,0xf6,0xe8,0xbd,0xc3,0xaa,0xf5,0x05,
0xf4,0xa4,0x18,0xae,0x37,0x21,0xb1,0x54,0x54,0x55,0x23,0x4f,0xc6,0x6a,0x41,0x53,
0x96,0x3b,0xb6,0x54,0x9a,0x73,0x36,0xc3,0xf9,0x6e,0x7b,0x93,0x7d,0xc5,0x76,0xd1,
0xd6,0xb9,0x7b,0xd7,0x84,0x55,0xf3,0x8c,0xdd,0x4c,0xfd,0x69,0xc7,0x7b,0x8e,0x84,
0x63,0xab,0xcd,0xac,0x14,0x53,0x51,0x51,0x91,0xeb,0x2f,0xeb,0xde,0xb1,0xbf,0x81,
0x28,0x97,0x73,0xee,0x13,0x38,0x7f,0xc9,0x36,0x60,0xfb,0xe8,0xfc,0x97,0x42,0x2f,
0xaa,0x92,0xfe,0x6c,0xdd,0x45,0x7b,0x02,0x3d,0x25,0x12,0x8e,0xdf,0xd8,0xde,0x34,
0x33,0xd1,0x54,0x54,0x54,0x84,0x9a,0xa9,0x7f,0x0c,0x8d,0xce,0x3f,0x41,0x9c,0x8b,
0x94,0x8b,0x7e,0x3b,0x70,0xfe,0x91,0xf5,0xa5,0xe3,0xee,0xc4,0xb5,0xb0,0x72,0xa4,
0xb0,0x63,0x96,0xbf,0xb3,0xbd,0x87,0x46,0xf6,0x8f,0xa1,0xaf,0xdf,0xd9,0xff,0x84,
0x7a,0xee,0x54,0x54,0x55,0xad,0x73,0xd6,0x17,0x50,0x8f,0x2e,0xf7,0xda,0x25,0xce,
0x3f,0xfa,0x63,0x5f,0x22,0x92,0x54,0xbe,0x85,0xec,0xa4,0xf5,0x34,0x7a,0x3e,0x3c,
0x26,0xf8,0xfc,0xa7,0x1d,0x8b,0x56,0xf3,0xd3,0x4d,0x45,0x45,0x85,0xaf,0xef,0x5b,
0xfe,0xc6,0xb6,0xc7,0x91,0xcb,0xf9,0x3b,0xc8,0x6b,0xff,0x99,0x75,0xac,0x6d,0xf7,
0x9d,0x07,0xa9,0x20,0x0f,0xab,0x84,0xb9,0xb3,0xef,0x4f,0xd6,0x7f,0x62,0x7f,0x01,
0x79,0x01,0xe0,0xf1,0xc3,0x77,0x6f,0xdb,0xe8,0x9c,0x3b,0x15,0x55,0x75,0xeb,0x7f,
0xd5,0x1d,0xb6,0xa7,0x72,0x46,0xe7,0x17,0x6d,0xcf,0xd8,0xde,0xb6,0xf6,0x35,0xef,
0xbe,0x93,0x12,0x76,0xf8,0xae,0xb3,0x27,0x67,0xee,0x66,0xd6,0xe2,0xed,0x75,0x0f,
0x0b,0x94,0x83,0xb7,0x0f,0xf3,0xf4,0x0f,0xd0,0xdf,0x3e,0x45,0x3d,0x77,0x2a,0xaa,
0x2a,0x57,0xa8,0x7e,0xd9,0x9e,0x48,0xf7,0xe7,0xa2,0xd7,0xde,0x01,0x9c,0xb7,0x02,
0xe7,0x0f,0x92,0xb0,0xcf,0xcf,0xcf,0xb7,0x2d,0x88,0x3b,0x08,0xbb,0x2c,0xbf,0xb6,
0xee,0x71,0xc0,0xbc,0x9d,0x64,0x41,0xfb,0x1e,0xc7,0x73,0x9b,0x4a,0xb7,0x8b,0x8e,
0x8a,0x8a,0xaa,0x3c,0x3a,0x67,0x4d,0xd9,0xdf,0xb3,0xbf,0x6c,0x7f,0xde,0xfe,0xa8,
0xfd,0x63,0xd4,0x9f,0x0f,0xa0,0xf1,0xf9,0x58,0xab,0xd8,0x9f,0x3f,0x10,0xf6,0xf4,
0x2e,0x27,0x93,0x11,0x88,0xf7,0x7b,0xb5,0x9e,0x15,0x66,0xed,0xb2,0x36,0x89,0xbc,
0x81,0x3f,0x6a,0x78,0x93,0x72,0x4e,0x45,0x55,0xe5,0xba,0x67,0xf9,0x4f,0xb6,0xeb,
0xb6,0x80,0xad,0xcf,0xd6,0x6e,0x4b,0x5a,0xaf,0x59,0x47,0xad,0xbf,0xae,0x67,0x9e,
0xfa,0x2c,0x06,0x7c,0x8b,0x9c,0x83,0x9e,0x66,0xfe,0x5b,0xe7,0x75,0x1b,0xf4,0xfc,
0x72,0x3b,0x62,0xbf,0x64,0xff,0xc8,0xf6,0xe7,0x5f,0xa8,0x74,0x1e,0xa8,0xa8,0xa8,
0xb4,0x74,0x66,0xd7,0x7f,0x9f,0x3d,0x74,0xfe,0xc9,0x47,0xfe,0xc1,0xe2,0xa8,0x03,
0xfb,0x37,0xcb,0x3f,0x58,0xa6,0x2d,0x3f,0x6f,0x99,0x8b,0xa5,0x52,0xc1,0x24,0x9c,
0xce,0x11,0x49,0x5f,0xfb,0xe5,0xf9,0x3f,0x6e,0x4a,0xaf,0xbf,0xc9,0xed,0x65,0xbb,
0xfb,0xd1,0x9f,0x3f,0x5c,0xe9,0x5c,0x50,0x51,0x51,0xa9,0x69,0xca,0xd5,0x30,0x08,
0xd1,0x40,0x52,0xa9,0x83,0xb3,0xb9,0xbf,0xb1,0xb6,0xf4,0x21,0xce,0x21,0xca,0xdb,
0x72,0x12,0xe2,0x10,0xa4,0x52,0xbf,0xfc,0xfe,0xd7,0xea,0xfa,0x6c,0x97,0xec,0x3e,
0x34,0x8e,0xdf,0x8d,0xfe,0xeb,0xcb,0xfc,0x97,0x72,0x4e,0x45,0x55,0xbd,0xe2,0x3a,
0x6e,0xcf,0xaf,0xb3,0xd0,0x5f,0xc3,0x48,0x3c,0xf7,0xac,0xfa,0xbe,0x96,0xbe,0x68,
0x2a,0xe5,0x17,0x4e,0xd6,0x03,0xe7,0x17,0xc2,0x47,0x5d,0x16,0xcb,0x88,0xf5,0x0d,
0x7b,0x53,0x8e,0xc1,0x7e,0xf8,0x1f,0x6c,0x3b,0xf3,0xc5,0x4a,0xe5,0x81,0x8a,0x8a,
0x4a,0x5d,0x77,0x1b,0x5f,0x1f,0xd9,0x1e,0x9d,0xe4,0x45,0xaf,0x1c,0x48,0x5e,0x62,
0xe4,0xa7,0xf2,0x9b,0xbd,0xed,0x51,0x36,0x05,0x71,0x2d,0x21,0xc2,0xd2,0x12,0x23,
0xc6,0xad,0x3d,0x50,0x0f,0x64,0x8b,0xf6,0x31,0xb2,0x15,0xdb,0x3b,0xb6,0x6f,0xda,
0x3f,0xfc,0xea,0xff,0xac,0x48,0xd4,0x1a,0x2a,0x2a,0x2a,0x75,0x79,0x9d,0xaf,0x74,
0xb7,0x2d,0xc4,0xd9,0x60,0x9a,0x72,0x36,0x05,0x51,0x71,0x52,0xa9,0x43,0xa1,0xec,
0xdd,0x5a,0xc0,0xf9,0x72,0xd2,0xc7,0xf9,0x39,0x88,0x60,0x26,0xf5,0xf5,0x8e,0xba,
0xed,0x88,0xf0,0x8b,0x88,0xee,0x77,0xd0,0x7f,0x2f,0xda,0x5e,0xb2,0x1d,0xb6,0xad,
0xb5,0xfe,0xd5,0x33,0x95,0xca,0x09,0x15,0x15,0x95,0xb2,0xfe,0xa2,0x63,0xe7,0x4c,
0x5f,0x0c,0xa2,0x98,0x4a,0x94,0x43,0xf4,0x2b,0xe4,0x9f,0xa3,0xff,0xf2,0xe3,0xd2,
0xab,0x9a,0xbd,0x8d,0x88,0x73,0x77,0x02,0x7a,0x7c,0x79,0x8c,0xc0,0x2f,0x59,0xdf,
0xb5,0x0d,0x08,0xf6,0x8c,0xed,0xb7,0xd6,0x8f,0xac,0xeb,0x6d,0x3d,0xdf,0xd1,0x3f,
0xc3,0x4a,0x45,0x45,0x65,0x9a,0x9c,0x77,0x3d,0xad,0x87,0x47,0x17,0xd6,0x99,0x48,
0x52,0x5c,0x2b,0x7b,0x90,0x4c,0x47,0xb8,0x83,0x7b,0x41,0x10,0xd1,0x3e,0x4e,0x8a,
0x9a,0xd6,0xec,0x4d,0x46,0x82,0x7c,0x13,0x17,0x4c,0x8e,0x86,0xe4,0xfb,0x5e,0x7f,
0x51,0xd7,0x61,0x7b,0xd8,0xf6,0x33,0xeb,0x0f,0xac,0x6f,0x5b,0x1b,0xb7,0x75,0x1c,
0x69,0xbc,0xfa,0xfe,0xb1,0xca,0x64,0x86,0x8a,0x8a,0xaa,0x50,0x53,0xae,0xe1,0x3f,
0x1c,0xed,0xed,0x3f,0xf4,0xd2,0x91,0x97,0x8e,0xaf,0xbf,0xf6,0xf1,0xf2,0xcb,0x09,
0x29,0x96,0xa5,0x14,0xc3,0x12,0x7c,0xf4,0xc6,0xe8,0x3e,0xe1,0x34,0xea,0xe3,0x88,
0x73,0xf8,0xe9,0x58,0xec,0x66,0x87,0xfc,0x5d,0xa6,0x2d,0xff,0xb7,0xfe,0xba,0xf5,
0xce,0xa6,0xfe,0xe6,0x67,0x8e,0x8c,0x5f,0xf5,0xf3,0xdf,0x28,0x43,0xf4,0x6a,0x2a,
0x2a,0x2a,0x63,0xba,0xd7,0xb8,0xfa,0x0d,0xdf,0xa3,0x1f,0xdb,0xc6,0x05,0x7f,0xfb,
0x6d,0x64,0x81,0xb6,0x95,0xc9,0xf9,0x6b,0x4d,0x77,0x60,0x0e,0x0e,0xa2,0x57,0x8a,
0xb7,0x88,0x2e,0x27,0x3f,0x14,0xee,0xe5,0xb0,0x79,0xfb,0x63,0xa9,0x94,0x8f,0x13,
0x47,0xe6,0x9e,0xcc,0xfb,0x4c,0xb9,0x46,0x9e,0x3a,0x7c,0xa8,0xf3,0x02,0x3c,0x25,
0x22,0x29,0x37,0xf7,0xfa,0x48,0xa5,0x72,0x44,0x45,0x45,0x95,0xab,0x29,0xd7,0xb6,
0xd6,0x37,0x36,0x8b,0xbb,0x5a,0xc7,0xd1,0xd8,0x5a,0xf4,0xbc,0xc1,0xf7,0xe6,0xff,
0xf0,0xc4,0x48,0xdb,0x42,0x20,0x06,0xb3,0xea,0xe2,0x4d,0xc6,0x93,0xfc,0x81,0x61,
0x8b,0xa5,0xcb,0xf9,0xfa,0x48,0x32,0xb2,0x73,0xda,0x93,0x79,0x8f,0xa3,0xce,0x33,
0xbb,0x1a,0x06,0x61,0x25,0x2e,0x25,0xfa,0xfc,0xa9,0x60,0x92,0x89,0x70,0x1d,0xea,
0x9f,0x4a,0x45,0x45,0x65,0xa2,0x9c,0x5b,0xbe,0x7a,0x69,0xf3,0xf3,0x76,0x71,0x4d,
0x0c,0xd6,0xc2,0x5e,0x12,0x58,0x7f,0xc4,0xf6,0x37,0xd6,0xbf,0x10,0x5e,0x70,0xb3,
0xe3,0xc4,0xf0,0xea,0x7c,0x63,0xd4,0xcf,0x25,0x90,0x1f,0x7f,0x35,0xdd,0x47,0x4f,
0xb9,0xc4,0xc8,0xb8,0xc7,0x5c,0x37,0x3b,0x1a,0x06,0x17,0x67,0x97,0x98,0x07,0xa9,
0x54,0x66,0x1f,0x2c,0xdc,0x0b,0x73,0xb2,0xe4,0x37,0x4b,0x51,0x51,0x51,0x19,0xd3,
0x3d,0xd7,0x47,0xdb,0xde,0x13,0xce,0x9d,0xfa,0xd2,0xac,0xbf,0x23,0xac,0x89,0x8d,
0xdb,0xb6,0x5a,0xe5,0x57,0x92,0x9c,0xd9,0x75,0x00,0xd1,0xfe,0xdc,0x8c,0xfc,0x6e,
0x8e,0x7b,0x9e,0xaf,0xa3,0x9f,0x05,0x62,0xcb,0xc2,0x8c,0x9d,0x68,0xe2,0xce,0x9a,
0x48,0x32,0xc0,0x5c,0x29,0xf1,0x3d,0x91,0x54,0x54,0x54,0x46,0xf5,0xcf,0x8f,0x04,
0x37,0xbf,0x9c,0xde,0x8d,0xee,0x4b,0xef,0x62,0x5b,0xb1,0xbd,0x8b,0xac,0x41,0xe1,
0xe4,0xb8,0x27,0xe7,0x5f,0x0d,0x83,0x30,0x7e,0x9f,0xe4,0xfd,0xdc,0x91,0xf4,0x6d,
0x4e,0x12,0xe7,0xcb,0xc9,0xd1,0xd0,0xdd,0x8a,0xdc,0xde,0x46,0x45,0x45,0x55,0xa8,
0x2f,0x37,0xec,0x70,0x48,0xa7,0xcb,0x8e,0x08,0xbb,0xd2,0xc5,0xfd,0xaa,0x17,0x6d,
0xbf,0xaf,0x7b,0xcf,0xc2,0x89,0x61,0xe0,0x1a,0x08,0x4f,0x73,0x2e,0xf4,0xe7,0xe0,
0xb7,0xfb,0xb9,0x0f,0xc6,0xf5,0xfe,0x9a,0x8a,0x8a,0xca,0x1c,0x7d,0xad,0xee,0x11,
0xfb,0x0e,0x87,0x74,0x5a,0x5c,0x8a,0xf7,0xb8,0xdb,0xfe,0xbc,0xfd,0x5f,0xac,0xb9,
0xb1,0x5a,0xbb,0x9c,0xce,0xbd,0xae,0xe9,0x13,0x39,0xb7,0x6d,0xed,0x6b,0x71,0x4d,
0x37,0x46,0x8f,0xf0,0xa2,0xbf,0x9e,0xf6,0xdb,0x85,0xf1,0x79,0x5f,0x8c,0xce,0xc1,
0x51,0x51,0x55,0x8b,0x62,0xf5,0x62,0xe4,0xe6,0x48,0x86,0x74,0x91,0xf5,0x37,0xec,
0xdf,0xcd,0x78,0xed,0xc7,0x5c,0xce,0xbd,0x5b,0xa6,0x47,0x43,0x63,0xb1,0x20,0x7f,
0x29,0xd9,0x9a,0x73,0xa2,0xc5,0x63,0x69,0xf6,0xee,0xef,0xe6,0xc7,0xb7,0x2f,0xc3,
0x4d,0xb3,0x59,0xad,0xce,0x97,0xea,0xfe,0x2a,0x2a,0x2a,0xaa,0x62,0xf5,0x47,0xb6,
0x37,0x1c,0x52,0x34,0xb7,0x2c,0xeb,0x09,0xd4,0xa7,0x83,0xd7,0x7e,0x0c,0xf5,0xe1,
0x07,0x67,0x92,0x91,0x38,0x33,0x29,0xdc,0xc5,0xed,0xe3,0xd8,0xf4,0xee,0xd7,0x2b,
0x3d,0xdb,0x16,0xe4,0xab,0xe3,0x77,0x1b,0x9f,0xd8,0xbb,0x73,0xba,0x3d,0x1a,0x14,
0xbc,0x76,0x37,0x3f,0x44,0xe7,0xe0,0xa8,0xa8,0xaa,0x44,0xcf,0xd6,0x0d,0xd8,0x4f,
0x0b,0xb7,0x31,0x88,0xbd,0xfa,0xb2,0x3d,0x85,0xbc,0xf8,0x1d,0x8e,0x84,0xfd,0xcb,
0xb6,0x1f,0xed,0x3d,0x38,0x0b,0x77,0x3c,0x0b,0x3b,0x65,0x92,0x7e,0xde,0xcd,0x35,
0xa1,0xef,0x2f,0x84,0x61,0x87,0xdb,0x3d,0x0f,0x13,0x4e,0xa5,0xd6,0xd9,0x21,0x21,
0x82,0xbb,0x27,0xfd,0x6e,0x70,0x8f,0x1c,0xd7,0xc5,0xff,0xd5,0xd3,0xb1,0xad,0xc1,
0x37,0xe9,0x19,0x35,0x2a,0xaa,0x2a,0xd1,0x2f,0xeb,0x4f,0x0b,0x37,0x2a,0xfc,0xce,
0xfe,0x3b,0x3b,0xdc,0xca,0x00,0xf7,0x32,0x1c,0xb6,0x7f,0xcf,0xf6,0x7a,0xfd,0x77,
0xbf,0xbd,0x96,0x76,0xc3,0xd9,0x94,0xb8,0xf3,0xd5,0xc7,0x05,0xf9,0x00,0x23,0x8e,
0xba,0xf7,0xb5,0xc0,0x79,0xb5,0x4b,0xc9,0xf6,0xe8,0x71,0x85,0x5b,0x59,0xae,0x7e,
0xe9,0x07,0x0d,0x7f,0x6d,0xfd,0xbd,0xfa,0xbf,0xb7,0x64,0x37,0xbd,0xd2,0xed,0xaf,
0x54,0x54,0x95,0xd2,0xa8,0x70,0x8b,0xda,0x0b,0x8e,0x37,0x90,0x3d,0xe6,0x18,0xb7,
0x5f,0xb0,0xf1,0xf5,0xcf,0xd6,0xc1,0x34,0xfb,0x95,0x81,0x09,0x3e,0x25,0xdc,0xdb,
0xbe,0x9c,0x0c,0x22,0x8f,0x1d,0x62,0x4a,0x1c,0x11,0xf6,0xc2,0x81,0xc4,0x73,0x2c,
0xb0,0x0f,0xb6,0x6d,0xe1,0x68,0xce,0x38,0xfc,0x98,0xe5,0xff,0xd4,0x2f,0xd9,0x8e,
0x20,0xcf,0x20,0x62,0x7f,0xc4,0xfe,0x53,0xeb,0x93,0xf5,0xff,0x6a,0xe9,0xca,0xfc,
0xd6,0x63,0x62,0xde,0xa8,0xa8,0xa8,0x40,0x7f,0x5b,0xf7,0x99,0xfd,0x85,0x87,0x52,
0x8e,0xd3,0x8e,0x77,0x10,0xe1,0x5b,0xac,0xff,0x45,0xb6,0x8e,0x76,0x66,0xd7,0xf6,
0xe5,0x54,0xfa,0x5c,0x6a,0x44,0x38,0xcb,0xc2,0x26,0x6f,0x67,0xa2,0x47,0x65,0xcf,
0xa5,0x06,0x79,0xf9,0xfa,0xd9,0xef,0xd7,0x31,0xd6,0xe7,0xed,0x2f,0xa3,0x11,0xfe,
0xa5,0xf4,0x08,0xe0,0x31,0xc7,0x45,0xfb,0x36,0xdb,0x70,0xfd,0xd7,0xea,0xe8,0xc1,
0x35,0x2a,0xaa,0x4a,0x68,0xb8,0xfe,0x88,0xe3,0x33,0x3b,0x63,0xfb,0x53,0xeb,0x9f,
0x17,0xac,0x94,0x1f,0x73,0xad,0xce,0xb3,0xc2,0x2e,0x56,0xf1,0xfc,0x79,0x2a,0xd5,
0x1e,0x6d,0xce,0x38,0xdf,0x42,0x3c,0x99,0x74,0x9c,0x09,0x77,0x42,0x1c,0xa5,0x7b,
0x2d,0x0d,0xf5,0x1d,0x36,0x31,0x3a,0xdc,0x11,0x44,0x7a,0x50,0xb8,0xa7,0x61,0x0f,
0xf2,0x16,0x4e,0x23,0xfb,0xd8,0x7e,0xc8,0xf6,0xcf,0xf5,0x2f,0x52,0xda,0xa9,0xa8,
0x4c,0x96,0xad,0xee,0xc7,0xf5,0x7f,0xab,0xba,0x17,0xe6,0x83,0xf1,0xa0,0x2c,0x6e,
0x94,0x9b,0x1b,0xea,0xc9,0xfe,0xae,0xb9,0x45,0x1e,0x37,0xaa,0x3d,0x6a,0xf3,0x7e,
0x05,0xf9,0xeb,0x03,0xb6,0x77,0x6d,0x2b,0xb6,0xcf,0x6c,0x4d,0x88,0x75,0x89,0xf4,
0x4f,0x04,0xd6,0x4f,0xa3,0x71,0x41,0xc2,0x91,0x72,0x34,0x39,0xfe,0x07,0xbd,0x29,
0x99,0x8a,0xaa,0x8a,0x74,0xa5,0x67,0x89,0x61,0x33,0x11,0xda,0x7f,0x3a,0x21,0xff,
0xdd,0xe3,0x42,0xbc,0xd7,0x89,0x74,0x1c,0xc8,0x07,0xa9,0x3f,0x0b,0xfe,0xaa,0xfe,
0x23,0xeb,0x33,0xb6,0x01,0xdb,0x45,0xdb,0xc7,0x88,0xf3,0x6c,0x8f,0x1e,0xb1,0xb3,
0x88,0xf4,0xc7,0x1c,0xdf,0x44,0xa4,0xef,0x79,0x28,0xe1,0x38,0x4f,0x39,0xa7,0xa2,
0xaa,0x22,0x1d,0x6f,0xb9,0x10,0x8e,0xa4,0x77,0xb1,0xbe,0x7b,0x75,0x74,0xd3,0x8f,
0xeb,0xb2,0xa7,0x5a,0x1e,0x6f,0x19,0xcb,0xc4,0x75,0x16,0xa3,0xcf,0x5c,0x3c,0x71,
0xca,0xfa,0x33,0x44,0xfa,0xc5,0x74,0x8f,0x7e,0x24,0x43,0xba,0xc8,0xf9,0x0b,0xa8,
0x37,0x7f,0xd4,0xf1,0x07,0x56,0xea,0xb7,0x53,0x51,0x55,0x93,0x8e,0x3a,0x17,0x67,
0x27,0x85,0xa8,0xcd,0x2f,0x27,0x4e,0xb5,0x9e,0xb2,0x3e,0x6c,0xdb,0x6a,0xfd,0xb7,
0xf4,0xef,0xf6,0x09,0x9c,0x8b,0xf7,0x34,0xb0,0xc2,0xb3,0xe0,0x12,0x77,0xdd,0xf7,
0x3d,0xf4,0x9a,0x97,0x6c,0xef,0x08,0x9c,0xcb,0x7b,0xf4,0x07,0x76,0x98,0xd1,0xff,
0x8d,0xed,0x9f,0x74,0xf7,0xcb,0x53,0x51,0x51,0x99,0xad,0xab,0x23,0xee,0xc4,0x27,
0xc8,0x6b,0x1f,0x38,0xfe,0x3d,0xa1,0xaf,0x9e,0xb7,0x35,0xda,0xee,0x0b,0xac,0x36,
0xb7,0x04,0x98,0xec,0xfd,0x6a,0xe2,0x89,0xf3,0x8f,0x97,0x1b,0x9b,0x7e,0x60,0x1d,
0x40,0x9c,0x67,0x3d,0x77,0x20,0x9d,0xb5,0xc3,0x0a,0xfd,0xa2,0x95,0xde,0x8f,0x4c,
0x45,0x55,0x8d,0x7a,0xb5,0xe7,0x54,0x2c,0x92,0xea,0xbc,0x04,0x71,0xa4,0x3a,0x50,
0x4f,0x7d,0xd1,0x06,0x31,0x67,0xbe,0x68,0xfd,0x8a,0xe5,0xee,0x13,0x6b,0xf2,0xcd,
0xec,0x69,0xda,0x3b,0x2f,0xfd,0x66,0xd3,0x47,0xd6,0x97,0x72,0xe6,0xe2,0x58,0xfb,
0x1e,0xc7,0x33,0xf6,0xef,0xd0,0xbb,0x91,0xa9,0xa8,0xaa,0x54,0xc7,0x5b,0xc2,0x91,
0x26,0xe4,0xb3,0xbf,0x8d,0xfa,0x72,0xf0,0xc7,0x81,0x5f,0xb8,0x31,0xed,0x5f,0xac,
0x33,0x5f,0x81,0x79,0xb8,0x65,0xd1,0x6b,0x4f,0xaf,0xbd,0xb1,0xa9,0x48,0xb2,0xf3,
0xd2,0x4b,0x4d,0x87,0x05,0xcf,0xfd,0x51,0xc4,0xf9,0x25,0x7b,0xc2,0xce,0x6e,0x3e,
0xd4,0xf0,0x2c,0xf5,0xd7,0xa9,0xa8,0xaa,0x56,0x47,0x5d,0x8b,0xf3,0x8f,0x5c,0x6a,
0x6c,0x78,0xd8,0x36,0x27,0x78,0xe3,0xd2,0xb8,0xfb,0x3d,0xfb,0x75,0xdb,0x77,0xbf,
0xbd,0x65,0x66,0x71,0x76,0x6b,0xf0,0x50,0x88,0x09,0x27,0x23,0x60,0xed,0xd1,0x53,
0xcc,0x29,0xe6,0xed,0xd7,0x7e,0xdb,0xf6,0x4e,0xc3,0x67,0x0d,0x47,0x36,0xa3,0xde,
0x7c,0xf3,0x6f,0x9b,0x42,0x8f,0x1c,0xa3,0xe7,0xd6,0xa8,0xa8,0xaa,0x5a,0x57,0x47,
0x3a,0x0e,0x3d,0x93,0x99,0x5b,0x13,0x29,0x87,0x3d,0xad,0x9d,0xf6,0xaf,0xd5,0x59,
0x9c,0x53,0xce,0x29,0xd7,0x65,0xd7,0x8d,0x46,0x9b,0x77,0x5f,0xcb,0x8b,0xbb,0x6e,
0x76,0x38,0xf7,0x0e,0xf5,0xbc,0x3f,0xd0,0xf0,0xed,0x83,0x9d,0x1f,0x3e,0xf5,0xe5,
0xd6,0xc5,0xaf,0x7e,0xe7,0x91,0x7b,0xf4,0x34,0x0b,0x15,0x55,0xd5,0xeb,0x4a,0xcf,
0xa9,0xa6,0xf1,0xf4,0x78,0xdb,0x97,0xa6,0x1c,0x4e,0xad,0x1e,0xb6,0xff,0xab,0xfa,
0x1f,0x39,0xff,0xb3,0xab,0xcb,0x09,0x66,0x5e,0x3a,0xa9,0xa8,0xa8,0x8c,0xeb,0x87,
0xbb,0xfa,0x1a,0x24,0x7f,0x7d,0x77,0x66,0x4d,0x3c,0x85,0x38,0x47,0xfd,0x39,0x3d,
0x95,0x42,0x45,0xb5,0x21,0xf4,0xa6,0xeb,0x7b,0xdb,0x76,0xdb,0x3f,0xb3,0x49,0x3d,
0xb9,0xb8,0x22,0xbe,0xc3,0x31,0x4e,0x39,0xa7,0xa2,0xda,0x40,0x3a,0xfb,0x8d,0x23,
0x9b,0x77,0xe7,0x50,0x0e,0x2b,0x65,0x13,0x94,0x73,0x2a,0xaa,0x0d,0xa4,0x17,0xbd,
0xbf,0x6d,0x7a,0x2f,0xed,0xaf,0x4b,0xfb,0xd5,0xf7,0x38,0xe6,0x29,0xe7,0x54,0x54,
0x1b,0x4a,0xc3,0x5f,0x09,0x6e,0x4e,0xc8,0x28,0x87,0x5d,0xac,0xef,0x52,0xce,0xa9,
0xa8,0x36,0x98,0x66,0xbe,0x34,0xfe,0xe5,0x1d,0x0e,0x36,0x73,0x26,0x05,0x4e,0x93,
0x3f,0x4b,0x39,0xa7,0xa2,0xda,0x58,0x72,0xfe,0xd3,0x17,0xdf,0xb6,0xed,0x71,0xec,
0x70,0x48,0x27,0x4c,0x29,0xe7,0x54,0x54,0x1b,0x51,0xf7,0x2c,0x3f,0xb5,0xee,0x40,
0x3d,0xf9,0x1e,0xc4,0xf9,0x7b,0x8e,0xcf,0x04,0xce,0x69,0x6c,0x47,0x2a,0xaa,0x8d,
0x26,0xaf,0x25,0x54,0x7f,0xd1,0x9e,0x10,0x22,0xc3,0x34,0x39,0x28,0xe7,0x54,0x54,
0x1b,0x55,0x7f,0x59,0x77,0xc7,0x96,0x70,0xbc,0xf0,0xd0,0xf3,0x8e,0x17,0x29,0xe7,
0x54,0x54,0x1b,0x56,0xdf,0xb7,0xfc,0xc4,0xfa,0x9e,0x63,0xb7,0x83,0x8e,0xcf,0xa9,
0xa8,0x36,0xb6,0x42,0xf5,0x3f,0xb1,0xde,0x30,0x9c,0x88,0xff,0x0f,0xa8,0x0b,0x24,
0x15,0x46,0x71,0x02,0x00};
#endif