3173 lines
636 KiB
C++
3173 lines
636 KiB
C++
//
|
|
//
|
|
// File Name : MCL_TRS_NABU.ino
|
|
// Used on :
|
|
// Author : Ted Fried, MicroCore Labs
|
|
// Creation : 12/25/2022
|
|
//
|
|
// Description:
|
|
// ============
|
|
//
|
|
// Zilog Z80 emulator, emulating a TRS-80, running in a NABU Computer
|
|
// Code runs on a Teensy 4.1.
|
|
//
|
|
//------------------------------------------------------------------------
|
|
//
|
|
// Modification History:
|
|
// =====================
|
|
//
|
|
// Revision 1 12/25/2022
|
|
// Initial revision
|
|
//
|
|
//
|
|
//------------------------------------------------------------------------
|
|
//
|
|
// Copyright (c) 2022 Ted Fried
|
|
//
|
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
// of this software and associated documentation files (the "Software"), to deal
|
|
// in the Software without restriction, including without limitation the rights
|
|
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
// copies of the Software, and to permit persons to whom the Software is
|
|
// furnished to do so, subject to the following conditions:
|
|
//
|
|
// The above copyright notice and this permission notice shall be included in all
|
|
// copies or substantial portions of the Software.
|
|
//
|
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
// SOFTWARE.
|
|
//
|
|
//------------------------------------------------------------------------
|
|
|
|
|
|
#include <stdio.h>
|
|
#include <stdint.h>
|
|
|
|
|
|
// Teensy 4.1 pin assignments
|
|
//
|
|
#define PIN_RESET 23 // In-Buffer 1/8
|
|
#define PIN_CLK 21 // In-Buffer 2/8
|
|
#define PIN_NMI 19 // In-Buffer 3/8
|
|
#define PIN_INTR 20 // In-Buffer 4/8
|
|
#define PIN_WAIT 22 // In-Buffer 5/8
|
|
|
|
#define PIN_M1 12 // Out-direct
|
|
#define PIN_HALT 24 // Out-direct
|
|
#define PIN_RD 25 // Out-direct
|
|
#define PIN_WR 26 // Out-direct
|
|
#define PIN_MREQ 27 // Out-direct
|
|
#define PIN_IOREQ 28 // Out-direct
|
|
#define PIN_RFSH 29 // Out-direct
|
|
|
|
|
|
#define PIN_ADDR15 30 // Out-direct
|
|
#define PIN_ADDR14 31 // Out-direct
|
|
#define PIN_ADDR13 32 // Out-direct
|
|
#define PIN_ADDR12 33 // Out-direct
|
|
#define PIN_ADDR11 34 // Out-direct
|
|
#define PIN_ADDR10 35 // Out-direct
|
|
#define PIN_ADDR9 36 // Out-direct
|
|
#define PIN_ADDR8 37 // Out-direct
|
|
|
|
#define PIN_AD7_OUT 10 // Out-Buffer
|
|
#define PIN_AD6_OUT 9 // Out-Buffer
|
|
#define PIN_AD5_OUT 8 // Out-Buffer
|
|
#define PIN_AD4_OUT 7 // Out-Buffer
|
|
#define PIN_AD3_OUT 6 // Out-Buffer
|
|
#define PIN_AD2_OUT 5 // Out-Buffer
|
|
#define PIN_AD1_OUT 4 // Out-Buffer
|
|
#define PIN_AD0_OUT 3 // Out-Buffer
|
|
#define PIN_DATA_OE_n 2 // Out-Buffer
|
|
#define PIN_ADDR_LATCH_n 11 // Out-direct
|
|
|
|
#define PIN_AD7_IN 39 // In-Buffer
|
|
#define PIN_AD6_IN 40 // In-Buffer
|
|
#define PIN_AD5_IN 41 // In-Buffer
|
|
#define PIN_AD4_IN 14 // In-Buffer
|
|
#define PIN_AD3_IN 15 // In-Buffer
|
|
#define PIN_AD2_IN 16 // In-Buffer
|
|
#define PIN_AD1_IN 17 // In-Buffer
|
|
#define PIN_AD0_IN 18 // In-Buffer
|
|
|
|
|
|
|
|
// --------------------------------------------------------------------------------------------------
|
|
// --------------------------------------------------------------------------------------------------
|
|
|
|
#define OPCODE_READ_M1 0x07
|
|
#define MEM_WRITE_BYTE 0x02
|
|
#define MEM_READ_BYTE 0x03
|
|
#define IO_WRITE_BYTE 0x04
|
|
#define IO_READ_BYTE 0x05
|
|
#define INTERRUPT_ACK 0x09
|
|
|
|
|
|
#define flag_s ( (register_f & 0x80)==0 ? 0 : 1 )
|
|
#define flag_z ( (register_f & 0x40)==0 ? 0 : 1 )
|
|
#define flag_h ( (register_f & 0x10)==0 ? 0 : 1 )
|
|
#define flag_p ( (register_f & 0x04)==0 ? 0 : 1 )
|
|
#define flag_n ( (register_f & 0x02)==0 ? 0 : 1 )
|
|
#define flag_c ( (register_f & 0x01)==0 ? 0 : 1 )
|
|
|
|
|
|
#define REGISTER_BC ( (register_b<<8) | register_c )
|
|
#define REGISTER_DE ( (register_d<<8) | register_e )
|
|
#define REGISTER_HL ( (register_h<<8) | register_l )
|
|
#define REGISTER_AF ( (register_a<<8) | register_f )
|
|
#define REGISTER_IX ( (register_ixh<<8) | register_ixl )
|
|
#define REGISTER_IY ( (register_iyh<<8) | register_iyl )
|
|
|
|
#define REG_BC 1
|
|
#define REG_DE 2
|
|
#define REG_HL 3
|
|
#define REG_AF 4
|
|
#define REG_IX 5
|
|
#define REG_IY 6
|
|
|
|
|
|
// --------------------------------------------------------------------------------------------------
|
|
// --------------------------------------------------------------------------------------------------
|
|
|
|
|
|
uint8_t clock_counter=0;
|
|
uint8_t pause_interrupts=0;
|
|
uint8_t temp8=0;
|
|
uint8_t opcode_byte=0;
|
|
uint8_t opcode_second_byte=0;
|
|
uint8_t debounce_refresh=0;
|
|
uint8_t last_instruction_set_a_prefix=0;
|
|
uint8_t and_opcode=0;
|
|
uint8_t prefix_dd=0;
|
|
uint8_t prefix_fd=0;
|
|
uint8_t prefix_cb=0;
|
|
uint8_t inc_dec=0;
|
|
uint8_t with_carry=0;
|
|
uint8_t CB_opcode=0;
|
|
uint8_t cp_opcode=0;
|
|
uint8_t halt_in_progress=0;
|
|
uint8_t assert_iack_type0=0;
|
|
uint8_t cb_prefix_offset=0;
|
|
uint8_t register_a = 0;
|
|
uint8_t register_b = 0;
|
|
uint8_t register_c = 0;
|
|
uint8_t register_d = 0;
|
|
uint8_t register_e = 0;
|
|
uint8_t register_f = 0;
|
|
uint8_t register_h = 0;
|
|
uint8_t register_l = 0;
|
|
uint8_t register_a2 = 0;
|
|
uint8_t register_b2 = 0;
|
|
uint8_t register_c2 = 0;
|
|
uint8_t register_d2 = 0;
|
|
uint8_t register_e2 = 0;
|
|
uint8_t register_f2 = 0;
|
|
uint8_t register_h2 = 0;
|
|
uint8_t register_l2 = 0;
|
|
uint8_t register_iff1 = 0;
|
|
uint8_t register_iff2 = 0;
|
|
uint8_t register_im = 0;
|
|
uint8_t register_i = 0;
|
|
uint8_t register_r = 0;
|
|
uint8_t register_ixh = 0;
|
|
uint8_t register_ixl = 0;
|
|
uint8_t register_iyh = 0;
|
|
uint8_t register_iyl = 0;
|
|
uint8_t special = 0;
|
|
uint8_t nmi_latched=0;
|
|
uint8_t mode=0;
|
|
|
|
uint16_t register_sp = 0;
|
|
uint16_t register_pc = 0;
|
|
uint16_t temp16=0;
|
|
|
|
uint32_t direct_nmi=0;
|
|
uint32_t direct_nmi_d=0;
|
|
uint32_t direct_wait=0;
|
|
uint32_t direct_intr=0;
|
|
uint32_t direct_reset=0;
|
|
uint32_t GPIO6_raw_data=0;
|
|
|
|
// TRS-80 Model I ROMs
|
|
uint8_t Internal_RAM[65536] = { 0xf3,0xaf,0xc3,0x74,0x6,0xc3,0x0,0x40,0xc3,0x0,0x40,0xe1,0xe9,0xc3,0x9f,0x6,0xc3,0x3,0x40,0xc5,0x6,0x1,0x18,0x2e,0xc3,0x6,0x40,0xc5,0x6,0x2,0x18,0x26,0xc3,0x9,0x40,0xc5,0x6,0x4,0x18,0x1e,0xc3,0xc,0x40,0x11,0x15,0x40,0x18,0xe3,0xc3,0xf,0x40,0x11,0x1d,0x40,0x18,0xe3,0xc3,0x12,0x40,0x11,0x25,0x40,0x18,0xdb,0xc3,0xd9,0x5,0xc9,0x0,0x0,0xc3,0xc2,0x3,0xcd,0x2b,0x0,0xb7,0xc0,0x18,0xf9,0xd,0xd,0x1f,0x1f,0x1,0x1,0x5b,0x1b,0xa,0x1a,0x8,0x18,0x9,0x19,0x20,0x20,0xb,0x78,0xb1,0x20,0xfb,0xc9,0x31,0x0,0x6,0x3a,0xec,0x37,0x3c,0xfe,0x2,0xd2,0x0,0x0,0xc3,0xcc,0x6,0x11,0x80,0x40,0x21,0xf7,0x18,0x1,0x27,0x0,0xed,0xb0,0x21,0xe5,0x41,0x36,0x3a,0x23,0x70,0x23,0x36,0x2c,0x23,0x22,0xa7,0x40,0x11,0x2d,0x1,0x6,0x1c,0x21,0x52,0x41,0x36,0xc3,0x23,0x73,0x23,0x72,0x23,0x10,0xf7,0x6,0x15,0x36,0xc9,0x23,0x23,0x23,0x10,0xf9,0x21,0xe8,0x42,0x70,0x31,0xf8,0x41,0xcd,0x8f,0x1b,0xcd,0xc9,0x1,0x21,0x5,0x1,0xcd,0xa7,0x28,0xcd,0xb3,0x1b,0x38,0xf5,0xd7,0xb7,0x20,0x12,0x21,0x4c,0x43,0x23,0x7c,0xb5,0x28,0x1b,0x7e,0x47,0x2f,0x77,0xbe,0x70,0x28,0xf3,0x18,0x11,0xcd,0x5a,0x1e,0xb7,0xc2,0x97,0x19,0xeb,0x2b,0x3e,0x8f,0x46,0x77,0xbe,0x70,0x20,0xce,0x2b,0x11,0x14,0x44,0xdf,0xda,0x7a,0x19,0x11,0xce,0xff,0x22,0xb1,0x40,0x19,0x22,0xa0,0x40,0xcd,0x4d,0x1b,0x21,0x11,0x1,0xcd,0xa7,0x28,0xc3,0x19,0x1a,0x4d,0x45,0x4d,0x4f,0x52,0x59,0x20,0x53,0x49,0x5a,0x45,0x0,0x52,0x41,0x44,0x49,0x4f,0x20,0x53,0x48,0x41,0x43,0x4b,0x20,0x4c,0x45,0x56,0x45,0x4c,0x20,0x49,0x49,0x20,0x42,0x41,0x53,0x49,0x43,0xd,0x0,0x1e,0x2c,0xc3,0xa2,0x19,0xd7,0xaf,0x1,0x3e,0x80,0x1,0x3e,0x1,0xf5,0xcf,0x28,0xcd,0x1c,0x2b,0xfe,0x80,0xd2,0x4a,0x1e,0xf5,0xcf,0x2c,0xcd,0x1c,0x2b,0xfe,0x30,0xd2,0x4a,0x1e,0x16,0xff,0x14,0xd6,0x3,0x30,0xfb,0xc6,0x3,0x4f,0xf1,0x87,0x5f,0x6,0x2,0x7a,0x1f,0x57,0x7b,0x1f,0x5f,0x10,0xf8,0x79,0x8f,0x3c,0x47,0xaf,0x37,0x8f,0x10,0xfd,0x4f,0x7a,0xf6,0x3c,0x57,0x1a,0xb7,0xfa,0x7c,0x1,0x3e,0x80,0x47,0xf1,0xb7,0x78,0x28,0x10,0x12,0xfa,0x8f,0x1,0x79,0x2f,0x4f,0x1a,0xa1,0x12,0xcf,0x29,0xc9,0xb1,0x18,0xf9,0xa1,0xc6,0xff,0x9f,0xe5,0xcd,0x8d,0x9,0xe1,0x18,0xef,0xd7,0xe5,0x3a,0x99,0x40,0xb7,0x20,0x6,0xcd,0x58,0x3,0xb7,0x28,0x11,0xf5,0xaf,0x32,0x99,0x40,0x3c,0xcd,0x57,0x28,0xf1,0x2a,0xd4,0x40,0x77,0xc3,0x84,0x28,0x21,0x28,0x19,0x22,0x21,0x41,0x3e,0x3,0x32,0xaf,0x40,0xe1,0xc9,0x3e,0x1c,0xcd,0x3a,0x3,0x3e,0x1f,0xc3,0x3a,0x3,0xed,0x5f,0x32,0xab,0x40,0xc9,0x21,0x1,0xfc,0xcd,0x21,0x2,0x6,0xb,0x10,0xfe,0x21,0x2,0xfc,0xcd,0x21,0x2,0x6,0xb,0x10,0xfe,0x21,0x0,0xfc,0xcd,0x21,0x2,0x6,0x5c,0x10,0xfe,0xc9,0xe5,0x21,0x0,0xfb,0x18,0x1b,0x7e,0xd6,0x23,0x3e,0x0,0x20,0xd,0xcd,0x1,0x2b,0xcf,0x2c,0x7b,0xa2,0xc6,0x2,0xd2,0x4a,0x1e,0x3d,0x32,0xe4,0x37,0xe5,0x21,0x4,0xff,0xcd,0x21,0x2,0xe1,0xc9,0x21,0x0,0xff,0x3a,0x3d,0x40,0xa4,0xb5,0xd3,0xff,0x32,0x3d,0x40,0xc9,0x3a,0x3f,0x3c,0xee,0xa,0x32,0x3f,0x3c,0xc9,0xc5,0xe5,0x6,0x8,0xcd,0x41,0x2,0x10,0xfb,0xe1,0xc1,0xc9,0xc5,0xf5,0xdb,0xff,0x17,0x30,0xfb,0x6,0x41,0x10,0xfe,0xcd,0x1e,0x2,0x6,0x76,0x10,0xfe,0xdb,0xff,0x47,0xf1,0xcb,0x10,0x17,0xf5,0xcd,0x1e,0x2,0xf1,0xc1,0xc9,0xcd,0x64,0x2,0xe5,0xc5,0xd5,0xf5,0xe,0x8,0x57,0xcd,0xd9,0x1,0x7a,0x7,0x57,0x30,0xb,0xcd,0xd9,0x1,0xd,0x20,0xf2,0xf1,0xd1,0xc1,0xe1,0xc9,0x6,0x87,0x10,0xfe,0x18,0xf2,0xcd,0xfe,0x1,0x6,0xff,0xaf,0xcd,0x64,0x2,0x10,0xfb,0x3e,0xa5,0x18,0xd1,0xcd,0xfe,0x1,0xe5,0xaf,0xcd,0x41,0x2,0xfe,0xa5,0x20,0xf9,0x3e,0x2a,0x32,0x3e,0x3c,0x32,0x3f,0x3c,0xe1,0xc9,0xcd,0x14,0x3,0x22,0xdf,0x40,0xcd,0xf8,0x1,0xcd,0xe2,0x41,0x31,0x88,0x42,0xcd,0xfe,0x20,0x3e,0x2a,0xcd,0x2a,0x3,0xcd,0xb3,0x1b,0xda,0xcc,0x6,0xd7,0xca,0x97,0x19,0xfe,0x2f,0x28,0x4f,0xcd,0x93,0x2,0xcd,0x35,0x2,0xfe,0x55,0x20,0xf9,0x6,0x6,0x7e,0xb7,0x28,0x9,0xcd,0x35,0x2,0xbe,0x20,0xed,0x23,0x10,0xf3,0xcd,0x2c,0x2,0xcd,0x35,0x2,0xfe,0x78,0x28,0xb8,0xfe,0x3c,0x20,0xf5,0xcd,0x35,0x2,0x47,0xcd,0x14,0x3,0x85,0x4f,0xcd,0x35,0x2,0x77,0x23,0x81,0x4f,0x10,0xf7,0xcd,0x35,0x2,0xb9,0x28,0xda,0x3e,0x43,0x32,0x3e,0x3c,0x18,0xd6,0xcd,0x35,0x2,0x6f,0xcd,0x35,0x2,0x67,0xc9,0xeb,0x2a,0xdf,0x40,0xeb,0xd7,0xc4,0x5a,0x1e,0x20,0x8a,0xeb,0xe9,0xc5,0x4f,0xcd,0xc1,0x41,0x3a,0x9c,0x40,0xb7,0x79,0xc1,0xfa,0x64,0x2,0x20,0x62,0xd5,0xcd,0x33,0x0,0xf5,0xcd,0x48,0x3,0x32,0xa6,0x40,0xf1,0xd1,0xc9,0x3a,0x3d,0x40,0xe6,0x8,0x3a,0x20,0x40,0x28,0x3,0xf,0xe6,0x1f,0xe6,0x3f,0xc9,0xcd,0xc4,0x41,0xd5,0xcd,0x2b,0x0,0xd1,0xc9,0xaf,0x32,0x99,0x40,0x32,0xa6,0x40,0xcd,0xaf,0x41,0xc5,0x2a,0xa7,0x40,0x6,0xf0,0xcd,0xd9,0x5,0xf5,0x48,0x6,0x0,0x9,0x36,0x0,0x2a,0xa7,0x40,0xf1,0xc1,0x2b,0xd8,0xaf,0xc9,0xcd,0x58,0x3,0xb7,0xc0,0x18,0xf9,0xaf,0x32,0x9c,0x40,0x3a,0x9b,0x40,0xb7,0xc8,0x3e,0xd,0xd5,0xcd,0x9c,0x3,0xd1,0xc9,0xf5,0xd5,0xc5,0x4f,0x1e,0x0,0xfe,0xc,0x28,0x10,0xfe,0xa,0x20,0x3,0x3e,0xd,0x4f,0xfe,0xd,0x28,0x5,0x3a,0x9b,0x40,0x3c,0x5f,0x7b,0x32,0x9b,0x40,0x79,0xcd,0x3b,0x0,0xc1,0xd1,0xf1,0xc9,0xe5,0xdd,0xe5,0xd5,0xdd,0xe1,0xd5,0x21,0xdd,0x3,0xe5,0x4f,0x1a,0xa0,0xb8,0xc2,0x33,0x40,0xfe,0x2,0xdd,0x6e,0x1,0xdd,0x66,0x2,0xe9,0xd1,0xdd,0xe1,0xe1,0xc1,0xc9,0x21,0x36,0x40,0x1,0x1,0x38,0x16,0x0,0xa,0x5f,0xae,0x73,0xa3,0x20,0x8,0x14,0x2c,0xcb,0x1,0xf2,0xeb,0x3,0xc9,0x5f,0x7a,0x7,0x7,0x7,0x57,0xe,0x1,0x79,0xa3,0x20,0x5,0x14,0xcb,0x1,0x18,0xf7,0x3a,0x80,0x38,0x47,0x7a,0xc6,0x40,0xfe,0x60,0x30,0x13,0xcb,0x8,0x30,0x31,0xc6,0x20,0x57,0x3a,0x40,0x38,0xe6,0x10,0x28,0x28,0x7a,0xd6,0x60,0x18,0x22,0xd6,0x70,0x30,0x10,0xc6,0x40,0xfe,0x3c,0x38,0x2,0xee,0x10,0xcb,0x8,0x30,0x12,0xee,0x10,0x18,0xe,0x7,0xcb,0x8,0x30,0x1,0x3c,0x21,0x50,0x0,0x4f,0x6,0x0,0x9,0x7e,0x57,0x1,0xac,0xd,0xcd,0x60,0x0,0x7a,0xfe,0x1,0xc0,0xef,0xc9,0xdd,0x6e,0x3,0xdd,0x66,0x4,0x38,0x3a,0xdd,0x7e,0x5,0xb7,0x28,0x1,0x77,0x79,0xfe,0x20,0xda,0x6,0x5,0xfe,0x80,0x30,0x35,0xfe,0x40,0x38,0x8,0xd6,0x40,0xfe,0x20,0x38,0x2,0xd6,0x20,0xcd,0x41,0x5,0x7c,0xe6,0x3,0xf6,0x3c,0x67,0x56,0xdd,0x7e,0x5,0xb7,0x28,0x5,0xdd,0x72,0x5,0x36,0x5f,0xdd,0x75,0x3,0xdd,0x74,0x4,0x79,0xc9,0xdd,0x7e,0x5,0xb7,0xc0,0x7e,0xc9,0x7d,0xe6,0xc0,0x6f,0xc9,0xfe,0xc0,0x38,0xd3,0xd6,0xc0,0x28,0xd2,0x47,0x3e,0x20,0xcd,0x41,0x5,0x10,0xf9,0x18,0xc8,0x7e,0xdd,0x77,0x5,0xc9,0xaf,0x18,0xf9,0x21,0x0,0x3c,0x3a,0x3d,0x40,0xe6,0xf7,0x32,0x3d,0x40,0xd3,0xff,0xc9,0x2b,0x3a,0x3d,0x40,0xe6,0x8,0x28,0x1,0x2b,0x36,0x20,0xc9,0x3a,0x3d,0x40,0xe6,0x8,0xc4,0xe2,0x4,0x7d,0xe6,0x3f,0x2b,0xc0,0x11,0x40,0x0,0x19,0xc9,0x23,0x7d,0xe6,0x3f,0xc0,0x11,0xc0,0xff,0x19,0xc9,0x3a,0x3d,0x40,0xf6,0x8,0x32,0x3d,0x40,0xd3,0xff,0x23,0x7d,0xe6,0xfe,0x6f,0xc9,0x11,0x80,0x4,0xd5,0xfe,0x8,0x28,0xc0,0xfe,0xa,0xd8,0xfe,0xe,0x38,0x4f,0x28,0xa1,0xfe,0xf,0x28,0xa2,0xfe,0x17,0x28,0xd7,0xfe,0x18,0x28,0xb7,0xfe,0x19,0x28,0xc5,0xfe,0x1a,0x28,0xbc,0xfe,0x1b,0x28,0xc2,0xfe,0x1c,0x28,0x8d,0xfe,0x1d,0xca,0xa1,0x4,0xfe,0x1e,0x28,0x37,0xfe,0x1f,0x28,0x3c,0xc9,0x77,0x23,0x3a,0x3d,0x40,0xe6,0x8,0x28,0x1,0x23,0x7c,0xfe,0x40,0xc0,0x11,0xc0,0xff,0x19,0xe5,0x11,0x0,0x3c,0x21,0x40,0x3c,0xc5,0x1,0xc0,0x3,0xed,0xb0,0xc1,0xeb,0x18,0x19,0x7d,0xe6,0xc0,0x6f,0xe5,0x11,0x40,0x0,0x19,0x7c,0xfe,0x40,0x28,0xe2,0xd1,0xe5,0x54,0x7d,0xf6,0x3f,0x5f,0x13,0x18,0x4,0xe5,0x11,0x0,0x40,0x36,0x20,0x23,0x7c,0xba,0x20,0xf9,0x7d,0xbb,0x20,0xf5,0xe1,0xc9,0x79,0xb7,0x28,0x40,0xfe,0xb,0x28,0xa,0xfe,0xc,0x20,0x1b,0xaf,0xdd,0xb6,0x3,0x28,0x15,0xdd,0x7e,0x3,0xdd,0x96,0x4,0x47,0xcd,0xd1,0x5,0x20,0xfb,0x3e,0xa,0x32,0xe8,0x37,0x10,0xf4,0x18,0x18,0xf5,0xcd,0xd1,0x5,0x20,0xfb,0xf1,0x32,0xe8,0x37,0xfe,0xd,0xc0,0xdd,0x34,0x4,0xdd,0x7e,0x4,0xdd,0xbe,0x3,0x79,0xc0,0xdd,0x36,0x4,0x0,0xc9,0x3a,0xe8,0x37,0xe6,0xf0,0xfe,0x30,0xc9,0xe5,0x3e,0xe,0xcd,0x33,0x0,0x48,0xcd,0x49,0x0,0xfe,0x20,0x30,0x25,0xfe,0xd,0xca,0x62,0x6,0xfe,0x1f,0x28,0x29,0xfe,0x1,0x28,0x6d,0x11,0xe0,0x5,0xd5,0xfe,0x8,0x28,0x34,0xfe,0x18,0x28,0x2b,0xfe,0x9,0x28,0x42,0xfe,0x19,0x28,0x39,0xfe,0xa,0xc0,0xd1,0x77,0x78,0xb7,0x28,0xcf,0x7e,0x23,0xcd,0x33,0x0,0x5,0x18,0xc7,0xcd,0xc9,0x1,0x41,0xe1,0xe5,0xc3,0xe0,0x5,0xcd,0x30,0x6,0x2b,0x7e,0x23,0xfe,0xa,0xc8,0x78,0xb9,0x20,0xf3,0xc9,0x78,0xb9,0xc8,0x2b,0x7e,0xfe,0xa,0x23,0xc8,0x2b,0x3e,0x8,0xcd,0x33,0x0,0x4,0xc9,0x3e,0x17,0xc3,0x33,0x0,0xcd,0x48,0x3,0xe6,0x7,0x2f,0x3c,0xc6,0x8,0x5f,0x78,0xb7,0xc8,0x3e,0x20,0x77,0x23,0xd5,0xcd,0x33,0x0,0xd1,0x5,0x1d,0xc8,0x18,0xef,0x37,0xf5,0x3e,0xd,0x77,0xcd,0x33,0x0,0x3e,0xf,0xcd,0x33,0x0,0x79,0x90,0x47,0xf1,0xe1,0xc9,0xd3,0xff,0x21,0xd2,0x6,0x11,0x0,0x40,0x1,0x36,0x0,0xed,0xb0,0x3d,0x3d,0x20,0xf1,0x6,0x27,0x12,0x13,0x10,0xfc,0x3a,0x40,0x38,0xe6,0x4,0xc2,0x75,0x0,0x31,0x7d,0x40,0x3a,0xec,0x37,0x3c,0xfe,0x2,0xda,0x75,0x0,0x3e,0x1,0x32,0xe1,0x37,0x21,0xec,0x37,0x11,0xef,0x37,0x36,0x3,0x1,0x0,0x0,0xcd,0x60,0x0,0xcb,0x46,0x20,0xfc,0xaf,0x32,0xee,0x37,0x1,0x0,0x42,0x3e,0x8c,0x77,0xcb,0x4e,0x28,0xfc,0x1a,0x2,0xc,0x20,0xf7,0xc3,0x0,0x42,0x1,0x18,0x1a,0xc3,0xae,0x19,0xc3,0x96,0x1c,0xc3,0x78,0x1d,0xc3,0x90,0x1c,0xc3,0xd9,0x25,0xc9,0x0,0x0,0xc9,0x0,0x0,0xfb,0xc9,0x0,0x1,0xe3,0x3,0x0,0x0,0x0,0x4b,0x49,0x7,0x58,0x4,0x0,0x3c,0x0,0x44,0x4f,0x6,0x8d,0x5,0x43,0x0,0x0,0x50,0x52,0xc3,0x0,0x50,0xc7,0x0,0x0,0x3e,0x0,0xc9,0x21,0x80,0x13,0xcd,0xc2,0x9,0x18,0x6,0xcd,0xc2,0x9,0xcd,0x82,0x9,0x78,0xb7,0xc8,0x3a,0x24,0x41,0xb7,0xca,0xb4,0x9,0x90,0x30,0xc,0x2f,0x3c,0xeb,0xcd,0xa4,0x9,0xeb,0xcd,0xb4,0x9,0xc1,0xd1,0xfe,0x19,0xd0,0xf5,0xcd,0xdf,0x9,0x67,0xf1,0xcd,0xd7,0x7,0xb4,0x21,0x21,0x41,0xf2,0x54,0x7,0xcd,0xb7,0x7,0xd2,0x96,0x7,0x23,0x34,0xca,0xb2,0x7,0x2e,0x1,0xcd,0xeb,0x7,0x18,0x42,0xaf,0x90,0x47,0x7e,0x9b,0x5f,0x23,0x7e,0x9a,0x57,0x23,0x7e,0x99,0x4f,0xdc,0xc3,0x7,0x68,0x63,0xaf,0x47,0x79,0xb7,0x20,0x18,0x4a,0x54,0x65,0x6f,0x78,0xd6,0x8,0xfe,0xe0,0x20,0xf0,0xaf,0x32,0x24,0x41,0xc9,0x5,0x29,0x7a,0x17,0x57,0x79,0x8f,0x4f,0xf2,0x7d,0x7,0x78,0x5c,0x45,0xb7,0x28,0x8,0x21,0x24,0x41,0x86,0x77,0x30,0xe3,0xc8,0x78,0x21,0x24,0x41,0xb7,0xfc,0xa8,0x7,0x46,0x23,0x7e,0xe6,0x80,0xa9,0x4f,0xc3,0xb4,0x9,0x1c,0xc0,0x14,0xc0,0xc,0xc0,0xe,0x80,0x34,0xc0,0x1e,0xa,0xc3,0xa2,0x19,0x7e,0x83,0x5f,0x23,0x7e,0x8a,0x57,0x23,0x7e,0x89,0x4f,0xc9,0x21,0x25,0x41,0x7e,0x2f,0x77,0xaf,0x6f,0x90,0x47,0x7d,0x9b,0x5f,0x7d,0x9a,0x57,0x7d,0x99,0x4f,0xc9,0x6,0x0,0xd6,0x8,0x38,0x7,0x43,0x5a,0x51,0xe,0x0,0x18,0xf5,0xc6,0x9,0x6f,0xaf,0x2d,0xc8,0x79,0x1f,0x4f,0x7a,0x1f,0x57,0x7b,0x1f,0x5f,0x78,0x1f,0x47,0x18,0xef,0x0,0x0,0x0,0x81,0x3,0xaa,0x56,0x19,0x80,0xf1,0x22,0x76,0x80,0x45,0xaa,0x38,0x82,0xcd,0x55,0x9,0xb7,0xea,0x4a,0x1e,0x21,0x24,0x41,0x7e,0x1,0x35,0x80,0x11,0xf3,0x4,0x90,0xf5,0x70,0xd5,0xc5,0xcd,0x16,0x7,0xc1,0xd1,0x4,0xcd,0xa2,0x8,0x21,0xf8,0x7,0xcd,0x10,0x7,0x21,0xfc,0x7,0xcd,0x9a,0x14,0x1,0x80,0x80,0x11,0x0,0x0,0xcd,0x16,0x7,0xf1,0xcd,0x89,0xf,0x1,0x31,0x80,0x11,0x18,0x72,0xcd,0x55,0x9,0xc8,0x2e,0x0,0xcd,0x14,0x9,0x79,0x32,0x4f,0x41,0xeb,0x22,0x50,0x41,0x1,0x0,0x0,0x50,0x58,0x21,0x65,0x7,0xe5,0x21,0x69,0x8,0xe5,0xe5,0x21,0x21,0x41,0x7e,0x23,0xb7,0x28,0x24,0xe5,0x2e,0x8,0x1f,0x67,0x79,0x30,0xb,0xe5,0x2a,0x50,0x41,0x19,0xeb,0xe1,0x3a,0x4f,0x41,0x89,0x1f,0x4f,0x7a,0x1f,0x57,0x7b,0x1f,0x5f,0x78,0x1f,0x47,0x2d,0x7c,0x20,0xe1,0xe1,0xc9,0x43,0x5a,0x51,0x4f,0xc9,0xcd,0xa4,0x9,0x21,0xd8,0xd,0xcd,0xb1,0x9,0xc1,0xd1,0xcd,0x55,0x9,0xca,0x9a,0x19,0x2e,0xff,0xcd,0x14,0x9,0x34,0x34,0x2b,0x7e,0x32,0x89,0x40,0x2b,0x7e,0x32,0x85,0x40,0x2b,0x7e,0x32,0x81,0x40,0x41,0xeb,0xaf,0x4f,0x57,0x5f,0x32,0x8c,0x40,0xe5,0xc5,0x7d,0xcd,0x80,0x40,0xde,0x0,0x3f,0x30,0x7,0x32,0x8c,0x40,0xf1,0xf1,0x37,0xd2,0xc1,0xe1,0x79,0x3c,0x3d,0x1f,0xfa,0x97,0x7,0x17,0x7b,0x17,0x5f,0x7a,0x17,0x57,0x79,0x17,0x4f,0x29,0x78,0x17,0x47,0x3a,0x8c,0x40,0x17,0x32,0x8c,0x40,0x79,0xb2,0xb3,0x20,0xcb,0xe5,0x21,0x24,0x41,0x35,0xe1,0x20,0xc3,0xc3,0xb2,0x7,0x3e,0xff,0x2e,0xaf,0x21,0x2d,0x41,0x4e,0x23,0xae,0x47,0x2e,0x0,0x78,0xb7,0x28,0x1f,0x7d,0x21,0x24,0x41,0xae,0x80,0x47,0x1f,0xa8,0x78,0xf2,0x36,0x9,0xc6,0x80,0x77,0xca,0x90,0x8,0xcd,0xdf,0x9,0x77,0x2b,0xc9,0xcd,0x55,0x9,0x2f,0xe1,0xb7,0xe1,0xf2,0x78,0x7,0xc3,0xb2,0x7,0xcd,0xbf,0x9,0x78,0xb7,0xc8,0xc6,0x2,0xda,0xb2,0x7,0x47,0xcd,0x16,0x7,0x21,0x24,0x41,0x34,0xc0,0xc3,0xb2,0x7,0x3a,0x24,0x41,0xb7,0xc8,0x3a,0x23,0x41,0xfe,0x2f,0x17,0x9f,0xc0,0x3c,0xc9,0x6,0x88,0x11,0x0,0x0,0x21,0x24,0x41,0x4f,0x70,0x6,0x0,0x23,0x36,0x80,0x17,0xc3,0x62,0x7,0xcd,0x94,0x9,0xf0,0xe7,0xfa,0x5b,0xc,0xca,0xf6,0xa,0x21,0x23,0x41,0x7e,0xee,0x80,0x77,0xc9,0xcd,0x94,0x9,0x6f,0x17,0x9f,0x67,0xc3,0x9a,0xa,0xe7,0xca,0xf6,0xa,0xf2,0x55,0x9,0x2a,0x21,0x41,0x7c,0xb5,0xc8,0x7c,0x18,0xbb,0xeb,0x2a,0x21,0x41,0xe3,0xe5,0x2a,0x23,0x41,0xe3,0xe5,0xeb,0xc9,0xcd,0xc2,0x9,0xeb,0x22,0x21,0x41,0x60,0x69,0x22,0x23,0x41,0xeb,0xc9,0x21,0x21,0x41,0x5e,0x23,0x56,0x23,0x4e,0x23,0x46,0x23,0xc9,0x11,0x21,0x41,0x6,0x4,0x18,0x5,0xeb,0x3a,0xaf,0x40,0x47,0x1a,0x77,0x13,0x23,0x5,0x20,0xf9,0xc9,0x21,0x23,0x41,0x7e,0x7,0x37,0x1f,0x77,0x3f,0x1f,0x23,0x23,0x77,0x79,0x7,0x37,0x1f,0x4f,0x1f,0xae,0xc9,0x21,0x27,0x41,0x11,0xd2,0x9,0x18,0x6,0x21,0x27,0x41,0x11,0xd3,0x9,0xd5,0x11,0x21,0x41,0xe7,0xd8,0x11,0x1d,0x41,0xc9,0x78,0xb7,0xca,0x55,0x9,0x21,0x5e,0x9,0xe5,0xcd,0x55,0x9,0x79,0xc8,0x21,0x23,0x41,0xae,0x79,0xf8,0xcd,0x26,0xa,0x1f,0xa9,0xc9,0x23,0x78,0xbe,0xc0,0x2b,0x79,0xbe,0xc0,0x2b,0x7a,0xbe,0xc0,0x2b,0x7b,0x96,0xc0,0xe1,0xe1,0xc9,0x7a,0xac,0x7c,0xfa,0x5f,0x9,0xba,0xc2,0x60,0x9,0x7d,0x93,0xc2,0x60,0x9,0xc9,0x21,0x27,0x41,0xcd,0xd3,0x9,0x11,0x2e,0x41,0x1a,0xb7,0xca,0x55,0x9,0x21,0x5e,0x9,0xe5,0xcd,0x55,0x9,0x1b,0x1a,0x4f,0xc8,0x21,0x23,0x41,0xae,0x79,0xf8,0x13,0x23,0x6,0x8,0x1a,0x96,0xc2,0x23,0xa,0x1b,0x2b,0x5,0x20,0xf6,0xc1,0xc9,0xcd,0x4f,0xa,0xc2,0x5e,0x9,0xc9,0xe7,0x2a,0x21,0x41,0xf8,0xca,0xf6,0xa,0xd4,0xb9,0xa,0x21,0xb2,0x7,0xe5,0x3a,0x24,0x41,0xfe,0x90,0x30,0xe,0xcd,0xfb,0xa,0xeb,0xd1,0x22,0x21,0x41,0x3e,0x2,0x32,0xaf,0x40,0xc9,0x1,0x80,0x90,0x11,0x0,0x0,0xcd,0xc,0xa,0xc0,0x61,0x6a,0x18,0xe8,0xe7,0xe0,0xfa,0xcc,0xa,0xca,0xf6,0xa,0xcd,0xbf,0x9,0xcd,0xef,0xa,0x78,0xb7,0xc8,0xcd,0xdf,0x9,0x21,0x20,0x41,0x46,0xc3,0x96,0x7,0x2a,0x21,0x41,0xcd,0xef,0xa,0x7c,0x55,0x1e,0x0,0x6,0x90,0xc3,0x69,0x9,0xe7,0xd0,0xca,0xf6,0xa,0xfc,0xcc,0xa,0x21,0x0,0x0,0x22,0x1d,0x41,0x22,0x1f,0x41,0x3e,0x8,0x1,0x3e,0x4,0xc3,0x9f,0xa,0xe7,0xc8,0x1e,0x18,0xc3,0xa2,0x19,0x47,0x4f,0x57,0x5f,0xb7,0xc8,0xe5,0xcd,0xbf,0x9,0xcd,0xdf,0x9,0xae,0x67,0xfc,0x1f,0xb,0x3e,0x98,0x90,0xcd,0xd7,0x7,0x7c,0x17,0xdc,0xa8,0x7,0x6,0x0,0xdc,0xc3,0x7,0xe1,0xc9,0x1b,0x7a,0xa3,0x3c,0xc0,0xb,0xc9,0xe7,0xf8,0xcd,0x55,0x9,0xf2,0x37,0xb,0xcd,0x82,0x9,0xcd,0x37,0xb,0xc3,0x7b,0x9,0xe7,0xf8,0x30,0x1e,0x28,0xb9,0xcd,0x8e,0xa,0x21,0x24,0x41,0x7e,0xfe,0x98,0x3a,0x21,0x41,0xd0,0x7e,0xcd,0xfb,0xa,0x36,0x98,0x7b,0xf5,0x79,0x17,0xcd,0x62,0x7,0xf1,0xc9,0x21,0x24,0x41,0x7e,0xfe,0x90,0xda,0x7f,0xa,0x20,0x14,0x4f,0x2b,0x7e,0xee,0x80,0x6,0x6,0x2b,0xb6,0x5,0x20,0xfb,0xb7,0x21,0x0,0x80,0xca,0x9a,0xa,0x79,0xfe,0xb8,0xd0,0xf5,0xcd,0xbf,0x9,0xcd,0xdf,0x9,0xae,0x2b,0x36,0xb8,0xf5,0xfc,0xa0,0xb,0x21,0x23,0x41,0x3e,0xb8,0x90,0xcd,0x69,0xd,0xf1,0xfc,0x20,0xd,0xaf,0x32,0x1c,0x41,0xf1,0xd0,0xc3,0xd8,0xc,0x21,0x1d,0x41,0x7e,0x35,0xb7,0x23,0x28,0xfa,0xc9,0xe5,0x21,0x0,0x0,0x78,0xb1,0x28,0x12,0x3e,0x10,0x29,0xda,0x3d,0x27,0xeb,0x29,0xeb,0x30,0x4,0x9,0xda,0x3d,0x27,0x3d,0x20,0xf0,0xeb,0xe1,0xc9,0x7c,0x17,0x9f,0x47,0xcd,0x51,0xc,0x79,0x98,0x18,0x3,0x7c,0x17,0x9f,0x47,0xe5,0x7a,0x17,0x9f,0x19,0x88,0xf,0xac,0xf2,0x99,0xa,0xc5,0xeb,0xcd,0xcf,0xa,0xf1,0xe1,0xcd,0xa4,0x9,0xeb,0xcd,0x6b,0xc,0xc3,0x8f,0xf,0x7c,0xb5,0xca,0x9a,0xa,0xe5,0xd5,0xcd,0x45,0xc,0xc5,0x44,0x4d,0x21,0x0,0x0,0x3e,0x10,0x29,0x38,0x1f,0xeb,0x29,0xeb,0x30,0x4,0x9,0xda,0x26,0xc,0x3d,0x20,0xf1,0xc1,0xd1,0x7c,0xb7,0xfa,0x1f,0xc,0xd1,0x78,0xc3,0x4d,0xc,0xee,0x80,0xb5,0x28,0x13,0xeb,0x1,0xc1,0xe1,0xcd,0xcf,0xa,0xe1,0xcd,0xa4,0x9,0xcd,0xcf,0xa,0xc1,0xd1,0xc3,0x47,0x8,0x78,0xb7,0xc1,0xfa,0x9a,0xa,0xd5,0xcd,0xcf,0xa,0xd1,0xc3,0x82,0x9,0x7c,0xaa,0x47,0xcd,0x4c,0xc,0xeb,0x7c,0xb7,0xf2,0x9a,0xa,0xaf,0x4f,0x95,0x6f,0x79,0x9c,0x67,0xc3,0x9a,0xa,0x2a,0x21,0x41,0xcd,0x51,0xc,0x7c,0xee,0x80,0xb5,0xc0,0xeb,0xcd,0xef,0xa,0xaf,0x6,0x98,0xc3,0x69,0x9,0x21,0x2d,0x41,0x7e,0xee,0x80,0x77,0x21,0x2e,0x41,0x7e,0xb7,0xc8,0x47,0x2b,0x4e,0x11,0x24,0x41,0x1a,0xb7,0xca,0xf4,0x9,0x90,0x30,0x16,0x2f,0x3c,0xf5,0xe,0x8,0x23,0xe5,0x1a,0x46,0x77,0x78,0x12,0x1b,0x2b,0xd,0x20,0xf6,0xe1,0x46,0x2b,0x4e,0xf1,0xfe,0x39,0xd0,0xf5,0xcd,0xdf,0x9,0x23,0x36,0x0,0x47,0xf1,0x21,0x2d,0x41,0xcd,0x69,0xd,0x3a,0x26,0x41,0x32,0x1c,0x41,0x78,0xb7,0xf2,0xcf,0xc,0xcd,0x33,0xd,0xd2,0xe,0xd,0xeb,0x34,0xca,0xb2,0x7,0xcd,0x90,0xd,0xc3,0xe,0xd,0xcd,0x45,0xd,0x21,0x25,0x41,0xdc,0x57,0xd,0xaf,0x47,0x3a,0x23,0x41,0xb7,0x20,0x1e,0x21,0x1c,0x41,0xe,0x8,0x56,0x77,0x7a,0x23,0xd,0x20,0xf9,0x78,0xd6,0x8,0xfe,0xc0,0x20,0xe6,0xc3,0x78,0x7,0x5,0x21,0x1c,0x41,0xcd,0x97,0xd,0xb7,0xf2,0xf6,0xc,0x78,0xb7,0x28,0x9,0x21,0x24,0x41,0x86,0x77,0xd2,0x78,0x7,0xc8,0x3a,0x1c,0x41,0xb7,0xfc,0x20,0xd,0x21,0x25,0x41,0x7e,0xe6,0x80,0x2b,0x2b,0xae,0x77,0xc9,0x21,0x1d,0x41,0x6,0x7,0x34,0xc0,0x23,0x5,0x20,0xfa,0x34,0xca,0xb2,0x7,0x2b,0x36,0x80,0xc9,0x21,0x27,0x41,0x11,0x1d,0x41,0xe,0x7,0xaf,0x1a,0x8e,0x12,0x13,0x23,0xd,0x20,0xf8,0xc9,0x21,0x27,0x41,0x11,0x1d,0x41,0xe,0x7,0xaf,0x1a,0x9e,0x12,0x13,0x23,0xd,0x20,0xf8,0xc9,0x7e,0x2f,0x77,0x21,0x1c,0x41,0x6,0x8,0xaf,0x4f,0x79,0x9e,0x77,0x23,0x5,0x20,0xf9,0xc9,0x71,0xe5,0xd6,0x8,0x38,0xe,0xe1,0xe5,0x11,0x0,0x8,0x4e,0x73,0x59,0x2b,0x15,0x20,0xf9,0x18,0xee,0xc6,0x9,0x57,0xaf,0xe1,0x15,0xc8,0xe5,0x1e,0x8,0x7e,0x1f,0x77,0x2b,0x1d,0x20,0xf9,0x18,0xf0,0x21,0x23,0x41,0x16,0x1,0x18,0xed,0xe,0x8,0x7e,0x17,0x77,0x23,0xd,0x20,0xf9,0xc9,0xcd,0x55,0x9,0xc8,0xcd,0xa,0x9,0xcd,0x39,0xe,0x71,0x13,0x6,0x7,0x1a,0x13,0xb7,0xd5,0x28,0x17,0xe,0x8,0xc5,0x1f,0x47,0xdc,0x33,0xd,0xcd,0x90,0xd,0x78,0xc1,0xd,0x20,0xf2,0xd1,0x5,0x20,0xe6,0xc3,0xd8,0xc,0x21,0x23,0x41,0xcd,0x70,0xd,0x18,0xf1,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x84,0x11,0xd4,0xd,0x21,0x27,0x41,0xcd,0xd3,0x9,0x3a,0x2e,0x41,0xb7,0xca,0x9a,0x19,0xcd,0x7,0x9,0x34,0x34,0xcd,0x39,0xe,0x21,0x51,0x41,0x71,0x41,0x11,0x4a,0x41,0x21,0x27,0x41,0xcd,0x4b,0xd,0x1a,0x99,0x3f,0x38,0xb,0x11,0x4a,0x41,0x21,0x27,0x41,0xcd,0x39,0xd,0xaf,0xda,0x12,0x4,0x3a,0x23,0x41,0x3c,0x3d,0x1f,0xfa,0x11,0xd,0x17,0x21,0x1d,0x41,0xe,0x7,0xcd,0x99,0xd,0x21,0x4a,0x41,0xcd,0x97,0xd,0x78,0xb7,0x20,0xc9,0x21,0x24,0x41,0x35,0x20,0xc3,0xc3,0xb2,0x7,0x79,0x32,0x2d,0x41,0x2b,0x11,0x50,0x41,0x1,0x0,0x7,0x7e,0x12,0x71,0x1b,0x2b,0x5,0x20,0xf8,0xc9,0xcd,0xfc,0x9,0xeb,0x2b,0x7e,0xb7,0xc8,0xc6,0x2,0xda,0xb2,0x7,0x77,0xe5,0xcd,0x77,0xc,0xe1,0x34,0xc0,0xc3,0xb2,0x7,0xcd,0x78,0x7,0xcd,0xec,0xa,0xf6,0xaf,0xeb,0x1,0xff,0x0,0x60,0x68,0xcc,0x9a,0xa,0xeb,0x7e,0xfe,0x2d,0xf5,0xca,0x83,0xe,0xfe,0x2b,0x28,0x1,0x2b,0xd7,0xda,0x29,0xf,0xfe,0x2e,0xca,0xe4,0xe,0xfe,0x45,0x28,0x14,0xfe,0x25,0xca,0xee,0xe,0xfe,0x23,0xca,0xf5,0xe,0xfe,0x21,0xca,0xf6,0xe,0xfe,0x44,0x20,0x24,0xb7,0xcd,0xfb,0xe,0xe5,0x21,0xbd,0xe,0xe3,0xd7,0x15,0xfe,0xce,0xc8,0xfe,0x2d,0xc8,0x14,0xfe,0xcd,0xc8,0xfe,0x2b,0xc8,0x2b,0xf1,0xd7,0xda,0x94,0xf,0x14,0x20,0x3,0xaf,0x93,0x5f,0xe5,0x7b,0x90,0xf4,0xa,0xf,0xfc,0x18,0xf,0x20,0xf8,0xe1,0xf1,0xe5,0xcc,0x7b,0x9,0xe1,0xe7,0xe8,0xe5,0x21,0x90,0x8,0xe5,0xcd,0xa3,0xa,0xc9,0xe7,0xc,0x20,0xdf,0xdc,0xfb,0xe,0xc3,0x83,0xe,0xe7,0xf2,0x97,0x19,0x23,0x18,0xd2,0xb7,0xcd,0xfb,0xe,0x18,0xf7,0xe5,0xd5,0xc5,0xf5,0xcc,0xb1,0xa,0xf1,0xc4,0xdb,0xa,0xc1,0xd1,0xe1,0xc9,0xc8,0xf5,0xe7,0xf5,0xe4,0x3e,0x9,0xf1,0xec,0x4d,0xe,0xf1,0x3d,0xc9,0xd5,0xe5,0xf5,0xe7,0xf5,0xe4,0x97,0x8,0xf1,0xec,0xdc,0xd,0xf1,0xe1,0xd1,0x3c,0xc9,0xd5,0x78,0x89,0x47,0xc5,0xe5,0x7e,0xd6,0x30,0xf5,0xe7,0xf2,0x5d,0xf,0x2a,0x21,0x41,0x11,0xcd,0xc,0xdf,0x30,0x19,0x54,0x5d,0x29,0x29,0x19,0x29,0xf1,0x4f,0x9,0x7c,0xb7,0xfa,0x57,0xf,0x22,0x21,0x41,0xe1,0xc1,0xd1,0xc3,0x83,0xe,0x79,0xf5,0xcd,0xcc,0xa,0x37,0x30,0x18,0x1,0x74,0x94,0x11,0x0,0x24,0xcd,0xc,0xa,0xf2,0x74,0xf,0xcd,0x3e,0x9,0xf1,0xcd,0x89,0xf,0x18,0xdd,0xcd,0xe3,0xa,0xcd,0x4d,0xe,0xcd,0xfc,0x9,0xf1,0xcd,0x64,0x9,0xcd,0xe3,0xa,0xcd,0x77,0xc,0x18,0xc8,0xcd,0xa4,0x9,0xcd,0x64,0x9,0xc1,0xd1,0xc3,0x16,0x7,0x7b,0xfe,0xa,0x30,0x9,0x7,0x7,0x83,0x7,0x86,0xd6,0x30,0x5f,0xfa,0x1e,0x32,0xc3,0xbd,0xe,0xe5,0x21,0x24,0x19,0xcd,0xa7,0x28,0xe1,0xcd,0x9a,0xa,0xaf,0xcd,0x34,0x10,0xb6,0xcd,0xd9,0xf,0xc3,0xa6,0x28,0xaf,0xcd,0x34,0x10,0xe6,0x8,0x28,0x2,0x36,0x2b,0xeb,0xcd,0x94,0x9,0xeb,0xf2,0xd9,0xf,0x36,0x2d,0xc5,0xe5,0xcd,0x7b,0x9,0xe1,0xc1,0xb4,0x23,0x36,0x30,0x3a,0xd8,0x40,0x57,0x17,0x3a,0xaf,0x40,0xda,0x9a,0x10,0xca,0x92,0x10,0xfe,0x4,0xd2,0x3d,0x10,0x1,0x0,0x0,0xcd,0x2f,0x13,0x21,0x30,0x41,0x46,0xe,0x20,0x3a,0xd8,0x40,0x5f,0xe6,0x20,0x28,0x7,0x78,0xb9,0xe,0x2a,0x20,0x1,0x41,0x71,0xd7,0x28,0x14,0xfe,0x45,0x28,0x10,0xfe,0x44,0x28,0xc,0xfe,0x30,0x28,0xf0,0xfe,0x2c,0x28,0xec,0xfe,0x2e,0x20,0x3,0x2b,0x36,0x30,0x7b,0xe6,0x10,0x28,0x3,0x2b,0x36,0x24,0x7b,0xe6,0x4,0xc0,0x2b,0x70,0xc9,0x32,0xd8,0x40,0x21,0x30,0x41,0x36,0x20,0xc9,0xfe,0x5,0xe5,0xde,0x0,0x17,0x57,0x14,0xcd,0x1,0x12,0x1,0x0,0x3,0x82,0xfa,0x57,0x10,0x14,0xba,0x30,0x4,0x3c,0x47,0x3e,0x2,0xd6,0x2,0xe1,0xf5,0xcd,0x91,0x12,0x36,0x30,0xcc,0xc9,0x9,0xcd,0xa4,0x12,0x2b,0x7e,0xfe,0x30,0x28,0xfa,0xfe,0x2e,0xc4,0xc9,0x9,0xf1,0x28,0x1f,0xf5,0xe7,0x3e,0x22,0x8f,0x77,0x23,0xf1,0x36,0x2b,0xf2,0x85,0x10,0x36,0x2d,0x2f,0x3c,0x6,0x2f,0x4,0xd6,0xa,0x30,0xfb,0xc6,0x3a,0x23,0x70,0x23,0x77,0x23,0x36,0x0,0xeb,0x21,0x30,0x41,0xc9,0x23,0xc5,0xfe,0x4,0x7a,0xd2,0x9,0x11,0x1f,0xda,0xa3,0x11,0x1,0x3,0x6,0xcd,0x89,0x12,0xd1,0x7a,0xd6,0x5,0xf4,0x69,0x12,0xcd,0x2f,0x13,0x7b,0xb7,0xcc,0x2f,0x9,0x3d,0xf4,0x69,0x12,0xe5,0xcd,0xf5,0xf,0xe1,0x28,0x2,0x70,0x23,0x36,0x0,0x21,0x2f,0x41,0x23,0x3a,0xf3,0x40,0x95,0x92,0xc8,0x7e,0xfe,0x20,0x28,0xf4,0xfe,0x2a,0x28,0xf0,0x2b,0xe5,0xf5,0x1,0xdf,0x10,0xc5,0xd7,0xfe,0x2d,0xc8,0xfe,0x2b,0xc8,0xfe,0x24,0xc8,0xc1,0xfe,0x30,0x20,0xf,0x23,0xd7,0x30,0xb,0x2b,0x1,0x2b,0x77,0xf1,0x28,0xfb,0xc1,0xc3,0xce,0x10,0xf1,0x28,0xfd,0xe1,0x36,0x25,0xc9,0xe5,0x1f,0xda,0xaa,0x11,0x28,0x14,0x11,0x84,0x13,0xcd,0x49,0xa,0x16,0x10,0xfa,0x32,0x11,0xe1,0xc1,0xcd,0xbd,0xf,0x2b,0x36,0x25,0xc9,0x1,0xe,0xb6,0x11,0xca,0x1b,0xcd,0xc,0xa,0xf2,0x1b,0x11,0x16,0x6,0xcd,0x55,0x9,0xc4,0x1,0x12,0xe1,0xc1,0xfa,0x57,0x11,0xc5,0x5f,0x78,0x92,0x93,0xf4,0x69,0x12,0xcd,0x7d,0x12,0xcd,0xa4,0x12,0xb3,0xc4,0x77,0x12,0xb3,0xc4,0x91,0x12,0xd1,0xc3,0xb6,0x10,0x5f,0x79,0xb7,0xc4,0x16,0xf,0x83,0xfa,0x62,0x11,0xaf,0xc5,0xf5,0xfc,0x18,0xf,0xfa,0x64,0x11,0xc1,0x7b,0x90,0xc1,0x5f,0x82,0x78,0xfa,0x7f,0x11,0x92,0x93,0xf4,0x69,0x12,0xc5,0xcd,0x7d,0x12,0x18,0x11,0xcd,0x69,0x12,0x79,0xcd,0x94,0x12,0x4f,0xaf,0x92,0x93,0xcd,0x69,0x12,0xc5,0x47,0x4f,0xcd,0xa4,0x12,0xc1,0xb1,0x20,0x3,0x2a,0xf3,0x40,0x83,0x3d,0xf4,0x69,0x12,0x50,0xc3,0xbf,0x10,0xe5,0xd5,0xcd,0xcc,0xa,0xd1,0xaf,0xca,0xb0,0x11,0x1e,0x10,0x1,0x1e,0x6,0xcd,0x55,0x9,0x37,0xc4,0x1,0x12,0xe1,0xc1,0xf5,0x79,0xb7,0xf5,0xc4,0x16,0xf,0x80,0x4f,0x7a,0xe6,0x4,0xfe,0x1,0x9f,0x57,0x81,0x4f,0x93,0xf5,0xc5,0xfc,0x18,0xf,0xfa,0xd0,0x11,0xc1,0xf1,0xc5,0xf5,0xfa,0xde,0x11,0xaf,0x2f,0x3c,0x80,0x3c,0x82,0x47,0xe,0x0,0xcd,0xa4,0x12,0xf1,0xf4,0x71,0x12,0xc1,0xf1,0xcc,0x2f,0x9,0xf1,0x38,0x3,0x83,0x90,0x92,0xc5,0xcd,0x74,0x10,0xeb,0xd1,0xc3,0xbf,0x10,0xd5,0xaf,0xf5,0xe7,0xe2,0x22,0x12,0x3a,0x24,0x41,0xfe,0x91,0xd2,0x22,0x12,0x11,0x64,0x13,0x21,0x27,0x41,0xcd,0xd3,0x9,0xcd,0xa1,0xd,0xf1,0xd6,0xa,0xf5,0x18,0xe6,0xcd,0x4f,0x12,0xe7,0x30,0xb,0x1,0x43,0x91,0x11,0xf9,0x4f,0xcd,0xc,0xa,0x18,0x6,0x11,0x6c,0x13,0xcd,0x49,0xa,0xf2,0x4b,0x12,0xf1,0xcd,0xb,0xf,0xf5,0x18,0xe2,0xf1,0xcd,0x18,0xf,0xf5,0xcd,0x4f,0x12,0xf1,0xb7,0xd1,0xc9,0xe7,0xea,0x5e,0x12,0x1,0x74,0x94,0x11,0xf8,0x23,0xcd,0xc,0xa,0x18,0x6,0x11,0x74,0x13,0xcd,0x49,0xa,0xe1,0xf2,0x43,0x12,0xe9,0xb7,0xc8,0x3d,0x36,0x30,0x23,0x18,0xf9,0x20,0x4,0xc8,0xcd,0x91,0x12,0x36,0x30,0x23,0x3d,0x18,0xf6,0x7b,0x82,0x3c,0x47,0x3c,0xd6,0x3,0x30,0xfc,0xc6,0x5,0x4f,0x3a,0xd8,0x40,0xe6,0x40,0xc0,0x4f,0xc9,0x5,0x20,0x8,0x36,0x2e,0x22,0xf3,0x40,0x23,0x48,0xc9,0xd,0xc0,0x36,0x2c,0x23,0xe,0x3,0xc9,0xd5,0xe7,0xe2,0xea,0x12,0xc5,0xe5,0xcd,0xfc,0x9,0x21,0x7c,0x13,0xcd,0xf7,0x9,0xcd,0x77,0xc,0xaf,0xcd,0x7b,0xb,0xe1,0xc1,0x11,0x8c,0x13,0x3e,0xa,0xcd,0x91,0x12,0xc5,0xf5,0xe5,0xd5,0x6,0x2f,0x4,0xe1,0xe5,0xcd,0x48,0xd,0x30,0xf8,0xe1,0xcd,0x36,0xd,0xeb,0xe1,0x70,0x23,0xf1,0xc1,0x3d,0x20,0xe2,0xc5,0xe5,0x21,0x1d,0x41,0xcd,0xb1,0x9,0x18,0xc,0xc5,0xe5,0xcd,0x8,0x7,0x3c,0xcd,0xfb,0xa,0xcd,0xb4,0x9,0xe1,0xc1,0xaf,0x11,0xd2,0x13,0x3f,0xcd,0x91,0x12,0xc5,0xf5,0xe5,0xd5,0xcd,0xbf,0x9,0xe1,0x6,0x2f,0x4,0x7b,0x96,0x5f,0x23,0x7a,0x9e,0x57,0x23,0x79,0x9e,0x4f,0x2b,0x2b,0x30,0xf0,0xcd,0xb7,0x7,0x23,0xcd,0xb4,0x9,0xeb,0xe1,0x70,0x23,0xf1,0xc1,0x38,0xd3,0x13,0x13,0x3e,0x4,0x18,0x6,0xd5,0x11,0xd8,0x13,0x3e,0x5,0xcd,0x91,0x12,0xc5,0xf5,0xe5,0xeb,0x4e,0x23,0x46,0xc5,0x23,0xe3,0xeb,0x2a,0x21,0x41,0x6,0x2f,0x4,0x7d,0x93,0x6f,0x7c,0x9a,0x67,0x30,0xf7,0x19,0x22,0x21,0x41,0xd1,0xe1,0x70,0x23,0xf1,0xc1,0x3d,0x20,0xd7,0xcd,0x91,0x12,0x77,0xd1,0xc9,0x0,0x0,0x0,0x0,0xf9,0x2,0x15,0xa2,0xfd,0xff,0x9f,0x31,0xa9,0x5f,0x63,0xb2,0xfe,0xff,0x3,0xbf,0xc9,0x1b,0xe,0xb6,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x4,0xbf,0xc9,0x1b,0xe,0xb6,0x0,0x80,0xc6,0xa4,0x7e,0x8d,0x3,0x0,0x40,0x7a,0x10,0xf3,0x5a,0x0,0x0,0xa0,0x72,0x4e,0x18,0x9,0x0,0x0,0x10,0xa5,0xd4,0xe8,0x0,0x0,0x0,0xe8,0x76,0x48,0x17,0x0,0x0,0x0,0xe4,0xb,0x54,0x2,0x0,0x0,0x0,0xca,0x9a,0x3b,0x0,0x0,0x0,0x0,0xe1,0xf5,0x5,0x0,0x0,0x0,0x80,0x96,0x98,0x0,0x0,0x0,0x0,0x40,0x42,0xf,0x0,0x0,0x0,0x0,0xa0,0x86,0x1,0x10,0x27,0x0,0x10,0x27,0xe8,0x3,0x64,0x0,0xa,0x0,0x1,0x0,0x21,0x82,0x9,0xe3,0xe9,0xcd,0xa4,0x9,0x21,0x80,0x13,0xcd,0xb1,0x9,0x18,0x3,0xcd,0xb1,0xa,0xc1,0xd1,0xcd,0x55,0x9,0x78,0x28,0x3c,0xf2,0x4,0x14,0xb7,0xca,0x9a,0x19,0xb7,0xca,0x79,0x7,0xd5,0xc5,0x79,0xf6,0x7f,0xcd,0xbf,0x9,0xf2,0x21,0x14,0xd5,0xc5,0xcd,0x40,0xb,0xc1,0xd1,0xf5,0xcd,0xc,0xa,0xe1,0x7c,0x1f,0xe1,0x22,0x23,0x41,0xe1,0x22,0x21,0x41,0xdc,0xe2,0x13,0xcc,0x82,0x9,0xd5,0xc5,0xcd,0x9,0x8,0xc1,0xd1,0xcd,0x47,0x8,0xcd,0xa4,0x9,0x1,0x38,0x81,0x11,0x3b,0xaa,0xcd,0x47,0x8,0x3a,0x24,0x41,0xfe,0x88,0xd2,0x31,0x9,0xcd,0x40,0xb,0xc6,0x80,0xc6,0x2,0xda,0x31,0x9,0xf5,0x21,0xf8,0x7,0xcd,0xb,0x7,0xcd,0x41,0x8,0xf1,0xc1,0xd1,0xf5,0xcd,0x13,0x7,0xcd,0x82,0x9,0x21,0x79,0x14,0xcd,0xa9,0x14,0x11,0x0,0x0,0xc1,0x4a,0xc3,0x47,0x8,0x8,0x40,0x2e,0x94,0x74,0x70,0x4f,0x2e,0x77,0x6e,0x2,0x88,0x7a,0xe6,0xa0,0x2a,0x7c,0x50,0xaa,0xaa,0x7e,0xff,0xff,0x7f,0x7f,0x0,0x0,0x80,0x81,0x0,0x0,0x0,0x81,0xcd,0xa4,0x9,0x11,0x32,0xc,0xd5,0xe5,0xcd,0xbf,0x9,0xcd,0x47,0x8,0xe1,0xcd,0xa4,0x9,0x7e,0x23,0xcd,0xb1,0x9,0x6,0xf1,0xc1,0xd1,0x3d,0xc8,0xd5,0xc5,0xf5,0xe5,0xcd,0x47,0x8,0xe1,0xcd,0xc2,0x9,0xe5,0xcd,0x16,0x7,0xe1,0x18,0xe9,0xcd,0x7f,0xa,0x7c,0xb7,0xfa,0x4a,0x1e,0xb5,0xca,0xf0,0x14,0xe5,0xcd,0xf0,0x14,0xcd,0xbf,0x9,0xeb,0xe3,0xc5,0xcd,0xcf,0xa,0xc1,0xd1,0xcd,0x47,0x8,0x21,0xf8,0x7,0xcd,0xb,0x7,0xc3,0x40,0xb,0x21,0x90,0x40,0xe5,0x11,0x0,0x0,0x4b,0x26,0x3,0x2e,0x8,0xeb,0x29,0xeb,0x79,0x17,0x4f,0xe3,0x7e,0x7,0x77,0xe3,0xd2,0x16,0x15,0xe5,0x2a,0xaa,0x40,0x19,0xeb,0x3a,0xac,0x40,0x89,0x4f,0xe1,0x2d,0xc2,0xfc,0x14,0xe3,0x23,0xe3,0x25,0xc2,0xfa,0x14,0xe1,0x21,0x65,0xb0,0x19,0x22,0xaa,0x40,0xcd,0xef,0xa,0x3e,0x5,0x89,0x32,0xac,0x40,0xeb,0x6,0x80,0x21,0x25,0x41,0x70,0x2b,0x70,0x4f,0x6,0x0,0xc3,0x65,0x7,0x21,0x8b,0x15,0xcd,0xb,0x7,0xcd,0xa4,0x9,0x1,0x49,0x83,0x11,0xdb,0xf,0xcd,0xb4,0x9,0xc1,0xd1,0xcd,0xa2,0x8,0xcd,0xa4,0x9,0xcd,0x40,0xb,0xc1,0xd1,0xcd,0x13,0x7,0x21,0x8f,0x15,0xcd,0x10,0x7,0xcd,0x55,0x9,0x37,0xf2,0x77,0x15,0xcd,0x8,0x7,0xcd,0x55,0x9,0xb7,0xf5,0xf4,0x82,0x9,0x21,0x8f,0x15,0xcd,0xb,0x7,0xf1,0xd4,0x82,0x9,0x21,0x93,0x15,0xc3,0x9a,0x14,0xdb,0xf,0x49,0x81,0x0,0x0,0x0,0x7f,0x5,0xba,0xd7,0x1e,0x86,0x64,0x26,0x99,0x87,0x58,0x34,0x23,0x87,0xe0,0x5d,0xa5,0x86,0xda,0xf,0x49,0x83,0xcd,0xa4,0x9,0xcd,0x47,0x15,0xc1,0xe1,0xcd,0xa4,0x9,0xeb,0xcd,0xb4,0x9,0xcd,0x41,0x15,0xc3,0xa0,0x8,0xcd,0x55,0x9,0xfc,0xe2,0x13,0xfc,0x82,0x9,0x3a,0x24,0x41,0xfe,0x81,0x38,0xc,0x1,0x0,0x81,0x51,0x59,0xcd,0xa2,0x8,0x21,0x10,0x7,0xe5,0x21,0xe3,0x15,0xcd,0x9a,0x14,0x21,0x8b,0x15,0xc9,0x9,0x4a,0xd7,0x3b,0x78,0x2,0x6e,0x84,0x7b,0xfe,0xc1,0x2f,0x7c,0x74,0x31,0x9a,0x7d,0x84,0x3d,0x5a,0x7d,0xc8,0x7f,0x91,0x7e,0xe4,0xbb,0x4c,0x7e,0x6c,0xaa,0xaa,0x7f,0x0,0x0,0x0,0x81,0x8a,0x9,0x37,0xb,0x77,0x9,0xd4,0x27,0xef,0x2a,0xf5,0x27,0xe7,0x13,0xc9,0x14,0x9,0x8,0x39,0x14,0x41,0x15,0x47,0x15,0xa8,0x15,0xbd,0x15,0xaa,0x2c,0x52,0x41,0x58,0x41,0x5e,0x41,0x61,0x41,0x64,0x41,0x67,0x41,0x6a,0x41,0x6d,0x41,0x70,0x41,0x7f,0xa,0xb1,0xa,0xdb,0xa,0x26,0xb,0x3,0x2a,0x36,0x28,0xc5,0x2a,0xf,0x2a,0x1f,0x2a,0x61,0x2a,0x91,0x2a,0x9a,0x2a,0xc5,0x4e,0x44,0xc6,0x4f,0x52,0xd2,0x45,0x53,0x45,0x54,0xd3,0x45,0x54,0xc3,0x4c,0x53,0xc3,0x4d,0x44,0xd2,0x41,0x4e,0x44,0x4f,0x4d,0xce,0x45,0x58,0x54,0xc4,0x41,0x54,0x41,0xc9,0x4e,0x50,0x55,0x54,0xc4,0x49,0x4d,0xd2,0x45,0x41,0x44,0xcc,0x45,0x54,0xc7,0x4f,0x54,0x4f,0xd2,0x55,0x4e,0xc9,0x46,0xd2,0x45,0x53,0x54,0x4f,0x52,0x45,0xc7,0x4f,0x53,0x55,0x42,0xd2,0x45,0x54,0x55,0x52,0x4e,0xd2,0x45,0x4d,0xd3,0x54,0x4f,0x50,0xc5,0x4c,0x53,0x45,0xd4,0x52,0x4f,0x4e,0xd4,0x52,0x4f,0x46,0x46,0xc4,0x45,0x46,0x53,0x54,0x52,0xc4,0x45,0x46,0x49,0x4e,0x54,0xc4,0x45,0x46,0x53,0x4e,0x47,0xc4,0x45,0x46,0x44,0x42,0x4c,0xcc,0x49,0x4e,0x45,0xc5,0x44,0x49,0x54,0xc5,0x52,0x52,0x4f,0x52,0xd2,0x45,0x53,0x55,0x4d,0x45,0xcf,0x55,0x54,0xcf,0x4e,0xcf,0x50,0x45,0x4e,0xc6,0x49,0x45,0x4c,0x44,0xc7,0x45,0x54,0xd0,0x55,0x54,0xc3,0x4c,0x4f,0x53,0x45,0xcc,0x4f,0x41,0x44,0xcd,0x45,0x52,0x47,0x45,0xce,0x41,0x4d,0x45,0xcb,0x49,0x4c,0x4c,0xcc,0x53,0x45,0x54,0xd2,0x53,0x45,0x54,0xd3,0x41,0x56,0x45,0xd3,0x59,0x53,0x54,0x45,0x4d,0xcc,0x50,0x52,0x49,0x4e,0x54,0xc4,0x45,0x46,0xd0,0x4f,0x4b,0x45,0xd0,0x52,0x49,0x4e,0x54,0xc3,0x4f,0x4e,0x54,0xcc,0x49,0x53,0x54,0xcc,0x4c,0x49,0x53,0x54,0xc4,0x45,0x4c,0x45,0x54,0x45,0xc1,0x55,0x54,0x4f,0xc3,0x4c,0x45,0x41,0x52,0xc3,0x4c,0x4f,0x41,0x44,0xc3,0x53,0x41,0x56,0x45,0xce,0x45,0x57,0xd4,0x41,0x42,0x28,0xd4,0x4f,0xc6,0x4e,0xd5,0x53,0x49,0x4e,0x47,0xd6,0x41,0x52,0x50,0x54,0x52,0xd5,0x53,0x52,0xc5,0x52,0x4c,0xc5,0x52,0x52,0xd3,0x54,0x52,0x49,0x4e,0x47,0x24,0xc9,0x4e,0x53,0x54,0x52,0xd0,0x4f,0x49,0x4e,0x54,0xd4,0x49,0x4d,0x45,0x24,0xcd,0x45,0x4d,0xc9,0x4e,0x4b,0x45,0x59,0x24,0xd4,0x48,0x45,0x4e,0xce,0x4f,0x54,0xd3,0x54,0x45,0x50,0xab,0xad,0xaa,0xaf,0xdb,0xc1,0x4e,0x44,0xcf,0x52,0xbe,0xbd,0xbc,0xd3,0x47,0x4e,0xc9,0x4e,0x54,0xc1,0x42,0x53,0xc6,0x52,0x45,0xc9,0x4e,0x50,0xd0,0x4f,0x53,0xd3,0x51,0x52,0xd2,0x4e,0x44,0xcc,0x4f,0x47,0xc5,0x58,0x50,0xc3,0x4f,0x53,0xd3,0x49,0x4e,0xd4,0x41,0x4e,0xc1,0x54,0x4e,0xd0,0x45,0x45,0x4b,0xc3,0x56,0x49,0xc3,0x56,0x53,0xc3,0x56,0x44,0xc5,0x4f,0x46,0xcc,0x4f,0x43,0xcc,0x4f,0x46,0xcd,0x4b,0x49,0x24,0xcd,0x4b,0x53,0x24,0xcd,0x4b,0x44,0x24,0xc3,0x49,0x4e,0x54,0xc3,0x53,0x4e,0x47,0xc3,0x44,0x42,0x4c,0xc6,0x49,0x58,0xcc,0x45,0x4e,0xd3,0x54,0x52,0x24,0xd6,0x41,0x4c,0xc1,0x53,0x43,0xc3,0x48,0x52,0x24,0xcc,0x45,0x46,0x54,0x24,0xd2,0x49,0x47,0x48,0x54,0x24,0xcd,0x49,0x44,0x24,0xa7,0x80,0xae,0x1d,0xa1,0x1c,0x38,0x1,0x35,0x1,0xc9,0x1,0x73,0x41,0xd3,0x1,0xb6,0x22,0x5,0x1f,0x9a,0x21,0x8,0x26,0xef,0x21,0x21,0x1f,0xc2,0x1e,0xa3,0x1e,0x39,0x20,0x91,0x1d,0xb1,0x1e,0xde,0x1e,0x7,0x1f,0xa9,0x1d,0x7,0x1f,0xf7,0x1d,0xf8,0x1d,0x0,0x1e,0x3,0x1e,0x6,0x1e,0x9,0x1e,0xa3,0x41,0x60,0x2e,0xf4,0x1f,0xaf,0x1f,0xfb,0x2a,0x6c,0x1f,0x79,0x41,0x7c,0x41,0x7f,0x41,0x82,0x41,0x85,0x41,0x88,0x41,0x8b,0x41,0x8e,0x41,0x91,0x41,0x97,0x41,0x9a,0x41,0xa0,0x41,0xb2,0x2,0x67,0x20,0x5b,0x41,0xb1,0x2c,0x6f,0x20,0xe4,0x1d,0x2e,0x2b,0x29,0x2b,0xc6,0x2b,0x8,0x20,0x7a,0x1e,0x1f,0x2c,0xf5,0x2b,0x49,0x1b,0x79,0x79,0x7c,0x7c,0x7f,0x50,0x46,0xdb,0xa,0x0,0x0,0x7f,0xa,0xf4,0xa,0xb1,0xa,0x77,0xc,0x70,0xc,0xa1,0xd,0xe5,0xd,0x78,0xa,0x16,0x7,0x13,0x7,0x47,0x8,0xa2,0x8,0xc,0xa,0xd2,0xb,0xc7,0xb,0xf2,0xb,0x90,0x24,0x39,0xa,0x4e,0x46,0x53,0x4e,0x52,0x47,0x4f,0x44,0x46,0x43,0x4f,0x56,0x4f,0x4d,0x55,0x4c,0x42,0x53,0x44,0x44,0x2f,0x30,0x49,0x44,0x54,0x4d,0x4f,0x53,0x4c,0x53,0x53,0x54,0x43,0x4e,0x4e,0x52,0x52,0x57,0x55,0x45,0x4d,0x4f,0x46,0x44,0x4c,0x33,0xd6,0x0,0x6f,0x7c,0xde,0x0,0x67,0x78,0xde,0x0,0x47,0x3e,0x0,0xc9,0x4a,0x1e,0x40,0xe6,0x4d,0xdb,0x0,0xc9,0xd3,0x0,0xc9,0x0,0x0,0x0,0x0,0x40,0x30,0x0,0x4c,0x43,0xfe,0xff,0xe9,0x42,0x20,0x45,0x72,0x72,0x6f,0x72,0x0,0x20,0x69,0x6e,0x20,0x0,0x52,0x45,0x41,0x44,0x59,0xd,0x0,0x42,0x72,0x65,0x61,0x6b,0x0,0x21,0x4,0x0,0x39,0x7e,0x23,0xfe,0x81,0xc0,0x4e,0x23,0x46,0x23,0xe5,0x69,0x60,0x7a,0xb3,0xeb,0x28,0x2,0xeb,0xdf,0x1,0xe,0x0,0xe1,0xc8,0x9,0x18,0xe5,0xcd,0x6c,0x19,0xc5,0xe3,0xc1,0xdf,0x7e,0x2,0xc8,0xb,0x2b,0x18,0xf8,0xe5,0x2a,0xfd,0x40,0x6,0x0,0x9,0x9,0x3e,0xe5,0x3e,0xc6,0x95,0x6f,0x3e,0xff,0x9c,0x38,0x4,0x67,0x39,0xe1,0xd8,0x1e,0xc,0x18,0x24,0x2a,0xa2,0x40,0x7c,0xa5,0x3c,0x28,0x8,0x3a,0xf2,0x40,0xb7,0x1e,0x22,0x20,0x14,0xc3,0xc1,0x1d,0x2a,0xda,0x40,0x22,0xa2,0x40,0x1e,0x2,0x1,0x1e,0x14,0x1,0x1e,0x0,0x1,0x1e,0x24,0x2a,0xa2,0x40,0x22,0xea,0x40,0x22,0xec,0x40,0x1,0xb4,0x19,0x2a,0xe8,0x40,0xc3,0x9a,0x1b,0xc1,0x7b,0x4b,0x32,0x9a,0x40,0x2a,0xe6,0x40,0x22,0xee,0x40,0xeb,0x2a,0xea,0x40,0x7c,0xa5,0x3c,0x28,0x7,0x22,0xf5,0x40,0xeb,0x22,0xf7,0x40,0x2a,0xf0,0x40,0x7c,0xb5,0xeb,0x21,0xf2,0x40,0x28,0x8,0xa6,0x20,0x5,0x35,0xeb,0xc3,0x36,0x1d,0xaf,0x77,0x59,0xcd,0xf9,0x20,0x21,0xc9,0x18,0xcd,0xa6,0x41,0x57,0x3e,0x3f,0xcd,0x2a,0x3,0x19,0x7e,0xcd,0x2a,0x3,0xd7,0xcd,0x2a,0x3,0x21,0x1d,0x19,0xe5,0x2a,0xea,0x40,0xe3,0xcd,0xa7,0x28,0xe1,0x11,0xfe,0xff,0xdf,0xca,0x74,0x6,0x7c,0xa5,0x3c,0xc4,0xa7,0xf,0x3e,0xc1,0xcd,0x8b,0x3,0xcd,0xac,0x41,0xcd,0xf8,0x1,0xcd,0xf9,0x20,0x21,0x29,0x19,0xcd,0xa7,0x28,0x3a,0x9a,0x40,0xd6,0x2,0xcc,0x53,0x2e,0x21,0xff,0xff,0x22,0xa2,0x40,0x3a,0xe1,0x40,0xb7,0x28,0x37,0x2a,0xe2,0x40,0xe5,0xcd,0xaf,0xf,0xd1,0xd5,0xcd,0x2c,0x1b,0x3e,0x2a,0x38,0x2,0x3e,0x20,0xcd,0x2a,0x3,0xcd,0x61,0x3,0xd1,0x30,0x6,0xaf,0x32,0xe1,0x40,0x18,0xb9,0x2a,0xe4,0x40,0x19,0x38,0xf4,0xd5,0x11,0xf9,0xff,0xdf,0xd1,0x30,0xec,0x22,0xe2,0x40,0xf6,0xff,0xc3,0xeb,0x2f,0x3e,0x3e,0xcd,0x2a,0x3,0xcd,0x61,0x3,0xda,0x33,0x1a,0xd7,0x3c,0x3d,0xca,0x33,0x1a,0xf5,0xcd,0x5a,0x1e,0x2b,0x7e,0xfe,0x20,0x28,0xfa,0x23,0x7e,0xfe,0x20,0xcc,0xc9,0x9,0xd5,0xcd,0xc0,0x1b,0xd1,0xf1,0x22,0xe6,0x40,0xcd,0xb2,0x41,0xd2,0x5a,0x1d,0xd5,0xc5,0xaf,0x32,0xdd,0x40,0xd7,0xb7,0xf5,0xeb,0x22,0xec,0x40,0xeb,0xcd,0x2c,0x1b,0xc5,0xdc,0xe4,0x2b,0xd1,0xf1,0xd5,0x28,0x27,0xd1,0x2a,0xf9,0x40,0xe3,0xc1,0x9,0xe5,0xcd,0x55,0x19,0xe1,0x22,0xf9,0x40,0xeb,0x74,0xd1,0xe5,0x23,0x23,0x73,0x23,0x72,0x23,0xeb,0x2a,0xa7,0x40,0xeb,0x1b,0x1b,0x1a,0x77,0x23,0x13,0xb7,0x20,0xf9,0xd1,0xcd,0xfc,0x1a,0xcd,0xb5,0x41,0xcd,0x5d,0x1b,0xcd,0xb8,0x41,0xc3,0x33,0x1a,0x2a,0xa4,0x40,0xeb,0x62,0x6b,0x7e,0x23,0xb6,0xc8,0x23,0x23,0x23,0xaf,0xbe,0x23,0x20,0xfc,0xeb,0x73,0x23,0x72,0x18,0xec,0x11,0x0,0x0,0xd5,0x28,0x9,0xd1,0xcd,0x4f,0x1e,0xd5,0x28,0xb,0xcf,0xce,0x11,0xfa,0xff,0xc4,0x4f,0x1e,0xc2,0x97,0x19,0xeb,0xd1,0xe3,0xe5,0x2a,0xa4,0x40,0x44,0x4d,0x7e,0x23,0xb6,0x2b,0xc8,0x23,0x23,0x7e,0x23,0x66,0x6f,0xdf,0x60,0x69,0x7e,0x23,0x66,0x6f,0x3f,0xc8,0x3f,0xd0,0x18,0xe6,0xc0,0xcd,0xc9,0x1,0x2a,0xa4,0x40,0xcd,0xf8,0x1d,0x32,0xe1,0x40,0x77,0x23,0x77,0x23,0x22,0xf9,0x40,0x2a,0xa4,0x40,0x2b,0x22,0xdf,0x40,0x6,0x1a,0x21,0x1,0x41,0x36,0x4,0x23,0x10,0xfb,0xaf,0x32,0xf2,0x40,0x6f,0x67,0x22,0xf0,0x40,0x22,0xf7,0x40,0x2a,0xb1,0x40,0x22,0xd6,0x40,0xcd,0x91,0x1d,0x2a,0xf9,0x40,0x22,0xfb,0x40,0x22,0xfd,0x40,0xcd,0xbb,0x41,0xc1,0x2a,0xa0,0x40,0x2b,0x2b,0x22,0xe8,0x40,0x23,0x23,0xf9,0x21,0xb5,0x40,0x22,0xb3,0x40,0xcd,0x8b,0x3,0xcd,0x69,0x21,0xaf,0x67,0x6f,0x32,0xdc,0x40,0xe5,0xc5,0x2a,0xdf,0x40,0xc9,0x3e,0x3f,0xcd,0x2a,0x3,0x3e,0x20,0xcd,0x2a,0x3,0xc3,0x61,0x3,0xaf,0x32,0xb0,0x40,0x4f,0xeb,0x2a,0xa7,0x40,0x2b,0x2b,0xeb,0x7e,0xfe,0x20,0xca,0x5b,0x1c,0x47,0xfe,0x22,0xca,0x77,0x1c,0xb7,0xca,0x7d,0x1c,0x3a,0xb0,0x40,0xb7,0x7e,0xc2,0x5b,0x1c,0xfe,0x3f,0x3e,0xb2,0xca,0x5b,0x1c,0x7e,0xfe,0x30,0x38,0x5,0xfe,0x3c,0xda,0x5b,0x1c,0xd5,0x11,0x4f,0x16,0xc5,0x1,0x3d,0x1c,0xc5,0x6,0x7f,0x7e,0xfe,0x61,0x38,0x7,0xfe,0x7b,0x30,0x3,0xe6,0x5f,0x77,0x4e,0xeb,0x23,0xb6,0xf2,0xe,0x1c,0x4,0x7e,0xe6,0x7f,0xc8,0xb9,0x20,0xf3,0xeb,0xe5,0x13,0x1a,0xb7,0xfa,0x39,0x1c,0x4f,0x78,0xfe,0x8d,0x20,0x2,0xd7,0x2b,0x23,0x7e,0xfe,0x61,0x38,0x2,0xe6,0x5f,0xb9,0x28,0xe7,0xe1,0x18,0xd3,0x48,0xf1,0xeb,0xc9,0xeb,0x79,0xc1,0xd1,0xeb,0xfe,0x95,0x36,0x3a,0x20,0x2,0xc,0x23,0xfe,0xfb,0x20,0xc,0x36,0x3a,0x23,0x6,0x93,0x70,0x23,0xeb,0xc,0xc,0x18,0x1d,0xeb,0x23,0x12,0x13,0xc,0xd6,0x3a,0x28,0x4,0xfe,0x4e,0x20,0x3,0x32,0xb0,0x40,0xd6,0x59,0xc2,0xcc,0x1b,0x47,0x7e,0xb7,0x28,0x9,0xb8,0x28,0xe4,0x23,0x12,0xc,0x13,0x18,0xf3,0x21,0x5,0x0,0x44,0x9,0x44,0x4d,0x2a,0xa7,0x40,0x2b,0x2b,0x2b,0x12,0x13,0x12,0x13,0x12,0xc9,0x7c,0x92,0xc0,0x7d,0x93,0xc9,0x7e,0xe3,0xbe,0x23,0xe3,0xca,0x78,0x1d,0xc3,0x97,0x19,0x3e,0x64,0x32,0xdc,0x40,0xcd,0x21,0x1f,0xe3,0xcd,0x36,0x19,0xd1,0x20,0x5,0x9,0xf9,0x22,0xe8,0x40,0xeb,0xe,0x8,0xcd,0x63,0x19,0xe5,0xcd,0x5,0x1f,0xe3,0xe5,0x2a,0xa2,0x40,0xe3,0xcf,0xbd,0xe7,0xca,0xf6,0xa,0xd2,0xf6,0xa,0xf5,0xcd,0x37,0x23,0xf1,0xe5,0xf2,0xec,0x1c,0xcd,0x7f,0xa,0xe3,0x11,0x1,0x0,0x7e,0xfe,0xcc,0xcc,0x1,0x2b,0xd5,0xe5,0xeb,0xcd,0x9e,0x9,0x18,0x22,0xcd,0xb1,0xa,0xcd,0xbf,0x9,0xe1,0xc5,0xd5,0x1,0x0,0x81,0x51,0x5a,0x7e,0xfe,0xcc,0x3e,0x1,0x20,0xe,0xcd,0x38,0x23,0xe5,0xcd,0xb1,0xa,0xcd,0xbf,0x9,0xcd,0x55,0x9,0xe1,0xc5,0xd5,0x4f,0xe7,0x47,0xc5,0xe5,0x2a,0xdf,0x40,0xe3,0x6,0x81,0xc5,0x33,0xcd,0x58,0x3,0xb7,0xc4,0xa0,0x1d,0x22,0xe6,0x40,0xed,0x73,0xe8,0x40,0x7e,0xfe,0x3a,0x28,0x29,0xb7,0xc2,0x97,0x19,0x23,0x7e,0x23,0xb6,0xca,0x7e,0x19,0x23,0x5e,0x23,0x56,0xeb,0x22,0xa2,0x40,0x3a,0x1b,0x41,0xb7,0x28,0xf,0xd5,0x3e,0x3c,0xcd,0x2a,0x3,0xcd,0xaf,0xf,0x3e,0x3e,0xcd,0x2a,0x3,0xd1,0xeb,0xd7,0x11,0x1e,0x1d,0xd5,0xc8,0xd6,0x80,0xda,0x21,0x1f,0xfe,0x3c,0xd2,0xe7,0x2a,0x7,0x4f,0x6,0x0,0xeb,0x21,0x22,0x18,0x9,0x4e,0x23,0x46,0xc5,0xeb,0x23,0x7e,0xfe,0x3a,0xd0,0xfe,0x20,0xca,0x78,0x1d,0xfe,0xb,0x30,0x5,0xfe,0x9,0xd2,0x78,0x1d,0xfe,0x30,0x3f,0x3c,0x3d,0xc9,0xeb,0x2a,0xa4,0x40,0x2b,0x22,0xff,0x40,0xeb,0xc9,0xcd,0x58,0x3,0xb7,0xc8,0xfe,0x60,0xcc,0x84,0x3,0x32,0x99,0x40,0x3d,0xc0,0x3c,0xc3,0xb4,0x1d,0xc0,0xf5,0xcc,0xbb,0x41,0xf1,0x22,0xe6,0x40,0x21,0xb5,0x40,0x22,0xb3,0x40,0x21,0xf6,0xff,0xc1,0x2a,0xa2,0x40,0xe5,0xf5,0x7d,0xa4,0x3c,0x28,0x9,0x22,0xf5,0x40,0x2a,0xe6,0x40,0x22,0xf7,0x40,0xcd,0x8b,0x3,0xcd,0xf9,0x20,0xf1,0x21,0x30,0x19,0xc2,0x6,0x1a,0xc3,0x18,0x1a,0x2a,0xf7,0x40,0x7c,0xb5,0x1e,0x20,0xca,0xa2,0x19,0xeb,0x2a,0xf5,0x40,0x22,0xa2,0x40,0xeb,0xc9,0x3e,0xaf,0x32,0x1b,0x41,0xc9,0xf1,0xe1,0xc9,0x1e,0x3,0x1,0x1e,0x2,0x1,0x1e,0x4,0x1,0x1e,0x8,0xcd,0x3d,0x1e,0x1,0x97,0x19,0xc5,0xd8,0xd6,0x41,0x4f,0x47,0xd7,0xfe,0xce,0x20,0x9,0xd7,0xcd,0x3d,0x1e,0xd8,0xd6,0x41,0x47,0xd7,0x78,0x91,0xd8,0x3c,0xe3,0x21,0x1,0x41,0x6,0x0,0x9,0x73,0x23,0x3d,0x20,0xfb,0xe1,0x7e,0xfe,0x2c,0xc0,0xd7,0x18,0xce,0x7e,0xfe,0x41,0xd8,0xfe,0x5b,0x3f,0xc9,0xd7,0xcd,0x2,0x2b,0xf0,0x1e,0x8,0xc3,0xa2,0x19,0x7e,0xfe,0x2e,0xeb,0x2a,0xec,0x40,0xeb,0xca,0x78,0x1d,0x2b,0x11,0x0,0x0,0xd7,0xd0,0xe5,0xf5,0x21,0x98,0x19,0xdf,0xda,0x97,0x19,0x62,0x6b,0x19,0x29,0x19,0x29,0xf1,0xd6,0x30,0x5f,0x16,0x0,0x19,0xeb,0xe1,0x18,0xe4,0xca,0x61,0x1b,0xcd,0x46,0x1e,0x2b,0xd7,0xc0,0xe5,0x2a,0xb1,0x40,0x7d,0x93,0x5f,0x7c,0x9a,0x57,0xda,0x7a,0x19,0x2a,0xf9,0x40,0x1,0x28,0x0,0x9,0xdf,0xd2,0x7a,0x19,0xeb,0x22,0xa0,0x40,0xe1,0xc3,0x61,0x1b,0xca,0x5d,0x1b,0xcd,0xc7,0x41,0xcd,0x61,0x1b,0x1,0x1e,0x1d,0x18,0x10,0xe,0x3,0xcd,0x63,0x19,0xc1,0xe5,0xe5,0x2a,0xa2,0x40,0xe3,0x3e,0x91,0xf5,0x33,0xc5,0xcd,0x5a,0x1e,0xcd,0x7,0x1f,0xe5,0x2a,0xa2,0x40,0xdf,0xe1,0x23,0xdc,0x2f,0x1b,0xd4,0x2c,0x1b,0x60,0x69,0x2b,0xd8,0x1e,0xe,0xc3,0xa2,0x19,0xc0,0x16,0xff,0xcd,0x36,0x19,0xf9,0x22,0xe8,0x40,0xfe,0x91,0x1e,0x4,0xc2,0xa2,0x19,0xe1,0x22,0xa2,0x40,0x23,0x7c,0xb5,0x20,0x7,0x3a,0xdd,0x40,0xb7,0xc2,0x18,0x1a,0x21,0x1e,0x1d,0xe3,0x3e,0xe1,0x1,0x3a,0xe,0x0,0x6,0x0,0x79,0x48,0x47,0x7e,0xb7,0xc8,0xb8,0xc8,0x23,0xfe,0x22,0x28,0xf3,0xd6,0x8f,0x20,0xf2,0xb8,0x8a,0x57,0x18,0xed,0xcd,0xd,0x26,0xcf,0xd5,0xeb,0x22,0xdf,0x40,0xeb,0xd5,0xe7,0xf5,0xcd,0x37,0x23,0xf1,0xe3,0xc6,0x3,0xcd,0x19,0x28,0xcd,0x3,0xa,0xe5,0x20,0x28,0x2a,0x21,0x41,0xe5,0x23,0x5e,0x23,0x56,0x2a,0xa4,0x40,0xdf,0x30,0xe,0x2a,0xa0,0x40,0xdf,0xd1,0x30,0xf,0x2a,0xf9,0x40,0xdf,0x30,0x9,0x3e,0xd1,0xcd,0xf5,0x29,0xeb,0xcd,0x43,0x28,0xcd,0xf5,0x29,0xe3,0xcd,0xd3,0x9,0xd1,0xe1,0xc9,0xfe,0x9e,0x20,0x25,0xd7,0xcf,0x8d,0xcd,0x5a,0x1e,0x7a,0xb3,0x28,0x9,0xcd,0x2a,0x1b,0x50,0x59,0xe1,0xd2,0xd9,0x1e,0xeb,0x22,0xf0,0x40,0xeb,0xd8,0x3a,0xf2,0x40,0xb7,0xc8,0x3a,0x9a,0x40,0x5f,0xc3,0xab,0x19,0xcd,0x1c,0x2b,0x7e,0x47,0xfe,0x91,0x28,0x3,0xcf,0x8d,0x2b,0x4b,0xd,0x78,0xca,0x60,0x1d,0xcd,0x5b,0x1e,0xfe,0x2c,0xc0,0x18,0xf3,0x11,0xf2,0x40,0x1a,0xb7,0xca,0xa0,0x19,0x3c,0x32,0x9a,0x40,0x12,0x7e,0xfe,0x87,0x28,0xc,0xcd,0x5a,0x1e,0xc0,0x7a,0xb3,0xc2,0xc5,0x1e,0x3c,0x18,0x2,0xd7,0xc0,0x2a,0xee,0x40,0xeb,0x2a,0xea,0x40,0x22,0xa2,0x40,0xeb,0xc0,0x7e,0xb7,0x20,0x4,0x23,0x23,0x23,0x23,0x23,0x7a,0xa3,0x3c,0xc2,0x5,0x1f,0x3a,0xdd,0x40,0x3d,0xca,0xbe,0x1d,0xc3,0x5,0x1f,0xcd,0x1c,0x2b,0xc0,0xb7,0xca,0x4a,0x1e,0x3d,0x87,0x5f,0xfe,0x2d,0x38,0x2,0x1e,0x26,0xc3,0xa2,0x19,0x11,0xa,0x0,0xd5,0x28,0x17,0xcd,0x4f,0x1e,0xeb,0xe3,0x28,0x11,0xeb,0xcf,0x2c,0xeb,0x2a,0xe4,0x40,0xeb,0x28,0x6,0xcd,0x5a,0x1e,0xc2,0x97,0x19,0xeb,0x7c,0xb5,0xca,0x4a,0x1e,0x22,0xe4,0x40,0x32,0xe1,0x40,0xe1,0x22,0xe2,0x40,0xc1,0xc3,0x33,0x1a,0xcd,0x37,0x23,0x7e,0xfe,0x2c,0xcc,0x78,0x1d,0xfe,0xca,0xcc,0x78,0x1d,0x2b,0xe5,0xcd,0x94,0x9,0xe1,0x28,0x7,0xd7,0xda,0xc2,0x1e,0xc3,0x5f,0x1d,0x16,0x1,0xcd,0x5,0x1f,0xb7,0xc8,0xd7,0xfe,0x95,0x20,0xf6,0x15,0x20,0xf3,0x18,0xe8,0x3e,0x1,0x32,0x9c,0x40,0xc3,0x9b,0x20,0xcd,0xca,0x41,0xfe,0x40,0x20,0x19,0xcd,0x1,0x2b,0xfe,0x4,0xd2,0x4a,0x1e,0xe5,0x21,0x0,0x3c,0x19,0x22,0x20,0x40,0x7b,0xe6,0x3f,0x32,0xa6,0x40,0xe1,0xcf,0x2c,0xfe,0x23,0x20,0x8,0xcd,0x84,0x2,0x3e,0x80,0x32,0x9c,0x40,0x2b,0xd7,0xcc,0xfe,0x20,0xca,0x69,0x21,0xfe,0xbf,0xca,0xbd,0x2c,0xfe,0xbc,0xca,0x37,0x21,0xe5,0xfe,0x2c,0xca,0x8,0x21,0xfe,0x3b,0xca,0x64,0x21,0xc1,0xcd,0x37,0x23,0xe5,0xe7,0x28,0x32,0xcd,0xbd,0xf,0xcd,0x65,0x28,0xcd,0xcd,0x41,0x2a,0x21,0x41,0x3a,0x9c,0x40,0xb7,0xfa,0xe9,0x20,0x28,0x8,0x3a,0x9b,0x40,0x86,0xfe,0x84,0x18,0x9,0x3a,0x9d,0x40,0x47,0x3a,0xa6,0x40,0x86,0xb8,0xd4,0xfe,0x20,0xcd,0xaa,0x28,0x3e,0x20,0xcd,0x2a,0x3,0xb7,0xcc,0xaa,0x28,0xe1,0xc3,0x9b,0x20,0x3a,0xa6,0x40,0xb7,0xc8,0x3e,0xd,0xcd,0x2a,0x3,0xcd,0xd0,0x41,0xaf,0xc9,0xcd,0xd3,0x41,0x3a,0x9c,0x40,0xb7,0xf2,0x19,0x21,0x3e,0x2c,0xcd,0x2a,0x3,0x18,0x4b,0x28,0x8,0x3a,0x9b,0x40,0xfe,0x70,0xc3,0x2b,0x21,0x3a,0x9e,0x40,0x47,0x3a,0xa6,0x40,0xb8,0xd4,0xfe,0x20,0x30,0x34,0xd6,0x10,0x30,0xfc,0x2f,0x18,0x23,0xcd,0x1b,0x2b,0xe6,0x3f,0x5f,0xcf,0x29,0x2b,0xe5,0xcd,0xd3,0x41,0x3a,0x9c,0x40,0xb7,0xfa,0x4a,0x1e,0xca,0x53,0x21,0x3a,0x9b,0x40,0x18,0x3,0x3a,0xa6,0x40,0x2f,0x83,0x30,0xa,0x3c,0x47,0x3e,0x20,0xcd,0x2a,0x3,0x5,0x20,0xfa,0xe1,0xd7,0xc3,0xa0,0x20,0x3a,0x9c,0x40,0xb7,0xfc,0xf8,0x1,0xaf,0x32,0x9c,0x40,0xcd,0xbe,0x41,0xc9,0x3f,0x52,0x45,0x44,0x4f,0xd,0x0,0x3a,0xde,0x40,0xb7,0xc2,0x91,0x19,0x3a,0xa9,0x40,0xb7,0x1e,0x2a,0xca,0xa2,0x19,0xc1,0x21,0x78,0x21,0xcd,0xa7,0x28,0x2a,0xe6,0x40,0xc9,0xcd,0x28,0x28,0x7e,0xcd,0xd6,0x41,0xd6,0x23,0x32,0xa9,0x40,0x7e,0x20,0x20,0xcd,0x93,0x2,0xe5,0x6,0xfa,0x2a,0xa7,0x40,0xcd,0x35,0x2,0x77,0x23,0xfe,0xd,0x28,0x2,0x10,0xf5,0x2b,0x36,0x0,0xcd,0xf8,0x1,0x2a,0xa7,0x40,0x2b,0x18,0x22,0x1,0xdb,0x21,0xc5,0xfe,0x22,0xc0,0xcd,0x66,0x28,0xcf,0x3b,0xe5,0xcd,0xaa,0x28,0xe1,0xc9,0xe5,0xcd,0xb3,0x1b,0xc1,0xda,0xbe,0x1d,0x23,0x7e,0xb7,0x2b,0xc5,0xca,0x4,0x1f,0x36,0x2c,0x18,0x5,0xe5,0x2a,0xff,0x40,0xf6,0xaf,0x32,0xde,0x40,0xe3,0x18,0x2,0xcf,0x2c,0xcd,0xd,0x26,0xe3,0xd5,0x7e,0xfe,0x2c,0x28,0x26,0x3a,0xde,0x40,0xb7,0xc2,0x96,0x22,0x3a,0xa9,0x40,0xb7,0x1e,0x6,0xca,0xa2,0x19,0x3e,0x3f,0xcd,0x2a,0x3,0xcd,0xb3,0x1b,0xd1,0xc1,0xda,0xbe,0x1d,0x23,0x7e,0xb7,0x2b,0xc5,0xca,0x4,0x1f,0xd5,0xcd,0xdc,0x41,0xe7,0xf5,0x20,0x19,0xd7,0x57,0x47,0xfe,0x22,0x28,0x5,0x16,0x3a,0x6,0x2c,0x2b,0xcd,0x69,0x28,0xf1,0xeb,0x21,0x5a,0x22,0xe3,0xd5,0xc3,0x33,0x1f,0xd7,0xf1,0xf5,0x1,0x43,0x22,0xc5,0xda,0x6c,0xe,0xd2,0x65,0xe,0x2b,0xd7,0x28,0x5,0xfe,0x2c,0xc2,0x7f,0x21,0xe3,0x2b,0xd7,0xc2,0xfb,0x21,0xd1,0x0,0x0,0x0,0x0,0x0,0x3a,0xde,0x40,0xb7,0xeb,0xc2,0x96,0x1d,0xd5,0xcd,0xdf,0x41,0xb6,0x21,0x86,0x22,0xc4,0xa7,0x28,0xe1,0xc3,0x69,0x21,0x3f,0x45,0x78,0x74,0x72,0x61,0x20,0x69,0x67,0x6e,0x6f,0x72,0x65,0x64,0xd,0x0,0xcd,0x5,0x1f,0xb7,0x20,0x12,0x23,0x7e,0x23,0xb6,0x1e,0x6,0xca,0xa2,0x19,0x23,0x5e,0x23,0x56,0xeb,0x22,0xda,0x40,0xeb,0xd7,0xfe,0x88,0x20,0xe3,0xc3,0x2d,0x22,0x11,0x0,0x0,0xc4,0xd,0x26,0x22,0xdf,0x40,0xcd,0x36,0x19,0xc2,0x9d,0x19,0xf9,0x22,0xe8,0x40,0xd5,0x7e,0x23,0xf5,0xd5,0x7e,0x23,0xb7,0xfa,0xea,0x22,0xcd,0xb1,0x9,0xe3,0xe5,0xcd,0xb,0x7,0xe1,0xcd,0xcb,0x9,0xe1,0xcd,0xc2,0x9,0xe5,0xcd,0xc,0xa,0x18,0x29,0x23,0x23,0x23,0x23,0x4e,0x23,0x46,0x23,0xe3,0x5e,0x23,0x56,0xe5,0x69,0x60,0xcd,0xd2,0xb,0x3a,0xaf,0x40,0xfe,0x4,0xca,0xb2,0x7,0xeb,0xe1,0x72,0x2b,0x73,0xe1,0xd5,0x5e,0x23,0x56,0x23,0xe3,0xcd,0x39,0xa,0xe1,0xc1,0x90,0xcd,0xc2,0x9,0x28,0x9,0xeb,0x22,0xa2,0x40,0x69,0x60,0xc3,0x1a,0x1d,0xf9,0x22,0xe8,0x40,0x2a,0xdf,0x40,0x7e,0xfe,0x2c,0xc2,0x1e,0x1d,0xd7,0xcd,0xb9,0x22,0xcf,0x28,0x2b,0x16,0x0,0xd5,0xe,0x1,0xcd,0x63,0x19,0xcd,0x9f,0x24,0x22,0xf3,0x40,0x2a,0xf3,0x40,0xc1,0x7e,0x16,0x0,0xd6,0xd4,0x38,0x13,0xfe,0x3,0x30,0xf,0xfe,0x1,0x17,0xaa,0xba,0x57,0xda,0x97,0x19,0x22,0xd8,0x40,0xd7,0x18,0xe9,0x7a,0xb7,0xc2,0xec,0x23,0x7e,0x22,0xd8,0x40,0xd6,0xcd,0xd8,0xfe,0x7,0xd0,0x5f,0x3a,0xaf,0x40,0xd6,0x3,0xb3,0xca,0x8f,0x29,0x21,0x9a,0x18,0x19,0x78,0x56,0xba,0xd0,0xc5,0x1,0x46,0x23,0xc5,0x7a,0xfe,0x7f,0xca,0xd4,0x23,0xfe,0x51,0xda,0xe1,0x23,0x21,0x21,0x41,0xb7,0x3a,0xaf,0x40,0x3d,0x3d,0x3d,0xca,0xf6,0xa,0x4e,0x23,0x46,0xc5,0xfa,0xc5,0x23,0x23,0x4e,0x23,0x46,0xc5,0xf5,0xb7,0xe2,0xc4,0x23,0xf1,0x23,0x38,0x3,0x21,0x1d,0x41,0x4e,0x23,0x46,0x23,0xc5,0x4e,0x23,0x46,0xc5,0x6,0xf1,0xc6,0x3,0x4b,0x47,0xc5,0x1,0x6,0x24,0xc5,0x2a,0xd8,0x40,0xc3,0x3a,0x23,0xcd,0xb1,0xa,0xcd,0xa4,0x9,0x1,0xf2,0x13,0x16,0x7f,0x18,0xec,0xd5,0xcd,0x7f,0xa,0xd1,0xe5,0x1,0xe9,0x25,0x18,0xe1,0x78,0xfe,0x64,0xd0,0xc5,0xd5,0x11,0x4,0x64,0x21,0xb8,0x25,0xe5,0xe7,0xc2,0x95,0x23,0x2a,0x21,0x41,0xe5,0x1,0x8c,0x25,0x18,0xc7,0xc1,0x79,0x32,0xb0,0x40,0x78,0xfe,0x8,0x28,0x28,0x3a,0xaf,0x40,0xfe,0x8,0xca,0x60,0x24,0x57,0x78,0xfe,0x4,0xca,0x72,0x24,0x7a,0xfe,0x3,0xca,0xf6,0xa,0xd2,0x7c,0x24,0x21,0xbf,0x18,0x6,0x0,0x9,0x9,0x4e,0x23,0x46,0xd1,0x2a,0x21,0x41,0xc5,0xc9,0xcd,0xdb,0xa,0xcd,0xfc,0x9,0xe1,0x22,0x1f,0x41,0xe1,0x22,0x1d,0x41,0xc1,0xd1,0xcd,0xb4,0x9,0xcd,0xdb,0xa,0x21,0xab,0x18,0x3a,0xb0,0x40,0x7,0xc5,0x4f,0x6,0x0,0x9,0xc1,0x7e,0x23,0x66,0x6f,0xe9,0xc5,0xcd,0xfc,0x9,0xf1,0x32,0xaf,0x40,0xfe,0x4,0x28,0xda,0xe1,0x22,0x21,0x41,0x18,0xd9,0xcd,0xb1,0xa,0xc1,0xd1,0x21,0xb5,0x18,0x18,0xd5,0xe1,0xcd,0xa4,0x9,0xcd,0xcf,0xa,0xcd,0xbf,0x9,0xe1,0x22,0x23,0x41,0xe1,0x22,0x21,0x41,0x18,0xe7,0xe5,0xeb,0xcd,0xcf,0xa,0xe1,0xcd,0xa4,0x9,0xcd,0xcf,0xa,0xc3,0xa0,0x8,0xd7,0x1e,0x28,0xca,0xa2,0x19,0xda,0x6c,0xe,0xcd,0x3d,0x1e,0xd2,0x40,0x25,0xfe,0xcd,0x28,0xed,0xfe,0x2e,0xca,0x6c,0xe,0xfe,0xce,0xca,0x32,0x25,0xfe,0x22,0xca,0x66,0x28,0xfe,0xcb,0xca,0xc4,0x25,0xfe,0x26,0xca,0x94,0x41,0xfe,0xc3,0x20,0xa,0xd7,0x3a,0x9a,0x40,0xe5,0xcd,0xf8,0x27,0xe1,0xc9,0xfe,0xc2,0x20,0xa,0xd7,0xe5,0x2a,0xea,0x40,0xcd,0x66,0xc,0xe1,0xc9,0xfe,0xc0,0x20,0x14,0xd7,0xcf,0x28,0xcd,0xd,0x26,0xcf,0x29,0xe5,0xeb,0x7c,0xb5,0xca,0x4a,0x1e,0xcd,0x9a,0xa,0xe1,0xc9,0xfe,0xc1,0xca,0xfe,0x27,0xfe,0xc5,0xca,0x9d,0x41,0xfe,0xc8,0xca,0xc9,0x27,0xfe,0xc7,0xca,0x76,0x41,0xfe,0xc6,0xca,0x32,0x1,0xfe,0xc9,0xca,0x9d,0x1,0xfe,0xc4,0xca,0x2f,0x2a,0xfe,0xbe,0xca,0x55,0x41,0xd6,0xd7,0xd2,0x4e,0x25,0xcd,0x35,0x23,0xcf,0x29,0xc9,0x16,0x7d,0xcd,0x3a,0x23,0x2a,0xf3,0x40,0xe5,0xcd,0x7b,0x9,0xe1,0xc9,0xcd,0xd,0x26,0xe5,0xeb,0x22,0x21,0x41,0xe7,0xc4,0xf7,0x9,0xe1,0xc9,0x6,0x0,0x7,0x4f,0xc5,0xd7,0x79,0xfe,0x41,0x38,0x16,0xcd,0x35,0x23,0xcf,0x2c,0xcd,0xf4,0xa,0xeb,0x2a,0x21,0x41,0xe3,0xe5,0xeb,0xcd,0x1c,0x2b,0xeb,0xe3,0x18,0x14,0xcd,0x2c,0x25,0xe3,0x7d,0xfe,0xc,0x38,0x7,0xfe,0x1b,0xe5,0xdc,0xb1,0xa,0xe1,0x11,0x3e,0x25,0xd5,0x1,0x8,0x16,0x9,0x4e,0x23,0x66,0x69,0xe9,0xcd,0xd7,0x29,0x7e,0x23,0x4e,0x23,0x46,0xd1,0xc5,0xf5,0xcd,0xde,0x29,0xd1,0x5e,0x23,0x4e,0x23,0x46,0xe1,0x7b,0xb2,0xc8,0x7a,0xd6,0x1,0xd8,0xaf,0xbb,0x3c,0xd0,0x15,0x1d,0xa,0xbe,0x23,0x3,0x28,0xed,0x3f,0xc3,0x60,0x9,0x3c,0x8f,0xc1,0xa0,0xc6,0xff,0x9f,0xcd,0x8d,0x9,0x18,0x12,0x16,0x5a,0xcd,0x3a,0x23,0xcd,0x7f,0xa,0x7d,0x2f,0x6f,0x7c,0x2f,0x67,0x22,0x21,0x41,0xc1,0xc3,0x46,0x23,0x3a,0xaf,0x40,0xfe,0x8,0x30,0x5,0xd6,0x3,0xb7,0x37,0xc9,0xd6,0x3,0xb7,0xc9,0xc5,0xcd,0x7f,0xa,0xf1,0xd1,0x1,0xfa,0x27,0xc5,0xfe,0x46,0x20,0x6,0x7b,0xb5,0x6f,0x7c,0xb2,0xc9,0x7b,0xa5,0x6f,0x7c,0xa2,0xc9,0x2b,0xd7,0xc8,0xcf,0x2c,0x1,0x3,0x26,0xc5,0xf6,0xaf,0x32,0xae,0x40,0x46,0xcd,0x3d,0x1e,0xda,0x97,0x19,0xaf,0x4f,0xd7,0x38,0x5,0xcd,0x3d,0x1e,0x38,0x9,0x4f,0xd7,0x38,0xfd,0xcd,0x3d,0x1e,0x30,0xf8,0x11,0x52,0x26,0xd5,0x16,0x2,0xfe,0x25,0xc8,0x14,0xfe,0x24,0xc8,0x14,0xfe,0x21,0xc8,0x16,0x8,0xfe,0x23,0xc8,0x78,0xd6,0x41,0xe6,0x7f,0x5f,0x16,0x0,0xe5,0x21,0x1,0x41,0x19,0x56,0xe1,0x2b,0xc9,0x7a,0x32,0xaf,0x40,0xd7,0x3a,0xdc,0x40,0xb7,0xc2,0x64,0x26,0x7e,0xd6,0x28,0xca,0xe9,0x26,0xaf,0x32,0xdc,0x40,0xe5,0xd5,0x2a,0xf9,0x40,0xeb,0x2a,0xfb,0x40,0xdf,0xe1,0x28,0x19,0x1a,0x6f,0xbc,0x13,0x20,0xb,0x1a,0xb9,0x20,0x7,0x13,0x1a,0xb8,0xca,0xcc,0x26,0x3e,0x13,0x13,0xe5,0x26,0x0,0x19,0x18,0xdf,0x7c,0xe1,0xe3,0xf5,0xd5,0x11,0xf1,0x24,0xdf,0x28,0x36,0x11,0x43,0x25,0xdf,0xd1,0x28,0x35,0xf1,0xe3,0xe5,0xc5,0x4f,0x6,0x0,0xc5,0x3,0x3,0x3,0x2a,0xfd,0x40,0xe5,0x9,0xc1,0xe5,0xcd,0x55,0x19,0xe1,0x22,0xfd,0x40,0x60,0x69,0x22,0xfb,0x40,0x2b,0x36,0x0,0xdf,0x20,0xfa,0xd1,0x73,0x23,0xd1,0x73,0x23,0x72,0xeb,0x13,0xe1,0xc9,0x57,0x5f,0xf1,0xf1,0xe3,0xc9,0x32,0x24,0x41,0xc1,0x67,0x6f,0x22,0x21,0x41,0xe7,0x20,0x6,0x21,0x28,0x19,0x22,0x21,0x41,0xe1,0xc9,0xe5,0x2a,0xae,0x40,0xe3,0x57,0xd5,0xc5,0xcd,0x45,0x1e,0xc1,0xf1,0xeb,0xe3,0xe5,0xeb,0x3c,0x57,0x7e,0xfe,0x2c,0x28,0xee,0xcf,0x29,0x22,0xf3,0x40,0xe1,0x22,0xae,0x40,0xd5,0x2a,0xfb,0x40,0x3e,0x19,0xeb,0x2a,0xfd,0x40,0xeb,0xdf,0x3a,0xaf,0x40,0x28,0x27,0xbe,0x23,0x20,0x8,0x7e,0xb9,0x23,0x20,0x4,0x7e,0xb8,0x3e,0x23,0x23,0x5e,0x23,0x56,0x23,0x20,0xe0,0x3a,0xae,0x40,0xb7,0x1e,0x12,0xc2,0xa2,0x19,0xf1,0x96,0xca,0x95,0x27,0x1e,0x10,0xc3,0xa2,0x19,0x77,0x23,0x5f,0x16,0x0,0xf1,0x71,0x23,0x70,0x23,0x4f,0xcd,0x63,0x19,0x23,0x23,0x22,0xd8,0x40,0x71,0x23,0x3a,0xae,0x40,0x17,0x79,0x1,0xb,0x0,0x30,0x2,0xc1,0x3,0x71,0x23,0x70,0x23,0xf5,0xcd,0xaa,0xb,0xf1,0x3d,0x20,0xed,0xf5,0x42,0x4b,0xeb,0x19,0x38,0xc7,0xcd,0x6c,0x19,0x22,0xfd,0x40,0x2b,0x36,0x0,0xdf,0x20,0xfa,0x3,0x57,0x2a,0xd8,0x40,0x5e,0xeb,0x29,0x9,0xeb,0x2b,0x2b,0x73,0x23,0x72,0x23,0xf1,0x38,0x30,0x47,0x4f,0x7e,0x23,0x16,0xe1,0x5e,0x23,0x56,0x23,0xe3,0xf5,0xdf,0xd2,0x3d,0x27,0xcd,0xaa,0xb,0x19,0xf1,0x3d,0x44,0x4d,0x20,0xeb,0x3a,0xaf,0x40,0x44,0x4d,0x29,0xd6,0x4,0x38,0x4,0x29,0x28,0x6,0x29,0xb7,0xe2,0xc2,0x27,0x9,0xc1,0x9,0xeb,0x2a,0xf3,0x40,0xc9,0xaf,0xe5,0x32,0xaf,0x40,0xcd,0xd4,0x27,0xe1,0xd7,0xc9,0x2a,0xfd,0x40,0xeb,0x21,0x0,0x0,0x39,0xe7,0x20,0xd,0xcd,0xda,0x29,0xcd,0xe6,0x28,0x2a,0xa0,0x40,0xeb,0x2a,0xd6,0x40,0x7d,0x93,0x6f,0x7c,0x9a,0x67,0xc3,0x66,0xc,0x3a,0xa6,0x40,0x6f,0xaf,0x67,0xc3,0x9a,0xa,0xcd,0xa9,0x41,0xd7,0xcd,0x2c,0x25,0xe5,0x21,0x90,0x8,0xe5,0x3a,0xaf,0x40,0xf5,0xfe,0x3,0xcc,0xda,0x29,0xf1,0xeb,0x2a,0x8e,0x40,0xe9,0xe5,0xe6,0x7,0x21,0xa1,0x18,0x4f,0x6,0x0,0x9,0xcd,0x86,0x25,0xe1,0xc9,0xe5,0x2a,0xa2,0x40,0x23,0x7c,0xb5,0xe1,0xc0,0x1e,0x16,0xc3,0xa2,0x19,0xcd,0xbd,0xf,0xcd,0x65,0x28,0xcd,0xda,0x29,0x1,0x2b,0x2a,0xc5,0x7e,0x23,0xe5,0xcd,0xbf,0x28,0xe1,0x4e,0x23,0x46,0xcd,0x5a,0x28,0xe5,0x6f,0xcd,0xce,0x29,0xd1,0xc9,0xcd,0xbf,0x28,0x21,0xd3,0x40,0xe5,0x77,0x23,0x73,0x23,0x72,0xe1,0xc9,0x2b,0x6,0x22,0x50,0xe5,0xe,0xff,0x23,0x7e,0xc,0xb7,0x28,0x6,0xba,0x28,0x3,0xb8,0x20,0xf4,0xfe,0x22,0xcc,0x78,0x1d,0xe3,0x23,0xeb,0x79,0xcd,0x5a,0x28,0x11,0xd3,0x40,0x3e,0xd5,0x2a,0xb3,0x40,0x22,0x21,0x41,0x3e,0x3,0x32,0xaf,0x40,0xcd,0xd3,0x9,0x11,0xd6,0x40,0xdf,0x22,0xb3,0x40,0xe1,0x7e,0xc0,0x1e,0x1e,0xc3,0xa2,0x19,0x23,0xcd,0x65,0x28,0xcd,0xda,0x29,0xcd,0xc4,0x9,0x14,0x15,0xc8,0xa,0xcd,0x2a,0x3,0xfe,0xd,0xcc,0x3,0x21,0x3,0x18,0xf2,0xb7,0xe,0xf1,0xf5,0x2a,0xa0,0x40,0xeb,0x2a,0xd6,0x40,0x2f,0x4f,0x6,0xff,0x9,0x23,0xdf,0x38,0x7,0x22,0xd6,0x40,0x23,0xeb,0xf1,0xc9,0xf1,0x1e,0x1a,0xca,0xa2,0x19,0xbf,0xf5,0x1,0xc1,0x28,0xc5,0x2a,0xb1,0x40,0x22,0xd6,0x40,0x21,0x0,0x0,0xe5,0x2a,0xa0,0x40,0xe5,0x21,0xb5,0x40,0xeb,0x2a,0xb3,0x40,0xeb,0xdf,0x1,0xf7,0x28,0xc2,0x4a,0x29,0x2a,0xf9,0x40,0xeb,0x2a,0xfb,0x40,0xeb,0xdf,0x28,0x13,0x7e,0x23,0x23,0x23,0xfe,0x3,0x20,0x4,0xcd,0x4b,0x29,0xaf,0x5f,0x16,0x0,0x19,0x18,0xe6,0xc1,0xeb,0x2a,0xfd,0x40,0xeb,0xdf,0xca,0x6b,0x29,0x7e,0x23,0xcd,0xc2,0x9,0xe5,0x9,0xfe,0x3,0x20,0xeb,0x22,0xd8,0x40,0xe1,0x4e,0x6,0x0,0x9,0x9,0x23,0xeb,0x2a,0xd8,0x40,0xeb,0xdf,0x28,0xda,0x1,0x3f,0x29,0xc5,0xaf,0xb6,0x23,0x5e,0x23,0x56,0x23,0xc8,0x44,0x4d,0x2a,0xd6,0x40,0xdf,0x60,0x69,0xd8,0xe1,0xe3,0xdf,0xe3,0xe5,0x60,0x69,0xd0,0xc1,0xf1,0xf1,0xe5,0xd5,0xc5,0xc9,0xd1,0xe1,0x7d,0xb4,0xc8,0x2b,0x46,0x2b,0x4e,0xe5,0x2b,0x6e,0x26,0x0,0x9,0x50,0x59,0x2b,0x44,0x4d,0x2a,0xd6,0x40,0xcd,0x58,0x19,0xe1,0x71,0x23,0x70,0x69,0x60,0x2b,0xc3,0xe9,0x28,0xc5,0xe5,0x2a,0x21,0x41,0xe3,0xcd,0x9f,0x24,0xe3,0xcd,0xf4,0xa,0x7e,0xe5,0x2a,0x21,0x41,0xe5,0x86,0x1e,0x1c,0xda,0xa2,0x19,0xcd,0x57,0x28,0xd1,0xcd,0xde,0x29,0xe3,0xcd,0xdd,0x29,0xe5,0x2a,0xd4,0x40,0xeb,0xcd,0xc6,0x29,0xcd,0xc6,0x29,0x21,0x49,0x23,0xe3,0xe5,0xc3,0x84,0x28,0xe1,0xe3,0x7e,0x23,0x4e,0x23,0x46,0x6f,0x2c,0x2d,0xc8,0xa,0x12,0x3,0x13,0x18,0xf8,0xcd,0xf4,0xa,0x2a,0x21,0x41,0xeb,0xcd,0xf5,0x29,0xeb,0xc0,0xd5,0x50,0x59,0x1b,0x4e,0x2a,0xd6,0x40,0xdf,0x20,0x5,0x47,0x9,0x22,0xd6,0x40,0xe1,0xc9,0x2a,0xb3,0x40,0x2b,0x46,0x2b,0x4e,0x2b,0xdf,0xc0,0x22,0xb3,0x40,0xc9,0x1,0xf8,0x27,0xc5,0xcd,0xd7,0x29,0xaf,0x57,0x7e,0xb7,0xc9,0x1,0xf8,0x27,0xc5,0xcd,0x7,0x2a,0xca,0x4a,0x1e,0x23,0x5e,0x23,0x56,0x1a,0xc9,0x3e,0x1,0xcd,0x57,0x28,0xcd,0x1f,0x2b,0x2a,0xd4,0x40,0x73,0xc1,0xc3,0x84,0x28,0xd7,0xcf,0x28,0xcd,0x1c,0x2b,0xd5,0xcf,0x2c,0xcd,0x37,0x23,0xcf,0x29,0xe3,0xe5,0xe7,0x28,0x5,0xcd,0x1f,0x2b,0x18,0x3,0xcd,0x13,0x2a,0xd1,0xf5,0xf5,0x7b,0xcd,0x57,0x28,0x5f,0xf1,0x1c,0x1d,0x28,0xd4,0x2a,0xd4,0x40,0x77,0x23,0x1d,0x20,0xfb,0x18,0xca,0xcd,0xdf,0x2a,0xaf,0xe3,0x4f,0x3e,0xe5,0xe5,0x7e,0xb8,0x38,0x2,0x78,0x11,0xe,0x0,0xc5,0xcd,0xbf,0x28,0xc1,0xe1,0xe5,0x23,0x46,0x23,0x66,0x68,0x6,0x0,0x9,0x44,0x4d,0xcd,0x5a,0x28,0x6f,0xcd,0xce,0x29,0xd1,0xcd,0xde,0x29,0xc3,0x84,0x28,0xcd,0xdf,0x2a,0xd1,0xd5,0x1a,0x90,0x18,0xcb,0xeb,0x7e,0xcd,0xe2,0x2a,0x4,0x5,0xca,0x4a,0x1e,0xc5,0x1e,0xff,0xfe,0x29,0x28,0x5,0xcf,0x2c,0xcd,0x1c,0x2b,0xcf,0x29,0xf1,0xe3,0x1,0x69,0x2a,0xc5,0x3d,0xbe,0x6,0x0,0xd0,0x4f,0x7e,0x91,0xbb,0x47,0xd8,0x43,0xc9,0xcd,0x7,0x2a,0xca,0xf8,0x27,0x5f,0x23,0x7e,0x23,0x66,0x6f,0xe5,0x19,0x46,0x72,0xe3,0xc5,0x7e,0xcd,0x65,0xe,0xc1,0xe1,0x70,0xc9,0xeb,0xcf,0x29,0xc1,0xd1,0xc5,0x43,0xc9,0xfe,0x7a,0xc2,0x97,0x19,0xc3,0xd9,0x41,0xcd,0x1f,0x2b,0x32,0x94,0x40,0xcd,0x93,0x40,0xc3,0xf8,0x27,0xcd,0xe,0x2b,0xc3,0x96,0x40,0xd7,0xcd,0x37,0x23,0xe5,0xcd,0x7f,0xa,0xeb,0xe1,0x7a,0xb7,0xc9,0xcd,0x1c,0x2b,0x32,0x94,0x40,0x32,0x97,0x40,0xcf,0x2c,0x18,0x1,0xd7,0xcd,0x37,0x23,0xcd,0x5,0x2b,0xc2,0x4a,0x1e,0x2b,0xd7,0x7b,0xc9,0x3e,0x1,0x32,0x9c,0x40,0xc1,0xcd,0x10,0x1b,0xc5,0x21,0xff,0xff,0x22,0xa2,0x40,0xe1,0xd1,0x4e,0x23,0x46,0x23,0x78,0xb1,0xca,0x19,0x1a,0xcd,0xdf,0x41,0xcd,0x9b,0x1d,0xc5,0x4e,0x23,0x46,0x23,0xc5,0xe3,0xeb,0xdf,0xc1,0xda,0x18,0x1a,0xe3,0xe5,0xc5,0xeb,0x22,0xec,0x40,0xcd,0xaf,0xf,0x3e,0x20,0xe1,0xcd,0x2a,0x3,0xcd,0x7e,0x2b,0x2a,0xa7,0x40,0xcd,0x75,0x2b,0xcd,0xfe,0x20,0x18,0xbe,0x7e,0xb7,0xc8,0xcd,0x2a,0x3,0x23,0x18,0xf7,0xe5,0x2a,0xa7,0x40,0x44,0x4d,0xe1,0x16,0xff,0x18,0x3,0x3,0x15,0xc8,0x7e,0xb7,0x23,0x2,0xc8,0xf2,0x89,0x2b,0xfe,0xfb,0x20,0x8,0xb,0xb,0xb,0xb,0x14,0x14,0x14,0x14,0xfe,0x95,0xcc,0x24,0xb,0xd6,0x7f,0xe5,0x5f,0x21,0x50,0x16,0x7e,0xb7,0x23,0xf2,0xac,0x2b,0x1d,0x20,0xf7,0xe6,0x7f,0x2,0x3,0x15,0xca,0xd8,0x28,0x7e,0x23,0xb7,0xf2,0xb7,0x2b,0xe1,0x18,0xc6,0xcd,0x10,0x1b,0xd1,0xc5,0xc5,0xcd,0x2c,0x1b,0x30,0x5,0x54,0x5d,0xe3,0xe5,0xdf,0xd2,0x4a,0x1e,0x21,0x29,0x19,0xcd,0xa7,0x28,0xc1,0x21,0xe8,0x1a,0xe3,0xeb,0x2a,0xf9,0x40,0x1a,0x2,0x3,0x13,0xdf,0x20,0xf9,0x60,0x69,0x22,0xf9,0x40,0xc9,0xcd,0x84,0x2,0xcd,0x37,0x23,0xe5,0xcd,0x13,0x2a,0x3e,0xd3,0xcd,0x64,0x2,0xcd,0x61,0x2,0x1a,0xcd,0x64,0x2,0x2a,0xa4,0x40,0xeb,0x2a,0xf9,0x40,0x1a,0x13,0xcd,0x64,0x2,0xdf,0x20,0xf8,0xcd,0xf8,0x1,0xe1,0xc9,0xcd,0x93,0x2,0x7e,0xd6,0xb2,0x28,0x2,0xaf,0x1,0x2f,0x23,0xf5,0x2b,0xd7,0x3e,0x0,0x28,0x7,0xcd,0x37,0x23,0xcd,0x13,0x2a,0x1a,0x6f,0xf1,0xb7,0x67,0x22,0x21,0x41,0xcc,0x4d,0x1b,0x2a,0x21,0x41,0xeb,0x6,0x3,0xcd,0x35,0x2,0xd6,0xd3,0x20,0xf7,0x10,0xf7,0xcd,0x35,0x2,0x1c,0x1d,0x28,0x3,0xbb,0x20,0x37,0x2a,0xa4,0x40,0x6,0x3,0xcd,0x35,0x2,0x5f,0x96,0xa2,0x20,0x21,0x73,0xcd,0x6c,0x19,0x7e,0xb7,0x23,0x20,0xed,0xcd,0x2c,0x2,0x10,0xea,0x22,0xf9,0x40,0x21,0x29,0x19,0xcd,0xa7,0x28,0xcd,0xf8,0x1,0x2a,0xa4,0x40,0xe5,0xc3,0xe8,0x1a,0x21,0xa5,0x2c,0xcd,0xa7,0x28,0xc3,0x18,0x1a,0x32,0x3e,0x3c,0x6,0x3,0xcd,0x35,0x2,0xb7,0x20,0xf8,0x10,0xf8,0xcd,0x96,0x2,0x18,0xa2,0x42,0x41,0x44,0xd,0x0,0xcd,0x7f,0xa,0x7e,0xc3,0xf8,0x27,0xcd,0x2,0x2b,0xd5,0xcf,0x2c,0xcd,0x1c,0x2b,0xd1,0x12,0xc9,0xcd,0x38,0x23,0xcd,0xf4,0xa,0xcf,0x3b,0xeb,0x2a,0x21,0x41,0x18,0x8,0x3a,0xde,0x40,0xb7,0x28,0xc,0xd1,0xeb,0xe5,0xaf,0x32,0xde,0x40,0xba,0xf5,0xd5,0x46,0xb0,0xca,0x4a,0x1e,0x23,0x4e,0x23,0x66,0x69,0x18,0x1c,0x58,0xe5,0xe,0x2,0x7e,0x23,0xfe,0x25,0xca,0x17,0x2e,0xfe,0x20,0x20,0x3,0xc,0x10,0xf2,0xe1,0x43,0x3e,0x25,0xcd,0x49,0x2e,0xcd,0x2a,0x3,0xaf,0x5f,0x57,0xcd,0x49,0x2e,0x57,0x7e,0x23,0xfe,0x21,0xca,0x14,0x2e,0xfe,0x23,0x28,0x37,0x5,0xca,0xfe,0x2d,0xfe,0x2b,0x3e,0x8,0x28,0xe7,0x2b,0x7e,0x23,0xfe,0x2e,0x28,0x40,0xfe,0x25,0x28,0xbd,0xbe,0x20,0xd0,0xfe,0x24,0x28,0x14,0xfe,0x2a,0x20,0xc8,0x78,0xfe,0x2,0x23,0x38,0x3,0x7e,0xfe,0x24,0x3e,0x20,0x20,0x7,0x5,0x1c,0xfe,0xaf,0xc6,0x10,0x23,0x1c,0x82,0x57,0x1c,0xe,0x0,0x5,0x28,0x47,0x7e,0x23,0xfe,0x2e,0x28,0x18,0xfe,0x23,0x28,0xf0,0xfe,0x2c,0x20,0x1a,0x7a,0xf6,0x40,0x57,0x18,0xe6,0x7e,0xfe,0x23,0x3e,0x2e,0x20,0x90,0xe,0x1,0x23,0xc,0x5,0x28,0x25,0x7e,0x23,0xfe,0x23,0x28,0xf6,0xd5,0x11,0x97,0x2d,0xd5,0x54,0x5d,0xfe,0x5b,0xc0,0xbe,0xc0,0x23,0xbe,0xc0,0x23,0xbe,0xc0,0x23,0x78,0xd6,0x4,0xd8,0xd1,0xd1,0x47,0x14,0x23,0xca,0xeb,0xd1,0x7a,0x2b,0x1c,0xe6,0x8,0x20,0x15,0x1d,0x78,0xb7,0x28,0x10,0x7e,0xd6,0x2d,0x28,0x6,0xfe,0xfe,0x20,0x7,0x3e,0x8,0xc6,0x4,0x82,0x57,0x5,0xe1,0xf1,0x28,0x50,0xc5,0xd5,0xcd,0x37,0x23,0xd1,0xc1,0xc5,0xe5,0x43,0x78,0x81,0xfe,0x19,0xd2,0x4a,0x1e,0x7a,0xf6,0x80,0xcd,0xbe,0xf,0xcd,0xa7,0x28,0xe1,0x2b,0xd7,0x37,0x28,0xd,0x32,0xde,0x40,0xfe,0x3b,0x28,0x5,0xfe,0x2c,0xc2,0x97,0x19,0xd7,0xc1,0xeb,0xe1,0xe5,0xf5,0xd5,0x7e,0x90,0x23,0x4e,0x23,0x66,0x69,0x16,0x0,0x5f,0x19,0x78,0xb7,0xc2,0x3,0x2d,0x18,0x6,0xcd,0x49,0x2e,0xcd,0x2a,0x3,0xe1,0xf1,0xc2,0xcb,0x2c,0xdc,0xfe,0x20,0xe3,0xcd,0xdd,0x29,0xe1,0xc3,0x69,0x21,0xe,0x1,0x3e,0xf1,0x5,0xcd,0x49,0x2e,0xe1,0xf1,0x28,0xe9,0xc5,0xcd,0x37,0x23,0xcd,0xf4,0xa,0xc1,0xc5,0xe5,0x2a,0x21,0x41,0x41,0xe,0x0,0xc5,0xcd,0x68,0x2a,0xcd,0xaa,0x28,0x2a,0x21,0x41,0xf1,0x96,0x47,0x3e,0x20,0x4,0x5,0xca,0xd3,0x2d,0xcd,0x2a,0x3,0x18,0xf7,0xf5,0x7a,0xb7,0x3e,0x2b,0xc4,0x2a,0x3,0xf1,0xc9,0x32,0x9a,0x40,0x2a,0xea,0x40,0xb4,0xa5,0x3c,0xeb,0xc8,0x18,0x4,0xcd,0x4f,0x1e,0xc0,0xe1,0xeb,0x22,0xec,0x40,0xeb,0xcd,0x2c,0x1b,0xd2,0xd9,0x1e,0x60,0x69,0x23,0x23,0x4e,0x23,0x46,0x23,0xc5,0xcd,0x7e,0x2b,0xe1,0xe5,0xcd,0xaf,0xf,0x3e,0x20,0xcd,0x2a,0x3,0x2a,0xa7,0x40,0x3e,0xe,0xcd,0x2a,0x3,0xe5,0xe,0xff,0xc,0x7e,0xb7,0x23,0x20,0xfa,0xe1,0x47,0x16,0x0,0xcd,0x84,0x3,0xd6,0x30,0x38,0xe,0xfe,0xa,0x30,0xa,0x5f,0x7a,0x7,0x7,0x82,0x7,0x83,0x57,0x18,0xeb,0xe5,0x21,0x99,0x2e,0xe3,0x15,0x14,0xc2,0xbb,0x2e,0x14,0xfe,0xd8,0xca,0xd2,0x2f,0xfe,0xdd,0xca,0xe0,0x2f,0xfe,0xf0,0x28,0x41,0xfe,0x31,0x38,0x2,0xd6,0x20,0xfe,0x21,0xca,0xf6,0x2f,0xfe,0x1c,0xca,0x40,0x2f,0xfe,0x23,0x28,0x3f,0xfe,0x19,0xca,0x7d,0x2f,0xfe,0x14,0xca,0x4a,0x2f,0xfe,0x13,0xca,0x65,0x2f,0xfe,0x15,0xca,0xe3,0x2f,0xfe,0x28,0xca,0x78,0x2f,0xfe,0x1b,0x28,0x1c,0xfe,0x18,0xca,0x75,0x2f,0xfe,0x11,0xc0,0xc1,0xd1,0xcd,0xfe,0x20,0xc3,0x65,0x2e,0x7e,0xb7,0xc8,0x4,0xcd,0x2a,0x3,0x23,0x15,0x20,0xf5,0xc9,0xe5,0x21,0x5f,0x2f,0xe3,0x37,0xf5,0xcd,0x84,0x3,0x5f,0xf1,0xf5,0xdc,0x5f,0x2f,0x7e,0xb7,0xca,0x3e,0x2f,0xcd,0x2a,0x3,0xf1,0xf5,0xdc,0xa1,0x2f,0x38,0x2,0x23,0x4,0x7e,0xbb,0x20,0xeb,0x15,0x20,0xe8,0xf1,0xc9,0xcd,0x75,0x2b,0xcd,0xfe,0x20,0xc1,0xc3,0x7c,0x2e,0x7e,0xb7,0xc8,0x3e,0x21,0xcd,0x2a,0x3,0x7e,0xb7,0x28,0x9,0xcd,0x2a,0x3,0xcd,0xa1,0x2f,0x15,0x20,0xf3,0x3e,0x21,0xcd,0x2a,0x3,0xc9,0x7e,0xb7,0xc8,0xcd,0x84,0x3,0x77,0xcd,0x2a,0x3,0x23,0x4,0x15,0x20,0xf1,0xc9,0x36,0x0,0x48,0x16,0xff,0xcd,0xa,0x2f,0xcd,0x84,0x3,0xb7,0xca,0x7d,0x2f,0xfe,0x8,0x28,0xa,0xfe,0xd,0xca,0xe0,0x2f,0xfe,0x1b,0xc8,0x20,0x1e,0x3e,0x8,0x5,0x4,0x28,0x1f,0xcd,0x2a,0x3,0x2b,0x5,0x11,0x7d,0x2f,0xd5,0xe5,0xd,0x7e,0xb7,0x37,0xca,0x90,0x8,0x23,0x7e,0x2b,0x77,0x23,0x18,0xf3,0xf5,0x79,0xfe,0xff,0x38,0x3,0xf1,0x18,0xc4,0x90,0xc,0x4,0xc5,0xeb,0x6f,0x26,0x0,0x19,0x44,0x4d,0x23,0xcd,0x58,0x19,0xc1,0xf1,0x77,0xcd,0x2a,0x3,0x23,0xc3,0x7d,0x2f,0x78,0xb7,0xc8,0x5,0x2b,0x3e,0x8,0xcd,0x2a,0x3,0x15,0x20,0xf3,0xc9,0xcd,0x75,0x2b,0xcd,0xfe,0x20,0xc1,0xd1,0x7a,0xa3,0x3c,0x2a,0xa7,0x40,0x2b,0xc8,0x37,0x23,0xf5,0xc3,0x98,0x1a,0xc1,0xd1,0xc3,0x19,0x1a,0xde,0xc3,0xc3,0x44,0xb2,0xcd,0x5c,0x30,0xc3,0x21,0x30,0x21,0x47,0x31,0x18,0x7,0xcd,0x5c,0x30,0x3e,0x10,0x18,0x10,0x22,0x1e,0x40,0x21,0xd4,0x33,0x22,0x4,0x40,0xcd,0x61,0x1b,0xc3,0x19,0x1a,0xaf,0xfd,0x77,0x6,0xfd,0xe5,0xe1,0x6,0x5,0xaf,0x23,0x77,0x10,0xfc,0x21,0x40,0x30,0xcd,0xc9,0x1,0xcd,0xa7,0x28,0x21,0x78,0x30,0x22,0x16,0x40,0x18,0xc6,0x4e,0x45,0x57,0x20,0x4b,0x45,0x59,0x42,0x4f,0x41,0x52,0x44,0x20,0x52,0x4f,0x55,0x54,0x49,0x4e,0x45,0x20,0x45,0x4e,0x41,0x42,0x4c,0x45,0x0,0x2a,0xb1,0x40,0x11,0xfa,0xff,0x19,0x22,0xb1,0x40,0x22,0x49,0x40,0x22,0x1b,0x40,0x11,0xce,0xff,0x19,0x22,0xa0,0x40,0xfd,0x2a,0x1b,0x40,0xc9,0xfd,0xe5,0xcd,0x80,0x30,0xfd,0xe1,0xc9,0xfd,0x2a,0x1b,0x40,0x21,0x36,0x40,0x1,0x80,0x38,0xa,0xe6,0x1,0x28,0x14,0xe,0x40,0xa,0xe6,0x4,0x28,0xd,0xa,0xe6,0x4,0x20,0xfb,0xfd,0x7e,0x6,0xee,0x10,0xfd,0x77,0x6,0xfd,0x7e,0x5,0xa7,0x28,0x8,0x5f,0xfd,0x4e,0x3,0xa,0xa3,0x20,0x47,0x3a,0x22,0x40,0xa7,0x28,0x13,0xfd,0x7e,0x6,0xa7,0x20,0xd,0xfd,0x34,0x2,0x20,0x8,0xed,0x5b,0x20,0x40,0x1a,0xee,0xd0,0x12,0xaf,0xfd,0x77,0x5,0xe,0x1,0x16,0x0,0xa,0x5f,0xae,0x73,0xa3,0x20,0x8,0x14,0x2c,0xcb,0x1,0xf2,0xd2,0x30,0xc9,0x5f,0xc5,0x1,0x0,0x6,0xcd,0x60,0x0,0xc1,0xa,0xa3,0xc8,0xfd,0x77,0x5,0xfd,0x71,0x3,0xfd,0x70,0x4,0x18,0x6d,0xfd,0x7e,0x4,0xa7,0x20,0xe,0xc5,0x1,0x0,0xa,0xcd,0x60,0x0,0xc1,0xa,0xa3,0x28,0xc0,0x18,0x28,0x21,0x0,0x4c,0xe5,0xc5,0x21,0x36,0x40,0xe,0x1,0xa,0x5f,0xae,0xa3,0x20,0x23,0x2c,0xcb,0x1,0xf2,0x16,0x31,0xc1,0xfd,0x5e,0x5,0xa,0xa3,0x28,0x16,0xe1,0x2b,0xcb,0x74,0x20,0xdf,0xaf,0xfd,0x77,0x4,0x16,0x0,0xcb,0x41,0x20,0x2b,0xcb,0x19,0x14,0x18,0xf7,0xc1,0xe1,0x21,0x36,0x40,0xc3,0xca,0x30,0xdd,0x6e,0x3,0xdd,0x66,0x4,0xda,0x9a,0x4,0xdd,0x7e,0x5,0xb7,0x28,0x1,0x77,0x79,0xfe,0x20,0xda,0x6,0x5,0xfe,0x80,0xd2,0xa6,0x4,0xc3,0x7d,0x4,0xe5,0x21,0x6d,0x31,0xe3,0xc3,0xfb,0x3,0xfe,0x10,0x28,0x1,0xc9,0xdb,0xfd,0xe6,0xf0,0xfe,0x30,0x20,0x2a,0x21,0x0,0x3c,0x7d,0xe6,0x3f,0x3e,0xd,0xcc,0x3b,0x0,0x7e,0xcb,0x7f,0x28,0x2,0xe6,0xbf,0xcb,0x74,0x23,0x20,0x5,0xcd,0x3b,0x0,0x18,0xe7,0x6,0x6,0x3e,0x20,0xcd,0x3b,0x0,0x3e,0xd,0xcd,0x3b,0x0,0x10,0xf4,0xaf,0xc9,0xe3,0x22,0xfe,0x41,0xe3,0xed,0x73,0xfc,0x41,0x31,0xfc,0x41,0x8,0xd9,0xe5,0xd5,0xc5,0xf5,0x8,0xd9,0xe5,0xd5,0xc5,0xf5,0xdd,0xe5,0xfd,0xe5,0xed,0x7b,0xfc,0x41,0xcd,0xc9,0x1,0xcd,0x34,0x32,0xcd,0x49,0x0,0xcd,0x3a,0x3,0xfe,0x44,0x28,0x19,0xfe,0x4d,0x28,0x4d,0xfe,0x52,0x28,0x4e,0xfe,0x42,0x20,0x6,0xcd,0x61,0x1b,0xc3,0x19,0x1a,0xfe,0x47,0xcc,0xeb,0x32,0x18,0xd7,0xcd,0x92,0x33,0xfe,0x58,0x28,0xd0,0xcd,0xc9,0x1,0xcd,0x69,0x32,0x3e,0x3e,0xcd,0x3a,0x3,0x6,0x10,0x7e,0xcd,0x73,0x33,0x3e,0x20,0xcd,0x3a,0x3,0x23,0x10,0xf4,0x3e,0xd,0xcd,0x3a,0x3,0xcd,0x49,0x0,0xfe,0xa,0x28,0xde,0xfe,0x5b,0x20,0xa7,0x11,0x20,0x0,0xb7,0xed,0x52,0x18,0xd2,0xcd,0x72,0x32,0x18,0x9a,0xcd,0xc9,0x1,0xcd,0xbd,0x32,0x18,0x92,0xfd,0x21,0xe8,0x41,0x21,0x98,0x32,0x6,0xc,0xc5,0xcd,0x4e,0x32,0x3e,0xd,0xcd,0x3a,0x3,0xc1,0xfd,0x23,0xfd,0x23,0x10,0xf0,0xc9,0x6,0x3,0x7e,0xcd,0x3a,0x3,0x23,0x10,0xf9,0x3e,0x3d,0xcd,0x3a,0x3,0xfd,0x7e,0x1,0xcd,0x73,0x33,0xfd,0x7e,0x0,0xcd,0x73,0x33,0xc9,0x7c,0xcd,0x73,0x33,0x7d,0xcd,0x73,0x33,0xc9,0xcd,0x92,0x33,0xfe,0x58,0xc8,0xcd,0xc9,0x1,0xcd,0x69,0x32,0x3e,0x3e,0xcd,0x3a,0x3,0x7e,0xcd,0x73,0x33,0x3e,0x2d,0xcd,0x3a,0x3,0xcd,0x9b,0x33,0x70,0x3e,0xd,0xcd,0x3a,0x3,0x23,0x18,0xe3,0x49,0x59,0x20,0x49,0x58,0x20,0x41,0x46,0x20,0x42,0x43,0x20,0x44,0x45,0x20,0x48,0x4c,0x20,0x41,0x46,0x27,0x42,0x43,0x27,0x44,0x45,0x27,0x48,0x4c,0x27,0x53,0x50,0x20,0x50,0x43,0x20,0x0,0x21,0x98,0x32,0xfd,0x21,0xe8,0x41,0x6,0xc,0xc5,0xcd,0x4e,0x32,0x3e,0x2f,0xcd,0x3a,0x3,0xe5,0xcd,0x92,0x33,0xfe,0x58,0x28,0x6,0xfd,0x75,0x0,0xfd,0x74,0x1,0xfd,0x23,0xfd,0x23,0xe1,0x3e,0xd,0xcd,0x3a,0x3,0xc1,0x10,0xdc,0xc9,0xcd,0x9b,0x33,0x60,0xcd,0x9b,0x33,0x68,0x22,0xfe,0x41,0xcd,0x49,0x0,0xfe,0x2c,0x28,0x9,0xfe,0xd,0x28,0x22,0xfe,0x58,0xc8,0x18,0xf0,0xcd,0x3a,0x3,0xcd,0x92,0x33,0xfe,0x58,0xc8,0xe5,0x11,0x0,0x42,0x1,0x3,0x0,0xed,0xb0,0xe1,0x11,0x47,0x33,0x3e,0xcd,0x77,0x23,0x73,0x23,0x72,0xed,0x7b,0xfc,0x41,0x2a,0xfe,0x41,0xe5,0xed,0x73,0xfc,0x41,0x31,0xe8,0x41,0xfd,0xe1,0xdd,0xe1,0xf1,0xc1,0xd1,0xe1,0x8,0xd9,0xf1,0xc1,0xd1,0xe1,0x8,0xd9,0xed,0x7b,0xfc,0x41,0xc9,0xe3,0x2b,0x2b,0x2b,0x22,0xfe,0x41,0x32,0x3,0x42,0xed,0x53,0x4,0x42,0x78,0x32,0x6,0x42,0x11,0x0,0x42,0xeb,0x1,0x3,0x0,0xed,0xb0,0xeb,0xed,0x5b,0x4,0x42,0x3a,0x6,0x42,0x47,0x3a,0x3,0x42,0x21,0xab,0x31,0xe3,0xc9,0x4f,0xcb,0x3f,0xcb,0x3f,0xcb,0x3f,0xcb,0x3f,0xcd,0x86,0x33,0x79,0xe6,0xf,0xcd,0x86,0x33,0xc9,0xc6,0x30,0xfe,0x3a,0x38,0x2,0xc6,0x7,0xcd,0x3a,0x3,0xc9,0xcd,0x9b,0x33,0x60,0xcd,0x9b,0x33,0x68,0xc9,0xcd,0xb5,0x33,0xcb,0x27,0xcb,0x27,0xcb,0x27,0xcb,0x27,0x47,0x79,0xcd,0x3a,0x3,0xcd,0xb5,0x33,0x80,0x47,0x79,0xcd,0x3a,0x3,0xc9,0xcd,0x49,0x0,0xfe,0x58,0x20,0x5,0xe3,0xe1,0xe3,0xe1,0xc9,0x4f,0xd6,0x30,0x38,0xef,0xfe,0xa,0xd8,0xd6,0x11,0x38,0xe8,0xc6,0xa,0xfe,0x10,0xd8,0x18,0xe1,0xe3,0x3e,0x1d,0xbc,0x20,0x3,0x3e,0x5b,0xbd,0xe3,0xc2,0x78,0x1d,0xcd,0x78,0x1d,0xf5,0xe5,0xfe,0x52,0x20,0x7,0x23,0x7e,0xfe,0x45,0xca,0x6d,0x34,0xe1,0xf1,0xc9,0xd5,0x22,0x21,0x41,0x1,0x0,0x0,0x2a,0xa7,0x40,0xe5,0xcd,0x2f,0x13,0xe1,0x6,0x5,0x7e,0xd6,0x30,0x20,0x5,0x23,0x10,0xf8,0x2b,0x4,0xd1,0xc9,0xfd,0x23,0xfd,0x23,0xfd,0x23,0xfd,0x23,0xc9,0x23,0x7e,0xb7,0xc8,0xfe,0x8d,0x28,0xc,0xfe,0x91,0x28,0x8,0xfe,0xca,0x28,0x4,0xfe,0x95,0x20,0xec,0xa7,0xc9,0xed,0x5b,0xa7,0x40,0xd5,0x6,0x0,0x7e,0xfe,0x20,0x28,0xb,0xfe,0x30,0x38,0xa,0xfe,0x3a,0x30,0x6,0x4,0x12,0x13,0x23,0x18,0xed,0xaf,0x12,0xd1,0x4,0x5,0xc9,0xc5,0x78,0x99,0x28,0x10,0x5,0x28,0x8,0xd,0x20,0xf6,0xcd,0xcd,0x35,0x18,0x5,0x41,0x5,0xcd,0xac,0x35,0xc1,0x1a,0x77,0x13,0x23,0x10,0xfa,0xc9,0x23,0x11,0xa,0x0,0xed,0x53,0xe2,0x40,0xed,0x53,0xe4,0x40,0x7e,0xa7,0x28,0x22,0xfe,0x2c,0x28,0x11,0xcd,0x5a,0x1e,0x4f,0x7a,0xb3,0x28,0x13,0x79,0xed,0x53,0xe2,0x40,0xfe,0x2c,0x20,0xd,0x23,0xcd,0x5a,0x1e,0xed,0x53,0xe4,0x40,0x7a,0xb3,0xca,0x97,0x19,0xfd,0x2a,0xf9,0x40,0x11,0x0,0x1,0xfd,0x19,0xfd,0xe5,0x2a,0xa4,0x40,0xe5,0x7e,0x23,0xb6,0xca,0xfe,0x34,0x23,0x23,0xcd,0x1a,0x34,0x23,0x28,0xf2,0xcd,0x30,0x34,0x2b,0x28,0xf4,0x23,0xe5,0xd5,0xfd,0xe5,0xd1,0x2a,0xb1,0x40,0xed,0x52,0xda,0x7a,0x19,0x11,0x4,0x0,0xed,0x52,0xda,0x7a,0x19,0xfd,0x70,0x0,0xe1,0xcd,0x5a,0x1e,0xfd,0x73,0x1,0xfd,0x72,0x2,0xfd,0x36,0x3,0x0,0xcd,0x11,0x34,0xe1,0x2b,0x23,0x7e,0xfe,0x20,0x28,0xfa,0xfe,0x2c,0x28,0x3,0x2b,0x18,0xbb,0x23,0x18,0xbe,0xfd,0x36,0x0,0xff,0xe1,0xfd,0xe1,0xed,0x5b,0xe2,0x40,0xd5,0xfd,0xe5,0xe5,0xd5,0xcd,0xc2,0x9,0x7a,0xb3,0x28,0x41,0xeb,0xd1,0xfd,0xe5,0xfd,0x7e,0x0,0x3c,0x28,0x21,0xfd,0x7e,0x3,0xb7,0x20,0x16,0xfd,0x7e,0x1,0xb9,0x20,0x10,0xfd,0x7e,0x2,0xb8,0x20,0xa,0xfd,0x73,0x1,0xfd,0x72,0x2,0xfd,0x36,0x3,0x1,0xcd,0x11,0x34,0x18,0xd9,0xfd,0xe1,0xe5,0x2a,0xe4,0x40,0x19,0xda,0x7a,0x19,0xeb,0x21,0xf8,0xff,0xed,0x52,0xda,0x7a,0x19,0xe1,0x18,0xb7,0xd1,0xe1,0xfd,0xe1,0xd1,0x7e,0x23,0xb6,0xca,0x83,0x2c,0x23,0x73,0x23,0x72,0xcd,0x1a,0x34,0x23,0x20,0x9,0xe5,0x2a,0xe4,0x40,0x19,0xeb,0xe1,0x18,0xe7,0xe5,0xd5,0xcd,0x30,0x34,0xd1,0xe1,0x2b,0x28,0xe7,0x23,0x7e,0xfe,0x20,0x28,0xfa,0xd5,0xe5,0xfd,0x6e,0x1,0xfd,0x66,0x2,0xcd,0xf4,0x33,0xfd,0x4e,0x0,0xcd,0x11,0x34,0xeb,0xe1,0xcd,0x50,0x34,0xd1,0x2b,0x23,0x7e,0xfe,0x20,0x28,0xfa,0xfe,0x2c,0x28,0x3,0x2b,0x18,0xbc,0x23,0x18,0xc8,0xd5,0xc5,0xe5,0xe5,0xd1,0xd5,0xd5,0x2a,0xf9,0x40,0xe5,0x2b,0x13,0x10,0xfc,0x22,0xf9,0x40,0xe1,0xc1,0xed,0x42,0x23,0xe5,0xc1,0xe1,0xeb,0xed,0xb0,0xe1,0xc1,0xd1,0xc9,0xd5,0xc5,0xe5,0x2a,0xf9,0x40,0xe5,0xd1,0x23,0x10,0xfd,0x22,0xf9,0x40,0xc1,0xc5,0xe5,0xb7,0xed,0x42,0xe5,0xc1,0x3,0xe1,0xeb,0xed,0xb8,0xe1,0xc1,0xd1,0xc9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0 };
|
|
|
|
|
|
// Arrays which hold the Z80 clock cycles for each opcode
|
|
uint8_t Opcode_Timing_Main[256] = {0x0,0x6,0x3,0x2,0x0,0x0,0x3,0x0,0x0,0x7,0x3,0x2,0x0,0x0,0x3,0x0,0x4,0x6,0x3,0x2,0x0,0x0,0x3,0x0,0x8,0x7,0x3,0x2,0x0,0x0,0x3,0x0,0x3,0x6,0xc,0x2,0x0,0x0,0x3,0x0,0x3,0x7,0xc,0x2,0x0,0x0,0x3,0x0,0x3,0x6,0x9,0x2,0x7,0x7,0x6,0x0,0x3,0x7,0x9,0x2,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x3,0x3,0x3,0x3,0x3,0x3,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x1,0x6,0x6,0x6,0x6,0x7,0x3,0x7,0x1,0x6,0x6,0x0,0x6,0xd,0x3,0x7,0x1,0x6,0x6,0x7,0x6,0x7,0x3,0x7,0x1,0x0,0x6,0x7,0x6,0x0,0x3,0x7,0x1,0x6,0x6,0xf,0x6,0x7,0x3,0x7,0x1,0x0,0x6,0x0,0x6,0x0,0x3,0x7,0x1,0x6,0x6,0x0,0x6,0x7,0x3,0x7,0x1,0x2,0x6,0x0,0x6,0x0,0x3,0x7 };
|
|
uint8_t Opcode_Timing_ED[256] = {0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x8,0x8,0xb,0x10,0x4,0xa,0x4,0x5,0x8,0x8,0xb,0x10,0x4,0xa,0x4,0x5,0x8,0x8,0xb,0x10,0x4,0xa,0x4,0x5,0x8,0x8,0xb,0x10,0x4,0xa,0x4,0x5,0x8,0x8,0xb,0x10,0x4,0xa,0x4,0xe,0x8,0x8,0xb,0x10,0x4,0xa,0x4,0xe,0x8,0x8,0xb,0x10,0x4,0xa,0x4,0x4,0x8,0x8,0xb,0x10,0x4,0xa,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0xc,0xc,0xc,0xc,0x4,0x4,0x4,0x4,0xc,0xc,0xc,0xc,0x4,0x4,0x4,0x4,0xc,0xc,0xc,0xc,0x4,0x4,0x4,0x4,0xc,0xc,0xc,0xc,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4 };
|
|
uint8_t Opcode_Timing_DDFD[256] = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xb,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xb,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xa,0x10,0x6,0x4,0x4,0x7,0x0,0x0,0xb,0x10,0x6,0x4,0x4,0x7,0x0,0x0,0x0,0x0,0x0,0x13,0x13,0xf,0x0,0x0,0xb,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0xf,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0xf,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0xf,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0xf,0x0,0x4,0x4,0x4,0x4,0x4,0x4,0xf,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0xf,0x4,0xf,0xf,0xf,0xf,0xf,0xf,0x0,0xf,0x0,0x0,0x0,0x0,0x4,0x4,0xf,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0xf,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0xf,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0xf,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0xf,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0xf,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0xf,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0xf,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0xf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xa,0x0,0x13,0x0,0xb,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x0,0x0,0x0 };
|
|
|
|
|
|
// Pre-calculated 8-bit parity
|
|
uint8_t Parity_Array[256] = {4,0,0,4,0,4,4,0,0,4,4,0,4,0,0,4,0,4,4,0,4,0,0,4,4,0,0,4,0,4,4,0,0,4,4,0,4,0,0,4,4,0,0,4,0,4,4,0,4,0,0,4,0,4,4,0,0,4,4,0,4,0,0,4,0,4,4,0,4,0,0,4,4,0,0,4,0,4,4,0,4,0,0,4,0,4,4,0,0,4,4,0,4,0,0,4,4,0,0,4,0,4,4,0,0,4,4,0,4,0,0,4,0,4,4,0,4,0,0,4,4,0,0,4,0,4,4,0,0,4,4,0,4,0,0,4,4,0,0,4,0,4,4,0,4,0,0,4,0,4,4,0,0,4,4,0,4,0,0,4,4,0,0,4,0,4,4,0,0,4,4,0,4,0,0,4,0,4,4,0,4,0,0,4,4,0,0,4,0,4,4,0,4,0,0,4,0,4,4,0,0,4,4,0,4,0,0,4,0,4,4,0,4,0,0,4,4,0,0,4,0,4,4,0,0,4,4,0,4,0,0,4,4,0,0,4,0,4,4,0,4,0,0,4,0,4,4,0,0,4,4,0,4,0,0,4 };
|
|
|
|
|
|
// Teensy 4.1 GPIO register mapping for address and data busses
|
|
uint32_t gpio7_low_array[0x100] = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400,0x400,0x400,0x400,0x400,0x400,0x400,0x400,0x20000,0x20000,0x20000,0x20000,0x20000,0x20000,0x20000,0x20000,0x20400,0x20400,0x20400,0x20400,0x20400,0x20400,0x20400,0x20400,0x10000,0x10000,0x10000,0x10000,0x10000,0x10000,0x10000,0x10000,0x10400,0x10400,0x10400,0x10400,0x10400,0x10400,0x10400,0x10400,0x30000,0x30000,0x30000,0x30000,0x30000,0x30000,0x30000,0x30000,0x30400,0x30400,0x30400,0x30400,0x30400,0x30400,0x30400,0x30400,0x800,0x800,0x800,0x800,0x800,0x800,0x800,0x800,0xc00,0xc00,0xc00,0xc00,0xc00,0xc00,0xc00,0xc00,0x20800,0x20800,0x20800,0x20800,0x20800,0x20800,0x20800,0x20800,0x20c00,0x20c00,0x20c00,0x20c00,0x20c00,0x20c00,0x20c00,0x20c00,0x10800,0x10800,0x10800,0x10800,0x10800,0x10800,0x10800,0x10800,0x10c00,0x10c00,0x10c00,0x10c00,0x10c00,0x10c00,0x10c00,0x10c00,0x30800,0x30800,0x30800,0x30800,0x30800,0x30800,0x30800,0x30800,0x30c00,0x30c00,0x30c00,0x30c00,0x30c00,0x30c00,0x30c00,0x30c00,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x401,0x401,0x401,0x401,0x401,0x401,0x401,0x401,0x20001,0x20001,0x20001,0x20001,0x20001,0x20001,0x20001,0x20001,0x20401,0x20401,0x20401,0x20401,0x20401,0x20401,0x20401,0x20401,0x10001,0x10001,0x10001,0x10001,0x10001,0x10001,0x10001,0x10001,0x10401,0x10401,0x10401,0x10401,0x10401,0x10401,0x10401,0x10401,0x30001,0x30001,0x30001,0x30001,0x30001,0x30001,0x30001,0x30001,0x30401,0x30401,0x30401,0x30401,0x30401,0x30401,0x30401,0x30401,0x801,0x801,0x801,0x801,0x801,0x801,0x801,0x801,0xc01,0xc01,0xc01,0xc01,0xc01,0xc01,0xc01,0xc01,0x20801,0x20801,0x20801,0x20801,0x20801,0x20801,0x20801,0x20801,0x20c01,0x20c01,0x20c01,0x20c01,0x20c01,0x20c01,0x20c01,0x20c01,0x10801,0x10801,0x10801,0x10801,0x10801,0x10801,0x10801,0x10801,0x10c01,0x10c01,0x10c01,0x10c01,0x10c01,0x10c01,0x10c01,0x10c01,0x30801,0x30801,0x30801,0x30801,0x30801,0x30801,0x30801,0x30801,0x30c01,0x30c01,0x30c01,0x30c01,0x30c01,0x30c01,0x30c01,0x30c01 };
|
|
uint32_t gpio9_low_array[0x100] = {0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160 };
|
|
uint32_t gpio7_high_array[0x100] = {0x0,0x80000,0x40000,0xc0000,0x10000000,0x10080000,0x10040000,0x100c0000,0x20000000,0x20080000,0x20040000,0x200c0000,0x30000000,0x30080000,0x30040000,0x300c0000,0x0,0x80000,0x40000,0xc0000,0x10000000,0x10080000,0x10040000,0x100c0000,0x20000000,0x20080000,0x20040000,0x200c0000,0x30000000,0x30080000,0x30040000,0x300c0000,0x1000,0x81000,0x41000,0xc1000,0x10001000,0x10081000,0x10041000,0x100c1000,0x20001000,0x20081000,0x20041000,0x200c1000,0x30001000,0x30081000,0x30041000,0x300c1000,0x1000,0x81000,0x41000,0xc1000,0x10001000,0x10081000,0x10041000,0x100c1000,0x20001000,0x20081000,0x20041000,0x200c1000,0x30001000,0x30081000,0x30041000,0x300c1000,0x0,0x80000,0x40000,0xc0000,0x10000000,0x10080000,0x10040000,0x100c0000,0x20000000,0x20080000,0x20040000,0x200c0000,0x30000000,0x30080000,0x30040000,0x300c0000,0x0,0x80000,0x40000,0xc0000,0x10000000,0x10080000,0x10040000,0x100c0000,0x20000000,0x20080000,0x20040000,0x200c0000,0x30000000,0x30080000,0x30040000,0x300c0000,0x1000,0x81000,0x41000,0xc1000,0x10001000,0x10081000,0x10041000,0x100c1000,0x20001000,0x20081000,0x20041000,0x200c1000,0x30001000,0x30081000,0x30041000,0x300c1000,0x1000,0x81000,0x41000,0xc1000,0x10001000,0x10081000,0x10041000,0x100c1000,0x20001000,0x20081000,0x20041000,0x200c1000,0x30001000,0x30081000,0x30041000,0x300c1000,0x0,0x80000,0x40000,0xc0000,0x10000000,0x10080000,0x10040000,0x100c0000,0x20000000,0x20080000,0x20040000,0x200c0000,0x30000000,0x30080000,0x30040000,0x300c0000,0x0,0x80000,0x40000,0xc0000,0x10000000,0x10080000,0x10040000,0x100c0000,0x20000000,0x20080000,0x20040000,0x200c0000,0x30000000,0x30080000,0x30040000,0x300c0000,0x1000,0x81000,0x41000,0xc1000,0x10001000,0x10081000,0x10041000,0x100c1000,0x20001000,0x20081000,0x20041000,0x200c1000,0x30001000,0x30081000,0x30041000,0x300c1000,0x1000,0x81000,0x41000,0xc1000,0x10001000,0x10081000,0x10041000,0x100c1000,0x20001000,0x20081000,0x20041000,0x200c1000,0x30001000,0x30081000,0x30041000,0x300c1000,0x0,0x80000,0x40000,0xc0000,0x10000000,0x10080000,0x10040000,0x100c0000,0x20000000,0x20080000,0x20040000,0x200c0000,0x30000000,0x30080000,0x30040000,0x300c0000,0x0,0x80000,0x40000,0xc0000,0x10000000,0x10080000,0x10040000,0x100c0000,0x20000000,0x20080000,0x20040000,0x200c0000,0x30000000,0x30080000,0x30040000,0x300c0000,0x1000,0x81000,0x41000,0xc1000,0x10001000,0x10081000,0x10041000,0x100c1000,0x20001000,0x20081000,0x20041000,0x200c1000,0x30001000,0x30081000,0x30041000,0x300c1000,0x1000,0x81000,0x41000,0xc1000,0x10001000,0x10081000,0x10041000,0x100c1000,0x20001000,0x20081000,0x20041000,0x200c1000,0x30001000,0x30081000,0x30041000,0x300c1000 };
|
|
uint32_t gpio8_high_array[0x100] = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000 };
|
|
uint32_t gpio9_high_array[0x100] = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80 };
|
|
uint8_t read_data_array[0x10000] = { 0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff };
|
|
|
|
|
|
// NABU Video Chip configuration sequence
|
|
uint8_t write_video[100000] = {0xA1,0xF5,0xA1,0x87,0xA1,0x0,0xA1,0x86,0xA1,0x0,0xA1,0x85,0xA1,0x0,0xA1,0x84,0xA1,0x0,0xA1,0x83,0xA1,0x2,0xA1,0x82,0xA1,0xD0,0xA1,0x81,0xA1,0x0,0xA1,0x80,0xA1,0x0,0xA1,0x41,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x10,0xA0,0x10,0xA0,0x10,0xA0,0x10,0xA0,0x10,0xA0,0x0,0xA0,0x10,0xA0,0x0,0xA0,0x28,0xA0,0x28,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x28,0xA0,0x28,0xA0,0x7C,0xA0,0x28,0xA0,0x7C,0xA0,0x28,0xA0,0x28,0xA0,0x0,0xA0,0x38,0xA0,0x54,0xA0,0x50,0xA0,0x38,0xA0,0x14,0xA0,0x54,0xA0,0x38,0xA0,0x0,0xA0,0x60,0xA0,0x64,0xA0,0x8,0xA0,0x10,0xA0,0x20,0xA0,0x6C,0xA0,0xC,0xA0,0x0,0xA0,0x10,0xA0,0x28,0xA0,0x28,0xA0,0x30,0xA0,0x50,0xA0,0x4C,0xA0,0x7C,0xA0,0x0,0xA0,0x30,0xA0,0x30,0xA0,0x10,0xA0,0x60,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x10,0xA0,0x20,0xA0,0x40,0xA0,0x40,0xA0,0x40,0xA0,0x20,0xA0,0x10,0xA0,0x0,0xA0,0x40,0xA0,0x20,0xA0,0x10,0xA0,0x10,0xA0,0x10,0xA0,0x20,0xA0,0x40,0xA0,0x0,0xA0,0x0,0xA0,0x54,0xA0,0x38,0xA0,0x7C,0xA0,0x38,0xA0,0x54,0xA0,0x10,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x10,0xA0,0x10,0xA0,0x7C,0xA0,0x10,0xA0,0x10,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x30,0xA0,0x30,0xA0,0x10,0xA0,0x60,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x38,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x18,0xA0,0x18,0xA0,0x0,0xA0,0x4,0xA0,0x4,0xA0,0x8,0xA0,0x18,0xA0,0x30,0xA0,0x20,0xA0,0x40,0xA0,0x0,0xA0,0x38,0xA0,0x44,0xA0,0x4C,0xA0,0x54,0xA0,0x64,0xA0,0x44,0xA0,0x38,0xA0,0x0,0xA0,0x10,0xA0,0x30,0xA0,0x10,0xA0,0x10,0xA0,0x10,0xA0,0x10,0xA0,0x38,0xA0,0x0,0xA0,0x30,0xA0,0x48,0xA0,0x48,0xA0,0x18,0xA0,0x30,0xA0,0x20,0xA0,0x78,0xA0,0x0,0xA0,0x30,0xA0,0x48,0xA0,0x8,0xA0,0x10,0xA0,0x8,0xA0,0x48,0xA0,0x30,0xA0,0x0,0xA0,0x10,0xA0,0x30,0xA0,0x30,0xA0,0x50,0xA0,0x50,0xA0,0x78,0xA0,0x10,0xA0,0x0,0xA0,0x78,0xA0,0x40,0xA0,0x50,0xA0,0x68,0xA0,0x8,0xA0,0x48,0xA0,0x30,0xA0,0x0,0xA0,0x30,0xA0,0x28,0xA0,0x40,0xA0,0x70,0xA0,0x68,0xA0,0x48,0xA0,0x30,0xA0,0x0,0xA0,0x78,0xA0,0x48,0xA0,0x8,0xA0,0x10,0xA0,0x30,0xA0,0x20,0xA0,0x20,0xA0,0x0,0xA0,0x30,0xA0,0x48,0xA0,0x48,0xA0,0x30,0xA0,0x48,0xA0,0x48,0xA0,0x30,0xA0,0x0,0xA0,0x30,0xA0,0x48,0xA0,0x48,0xA0,0x38,0xA0,0x8,0xA0,0x50,0xA0,0x30,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x30,0xA0,0x30,0xA0,0x0,0xA0,0x30,0xA0,0x30,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x30,0xA0,0x30,0xA0,0x0,0xA0,0x30,0xA0,0x10,0xA0,0x40,0xA0,0x8,0xA0,0x10,0xA0,0x20,0xA0,0x40,0xA0,0x20,0xA0,0x10,0xA0,0x8,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x78,0xA0,0x0,0xA0,0x78,0xA0,0x0,0xA0,0x0,0xA0,0x40,0xA0,0x20,0xA0,0x10,0xA0,0x8,0xA0,0x10,0xA0,0x20,0xA0,0x40,0xA0,0x0,0xA0,0x30,0xA0,0x48,0xA0,0x48,0xA0,0x10,0xA0,0x20,0xA0,0x20,0xA0,0x0,0xA0,0x20,0xA0,0x40,0xA0,0x38,0xA0,0x4,0xA0,0x38,0xA0,0x8,0xA0,0x38,0xA0,0x48,0xA0,0x34,0xA0,0x10,0xA0,0x28,0xA0,0x44,0xA0,0x44,0xA0,0x7C,0xA0,0x44,0xA0,0x44,0xA0,0x0,0xA0,0x78,0xA0,0x44,0xA0,0x44,0xA0,0x78,0xA0,0x44,0xA0,0x44,0xA0,0x78,0xA0,0x0,0xA0,0x38,0xA0,0x44,0xA0,0x40,0xA0,0x40,0xA0,0x40,0xA0,0x44,0xA0,0x38,0xA0,0x0,0xA0,0x70,0xA0,0x48,0xA0,0x44,0xA0,0x44,0xA0,0x44,0xA0,0x48,0xA0,0x70,0xA0,0x0,0xA0,0x7C,0xA0,0x40,0xA0,0x40,0xA0,0x70,0xA0,0x40,0xA0,0x40,0xA0,0x7C,0xA0,0x0,0xA0,0x7C,0xA0,0x40,0xA0,0x40,0xA0,0x70,0xA0,0x40,0xA0,0x40,0xA0,0x40,0xA0,0x0,0xA0,0x38,0xA0,0x44,0xA0,0x44,0xA0,0x40,0xA0,0x5C,0xA0,0x44,0xA0,0x3C,0xA0,0x0,0xA0,0x44,0xA0,0x44,0xA0,0x44,0xA0,0x7C,0xA0,0x44,0xA0,0x44,0xA0,0x44,0xA0,0x0,0xA0,0x38,0xA0,0x10,0xA0,0x10,0xA0,0x10,0xA0,0x10,0xA0,0x10,0xA0,0x38,0xA0,0x0,0xA0,0x1C,0xA0,0x8,0xA0,0x8,0xA0,0x8,0xA0,0x48,0xA0,0x48,0xA0,0x30,0xA0,0x0,0xA0,0x48,0xA0,0x48,0xA0,0x50,0xA0,0x70,0xA0,0x50,0xA0,0x48,0xA0,0x4C,0xA0,0x0,0xA0,0x40,0xA0,0x40,0xA0,0x40,0xA0,0x40,0xA0,0x40,0xA0,0x40,0xA0,0x7C,0xA0,0x0,0xA0,0x6C,0xA0,0x54,0xA0,0x54,0xA0,0x44,0xA0,0x44,0xA0,0x44,0xA0,0x44,0xA0,0x0,0xA0,0x44,0xA0,0x64,0xA0,0x64,0xA0,0x54,0xA0,0x54,0xA0,0x4C,0xA0,0x4C,0xA0,0x0,0xA0,0x38,0xA0,0x44,0xA0,0x44,0xA0,0x44,0xA0,0x44,0xA0,0x44,0xA0,0x38,0xA0,0x0,0xA0,0x78,0xA0,0x44,0xA0,0x44,0xA0,0x78,0xA0,0x40,0xA0,0x40,0xA0,0x40,0xA0,0x0,0xA0,0x38,0xA0,0x44,0xA0,0x44,0xA0,0x44,0xA0,0x54,0xA0,0x48,0xA0,0x34,0xA0,0x0,0xA0,0x78,0xA0,0x48,0xA0,0x48,0xA0,0x78,0xA0,0x50,0xA0,0x48,0xA0,0x4C,0xA0,0x0,0xA0,0x38,0xA0,0x44,0xA0,0x40,0xA0,0x38,0xA0,0x4,0xA0,0x44,0xA0,0x38,0xA0,0x0,0xA0,0x7C,0xA0,0x10,0xA0,0x10,0xA0,0x10,0xA0,0x10,0xA0,0x10,0xA0,0x10,0xA0,0x0,0xA0,0x44,0xA0,0x44,0xA0,0x44,0xA0,0x44,0xA0,0x44,0xA0,0x44,0xA0,0x38,0xA0,0x0,0xA0,0x44,0xA0,0x44,0xA0,0x44,0xA0,0x28,0xA0,0x28,0xA0,0x28,0xA0,0x10,0xA0,0x0,0xA0,0x44,0xA0,0x44,0xA0,0x44,0xA0,0x44,0xA0,0x54,0xA0,0x54,0xA0,0x28,0xA0,0x0,0xA0,0x44,0xA0,0x44,0xA0,0x28,0xA0,0x10,0xA0,0x28,0xA0,0x44,0xA0,0x44,0xA0,0x0,0xA0,0x44,0xA0,0x44,0xA0,0x44,0xA0,0x38,0xA0,0x10,0xA0,0x10,0xA0,0x10,0xA0,0x0,0xA0,0x7C,0xA0,0xC,0xA0,0x18,0xA0,0x10,0xA0,0x20,0xA0,0x60,0xA0,0x7C,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x3C,0xA0,0x7C,0xA0,0x0,0xA0,0x0,0xA0,0xFC,0xA0,0xFC,0xA0,0x0,0xA0,0x0,0xA0,0xFC,0xA0,0xFC,0xA0,0x0,0xA0,0x0,0xA0,0xFC,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0xF0,0xA0,0xF8,0xA0,0x0,0xA0,0x0,0xA0,0xFC,0xA0,0xFC,0xA0,0xFC,0xA0,0x0,0xA0,0xFC,0xA0,0xFC,0xA0,0xFC,0xA0,0xFC,0xA0,0x0,0xA0,0xFC,0xA0,0xFC,0xA0,0xF0,0xA0,0xF0,0xA0,0xF0,0xA0,0xF0,0xA0,0xF0,0xA0,0xF0,0xA0,0xFC,0xA0,0xFC,0xA0,0xC,0xA0,0xC,0xA0,0xC,0xA0,0x4,0xA0,0x4,0xA0,0x4,0xA0,0xFC,0xA0,0xFC,0xA0,0xE0,0xA0,0xE0,0xA0,0xE0,0xA0,0xE0,0xA0,0xE0,0xA0,0xE0,0xA0,0xFC,0xA0,0xFC,0xA0,0x7C,0xA0,0x7C,0xA0,0x7C,0xA0,0x7C,0xA0,0x7C,0xA0,0x7C,0xA0,0xFC,0xA0,0xFC,0xA0,0x80,0xA0,0x80,0xA0,0x80,0xA0,0x18,0xA0,0x18,0xA0,0x18,0xA0,0xFC,0xA0,0xFC,0xA0,0x7C,0xA0,0x7C,0xA0,0x7C,0xA0,0x3C,0xA0,0x3C,0xA0,0x3C,0xA0,0xFC,0xA0,0xFC,0xA0,0x80,0xA0,0x80,0xA0,0x80,0xA0,0x80,0xA0,0x80,0xA0,0x80,0xA0,0xFC,0xA0,0xFC,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x60,0xA0,0x70,0xA0,0x70,0xA0,0xFC,0xA0,0xFC,0xA0,0x78,0xA0,0x38,0xA0,0x18,0xA0,0x8,0xA0,0x8,0xA0,0x8,0xA0,0xFC,0xA0,0xFC,0xA0,0x4,0xA0,0x4,0xA0,0x4,0xA0,0x4,0xA0,0x4,0xA0,0x4,0xA0,0xFC,0xA0,0xFC,0xA0,0xC0,0xA0,0xC0,0xA0,0xC0,0xA0,0xC0,0xA0,0xC0,0xA0,0xC0,0xA0,0xFC,0xA0,0xFC,0xA0,0x3C,0xA0,0x3C,0xA0,0x3C,0xA0,0x3C,0xA0,0x3C,0xA0,0x3C,0xA0,0xF0,0xA0,0xF0,0xA0,0xF0,0xA0,0xF0,0xA0,0xF0,0xA0,0xF0,0xA0,0xF0,0xA0,0xF0,0xA0,0x0,0xA0,0x0,0xA0,0x20,0xA0,0x30,0xA0,0x30,0xA0,0x38,0xA0,0x38,0xA0,0x3C,0xA0,0xE0,0xA0,0xE0,0xA0,0xE0,0xA0,0x60,0xA0,0x60,0xA0,0x60,0xA0,0x20,0xA0,0x20,0xA0,0x78,0xA0,0x78,0xA0,0x78,0xA0,0x70,0xA0,0x70,0xA0,0x70,0xA0,0x60,0xA0,0x60,0xA0,0x18,0xA0,0x3C,0xA0,0x3C,0xA0,0x3C,0xA0,0x3C,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x1C,0xA0,0x1C,0xA0,0x1C,0xA0,0xC,0xA0,0xC,0xA0,0xC,0xA0,0x4,0xA0,0x4,0xA0,0x80,0xA0,0x80,0xA0,0x80,0xA0,0x80,0xA0,0x80,0xA0,0x80,0xA0,0x80,0xA0,0x80,0xA0,0x60,0xA0,0x60,0xA0,0x0,0xA0,0x4,0xA0,0x0,0xA0,0x60,0xA0,0x60,0xA0,0x70,0xA0,0x18,0xA0,0x38,0xA0,0x78,0xA0,0xF8,0xA0,0x78,0xA0,0x38,0xA0,0x18,0xA0,0x8,0xA0,0x4,0xA0,0x4,0xA0,0x4,0xA0,0x4,0xA0,0x4,0xA0,0x4,0xA0,0x4,0xA0,0x4,0xA0,0xC0,0xA0,0xC0,0xA0,0xC0,0xA0,0xC0,0xA0,0xC0,0xA0,0xC0,0xA0,0xC0,0xA0,0xC0,0xA0,0x3C,0xA0,0x3C,0xA0,0x3C,0xA0,0x3C,0xA0,0x3C,0xA0,0x3C,0xA0,0x3C,0xA0,0x3C,0xA0,0xF0,0xA0,0xF0,0xA0,0xF0,0xA0,0xF0,0xA0,0xF0,0xA0,0xFC,0xA0,0xFC,0xA0,0x0,0xA0,0x3C,0xA0,0x3C,0xA0,0x3C,0xA0,0x3C,0xA0,0x3C,0xA0,0xFC,0xA0,0xFC,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x80,0xA0,0x80,0xA0,0x80,0xA0,0xFC,0xA0,0xFC,0xA0,0x0,0xA0,0x60,0xA0,0x40,0xA0,0x40,0xA0,0x40,0xA0,0x40,0xA0,0xFC,0xA0,0xFC,0xA0,0x0,0xA0,0x0,0xA0,0x18,0xA0,0x18,0xA0,0x3C,0xA0,0x3C,0xA0,0xFC,0xA0,0xFC,0xA0,0x0,0xA0,0x4,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0xFC,0xA0,0xFC,0xA0,0x0,0xA0,0x80,0xA0,0x80,0xA0,0x80,0xA0,0x80,0xA0,0x80,0xA0,0xFC,0xA0,0xFC,0xA0,0x0,0xA0,0x70,0xA0,0x60,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0xFC,0xA0,0xFC,0xA0,0x0,0xA0,0x8,0xA0,0x8,0xA0,0x1C,0xA0,0x3C,0xA0,0x7C,0xA0,0xFC,0xA0,0xFC,0xA0,0x0,0xA0,0x4,0xA0,0x0,0xA0,0x0,0xA0,0x80,0xA0,0xC0,0xA0,0xFC,0xA0,0xFC,0xA0,0x0,0xA0,0xC0,0xA0,0x80,0xA0,0x0,0xA0,0x0,0xA0,0x4,0xA0,0xFC,0xA0,0xFC,0xA0,0x0,0xA0,0x3C,0xA0,0x3C,0xA0,0x7C,0xA0,0xFC,0xA0,0xFC,0xA0,0xFC,0xA0,0xFC,0xA0,0x0,0xA0,0xFC,0xA0,0xFC,0xA0,0xFC,0xA0,0xFC,0xA0,0x0,0xA0,0xFC,0xA0,0xFC,0xA0,0xFC,0xA0,0x0,0xA0,0x0,0xA0,0x7C,0xA0,0x3C,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0xFC,0xA0,0xFC,0xA0,0x0,0xA0,0x0,0xA0,0xFC,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0xF8,0xA0,0xF0,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x0,0xA0,0x21,0xA0,0x10,0xA0,0x42,0xA0,0x20,0xA0,0x63,0xA0,0x30,0xA0,0x84,0xA0,0x40,0xA0,0xA5,0xA0,0x50,0xA0,0xC6,0xA0,0x60,0xA0,0xE7,0xA0,0x70,0xA0,0x8,0xA0,0x81,0xA0,0x29,0xA0,0x91,0xA0,0x4A,0xA0,0xA1,0xA0,0x6B,0xA0,0xB1,0xA0,0x8C,0xA0,0xC1,0xA0,0xAD,0xA0,0xD1,0xA0,0xCE,0xA0,0xE1,0xA0,0xEF,0xA0,0xF1,0xA0,0x31,0xA0,0x12,0xA0,0x10,0xA0,0x2,0xA0,0x73,0xA0,0x32,0xA0,0x52,0xA0,0x22,0xA0,0xB5,0xA0,0x52,0xA0,0x94,0xA0,0x42,0xA0,0xF7,0xA0,0x72,0xA0,0xD6,0xA0,0x62,0xA0,0x39,0xA0,0x93,0xA0,0x18,0xA0,0x83,0xA0,0x7B,0xA0,0xB3,0xA0,0x5A,0xA0,0xA3,0xA0,0xBD,0xA0,0xD3,0xA0,0x9C,0xA0,0xC3,0xA0,0xFF,0xA0,0xF3,0xA0,0xDE,0xA0,0xE3,0xA0,0x62,0xA0,0x24,0xA0,0x43,0xA0,0x34,0xA0,0x20,0xA0,0x4,0xA0,0x1,0xA0,0x14,0xA0,0xE6,0xA0,0x64,0xA0,0xC7,0xA0,0x74,0xA0,0xA4,0xA0,0x44,0xA0,0x85,0xA0,0x54,0xA0,0x6A,0xA0,0xA5,0xA0,0x4B,0xA0,0xB5,0xA0,0x28,0xA0,0x85,0xA0,0x9,0xA0,0x95,0xA0,0xEE,0xA0,0xE5,0xA0,0xCF,0xA0,0xF5,0xA0,0xAC,0xA0,0xC5,0xA0,0x8D,0xA0,0xD5,0xA0,0x53,0xA0,0x36,0xA0,0x72,0xA0,0x26,0xA0,0x11,0xA0,0x16,0xA0,0x30,0xA0,0x6,0xA0,0xD7,0xA0,0x76,0xA0,0xF6,0xA0,0x66,0xA0,0x95,0xA0,0x56,0xA0,0xB4,0xA0,0x46,0xA0,0x5B,0xA0,0xB7,0xA0,0x7A,0xA0,0xA7,0xA0,0x19,0xA0,0x97,0xA0,0x38,0xA0,0x87,0xA0,0xDF,0xA0,0xF7,0xA0,0xFE,0xA0,0xE7,0xA0,0x9D,0xA0,0xD7,0xA0,0xBC,0xA0,0xC7,0xA0,0xC4,0xA0,0x48,0xA0,0xE5,0xA0,0x58,0xA0,0x86,0xA0,0x68,0xA0,0xA7,0xA0,0x78,0xA0,0x40,0xA0,0x8,0xA0,0x61,0xA0,0x18,0xA0,0x2,0xA0,0x28,0xA0,0x23,0xA0,0x38,0xA0,0xCC,0xA0,0xC9,0xA0,0xED,0xA0,0xD9,0xA0,0x8E,0xA0,0xE9,0xA0,0xAF,0xA0,0xF9,0xA0,0x48,0xA0,0x89,0xA0,0x69,0xA0,0x99,0xA0,0xA,0xA0,0xA9,0xA0,0x2B,0xA0,0xB9,0xA0,0xF5,0xA0,0x5A,0xA0,0xD4,0xA0,0x4A,0xA0,0xB7,0xA0,0x7A,0xA0,0x96,0xA0,0x6A,0xA0,0x71,0xA0,0x1A,0xA0,0x50,0xA0,0xA,0xA0,0x33,0xA0,0x3A,0xA0,0x12,0xA0,0x2A,0xA0,0xFD,0xA0,0xDB,0xA0,0xDC,0xA0,0xCB,0xA0,0xBF,0xA0,0xFB,0xA0,0x9E,0xA0,0xEB,0xA0,0x79,0xA0,0x9B,0xA0,0x58,0xA0,0x8B,0xA0,0x3B,0xA0,0xBB,0xA0,0x1A,0xA0,0xAB,0xA0,0xA6,0xA0,0x6C,0xA0,0x87,0xA0,0x7C,0xA1,0x0,0xA1,0x48,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA0,0x20,0xA1,0xD,0xA1,0x48,0xA0,0x5B,0xA0,0x5C,0xA0,0x5C,0xA0,0x5C,0xA0,0x5C,0xA0,0x5C,0xA0,0x5C,0xA0,0x5C,0xA0,0x5C,0xA0,0x5C,0xA0,0x5C,0xA0,0x5D,0xA1,0x35,0xA1,0x48,0xA0,0x5E,0xA0,0x5E,0xA0,0x5E,0xA0,0x5E,0xA0,0x5E,0xA0,0x5E,0xA0,0x5E,0xA0,0x5E,0xA0,0x5E,0xA0,0x5E,0xA0,0x5E,0xA0,0x5E,0xA1,0x5D,0xA1,0x48,0xA0,0x5F,0xA0,0x60,0xA0,0x61,0xA0,0x62,0xA0,0x63,0xA0,0x64,0xA0,0x65,0xA0,0x66,0xA0,0x67,0xA0,0x68,0xA0,0x69,0xA0,0x6A,0xA1,0x85,0xA1,0x48,0xA0,0x6B,0xA0,0x6C,0xA0,0x6D,0xA0,0x6E,0xA0,0x6F,0xA0,0x70,0xA0,0x71,0xA0,0x72,0xA0,0x73,0xA0,0x74,0xA0,0x75,0xA0,0x76,0xA1,0xAD,0xA1,0x48,0xA0,0x77,0xA0,0x78,0xA0,0x79,0xA0,0x7A,0xA0,0x7B,0xA0,0x7C,0xA0,0x7D,0xA0,0x7E,0xA0,0x7F,0xA0,0x80,0xA0,0x81,0xA0,0x82,0xA1,0xD5,0xA1,0x48,0xA0,0x83,0xA0,0x83,0xA0,0x83,0xA0,0x83,0xA0,0x83,0xA0,0x83,0xA0,0x83,0xA0,0x83,0xA0,0x83,0xA0,0x83,0xA0,0x83,0xA0,0x83,0xA1,0xFD,0xA1,0x48,0xA0,0x84,0xA0,0x85,0xA0,0x85,0xA0,0x85,0xA0,0x85,0xA0,0x85,0xA0,0x85,0xA0,0x85,0xA0,0x85,0xA0,0x85,0xA0,0x85,0xA0,0x86,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0 };
|
|
|
|
|
|
|
|
uint16_t video_convert_array[1025] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640,
|
|
40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640,
|
|
80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640,
|
|
120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640,
|
|
160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640,
|
|
200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640,
|
|
240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640,
|
|
280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640,
|
|
320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640,
|
|
360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640,
|
|
400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640,
|
|
440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640,
|
|
480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640,
|
|
520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640,
|
|
560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640,
|
|
600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 0};
|
|
|
|
uint8_t reg_0x3801=0;
|
|
uint8_t reg_0x3802=0;
|
|
uint8_t reg_0x3804=0;
|
|
uint8_t reg_0x3808=0;
|
|
uint8_t reg_0x3810=0;
|
|
uint8_t reg_0x3820=0;
|
|
uint8_t reg_0x3840=0;
|
|
uint8_t reg_0x3880=0;
|
|
uint8_t next_key0=0;
|
|
uint8_t next_key1=0;
|
|
uint8_t xx = 0;
|
|
uint16_t keyboard_cycle_count = 0;
|
|
uint16_t hh = 0;
|
|
uint16_t vv = 0;
|
|
uint16_t cc = 0;
|
|
uint16_t video_delay_counter = 5;
|
|
uint32_t keystroke = 0;
|
|
int incomingByte;
|
|
|
|
|
|
// Setup Teensy 4.1 IO's
|
|
//
|
|
void setup() {
|
|
|
|
pinMode(PIN_RESET, INPUT);
|
|
pinMode(PIN_CLK, INPUT);
|
|
pinMode(PIN_NMI, INPUT);
|
|
pinMode(PIN_INTR, INPUT);
|
|
pinMode(PIN_WAIT, INPUT);
|
|
|
|
pinMode(PIN_M1, OUTPUT);
|
|
pinMode(PIN_HALT, OUTPUT);
|
|
pinMode(PIN_RD, OUTPUT);
|
|
pinMode(PIN_WR, OUTPUT);
|
|
pinMode(PIN_MREQ, OUTPUT);
|
|
pinMode(PIN_IOREQ, OUTPUT);
|
|
pinMode(PIN_RFSH, OUTPUT);
|
|
|
|
|
|
pinMode(PIN_ADDR15, OUTPUT);
|
|
pinMode(PIN_ADDR14, OUTPUT);
|
|
pinMode(PIN_ADDR13, OUTPUT);
|
|
pinMode(PIN_ADDR12, OUTPUT);
|
|
pinMode(PIN_ADDR11, OUTPUT);
|
|
pinMode(PIN_ADDR10, OUTPUT);
|
|
pinMode(PIN_ADDR9, OUTPUT);
|
|
pinMode(PIN_ADDR8, OUTPUT);
|
|
|
|
pinMode(PIN_AD7_OUT, OUTPUT);
|
|
pinMode(PIN_AD6_OUT, OUTPUT);
|
|
pinMode(PIN_AD5_OUT, OUTPUT);
|
|
pinMode(PIN_AD4_OUT, OUTPUT);
|
|
pinMode(PIN_AD3_OUT, OUTPUT);
|
|
pinMode(PIN_AD2_OUT, OUTPUT);
|
|
pinMode(PIN_AD1_OUT, OUTPUT);
|
|
pinMode(PIN_AD0_OUT, OUTPUT);
|
|
pinMode(PIN_DATA_OE_n, OUTPUT);
|
|
pinMode(PIN_ADDR_LATCH_n, OUTPUT);
|
|
|
|
pinMode(PIN_AD7_IN, INPUT);
|
|
pinMode(PIN_AD6_IN, INPUT);
|
|
pinMode(PIN_AD5_IN, INPUT);
|
|
pinMode(PIN_AD4_IN, INPUT);
|
|
pinMode(PIN_AD3_IN, INPUT);
|
|
pinMode(PIN_AD2_IN, INPUT);
|
|
pinMode(PIN_AD1_IN, INPUT);
|
|
pinMode(PIN_AD0_IN, INPUT);
|
|
|
|
digitalWriteFast(PIN_M1,0x1);
|
|
digitalWriteFast(PIN_HALT,0x1);
|
|
digitalWriteFast(PIN_RD,0x1);
|
|
digitalWriteFast(PIN_WR,0x1);
|
|
digitalWriteFast(PIN_MREQ,0x1);
|
|
digitalWriteFast(PIN_IOREQ,0x1);
|
|
digitalWriteFast(PIN_RFSH,0x1);
|
|
digitalWriteFast(PIN_ADDR_LATCH_n,0x1);
|
|
|
|
Serial.begin(115200);
|
|
|
|
}
|
|
|
|
|
|
// --------------------------------------------------------------------------------------------------
|
|
// --------------------------------------------------------------------------------------------------
|
|
//
|
|
// Begin Z80 Bus Interface Unit
|
|
//
|
|
// --------------------------------------------------------------------------------------------------
|
|
// --------------------------------------------------------------------------------------------------
|
|
|
|
|
|
// -------------------------------------------------
|
|
// Wait for the CLK rising edge
|
|
// -------------------------------------------------
|
|
inline void wait_for_CLK_rising_edge() {
|
|
|
|
while ( (GPIO6_DR&0x08000000) != 0) {} // First ensure clock is at a low level
|
|
do { GPIO6_raw_data = GPIO6_DR; } while ( (GPIO6_raw_data&0x08000000) == 0); // Then poll for the first instance where clock is not low
|
|
|
|
if (debounce_refresh==1) { digitalWriteFast(PIN_RFSH,0x1); debounce_refresh=0;}
|
|
|
|
direct_nmi = (GPIO6_raw_data&0x00010000);
|
|
direct_intr = (GPIO6_raw_data&0x04000000);
|
|
if (direct_nmi_d!=0 && direct_nmi==0) nmi_latched=1; // Latch NMI on both CLK edges
|
|
direct_nmi_d = direct_nmi;
|
|
|
|
return;}
|
|
|
|
// -------------------------------------------------
|
|
// Wait for the CLK falling edge
|
|
// -------------------------------------------------
|
|
inline void wait_for_CLK_falling_edge() {
|
|
|
|
if (clock_counter>0) clock_counter--; // Count down clock_counter here at end of each instruction
|
|
|
|
while ( (GPIO6_DR&0x08000000) == 0) {} // First ensure clock is at a high level
|
|
do { } while ( (GPIO6_DR&0x08000000) != 0); // Then poll for the first instance where clock is not high
|
|
|
|
GPIO6_raw_data = GPIO6_DR; // Store slightly-delayed version of GPIO6 in a global register
|
|
direct_wait = (GPIO6_raw_data&0x01000000);
|
|
direct_reset = (GPIO6_raw_data&0x02000000);
|
|
|
|
direct_nmi = (GPIO6_raw_data&0x00010000);
|
|
if (direct_nmi_d!=0 && direct_nmi==0) nmi_latched=1; // Latch NMI on both CLK edges
|
|
direct_nmi_d = direct_nmi;
|
|
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
uint8_t NABU_IO_ACCESS(uint8_t biu_operation, uint16_t local_address , uint8_t local_data) {
|
|
|
|
|
|
register uint8_t read_cycle=0;
|
|
register uint8_t read_data=0;
|
|
register uint32_t read_data_raw=0;
|
|
register uint32_t writeback_data7=0;
|
|
register uint32_t writeback_data8=0;
|
|
register uint32_t writeback_data9=0;
|
|
|
|
register uint32_t gpio7_out=0;
|
|
register uint32_t gpio8_out=0;
|
|
register uint32_t gpio9_out=0;
|
|
register uint8_t local_address_high=0;
|
|
register uint8_t local_address_low=0;
|
|
register uint8_t m1_cycle=0;
|
|
uint8_t local_mode=0;
|
|
|
|
|
|
register_r++;
|
|
|
|
read_cycle = (biu_operation & 0x1);
|
|
if ( (biu_operation==OPCODE_READ_M1) || ( biu_operation==INTERRUPT_ACK) ) m1_cycle=0; else m1_cycle=2;
|
|
|
|
|
|
// IO Read/Write - 3 cycles with one additional wait state
|
|
// -----------------------------------------------------------------------------
|
|
if ( (biu_operation==IO_READ_BYTE) || (biu_operation==IO_WRITE_BYTE) ) {
|
|
|
|
|
|
noInterrupts(); // Disable Teensy interupts so the Z80 bus cycle can complete without interruption
|
|
digitalWriteFast(PIN_ADDR_LATCH_n,0x1); // Allow address to propagate through '373 latch
|
|
|
|
|
|
|
|
// Pre-calculate before the clock edge to gain speed
|
|
//
|
|
local_address_high = (local_address)>>8;
|
|
local_address_low = (0x00FF&local_address);
|
|
gpio7_out = gpio7_high_array[local_address_high] | gpio7_low_array[local_address_low];
|
|
gpio8_out = gpio8_high_array[local_address_high] ;
|
|
gpio9_out = gpio9_high_array[local_address_high] | gpio9_low_array[local_address_low];
|
|
|
|
writeback_data7 = (0xCFF0E3FC & GPIO7_DR) | m1_cycle;
|
|
writeback_data9 = (0xFFFFFE1F & GPIO9_DR);
|
|
writeback_data8 = (0xFF3FFFFF & GPIO8_DR);
|
|
|
|
|
|
|
|
// Address phase is common for all bus cycle types - Lower byte of address is multiplexed with data so needs to be externally latched
|
|
// -----------------------------------------------------------------------------------------------------------------------------------------
|
|
wait_for_CLK_rising_edge(); GPIO7_DR = writeback_data7 | gpio7_out; // T1 Rising
|
|
GPIO8_DR = writeback_data8 | gpio8_out;
|
|
GPIO9_DR = writeback_data9 | gpio9_out | 0x80000010; // disable PIN_RFSH and PIN_DATA_OE_n
|
|
|
|
wait_for_CLK_falling_edge(); digitalWriteFast(PIN_ADDR_LATCH_n,0x0); // T1 Falling
|
|
digitalWriteFast(PIN_AD7_OUT, (local_data & 0x80) );
|
|
digitalWriteFast(PIN_AD6_OUT, (local_data & 0x40) );
|
|
digitalWriteFast(PIN_AD5_OUT, (local_data & 0x20) );
|
|
digitalWriteFast(PIN_AD4_OUT, (local_data & 0x10) );
|
|
digitalWriteFast(PIN_AD3_OUT, (local_data & 0x08) );
|
|
digitalWriteFast(PIN_AD2_OUT, (local_data & 0x04) );
|
|
digitalWriteFast(PIN_AD1_OUT, (local_data & 0x02) );
|
|
digitalWriteFast(PIN_AD0_OUT, (local_data & 0x01) );
|
|
digitalWriteFast(PIN_DATA_OE_n, read_cycle);
|
|
|
|
|
|
wait_for_CLK_rising_edge(); digitalWriteFast(PIN_IOREQ,0x0); // T2 Rising
|
|
digitalWriteFast(PIN_RD,!read_cycle);
|
|
digitalWriteFast(PIN_WR,read_cycle);
|
|
|
|
|
|
wait_for_CLK_rising_edge(); // Tw Rising
|
|
wait_for_CLK_rising_edge(); // T3 Rising
|
|
wait_for_CLK_falling_edge(); while (direct_wait==0) { wait_for_CLK_falling_edge(); } // T3 Falling -- Read data sampled on this edge
|
|
digitalWriteFast(PIN_IOREQ,0x1);
|
|
digitalWriteFast(PIN_RD,0x1);
|
|
digitalWriteFast(PIN_WR,0x1);
|
|
read_data = read_data_array[ (GPIO6_raw_data>>16) ]; // Read the Z80 bus data, re-arranging bits through read_data_array
|
|
interrupts();
|
|
|
|
|
|
return read_data;
|
|
}
|
|
}
|
|
|
|
|
|
void NABU_UPDATE_SCREEN(uint16_t local_address , uint8_t local_data) {
|
|
|
|
uint16_t local_nabu_video_address=0;
|
|
uint8_t local_nabu_video_address_high=0;
|
|
uint8_t local_nabu_video_address_low=0;
|
|
|
|
local_nabu_video_address = video_convert_array[(0x03ff&local_address)];
|
|
local_nabu_video_address = local_nabu_video_address + 0x4940;
|
|
local_nabu_video_address_high = (local_nabu_video_address >> 8);
|
|
local_nabu_video_address_low = 0xFF & local_nabu_video_address;
|
|
|
|
// Adjust ASCII Character for TRS-80
|
|
if (local_data<32) local_data = local_data + 0x40;
|
|
|
|
// Print character to the NABU VDP
|
|
NABU_IO_ACCESS(IO_WRITE_BYTE , 0xA1 , local_nabu_video_address_low ); delayMicroseconds(50);
|
|
NABU_IO_ACCESS(IO_WRITE_BYTE , 0xA1 , local_nabu_video_address_high ); delayMicroseconds(50);
|
|
NABU_IO_ACCESS(IO_WRITE_BYTE , 0xA0 , local_data ); delayMicroseconds(50);
|
|
|
|
return;
|
|
}
|
|
|
|
// -------------------------------------------------
|
|
// Initiate a Z80 Bus Cycle
|
|
// -------------------------------------------------
|
|
uint8_t BIU_Bus_Cycle(uint8_t biu_operation, uint16_t local_address , uint8_t local_data) {
|
|
register uint8_t read_cycle=0;
|
|
register uint8_t read_data=0;
|
|
register uint32_t read_data_raw=0;
|
|
register uint32_t writeback_data7=0;
|
|
register uint32_t writeback_data8=0;
|
|
register uint32_t writeback_data9=0;
|
|
|
|
register uint32_t gpio7_out=0;
|
|
register uint32_t gpio8_out=0;
|
|
register uint32_t gpio9_out=0;
|
|
register uint8_t local_address_high=0;
|
|
register uint8_t local_address_low=0;
|
|
register uint8_t m1_cycle=0;
|
|
uint8_t local_mode=0;
|
|
|
|
// Dont allow access to 0x3000 to 0x37FF reigion
|
|
//
|
|
if ( (biu_operation==MEM_READ_BYTE) && (local_address>=0x3000) && (local_address<0x3800) ) { return 0x00; }
|
|
if ( (biu_operation==MEM_WRITE_BYTE) && (local_address>=0x3000) && (local_address<0x3800) ) { return 0x00; }
|
|
|
|
|
|
//if (incomingByte != 0x94)
|
|
|
|
|
|
|
|
// Keyboard Controller
|
|
// Translate between UART receive characters to TRS-80 keyboard registers
|
|
//
|
|
keyboard_cycle_count++;
|
|
|
|
//if (keyboard_cycle_count==1000) {
|
|
if (1) {
|
|
|
|
// Check for NABU keystroke
|
|
incomingByte = NABU_IO_ACCESS(IO_READ_BYTE , 0x91 ,0 ); //delayMicroseconds(200);
|
|
if ((0x02 & incomingByte) != 0) {
|
|
incomingByte = NABU_IO_ACCESS(IO_READ_BYTE , 0x90 ,0 );
|
|
// else if (Serial.available()) {
|
|
//incomingByte = Serial.read();
|
|
switch (incomingByte){
|
|
|
|
case 64: reg_0x3801 = 0b00000001; break; // @
|
|
case 65: reg_0x3801 = 0b00000010; break; // A
|
|
case 66: reg_0x3801 = 0b00000100; break; // B
|
|
case 67: reg_0x3801 = 0b00001000; break; // C
|
|
case 68: reg_0x3801 = 0b00010000; break; // D
|
|
case 69: reg_0x3801 = 0b00100000; break; // E
|
|
case 70: reg_0x3801 = 0b01000000; break; // F
|
|
case 71: reg_0x3801 = 0b10000000; break; // G
|
|
|
|
case 72: reg_0x3802 = 0b00000001; break; // H
|
|
case 73: reg_0x3802 = 0b00000010; break; // I
|
|
case 74: reg_0x3802 = 0b00000100; break; // J
|
|
case 75: reg_0x3802 = 0b00001000; break; // K
|
|
case 76: reg_0x3802 = 0b00010000; break; // L
|
|
case 77: reg_0x3802 = 0b00100000; break; // M
|
|
case 78: reg_0x3802 = 0b01000000; break; // N
|
|
case 79: reg_0x3802 = 0b10000000; break; // O
|
|
|
|
case 80: reg_0x3804 = 0b00000001; break; // P
|
|
case 81: reg_0x3804 = 0b00000010; break; // Q
|
|
case 82: reg_0x3804 = 0b00000100; break; // R
|
|
case 83: reg_0x3804 = 0b00001000; break; // S
|
|
case 84: reg_0x3804 = 0b00010000; break; // T
|
|
case 85: reg_0x3804 = 0b00100000; break; // U
|
|
case 86: reg_0x3804 = 0b01000000; break; // V
|
|
case 87: reg_0x3804 = 0b10000000; break; // W
|
|
|
|
case 88: reg_0x3808 = 0b00000001; break; // X
|
|
case 89: reg_0x3808 = 0b00000010; break; // Y
|
|
case 90: reg_0x3808 = 0b00000100; break; // Z
|
|
|
|
case 48: reg_0x3810 = 0b00000001; break; // 0
|
|
case 49: reg_0x3810 = 0b00000010; break; // 1
|
|
case 50: reg_0x3810 = 0b00000100; break; // 2
|
|
case 51: reg_0x3810 = 0b00001000; break; // 3
|
|
case 52: reg_0x3810 = 0b00010000; break; // 4
|
|
case 53: reg_0x3810 = 0b00100000; break; // 5
|
|
case 54: reg_0x3810 = 0b01000000; break; // 6
|
|
case 55: reg_0x3810 = 0b10000000; break; // 7
|
|
|
|
case 56: reg_0x3820 = 0b00000001; break; // 8
|
|
case 57: reg_0x3820 = 0b00000010; break; // 9
|
|
case 58: reg_0x3820 = 0b00000100; break; // :
|
|
case 59: reg_0x3820 = 0b00001000; break; // ;
|
|
case 44: reg_0x3820 = 0b00010000; break; // ,
|
|
case 45: reg_0x3820 = 0b00100000; break; // -
|
|
case 46: reg_0x3820 = 0b01000000; break; // .
|
|
case 47: reg_0x3820 = 0b10000000; break; // /
|
|
|
|
case 13: reg_0x3840 = 0b00000001; break; // Enter
|
|
case 9: reg_0x3840 = 0b00000010; break; // Clear (Tab on UART)
|
|
case 8: reg_0x3840 = 0b00000100; break; // Break (Backspace on UART)
|
|
//case 0xE1:reg_0x3840 = 0b00000100; break; // Break (DELETE on NABU)
|
|
case 0xEA:reg_0x3840 = 0b00000100; break; // Break (TV/NABU on NABU)
|
|
case 105: reg_0x3840 = 0b00001000; break; // Up_Arrow (i on UART)
|
|
case 107: reg_0x3840 = 0b00010000; break; // Down_Arrow (k on UART)
|
|
case 106: reg_0x3840 = 0b00100000; break; // Left_Arrow (j on UART)
|
|
case 108: reg_0x3840 = 0b01000000; break; // Right_Arrow (l on UART)
|
|
case 0xE3:reg_0x3840 = 0b00010000; break; // Down_Arrow (k on UART)
|
|
case 0xE2:reg_0x3840 = 0b00001000; break; // Up_Arrow (NABU)
|
|
case 0xE1:reg_0x3840 = 0b00100000; break; // Left_Arrow (NABU)
|
|
case 0x7F:reg_0x3840 = 0b00100000; break; // Left_Arrow (NABU)
|
|
case 0xE0:reg_0x3840 = 0b01000000; break; // Right_Arrow (NABU)
|
|
case 32: reg_0x3840 = 0b10000000; break; // Space
|
|
|
|
case 43: reg_0x3880 = 0b00000001; reg_0x3820 = 0b00001000; break; // +
|
|
case 63: reg_0x3880 = 0b00000001; reg_0x3820 = 0b10000000; break; // ?
|
|
case 61: reg_0x3880 = 0b00000001; reg_0x3820 = 0b00100000; break; // =
|
|
case 42: reg_0x3880 = 0b00000001; reg_0x3820 = 0b00000100; break; // *
|
|
|
|
case 33: reg_0x3880 = 0b00000001; reg_0x3810 = 0b00000010; break; // !
|
|
case 34: reg_0x3880 = 0b00000001; reg_0x3810 = 0b00000100; break; // "
|
|
case 35: reg_0x3880 = 0b00000001; reg_0x3810 = 0b00001000; break; // #
|
|
case 36: reg_0x3880 = 0b00000001; reg_0x3810 = 0b00010000; break; // $
|
|
case 37: reg_0x3880 = 0b00000001; reg_0x3810 = 0b00100000; break; // %
|
|
case 38: reg_0x3880 = 0b00000001; reg_0x3810 = 0b01000000; break; // &
|
|
case 39: reg_0x3880 = 0b00000001; reg_0x3810 = 0b10000000; break; // '
|
|
|
|
case 40: reg_0x3880 = 0b00000001; reg_0x3820 = 0b00000001; break; // (
|
|
case 41: reg_0x3880 = 0b00000001; reg_0x3820 = 0b00000010; break; // )
|
|
|
|
case 60: reg_0x3880 = 0b00000001; reg_0x3820 = 0b00010000; break; // <
|
|
case 62: reg_0x3880 = 0b00000001; reg_0x3820 = 0b01000000; break; // >
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
if (keyboard_cycle_count==5000) {
|
|
reg_0x3801 = 0;
|
|
reg_0x3802 = 0;
|
|
reg_0x3804 = 0;
|
|
reg_0x3808 = 0;
|
|
reg_0x3810 = 0;
|
|
reg_0x3820 = 0;
|
|
reg_0x3840 = 0;
|
|
reg_0x3880 = 0;
|
|
keyboard_cycle_count=0;
|
|
}
|
|
|
|
if ( (biu_operation==MEM_READ_BYTE) && (local_address==0x3801) ) { return reg_0x3801; }
|
|
if ( (biu_operation==MEM_READ_BYTE) && (local_address==0x3802) ) { return reg_0x3802; }
|
|
if ( (biu_operation==MEM_READ_BYTE) && (local_address==0x3804) ) { return reg_0x3804; }
|
|
if ( (biu_operation==MEM_READ_BYTE) && (local_address==0x3808) ) { return reg_0x3808; }
|
|
if ( (biu_operation==MEM_READ_BYTE) && (local_address==0x3810) ) { return reg_0x3810; }
|
|
if ( (biu_operation==MEM_READ_BYTE) && (local_address==0x3820) ) { return reg_0x3820; }
|
|
if ( (biu_operation==MEM_READ_BYTE) && (local_address==0x3840) ) { return reg_0x3840; }
|
|
if ( (biu_operation==MEM_READ_BYTE) && (local_address==0x3880) ) { return reg_0x3880; }
|
|
|
|
|
|
|
|
// Emulate the BIU using internal RAM
|
|
//
|
|
if (biu_operation==OPCODE_READ_M1) return Internal_RAM[local_address];
|
|
if (biu_operation==MEM_READ_BYTE) return Internal_RAM[local_address];
|
|
if (biu_operation==IO_READ_BYTE) return 0x00;
|
|
|
|
if (biu_operation==MEM_WRITE_BYTE) { Internal_RAM[local_address] = local_data;
|
|
if ( (local_address>=0x3C00) && (local_address<=0x3FFF) ) { NABU_UPDATE_SCREEN(local_address , local_data); }
|
|
return 0xEE; }
|
|
|
|
if (biu_operation==IO_WRITE_BYTE) { return 0xEE; }
|
|
|
|
if (biu_operation==INTERRUPT_ACK) return 0xC7; // RST0 Opcode
|
|
|
|
|
|
return 0x00;
|
|
|
|
}
|
|
|
|
// --------------------------------------------------------------------------------------------------
|
|
// --------------------------------------------------------------------------------------------------
|
|
//
|
|
// End Z80 Bus Interface Unit
|
|
//
|
|
// --------------------------------------------------------------------------------------------------
|
|
// --------------------------------------------------------------------------------------------------
|
|
|
|
|
|
uint16_t Sign_Extend(uint8_t local_data) { if ((0x0080&local_data)!=0) return (0xFF00|local_data); else return (0x00FF&local_data); }
|
|
|
|
|
|
// ------------------------------------------------------
|
|
// Z80 Reset routine
|
|
// ------------------------------------------------------
|
|
//
|
|
void reset_sequence() {
|
|
|
|
|
|
clock_counter=0; // Debounce prefix, cycle counter, and nmi
|
|
last_instruction_set_a_prefix=0;
|
|
prefix_dd = 0;
|
|
prefix_fd = 0;
|
|
prefix_cb = 0;
|
|
pause_interrupts=0;
|
|
halt_in_progress=0;
|
|
nmi_latched=0;
|
|
direct_nmi_d=0;
|
|
|
|
register_iff1 = 0; // Reset registers
|
|
register_iff2 = 0;
|
|
register_i = 0;
|
|
register_r = 0;
|
|
register_im = 0;
|
|
register_pc = 0;
|
|
register_sp = 0xFFFF;
|
|
register_a = 0x00;
|
|
register_f = 0xFF;
|
|
|
|
wait_for_CLK_rising_edge();
|
|
return;
|
|
}
|
|
|
|
|
|
// ------------------------------------------------------
|
|
// Fetch an opcode byte - M1 cycle
|
|
// ------------------------------------------------------
|
|
uint8_t Fetch_opcode() {
|
|
uint8_t local_byte;
|
|
|
|
if (assert_iack_type0==1) local_byte = BIU_Bus_Cycle(INTERRUPT_ACK , 0x0000 , 0x00 );
|
|
else local_byte = BIU_Bus_Cycle(OPCODE_READ_M1 , register_pc , 0x00 );
|
|
|
|
assert_iack_type0=0;
|
|
register_pc++;
|
|
register_r = (register_r&0x80) | (0x7F&(register_r+1));
|
|
|
|
return local_byte;
|
|
}
|
|
|
|
|
|
// ------------------------------------------------------
|
|
// Read and Write data from BIU
|
|
// ------------------------------------------------------
|
|
uint8_t Read_byte(uint16_t local_address) {
|
|
uint8_t local_byte;
|
|
local_byte = BIU_Bus_Cycle(MEM_READ_BYTE , local_address , 0x00 );
|
|
return local_byte;
|
|
}
|
|
|
|
uint16_t Read_word(uint16_t local_address) {
|
|
uint8_t local_byte1;
|
|
uint8_t local_byte2;
|
|
local_byte1 = BIU_Bus_Cycle(MEM_READ_BYTE , local_address , 0x00 );
|
|
local_byte2 = BIU_Bus_Cycle(MEM_READ_BYTE , local_address+1 , 0x00 );
|
|
return (local_byte1 | (local_byte2<<8));
|
|
}
|
|
|
|
void Write_byte(uint16_t local_address , uint8_t local_data) {
|
|
BIU_Bus_Cycle(MEM_WRITE_BYTE , local_address , local_data );
|
|
return;
|
|
}
|
|
|
|
void Write_word(uint16_t local_address , uint16_t local_data) {
|
|
BIU_Bus_Cycle(MEM_WRITE_BYTE , local_address , local_data );
|
|
BIU_Bus_Cycle(MEM_WRITE_BYTE , local_address+1 , local_data>>8 );
|
|
return;
|
|
}
|
|
|
|
void Writeback_Reg16(uint8_t local_reg , uint16_t local_data) {
|
|
switch (local_reg) {
|
|
case REG_BC: register_b=(local_data>>8); register_c=(0xFF&local_data); break;
|
|
case REG_DE: register_d=(local_data>>8); register_e=(0xFF&local_data); break;
|
|
case REG_HL: register_h=(local_data>>8); register_l=(0xFF&local_data); break;
|
|
case REG_AF: register_a=(local_data>>8); register_f=(0xFF&local_data); break;
|
|
case REG_IX: register_ixh=(local_data>>8); register_ixl=(0xFF&local_data); break;
|
|
case REG_IY: register_iyh=(local_data>>8); register_iyl=(0xFF&local_data); break;
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
// ------------------------------------------------------
|
|
// Prefix Opcodes
|
|
// ------------------------------------------------------
|
|
void opcode_0xDD () {
|
|
prefix_dd=1;
|
|
last_instruction_set_a_prefix=1;
|
|
clock_counter = clock_counter + Opcode_Timing_DDFD[opcode_byte];
|
|
return;
|
|
}
|
|
|
|
void opcode_0xFD () {
|
|
prefix_fd=1;
|
|
last_instruction_set_a_prefix=1;
|
|
clock_counter = clock_counter + Opcode_Timing_DDFD[opcode_byte];
|
|
return;
|
|
}
|
|
|
|
|
|
void opcode_0x00 () { return; } // NOP
|
|
|
|
|
|
// ------------------------------------------------------
|
|
// Stack
|
|
// ------------------------------------------------------
|
|
void Push(uint16_t local_data) {
|
|
register_sp--;
|
|
BIU_Bus_Cycle(MEM_WRITE_BYTE , register_sp , local_data>>8 ); // High Byte
|
|
register_sp--;
|
|
BIU_Bus_Cycle(MEM_WRITE_BYTE , register_sp , local_data ); // Low Byte
|
|
return;
|
|
}
|
|
|
|
uint16_t Pop() {
|
|
uint8_t local_data_low;
|
|
uint8_t local_data_high;
|
|
|
|
local_data_low = BIU_Bus_Cycle(MEM_READ_BYTE , register_sp , 0x00 ); // Low Byte
|
|
register_sp++;
|
|
local_data_high = BIU_Bus_Cycle(MEM_READ_BYTE , register_sp , 0x00 ); // High Byte
|
|
register_sp++;
|
|
return( (local_data_high<<8) | local_data_low);
|
|
}
|
|
void opcode_0xC5() { Push(REGISTER_BC); return; } // push bc
|
|
void opcode_0xD5() { Push(REGISTER_DE); return; } // push de
|
|
void opcode_0xE5() { if (prefix_dd==1) Push(REGISTER_IX); else if (prefix_fd==1) Push(REGISTER_IY); else Push(REGISTER_HL); return; } // push hl
|
|
void opcode_0xF5() { Push(REGISTER_AF); return; } // push af
|
|
|
|
void opcode_0xF1() { uint16_t local_data = Pop(); register_a =(local_data>>8); register_f =(local_data&0xFF); return; } // pop af
|
|
void opcode_0xC1() { uint16_t local_data = Pop(); register_b =(local_data>>8); register_c =(local_data&0xFF); return; } // pop bc
|
|
void opcode_0xD1() { uint16_t local_data = Pop(); register_d =(local_data>>8); register_e =(local_data&0xFF); return; } // pop de
|
|
void opcode_0xE1() { uint16_t local_data = Pop(); if (prefix_dd==1) { register_ixh=(local_data>>8); register_ixl=(local_data&0xFF);} // pop ix
|
|
else if (prefix_fd==1) { register_iyh=(local_data>>8); register_iyl=(local_data&0xFF);} // pop iy
|
|
else { register_h =(local_data>>8); register_l =(local_data&0xFF);} return; } // pop hl
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// ------------------------------------------------------
|
|
// Flags/Complements
|
|
// ------------------------------------------------------
|
|
|
|
void opcode_0x3F() { temp8 = register_f & 0x01; // Store old C Flag
|
|
register_f = register_f & 0xC4; // Clear H, C, N, 5,3
|
|
if (temp8==1) register_f = register_f | 0x10; // Set H
|
|
if (temp8==0) register_f = register_f | 0x01; // Compliiment C Flag
|
|
register_f = register_f | (register_a&0x28);
|
|
return; } // ccf
|
|
|
|
|
|
void opcode_0x2F() { register_a = 0xFF ^ register_a; // Compliment register a
|
|
register_f = register_f | 0x12; // Set N and H Flags
|
|
register_f = register_f & 0xD7; // Clear Flags 5,3
|
|
register_f = register_f | (register_a&0x28);
|
|
return; } // cpl
|
|
|
|
|
|
void opcode_0x37() { register_f = register_f | 0x01; // Set C
|
|
register_f = register_f & 0xC5; // Clear Flags H, N, 5,3
|
|
register_f = register_f | (register_a&0x28);
|
|
return; } // scf
|
|
|
|
|
|
|
|
// ------------------------------------------------------
|
|
// Interrupt enables and modes
|
|
// ------------------------------------------------------
|
|
void opcode_0xED46() { register_im=0; return; } // IM0
|
|
void opcode_0xED56() { register_im=1; return; } // IM1
|
|
void opcode_0xED5E() { register_im=2; return; } // IM2
|
|
void opcode_0xFB() { register_iff1=1; register_iff2=1; last_instruction_set_a_prefix=0; return; } // ei
|
|
void opcode_0xF3() { register_iff1=0; register_iff2=0; return; } // di
|
|
|
|
|
|
// ------------------------------------------------------
|
|
// Exchanges
|
|
// ------------------------------------------------------
|
|
void opcode_0x08() { temp8=register_a; register_a=register_a2; register_a2=temp8; temp8=register_f; register_f=register_f2; register_f2=temp8; return; } // ex af,af'
|
|
void opcode_0xEB() { temp8=register_d; register_d=register_h; register_h=temp8; temp8=register_e; register_e=register_l; register_l=temp8; return; } // ex de hl
|
|
|
|
void opcode_0xD9() { temp8=register_b; register_b=register_b2; register_b2=temp8; temp8=register_c; register_c=register_c2; register_c2=temp8; // exx bc bc'
|
|
temp8=register_d; register_d=register_d2; register_d2=temp8; temp8=register_e; register_e=register_e2; register_e2=temp8; // de de'
|
|
temp8=register_h; register_h=register_h2; register_h2=temp8; temp8=register_l; register_l=register_l2; register_l2=temp8; return; } // hl hl'
|
|
|
|
void opcode_0xE3() { if (prefix_dd==1) { temp8=Read_byte(register_sp); Write_byte(register_sp ,register_ixl); register_ixl=temp8; // ex (sp),ix
|
|
temp8=Read_byte(register_sp+1); Write_byte(register_sp+1,register_ixh); register_ixh=temp8; } else
|
|
if (prefix_fd==1) { temp8=Read_byte(register_sp); Write_byte(register_sp ,register_iyl); register_iyl=temp8; // ex (sp),iy
|
|
temp8=Read_byte(register_sp+1); Write_byte(register_sp+1,register_iyh); register_iyh=temp8; } else
|
|
|
|
{ temp8=Read_byte(register_sp); Write_byte(register_sp ,register_l); register_l=temp8; // ex (sp),hl
|
|
temp8=Read_byte(register_sp+1); Write_byte(register_sp+1,register_h); register_h=temp8; } return; }
|
|
|
|
|
|
// ------------------------------------------------------
|
|
// Jumps, Calls, Returns
|
|
// ------------------------------------------------------
|
|
void Jump_Not_Taken8() {
|
|
Fetch_opcode();
|
|
return;
|
|
}
|
|
void Jump_Not_Taken16() {
|
|
Fetch_opcode();
|
|
Fetch_opcode();
|
|
return;
|
|
}
|
|
void Jump_Taken8() {
|
|
uint16_t local_displacement;
|
|
|
|
local_displacement = Sign_Extend(Fetch_opcode());
|
|
register_pc = (register_pc) + local_displacement;
|
|
return;
|
|
}
|
|
void Jump_Taken16() {
|
|
uint16_t local_displacement;
|
|
|
|
local_displacement = Fetch_opcode();
|
|
register_pc = (Fetch_opcode()<<8) | local_displacement;
|
|
return;
|
|
}
|
|
void opcode_0x18() { clock_counter=clock_counter+5; Jump_Taken8(); return; } // jr * - Disp8
|
|
void opcode_0x20() { if (flag_z == 0) {clock_counter=clock_counter+5; Jump_Taken8();} else Jump_Not_Taken8(); return; } // jr nz,* - Disp8
|
|
void opcode_0x28() { if (flag_z == 1) {clock_counter=clock_counter+5; Jump_Taken8();} else Jump_Not_Taken8(); return; } // jr z,* - Disp8
|
|
void opcode_0x30() { if (flag_c == 0) {clock_counter=clock_counter+5; Jump_Taken8();} else Jump_Not_Taken8(); return; } // jr nc,* - Disp8
|
|
void opcode_0x38() { if (flag_c == 1) {clock_counter=clock_counter+5; Jump_Taken8();} else Jump_Not_Taken8(); return; } // jr c,* - Disp8
|
|
void opcode_0x10() { register_b--; if (register_b != 0) {clock_counter=clock_counter+5; Jump_Taken8();} else Jump_Not_Taken8(); return; } // djnz * - Disp8
|
|
|
|
void opcode_0xC2() { if (flag_z == 0) Jump_Taken16(); else Jump_Not_Taken16(); return; } // jp nz,**
|
|
void opcode_0xCA() { if (flag_z == 1) Jump_Taken16(); else Jump_Not_Taken16(); return; } // jp z,**
|
|
void opcode_0xD2() { if (flag_c == 0) Jump_Taken16(); else Jump_Not_Taken16(); return; } // jp nc,**
|
|
void opcode_0xDA() { if (flag_c == 1) Jump_Taken16(); else Jump_Not_Taken16(); return; } // jp c,**
|
|
void opcode_0xE2() { if (flag_p == 0) Jump_Taken16(); else Jump_Not_Taken16(); return; } // jp po,**
|
|
void opcode_0xEA() { if (flag_p == 1) Jump_Taken16(); else Jump_Not_Taken16(); return; } // jp pe,**
|
|
void opcode_0xF2() { if (flag_s == 0) Jump_Taken16(); else Jump_Not_Taken16(); return; } // jp p,**
|
|
void opcode_0xFA() { if (flag_s == 1) Jump_Taken16(); else Jump_Not_Taken16(); return; } // jp m,**
|
|
|
|
void opcode_0xC3() { Jump_Taken16(); return; } // jp **
|
|
void opcode_0xE9() { if (prefix_dd==1) register_pc = (REGISTER_IX); else if (prefix_fd==1) register_pc = (REGISTER_IY); else register_pc = (REGISTER_HL); return; } // jp ix or iy, or (hl)
|
|
|
|
void opcode_0xC4() { if (flag_z == 0) { clock_counter=clock_counter+7; Push(register_pc+2); Jump_Taken16(); } else Jump_Not_Taken16(); return; } // call nz,**
|
|
void opcode_0xCC() { if (flag_z == 1) { clock_counter=clock_counter+7; Push(register_pc+2); Jump_Taken16(); } else Jump_Not_Taken16(); return; } // call z,**
|
|
void opcode_0xD4() { if (flag_c == 0) { clock_counter=clock_counter+7; Push(register_pc+2); Jump_Taken16(); } else Jump_Not_Taken16(); return; } // call nc,**
|
|
void opcode_0xDC() { if (flag_c == 1) { clock_counter=clock_counter+7; Push(register_pc+2); Jump_Taken16(); } else Jump_Not_Taken16(); return; } // call c,**
|
|
void opcode_0xE4() { if (flag_p == 0) { clock_counter=clock_counter+7; Push(register_pc+2); Jump_Taken16(); } else Jump_Not_Taken16(); return; } // call po,**
|
|
void opcode_0xEC() { if (flag_p == 1) { clock_counter=clock_counter+7; Push(register_pc+2); Jump_Taken16(); } else Jump_Not_Taken16(); return; } // call pe,**
|
|
void opcode_0xF4() { if (flag_s == 0) { clock_counter=clock_counter+7; Push(register_pc+2); Jump_Taken16(); } else Jump_Not_Taken16(); return; } // call p,**
|
|
void opcode_0xFC() { if (flag_s == 1) { clock_counter=clock_counter+7; Push(register_pc+2); Jump_Taken16(); } else Jump_Not_Taken16(); return; } // call m,**
|
|
void opcode_0xCD() { clock_counter=clock_counter+7; Push(register_pc+2); Jump_Taken16(); return; } // call **
|
|
|
|
void opcode_0xC9() { clock_counter=clock_counter+6; register_pc = Pop(); return; } // ret
|
|
void opcode_0xC0() { if (flag_z == 0) {clock_counter=clock_counter+6; register_pc = Pop(); } return; } // ret nz
|
|
void opcode_0xC8() { if (flag_z == 1) {clock_counter=clock_counter+6; register_pc = Pop(); } return; } // ret z
|
|
void opcode_0xD0() { if (flag_c == 0) {clock_counter=clock_counter+6; register_pc = Pop(); } return; } // ret nc
|
|
void opcode_0xD8() { if (flag_c == 1) {clock_counter=clock_counter+6; register_pc = Pop(); } return; } // ret c
|
|
void opcode_0xE0() { if (flag_p == 0) {clock_counter=clock_counter+6; register_pc = Pop(); } return; } // ret po
|
|
void opcode_0xE8() { if (flag_p == 1) {clock_counter=clock_counter+6; register_pc = Pop(); } return; } // ret pe
|
|
void opcode_0xF0() { if (flag_s == 0) {clock_counter=clock_counter+6; register_pc = Pop(); } return; } // ret p
|
|
void opcode_0xF8() { if (flag_s == 1) {clock_counter=clock_counter+6; register_pc = Pop(); } return; } // ret m
|
|
void opcode_0xED45() { register_iff1=register_iff2; register_pc = Pop(); return; } // retn
|
|
void opcode_0xED4D() { register_pc = Pop(); return; } // reti
|
|
|
|
void opcode_0xC7() { Push(register_pc); register_pc = 0x00; return; } // rst 00h
|
|
void opcode_0xD7() { Push(register_pc); register_pc = 0x10; return; } // rst 10h
|
|
void opcode_0xE7() { Push(register_pc); register_pc = 0x20; return; } // rst 20h
|
|
void opcode_0xF7() { Push(register_pc); register_pc = 0x30; return; } // rst 30h
|
|
void opcode_0xCF() { Push(register_pc); register_pc = 0x08; return; } // rst 08h
|
|
void opcode_0xDF() { Push(register_pc); register_pc = 0x18; return; } // rst 18h
|
|
void opcode_0xEF() { Push(register_pc); register_pc = 0x28; return; } // rst 28h
|
|
void opcode_0xFF() { Push(register_pc); register_pc = 0x38; return; } // rst 38h
|
|
|
|
|
|
// ------------------------------------------------------
|
|
// Loads
|
|
// ------------------------------------------------------
|
|
void opcode_0x01 () { register_c = Fetch_opcode(); register_b = Fetch_opcode(); return; }
|
|
void opcode_0x11 () { register_e = Fetch_opcode(); register_d = Fetch_opcode(); return; }
|
|
void opcode_0x0A () { register_a = Read_byte(REGISTER_BC); return; }
|
|
void opcode_0x0E () { register_c = Fetch_opcode(); return; }
|
|
void opcode_0x1E () { register_e = Fetch_opcode(); return; }
|
|
void opcode_0x1A () { register_a = Read_byte(REGISTER_DE); return; }
|
|
|
|
void opcode_0x21 () { if (prefix_dd==1) { register_ixl = Fetch_opcode(); register_ixh = Fetch_opcode(); } else
|
|
if (prefix_fd==1) { register_iyl = Fetch_opcode(); register_iyh = Fetch_opcode(); } else
|
|
{ register_l = Fetch_opcode(); register_h = Fetch_opcode(); } return; }
|
|
|
|
void opcode_0x22 () {
|
|
uint16_t local_address;
|
|
|
|
local_address = Fetch_opcode();
|
|
local_address = (Fetch_opcode()<<8) | local_address;
|
|
|
|
if (prefix_dd==1) { Write_byte(local_address , register_ixl); Write_byte( local_address+1 , register_ixh); } else
|
|
if (prefix_fd==1) { Write_byte(local_address , register_iyl); Write_byte( local_address+1 , register_iyh); } else
|
|
{ Write_byte(local_address , register_l); Write_byte( local_address+1 , register_h); }
|
|
return; }
|
|
|
|
void opcode_0x2A () {
|
|
uint16_t local_address;
|
|
|
|
local_address = Fetch_opcode();
|
|
local_address = (Fetch_opcode()<<8) | local_address;
|
|
|
|
if (prefix_dd==1) { register_ixl = Read_byte(local_address); register_ixh = Read_byte(local_address+1); } else
|
|
if (prefix_fd==1) { register_iyl = Read_byte(local_address); register_iyh = Read_byte(local_address+1); } else
|
|
{ register_l = Read_byte(local_address); register_h = Read_byte(local_address+1); }
|
|
return; }
|
|
|
|
void opcode_0x06 () { register_b = Fetch_opcode(); return; }
|
|
void opcode_0x16 () { register_d = Fetch_opcode(); return; }
|
|
void opcode_0x26 () { if (prefix_dd==1) { register_ixh = Fetch_opcode(); } else if (prefix_fd==1) { register_iyh = Fetch_opcode(); } else register_h = Fetch_opcode(); return; }
|
|
void opcode_0x2E () { if (prefix_dd==1) { register_ixl = Fetch_opcode(); } else if (prefix_fd==1) { register_iyl = Fetch_opcode(); } else register_l = Fetch_opcode(); return; }
|
|
|
|
|
|
|
|
|
|
void opcode_0x31 () {
|
|
uint16_t local_address;
|
|
local_address = Fetch_opcode();
|
|
local_address = (Fetch_opcode()<<8) | local_address;
|
|
|
|
register_sp = local_address; return; }
|
|
|
|
void opcode_0x32 () {
|
|
uint16_t local_address;
|
|
|
|
local_address = Fetch_opcode();
|
|
local_address = (Fetch_opcode()<<8) | local_address;
|
|
|
|
Write_byte(local_address , register_a);
|
|
return; }
|
|
|
|
void opcode_0x36 () { if (prefix_dd==1) Write_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()) , Fetch_opcode() ); else
|
|
if (prefix_fd==1) Write_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()) , Fetch_opcode() ); else
|
|
Write_byte(REGISTER_HL , Fetch_opcode() ); return; }
|
|
|
|
|
|
|
|
void opcode_0x3A () { register_a = Read_byte((Fetch_opcode()|(Fetch_opcode()<<8))); return; }
|
|
void opcode_0x3E () { register_a = Fetch_opcode(); return; }
|
|
|
|
void opcode_0x40 () { register_b = register_b; return; }
|
|
void opcode_0x41 () { register_b = register_c; return; }
|
|
void opcode_0x42 () { register_b = register_d; return; }
|
|
void opcode_0x43 () { register_b = register_e; return; }
|
|
void opcode_0x44 () { if (prefix_dd==1) register_b = register_ixh; else if (prefix_fd==1) register_b = register_iyh; else register_b = register_h; return; }
|
|
void opcode_0x45 () { if (prefix_dd==1) register_b = register_ixl; else if (prefix_fd==1) register_b = register_iyl; else register_b = register_l; return; }
|
|
void opcode_0x46 () { if (prefix_dd==1) register_b = Read_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()) ); else
|
|
if (prefix_fd==1) register_b = Read_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()) ); else
|
|
register_b = Read_byte(REGISTER_HL); return; }
|
|
void opcode_0x47 () { register_b = register_a; return; }
|
|
void opcode_0x48 () { register_c = register_b; return; }
|
|
void opcode_0x49 () { register_c = register_c; return; }
|
|
void opcode_0x4A () { register_c = register_d; return; }
|
|
void opcode_0x4B () { register_c = register_e; return; }
|
|
void opcode_0x4C () { if (prefix_dd==1) register_c = register_ixh; else if (prefix_fd==1) register_c = register_iyh; else register_c = register_h; return; }
|
|
void opcode_0x4D () { if (prefix_dd==1) register_c = register_ixl; else if (prefix_fd==1) register_c = register_iyl; else register_c = register_l; return; }
|
|
void opcode_0x4E () { if (prefix_dd==1) register_c = Read_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()) ); else
|
|
if (prefix_fd==1) register_c = Read_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()) ); else
|
|
register_c = Read_byte(REGISTER_HL); return; }
|
|
void opcode_0x4F () { register_c = register_a; return; }
|
|
|
|
// ----------------------------------------
|
|
|
|
void opcode_0x50 () { register_d = register_b; return; }
|
|
void opcode_0x51 () { register_d = register_c; return; }
|
|
void opcode_0x52 () { register_d = register_d; return; }
|
|
void opcode_0x53 () { register_d = register_e; return; }
|
|
void opcode_0x54 () { if (prefix_dd==1) register_d = register_ixh; else if (prefix_fd==1) register_d = register_iyh; else register_d = register_h; return; }
|
|
void opcode_0x55 () { if (prefix_dd==1) register_d = register_ixl; else if (prefix_fd==1) register_d = register_iyl; else register_d = register_l; return; }
|
|
void opcode_0x56 () { if (prefix_dd==1) register_d = Read_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()) ); else
|
|
if (prefix_fd==1) register_d = Read_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()) ); else
|
|
register_d = Read_byte(REGISTER_HL); return; }
|
|
void opcode_0x57 () { register_d = register_a; return; }
|
|
void opcode_0x58 () { register_e = register_b; return; }
|
|
void opcode_0x59 () { register_e = register_c; return; }
|
|
void opcode_0x5A () { register_e = register_d; return; }
|
|
void opcode_0x5B () { register_e = register_e; return; }
|
|
void opcode_0x5C () { if (prefix_dd==1) register_e = register_ixh; else if (prefix_fd==1) register_e = register_iyh; else register_e = register_h; return; }
|
|
void opcode_0x5D () { if (prefix_dd==1) register_e = register_ixl; else if (prefix_fd==1) register_e = register_iyl; else register_e = register_l; return; }
|
|
void opcode_0x5E () { if (prefix_dd==1) register_e = Read_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()) ); else
|
|
if (prefix_fd==1) register_e = Read_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()) ); else
|
|
register_e = Read_byte(REGISTER_HL); return; }
|
|
void opcode_0x5F () { register_e = register_a; return; }
|
|
|
|
// ----------------------------------------
|
|
|
|
void opcode_0x60 () { if (prefix_dd==1) register_ixh = register_b; else if (prefix_fd==1) register_iyh = register_b; else register_h = register_b; return; }
|
|
void opcode_0x61 () { if (prefix_dd==1) register_ixh = register_c; else if (prefix_fd==1) register_iyh = register_c; else register_h = register_c; return; }
|
|
void opcode_0x62 () { if (prefix_dd==1) register_ixh = register_d; else if (prefix_fd==1) register_iyh = register_d; else register_h = register_d; return; }
|
|
void opcode_0x63 () { if (prefix_dd==1) register_ixh = register_e; else if (prefix_fd==1) register_iyh = register_e; else register_h = register_e; return; }
|
|
void opcode_0x64 () { if (prefix_dd==1) register_ixh = register_ixh; else if (prefix_fd==1) register_iyh = register_iyh; else register_h = register_h; return; }
|
|
void opcode_0x65 () { if (prefix_dd==1) register_ixh = register_ixl; else if (prefix_fd==1) register_iyh = register_iyl; else register_h = register_l; return; }
|
|
void opcode_0x66 () { if (prefix_dd==1) register_h = Read_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()) ); else
|
|
if (prefix_fd==1) register_h = Read_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()) ); else
|
|
register_h = Read_byte(REGISTER_HL); return; }
|
|
void opcode_0x67 () { if (prefix_dd==1) register_ixh = register_a; else if (prefix_fd==1) register_iyh = register_a; else register_h = register_a; return; }
|
|
void opcode_0x68 () { if (prefix_dd==1) register_ixl = register_b; else if (prefix_fd==1) register_iyl = register_b; else register_l = register_b; return; }
|
|
void opcode_0x69 () { if (prefix_dd==1) register_ixl = register_c; else if (prefix_fd==1) register_iyl = register_c; else register_l = register_c; return; }
|
|
void opcode_0x6A () { if (prefix_dd==1) register_ixl = register_d; else if (prefix_fd==1) register_iyl = register_d; else register_l = register_d; return; }
|
|
void opcode_0x6B () { if (prefix_dd==1) register_ixl = register_e; else if (prefix_fd==1) register_iyl = register_e; else register_l = register_e; return; }
|
|
void opcode_0x6C () { if (prefix_dd==1) register_ixl = register_ixh; else if (prefix_fd==1) register_iyl = register_iyh; else register_l = register_h; return; }
|
|
void opcode_0x6D () { if (prefix_dd==1) register_ixl = register_ixl; else if (prefix_fd==1) register_iyl = register_iyl; else register_l = register_l; return; }
|
|
void opcode_0x6E () { if (prefix_dd==1) register_l = Read_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()) ); else
|
|
if (prefix_fd==1) register_l = Read_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()) ); else
|
|
register_l = Read_byte(REGISTER_HL); return; }
|
|
void opcode_0x6F () { if (prefix_dd==1) register_ixl = register_a; else if (prefix_fd==1) register_iyl = register_a; else register_l = register_a; return; }
|
|
|
|
// ----------------------------------------
|
|
|
|
void opcode_0x02 () { Write_byte(REGISTER_BC , register_a); return; } // ld (bc),a
|
|
void opcode_0x12 () { Write_byte(REGISTER_DE , register_a); return; } // ld (de),a
|
|
|
|
|
|
void opcode_0x70 () { if (prefix_dd==1) Write_byte( (REGISTER_IX+Sign_Extend(Fetch_opcode())) , register_b); else
|
|
if (prefix_fd==1) Write_byte( (REGISTER_IY+Sign_Extend(Fetch_opcode())) , register_b); else
|
|
Write_byte( REGISTER_HL , register_b ); return; }
|
|
|
|
void opcode_0x71 () { if (prefix_dd==1) Write_byte( (REGISTER_IX+Sign_Extend(Fetch_opcode())) , register_c); else
|
|
if (prefix_fd==1) Write_byte( (REGISTER_IY+Sign_Extend(Fetch_opcode())) , register_c); else
|
|
Write_byte( REGISTER_HL , register_c ); return; }
|
|
|
|
void opcode_0x72 () { if (prefix_dd==1) Write_byte( (REGISTER_IX+Sign_Extend(Fetch_opcode())) , register_d); else
|
|
if (prefix_fd==1) Write_byte( (REGISTER_IY+Sign_Extend(Fetch_opcode())) , register_d); else
|
|
Write_byte( REGISTER_HL , register_d ); return; }
|
|
|
|
void opcode_0x73 () { if (prefix_dd==1) Write_byte( (REGISTER_IX+Sign_Extend(Fetch_opcode())) , register_e); else
|
|
if (prefix_fd==1) Write_byte( (REGISTER_IY+Sign_Extend(Fetch_opcode())) , register_e); else
|
|
Write_byte( REGISTER_HL , register_e ); return; }
|
|
|
|
void opcode_0x74 () { if (prefix_dd==1) Write_byte( (REGISTER_IX+Sign_Extend(Fetch_opcode())) , register_h); else
|
|
if (prefix_fd==1) Write_byte( (REGISTER_IY+Sign_Extend(Fetch_opcode())) , register_h); else
|
|
Write_byte( REGISTER_HL , register_h ); return; }
|
|
|
|
void opcode_0x75 () { if (prefix_dd==1) Write_byte( (REGISTER_IX+Sign_Extend(Fetch_opcode())) , register_l); else
|
|
if (prefix_fd==1) Write_byte( (REGISTER_IY+Sign_Extend(Fetch_opcode())) , register_l); else
|
|
Write_byte( REGISTER_HL , register_l ); return; }
|
|
|
|
void opcode_0x77 () { if (prefix_dd==1) Write_byte( (REGISTER_IX+Sign_Extend(Fetch_opcode())) , register_a); else
|
|
if (prefix_fd==1) Write_byte( (REGISTER_IY+Sign_Extend(Fetch_opcode())) , register_a); else
|
|
Write_byte( REGISTER_HL , register_a ); return; }
|
|
void opcode_0x78 () { register_a = register_b; return; }
|
|
void opcode_0x79 () { register_a = register_c; return; }
|
|
void opcode_0x7A () { register_a = register_d; return; }
|
|
void opcode_0x7B () { register_a = register_e; return; }
|
|
void opcode_0x7C () { if (prefix_dd==1) register_a = register_ixh; else if (prefix_fd==1) register_a = register_iyh; else register_a = register_h; return; }
|
|
void opcode_0x7D () { if (prefix_dd==1) register_a = register_ixl; else if (prefix_fd==1) register_a = register_iyl; else register_a = register_l; return; }
|
|
void opcode_0x7E () { if (prefix_dd==1) register_a = Read_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()) ); else
|
|
if (prefix_fd==1) register_a = Read_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()) ); else
|
|
register_a = Read_byte(REGISTER_HL); return; }
|
|
void opcode_0x7F () { register_a = register_a; return; }
|
|
|
|
// ----------------------------------------
|
|
|
|
|
|
void opcode_0xF9 () { if (prefix_dd==1) register_sp = ((register_ixh<<8) | register_ixl); else
|
|
if (prefix_fd==1) register_sp = ((register_iyh<<8) | register_iyl); else
|
|
register_sp = ((register_h <<8) | register_l ); return; }
|
|
|
|
|
|
void opcode_0xED43 () {
|
|
uint16_t local_address;
|
|
|
|
local_address = (Fetch_opcode() | (Fetch_opcode()<<8));
|
|
|
|
Write_byte(local_address , register_c); Write_byte( local_address+1 , register_b);
|
|
return; }
|
|
|
|
|
|
void opcode_0xED53 () {
|
|
uint16_t local_address;
|
|
|
|
local_address = (Fetch_opcode() | (Fetch_opcode()<<8));
|
|
|
|
Write_byte(local_address , register_e); Write_byte( local_address+1 , register_d);
|
|
return; }
|
|
|
|
|
|
void opcode_0xED63 () {
|
|
uint16_t local_address;
|
|
|
|
local_address = (Fetch_opcode() | (Fetch_opcode()<<8));
|
|
|
|
Write_byte(local_address , register_l); Write_byte( local_address+1 , register_h);
|
|
return; }
|
|
|
|
|
|
void opcode_0xED73 () {
|
|
uint16_t local_address;
|
|
|
|
local_address = (Fetch_opcode() | (Fetch_opcode()<<8));
|
|
|
|
Write_word(local_address , register_sp);
|
|
return; }
|
|
|
|
|
|
|
|
void opcode_0xED4B () {
|
|
uint16_t local_address;
|
|
|
|
local_address = (Fetch_opcode() | (Fetch_opcode()<<8));
|
|
|
|
register_c = Read_byte(local_address);
|
|
register_b = Read_byte(local_address+1);
|
|
|
|
return; }
|
|
|
|
|
|
void opcode_0xED5B () {
|
|
uint16_t local_address;
|
|
|
|
local_address = (Fetch_opcode() | (Fetch_opcode()<<8));
|
|
|
|
register_e = Read_byte(local_address);
|
|
register_d = Read_byte(local_address+1);
|
|
|
|
return; }
|
|
|
|
void opcode_0xED6B () {
|
|
uint16_t local_address;
|
|
|
|
local_address = (Fetch_opcode() | (Fetch_opcode()<<8));
|
|
|
|
register_l = Read_byte(local_address);
|
|
register_h = Read_byte(local_address+1);
|
|
|
|
return; }
|
|
|
|
void opcode_0xED7B () {
|
|
uint16_t local_address;
|
|
|
|
local_address = (Fetch_opcode() | (Fetch_opcode()<<8));
|
|
|
|
register_sp = Read_word(local_address);
|
|
|
|
return; }
|
|
|
|
|
|
|
|
void opcode_0xED47 () { register_i = register_a; return; } // ld i, a
|
|
|
|
void opcode_0xED57 () { register_a = register_i; // ld a, i
|
|
register_f = register_f & 0x29; // Clear S, Z, H, P, N flags
|
|
if (register_iff2) register_f=register_f|0x04; // Set P flag
|
|
register_f = register_f | (register_a&0x80); // Set S flag
|
|
if (register_a==0) register_f = register_f | 0x40; // Set Z flag
|
|
return; }
|
|
|
|
void opcode_0xED4F () { register_r = register_a; return; }
|
|
|
|
void opcode_0xED5F () { register_a = register_r;
|
|
register_f = register_f & 0x29; // Clear S, Z, H, P, N flags
|
|
if (register_iff2) register_f=register_f|0x04; // Set P flag
|
|
register_f = register_f | (register_a&0x80); // Set S flag
|
|
if (register_a==0) register_f = register_f | 0x40; // Set Z flag
|
|
return; }
|
|
|
|
|
|
// ------------------------------------------------------
|
|
// Boolean
|
|
// ------------------------------------------------------
|
|
|
|
void Flags_Boolean() {
|
|
register_f = register_f & 0x00; // Clear S, Z, H, P, N, C flags
|
|
if (and_opcode==1) register_f = register_f | 0x10; // Set H flag
|
|
register_f = register_f | Parity_Array[register_a]; // Set P flag
|
|
register_f = register_f | (register_a&0x80); // Set S flag
|
|
if (register_a==0) register_f = register_f | 0x40; // Set Z flag
|
|
register_f = register_f | (register_a&0x28); // Set flag bits 5,3 to ALU results
|
|
and_opcode=0;
|
|
return;
|
|
}
|
|
|
|
|
|
void opcode_0xA0 () { register_a=(register_a & register_b); and_opcode=1; Flags_Boolean(); return; } // and b
|
|
void opcode_0xA1 () { register_a=(register_a & register_c); and_opcode=1; Flags_Boolean(); return; } // and c
|
|
void opcode_0xA2 () { register_a=(register_a & register_d); and_opcode=1; Flags_Boolean(); return; } // and d
|
|
void opcode_0xA3 () { register_a=(register_a & register_e); and_opcode=1; Flags_Boolean(); return; } // and e
|
|
void opcode_0xA4 () { if (prefix_dd==1) register_a=(register_a & register_ixh); else // and h , ixh, iyh
|
|
if (prefix_fd==1) register_a=(register_a & register_iyh); else
|
|
register_a=(register_a & register_h);
|
|
and_opcode=1; Flags_Boolean(); return; }
|
|
void opcode_0xA5 () { if (prefix_dd==1) register_a=(register_a & register_ixl); else // and l , ixl, iyl
|
|
if (prefix_fd==1) register_a=(register_a & register_iyl); else
|
|
register_a=(register_a & register_l);
|
|
and_opcode=1; Flags_Boolean(); return; }
|
|
void opcode_0xA6 () { if (prefix_dd==1) register_a=(register_a & Read_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()) )); else // and (hl) , ix+*, iy+*
|
|
if (prefix_fd==1) register_a=(register_a & Read_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()) )); else
|
|
register_a=(register_a & Read_byte(REGISTER_HL));
|
|
and_opcode=1; Flags_Boolean(); return; }
|
|
void opcode_0xA7 () { register_a=(register_a & register_a); and_opcode=1; Flags_Boolean(); return; } // and a
|
|
void opcode_0xE6 () { register_a=(register_a & Fetch_opcode()); and_opcode=1; Flags_Boolean(); return; } // and *
|
|
|
|
// ----
|
|
|
|
void opcode_0xA8 () { register_a=(register_a ^ register_b); Flags_Boolean(); return; } // xor b
|
|
void opcode_0xA9 () { register_a=(register_a ^ register_c); Flags_Boolean(); return; } // xor c
|
|
void opcode_0xAA () { register_a=(register_a ^ register_d); Flags_Boolean(); return; } // xor d
|
|
void opcode_0xAB () { register_a=(register_a ^ register_e); Flags_Boolean(); return; } // xor e
|
|
void opcode_0xAC () { if (prefix_dd==1) register_a=(register_a ^ register_ixh); else // xor h , ixh, iyh
|
|
if (prefix_fd==1) register_a=(register_a ^ register_iyh); else
|
|
register_a=(register_a ^ register_h);
|
|
Flags_Boolean(); return; }
|
|
void opcode_0xAD () { if (prefix_dd==1) register_a=(register_a ^ register_ixl); else // xor l , ixl, iyl
|
|
if (prefix_fd==1) register_a=(register_a ^ register_iyl); else
|
|
register_a=(register_a ^ register_l);
|
|
Flags_Boolean(); return; }
|
|
void opcode_0xAE () { if (prefix_dd==1) register_a=(register_a ^ Read_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()) )); else // xor (hl) , ix+*, iy+*
|
|
if (prefix_fd==1) register_a=(register_a ^ Read_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()) )); else
|
|
register_a=(register_a ^ Read_byte(REGISTER_HL));
|
|
Flags_Boolean(); return; }
|
|
void opcode_0xAF () { register_a=(register_a ^ register_a); Flags_Boolean(); return; } // xor a
|
|
void opcode_0xEE () { register_a=(register_a ^ Fetch_opcode()); Flags_Boolean(); return; } // xor *
|
|
|
|
// ----
|
|
|
|
void opcode_0xB0 () { register_a=(register_a | register_b); Flags_Boolean(); return; } // or b
|
|
void opcode_0xB1 () { register_a=(register_a | register_c); Flags_Boolean(); return; } // or c
|
|
void opcode_0xB2 () { register_a=(register_a | register_d); Flags_Boolean(); return; } // or d
|
|
void opcode_0xB3 () { register_a=(register_a | register_e); Flags_Boolean(); return; } // or e
|
|
void opcode_0xB4 () { if (prefix_dd==1) register_a=(register_a | register_ixh); else // or h , ixh, iyh
|
|
if (prefix_fd==1) register_a=(register_a | register_iyh); else
|
|
register_a=(register_a | register_h);
|
|
Flags_Boolean(); return; }
|
|
void opcode_0xB5 () { if (prefix_dd==1) register_a=(register_a | register_ixl); else // or l , ixl, iyl
|
|
if (prefix_fd==1) register_a=(register_a | register_iyl); else
|
|
register_a=(register_a | register_l);
|
|
Flags_Boolean(); return; }
|
|
void opcode_0xB6 () { if (prefix_dd==1) register_a=(register_a | Read_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()) )); else // or (hl) , ix+*, iy+*
|
|
if (prefix_fd==1) register_a=(register_a | Read_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()) )); else
|
|
register_a=(register_a | Read_byte(REGISTER_HL));
|
|
Flags_Boolean(); return; }
|
|
void opcode_0xB7 () { register_a=(register_a | register_a); Flags_Boolean(); return; } // or a
|
|
void opcode_0xF6 () { register_a=(register_a | Fetch_opcode()); Flags_Boolean(); return; } // or *
|
|
|
|
|
|
// ------------------------------------------------------
|
|
// Addition for bytes
|
|
// ------------------------------------------------------
|
|
uint8_t ADD_Bytes(uint8_t local_data1 , uint8_t local_data2) {
|
|
uint8_t local_nibble_results;
|
|
uint16_t local_byte_results;
|
|
uint16_t operand0=0;
|
|
uint16_t operand1=0;
|
|
uint16_t result=0;
|
|
uint8_t local_cf=0;
|
|
|
|
local_cf=(flag_c);
|
|
|
|
|
|
register_f = register_f & 0x01; // Clear S, Z, H, V, N flags
|
|
|
|
if (with_carry==1) { local_nibble_results = (0x0F&local_data1) + (0x0F&local_data2) + local_cf; // Perform the nibble math
|
|
local_byte_results = local_data1 + local_data2 + local_cf; // Perform the byte math
|
|
}
|
|
else { local_nibble_results = (0x0F&local_data1) + (0x0F&local_data2); // Perform the nibble math
|
|
local_byte_results = local_data1 + local_data2; // Perform the byte math
|
|
}
|
|
|
|
if (local_nibble_results > 0x0F) register_f = (register_f | 0x10); // Set H Flag
|
|
if ( inc_dec==0 ) { if (local_byte_results > 0xFF) register_f = (register_f | 0x01); else register_f = (register_f & 0xFE); } // Set C Flag if not INC or DEC opcodes
|
|
inc_dec = 0; // Debounce inc_dec
|
|
|
|
operand0 = (local_data1 & 0x0080);
|
|
operand1 = (local_data2 & 0x0080);
|
|
result = (local_byte_results & 0x0080);
|
|
if (operand0==0 && operand1==0 && result!=0) register_f = (register_f | 0x04); // Set V Flag
|
|
else if (operand0!=0 && operand1!=0 && result==0) register_f = (register_f | 0x04);
|
|
|
|
register_f = register_f | (local_byte_results&0x80); // Set S flag
|
|
if ((0xFF&local_byte_results)==0) register_f = register_f | 0x40; // Set Z flag
|
|
register_f = register_f | (local_byte_results&0x28); // Set flag bits 5,3 to ALU results
|
|
with_carry=0;
|
|
|
|
return local_byte_results;
|
|
}
|
|
|
|
// ------------------------------------------------------
|
|
// Addition for words
|
|
// ------------------------------------------------------
|
|
uint16_t ADD_Words(uint16_t local_data1 , uint16_t local_data2) {
|
|
uint16_t local_nibble_results;
|
|
uint32_t local_word_results;
|
|
uint8_t local_cf=0;
|
|
|
|
local_cf=(flag_c);
|
|
|
|
register_f = register_f & 0xC5; // Clear H, N flags
|
|
|
|
|
|
if (with_carry==1) { local_nibble_results = (0x0FFF&local_data1) + (0x0FFF&local_data2) + local_cf; // Perform the nibble math
|
|
local_word_results = local_data1 + local_data2 + local_cf; // Perform the word math
|
|
}
|
|
else { local_nibble_results = (0x0FFF&local_data1) + (0x0FFF&local_data2); // Perform the nibble math
|
|
local_word_results = local_data1 + local_data2; // Perform the word math
|
|
}
|
|
|
|
|
|
if (local_nibble_results > 0x0FFF) register_f = (register_f | 0x10); // Set H Flag
|
|
if ( inc_dec==0 ) { if (local_word_results > 0xFFFF) register_f = (register_f | 0x01); else register_f = (register_f & 0xFE); } // Set C Flag if not INC or DEC opcodes
|
|
register_f = register_f | ((local_word_results>>8)&0x28); // Set flag bits 5,3 to ALU results
|
|
inc_dec = 0; // Debounce inc_dec
|
|
with_carry=0;
|
|
|
|
return local_word_results;
|
|
}
|
|
|
|
|
|
// ------------------------------------------------------
|
|
// Addition for words2 - Sets all flags
|
|
// ------------------------------------------------------
|
|
uint16_t ADD_Words2(uint16_t local_data1 , uint16_t local_data2) {
|
|
uint16_t local_nibble_results;
|
|
uint32_t local_word_results;
|
|
uint16_t operand0=0;
|
|
uint16_t operand1=0;
|
|
uint16_t result=0;
|
|
uint8_t local_cf=0;
|
|
|
|
local_cf=(flag_c);
|
|
|
|
register_f = register_f & 0x01; // Clear S, Z, H, V, N flags
|
|
|
|
|
|
if (with_carry==1) { local_nibble_results = (0x0FFF&local_data1) + (0x0FFF&local_data2) + local_cf; // Perform the nibble math
|
|
local_word_results = local_data1 + local_data2 + local_cf; // Perform the word math
|
|
}
|
|
else { local_nibble_results = (0x0FFF&local_data1) + (0x0FFF&local_data2); // Perform the nibble math
|
|
local_word_results = local_data1 + local_data2; // Perform the word math
|
|
}
|
|
|
|
|
|
if (local_nibble_results > 0x0FFF) register_f = (register_f | 0x10); // Set H Flag
|
|
if ( inc_dec==0 ) { if (local_word_results > 0xFFFF) register_f = (register_f | 0x01); else register_f = (register_f & 0xFE); } // Set C Flag if not INC or DEC opcodes
|
|
inc_dec = 0; // Debounce inc_dec
|
|
|
|
|
|
operand0 = (local_data1 & 0x8000);
|
|
operand1 = (local_data2 & 0x8000);
|
|
result = (local_word_results & 0x8000);
|
|
if (operand0==0 && operand1==0 && result!=0) register_f = (register_f | 0x04); // Set V Flag
|
|
else if (operand0!=0 && operand1!=0 && result==0) register_f = (register_f | 0x04);
|
|
|
|
if (local_word_results&0x8000)register_f = register_f | 0x80; // Set S flag
|
|
if (local_word_results==0) register_f = register_f | 0x40; // Set Z flag
|
|
register_f = register_f | ((local_word_results>>8)&0x28); // Set flag bits 5,3 to ALU results
|
|
with_carry=0;
|
|
|
|
return local_word_results;
|
|
}
|
|
|
|
|
|
// ------------------------------------------------------
|
|
// Subtraction for bytes
|
|
// ------------------------------------------------------
|
|
uint8_t SUB_Bytes(uint8_t local_data1 , uint8_t local_data2) {
|
|
uint8_t local_nibble_results;
|
|
uint16_t local_byte_results;
|
|
uint16_t operand0=0;
|
|
uint16_t operand1=0;
|
|
uint16_t result=0;
|
|
uint8_t local_cf=0;
|
|
|
|
local_cf=(flag_c);
|
|
|
|
register_f = register_f & 0x01; // Clear S, Z, H, V, N flags
|
|
|
|
|
|
if (with_carry==1) { local_nibble_results = (0x0F&local_data1) - (0x0F&local_data2) - local_cf; // Perform the nibble math
|
|
local_byte_results = local_data1 - local_data2 - local_cf; // Perform the byte math
|
|
}
|
|
else { local_nibble_results = (0x0F&local_data1) - (0x0F&local_data2); // Perform the nibble math
|
|
local_byte_results = local_data1 - local_data2; // Perform the byte math
|
|
}
|
|
|
|
if (local_nibble_results > 0x0F) register_f = (register_f | 0x10); // Set H Flag
|
|
if ( inc_dec==0 ) { if (local_byte_results > 0xFF) register_f = (register_f | 0x01); else register_f = (register_f & 0xFE); } // Set C Flag if not INC or DEC opcodes
|
|
inc_dec = 0; // Debounce inc_dec
|
|
|
|
|
|
operand0 = (local_data1 & 0x0080);
|
|
operand1 = (local_data2 & 0x0080);
|
|
result = (local_byte_results & 0x0080);
|
|
if (operand0==0 && operand1!=0 && result!=0) register_f = (register_f | 0x04); // Set V Flag
|
|
else if (operand0!=0 && operand1==0 && result==0) register_f = (register_f | 0x04);
|
|
|
|
register_f = register_f | (local_byte_results&0x80); // Set S flag
|
|
if ((0xFF&local_byte_results)==0) register_f = register_f | 0x40; // Set Z flag
|
|
register_f = register_f | 0x02; // Set N flag always for subtraction
|
|
if (cp_opcode==0) register_f = register_f | (local_byte_results&0x28); else // Set flag bits 5,3 to ALU results
|
|
register_f = register_f | (local_data2&0x28); // Set flag bits 5,3 to ALU results
|
|
with_carry=0;
|
|
cp_opcode=0;
|
|
|
|
return local_byte_results;
|
|
}
|
|
// ------------------------------------------------------
|
|
// Subtraction for words
|
|
// ------------------------------------------------------
|
|
uint16_t SUB_Words(uint16_t local_data1 , uint16_t local_data2) {
|
|
uint16_t local_nibble_results;
|
|
uint32_t local_word_results;
|
|
uint16_t operand0=0;
|
|
uint16_t operand1=0;
|
|
uint16_t result=0;
|
|
uint8_t local_cf=0;
|
|
|
|
local_cf=(flag_c);
|
|
|
|
register_f = register_f & 0x01; // Clear S, Z, H, V, N flags
|
|
|
|
|
|
if (with_carry==1) { local_nibble_results = (0x0FFF&local_data1) - (0x0FFF&local_data2) - local_cf; // Perform the nibble math
|
|
local_word_results = local_data1 - local_data2 - local_cf; // Perform the word math
|
|
}
|
|
else { local_nibble_results = (0x0FFF&local_data1) - (0x0FFF&local_data2); // Perform the nibble math
|
|
local_word_results = local_data1 - local_data2; // Perform the word math
|
|
}
|
|
|
|
if (local_nibble_results > 0x0FFF) register_f = (register_f | 0x10); // Set H Flag
|
|
if ( inc_dec==0 ) { if (local_word_results > 0xFFFF) register_f = (register_f | 0x01); else register_f = (register_f & 0xFE); } // Set C Flag if not INC or DEC opcodes
|
|
inc_dec = 0; // Debounce inc_dec
|
|
|
|
|
|
operand0 = (local_data1 & 0x8000);
|
|
operand1 = (local_data2 & 0x8000);
|
|
result = (local_word_results & 0x8000);
|
|
if (operand0==0 && operand1!=0 && result!=0) register_f = (register_f | 0x04); // Set V Flag
|
|
else if (operand0!=0 && operand1==0 && result==0) register_f = (register_f | 0x04);
|
|
|
|
if (local_word_results&0x8000)register_f = register_f | 0x80; // Set S flag
|
|
if (local_word_results==0) register_f = register_f | 0x40; // Set Z flag
|
|
register_f = register_f | 0x02; // Set N flag always for subtraction
|
|
register_f = register_f | ((local_word_results>>8)&0x28); // Set flag bits 5,3 to ALU results
|
|
with_carry=0;
|
|
|
|
return local_word_results;
|
|
}
|
|
void opcode_0x09 () { if (prefix_dd==1) Writeback_Reg16(REG_IX , ADD_Words(REGISTER_IX , REGISTER_BC) ); else // add ix,bc
|
|
if (prefix_fd==1) Writeback_Reg16(REG_IY , ADD_Words(REGISTER_IY , REGISTER_BC) ); else // add iy,bc
|
|
Writeback_Reg16(REG_HL , ADD_Words(REGISTER_HL , REGISTER_BC) ); return; } // add hl,bc
|
|
|
|
|
|
void opcode_0x19 () { if (prefix_dd==1) Writeback_Reg16(REG_IX , ADD_Words(REGISTER_IX , REGISTER_DE) ); else // add ix,de
|
|
if (prefix_fd==1) Writeback_Reg16(REG_IY , ADD_Words(REGISTER_IY , REGISTER_DE) ); else // add iy,de
|
|
Writeback_Reg16(REG_HL , ADD_Words(REGISTER_HL , REGISTER_DE) ); return; } // add hl,de
|
|
|
|
|
|
void opcode_0x29 () { if (prefix_dd==1) Writeback_Reg16(REG_IX , ADD_Words(REGISTER_IX , REGISTER_IX) ); else // add ix,ix
|
|
if (prefix_fd==1) Writeback_Reg16(REG_IY , ADD_Words(REGISTER_IY , REGISTER_IY) ); else // add iy,iy
|
|
Writeback_Reg16(REG_HL , ADD_Words(REGISTER_HL , REGISTER_HL) ); return; } // add hl,hl
|
|
|
|
|
|
void opcode_0x39 () { if (prefix_dd==1) Writeback_Reg16(REG_IX , ADD_Words(REGISTER_IX , register_sp) ); else // add ix,sp
|
|
if (prefix_fd==1) Writeback_Reg16(REG_IY , ADD_Words(REGISTER_IY , register_sp) ); else // add iy,sp
|
|
Writeback_Reg16(REG_HL , ADD_Words(REGISTER_HL , register_sp) ); return; } // add hl,sp
|
|
|
|
|
|
|
|
void opcode_0xC6 () { register_a = ADD_Bytes(register_a , Fetch_opcode() ); return; } // add a,*
|
|
void opcode_0x87 () { register_a = ADD_Bytes(register_a , register_a); return; } // add a,a
|
|
void opcode_0x80 () { register_a = ADD_Bytes(register_a , register_b); return; } // add a,b
|
|
void opcode_0x81 () { register_a = ADD_Bytes(register_a , register_c); return; } // add a,c
|
|
void opcode_0x82 () { register_a = ADD_Bytes(register_a , register_d); return; } // add a,d
|
|
void opcode_0x83 () { register_a = ADD_Bytes(register_a , register_e); return; } // add a,e
|
|
|
|
void opcode_0x84 () { if (prefix_dd==1) { register_a = ADD_Bytes(register_a , register_ixh); } else // add a, h/ixh/iyh
|
|
if (prefix_fd==1) { register_a = ADD_Bytes(register_a , register_iyh); } else
|
|
{ register_a = ADD_Bytes(register_a , register_h); } return; }
|
|
|
|
void opcode_0x85 () { if (prefix_dd==1) { register_a = ADD_Bytes(register_a , register_ixl); } else // add a, l/ixl/iyl
|
|
if (prefix_fd==1) { register_a = ADD_Bytes(register_a , register_iyl); } else
|
|
{ register_a = ADD_Bytes(register_a , register_l); } return; }
|
|
|
|
void opcode_0x86 () { if (prefix_dd==1) { register_a = ADD_Bytes(register_a , Read_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()))); } else // add a, (hl)/(ix+*)/(iy+*)
|
|
if (prefix_fd==1) { register_a = ADD_Bytes(register_a , Read_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()))); } else
|
|
{ register_a = ADD_Bytes(register_a , Read_byte(REGISTER_HL)); } return; }
|
|
|
|
|
|
void opcode_0xED4A() { with_carry=1; Writeback_Reg16(REG_HL , ADD_Words2(REGISTER_HL , REGISTER_BC) ); return; } // adc hl,bc
|
|
void opcode_0xED5A() { with_carry=1; Writeback_Reg16(REG_HL , ADD_Words2(REGISTER_HL , REGISTER_DE) ); return; } // adc hl,de
|
|
void opcode_0xED6A() { with_carry=1; Writeback_Reg16(REG_HL , ADD_Words2(REGISTER_HL , REGISTER_HL) ); return; } // adc hl,hl
|
|
void opcode_0xED7A() { with_carry=1; Writeback_Reg16(REG_HL , ADD_Words2(REGISTER_HL , register_sp) ); return; } // adc hl,sp
|
|
|
|
void opcode_0xCE () { with_carry=1; register_a = ADD_Bytes(register_a , Fetch_opcode() ); return; } // adc *
|
|
void opcode_0x8F () { with_carry=1; register_a = ADD_Bytes(register_a , register_a); return; } // adc a,a
|
|
void opcode_0x88 () { with_carry=1; register_a = ADD_Bytes(register_a , register_b); return; } // adc a,b
|
|
void opcode_0x89 () { with_carry=1; register_a = ADD_Bytes(register_a , register_c); return; } // adc a,c
|
|
void opcode_0x8A () { with_carry=1; register_a = ADD_Bytes(register_a , register_d); return; } // adc a,d
|
|
void opcode_0x8B () { with_carry=1; register_a = ADD_Bytes(register_a , register_e); return; } // adc a,e
|
|
|
|
void opcode_0x8C () { if (prefix_dd==1) { with_carry=1; register_a = ADD_Bytes(register_a , register_ixh); } else // adc a, h/ixh/iyh
|
|
if (prefix_fd==1) { with_carry=1; register_a = ADD_Bytes(register_a , register_iyh); } else
|
|
{ with_carry=1; register_a = ADD_Bytes(register_a , register_h); } return; }
|
|
|
|
void opcode_0x8D () { if (prefix_dd==1) { with_carry=1; register_a = ADD_Bytes(register_a , register_ixl); } else // adc a, l/ixl/iyl
|
|
if (prefix_fd==1) { with_carry=1; register_a = ADD_Bytes(register_a , register_iyl); } else
|
|
{ with_carry=1; register_a = ADD_Bytes(register_a , register_l); } return; }
|
|
|
|
void opcode_0x8E () { if (prefix_dd==1) { with_carry=1; register_a = ADD_Bytes(register_a , Read_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()))); } else // adc a, (hl)/(ix+*)/(iy+*)
|
|
if (prefix_fd==1) { with_carry=1; register_a = ADD_Bytes(register_a , Read_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()))); } else
|
|
{ with_carry=1; register_a = ADD_Bytes(register_a , Read_byte(REGISTER_HL)); } return; }
|
|
|
|
|
|
void opcode_0xED44(){ register_a = SUB_Bytes(0 , register_a); return; } // neg a
|
|
void opcode_0xD6 () { register_a = SUB_Bytes(register_a , Fetch_opcode() ); return; } // sub a,*
|
|
void opcode_0x97 () { register_a = SUB_Bytes(register_a , register_a); return; } // sub a,a
|
|
void opcode_0x90 () { register_a = SUB_Bytes(register_a , register_b); return; } // sub a,b
|
|
void opcode_0x91 () { register_a = SUB_Bytes(register_a , register_c); return; } // sub a,c
|
|
void opcode_0x92 () { register_a = SUB_Bytes(register_a , register_d); return; } // sub a,d
|
|
void opcode_0x93 () { register_a = SUB_Bytes(register_a , register_e); return; } // sub a,e
|
|
|
|
void opcode_0x94 () { if (prefix_dd==1) { register_a = SUB_Bytes(register_a , register_ixh); } else // sub a, h/ixh/iyh
|
|
if (prefix_fd==1) { register_a = SUB_Bytes(register_a , register_iyh); } else
|
|
{ register_a = SUB_Bytes(register_a , register_h); } return; }
|
|
|
|
void opcode_0x95 () { if (prefix_dd==1) { register_a = SUB_Bytes(register_a , register_ixl); } else // sub a, l/ixl/iyl
|
|
if (prefix_fd==1) { register_a = SUB_Bytes(register_a , register_iyl); } else
|
|
{ register_a = SUB_Bytes(register_a , register_l); } return; }
|
|
|
|
void opcode_0x96 () { if (prefix_dd==1) { register_a = SUB_Bytes(register_a , Read_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()))); } else // sub a, (hl)/(ix+*)/(iy+*)
|
|
if (prefix_fd==1) { register_a = SUB_Bytes(register_a , Read_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()))); } else
|
|
{ register_a = SUB_Bytes(register_a , Read_byte(REGISTER_HL)); } return; }
|
|
|
|
|
|
|
|
void opcode_0xED42() { with_carry=1; Writeback_Reg16(REG_HL , SUB_Words(REGISTER_HL , REGISTER_BC) ); return; } // sbc hl,bc
|
|
void opcode_0xED52() { with_carry=1; Writeback_Reg16(REG_HL , SUB_Words(REGISTER_HL , REGISTER_DE) ); return; } // sbc hl,de
|
|
void opcode_0xED62() { with_carry=1; Writeback_Reg16(REG_HL , SUB_Words(REGISTER_HL , REGISTER_HL) ); return; } // sbc hl,hl
|
|
void opcode_0xED72() { with_carry=1; Writeback_Reg16(REG_HL , SUB_Words(REGISTER_HL , register_sp) ); return; } // sbc hl,sp
|
|
|
|
void opcode_0xDE () { with_carry=1; register_a = SUB_Bytes(register_a , Fetch_opcode() ); return; } // sbc a,*
|
|
void opcode_0x9F () { with_carry=1; register_a = SUB_Bytes(register_a , register_a); return; } // sbc a,a
|
|
void opcode_0x98 () { with_carry=1; register_a = SUB_Bytes(register_a , register_b); return; } // sbc a,b
|
|
void opcode_0x99 () { with_carry=1; register_a = SUB_Bytes(register_a , register_c); return; } // sbc a,c
|
|
void opcode_0x9A () { with_carry=1; register_a = SUB_Bytes(register_a , register_d); return; } // sbc a,d
|
|
void opcode_0x9B () { with_carry=1; register_a = SUB_Bytes(register_a , register_e); return; } // sbc a,e
|
|
|
|
void opcode_0x9C () { if (prefix_dd==1) { with_carry=1; register_a = SUB_Bytes(register_a , register_ixh); } else // sbc a, h/ixh/iyh
|
|
if (prefix_fd==1) { with_carry=1; register_a = SUB_Bytes(register_a , register_iyh); } else
|
|
{ with_carry=1; register_a = SUB_Bytes(register_a , register_h); } return; }
|
|
|
|
void opcode_0x9D () { if (prefix_dd==1) { with_carry=1; register_a = SUB_Bytes(register_a , register_ixl); } else // sbc a, l/ixl/iyl
|
|
if (prefix_fd==1) { with_carry=1; register_a = SUB_Bytes(register_a , register_iyl); } else
|
|
{ with_carry=1; register_a = SUB_Bytes(register_a , register_l); } return; }
|
|
|
|
void opcode_0x9E () { if (prefix_dd==1) { with_carry=1; register_a = SUB_Bytes(register_a , Read_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()))); } else // sbc a, (hl)/(ix+*)/(iy+*)
|
|
if (prefix_fd==1) { with_carry=1; register_a = SUB_Bytes(register_a , Read_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()))); } else
|
|
{ with_carry=1; register_a = SUB_Bytes(register_a , Read_byte(REGISTER_HL)); } return; }
|
|
|
|
|
|
void opcode_0xFE () { cp_opcode=1; SUB_Bytes(register_a , Fetch_opcode() ); return; } // cp *
|
|
void opcode_0xBF () { cp_opcode=1; SUB_Bytes(register_a , register_a); return; } // cp a,a
|
|
void opcode_0xB8 () { cp_opcode=1; SUB_Bytes(register_a , register_b); return; } // cp a,b
|
|
void opcode_0xB9 () { cp_opcode=1; SUB_Bytes(register_a , register_c); return; } // cp a,c
|
|
void opcode_0xBA () { cp_opcode=1; SUB_Bytes(register_a , register_d); return; } // cp a,d
|
|
void opcode_0xBB () { cp_opcode=1; SUB_Bytes(register_a , register_e); return; } // cp a,e
|
|
|
|
void opcode_0xBC () { if (prefix_dd==1) { cp_opcode=1; SUB_Bytes(register_a , register_ixh); } else // cp a, h/ixh/iyh
|
|
if (prefix_fd==1) { cp_opcode=1; SUB_Bytes(register_a , register_iyh); } else
|
|
{ cp_opcode=1; SUB_Bytes(register_a , register_h); } return; }
|
|
|
|
void opcode_0xBD () { if (prefix_dd==1) { cp_opcode=1; SUB_Bytes(register_a , register_ixl); } else // cp a, l/ixl/iyl
|
|
if (prefix_fd==1) { cp_opcode=1; SUB_Bytes(register_a , register_iyl); } else
|
|
{ cp_opcode=1; SUB_Bytes(register_a , register_l); } return; }
|
|
|
|
void opcode_0xBE () { if (prefix_dd==1) { cp_opcode=1; SUB_Bytes(register_a , Read_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()))); } else // cp a, (hl)/(ix+*)/(iy+*)
|
|
if (prefix_fd==1) { cp_opcode=1; SUB_Bytes(register_a , Read_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()))); } else
|
|
{ cp_opcode=1; SUB_Bytes(register_a , Read_byte(REGISTER_HL)); } return; }
|
|
|
|
void opcode_0x33 () { register_sp++; return; } // inc sp
|
|
void opcode_0x03 () { Writeback_Reg16(REG_BC , (REGISTER_BC) + 1); return; } // inc bc
|
|
void opcode_0x13 () { Writeback_Reg16(REG_DE , (REGISTER_DE) + 1); return; } // inc de
|
|
void opcode_0x23 () { if (prefix_dd==1) { Writeback_Reg16(REG_IX , (REGISTER_IX) + 1); } else // inc hl
|
|
if (prefix_fd==1) { Writeback_Reg16(REG_IY , (REGISTER_IY) + 1); } else
|
|
{ Writeback_Reg16(REG_HL , (REGISTER_HL) + 1); } return; }
|
|
|
|
|
|
void opcode_0x3C () { inc_dec=1; register_a = ADD_Bytes(register_a , 0x1); return; } // inc a
|
|
void opcode_0x04 () { inc_dec=1; register_b = ADD_Bytes(register_b , 0x1); return; } // inc b
|
|
void opcode_0x0C () { inc_dec=1; register_c = ADD_Bytes(register_c , 0x1); return; } // inc c
|
|
void opcode_0x14 () { inc_dec=1; register_d = ADD_Bytes(register_d , 0x1); return; } // inc d
|
|
void opcode_0x1C () { inc_dec=1; register_e = ADD_Bytes(register_e , 0x1); return; } // inc e
|
|
|
|
void opcode_0x24 () { inc_dec=1; if (prefix_dd==1) {register_ixh=ADD_Bytes(register_ixh , 0x1); } else // inc ixh, iyh, h
|
|
if (prefix_fd==1) { register_iyh=ADD_Bytes(register_iyh , 0x1); } else
|
|
{ register_h=ADD_Bytes(register_h , 0x1); } return; }
|
|
|
|
void opcode_0x2C () { inc_dec=1; if (prefix_dd==1) { register_ixl=ADD_Bytes(register_ixl , 0x1); } else // inc ixl, iyl, l
|
|
if (prefix_fd==1) { register_iyl=ADD_Bytes(register_iyl , 0x1); } else
|
|
{ register_l=ADD_Bytes(register_l , 0x1); } return; }
|
|
|
|
void opcode_0x34 () { inc_dec=1; if (prefix_dd==1) { temp16=REGISTER_IX + Sign_Extend(Fetch_opcode()); Write_byte(temp16 , ADD_Bytes(Read_byte(temp16),0x1)); } else // inc ix+*, iy+*, (hl)
|
|
if (prefix_fd==1) { temp16=REGISTER_IY + Sign_Extend(Fetch_opcode()); Write_byte(temp16 , ADD_Bytes(Read_byte(temp16),0x1)); } else
|
|
{ Write_byte(REGISTER_HL , ADD_Bytes(Read_byte(REGISTER_HL),0x1) ); } return; }
|
|
|
|
|
|
// -----------
|
|
|
|
void opcode_0x3B () { register_sp--; return; } // dec sp
|
|
void opcode_0x0B () { Writeback_Reg16(REG_BC , (REGISTER_BC) - 1); return; } // dec bc
|
|
void opcode_0x1B () { Writeback_Reg16(REG_DE , (REGISTER_DE) - 1); return; } // dec de
|
|
void opcode_0x2B () { if (prefix_dd==1) { Writeback_Reg16(REG_IX , (REGISTER_IX) - 1); } else // dec hl
|
|
if (prefix_fd==1) { Writeback_Reg16(REG_IY , (REGISTER_IY) - 1); } else
|
|
{ Writeback_Reg16(REG_HL , (REGISTER_HL) - 1); } return; }
|
|
|
|
// -----------
|
|
|
|
void opcode_0x3D () { inc_dec=1; register_a = SUB_Bytes(register_a , 0x1); return; } // dec a
|
|
void opcode_0x05 () { inc_dec=1; register_b = SUB_Bytes(register_b , 0x1); return; } // dec b
|
|
void opcode_0x0D () { inc_dec=1; register_c = SUB_Bytes(register_c , 0x1); return; } // dec c
|
|
void opcode_0x15 () { inc_dec=1; register_d = SUB_Bytes(register_d , 0x1); return; } // dec d
|
|
void opcode_0x1D () { inc_dec=1; register_e = SUB_Bytes(register_e , 0x1); return; } // dec e
|
|
|
|
void opcode_0x25 () { inc_dec=1; if (prefix_dd==1) { register_ixh=SUB_Bytes(register_ixh , 0x1); } else // dec ixh, iyh, h
|
|
if (prefix_fd==1) { register_iyh=SUB_Bytes(register_iyh , 0x1); } else
|
|
{ register_h=SUB_Bytes(register_h , 0x1); } return; }
|
|
|
|
void opcode_0x2D () { inc_dec=1; if (prefix_dd==1) { register_ixl=SUB_Bytes(register_ixl , 0x1); } else // dec ixl, iyl, l
|
|
if (prefix_fd==1) { register_iyl=SUB_Bytes(register_iyl , 0x1); } else
|
|
{ register_l=SUB_Bytes(register_l , 0x1); } return; }
|
|
|
|
void opcode_0x35 () { inc_dec=1; if (prefix_dd==1) { temp16=REGISTER_IX + Sign_Extend(Fetch_opcode()); Write_byte(temp16 , SUB_Bytes(Read_byte(temp16),0x1)); } else // dec ix+*, iy+*, (hl)
|
|
if (prefix_fd==1) { temp16=REGISTER_IY + Sign_Extend(Fetch_opcode()); Write_byte(temp16 , SUB_Bytes(Read_byte(temp16),0x1)); } else
|
|
{ Write_byte(REGISTER_HL , SUB_Bytes(Read_byte(REGISTER_HL),0x1) ); } return; }
|
|
|
|
|
|
|
|
|
|
|
|
// ------------------------------------------------------
|
|
// Input and Output
|
|
// ------------------------------------------------------
|
|
void Flags_IO(uint8_t local_data) {
|
|
|
|
register_f = register_f & 0x29; // Clear S, Z, H, P, N flags
|
|
register_f = register_f | Parity_Array[local_data]; // Set P flag
|
|
register_f = register_f | (local_data&0x80); // Set S flag
|
|
if (local_data==0) register_f = register_f | 0x40; // Set Z flag
|
|
return;
|
|
}
|
|
void opcode_0xDB() { register_a = BIU_Bus_Cycle(IO_READ_BYTE , Fetch_opcode() , 0x00 ); return; } // in a,(*)
|
|
void opcode_0xED78() { register_a = BIU_Bus_Cycle(IO_READ_BYTE , register_c , 0x00 ); Flags_IO(register_a); return; } // in a,(c)
|
|
void opcode_0xED40() { register_b = BIU_Bus_Cycle(IO_READ_BYTE , register_c , 0x00 ); Flags_IO(register_b); return; } // in b,(c)
|
|
void opcode_0xED48() { register_c = BIU_Bus_Cycle(IO_READ_BYTE , register_c , 0x00 ); Flags_IO(register_c); return; } // in c,(c)
|
|
void opcode_0xED50() { register_d = BIU_Bus_Cycle(IO_READ_BYTE , register_c , 0x00 ); Flags_IO(register_d); return; } // in d,(c)
|
|
void opcode_0xED58() { register_e = BIU_Bus_Cycle(IO_READ_BYTE , register_c , 0x00 ); Flags_IO(register_e); return; } // in e,(c)
|
|
void opcode_0xED60() { register_h = BIU_Bus_Cycle(IO_READ_BYTE , register_c , 0x00 ); Flags_IO(register_h); return; } // in h,(c)
|
|
void opcode_0xED68() { register_l = BIU_Bus_Cycle(IO_READ_BYTE , register_c , 0x00 ); Flags_IO(register_l); return; } // in l,(c)
|
|
void opcode_0xED70() { temp8 = BIU_Bus_Cycle(IO_READ_BYTE , register_c , 0x00 ); Flags_IO(temp8); return; } // in(c)
|
|
|
|
|
|
void opcode_0xD3() { BIU_Bus_Cycle(IO_WRITE_BYTE , Fetch_opcode() , register_a ); return; } // out (*),a
|
|
void opcode_0xED79() { BIU_Bus_Cycle(IO_WRITE_BYTE , register_c , register_a ); return; } // out (c),a
|
|
void opcode_0xED41() { BIU_Bus_Cycle(IO_WRITE_BYTE , register_c , register_b ); return; } // out (c),b
|
|
void opcode_0xED49() { BIU_Bus_Cycle(IO_WRITE_BYTE , register_c , register_c ); return; } // out (c),c
|
|
void opcode_0xED51() { BIU_Bus_Cycle(IO_WRITE_BYTE , register_c , register_d ); return; } // out (c),d
|
|
void opcode_0xED59() { BIU_Bus_Cycle(IO_WRITE_BYTE , register_c , register_e ); return; } // out (c),e
|
|
void opcode_0xED61() { BIU_Bus_Cycle(IO_WRITE_BYTE , register_c , register_h ); return; } // out (c),h
|
|
void opcode_0xED69() { BIU_Bus_Cycle(IO_WRITE_BYTE , register_c , register_l ); return; } // out (c),l
|
|
void opcode_0xED71() { BIU_Bus_Cycle(IO_WRITE_BYTE , register_c , 0x0 ); return; } // out (c),0x0
|
|
|
|
|
|
// ------------------------------------------------------
|
|
// Shifts and Rotates
|
|
// ------------------------------------------------------
|
|
|
|
void Flags_Shifts(uint8_t local_data) {
|
|
if (prefix_cb==0) {
|
|
register_f = register_f & 0xC5; // Clear H, N, 5, 3 flags
|
|
register_f = register_f | (local_data&0x28); // Set flag bits 5,3 to ALU results
|
|
}
|
|
else {
|
|
register_f = register_f & 0x01; // Clear H, N, P, S, Z, 5, 3 flags
|
|
register_f = register_f | Parity_Array[local_data]; // Set P flag
|
|
register_f = register_f | (local_data&0x80); // Set S flag
|
|
if (local_data==0) register_f = register_f | 0x40; // Set Z flag
|
|
register_f = register_f | (local_data&0x28); // Set flag bits 5,3 to ALU results
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
uint8_t RLC(uint8_t local_data) {
|
|
register_f = register_f & 0xFE; // Clear C flag
|
|
register_f = register_f | (local_data>>7); // C Flag = bit[7]
|
|
local_data = (local_data<<1); // Shift register_a left 1 bit
|
|
local_data = local_data | (register_f&0x01); // register_a bit[0] = bit shifted out of bit[7]
|
|
Flags_Shifts(local_data);
|
|
return local_data; } // rlca
|
|
|
|
|
|
uint8_t RRC(uint8_t local_data) {
|
|
register_f = register_f & 0xFE; // Clear C flag
|
|
register_f = register_f | (local_data&0x01); // C Flag = bit[0]
|
|
local_data = (local_data>>1); // Shift register_a left 1 bit
|
|
local_data = local_data | ((register_f&0x01)<<7); // register_a bit[7] = bit shifted out of bit[0]
|
|
Flags_Shifts(local_data);
|
|
return local_data; } // rrca
|
|
|
|
|
|
|
|
uint8_t RL(uint8_t local_data) {
|
|
temp8 = register_f & 0x01; // Store old C flag
|
|
register_f = register_f & 0xFE; // Clear C flag
|
|
register_f = register_f | (local_data>>7); // C Flag = bit[7]
|
|
local_data = (local_data<<1); // Shift register_a left 1 bit
|
|
local_data = local_data | temp8; // register_a bit[0] = old C Flag
|
|
Flags_Shifts(local_data);
|
|
return local_data; } // rla
|
|
|
|
|
|
|
|
uint8_t RR(uint8_t local_data) {
|
|
temp8 = register_f & 0x01; // Store old C flag
|
|
register_f = register_f & 0xFE; // Clear C flag
|
|
register_f = register_f | (local_data&0x01); // C Flag = bit[0]
|
|
local_data = (local_data>>1); // Shift register_a left 1 bit
|
|
local_data = local_data | (temp8<<7); // register_a bit[7] = old C Flag
|
|
Flags_Shifts(local_data);
|
|
return local_data; } // rra
|
|
|
|
|
|
uint8_t SLA(uint8_t local_data) {
|
|
register_f = register_f & 0xFE; // Clear C flag
|
|
register_f = register_f | (local_data>>7); // C Flag = bit[7]
|
|
local_data = (local_data<<1); // Shift register_a left 1 bit
|
|
Flags_Shifts(local_data);
|
|
return local_data; } // sla
|
|
|
|
|
|
uint8_t SRA(uint8_t local_data) {
|
|
register_f = register_f & 0xFE; // Clear C flag
|
|
register_f = register_f | (local_data&0x01); // C Flag = bit[0]
|
|
local_data = (local_data>>1); // Shift register_a right 1 bit
|
|
if (local_data&0x40) local_data=local_data | 0x80; // Keep bit[7] the same as before the shift
|
|
Flags_Shifts(local_data);
|
|
return local_data; } // sra
|
|
|
|
|
|
|
|
uint8_t SLL(uint8_t local_data) {
|
|
register_f = register_f & 0xFE; // Clear C flag
|
|
register_f = register_f | (local_data>>7); // C Flag = bit[7]
|
|
local_data = (local_data<<1); // Shift register_a left 1 bit
|
|
local_data = local_data | 0x1; // Set bit[0] to 1
|
|
Flags_Shifts(local_data);
|
|
return local_data; } // sll
|
|
|
|
|
|
|
|
uint8_t SRL(uint8_t local_data) {
|
|
register_f = register_f & 0xFE; // Clear C flag
|
|
register_f = register_f | (local_data&0x01); // C Flag = bit[0]
|
|
local_data = (local_data>>1); // Shift register_a left 1 bit
|
|
Flags_Shifts(local_data);
|
|
return local_data; } // rra
|
|
|
|
|
|
void opcode_0x07() {register_a = RLC(register_a); return; } // rlc
|
|
void opcode_0xCB00() {if (prefix_dd==1) {register_b = RLC(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_b = RLC(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_b=RLC(register_b); }return; }
|
|
void opcode_0xCB01() {if (prefix_dd==1) {register_c = RLC(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_c = RLC(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_c=RLC(register_c); }return; }
|
|
void opcode_0xCB02() {if (prefix_dd==1) {register_d = RLC(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_d = RLC(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_d=RLC(register_d); }return; }
|
|
void opcode_0xCB03() {if (prefix_dd==1) {register_e = RLC(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_e = RLC(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_e=RLC(register_e); }return; }
|
|
void opcode_0xCB04() {if (prefix_dd==1) {register_h = RLC(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_h = RLC(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_h=RLC(register_h); }return; }
|
|
void opcode_0xCB05() {if (prefix_dd==1) {register_l = RLC(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_l = RLC(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_l=RLC(register_l); }return; }
|
|
void opcode_0xCB07() {if (prefix_dd==1) {register_a = RLC(Read_byte(REGISTER_IX+Sign_Extend(cb_prefix_offset)));} else if (prefix_fd==1) {register_a = RLC(Read_byte(REGISTER_IY+Sign_Extend(cb_prefix_offset)));} else {register_a=RLC(register_a); }return; }
|
|
void opcode_0xCB06() {if (prefix_dd==1) {temp16=REGISTER_IX+Sign_Extend(cb_prefix_offset); Write_byte(temp16,RLC(Read_byte(temp16)));} else if (prefix_fd==1){temp16=REGISTER_IY+Sign_Extend(cb_prefix_offset); Write_byte(temp16,RLC(Read_byte(temp16)));} else Write_byte( (REGISTER_HL) , RLC(Read_byte(REGISTER_HL)) );return; }
|
|
|
|
void opcode_0x0F() {register_a = RRC(register_a); return; } // rrc
|
|
void opcode_0xCB08() {if (prefix_dd==1) {register_b = RRC(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_b = RRC(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_b=RRC(register_b); }return; }
|
|
void opcode_0xCB09() {if (prefix_dd==1) {register_c = RRC(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_c = RRC(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_c=RRC(register_c); }return; }
|
|
void opcode_0xCB0A() {if (prefix_dd==1) {register_d = RRC(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_d = RRC(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_d=RRC(register_d); }return; }
|
|
void opcode_0xCB0B() {if (prefix_dd==1) {register_e = RRC(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_e = RRC(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_e=RRC(register_e); }return; }
|
|
void opcode_0xCB0C() {if (prefix_dd==1) {register_h = RRC(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_h = RRC(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_h=RRC(register_h); }return; }
|
|
void opcode_0xCB0D() {if (prefix_dd==1) {register_l = RRC(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_l = RRC(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_l=RRC(register_l); }return; }
|
|
void opcode_0xCB0F() {if (prefix_dd==1) {register_a = RRC(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_a = RRC(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_a=RRC(register_a); }return; }
|
|
void opcode_0xCB0E() {if (prefix_dd==1) {temp16=REGISTER_IX+Sign_Extend(cb_prefix_offset); Write_byte(temp16,RRC(Read_byte(temp16)));} else if (prefix_fd==1){temp16=REGISTER_IY+Sign_Extend(cb_prefix_offset); Write_byte(temp16,RRC(Read_byte(temp16)));} else Write_byte( (REGISTER_HL) , RRC(Read_byte(REGISTER_HL)) );return; }
|
|
|
|
void opcode_0x17() {register_a = RL(register_a); return; } // rl
|
|
void opcode_0xCB10() {if (prefix_dd==1) {register_b = RL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_b = RL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_b=RL(register_b); }return; }
|
|
void opcode_0xCB11() {if (prefix_dd==1) {register_c = RL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_c = RL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_c=RL(register_c); }return; }
|
|
void opcode_0xCB12() {if (prefix_dd==1) {register_d = RL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_d = RL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_d=RL(register_d); }return; }
|
|
void opcode_0xCB13() {if (prefix_dd==1) {register_e = RL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_e = RL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_e=RL(register_e); }return; }
|
|
void opcode_0xCB14() {if (prefix_dd==1) {register_h = RL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_h = RL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_h=RL(register_h); }return; }
|
|
void opcode_0xCB15() {if (prefix_dd==1) {register_l = RL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_l = RL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_l=RL(register_l); }return; }
|
|
void opcode_0xCB17() {if (prefix_dd==1) {register_a = RL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_a = RL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_a=RL(register_a); }return; }
|
|
void opcode_0xCB16() {if (prefix_dd==1) {temp16=REGISTER_IX+Sign_Extend(cb_prefix_offset); Write_byte(temp16,RL(Read_byte(temp16)));} else if (prefix_fd==1){temp16=REGISTER_IY+Sign_Extend(cb_prefix_offset); Write_byte(temp16,RL(Read_byte(temp16)));} else Write_byte( (REGISTER_HL) , RL(Read_byte(REGISTER_HL)) );return; }
|
|
|
|
void opcode_0x1F() {register_a = RR(register_a); return; } // rr
|
|
void opcode_0xCB18() {if (prefix_dd==1) {register_b = RR(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_b = RR(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_b=RR(register_b); }return; }
|
|
void opcode_0xCB19() {if (prefix_dd==1) {register_c = RR(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_c = RR(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_c=RR(register_c); }return; }
|
|
void opcode_0xCB1A() {if (prefix_dd==1) {register_d = RR(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_d = RR(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_d=RR(register_d); }return; }
|
|
void opcode_0xCB1B() {if (prefix_dd==1) {register_e = RR(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_e = RR(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_e=RR(register_e); }return; }
|
|
void opcode_0xCB1C() {if (prefix_dd==1) {register_h = RR(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_h = RR(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_h=RR(register_h); }return; }
|
|
void opcode_0xCB1D() {if (prefix_dd==1) {register_l = RR(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_l = RR(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_l=RR(register_l); }return; }
|
|
void opcode_0xCB1F() {if (prefix_dd==1) {register_a = RR(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_a = RR(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_a=RR(register_a); }return; }
|
|
void opcode_0xCB1E() {if (prefix_dd==1) {temp16=REGISTER_IX+Sign_Extend(cb_prefix_offset); Write_byte(temp16,RR(Read_byte(temp16)));} else if (prefix_fd==1){temp16=REGISTER_IY+Sign_Extend(cb_prefix_offset); Write_byte(temp16,RR(Read_byte(temp16)));} else Write_byte( (REGISTER_HL) , RR(Read_byte(REGISTER_HL)) );return; }
|
|
|
|
// ----
|
|
|
|
|
|
void opcode_0xCB20() {if (prefix_dd==1) {register_b = SLA(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_b = SLA(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_b=SLA(register_b); }return; }
|
|
void opcode_0xCB21() {if (prefix_dd==1) {register_c = SLA(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_c = SLA(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_c=SLA(register_c); }return; }
|
|
void opcode_0xCB22() {if (prefix_dd==1) {register_d = SLA(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_d = SLA(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_d=SLA(register_d); }return; }
|
|
void opcode_0xCB23() {if (prefix_dd==1) {register_e = SLA(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_e = SLA(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_e=SLA(register_e); }return; }
|
|
void opcode_0xCB24() {if (prefix_dd==1) {register_h = SLA(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_h = SLA(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_h=SLA(register_h); }return; }
|
|
void opcode_0xCB25() {if (prefix_dd==1) {register_l = SLA(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_l = SLA(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_l=SLA(register_l); }return; }
|
|
void opcode_0xCB27() {if (prefix_dd==1) {register_a = SLA(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_a = SLA(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_a=SLA(register_a); }return; }
|
|
void opcode_0xCB26() {if (prefix_dd==1) {temp16=REGISTER_IX+Sign_Extend(cb_prefix_offset); Write_byte(temp16,SLA(Read_byte(temp16)));} else if (prefix_fd==1){temp16=REGISTER_IY+Sign_Extend(cb_prefix_offset); Write_byte(temp16,SLA(Read_byte(temp16)));} else Write_byte( (REGISTER_HL) , SLA(Read_byte(REGISTER_HL)) );return; }
|
|
|
|
void opcode_0xCB28() {if (prefix_dd==1) {register_b = SRA(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_b = SRA(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_b=SRA(register_b); }return; }
|
|
void opcode_0xCB29() {if (prefix_dd==1) {register_c = SRA(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_c = SRA(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_c=SRA(register_c); }return; }
|
|
void opcode_0xCB2A() {if (prefix_dd==1) {register_d = SRA(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_d = SRA(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_d=SRA(register_d); }return; }
|
|
void opcode_0xCB2B() {if (prefix_dd==1) {register_e = SRA(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_e = SRA(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_e=SRA(register_e); }return; }
|
|
void opcode_0xCB2C() {if (prefix_dd==1) {register_h = SRA(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_h = SRA(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_h=SRA(register_h); }return; }
|
|
void opcode_0xCB2D() {if (prefix_dd==1) {register_l = SRA(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_l = SRA(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_l=SRA(register_l); }return; }
|
|
void opcode_0xCB2F() {if (prefix_dd==1) {register_a = SRA(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_a = SRA(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_a=SRA(register_a); }return; }
|
|
void opcode_0xCB2E() {if (prefix_dd==1) {temp16=REGISTER_IX+Sign_Extend(cb_prefix_offset); Write_byte(temp16,SRA(Read_byte(temp16)));} else if (prefix_fd==1){temp16=REGISTER_IY+Sign_Extend(cb_prefix_offset); Write_byte(temp16,SRA(Read_byte(temp16)));} else Write_byte( (REGISTER_HL) , SRA(Read_byte(REGISTER_HL)) );return; }
|
|
|
|
void opcode_0xCB30() {if (prefix_dd==1) {register_b = SLL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_b = SLL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_b=SLL(register_b); }return; }
|
|
void opcode_0xCB31() {if (prefix_dd==1) {register_c = SLL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_c = SLL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_c=SLL(register_c); }return; }
|
|
void opcode_0xCB32() {if (prefix_dd==1) {register_d = SLL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_d = SLL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_d=SLL(register_d); }return; }
|
|
void opcode_0xCB33() {if (prefix_dd==1) {register_e = SLL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_e = SLL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_e=SLL(register_e); }return; }
|
|
void opcode_0xCB34() {if (prefix_dd==1) {register_h = SLL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_h = SLL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_h=SLL(register_h); }return; }
|
|
void opcode_0xCB35() {if (prefix_dd==1) {register_l = SLL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_l = SLL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_l=SLL(register_l); }return; }
|
|
void opcode_0xCB37() {if (prefix_dd==1) {register_a = SLL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_a = SLL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_a=SLL(register_a); }return; }
|
|
void opcode_0xCB36() {if (prefix_dd==1) {temp16=REGISTER_IX+Sign_Extend(cb_prefix_offset); Write_byte(temp16,SLL(Read_byte(temp16)));} else if (prefix_fd==1){temp16=REGISTER_IY+Sign_Extend(cb_prefix_offset); Write_byte(temp16,SLL(Read_byte(temp16)));} else Write_byte( (REGISTER_HL) , SLL(Read_byte(REGISTER_HL)) );return; }
|
|
|
|
void opcode_0xCB38() {if (prefix_dd==1) {register_b = SRL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_b = SRL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_b=SRL(register_b); }return; }
|
|
void opcode_0xCB39() {if (prefix_dd==1) {register_c = SRL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_c = SRL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_c=SRL(register_c); }return; }
|
|
void opcode_0xCB3A() {if (prefix_dd==1) {register_d = SRL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_d = SRL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_d=SRL(register_d); }return; }
|
|
void opcode_0xCB3B() {if (prefix_dd==1) {register_e = SRL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_e = SRL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_e=SRL(register_e); }return; }
|
|
void opcode_0xCB3C() {if (prefix_dd==1) {register_h = SRL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_h = SRL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_h=SRL(register_h); }return; }
|
|
void opcode_0xCB3D() {if (prefix_dd==1) {register_l = SRL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_l = SRL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_l=SRL(register_l); }return; }
|
|
void opcode_0xCB3F() {if (prefix_dd==1) {register_a = SRL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_a = SRL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_a=SRL(register_a); }return; }
|
|
void opcode_0xCB3E() {if (prefix_dd==1) {temp16=REGISTER_IX+Sign_Extend(cb_prefix_offset); Write_byte(temp16,SRL(Read_byte(temp16)));} else if (prefix_fd==1){temp16=REGISTER_IY+Sign_Extend(cb_prefix_offset); Write_byte(temp16,SRL(Read_byte(temp16)));} else Write_byte( (REGISTER_HL) , SRL(Read_byte(REGISTER_HL)) );return; }
|
|
|
|
|
|
void BIT(uint8_t local_data) {
|
|
uint8_t local_bitnum;
|
|
register_f = register_f & 0x01; // Clear all flags except C
|
|
local_bitnum = (CB_opcode>>3) &0x07;
|
|
switch (local_bitnum) {
|
|
case 0x00: temp8=(local_data&0x01); if (temp8==0) { register_f = register_f | 0x40; } break; // Set Z flag
|
|
case 0x01: temp8=(local_data&0x02); if (temp8==0) { register_f = register_f | 0x40; } break;
|
|
case 0x02: temp8=(local_data&0x04); if (temp8==0) { register_f = register_f | 0x40; } break;
|
|
case 0x03: temp8=(local_data&0x08); if (temp8==0) { register_f = register_f | 0x40; } break;
|
|
case 0x04: temp8=(local_data&0x10); if (temp8==0) { register_f = register_f | 0x40; } break;
|
|
case 0x05: temp8=(local_data&0x20); if (temp8==0) { register_f = register_f | 0x40; } break;
|
|
case 0x06: temp8=(local_data&0x40); if (temp8==0) { register_f = register_f | 0x40; } break;
|
|
case 0x07: temp8=(local_data&0x80); if (temp8==0) { register_f = register_f | 0x40; } break;
|
|
}
|
|
|
|
register_f = register_f | 0x10; // Set H flag
|
|
register_f = register_f | (temp8&0x80); // Set S flag
|
|
if (temp8==0) register_f=register_f|0x04; // Set P flag
|
|
|
|
|
|
if (special==1) { // Special handlinig for (hl)
|
|
clock_counter=clock_counter+0x4;
|
|
register_f = register_f | ((register_pc>>8)&0x28); // Set flag bits 5,3 to ALU results
|
|
}
|
|
else if (special==2) { // Special handlinig for IX+*
|
|
register_f = register_f | ((temp16>>8)&0x28); // Set flag bits 5,3 to ALU results
|
|
}
|
|
|
|
else { // Other opcodes
|
|
register_f = register_f | (local_data&0x28); // Set flag bits 5,3 to ALU results
|
|
}
|
|
|
|
special=0;
|
|
return; } // bit
|
|
|
|
void opcode_0xCB_Bit_b() {if (prefix_dd==1) {BIT(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {BIT(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {BIT(register_b); }return; }
|
|
void opcode_0xCB_Bit_c() {if (prefix_dd==1) {BIT(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {BIT(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {BIT(register_c); }return; }
|
|
void opcode_0xCB_Bit_d() {if (prefix_dd==1) {BIT(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {BIT(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {BIT(register_d); }return; }
|
|
void opcode_0xCB_Bit_e() {if (prefix_dd==1) {BIT(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {BIT(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {BIT(register_e); }return; }
|
|
void opcode_0xCB_Bit_h() {if (prefix_dd==1) {BIT(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {BIT(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {BIT(register_h); }return; }
|
|
void opcode_0xCB_Bit_l() {if (prefix_dd==1) {BIT(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {BIT(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {BIT(register_l); }return; }
|
|
void opcode_0xCB_Bit_a() {if (prefix_dd==1) {BIT(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {BIT(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {BIT(register_a); }return; }
|
|
void opcode_0xCB_Bit_hl() {if (prefix_dd==1) {special=2; temp16=REGISTER_IX+Sign_Extend(cb_prefix_offset); BIT(Read_byte(temp16));} else if (prefix_fd==1) {special=2; temp16=REGISTER_IY+Sign_Extend(cb_prefix_offset); BIT(Read_byte(temp16));} else {special=1; BIT(Read_byte(REGISTER_HL)); }return; }
|
|
|
|
|
|
uint8_t RES(uint8_t local_data) {
|
|
uint8_t local_bitnum;
|
|
|
|
local_bitnum = (CB_opcode>>3) &0x07;
|
|
switch (local_bitnum) {
|
|
case 0x00: local_data = (local_data & (~(0x01))); break;
|
|
case 0x01: local_data = (local_data & (~(0x02))); break;
|
|
case 0x02: local_data = (local_data & (~(0x04))); break;
|
|
case 0x03: local_data = (local_data & (~(0x08))); break;
|
|
case 0x04: local_data = (local_data & (~(0x10))); break;
|
|
case 0x05: local_data = (local_data & (~(0x20))); break;
|
|
case 0x06: local_data = (local_data & (~(0x40))); break;
|
|
case 0x07: local_data = (local_data & (~(0x80))); break;
|
|
}
|
|
return local_data; } // res
|
|
|
|
void opcode_0xCB_Res_b() {if (prefix_dd==1) {RES(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {RES(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_b=RES(register_b); }return; }
|
|
void opcode_0xCB_Res_c() {if (prefix_dd==1) {RES(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {RES(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_c=RES(register_c); }return; }
|
|
void opcode_0xCB_Res_d() {if (prefix_dd==1) {RES(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {RES(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_d=RES(register_d); }return; }
|
|
void opcode_0xCB_Res_e() {if (prefix_dd==1) {RES(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {RES(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_e=RES(register_e); }return; }
|
|
void opcode_0xCB_Res_h() {if (prefix_dd==1) {RES(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {RES(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_h=RES(register_h); }return; }
|
|
void opcode_0xCB_Res_l() {if (prefix_dd==1) {RES(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {RES(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_l=RES(register_l); }return; }
|
|
void opcode_0xCB_Res_a() {if (prefix_dd==1) {RES(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {RES(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_a=RES(register_a); }return; }
|
|
void opcode_0xCB_Res_hl() {if (prefix_dd==1) {temp16=REGISTER_IX+Sign_Extend(cb_prefix_offset); Write_byte(temp16,RES(Read_byte(temp16)));} else if (prefix_fd==1){temp16=REGISTER_IY+Sign_Extend(cb_prefix_offset); Write_byte(temp16,RES(Read_byte(temp16)));} else Write_byte( (REGISTER_HL) , RES(Read_byte(REGISTER_HL)) );return; }
|
|
|
|
|
|
uint8_t SET(uint8_t local_data) {
|
|
uint8_t local_bitnum;
|
|
|
|
clock_counter=clock_counter+0x3;
|
|
local_bitnum = (CB_opcode>>3) &0x07;
|
|
switch (local_bitnum) {
|
|
case 0x00: local_data = (local_data | 0x01); break;
|
|
case 0x01: local_data = (local_data | 0x02); break;
|
|
case 0x02: local_data = (local_data | 0x04); break;
|
|
case 0x03: local_data = (local_data | 0x08); break;
|
|
case 0x04: local_data = (local_data | 0x10); break;
|
|
case 0x05: local_data = (local_data | 0x20); break;
|
|
case 0x06: local_data = (local_data | 0x40); break;
|
|
case 0x07: local_data = (local_data | 0x80); break;
|
|
}
|
|
return local_data; } // set
|
|
|
|
void opcode_0xCB_Set_b() {if (prefix_dd==1) {SET(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {SET(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_b=SET(register_b); }return; }
|
|
void opcode_0xCB_Set_c() {if (prefix_dd==1) {SET(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {SET(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_c=SET(register_c); }return; }
|
|
void opcode_0xCB_Set_d() {if (prefix_dd==1) {SET(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {SET(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_d=SET(register_d); }return; }
|
|
void opcode_0xCB_Set_e() {if (prefix_dd==1) {SET(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {SET(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_e=SET(register_e); }return; }
|
|
void opcode_0xCB_Set_h() {if (prefix_dd==1) {SET(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {SET(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_h=SET(register_h); }return; }
|
|
void opcode_0xCB_Set_l() {if (prefix_dd==1) {SET(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {SET(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_l=SET(register_l); }return; }
|
|
void opcode_0xCB_Set_a() {if (prefix_dd==1) {SET(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {SET(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_a=SET(register_a); }return; }
|
|
void opcode_0xCB_Set_hl() {if (prefix_dd==1) {temp16=REGISTER_IX+Sign_Extend(cb_prefix_offset); Write_byte(temp16,SET(Read_byte(temp16)));} else if (prefix_fd==1){temp16=REGISTER_IY+Sign_Extend(cb_prefix_offset); Write_byte(temp16,SET(Read_byte(temp16)));} else Write_byte( (REGISTER_HL) , SET(Read_byte(REGISTER_HL)) );return; }
|
|
|
|
|
|
void opcode_0x76() { // Halt
|
|
|
|
halt_in_progress=1;
|
|
register_pc--;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
void opcode_0x27() { // daa
|
|
register_f = register_f & 0x13; // Clear S, Z, P Flags
|
|
temp8=0;
|
|
if ( ((0x0f®ister_a) > 0x09) || (flag_h==1) ) { temp8=temp8+0x06; }
|
|
if ( ( (register_a) > 0x99) || (flag_c==1) ) { temp8=temp8+0x60; register_f=register_f|0x01; } // Set C Flag
|
|
|
|
if (flag_n==1) {
|
|
if (( (0x0F®ister_a) < 0x06) && (flag_h==1) ) register_f = register_f | 0x10; else register_f = register_f & 0xEF; // Set H Flag
|
|
register_a = register_a - temp8;
|
|
}
|
|
else
|
|
{
|
|
if ( (0x0F®ister_a) > 0x09 ) register_f = register_f | 0x10; else register_f = register_f & 0xEF; // Set H Flag
|
|
register_a = register_a + temp8;
|
|
}
|
|
|
|
|
|
if (register_a&0x80) register_f = register_f | 0x80; // Set S Flag
|
|
if (register_a==0) register_f = register_f | 0x40; // Set Z Flag
|
|
register_f = register_f | Parity_Array[register_a]; // Set P flag
|
|
register_f = register_f | (register_a&0x28); // Set flag bits 5,3 to ALU results
|
|
return;
|
|
}
|
|
|
|
|
|
void opcode_0xEDA2() { // ini
|
|
register_f = register_f & 0xBF; // Clear Z flag
|
|
Write_byte( REGISTER_HL , BIU_Bus_Cycle(IO_READ_BYTE,register_c,0x00) );
|
|
Writeback_Reg16( REG_HL , (REGISTER_HL + 1) );
|
|
register_b--;
|
|
if (register_b==0) register_f = register_f | 0x40; // Set Z flag
|
|
register_f = register_f | 0x02; // Set N flag
|
|
if ( (opcode_byte>0xAF) && (register_b!=0) ) {clock_counter=clock_counter+0x5; register_pc=register_pc-2; } // Allow for repeat of this instruction
|
|
return;}
|
|
|
|
void opcode_0xEDA3() { // outi
|
|
register_f = register_f & 0xBF; // Clear Z flag
|
|
BIU_Bus_Cycle(IO_WRITE_BYTE,register_c, (Read_byte(REGISTER_HL)) );
|
|
Writeback_Reg16( REG_HL , (REGISTER_HL + 1) );
|
|
register_b--;
|
|
if (register_b==0) register_f = register_f | 0x40; // Set Z flag
|
|
register_f = register_f | 0x02; // Set N flag
|
|
if ( (opcode_byte>0xAF) && (register_b!=0) ) {clock_counter=clock_counter+0x5; register_pc=register_pc-2; } // Allow for repeat of this instruction
|
|
return;}
|
|
|
|
|
|
void opcode_0xEDA0() { // ldi
|
|
register_f = register_f & 0xC1; // Clear N, H, P, 5,3 flags
|
|
temp8 = Read_byte(REGISTER_HL);
|
|
Write_byte( REGISTER_DE , temp8);
|
|
Writeback_Reg16( REG_HL , (REGISTER_HL + 1) );
|
|
Writeback_Reg16( REG_DE , (REGISTER_DE + 1) );
|
|
Writeback_Reg16( REG_BC , (REGISTER_BC - 1) );
|
|
if ( (opcode_byte>0xAF) && (REGISTER_BC!=0) ) {clock_counter=clock_counter+0x5; register_pc=register_pc-2; } // Allow for repeat of this instruction
|
|
temp8 = temp8 + register_a;
|
|
if (temp8&0x08) register_f = register_f | 0x08;
|
|
if (temp8&0x02) register_f = register_f | 0x20;
|
|
if ( REGISTER_BC!=0) register_f = register_f | 0x04; // Set P flag
|
|
return;
|
|
}
|
|
|
|
void opcode_0xEDA8() { // ldd
|
|
register_f = register_f & 0xC1; // Clear N, H, P, 5,3 flags
|
|
temp8 = Read_byte(REGISTER_HL);
|
|
Write_byte( REGISTER_DE , temp8);
|
|
Writeback_Reg16( REG_HL , (REGISTER_HL - 1) );
|
|
Writeback_Reg16( REG_DE , (REGISTER_DE - 1) );
|
|
Writeback_Reg16( REG_BC , (REGISTER_BC - 1) );
|
|
if ( (opcode_byte>0xAF) && (REGISTER_BC!=0) ) {clock_counter=clock_counter+0x5; register_pc=register_pc-2; } // Allow for repeat of this instruction
|
|
temp8 = temp8 + register_a;
|
|
if (temp8&0x08) register_f = register_f | 0x08;
|
|
if (temp8&0x02) register_f = register_f | 0x20;
|
|
if ( REGISTER_BC!=0) register_f = register_f | 0x04; // Set P flag
|
|
return;
|
|
}
|
|
|
|
|
|
void opcode_0xEDA1() { // cpi
|
|
uint8_t old_C = flag_c;
|
|
temp8 = SUB_Bytes(register_a , Read_byte(REGISTER_HL) );
|
|
Writeback_Reg16( REG_HL , (REGISTER_HL + 1) );
|
|
Writeback_Reg16( REG_BC , (REGISTER_BC - 1) );
|
|
if ( (opcode_byte>0xAF) && (REGISTER_BC!=0) && (flag_z!=1) ) {clock_counter=clock_counter+0x5; register_pc=register_pc-2; } // Allow for repeat of this instruction
|
|
|
|
register_f = register_f & 0xD2; // Clear C, P, 3,5 flags
|
|
if ((temp8-flag_h)&0x08) register_f = register_f | 0x08; // 3
|
|
if ((temp8-flag_h)&0x02) register_f = register_f | 0x20; // 5
|
|
if (old_C==1) register_f = register_f | 0x01; // C
|
|
if (REGISTER_BC!=0) register_f = register_f | 0x04; // p
|
|
return;}
|
|
|
|
|
|
void opcode_0xEDA9() { // cpd
|
|
uint8_t old_C = flag_c;
|
|
temp8 = SUB_Bytes(register_a , Read_byte(REGISTER_HL) );
|
|
Writeback_Reg16( REG_HL , (REGISTER_HL - 1) );
|
|
Writeback_Reg16( REG_BC , (REGISTER_BC - 1) );
|
|
if ( (opcode_byte>0xAF) && (REGISTER_BC!=0) && (flag_z!=1) ) {clock_counter=clock_counter+0x5; register_pc=register_pc-2; } // Allow for repeat of this instruction
|
|
|
|
register_f = register_f & 0xD2; // Clear C, P, 3,5 flags
|
|
if ((temp8-flag_h)&0x08) register_f = register_f | 0x08; // 3
|
|
if ((temp8-flag_h)&0x02) register_f = register_f | 0x20; // 5
|
|
if (old_C==1) register_f = register_f | 0x01; // C
|
|
if (REGISTER_BC!=0) register_f = register_f | 0x04; // p
|
|
return;}
|
|
|
|
|
|
void opcode_0xEDAA() { // ind
|
|
register_f = register_f & 0xBF; // Clear Z flag
|
|
Write_byte( REGISTER_HL , BIU_Bus_Cycle(IO_READ_BYTE,register_c,0x00) );
|
|
Writeback_Reg16( REG_HL , (REGISTER_HL + 1) );
|
|
register_b--;
|
|
if (register_b==0) register_f = register_f | 0x40; // Set Z flag
|
|
register_f = register_f | 0x02; // Set N flag
|
|
if ( (opcode_byte>0xAF) && (register_b!=0) ) {clock_counter=clock_counter+0x5; register_pc=register_pc-2; } // Allow for repeat of this instruction
|
|
return;}
|
|
|
|
|
|
void opcode_0xEDAB() { // outd
|
|
register_f = register_f & 0xBF; // Clear Z flag
|
|
BIU_Bus_Cycle(IO_WRITE_BYTE,register_c, (Read_byte(REGISTER_HL)) );
|
|
Writeback_Reg16( REG_HL , (REGISTER_HL - 1) );
|
|
register_b--;
|
|
if (register_b==0) register_f = register_f | 0x40; // Set Z flag
|
|
register_f = register_f | 0x02; // Set N flag
|
|
if ( (opcode_byte>0xAF) && (register_b!=0) ) register_pc=register_pc-2; // Allow for repeat of this instruction
|
|
return;}
|
|
|
|
void opcode_0xED67() { // rrd
|
|
register_f = register_f & 0x01; // Clear S, Z, H, P, N flags
|
|
temp8 = Read_byte(REGISTER_HL);
|
|
temp16 = (register_a<<8) | temp8 ;
|
|
temp16 = temp16 >> 4;
|
|
temp16 = (temp16&0xF0FF) | ((temp8&0x0F)<<8) ;
|
|
|
|
register_a = (register_a&0xF0) | (0x0F& (temp16>>8));
|
|
Write_byte( REGISTER_HL , (temp16&0x00FF) );
|
|
|
|
register_f = register_f | Parity_Array[register_a]; // Set P flag
|
|
register_f = register_f | (register_a&0x80); // Set S flag
|
|
if (register_a==0) register_f = register_f | 0x40; // Set Z flag
|
|
register_f = register_f | (register_a&0x28); // Set flag bits 5,3 to ALU results
|
|
return;}
|
|
|
|
void opcode_0xED6F() { // rld
|
|
register_f = register_f & 0x01; // Clear S, Z, H, P, N flags
|
|
|
|
temp16 = (register_a<<8) | Read_byte(REGISTER_HL) ;
|
|
temp16 = temp16 << 4;
|
|
temp16 = (temp16>>12) | (temp16&0xFFF0) ;
|
|
|
|
Write_byte( REGISTER_HL , (temp16&0x00FF) );
|
|
register_a = (register_a&0xF0) | (0x0F& (temp16>>8));
|
|
|
|
register_f = register_f | Parity_Array[register_a]; // Set P flag
|
|
register_f = register_f | (register_a&0x80); // Set S flag
|
|
if (register_a==0) register_f = register_f | 0x40; // Set Z flag
|
|
register_f = register_f | (register_a&0x28); // Set flag bits 5,3 to ALU results
|
|
return;}
|
|
|
|
|
|
// -------------------------------------------------
|
|
// NMI Handler
|
|
// -------------------------------------------------
|
|
void NMI_Handler() {
|
|
|
|
BIU_Bus_Cycle(OPCODE_READ_M1 , 0xABCD , 0x00 );
|
|
wait_for_CLK_falling_edge();
|
|
|
|
if (halt_in_progress==1) Push(register_pc+1); else Push(register_pc);
|
|
halt_in_progress=0;
|
|
register_iff2 = register_iff1;
|
|
register_iff1 = 0;
|
|
register_pc = 0x0066;
|
|
nmi_latched=0;
|
|
return;
|
|
}
|
|
|
|
// -------------------------------------------------
|
|
// INTR Handler
|
|
// -------------------------------------------------
|
|
void INTR_Handler() {
|
|
uint8_t local_intr_vector;
|
|
|
|
register_iff1 = 0;
|
|
register_iff2 = 0;
|
|
|
|
if (register_im==0) {
|
|
assert_iack_type0 = 1; // BIU performs IACK during the next opcode fetch
|
|
return;
|
|
}
|
|
else if (register_im==1) {
|
|
local_intr_vector = BIU_Bus_Cycle(INTERRUPT_ACK , 0x0000 , 0x00 );
|
|
BIU_Bus_Cycle(OPCODE_READ_M1 , 0xABCD , 0x00 );
|
|
wait_for_CLK_falling_edge();
|
|
|
|
if (halt_in_progress==1) Push(register_pc+1); else Push(register_pc);
|
|
halt_in_progress=0;
|
|
register_pc = 0x0038;
|
|
return;
|
|
}
|
|
else if (register_im==2) {
|
|
local_intr_vector = BIU_Bus_Cycle(INTERRUPT_ACK , 0x0000 , 0x00 );
|
|
wait_for_CLK_falling_edge();
|
|
if (halt_in_progress==1) Push(register_pc+1); else Push(register_pc);
|
|
halt_in_progress=0;
|
|
temp16 = (register_i<<8) | local_intr_vector;
|
|
register_pc = Read_word(temp16);
|
|
return;
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
|
|
// -------------------------------------------------------------------------------------
|
|
// -------------------------------------------------------------------------------------
|
|
// -------------------------------------------------------------------------------------
|
|
|
|
void decode_table_0xCB() {
|
|
|
|
if (nmi_latched==1) { // NMI allowed between CB and ED opcodes. Back-off PC and handle the NMI
|
|
register_pc--;
|
|
return;
|
|
}
|
|
|
|
prefix_cb=1;
|
|
|
|
|
|
if ( (prefix_dd==1) || (prefix_fd==1) ) {
|
|
cb_prefix_offset = Fetch_opcode();
|
|
opcode_byte = Fetch_opcode();
|
|
CB_opcode = opcode_byte;
|
|
}
|
|
else {
|
|
opcode_byte = Fetch_opcode();
|
|
CB_opcode = opcode_byte;
|
|
}
|
|
|
|
switch (opcode_byte) {
|
|
|
|
case 0x00: opcode_0xCB00(); break;
|
|
case 0x01: opcode_0xCB01(); break;
|
|
case 0x02: opcode_0xCB02(); break;
|
|
case 0x03: opcode_0xCB03(); break;
|
|
case 0x04: opcode_0xCB04(); break;
|
|
case 0x05: opcode_0xCB05(); break;
|
|
case 0x06: opcode_0xCB06(); break;
|
|
case 0x07: opcode_0xCB07(); break;
|
|
case 0x08: opcode_0xCB08(); break;
|
|
case 0x09: opcode_0xCB09(); break;
|
|
case 0x0A: opcode_0xCB0A(); break;
|
|
case 0x0B: opcode_0xCB0B(); break;
|
|
case 0x0C: opcode_0xCB0C(); break;
|
|
case 0x0D: opcode_0xCB0D(); break;
|
|
case 0x0E: opcode_0xCB0E(); break;
|
|
case 0x0F: opcode_0xCB0F(); break;
|
|
case 0x10: opcode_0xCB10(); break;
|
|
case 0x11: opcode_0xCB11(); break;
|
|
case 0x12: opcode_0xCB12(); break;
|
|
case 0x13: opcode_0xCB13(); break;
|
|
case 0x14: opcode_0xCB14(); break;
|
|
case 0x15: opcode_0xCB15(); break;
|
|
case 0x16: opcode_0xCB16(); break;
|
|
case 0x17: opcode_0xCB17(); break;
|
|
case 0x18: opcode_0xCB18(); break;
|
|
case 0x19: opcode_0xCB19(); break;
|
|
case 0x1A: opcode_0xCB1A(); break;
|
|
case 0x1B: opcode_0xCB1B(); break;
|
|
case 0x1C: opcode_0xCB1C(); break;
|
|
case 0x1D: opcode_0xCB1D(); break;
|
|
case 0x1E: opcode_0xCB1E(); break;
|
|
case 0x1F: opcode_0xCB1F(); break;
|
|
case 0x20: opcode_0xCB20(); break;
|
|
case 0x21: opcode_0xCB21(); break;
|
|
case 0x22: opcode_0xCB22(); break;
|
|
case 0x23: opcode_0xCB23(); break;
|
|
case 0x24: opcode_0xCB24(); break;
|
|
case 0x25: opcode_0xCB25(); break;
|
|
case 0x26: opcode_0xCB26(); break;
|
|
case 0x27: opcode_0xCB27(); break;
|
|
case 0x28: opcode_0xCB28(); break;
|
|
case 0x29: opcode_0xCB29(); break;
|
|
case 0x2A: opcode_0xCB2A(); break;
|
|
case 0x2B: opcode_0xCB2B(); break;
|
|
case 0x2C: opcode_0xCB2C(); break;
|
|
case 0x2D: opcode_0xCB2D(); break;
|
|
case 0x2E: opcode_0xCB2E(); break;
|
|
case 0x2F: opcode_0xCB2F(); break;
|
|
case 0x30: opcode_0xCB30(); break;
|
|
case 0x31: opcode_0xCB31(); break;
|
|
case 0x32: opcode_0xCB32(); break;
|
|
case 0x33: opcode_0xCB33(); break;
|
|
case 0x34: opcode_0xCB34(); break;
|
|
case 0x35: opcode_0xCB35(); break;
|
|
case 0x36: opcode_0xCB36(); break;
|
|
case 0x37: opcode_0xCB37(); break;
|
|
case 0x38: opcode_0xCB38(); break;
|
|
case 0x39: opcode_0xCB39(); break;
|
|
case 0x3A: opcode_0xCB3A(); break;
|
|
case 0x3B: opcode_0xCB3B(); break;
|
|
case 0x3C: opcode_0xCB3C(); break;
|
|
case 0x3D: opcode_0xCB3D(); break;
|
|
case 0x3E: opcode_0xCB3E(); break;
|
|
case 0x3F: opcode_0xCB3F(); break;
|
|
case 0x40: opcode_0xCB_Bit_b(); break;
|
|
case 0x41: opcode_0xCB_Bit_c(); break;
|
|
case 0x42: opcode_0xCB_Bit_d(); break;
|
|
case 0x43: opcode_0xCB_Bit_e(); break;
|
|
case 0x44: opcode_0xCB_Bit_h(); break;
|
|
case 0x45: opcode_0xCB_Bit_l(); break;
|
|
case 0x46: opcode_0xCB_Bit_hl(); break;
|
|
case 0x47: opcode_0xCB_Bit_a(); break;
|
|
case 0x48: opcode_0xCB_Bit_b(); break;
|
|
case 0x49: opcode_0xCB_Bit_c(); break;
|
|
case 0x4A: opcode_0xCB_Bit_d(); break;
|
|
case 0x4B: opcode_0xCB_Bit_e(); break;
|
|
case 0x4C: opcode_0xCB_Bit_h(); break;
|
|
case 0x4D: opcode_0xCB_Bit_l(); break;
|
|
case 0x4E: opcode_0xCB_Bit_hl(); break;
|
|
case 0x4F: opcode_0xCB_Bit_a(); break;
|
|
case 0x50: opcode_0xCB_Bit_b(); break;
|
|
case 0x51: opcode_0xCB_Bit_c(); break;
|
|
case 0x52: opcode_0xCB_Bit_d(); break;
|
|
case 0x53: opcode_0xCB_Bit_e(); break;
|
|
case 0x54: opcode_0xCB_Bit_h(); break;
|
|
case 0x55: opcode_0xCB_Bit_l(); break;
|
|
case 0x56: opcode_0xCB_Bit_hl(); break;
|
|
case 0x57: opcode_0xCB_Bit_a(); break;
|
|
case 0x58: opcode_0xCB_Bit_b(); break;
|
|
case 0x59: opcode_0xCB_Bit_c(); break;
|
|
case 0x5A: opcode_0xCB_Bit_d(); break;
|
|
case 0x5B: opcode_0xCB_Bit_e(); break;
|
|
case 0x5C: opcode_0xCB_Bit_h(); break;
|
|
case 0x5D: opcode_0xCB_Bit_l(); break;
|
|
case 0x5E: opcode_0xCB_Bit_hl(); break;
|
|
case 0x5F: opcode_0xCB_Bit_a(); break;
|
|
case 0x60: opcode_0xCB_Bit_b(); break;
|
|
case 0x61: opcode_0xCB_Bit_c(); break;
|
|
case 0x62: opcode_0xCB_Bit_d(); break;
|
|
case 0x63: opcode_0xCB_Bit_e(); break;
|
|
case 0x64: opcode_0xCB_Bit_h(); break;
|
|
case 0x65: opcode_0xCB_Bit_l(); break;
|
|
case 0x66: opcode_0xCB_Bit_hl(); break;
|
|
case 0x67: opcode_0xCB_Bit_a(); break;
|
|
case 0x68: opcode_0xCB_Bit_b(); break;
|
|
case 0x69: opcode_0xCB_Bit_c(); break;
|
|
case 0x6A: opcode_0xCB_Bit_d(); break;
|
|
case 0x6B: opcode_0xCB_Bit_e(); break;
|
|
case 0x6C: opcode_0xCB_Bit_h(); break;
|
|
case 0x6D: opcode_0xCB_Bit_l(); break;
|
|
case 0x6E: opcode_0xCB_Bit_hl(); break;
|
|
case 0x6F: opcode_0xCB_Bit_a(); break;
|
|
case 0x70: opcode_0xCB_Bit_b(); break;
|
|
case 0x71: opcode_0xCB_Bit_c(); break;
|
|
case 0x72: opcode_0xCB_Bit_d(); break;
|
|
case 0x73: opcode_0xCB_Bit_e(); break;
|
|
case 0x74: opcode_0xCB_Bit_h(); break;
|
|
case 0x75: opcode_0xCB_Bit_l(); break;
|
|
case 0x76: opcode_0xCB_Bit_hl(); break;
|
|
case 0x77: opcode_0xCB_Bit_a(); break;
|
|
case 0x78: opcode_0xCB_Bit_b(); break;
|
|
case 0x79: opcode_0xCB_Bit_c(); break;
|
|
case 0x7A: opcode_0xCB_Bit_d(); break;
|
|
case 0x7B: opcode_0xCB_Bit_e(); break;
|
|
case 0x7C: opcode_0xCB_Bit_h(); break;
|
|
case 0x7D: opcode_0xCB_Bit_l(); break;
|
|
case 0x7E: opcode_0xCB_Bit_hl(); break;
|
|
case 0x7F: opcode_0xCB_Bit_a(); break;
|
|
case 0x80: opcode_0xCB_Res_b(); break;
|
|
case 0x81: opcode_0xCB_Res_c(); break;
|
|
case 0x82: opcode_0xCB_Res_d(); break;
|
|
case 0x83: opcode_0xCB_Res_e(); break;
|
|
case 0x84: opcode_0xCB_Res_h(); break;
|
|
case 0x85: opcode_0xCB_Res_l(); break;
|
|
case 0x86: opcode_0xCB_Res_hl(); break;
|
|
case 0x87: opcode_0xCB_Res_a(); break;
|
|
case 0x88: opcode_0xCB_Res_b(); break;
|
|
case 0x89: opcode_0xCB_Res_c(); break;
|
|
case 0x8A: opcode_0xCB_Res_d(); break;
|
|
case 0x8B: opcode_0xCB_Res_e(); break;
|
|
case 0x8C: opcode_0xCB_Res_h(); break;
|
|
case 0x8D: opcode_0xCB_Res_l(); break;
|
|
case 0x8E: opcode_0xCB_Res_hl(); break;
|
|
case 0x8F: opcode_0xCB_Res_a(); break;
|
|
case 0x90: opcode_0xCB_Res_b(); break;
|
|
case 0x91: opcode_0xCB_Res_c(); break;
|
|
case 0x92: opcode_0xCB_Res_d(); break;
|
|
case 0x93: opcode_0xCB_Res_e(); break;
|
|
case 0x94: opcode_0xCB_Res_h(); break;
|
|
case 0x95: opcode_0xCB_Res_l(); break;
|
|
case 0x96: opcode_0xCB_Res_hl(); break;
|
|
case 0x97: opcode_0xCB_Res_a(); break;
|
|
case 0x98: opcode_0xCB_Res_b(); break;
|
|
case 0x99: opcode_0xCB_Res_c(); break;
|
|
case 0x9A: opcode_0xCB_Res_d(); break;
|
|
case 0x9B: opcode_0xCB_Res_e(); break;
|
|
case 0x9C: opcode_0xCB_Res_h(); break;
|
|
case 0x9D: opcode_0xCB_Res_l(); break;
|
|
case 0x9E: opcode_0xCB_Res_hl(); break;
|
|
case 0x9F: opcode_0xCB_Res_a(); break;
|
|
case 0xA0: opcode_0xCB_Res_b(); break;
|
|
case 0xA1: opcode_0xCB_Res_c(); break;
|
|
case 0xA2: opcode_0xCB_Res_d(); break;
|
|
case 0xA3: opcode_0xCB_Res_e(); break;
|
|
case 0xA4: opcode_0xCB_Res_h(); break;
|
|
case 0xA5: opcode_0xCB_Res_l(); break;
|
|
case 0xA6: opcode_0xCB_Res_hl(); break;
|
|
case 0xA7: opcode_0xCB_Res_a(); break;
|
|
case 0xA8: opcode_0xCB_Res_b(); break;
|
|
case 0xA9: opcode_0xCB_Res_c(); break;
|
|
case 0xAA: opcode_0xCB_Res_d(); break;
|
|
case 0xAB: opcode_0xCB_Res_e(); break;
|
|
case 0xAC: opcode_0xCB_Res_h(); break;
|
|
case 0xAD: opcode_0xCB_Res_l(); break;
|
|
case 0xAE: opcode_0xCB_Res_hl(); break;
|
|
case 0xAF: opcode_0xCB_Res_a(); break;
|
|
case 0xB0: opcode_0xCB_Res_b(); break;
|
|
case 0xB1: opcode_0xCB_Res_c(); break;
|
|
case 0xB2: opcode_0xCB_Res_d(); break;
|
|
case 0xB3: opcode_0xCB_Res_e(); break;
|
|
case 0xB4: opcode_0xCB_Res_h(); break;
|
|
case 0xB5: opcode_0xCB_Res_l(); break;
|
|
case 0xB6: opcode_0xCB_Res_hl(); break;
|
|
case 0xB7: opcode_0xCB_Res_a(); break;
|
|
case 0xB8: opcode_0xCB_Res_b(); break;
|
|
case 0xB9: opcode_0xCB_Res_c(); break;
|
|
case 0xBA: opcode_0xCB_Res_d(); break;
|
|
case 0xBB: opcode_0xCB_Res_e(); break;
|
|
case 0xBC: opcode_0xCB_Res_h(); break;
|
|
case 0xBD: opcode_0xCB_Res_l(); break;
|
|
case 0xBE: opcode_0xCB_Res_hl(); break;
|
|
case 0xBF: opcode_0xCB_Res_a(); break;
|
|
case 0xC0: opcode_0xCB_Set_b(); break;
|
|
case 0xC1: opcode_0xCB_Set_c(); break;
|
|
case 0xC2: opcode_0xCB_Set_d(); break;
|
|
case 0xC3: opcode_0xCB_Set_e(); break;
|
|
case 0xC4: opcode_0xCB_Set_h(); break;
|
|
case 0xC5: opcode_0xCB_Set_l(); break;
|
|
case 0xC6: opcode_0xCB_Set_hl(); break;
|
|
case 0xC7: opcode_0xCB_Set_a(); break;
|
|
case 0xC8: opcode_0xCB_Set_b(); break;
|
|
case 0xC9: opcode_0xCB_Set_c(); break;
|
|
case 0xCA: opcode_0xCB_Set_d(); break;
|
|
case 0xCB: opcode_0xCB_Set_e(); break;
|
|
case 0xCC: opcode_0xCB_Set_h(); break;
|
|
case 0xCD: opcode_0xCB_Set_l(); break;
|
|
case 0xCE: opcode_0xCB_Set_hl(); break;
|
|
case 0xCF: opcode_0xCB_Set_a(); break;
|
|
case 0xD0: opcode_0xCB_Set_b(); break;
|
|
case 0xD1: opcode_0xCB_Set_c(); break;
|
|
case 0xD2: opcode_0xCB_Set_d(); break;
|
|
case 0xD3: opcode_0xCB_Set_e(); break;
|
|
case 0xD4: opcode_0xCB_Set_h(); break;
|
|
case 0xD5: opcode_0xCB_Set_l(); break;
|
|
case 0xD6: opcode_0xCB_Set_hl(); break;
|
|
case 0xD7: opcode_0xCB_Set_a(); break;
|
|
case 0xD8: opcode_0xCB_Set_b(); break;
|
|
case 0xD9: opcode_0xCB_Set_c(); break;
|
|
case 0xDA: opcode_0xCB_Set_d(); break;
|
|
case 0xDB: opcode_0xCB_Set_e(); break;
|
|
case 0xDC: opcode_0xCB_Set_h(); break;
|
|
case 0xDD: opcode_0xCB_Set_l(); break;
|
|
case 0xDE: opcode_0xCB_Set_hl(); break;
|
|
case 0xDF: opcode_0xCB_Set_a(); break;
|
|
case 0xE0: opcode_0xCB_Set_b(); break;
|
|
case 0xE1: opcode_0xCB_Set_c(); break;
|
|
case 0xE2: opcode_0xCB_Set_d(); break;
|
|
case 0xE3: opcode_0xCB_Set_e(); break;
|
|
case 0xE4: opcode_0xCB_Set_h(); break;
|
|
case 0xE5: opcode_0xCB_Set_l(); break;
|
|
case 0xE6: opcode_0xCB_Set_hl(); break;
|
|
case 0xE7: opcode_0xCB_Set_a(); break;
|
|
case 0xE8: opcode_0xCB_Set_b(); break;
|
|
case 0xE9: opcode_0xCB_Set_c(); break;
|
|
case 0xEA: opcode_0xCB_Set_d(); break;
|
|
case 0xEB: opcode_0xCB_Set_e(); break;
|
|
case 0xEC: opcode_0xCB_Set_h(); break;
|
|
case 0xED: opcode_0xCB_Set_l(); break;
|
|
case 0xEE: opcode_0xCB_Set_hl(); break;
|
|
case 0xEF: opcode_0xCB_Set_a(); break;
|
|
case 0xF0: opcode_0xCB_Set_b(); break;
|
|
case 0xF1: opcode_0xCB_Set_c(); break;
|
|
case 0xF2: opcode_0xCB_Set_d(); break;
|
|
case 0xF3: opcode_0xCB_Set_e(); break;
|
|
case 0xF4: opcode_0xCB_Set_h(); break;
|
|
case 0xF5: opcode_0xCB_Set_l(); break;
|
|
case 0xF6: opcode_0xCB_Set_hl(); break;
|
|
case 0xF7: opcode_0xCB_Set_a(); break;
|
|
case 0xF8: opcode_0xCB_Set_b(); break;
|
|
case 0xF9: opcode_0xCB_Set_c(); break;
|
|
case 0xFA: opcode_0xCB_Set_d(); break;
|
|
case 0xFB: opcode_0xCB_Set_e(); break;
|
|
case 0xFC: opcode_0xCB_Set_h(); break;
|
|
case 0xFD: opcode_0xCB_Set_l(); break;
|
|
case 0xFE: opcode_0xCB_Set_hl(); break;
|
|
case 0xFF: opcode_0xCB_Set_a(); break;
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
|
|
void decode_table_0xED() {
|
|
|
|
if (nmi_latched==1) { // NMI allowed between CB and ED opcodes. Back-off PC and handle the NMI
|
|
register_pc--;
|
|
return;
|
|
}
|
|
|
|
opcode_byte = Fetch_opcode();
|
|
|
|
clock_counter = clock_counter + Opcode_Timing_ED[opcode_byte];
|
|
|
|
|
|
switch (opcode_byte) {
|
|
|
|
case 0x00: opcode_0x00(); break;
|
|
case 0x01: opcode_0x00(); break;
|
|
case 0x02: opcode_0x00(); break;
|
|
case 0x03: opcode_0x00(); break;
|
|
case 0x04: opcode_0x00(); break;
|
|
case 0x05: opcode_0x00(); break;
|
|
case 0x06: opcode_0x00(); break;
|
|
case 0x07: opcode_0x00(); break;
|
|
case 0x08: opcode_0x00(); break;
|
|
case 0x09: opcode_0x00(); break;
|
|
case 0x0A: opcode_0x00(); break;
|
|
case 0x0B: opcode_0x00(); break;
|
|
case 0x0C: opcode_0x00(); break;
|
|
case 0x0D: opcode_0x00(); break;
|
|
case 0x0E: opcode_0x00(); break;
|
|
case 0x0F: opcode_0x00(); break;
|
|
case 0x10: opcode_0x00(); break;
|
|
case 0x11: opcode_0x00(); break;
|
|
case 0x12: opcode_0x00(); break;
|
|
case 0x13: opcode_0x00(); break;
|
|
case 0x14: opcode_0x00(); break;
|
|
case 0x15: opcode_0x00(); break;
|
|
case 0x16: opcode_0x00(); break;
|
|
case 0x17: opcode_0x00(); break;
|
|
case 0x18: opcode_0x00(); break;
|
|
case 0x19: opcode_0x00(); break;
|
|
case 0x1A: opcode_0x00(); break;
|
|
case 0x1B: opcode_0x00(); break;
|
|
case 0x1C: opcode_0x00(); break;
|
|
case 0x1D: opcode_0x00(); break;
|
|
case 0x1E: opcode_0x00(); break;
|
|
case 0x1F: opcode_0x00(); break;
|
|
case 0x20: opcode_0x00(); break;
|
|
case 0x21: opcode_0x00(); break;
|
|
case 0x22: opcode_0x00(); break;
|
|
case 0x23: opcode_0x00(); break;
|
|
case 0x24: opcode_0x00(); break;
|
|
case 0x25: opcode_0x00(); break;
|
|
case 0x26: opcode_0x00(); break;
|
|
case 0x27: opcode_0x00(); break;
|
|
case 0x28: opcode_0x00(); break;
|
|
case 0x29: opcode_0x00(); break;
|
|
case 0x2A: opcode_0x00(); break;
|
|
case 0x2B: opcode_0x00(); break;
|
|
case 0x2C: opcode_0x00(); break;
|
|
case 0x2D: opcode_0x00(); break;
|
|
case 0x2E: opcode_0x00(); break;
|
|
case 0x2F: opcode_0x00(); break;
|
|
case 0x30: opcode_0x00(); break;
|
|
case 0x31: opcode_0x00(); break;
|
|
case 0x32: opcode_0x00(); break;
|
|
case 0x33: opcode_0x00(); break;
|
|
case 0x34: opcode_0x00(); break;
|
|
case 0x35: opcode_0x00(); break;
|
|
case 0x36: opcode_0x00(); break;
|
|
case 0x37: opcode_0x00(); break;
|
|
case 0x38: opcode_0x00(); break;
|
|
case 0x39: opcode_0x00(); break;
|
|
case 0x3A: opcode_0x00(); break;
|
|
case 0x3B: opcode_0x00(); break;
|
|
case 0x3C: opcode_0x00(); break;
|
|
case 0x3D: opcode_0x00(); break;
|
|
case 0x3E: opcode_0x00(); break;
|
|
case 0x3F: opcode_0x00(); break;
|
|
case 0x40: opcode_0xED40(); break;
|
|
case 0x41: opcode_0xED41(); break;
|
|
case 0x42: opcode_0xED42(); break;
|
|
case 0x43: opcode_0xED43(); break;
|
|
case 0x44: opcode_0xED44(); break;
|
|
case 0x45: opcode_0xED45(); break;
|
|
case 0x46: opcode_0xED46(); break;
|
|
case 0x47: opcode_0xED47(); break;
|
|
case 0x48: opcode_0xED48(); break;
|
|
case 0x49: opcode_0xED49(); break;
|
|
case 0x4A: opcode_0xED4A(); break;
|
|
case 0x4B: opcode_0xED4B(); break;
|
|
case 0x4C: opcode_0xED44(); break;
|
|
case 0x4D: opcode_0xED4D(); break;
|
|
case 0x4E: opcode_0x00(); break;
|
|
case 0x4F: opcode_0xED4F(); break;
|
|
case 0x50: opcode_0xED50(); break;
|
|
case 0x51: opcode_0xED51(); break;
|
|
case 0x52: opcode_0xED52(); break;
|
|
case 0x53: opcode_0xED53(); break;
|
|
case 0x54: opcode_0xED44(); break;
|
|
case 0x55: opcode_0xED45(); break;
|
|
case 0x56: opcode_0xED56(); break;
|
|
case 0x57: opcode_0xED57(); break;
|
|
case 0x58: opcode_0xED58(); break;
|
|
case 0x59: opcode_0xED59(); break;
|
|
case 0x5A: opcode_0xED5A(); break;
|
|
case 0x5B: opcode_0xED5B(); break;
|
|
case 0x5C: opcode_0xED44(); break;
|
|
case 0x5D: opcode_0xED45(); break;
|
|
case 0x5E: opcode_0xED5E(); break;
|
|
case 0x5F: opcode_0xED5F(); break;
|
|
case 0x60: opcode_0xED60(); break;
|
|
case 0x61: opcode_0xED61(); break;
|
|
case 0x62: opcode_0xED62(); break;
|
|
case 0x63: opcode_0xED63(); break;
|
|
case 0x64: opcode_0xED44(); break;
|
|
case 0x65: opcode_0xED45(); break;
|
|
case 0x66: opcode_0xED46(); break;
|
|
case 0x67: opcode_0xED67(); break;
|
|
case 0x68: opcode_0xED68(); break;
|
|
case 0x69: opcode_0xED69(); break;
|
|
case 0x6A: opcode_0xED6A(); break;
|
|
case 0x6B: opcode_0xED6B(); break;
|
|
case 0x6C: opcode_0xED44(); break;
|
|
case 0x6D: opcode_0xED45(); break;
|
|
case 0x6E: opcode_0x00(); break;
|
|
case 0x6F: opcode_0xED6F(); break;
|
|
case 0x70: opcode_0xED70(); break;
|
|
case 0x71: opcode_0xED71(); break;
|
|
case 0x72: opcode_0xED72(); break;
|
|
case 0x73: opcode_0xED73(); break;
|
|
case 0x74: opcode_0xED44(); break;
|
|
case 0x75: opcode_0xED45(); break;
|
|
case 0x76: opcode_0xED56(); break;
|
|
case 0x77: opcode_0x00(); break;
|
|
case 0x78: opcode_0xED78(); break;
|
|
case 0x79: opcode_0xED79(); break;
|
|
case 0x7A: opcode_0xED7A(); break;
|
|
case 0x7B: opcode_0xED7B(); break;
|
|
case 0x7C: opcode_0xED44(); break;
|
|
case 0x7D: opcode_0xED45(); break;
|
|
case 0x7E: opcode_0xED5E(); break;
|
|
case 0x7F: opcode_0x00(); break;
|
|
case 0x80: opcode_0x00(); break;
|
|
case 0x81: opcode_0x00(); break;
|
|
case 0x82: opcode_0x00(); break;
|
|
case 0x83: opcode_0x00(); break;
|
|
case 0x84: opcode_0x00(); break;
|
|
case 0x85: opcode_0x00(); break;
|
|
case 0x86: opcode_0x00(); break;
|
|
case 0x87: opcode_0x00(); break;
|
|
case 0x88: opcode_0x00(); break;
|
|
case 0x89: opcode_0x00(); break;
|
|
case 0x8A: opcode_0x00(); break;
|
|
case 0x8B: opcode_0x00(); break;
|
|
case 0x8C: opcode_0x00(); break;
|
|
case 0x8D: opcode_0x00(); break;
|
|
case 0x8E: opcode_0x00(); break;
|
|
case 0x8F: opcode_0x00(); break;
|
|
case 0x90: opcode_0x00(); break;
|
|
case 0x91: opcode_0x00(); break;
|
|
case 0x92: opcode_0x00(); break;
|
|
case 0x93: opcode_0x00(); break;
|
|
case 0x94: opcode_0x00(); break;
|
|
case 0x95: opcode_0x00(); break;
|
|
case 0x96: opcode_0x00(); break;
|
|
case 0x97: opcode_0x00(); break;
|
|
case 0x98: opcode_0x00(); break;
|
|
case 0x99: opcode_0x00(); break;
|
|
case 0x9A: opcode_0x00(); break;
|
|
case 0x9B: opcode_0x00(); break;
|
|
case 0x9C: opcode_0x00(); break;
|
|
case 0x9D: opcode_0x00(); break;
|
|
case 0x9E: opcode_0x00(); break;
|
|
case 0x9F: opcode_0x00(); break;
|
|
case 0xA0: opcode_0xEDA0(); break;
|
|
case 0xA1: opcode_0xEDA1(); break;
|
|
case 0xA2: opcode_0xEDA2(); break;
|
|
case 0xA3: opcode_0xEDA3(); break;
|
|
case 0xA4: opcode_0x00(); break;
|
|
case 0xA5: opcode_0x00(); break;
|
|
case 0xA6: opcode_0x00(); break;
|
|
case 0xA7: opcode_0x00(); break;
|
|
case 0xA8: opcode_0xEDA8(); break;
|
|
case 0xA9: opcode_0xEDA9(); break;
|
|
case 0xAA: opcode_0xEDAA(); break;
|
|
case 0xAB: opcode_0xEDAB(); break;
|
|
case 0xAC: opcode_0x00(); break;
|
|
case 0xAD: opcode_0x00(); break;
|
|
case 0xAE: opcode_0x00(); break;
|
|
case 0xAF: opcode_0x00(); break;
|
|
case 0xB0: opcode_0xEDA0(); break;
|
|
case 0xB1: opcode_0xEDA1(); break;
|
|
case 0xB2: opcode_0xEDA2(); break;
|
|
case 0xB3: opcode_0xEDA3(); break;
|
|
case 0xB4: opcode_0x00(); break;
|
|
case 0xB5: opcode_0x00(); break;
|
|
case 0xB6: opcode_0x00(); break;
|
|
case 0xB7: opcode_0x00(); break;
|
|
case 0xB8: opcode_0xEDA8(); break;
|
|
case 0xB9: opcode_0xEDA9(); break;
|
|
case 0xBA: opcode_0xEDAA(); break;
|
|
case 0xBB: opcode_0xEDAB(); break;
|
|
case 0xBC: opcode_0x00(); break;
|
|
case 0xBD: opcode_0x00(); break;
|
|
case 0xBE: opcode_0x00(); break;
|
|
case 0xBF: opcode_0x00(); break;
|
|
case 0xC0: opcode_0x00(); break;
|
|
case 0xC1: opcode_0x00(); break;
|
|
case 0xC2: opcode_0x00(); break;
|
|
case 0xC3: opcode_0x00(); break;
|
|
case 0xC4: opcode_0x00(); break;
|
|
case 0xC5: opcode_0x00(); break;
|
|
case 0xC6: opcode_0x00(); break;
|
|
case 0xC7: opcode_0x00(); break;
|
|
case 0xC8: opcode_0x00(); break;
|
|
case 0xC9: opcode_0x00(); break;
|
|
case 0xCA: opcode_0x00(); break;
|
|
case 0xCB: opcode_0x00(); break;
|
|
case 0xCC: opcode_0x00(); break;
|
|
case 0xCD: opcode_0x00(); break;
|
|
case 0xCE: opcode_0x00(); break;
|
|
case 0xCF: opcode_0x00(); break;
|
|
case 0xD0: opcode_0x00(); break;
|
|
case 0xD1: opcode_0x00(); break;
|
|
case 0xD2: opcode_0x00(); break;
|
|
case 0xD3: opcode_0x00(); break;
|
|
case 0xD4: opcode_0x00(); break;
|
|
case 0xD5: opcode_0x00(); break;
|
|
case 0xD6: opcode_0x00(); break;
|
|
case 0xD7: opcode_0x00(); break;
|
|
case 0xD8: opcode_0x00(); break;
|
|
case 0xD9: opcode_0x00(); break;
|
|
case 0xDA: opcode_0x00(); break;
|
|
case 0xDB: opcode_0x00(); break;
|
|
case 0xDC: opcode_0x00(); break;
|
|
case 0xDD: opcode_0x00(); break;
|
|
case 0xDE: opcode_0x00(); break;
|
|
case 0xDF: opcode_0x00(); break;
|
|
case 0xE0: opcode_0x00(); break;
|
|
case 0xE1: opcode_0x00(); break;
|
|
case 0xE2: opcode_0x00(); break;
|
|
case 0xE3: opcode_0x00(); break;
|
|
case 0xE4: opcode_0x00(); break;
|
|
case 0xE5: opcode_0x00(); break;
|
|
case 0xE6: opcode_0x00(); break;
|
|
case 0xE7: opcode_0x00(); break;
|
|
case 0xE8: opcode_0x00(); break;
|
|
case 0xE9: opcode_0x00(); break;
|
|
case 0xEA: opcode_0x00(); break;
|
|
case 0xEB: opcode_0x00(); break;
|
|
case 0xEC: opcode_0x00(); break;
|
|
case 0xED: opcode_0x00(); break;
|
|
case 0xEE: opcode_0x00(); break;
|
|
case 0xEF: opcode_0x00(); break;
|
|
case 0xF0: opcode_0x00(); break;
|
|
case 0xF1: opcode_0x00(); break;
|
|
case 0xF2: opcode_0x00(); break;
|
|
case 0xF3: opcode_0x00(); break;
|
|
case 0xF4: opcode_0x00(); break;
|
|
case 0xF5: opcode_0x00(); break;
|
|
case 0xF6: opcode_0x00(); break;
|
|
case 0xF7: opcode_0x00(); break;
|
|
case 0xF8: opcode_0x00(); break;
|
|
case 0xF9: opcode_0x00(); break;
|
|
case 0xFA: opcode_0x00(); break;
|
|
case 0xFB: opcode_0x00(); break;
|
|
case 0xFC: opcode_0x00(); break;
|
|
case 0xFD: opcode_0x00(); break;
|
|
case 0xFE: opcode_0x00(); break;
|
|
case 0xFF: opcode_0x00(); break;
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
|
|
// ------------------------------------------------------------------------------------------------------------
|
|
// Decode the first byte of the opcode
|
|
// ------------------------------------------------------------------------------------------------------------
|
|
void execute_instruction() {
|
|
|
|
opcode_byte = Fetch_opcode();
|
|
clock_counter=Opcode_Timing_Main[opcode_byte];
|
|
|
|
switch (opcode_byte) {
|
|
|
|
case 0x00: opcode_0x00(); break;
|
|
case 0x01: opcode_0x01(); break;
|
|
case 0x02: opcode_0x02(); break;
|
|
case 0x03: opcode_0x03(); break;
|
|
case 0x04: opcode_0x04(); break;
|
|
case 0x05: opcode_0x05(); break;
|
|
case 0x06: opcode_0x06(); break;
|
|
case 0x07: opcode_0x07(); break;
|
|
case 0x08: opcode_0x08(); break;
|
|
case 0x09: opcode_0x09(); break;
|
|
case 0x0A: opcode_0x0A(); break;
|
|
case 0x0B: opcode_0x0B(); break;
|
|
case 0x0C: opcode_0x0C(); break;
|
|
case 0x0D: opcode_0x0D(); break;
|
|
case 0x0E: opcode_0x0E(); break;
|
|
case 0x0F: opcode_0x0F(); break;
|
|
case 0x10: opcode_0x10(); break;
|
|
case 0x11: opcode_0x11(); break;
|
|
case 0x12: opcode_0x12(); break;
|
|
case 0x13: opcode_0x13(); break;
|
|
case 0x14: opcode_0x14(); break;
|
|
case 0x15: opcode_0x15(); break;
|
|
case 0x16: opcode_0x16(); break;
|
|
case 0x17: opcode_0x17(); break;
|
|
case 0x18: opcode_0x18(); break;
|
|
case 0x19: opcode_0x19(); break;
|
|
case 0x1A: opcode_0x1A(); break;
|
|
case 0x1B: opcode_0x1B(); break;
|
|
case 0x1C: opcode_0x1C(); break;
|
|
case 0x1D: opcode_0x1D(); break;
|
|
case 0x1E: opcode_0x1E(); break;
|
|
case 0x1F: opcode_0x1F(); break;
|
|
case 0x20: opcode_0x20(); break;
|
|
case 0x21: opcode_0x21(); break;
|
|
case 0x22: opcode_0x22(); break;
|
|
case 0x23: opcode_0x23(); break;
|
|
case 0x24: opcode_0x24(); break;
|
|
case 0x25: opcode_0x25(); break;
|
|
case 0x26: opcode_0x26(); break;
|
|
case 0x27: opcode_0x27(); break;
|
|
case 0x28: opcode_0x28(); break;
|
|
case 0x29: opcode_0x29(); break;
|
|
case 0x2A: opcode_0x2A(); break;
|
|
case 0x2B: opcode_0x2B(); break;
|
|
case 0x2C: opcode_0x2C(); break;
|
|
case 0x2D: opcode_0x2D(); break;
|
|
case 0x2E: opcode_0x2E(); break;
|
|
case 0x2F: opcode_0x2F(); break;
|
|
case 0x30: opcode_0x30(); break;
|
|
case 0x31: opcode_0x31(); break;
|
|
case 0x32: opcode_0x32(); break;
|
|
case 0x33: opcode_0x33(); break;
|
|
case 0x34: opcode_0x34(); break;
|
|
case 0x35: opcode_0x35(); break;
|
|
case 0x36: opcode_0x36(); break;
|
|
case 0x37: opcode_0x37(); break;
|
|
case 0x38: opcode_0x38(); break;
|
|
case 0x39: opcode_0x39(); break;
|
|
case 0x3a: opcode_0x3A(); break;
|
|
case 0x3B: opcode_0x3B(); break;
|
|
case 0x3C: opcode_0x3C(); break;
|
|
case 0x3D: opcode_0x3D(); break;
|
|
case 0x3E: opcode_0x3E(); break;
|
|
case 0x3F: opcode_0x3F(); break;
|
|
case 0x40: opcode_0x40(); break;
|
|
case 0x41: opcode_0x41(); break;
|
|
case 0x42: opcode_0x42(); break;
|
|
case 0x43: opcode_0x43(); break;
|
|
case 0x44: opcode_0x44(); break;
|
|
case 0x45: opcode_0x45(); break;
|
|
case 0x46: opcode_0x46(); break;
|
|
case 0x47: opcode_0x47(); break;
|
|
case 0x48: opcode_0x48(); break;
|
|
case 0x49: opcode_0x49(); break;
|
|
case 0x4A: opcode_0x4A(); break;
|
|
case 0x4B: opcode_0x4B(); break;
|
|
case 0x4C: opcode_0x4C(); break;
|
|
case 0x4D: opcode_0x4D(); break;
|
|
case 0x4E: opcode_0x4E(); break;
|
|
case 0x4F: opcode_0x4F(); break;
|
|
case 0x50: opcode_0x50(); break;
|
|
case 0x51: opcode_0x51(); break;
|
|
case 0x52: opcode_0x52(); break;
|
|
case 0x53: opcode_0x53(); break;
|
|
case 0x54: opcode_0x54(); break;
|
|
case 0x55: opcode_0x55(); break;
|
|
case 0x56: opcode_0x56(); break;
|
|
case 0x57: opcode_0x57(); break;
|
|
case 0x58: opcode_0x58(); break;
|
|
case 0x59: opcode_0x59(); break;
|
|
case 0x5A: opcode_0x5A(); break;
|
|
case 0x5B: opcode_0x5B(); break;
|
|
case 0x5C: opcode_0x5C(); break;
|
|
case 0x5D: opcode_0x5D(); break;
|
|
case 0x5E: opcode_0x5E(); break;
|
|
case 0x5F: opcode_0x5F(); break;
|
|
case 0x60: opcode_0x60(); break;
|
|
case 0x61: opcode_0x61(); break;
|
|
case 0x62: opcode_0x62(); break;
|
|
case 0x63: opcode_0x63(); break;
|
|
case 0x64: opcode_0x64(); break;
|
|
case 0x65: opcode_0x65(); break;
|
|
case 0x66: opcode_0x66(); break;
|
|
case 0x67: opcode_0x67(); break;
|
|
case 0x68: opcode_0x68(); break;
|
|
case 0x69: opcode_0x69(); break;
|
|
case 0x6A: opcode_0x6A(); break;
|
|
case 0x6B: opcode_0x6B(); break;
|
|
case 0x6C: opcode_0x6C(); break;
|
|
case 0x6D: opcode_0x6D(); break;
|
|
case 0x6E: opcode_0x6E(); break;
|
|
case 0x6F: opcode_0x6F(); break;
|
|
case 0x70: opcode_0x70(); break;
|
|
case 0x71: opcode_0x71(); break;
|
|
case 0x72: opcode_0x72(); break;
|
|
case 0x73: opcode_0x73(); break;
|
|
case 0x74: opcode_0x74(); break;
|
|
case 0x75: opcode_0x75(); break;
|
|
case 0x76: opcode_0x76(); break;
|
|
case 0x77: opcode_0x77(); break;
|
|
case 0x78: opcode_0x78(); break;
|
|
case 0x79: opcode_0x79(); break;
|
|
case 0x7A: opcode_0x7A(); break;
|
|
case 0x7B: opcode_0x7B(); break;
|
|
case 0x7C: opcode_0x7C(); break;
|
|
case 0x7D: opcode_0x7D(); break;
|
|
case 0x7E: opcode_0x7E(); break;
|
|
case 0x7F: opcode_0x7F(); break;
|
|
case 0x80: opcode_0x80(); break;
|
|
case 0x81: opcode_0x81(); break;
|
|
case 0x82: opcode_0x82(); break;
|
|
case 0x83: opcode_0x83(); break;
|
|
case 0x84: opcode_0x84(); break;
|
|
case 0x85: opcode_0x85(); break;
|
|
case 0x86: opcode_0x86(); break;
|
|
case 0x87: opcode_0x87(); break;
|
|
case 0x88: opcode_0x88(); break;
|
|
case 0x89: opcode_0x89(); break;
|
|
case 0x8A: opcode_0x8A(); break;
|
|
case 0x8B: opcode_0x8B(); break;
|
|
case 0x8C: opcode_0x8C(); break;
|
|
case 0x8D: opcode_0x8D(); break;
|
|
case 0x8E: opcode_0x8E(); break;
|
|
case 0x8F: opcode_0x8F(); break;
|
|
case 0x90: opcode_0x90(); break;
|
|
case 0x91: opcode_0x91(); break;
|
|
case 0x92: opcode_0x92(); break;
|
|
case 0x93: opcode_0x93(); break;
|
|
case 0x94: opcode_0x94(); break;
|
|
case 0x95: opcode_0x95(); break;
|
|
case 0x96: opcode_0x96(); break;
|
|
case 0x97: opcode_0x97(); break;
|
|
case 0x98: opcode_0x98(); break;
|
|
case 0x99: opcode_0x99(); break;
|
|
case 0x9A: opcode_0x9A(); break;
|
|
case 0x9B: opcode_0x9B(); break;
|
|
case 0x9C: opcode_0x9C(); break;
|
|
case 0x9D: opcode_0x9D(); break;
|
|
case 0x9E: opcode_0x9E(); break;
|
|
case 0x9F: opcode_0x9F(); break;
|
|
case 0xA0: opcode_0xA0(); break;
|
|
case 0xA1: opcode_0xA1(); break;
|
|
case 0xA2: opcode_0xA2(); break;
|
|
case 0xA3: opcode_0xA3(); break;
|
|
case 0xA4: opcode_0xA4(); break;
|
|
case 0xA5: opcode_0xA5(); break;
|
|
case 0xA6: opcode_0xA6(); break;
|
|
case 0xA7: opcode_0xA7(); break;
|
|
case 0xA8: opcode_0xA8(); break;
|
|
case 0xA9: opcode_0xA9(); break;
|
|
case 0xAA: opcode_0xAA(); break;
|
|
case 0xAB: opcode_0xAB(); break;
|
|
case 0xAC: opcode_0xAC(); break;
|
|
case 0xAD: opcode_0xAD(); break;
|
|
case 0xAE: opcode_0xAE(); break;
|
|
case 0xAF: opcode_0xAF(); break;
|
|
case 0xB0: opcode_0xB0(); break;
|
|
case 0xB1: opcode_0xB1(); break;
|
|
case 0xB2: opcode_0xB2(); break;
|
|
case 0xB3: opcode_0xB3(); break;
|
|
case 0xB4: opcode_0xB4(); break;
|
|
case 0xB5: opcode_0xB5(); break;
|
|
case 0xB6: opcode_0xB6(); break;
|
|
case 0xB7: opcode_0xB7(); break;
|
|
case 0xB8: opcode_0xB8(); break;
|
|
case 0xB9: opcode_0xB9(); break;
|
|
case 0xBA: opcode_0xBA(); break;
|
|
case 0xBB: opcode_0xBB(); break;
|
|
case 0xBC: opcode_0xBC(); break;
|
|
case 0xBD: opcode_0xBD(); break;
|
|
case 0xBE: opcode_0xBE(); break;
|
|
case 0xBF: opcode_0xBF(); break;
|
|
case 0xC0: opcode_0xC0(); break;
|
|
case 0xC1: opcode_0xC1(); break;
|
|
case 0xC2: opcode_0xC2(); break;
|
|
case 0xC3: opcode_0xC3(); break;
|
|
case 0xC4: opcode_0xC4(); break;
|
|
case 0xC5: opcode_0xC5(); break;
|
|
case 0xC6: opcode_0xC6(); break;
|
|
case 0xC7: opcode_0xC7(); break;
|
|
case 0xC8: opcode_0xC8(); break;
|
|
case 0xC9: opcode_0xC9(); break;
|
|
case 0xCA: opcode_0xCA(); break;
|
|
case 0xCB: decode_table_0xCB(); break;
|
|
case 0xCC: opcode_0xCC(); break;
|
|
case 0xCD: opcode_0xCD(); break;
|
|
case 0xCE: opcode_0xCE(); break;
|
|
case 0xCF: opcode_0xCF(); break;
|
|
case 0xD0: opcode_0xD0(); break;
|
|
case 0xD1: opcode_0xD1(); break;
|
|
case 0xD2: opcode_0xD2(); break;
|
|
case 0xD3: opcode_0xD3(); break;
|
|
case 0xD4: opcode_0xD4(); break;
|
|
case 0xD5: opcode_0xD5(); break;
|
|
case 0xD6: opcode_0xD6(); break;
|
|
case 0xD7: opcode_0xD7(); break;
|
|
case 0xD8: opcode_0xD8(); break;
|
|
case 0xD9: opcode_0xD9(); break;
|
|
case 0xDA: opcode_0xDA(); break;
|
|
case 0xDB: opcode_0xDB(); break;
|
|
case 0xDC: opcode_0xDC(); break;
|
|
case 0xDD: opcode_0xDD(); break;
|
|
case 0xDE: opcode_0xDE(); break;
|
|
case 0xDF: opcode_0xDF(); break;
|
|
case 0xE0: opcode_0xE0(); break;
|
|
case 0xE1: opcode_0xE1(); break;
|
|
case 0xE2: opcode_0xE2(); break;
|
|
case 0xE3: opcode_0xE3(); break;
|
|
case 0xE4: opcode_0xE4(); break;
|
|
case 0xE5: opcode_0xE5(); break;
|
|
case 0xE6: opcode_0xE6(); break;
|
|
case 0xE7: opcode_0xE7(); break;
|
|
case 0xE8: opcode_0xE8(); break;
|
|
case 0xE9: opcode_0xE9(); break;
|
|
case 0xEA: opcode_0xEA(); break;
|
|
case 0xEB: opcode_0xEB(); break;
|
|
case 0xEC: opcode_0xEC(); break;
|
|
case 0xED: decode_table_0xED(); break;
|
|
case 0xEE: opcode_0xEE(); break;
|
|
case 0xEF: opcode_0xEF(); break;
|
|
case 0xF0: opcode_0xF0(); break;
|
|
case 0xF1: opcode_0xF1(); break;
|
|
case 0xF2: opcode_0xF2(); break;
|
|
case 0xF3: opcode_0xF3(); break;
|
|
case 0xF4: opcode_0xF4(); break;
|
|
case 0xF5: opcode_0xF5(); break;
|
|
case 0xF6: opcode_0xF6(); break;
|
|
case 0xF7: opcode_0xF7(); break;
|
|
case 0xF8: opcode_0xF8(); break;
|
|
case 0xF9: opcode_0xF9(); break;
|
|
case 0xFA: opcode_0xFA(); break;
|
|
case 0xFB: opcode_0xFB(); break;
|
|
case 0xFC: opcode_0xFC(); break;
|
|
case 0xFD: opcode_0xFD(); break;
|
|
case 0xFE: opcode_0xFE(); break;
|
|
case 0xFF: opcode_0xFF(); break;
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
|
|
uint16_t local_counter=0;
|
|
|
|
// -------------------------------------------------
|
|
//
|
|
// Main loop
|
|
//
|
|
// -------------------------------------------------
|
|
void loop() {
|
|
|
|
// Give Teensy 4.1 a moment
|
|
delay (2000);
|
|
|
|
wait_for_CLK_rising_edge();
|
|
wait_for_CLK_rising_edge();
|
|
wait_for_CLK_rising_edge();
|
|
|
|
reset_sequence();
|
|
|
|
|
|
// Configure NABU VDP and print splash screen
|
|
for (local_counter=0; local_counter<=4196; local_counter=local_counter+2) {
|
|
NABU_IO_ACCESS(IO_WRITE_BYTE , write_video[local_counter] , write_video[local_counter+1] );
|
|
delayMicroseconds(50);
|
|
}
|
|
|
|
// Point VDP to beginning of TRS-80 start of video at 8th row down
|
|
NABU_IO_ACCESS(IO_WRITE_BYTE , 0xA1 ,0x40 ); delayMicroseconds(50);
|
|
NABU_IO_ACCESS(IO_WRITE_BYTE , 0xA1 ,0x49 ); delayMicroseconds(50);
|
|
|
|
// Setup NABU UART
|
|
NABU_IO_ACCESS(IO_WRITE_BYTE , 0x91 ,0x0 ); delayMicroseconds(50);
|
|
NABU_IO_ACCESS(IO_WRITE_BYTE , 0x91 ,0x0 ); delayMicroseconds(50);
|
|
NABU_IO_ACCESS(IO_WRITE_BYTE , 0x91 ,0x0 ); delayMicroseconds(50);
|
|
NABU_IO_ACCESS(IO_WRITE_BYTE , 0x91 ,0x0 ); delayMicroseconds(50);
|
|
NABU_IO_ACCESS(IO_WRITE_BYTE , 0x91 ,0x0 ); delayMicroseconds(50);
|
|
NABU_IO_ACCESS(IO_WRITE_BYTE , 0x91 ,0x40 ); delayMicroseconds(50);
|
|
NABU_IO_ACCESS(IO_WRITE_BYTE , 0x91 ,0x4E ); delayMicroseconds(50);
|
|
NABU_IO_ACCESS(IO_WRITE_BYTE , 0x91 ,0x4 ); delayMicroseconds(50);
|
|
|
|
/*
|
|
while (1) {
|
|
|
|
incomingByte = NABU_IO_ACCESS(IO_READ_BYTE , 0x91 ,0 ); delayMicroseconds(200);
|
|
if ((0x02 & incomingByte) != 0) {
|
|
incomingByte = NABU_IO_ACCESS(IO_READ_BYTE , 0x90 ,0 ); delayMicroseconds(200);
|
|
//Serial.print("Data 0x90:0x");Serial.print(incomingByte,HEX);
|
|
Serial.print(incomingByte,HEX);
|
|
}
|
|
}
|
|
*/
|
|
/*
|
|
// Test filling TRS-80 viewable video on the NABU with random characters
|
|
for (local_counter=0; local_counter<=640; local_counter=local_counter+1) {
|
|
NABU_IO_ACCESS(IO_WRITE_BYTE , 0xA0 ,random(0x20,0x5A ) ); delayMicroseconds(50);
|
|
//BIU_Bus_Cycle(IO_WRITE_BYTE , 0xA0 ,(0x21+local_counter ) ); delayMicroseconds (50);
|
|
}
|
|
*/
|
|
// Reset VDP pointer to the top left of TRS-80 screen
|
|
NABU_IO_ACCESS(IO_WRITE_BYTE , 0xA1 ,0x40 ); delayMicroseconds (50);
|
|
NABU_IO_ACCESS(IO_WRITE_BYTE , 0xA1 ,0x49 ); delayMicroseconds (50);
|
|
|
|
|
|
while (1) {
|
|
|
|
|
|
// Poll for interrupts between instructions,
|
|
// but not when immediately after instruction enabling interrupts,
|
|
// or if the last opcode was a prefix.
|
|
//
|
|
if (last_instruction_set_a_prefix==0 && pause_interrupts==0) {
|
|
if (nmi_latched==1) { NMI_Handler(); }
|
|
else if (direct_intr==0 && register_iff1==1) { INTR_Handler(); }
|
|
}
|
|
pause_interrupts=0; // debounce
|
|
last_instruction_set_a_prefix=0;
|
|
|
|
|
|
// Process new instruction
|
|
//
|
|
execute_instruction();
|
|
|
|
if (last_instruction_set_a_prefix==0) {
|
|
prefix_dd = 0;
|
|
prefix_fd = 0;
|
|
prefix_cb = 0;
|
|
}
|
|
|
|
// Wait for cycle counter to reach zero before processing interrupts or the next instruction
|
|
//
|
|
if (mode<3) while (clock_counter>0) { wait_for_CLK_falling_edge(); }
|
|
|
|
|
|
// ** End main loop
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|