From 13f56ec4e58bf8687e2a68032c093c0213dd519b Mon Sep 17 00:00:00 2001 From: Apple Date: Mon, 17 Sep 2012 17:48:31 +0000 Subject: [PATCH] xnu-1699.32.7.tar.gz --- bsd/dev/i386/sysctl.c | 29 + bsd/hfs/hfs_btreeio.c | 24 +- bsd/hfs/hfs_btreeio.h | 4 +- bsd/hfs/hfs_vfsops.c | 258 ++++- bsd/hfs/hfs_vnops.c | 36 + bsd/kern/bsd_init.c | 2 +- bsd/kern/kern_credential.c | 108 ++- bsd/kern/kern_exit.c | 1 + bsd/kern/kern_mib.c | 9 + bsd/kern/mach_loader.c | 30 +- bsd/kern/mach_process.c | 10 +- bsd/kern/pthread_synch.c | 67 +- bsd/net/dlil.c | 6 +- bsd/net/pf.c | 9 +- bsd/net/pf_norm.c | 38 +- bsd/net/pfvar.h | 6 +- bsd/netinet/igmp.c | 64 +- bsd/netinet/in_var.h | 1 + bsd/netinet6/in6_var.h | 1 + bsd/netinet6/mld6.c | 62 +- bsd/nfs/nfs4_subs.c | 61 +- bsd/sys/pthread_internal.h | 1 + config/MasterVersion | 2 +- config/Private.i386.exports | 1 + config/Private.x86_64.exports | 1 + iokit/IOKit/pwr_mgt/RootDomain.h | 8 +- iokit/Kernel/IOPMrootDomain.cpp | 86 +- osfmk/Makefile | 1 + osfmk/console/Makefile | 26 + osfmk/console/progress_meter_data.c | 479 +++++++--- osfmk/console/video_console.c | 269 +++--- osfmk/console/video_console.h | 72 +- osfmk/i386/AT386/model_dep.c | 41 +- osfmk/i386/commpage/commpage.c | 5 + osfmk/i386/cpuid.c | 39 + osfmk/i386/cpuid.h | 1 + osfmk/i386/trap.c | 19 +- osfmk/i386/tsc.c | 1 + osfmk/mach/machine.h | 1 + osfmk/x86_64/idt64.s | 5 +- osfmk/x86_64/pmap.c | 11 + pexpert/i386/pe_init.c | 16 +- pexpert/pexpert/GearImage.h | 1351 ++++++++++++--------------- pexpert/pexpert/i386/boot.h | 5 +- pexpert/pexpert/i386/protos.h | 9 - pexpert/pexpert/pe_images.h | 23 +- pexpert/pexpert/pexpert.h | 11 - 47 files changed, 2040 insertions(+), 1270 deletions(-) create mode 100644 osfmk/console/Makefile diff --git a/bsd/dev/i386/sysctl.c b/bsd/dev/i386/sysctl.c index cb15eb632..3e001de2b 100644 --- a/bsd/dev/i386/sysctl.c +++ b/bsd/dev/i386/sysctl.c @@ -147,6 +147,24 @@ cpu_extfeatures SYSCTL_HANDLER_ARGS return SYSCTL_OUT(req, buf, strlen(buf) + 1); } +static int +cpu_leaf7_features SYSCTL_HANDLER_ARGS +{ + __unused struct sysctl_oid *unused_oidp = oidp; + __unused void *unused_arg1 = arg1; + __unused int unused_arg2 = arg2; + char buf[512]; + + uint32_t leaf7_features = cpuid_info()->cpuid_leaf7_features; + if (leaf7_features == 0) + return ENOENT; + + buf[0] = '\0'; + cpuid_get_leaf7_feature_names(leaf7_features, buf, sizeof(buf)); + + return SYSCTL_OUT(req, buf, strlen(buf) + 1); +} + static int cpu_logical_per_package SYSCTL_HANDLER_ARGS { @@ -305,6 +323,12 @@ SYSCTL_PROC(_machdep_cpu, OID_AUTO, feature_bits, CTLTYPE_QUAD | CTLFLAG_RD | CT (void *)offsetof(i386_cpu_info_t, cpuid_features), sizeof(uint64_t), i386_cpu_info, "IU", "CPU features"); +SYSCTL_PROC(_machdep_cpu, OID_AUTO, leaf7_feature_bits, + CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_LOCKED, + (void *)offsetof(i386_cpu_info_t, cpuid_leaf7_features), + sizeof(uint32_t), + i386_cpu_info_nonzero, "IU", "CPU Leaf7 features"); + SYSCTL_PROC(_machdep_cpu, OID_AUTO, extfeature_bits, CTLTYPE_QUAD | CTLFLAG_RD | CTLFLAG_LOCKED, (void *)offsetof(i386_cpu_info_t, cpuid_extfeatures), sizeof(uint64_t), i386_cpu_info, "IU", "CPU extended features"); @@ -321,6 +345,11 @@ SYSCTL_PROC(_machdep_cpu, OID_AUTO, features, CTLTYPE_STRING | CTLFLAG_RD | CTLF 0, 0, cpu_features, "A", "CPU feature names"); +SYSCTL_PROC(_machdep_cpu, OID_AUTO, leaf7_features, + CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_LOCKED, + 0, 0, + cpu_leaf7_features, "A", "CPU Leaf7 feature names"); + SYSCTL_PROC(_machdep_cpu, OID_AUTO, extfeatures, CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_LOCKED, 0, 0, cpu_extfeatures, "A", "CPU extended feature names"); diff --git a/bsd/hfs/hfs_btreeio.c b/bsd/hfs/hfs_btreeio.c index 7295cee54..f69c780c0 100644 --- a/bsd/hfs/hfs_btreeio.c +++ b/bsd/hfs/hfs_btreeio.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000-2010 Apple Inc. All rights reserved. + * Copyright (c) 2000-2011 Apple Inc. All rights reserved. * * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ * @@ -55,6 +55,28 @@ static int btree_journal_modify_block_end(struct hfsmount *hfsmp, struct buf *bp void btree_swap_node(struct buf *bp, __unused void *arg); +/* + * Return btree node size for given vnode. + * + * Returns: + * For btree vnode, returns btree node size. + * For non-btree vnodes, returns 0. + */ +u_int16_t get_btree_nodesize(struct vnode *vp) +{ + BTreeControlBlockPtr btree; + u_int16_t node_size = 0; + + if (vnode_issystem(vp)) { + btree = (BTreeControlBlockPtr) VTOF(vp)->fcbBTCBPtr; + if (btree) { + node_size = btree->nodeSize; + } + } + + return node_size; +} + OSStatus SetBTreeBlockSize(FileReference vp, ByteCount blockSize, __unused ItemCount minBlockCount) { BTreeControlBlockPtr bTreePtr; diff --git a/bsd/hfs/hfs_btreeio.h b/bsd/hfs/hfs_btreeio.h index f307cca43..ebb81e1af 100644 --- a/bsd/hfs/hfs_btreeio.h +++ b/bsd/hfs/hfs_btreeio.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005 Apple Computer, Inc. All rights reserved. + * Copyright (c) 2005-2011 Apple Computer, Inc. All rights reserved. * * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ * @@ -52,6 +52,8 @@ extern void ModifyBlockStart(FileReference vp, BlockDescPtr blockPtr); int hfs_create_attr_btree(struct hfsmount *hfsmp, u_int32_t nodesize, u_int32_t nodecnt); +u_int16_t get_btree_nodesize(struct vnode *vp); + #endif /* __APPLE_API_PRIVATE */ #endif /* KERNEL */ #endif /* ! _HFS_BTREEIO_H_ */ diff --git a/bsd/hfs/hfs_vfsops.c b/bsd/hfs/hfs_vfsops.c index adf02520b..4e5b76b14 100644 --- a/bsd/hfs/hfs_vfsops.c +++ b/bsd/hfs/hfs_vfsops.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999-2010 Apple Inc. All rights reserved. + * Copyright (c) 1999-2012 Apple Inc. All rights reserved. * * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ * @@ -106,6 +106,7 @@ #include "hfs_endian.h" #include "hfs_hotfiles.h" #include "hfs_quota.h" +#include "hfs_btreeio.h" #include "hfscommon/headers/FileMgrInternal.h" #include "hfscommon/headers/BTreesInternal.h" @@ -4909,7 +4910,7 @@ hfs_split_extent(struct hfs_reclaim_extent_info *extent_info, uint32_t newBlockC int error = 0; int index = extent_info->extent_index; int i; - HFSPlusExtentDescriptor shift_extent; + HFSPlusExtentDescriptor shift_extent; /* Extent entry that should be shifted into next extent record */ HFSPlusExtentDescriptor last_extent; HFSPlusExtentDescriptor *extents; /* Pointer to current extent record being manipulated */ HFSPlusExtentRecord *extents_rec = NULL; @@ -4923,14 +4924,25 @@ hfs_split_extent(struct hfs_reclaim_extent_info *extent_info, uint32_t newBlockC uint32_t write_recStartBlock; /* Starting allocation block number to insert newly updated extent record */ Boolean create_record = false; Boolean is_xattr; + struct cnode *cp; is_xattr = extent_info->is_xattr; extents = extent_info->extents; + cp = VTOC(extent_info->vp); if (hfs_resize_debug) { printf ("hfs_split_extent: Split record:%u recStartBlock=%u %u:(%u,%u) for %u blocks\n", extent_info->overflow_count, extent_info->recStartBlock, index, extents[index].startBlock, extents[index].blockCount, newBlockCount); } + /* Extents overflow btree can not have more than 8 extents. + * No split allowed if the 8th extent is already used. + */ + if ((extent_info->fileID == kHFSExtentsFileID) && (extents[kHFSPlusExtentDensity - 1].blockCount != 0)) { + printf ("hfs_split_extent: Maximum 8 extents allowed for extents overflow btree, cannot split further.\n"); + error = ENOSPC; + goto out; + } + /* Determine the starting allocation block number for the following * overflow extent record, if any, before the current record * gets modified. @@ -4956,6 +4968,9 @@ hfs_split_extent(struct hfs_reclaim_extent_info *extent_info, uint32_t newBlockC * record. So, store the last extent entry for later. */ shift_extent = extents[kHFSPlusExtentDensity-1]; + if ((hfs_resize_debug) && (shift_extent.blockCount != 0)) { + printf ("hfs_split_extent: Save 7:(%u,%u) to shift into overflow record\n", shift_extent.startBlock, shift_extent.blockCount); + } /* Start shifting extent information from the end of the extent * record to the index where we want to insert the new extent. @@ -5001,11 +5016,21 @@ hfs_split_extent(struct hfs_reclaim_extent_info *extent_info, uint32_t newBlockC } } - /* If the newly split extent is for large EAs or in overflow extent - * record, so update it directly in the btree using the iterator - * information from the shared extent_info structure - */ - if (extent_info->catalog_fp == NULL) { + /* Write out information about the newly split extent to the disk */ + if (extent_info->catalog_fp) { + /* (extent_info->catalog_fp != NULL) means the newly split + * extent exists in the catalog record. This means that + * the cnode was updated. Therefore, to write out the changes, + * mark the cnode as modified. We cannot call hfs_update() + * in this function because the caller hfs_reclaim_extent() + * is holding the catalog lock currently. + */ + cp->c_flag |= C_MODIFIED; + } else { + /* The newly split extent is for large EAs or is in overflow + * extent record, so update it directly in the btree using the + * iterator information from the shared extent_info structure + */ error = BTReplaceRecord(extent_info->fcb, extent_info->iterator, &(extent_info->btdata), extent_info->recordlen); if (error) { @@ -5024,18 +5049,18 @@ hfs_split_extent(struct hfs_reclaim_extent_info *extent_info, uint32_t newBlockC } /* The overflow extent entry has to be shifted into an extent - * overflow record. This would mean that we have to shift - * extent entries from all overflow records by one. We will - * start iteration from the first record to the last record, + * overflow record. This means that we might have to shift + * extent entries from all subsequent overflow records by one. + * We start iteration from the first record to the last record, * and shift the extent entry from one record to another. - * We might have to create a new record for the last extent - * entry for the file. + * We might have to create a new extent record for the last + * extent entry for the file. */ /* Initialize iterator to search the next record */ bzero(&iterator, sizeof(iterator)); if (is_xattr) { - /* Copy the key from the iterator that was to update the modified attribute record. */ + /* Copy the key from the iterator that was used to update the modified attribute record. */ xattr_key = (HFSPlusAttrKey *)&(iterator.key); bcopy((HFSPlusAttrKey *)&(extent_info->iterator->key), xattr_key, sizeof(HFSPlusAttrKey)); /* Note: xattr_key->startBlock will be initialized later in the iteration loop */ @@ -5051,6 +5076,7 @@ hfs_split_extent(struct hfs_reclaim_extent_info *extent_info, uint32_t newBlockC btdata.itemCount = 1; extents = xattr_rec->overflowExtents.extents; } else { + /* Initialize the extent key for the current file */ extents_key = (HFSPlusExtentKey *) &(iterator.key); extents_key->keyLength = kHFSPlusExtentKeyMaximumLength; extents_key->forkType = extent_info->forkType; @@ -5069,19 +5095,34 @@ hfs_split_extent(struct hfs_reclaim_extent_info *extent_info, uint32_t newBlockC extents = extents_rec[0]; } - /* An extent entry still needs to be shifted into following overflow - * extent record. This will result in the starting allocation block - * number of the extent record being changed which is part of the key - * for the extent record. Since the extent record key is changing, - * the record can not be updated, instead has to be deleted and - * inserted again. + /* The overflow extent entry has to be shifted into an extent + * overflow record. This means that we might have to shift + * extent entries from all subsequent overflow records by one. + * We start iteration from the first record to the last record, + * examine one extent record in each iteration and shift one + * extent entry from one record to another. We might have to + * create a new extent record for the last extent entry for the + * file. + * + * If shift_extent.blockCount is non-zero, it means that there is + * an extent entry that needs to be shifted into the next + * overflow extent record. We keep on going till there are no such + * entries left to be shifted. This will also change the starting + * allocation block number of the extent record which is part of + * the key for the extent record in each iteration. Note that + * because the extent record key is changing while we are searching, + * the record can not be updated directly, instead it has to be + * deleted and inserted again. */ while (shift_extent.blockCount) { if (hfs_resize_debug) { - printf ("hfs_split_extent: Will shift (%u,%u) into record with startBlock=%u\n", shift_extent.startBlock, shift_extent.blockCount, read_recStartBlock); + printf ("hfs_split_extent: Will shift (%u,%u) into overflow record with startBlock=%u\n", shift_extent.startBlock, shift_extent.blockCount, read_recStartBlock); } - /* Search if there is any existing overflow extent record. + /* Search if there is any existing overflow extent record + * that matches the current file and the logical start block + * number. + * * For this, the logical start block number in the key is * the value calculated based on the logical start block * number of the current extent record and the total number @@ -5098,6 +5139,11 @@ hfs_split_extent(struct hfs_reclaim_extent_info *extent_info, uint32_t newBlockC printf ("hfs_split_extent: fileID=%u startBlock=%u BTSearchRecord error=%d\n", extent_info->fileID, read_recStartBlock, error); goto out; } + /* No matching record was found, so create a new extent record. + * Note: Since no record was found, we can't rely on the + * btree key in the iterator any longer. This will be initialized + * later before we insert the record. + */ create_record = true; } @@ -5138,10 +5184,31 @@ hfs_split_extent(struct hfs_reclaim_extent_info *extent_info, uint32_t newBlockC shift_extent.startBlock = shift_extent.blockCount = 0; if (is_xattr) { + /* BTSearchRecord above returned btNotFound, + * but since the attribute btree is never empty + * if we are trying to insert new overflow + * record for the xattrs, the extents_key will + * contain correct data. So we don't need to + * re-initialize it again like below. + */ + + /* Initialize the new xattr record */ xattr_rec->recordType = kHFSPlusAttrExtents; xattr_rec->overflowExtents.reserved = 0; reclen = sizeof(HFSPlusAttrExtents); } else { + /* BTSearchRecord above returned btNotFound, + * which means that extents_key content might + * not correspond to the record that we are + * trying to create, especially when the extents + * overflow btree is empty. So we reinitialize + * the extents_key again always. + */ + extents_key->keyLength = kHFSPlusExtentKeyMaximumLength; + extents_key->forkType = extent_info->forkType; + extents_key->fileID = extent_info->fileID; + + /* Initialize the new extent record */ reclen = sizeof(HFSPlusExtentRecord); } } else { @@ -5251,6 +5318,9 @@ hfs_reclaim_extent(struct hfsmount *hfsmp, const u_long allocLimit, struct hfs_r u_int32_t oldBlockCount; u_int32_t newStartBlock; u_int32_t newBlockCount; + u_int32_t roundedBlockCount; + uint16_t node_size; + uint32_t remainder_blocks; u_int32_t alloc_flags; int blocks_allocated = false; @@ -5264,7 +5334,9 @@ hfs_reclaim_extent(struct hfsmount *hfsmp, const u_long allocLimit, struct hfs_r printf ("hfs_reclaim_extent: Examine record:%u recStartBlock=%u, %u:(%u,%u)\n", extent_info->overflow_count, extent_info->recStartBlock, index, oldStartBlock, oldBlockCount); } - /* Check if the current extent lies completely within allocLimit */ + /* If the current extent lies completely within allocLimit, + * it does not require any relocation. + */ if ((oldStartBlock + oldBlockCount) <= allocLimit) { extent_info->cur_blockCount += oldBlockCount; return error; @@ -5288,16 +5360,59 @@ hfs_reclaim_extent(struct hfsmount *hfsmp, const u_long allocLimit, struct hfs_r */ if (oldStartBlock < allocLimit) { newBlockCount = allocLimit - oldStartBlock; + + /* If the extent belongs to a btree, check and trim + * it to be multiple of the node size. + */ + if (extent_info->is_sysfile) { + node_size = get_btree_nodesize(extent_info->vp); + /* If the btree node size is less than the block size, + * splitting this extent will not split a node across + * different extents. So we only check and trim if + * node size is more than the allocation block size. + */ + if (node_size > hfsmp->blockSize) { + remainder_blocks = newBlockCount % (node_size / hfsmp->blockSize); + if (remainder_blocks) { + newBlockCount -= remainder_blocks; + if (hfs_resize_debug) { + printf ("hfs_reclaim_extent: Fixing extent block count, node_blks=%u, old=%u, new=%u\n", node_size/hfsmp->blockSize, newBlockCount + remainder_blocks, newBlockCount); + } + } + } + } + + if (hfs_resize_debug) { + int idx = extent_info->extent_index; + printf ("hfs_reclaim_extent: Split straddling extent %u:(%u,%u) for %u blocks\n", idx, extent_info->extents[idx].startBlock, extent_info->extents[idx].blockCount, newBlockCount); + } + + /* Split the extents into two parts --- the first extent lies + * completely within allocLimit and therefore does not require + * relocation. The second extent will require relocation which + * will be handled when the caller calls this function again + * for the next extent. + */ error = hfs_split_extent(extent_info, newBlockCount); if (error == 0) { - /* After successful split, the current extent does not - * need relocation, so just return back. - */ + /* Split success, no relocation required */ goto out; } - /* Ignore error and try relocating the entire extent instead */ + /* Split failed, so try to relocate entire extent */ + if (hfs_resize_debug) { + printf ("hfs_reclaim_extent: Split straddling extent failed, reclocate full extent\n"); + } } + /* At this point, the current extent requires relocation. + * We will try to allocate space equal to the size of the extent + * being relocated first to try to relocate it without splitting. + * If the allocation fails, we will try to allocate contiguous + * blocks out of metadata zone. If that allocation also fails, + * then we will take a whatever contiguous block run is returned + * by the allocation, split the extent into two parts, and then + * relocate the first splitted extent. + */ alloc_flags = HFS_ALLOC_FORCECONTIG | HFS_ALLOC_SKIPFREEBLKS; if (extent_info->is_sysfile) { alloc_flags |= HFS_ALLOC_METAZONE; @@ -5326,6 +5441,39 @@ hfs_reclaim_extent(struct hfsmount *hfsmp, const u_long allocLimit, struct hfs_r } blocks_allocated = true; + /* The number of blocks allocated is less than the requested + * number of blocks. For btree extents, check and trim the + * extent to be multiple of the node size. + */ + if (extent_info->is_sysfile) { + node_size = get_btree_nodesize(extent_info->vp); + if (node_size > hfsmp->blockSize) { + remainder_blocks = newBlockCount % (node_size / hfsmp->blockSize); + if (remainder_blocks) { + roundedBlockCount = newBlockCount - remainder_blocks; + /* Free tail-end blocks of the newly allocated extent */ + BlockDeallocate(hfsmp, newStartBlock + roundedBlockCount, + newBlockCount - roundedBlockCount, + HFS_ALLOC_SKIPFREEBLKS); + newBlockCount = roundedBlockCount; + if (hfs_resize_debug) { + printf ("hfs_reclaim_extent: Fixing extent block count, node_blks=%u, old=%u, new=%u\n", node_size/hfsmp->blockSize, newBlockCount + remainder_blocks, newBlockCount); + } + if (newBlockCount == 0) { + printf ("hfs_reclaim_extent: Not enough contiguous blocks available to relocate fileID=%d\n", extent_info->fileID); + error = ENOSPC; + goto out; + } + } + } + } + + /* The number of blocks allocated is less than the number of + * blocks requested, so split this extent --- the first extent + * will be relocated as part of this function call and the caller + * will handle relocating the second extent by calling this + * function again for the second extent. + */ error = hfs_split_extent(extent_info, newBlockCount); if (error) { printf ("hfs_reclaim_extent: fileID=%u start=%u, %u:(%u,%u) split error=%d\n", extent_info->fileID, extent_info->recStartBlock, index, oldStartBlock, oldBlockCount, error); @@ -5402,9 +5550,8 @@ out: * was modified, sync the in-memory changes to the catalog record * on disk before ending the transaction. */ - if ((error == 0) && - (extent_info->overflow_count < kHFSPlusExtentDensity) && - (extent_info->is_sysfile == false)) { + if ((extent_info->catalog_fp) && + (extent_info->is_sysfile == false)) { (void) hfs_update(extent_info->vp, MNT_WAIT); } @@ -6501,15 +6648,34 @@ hfs_reclaimspace(struct hfsmount *hfsmp, u_int32_t allocLimit, u_int32_t reclaim printf ("hfs_reclaimspace: Total number of blocks to reclaim = %u\n", hfsmp->hfs_resize_totalblocks); } - /* Relocate extents of the Allocation file if they're in the way. */ - error = hfs_reclaim_file(hfsmp, hfsmp->hfs_allocation_vp, kHFSAllocationFileID, - kHFSDataForkType, allocLimit, context); + /* Just to be safe, sync the content of the journal to the disk before we proceed */ + hfs_journal_flush(hfsmp, TRUE); + + /* First, relocate journal file blocks if they're in the way. + * Doing this first will make sure that journal relocate code + * gets access to contiguous blocks on disk first. The journal + * file has to be contiguous on the disk, otherwise resize will + * fail. + */ + error = hfs_reclaim_journal_file(hfsmp, allocLimit, context); if (error) { - printf("hfs_reclaimspace: reclaim allocation file returned %d\n", error); + printf("hfs_reclaimspace: hfs_reclaim_journal_file failed (%d)\n", error); + return error; + } + + /* Relocate journal info block blocks if they're in the way. */ + error = hfs_reclaim_journal_info_block(hfsmp, allocLimit, context); + if (error) { + printf("hfs_reclaimspace: hfs_reclaim_journal_info_block failed (%d)\n", error); return error; } - /* Relocate extents of the Extents B-tree if they're in the way. */ + /* Relocate extents of the Extents B-tree if they're in the way. + * Relocating extents btree before other btrees is important as + * this will provide access to largest contiguous block range on + * the disk for relocating extents btree. Note that extents btree + * can only have maximum of 8 extents. + */ error = hfs_reclaim_file(hfsmp, hfsmp->hfs_extents_vp, kHFSExtentsFileID, kHFSDataForkType, allocLimit, context); if (error) { @@ -6517,6 +6683,14 @@ hfs_reclaimspace(struct hfsmount *hfsmp, u_int32_t allocLimit, u_int32_t reclaim return error; } + /* Relocate extents of the Allocation file if they're in the way. */ + error = hfs_reclaim_file(hfsmp, hfsmp->hfs_allocation_vp, kHFSAllocationFileID, + kHFSDataForkType, allocLimit, context); + if (error) { + printf("hfs_reclaimspace: reclaim allocation file returned %d\n", error); + return error; + } + /* Relocate extents of the Catalog B-tree if they're in the way. */ error = hfs_reclaim_file(hfsmp, hfsmp->hfs_catalog_vp, kHFSCatalogFileID, kHFSDataForkType, allocLimit, context); @@ -6552,21 +6726,7 @@ hfs_reclaimspace(struct hfsmount *hfsmp, u_int32_t allocLimit, u_int32_t reclaim * strictly required, but shouldn't hurt. */ if (hfsmp->hfs_resize_blocksmoved) { - hfs_journal_flush(hfsmp, FALSE); - } - - /* Relocate journal file blocks if they're in the way. */ - error = hfs_reclaim_journal_file(hfsmp, allocLimit, context); - if (error) { - printf("hfs_reclaimspace: hfs_reclaim_journal_file failed (%d)\n", error); - return error; - } - - /* Relocate journal info block blocks if they're in the way. */ - error = hfs_reclaim_journal_info_block(hfsmp, allocLimit, context); - if (error) { - printf("hfs_reclaimspace: hfs_reclaim_journal_info_block failed (%d)\n", error); - return error; + hfs_journal_flush(hfsmp, TRUE); } /* Reclaim extents from catalog file records */ diff --git a/bsd/hfs/hfs_vnops.c b/bsd/hfs/hfs_vnops.c index 6d93ba3c4..623f61d18 100644 --- a/bsd/hfs/hfs_vnops.c +++ b/bsd/hfs/hfs_vnops.c @@ -4029,6 +4029,42 @@ skip_rm: tdcp->c_flag |= C_FORCEUPDATE; // XXXdbg - force it out! (void) hfs_update(tdvp, 0); + + + /* Update the vnode's name now that the rename has completed. */ + vnode_update_identity(fvp, tdvp, tcnp->cn_nameptr, tcnp->cn_namelen, + tcnp->cn_hash, (VNODE_UPDATE_PARENT | VNODE_UPDATE_NAME)); + /* + * At this point, we may have a resource fork vnode attached to the + * 'from' vnode. If it exists, we will want to update its name, because + * it contains the old name + _PATH_RSRCFORKSPEC. ("/..namedfork/rsrc"). + * + * Note that the only thing we need to update here is the name attached to + * the vnode, since a resource fork vnode does not have a separate resource + * cnode -- it's still 'fcp'. + */ + if (fcp->c_rsrc_vp) { + char* rsrc_path = NULL; + int len; + + /* Create a new temporary buffer that's going to hold the new name */ + MALLOC_ZONE (rsrc_path, caddr_t, MAXPATHLEN, M_NAMEI, M_WAITOK); + len = snprintf (rsrc_path, MAXPATHLEN, "%s%s", tcnp->cn_nameptr, _PATH_RSRCFORKSPEC); + len = MIN(len, MAXPATHLEN); + + /* + * vnode_update_identity will do the following for us: + * 1) release reference on the existing rsrc vnode's name. + * 2) copy/insert new name into the name cache + * 3) attach the new name to the resource vnode + * 4) update the vnode's vid + */ + vnode_update_identity (fcp->c_rsrc_vp, fvp, rsrc_path, len, 0, (VNODE_UPDATE_NAME | VNODE_UPDATE_CACHE)); + + /* Free the memory associated with the resource fork's name */ + FREE_ZONE (rsrc_path, MAXPATHLEN, M_NAMEI); + } + out: if (got_cookie) { cat_postflight(hfsmp, &cookie, p); diff --git a/bsd/kern/bsd_init.c b/bsd/kern/bsd_init.c index dac2c94d8..e60df12e0 100644 --- a/bsd/kern/bsd_init.c +++ b/bsd/kern/bsd_init.c @@ -180,12 +180,12 @@ #include #include +#include void * get_user_regs(thread_t); /* XXX kludge for */ void IOKitInitializeTime(void); /* XXX */ void IOSleep(unsigned int); /* XXX */ void loopattach(void); /* XXX */ -void vc_progress_set(boolean_t, uint32_t); /* XXX */ const char copyright[] = "Copyright (c) 1982, 1986, 1989, 1991, 1993\n\t" diff --git a/bsd/kern/kern_credential.c b/bsd/kern/kern_credential.c index 484c86fff..4a6ee0386 100644 --- a/bsd/kern/kern_credential.c +++ b/bsd/kern/kern_credential.c @@ -2278,10 +2278,16 @@ kauth_cred_cache_lookup(int from, int to, void *src, void *dst) return(error); } } else { - /* do we have a translation? */ - if (ki.ki_valid & to) { - /* found a valid cached entry, check expiry */ - switch(to) { + /* found a valid cached entry, check expiry */ + switch(to) { + case KI_VALID_GUID: + expired = kauth_identity_guid_expired; + break; + case KI_VALID_NTSID: + expired = kauth_identity_ntsid_expired; + break; + default: + switch(from) { case KI_VALID_GUID: expired = kauth_identity_guid_expired; break; @@ -2289,52 +2295,64 @@ kauth_cred_cache_lookup(int from, int to, void *src, void *dst) expired = kauth_identity_ntsid_expired; break; default: - switch(from) { - case KI_VALID_GUID: - expired = kauth_identity_guid_expired; - break; - case KI_VALID_NTSID: - expired = kauth_identity_ntsid_expired; - break; - default: - expired = NULL; - } - } - KAUTH_DEBUG("CACHE - found matching entry with valid 0x%08x", ki.ki_valid); - /* - * If no expiry function, or not expired, we have found - * a hit. - */ - if (!expired) { - KAUTH_DEBUG("CACHE - no expiry function"); - goto found; + expired = NULL; } + } + + /* + * If no expiry function, or not expired, we have found + * a hit. + */ + if (expired) { if (!expired(&ki)) { KAUTH_DEBUG("CACHE - entry valid, unexpired"); - goto found; + expired = NULL; /* must clear it is used as a flag */ + } else { + /* + * We leave ki_valid set here; it contains a + * translation but the TTL has expired. If we can't + * get a result from the resolver, we will use it as + * a better-than nothing alternative. + */ + + KAUTH_DEBUG("CACHE - expired entry found"); } - /* - * We leave ki_valid set here; it contains a - * translation but the TTL has expired. If we can't - * get a result from the resolver, we will use it as - * a better-than nothing alternative. - */ - KAUTH_DEBUG("CACHE - expired entry found"); } else { - /* - * A guid can't both match a uid and a gid, so if we - * found a cache entry while looking for one or the - * other from a guid, the 'from' is KI_VALID_GUID, - * and the 'to' is one, and the other one is valid, - * then we immediately return ENOENT without calling - * the resolver again. - */ - if (from == KI_VALID_GUID && - (((ki.ki_valid & KI_VALID_UID) && - to == KI_VALID_GID) || - ((ki.ki_valid & KI_VALID_GID) && - to == KI_VALID_UID))) { - return (ENOENT); + KAUTH_DEBUG("CACHE - no expiry function"); + } + + if (!expired) { + /* do we have a translation? */ + if (ki.ki_valid & to) { + KAUTH_DEBUG("CACHE - found matching entry with valid 0x%08x", ki.ki_valid); + goto found; + } else { + /* + * GUIDs and NTSIDs map to either a UID or a GID, but not both. + * If we went looking for a translation from GUID or NTSID and + * found a translation that wasn't for our desired type, then + * don't bother calling the resolver. We know that this + * GUID/NTSID can't translate to our desired type. + */ + switch(from) { + case KI_VALID_GUID: + case KI_VALID_NTSID: + switch(to) { + case KI_VALID_GID: + if ((ki.ki_valid & KI_VALID_UID)) { + KAUTH_DEBUG("CACHE - unexpected entry 0x%08x & %x", ki.ki_valid, KI_VALID_GID); + return (ENOENT); + } + break; + case KI_VALID_UID: + if ((ki.ki_valid & KI_VALID_GID)) { + KAUTH_DEBUG("CACHE - unexpected entry 0x%08x & %x", ki.ki_valid, KI_VALID_UID); + return (ENOENT); + } + break; + } + break; + } } } } diff --git a/bsd/kern/kern_exit.c b/bsd/kern/kern_exit.c index 7d5ddd37b..6d04dd6a9 100644 --- a/bsd/kern/kern_exit.c +++ b/bsd/kern/kern_exit.c @@ -458,6 +458,7 @@ proc_exit(proc_t p) proc_refdrain(p); + workqueue_mark_exiting(p); workqueue_exit(p); _aio_exit( p ); diff --git a/bsd/kern/kern_mib.c b/bsd/kern/kern_mib.c index f82717429..5cc239bd0 100644 --- a/bsd/kern/kern_mib.c +++ b/bsd/kern/kern_mib.c @@ -416,6 +416,9 @@ int x86_64_flag = -1; int supplementalsse3_flag = -1; int aes_flag = -1; int avx1_0_flag = -1; +int rdrand_flag = -1; +int f16c_flag = -1; +int enfstrg_flag = -1; SYSCTL_INT(_hw_optional, OID_AUTO, mmx, CTLFLAG_RD | CTLFLAG_KERN | CTLFLAG_LOCKED, &mmx_flag, 0, ""); SYSCTL_INT(_hw_optional, OID_AUTO, sse, CTLFLAG_RD | CTLFLAG_KERN | CTLFLAG_LOCKED, &sse_flag, 0, ""); @@ -429,6 +432,9 @@ SYSCTL_INT(_hw_optional, OID_AUTO, sse4_2, CTLFLAG_RD | CTLFLAG_KERN | CTLFLAG_L SYSCTL_INT(_hw_optional, OID_AUTO, x86_64, CTLFLAG_RD | CTLFLAG_KERN | CTLFLAG_LOCKED, &x86_64_flag, 0, ""); SYSCTL_INT(_hw_optional, OID_AUTO, aes, CTLFLAG_RD | CTLFLAG_KERN | CTLFLAG_LOCKED, &aes_flag, 0, ""); SYSCTL_INT(_hw_optional, OID_AUTO, avx1_0, CTLFLAG_RD | CTLFLAG_KERN | CTLFLAG_LOCKED, &avx1_0_flag, 0, ""); +SYSCTL_INT(_hw_optional, OID_AUTO, rdrand, CTLFLAG_RD | CTLFLAG_KERN | CTLFLAG_LOCKED, &rdrand_flag, 0, ""); +SYSCTL_INT(_hw_optional, OID_AUTO, f16c, CTLFLAG_RD | CTLFLAG_KERN | CTLFLAG_LOCKED, &f16c_flag, 0, ""); +SYSCTL_INT(_hw_optional, OID_AUTO, enfstrg, CTLFLAG_RD | CTLFLAG_KERN | CTLFLAG_LOCKED, &enfstrg_flag, 0, ""); #endif /* !__i386__ && !__x86_64 && !__arm__ */ /* @@ -499,6 +505,9 @@ sysctl_mib_init(void) x86_64_flag = is_capability_set(k64Bit); aes_flag = is_capability_set(kHasAES); avx1_0_flag = is_capability_set(kHasAVX1_0); + rdrand_flag = is_capability_set(kHasRDRAND); + f16c_flag = is_capability_set(kHasF16C); + enfstrg_flag = is_capability_set(kHasENFSTRG); /* hw.cpufamily */ cpufamily = cpuid_cpufamily(); diff --git a/bsd/kern/mach_loader.c b/bsd/kern/mach_loader.c index ab26c40b9..47253a898 100644 --- a/bsd/kern/mach_loader.c +++ b/bsd/kern/mach_loader.c @@ -292,6 +292,7 @@ load_machfile( boolean_t create_map = FALSE; int spawn = (imgp->ip_flags & IMGPF_SPAWN); task_t task = current_task(); + proc_t p = current_proc(); mach_vm_offset_t aslr_offset = 0; kern_return_t kret; @@ -392,15 +393,26 @@ load_machfile( * this transition, and then finally complete the * task halting (wait for threads and then cleanup * task resources). - */ - kret = task_start_halt(task); - if (kret != KERN_SUCCESS) { - return(kret); - } - proc_transcommit(current_proc(), 0); - task_complete_halt(task); - workqueue_exit(current_proc()); - } + * + * NOTE: task_start_halt() makes sure that no new + * threads are created in the task during the transition. + * We need to mark the workqueue as exiting before we + * wait for threads to terminate (at the end of which + * we no longer have a prohibition on thread creation). + * + * Finally, clean up any lingering workqueue data structures + * that may have been left behind by the workqueue threads + * as they exited (and then clean up the work queue itself). + */ + kret = task_start_halt(task); + if (kret != KERN_SUCCESS) { + return(kret); + } + proc_transcommit(p, 0); + workqueue_mark_exiting(p); + task_complete_halt(task); + workqueue_exit(p); + } old_map = swap_task_map(old_task, thread, map, !spawn); vm_map_clear_4GB_pagezero(old_map); vm_map_deallocate(old_map); diff --git a/bsd/kern/mach_process.c b/bsd/kern/mach_process.c index 5294122ff..7ec55c799 100644 --- a/bsd/kern/mach_process.c +++ b/bsd/kern/mach_process.c @@ -325,14 +325,10 @@ ptrace(struct proc *p, struct ptrace_args *uap, int32_t *retval) goto out; } + /* force use of Mach SPIs (and task_for_pid security checks) to adjust PC */ if (uap->addr != (user_addr_t)1) { -#if defined(ppc) -#define ALIGNED(addr,size) (((unsigned)(addr)&((size)-1))==0) - if (!ALIGNED((int)uap->addr, sizeof(int))) - return (ERESTART); -#undef ALIGNED -#endif - thread_setentrypoint(th_act, uap->addr); + error = ENOTSUP; + goto out; } if ((unsigned)uap->data >= NSIG) { diff --git a/bsd/kern/pthread_synch.c b/bsd/kern/pthread_synch.c index 009ce5a7c..80112d7c2 100644 --- a/bsd/kern/pthread_synch.c +++ b/bsd/kern/pthread_synch.c @@ -975,6 +975,9 @@ workqueue_addnewthread(struct workqueue *wq, boolean_t oc_thread) void *sright; mach_vm_offset_t stackaddr; + if ((wq->wq_flags & WQ_EXITING) == WQ_EXITING) + return (FALSE); + if (wq->wq_nthreads >= wq_max_threads || wq->wq_nthreads >= (CONFIG_THREAD_MAX - 20)) { wq->wq_lflags |= WQL_EXCEEDED_TOTAL_THREAD_LIMIT; return (FALSE); @@ -1312,32 +1315,26 @@ workq_kernreturn(struct proc *p, struct workq_kernreturn_args *uap, __unused in } +/* + * Routine: workqueue_mark_exiting + * + * Function: Mark the work queue such that new threads will not be added to the + * work queue after we return. + * + * Conditions: Called against the current process. + */ void -workqueue_exit(struct proc *p) +workqueue_mark_exiting(struct proc *p) { struct workqueue * wq; - struct threadlist * tl, *tlist; - struct uthread *uth; - int wq_size = 0; - if (p->p_wqptr != NULL) { + wq = p->p_wqptr; + if (wq != NULL) { - KERNEL_DEBUG(0x900808c | DBG_FUNC_START, p->p_wqptr, 0, 0, 0, 0); + KERNEL_DEBUG(0x9008088 | DBG_FUNC_START, p->p_wqptr, 0, 0, 0, 0); workqueue_lock_spin(p); - wq = (struct workqueue *)p->p_wqptr; - - if (wq == NULL) { - workqueue_unlock(p); - - KERNEL_DEBUG(0x900808c | DBG_FUNC_END, 0, 0, 0, -1, 0); - return; - } - wq_size = p->p_wqsize; - p->p_wqptr = NULL; - p->p_wqsize = 0; - /* * we now arm the timer in the callback function w/o holding the workq lock... * we do this by setting WQ_ATIMER_RUNNING via OSCompareAndSwap in order to @@ -1367,6 +1364,40 @@ workqueue_exit(struct proc *p) } workqueue_unlock(p); + KERNEL_DEBUG(0x9008088 | DBG_FUNC_END, 0, 0, 0, 0, 0); + } +} + +/* + * Routine: workqueue_exit + * + * Function: clean up the work queue structure(s) now that there are no threads + * left running inside the work queue (except possibly current_thread). + * + * Conditions: Called by the last thread in the process. + * Called against current process. + */ +void +workqueue_exit(struct proc *p) +{ + struct workqueue * wq; + struct threadlist * tl, *tlist; + struct uthread *uth; + int wq_size = 0; + + wq = (struct workqueue *)p->p_wqptr; + if (wq != NULL) { + + KERNEL_DEBUG(0x900808c | DBG_FUNC_START, p->p_wqptr, 0, 0, 0, 0); + + wq_size = p->p_wqsize; + p->p_wqptr = NULL; + p->p_wqsize = 0; + + /* + * Clean up workqueue data structures for threads that exited and + * didn't get a chance to clean up after themselves. + */ TAILQ_FOREACH_SAFE(tl, &wq->wq_thrunlist, th_entry, tlist) { thread_sched_call(tl->th_thread, NULL); diff --git a/bsd/net/dlil.c b/bsd/net/dlil.c index 9cca104a1..51c2d976e 100644 --- a/bsd/net/dlil.c +++ b/bsd/net/dlil.c @@ -3204,15 +3204,15 @@ ifnet_detach(ifnet_t ifp) if (!(ifp->if_refflags & IFRF_ATTACHED)) { lck_mtx_unlock(&ifp->if_ref_lock); ifnet_lock_done(ifp); - lck_mtx_unlock(rnh_lock); ifnet_head_done(); + lck_mtx_unlock(rnh_lock); return (EINVAL); } else if (ifp->if_refflags & IFRF_DETACHING) { /* Interface has already been detached */ lck_mtx_unlock(&ifp->if_ref_lock); ifnet_lock_done(ifp); - lck_mtx_unlock(rnh_lock); ifnet_head_done(); + lck_mtx_unlock(rnh_lock); return (ENXIO); } /* Indicate this interface is being detached */ @@ -3237,8 +3237,8 @@ ifnet_detach(ifnet_t ifp) ctrace_record(&((struct dlil_ifnet *)ifp)->dl_if_detach); ifnet_lock_done(ifp); - lck_mtx_unlock(rnh_lock); ifnet_head_done(); + lck_mtx_unlock(rnh_lock); /* Let BPF know we're detaching */ bpfdetach(ifp); diff --git a/bsd/net/pf.c b/bsd/net/pf.c index 62b39f2ad..0597ffd4d 100644 --- a/bsd/net/pf.c +++ b/bsd/net/pf.c @@ -286,11 +286,6 @@ static int pf_test_state_other(struct pf_state **, int, struct pfi_kif *, struct pf_pdesc *); static int pf_match_tag(struct mbuf *, struct pf_rule *, struct pf_mtag *, int *); -static void pf_step_into_anchor(int *, struct pf_ruleset **, int, - struct pf_rule **, struct pf_rule **, int *); -static int pf_step_out_of_anchor(int *, struct pf_ruleset **, - int, struct pf_rule **, struct pf_rule **, - int *); static void pf_hash(struct pf_addr *, struct pf_addr *, struct pf_poolhashkey *, sa_family_t); static int pf_map_addr(u_int8_t, struct pf_rule *, @@ -2999,7 +2994,7 @@ pf_tag_packet(struct mbuf *m, struct pf_mtag *pf_mtag, int tag, return (0); } -static void +void pf_step_into_anchor(int *depth, struct pf_ruleset **rs, int n, struct pf_rule **r, struct pf_rule **a, int *match) { @@ -3034,7 +3029,7 @@ pf_step_into_anchor(int *depth, struct pf_ruleset **rs, int n, *r = TAILQ_FIRST((*rs)->rules[n].active.ptr); } -static int +int pf_step_out_of_anchor(int *depth, struct pf_ruleset **rs, int n, struct pf_rule **r, struct pf_rule **a, int *match) { diff --git a/bsd/net/pf_norm.c b/bsd/net/pf_norm.c index 91e0083f4..053cdc13c 100644 --- a/bsd/net/pf_norm.c +++ b/bsd/net/pf_norm.c @@ -880,6 +880,8 @@ pf_normalize_ip(struct mbuf **m0, int dir, struct pfi_kif *kif, u_short *reason, u_int16_t fr_max; int ip_len; int ip_off; + int asd = 0; + struct pf_ruleset *ruleset = NULL; r = TAILQ_FIRST(pf_main_ruleset.rules[PF_RULESET_SCRUB].active.ptr); while (r != NULL) { @@ -900,7 +902,15 @@ pf_normalize_ip(struct mbuf **m0, int dir, struct pfi_kif *kif, u_short *reason, (struct pf_addr *)&h->ip_dst.s_addr, AF_INET, r->dst.neg, NULL)) r = r->skip[PF_SKIP_DST_ADDR].ptr; - else + else { + if (r->anchor == NULL) + break; + else + pf_step_into_anchor(&asd, &ruleset, + PF_RULESET_SCRUB, &r, NULL, NULL); + } + if (r == NULL && pf_step_out_of_anchor(&asd, &ruleset, + PF_RULESET_SCRUB, &r, NULL, NULL)) break; } @@ -1142,6 +1152,8 @@ pf_normalize_ip6(struct mbuf **m0, int dir, struct pfi_kif *kif, u_int16_t fragoff = 0; u_int8_t proto; int terminal; + int asd = 0; + struct pf_ruleset *ruleset = NULL; r = TAILQ_FIRST(pf_main_ruleset.rules[PF_RULESET_SCRUB].active.ptr); while (r != NULL) { @@ -1164,7 +1176,15 @@ pf_normalize_ip6(struct mbuf **m0, int dir, struct pfi_kif *kif, (struct pf_addr *)&h->ip6_dst, AF_INET6, r->dst.neg, NULL)) r = r->skip[PF_SKIP_DST_ADDR].ptr; - else + else { + if (r->anchor == NULL) + break; + else + pf_step_into_anchor(&asd, &ruleset, + PF_RULESET_SCRUB, &r, NULL, NULL); + } + if (r == NULL && pf_step_out_of_anchor(&asd, &ruleset, + PF_RULESET_SCRUB, &r, NULL, NULL)) break; } @@ -1329,9 +1349,11 @@ pf_normalize_tcp(int dir, struct pfi_kif *kif, struct mbuf *m, int ipoff, struct pf_rule *r, *rm = NULL; struct tcphdr *th = pd->hdr.tcp; int rewrite = 0; + int asd = 0; u_short reason; u_int8_t flags; sa_family_t af = pd->af; + struct pf_ruleset *ruleset = NULL; #ifndef NO_APPLE_EXTENSIONS union pf_state_xport sxport, dxport; @@ -1379,9 +1401,17 @@ pf_normalize_tcp(int dir, struct pfi_kif *kif, struct mbuf *m, int ipoff, r->os_fingerprint)) r = TAILQ_NEXT(r, entries); else { - rm = r; - break; + if (r->anchor == NULL) { + rm = r; + break; + } else { + pf_step_into_anchor(&asd, &ruleset, + PF_RULESET_SCRUB, &r, NULL, NULL); + } } + if (r == NULL && pf_step_out_of_anchor(&asd, &ruleset, + PF_RULESET_SCRUB, &r, NULL, NULL)) + break; } if (rm == NULL || rm->action == PF_NOSCRUB) diff --git a/bsd/net/pfvar.h b/bsd/net/pfvar.h index 58c4b3969..4483dc867 100644 --- a/bsd/net/pfvar.h +++ b/bsd/net/pfvar.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007-2010 Apple Inc. All rights reserved. + * Copyright (c) 2007-2012 Apple Inc. All rights reserved. * * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ * @@ -2276,6 +2276,10 @@ __private_extern__ void pf_tag_ref(u_int16_t); __private_extern__ void pf_tag_unref(u_int16_t); __private_extern__ int pf_tag_packet(struct mbuf *, struct pf_mtag *, int, unsigned int); +__private_extern__ void pf_step_into_anchor(int *, struct pf_ruleset **, int, + struct pf_rule **, struct pf_rule **, int *); +__private_extern__ int pf_step_out_of_anchor(int *, struct pf_ruleset **, int, + struct pf_rule **, struct pf_rule **, int *); __private_extern__ u_int32_t pf_qname2qid(char *); __private_extern__ void pf_qid2qname(u_int32_t, char *); __private_extern__ void pf_qid_unref(u_int32_t); diff --git a/bsd/netinet/igmp.c b/bsd/netinet/igmp.c index d10484ddf..1142c99e2 100644 --- a/bsd/netinet/igmp.c +++ b/bsd/netinet/igmp.c @@ -127,10 +127,12 @@ inet_ntoa(struct in_addr ina) } #endif +SLIST_HEAD(igmp_inm_relhead, in_multi); + static void igi_initvar(struct igmp_ifinfo *, struct ifnet *, int); static struct igmp_ifinfo *igi_alloc(int); static void igi_free(struct igmp_ifinfo *); -static void igi_delete(const struct ifnet *); +static void igi_delete(const struct ifnet *, struct igmp_inm_relhead *); static void igmp_dispatch_queue(struct igmp_ifinfo *, struct ifqueue *, int, const int, struct ifnet *); static void igmp_final_leave(struct in_multi *, struct igmp_ifinfo *); @@ -157,7 +159,8 @@ static struct mbuf * static const char * igmp_rec_type_to_str(const int); #endif static void igmp_set_version(struct igmp_ifinfo *, const int); -static void igmp_flush_relq(struct igmp_ifinfo *); +static void igmp_flush_relq(struct igmp_ifinfo *, + struct igmp_inm_relhead *); static int igmp_v1v2_queue_report(struct in_multi *, const int); static void igmp_v1v2_process_group_timer(struct in_multi *, const int); static void igmp_v1v2_process_querier_timers(struct igmp_ifinfo *); @@ -283,6 +286,19 @@ static lck_grp_attr_t *igmp_mtx_grp_attr; static decl_lck_mtx_data(, igmp_mtx); static int igmp_timers_are_running; +#define IGMP_ADD_DETACHED_INM(_head, _inm) { \ + SLIST_INSERT_HEAD(_head, _inm, inm_dtle); \ +} + +#define IGMP_REMOVE_DETACHED_INM(_head) { \ + struct in_multi *_inm, *_inm_tmp; \ + SLIST_FOREACH_SAFE(_inm, _head, inm_dtle, _inm_tmp) { \ + SLIST_REMOVE(_head, _inm, in_multi, inm_dtle); \ + INM_REMREF(_inm); \ + } \ + VERIFY(SLIST_EMPTY(_head)); \ +} + #define IGI_ZONE_MAX 64 /* maximum elements in zone */ #define IGI_ZONE_NAME "igmp_ifinfo" /* zone name */ @@ -585,12 +601,19 @@ igmp_domifreattach(struct igmp_ifinfo *igi) void igmp_domifdetach(struct ifnet *ifp) { + SLIST_HEAD(, in_multi) inm_dthead; + + SLIST_INIT(&inm_dthead); + IGMP_PRINTF(("%s: called for ifp %p(%s%d)\n", __func__, ifp, ifp->if_name, ifp->if_unit)); lck_mtx_lock(&igmp_mtx); - igi_delete(ifp); + igi_delete(ifp, (struct igmp_inm_relhead *)&inm_dthead); lck_mtx_unlock(&igmp_mtx); + + /* Now that we're dropped all locks, release detached records */ + IGMP_REMOVE_DETACHED_INM(&inm_dthead); } /* @@ -600,7 +623,7 @@ igmp_domifdetach(struct ifnet *ifp) * the reattach case. */ static void -igi_delete(const struct ifnet *ifp) +igi_delete(const struct ifnet *ifp, struct igmp_inm_relhead *inm_dthead) { struct igmp_ifinfo *igi, *tigi; @@ -614,7 +637,7 @@ igi_delete(const struct ifnet *ifp) */ IF_DRAIN(&igi->igi_gq); IF_DRAIN(&igi->igi_v2q); - igmp_flush_relq(igi); + igmp_flush_relq(igi, inm_dthead); VERIFY(SLIST_EMPTY(&igi->igi_relinmhead)); igi->igi_debug &= ~IFD_ATTACHED; IGI_UNLOCK(igi); @@ -712,6 +735,7 @@ igi_addref(struct igmp_ifinfo *igi, int locked) void igi_remref(struct igmp_ifinfo *igi) { + SLIST_HEAD(, in_multi) inm_dthead; struct ifnet *ifp; IGI_LOCK_SPIN(igi); @@ -731,10 +755,14 @@ igi_remref(struct igmp_ifinfo *igi) igi->igi_ifp = NULL; IF_DRAIN(&igi->igi_gq); IF_DRAIN(&igi->igi_v2q); - igmp_flush_relq(igi); + SLIST_INIT(&inm_dthead); + igmp_flush_relq(igi, (struct igmp_inm_relhead *)&inm_dthead); VERIFY(SLIST_EMPTY(&igi->igi_relinmhead)); IGI_UNLOCK(igi); + /* Now that we're dropped all locks, release detached records */ + IGMP_REMOVE_DETACHED_INM(&inm_dthead); + IGMP_PRINTF(("%s: freeing igmp_ifinfo for ifp %p(%s%d)\n", __func__, ifp, ifp->if_name, ifp->if_unit)); @@ -1718,6 +1746,9 @@ igmp_slowtimo(void) struct igmp_ifinfo *igi; struct in_multi *inm; int loop = 0, uri_fasthz = 0; + SLIST_HEAD(, in_multi) inm_dthead; + + SLIST_INIT(&inm_dthead); lck_mtx_lock(&igmp_mtx); @@ -1833,7 +1864,7 @@ next: * for the link is no longer IGMPv3, in order to handle the * version change case. */ - igmp_flush_relq(igi); + igmp_flush_relq(igi, (struct igmp_inm_relhead *)&inm_dthead); VERIFY(SLIST_EMPTY(&igi->igi_relinmhead)); IGI_UNLOCK(igi); @@ -1843,6 +1874,9 @@ next: out_locked: lck_mtx_unlock(&igmp_mtx); + + /* Now that we're dropped all locks, release detached records */ + IGMP_REMOVE_DETACHED_INM(&inm_dthead); } /* @@ -1851,7 +1885,7 @@ out_locked: * Caller must be holding igi_lock. */ static void -igmp_flush_relq(struct igmp_ifinfo *igi) +igmp_flush_relq(struct igmp_ifinfo *igi, struct igmp_inm_relhead *inm_dthead) { struct in_multi *inm; @@ -1876,9 +1910,17 @@ again: /* from igi_relinmhead */ INM_REMREF(inm); /* from in_multihead list */ - if (lastref) - INM_REMREF(inm); - + if (lastref) { + /* + * Defer releasing our final reference, as we + * are holding the IGMP lock at this point, and + * we could end up with locking issues later on + * (while issuing SIOCDELMULTI) when this is the + * final reference count. Let the caller do it + * when it is safe. + */ + IGMP_ADD_DETACHED_INM(inm_dthead, inm); + } IGI_LOCK(igi); goto again; } diff --git a/bsd/netinet/in_var.h b/bsd/netinet/in_var.h index 0b5d373de..70a0370ed 100644 --- a/bsd/netinet/in_var.h +++ b/bsd/netinet/in_var.h @@ -317,6 +317,7 @@ struct in_multi { /* New fields for IGMPv3 follow. */ struct igmp_ifinfo *inm_igi; /* IGMP info */ + SLIST_ENTRY(in_multi) inm_dtle; /* detached waiting for rele */ SLIST_ENTRY(in_multi) inm_nrele; /* to-be-released by IGMP */ u_int32_t inm_nrelecnt; /* deferred release count */ struct ip_msource_tree inm_srcs; /* tree of sources */ diff --git a/bsd/netinet6/in6_var.h b/bsd/netinet6/in6_var.h index 67f8fa429..970250494 100644 --- a/bsd/netinet6/in6_var.h +++ b/bsd/netinet6/in6_var.h @@ -748,6 +748,7 @@ struct in6_multi { u_int in6m_timer; /* MLD6 listener report timer */ /* New fields for MLDv2 follow. */ struct mld_ifinfo *in6m_mli; /* MLD info */ + SLIST_ENTRY(in6_multi) in6m_dtle; /* detached waiting for rele */ SLIST_ENTRY(in6_multi) in6m_nrele; /* to-be-released by MLD */ u_int32_t in6m_nrelecnt; /* deferred release count */ struct ip6_msource_tree in6m_srcs; /* tree of sources */ diff --git a/bsd/netinet6/mld6.c b/bsd/netinet6/mld6.c index 90bcb94b4..11f02db1e 100644 --- a/bsd/netinet6/mld6.c +++ b/bsd/netinet6/mld6.c @@ -162,10 +162,12 @@ static lck_grp_attr_t *mld_mtx_grp_attr; */ static decl_lck_mtx_data(, mld_mtx); +SLIST_HEAD(mld_in6m_relhead, in6_multi); + static void mli_initvar(struct mld_ifinfo *, struct ifnet *, int); static struct mld_ifinfo *mli_alloc(int); static void mli_free(struct mld_ifinfo *); -static void mli_delete(const struct ifnet *); +static void mli_delete(const struct ifnet *, struct mld_in6m_relhead *); static void mld_dispatch_packet(struct mbuf *); static void mld_final_leave(struct in6_multi *, struct mld_ifinfo *); static int mld_handle_state_change(struct in6_multi *, @@ -176,7 +178,7 @@ static int mld_initial_join(struct in6_multi *, struct mld_ifinfo *, static const char * mld_rec_type_to_str(const int); #endif static void mld_set_version(struct mld_ifinfo *, const int); -static void mld_flush_relq(struct mld_ifinfo *); +static void mld_flush_relq(struct mld_ifinfo *, struct mld_in6m_relhead *); static void mld_dispatch_queue(struct mld_ifinfo *, struct ifqueue *, int); static int mld_v1_input_query(struct ifnet *, const struct ip6_hdr *, /*const*/ struct mld_hdr *); @@ -245,6 +247,19 @@ static decl_lck_mtx_data(, mld6_mtx); #define MLD_UNLOCK() \ lck_mtx_unlock(&mld6_mtx) +#define MLD_ADD_DETACHED_IN6M(_head, _in6m) { \ + SLIST_INSERT_HEAD(_head, _in6m, in6m_dtle); \ +} + +#define MLD_REMOVE_DETACHED_IN6M(_head) { \ + struct in6_multi *_in6m, *_inm_tmp; \ + SLIST_FOREACH_SAFE(_in6m, _head, in6m_dtle, _inm_tmp) { \ + SLIST_REMOVE(_head, _in6m, in6_multi, in6m_dtle); \ + IN6M_REMREF(_in6m); \ + } \ + VERIFY(SLIST_EMPTY(_head)); \ +} + #define MLI_ZONE_MAX 64 /* maximum elements in zone */ #define MLI_ZONE_NAME "mld_ifinfo" /* zone name */ @@ -528,13 +543,19 @@ mld_domifreattach(struct mld_ifinfo *mli) void mld_domifdetach(struct ifnet *ifp) { + SLIST_HEAD(, in6_multi) in6m_dthead; + + SLIST_INIT(&in6m_dthead); MLD_PRINTF(("%s: called for ifp %p(%s%d)\n", __func__, ifp, ifp->if_name, ifp->if_unit)); MLD_LOCK(); - mli_delete(ifp); + mli_delete(ifp, (struct mld_in6m_relhead *)&in6m_dthead); MLD_UNLOCK(); + + /* Now that we're dropped all locks, release detached records */ + MLD_REMOVE_DETACHED_IN6M(&in6m_dthead); } /* @@ -544,7 +565,7 @@ mld_domifdetach(struct ifnet *ifp) * the reattach case. */ static void -mli_delete(const struct ifnet *ifp) +mli_delete(const struct ifnet *ifp, struct mld_in6m_relhead *in6m_dthead) { struct mld_ifinfo *mli, *tmli; @@ -558,7 +579,7 @@ mli_delete(const struct ifnet *ifp) */ IF_DRAIN(&mli->mli_gq); IF_DRAIN(&mli->mli_v1q); - mld_flush_relq(mli); + mld_flush_relq(mli, in6m_dthead); VERIFY(SLIST_EMPTY(&mli->mli_relinmhead)); mli->mli_debug &= ~IFD_ATTACHED; MLI_UNLOCK(mli); @@ -657,6 +678,7 @@ mli_addref(struct mld_ifinfo *mli, int locked) void mli_remref(struct mld_ifinfo *mli) { + SLIST_HEAD(, in6_multi) in6m_dthead; struct ifnet *ifp; MLI_LOCK_SPIN(mli); @@ -676,10 +698,14 @@ mli_remref(struct mld_ifinfo *mli) mli->mli_ifp = NULL; IF_DRAIN(&mli->mli_gq); IF_DRAIN(&mli->mli_v1q); - mld_flush_relq(mli); + SLIST_INIT(&in6m_dthead); + mld_flush_relq(mli, (struct mld_in6m_relhead *)&in6m_dthead); VERIFY(SLIST_EMPTY(&mli->mli_relinmhead)); MLI_UNLOCK(mli); + /* Now that we're dropped all locks, release detached records */ + MLD_REMOVE_DETACHED_IN6M(&in6m_dthead); + MLD_PRINTF(("%s: freeing mld_ifinfo for ifp %p(%s%d)\n", __func__, ifp, ifp->if_name, ifp->if_unit)); @@ -1397,6 +1423,9 @@ mld_slowtimo(void) struct mld_ifinfo *mli; struct in6_multi *inm; int uri_fasthz = 0; + SLIST_HEAD(, in6_multi) in6m_dthead; + + SLIST_INIT(&in6m_dthead); MLD_LOCK(); @@ -1513,7 +1542,7 @@ next: * for the link is no longer MLDv2, in order to handle the * version change case. */ - mld_flush_relq(mli); + mld_flush_relq(mli, (struct mld_in6m_relhead *)&in6m_dthead); VERIFY(SLIST_EMPTY(&mli->mli_relinmhead)); MLI_UNLOCK(mli); @@ -1523,6 +1552,9 @@ next: out_locked: MLD_UNLOCK(); + + /* Now that we're dropped all locks, release detached records */ + MLD_REMOVE_DETACHED_IN6M(&in6m_dthead); } /* @@ -1531,7 +1563,7 @@ out_locked: * Caller must be holding mli_lock. */ static void -mld_flush_relq(struct mld_ifinfo *mli) +mld_flush_relq(struct mld_ifinfo *mli, struct mld_in6m_relhead *in6m_dthead) { struct in6_multi *inm; @@ -1556,9 +1588,17 @@ again: /* from mli_relinmhead */ IN6M_REMREF(inm); /* from in6_multihead_list */ - if (lastref) - IN6M_REMREF(inm); - + if (lastref) { + /* + * Defer releasing our final reference, as we + * are holding the MLD lock at this point, and + * we could end up with locking issues later on + * (while issuing SIOCDELMULTI) when this is the + * final reference count. Let the caller do it + * when it is safe. + */ + MLD_ADD_DETACHED_IN6M(in6m_dthead, inm); + } MLI_LOCK(mli); goto again; } diff --git a/bsd/nfs/nfs4_subs.c b/bsd/nfs/nfs4_subs.c index 3d65f7985..84d0aa9f7 100644 --- a/bsd/nfs/nfs4_subs.c +++ b/bsd/nfs/nfs4_subs.c @@ -69,6 +69,19 @@ #include #include +/* + * NFS_MAX_WHO is the maximum length of a string representation used + * in as an ace who, owner, or group. There is no explicit limit in the + * protocol, however the kauth routines have a limit of MAPATHLEN for + * strings including the trailing null character, so we impose that + * limit. This should be changed if kauth routines change. + * + * We also want some reasonable maximum, as 32 bits worth of string length + * is liable to cause problems. At the very least this limit must guarantee + * that any express that contains the 32 bit length from off the wire used in + * allocations does not overflow. + */ +#define NFS_MAX_WHO MAXPATHLEN /* * Create the unique client ID to use for this mount. @@ -1516,7 +1529,8 @@ nfs4_parsefattr( { int error = 0, error2, rderror = 0, attrbytes; uint32_t val, val2, val3, i; - uint32_t bitmap[NFS_ATTR_BITMAP_LEN], len, slen; + uint32_t bitmap[NFS_ATTR_BITMAP_LEN], len; + size_t slen; char sbuf[64], *s; struct nfs_fsattr nfsa_dummy; struct nfs_vattr nva_dummy; @@ -1661,11 +1675,16 @@ nfs4_parsefattr( s = sbuf; slen = sizeof(sbuf); } - MALLOC(s, char*, len+16, M_TEMP, M_WAITOK); - if (s) - slen = len+16; - else - error2 = ENOMEM; + if (len >= NFS_MAX_WHO) { + error = EBADRPC; + } else { + /* Let's add a bit more if we can to the allocation as to try and avoid future allocations */ + MALLOC(s, char*, (len + 16 < NFS_MAX_WHO) ? len+16 : NFS_MAX_WHO, M_TEMP, M_WAITOK); + if (s) + slen = (len + 16 < NFS_MAX_WHO) ? len+16 : NFS_MAX_WHO; + else + error = ENOMEM; + } } if (error2) nfsm_chain_adv(error, nmc, nfsm_rndup(len)); @@ -1986,11 +2005,16 @@ nfs4_parsefattr( s = sbuf; slen = sizeof(sbuf); } - MALLOC(s, char*, len+16, M_TEMP, M_WAITOK); - if (s) - slen = len+16; - else - error = ENOMEM; + if (len >= NFS_MAX_WHO) { + error = EBADRPC; + } else { + /* Let's add a bit more if we can to the allocation as to try and avoid future allocations */ + MALLOC(s, char*, (len + 16 < NFS_MAX_WHO) ? len+16 : NFS_MAX_WHO, M_TEMP, M_WAITOK); + if (s) + slen = (len + 16 < NFS_MAX_WHO) ? len+16 : NFS_MAX_WHO; + else + error = ENOMEM; + } } nfsm_chain_get_opaque(error, nmc, len, s); if (!error) { @@ -2018,11 +2042,16 @@ nfs4_parsefattr( s = sbuf; slen = sizeof(sbuf); } - MALLOC(s, char*, len+16, M_TEMP, M_WAITOK); - if (s) - slen = len+16; - else - error = ENOMEM; + if (len >= NFS_MAX_WHO) { + error = EBADRPC; + } else { + /* Let's add a bit more if we can to the allocation as to try and avoid future allocations */ + MALLOC(s, char*, (len + 16 < NFS_MAX_WHO) ? len+16 : NFS_MAX_WHO, M_TEMP, M_WAITOK); + if (s) + slen = (len + 16 < NFS_MAX_WHO) ? len+16 : NFS_MAX_WHO; + else + error = ENOMEM; + } } nfsm_chain_get_opaque(error, nmc, len, s); if (!error) { diff --git a/bsd/sys/pthread_internal.h b/bsd/sys/pthread_internal.h index 6cc80f5f3..f33117241 100644 --- a/bsd/sys/pthread_internal.h +++ b/bsd/sys/pthread_internal.h @@ -160,6 +160,7 @@ extern lck_grp_attr_t *pthread_lck_grp_attr; extern lck_grp_t *pthread_lck_grp; extern lck_attr_t *pthread_lck_attr; +void workqueue_mark_exiting(struct proc *); void workqueue_exit(struct proc *); void pthread_init(void); void psynch_zoneinit(void); diff --git a/config/MasterVersion b/config/MasterVersion index 23ba4083b..fb4c4656a 100644 --- a/config/MasterVersion +++ b/config/MasterVersion @@ -1,4 +1,4 @@ -11.4.0 +11.4.2 # The first line of this file contains the master version number for the kernel. # All other instances of the kernel version in xnu are derived from this file. diff --git a/config/Private.i386.exports b/config/Private.i386.exports index acb5515de..3a7064dc6 100644 --- a/config/Private.i386.exports +++ b/config/Private.i386.exports @@ -34,3 +34,4 @@ _xts_done _xts_encrypt _xts_start _aes_decrypt +_PE_reboot_on_panic diff --git a/config/Private.x86_64.exports b/config/Private.x86_64.exports index 9432c31a1..a9c6a89a1 100644 --- a/config/Private.x86_64.exports +++ b/config/Private.x86_64.exports @@ -36,3 +36,4 @@ _xts_done _xts_encrypt _xts_start _aes_decrypt +_PE_reboot_on_panic diff --git a/iokit/IOKit/pwr_mgt/RootDomain.h b/iokit/IOKit/pwr_mgt/RootDomain.h index 55f4ebe94..351f7da64 100644 --- a/iokit/IOKit/pwr_mgt/RootDomain.h +++ b/iokit/IOKit/pwr_mgt/RootDomain.h @@ -569,19 +569,20 @@ private: unsigned int darkWakeToSleepASAP :1; unsigned int darkWakeMaintenance :1; unsigned int darkWakeSleepService :1; - unsigned int darkWakePostTickle :1; + unsigned int darkWakePostTickle :1; unsigned int sleepTimerMaintenance :1; unsigned int lowBatteryCondition :1; unsigned int hibernateDisabled :1; unsigned int hibernateNoDefeat :1; - unsigned int hibernateAborted :1; unsigned int rejectWranglerTickle :1; + unsigned int wranglerTickleLatched :1; uint32_t hibernateMode; uint32_t userActivityCount; uint32_t userActivityAtSleep; uint32_t lastSleepReason; + uint32_t hibernateAborted; // Info for communicating system state changes to PMCPU int32_t idxPMCPUClamshell; @@ -614,6 +615,7 @@ private: IOReturn privateSleepSystem( uint32_t sleepReason ); void reportUserInput( void ); bool checkSystemCanSleep( IOOptionBits options = 0 ); + bool checkSystemCanSustainFullWake( void ); void adjustPowerState( bool sleepASAP = false ); void setQuickSpinDownTimeout( void ); @@ -667,6 +669,8 @@ private: void evaluateSystemSleepPolicyEarly( void ); void evaluateSystemSleepPolicyFinal( void ); #endif /* HIBERNATION */ + + bool latchDisplayWranglerTickle( bool latch ); #endif /* XNU_KERNEL_PRIVATE */ }; diff --git a/iokit/Kernel/IOPMrootDomain.cpp b/iokit/Kernel/IOPMrootDomain.cpp index d4e9fa423..5111a7edd 100644 --- a/iokit/Kernel/IOPMrootDomain.cpp +++ b/iokit/Kernel/IOPMrootDomain.cpp @@ -47,6 +47,7 @@ #if HIBERNATION #include #endif +#include #include #include #include @@ -2075,6 +2076,7 @@ void IOPMrootDomain::powerChangeDone( unsigned long previousPowerState ) logGraphicsClamp = true; logWranglerTickle = true; sleepTimerMaintenance = false; + wranglerTickleLatched = false; OSString * wakeType = OSDynamicCast( OSString, getProperty(kIOPMRootDomainWakeTypeKey)); @@ -2755,7 +2757,7 @@ bool IOPMrootDomain::abortHibernation(void) { bool ret = activitySinceSleep(); - if (ret && !hibernateAborted) + if (ret && !hibernateAborted && checkSystemCanSustainFullWake()) { DLOG("activitySinceSleep ABORT [%d, %d]\n", userActivityCount, userActivityAtSleep); hibernateAborted = true; @@ -4620,7 +4622,7 @@ void IOPMrootDomain::handleActivityTickleForDisplayWrangler( } } - if (!wranglerTickled && !lowBatteryCondition && + if (!wranglerTickled && ((_pendingCapability & kIOPMSystemCapabilityGraphics) == 0)) { DLOG("display wrangler tickled\n"); @@ -4951,7 +4953,7 @@ IOReturn IOPMrootDomain::displayWranglerNotification( return kIOReturnUnsupported; } -//********************************************************************************* +//****************************************************************************** // displayWranglerMatchPublished // // Receives a notification when the IODisplayWrangler is published. @@ -5000,6 +5002,42 @@ void IOPMrootDomain::reportUserInput( void ) #endif } +//****************************************************************************** +// blockDisplayWranglerTickle +//****************************************************************************** + +bool IOPMrootDomain::latchDisplayWranglerTickle( bool latch ) +{ +#if !NO_KERNEL_HID + if (latch) + { + // Not too late to prevent the display from lighting up + if (!(_currentCapability & kIOPMSystemCapabilityGraphics) && + !(_pendingCapability & kIOPMSystemCapabilityGraphics) && + !checkSystemCanSustainFullWake()) + { + wranglerTickleLatched = true; + } + else + { + wranglerTickleLatched = false; + } + } + else if (wranglerTickleLatched && checkSystemCanSustainFullWake()) + { + wranglerTickleLatched = false; + + pmPowerStateQueue->submitPowerEvent( + kPowerEventPolicyStimulus, + (void *) kStimulusDarkWakeActivityTickle ); + } + + return wranglerTickleLatched; +#else + return false; +#endif +} + // MARK: - // MARK: Battery @@ -5117,6 +5155,29 @@ bool IOPMrootDomain::checkSystemCanSleep( IOOptionBits options ) return true; } +//****************************************************************************** +// checkSystemCanSustainFullWake +//****************************************************************************** + +bool IOPMrootDomain::checkSystemCanSustainFullWake( void ) +{ +#if !NO_KERNEL_HID + if (lowBatteryCondition) + { + // Low battery wake, or received a low battery notification + // while system is awake. + return false; + } + + if (clamshellExists && clamshellClosed && !acAdaptorConnected) + { + // Lid closed on battery power + return false; + } +#endif + return true; +} + //****************************************************************************** // adjustPowerState // @@ -5413,6 +5474,7 @@ void IOPMrootDomain::handlePowerNotification( UInt32 msg ) clamshellClosed = false; clamshellExists = true; + // Don't issue a hid tickle when lid is open and polled on wake if (msg & kIOPMSetValue) { reportUserInput(); @@ -5429,7 +5491,7 @@ void IOPMrootDomain::handlePowerNotification( UInt32 msg ) || (lastSleepReason == kIOPMSleepReasonMaintenance)); if (aborting) userActivityCount++; DLOG("clamshell tickled %d lastSleepReason %d\n", userActivityCount, lastSleepReason); - } + } /* * Clamshell CLOSED @@ -5495,6 +5557,11 @@ void IOPMrootDomain::handlePowerNotification( UInt32 msg ) { eval_clamshell = true; } + + // Lack of AC may have latched a display wrangler tickle. + // This mirrors the hardware's USB wake event latch, where a latched + // USB wake event followed by an AC attach will trigger a full wake. + latchDisplayWranglerTickle( false ); } /* @@ -5536,12 +5603,11 @@ void IOPMrootDomain::handlePowerNotification( UInt32 msg ) { - // SLEEP! privateSleepSystem (kIOPMSleepReasonClamshell); } else if ( eval_clamshell ) { - evaluatePolicy(kStimulusDarkWakeEvaluate); + evaluatePolicy( kStimulusDarkWakeEvaluate ); } /* @@ -5673,6 +5739,12 @@ void IOPMrootDomain::evaluatePolicy( int stimulus, uint32_t arg ) break; } + if (latchDisplayWranglerTickle(true)) + { + DLOG("latched tickle\n"); + break; + } + _desiredCapability |= (kIOPMSystemCapabilityGraphics | kIOPMSystemCapabilityAudio); @@ -5949,8 +6021,6 @@ void IOPMrootDomain::evaluateAssertions(IOPMDriverAssertionType newAssertions, I } if (changedBits & kIOPMDriverAssertionCPUBit) evaluatePolicy(kStimulusDarkWakeEvaluate); - - } // MARK: - diff --git a/osfmk/Makefile b/osfmk/Makefile index 7b609b5ae..b61d3bc7d 100644 --- a/osfmk/Makefile +++ b/osfmk/Makefile @@ -49,6 +49,7 @@ EXPINC_SUBDIRS = \ vm \ libsa \ kdp \ + console \ pmc EXPINC_SUBDIRS_I386 = \ diff --git a/osfmk/console/Makefile b/osfmk/console/Makefile new file mode 100644 index 000000000..ae4830c80 --- /dev/null +++ b/osfmk/console/Makefile @@ -0,0 +1,26 @@ +export MakeInc_cmd=${SRCROOT}/makedefs/MakeInc.cmd +export MakeInc_def=${SRCROOT}/makedefs/MakeInc.def +export MakeInc_rule=${SRCROOT}/makedefs/MakeInc.rule +export MakeInc_dir=${SRCROOT}/makedefs/MakeInc.dir + + +include $(MakeInc_cmd) +include $(MakeInc_def) + +DATAFILES = + +EXPORT_ONLY_FILES = \ + video_console.h + +INSTALL_MI_LIST = ${DATAFILES} + +INSTALL_MI_DIR = console + +EXPORT_MI_LIST = ${DATAFILES} ${EXPORT_ONLY_FILES} + +EXPORT_MI_DIR = console + +include $(MakeInc_rule) +include $(MakeInc_dir) + + diff --git a/osfmk/console/progress_meter_data.c b/osfmk/console/progress_meter_data.c index e7a5ef5c6..95443c3cb 100644 --- a/osfmk/console/progress_meter_data.c +++ b/osfmk/console/progress_meter_data.c @@ -31,133 +31,390 @@ #define kProgressBarWidth (300 + 2 * kProgressBarCapWidth) static const unsigned char -progressmeter_leftcap[2][kProgressBarCapWidth * kProgressBarHeight] = { +progressmeter_leftcap1x[2][kProgressBarCapWidth * kProgressBarHeight] = { { - 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xd4, 0xb4, 0xa5, - 0xff, 0xff, 0xff, 0xff, 0xd4, 0x99, 0x99, 0x99, 0x99, - 0xff, 0xff, 0xff, 0xc4, 0x99, 0x99, 0xc3, 0xe2, 0xef, - 0xff, 0xff, 0xc4, 0x99, 0x99, 0xd4, 0xfe, 0xfe, 0xfe, - 0xff, 0xd9, 0x99, 0x99, 0xe7, 0xfe, 0xfe, 0xfe, 0xfe, - 0xff, 0xaf, 0x99, 0xd9, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, - 0xe8, 0x99, 0xaf, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, - 0xcf, 0x99, 0xc7, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, - 0xc4, 0x99, 0xd1, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, - 0xc4, 0x99, 0xd1, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, - 0xcf, 0x99, 0xc8, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, - 0xe8, 0x99, 0xaf, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, - 0xff, 0xaf, 0x99, 0xd9, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, - 0xff, 0xd8, 0x99, 0x99, 0xe8, 0xfe, 0xfe, 0xfe, 0xfe, - 0xff, 0xff, 0xc4, 0x99, 0x99, 0xd4, 0xfe, 0xfe, 0xfe, - 0xff, 0xff, 0xff, 0xc4, 0x99, 0x99, 0xc3, 0xe2, 0xef, - 0xff, 0xff, 0xff, 0xff, 0xd4, 0x99, 0x99, 0x99, 0x99, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xd4, 0xb4, 0xa5, + 0xff,0xff,0xff,0xff,0xff,0xe8,0xcc,0xbb,0xaa, + 0xff,0xff,0xff,0xf3,0xbf,0xa9,0xa9,0xa9,0xa9, + 0xff,0xff,0xeb,0xb0,0xa9,0xad,0xd4,0xec,0xfe, + 0xff,0xf3,0xb0,0xa9,0xbf,0xf4,0xff,0xff,0xff, + 0xff,0xbf,0xa9,0xc4,0xff,0xff,0xff,0xff,0xff, + 0xe8,0xa9,0xb0,0xfb,0xff,0xff,0xff,0xff,0xff, + 0xcc,0xa9,0xd5,0xff,0xff,0xff,0xff,0xff,0xff, + 0xb5,0xa9,0xef,0xff,0xff,0xff,0xff,0xff,0xff, + 0xac,0xa9,0xfc,0xff,0xff,0xff,0xff,0xff,0xff, + 0xae,0xa9,0xfa,0xff,0xff,0xff,0xff,0xff,0xff, + 0xb8,0xa9,0xef,0xff,0xff,0xff,0xff,0xff,0xff, + 0xcc,0xa9,0xd5,0xff,0xff,0xff,0xff,0xff,0xff, + 0xe8,0xa9,0xb0,0xfb,0xff,0xff,0xff,0xff,0xff, + 0xff,0xbf,0xa9,0xc5,0xff,0xff,0xff,0xff,0xff, + 0xff,0xf3,0xae,0xa9,0xc0,0xf4,0xff,0xff,0xff, + 0xff,0xff,0xeb,0xb0,0xa9,0xad,0xd4,0xec,0xff, + 0xff,0xff,0xff,0xf3,0xbd,0xa9,0xa9,0xa9,0xa9, + 0xff,0xff,0xff,0xff,0xff,0xe8,0xcc,0xbb,0xa9, }, { - 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xd3, 0xb4, 0xa4, - 0xff, 0xff, 0xff, 0xff, 0xd4, 0x99, 0x9a, 0x99, 0x99, - 0xff, 0xff, 0xff, 0xc4, 0x99, 0x98, 0x99, 0x99, 0x99, - 0xff, 0xff, 0xc4, 0x99, 0x9a, 0x99, 0x9a, 0x99, 0x99, - 0xff, 0xd9, 0x9a, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, - 0xff, 0xb0, 0x98, 0x98, 0x99, 0x98, 0x99, 0x99, 0x99, - 0xe8, 0x99, 0x9a, 0x99, 0x99, 0x98, 0x98, 0x99, 0x99, - 0xcf, 0x99, 0x99, 0x98, 0x99, 0x9a, 0x98, 0x98, 0x98, - 0xc5, 0x99, 0x99, 0x9a, 0x99, 0x99, 0x9a, 0x98, 0x99, - 0xc4, 0x99, 0x99, 0x99, 0x9a, 0x98, 0x99, 0x99, 0x99, - 0xcf, 0x98, 0x99, 0x99, 0x98, 0x98, 0x98, 0x98, 0x99, - 0xe8, 0x9a, 0x99, 0x99, 0x9a, 0x98, 0x99, 0x99, 0x99, - 0xff, 0xb0, 0x9a, 0x99, 0x99, 0x98, 0x99, 0x9a, 0x99, - 0xff, 0xd8, 0x99, 0x99, 0x99, 0x9a, 0x98, 0x98, 0x99, - 0xff, 0xff, 0xc4, 0x98, 0x99, 0x98, 0x9a, 0x99, 0x9a, - 0xff, 0xff, 0xff, 0xc5, 0x99, 0x9a, 0x9a, 0x99, 0x98, - 0xff, 0xff, 0xff, 0xff, 0xd3, 0x98, 0x99, 0x98, 0x9a, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xd4, 0xb4, 0xa5, + 0xff,0xff,0xff,0xff,0xff,0xe8,0xcc,0xbb,0xaa, + 0xff,0xff,0xff,0xf3,0xbf,0xa9,0xa9,0xa9,0xa9, + 0xff,0xff,0xeb,0xb0,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xf3,0xb0,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xbf,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xe8,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xcc,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xb5,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xac,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xae,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xb8,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xcc,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xe8,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xbf,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xf3,0xae,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xff,0xeb,0xb0,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xff,0xff,0xf3,0xbd,0xa9,0xa9,0xa9,0xa9, + 0xff,0xff,0xff,0xff,0xff,0xe8,0xcc,0xbb,0xa9, } }; +static const unsigned char +progressmeter_leftcap2x[2][4 * kProgressBarCapWidth * kProgressBarHeight] = { +{ + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xe0,0xcc,0xbc,0xbb,0xaa, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe4,0xc0,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xec,0xbc,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xcf,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xff,0xff,0xff,0xff,0xfa,0xc1,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xb8,0xd4,0xeb,0xee,0xfe, + 0xff,0xff,0xff,0xff,0xfa,0xb8,0xa9,0xa9,0xa9,0xa9,0xa9,0xc4,0xf2,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xfe,0xc1,0xa9,0xa9,0xa9,0xa9,0xb4,0xec,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xcf,0xa9,0xa9,0xa9,0xa9,0xbf,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xeb,0xa9,0xa9,0xa9,0xa9,0xbf,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xbd,0xa9,0xa9,0xa9,0xb4,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xe4,0xa9,0xa9,0xa9,0xa9,0xeb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xbc,0xa9,0xa9,0xa9,0xc5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xf4,0xa9,0xa9,0xa9,0xa9,0xf2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xdc,0xa9,0xa9,0xa9,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xc8,0xa9,0xa9,0xa9,0xd7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xb9,0xa9,0xa9,0xa9,0xea,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xb0,0xa9,0xa9,0xa9,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xac,0xa9,0xa9,0xa9,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xac,0xa9,0xa9,0xa9,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xb0,0xa9,0xa9,0xa9,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xb9,0xa9,0xa9,0xa9,0xea,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xc7,0xa9,0xa9,0xa9,0xd7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xdc,0xa9,0xa9,0xa9,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xf4,0xa9,0xa9,0xa9,0xa9,0xf2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xbc,0xa9,0xa9,0xa9,0xc5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xe4,0xa9,0xa9,0xa9,0xa9,0xeb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xbd,0xa9,0xa9,0xa9,0xb5,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xeb,0xa9,0xa9,0xa9,0xa9,0xbf,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xcd,0xa9,0xa9,0xa9,0xa9,0xbf,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xfe,0xc0,0xa9,0xa9,0xa9,0xa9,0xb4,0xec,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xfa,0xb7,0xa9,0xa9,0xa9,0xa9,0xa9,0xc5,0xf3,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xf8,0xc0,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xbb,0xd4,0xec,0xef,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xcd,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb,0xbc,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3,0xbc,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf4,0xdb,0xcb,0xbb,0xb9,0xa9, +}, +{ + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xe0,0xcc,0xbc,0xbb,0xaa, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe4,0xc0,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xec,0xbc,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xcf,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xff,0xff,0xff,0xff,0xfa,0xc1,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xff,0xff,0xff,0xfa,0xb8,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xff,0xff,0xfe,0xc1,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xff,0xff,0xcf,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xff,0xeb,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xff,0xbd,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xe4,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xbc,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xf4,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xdc,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xc8,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xb9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xb0,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xac,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xac,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xb0,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xb9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xc7,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xdc,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xf4,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xbc,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xe4,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xff,0xbd,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xff,0xeb,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xff,0xff,0xcd,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xff,0xff,0xfe,0xc0,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xff,0xff,0xff,0xfa,0xb7,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xff,0xff,0xff,0xff,0xf8,0xc0,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xcd,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb,0xbc,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3,0xbc,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf4,0xdb,0xcb,0xbb,0xb9,0xa9, +} +}; + + + + +static const unsigned char +progressmeter_middle1x[2][1 * kProgressBarHeight] = { +{ + 0xaa, + 0xa9, + 0xf6, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xf6, + 0xa9, + 0xa9, +}, +{ + 0xaa, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, +}}; + static const unsigned char -progressmeter_middle[2][1 * kProgressBarHeight] = { +progressmeter_middle2x[2][2 * 1 * kProgressBarHeight] = { { - 0x99, - 0x99, - 0xfe, - 0xfe, - 0xfe, - 0xfe, - 0xfe, - 0xfe, - 0xfe, - 0xfe, - 0xfe, - 0xfe, - 0xfe, - 0xfe, - 0xfe, - 0xfe, - 0x99, - 0x99, + 0xaa, + 0xa9, + 0xa9, + 0xa9, + 0xfe, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xa9, + 0xa9, + 0xa9, + 0xa9, }, { - 0x99, - 0x99, - 0x99, - 0x99, - 0x99, - 0x99, - 0x99, - 0x99, - 0x99, - 0x99, - 0x99, - 0x99, - 0x99, - 0x99, - 0x99, - 0x99, - 0x99, - 0x99, + 0xaa, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, + 0xa9, }}; static const unsigned char -progressmeter_rightcap[2][kProgressBarCapWidth * kProgressBarHeight] = { +progressmeter_rightcap1x[2][kProgressBarCapWidth * kProgressBarHeight] = { { - 0xa8, 0xb7, 0xd5, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x99, 0x99, 0x99, 0x99, 0xd8, 0xff, 0xff, 0xff, 0xff, - 0xef, 0xe0, 0xc0, 0x99, 0x99, 0xc5, 0xff, 0xff, 0xff, - 0xfe, 0xfe, 0xfe, 0xd1, 0x99, 0x99, 0xc5, 0xff, 0xff, - 0xfe, 0xfe, 0xfe, 0xfe, 0xe2, 0x99, 0x99, 0xdf, 0xff, - 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xd4, 0x99, 0xb7, 0xff, - 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xa8, 0x99, 0xee, - 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xc0, 0x99, 0xd5, - 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xcc, 0x99, 0xcb, - 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xcc, 0x99, 0xcb, - 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xc1, 0x99, 0xd5, - 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xa8, 0x99, 0xee, - 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xd4, 0x99, 0xb7, 0xff, - 0xfe, 0xfe, 0xfe, 0xfe, 0xe3, 0x99, 0x99, 0xdf, 0xff, - 0xfe, 0xfe, 0xfe, 0xd1, 0x99, 0x99, 0xc5, 0xff, 0xff, - 0xef, 0xe0, 0xc0, 0x99, 0x99, 0xc5, 0xff, 0xff, 0xff, - 0x99, 0x99, 0x99, 0x99, 0xd8, 0xff, 0xff, 0xff, 0xff, - 0xa8, 0xb7, 0xd5, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xa9,0xbb,0xcc,0xe8,0xff,0xff,0xff,0xff,0xff, + 0xa9,0xa9,0xa9,0xa9,0xbf,0xf3,0xff,0xff,0xff, + 0xfe,0xec,0xd4,0xad,0xa9,0xb0,0xeb,0xff,0xff, + 0xff,0xff,0xff,0xf4,0xbf,0xa9,0xb0,0xf3,0xff, + 0xff,0xff,0xff,0xff,0xff,0xc4,0xa9,0xbf,0xff, + 0xff,0xff,0xff,0xff,0xff,0xfb,0xb0,0xa9,0xe8, + 0xff,0xff,0xff,0xff,0xff,0xff,0xd5,0xa9,0xcc, + 0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xa9,0xb5, + 0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xa9,0xac, + 0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xa9,0xac, + 0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xa9,0xb5, + 0xff,0xff,0xff,0xff,0xff,0xff,0xd5,0xa9,0xcc, + 0xff,0xff,0xff,0xff,0xff,0xfb,0xb0,0xa9,0xe8, + 0xff,0xff,0xff,0xff,0xff,0xc5,0xa9,0xbf,0xff, + 0xff,0xff,0xff,0xf4,0xc1,0xa9,0xae,0xf3,0xff, + 0xff,0xec,0xd4,0xad,0xa9,0xb0,0xea,0xff,0xff, + 0xa9,0xa9,0xa9,0xa9,0xbd,0xf3,0xff,0xff,0xff, + 0xa9,0xbb,0xcc,0xe8,0xff,0xff,0xff,0xff,0xff, }, { - 0xa8, 0xb7, 0xd7, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x99, 0x99, 0x99, 0x99, 0xd7, 0xff, 0xff, 0xff, 0xff, - 0x98, 0x98, 0x98, 0x98, 0x98, 0xc5, 0xff, 0xff, 0xff, - 0x99, 0x99, 0x98, 0x9a, 0x98, 0x9a, 0xc5, 0xff, 0xff, - 0x99, 0x9a, 0x99, 0x99, 0x9a, 0x98, 0x9a, 0xdf, 0xff, - 0x99, 0x99, 0x98, 0x99, 0x98, 0x99, 0x99, 0xb7, 0xff, - 0x9a, 0x98, 0x99, 0x98, 0x99, 0x99, 0x99, 0x9a, 0xee, - 0x9a, 0x99, 0x9a, 0x98, 0x9a, 0x99, 0x9a, 0x9a, 0xd5, - 0x98, 0x99, 0x99, 0x98, 0x9a, 0x99, 0x9a, 0x99, 0xcb, - 0x98, 0x99, 0x9a, 0x98, 0x98, 0x99, 0x99, 0x99, 0xc9, - 0x99, 0x99, 0x98, 0x99, 0x9a, 0x99, 0x99, 0x99, 0xd5, - 0x99, 0x99, 0x99, 0x99, 0x98, 0x99, 0x99, 0x9a, 0xee, - 0x9a, 0x98, 0x98, 0x99, 0x99, 0x99, 0x99, 0xb7, 0xff, - 0x99, 0x9a, 0x9a, 0x98, 0x99, 0x99, 0x9a, 0xdf, 0xff, - 0x99, 0x99, 0x9a, 0x98, 0x99, 0x99, 0xc7, 0xff, 0xff, - 0x98, 0x99, 0x99, 0x98, 0x9a, 0xc5, 0xff, 0xff, 0xff, - 0x99, 0x99, 0x99, 0x9a, 0xd8, 0xff, 0xff, 0xff, 0xff, - 0xa8, 0xb7, 0xd7, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xa9,0xbb,0xcc,0xe8,0xff,0xff,0xff,0xff,0xff, + 0xa9,0xa9,0xa9,0xa9,0xbf,0xf3,0xff,0xff,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xb0,0xeb,0xff,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xb0,0xf3,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xbf,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xe8, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xcc, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xb5, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xac, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xac, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xb5, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xcc, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xe8, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xbf,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xae,0xf3,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xb0,0xea,0xff,0xff, + 0xa9,0xa9,0xa9,0xa9,0xbd,0xf3,0xff,0xff,0xff, + 0xa9,0xbb,0xcc,0xe8,0xff,0xff,0xff,0xff,0xff, }}; + +static const unsigned char +progressmeter_rightcap2x[2][4 * kProgressBarCapWidth * kProgressBarHeight] = { +{ + 0xaa,0xbb,0xbc,0xcc,0xe0,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xc0,0xe4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xbc,0xec,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xcf,0xfe,0xff,0xff,0xff,0xff,0xff,0xff, + 0xfe,0xee,0xeb,0xd4,0xb8,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xc1,0xfb,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xf2,0xc5,0xa9,0xa9,0xa9,0xa9,0xa9,0xb8,0xfa,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xec,0xb4,0xa9,0xa9,0xa9,0xa9,0xc1,0xfe,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xbf,0xa9,0xa9,0xa9,0xa9,0xcf,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xbf,0xa9,0xa9,0xa9,0xa9,0xeb,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xb4,0xa9,0xa9,0xa9,0xbd,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb,0xa9,0xa9,0xa9,0xa9,0xe4,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc5,0xa9,0xa9,0xa9,0xbc,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xa9,0xa9,0xa9,0xa9,0xf4, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xa9,0xa9,0xa9,0xdc, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd7,0xa9,0xa9,0xa9,0xc8, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0xa9,0xa9,0xa9,0xb9, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xa9,0xa9,0xa9,0xb0, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xa9,0xa9,0xa9,0xac, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xa9,0xa9,0xa9,0xac, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xa9,0xa9,0xa9,0xb0, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0xa9,0xa9,0xa9,0xb9, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd7,0xa9,0xa9,0xa9,0xc8, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0xa9,0xa9,0xa9,0xdc, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xa9,0xa9,0xa9,0xa9,0xf4, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc5,0xa9,0xa9,0xa9,0xbc,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xec,0xa9,0xa9,0xa9,0xa9,0xe4,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xb5,0xa9,0xa9,0xa9,0xbc,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xbf,0xa9,0xa9,0xa9,0xa9,0xeb,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xbf,0xa9,0xa9,0xa9,0xa9,0xcd,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xec,0xb4,0xa9,0xa9,0xa9,0xa9,0xc0,0xfe,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xf3,0xc5,0xa9,0xa9,0xa9,0xa9,0xa9,0xb7,0xfa,0xff,0xff,0xff,0xff, + 0xff,0xef,0xec,0xd4,0xbb,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xc0,0xf8,0xff,0xff,0xff,0xff,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xcd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xbc,0xeb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xbc,0xe3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xa9,0xb9,0xbb,0xcb,0xdb,0xf4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +}, +{ + 0xaa,0xbb,0xbc,0xcc,0xe0,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xc0,0xe4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xbc,0xec,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xcf,0xfe,0xff,0xff,0xff,0xff,0xff,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xc1,0xfb,0xff,0xff,0xff,0xff,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xb8,0xfa,0xff,0xff,0xff,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xc1,0xfe,0xff,0xff,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xcf,0xff,0xff,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xeb,0xff,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xbd,0xff,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xe4,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xbc,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xf4, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xdc, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xc8, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xb9, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xb0, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xac, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xac, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xb0, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xb9, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xc8, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xdc, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xf4, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xbc,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xe4,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xbc,0xff,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xeb,0xff,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xcd,0xff,0xff,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xc0,0xfe,0xff,0xff,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xb7,0xfa,0xff,0xff,0xff,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xc0,0xf8,0xff,0xff,0xff,0xff,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xcd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xbc,0xeb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xbc,0xe3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xa9,0xb9,0xbb,0xcb,0xdb,0xf4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +} }; + +static const unsigned char * +progressmeter_leftcap[2][2] = { + { &progressmeter_leftcap1x[0][0], &progressmeter_leftcap1x[1][0] }, + { &progressmeter_leftcap2x[0][0], &progressmeter_leftcap2x[1][0] } }; + +static const unsigned char * +progressmeter_middle[2][2] = { + { &progressmeter_middle1x[0][0], &progressmeter_middle1x[1][0] }, + { &progressmeter_middle2x[0][0], &progressmeter_middle2x[1][0] } }; + +static const unsigned char * +progressmeter_rightcap[2][2] = { + { &progressmeter_rightcap1x[0][0], &progressmeter_rightcap1x[1][0] }, + { &progressmeter_rightcap2x[0][0], &progressmeter_rightcap2x[1][0] } }; + diff --git a/osfmk/console/video_console.c b/osfmk/console/video_console.c index 503fa5053..0afd153b7 100644 --- a/osfmk/console/video_console.c +++ b/osfmk/console/video_console.c @@ -127,12 +127,6 @@ boolean_t panicDialogDesired; void noroot_icon_test(void); -int -vc_display_lzss_icon(uint32_t dst_x, uint32_t dst_y, - uint32_t image_width, uint32_t image_height, - const uint8_t *compressed_image, - uint32_t compressed_size, - const uint8_t *clut); extern int disableConsoleOutput; static boolean_t gc_enabled = FALSE; @@ -237,12 +231,6 @@ static unsigned int gc_par[MAXPARS], gc_numpars, gc_hanging_cursor, gc_attr, gc_ /* VT100 scroll region */ static unsigned int gc_scrreg_top, gc_scrreg_bottom; -#ifdef CONFIG_VC_PROGRESS_WHITE -enum { kProgressAcquireDelay = 0 /* secs */ }; -#else -enum { kProgressAcquireDelay = 5 /* secs */ }; -#endif - enum vt100state_e { ESnormal, /* Nothing yet */ ESesc, /* Got ESC */ @@ -258,6 +246,24 @@ enum vt100state_e { ESignore /* Ignore this sequence */ } gc_vt100state = ESnormal; + +#ifdef CONFIG_VC_PROGRESS_WHITE +enum { kProgressAcquireDelay = 0 /* secs */ }; +#else +enum { kProgressAcquireDelay = 5 /* secs */ }; +#endif + +static int8_t vc_rotate_matr[4][2][2] = { + { { 1, 0 }, + { 0, 1 } }, + { { 0, 1 }, + { -1, 0 } }, + { { -1, 0 }, + { 0, -1 } }, + { { 0, -1 }, + { 1, 0 } } +}; + static int gc_wrap_mode = 1, gc_relative_origin = 0; static int gc_charset_select = 0, gc_save_charset_s = 0; static int gc_charset[2] = { 0, 0 }; @@ -1397,15 +1403,6 @@ vc_clear_screen(unsigned int xx, unsigned int yy, unsigned int scrreg_top, } } -static void -vc_initialize(__unused struct vc_info * vinfo_p) -{ - - vinfo.v_rows = vinfo.v_height / ISO_CHAR_HEIGHT; - vinfo.v_columns = vinfo.v_width / ISO_CHAR_WIDTH; - vinfo.v_rowscanbytes = ((vinfo.v_depth + 7) / 8) * vinfo.v_width; -} - static void vc_render_char(unsigned char ch, unsigned char *renderptr, short newdepth) { @@ -1820,24 +1817,8 @@ vc_update_color(int color, boolean_t fore) * -------------------------------------- */ -struct vc_progress_element { - unsigned int version; - unsigned int flags; - unsigned int time; - unsigned char count; - unsigned char res[3]; - int width; - int height; - int dx; - int dy; - int transparent; - unsigned int res2[3]; - unsigned char data[0]; -}; -typedef struct vc_progress_element vc_progress_element; - static vc_progress_element * vc_progress; -static const unsigned char * vc_progress_data; +static const unsigned char * vc_progress_data[2]; static const unsigned char * vc_progress_alpha; static boolean_t vc_progress_enable; static const unsigned char * vc_clut; @@ -1845,18 +1826,25 @@ static const unsigned char * vc_clut8; static unsigned char vc_revclut8[256]; static uint32_t vc_progress_interval; static uint32_t vc_progress_count; +static uint32_t vc_progress_angle; static uint64_t vc_progress_deadline; static thread_call_data_t vc_progress_call; static boolean_t vc_needsave; static void * vc_saveunder; static vm_size_t vc_saveunder_len; +static int8_t vc_uiselect = 0; decl_simple_lock_data(,vc_progress_lock) enum { - kSave = 0x01, - kDataIndexed = 0x02, - kDataAlpha = 0x04, - kDataBack = 0x08, + kSave = 0x10, + kDataIndexed = 0x20, + kDataAlpha = 0x40, + kDataBack = 0x80, + kDataRotate = 0x03, + kDataRotate0 = 0, + kDataRotate90 = 1, + kDataRotate180 = 2, + kDataRotate270 = 3 }; static void vc_blit_rect(int x, int y, int bx, @@ -1889,9 +1877,6 @@ static void vc_blit_rect_30(int x, int y, int bx, const unsigned char * dataPtr, unsigned int * backBuffer, unsigned int flags); -extern void vc_display_icon( vc_progress_element * desc, const unsigned char * data ); -extern void vc_progress_initialize( vc_progress_element * desc, const unsigned char * data, const unsigned char * clut ); -void vc_progress_set(boolean_t enable, uint32_t vc_delay); static void vc_progress_task( void * arg0, void * arg ); static void vc_blit_rect(int x, int y, int bx, @@ -1932,9 +1917,19 @@ vc_blit_rect_8(int x, int y, __unused int bx, volatile unsigned short * dst; int line, col; unsigned int data = 0, out = 0; + int sx, sy, a, b, c, d; + int scale = 0x10000; + + a = vc_rotate_matr[kDataRotate & flags][0][0] * scale; + b = vc_rotate_matr[kDataRotate & flags][0][1] * scale; + c = vc_rotate_matr[kDataRotate & flags][1][0] * scale; + d = vc_rotate_matr[kDataRotate & flags][1][1] * scale; + sx = ((a + b) < 0) ? ((width * scale) - 0x8000) : 0; + sy = ((c + d) < 0) ? ((height * scale) - 0x8000) : 0; + + if (!sourceRow) data = (unsigned int)(uintptr_t)dataPtr; + else if (1 == sourceRow) a = 0; - if (!sourceRow) - data = (unsigned int)(uintptr_t)dataPtr; dst = (volatile unsigned short *) (vinfo.v_baseaddr + (y * vinfo.v_rowbytes) + (x * 4)); @@ -1943,8 +1938,8 @@ vc_blit_rect_8(int x, int y, __unused int bx, { for( col = 0; col < width; col++) { - if (col < sourceRow) - data = *dataPtr++; + if (sourceRow) data = dataPtr[((sx + (col * a) + (line * b)) >> 16) + + sourceRow * (((sy + (col * c) + (line * d)) >> 16))]; if (kDataAlpha & flags) out = vc_revclut8[data]; else @@ -1952,8 +1947,6 @@ vc_blit_rect_8(int x, int y, __unused int bx, *(dst + col) = out; } dst = (volatile unsigned short *) (((volatile char*)dst) + vinfo.v_rowbytes); - if (sourceRow > width) - dataPtr += sourceRow - width; } } @@ -1982,11 +1975,21 @@ static void vc_blit_rect_16( int x, int y, int bx, volatile unsigned short * dst; int line, col; unsigned int data = 0, out = 0, back = 0; + int sx, sy, a, b, c, d; + int scale = 0x10000; + + a = vc_rotate_matr[kDataRotate & flags][0][0] * scale; + b = vc_rotate_matr[kDataRotate & flags][0][1] * scale; + c = vc_rotate_matr[kDataRotate & flags][1][0] * scale; + d = vc_rotate_matr[kDataRotate & flags][1][1] * scale; + sx = ((a + b) < 0) ? ((width * scale) - 0x8000) : 0; + sy = ((c + d) < 0) ? ((height * scale) - 0x8000) : 0; + + if (!sourceRow) data = (unsigned int)(uintptr_t)dataPtr; + else if (1 == sourceRow) a = 0; if (backPtr) backPtr += bx; - if (!sourceRow) - data = (unsigned int)(uintptr_t)dataPtr; dst = (volatile unsigned short *) (vinfo.v_baseaddr + (y * vinfo.v_rowbytes) + (x * 2)); @@ -1995,9 +1998,8 @@ static void vc_blit_rect_16( int x, int y, int bx, { for( col = 0; col < width; col++) { - if (col < sourceRow) - data = *dataPtr++; - + if (sourceRow) data = dataPtr[((sx + (col * a) + (line * b)) >> 16) + + sourceRow * (((sy + (col * c) + (line * d)) >> 16))]; if (backPtr) { if (kSave & flags) { back = *(dst + col); @@ -2025,11 +2027,10 @@ static void vc_blit_rect_16( int x, int y, int bx, dst = (volatile unsigned short *) (((volatile char*)dst) + vinfo.v_rowbytes); if (backPtr) backPtr += backRow - width; - if (sourceRow > width) - dataPtr += sourceRow - width; } } + static void vc_blit_rect_32(int x, int y, int bx, int width, int height, int sourceRow, int backRow, @@ -2040,11 +2041,21 @@ static void vc_blit_rect_32(int x, int y, int bx, volatile unsigned int * dst; int line, col; unsigned int data = 0, out = 0, back = 0; - + int sx, sy, a, b, c, d; + int scale = 0x10000; + + a = vc_rotate_matr[kDataRotate & flags][0][0] * scale; + b = vc_rotate_matr[kDataRotate & flags][0][1] * scale; + c = vc_rotate_matr[kDataRotate & flags][1][0] * scale; + d = vc_rotate_matr[kDataRotate & flags][1][1] * scale; + sx = ((a + b) < 0) ? ((width * scale) - 0x8000) : 0; + sy = ((c + d) < 0) ? ((height * scale) - 0x8000) : 0; + + if (!sourceRow) data = (unsigned int)(uintptr_t)dataPtr; + else if (1 == sourceRow) a = 0; + if (backPtr) backPtr += bx; - if (!sourceRow) - data = (unsigned int)(uintptr_t)dataPtr; dst = (volatile unsigned int *) (vinfo.v_baseaddr + (y * vinfo.v_rowbytes) + (x * 4)); @@ -2053,9 +2064,8 @@ static void vc_blit_rect_32(int x, int y, int bx, { for( col = 0; col < width; col++) { - if (col < sourceRow) - data = *dataPtr++; - + if (sourceRow) data = dataPtr[((sx + (col * a) + (line * b)) >> 16) + + sourceRow * (((sy + (col * c) + (line * d)) >> 16))]; if (backPtr) { if (kSave & flags) { back = *(dst + col); @@ -2082,8 +2092,6 @@ static void vc_blit_rect_32(int x, int y, int bx, dst = (volatile unsigned int *) (((volatile char*)dst) + vinfo.v_rowbytes); if (backPtr) backPtr += backRow - width; - if (sourceRow > width) - dataPtr += sourceRow - width; } } @@ -2098,11 +2106,21 @@ static void vc_blit_rect_30(int x, int y, int bx, int line, col; unsigned int data = 0, out = 0, back = 0; unsigned long long exp; - + int sx, sy, a, b, c, d; + int scale = 0x10000; + + a = vc_rotate_matr[kDataRotate & flags][0][0] * scale; + b = vc_rotate_matr[kDataRotate & flags][0][1] * scale; + c = vc_rotate_matr[kDataRotate & flags][1][0] * scale; + d = vc_rotate_matr[kDataRotate & flags][1][1] * scale; + sx = ((a + b) < 0) ? ((width * scale) - 0x8000) : 0; + sy = ((c + d) < 0) ? ((height * scale) - 0x8000) : 0; + + if (!sourceRow) data = (unsigned int)(uintptr_t)dataPtr; + else if (1 == sourceRow) a = 0; + if (backPtr) backPtr += bx; - if (!sourceRow) - data = (unsigned int)(uintptr_t)dataPtr; dst = (volatile unsigned int *) (vinfo.v_baseaddr + (y * vinfo.v_rowbytes) + (x * 4)); @@ -2142,8 +2160,6 @@ static void vc_blit_rect_30(int x, int y, int bx, dst = (volatile unsigned int *) (((volatile char*)dst) + vinfo.v_rowbytes); if (backPtr) backPtr += backRow - width; - if (sourceRow > width) - dataPtr += sourceRow - width; } } @@ -2312,12 +2328,13 @@ void vc_display_icon( vc_progress_element * desc, void vc_progress_initialize( vc_progress_element * desc, - const unsigned char * data, + const unsigned char * data1x, + const unsigned char * data2x, const unsigned char * clut ) { uint64_t abstime; - if( (!clut) || (!desc) || (!data)) + if( (!clut) || (!desc) || (!data1x)) return; vc_clut = clut; vc_clut8 = clut; @@ -2325,9 +2342,10 @@ vc_progress_initialize( vc_progress_element * desc, simple_lock_init(&vc_progress_lock, 0); vc_progress = desc; - vc_progress_data = data; + vc_progress_data[0] = data1x; + vc_progress_data[1] = data2x; if( 2 & vc_progress->flags) - vc_progress_alpha = vc_progress_data + vc_progress_alpha = data1x + vc_progress->count * vc_progress->width * vc_progress->height; else vc_progress_alpha = NULL; @@ -2356,7 +2374,7 @@ vc_progress_set(boolean_t enable, uint32_t vc_delay) return; if( enable) { - saveLen = vc_progress->width * vc_progress->height * vinfo.v_depth / 8; + saveLen = (vc_progress->width << vc_uiselect) * (vc_progress->height << vc_uiselect) * vinfo.v_depth / 8; saveBuf = kalloc( saveLen ); switch( vinfo.v_depth) { @@ -2408,6 +2426,7 @@ vc_progress_set(boolean_t enable, uint32_t vc_delay) saveBuf = NULL; saveLen = 0; vc_progress_count = 0; + vc_progress_angle = 0; clock_interval_to_deadline(vc_delay, 1000 * 1000 * 1000 /*second scale*/, @@ -2449,14 +2468,16 @@ vc_progress_task(__unused void *arg0, __unused void *arg) KERNEL_DEBUG_CONSTANT(0x7020008, vc_progress_count, 0, 0, 0, 0); vc_progress_count++; - if( vc_progress_count >= vc_progress->count) + if( vc_progress_count >= vc_progress->count) { vc_progress_count = 0; + vc_progress_angle++; + } - width = vc_progress->width; - height = vc_progress->height; - x = vc_progress->dx; - y = vc_progress->dy; - data = vc_progress_data; + width = (vc_progress->width << vc_uiselect); + height = (vc_progress->height << vc_uiselect); + x = (vc_progress->dx << vc_uiselect); + y = (vc_progress->dy << vc_uiselect); + data = vc_progress_data[vc_uiselect]; data += vc_progress_count * width * height; if( 1 & vc_progress->flags) { x += ((vinfo.v_width - width) / 2); @@ -2465,7 +2486,9 @@ vc_progress_task(__unused void *arg0, __unused void *arg) vc_blit_rect( x, y, 0, width, height, width, width, data, vc_saveunder, - kDataAlpha | (vc_needsave ? kSave : 0) ); + kDataAlpha + | (vc_progress_angle & kDataRotate) + | (vc_needsave ? kSave : 0) ); vc_needsave = FALSE; clock_deadline_for_periodic_event(vc_progress_interval, mach_absolute_time(), &vc_progress_deadline); @@ -2516,6 +2539,16 @@ gc_pause( boolean_t pause, boolean_t graphics_now ) splx(s); } +static void +vc_initialize(__unused struct vc_info * vinfo_p) +{ + + vinfo.v_rows = vinfo.v_height / ISO_CHAR_HEIGHT; + vinfo.v_columns = vinfo.v_width / ISO_CHAR_WIDTH; + vinfo.v_rowscanbytes = ((vinfo.v_depth + 7) / 8) * vinfo.v_width; + vc_uiselect = (2 == vinfo.v_scale) ? 1 : 0; +} + void initialize_screen(PE_Video * boot_vinfo, unsigned int op) { @@ -2537,15 +2570,16 @@ initialize_screen(PE_Video * boot_vinfo, unsigned int op) #endif if (kPEBaseAddressChange != op) { - new_vinfo.v_width = (unsigned int)boot_vinfo->v_width; - new_vinfo.v_height = (unsigned int)boot_vinfo->v_height; - new_vinfo.v_depth = (unsigned int)boot_vinfo->v_depth; - new_vinfo.v_rowbytes = (unsigned int)boot_vinfo->v_rowBytes; + new_vinfo.v_width = (unsigned int)boot_vinfo->v_width; + new_vinfo.v_height = (unsigned int)boot_vinfo->v_height; + new_vinfo.v_depth = (unsigned int)boot_vinfo->v_depth; + new_vinfo.v_rowbytes = (unsigned int)boot_vinfo->v_rowBytes; #if defined(__i386__) || defined(__x86_64__) - new_vinfo.v_type = (unsigned int)boot_vinfo->v_display; + new_vinfo.v_type = (unsigned int)boot_vinfo->v_display; #else - new_vinfo.v_type = 0; + new_vinfo.v_type = 0; #endif + new_vinfo.v_scale = boot_vinfo->v_scale; } if (!lastVideoMapped) @@ -2813,50 +2847,56 @@ vc_draw_progress_meter(int select, unsigned int flags, int x1, int x2) int x, w; int ox, oy; - ox = ((vinfo.v_width - kProgressBarWidth) / 2); - oy = vinfo.v_height - (((vinfo.v_height / 2) - vc_progress->dy + kProgressBarHeight) / 2); + ox = ((vinfo.v_width - (kProgressBarWidth << vc_uiselect)) / 2); + oy = vinfo.v_height - (((vinfo.v_height / 2) - ((vc_progress->dy + kProgressBarHeight) << vc_uiselect)) / 2); if (kDataBack == flags) { // restore back bits vc_blit_rect(ox + x1, oy, x1, - x2, kProgressBarHeight, 0, kProgressBarWidth, + x2, (kProgressBarHeight << vc_uiselect), 0, (kProgressBarWidth << vc_uiselect), NULL, vc_progress_meter_backbuffer, flags); return; } for (x = x1; x < x2; x += w) { - if (x < kProgressBarCapWidth) + if (x < (kProgressBarCapWidth << vc_uiselect)) { - if (x2 < kProgressBarCapWidth) + if (x2 < (kProgressBarCapWidth << vc_uiselect)) w = x2 - x; else - w = kProgressBarCapWidth - x; - data = &progressmeter_leftcap[select & 1][0]; + w = (kProgressBarCapWidth << vc_uiselect) - x; + data = progressmeter_leftcap[vc_uiselect & 1][select & 1]; data += x; - vc_blit_rect(ox + x, oy, x, - w, kProgressBarHeight, kProgressBarCapWidth, kProgressBarWidth, + vc_blit_rect(ox + x, oy, x, w, + (kProgressBarHeight << vc_uiselect), + (kProgressBarCapWidth << vc_uiselect), + (kProgressBarWidth << vc_uiselect), data, vc_progress_meter_backbuffer, flags); } - else if (x < (kProgressBarWidth - kProgressBarCapWidth)) + else if (x < ((kProgressBarWidth - kProgressBarCapWidth) << vc_uiselect)) { - if (x2 < (kProgressBarWidth - kProgressBarCapWidth)) + if (x2 < ((kProgressBarWidth - kProgressBarCapWidth) << vc_uiselect)) w = x2 - x; else - w = (kProgressBarWidth - kProgressBarCapWidth) - x; - data = &progressmeter_middle[select & 1][0]; - vc_blit_rect(ox + x, oy, x, - w, kProgressBarHeight, 1, kProgressBarWidth, + w = ((kProgressBarWidth - kProgressBarCapWidth) << vc_uiselect) - x; + data = progressmeter_middle[vc_uiselect & 1][select & 1]; + vc_blit_rect(ox + x, oy, x, w, + (kProgressBarHeight << vc_uiselect), + 1, + (kProgressBarWidth << vc_uiselect), data, vc_progress_meter_backbuffer, flags); } else { w = x2 - x; - data = &progressmeter_rightcap[select & 1][0]; - data += x - (kProgressBarWidth - kProgressBarCapWidth); - vc_blit_rect(ox + x, oy, x, - w, kProgressBarHeight, kProgressBarCapWidth, kProgressBarWidth, + data = progressmeter_rightcap[vc_uiselect & 1][select & 1]; + data += x - ((kProgressBarWidth - kProgressBarCapWidth) << vc_uiselect); + vc_blit_rect(ox + x, oy, x, w, + (kProgressBarHeight << vc_uiselect), + (kProgressBarCapWidth << vc_uiselect), + (kProgressBarWidth << vc_uiselect), data, vc_progress_meter_backbuffer, flags); } } @@ -2869,7 +2909,8 @@ vc_enable_progressmeter(int new_value) void * new_buffer = NULL; if (new_value) - new_buffer = kalloc(kProgressBarWidth * kProgressBarHeight * sizeof(int)); + new_buffer = kalloc((kProgressBarWidth << vc_uiselect) + * (kProgressBarHeight << vc_uiselect) * sizeof(int)); s = splhigh(); simple_lock(&vc_progress_lock); @@ -2882,18 +2923,17 @@ vc_enable_progressmeter(int new_value) if (new_value) { vc_progress_meter_backbuffer = new_buffer; - vc_draw_progress_meter(FALSE, kDataAlpha | kSave, 0, kProgressBarWidth); + vc_draw_progress_meter(FALSE, kDataAlpha | kSave, 0, (kProgressBarWidth << vc_uiselect)); vc_progress_meter_enable = TRUE; new_buffer = NULL; vc_progress_meter_drawn = 0; } else if (vc_progress_meter_backbuffer) { - vc_draw_progress_meter(0, kDataBack, 0, kProgressBarWidth); + vc_draw_progress_meter(0, kDataBack, 0, (kProgressBarWidth << vc_uiselect)); new_buffer = vc_progress_meter_backbuffer; vc_progress_meter_backbuffer = NULL; vc_progress_meter_enable = FALSE; - } } @@ -2901,7 +2941,8 @@ vc_enable_progressmeter(int new_value) splx(s); if (new_buffer) - kfree(new_buffer, kProgressBarWidth * kProgressBarHeight * sizeof(int)); + kfree(new_buffer, (kProgressBarWidth << vc_uiselect) + * (kProgressBarHeight << vc_uiselect) * sizeof(int)); } void @@ -2919,7 +2960,7 @@ vc_set_progressmeter(int new_value) if (vc_progress_meter_enable) { vc_progress_meter_value = new_value; - x2 = ((kProgressBarWidth - 1) * new_value) / 100; + x2 = ((kProgressBarWidth << vc_uiselect) * new_value) / 100; if (x2 > vc_progress_meter_drawn) vc_draw_progress_meter(TRUE, kDataAlpha, vc_progress_meter_drawn, x2); else diff --git a/osfmk/console/video_console.h b/osfmk/console/video_console.h index f67778b4e..26c6081fc 100644 --- a/osfmk/console/video_console.h +++ b/osfmk/console/video_console.h @@ -37,6 +37,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + void vcputc(int, int, int); int vcgetc( int l, @@ -54,18 +58,62 @@ void video_scroll_down( void *start, /* HIGH addr */ struct vc_info { - unsigned int v_height; /* pixels */ - unsigned int v_width; /* pixels */ - unsigned int v_depth; - unsigned int v_rowbytes; - unsigned long v_baseaddr; - unsigned int v_type; - char v_name[32]; - uint64_t v_physaddr; - unsigned int v_rows; /* characters */ - unsigned int v_columns; /* characters */ - unsigned int v_rowscanbytes; /* Actualy number of bytes used for display per row*/ - unsigned int v_reserved[5]; + unsigned int v_height; /* pixels */ + unsigned int v_width; /* pixels */ + unsigned int v_depth; + unsigned int v_rowbytes; + unsigned long v_baseaddr; + unsigned int v_type; + char v_name[32]; + uint64_t v_physaddr; + unsigned int v_rows; /* characters */ + unsigned int v_columns; /* characters */ + unsigned int v_rowscanbytes; /* Actualy number of bytes used for display per row*/ + unsigned int v_scale; + unsigned int v_reserved[4]; +}; + +struct vc_progress_element { + unsigned int version; + unsigned int flags; + unsigned int time; + unsigned char count; + unsigned char res[3]; + int width; + int height; + int dx; + int dy; + int transparent; + unsigned int res2[3]; }; +typedef struct vc_progress_element vc_progress_element; + +void vc_progress_initialize( vc_progress_element * desc, + const unsigned char * data1x, + const unsigned char * data2x, + const unsigned char * clut ); + +void vc_progress_set(boolean_t enable, uint32_t vc_delay); + +void vc_display_icon( vc_progress_element * desc, const unsigned char * data ); + +int vc_display_lzss_icon(uint32_t dst_x, uint32_t dst_y, + uint32_t image_width, uint32_t image_height, + const uint8_t *compressed_image, + uint32_t compressed_size, + const uint8_t *clut); + +#if !CONFIG_EMBEDDED + +extern void vc_enable_progressmeter(int new_value); +extern void vc_set_progressmeter(int new_value); +extern int vc_progress_meter_enable; +extern int vc_progress_meter_value; + +#endif /* !CONFIG_EMBEDDED */ + +#ifdef __cplusplus +} +#endif #endif /* _VIDEO_CONSOLE_H_ */ diff --git a/osfmk/i386/AT386/model_dep.c b/osfmk/i386/AT386/model_dep.c index a576ce445..44b991579 100644 --- a/osfmk/i386/AT386/model_dep.c +++ b/osfmk/i386/AT386/model_dep.c @@ -778,23 +778,36 @@ panic_io_port_read(void) { uint64_t panic_restart_timeout = ~(0ULL); +#define PANIC_RESTART_TIMEOUT (3ULL * NSEC_PER_SEC) + static void machine_halt_cpu(void) { + uint64_t deadline; + panic_io_port_read(); - if (panic_restart_timeout != ~(0ULL)) { - uint64_t deadline = mach_absolute_time() + panic_restart_timeout; - while (mach_absolute_time() < deadline) { - cpu_pause(); - } - kprintf("Invoking PE_halt_restart\n"); - /* Attempt restart via ACPI RESET_REG; at the time of this - * writing, this is routine is chained through AppleSMC-> - * AppleACPIPlatform - */ - if (PE_halt_restart) - (*PE_halt_restart)(kPERestartCPU); + /* Halt here forever if we're not rebooting */ + if (!PE_reboot_on_panic() && panic_restart_timeout == ~(0ULL)) { + pmCPUHalt(PM_HALT_DEBUG); + return; } + + if (PE_reboot_on_panic()) + deadline = mach_absolute_time() + PANIC_RESTART_TIMEOUT; + else + deadline = mach_absolute_time() + panic_restart_timeout; + + while (mach_absolute_time() < deadline) + cpu_pause(); + + kprintf("Invoking PE_halt_restart\n"); + /* Attempt restart via ACPI RESET_REG; at the time of this + * writing, this is routine is chained through AppleSMC-> + * AppleACPIPlatform + */ + + if (PE_halt_restart) + (*PE_halt_restart)(kPERestartCPU); pmCPUHalt(PM_HALT_DEBUG); } @@ -910,10 +923,6 @@ Debugger( * that a panic occurred while in that codepath. */ mp_rendezvous_break_lock(); - if (PE_reboot_on_panic()) { - if (PE_halt_restart) - (*PE_halt_restart)(kPERestartCPU); - } /* Non-maskably interrupt all other processors * If a restart timeout is specified, this processor diff --git a/osfmk/i386/commpage/commpage.c b/osfmk/i386/commpage/commpage.c index 01f8b409e..375abc7c1 100644 --- a/osfmk/i386/commpage/commpage.c +++ b/osfmk/i386/commpage/commpage.c @@ -263,6 +263,11 @@ commpage_init_cpu_capabilities( void ) bits |= (cpuid_features() & CPUID_FEATURE_AES) ? kHasAES : 0; + bits |= (cpuid_features() & CPUID_FEATURE_F16C) ? kHasF16C : 0; + bits |= (cpuid_features() & CPUID_FEATURE_RDRAND) ? kHasRDRAND : 0; + bits |= ((cpuid_leaf7_features() & CPUID_LEAF7_FEATURE_ENFSTRG) && + (rdmsr64(MSR_IA32_MISC_ENABLE) & 1ULL )) ? kHasENFSTRG : 0; + _cpu_capabilities = bits; // set kernel version for use by drivers etc } diff --git a/osfmk/i386/cpuid.c b/osfmk/i386/cpuid.c index b72a4b14f..8050d75d6 100644 --- a/osfmk/i386/cpuid.c +++ b/osfmk/i386/cpuid.c @@ -737,6 +737,17 @@ cpuid_set_generic_info(i386_cpu_info_t *info_p) DBG(" EDX : 0x%x\n", xsp->extended_state[edx]); } + if (info_p->cpuid_model == CPUID_MODEL_IVYBRIDGE) { + /* + * XSAVE Features: + */ + cpuid_fn(0x7, reg); + info_p->cpuid_leaf7_features = reg[ebx]; + + DBG(" Feature Leaf7:\n"); + DBG(" EBX : 0x%x\n", reg[ebx]); + } + return; } @@ -774,6 +785,9 @@ cpuid_set_cpufamily(i386_cpu_info_t *info_p) case CPUID_MODEL_JAKETOWN: cpufamily = CPUFAMILY_INTEL_SANDYBRIDGE; break; + case CPUID_MODEL_IVYBRIDGE: + cpufamily = CPUFAMILY_INTEL_IVYBRIDGE; + break; } break; } @@ -820,6 +834,7 @@ cpuid_set_info(void) info_p->thread_count = bitfield32((uint32_t)msr, 15, 0); break; } + case CPUFAMILY_INTEL_IVYBRIDGE: case CPUFAMILY_INTEL_SANDYBRIDGE: case CPUFAMILY_INTEL_NEHALEM: { uint64_t msr = rdmsr64(MSR_CORE_THREAD_COUNT); @@ -899,6 +914,8 @@ static struct table { {CPUID_FEATURE_SEGLIM64, "SEGLIM64"}, {CPUID_FEATURE_TSCTMR, "TSCTMR"}, {CPUID_FEATURE_AVX1_0, "AVX1.0"}, + {CPUID_FEATURE_RDRAND, "RDRAND"}, + {CPUID_FEATURE_F16C, "F16C"}, {0, 0} }, extfeature_map[] = { @@ -910,6 +927,13 @@ extfeature_map[] = { {CPUID_EXTFEATURE_RDTSCP, "RDTSCP"}, {CPUID_EXTFEATURE_TSCI, "TSCI"}, {0, 0} + +}, +leaf7_feature_map[] = { + {CPUID_LEAF7_FEATURE_RDWRFSGS, "RDWRFSGS"}, + {CPUID_LEAF7_FEATURE_SMEP, "SMEP"}, + {CPUID_LEAF7_FEATURE_ENFSTRG, "ENFSTRG"}, + {0, 0} }; static char * @@ -957,6 +981,12 @@ cpuid_get_extfeature_names(uint64_t extfeatures, char *buf, unsigned buf_len) return cpuid_get_names(extfeature_map, extfeatures, buf, buf_len); } +char * +cpuid_get_leaf7_feature_names(uint64_t features, char *buf, unsigned buf_len) +{ + return cpuid_get_names(leaf7_feature_map, features, buf, buf_len); +} + void cpuid_feature_display( const char *header) @@ -965,6 +995,9 @@ cpuid_feature_display( kprintf("%s: %s", header, cpuid_get_feature_names(cpuid_features(), buf, sizeof(buf))); + if (cpuid_leaf7_features()) + kprintf(" %s", cpuid_get_leaf7_feature_names( + cpuid_leaf7_features(), buf, sizeof(buf))); kprintf("\n"); if (cpuid_features() & CPUID_FEATURE_HTT) { #define s_if_plural(n) ((n > 1) ? "s" : "") @@ -1051,7 +1084,13 @@ cpuid_extfeatures(void) return cpuid_info()->cpuid_extfeatures; } +uint64_t +cpuid_leaf7_features(void) +{ + return cpuid_info()->cpuid_leaf7_features; +} + #if MACH_KDB /* diff --git a/osfmk/i386/cpuid.h b/osfmk/i386/cpuid.h index c95328961..bc7fae019 100644 --- a/osfmk/i386/cpuid.h +++ b/osfmk/i386/cpuid.h @@ -159,6 +159,7 @@ #define CPUID_MODEL_WESTMERE_EX 0x2F #define CPUID_MODEL_SANDYBRIDGE 0x2A #define CPUID_MODEL_JAKETOWN 0x2D +#define CPUID_MODEL_IVYBRIDGE 0x3A #ifndef ASSEMBLER diff --git a/osfmk/i386/trap.c b/osfmk/i386/trap.c index a07b1b8cb..2a77aedf3 100644 --- a/osfmk/i386/trap.c +++ b/osfmk/i386/trap.c @@ -145,6 +145,7 @@ perfCallback tempDTraceTrapHook = NULL; /* Pointer to DTrace fbt trap hook routi extern boolean_t dtrace_tally_fault(user_addr_t); #endif +extern boolean_t pmap_smep_enabled; void thread_syscall_return( @@ -685,6 +686,17 @@ kernel_trap( map = thread->map; is_user = -1; + /* Intercept a potential Supervisor Mode Execute + * Protection fault. These criteria identify + * both NX faults and SMEP faults, but both + * are fatal. We avoid checking PTEs (racy). + * (The VM could just redrive a SMEP fault, hence + * the intercept). + */ + if (__improbable((code == (T_PF_PROT | T_PF_EXECUTE)) && (pmap_smep_enabled) && (saved_state->isf.rip == vaddr))) { + goto debugger_entry; + } + /* * If we're not sharing cr3 with the user * and we faulted in copyio, @@ -960,6 +972,7 @@ panic_trap(x86_saved_state64_t *regs) { const char *trapname = "Unknown"; pal_cr_t cr0, cr2, cr3, cr4; + boolean_t potential_smep_fault = FALSE; pal_get_control_registers( &cr0, &cr2, &cr3, &cr4 ); assert(ml_get_interrupts_enabled() == FALSE); @@ -978,6 +991,10 @@ panic_trap(x86_saved_state64_t *regs) if (regs->isf.trapno < TRAP_TYPES) trapname = trap_type[regs->isf.trapno]; + if ((regs->isf.trapno == T_PAGE_FAULT) && (regs->isf.err == (T_PF_PROT | T_PF_EXECUTE)) && (pmap_smep_enabled) && (regs->isf.rip == regs->cr2) && (regs->isf.rip < VM_MAX_USER_PAGE_ADDRESS)) { + potential_smep_fault = TRUE; + } + #undef panic panic("Kernel trap at 0x%016llx, type %d=%s, registers:\n" "CR0: 0x%016llx, CR2: 0x%016llx, CR3: 0x%016llx, CR4: 0x%016llx\n" @@ -995,7 +1012,7 @@ panic_trap(x86_saved_state64_t *regs) regs->r12, regs->r13, regs->r14, regs->r15, regs->isf.rflags, regs->isf.rip, regs->isf.cs & 0xFFFF, regs->isf.ss & 0xFFFF,regs->cr2, regs->isf.err, regs->isf.cpu, - ""); + potential_smep_fault ? " SMEP/NX fault" : ""); /* * This next statement is not executed, * but it's needed to stop the compiler using tail call optimization diff --git a/osfmk/i386/tsc.c b/osfmk/i386/tsc.c index 5205da23e..b4bf3dfbd 100644 --- a/osfmk/i386/tsc.c +++ b/osfmk/i386/tsc.c @@ -142,6 +142,7 @@ tsc_init(void) busFreq = EFI_FSB_frequency(); switch (cpuid_cpufamily()) { + case CPUFAMILY_INTEL_IVYBRIDGE: case CPUFAMILY_INTEL_SANDYBRIDGE: case CPUFAMILY_INTEL_WESTMERE: case CPUFAMILY_INTEL_NEHALEM: { diff --git a/osfmk/mach/machine.h b/osfmk/mach/machine.h index 9ebf5532c..fbbe30610 100644 --- a/osfmk/mach/machine.h +++ b/osfmk/mach/machine.h @@ -371,6 +371,7 @@ __END_DECLS #define CPUFAMILY_INTEL_NEHALEM 0x6b5a4cd2 #define CPUFAMILY_INTEL_WESTMERE 0x573b5eec #define CPUFAMILY_INTEL_SANDYBRIDGE 0x5490b78c +#define CPUFAMILY_INTEL_IVYBRIDGE 0x1f65e835 #define CPUFAMILY_ARM_9 0xe73283ae #define CPUFAMILY_ARM_11 0x8ff620d8 #define CPUFAMILY_ARM_XSCALE 0x53b005f5 diff --git a/osfmk/x86_64/idt64.s b/osfmk/x86_64/idt64.s index fe6cb1295..50bc8b991 100644 --- a/osfmk/x86_64/idt64.s +++ b/osfmk/x86_64/idt64.s @@ -268,14 +268,13 @@ L_32bit_dispatch: /* 32-bit user task */ mov %eax, R32_EIP(%rsp) mov ISC32_RFLAGS(%rsp), %eax mov %eax, R32_EFLAGS(%rsp) - mov ISC32_CS(%rsp), %esi /* %esi := %cs for later */ - - mov %esi, R32_CS(%rsp) mov ISC32_RSP(%rsp), %eax mov %eax, R32_UESP(%rsp) mov ISC32_SS(%rsp), %eax mov %eax, R32_SS(%rsp) L_32bit_dispatch_after_fault: + mov ISC32_CS(%rsp), %esi /* %esi := %cs for later */ + mov %esi, R32_CS(%rsp) mov ISC32_TRAPNO(%rsp), %ebx /* %ebx := trapno for later */ mov %ebx, R32_TRAPNO(%rsp) mov ISC32_ERR(%rsp), %eax diff --git a/osfmk/x86_64/pmap.c b/osfmk/x86_64/pmap.c index 014df101f..147372eff 100644 --- a/osfmk/x86_64/pmap.c +++ b/osfmk/x86_64/pmap.c @@ -297,6 +297,8 @@ extern vm_offset_t sdata; extern void *KPTphys; +boolean_t pmap_smep_enabled = FALSE; + void pmap_cpu_init(void) { @@ -315,6 +317,13 @@ pmap_cpu_init(void) current_cpu_datap()->cpu_tlb_invalid = FALSE; current_cpu_datap()->cpu_task_map = TASK_MAP_64BIT; pmap_pcid_configure(); + if (cpuid_leaf7_features() & CPUID_LEAF7_FEATURE_SMEP) { + boolean_t nsmep; + if (!PE_parse_boot_argn("-pmap_smep_disable", &nsmep, sizeof(nsmep))) { + set_cr4(get_cr4() | CR4_SMEP); + pmap_smep_enabled = TRUE; + } + } } @@ -423,6 +432,8 @@ pmap_bootstrap( if (pmap_pcid_ncpus) printf("PMAP: PCID enabled\n"); + if (pmap_smep_enabled) + printf("PMAP: Supervisor Mode Execute Protection enabled\n"); boot_args *args = (boot_args *)PE_state.bootArgs; if (args->efiMode == kBootArgsEfiMode32) { diff --git a/pexpert/i386/pe_init.c b/pexpert/i386/pe_init.c index 80335544f..21978a2a7 100644 --- a/pexpert/i386/pe_init.c +++ b/pexpert/i386/pe_init.c @@ -44,12 +44,6 @@ /* extern references */ extern void pe_identify_machine(void * args); -extern int -vc_display_lzss_icon(uint32_t dst_x, uint32_t dst_y, - uint32_t image_width, uint32_t image_height, - const uint8_t *compressed_image, - uint32_t compressed_size, - const uint8_t *clut); /* private globals */ PE_state_t PE_state; @@ -182,7 +176,7 @@ void PE_init_iokit(void) /* * Initialize the spinning wheel (progress indicator). */ - vc_progress_initialize( &default_progress, default_progress_data, + vc_progress_initialize( &default_progress, default_progress_data1x, default_progress_data2x, (unsigned char *) appleClut8 ); (void) StartIOKit( PE_state.deviceTreeHead, PE_state.bootArgs, gPEEFIRuntimeServices, NULL); @@ -204,6 +198,7 @@ void PE_init_platform(boolean_t vm_initialized, void * _args) PE_state.video.v_height = args->Video.v_height; PE_state.video.v_depth = args->Video.v_depth; PE_state.video.v_display = args->Video.v_display; + PE_state.video.v_scale = (kBootArgsFlagHiDPI & args->flags) ? 2 : 1; strlcpy(PE_state.video.v_pixelFormat, "PPPPPPPP", sizeof(PE_state.video.v_pixelFormat)); } @@ -317,5 +312,10 @@ int (*PE_poll_input)(unsigned int options, char * c) boolean_t PE_reboot_on_panic(void) { - return FALSE; + boot_args *args = (boot_args *)PE_state.bootArgs; + + if (args->flags & kBootArgsFlagRebootOnPanic) + return TRUE; + else + return FALSE; } diff --git a/pexpert/pexpert/GearImage.h b/pexpert/pexpert/GearImage.h index 6c6b1137d..8e4050055 100644 --- a/pexpert/pexpert/GearImage.h +++ b/pexpert/pexpert/GearImage.h @@ -1,776 +1,587 @@ #define kGearWidth (32) #define kGearHeight (32) #define kGearOffset (200) -#define kGearFrames (24) +#define kGearFrames (6) #define kGearFPS (24) -const unsigned char gGearPict[] = { - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0x8d,0x80,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5,0xfa,0xff,0xff,0xff,0xd2,0x23,0x1d,0xbd,0xff,0xff,0xff,0xfe,0xfc,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd2,0x49,0x77,0xfa,0xff,0xff,0xc5,0x36,0x35,0xb1,0xff,0xff,0xfe,0xe8,0xdb,0xf2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xa9,0x43,0x45,0xb4,0xff,0xff,0xc8,0x37,0x33,0xb4,0xff,0xff,0xf3,0xda,0xda,0xe8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb,0x62,0x52,0x5a,0xf3,0xff,0xc7,0x37,0x33,0xb4,0xff,0xfd,0xe1,0xdd,0xde,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xb3,0x4e,0x4c,0x97,0xff,0xc8,0x37,0x34,0xb2,0xff,0xec,0xdb,0xdb,0xea,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xd7,0xb8,0xf7,0xff,0xff,0xf5,0x72,0x52,0x50,0xeb,0xd2,0x28,0x24,0xb3,0xfd,0xde,0xde,0xe0,0xfb,0xff,0xff,0xfd,0xef,0xf3,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf5,0x64,0x5e,0x79,0xcc,0xfd,0xff,0xce,0x4c,0x3b,0x9a,0xf4,0x6c,0x60,0xe7,0xf2,0xda,0xdc,0xf0,0xfe,0xfe,0xf4,0xe0,0xd8,0xd8,0xf7,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf7,0x88,0x66,0x6d,0x64,0x8b,0xe6,0xf9,0x9e,0x67,0xd0,0xfc,0xf3,0xf1,0xfc,0xf5,0xe1,0xe6,0xfc,0xf8,0xe5,0xd9,0xda,0xd9,0xde,0xfa,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xf3,0xb1,0x73,0x6b,0x6a,0x61,0xb9,0xf8,0xf3,0xfb,0xfe,0xff,0xff,0xfd,0xfd,0xfb,0xfc,0xee,0xd9,0xda,0xda,0xdc,0xe6,0xf9,0xfe,0xfe,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xfb,0xe3,0x9d,0x6d,0x5a,0x84,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xfd,0xe2,0xd7,0xda,0xe3,0xf4,0xfd,0xfe,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xd7,0x9f,0xd7,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xf4,0xe5,0xf1,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xfb,0xe2,0xe0,0xe2,0xe2,0xe0,0xe3,0xf8,0xfd,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xfb,0xf3,0xf2,0xf4,0xf5,0xf4,0xf4,0xfd,0xfe,0xff, - 0xff,0xfe,0xae,0x75,0x81,0x82,0x82,0x83,0x77,0xaf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe3,0xd2,0xd5,0xd6,0xd4,0xd5,0xd1,0xe4,0xfe,0xff, - 0xff,0xfd,0xa6,0x77,0x83,0x82,0x82,0x82,0x77,0xa6,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe0,0xd1,0xd6,0xd5,0xd5,0xd6,0xd1,0xe0,0xfe,0xff, - 0xff,0xfe,0xef,0xc7,0xc7,0xc7,0xc7,0xc6,0xce,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xef,0xea,0xed,0xeb,0xeb,0xeb,0xf8,0xfe,0xff, - 0xff,0xfe,0xfe,0xfd,0xfd,0xfd,0xfe,0xfe,0xf5,0xce,0xf1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xe2,0xf6,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xd0,0x9d,0x89,0xac,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xd8,0xc6,0xcc,0xe3,0xfc,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xe1,0xa5,0x92,0x97,0x90,0xbb,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe3,0xcc,0xce,0xcb,0xd1,0xeb,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfc,0xb9,0x90,0x97,0x95,0xa1,0xcf,0xf8,0xdc,0xbf,0xf2,0xff,0xff,0xff,0xff,0xf7,0xd2,0xdf,0xfb,0xec,0xd4,0xce,0xce,0xc9,0xd8,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf3,0x91,0x8f,0x9b,0xc0,0xf0,0xfd,0xf3,0xa5,0x9a,0xc8,0xfd,0xd4,0xd0,0xfc,0xe0,0xbb,0xbe,0xef,0xfe,0xf9,0xe4,0xd1,0xcb,0xc8,0xf7,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfb,0xcd,0xb7,0xe3,0xfb,0xfe,0xfe,0xbf,0xa6,0xa9,0xe4,0xf1,0xb1,0xaf,0xe6,0xf5,0xc4,0xc4,0xce,0xfd,0xff,0xfd,0xf4,0xe0,0xe6,0xfc,0xfe,0xff,0xff, - 0xff,0xff,0xff,0xfc,0xfc,0xfb,0xfd,0xff,0xff,0xe5,0xa4,0xa6,0xc1,0xfc,0xea,0xb9,0xb7,0xe1,0xfe,0xda,0xc2,0xc0,0xe8,0xff,0xff,0xfd,0xfd,0xfe,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xb4,0xa9,0xab,0xed,0xff,0xeb,0xb9,0xb7,0xe2,0xff,0xf7,0xc7,0xc4,0xc8,0xfb,0xff,0xff,0xfe,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd8,0xa2,0xa6,0xcc,0xfd,0xff,0xeb,0xb7,0xb7,0xe2,0xff,0xfe,0xe3,0xc1,0xbe,0xdd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xde,0xa1,0xb2,0xf5,0xff,0xff,0xeb,0xb8,0xb7,0xe2,0xff,0xff,0xfb,0xcf,0xbe,0xe5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xe4,0xef,0xfd,0xff,0xff,0xeb,0xb2,0xb2,0xe3,0xff,0xff,0xfd,0xf5,0xee,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xf8,0xc9,0xc6,0xf6,0xff,0xff,0xfe,0xfe,0xfe,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf9,0xf9,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0x96,0x89,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf6,0xfa,0xff,0xff,0xff,0xd4,0x33,0x2d,0xc1,0xff,0xff,0xff,0xfe,0xfc,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd6,0x57,0x82,0xfb,0xff,0xff,0xca,0x46,0x42,0xb7,0xff,0xff,0xfe,0xe8,0xdb,0xf2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xb0,0x51,0x52,0xba,0xff,0xff,0xcc,0x45,0x41,0xba,0xff,0xff,0xf3,0xda,0xda,0xe8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0x6e,0x5e,0x67,0xf4,0xff,0xcc,0x45,0x41,0xba,0xff,0xfd,0xe1,0xdd,0xde,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xb9,0x5b,0x5a,0x9e,0xff,0xcc,0x45,0x42,0xb8,0xff,0xec,0xdb,0xdb,0xea,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xda,0xbe,0xf8,0xff,0xff,0xf6,0x7d,0x5e,0x5e,0xec,0xd4,0x38,0x34,0xb8,0xfd,0xdd,0xde,0xe0,0xfb,0xff,0xff,0xfd,0xf0,0xf5,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf5,0x6f,0x6a,0x83,0xd0,0xfd,0xff,0xd1,0x59,0x4b,0xa0,0xf5,0x76,0x6b,0xe9,0xf1,0xda,0xdc,0xf0,0xfe,0xfe,0xf5,0xe1,0xd9,0xda,0xf8,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf8,0x91,0x70,0x77,0x6f,0x93,0xe7,0xf9,0xa5,0x73,0xd4,0xfd,0xf5,0xf3,0xfc,0xf5,0xe1,0xe6,0xfc,0xf8,0xe5,0xda,0xdb,0xda,0xdf,0xfa,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xf4,0xb5,0x7f,0x75,0x76,0x6e,0xbe,0xf9,0xf2,0xfc,0xfe,0xff,0xff,0xff,0xfd,0xfb,0xfc,0xf0,0xdb,0xdb,0xdb,0xdd,0xe8,0xf8,0xfe,0xfe,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xfe,0xfb,0xe3,0xa4,0x79,0x66,0x8e,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xfd,0xe2,0xd8,0xdb,0xe4,0xf5,0xfc,0xfe,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xda,0xa6,0xda,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xf4,0xe5,0xf1,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xfb,0xe5,0xe3,0xe4,0xe5,0xe3,0xe6,0xf8,0xfd,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xfc,0xf3,0xf3,0xf5,0xf5,0xf5,0xf5,0xfd,0xfe,0xff, - 0xff,0xfe,0xb5,0x82,0x8c,0x8d,0x8d,0x8e,0x83,0xb6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe5,0xd5,0xd8,0xd9,0xd8,0xd8,0xd5,0xe5,0xfe,0xff, - 0xff,0xfd,0xad,0x82,0x8d,0x8e,0x8e,0x8d,0x82,0xae,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe3,0xd5,0xd9,0xd8,0xd8,0xd9,0xd6,0xe2,0xfe,0xff, - 0xff,0xfe,0xef,0xcd,0xcc,0xcc,0xcc,0xcb,0xd2,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xef,0xed,0xed,0xee,0xee,0xec,0xf9,0xfe,0xff, - 0xff,0xfe,0xfe,0xfd,0xfd,0xfd,0xfe,0xfe,0xf5,0xd2,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xe4,0xf6,0xfe,0xfe,0xfe,0xfe,0xfe,0xfc,0xfe,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xd4,0xa4,0x93,0xb3,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xdc,0xcb,0xd1,0xe5,0xfc,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xe4,0xac,0x9c,0xa1,0x9a,0xc0,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe5,0xd0,0xd2,0xd1,0xd4,0xed,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfc,0xc0,0x9a,0x9f,0x9e,0xa9,0xd3,0xf9,0xe0,0xc5,0xf3,0xff,0xff,0xff,0xff,0xf8,0xd6,0xe2,0xfc,0xee,0xd8,0xd2,0xd2,0xce,0xdc,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf3,0x9b,0x9b,0xa4,0xc6,0xf0,0xfd,0xf3,0xad,0xa4,0xce,0xfd,0xd7,0xd4,0xfc,0xe2,0xc2,0xc4,0xf1,0xfe,0xfa,0xe6,0xd5,0xd0,0xcd,0xf8,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfc,0xd2,0xbc,0xe5,0xfb,0xfe,0xfe,0xc5,0xaf,0xaf,0xe7,0xf3,0xb9,0xb7,0xe8,0xf6,0xca,0xc9,0xd3,0xfd,0xfe,0xfd,0xf5,0xe0,0xea,0xfc,0xfe,0xff,0xff, - 0xff,0xff,0xff,0xfc,0xfc,0xfc,0xfd,0xff,0xff,0xe6,0xad,0xaf,0xc5,0xfc,0xeb,0xc0,0xbd,0xe5,0xfd,0xdd,0xc7,0xc6,0xe8,0xff,0xfe,0xfe,0xfd,0xfe,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xfb,0xbb,0xb0,0xb3,0xee,0xff,0xed,0xbf,0xbd,0xe5,0xff,0xf7,0xcd,0xc9,0xcc,0xfb,0xff,0xff,0xfe,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdb,0xab,0xad,0xd0,0xfd,0xff,0xec,0xbe,0xbd,0xe5,0xff,0xfe,0xe4,0xc6,0xc5,0xe1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0xa9,0xba,0xf7,0xff,0xff,0xec,0xbe,0xbe,0xe5,0xff,0xff,0xfa,0xd3,0xc4,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xe8,0xf0,0xfd,0xff,0xff,0xeb,0xb9,0xb8,0xe4,0xff,0xff,0xfd,0xf6,0xf0,0xfc,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xfe,0xfe,0xfe,0xff,0xff,0xf9,0xcf,0xcc,0xf6,0xff,0xff,0xfe,0xfe,0xfe,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfa,0xfa,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0x9c,0x92,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xfb,0xff,0xff,0xff,0xd8,0x41,0x3c,0xc5,0xff,0xff,0xff,0xfc,0xf5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd9,0x65,0x8b,0xfb,0xff,0xff,0xcd,0x52,0x50,0xbc,0xff,0xff,0xfc,0x7b,0x2e,0xbe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xb6,0x5e,0x61,0xc0,0xff,0xff,0xd0,0x53,0x4f,0xbf,0xff,0xff,0xc1,0x2a,0x25,0x86,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0x79,0x6d,0x73,0xf5,0xff,0xd0,0x53,0x4f,0xbf,0xff,0xf7,0x50,0x36,0x40,0xda,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xbf,0x69,0x66,0xa7,0xff,0xcf,0x54,0x50,0xbe,0xff,0xa0,0x2e,0x32,0x92,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xdb,0xc2,0xf9,0xff,0xff,0xf7,0x86,0x6c,0x6a,0xee,0xd8,0x46,0x42,0xc5,0xef,0x3e,0x36,0x4d,0xef,0xff,0xff,0xfd,0xf0,0xf5,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf5,0x7b,0x75,0x8d,0xd3,0xfd,0xff,0xd4,0x67,0x5a,0xa8,0xf5,0x7f,0x75,0xf3,0xa0,0x1f,0x2c,0xb0,0xfe,0xff,0xf5,0xe2,0xda,0xda,0xf8,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf8,0x9a,0x7d,0x83,0x7b,0x9c,0xe9,0xfa,0xab,0x7e,0xd6,0xfc,0xf5,0xf3,0xfd,0xd1,0x4f,0x7a,0xf4,0xfb,0xe6,0xdb,0xde,0xdb,0xe0,0xf9,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xf4,0xbc,0x88,0x81,0x80,0x7a,0xc3,0xf9,0xf4,0xfc,0xfe,0xff,0xff,0xfe,0xfb,0xed,0xf5,0xf2,0xdc,0xdc,0xdc,0xdd,0xe9,0xf8,0xfe,0xfe,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xfe,0xfb,0xe6,0xaa,0x85,0x72,0x97,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe3,0xd9,0xdc,0xe4,0xf3,0xfc,0xfe,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xdc,0xad,0xdd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xf4,0xe6,0xf2,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xfc,0xe6,0xe5,0xe6,0xe6,0xe4,0xe7,0xf8,0xfd,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xfb,0xf5,0xf3,0xf6,0xf6,0xf6,0xf5,0xfd,0xfe,0xff, - 0xff,0xfe,0xbc,0x8c,0x97,0x97,0x97,0x97,0x8e,0xbd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe6,0xd7,0xdc,0xdb,0xdb,0xda,0xd7,0xe7,0xfe,0xff, - 0xff,0xfd,0xb4,0x8e,0x98,0x97,0x97,0x98,0x8d,0xb5,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe4,0xd8,0xdb,0xda,0xda,0xdb,0xd8,0xe5,0xfe,0xff, - 0xff,0xfe,0xf1,0xd1,0xcf,0xd0,0xd0,0xce,0xd6,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf0,0xee,0xee,0xee,0xee,0xed,0xf9,0xfe,0xff, - 0xff,0xfe,0xfe,0xfe,0xfd,0xfd,0xfe,0xfe,0xf6,0xd7,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xe5,0xf6,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xd8,0xac,0x9d,0xba,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xde,0xd0,0xd4,0xe7,0xfc,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xe5,0xb2,0xa4,0xa9,0xa3,0xc6,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe7,0xd3,0xd5,0xd4,0xd7,0xee,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xc5,0xa3,0xa9,0xa8,0xb1,0xd6,0xf9,0xe2,0xca,0xf5,0xff,0xff,0xff,0xff,0xf9,0xd9,0xe4,0xfc,0xee,0xda,0xd5,0xd5,0xd3,0xde,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf5,0xa3,0xa3,0xab,0xcb,0xf1,0xfd,0xf4,0xb5,0xac,0xd3,0xfd,0xdb,0xd8,0xfc,0xe6,0xc7,0xca,0xf1,0xfe,0xf9,0xe9,0xd7,0xd4,0xd2,0xf8,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfc,0xd4,0xc3,0xe7,0xfb,0xfe,0xfd,0xca,0xb6,0xb7,0xe8,0xf3,0xbf,0xbd,0xea,0xf6,0xce,0xcd,0xd6,0xfd,0xfe,0xfd,0xf6,0xe3,0xeb,0xfc,0xfe,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xfd,0xfc,0xfe,0xff,0xff,0xe9,0xb4,0xb8,0xcb,0xfc,0xed,0xc5,0xc3,0xe6,0xfe,0xdf,0xcd,0xcb,0xea,0xff,0xfe,0xfe,0xfd,0xfe,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xc1,0xb7,0xb9,0xf0,0xff,0xed,0xc5,0xc3,0xe7,0xff,0xf8,0xd0,0xce,0xcf,0xfb,0xff,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xb3,0xb5,0xd4,0xfd,0xff,0xef,0xc3,0xc3,0xe7,0xff,0xfe,0xe6,0xcc,0xc9,0xe2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3,0xb3,0xbf,0xf7,0xff,0xff,0xee,0xc4,0xc3,0xe7,0xff,0xff,0xfb,0xd7,0xc9,0xe8,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xea,0xf0,0xfd,0xff,0xff,0xed,0xbf,0xbe,0xe7,0xff,0xff,0xfd,0xf7,0xef,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xfe,0xfe,0xfe,0xff,0xff,0xf8,0xd3,0xd0,0xf6,0xff,0xff,0xfe,0xfe,0xfe,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfb,0xfb,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xa3,0x99,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xfb,0xff,0xff,0xff,0xdb,0x50,0x4b,0xc9,0xff,0xff,0xff,0xfc,0xf6,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdb,0x71,0x95,0xfb,0xff,0xff,0xd1,0x61,0x5d,0xc1,0xff,0xff,0xfd,0x84,0x3c,0xc1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xba,0x6c,0x6d,0xc4,0xff,0xff,0xd3,0x60,0x5c,0xc3,0xff,0xff,0xc7,0x39,0x34,0x8f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x84,0x77,0x7d,0xf6,0xff,0xd3,0x60,0x5c,0xc3,0xff,0xf7,0x5c,0x45,0x4e,0xdd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc4,0x72,0x73,0xad,0xff,0xd3,0x61,0x5d,0xc3,0xff,0xa6,0x3c,0x3f,0x99,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xdf,0xc8,0xf9,0xff,0xff,0xf7,0x90,0x76,0x75,0xed,0xda,0x55,0x51,0xca,0xf0,0x4b,0x45,0x5b,0xf0,0xff,0xff,0xfd,0xf0,0xf5,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf6,0x86,0x81,0x98,0xd7,0xfd,0xff,0xd8,0x72,0x66,0xaf,0xf6,0x89,0x7f,0xf3,0xa6,0x2f,0x3a,0xb6,0xfe,0xff,0xf5,0xe2,0xda,0xda,0xf8,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf8,0xa2,0x89,0x8e,0x86,0xa3,0xeb,0xfa,0xb2,0x87,0xda,0xfd,0xf5,0xf5,0xfd,0xd4,0x5c,0x83,0xf5,0xfb,0xe6,0xdb,0xde,0xdb,0xe0,0xf9,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xf5,0xc0,0x92,0x8c,0x8c,0x85,0xc8,0xfa,0xf5,0xfc,0xfe,0xff,0xff,0xfe,0xfb,0xee,0xf6,0xf2,0xdc,0xdc,0xdc,0xdd,0xe9,0xf8,0xfe,0xfe,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xfe,0xfb,0xe7,0xb2,0x8e,0x80,0x9f,0xfd,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe3,0xd9,0xdc,0xe4,0xf3,0xfc,0xfe,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xde,0xb5,0xdf,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xf4,0xe6,0xf2,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xfc,0xe9,0xe7,0xe9,0xe7,0xe7,0xe9,0xf9,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xfc,0xf4,0xf3,0xf6,0xf5,0xf5,0xf6,0xfe,0xfe,0xff, - 0xff,0xfe,0xc1,0x97,0xa0,0x9f,0x9f,0xa0,0x97,0xc2,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe7,0xd8,0xdd,0xdc,0xdc,0xdc,0xd8,0xe8,0xfe,0xff, - 0xff,0xfd,0xbb,0x96,0xa0,0xa0,0xa0,0xa0,0x97,0xbb,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe6,0xda,0xdc,0xdc,0xdc,0xdc,0xd9,0xe6,0xfe,0xff, - 0xff,0xfe,0xf1,0xd5,0xd3,0xd5,0xd5,0xd2,0xda,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf0,0xee,0xee,0xee,0xee,0xee,0xf8,0xfe,0xff, - 0xff,0xfe,0xfe,0xfd,0xfd,0xfd,0xfe,0xfe,0xf7,0xd8,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xe8,0xf6,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xdb,0xb3,0xa6,0xbe,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe0,0xd3,0xd8,0xe8,0xfc,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xe8,0xb9,0xac,0xb0,0xab,0xca,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xea,0xd7,0xda,0xd7,0xdb,0xef,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xca,0xab,0xb0,0xaf,0xb7,0xda,0xfa,0xe5,0xce,0xf5,0xff,0xff,0xff,0xff,0xf8,0xdd,0xe6,0xfc,0xf1,0xde,0xd8,0xd8,0xd6,0xe0,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf6,0xab,0xac,0xb3,0xcf,0xf1,0xfd,0xf4,0xbc,0xb4,0xd6,0xfd,0xde,0xdb,0xfc,0xe7,0xcc,0xce,0xf2,0xfe,0xf9,0xeb,0xda,0xd7,0xd5,0xf9,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfc,0xd9,0xc7,0xe8,0xfc,0xfe,0xfe,0xcf,0xbc,0xbd,0xeb,0xf3,0xc5,0xc3,0xea,0xf7,0xd1,0xd2,0xd9,0xfd,0xfe,0xfd,0xf6,0xe5,0xec,0xfd,0xfe,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xfd,0xfc,0xfd,0xff,0xff,0xeb,0xbb,0xbe,0xd0,0xfc,0xef,0xca,0xc8,0xe8,0xfe,0xe2,0xd1,0xd0,0xec,0xff,0xfe,0xfe,0xfd,0xfc,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xfc,0xc7,0xbe,0xc0,0xf1,0xfe,0xef,0xca,0xc8,0xe9,0xfe,0xf7,0xd5,0xd2,0xd4,0xfb,0xff,0xff,0xfe,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0xbb,0xbc,0xd8,0xfd,0xff,0xef,0xca,0xc8,0xe9,0xff,0xfe,0xea,0xd0,0xcd,0xe5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5,0xb8,0xc5,0xf7,0xff,0xff,0xef,0xca,0xc8,0xe9,0xff,0xff,0xfc,0xda,0xce,0xeb,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xec,0xf2,0xfe,0xff,0xff,0xef,0xc5,0xc5,0xe8,0xff,0xff,0xfd,0xf8,0xf2,0xfb,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xfe,0xfe,0xfe,0xff,0xff,0xfa,0xd7,0xd6,0xf6,0xff,0xff,0xfe,0xfe,0xfe,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfa,0xfb,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xab,0xa2,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xfb,0xff,0xff,0xff,0xdd,0x5e,0x5a,0xce,0xff,0xff,0xff,0xfc,0xf6,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xde,0x7c,0x9c,0xfb,0xff,0xff,0xd6,0x6e,0x6a,0xc6,0xff,0xff,0xfd,0x8d,0x4a,0xc5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x77,0x79,0xc8,0xff,0xff,0xd7,0x6d,0x69,0xc8,0xff,0xff,0xc8,0x46,0x42,0x97,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0x8d,0x83,0x89,0xf6,0xff,0xd7,0x6d,0x69,0xc8,0xff,0xf8,0x68,0x51,0x5a,0xde,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc8,0x7f,0x7d,0xb4,0xff,0xd6,0x6e,0x69,0xc7,0xff,0xad,0x49,0x4e,0xa0,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xe2,0xcc,0xf9,0xff,0xff,0xf8,0x98,0x82,0x81,0xee,0xdd,0x62,0x60,0xcf,0xf1,0x59,0x51,0x66,0xf0,0xff,0xff,0xf8,0xb1,0xcb,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf7,0x91,0x8c,0xa1,0xdb,0xfd,0xff,0xda,0x7d,0x72,0xb6,0xf6,0x92,0x8a,0xf4,0xab,0x3e,0x49,0xbb,0xff,0xff,0xcb,0x58,0x26,0x2b,0xe5,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf9,0xaa,0x92,0x97,0x91,0xad,0xec,0xfa,0xb7,0x91,0xdc,0xfd,0xf6,0xf5,0xfd,0xd7,0x68,0x8d,0xf7,0xea,0x73,0x30,0x35,0x30,0x4e,0xeb,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xf5,0xc5,0x9d,0x96,0x96,0x8f,0xcd,0xfa,0xf5,0xfc,0xfe,0xff,0xff,0xfe,0xfb,0xf1,0xf8,0xb6,0x33,0x31,0x35,0x3e,0x83,0xe2,0xfc,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xfe,0xfc,0xe9,0xb8,0x98,0x8b,0xa7,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0x64,0x1c,0x36,0x6b,0xc9,0xf7,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xe2,0xbb,0xe2,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc8,0x70,0xb0,0xf3,0xfd,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xfc,0xeb,0xe8,0xea,0xea,0xe8,0xea,0xf9,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xfc,0xf7,0xf7,0xf6,0xf7,0xf7,0xf5,0xf6,0xfe,0xfe,0xff, - 0xff,0xfe,0xc7,0xa0,0xa8,0xa8,0xa8,0xa9,0xa0,0xc7,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0xdb,0xde,0xdd,0xdd,0xdc,0xd9,0xe8,0xfe,0xff, - 0xff,0xfd,0xc1,0xa1,0xa9,0xa8,0xa8,0xa9,0xa0,0xc1,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe5,0xdb,0xdd,0xdd,0xdd,0xdd,0xda,0xe6,0xfe,0xff, - 0xff,0xfe,0xf3,0xd8,0xd8,0xd8,0xd8,0xd7,0xdc,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf1,0xef,0xef,0xef,0xef,0xee,0xfa,0xfe,0xff, - 0xff,0xfe,0xfe,0xfe,0xfd,0xfd,0xfe,0xfe,0xf7,0xdd,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xe9,0xf6,0xfe,0xfe,0xfe,0xfe,0xfe,0xfd,0xfe,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xdf,0xbb,0xaf,0xc6,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe3,0xd5,0xda,0xe9,0xfc,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xe9,0xc1,0xb5,0xb7,0xb2,0xcf,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xeb,0xd9,0xdc,0xd9,0xdc,0xf0,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xd0,0xb3,0xb7,0xb6,0xbe,0xdd,0xfa,0xe7,0xd3,0xf6,0xff,0xff,0xff,0xff,0xf8,0xdf,0xe7,0xfc,0xf2,0xe0,0xda,0xdb,0xd8,0xe3,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf7,0xb2,0xb4,0xbb,0xd3,0xf3,0xfd,0xf5,0xc1,0xbb,0xda,0xfd,0xe0,0xdd,0xfc,0xe9,0xcf,0xd0,0xf3,0xfe,0xfa,0xec,0xdd,0xd9,0xd8,0xf8,0xff,0xff,0xff, - 0xff,0xff,0xfe,0xfc,0xdc,0xcc,0xeb,0xfc,0xfe,0xfe,0xd3,0xc3,0xc3,0xec,0xf4,0xc9,0xc9,0xec,0xf7,0xd5,0xd5,0xdd,0xfd,0xfe,0xfd,0xf6,0xe6,0xed,0xfd,0xfe,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xfd,0xfc,0xfe,0xff,0xff,0xed,0xc1,0xc3,0xd4,0xfc,0xf0,0xcf,0xcc,0xea,0xfe,0xe5,0xd4,0xd3,0xee,0xff,0xff,0xfe,0xfd,0xfe,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xfc,0xcb,0xc4,0xc5,0xf2,0xfe,0xf0,0xce,0xcc,0xeb,0xfe,0xf8,0xd7,0xd6,0xd7,0xfc,0xff,0xff,0xfe,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe4,0xc0,0xc2,0xdb,0xfd,0xff,0xf1,0xce,0xcc,0xeb,0xff,0xfe,0xea,0xd3,0xd2,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xbe,0xc9,0xf8,0xff,0xff,0xf1,0xcf,0xcc,0xeb,0xff,0xff,0xfc,0xdc,0xd1,0xec,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xee,0xf3,0xfe,0xff,0xff,0xf0,0xca,0xc9,0xeb,0xff,0xff,0xfd,0xf8,0xf1,0xfc,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xfe,0xfe,0xfe,0xff,0xff,0xfa,0xd9,0xd6,0xf8,0xff,0xff,0xfe,0xfe,0xfe,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfc,0xfc,0xfb,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xb0,0xa9,0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xfc,0xff,0xff,0xff,0xe0,0x69,0x67,0xd2,0xff,0xff,0xff,0xfc,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1,0x88,0xa4,0xfb,0xff,0xff,0xd8,0x78,0x76,0xcb,0xff,0xff,0xfd,0x96,0x58,0xca,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc6,0x83,0x84,0xce,0xff,0xff,0xd9,0x78,0x75,0xcc,0xff,0xff,0xcd,0x55,0x50,0x9d,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0x97,0x8d,0x91,0xf7,0xff,0xdb,0x78,0x75,0xcc,0xff,0xf8,0x73,0x5f,0x66,0xe2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xcd,0x89,0x89,0xba,0xff,0xd8,0x78,0x76,0xcb,0xff,0xb1,0x57,0x5c,0xa8,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xe4,0xd0,0xfa,0xff,0xff,0xf8,0xa1,0x8c,0x8c,0xf0,0xe0,0x6d,0x6b,0xd1,0xf2,0x65,0x5f,0x71,0xf1,0xff,0xff,0xf9,0xb6,0xcd,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf8,0x99,0x97,0xa8,0xdd,0xfe,0xff,0xde,0x88,0x7f,0xbb,0xf7,0x9b,0x92,0xf5,0xb2,0x4c,0x56,0xc0,0xff,0xfe,0xcf,0x64,0x34,0x3b,0xe6,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf9,0xb2,0x9c,0xa1,0x9a,0xb3,0xed,0xfb,0xbd,0x9b,0xe0,0xfd,0xf6,0xf5,0xfd,0xdb,0x72,0x94,0xf8,0xec,0x7d,0x3e,0x44,0x3f,0x5a,0xeb,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xf5,0xcb,0xa6,0x9f,0x9f,0x9a,0xd0,0xfa,0xf5,0xfc,0xfe,0xff,0xff,0xfe,0xfc,0xf1,0xf8,0xbb,0x40,0x40,0x44,0x4a,0x8d,0xe5,0xfc,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xfe,0xfc,0xeb,0xbf,0x9f,0x94,0xaf,0xfd,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0x6e,0x2d,0x44,0x75,0xce,0xf8,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xe5,0xc0,0xe6,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xcc,0x7b,0xb5,0xf4,0xfd,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xfc,0xeb,0xeb,0xec,0xec,0xeb,0xec,0xf9,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xfc,0xf7,0xf7,0xf7,0xf7,0xf7,0xf5,0xf6,0xfe,0xfe,0xff, - 0xff,0xfe,0xcc,0xa8,0xb0,0xb0,0xb0,0xb0,0xaa,0xcc,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xea,0xda,0xde,0xdd,0xdd,0xdc,0xd9,0xe8,0xfe,0xff, - 0xff,0xfd,0xc7,0xa8,0xb0,0xb0,0xb0,0xb0,0xa8,0xc6,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe5,0xdc,0xdd,0xdd,0xdd,0xdd,0xda,0xe6,0xfe,0xff, - 0xff,0xfe,0xf4,0xdc,0xdc,0xdc,0xdc,0xdb,0xdf,0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xef,0xef,0xef,0xef,0xef,0xee,0xfa,0xfe,0xff, - 0xff,0xfe,0xfe,0xfe,0xfd,0xfd,0xfe,0xfe,0xf8,0xe0,0xf5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xea,0xf7,0xfe,0xfe,0xfe,0xfe,0xfe,0xfd,0xfe,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xe0,0xc2,0xb7,0xca,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe4,0xd6,0xdb,0xea,0xfd,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xeb,0xc5,0xbb,0xbf,0xba,0xd3,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xea,0xda,0xdd,0xda,0xde,0xf1,0xfe,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xd2,0xb9,0xbf,0xbe,0xc4,0xe1,0xfa,0xe9,0xd7,0xf7,0xff,0xff,0xff,0xff,0xf9,0xe2,0xe8,0xfc,0xf2,0xe0,0xdc,0xdb,0xd9,0xe4,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf7,0xba,0xbb,0xc0,0xd7,0xf5,0xfd,0xf7,0xc7,0xc1,0xdd,0xfd,0xe2,0xe1,0xfc,0xea,0xd3,0xd4,0xf4,0xfe,0xfa,0xec,0xde,0xda,0xd9,0xfa,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xdf,0xd2,0xed,0xfc,0xfe,0xfe,0xd6,0xc8,0xc8,0xee,0xf5,0xce,0xcd,0xed,0xf8,0xd8,0xd9,0xdf,0xfd,0xfe,0xfd,0xf6,0xe7,0xed,0xfd,0xfe,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xfc,0xfd,0xfe,0xff,0xff,0xef,0xc6,0xc9,0xd8,0xfc,0xf1,0xd3,0xd2,0xec,0xfd,0xe5,0xd8,0xd6,0xef,0xff,0xff,0xfe,0xfd,0xfe,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xfc,0xd0,0xc9,0xcb,0xf4,0xfe,0xf2,0xd3,0xd2,0xed,0xfe,0xf9,0xda,0xd9,0xd9,0xfc,0xff,0xff,0xfe,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe6,0xc5,0xc7,0xde,0xfd,0xff,0xf2,0xd3,0xd0,0xed,0xff,0xfe,0xed,0xd7,0xd5,0xe8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe9,0xc6,0xce,0xf8,0xff,0xff,0xf1,0xd3,0xd1,0xed,0xff,0xff,0xfc,0xde,0xd5,0xed,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xee,0xf4,0xfe,0xff,0xff,0xf2,0xce,0xce,0xeb,0xff,0xff,0xfd,0xf8,0xf2,0xfc,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xfe,0xfe,0xfe,0xff,0xff,0xf9,0xdd,0xdb,0xf8,0xff,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfb,0xfb,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xb6,0xb0,0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xfc,0xff,0xff,0xff,0xe3,0x76,0x72,0xd4,0xff,0xff,0xff,0xfc,0xf8,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe4,0x91,0xae,0xfc,0xff,0xff,0xdb,0x83,0x80,0xcf,0xff,0xff,0xfd,0x9d,0x66,0xce,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xca,0x8e,0x8f,0xd3,0xff,0xff,0xdd,0x83,0x80,0xcf,0xff,0xff,0xd2,0x62,0x5f,0xa7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0x9f,0x97,0x9b,0xf8,0xff,0xdd,0x83,0x80,0xd1,0xff,0xf8,0x7e,0x6b,0x74,0xe4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xd0,0x94,0x92,0xc0,0xff,0xdb,0x83,0x80,0xcf,0xff,0xb9,0x65,0x68,0xaf,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xe7,0xd3,0xfa,0xff,0xff,0xf9,0xaa,0x97,0x96,0xf3,0xe0,0x7a,0x76,0xd5,0xf3,0x71,0x6d,0x7d,0xf2,0xff,0xff,0xf9,0xbb,0xd1,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf7,0xa3,0x9f,0xb0,0xe1,0xfe,0xff,0xe0,0x92,0x8a,0xc1,0xf7,0xa3,0x9a,0xf6,0xb8,0x5b,0x63,0xc6,0xff,0xfe,0xd3,0x6e,0x43,0x47,0xe9,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfa,0xb7,0xa5,0xa9,0xa3,0xba,0xf0,0xfb,0xc3,0xa4,0xe1,0xfd,0xf7,0xf6,0xfd,0xdd,0x7e,0x9d,0xf8,0xec,0x86,0x4b,0x51,0x4c,0x66,0xec,0xff,0xff,0xff, - 0xff,0xff,0xfe,0xfe,0xf7,0xd0,0xad,0xa7,0xa7,0xa3,0xd4,0xfb,0xf6,0xfc,0xfe,0xff,0xff,0xfe,0xfc,0xf1,0xf9,0xc0,0x4e,0x4e,0x51,0x56,0x94,0xe6,0xfc,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xfc,0xec,0xc4,0xa8,0x9e,0xb6,0xfd,0xff,0xfe,0xff,0xff,0xff,0xff,0xfe,0xff,0xfd,0x79,0x3b,0x52,0x7e,0xd0,0xf8,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xe6,0xc5,0xe7,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xce,0x87,0xc8,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xfc,0xed,0xed,0xed,0xed,0xed,0xef,0xfa,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xfd,0xf3,0xd4,0xce,0xd1,0xd0,0xce,0xd2,0xf9,0xff,0xff, - 0xff,0xfe,0xd0,0xb1,0xb7,0xb7,0xb7,0xb7,0xb1,0xd1,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x81,0x23,0x36,0x36,0x36,0x36,0x21,0x7f,0xfe,0xff, - 0xff,0xfd,0xcb,0xb2,0xb8,0xb7,0xb7,0xb9,0xb1,0xcc,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0x71,0x25,0x37,0x37,0x37,0x37,0x25,0x72,0xfd,0xff, - 0xff,0xfd,0xf4,0xdf,0xde,0xdf,0xdf,0xde,0xe2,0xf9,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe9,0xaa,0xa5,0xa7,0xa7,0xa3,0xa8,0xe4,0xfe,0xff, - 0xff,0xfe,0xfd,0xfe,0xfe,0xfe,0xfe,0xfe,0xf9,0xe2,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xee,0xf9,0xfc,0xfc,0xfc,0xfc,0xfd,0xfe,0xfe,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xe4,0xc6,0xbc,0xcf,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe4,0xd9,0xde,0xed,0xfd,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xed,0xcb,0xc0,0xc5,0xc1,0xd7,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xec,0xdb,0xde,0xdb,0xde,0xf1,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xd7,0xbf,0xc4,0xc3,0xca,0xe2,0xfa,0xea,0xd9,0xf6,0xff,0xff,0xff,0xff,0xf8,0xe3,0xeb,0xfc,0xf1,0xe1,0xdd,0xdd,0xda,0xe5,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf8,0xc0,0xc1,0xc6,0xda,0xf5,0xfd,0xf6,0xcc,0xc5,0xdf,0xfd,0xe5,0xe2,0xfd,0xeb,0xd5,0xd6,0xf5,0xfe,0xf9,0xed,0xdf,0xdb,0xda,0xf8,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xe3,0xd5,0xef,0xfc,0xfe,0xfe,0xdb,0xce,0xcc,0xee,0xf5,0xd3,0xd0,0xef,0xf8,0xda,0xdb,0xe0,0xfd,0xfe,0xfd,0xf7,0xe9,0xec,0xfd,0xfe,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xfc,0xfd,0xfe,0xff,0xff,0xef,0xcc,0xcd,0xdb,0xfc,0xf2,0xd6,0xd5,0xec,0xfd,0xe8,0xda,0xd8,0xf0,0xff,0xff,0xfe,0xfc,0xfe,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xfe,0xff,0xff,0xfc,0xd5,0xce,0xce,0xf3,0xfe,0xf3,0xd6,0xd5,0xee,0xfe,0xfa,0xdc,0xdc,0xdc,0xfb,0xff,0xff,0xfe,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xca,0xcb,0xe0,0xfd,0xff,0xf3,0xd6,0xd5,0xee,0xff,0xfe,0xee,0xd9,0xd8,0xea,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb,0xca,0xd3,0xf9,0xff,0xff,0xf2,0xd6,0xd5,0xee,0xff,0xff,0xfc,0xe1,0xd7,0xee,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xef,0xf5,0xfe,0xff,0xff,0xf2,0xd2,0xd2,0xec,0xff,0xff,0xfd,0xf9,0xf3,0xfa,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xfe,0xfe,0xfe,0xff,0xff,0xf9,0xdf,0xde,0xf8,0xff,0xff,0xfe,0xfe,0xfe,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfb,0xfb,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xbd,0xb7,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xfc,0xff,0xff,0xff,0xe5,0x81,0x7f,0xd8,0xff,0xff,0xff,0xfd,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5,0x9b,0xb3,0xfc,0xff,0xff,0xdd,0x8e,0x8b,0xd2,0xff,0xff,0xfd,0xa5,0x70,0xd2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xce,0x98,0x98,0xd5,0xff,0xff,0xdf,0x8d,0x8a,0xd5,0xff,0xff,0xd4,0x6f,0x6b,0xac,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf4,0xa8,0x9f,0xa3,0xf8,0xff,0xdf,0x8d,0x8a,0xd4,0xff,0xf9,0x86,0x77,0x7e,0xe5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xd6,0x9d,0x9c,0xc4,0xff,0xdf,0x8e,0x8b,0xd4,0xff,0xbe,0x72,0x73,0xb4,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xe7,0xd8,0xfb,0xff,0xff,0xf9,0xb1,0x9f,0x9f,0xf2,0xe4,0x85,0x82,0xd9,0xf3,0x7c,0x77,0x86,0xf3,0xff,0xff,0xfa,0xbf,0xd5,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf7,0xab,0xa8,0xb7,0xe3,0xfd,0xff,0xe3,0x9b,0x94,0xc5,0xf8,0xab,0xa3,0xf6,0xbc,0x67,0x70,0xc9,0xff,0xfe,0xd6,0x79,0x52,0x56,0xea,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf9,0xbe,0xac,0xb0,0xab,0xbf,0xf1,0xfb,0xc8,0xaa,0xe3,0xfd,0xf7,0xf8,0xfd,0xdf,0x88,0xa4,0xf9,0xee,0x8f,0x59,0x5e,0x5a,0x71,0xed,0xff,0xff,0xff, - 0xff,0xff,0xfe,0xfc,0xf7,0xd4,0xb4,0xae,0xaf,0xaa,0xd8,0xfb,0xf8,0xfd,0xfe,0xff,0xff,0xfe,0xfc,0xf3,0xf9,0xc3,0x5a,0x5b,0x5f,0x64,0x9c,0xe8,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xfc,0xee,0xca,0xb1,0xa7,0xbd,0xfd,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0x82,0x4b,0x5f,0x87,0xd4,0xf9,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xe9,0xcb,0xe9,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xd2,0x90,0xcc,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xfd,0xef,0xef,0xef,0xef,0xef,0xef,0xfa,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xfd,0xf4,0xd6,0xd1,0xd4,0xd4,0xd2,0xd6,0xfa,0xff,0xff, - 0xff,0xfe,0xd5,0xb8,0xbe,0xbe,0xbe,0xbe,0xb8,0xd4,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x8a,0x34,0x44,0x44,0x44,0x44,0x32,0x88,0xfe,0xff, - 0xff,0xfe,0xd0,0xb8,0xbf,0xbf,0xbf,0xbf,0xb8,0xd1,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0x7c,0x33,0x45,0x45,0x45,0x45,0x33,0x7c,0xfd,0xff, - 0xff,0xfe,0xf5,0xe1,0xe1,0xe2,0xe1,0xe1,0xe4,0xfa,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xea,0xb1,0xab,0xad,0xad,0xaa,0xb0,0xe6,0xfe,0xff, - 0xff,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xf9,0xe4,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xee,0xf9,0xfc,0xfd,0xfd,0xfd,0xfd,0xfe,0xfe,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xe5,0xca,0xc2,0xd4,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe4,0xd9,0xde,0xed,0xfd,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xef,0xce,0xc8,0xca,0xc7,0xda,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xec,0xdb,0xde,0xdb,0xde,0xf1,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xda,0xc6,0xca,0xc8,0xce,0xe6,0xfb,0xec,0xdd,0xf7,0xff,0xff,0xff,0xff,0xfa,0xe4,0xeb,0xfc,0xf1,0xe1,0xdd,0xdd,0xda,0xe5,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf7,0xc6,0xc6,0xcb,0xdd,0xf6,0xfe,0xf6,0xd0,0xcb,0xe3,0xfd,0xe7,0xe4,0xfd,0xeb,0xd6,0xd8,0xf5,0xfe,0xf9,0xed,0xdf,0xdb,0xda,0xf8,0xff,0xff,0xff, - 0xff,0xff,0xfe,0xfc,0xe5,0xd8,0xef,0xfd,0xfe,0xfe,0xdd,0xd2,0xd2,0xf0,0xf6,0xd6,0xd4,0xf0,0xf7,0xdc,0xdc,0xe1,0xfd,0xfe,0xfd,0xf7,0xe9,0xec,0xfd,0xfe,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xfd,0xfd,0xfe,0xff,0xff,0xf1,0xd0,0xd2,0xde,0xfd,0xf4,0xd9,0xd8,0xef,0xfd,0xe7,0xdb,0xd9,0xf0,0xff,0xff,0xfe,0xfc,0xfe,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xfe,0xff,0xff,0xfd,0xd8,0xd2,0xd2,0xf5,0xfe,0xf5,0xd9,0xd8,0xef,0xfe,0xfa,0xdd,0xdd,0xdd,0xfc,0xff,0xff,0xfe,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe9,0xce,0xcf,0xe4,0xfd,0xff,0xf5,0xd9,0xd8,0xf0,0xff,0xfe,0xed,0xda,0xd9,0xe9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xec,0xce,0xd6,0xf8,0xff,0xff,0xf5,0xd9,0xd8,0xee,0xff,0xff,0xfc,0xe2,0xd8,0xee,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xf0,0xf6,0xfd,0xff,0xff,0xf4,0xd6,0xd6,0xed,0xff,0xff,0xfe,0xf8,0xf3,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xfe,0xfe,0xfe,0xff,0xff,0xfa,0xe1,0xe0,0xf9,0xff,0xff,0xfe,0xfe,0xfe,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfb,0xfc,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xc2,0xbc,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xfc,0xff,0xff,0xff,0xe7,0x8d,0x8a,0xdb,0xff,0xff,0xff,0xfd,0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xa3,0xba,0xfc,0xff,0xff,0xe0,0x98,0x96,0xd6,0xff,0xff,0xfd,0xac,0x7d,0xd5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd3,0xa1,0xa2,0xd9,0xff,0xff,0xe2,0x97,0x95,0xd7,0xff,0xff,0xd7,0x7a,0x77,0xb3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf4,0xb0,0xa9,0xad,0xf9,0xff,0xe2,0x97,0x95,0xd7,0xff,0xf9,0x91,0x81,0x88,0xe6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xd8,0xa6,0xa5,0xca,0xff,0xe2,0x97,0x96,0xd7,0xff,0xc3,0x7c,0x7f,0xba,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xea,0xdd,0xfb,0xff,0xff,0xfa,0xb8,0xa9,0xa6,0xf3,0xe7,0x8f,0x8e,0xdb,0xf4,0x85,0x83,0x90,0xf3,0xff,0xff,0xfa,0xc5,0xd8,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf8,0xb3,0xb1,0xbc,0xe6,0xfd,0xff,0xe5,0xa6,0x9e,0xcb,0xf8,0xb3,0xab,0xf7,0xc2,0x74,0x7b,0xcd,0xff,0xfe,0xd8,0x84,0x5f,0x64,0xec,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfa,0xc5,0xb5,0xb9,0xb4,0xc5,0xf1,0xfb,0xcc,0xb3,0xe6,0xfd,0xf8,0xf7,0xfd,0xe2,0x91,0xac,0xf9,0xef,0x97,0x68,0x6c,0x68,0x7c,0xef,0xff,0xff,0xff, - 0xff,0xff,0xfe,0xfe,0xf8,0xd7,0xbc,0xb7,0xb7,0xb3,0xdb,0xfb,0xf7,0xfd,0xfe,0xff,0xff,0xfe,0xfc,0xf4,0xf9,0xc8,0x68,0x68,0x6c,0x6f,0xa5,0xeb,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xfc,0xef,0xcf,0xb9,0xb0,0xc3,0xfd,0xff,0xfe,0xff,0xff,0xff,0xff,0xfe,0xff,0xfd,0x8d,0x59,0x6c,0x91,0xd7,0xf9,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xea,0xd0,0xeb,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xd6,0x99,0xd1,0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xfd,0xf1,0xef,0xf0,0xf0,0xef,0xf0,0xfb,0xfd,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xfd,0xf5,0xd9,0xd5,0xd6,0xd6,0xd4,0xd8,0xfa,0xff,0xff, - 0xff,0xfe,0xd8,0xbe,0xc3,0xc3,0xc3,0xc3,0xbe,0xd7,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x92,0x41,0x52,0x51,0x51,0x51,0x3f,0x91,0xfe,0xff, - 0xff,0xfe,0xd5,0xbe,0xc5,0xc4,0xc4,0xc5,0xbf,0xd4,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0x84,0x41,0x53,0x52,0x52,0x53,0x42,0x84,0xfd,0xff, - 0xff,0xfe,0xf6,0xe4,0xe3,0xe5,0xe5,0xe3,0xe6,0xfa,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf4,0xc0,0xb0,0xb2,0xb3,0xb1,0xb4,0xe9,0xfe,0xff, - 0xff,0xfe,0xfe,0xfe,0xfe,0xfd,0xfe,0xfe,0xf9,0xe6,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x98,0xe5,0xff,0xff,0xfd,0xfc,0xfd,0xfe,0xfe,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xe7,0xcf,0xc8,0xd7,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0x66,0x1a,0x38,0x92,0xf5,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xef,0xd3,0xcc,0xce,0xcb,0xdd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0x92,0x2b,0x37,0x2d,0x43,0xb4,0xfb,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xde,0xca,0xce,0xcd,0xd3,0xe8,0xfb,0xee,0xdf,0xf7,0xff,0xff,0xff,0xff,0xfa,0xe5,0xed,0xf5,0xb5,0x56,0x33,0x37,0x27,0x66,0xf8,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf8,0xc9,0xca,0xcf,0xdf,0xf7,0xfd,0xf7,0xd4,0xd0,0xe4,0xfd,0xe8,0xe5,0xfd,0xec,0xd9,0xda,0xf6,0xfc,0xed,0x99,0x46,0x2b,0x25,0xe5,0xff,0xff,0xff, - 0xff,0xff,0xfe,0xfc,0xe7,0xdc,0xf0,0xfd,0xfe,0xfe,0xdf,0xd5,0xd6,0xf1,0xf6,0xd8,0xd7,0xf1,0xf7,0xdd,0xdd,0xe2,0xfe,0xfe,0xfa,0xd9,0x82,0xa4,0xf9,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xfc,0xfd,0xfe,0xff,0xff,0xf2,0xd2,0xd5,0xdf,0xfd,0xf4,0xdb,0xdb,0xee,0xfd,0xe9,0xdc,0xda,0xf1,0xff,0xff,0xfd,0xfa,0xfb,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xfe,0xff,0xff,0xfd,0xda,0xd5,0xd6,0xf5,0xfe,0xf3,0xdb,0xda,0xf0,0xfe,0xfa,0xdf,0xde,0xde,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0xd3,0xd4,0xe6,0xfd,0xff,0xf5,0xdb,0xda,0xf0,0xff,0xfe,0xed,0xdb,0xda,0xeb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed,0xd1,0xd9,0xf9,0xff,0xff,0xf4,0xdb,0xda,0xef,0xff,0xff,0xfc,0xe3,0xd9,0xef,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf1,0xf7,0xfd,0xff,0xff,0xf4,0xd9,0xd8,0xee,0xff,0xff,0xfe,0xf8,0xf5,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xfe,0xfe,0xfe,0xff,0xff,0xfa,0xe4,0xe1,0xf9,0xff,0xff,0xfe,0xfe,0xfe,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xfc,0xfc,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xc7,0xc1,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xfd,0xff,0xff,0xff,0xe8,0x96,0x95,0xde,0xff,0xff,0xff,0xfd,0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0xac,0xc1,0xfd,0xff,0xff,0xe3,0xa0,0x9e,0xd9,0xff,0xff,0xfd,0xb2,0x87,0xd9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd6,0xaa,0xab,0xdc,0xff,0xff,0xe3,0xa0,0x9e,0xdb,0xff,0xff,0xdb,0x86,0x82,0xba,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf6,0xb7,0xb0,0xb3,0xf9,0xff,0xe3,0xa0,0x9e,0xdb,0xff,0xfa,0x9a,0x8c,0x91,0xe8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xdc,0xad,0xae,0xce,0xff,0xe3,0xa0,0x9e,0xdb,0xff,0xc8,0x87,0x8a,0xc0,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xec,0xdf,0xfb,0xff,0xff,0xfa,0xbe,0xb0,0xb0,0xf4,0xe8,0x9a,0x96,0xde,0xf5,0x91,0x8d,0x9a,0xf4,0xff,0xff,0xfa,0xc9,0xda,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf9,0xb9,0xb8,0xc3,0xe9,0xfd,0xff,0xe7,0xac,0xa6,0xcf,0xf9,0xb8,0xb3,0xf7,0xc7,0x80,0x86,0xd2,0xff,0xfe,0xdb,0x8d,0x6b,0x6f,0xed,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfb,0xca,0xbc,0xbf,0xba,0xcb,0xf3,0xfb,0xd1,0xb8,0xe9,0xfd,0xf9,0xf7,0xfd,0xe5,0x9a,0xb2,0xfa,0xef,0xa0,0x73,0x76,0x72,0x87,0xf0,0xff,0xff,0xff, - 0xff,0xff,0xfe,0xfd,0xf8,0xdb,0xc1,0xbd,0xbd,0xb9,0xde,0xfb,0xf8,0xfc,0xfe,0xff,0xff,0xfe,0xfc,0xf4,0xfa,0xcd,0x74,0x74,0x76,0x7b,0xab,0xec,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xfd,0xf1,0xd3,0xc0,0xb7,0xc9,0xfd,0xff,0xfe,0xff,0xff,0xff,0xff,0xfe,0xff,0xfd,0x95,0x64,0x77,0x9a,0xd9,0xfa,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xec,0xd3,0xec,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xd8,0xa0,0xd3,0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xfd,0xf2,0xf1,0xf2,0xf0,0xf1,0xf1,0xfb,0xfe,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xf6,0xdb,0xd8,0xda,0xda,0xd8,0xda,0xfa,0xff,0xff, - 0xff,0xfe,0xdc,0xc3,0xc9,0xc8,0xc9,0xc9,0xc5,0xdc,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x9a,0x50,0x5f,0x5e,0x5e,0x5d,0x4e,0x99,0xfe,0xff, - 0xff,0xfe,0xd8,0xc5,0xca,0xca,0xca,0xca,0xc4,0xd8,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0x8d,0x52,0x61,0x60,0x60,0x61,0x51,0x8d,0xfd,0xff, - 0xff,0xfe,0xf6,0xe6,0xe6,0xe7,0xe6,0xe6,0xe9,0xfa,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5,0xc5,0xb6,0xb8,0xb9,0xb7,0xb9,0xeb,0xfe,0xff, - 0xff,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfa,0xe7,0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb,0x9e,0xe6,0xff,0xff,0xfd,0xfc,0xfd,0xfe,0xfe,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xe9,0xd3,0xcc,0xdb,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0x71,0x28,0x45,0x9a,0xf5,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xf1,0xd6,0xd0,0xd2,0xcf,0xdf,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0x9a,0x3b,0x45,0x3d,0x50,0xb9,0xfc,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xe0,0xcf,0xd2,0xd1,0xd6,0xea,0xfb,0xed,0xe2,0xf8,0xff,0xff,0xff,0xff,0xfa,0xe5,0xec,0xf6,0xbb,0x62,0x41,0x45,0x37,0x71,0xf9,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf9,0xcf,0xd0,0xd3,0xe3,0xf7,0xfe,0xf6,0xd6,0xd3,0xe6,0xfd,0xe8,0xe7,0xfd,0xec,0xd9,0xda,0xf6,0xfc,0xee,0xa0,0x53,0x3a,0x34,0xe8,0xff,0xff,0xff, - 0xff,0xff,0xfe,0xfc,0xe9,0xde,0xf1,0xfd,0xfe,0xfe,0xe1,0xd8,0xd9,0xf2,0xf5,0xd9,0xd8,0xf1,0xf7,0xdd,0xdd,0xe2,0xfe,0xfe,0xfa,0xdb,0x8b,0xaa,0xf9,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xfd,0xfd,0xfd,0xff,0xff,0xf3,0xd7,0xd8,0xe3,0xfd,0xf3,0xdd,0xdc,0xf0,0xfd,0xe9,0xdc,0xda,0xf1,0xff,0xff,0xfd,0xfb,0xfb,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xfe,0xff,0xff,0xfd,0xdd,0xd8,0xd9,0xf5,0xfe,0xf5,0xdc,0xdb,0xef,0xfe,0xfa,0xdf,0xde,0xde,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xec,0xd6,0xd7,0xe8,0xfd,0xff,0xf4,0xdc,0xdb,0xf1,0xff,0xfe,0xed,0xdb,0xda,0xeb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xd5,0xdb,0xfa,0xff,0xff,0xf4,0xdc,0xdb,0xf1,0xff,0xff,0xfc,0xe3,0xd9,0xef,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfb,0xf4,0xf8,0xfd,0xff,0xff,0xf4,0xda,0xd9,0xef,0xff,0xff,0xfe,0xf8,0xf5,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xfe,0xfe,0xfe,0xff,0xff,0xfb,0xe5,0xe2,0xf9,0xff,0xff,0xfe,0xfe,0xfe,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfc,0xfa,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xcc,0xc7,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xfd,0xff,0xff,0xff,0xea,0x9f,0x9e,0xe1,0xff,0xff,0xff,0xfd,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xec,0xb3,0xc5,0xfd,0xff,0xff,0xe4,0xa9,0xa7,0xdc,0xff,0xff,0xfd,0xba,0x91,0xdc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xda,0xb2,0xb3,0xe0,0xff,0xff,0xe6,0xa8,0xa7,0xde,0xff,0xff,0xdd,0x90,0x8e,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf6,0xbd,0xb7,0xbb,0xfa,0xff,0xe8,0xa8,0xa7,0xde,0xff,0xfa,0xa3,0x95,0x9b,0xeb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xdf,0xb5,0xb5,0xd3,0xff,0xe7,0xa9,0xa7,0xdd,0xff,0xcb,0x92,0x95,0xc5,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xed,0xe1,0xfc,0xff,0xff,0xfb,0xc3,0xb7,0xb8,0xf4,0xea,0xa3,0x9f,0xe1,0xf6,0x9a,0x97,0xa3,0xf4,0xff,0xff,0xfb,0xcd,0xdd,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfa,0xbf,0xbf,0xc9,0xe9,0xfe,0xff,0xea,0xb5,0xaf,0xd4,0xf9,0xbf,0xb9,0xf8,0xcb,0x8a,0x91,0xd5,0xff,0xfe,0xde,0x96,0x78,0x7b,0xef,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfa,0xce,0xc1,0xc4,0xc1,0xd0,0xf3,0xfc,0xd5,0xc0,0xe9,0xfd,0xf9,0xf8,0xfd,0xe6,0xa2,0xb9,0xfa,0xf2,0xa6,0x7e,0x82,0x7d,0x90,0xf1,0xff,0xff,0xff, - 0xff,0xff,0xfe,0xfd,0xf9,0xde,0xc7,0xc2,0xc3,0xbf,0xe1,0xfb,0xf9,0xfd,0xfd,0xff,0xff,0xfd,0xfd,0xf5,0xfa,0xd1,0x7f,0x7f,0x82,0x86,0xb1,0xed,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xfd,0xf2,0xd6,0xc5,0xbe,0xcc,0xfd,0xff,0xfe,0xff,0xff,0xff,0xff,0xfe,0xff,0xfd,0x9d,0x72,0x82,0xa1,0xdd,0xfa,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xee,0xd8,0xed,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xdb,0xa8,0xd6,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xfe,0xfd,0xf2,0xf2,0xf2,0xf2,0xf2,0xf1,0xfb,0xfe,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xfd,0xf6,0xde,0xda,0xdc,0xdd,0xdb,0xdd,0xfb,0xff,0xff, - 0xff,0xfe,0xde,0xc9,0xcd,0xcd,0xcd,0xcd,0xca,0xde,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xa3,0x5f,0x6c,0x6b,0x6b,0x6c,0x5d,0xa2,0xfe,0xff, - 0xff,0xfe,0xdb,0xc9,0xce,0xce,0xce,0xce,0xc9,0xdb,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0x97,0x5f,0x6d,0x6d,0x6d,0x6d,0x5f,0x98,0xfd,0xff, - 0xff,0xfe,0xf7,0xe8,0xe6,0xe9,0xe9,0xe8,0xe9,0xfb,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf6,0xcb,0xbc,0xbe,0xbf,0xbc,0xc0,0xea,0xfe,0xff, - 0xff,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfa,0xe9,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xec,0xa5,0xe6,0xff,0xff,0xfd,0xfd,0xfd,0xfe,0xfe,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xea,0xd7,0xcf,0xdd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x7b,0x37,0x53,0x9f,0xf6,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xf1,0xda,0xd3,0xd5,0xd3,0xe2,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xa2,0x48,0x53,0x4b,0x5d,0xbe,0xfc,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xe2,0xd2,0xd5,0xd4,0xda,0xea,0xfc,0xee,0xe4,0xf9,0xff,0xff,0xff,0xff,0xea,0x6c,0x9d,0xf6,0xc1,0x6b,0x4e,0x52,0x46,0x7a,0xf9,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf9,0xd2,0xd3,0xd6,0xe5,0xf7,0xfe,0xf7,0xd8,0xd5,0xe7,0xfd,0xe9,0xe7,0xff,0x98,0x1a,0x26,0xd2,0xff,0xf0,0xa6,0x60,0x48,0x43,0xe9,0xff,0xff,0xff, - 0xff,0xff,0xfe,0xfc,0xea,0xe0,0xf3,0xfd,0xfe,0xfe,0xe4,0xda,0xdb,0xf3,0xf7,0xda,0xd9,0xf9,0xd1,0x39,0x36,0x5a,0xfa,0xff,0xfb,0xdd,0x92,0xb0,0xfa,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xfd,0xfd,0xfd,0xff,0xff,0xf4,0xd9,0xda,0xe4,0xfd,0xf3,0xde,0xdd,0xf1,0xfa,0x84,0x32,0x2c,0xb1,0xff,0xff,0xfd,0xfb,0xfc,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xfe,0xff,0xff,0xfd,0xe0,0xda,0xdb,0xf7,0xfe,0xf4,0xdd,0xdc,0xf1,0xff,0xe9,0x45,0x37,0x44,0xf2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed,0xd8,0xd9,0xe9,0xfd,0xff,0xf4,0xdd,0xdc,0xf0,0xff,0xfd,0xa3,0x2f,0x26,0x94,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0xd7,0xde,0xfa,0xff,0xff,0xf4,0xde,0xdd,0xf0,0xff,0xff,0xf2,0x5f,0x25,0xa9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfb,0xf3,0xf7,0xfd,0xff,0xff,0xf3,0xdb,0xda,0xef,0xff,0xff,0xfd,0xe4,0xc9,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xfb,0xe5,0xe3,0xf9,0xff,0xff,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfc,0xfc,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xd1,0xcd,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xfd,0xff,0xff,0xff,0xec,0xa9,0xa6,0xe3,0xff,0xff,0xff,0xfd,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xec,0xba,0xcb,0xfd,0xff,0xff,0xe7,0xb0,0xaf,0xdf,0xff,0xff,0xfe,0xbe,0x9b,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xde,0xb8,0xb9,0xe2,0xff,0xff,0xe9,0xb0,0xae,0xe1,0xff,0xff,0xe0,0x99,0x97,0xc4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xc3,0xbd,0xc1,0xfa,0xff,0xe9,0xb0,0xae,0xe1,0xff,0xfb,0xab,0x9f,0xa3,0xed,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe2,0xbb,0xbd,0xd8,0xff,0xe9,0xb0,0xae,0xe0,0xff,0xd1,0x9b,0x9d,0xc9,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xef,0xe4,0xfc,0xff,0xff,0xfb,0xc9,0xbe,0xbe,0xf5,0xeb,0xaa,0xaa,0xe3,0xf7,0xa3,0x9f,0xa9,0xf6,0xff,0xff,0xfb,0xd1,0xe0,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfa,0xc5,0xc4,0xcd,0xec,0xfe,0xff,0xeb,0xbc,0xb7,0xd7,0xf9,0xc4,0xbf,0xf9,0xd0,0x94,0x9a,0xd9,0xff,0xfe,0xe1,0x9f,0x83,0x87,0xf0,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfb,0xd3,0xc6,0xca,0xc6,0xd3,0xf3,0xfc,0xd8,0xc6,0xeb,0xfd,0xf9,0xf9,0xfd,0xe8,0xac,0xbe,0xfa,0xf1,0xae,0x89,0x8c,0x89,0x99,0xf2,0xff,0xff,0xff, - 0xff,0xff,0xfe,0xfd,0xf8,0xe1,0xcc,0xc9,0xc8,0xc5,0xe3,0xfc,0xf8,0xfc,0xfd,0xff,0xff,0xfd,0xfd,0xf5,0xfb,0xd4,0x8b,0x8a,0x8c,0x91,0xb7,0xee,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xfe,0xfd,0xf2,0xd9,0xc9,0xc3,0xd2,0xfd,0xff,0xfe,0xff,0xff,0xff,0xff,0xfe,0xff,0xfd,0xa6,0x7e,0x8c,0xaa,0xdf,0xfa,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xf0,0xdb,0xef,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xde,0xae,0xdb,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xfe,0xfd,0xf3,0xf3,0xf3,0xf3,0xf2,0xf2,0xfb,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xfd,0xf7,0xe0,0xde,0xde,0xe0,0xde,0xe1,0xfb,0xff,0xff, - 0xff,0xfe,0xe1,0xce,0xd1,0xd1,0xd1,0xd3,0xce,0xe0,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xa8,0x6a,0x77,0x76,0x76,0x76,0x6a,0xa7,0xfe,0xff, - 0xff,0xfe,0xdf,0xcd,0xd2,0xd2,0xd2,0xd2,0xcd,0xdf,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0x9f,0x6b,0x78,0x77,0x77,0x78,0x6c,0x9e,0xfd,0xff, - 0xff,0xfe,0xf8,0xea,0xea,0xeb,0xea,0xea,0xec,0xfa,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xcd,0xc0,0xc2,0xc2,0xc2,0xc3,0xed,0xfe,0xff, - 0xff,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfa,0xea,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed,0xab,0xe8,0xff,0xfe,0xfd,0xfd,0xfd,0xfe,0xfe,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xec,0xd9,0xd4,0xdf,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x85,0x47,0x60,0xa7,0xf7,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xf3,0xdc,0xd7,0xd9,0xd6,0xe4,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xa9,0x57,0x60,0x57,0x6a,0xc2,0xfc,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xe4,0xd5,0xd8,0xd9,0xdd,0xea,0xfc,0xed,0xe4,0xf9,0xff,0xff,0xff,0xff,0xec,0x75,0xa3,0xf7,0xc5,0x78,0x5c,0x5f,0x54,0x84,0xfa,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfa,0xd5,0xd6,0xda,0xe7,0xf8,0xfe,0xf7,0xd9,0xd6,0xe8,0xfd,0xe9,0xe8,0xfe,0x9f,0x29,0x35,0xd5,0xff,0xef,0xae,0x6a,0x56,0x51,0xea,0xff,0xff,0xff, - 0xff,0xff,0xfe,0xfd,0xeb,0xe2,0xf4,0xfd,0xfe,0xfe,0xe3,0xdb,0xdc,0xf3,0xf7,0xd9,0xd9,0xf9,0xd6,0x47,0x43,0x66,0xfa,0xff,0xfb,0xe1,0x9a,0xb5,0xfa,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xfe,0xfd,0xfd,0xff,0xff,0xf4,0xda,0xdb,0xe5,0xfd,0xf3,0xde,0xdd,0xf1,0xfb,0x8e,0x40,0x3b,0xb5,0xff,0xff,0xfe,0xfb,0xfc,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xfd,0xdf,0xdb,0xdd,0xf6,0xfe,0xf4,0xdd,0xdc,0xf1,0xff,0xe9,0x53,0x45,0x52,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed,0xd9,0xdc,0xe9,0xfe,0xff,0xf4,0xdd,0xdc,0xf0,0xff,0xfd,0xa8,0x3d,0x35,0x9b,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0xd8,0xdf,0xfa,0xff,0xff,0xf4,0xde,0xdd,0xf0,0xff,0xff,0xf3,0x6a,0x34,0xb0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xf3,0xf7,0xfe,0xff,0xff,0xf3,0xdb,0xda,0xef,0xff,0xff,0xfd,0xe6,0xcd,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xfb,0xe5,0xe3,0xf9,0xff,0xff,0xfe,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfc,0xfc,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xd5,0xd1,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xfd,0xff,0xff,0xff,0xed,0xb1,0xaf,0xe5,0xff,0xff,0xff,0xfd,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0xc0,0xd0,0xfd,0xff,0xff,0xea,0xb8,0xb7,0xe3,0xff,0xff,0xfe,0xc5,0xa4,0xe2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0xbf,0xc0,0xe5,0xff,0xff,0xeb,0xb7,0xb7,0xe3,0xff,0xff,0xe2,0xa3,0xa1,0xc9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf6,0xc9,0xc4,0xc7,0xfa,0xff,0xeb,0xb7,0xb7,0xe3,0xff,0xfb,0xb3,0xa9,0xac,0xee,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe4,0xc2,0xc2,0xdb,0xff,0xeb,0xb8,0xb7,0xe3,0xff,0xd5,0xa5,0xa6,0xce,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xf0,0xe5,0xfc,0xff,0xff,0xfb,0xce,0xc4,0xc2,0xf6,0xed,0xb4,0xb2,0xe6,0xf7,0xab,0xa9,0xb1,0xf6,0xff,0xff,0xfb,0xd6,0xe3,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfa,0xca,0xc9,0xd1,0xed,0xfe,0xff,0xed,0xc0,0xbe,0xda,0xfa,0xc9,0xc5,0xf9,0xd2,0x9f,0xa3,0xdc,0xff,0xfe,0xe2,0xa8,0x8e,0x90,0xf1,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfb,0xd6,0xcb,0xce,0xcb,0xd7,0xf4,0xfc,0xdd,0xca,0xee,0xfd,0xf9,0xfa,0xfd,0xea,0xb3,0xc4,0xfb,0xf2,0xb6,0x93,0x97,0x94,0xa2,0xf3,0xff,0xff,0xff, - 0xff,0xff,0xfe,0xfd,0xfa,0xe3,0xd1,0xcd,0xcd,0xca,0xe4,0xfc,0xf9,0xfd,0xfd,0xff,0xff,0xfd,0xfd,0xf7,0xfb,0xd8,0x95,0x94,0x96,0x9a,0xbe,0xef,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xfe,0xfd,0xf4,0xdd,0xce,0xc7,0xd5,0xfd,0xff,0xfe,0xff,0xff,0xff,0xff,0xfe,0xff,0xfd,0xac,0x8a,0x96,0xb1,0xe2,0xfb,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xf0,0xdd,0xf0,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe1,0xb7,0xdd,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xfe,0xfd,0xf4,0xf4,0xf5,0xf4,0xf3,0xf4,0xfb,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xf8,0xe1,0xe1,0xe2,0xe2,0xe0,0xe2,0xfb,0xff,0xff, - 0xff,0xfe,0xe4,0xd1,0xd5,0xd4,0xd6,0xd6,0xd1,0xe3,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xaf,0x77,0x81,0x82,0x82,0x81,0x75,0xae,0xfe,0xff, - 0xff,0xfe,0xe0,0xd1,0xd6,0xd5,0xd5,0xd5,0xd1,0xe0,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xa6,0x76,0x83,0x82,0x82,0x83,0x77,0xa6,0xfd,0xff, - 0xff,0xfe,0xf8,0xeb,0xeb,0xeb,0xed,0xeb,0xee,0xfa,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xd2,0xc5,0xc7,0xc7,0xc7,0xc7,0xef,0xfe,0xff, - 0xff,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xf9,0xec,0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0xb2,0xeb,0xff,0xfe,0xfd,0xfd,0xfd,0xfe,0xfe,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xeb,0xdb,0xd7,0xe0,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x90,0x55,0x6e,0xae,0xf7,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xf2,0xde,0xd9,0xdb,0xd8,0xe5,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xaf,0x64,0x6d,0x66,0x76,0xc8,0xfc,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xe5,0xd8,0xda,0xdb,0xde,0xee,0xfc,0xef,0xe5,0xf8,0xff,0xff,0xff,0xff,0xed,0x7f,0xa9,0xf7,0xca,0x83,0x69,0x6d,0x61,0x8f,0xfa,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfa,0xd8,0xd8,0xdc,0xe8,0xf9,0xfe,0xf8,0xda,0xd7,0xec,0xfa,0x8a,0x7e,0xf8,0xa9,0x37,0x44,0xd8,0xff,0xf1,0xb5,0x76,0x64,0x5f,0xec,0xff,0xff,0xff, - 0xff,0xff,0xfe,0xfd,0xec,0xe4,0xf4,0xfd,0xfe,0xfe,0xe4,0xdc,0xdd,0xfb,0xd3,0x25,0x1f,0xc1,0xe6,0x54,0x51,0x70,0xfb,0xff,0xfb,0xe1,0xa3,0xbc,0xfa,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xfe,0xfd,0xfd,0xff,0xff,0xf4,0xdb,0xdd,0xe5,0xff,0xc8,0x37,0x33,0xb1,0xfd,0x95,0x4e,0x4a,0xb9,0xff,0xff,0xfe,0xfb,0xfc,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xfd,0xe1,0xdc,0xde,0xf7,0xff,0xca,0x38,0x32,0xb3,0xff,0xeb,0x5d,0x52,0x5d,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xda,0xdd,0xea,0xfe,0xff,0xcb,0x38,0x32,0xb3,0xff,0xfd,0xb0,0x4b,0x43,0xa2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xd9,0xe0,0xfa,0xff,0xff,0xc9,0x39,0x33,0xb1,0xff,0xff,0xf4,0x74,0x42,0xb5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xf3,0xf7,0xfd,0xff,0xff,0xcb,0x28,0x24,0xb4,0xff,0xff,0xfd,0xe7,0xd1,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xef,0x6d,0x65,0xe6,0xff,0xff,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xf6,0xf5,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xd9,0xd4,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xfd,0xff,0xff,0xff,0xef,0xb8,0xb6,0xe9,0xff,0xff,0xff,0xfd,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xc6,0xd5,0xfd,0xff,0xff,0xec,0xbe,0xbe,0xe6,0xff,0xff,0xfe,0xca,0xac,0xe3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe2,0xc4,0xc6,0xe7,0xff,0xff,0xec,0xbe,0xbd,0xe6,0xff,0xff,0xe5,0xaa,0xa8,0xce,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xcd,0xc9,0xcb,0xfb,0xff,0xec,0xbe,0xbd,0xe6,0xff,0xfb,0xb9,0xb0,0xb2,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe6,0xc8,0xc7,0xde,0xff,0xec,0xbe,0xbd,0xe6,0xff,0xd7,0xac,0xad,0xd3,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xf1,0xe7,0xfc,0xff,0xff,0xfb,0xd2,0xc9,0xc8,0xf5,0xef,0xba,0xb8,0xe8,0xf8,0xb3,0xb0,0xb9,0xf7,0xff,0xff,0xfc,0xd9,0xe5,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf9,0xcf,0xcd,0xd5,0xee,0xfe,0xff,0xee,0xc6,0xc3,0xde,0xfa,0xce,0xcb,0xfa,0xd7,0xa6,0xac,0xdf,0xff,0xfe,0xe5,0xaf,0x97,0x9a,0xf1,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfa,0xda,0xd0,0xd2,0xd1,0xdb,0xf4,0xfc,0xdf,0xcf,0xee,0xfd,0xfa,0xf9,0xfd,0xeb,0xb9,0xca,0xfb,0xf3,0xbb,0x9c,0x9f,0x9c,0xaa,0xf3,0xff,0xff,0xff, - 0xff,0xff,0xfe,0xfd,0xfa,0xe5,0xd5,0xd1,0xd2,0xcf,0xe7,0xfc,0xfa,0xfd,0xfd,0xff,0xff,0xfd,0xfc,0xf6,0xfb,0xdb,0x9d,0x9e,0xa0,0xa1,0xc3,0xf1,0xfc,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xfe,0xfd,0xf5,0xe0,0xd2,0xcd,0xd8,0xfd,0xff,0xfe,0xff,0xff,0xff,0xff,0xfe,0xff,0xfd,0xb4,0x94,0x9f,0xb7,0xe5,0xfb,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xf1,0xe1,0xf1,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe4,0xbc,0xdf,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xfe,0xfd,0xf5,0xf5,0xf5,0xf5,0xf2,0xf4,0xfc,0xfc,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xf8,0xe5,0xe1,0xe5,0xe4,0xe3,0xe5,0xfb,0xff,0xff, - 0xff,0xfe,0xe5,0xd5,0xd8,0xd8,0xd9,0xd9,0xd5,0xe5,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xb6,0x83,0x8e,0x8d,0x8d,0x8c,0x82,0xb5,0xfe,0xff, - 0xff,0xfe,0xe2,0xd6,0xd9,0xd8,0xd8,0xd8,0xd5,0xe3,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xae,0x81,0x8e,0x8e,0x8e,0x8d,0x82,0xad,0xfd,0xff, - 0xff,0xfe,0xf9,0xec,0xee,0xee,0xee,0xed,0xef,0xfb,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xd6,0xca,0xcc,0xcc,0xcc,0xcd,0xef,0xfe,0xff, - 0xff,0xfe,0xfc,0xfe,0xfe,0xfe,0xfe,0xfe,0xfa,0xeb,0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xb7,0xec,0xff,0xfe,0xfd,0xfd,0xfd,0xfe,0xfe,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xed,0xdc,0xd8,0xe2,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x96,0x62,0x78,0xb4,0xf8,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xf4,0xdf,0xda,0xdc,0xdb,0xe6,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xb6,0x6f,0x78,0x72,0x80,0xcc,0xfc,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xe6,0xda,0xdb,0xdc,0xdf,0xed,0xfc,0xef,0xe5,0xf8,0xff,0xff,0xff,0xff,0xee,0x89,0xb0,0xf8,0xcd,0x8b,0x74,0x77,0x6d,0x97,0xfa,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfa,0xd9,0xd9,0xdd,0xe9,0xf9,0xfd,0xf9,0xda,0xd7,0xeb,0xfa,0x93,0x87,0xf9,0xaf,0x48,0x53,0xdb,0xff,0xf1,0xba,0x82,0x70,0x6b,0xed,0xff,0xff,0xff, - 0xff,0xff,0xfe,0xfc,0xed,0xe5,0xf5,0xfd,0xfe,0xfe,0xe4,0xdc,0xdd,0xfb,0xd5,0x35,0x2f,0xc6,0xe8,0x60,0x5e,0x7b,0xfb,0xff,0xfb,0xe4,0xaa,0xc1,0xfa,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xfd,0xfe,0xff,0xff,0xf4,0xdb,0xdd,0xe5,0xff,0xcb,0x45,0x42,0xb5,0xfd,0x9d,0x5c,0x57,0xbf,0xff,0xff,0xfe,0xfc,0xfc,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xfe,0xff,0xff,0xfd,0xe1,0xdc,0xde,0xf7,0xff,0xcd,0x46,0x41,0xb7,0xff,0xec,0x6a,0x5f,0x6b,0xf4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xda,0xdd,0xea,0xfe,0xff,0xcf,0x46,0x41,0xb9,0xff,0xfd,0xb4,0x58,0x51,0xaa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xd9,0xe0,0xfa,0xff,0xff,0xcd,0x47,0x42,0xb5,0xff,0xff,0xf5,0x7e,0x51,0xba,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xf3,0xf7,0xfd,0xff,0xff,0xce,0x38,0x32,0xb9,0xff,0xff,0xfd,0xea,0xd4,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xf0,0x77,0x6f,0xe7,0xff,0xff,0xfe,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xf6,0xf5,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xdc,0xd8,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xfd,0xff,0xff,0xff,0xf0,0xbd,0xbd,0xe9,0xff,0xff,0xff,0xfd,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0xca,0xd7,0xfd,0xff,0xff,0xee,0xc4,0xc3,0xe7,0xff,0xff,0xfe,0xce,0xb4,0xe6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe4,0xc9,0xca,0xe9,0xff,0xff,0xee,0xc3,0xc3,0xe7,0xff,0xff,0xe7,0xb2,0xb1,0xd3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xd1,0xcf,0xce,0xfb,0xff,0xee,0xc3,0xc3,0xe7,0xff,0xfb,0xc0,0xb7,0xba,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xe9,0xcc,0xcb,0xe0,0xff,0xee,0xc3,0xc3,0xe7,0xff,0xdc,0xb4,0xb6,0xd7,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xf1,0xea,0xfc,0xff,0xff,0xfc,0xd5,0xce,0xcd,0xf6,0xef,0xc2,0xbe,0xea,0xf8,0xb9,0xb7,0xbe,0xf8,0xff,0xff,0xfc,0xdc,0xe8,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfa,0xd3,0xd1,0xd9,0xef,0xfe,0xff,0xf0,0xcc,0xc7,0xe0,0xfa,0xd3,0xce,0xfa,0xdc,0xaf,0xb4,0xe2,0xff,0xfe,0xe8,0xb6,0xa1,0xa3,0xf3,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfb,0xdd,0xd3,0xd5,0xd3,0xde,0xf5,0xfc,0xe1,0xd2,0xf0,0xfd,0xfa,0xf9,0xfd,0xed,0xc0,0xce,0xfb,0xf5,0xc0,0xa5,0xa8,0xa6,0xb2,0xf5,0xff,0xff,0xff, - 0xff,0xff,0xfe,0xfd,0xf9,0xe7,0xd7,0xd5,0xd5,0xd3,0xe8,0xfc,0xf9,0xfe,0xfd,0xff,0xff,0xfd,0xfc,0xf7,0xfb,0xde,0xa6,0xa7,0xa8,0xaa,0xca,0xf2,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xfe,0xfd,0xf6,0xe2,0xd5,0xd0,0xdc,0xfd,0xff,0xfe,0xff,0xff,0xff,0xff,0xfe,0xff,0xfd,0xbb,0x9c,0xa8,0xbe,0xe7,0xfb,0xfe,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xf3,0xe3,0xf3,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe6,0xc2,0xe2,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xfe,0xfd,0xf5,0xf6,0xf6,0xf6,0xf5,0xf4,0xfb,0xfc,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xf8,0xe7,0xe4,0xe6,0xe7,0xe5,0xe6,0xfc,0xff,0xff, - 0xff,0xfe,0xe7,0xd7,0xda,0xdb,0xdb,0xdb,0xd9,0xe6,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xbd,0x8d,0x97,0x97,0x96,0x97,0x8c,0xbc,0xfe,0xff, - 0xff,0xfe,0xe5,0xd8,0xdb,0xda,0xda,0xdb,0xd8,0xe4,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xb5,0x8d,0x98,0x97,0x97,0x98,0x8e,0xb4,0xfd,0xff, - 0xff,0xfe,0xf9,0xed,0xee,0xee,0xee,0xee,0xf0,0xfc,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xd8,0xce,0xd0,0xd0,0xcf,0xd1,0xf1,0xfe,0xff, - 0xff,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfa,0xec,0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0xbd,0xed,0xfe,0xfe,0xfd,0xfd,0xfe,0xfe,0xfe,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xee,0xdd,0xd9,0xe3,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xa0,0x6e,0x83,0xb9,0xf8,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xf5,0xe0,0xdb,0xde,0xda,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbb,0x7b,0x82,0x7e,0x8a,0xcf,0xfd,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xe8,0xdb,0xde,0xdd,0xde,0xed,0xfd,0xb2,0x6d,0xe5,0xff,0xff,0xff,0xff,0xef,0x93,0xb6,0xf9,0xd2,0x95,0x80,0x83,0x78,0x9e,0xfb,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf9,0xda,0xdc,0xde,0xe9,0xf8,0xff,0xe5,0x30,0x19,0x86,0xfc,0x9b,0x8f,0xf9,0xb6,0x56,0x61,0xdc,0xff,0xf2,0xbe,0x8c,0x7b,0x77,0xef,0xff,0xff,0xff, - 0xff,0xff,0xfe,0xfd,0xed,0xe6,0xf4,0xfd,0xff,0xfd,0x6e,0x32,0x35,0xc6,0xe2,0x42,0x3e,0xc8,0xea,0x6d,0x6c,0x85,0xfb,0xff,0xfc,0xe5,0xb1,0xc5,0xfb,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xfe,0xfd,0xfe,0xfe,0xff,0xc6,0x2f,0x33,0x71,0xf9,0xd1,0x52,0x4f,0xba,0xfd,0xa5,0x68,0x65,0xc4,0xff,0xff,0xfe,0xfc,0xfc,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xfe,0xff,0xff,0xf6,0x54,0x36,0x3d,0xd8,0xff,0xd2,0x53,0x4e,0xbc,0xff,0xee,0x76,0x6b,0x76,0xf5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xa9,0x28,0x2f,0x8b,0xfc,0xff,0xd2,0x53,0x4e,0xbe,0xff,0xfd,0xba,0x66,0x60,0xaf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xb4,0x28,0x4f,0xed,0xff,0xff,0xd0,0x54,0x4f,0xbc,0xff,0xff,0xf6,0x89,0x5f,0xc1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf6,0xc7,0xdc,0xfc,0xff,0xff,0xd1,0x46,0x41,0xbe,0xff,0xff,0xfd,0xeb,0xd8,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xf1,0x82,0x7a,0xea,0xff,0xff,0xfe,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xf6,0xf6,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xde,0xdb,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xfd,0xff,0xff,0xff,0xf0,0xc5,0xc2,0xeb,0xff,0xff,0xff,0xfd,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xd0,0xda,0xfd,0xff,0xff,0xef,0xc9,0xc8,0xea,0xff,0xff,0xfe,0xd2,0xbc,0xe8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe6,0xce,0xce,0xea,0xff,0xff,0xef,0xc9,0xc8,0xea,0xff,0xff,0xea,0xb9,0xb9,0xd6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xd6,0xd2,0xd4,0xfb,0xff,0xef,0xc9,0xc8,0xea,0xff,0xfc,0xc6,0xbf,0xc1,0xf2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe9,0xd0,0xd1,0xe3,0xff,0xef,0xc9,0xc8,0xea,0xff,0xde,0xbc,0xbc,0xdb,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xf2,0xeb,0xfd,0xff,0xff,0xfc,0xd9,0xd2,0xd1,0xf8,0xef,0xc7,0xc5,0xec,0xf9,0xc0,0xbf,0xc5,0xf8,0xff,0xff,0xfc,0xde,0xe8,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfa,0xd6,0xd5,0xdb,0xf0,0xfe,0xff,0xf0,0xd0,0xcd,0xe2,0xfb,0xd7,0xd3,0xfa,0xdd,0xb7,0xba,0xe4,0xff,0xfe,0xe9,0xbc,0xaa,0xaa,0xf3,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfb,0xdf,0xd7,0xd8,0xd7,0xe0,0xf6,0xfc,0xe4,0xd6,0xf0,0xfd,0xfb,0xfb,0xfd,0xee,0xc6,0xd3,0xfb,0xf5,0xc7,0xac,0xb0,0xad,0xb8,0xf6,0xff,0xff,0xff, - 0xff,0xff,0xfe,0xfe,0xfa,0xe9,0xda,0xd8,0xd8,0xd5,0xea,0xfc,0xfa,0xfc,0xfd,0xff,0xff,0xfd,0xfd,0xf8,0xfb,0xdf,0xad,0xaf,0xaf,0xb2,0xcc,0xf3,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xfe,0xfd,0xf7,0xe4,0xd8,0xd5,0xde,0xfd,0xff,0xfe,0xff,0xff,0xff,0xff,0xfe,0xff,0xfd,0xc1,0xa6,0xaf,0xc3,0xe7,0xfb,0xfe,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xf4,0xe5,0xf3,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe7,0xc8,0xe5,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xfe,0xfe,0xf6,0xf5,0xf5,0xf6,0xf5,0xf4,0xfc,0xfc,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xfd,0xf9,0xe8,0xe7,0xe7,0xe9,0xe7,0xe9,0xfc,0xff,0xff, - 0xff,0xfe,0xe8,0xd8,0xdc,0xdc,0xdc,0xdd,0xd8,0xe7,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc2,0x97,0xa0,0x9f,0x9f,0xa0,0x97,0xc1,0xfe,0xff, - 0xff,0xfe,0xe6,0xd9,0xdc,0xdc,0xdc,0xdc,0xda,0xe6,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xba,0x97,0xa0,0xa0,0xa0,0xa0,0x96,0xbb,0xfd,0xff, - 0xff,0xfe,0xf8,0xee,0xee,0xee,0xee,0xee,0xef,0xfc,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xdc,0xd4,0xd5,0xd5,0xd3,0xd5,0xf1,0xfe,0xff, - 0xff,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfa,0xec,0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0xc2,0xee,0xfe,0xfe,0xfd,0xfd,0xfd,0xfe,0xfe,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xee,0xdd,0xd9,0xe3,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xa8,0x7b,0x8d,0xc0,0xf8,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xf5,0xe0,0xdb,0xde,0xda,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc0,0x87,0x8e,0x88,0x93,0xd3,0xfd,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xe8,0xdb,0xde,0xdd,0xde,0xee,0xfd,0xb7,0x77,0xe7,0xff,0xff,0xff,0xff,0xf1,0x9b,0xbb,0xf9,0xd6,0x9e,0x8a,0x8e,0x85,0xa8,0xfb,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf9,0xda,0xdc,0xde,0xe9,0xf8,0xff,0xe7,0x3e,0x27,0x8f,0xfc,0xa3,0x99,0xf9,0xbb,0x63,0x6c,0xdf,0xff,0xf4,0xc3,0x95,0x87,0x83,0xef,0xff,0xff,0xff, - 0xff,0xff,0xfe,0xfd,0xed,0xe6,0xf4,0xfd,0xff,0xfd,0x78,0x41,0x43,0xca,0xe5,0x52,0x4b,0xcd,0xeb,0x79,0x76,0x90,0xfb,0xff,0xfc,0xe9,0xb7,0xc9,0xfb,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xfe,0xfd,0xfe,0xfe,0xff,0xca,0x3c,0x42,0x7b,0xfa,0xd3,0x5f,0x5d,0xc0,0xfd,0xab,0x74,0x70,0xc9,0xff,0xff,0xfe,0xfc,0xfc,0xfc,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xfe,0xff,0xff,0xf7,0x61,0x43,0x4a,0xda,0xff,0xd4,0x60,0x5c,0xc2,0xff,0xef,0x80,0x77,0x80,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xaf,0x36,0x3e,0x95,0xfc,0xff,0xd4,0x60,0x5c,0xc2,0xff,0xfe,0xc0,0x71,0x6c,0xb6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xb9,0x38,0x5b,0xef,0xff,0xff,0xd3,0x61,0x5d,0xc0,0xff,0xff,0xf6,0x92,0x6c,0xc4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xcb,0xde,0xfd,0xff,0xff,0xd3,0x53,0x50,0xc3,0xff,0xff,0xfd,0xed,0xdb,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xf2,0x8b,0x82,0xeb,0xff,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xf7,0xf7,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xe0,0xdf,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xfd,0xff,0xff,0xff,0xf3,0xc9,0xc7,0xee,0xff,0xff,0xff,0xfe,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xd4,0xdc,0xfd,0xff,0xff,0xf1,0xcf,0xcc,0xea,0xff,0xff,0xfe,0xd6,0xc0,0xea,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe9,0xd2,0xd3,0xed,0xff,0xff,0xf1,0xce,0xcc,0xeb,0xff,0xff,0xea,0xbf,0xbe,0xd9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xd8,0xd5,0xd7,0xfc,0xff,0xf1,0xce,0xcc,0xeb,0xff,0xfc,0xca,0xc4,0xc5,0xf2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xec,0xd3,0xd4,0xe4,0xfe,0xf1,0xce,0xcc,0xeb,0xff,0xe0,0xc1,0xc1,0xde,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xf2,0xec,0xfd,0xff,0xff,0xfb,0xdb,0xd5,0xd5,0xf7,0xf3,0xcb,0xc9,0xed,0xf9,0xc4,0xc4,0xca,0xf9,0xff,0xff,0xfc,0xe1,0xea,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfa,0xd9,0xd7,0xdd,0xf1,0xfe,0xff,0xf2,0xd3,0xd0,0xe4,0xfb,0xd9,0xd6,0xfa,0xdf,0xbd,0xc1,0xe6,0xff,0xfe,0xec,0xc3,0xb2,0xb3,0xf4,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfb,0xe2,0xd9,0xdb,0xda,0xe1,0xf7,0xfd,0xe5,0xda,0xf2,0xfd,0xfa,0xfb,0xfd,0xf0,0xca,0xd6,0xfb,0xf5,0xcc,0xb4,0xb7,0xb6,0xbf,0xf6,0xff,0xff,0xff, - 0xff,0xff,0xfe,0xfe,0xf9,0xeb,0xdb,0xda,0xda,0xd7,0xeb,0xfc,0xfa,0xfc,0xfd,0xff,0xff,0xfd,0xfd,0xf9,0xfc,0xe2,0xb5,0xb6,0xb8,0xb8,0xd2,0xf4,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xfe,0xfd,0xf6,0xe7,0xdb,0xd7,0xdf,0xfd,0xff,0xfe,0xff,0xff,0xff,0xff,0xfe,0xff,0xfd,0xc7,0xaf,0xb7,0xca,0xea,0xfc,0xfe,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xf3,0xe6,0xf4,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe9,0xcc,0xe7,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xfe,0xfe,0xf6,0xf5,0xf7,0xf6,0xf4,0xf5,0xfc,0xfc,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xf9,0xe9,0xe8,0xea,0xea,0xea,0xeb,0xfc,0xff,0xff, - 0xff,0xfe,0xe8,0xd9,0xdc,0xdd,0xdd,0xde,0xd9,0xe7,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc7,0xa0,0xa9,0xa8,0xa8,0xa8,0xa0,0xc7,0xfe,0xff, - 0xff,0xfe,0xe6,0xda,0xdd,0xdd,0xdd,0xdd,0xdb,0xe5,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc0,0xa0,0xa9,0xa8,0xa8,0xa9,0xa1,0xc1,0xfd,0xff, - 0xff,0xfe,0xfa,0xee,0xef,0xef,0xef,0xee,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xdf,0xd6,0xd8,0xd8,0xd8,0xd8,0xf3,0xfe,0xff, - 0xff,0xfe,0xfd,0xfe,0xfe,0xfe,0xff,0xff,0xed,0xa4,0xe8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0xc8,0xef,0xfe,0xfe,0xfd,0xfd,0xfe,0xfe,0xfe,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xa4,0x3f,0x1b,0x5f,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xaf,0x86,0x97,0xc5,0xf9,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfd,0xc8,0x52,0x2d,0x37,0x2a,0x7d,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc6,0x91,0x97,0x92,0x9c,0xd7,0xfd,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfa,0x7c,0x2b,0x36,0x33,0x4d,0xa4,0xf3,0xbf,0x81,0xe8,0xff,0xff,0xff,0xff,0xf1,0xa2,0xc1,0xf9,0xd8,0xa6,0x94,0x98,0x8f,0xae,0xfb,0xff,0xff,0xff, - 0xff,0xff,0xff,0xea,0x2c,0x2a,0x3f,0x8a,0xe2,0xfd,0xea,0x4c,0x36,0x95,0xfc,0xa9,0xa0,0xfa,0xc1,0x6e,0x79,0xe1,0xff,0xf5,0xca,0x9e,0x92,0x8e,0xf1,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf9,0xa1,0x75,0xca,0xf8,0xff,0xfd,0x82,0x4d,0x51,0xce,0xe7,0x61,0x5a,0xd0,0xed,0x83,0x81,0x97,0xfb,0xff,0xfc,0xea,0xbd,0xcf,0xfb,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xfb,0xf9,0xfd,0xff,0xff,0xcd,0x4b,0x50,0x85,0xfa,0xd7,0x6d,0x6a,0xc5,0xfe,0xb2,0x7f,0x7b,0xcd,0xff,0xff,0xfe,0xfc,0xfd,0xfc,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0x6c,0x51,0x57,0xde,0xff,0xd8,0x6d,0x69,0xc7,0xff,0xf0,0x8b,0x83,0x8a,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xb5,0x45,0x4b,0x9b,0xfc,0xff,0xd9,0x6d,0x69,0xc7,0xff,0xfe,0xc5,0x7d,0x78,0xbb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0x46,0x67,0xed,0xff,0xff,0xd8,0x6d,0x6a,0xc5,0xff,0xff,0xf7,0x9b,0x78,0xc8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xcf,0xe1,0xfc,0xff,0xff,0xd7,0x62,0x5e,0xc8,0xff,0xff,0xfd,0xef,0xdc,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xf3,0x94,0x8d,0xec,0xff,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xf8,0xf6,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xe4,0xe1,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xfd,0xff,0xff,0xff,0xf3,0xcd,0xcd,0xee,0xff,0xff,0xff,0xfe,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf4,0xd6,0xe0,0xfd,0xff,0xff,0xf1,0xd3,0xd1,0xed,0xff,0xff,0xfe,0xda,0xc6,0xea,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0xd5,0xd6,0xee,0xff,0xff,0xf2,0xd3,0xd0,0xed,0xff,0xff,0xed,0xc4,0xc5,0xdd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xdb,0xd9,0xda,0xfc,0xff,0xf2,0xd3,0xd0,0xed,0xff,0xfc,0xce,0xc9,0xcc,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xee,0xd6,0xd7,0xe6,0xfe,0xf2,0xd3,0xd0,0xed,0xff,0xe3,0xc6,0xc8,0xe1,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xf3,0xec,0xfd,0xff,0xff,0xfc,0xde,0xd8,0xd8,0xf8,0xf2,0xd0,0xcf,0xef,0xf9,0xca,0xca,0xcf,0xf9,0xff,0xff,0xfc,0xe3,0xec,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfa,0xda,0xd8,0xde,0xf2,0xfe,0xff,0xf2,0xd7,0xd4,0xe7,0xfb,0xdd,0xda,0xfb,0xe1,0xc4,0xc6,0xe8,0xff,0xfe,0xee,0xc8,0xb9,0xba,0xf5,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfb,0xe1,0xda,0xdd,0xdb,0xe2,0xf7,0xfd,0xe7,0xdc,0xf3,0xfd,0xfb,0xfc,0xfd,0xf1,0xcf,0xd9,0xfc,0xf6,0xd1,0xbb,0xbd,0xbd,0xc4,0xf7,0xff,0xff,0xff, - 0xff,0xff,0xfe,0xfe,0xfb,0xea,0xdc,0xdb,0xdb,0xda,0xeb,0xfc,0xfb,0xfc,0xfd,0xff,0xff,0xfd,0xfd,0xf8,0xfc,0xe4,0xbb,0xbe,0xbe,0xbf,0xd6,0xf5,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xfe,0xfd,0xf6,0xe6,0xdc,0xd8,0xe0,0xfd,0xff,0xfe,0xff,0xff,0xff,0xff,0xfe,0xff,0xfd,0xcb,0xb7,0xbd,0xce,0xec,0xfc,0xfe,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xf4,0xe8,0xf4,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xed,0xd0,0xe9,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xfe,0xfe,0xf6,0xf5,0xf7,0xf5,0xf4,0xf5,0xfc,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfa,0xeb,0xea,0xec,0xec,0xeb,0xeb,0xfc,0xff,0xff, - 0xff,0xfe,0xe8,0xd9,0xdc,0xdd,0xdd,0xde,0xd9,0xe7,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xcb,0xa8,0xb0,0xb0,0xb0,0xb0,0xa8,0xcc,0xfe,0xff, - 0xff,0xfe,0xe6,0xda,0xdd,0xdd,0xdd,0xdd,0xdb,0xe5,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc8,0xa8,0xb0,0xb0,0xb0,0xb0,0xa8,0xc7,0xfd,0xff, - 0xff,0xfe,0xfa,0xee,0xef,0xef,0xef,0xee,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xe2,0xdb,0xdc,0xdc,0xdc,0xdc,0xf4,0xfe,0xff, - 0xff,0xfe,0xfd,0xfe,0xfe,0xfe,0xff,0xff,0xee,0xaa,0xe9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xcb,0xf0,0xfe,0xfe,0xfe,0xfd,0xfe,0xfe,0xfe,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xab,0x4e,0x2b,0x6b,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xb6,0x91,0xa0,0xca,0xf9,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfd,0xcb,0x5d,0x3d,0x45,0x3a,0x86,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xcb,0x9a,0x9f,0x9c,0xa5,0xdb,0xfd,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfb,0x84,0x3a,0x45,0x42,0x5a,0xa9,0xf4,0xc4,0x8a,0xe9,0xff,0xff,0xff,0xff,0xf2,0xaa,0xc6,0xf9,0xdc,0xad,0x9e,0xa1,0x99,0xb5,0xfb,0xff,0xff,0xff, - 0xff,0xff,0xff,0xeb,0x3b,0x39,0x4d,0x91,0xe4,0xfd,0xec,0x59,0x46,0x9f,0xfc,0xb0,0xa6,0xfa,0xc6,0x7c,0x82,0xe5,0xff,0xf5,0xcf,0xa5,0x9a,0x97,0xf2,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf9,0xa8,0x7e,0xcf,0xf8,0xff,0xfe,0x8b,0x5b,0x5e,0xd1,0xe8,0x6c,0x67,0xd4,0xed,0x8e,0x8c,0xa0,0xfc,0xff,0xfc,0xec,0xc2,0xd3,0xfc,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xfb,0xf9,0xfd,0xff,0xff,0xd1,0x58,0x5c,0x8d,0xfa,0xd9,0x78,0x76,0xc9,0xfd,0xb9,0x8b,0x87,0xd0,0xff,0xff,0xfe,0xfc,0xfd,0xfc,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x77,0x5e,0x63,0xe0,0xff,0xda,0x78,0x74,0xcb,0xff,0xf1,0x95,0x8d,0x94,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xba,0x53,0x59,0xa4,0xfc,0xff,0xda,0x78,0x74,0xcb,0xff,0xfe,0xca,0x88,0x84,0xc1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc4,0x52,0x72,0xef,0xff,0xff,0xd9,0x78,0x75,0xc9,0xff,0xff,0xf8,0xa3,0x82,0xce,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xd1,0xe2,0xfd,0xff,0xff,0xda,0x6d,0x6a,0xca,0xff,0xff,0xfd,0xef,0xdf,0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xf3,0x9c,0x95,0xec,0xff,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xf8,0xf7,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xe6,0xe2,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xfd,0xff,0xff,0xff,0xf4,0xd1,0xd0,0xef,0xff,0xff,0xff,0xfe,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf4,0xd9,0xe3,0xfd,0xff,0xff,0xf2,0xd5,0xd5,0xed,0xff,0xff,0xfe,0xdc,0xcb,0xed,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb,0xd7,0xd8,0xef,0xff,0xff,0xf2,0xd6,0xd5,0xed,0xff,0xff,0xee,0xcb,0xc9,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xdc,0xdc,0xdc,0xfb,0xff,0xf2,0xd6,0xd5,0xef,0xff,0xfc,0xd3,0xcd,0xcf,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xef,0xd8,0xda,0xe7,0xff,0xf3,0xd6,0xd5,0xed,0xff,0xe5,0xca,0xcd,0xe3,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xf5,0xed,0xfd,0xff,0xff,0xfc,0xe0,0xda,0xda,0xf7,0xf3,0xd3,0xd2,0xef,0xf9,0xcf,0xce,0xd2,0xf9,0xff,0xff,0xfc,0xe5,0xee,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfb,0xda,0xdb,0xdf,0xf2,0xfe,0xff,0xf3,0xd9,0xd7,0xe8,0xfb,0xdf,0xdc,0xfb,0xe4,0xc8,0xcb,0xea,0xff,0xfe,0xf0,0xcb,0xbe,0xc0,0xf5,0xff,0xff,0xff, - 0xff,0xff,0xfe,0xfc,0xe3,0xdb,0xde,0xdc,0xe3,0xf7,0xfd,0xe8,0xde,0xf4,0xfd,0xfb,0xfb,0xfd,0xf2,0xd3,0xdd,0xfc,0xf5,0xd4,0xc0,0xc4,0xc2,0xc9,0xf7,0xff,0xff,0xff, - 0xff,0xff,0xfe,0xfe,0xfb,0xeb,0xdd,0xdd,0xdc,0xdb,0xec,0xfc,0xfb,0xfc,0xfd,0xff,0xff,0xfd,0xfc,0xf9,0xfc,0xe6,0xc1,0xc3,0xc3,0xc4,0xd9,0xf5,0xfe,0xfe,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xfe,0xfd,0xf6,0xe7,0xdc,0xd9,0xe2,0xfd,0xff,0xfe,0xff,0xff,0xff,0xff,0xfe,0xff,0xfe,0xcf,0xbc,0xc3,0xd1,0xee,0xfc,0xfe,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xeb,0xf3,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xed,0xd5,0xec,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xf9,0xd2,0xce,0xd1,0xcf,0xcc,0xd0,0xf8,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfa,0xee,0xeb,0xed,0xed,0xed,0xed,0xfc,0xff,0xff, - 0xff,0xfe,0x7f,0x21,0x36,0x36,0x36,0x36,0x23,0x7f,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xd1,0xb0,0xb8,0xb7,0xb7,0xb7,0xb1,0xd0,0xfe,0xff, - 0xff,0xfd,0x72,0x25,0x37,0x37,0x37,0x37,0x25,0x71,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xcc,0xb1,0xb9,0xb7,0xb7,0xb8,0xb2,0xcb,0xfd,0xff, - 0xff,0xfe,0xe4,0xa8,0xa3,0xa7,0xa7,0xa3,0xb2,0xf1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xe4,0xdf,0xde,0xdf,0xde,0xdf,0xf4,0xfd,0xff, - 0xff,0xfe,0xfe,0xfd,0xfc,0xfc,0xfe,0xfe,0xef,0xb2,0xea,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5,0xcf,0xf1,0xfe,0xff,0xfe,0xfe,0xfe,0xfd,0xfe,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xb3,0x5c,0x3a,0x76,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xbc,0x9b,0xa8,0xce,0xfa,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfd,0xcf,0x68,0x4a,0x53,0x47,0x8e,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xd0,0xa4,0xa9,0xa4,0xad,0xdf,0xfd,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfb,0x8d,0x47,0x51,0x4f,0x65,0xaf,0xf5,0xc7,0x94,0xea,0xff,0xff,0xff,0xff,0xf2,0xb1,0xca,0xfa,0xdf,0xb5,0xa7,0xa9,0xa1,0xbc,0xfc,0xff,0xff,0xff, - 0xff,0xff,0xff,0xec,0x48,0x47,0x5b,0x99,0xe6,0xfd,0xec,0x67,0x54,0xa5,0xfc,0xb5,0xad,0xfb,0xca,0x87,0x8e,0xe7,0xfe,0xf6,0xd1,0xaf,0xa4,0x9f,0xf3,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfa,0xae,0x88,0xd0,0xf9,0xfe,0xfd,0x95,0x69,0x6b,0xd4,0xea,0x79,0x74,0xd6,0xf0,0x98,0x95,0xa9,0xfc,0xff,0xfc,0xed,0xc8,0xd6,0xfc,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xfb,0xfa,0xfd,0xff,0xff,0xd5,0x67,0x6a,0x96,0xfa,0xdd,0x83,0x80,0xce,0xfe,0xbe,0x94,0x92,0xd5,0xff,0xff,0xfe,0xfd,0xfd,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x82,0x6c,0x71,0xe2,0xff,0xdd,0x83,0x80,0xce,0xff,0xf3,0x9e,0x97,0x9d,0xf8,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0x62,0x67,0xab,0xfc,0xff,0xde,0x82,0x80,0xd0,0xff,0xfe,0xce,0x92,0x8e,0xc6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc8,0x62,0x7d,0xf0,0xff,0xff,0xde,0x83,0x80,0xcc,0xff,0xff,0xf8,0xab,0x8e,0xd2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xd5,0xe5,0xfd,0xff,0xff,0xde,0x78,0x77,0xce,0xff,0xff,0xfd,0xf1,0xe2,0xfa,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xf3,0xa4,0x9e,0xee,0xff,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xf8,0xf9,0xfc,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xe9,0xe4,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xfd,0xff,0xff,0xff,0xf4,0xd6,0xd3,0xf0,0xff,0xff,0xff,0xfe,0xfc,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5,0xda,0xe2,0xfd,0xff,0xff,0xf3,0xd9,0xd8,0xf0,0xff,0xff,0xfe,0xe0,0xcf,0xee,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xec,0xd8,0xd9,0xee,0xff,0xff,0xf3,0xd9,0xd8,0xf0,0xff,0xff,0xf0,0xcf,0xce,0xe3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xdd,0xdd,0xdd,0xfc,0xff,0xf3,0xd9,0xd8,0xf0,0xff,0xfc,0xd6,0xd2,0xd4,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xef,0xda,0xdb,0xe8,0xfe,0xf4,0xd9,0xd8,0xf0,0xff,0xe7,0xd0,0xd1,0xe5,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xf5,0xed,0xfd,0xff,0xff,0xfc,0xe1,0xdb,0xdb,0xf7,0xf4,0xd7,0xd6,0xf0,0xfa,0xd3,0xd2,0xd7,0xfa,0xff,0xff,0xfd,0xe8,0xef,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfb,0xda,0xdb,0xdf,0xf2,0xfe,0xff,0xf4,0xda,0xd8,0xe8,0xfb,0xe1,0xde,0xfb,0xe7,0xcd,0xcf,0xec,0xff,0xfe,0xf0,0xd1,0xc5,0xc6,0xf6,0xff,0xff,0xff, - 0xff,0xff,0xfe,0xfc,0xe3,0xdb,0xde,0xdc,0xe3,0xf7,0xfd,0xea,0xdf,0xf3,0xfd,0xfb,0xfb,0xfd,0xf2,0xd6,0xe0,0xfc,0xf6,0xd8,0xc6,0xc9,0xc7,0xce,0xf7,0xff,0xff,0xff, - 0xff,0xff,0xfe,0xfe,0xfb,0xeb,0xdd,0xdd,0xdc,0xdb,0xec,0xfc,0xfb,0xfc,0xfd,0xff,0xff,0xfd,0xfc,0xf9,0xfc,0xe9,0xc7,0xc8,0xca,0xca,0xdc,0xf6,0xfe,0xfe,0xff,0xff, - 0xff,0xff,0xff,0xfe,0xfe,0xfd,0xf6,0xe7,0xdc,0xd9,0xe2,0xfd,0xff,0xfe,0xff,0xff,0xff,0xff,0xfe,0xff,0xfe,0xd3,0xc3,0xc8,0xd5,0xf0,0xfc,0xfe,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xeb,0xf3,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xef,0xd9,0xec,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xfa,0xd6,0xd2,0xd4,0xd3,0xcf,0xd4,0xf8,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfa,0xee,0xed,0xef,0xef,0xef,0xef,0xfd,0xff,0xff, - 0xff,0xfe,0x88,0x32,0x44,0x44,0x44,0x44,0x32,0x86,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xd4,0xb7,0xbe,0xbe,0xbe,0xbe,0xb8,0xd5,0xfe,0xff, - 0xff,0xfd,0x7c,0x33,0x45,0x45,0x45,0x45,0x33,0x7b,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xd1,0xb8,0xbf,0xbf,0xbf,0xbf,0xb8,0xd0,0xfe,0xff, - 0xff,0xfe,0xe6,0xb0,0xaa,0xad,0xac,0xa9,0xb7,0xf2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xe6,0xe1,0xe1,0xe2,0xe1,0xe1,0xf5,0xfe,0xff, - 0xff,0xfe,0xfe,0xfd,0xfd,0xfd,0xfe,0xff,0xf0,0xb7,0xeb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf4,0xd4,0xf3,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xb9,0x68,0x49,0x80,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc2,0xa4,0xb0,0xd2,0xfa,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfd,0xd2,0x75,0x56,0x5f,0x55,0x97,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xd4,0xac,0xb0,0xad,0xb6,0xe0,0xfd,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfb,0x96,0x56,0x5e,0x5d,0x70,0xb7,0xf5,0xcb,0x9b,0xec,0xff,0xff,0xff,0xff,0xf4,0xb7,0xce,0xfa,0xe1,0xbc,0xaf,0xb0,0xab,0xc2,0xfc,0xff,0xff,0xff, - 0xff,0xff,0xff,0xee,0x55,0x55,0x67,0xa0,0xe7,0xfd,0xee,0x73,0x61,0xac,0xfd,0xbc,0xb5,0xfb,0xcf,0x92,0x97,0xe8,0xff,0xf6,0xd7,0xb5,0xac,0xa9,0xf3,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfa,0xb3,0x90,0xd5,0xf9,0xfe,0xfe,0x9c,0x73,0x76,0xd6,0xeb,0x84,0x7f,0xda,0xef,0xa1,0x9f,0xb0,0xfc,0xff,0xfc,0xef,0xcc,0xda,0xfc,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xfb,0xfa,0xfd,0xff,0xff,0xd8,0x70,0x75,0x9f,0xfb,0xe0,0x8e,0x8b,0xd0,0xfd,0xc4,0x9d,0x9b,0xd8,0xff,0xff,0xfe,0xfd,0xfd,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0x8b,0x76,0x7b,0xe4,0xff,0xe1,0x8d,0x8b,0xd2,0xff,0xf3,0xa6,0xa0,0xa5,0xf8,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc3,0x6e,0x71,0xb1,0xfc,0xff,0xe1,0x8d,0x8b,0xd3,0xff,0xfe,0xd2,0x9a,0x98,0xcb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcc,0x6c,0x88,0xf2,0xff,0xff,0xe0,0x8e,0x8b,0xd1,0xff,0xff,0xf9,0xb2,0x97,0xd5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xd8,0xe7,0xfd,0xff,0xff,0xe0,0x85,0x82,0xd4,0xff,0xff,0xfd,0xf1,0xe5,0xf9,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xf5,0xad,0xa6,0xef,0xff,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xf8,0xf9,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xe8,0xe7,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xfd,0xff,0xff,0xff,0xf5,0xd8,0xd6,0xf1,0xff,0xff,0xff,0xfe,0xfb,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5,0xdb,0xe4,0xfd,0xff,0xff,0xf4,0xdb,0xdb,0xef,0xff,0xff,0xfe,0xe2,0xd2,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xec,0xd9,0xda,0xf0,0xff,0xff,0xf4,0xdb,0xda,0xef,0xff,0xff,0xf1,0xd2,0xd2,0xe3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xdf,0xde,0xde,0xfc,0xff,0xf4,0xdb,0xda,0xf1,0xff,0xfd,0xda,0xd5,0xd7,0xf5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xee,0xdb,0xdc,0xea,0xfe,0xf5,0xdb,0xda,0xef,0xff,0xe8,0xd4,0xd4,0xe6,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xc8,0x9f,0xf5,0xff,0xff,0xfc,0xe2,0xdc,0xdc,0xf7,0xf5,0xd9,0xd8,0xf1,0xf9,0xd7,0xd5,0xd9,0xf9,0xff,0xff,0xfd,0xe9,0xf1,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf1,0x2a,0x23,0x49,0xba,0xfc,0xff,0xf5,0xdb,0xd9,0xe9,0xfc,0xe4,0xe1,0xfb,0xe8,0xd1,0xd2,0xed,0xff,0xfe,0xf2,0xd4,0xc9,0xcb,0xf7,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf5,0x5d,0x2f,0x37,0x2c,0x60,0xd9,0xfe,0xea,0xe0,0xf4,0xfd,0xfb,0xfb,0xfd,0xf3,0xda,0xe2,0xfc,0xf6,0xdb,0xcc,0xcd,0xcb,0xd2,0xf8,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xee,0x94,0x42,0x34,0x34,0x28,0x9f,0xfd,0xfc,0xfc,0xfd,0xff,0xff,0xfd,0xfc,0xfa,0xfc,0xeb,0xcc,0xcc,0xce,0xce,0xdf,0xf6,0xfe,0xfe,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xfa,0xd8,0x78,0x39,0x1f,0x57,0xfb,0xff,0xfe,0xff,0xff,0xff,0xff,0xfe,0xff,0xfd,0xd7,0xc7,0xcd,0xd9,0xf0,0xfd,0xfe,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xc9,0x7d,0xc8,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xf0,0xdb,0xed,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xfa,0xd8,0xd4,0xd6,0xd6,0xd6,0xda,0xf5,0xfc,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfb,0xef,0xee,0xf0,0xf0,0xef,0xf1,0xfd,0xff,0xff, - 0xff,0xfe,0x91,0x3f,0x51,0x51,0x51,0x52,0x41,0x92,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xd7,0xbe,0xc4,0xc3,0xc3,0xc3,0xbe,0xd8,0xfe,0xff, - 0xff,0xfd,0x84,0x42,0x53,0x52,0x52,0x53,0x42,0x84,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xd4,0xbf,0xc4,0xc4,0xc4,0xc5,0xbe,0xd5,0xfe,0xff, - 0xff,0xfe,0xe9,0xb4,0xb1,0xb3,0xb3,0xaf,0xbc,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xe8,0xe4,0xe5,0xe5,0xe3,0xe4,0xf6,0xfe,0xff, - 0xff,0xfe,0xfe,0xfd,0xfc,0xfc,0xfd,0xfe,0xf1,0xbc,0xed,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf6,0xd7,0xf4,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xbf,0x74,0x59,0x89,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc8,0xad,0xb7,0xd6,0xfb,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfd,0xd6,0x80,0x65,0x6d,0x64,0xa0,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xd8,0xb4,0xb9,0xb4,0xbc,0xe3,0xfd,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfb,0x9e,0x63,0x6c,0x69,0x7c,0xbb,0xf6,0xcf,0xa4,0xed,0xff,0xff,0xff,0xff,0xf5,0xbe,0xd1,0xfb,0xe4,0xc2,0xb7,0xb9,0xb2,0xc7,0xfc,0xff,0xff,0xff, - 0xff,0xff,0xff,0xef,0x64,0x63,0x73,0xa8,0xe8,0xfd,0xef,0x7e,0x6d,0xb3,0xfd,0xc2,0xbb,0xfb,0xd3,0x9c,0xa2,0xe9,0xfe,0xf8,0xd9,0xbd,0xb3,0xb2,0xf4,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfa,0xb9,0x9a,0xd7,0xfa,0xfe,0xfd,0xa4,0x7f,0x81,0xda,0xec,0x8f,0x8a,0xde,0xf0,0xaa,0xa7,0xb8,0xfc,0xff,0xfd,0xf0,0xd1,0xdd,0xfc,0xfe,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xfb,0xfa,0xfd,0xff,0xff,0xdb,0x7d,0x81,0xa5,0xfb,0xe2,0x97,0x96,0xd5,0xfe,0xc9,0xa7,0xa4,0xdc,0xff,0xff,0xfe,0xfd,0xfd,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0x94,0x82,0x84,0xe6,0xff,0xe3,0x97,0x95,0xd7,0xff,0xf4,0xad,0xa9,0xae,0xf9,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc9,0x79,0x7e,0xb7,0xfd,0xff,0xe3,0x97,0x95,0xd7,0xff,0xfe,0xd7,0xa4,0xa2,0xcf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd0,0x78,0x91,0xf2,0xff,0xff,0xe3,0x97,0x96,0xd5,0xff,0xff,0xf9,0xb8,0xa1,0xd8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xdb,0xe8,0xfd,0xff,0xff,0xe3,0x8f,0x8e,0xd8,0xff,0xff,0xfe,0xf3,0xe6,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xf5,0xb4,0xad,0xf1,0xff,0xff,0xfe,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xf9,0xf8,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xe9,0xe6,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xfd,0xff,0xff,0xff,0xf5,0xd9,0xd8,0xf0,0xff,0xff,0xff,0xfe,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5,0xdb,0xe4,0xfd,0xff,0xff,0xf4,0xdc,0xdb,0xf0,0xff,0xff,0xfe,0xe4,0xd6,0xf1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xec,0xd9,0xda,0xf0,0xff,0xff,0xf4,0xdc,0xdb,0xf1,0xff,0xff,0xf1,0xd5,0xd6,0xe6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xdf,0xde,0xde,0xfc,0xff,0xf4,0xdc,0xdb,0xf1,0xff,0xfd,0xdd,0xd8,0xd9,0xf6,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xee,0xdb,0xdc,0xea,0xfe,0xf4,0xdc,0xdb,0xf1,0xff,0xea,0xd7,0xd7,0xe8,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xcd,0xa5,0xf6,0xff,0xff,0xfc,0xe2,0xdc,0xdc,0xf7,0xf5,0xda,0xd9,0xf1,0xfa,0xda,0xd8,0xdd,0xfa,0xff,0xff,0xfd,0xeb,0xf2,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf2,0x3a,0x32,0x56,0xbe,0xfc,0xff,0xf5,0xdb,0xd9,0xe9,0xfc,0xe3,0xe2,0xfb,0xeb,0xd5,0xd6,0xee,0xff,0xfe,0xf3,0xd8,0xce,0xd0,0xf6,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf5,0x68,0x3d,0x44,0x3a,0x6b,0xdc,0xfe,0xea,0xe0,0xf4,0xfc,0xfc,0xfb,0xfd,0xf4,0xdc,0xe5,0xfc,0xf7,0xde,0xd0,0xd1,0xd0,0xd6,0xf9,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xee,0x9b,0x4f,0x43,0x42,0x38,0xa5,0xfd,0xfc,0xfc,0xfd,0xff,0xff,0xfd,0xfc,0xfb,0xfc,0xec,0xd0,0xd0,0xd2,0xd3,0xe1,0xf7,0xfd,0xfe,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xfa,0xdb,0x83,0x47,0x2f,0x64,0xfb,0xff,0xfe,0xff,0xff,0xff,0xff,0xfe,0xff,0xfd,0xd9,0xcd,0xd1,0xdc,0xf1,0xfd,0xfe,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xcd,0x85,0xcd,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xf1,0xde,0xef,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xfa,0xda,0xd8,0xda,0xda,0xd8,0xdd,0xf6,0xfd,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfb,0xf0,0xf0,0xf0,0xf2,0xf1,0xf2,0xfd,0xff,0xff, - 0xff,0xfe,0x99,0x4e,0x5d,0x5e,0x5e,0x5f,0x50,0x9a,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xdb,0xc4,0xc9,0xc9,0xc8,0xc9,0xc3,0xdc,0xfe,0xff, - 0xff,0xfd,0x8d,0x51,0x61,0x60,0x60,0x61,0x50,0x8e,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xd8,0xc5,0xca,0xca,0xca,0xca,0xc5,0xd8,0xfe,0xff, - 0xff,0xfe,0xeb,0xb9,0xb7,0xb9,0xb8,0xb5,0xc0,0xf4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfb,0xea,0xe6,0xe6,0xe7,0xe6,0xe6,0xf6,0xfe,0xff, - 0xff,0xfe,0xfe,0xfd,0xfc,0xfd,0xfd,0xfe,0xf2,0xc0,0xee,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xda,0xf3,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xc2,0x7e,0x64,0x93,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xcc,0xb6,0xbe,0xdb,0xfb,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xd9,0x89,0x71,0x78,0x6f,0xa5,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xdc,0xbb,0xbf,0xbc,0xc2,0xe6,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfc,0xa6,0x6e,0x77,0x74,0x86,0xc0,0xf7,0xd3,0xab,0xef,0xff,0xff,0xff,0xff,0xf5,0xc4,0xd5,0xfb,0xe6,0xc8,0xbd,0xbf,0xba,0xcc,0xfc,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf1,0x70,0x70,0x7c,0xae,0xea,0xfd,0xf0,0x8a,0x7b,0xb8,0xfd,0xc6,0xc1,0xfb,0xd7,0xa4,0xaa,0xec,0xfe,0xf7,0xdc,0xc2,0xbb,0xb7,0xf5,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfa,0xc0,0xa1,0xdb,0xfa,0xfe,0xfd,0xac,0x8b,0x8c,0xde,0xee,0x98,0x95,0xdf,0xf2,0xb0,0xb0,0xbd,0xfc,0xff,0xfd,0xf2,0xd5,0xe1,0xfc,0xfe,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xfc,0xfb,0xfd,0xff,0xff,0xdd,0x88,0x8b,0xae,0xfb,0xe4,0xa0,0x9f,0xd8,0xfe,0xcd,0xae,0xad,0xdf,0xff,0xff,0xfe,0xfd,0xfd,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0x9e,0x8c,0x90,0xe7,0xff,0xe5,0xa0,0x9e,0xda,0xff,0xf4,0xb4,0xb0,0xb5,0xf9,0xff,0xff,0xfe,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcd,0x85,0x88,0xbe,0xfd,0xff,0xe5,0xa0,0x9e,0xda,0xff,0xfe,0xda,0xac,0xaa,0xd4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd3,0x84,0x9b,0xf3,0xff,0xff,0xe5,0xa0,0x9e,0xd9,0xff,0xff,0xfa,0xbf,0xa8,0xdc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xde,0xea,0xfd,0xff,0xff,0xe4,0x9a,0x96,0xda,0xff,0xff,0xfe,0xf3,0xe9,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfe,0xfe,0xff,0xff,0xf6,0xba,0xb4,0xf2,0xff,0xff,0xfe,0xfe,0xfe,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xf8,0xf9,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xeb,0xe8,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf4,0xfa,0xff,0xff,0xff,0xf6,0xda,0xd9,0xf2,0xff,0xff,0xff,0xfe,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcc,0x2d,0x62,0xf9,0xff,0xff,0xf4,0xde,0xdc,0xf2,0xff,0xff,0xfe,0xe5,0xd8,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x9c,0x25,0x27,0xa9,0xff,0xff,0xf4,0xdd,0xdc,0xf2,0xff,0xff,0xf2,0xd8,0xd8,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe9,0x49,0x37,0x3f,0xf1,0xff,0xf4,0xdd,0xdc,0xf2,0xff,0xfd,0xde,0xdb,0xdc,0xf6,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xa8,0x30,0x2f,0x86,0xff,0xf5,0xdd,0xdd,0xf0,0xff,0xeb,0xd9,0xd9,0xe9,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xd1,0xac,0xf6,0xff,0xff,0xf4,0x5c,0x36,0x35,0xd9,0xfc,0xda,0xda,0xf1,0xfa,0xdd,0xda,0xdd,0xfa,0xff,0xff,0xfd,0xec,0xf3,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf2,0x47,0x41,0x61,0xc3,0xfd,0xff,0xc6,0x2f,0x1e,0x85,0xfe,0xe4,0xe2,0xfc,0xea,0xd7,0xd9,0xf0,0xfe,0xfe,0xf2,0xdb,0xd1,0xd2,0xf8,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf6,0x74,0x49,0x52,0x48,0x76,0xe1,0xf9,0x8d,0x50,0xc8,0xfe,0xfc,0xfb,0xfd,0xf4,0xdd,0xe6,0xfc,0xf8,0xe0,0xd4,0xd5,0xd3,0xd8,0xf9,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xf1,0xa2,0x5b,0x51,0x50,0x46,0xae,0xf8,0xf1,0xfb,0xfe,0xff,0xff,0xfd,0xfc,0xfb,0xfc,0xed,0xd4,0xd5,0xd5,0xd6,0xe3,0xf7,0xfd,0xfe,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xfa,0xdd,0x8a,0x54,0x3d,0x6f,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xfd,0xdd,0xd0,0xd4,0xde,0xf2,0xfd,0xfe,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xd0,0x8e,0xd1,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xf2,0xe0,0xf1,0xfc,0xfe,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xfb,0xdd,0xdb,0xdd,0xdc,0xda,0xdf,0xf7,0xfd,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfb,0xf1,0xf0,0xf1,0xf2,0xf2,0xf2,0xfd,0xfe,0xff, - 0xff,0xfe,0xa2,0x5d,0x6c,0x6b,0x6b,0x6c,0x5f,0xa3,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xdd,0xc8,0xcd,0xce,0xcd,0xcd,0xc9,0xde,0xfe,0xff, - 0xff,0xfd,0x98,0x5f,0x6d,0x6d,0x6d,0x6d,0x5f,0x97,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xdb,0xc9,0xce,0xce,0xce,0xce,0xc9,0xdb,0xfe,0xff, - 0xff,0xfe,0xea,0xc0,0xbc,0xbf,0xbe,0xbd,0xc5,0xf5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfb,0xec,0xe8,0xe8,0xe9,0xe6,0xe8,0xf7,0xfe,0xff, - 0xff,0xfe,0xfe,0xfd,0xfd,0xfd,0xfe,0xfe,0xf3,0xc7,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xde,0xf3,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xc6,0x88,0x72,0x9b,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xd1,0xbb,0xc4,0xde,0xfb,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xdb,0x93,0x7c,0x83,0x7b,0xad,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xdd,0xc0,0xc4,0xc1,0xc8,0xe7,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfc,0xac,0x7b,0x82,0x80,0x8e,0xc5,0xf7,0xd7,0xb2,0xf0,0xff,0xff,0xff,0xff,0xf6,0xca,0xda,0xfb,0xe9,0xcc,0xc3,0xc4,0xc0,0xd0,0xfc,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf1,0x7a,0x7a,0x87,0xb4,0xed,0xfd,0xf1,0x92,0x85,0xbe,0xfd,0xcb,0xc6,0xfc,0xda,0xad,0xb2,0xed,0xfe,0xf9,0xdf,0xc8,0xc0,0xbf,0xf5,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfb,0xc4,0xa8,0xde,0xfa,0xfe,0xfe,0xb3,0x96,0x96,0xe0,0xee,0xa1,0x9e,0xe2,0xf3,0xb8,0xb7,0xc2,0xfc,0xff,0xfd,0xf3,0xd9,0xe3,0xfb,0xfe,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xfc,0xfb,0xfd,0xff,0xff,0xe0,0x93,0x95,0xb4,0xfb,0xe6,0xaa,0xa7,0xdb,0xfe,0xd2,0xb7,0xb4,0xe1,0xff,0xff,0xfd,0xfd,0xfc,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xa6,0x97,0x9a,0xea,0xff,0xe8,0xa8,0xa7,0xdc,0xff,0xf6,0xbc,0xb7,0xbb,0xfa,0xff,0xff,0xfe,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd1,0x8f,0x92,0xc3,0xfd,0xff,0xe7,0xa8,0xa7,0xde,0xff,0xfe,0xde,0xb5,0xb2,0xd8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd7,0x8e,0xa3,0xf5,0xff,0xff,0xe7,0xa9,0xa7,0xde,0xff,0xff,0xfa,0xc4,0xb1,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xe1,0xec,0xfd,0xff,0xff,0xe8,0xa1,0xa1,0xdd,0xff,0xff,0xfe,0xf4,0xeb,0xfa,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xf7,0xbf,0xbb,0xf3,0xff,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xfb,0xf9,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xeb,0xe8,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5,0xfa,0xff,0xff,0xff,0xf6,0xda,0xd9,0xf2,0xff,0xff,0xff,0xfe,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd0,0x3c,0x6e,0xfa,0xff,0xff,0xf4,0xde,0xdc,0xf2,0xff,0xff,0xfe,0xe6,0xda,0xf2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xa4,0x35,0x37,0xb0,0xff,0xff,0xf4,0xdd,0xdc,0xf2,0xff,0xff,0xf2,0xd9,0xd9,0xe8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xec,0x55,0x46,0x4e,0xf2,0xff,0xf4,0xdd,0xdc,0xf2,0xff,0xfd,0xe0,0xdc,0xdd,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xaf,0x3f,0x3e,0x8f,0xff,0xf5,0xdd,0xdd,0xf0,0xff,0xec,0xda,0xda,0xea,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xd3,0xb1,0xf7,0xff,0xff,0xf4,0x67,0x45,0x42,0xdb,0xfb,0xdb,0xda,0xf1,0xfb,0xde,0xdb,0xdf,0xfb,0xff,0xff,0xfd,0xed,0xf4,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf4,0x56,0x4f,0x6c,0xc8,0xfd,0xff,0xcb,0x3d,0x2d,0x8d,0xfe,0xe4,0xe2,0xfc,0xeb,0xd8,0xdb,0xf0,0xfe,0xfe,0xf4,0xdd,0xd6,0xd5,0xf7,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf6,0x7e,0x59,0x5f,0x55,0x80,0xe3,0xf9,0x96,0x5c,0xcc,0xfe,0xfc,0xfb,0xfc,0xf5,0xde,0xe7,0xfc,0xf7,0xe2,0xd7,0xd8,0xd7,0xdb,0xfa,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfd,0xf2,0xa9,0x67,0x5d,0x5e,0x53,0xb4,0xf8,0xf2,0xfb,0xfe,0xff,0xff,0xfd,0xfd,0xfb,0xfd,0xed,0xd7,0xd8,0xd8,0xda,0xe5,0xf8,0xfe,0xfe,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xfa,0xdf,0x94,0x61,0x4d,0x79,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xfd,0xdf,0xd4,0xd8,0xe0,0xf4,0xfd,0xfe,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xd3,0x96,0xd3,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xf3,0xe3,0xf0,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xfb,0xe1,0xde,0xe0,0xe0,0xde,0xe3,0xf7,0xfd,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xfb,0xf2,0xf1,0xf3,0xf3,0xf3,0xf3,0xfd,0xfe,0xff, - 0xff,0xfe,0xa7,0x6a,0x76,0x76,0x76,0x77,0x6a,0xaa,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe1,0xcd,0xd2,0xd1,0xd1,0xd1,0xce,0xe1,0xfe,0xff, - 0xff,0xfd,0x9e,0x6c,0x78,0x77,0x77,0x78,0x6c,0x9f,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xdf,0xcd,0xd2,0xd2,0xd2,0xd2,0xcd,0xdf,0xfe,0xff, - 0xff,0xfe,0xed,0xc3,0xc2,0xc2,0xc2,0xc1,0xc9,0xf5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xee,0xea,0xea,0xea,0xea,0xea,0xf8,0xfe,0xff, - 0xff,0xfe,0xfe,0xfd,0xfd,0xfd,0xfe,0xfe,0xf4,0xcb,0xf1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xe0,0xf5,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xcb,0x92,0x7d,0xa3,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xd6,0xc2,0xc8,0xe1,0xfc,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xfe,0xde,0x9c,0x87,0x8e,0x86,0xb4,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe1,0xc7,0xc9,0xc7,0xcc,0xe9,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfc,0xb4,0x86,0x8c,0x8a,0x98,0xca,0xf8,0xd9,0xb8,0xf1,0xff,0xff,0xff,0xff,0xf8,0xcf,0xdb,0xfb,0xeb,0xd1,0xc8,0xca,0xc5,0xd5,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xf3,0x86,0x86,0x91,0xbc,0xed,0xfd,0xf2,0x9c,0x91,0xc4,0xfd,0xd1,0xcb,0xfc,0xdd,0xb5,0xb8,0xed,0xfe,0xf8,0xe3,0xcc,0xc7,0xc3,0xf6,0xff,0xff,0xff, - 0xff,0xff,0xff,0xfb,0xc9,0xb1,0xe0,0xfb,0xfe,0xfe,0xba,0x9e,0xa0,0xe1,0xf0,0xaa,0xa6,0xe5,0xf3,0xbf,0xbe,0xca,0xfd,0xff,0xfd,0xf3,0xdc,0xe4,0xfd,0xfe,0xff,0xff, - 0xff,0xff,0xff,0xfc,0xfc,0xfb,0xfd,0xff,0xff,0xe2,0x9c,0x9e,0xbb,0xfb,0xe8,0xb0,0xaf,0xde,0xfd,0xd7,0xbd,0xbb,0xe4,0xff,0xff,0xfd,0xfd,0xfd,0xfd,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xae,0x9f,0xa2,0xeb,0xff,0xe9,0xb0,0xae,0xdf,0xff,0xf6,0xc1,0xbf,0xc2,0xfa,0xff,0xff,0xfe,0xfe,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd4,0x99,0x9d,0xc8,0xfd,0xff,0xe9,0xb0,0xae,0xdf,0xff,0xfe,0xdf,0xbb,0xb9,0xdb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdc,0x97,0xab,0xf5,0xff,0xff,0xe9,0xb0,0xae,0xdf,0xff,0xff,0xfa,0xca,0xb8,0xe1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xe3,0xed,0xfd,0xff,0xff,0xe8,0xaa,0xa9,0xe0,0xff,0xff,0xfe,0xf5,0xed,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfe,0xfe,0xff,0xff,0xf7,0xc5,0xc1,0xf4,0xff,0xff,0xfe,0xfe,0xfe,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfa,0xfa,0xfc,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff +const unsigned char gGearPict2x[4*kGearFrames*kGearWidth*kGearHeight] = { + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbc,0x86,0x86,0xbb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcf,0x76,0x76,0x76,0x75,0xc7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x99,0x76,0x76,0x76,0x75,0x98,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xd0,0xb8,0xdc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x8e,0x76,0x76,0x76,0x75,0x8d,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xef,0xf4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xa2,0x7b,0x7b,0x7b,0xc1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x8e,0x76,0x76,0x76,0x75,0x8d,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xe3,0xe2,0xe2,0xeb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0x7d,0x7b,0x7b,0x7b,0x7b,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0x8e,0x76,0x76,0x76,0x75,0x8d,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xe3,0xe2,0xe2,0xe2,0xe2,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd7,0x7d,0x7b,0x7b,0x7b,0x7b,0x94,0xfe,0xff,0xff,0xff,0xff,0xff,0x8e,0x76,0x76,0x76,0x75,0x8d,0xff,0xff,0xff,0xff,0xff,0xff,0xe8,0xe2,0xe2,0xe2,0xe2,0xe2,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf6,0x82,0x7d,0x7b,0x7b,0x7b,0x7b,0xc8,0xff,0xff,0xff,0xff,0xff,0x8e,0x76,0x76,0x76,0x75,0x8d,0xff,0xff,0xff,0xff,0xff,0xf3,0xe3,0xe2,0xe2,0xe2,0xe2,0xe2,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbb,0x7d,0x7d,0x7b,0x7b,0x7b,0x85,0xfa,0xff,0xff,0xff,0xff,0x8e,0x76,0x76,0x76,0x75,0x8d,0xff,0xff,0xff,0xff,0xfe,0xe4,0xe3,0xe2,0xe2,0xe2,0xe2,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0x8d,0x7d,0x7d,0x7b,0x7b,0x7b,0xb8,0xff,0xff,0xff,0xff,0x8e,0x76,0x76,0x76,0x75,0x8d,0xff,0xff,0xff,0xff,0xf0,0xe3,0xe2,0xe2,0xe2,0xe2,0xe4,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd1,0x7e,0x7d,0x7b,0x7b,0x7b,0x7d,0xec,0xff,0xff,0xff,0x8e,0x76,0x76,0x76,0x75,0x8d,0xff,0xff,0xff,0xfb,0xe4,0xe3,0xe2,0xe2,0xe2,0xe2,0xf4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x9d,0x7d,0x7d,0x7b,0x7b,0x7b,0xa1,0xff,0xff,0xff,0x8e,0x76,0x76,0x76,0x75,0x8d,0xff,0xff,0xff,0xec,0xe3,0xe2,0xe2,0xe2,0xe2,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0xd7,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0x81,0x7d,0x7d,0x7b,0x7b,0x7a,0xd9,0xff,0xff,0x9a,0x76,0x76,0x76,0x75,0x9d,0xff,0xff,0xfa,0xe4,0xe2,0xe2,0xe2,0xe2,0xe2,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xf4,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xa0,0x83,0x83,0x86,0xc1,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xb4,0x7e,0x7d,0x7b,0x7b,0x7a,0xa2,0xff,0xff,0xd1,0x76,0x76,0x76,0x75,0xd0,0xff,0xff,0xef,0xe3,0xe3,0xe2,0xe2,0xe2,0xec,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xef,0xde,0xdc,0xdc,0xe4,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc9,0x85,0x85,0x85,0x83,0x83,0x91,0xd4,0xff,0xff,0xff,0xff,0xff,0xf6,0x87,0x7e,0x7b,0x7b,0x7b,0x95,0xff,0xff,0xff,0xc7,0x8b,0x8b,0xc5,0xff,0xff,0xff,0xea,0xe3,0xe2,0xe2,0xe2,0xe3,0xfc,0xff,0xff,0xff,0xff,0xff,0xf4,0xe2,0xdc,0xdc,0xdc,0xdc,0xdb,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbb,0x85,0x85,0x85,0x85,0x85,0x83,0x82,0xa1,0xe7,0xff,0xff,0xff,0xff,0xcf,0x7f,0x7d,0x7b,0x7b,0xbb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xe2,0xe2,0xe2,0xe2,0xf3,0xff,0xff,0xff,0xff,0xf8,0xe6,0xdc,0xdc,0xdc,0xdc,0xdc,0xdb,0xdb,0xea,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd8,0x86,0x85,0x85,0x85,0x85,0x85,0x83,0x83,0x82,0xb5,0xf6,0xff,0xff,0xff,0xc8,0x8d,0x85,0xad,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xec,0xe3,0xe4,0xf2,0xff,0xff,0xff,0xfc,0xec,0xde,0xdc,0xdc,0xdc,0xdb,0xdb,0xdb,0xdb,0xdb,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbd,0x86,0x86,0x85,0x85,0x85,0x85,0x85,0x83,0x82,0x89,0xcf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xdf,0xde,0xdc,0xdc,0xdc,0xdb,0xdb,0xdb,0xdb,0xd9,0xea,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3,0x9e,0x86,0x86,0x85,0x85,0x85,0x85,0x83,0x83,0x82,0xc8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xde,0xdc,0xdc,0xdc,0xdb,0xdb,0xdb,0xdb,0xd9,0xe0,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd1,0x8f,0x87,0x86,0x85,0x85,0x85,0x83,0x83,0x8a,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0xdc,0xdc,0xdc,0xdb,0xdb,0xdb,0xd9,0xdc,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xbd,0x8a,0x87,0x86,0x85,0x85,0x85,0x86,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdc,0xdb,0xdb,0xdb,0xdb,0xd9,0xdb,0xea,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xec,0xa9,0x87,0x87,0x86,0x85,0xb7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0xdb,0xdb,0xd9,0xd9,0xe4,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0xb2,0xa5,0xc5,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0xe3,0xe7,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xd1,0xae,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xb0,0xd7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xe3,0xde,0xde,0xde,0xde,0xdc,0xdc,0xdc,0xdc,0xdc,0xe0,0xee,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xcb,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8d,0x8d,0x8d,0x8d,0x8d,0xd1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xec,0xd4,0xd4,0xd4,0xd4,0xd4,0xd4,0xd4,0xd4,0xd4,0xd4,0xd4,0xd4,0xd4,0xeb,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0x98,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x9e,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd9,0xd4,0xd3,0xd3,0xd3,0xd3,0xd3,0xd3,0xd3,0xd3,0xd3,0xd3,0xd3,0xd3,0xd8,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0x9c,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0xa2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd9,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd7,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xcb,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x91,0xd3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xea,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xd3,0xb0,0xa6,0xa6,0xa6,0xa6,0xa6,0xa8,0xa8,0xa8,0xa8,0xb2,0xd8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0xde,0xd9,0xd9,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xde,0xec,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe4,0xbd,0xb2,0xcf,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe6,0xd8,0xdf,0xf2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0xb4,0x98,0x98,0x98,0x99,0xc4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xde,0xc9,0xc9,0xcb,0xcb,0xd9,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xc5,0x9a,0x98,0x98,0x98,0x9a,0x9a,0x9c,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc7,0xc8,0xc8,0xc8,0xc9,0xcb,0xcc,0xe3,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd7,0x9e,0x98,0x98,0x98,0x99,0x9a,0x9c,0x9c,0xa2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc9,0xc7,0xc8,0xc8,0xc8,0xc9,0xcb,0xcb,0xcf,0xeb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xac,0x98,0x98,0x98,0x99,0x9a,0x9c,0x9c,0x9c,0x9c,0xd3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe6,0xc5,0xc5,0xc8,0xc8,0xc8,0xc8,0xc9,0xc9,0xcb,0xd4,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc7,0x98,0x98,0x99,0x99,0x9a,0x9c,0x9c,0x9c,0x9c,0xa2,0xd8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe8,0xc9,0xc5,0xc7,0xc8,0xc8,0xc8,0xc8,0xc9,0xc9,0xcb,0xe2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0x98,0x99,0x99,0x9a,0x9a,0x9c,0x9c,0x9c,0x9c,0xc3,0xf8,0xff,0xff,0xff,0xd8,0xae,0xaa,0xc8,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xd7,0xc3,0xc7,0xe6,0xff,0xff,0xff,0xfb,0xdb,0xc5,0xc5,0xc8,0xc8,0xc8,0xc8,0xc8,0xc9,0xc9,0xee,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc4,0x99,0x9a,0x9a,0x9c,0x9c,0x9c,0x9c,0xb4,0xec,0xff,0xff,0xff,0xff,0xdc,0xa2,0xa4,0xa5,0xa6,0xd3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdc,0xbc,0xbd,0xbf,0xc0,0xe8,0xff,0xff,0xff,0xff,0xf4,0xd3,0xc5,0xc7,0xc8,0xc8,0xc8,0xc8,0xc8,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd3,0x9a,0x9c,0x9c,0x9c,0x9c,0xa8,0xdc,0xff,0xff,0xff,0xff,0xff,0xf8,0xa9,0xa4,0xa5,0xa6,0xa6,0xbc,0xff,0xff,0xff,0xdf,0xbf,0xc0,0xe2,0xff,0xff,0xff,0xc9,0xbb,0xbc,0xbf,0xbf,0xc4,0xfb,0xff,0xff,0xff,0xff,0xff,0xeb,0xcc,0xc7,0xc7,0xc8,0xc8,0xc8,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xb9,0x9c,0x9c,0xa0,0xcc,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xc8,0xa4,0xa4,0xa5,0xa6,0xa8,0xc4,0xff,0xff,0xe4,0xae,0xb1,0xb1,0xb4,0xe7,0xff,0xff,0xcf,0xbb,0xbc,0xbd,0xbf,0xc0,0xd9,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe2,0xc8,0xc7,0xc8,0xd8,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0xdf,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0xa4,0xa4,0xa5,0xa6,0xa8,0xa9,0xe7,0xff,0xff,0xc3,0xae,0xb1,0xb1,0xb4,0xcb,0xff,0xff,0xeb,0xbb,0xbb,0xbd,0xbd,0xbf,0xc0,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xec,0xf4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xb8,0xa4,0xa5,0xa5,0xa6,0xa8,0xc3,0xff,0xff,0xff,0xbc,0xae,0xb1,0xb1,0xb4,0xc1,0xff,0xff,0xff,0xcd,0xbb,0xbc,0xbd,0xbf,0xbf,0xcf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xa4,0xa4,0xa5,0xa6,0xa8,0xaa,0xf3,0xff,0xff,0xff,0xbc,0xae,0xb1,0xb1,0xb4,0xc1,0xff,0xff,0xff,0xf6,0xbc,0xbb,0xbc,0xbd,0xbf,0xc0,0xe8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xad,0xa4,0xa5,0xa6,0xa6,0xa8,0xd0,0xff,0xff,0xff,0xff,0xbc,0xae,0xb1,0xb1,0xb4,0xc1,0xff,0xff,0xff,0xff,0xd8,0xbb,0xbc,0xbd,0xbd,0xbf,0xc7,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd3,0xa4,0xa5,0xa5,0xa6,0xa8,0xae,0xf8,0xff,0xff,0xff,0xff,0xbc,0xb0,0xb1,0xb1,0xb4,0xc1,0xff,0xff,0xff,0xff,0xfa,0xbf,0xbb,0xbd,0xbd,0xbd,0xbf,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xa8,0xa5,0xa5,0xa6,0xa6,0xa8,0xdc,0xff,0xff,0xff,0xff,0xff,0xbd,0xb0,0xb1,0xb1,0xb4,0xc1,0xff,0xff,0xff,0xff,0xff,0xe3,0xbb,0xbc,0xbd,0xbf,0xbf,0xc1,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3,0xa4,0xa5,0xa5,0xa6,0xa8,0xb9,0xfe,0xff,0xff,0xff,0xff,0xff,0xbd,0xb0,0xb1,0xb1,0xb2,0xc1,0xff,0xff,0xff,0xff,0xff,0xfe,0xc7,0xbb,0xbc,0xbd,0xbf,0xbf,0xec,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe8,0xa5,0xa5,0xa6,0xa6,0xa8,0xeb,0xff,0xff,0xff,0xff,0xff,0xff,0xbd,0xb0,0xb1,0xb1,0xb2,0xc1,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xbb,0xbc,0xbd,0xbd,0xbf,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc0,0xa6,0xa6,0xa6,0xd5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbd,0xb0,0xb1,0xb1,0xb2,0xc1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xde,0xbb,0xbd,0xbd,0xd0,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xde,0xcf,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbd,0xb0,0xb1,0xb1,0xb2,0xc1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xec,0xdb,0xe7,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc4,0xb0,0xb1,0xb1,0xb2,0xc7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe2,0xb1,0xb1,0xb1,0xb2,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd8,0xb9,0xbb,0xd9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbc,0x86,0x86,0xbc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcf,0x76,0x76,0x76,0x75,0xc7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x99,0x76,0x76,0x76,0x75,0x98,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xd0,0xb8,0xdc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x8e,0x76,0x76,0x76,0x75,0x8d,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xef,0xf4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xa2,0x7b,0x7b,0x7b,0xc1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x8e,0x76,0x76,0x76,0x75,0x8d,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xe2,0xe2,0xe2,0xeb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0x7d,0x7b,0x7b,0x7b,0x7b,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0x8e,0x76,0x76,0x76,0x75,0x8d,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xe3,0xe2,0xe2,0xe2,0xe2,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd7,0x7d,0x7b,0x7b,0x7b,0x7b,0x94,0xfe,0xff,0xff,0xff,0xff,0xff,0x8e,0x76,0x76,0x76,0x75,0x8d,0xff,0xff,0xff,0xff,0xff,0xff,0xe8,0xe3,0xe2,0xe2,0xe2,0xe2,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf6,0x82,0x7d,0x7b,0x7b,0x7b,0x7b,0xc8,0xff,0xff,0xff,0xff,0xff,0x8e,0x76,0x76,0x76,0x75,0x8d,0xff,0xff,0xff,0xff,0xff,0xf3,0xe3,0xe2,0xe2,0xe2,0xe2,0xe2,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbb,0x7d,0x7d,0x7b,0x7b,0x7b,0x85,0xfa,0xff,0xff,0xff,0xff,0x8e,0x76,0x76,0x76,0x75,0x8d,0xff,0xff,0xff,0xff,0xfe,0xe4,0xe3,0xe2,0xe2,0xe2,0xe2,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0x8b,0x7d,0x7b,0x7b,0x7b,0x7b,0xb8,0xff,0xff,0xff,0xff,0x8e,0x76,0x76,0x76,0x75,0x8d,0xff,0xff,0xff,0xff,0xf0,0xe3,0xe2,0xe2,0xe2,0xe2,0xe4,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd1,0x7e,0x7d,0x7b,0x7b,0x7b,0x7d,0xec,0xff,0xff,0xff,0x8e,0x76,0x76,0x76,0x75,0x8d,0xff,0xff,0xff,0xfb,0xe3,0xe2,0xe2,0xe2,0xe2,0xe2,0xf4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x9d,0x7e,0x7d,0x7b,0x7b,0x7b,0xa1,0xff,0xff,0xff,0x8e,0x76,0x76,0x76,0x75,0x8d,0xff,0xff,0xff,0xec,0xe3,0xe2,0xe2,0xe2,0xe2,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0xd7,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0x81,0x7d,0x7b,0x7b,0x7b,0x7a,0xd9,0xff,0xff,0x99,0x76,0x76,0x76,0x75,0x9d,0xff,0xff,0xfa,0xe3,0xe3,0xe2,0xe2,0xe2,0xe0,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xf4,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xa0,0x83,0x83,0x86,0xc1,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xb4,0x7e,0x7d,0x7b,0x7b,0x7a,0xa2,0xff,0xff,0xd1,0x76,0x76,0x76,0x75,0xcf,0xff,0xff,0xef,0xe3,0xe2,0xe2,0xe2,0xe2,0xec,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xef,0xde,0xdc,0xdc,0xe4,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc9,0x85,0x85,0x85,0x83,0x83,0x91,0xd4,0xff,0xff,0xff,0xff,0xff,0xf6,0x87,0x7e,0x7d,0x7b,0x7b,0x95,0xff,0xff,0xff,0xc7,0x8b,0x8b,0xc5,0xff,0xff,0xff,0xeb,0xe3,0xe2,0xe2,0xe2,0xe3,0xfc,0xff,0xff,0xff,0xff,0xff,0xf4,0xe2,0xdc,0xdc,0xdc,0xdc,0xdb,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbb,0x85,0x85,0x85,0x85,0x83,0x83,0x82,0xa1,0xe7,0xff,0xff,0xff,0xff,0xcf,0x7f,0x7e,0x7b,0x7b,0xbb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xe2,0xe2,0xe2,0xe0,0xf3,0xff,0xff,0xff,0xff,0xf8,0xe6,0xdc,0xdc,0xdc,0xdc,0xdb,0xdb,0xdb,0xea,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd8,0x86,0x85,0x85,0x85,0x85,0x85,0x83,0x82,0x82,0xb5,0xf6,0xff,0xff,0xff,0xc8,0x8d,0x85,0xad,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xec,0xe4,0xe4,0xf2,0xff,0xff,0xff,0xfc,0xec,0xde,0xdc,0xdc,0xdc,0xdc,0xdb,0xdb,0xdb,0xdb,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbd,0x86,0x86,0x85,0x85,0x85,0x85,0x85,0x83,0x82,0x89,0xcf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xdf,0xde,0xdc,0xdc,0xdc,0xdb,0xdb,0xdb,0xdb,0xd9,0xea,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3,0x9e,0x86,0x86,0x85,0x85,0x85,0x85,0x83,0x82,0x82,0xc8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xde,0xdc,0xdc,0xdc,0xdb,0xdb,0xdb,0xdb,0xd9,0xe0,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd1,0x8f,0x86,0x86,0x85,0x85,0x85,0x85,0x83,0x8b,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0xdc,0xdc,0xdb,0xdb,0xdb,0xdb,0xd9,0xdc,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xbd,0x8a,0x87,0x86,0x85,0x85,0x85,0x85,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdc,0xdb,0xdb,0xdb,0xd9,0xd9,0xdb,0xea,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xec,0xa9,0x87,0x86,0x86,0x85,0xb7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0xdb,0xd9,0xd9,0xd9,0xe4,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0xb2,0xa5,0xc5,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0xe3,0xe7,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xd1,0xae,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xb0,0xd7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xe3,0xde,0xde,0xde,0xde,0xde,0xdc,0xdc,0xdc,0xdc,0xe0,0xee,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xcb,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8d,0x8e,0x8d,0x8d,0x8d,0x8d,0x8d,0xd1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xec,0xd4,0xd4,0xd4,0xd4,0xd4,0xd4,0xd4,0xd4,0xd4,0xd4,0xd4,0xd4,0xd4,0xeb,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0x98,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x9e,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd9,0xd4,0xd3,0xd3,0xd3,0xd3,0xd3,0xd3,0xd3,0xd3,0xd3,0xd3,0xd3,0xd3,0xd8,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0x9c,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0xa2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd9,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd7,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xcb,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x91,0xd3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xea,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xd3,0xb0,0xa6,0xa6,0xa6,0xa6,0xa8,0xa8,0xa8,0xa8,0xa8,0xb2,0xd8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0xde,0xd9,0xd9,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xde,0xec,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe4,0xbd,0xb2,0xcf,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe6,0xd8,0xdf,0xf2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0xb4,0x98,0x98,0x98,0x99,0xc4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xde,0xc8,0xc9,0xcb,0xcb,0xd9,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xc5,0x9a,0x98,0x98,0x99,0x9a,0x9c,0x9c,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc8,0xc8,0xc8,0xc9,0xcb,0xcb,0xcc,0xe3,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd7,0xa0,0x98,0x98,0x99,0x99,0x9a,0x9c,0x9c,0xa2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc9,0xc7,0xc8,0xc8,0xc8,0xc9,0xcb,0xcb,0xcf,0xeb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xac,0x98,0x98,0x99,0x99,0x9a,0x9c,0x9c,0x9c,0x9c,0xd3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe6,0xc5,0xc7,0xc8,0xc8,0xc8,0xc8,0xc9,0xc9,0xcb,0xd5,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc7,0x98,0x98,0x99,0x99,0x9a,0x9c,0x9c,0x9c,0x9c,0xa2,0xd8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe8,0xc9,0xc5,0xc7,0xc8,0xc8,0xc8,0xc8,0xc9,0xcb,0xcb,0xe3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0x98,0x99,0x99,0x9a,0x9c,0x9c,0x9c,0x9c,0x9c,0xc3,0xf8,0xff,0xff,0xff,0xd8,0xae,0xac,0xc8,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xd7,0xc4,0xc7,0xe6,0xff,0xff,0xff,0xfb,0xdc,0xc5,0xc7,0xc8,0xc8,0xc8,0xc8,0xc8,0xc9,0xcb,0xee,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc4,0x99,0x9a,0x9a,0x9c,0x9c,0x9c,0x9c,0xb4,0xec,0xff,0xff,0xff,0xff,0xdc,0xa4,0xa4,0xa5,0xa6,0xd4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdc,0xbc,0xbd,0xbf,0xc0,0xe8,0xff,0xff,0xff,0xff,0xf4,0xd3,0xc7,0xc7,0xc8,0xc8,0xc8,0xc8,0xc9,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd3,0x9a,0x9c,0x9c,0x9c,0x9c,0xa8,0xdc,0xff,0xff,0xff,0xff,0xff,0xf8,0xa9,0xa4,0xa5,0xa6,0xa8,0xbc,0xff,0xff,0xff,0xdf,0xbf,0xc0,0xe2,0xff,0xff,0xff,0xc9,0xbc,0xbd,0xbf,0xc0,0xc4,0xfb,0xff,0xff,0xff,0xff,0xff,0xeb,0xcc,0xc7,0xc7,0xc8,0xc8,0xc8,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xb9,0x9c,0x9c,0xa0,0xcc,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xc9,0xa4,0xa5,0xa5,0xa6,0xa8,0xc4,0xff,0xff,0xe4,0xae,0xb1,0xb2,0xb5,0xe7,0xff,0xff,0xd0,0xbb,0xbc,0xbd,0xbf,0xc0,0xdb,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe2,0xc8,0xc7,0xc8,0xd8,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0xdf,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0xa5,0xa4,0xa5,0xa6,0xa8,0xa9,0xe7,0xff,0xff,0xc3,0xae,0xb1,0xb1,0xb5,0xcb,0xff,0xff,0xeb,0xbb,0xbc,0xbd,0xbd,0xbf,0xc0,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xec,0xf4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xb8,0xa4,0xa5,0xa6,0xa6,0xa8,0xc3,0xff,0xff,0xff,0xbc,0xae,0xb1,0xb2,0xb5,0xc3,0xff,0xff,0xff,0xcf,0xbb,0xbc,0xbd,0xbf,0xc0,0xcf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xa4,0xa5,0xa5,0xa6,0xa8,0xac,0xf3,0xff,0xff,0xff,0xbd,0xb0,0xb1,0xb2,0xb4,0xc1,0xff,0xff,0xff,0xf6,0xbc,0xbc,0xbd,0xbd,0xbf,0xc0,0xe8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xad,0xa4,0xa5,0xa6,0xa6,0xa8,0xd0,0xff,0xff,0xff,0xff,0xbd,0xae,0xb1,0xb1,0xb4,0xc1,0xff,0xff,0xff,0xff,0xd8,0xbb,0xbc,0xbd,0xbf,0xbf,0xc7,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd3,0xa4,0xa5,0xa5,0xa6,0xa8,0xb0,0xf8,0xff,0xff,0xff,0xff,0xbd,0xb0,0xb1,0xb1,0xb4,0xc1,0xff,0xff,0xff,0xff,0xfa,0xbf,0xbb,0xbd,0xbd,0xbf,0xc0,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xa8,0xa5,0xa5,0xa6,0xa6,0xa8,0xdc,0xff,0xff,0xff,0xff,0xff,0xbd,0xb0,0xb1,0xb1,0xb4,0xc1,0xff,0xff,0xff,0xff,0xff,0xe3,0xbb,0xbc,0xbd,0xbd,0xbf,0xc3,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3,0xa4,0xa5,0xa6,0xa6,0xa8,0xb9,0xfe,0xff,0xff,0xff,0xff,0xff,0xbd,0xb0,0xb1,0xb1,0xb4,0xc1,0xff,0xff,0xff,0xff,0xff,0xfe,0xc7,0xbb,0xbd,0xbd,0xbf,0xbf,0xec,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe8,0xa5,0xa5,0xa6,0xa8,0xa8,0xeb,0xff,0xff,0xff,0xff,0xff,0xff,0xbd,0xb0,0xb1,0xb1,0xb4,0xc1,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xbb,0xbc,0xbd,0xbd,0xbf,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc0,0xa6,0xa6,0xa8,0xd5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbd,0xb0,0xb1,0xb1,0xb4,0xc1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xde,0xbb,0xbd,0xbd,0xd1,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xde,0xcf,0xe8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbd,0xb0,0xb1,0xb1,0xb4,0xc1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xec,0xdb,0xe7,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc4,0xb1,0xb1,0xb1,0xb4,0xc8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe2,0xb1,0xb1,0xb1,0xb2,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd8,0xbb,0xbb,0xd9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0x8b,0x8b,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd1,0x7d,0x7b,0x7b,0x7b,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,0xa0,0x7d,0x7b,0x7b,0x7b,0x9c,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xd3,0xbc,0xde,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x95,0x7d,0x7b,0x7b,0x7b,0x92,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdb,0xb4,0xcc,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xa9,0x85,0x85,0x83,0xc5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x95,0x7d,0x7b,0x7b,0x7b,0x92,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0x76,0x76,0x76,0x9e,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe2,0x85,0x85,0x85,0x83,0x82,0xe2,0xff,0xff,0xff,0xff,0xff,0xff,0x95,0x7d,0x7b,0x7b,0x7b,0x92,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0x76,0x76,0x76,0x76,0x76,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd9,0x85,0x85,0x85,0x85,0x83,0x9a,0xfe,0xff,0xff,0xff,0xff,0xff,0x95,0x7d,0x7b,0x7b,0x7b,0x92,0xff,0xff,0xff,0xff,0xff,0xfe,0x91,0x76,0x76,0x76,0x76,0x75,0xd4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0x8a,0x85,0x85,0x85,0x83,0x82,0xcb,0xff,0xff,0xff,0xff,0xff,0x96,0x7e,0x7d,0x7b,0x7b,0x92,0xff,0xff,0xff,0xff,0xff,0xc7,0x76,0x76,0x76,0x76,0x75,0x79,0xf4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x86,0x85,0x85,0x85,0x83,0x8d,0xfa,0xff,0xff,0xff,0xff,0x95,0x7e,0x7d,0x7b,0x7b,0x92,0xff,0xff,0xff,0xff,0xf8,0x81,0x76,0x76,0x76,0x76,0x75,0xb5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0x94,0x86,0x85,0x85,0x85,0x82,0xbc,0xff,0xff,0xff,0xff,0x96,0x7d,0x7b,0x7b,0x7b,0x92,0xff,0xff,0xff,0xff,0xb7,0x76,0x76,0x76,0x76,0x76,0x83,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd5,0x86,0x85,0x85,0x85,0x83,0x85,0xee,0xff,0xff,0xff,0x96,0x7e,0x7b,0x7b,0x7b,0x92,0xff,0xff,0xff,0xec,0x79,0x76,0x76,0x76,0x76,0x75,0xcd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xa4,0x86,0x85,0x85,0x85,0x82,0xa6,0xff,0xff,0xff,0x96,0x7e,0x7b,0x7b,0x7b,0x92,0xff,0xff,0xff,0xa0,0x76,0x76,0x76,0x76,0x75,0x94,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb,0xdb,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe8,0x87,0x86,0x85,0x85,0x83,0x82,0xdb,0xff,0xff,0xa0,0x7e,0x7d,0x7b,0x7b,0xa1,0xff,0xff,0xd8,0x76,0x76,0x76,0x76,0x76,0x75,0xe4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xf6,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xa8,0x8e,0x8d,0x91,0xc7,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xb9,0x86,0x85,0x85,0x85,0x82,0xa8,0xff,0xff,0xd3,0x7e,0x7d,0x7b,0x7b,0xd1,0xff,0xff,0xa0,0x76,0x76,0x76,0x76,0x75,0xad,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xf2,0xe4,0xe2,0xe2,0xe8,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcf,0x8e,0x8e,0x8e,0x8e,0x8d,0x9a,0xd8,0xff,0xff,0xff,0xff,0xff,0xf7,0x8f,0x86,0x85,0x85,0x83,0x9a,0xff,0xff,0xff,0xc9,0x91,0x91,0xc8,0xff,0xff,0xff,0x94,0x76,0x76,0x75,0x76,0x7e,0xf4,0xff,0xff,0xff,0xff,0xff,0xf6,0xe6,0xe3,0xe3,0xe2,0xe2,0xe2,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x8f,0x8f,0x8e,0x8e,0x8e,0x8e,0x8d,0xa9,0xea,0xff,0xff,0xff,0xff,0xd3,0x87,0x85,0x85,0x85,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xb8,0x76,0x76,0x75,0x75,0xcb,0xff,0xff,0xff,0xff,0xfb,0xea,0xe3,0xe3,0xe2,0xe2,0xe2,0xe2,0xe2,0xee,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdc,0x8f,0x8f,0x8f,0x8f,0x8e,0x8e,0x8d,0x8d,0x8d,0xbc,0xf7,0xff,0xff,0xff,0xcc,0x95,0x8d,0xb2,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xa9,0x7d,0x83,0xc4,0xff,0xff,0xff,0xfc,0xef,0xe3,0xe3,0xe3,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc3,0x8f,0x8f,0x8f,0x8f,0x8f,0x8e,0x8e,0x8d,0x8d,0x94,0xd3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf6,0xe7,0xe3,0xe3,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe6,0xa5,0x91,0x8f,0x8f,0x8f,0x8e,0x8e,0x8e,0x8d,0x8d,0xcc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf4,0xe3,0xe2,0xe3,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe7,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd4,0x99,0x8f,0x8f,0x8f,0x8f,0x8e,0x8e,0x8d,0x95,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xe3,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe3,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xc3,0x94,0x8f,0x8f,0x8f,0x8f,0x8e,0x8f,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3,0xe2,0xe2,0xe2,0xe2,0xe2,0xe0,0xee,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0xb0,0x91,0x8f,0x8f,0x8f,0xbd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0xe2,0xe2,0xe2,0xe2,0xe8,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3,0xbb,0xad,0xcb,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xe8,0xeb,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xd5,0xb7,0xad,0xac,0xac,0xac,0xac,0xac,0xac,0xac,0xac,0xb7,0xd9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xe8,0xe4,0xe4,0xe4,0xe4,0xe4,0xe4,0xe4,0xe4,0xe4,0xe7,0xf2,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xd0,0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,0xd5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xde,0xde,0xde,0xdc,0xdc,0xdc,0xdc,0xdc,0xdc,0xdc,0xdc,0xdc,0xdc,0xef,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xa2,0x9a,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x98,0x98,0x99,0xa6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe2,0xdc,0xdc,0xdc,0xdc,0xdc,0xdc,0xdc,0xdc,0xdc,0xdc,0xdc,0xdb,0xdb,0xe0,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xa5,0x9c,0x9c,0x9a,0x9a,0x9c,0x9c,0x9a,0x9a,0x9c,0x9a,0x9a,0x9c,0x9a,0xaa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xdf,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xd0,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0xd7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xdb,0xd9,0xd9,0xdb,0xdb,0xdb,0xd9,0xd9,0xdb,0xdb,0xdb,0xdb,0xdb,0xee,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xd7,0xb8,0xb0,0xb0,0xb0,0xb0,0xb0,0xb0,0xb0,0xb0,0xb1,0xbb,0xdb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xe4,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe3,0xef,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xc4,0xb9,0xd4,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xea,0xe0,0xe6,0xf4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xbc,0xa2,0xa4,0xa4,0xa4,0xc9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3,0xd4,0xd4,0xd4,0xd4,0xe0,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xcc,0xa5,0xa4,0xa4,0xa4,0xa5,0xa6,0xa8,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd1,0xd1,0xd3,0xd4,0xd4,0xd4,0xd4,0xe8,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdb,0xa9,0xa4,0xa4,0xa4,0xa5,0xa5,0xa6,0xa6,0xad,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd4,0xd1,0xd1,0xd3,0xd3,0xd4,0xd4,0xd4,0xd8,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0xb5,0xa4,0xa4,0xa4,0xa5,0xa5,0xa6,0xa6,0xa8,0xa8,0xd8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb,0xd1,0xd1,0xd1,0xd1,0xd3,0xd4,0xd4,0xd4,0xd4,0xdc,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcc,0xa4,0xa4,0xa4,0xa5,0xa5,0xa5,0xa6,0xa8,0xa8,0xae,0xdc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xec,0xd4,0xd1,0xd1,0xd1,0xd1,0xd3,0xd3,0xd4,0xd4,0xd4,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe2,0xa4,0xa5,0xa5,0xa5,0xa6,0xa6,0xa6,0xa8,0xa8,0xcb,0xf8,0xff,0xff,0xff,0xde,0xb8,0xb5,0xcf,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xde,0xcd,0xd1,0xea,0xff,0xff,0xff,0xfb,0xe2,0xd1,0xd1,0xd1,0xd1,0xd1,0xd3,0xd3,0xd4,0xd4,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcb,0xa5,0xa5,0xa5,0xa5,0xa6,0xa8,0xa8,0xbd,0xef,0xff,0xff,0xff,0xff,0xe0,0xae,0xae,0xb0,0xb1,0xd8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe2,0xc8,0xc8,0xcb,0xcb,0xec,0xff,0xff,0xff,0xff,0xf6,0xdc,0xd1,0xd1,0xd1,0xd1,0xd3,0xd3,0xd3,0xe6,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd8,0xa5,0xa6,0xa6,0xa6,0xa8,0xb2,0xe0,0xff,0xff,0xff,0xff,0xff,0xfa,0xb4,0xae,0xb0,0xb1,0xb2,0xc4,0xff,0xff,0xff,0xe3,0xc8,0xc9,0xe6,0xff,0xff,0xff,0xd1,0xc7,0xc8,0xc8,0xcb,0xcf,0xfb,0xff,0xff,0xff,0xff,0xff,0xef,0xd7,0xd1,0xd1,0xd1,0xd1,0xd1,0xec,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xc1,0xa6,0xa8,0xaa,0xd1,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xd0,0xae,0xb0,0xb1,0xb1,0xb5,0xcc,0xff,0xff,0xe8,0xbb,0xbc,0xbd,0xbf,0xeb,0xff,0xff,0xd7,0xc5,0xc8,0xc8,0xc9,0xcb,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe7,0xd3,0xd1,0xd1,0xdf,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xe3,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xb0,0xae,0xb1,0xb1,0xb2,0xb5,0xea,0xff,0xff,0xcb,0xbb,0xbc,0xbd,0xc0,0xd3,0xff,0xff,0xee,0xc5,0xc7,0xc8,0xc8,0xc9,0xcc,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xf0,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc1,0xae,0xb1,0xb1,0xb1,0xb4,0xcb,0xff,0xff,0xff,0xc5,0xbb,0xbc,0xbf,0xbf,0xcb,0xff,0xff,0xff,0xd5,0xc5,0xc8,0xc8,0xc9,0xc9,0xd7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3,0xae,0xb0,0xb1,0xb1,0xb4,0xb7,0xf4,0xff,0xff,0xff,0xc7,0xbb,0xbc,0xbd,0xbf,0xcb,0xff,0xff,0xff,0xf7,0xc7,0xc7,0xc8,0xc8,0xc9,0xcb,0xec,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xb8,0xae,0xb1,0xb1,0xb2,0xb4,0xd5,0xff,0xff,0xff,0xff,0xc7,0xbb,0xbc,0xbf,0xbf,0xcb,0xff,0xff,0xff,0xff,0xdf,0xc5,0xc8,0xc8,0xc8,0xc9,0xd0,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd8,0xae,0xb1,0xb1,0xb1,0xb4,0xbb,0xfa,0xff,0xff,0xff,0xff,0xc7,0xbb,0xbc,0xbd,0xbf,0xcb,0xff,0xff,0xff,0xff,0xfb,0xc9,0xc7,0xc8,0xc8,0xc8,0xcb,0xe4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xb2,0xb0,0xb1,0xb1,0xb1,0xb4,0xe0,0xff,0xff,0xff,0xff,0xff,0xc7,0xbb,0xbd,0xbd,0xbf,0xcb,0xff,0xff,0xff,0xff,0xff,0xe7,0xc7,0xc8,0xc8,0xc8,0xc9,0xcc,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xae,0xb0,0xb1,0xb1,0xb2,0xc3,0xfe,0xff,0xff,0xff,0xff,0xff,0xc7,0xbb,0xbc,0xbd,0xbf,0xcb,0xff,0xff,0xff,0xff,0xff,0xff,0xd0,0xc7,0xc8,0xc8,0xc8,0xc9,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb,0xb0,0xb1,0xb1,0xb1,0xb4,0xee,0xff,0xff,0xff,0xff,0xff,0xff,0xc7,0xbb,0xbd,0xbd,0xbf,0xcb,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xc7,0xc8,0xc8,0xc8,0xc8,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc8,0xb1,0xb1,0xb2,0xdb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc7,0xbb,0xbc,0xbd,0xbf,0xcb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3,0xc7,0xc8,0xc8,0xd8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xe2,0xd5,0xeb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc7,0xbb,0xbc,0xbd,0xbf,0xcb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xe2,0xeb,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcc,0xbc,0xbd,0xbd,0xbf,0xd0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe6,0xbb,0xbd,0xbd,0xbf,0xe6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xde,0xc4,0xc4,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0x8b,0x8b,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd1,0x7d,0x7b,0x7b,0x7b,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,0xa0,0x7d,0x7b,0x7b,0x7b,0x9c,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xd3,0xbc,0xde,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x95,0x7d,0x7b,0x7b,0x7b,0x92,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdb,0xb4,0xcc,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xa9,0x85,0x85,0x83,0xc5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x95,0x7d,0x7b,0x7b,0x7b,0x92,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0x76,0x76,0x76,0x9e,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe2,0x85,0x85,0x85,0x83,0x82,0xe2,0xff,0xff,0xff,0xff,0xff,0xff,0x95,0x7d,0x7b,0x7b,0x7b,0x92,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0x76,0x76,0x76,0x76,0x76,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd9,0x85,0x85,0x85,0x85,0x83,0x9a,0xfe,0xff,0xff,0xff,0xff,0xff,0x95,0x7d,0x7b,0x7b,0x7b,0x92,0xff,0xff,0xff,0xff,0xff,0xfe,0x91,0x76,0x76,0x76,0x76,0x75,0xd4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0x8a,0x85,0x85,0x85,0x83,0x82,0xcb,0xff,0xff,0xff,0xff,0xff,0x96,0x7e,0x7d,0x7b,0x7b,0x92,0xff,0xff,0xff,0xff,0xff,0xc7,0x76,0x76,0x76,0x76,0x75,0x79,0xf4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x86,0x85,0x85,0x85,0x83,0x8d,0xfa,0xff,0xff,0xff,0xff,0x95,0x7e,0x7d,0x7b,0x7b,0x92,0xff,0xff,0xff,0xff,0xf8,0x81,0x76,0x76,0x76,0x76,0x75,0xb5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0x94,0x86,0x85,0x85,0x85,0x82,0xbc,0xff,0xff,0xff,0xff,0x96,0x7d,0x7b,0x7b,0x7b,0x92,0xff,0xff,0xff,0xff,0xb7,0x76,0x76,0x76,0x76,0x76,0x83,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd5,0x86,0x85,0x85,0x85,0x83,0x85,0xee,0xff,0xff,0xff,0x96,0x7e,0x7b,0x7b,0x7b,0x92,0xff,0xff,0xff,0xec,0x79,0x76,0x76,0x76,0x76,0x75,0xcd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xa4,0x86,0x85,0x85,0x85,0x82,0xa6,0xff,0xff,0xff,0x96,0x7e,0x7b,0x7b,0x7b,0x92,0xff,0xff,0xff,0xa0,0x76,0x76,0x76,0x76,0x75,0x94,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb,0xdb,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe8,0x87,0x86,0x85,0x85,0x83,0x82,0xdb,0xff,0xff,0xa0,0x7e,0x7d,0x7b,0x7b,0xa1,0xff,0xff,0xd8,0x76,0x76,0x76,0x76,0x76,0x75,0xe4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xf6,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xa8,0x8e,0x8d,0x91,0xc7,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xb9,0x86,0x85,0x85,0x85,0x82,0xa8,0xff,0xff,0xd3,0x7e,0x7d,0x7b,0x7b,0xd1,0xff,0xff,0xa0,0x76,0x76,0x76,0x76,0x75,0xad,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xf2,0xe4,0xe2,0xe2,0xe8,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcf,0x8e,0x8e,0x8e,0x8e,0x8d,0x9a,0xd8,0xff,0xff,0xff,0xff,0xff,0xf7,0x8f,0x86,0x85,0x85,0x83,0x9a,0xff,0xff,0xff,0xc9,0x91,0x91,0xc8,0xff,0xff,0xff,0x94,0x76,0x76,0x75,0x76,0x7e,0xf4,0xff,0xff,0xff,0xff,0xff,0xf6,0xe6,0xe3,0xe3,0xe2,0xe2,0xe2,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x8f,0x8f,0x8e,0x8e,0x8e,0x8e,0x8d,0xa9,0xea,0xff,0xff,0xff,0xff,0xd3,0x87,0x85,0x85,0x85,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xb8,0x76,0x76,0x75,0x75,0xcb,0xff,0xff,0xff,0xff,0xfb,0xea,0xe3,0xe3,0xe2,0xe2,0xe2,0xe2,0xe2,0xee,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdc,0x8f,0x8f,0x8f,0x8f,0x8e,0x8e,0x8d,0x8d,0x8d,0xbc,0xf7,0xff,0xff,0xff,0xcc,0x95,0x8d,0xb2,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xa9,0x7d,0x83,0xc4,0xff,0xff,0xff,0xfc,0xef,0xe3,0xe3,0xe3,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc3,0x8f,0x8f,0x8f,0x8f,0x8f,0x8e,0x8e,0x8d,0x8d,0x94,0xd3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf6,0xe7,0xe3,0xe3,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe6,0xa5,0x91,0x8f,0x8f,0x8f,0x8e,0x8e,0x8e,0x8d,0x8d,0xcc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf4,0xe3,0xe2,0xe3,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe7,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd4,0x99,0x8f,0x8f,0x8f,0x8f,0x8e,0x8e,0x8d,0x95,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xe3,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe3,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xc3,0x94,0x8f,0x8f,0x8f,0x8f,0x8e,0x8f,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3,0xe2,0xe2,0xe2,0xe2,0xe2,0xe0,0xee,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0xb0,0x91,0x8f,0x8f,0x8f,0xbd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0xe2,0xe2,0xe2,0xe2,0xe8,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3,0xbb,0xad,0xcb,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xe8,0xeb,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xd5,0xb7,0xad,0xac,0xac,0xac,0xac,0xac,0xac,0xac,0xac,0xb7,0xd9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xe8,0xe4,0xe4,0xe4,0xe4,0xe4,0xe4,0xe4,0xe4,0xe4,0xe7,0xf2,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xd0,0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,0xd5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xde,0xde,0xde,0xdc,0xdc,0xdc,0xdc,0xdc,0xdc,0xdc,0xdc,0xdc,0xdc,0xef,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xa2,0x9a,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x98,0x98,0x99,0xa6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe2,0xdc,0xdc,0xdc,0xdc,0xdc,0xdc,0xdc,0xdc,0xdc,0xdc,0xdc,0xdb,0xdb,0xe0,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xa5,0x9c,0x9c,0x9a,0x9a,0x9c,0x9c,0x9a,0x9a,0x9c,0x9a,0x9a,0x9c,0x9a,0xaa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xdf,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xd0,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0xd7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xdb,0xd9,0xd9,0xdb,0xdb,0xdb,0xd9,0xd9,0xdb,0xdb,0xdb,0xdb,0xdb,0xee,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xd7,0xb8,0xb0,0xb0,0xb0,0xb0,0xb0,0xb0,0xb0,0xb0,0xb1,0xbb,0xdb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xe4,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe3,0xef,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xc4,0xb9,0xd4,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xea,0xe0,0xe6,0xf4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xbc,0xa2,0xa4,0xa4,0xa4,0xc9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3,0xd4,0xd4,0xd4,0xd4,0xe0,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xcc,0xa5,0xa4,0xa4,0xa4,0xa5,0xa6,0xa8,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd1,0xd1,0xd3,0xd4,0xd4,0xd4,0xd4,0xe8,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdb,0xa9,0xa4,0xa4,0xa4,0xa5,0xa5,0xa6,0xa6,0xad,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd4,0xd1,0xd1,0xd3,0xd3,0xd4,0xd4,0xd4,0xd8,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0xb5,0xa4,0xa4,0xa4,0xa5,0xa5,0xa6,0xa6,0xa8,0xa8,0xd8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb,0xd1,0xd1,0xd1,0xd1,0xd3,0xd4,0xd4,0xd4,0xd4,0xdc,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcc,0xa4,0xa4,0xa4,0xa5,0xa5,0xa5,0xa6,0xa8,0xa8,0xae,0xdc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xec,0xd4,0xd1,0xd1,0xd1,0xd1,0xd3,0xd3,0xd4,0xd4,0xd4,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe2,0xa4,0xa5,0xa5,0xa5,0xa6,0xa6,0xa6,0xa8,0xa8,0xcb,0xf8,0xff,0xff,0xff,0xde,0xb8,0xb5,0xcf,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xde,0xcd,0xd1,0xea,0xff,0xff,0xff,0xfb,0xe2,0xd1,0xd1,0xd1,0xd1,0xd1,0xd3,0xd3,0xd4,0xd4,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcb,0xa5,0xa5,0xa5,0xa5,0xa6,0xa8,0xa8,0xbd,0xef,0xff,0xff,0xff,0xff,0xe0,0xae,0xae,0xb0,0xb1,0xd8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe2,0xc8,0xc8,0xcb,0xcb,0xec,0xff,0xff,0xff,0xff,0xf6,0xdc,0xd1,0xd1,0xd1,0xd1,0xd3,0xd3,0xd3,0xe6,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd8,0xa5,0xa6,0xa6,0xa6,0xa8,0xb2,0xe0,0xff,0xff,0xff,0xff,0xff,0xfa,0xb4,0xae,0xb0,0xb1,0xb2,0xc4,0xff,0xff,0xff,0xe3,0xc8,0xc9,0xe6,0xff,0xff,0xff,0xd1,0xc7,0xc8,0xc8,0xcb,0xcf,0xfb,0xff,0xff,0xff,0xff,0xff,0xef,0xd7,0xd1,0xd1,0xd1,0xd1,0xd1,0xec,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xc1,0xa6,0xa8,0xaa,0xd1,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xd0,0xae,0xb0,0xb1,0xb1,0xb5,0xcc,0xff,0xff,0xe8,0xbb,0xbc,0xbd,0xbf,0xeb,0xff,0xff,0xd7,0xc5,0xc8,0xc8,0xc9,0xcb,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe7,0xd3,0xd1,0xd1,0xdf,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xe3,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xb0,0xae,0xb1,0xb1,0xb2,0xb5,0xea,0xff,0xff,0xcb,0xbb,0xbc,0xbd,0xc0,0xd3,0xff,0xff,0xee,0xc5,0xc7,0xc8,0xc8,0xc9,0xcc,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xf0,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc1,0xae,0xb1,0xb1,0xb1,0xb4,0xcb,0xff,0xff,0xff,0xc5,0xbb,0xbc,0xbf,0xbf,0xcb,0xff,0xff,0xff,0xd5,0xc5,0xc8,0xc8,0xc9,0xc9,0xd7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3,0xae,0xb0,0xb1,0xb1,0xb4,0xb7,0xf4,0xff,0xff,0xff,0xc7,0xbb,0xbc,0xbd,0xbf,0xcb,0xff,0xff,0xff,0xf7,0xc7,0xc7,0xc8,0xc8,0xc9,0xcb,0xec,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xb8,0xae,0xb1,0xb1,0xb2,0xb4,0xd5,0xff,0xff,0xff,0xff,0xc7,0xbb,0xbc,0xbf,0xbf,0xcb,0xff,0xff,0xff,0xff,0xdf,0xc5,0xc8,0xc8,0xc8,0xc9,0xd0,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd8,0xae,0xb1,0xb1,0xb1,0xb4,0xbb,0xfa,0xff,0xff,0xff,0xff,0xc7,0xbb,0xbc,0xbd,0xbf,0xcb,0xff,0xff,0xff,0xff,0xfb,0xc9,0xc7,0xc8,0xc8,0xc8,0xcb,0xe4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xb2,0xb0,0xb1,0xb1,0xb1,0xb4,0xe0,0xff,0xff,0xff,0xff,0xff,0xc7,0xbb,0xbd,0xbd,0xbf,0xcb,0xff,0xff,0xff,0xff,0xff,0xe7,0xc7,0xc8,0xc8,0xc8,0xc9,0xcc,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xae,0xb0,0xb1,0xb1,0xb2,0xc3,0xfe,0xff,0xff,0xff,0xff,0xff,0xc7,0xbb,0xbc,0xbd,0xbf,0xcb,0xff,0xff,0xff,0xff,0xff,0xff,0xd0,0xc7,0xc8,0xc8,0xc8,0xc9,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb,0xb0,0xb1,0xb1,0xb1,0xb4,0xee,0xff,0xff,0xff,0xff,0xff,0xff,0xc7,0xbb,0xbd,0xbd,0xbf,0xcb,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xc7,0xc8,0xc8,0xc8,0xc8,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc8,0xb1,0xb1,0xb2,0xdb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc7,0xbb,0xbc,0xbd,0xbf,0xcb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3,0xc7,0xc8,0xc8,0xd8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xe2,0xd5,0xeb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc7,0xbb,0xbc,0xbd,0xbf,0xcb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xe2,0xeb,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcc,0xbc,0xbd,0xbd,0xbf,0xd0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe6,0xbb,0xbd,0xbd,0xbf,0xe6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xde,0xc4,0xc4,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd5,0x99,0x91,0xbf,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3,0x86,0x85,0x85,0x83,0xc1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xb8,0x86,0x85,0x85,0x83,0x94,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdc,0xc0,0xdb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xb1,0x86,0x85,0x85,0x83,0x8a,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe4,0xb7,0xcc,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0x8f,0x8e,0x8e,0xbb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xb1,0x85,0x85,0x85,0x83,0x8a,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd4,0x7e,0x7d,0x7b,0x91,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0x8f,0x8f,0x8f,0x8e,0x8d,0xd7,0xff,0xff,0xff,0xff,0xff,0xff,0xb1,0x86,0x85,0x85,0x85,0x8a,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0x81,0x7d,0x7b,0x7b,0x7b,0xcd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x8f,0x8f,0x8f,0x8e,0x8e,0x99,0xfa,0xff,0xff,0xff,0xff,0xff,0xb1,0x86,0x85,0x85,0x83,0x8a,0xff,0xff,0xff,0xff,0xff,0xff,0xac,0x7e,0x7d,0x7b,0x7b,0x7b,0xc5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x9d,0x8f,0x8f,0x8f,0x8e,0x8e,0xc3,0xff,0xff,0xff,0xff,0xff,0xb1,0x86,0x85,0x85,0x83,0x8a,0xff,0xff,0xff,0xff,0xff,0xe2,0x7e,0x7d,0x7b,0x7b,0x7b,0x7b,0xea,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd7,0x91,0x8f,0x8f,0x8e,0x8e,0x8f,0xef,0xff,0xff,0xff,0xff,0xb1,0x86,0x85,0x85,0x83,0x89,0xff,0xff,0xff,0xff,0xfe,0x98,0x7e,0x7b,0x7b,0x7b,0x7b,0xa9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xa5,0x8f,0x8f,0x8f,0x8e,0x8d,0xb2,0xff,0xff,0xff,0xff,0xb1,0x86,0x85,0x85,0x83,0x89,0xff,0xff,0xff,0xff,0xcb,0x7e,0x7d,0x7b,0x7b,0x7b,0x7f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe6,0x91,0x8f,0x8f,0x8e,0x8d,0x8d,0xe4,0xff,0xff,0xff,0xb1,0x86,0x85,0x85,0x83,0x8a,0xff,0xff,0xff,0xf6,0x87,0x7e,0x7b,0x7b,0x7b,0x7b,0xc1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xb8,0x8f,0x8f,0x8f,0x8e,0x8d,0xa2,0xfe,0xff,0xff,0xb1,0x87,0x85,0x85,0x83,0x89,0xff,0xff,0xff,0xb4,0x7e,0x7d,0x7b,0x7b,0x7b,0x8d,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xe3,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0x96,0x8f,0x8f,0x8f,0x8e,0x8d,0xd0,0xff,0xff,0xbd,0x87,0x85,0x85,0x83,0x95,0xff,0xff,0xe8,0x81,0x7e,0x7b,0x7b,0x7b,0x7b,0xd1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe2,0xdf,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbd,0x99,0x98,0x9a,0xc5,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xcc,0x91,0x8f,0x8f,0x8e,0x8d,0xa2,0xff,0xff,0xe6,0x89,0x85,0x85,0x83,0xc4,0xff,0xff,0xb7,0x7e,0x7d,0x7b,0x7b,0x7b,0x99,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcb,0x83,0x76,0x76,0x8e,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x9a,0x9a,0x99,0x99,0x98,0xa0,0xd7,0xff,0xff,0xff,0xff,0xff,0xfc,0xa1,0x91,0x8f,0x8f,0x8d,0x96,0xff,0xff,0xff,0xd9,0x9e,0x94,0xbf,0xfc,0xff,0xff,0xaa,0x7e,0x7b,0x7b,0x7b,0x7b,0xe6,0xff,0xff,0xff,0xff,0xff,0xdf,0x91,0x76,0x76,0x76,0x76,0x76,0xb2,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd3,0x9c,0x9a,0x9c,0x99,0x99,0x98,0x98,0xaa,0xe6,0xff,0xff,0xff,0xff,0xe2,0x92,0x8f,0x8f,0x8e,0xb5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcc,0x7d,0x7b,0x7b,0x7a,0xb7,0xff,0xff,0xff,0xff,0xef,0xa6,0x76,0x76,0x76,0x76,0x76,0x76,0x76,0xa0,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb,0x9c,0x9c,0x9c,0x9c,0x9a,0x99,0x98,0x98,0x98,0xbc,0xf3,0xff,0xff,0xff,0xdc,0xa1,0x94,0xb4,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xb7,0x87,0x86,0xb8,0xff,0xff,0xff,0xf8,0xb8,0x7b,0x76,0x76,0x76,0x76,0x76,0x76,0x76,0x75,0xc1,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd0,0x9c,0x9c,0x9c,0x9c,0x9c,0x9a,0x99,0x98,0x98,0x9a,0xcd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd7,0x85,0x76,0x76,0x76,0x76,0x76,0x76,0x76,0x75,0x75,0xa8,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xec,0xb1,0x9c,0x9c,0x9c,0x9c,0x9a,0x9a,0x99,0x98,0x98,0xc5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd5,0x79,0x76,0x76,0x76,0x76,0x76,0x76,0x75,0x75,0x85,0xcd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdc,0xa8,0x9c,0x9c,0x9c,0x9a,0x9a,0x9a,0x98,0x99,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x94,0x76,0x76,0x76,0x76,0x76,0x76,0x75,0x7a,0xbc,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xcf,0xa0,0x9c,0x9c,0x9c,0x9c,0x9a,0x99,0xf2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x8b,0x76,0x76,0x76,0x76,0x75,0x75,0xa5,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xc0,0x9d,0x9c,0x9c,0x9c,0xb8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbc,0x76,0x75,0x75,0x73,0x91,0xe2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb,0xc5,0xb1,0xcb,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc1,0x98,0xa0,0xd0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xe3,0xc3,0xb7,0xb7,0xb7,0xb7,0xb7,0xb5,0xb4,0xb4,0xb4,0xbf,0xd8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xef,0xea,0xea,0xe8,0xe8,0xe8,0xe8,0xe8,0xe8,0xe8,0xeb,0xf3,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xe2,0xa5,0xa5,0xa5,0xa5,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xd0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xe3,0xe3,0xe3,0xe2,0xe3,0xe3,0xe3,0xe3,0xe2,0xe3,0xe2,0xe2,0xe2,0xee,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xb8,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xaa,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe3,0xfe,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xb8,0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa9,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xfe,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xdf,0xa6,0xa6,0xa6,0xa8,0xa8,0xa6,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xd0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf6,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xee,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xe2,0xc3,0xb9,0xb9,0xb9,0xbb,0xbb,0xbb,0xbb,0xbb,0xbb,0xc0,0xd8,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf6,0xea,0xe6,0xe6,0xe6,0xe6,0xe6,0xe6,0xe7,0xe6,0xe7,0xe8,0xf0,0xfe,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xd3,0xc1,0xd8,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xe7,0xea,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xcd,0xae,0xae,0xae,0xb0,0xc9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0xdc,0xdc,0xdc,0xde,0xe6,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xdb,0xb2,0xae,0xae,0xb1,0xb1,0xb1,0xb2,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0xdb,0xdc,0xdc,0xdc,0xdc,0xde,0xea,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe6,0xbb,0xae,0xb0,0xb0,0xb1,0xb1,0xb1,0xb2,0xb5,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe2,0xd9,0xdb,0xdb,0xdb,0xdc,0xdc,0xdc,0xdf,0xf0,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xc4,0xae,0xb0,0xb0,0xb1,0xb1,0xb1,0xb2,0xb4,0xb5,0xd0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xd9,0xd9,0xd9,0xdb,0xdb,0xdc,0xdc,0xdc,0xdc,0xe2,0xf4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xde,0xb0,0xae,0xb0,0xb1,0xb1,0xb1,0xb2,0xb2,0xb4,0xb7,0xd7,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xdc,0xd9,0xdb,0xdb,0xdb,0xdb,0xdc,0xdc,0xdc,0xdc,0xe8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xb0,0xb0,0xb1,0xb1,0xb1,0xb1,0xb2,0xb4,0xb5,0xcc,0xf4,0xff,0xff,0xff,0xeb,0xc7,0xc0,0xd5,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe8,0xd8,0xd8,0xeb,0xff,0xff,0xff,0xfc,0xea,0xdb,0xd9,0xd9,0xdb,0xdb,0xdb,0xdc,0xdc,0xdc,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdc,0xb1,0xb1,0xb1,0xb1,0xb2,0xb2,0xb5,0xc1,0xea,0xff,0xff,0xff,0xff,0xec,0xbc,0xbb,0xbc,0xbf,0xd8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0xd1,0xd1,0xd4,0xd4,0xe8,0xff,0xff,0xff,0xff,0xfa,0xe6,0xd9,0xdb,0xdb,0xdb,0xdb,0xdb,0xdc,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe6,0xb1,0xb1,0xb2,0xb2,0xb2,0xb9,0xdf,0xfe,0xff,0xff,0xff,0xff,0xfe,0xc4,0xbb,0xbb,0xbd,0xbf,0xc5,0xff,0xff,0xff,0xef,0xd4,0xd3,0xe7,0xff,0xff,0xff,0xe0,0xd1,0xd1,0xd4,0xd4,0xd5,0xf7,0xff,0xff,0xff,0xff,0xff,0xf4,0xdf,0xd9,0xd9,0xdb,0xdb,0xdb,0xeb,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xcf,0xb1,0xb2,0xb4,0xd3,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xbb,0xbb,0xbd,0xbf,0xc0,0xcb,0xff,0xff,0xf4,0xc7,0xc8,0xc8,0xcb,0xe7,0xff,0xff,0xe4,0xd1,0xd1,0xd1,0xd3,0xd4,0xe2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xdc,0xdb,0xdb,0xe2,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf4,0xe4,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xbd,0xbb,0xbd,0xbd,0xbf,0xc0,0xe6,0xff,0xff,0xdf,0xc5,0xc8,0xc8,0xcb,0xd4,0xff,0xff,0xf7,0xd0,0xd1,0xd1,0xd1,0xd4,0xd4,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xf3,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd5,0xbb,0xbc,0xbd,0xbf,0xbf,0xcb,0xfe,0xff,0xff,0xd9,0xc5,0xc7,0xc8,0xc9,0xcf,0xff,0xff,0xff,0xe3,0xd1,0xd1,0xd1,0xd3,0xd4,0xd9,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xbb,0xbb,0xbd,0xbd,0xbf,0xc0,0xec,0xff,0xff,0xff,0xd9,0xc5,0xc7,0xc8,0xc9,0xcf,0xff,0xff,0xff,0xfb,0xd4,0xd1,0xd1,0xd1,0xd3,0xd4,0xeb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcb,0xbb,0xbc,0xbd,0xbf,0xbf,0xd3,0xff,0xff,0xff,0xff,0xd9,0xc5,0xc8,0xc8,0xc9,0xcf,0xff,0xff,0xff,0xff,0xeb,0xd1,0xd1,0xd1,0xd3,0xd4,0xd5,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xbb,0xbc,0xbd,0xbd,0xbf,0xc1,0xf6,0xff,0xff,0xff,0xff,0xd9,0xc5,0xc8,0xc8,0xc9,0xcf,0xff,0xff,0xff,0xff,0xfe,0xd7,0xd1,0xd1,0xd1,0xd3,0xd4,0xe6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3,0xbb,0xbd,0xbd,0xbf,0xbf,0xde,0xff,0xff,0xff,0xff,0xff,0xd9,0xc7,0xc8,0xc8,0xc9,0xcf,0xff,0xff,0xff,0xff,0xff,0xf2,0xd1,0xd1,0xd1,0xd1,0xd3,0xd4,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xbb,0xbc,0xbd,0xbd,0xbf,0xc4,0xfb,0xff,0xff,0xff,0xff,0xff,0xd9,0xc7,0xc8,0xc8,0xc9,0xcd,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xd1,0xd1,0xd1,0xd3,0xd4,0xec,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xbc,0xbd,0xbd,0xbf,0xbf,0xe6,0xff,0xff,0xff,0xff,0xff,0xff,0xd9,0xc7,0xc8,0xc8,0xc9,0xcd,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xd1,0xd1,0xd1,0xd1,0xd4,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd3,0xbd,0xbf,0xbf,0xd5,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xd9,0xc7,0xc8,0xc8,0xc9,0xcd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0xd1,0xd1,0xd1,0xdb,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe7,0xd9,0xea,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd9,0xc7,0xc8,0xc8,0xc8,0xcd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf4,0xe7,0xea,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xc7,0xc8,0xc8,0xc9,0xd3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xc7,0xc8,0xc8,0xc8,0xe3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0xcd,0xcc,0xde,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd5,0x99,0x91,0xbf,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3,0x86,0x85,0x85,0x83,0xc1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xb8,0x86,0x85,0x85,0x83,0x94,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdc,0xc0,0xdb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xb1,0x86,0x85,0x85,0x83,0x8a,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe4,0xb7,0xcc,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0x8f,0x8e,0x8e,0xbb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xb1,0x85,0x85,0x85,0x83,0x8a,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd4,0x7e,0x7d,0x7b,0x91,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0x8f,0x8f,0x8f,0x8e,0x8d,0xd7,0xff,0xff,0xff,0xff,0xff,0xff,0xb1,0x86,0x85,0x85,0x85,0x8a,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0x81,0x7d,0x7b,0x7b,0x7b,0xcd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x8f,0x8f,0x8f,0x8e,0x8e,0x99,0xfa,0xff,0xff,0xff,0xff,0xff,0xb1,0x86,0x85,0x85,0x83,0x8a,0xff,0xff,0xff,0xff,0xff,0xff,0xac,0x7e,0x7d,0x7b,0x7b,0x7b,0xc5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x9d,0x8f,0x8f,0x8f,0x8e,0x8e,0xc3,0xff,0xff,0xff,0xff,0xff,0xb1,0x86,0x85,0x85,0x83,0x8a,0xff,0xff,0xff,0xff,0xff,0xe2,0x7e,0x7d,0x7b,0x7b,0x7b,0x7b,0xea,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd7,0x91,0x8f,0x8f,0x8e,0x8e,0x8f,0xef,0xff,0xff,0xff,0xff,0xb1,0x86,0x85,0x85,0x83,0x89,0xff,0xff,0xff,0xff,0xfe,0x98,0x7e,0x7b,0x7b,0x7b,0x7b,0xa9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xa5,0x8f,0x8f,0x8f,0x8e,0x8d,0xb2,0xff,0xff,0xff,0xff,0xb1,0x86,0x85,0x85,0x83,0x89,0xff,0xff,0xff,0xff,0xcb,0x7e,0x7d,0x7b,0x7b,0x7b,0x7f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe6,0x91,0x8f,0x8f,0x8e,0x8d,0x8d,0xe4,0xff,0xff,0xff,0xb1,0x86,0x85,0x85,0x83,0x8a,0xff,0xff,0xff,0xf6,0x87,0x7e,0x7b,0x7b,0x7b,0x7b,0xc1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xb8,0x8f,0x8f,0x8f,0x8e,0x8d,0xa2,0xfe,0xff,0xff,0xb1,0x87,0x85,0x85,0x83,0x89,0xff,0xff,0xff,0xb4,0x7e,0x7d,0x7b,0x7b,0x7b,0x8d,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xe3,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0x96,0x8f,0x8f,0x8f,0x8e,0x8d,0xd0,0xff,0xff,0xbd,0x87,0x85,0x85,0x83,0x95,0xff,0xff,0xe8,0x81,0x7e,0x7b,0x7b,0x7b,0x7b,0xd1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe2,0xdf,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbd,0x99,0x98,0x9a,0xc5,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xcc,0x91,0x8f,0x8f,0x8e,0x8d,0xa2,0xff,0xff,0xe6,0x89,0x85,0x85,0x83,0xc4,0xff,0xff,0xb7,0x7e,0x7d,0x7b,0x7b,0x7b,0x99,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcb,0x83,0x76,0x76,0x8e,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x9a,0x9a,0x99,0x99,0x98,0xa0,0xd7,0xff,0xff,0xff,0xff,0xff,0xfc,0xa1,0x91,0x8f,0x8f,0x8d,0x96,0xff,0xff,0xff,0xd9,0x9e,0x94,0xbf,0xfc,0xff,0xff,0xaa,0x7e,0x7b,0x7b,0x7b,0x7b,0xe6,0xff,0xff,0xff,0xff,0xff,0xdf,0x91,0x76,0x76,0x76,0x76,0x76,0xb2,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd3,0x9c,0x9a,0x9c,0x99,0x99,0x98,0x98,0xaa,0xe6,0xff,0xff,0xff,0xff,0xe2,0x92,0x8f,0x8f,0x8e,0xb5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcc,0x7d,0x7b,0x7b,0x7a,0xb7,0xff,0xff,0xff,0xff,0xef,0xa6,0x76,0x76,0x76,0x76,0x76,0x76,0x76,0xa0,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb,0x9c,0x9c,0x9c,0x9c,0x9a,0x99,0x98,0x98,0x98,0xbc,0xf3,0xff,0xff,0xff,0xdc,0xa1,0x94,0xb4,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xb7,0x87,0x86,0xb8,0xff,0xff,0xff,0xf8,0xb8,0x7b,0x76,0x76,0x76,0x76,0x76,0x76,0x76,0x75,0xc1,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd0,0x9c,0x9c,0x9c,0x9c,0x9c,0x9a,0x99,0x98,0x98,0x9a,0xcd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd7,0x85,0x76,0x76,0x76,0x76,0x76,0x76,0x76,0x75,0x75,0xa8,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xec,0xb1,0x9c,0x9c,0x9c,0x9c,0x9a,0x9a,0x99,0x98,0x98,0xc5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd5,0x79,0x76,0x76,0x76,0x76,0x76,0x76,0x75,0x75,0x85,0xcd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdc,0xa8,0x9c,0x9c,0x9c,0x9a,0x9a,0x9a,0x98,0x99,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x94,0x76,0x76,0x76,0x76,0x76,0x76,0x75,0x7a,0xbc,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xcf,0xa0,0x9c,0x9c,0x9c,0x9c,0x9a,0x99,0xf2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x8b,0x76,0x76,0x76,0x76,0x75,0x75,0xa5,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xc0,0x9d,0x9c,0x9c,0x9c,0xb8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbc,0x76,0x75,0x75,0x73,0x91,0xe2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb,0xc5,0xb1,0xcb,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc1,0x98,0xa0,0xd0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xe3,0xc3,0xb7,0xb7,0xb7,0xb7,0xb7,0xb5,0xb4,0xb4,0xb4,0xbf,0xd8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xef,0xea,0xea,0xe8,0xe8,0xe8,0xe8,0xe8,0xe8,0xe8,0xeb,0xf3,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xe2,0xa5,0xa5,0xa5,0xa5,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xd0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xe3,0xe3,0xe3,0xe2,0xe3,0xe3,0xe3,0xe3,0xe2,0xe3,0xe2,0xe2,0xe2,0xee,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xb8,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xaa,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe3,0xfe,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xb8,0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa9,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xfe,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xdf,0xa6,0xa6,0xa6,0xa8,0xa8,0xa6,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xd0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf6,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xee,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xe2,0xc3,0xb9,0xb9,0xb9,0xbb,0xbb,0xbb,0xbb,0xbb,0xbb,0xc0,0xd8,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf6,0xea,0xe6,0xe6,0xe6,0xe6,0xe6,0xe6,0xe7,0xe6,0xe7,0xe8,0xf0,0xfe,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xd3,0xc1,0xd8,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xe7,0xea,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xcd,0xae,0xae,0xae,0xb0,0xc9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0xdc,0xdc,0xdc,0xde,0xe6,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xdb,0xb2,0xae,0xae,0xb1,0xb1,0xb1,0xb2,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0xdb,0xdc,0xdc,0xdc,0xdc,0xde,0xea,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe6,0xbb,0xae,0xb0,0xb0,0xb1,0xb1,0xb1,0xb2,0xb5,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe2,0xd9,0xdb,0xdb,0xdb,0xdc,0xdc,0xdc,0xdf,0xf0,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xc4,0xae,0xb0,0xb0,0xb1,0xb1,0xb1,0xb2,0xb4,0xb5,0xd0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xd9,0xd9,0xd9,0xdb,0xdb,0xdc,0xdc,0xdc,0xdc,0xe2,0xf4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xde,0xb0,0xae,0xb0,0xb1,0xb1,0xb1,0xb2,0xb2,0xb4,0xb7,0xd7,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xdc,0xd9,0xdb,0xdb,0xdb,0xdb,0xdc,0xdc,0xdc,0xdc,0xe8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xb0,0xb0,0xb1,0xb1,0xb1,0xb1,0xb2,0xb4,0xb5,0xcc,0xf4,0xff,0xff,0xff,0xeb,0xc7,0xc0,0xd5,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe8,0xd8,0xd8,0xeb,0xff,0xff,0xff,0xfc,0xea,0xdb,0xd9,0xd9,0xdb,0xdb,0xdb,0xdc,0xdc,0xdc,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdc,0xb1,0xb1,0xb1,0xb1,0xb2,0xb2,0xb5,0xc1,0xea,0xff,0xff,0xff,0xff,0xec,0xbc,0xbb,0xbc,0xbf,0xd8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0xd1,0xd1,0xd4,0xd4,0xe8,0xff,0xff,0xff,0xff,0xfa,0xe6,0xd9,0xdb,0xdb,0xdb,0xdb,0xdb,0xdc,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe6,0xb1,0xb1,0xb2,0xb2,0xb2,0xb9,0xdf,0xfe,0xff,0xff,0xff,0xff,0xfe,0xc4,0xbb,0xbb,0xbd,0xbf,0xc5,0xff,0xff,0xff,0xef,0xd4,0xd3,0xe7,0xff,0xff,0xff,0xe0,0xd1,0xd1,0xd4,0xd4,0xd5,0xf7,0xff,0xff,0xff,0xff,0xff,0xf4,0xdf,0xd9,0xd9,0xdb,0xdb,0xdb,0xeb,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xcf,0xb1,0xb2,0xb4,0xd3,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xbb,0xbb,0xbd,0xbf,0xc0,0xcb,0xff,0xff,0xf4,0xc7,0xc8,0xc8,0xcb,0xe7,0xff,0xff,0xe4,0xd1,0xd1,0xd1,0xd3,0xd4,0xe2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xdc,0xdb,0xdb,0xe2,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf4,0xe4,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xbd,0xbb,0xbd,0xbd,0xbf,0xc0,0xe6,0xff,0xff,0xdf,0xc5,0xc8,0xc8,0xcb,0xd4,0xff,0xff,0xf7,0xd0,0xd1,0xd1,0xd1,0xd4,0xd4,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xf3,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd5,0xbb,0xbc,0xbd,0xbf,0xbf,0xcb,0xfe,0xff,0xff,0xd9,0xc5,0xc7,0xc8,0xc9,0xcf,0xff,0xff,0xff,0xe3,0xd1,0xd1,0xd1,0xd3,0xd4,0xd9,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xbb,0xbb,0xbd,0xbd,0xbf,0xc0,0xec,0xff,0xff,0xff,0xd9,0xc5,0xc7,0xc8,0xc9,0xcf,0xff,0xff,0xff,0xfb,0xd4,0xd1,0xd1,0xd1,0xd3,0xd4,0xeb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcb,0xbb,0xbc,0xbd,0xbf,0xbf,0xd3,0xff,0xff,0xff,0xff,0xd9,0xc5,0xc8,0xc8,0xc9,0xcf,0xff,0xff,0xff,0xff,0xeb,0xd1,0xd1,0xd1,0xd3,0xd4,0xd5,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xbb,0xbc,0xbd,0xbd,0xbf,0xc1,0xf6,0xff,0xff,0xff,0xff,0xd9,0xc5,0xc8,0xc8,0xc9,0xcf,0xff,0xff,0xff,0xff,0xfe,0xd7,0xd1,0xd1,0xd1,0xd3,0xd4,0xe6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3,0xbb,0xbd,0xbd,0xbf,0xbf,0xde,0xff,0xff,0xff,0xff,0xff,0xd9,0xc7,0xc8,0xc8,0xc9,0xcf,0xff,0xff,0xff,0xff,0xff,0xf2,0xd1,0xd1,0xd1,0xd1,0xd3,0xd4,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xbb,0xbc,0xbd,0xbd,0xbf,0xc4,0xfb,0xff,0xff,0xff,0xff,0xff,0xd9,0xc7,0xc8,0xc8,0xc9,0xcd,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xd1,0xd1,0xd1,0xd3,0xd4,0xec,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xbc,0xbd,0xbd,0xbf,0xbf,0xe6,0xff,0xff,0xff,0xff,0xff,0xff,0xd9,0xc7,0xc8,0xc8,0xc9,0xcd,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xd1,0xd1,0xd1,0xd1,0xd4,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd3,0xbd,0xbf,0xbf,0xd5,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xd9,0xc7,0xc8,0xc8,0xc9,0xcd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0xd1,0xd1,0xd1,0xdb,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe7,0xd9,0xea,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd9,0xc7,0xc8,0xc8,0xc8,0xcd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf4,0xe7,0xea,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xc7,0xc8,0xc8,0xc9,0xd3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xc7,0xc8,0xc8,0xc8,0xe3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0xcd,0xcc,0xde,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +}; + +const unsigned char gGearPict[kGearFrames*kGearWidth*kGearHeight] = { + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x89,0x89,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe4,0xf6,0xff,0xff,0xff,0xcb,0x76,0x76,0xc9,0xff,0xff,0xff,0xfc,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc1,0x7b,0x8a,0xf6,0xff,0xff,0xc7,0x76,0x76,0xc5,0xff,0xff,0xfe,0xe6,0xe2,0xf2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xb4,0x7b,0x7b,0xb5,0xff,0xff,0xc7,0x76,0x76,0xc5,0xff,0xff,0xf0,0xe2,0xe2,0xee,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0x81,0x7b,0x7e,0xec,0xff,0xc7,0x76,0x76,0xc5,0xff,0xfc,0xe4,0xe2,0xe2,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbb,0x7b,0x7b,0xa1,0xff,0xc7,0x76,0x76,0xc4,0xff,0xf2,0xe2,0xe2,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xfe,0xc3,0xbb,0xee,0xff,0xff,0xfa,0x8b,0x7b,0x7b,0xe2,0xdb,0x76,0x76,0xd9,0xf3,0xe4,0xe2,0xe4,0xfe,0xff,0xff,0xfa,0xec,0xee,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xe4,0x85,0x85,0x85,0xbf,0xfa,0xff,0xd1,0x7e,0x7b,0xd7,0xff,0xdc,0xdb,0xff,0xf4,0xe2,0xe2,0xf4,0xff,0xfe,0xee,0xde,0xdc,0xdb,0xf7,0xff,0xff,0xff, + 0xff,0xff,0xff,0xf8,0x94,0x85,0x85,0x83,0x8e,0xd3,0xff,0xd5,0xd0,0xff,0xff,0xff,0xff,0xff,0xff,0xf4,0xf4,0xff,0xf3,0xe0,0xdc,0xdb,0xdb,0xde,0xfc,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xf8,0xbd,0x89,0x85,0x85,0x83,0xd7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf4,0xdc,0xdc,0xdb,0xdb,0xea,0xfc,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xec,0xa9,0x87,0x85,0xd0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xdb,0xd9,0xe4,0xf8,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe4,0xd9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xf4,0xd1,0xd1,0xd1,0xd1,0xd1,0xde,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xef,0xee,0xee,0xee,0xee,0xfb,0xff,0xff, + 0xff,0xff,0xa0,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0xdb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xd4,0xd4,0xd4,0xd3,0xd3,0xd3,0xd9,0xff,0xff, + 0xff,0xff,0xa1,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0xdc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd8,0xff,0xff, + 0xff,0xff,0xf4,0xd3,0xd3,0xd3,0xd3,0xd4,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xec,0xec,0xec,0xec,0xec,0xfb,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe8,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xf4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xb7,0x98,0x99,0xd8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0xc8,0xc9,0xdb,0xf8,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xf8,0xc5,0x9a,0x99,0x9c,0x9c,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xec,0xc5,0xc8,0xc8,0xcb,0xe2,0xfc,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xf8,0xa4,0x98,0x9a,0x9c,0xa5,0xde,0xff,0xe2,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xeb,0xff,0xeb,0xcb,0xc8,0xc8,0xc8,0xcf,0xfc,0xff,0xff,0xff, + 0xff,0xff,0xff,0xe8,0x9a,0x9c,0x9d,0xcc,0xfb,0xff,0xdf,0xa4,0xa6,0xe4,0xff,0xeb,0xec,0xff,0xea,0xbc,0xbf,0xea,0xff,0xfc,0xe0,0xc8,0xc8,0xc8,0xf3,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xcf,0xc8,0xf2,0xff,0xff,0xfb,0xad,0xa5,0xa8,0xec,0xe8,0xb0,0xb2,0xee,0xef,0xbb,0xbd,0xc5,0xfc,0xff,0xff,0xf7,0xdf,0xe4,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcd,0xa5,0xa6,0xc3,0xff,0xde,0xb0,0xb2,0xe0,0xff,0xcf,0xbb,0xbd,0xde,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xa5,0xa5,0xa9,0xf3,0xff,0xde,0xb0,0xb2,0xe0,0xff,0xf6,0xbc,0xbd,0xc0,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc9,0xa5,0xa6,0xd0,0xff,0xff,0xde,0xb0,0xb1,0xe0,0xff,0xff,0xd8,0xbc,0xbd,0xd9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd3,0xa6,0xb1,0xf8,0xff,0xff,0xde,0xb0,0xb1,0xe0,0xff,0xff,0xfa,0xc3,0xbd,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0xf8,0xff,0xff,0xff,0xe0,0xb0,0xb1,0xe3,0xff,0xff,0xff,0xfa,0xf0,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xbb,0xbc,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x89,0x89,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe4,0xf6,0xff,0xff,0xff,0xcb,0x76,0x75,0xc9,0xff,0xff,0xff,0xfc,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7b,0x8a,0xf6,0xff,0xff,0xc7,0x76,0x76,0xc5,0xff,0xff,0xfe,0xe6,0xe2,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xb4,0x7b,0x7b,0xb5,0xff,0xff,0xc7,0x76,0x76,0xc4,0xff,0xff,0xf0,0xe2,0xe2,0xee,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0x7f,0x7b,0x7e,0xec,0xff,0xc7,0x76,0x75,0xc3,0xff,0xfc,0xe3,0xe2,0xe2,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbb,0x7d,0x7b,0xa1,0xff,0xc7,0x76,0x75,0xc3,0xff,0xf0,0xe2,0xe2,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xfe,0xc3,0xbb,0xee,0xff,0xff,0xfa,0x8b,0x7b,0x7b,0xe2,0xdb,0x76,0x73,0xdb,0xf4,0xe7,0xe2,0xe4,0xfe,0xff,0xff,0xfa,0xec,0xee,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xe4,0x85,0x85,0x85,0xbd,0xfa,0xff,0xd1,0x7e,0x7b,0xd5,0xff,0xdc,0xdb,0xff,0xf6,0xe3,0xe2,0xf4,0xff,0xfe,0xee,0xde,0xdc,0xdb,0xf7,0xff,0xff,0xff, + 0xff,0xff,0xff,0xf8,0x94,0x85,0x85,0x83,0x8e,0xd3,0xff,0xd5,0xd0,0xff,0xff,0xff,0xff,0xff,0xff,0xf4,0xf4,0xff,0xf3,0xe0,0xdc,0xdb,0xdb,0xde,0xfc,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xf8,0xbd,0x89,0x85,0x85,0x83,0xd7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf4,0xdc,0xdc,0xdb,0xdb,0xea,0xfc,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xec,0xa9,0x86,0x85,0xd0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xdb,0xd9,0xe4,0xf8,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe4,0xd9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xf4,0xd1,0xd1,0xd1,0xd1,0xd1,0xde,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xef,0xee,0xee,0xee,0xee,0xfb,0xff,0xff, + 0xff,0xff,0xa0,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0xdb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xd4,0xd4,0xd4,0xd3,0xd3,0xd3,0xd9,0xff,0xff, + 0xff,0xff,0xa1,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0xdc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd8,0xff,0xff, + 0xff,0xff,0xf4,0xd3,0xd3,0xd3,0xd3,0xd4,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xec,0xec,0xec,0xec,0xec,0xfb,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe8,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xf4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xb8,0x98,0x99,0xd8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0xc8,0xcb,0xdb,0xf8,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xf8,0xc5,0x9a,0x99,0x9c,0x9c,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xec,0xc7,0xc8,0xc8,0xcc,0xe3,0xfc,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xf8,0xa4,0x99,0x9a,0x9c,0xa5,0xde,0xff,0xe3,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xeb,0xff,0xeb,0xcb,0xc8,0xc8,0xc8,0xcf,0xfc,0xff,0xff,0xff, + 0xff,0xff,0xff,0xe8,0x9a,0x9c,0x9d,0xcc,0xfb,0xff,0xdf,0xa4,0xa6,0xe4,0xff,0xec,0xec,0xff,0xea,0xbd,0xbf,0xea,0xff,0xfc,0xe2,0xc8,0xc8,0xc8,0xf3,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xcf,0xc8,0xf2,0xff,0xff,0xfb,0xad,0xa5,0xa8,0xec,0xe8,0xb0,0xb4,0xee,0xef,0xbb,0xbd,0xc7,0xfc,0xff,0xff,0xf7,0xe0,0xe4,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcd,0xa5,0xa6,0xc3,0xff,0xde,0xb1,0xb4,0xe0,0xff,0xcf,0xbd,0xbf,0xde,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xa5,0xa6,0xaa,0xf3,0xff,0xde,0xb0,0xb2,0xe0,0xff,0xf6,0xbd,0xbd,0xc0,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc9,0xa5,0xa6,0xd0,0xff,0xff,0xde,0xb1,0xb2,0xe0,0xff,0xff,0xd8,0xbc,0xbf,0xd9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd4,0xa6,0xb1,0xf8,0xff,0xff,0xde,0xb1,0xb2,0xe0,0xff,0xff,0xfa,0xc3,0xbd,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0xf8,0xff,0xff,0xff,0xe0,0xb1,0xb2,0xe3,0xff,0xff,0xff,0xfa,0xf0,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xbb,0xbc,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0x8f,0x8e,0xf2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xf6,0xff,0xff,0xff,0xcd,0x7d,0x7b,0xcc,0xff,0xff,0xff,0xf6,0xe4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc5,0x85,0x92,0xf6,0xff,0xff,0xcb,0x7d,0x7b,0xc8,0xff,0xff,0xf6,0x86,0x76,0xbd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xb8,0x85,0x83,0xb9,0xff,0xff,0xcb,0x7d,0x7b,0xc8,0xff,0xff,0xb2,0x76,0x76,0xad,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0x89,0x85,0x86,0xee,0xff,0xcb,0x7d,0x7b,0xc8,0xff,0xec,0x79,0x76,0x79,0xec,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x85,0x85,0xa6,0xff,0xcb,0x7d,0x7b,0xc8,0xff,0x9e,0x76,0x76,0xb5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xfe,0xc7,0xc0,0xef,0xff,0xff,0xfa,0x94,0x85,0x82,0xe3,0xdc,0x7e,0x7b,0xdc,0xe0,0x76,0x76,0x83,0xf8,0xff,0xff,0xfb,0xf0,0xf2,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xe6,0x8f,0x8e,0x8f,0xc4,0xfa,0xff,0xd5,0x86,0x85,0xd8,0xff,0xde,0xde,0xff,0xd5,0x76,0x75,0xcd,0xff,0xfc,0xf6,0xe3,0xe2,0xe2,0xf8,0xff,0xff,0xff, + 0xff,0xff,0xff,0xf8,0x9c,0x8f,0x8f,0x8e,0x98,0xd7,0xff,0xd8,0xd3,0xff,0xff,0xff,0xff,0xff,0xff,0xcd,0xd0,0xff,0xec,0xe4,0xe4,0xe2,0xe2,0xe4,0xfe,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xf8,0xc3,0x92,0x8f,0x8e,0x8d,0xdb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb,0xeb,0xe3,0xe2,0xe3,0xef,0xfe,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xee,0xb0,0x8f,0x8e,0xd4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf4,0xe2,0xe2,0xe8,0xfa,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xdc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf6,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xf6,0xd5,0xd5,0xd5,0xd4,0xd4,0xe2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf6,0xf2,0xf2,0xf2,0xf2,0xf2,0xfc,0xff,0xff, + 0xff,0xff,0xa9,0x98,0x98,0x98,0x98,0x98,0x98,0xde,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf4,0xdc,0xdc,0xdc,0xdc,0xdc,0xdc,0xe2,0xff,0xff, + 0xff,0xff,0xaa,0x9c,0x9c,0x9a,0x9c,0x9c,0x9c,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf4,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xe0,0xff,0xff, + 0xff,0xff,0xf6,0xd7,0xd7,0xd7,0xd7,0xd8,0xe3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf4,0xf0,0xf0,0xf0,0xf0,0xf0,0xfb,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb,0xe2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xbf,0xa2,0xa5,0xde,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0xd4,0xd4,0xe3,0xfa,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xfa,0xcc,0xa5,0xa5,0xa5,0xa6,0xe3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xd1,0xd1,0xd3,0xd4,0xe8,0xfc,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xfa,0xad,0xa4,0xa5,0xa6,0xb1,0xe2,0xff,0xe6,0xe2,0xff,0xff,0xff,0xff,0xff,0xff,0xeb,0xef,0xff,0xee,0xd5,0xd1,0xd1,0xd4,0xd8,0xfc,0xff,0xff,0xff, + 0xff,0xff,0xff,0xeb,0xa5,0xa5,0xa8,0xd1,0xfb,0xff,0xe3,0xae,0xb1,0xe8,0xff,0xee,0xef,0xff,0xee,0xc8,0xc9,0xee,0xff,0xfc,0xe7,0xd1,0xd1,0xd3,0xf6,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xd4,0xcf,0xf3,0xff,0xff,0xfb,0xb7,0xb1,0xb2,0xef,0xec,0xbb,0xbf,0xf0,0xf2,0xc5,0xc8,0xd0,0xfc,0xff,0xff,0xf8,0xe6,0xe8,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd4,0xb0,0xb1,0xcb,0xff,0xe2,0xbb,0xbf,0xe6,0xff,0xd7,0xc8,0xc8,0xe4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xb1,0xb1,0xb4,0xf4,0xff,0xe3,0xbb,0xbf,0xe6,0xff,0xf7,0xc7,0xc8,0xcb,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd0,0xb0,0xb1,0xd5,0xff,0xff,0xe3,0xbc,0xbf,0xe6,0xff,0xff,0xdf,0xc8,0xc9,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd8,0xb1,0xbc,0xfa,0xff,0xff,0xe3,0xbc,0xbf,0xe6,0xff,0xff,0xfb,0xcd,0xc8,0xe6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xf8,0xff,0xff,0xff,0xe4,0xbc,0xbf,0xe7,0xff,0xff,0xff,0xfa,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xc5,0xc5,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0x8f,0x8e,0xf2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xf6,0xff,0xff,0xff,0xcd,0x7d,0x7b,0xcc,0xff,0xff,0xff,0xf6,0xe4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc5,0x85,0x92,0xf6,0xff,0xff,0xcb,0x7d,0x7b,0xc8,0xff,0xff,0xf6,0x86,0x76,0xbd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xb8,0x85,0x83,0xb9,0xff,0xff,0xcb,0x7d,0x7b,0xc8,0xff,0xff,0xb2,0x76,0x76,0xad,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0x89,0x85,0x86,0xee,0xff,0xcb,0x7d,0x7b,0xc8,0xff,0xec,0x79,0x76,0x79,0xec,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x85,0x85,0xa6,0xff,0xcb,0x7d,0x7b,0xc8,0xff,0x9e,0x76,0x76,0xb5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xfe,0xc7,0xc0,0xef,0xff,0xff,0xfa,0x94,0x85,0x82,0xe3,0xdc,0x7e,0x7b,0xdc,0xe0,0x76,0x76,0x83,0xf8,0xff,0xff,0xfb,0xf0,0xf2,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xe6,0x8f,0x8e,0x8f,0xc4,0xfa,0xff,0xd5,0x86,0x85,0xd8,0xff,0xde,0xde,0xff,0xd5,0x76,0x75,0xcd,0xff,0xfc,0xf6,0xe3,0xe2,0xe2,0xf8,0xff,0xff,0xff, + 0xff,0xff,0xff,0xf8,0x9c,0x8f,0x8f,0x8e,0x98,0xd7,0xff,0xd8,0xd3,0xff,0xff,0xff,0xff,0xff,0xff,0xcd,0xd0,0xff,0xec,0xe4,0xe4,0xe2,0xe2,0xe4,0xfe,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xf8,0xc3,0x92,0x8f,0x8e,0x8d,0xdb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb,0xeb,0xe3,0xe2,0xe3,0xef,0xfe,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xee,0xb0,0x8f,0x8e,0xd4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf4,0xe2,0xe2,0xe8,0xfa,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xdc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf6,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xf6,0xd5,0xd5,0xd5,0xd4,0xd4,0xe2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf6,0xf2,0xf2,0xf2,0xf2,0xf2,0xfc,0xff,0xff, + 0xff,0xff,0xa9,0x98,0x98,0x98,0x98,0x98,0x98,0xde,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf4,0xdc,0xdc,0xdc,0xdc,0xdc,0xdc,0xe2,0xff,0xff, + 0xff,0xff,0xaa,0x9c,0x9c,0x9a,0x9c,0x9c,0x9c,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf4,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xe0,0xff,0xff, + 0xff,0xff,0xf6,0xd7,0xd7,0xd7,0xd7,0xd8,0xe3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf4,0xf0,0xf0,0xf0,0xf0,0xf0,0xfb,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb,0xe2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xbf,0xa2,0xa5,0xde,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xee,0xd4,0xd4,0xe3,0xfa,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xfa,0xcc,0xa5,0xa5,0xa5,0xa6,0xe3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xd1,0xd1,0xd3,0xd4,0xe8,0xfc,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xfa,0xad,0xa4,0xa5,0xa6,0xb1,0xe2,0xff,0xe6,0xe2,0xff,0xff,0xff,0xff,0xff,0xff,0xeb,0xef,0xff,0xee,0xd5,0xd1,0xd1,0xd4,0xd8,0xfc,0xff,0xff,0xff, + 0xff,0xff,0xff,0xeb,0xa5,0xa5,0xa8,0xd1,0xfb,0xff,0xe3,0xae,0xb1,0xe8,0xff,0xee,0xef,0xff,0xee,0xc8,0xc9,0xee,0xff,0xfc,0xe7,0xd1,0xd1,0xd3,0xf6,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xd4,0xcf,0xf3,0xff,0xff,0xfb,0xb7,0xb1,0xb2,0xef,0xec,0xbb,0xbf,0xf0,0xf2,0xc5,0xc8,0xd0,0xfc,0xff,0xff,0xf8,0xe6,0xe8,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd4,0xb0,0xb1,0xcb,0xff,0xe2,0xbb,0xbf,0xe6,0xff,0xd7,0xc8,0xc8,0xe4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xb1,0xb1,0xb4,0xf4,0xff,0xe3,0xbb,0xbf,0xe6,0xff,0xf7,0xc7,0xc8,0xcb,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd0,0xb0,0xb1,0xd5,0xff,0xff,0xe3,0xbc,0xbf,0xe6,0xff,0xff,0xdf,0xc8,0xc9,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd8,0xb1,0xbc,0xfa,0xff,0xff,0xe3,0xbc,0xbf,0xe6,0xff,0xff,0xfb,0xcd,0xc8,0xe6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xf8,0xff,0xff,0xff,0xe4,0xbc,0xbf,0xe7,0xff,0xff,0xff,0xfa,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xc5,0xc5,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0x9c,0x92,0xee,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0xf4,0xff,0xff,0xff,0xd8,0x85,0x85,0xc8,0xff,0xff,0xff,0xf7,0xe6,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd0,0x8f,0x99,0xf3,0xff,0xff,0xd5,0x85,0x85,0xc5,0xff,0xff,0xfa,0x92,0x7b,0xb7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc4,0x8f,0x8e,0xb7,0xff,0xff,0xd5,0x85,0x85,0xc4,0xff,0xff,0xc1,0x7d,0x7b,0xaa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0x96,0x8e,0x8f,0xea,0xff,0xd5,0x86,0x85,0xc4,0xff,0xf2,0x83,0x7b,0x7e,0xe6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcc,0x8f,0x8e,0xa8,0xff,0xd5,0x86,0x85,0xc4,0xff,0xac,0x7d,0x7b,0xb1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xd1,0xc4,0xee,0xff,0xff,0xfc,0xa1,0x8e,0x8d,0xde,0xe7,0x86,0x85,0xd4,0xeb,0x7e,0x7b,0x83,0xf6,0xff,0xff,0xef,0xb5,0xb8,0xfc,0xff,0xff,0xff, + 0xff,0xff,0xff,0xf0,0x9c,0x99,0x99,0xc5,0xf8,0xff,0xdf,0x91,0x8f,0xd4,0xff,0xe3,0xdc,0xff,0xe2,0x7d,0x7b,0xc8,0xff,0xfb,0xbd,0x7d,0x76,0x76,0xd8,0xff,0xff,0xff, + 0xff,0xff,0xff,0xfc,0xaa,0x9c,0x9a,0x98,0x9e,0xd7,0xff,0xde,0xd0,0xfe,0xff,0xff,0xff,0xff,0xff,0xd3,0xcd,0xff,0xd5,0x86,0x76,0x76,0x76,0x82,0xf2,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xfb,0xcb,0x9d,0x9c,0x9a,0x98,0xd8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdc,0x76,0x76,0x76,0x75,0xa9,0xf4,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xbc,0x9c,0x9c,0xd1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd1,0x76,0x75,0x94,0xe4,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0xde,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd3,0xd9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xfa,0xdb,0xd9,0xd9,0xd9,0xd9,0xe2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xef,0xf8,0xf6,0xf4,0xf4,0xfc,0xff,0xff, + 0xff,0xff,0xb8,0xa5,0xa5,0xa5,0xa4,0xa4,0xa4,0xde,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xe3,0xe3,0xe2,0xe2,0xe2,0xe2,0xe6,0xff,0xff, + 0xff,0xff,0xb9,0xa6,0xa6,0xa6,0xa6,0xa6,0xa8,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe4,0xff,0xff, + 0xff,0xff,0xf8,0xdc,0xdc,0xdc,0xdc,0xdc,0xe4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xf2,0xf3,0xf3,0xf3,0xf3,0xfb,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xe6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf6,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xf6,0xcb,0xae,0xb1,0xdc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xdc,0xdc,0xe7,0xfa,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xfc,0xd8,0xb1,0xb0,0xb1,0xb2,0xe3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf6,0xd9,0xdb,0xdc,0xdc,0xeb,0xfc,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xfc,0xbc,0xb1,0xb1,0xb1,0xb9,0xe3,0xff,0xeb,0xe3,0xfe,0xff,0xff,0xff,0xff,0xff,0xf0,0xf0,0xff,0xf3,0xde,0xdb,0xdb,0xdc,0xe0,0xfc,0xff,0xff,0xff, + 0xff,0xff,0xff,0xf2,0xb1,0xb1,0xb4,0xd5,0xfb,0xff,0xeb,0xbb,0xbd,0xe7,0xff,0xf3,0xf2,0xff,0xf4,0xd1,0xd4,0xee,0xff,0xfe,0xee,0xdb,0xdb,0xdb,0xf4,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xdc,0xd4,0xf3,0xff,0xff,0xfe,0xc4,0xbc,0xbf,0xee,0xf4,0xc5,0xc8,0xef,0xf7,0xd1,0xd1,0xd7,0xfc,0xff,0xff,0xfb,0xeb,0xec,0xfe,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xbb,0xbd,0xcf,0xff,0xea,0xc5,0xc8,0xe7,0xff,0xe0,0xd1,0xd1,0xe6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xbd,0xbd,0xc0,0xf3,0xff,0xeb,0xc7,0xc8,0xe7,0xff,0xfa,0xd3,0xd1,0xd4,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdb,0xbd,0xbd,0xd7,0xff,0xff,0xeb,0xc7,0xc8,0xe7,0xff,0xff,0xe8,0xd1,0xd3,0xe3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3,0xbd,0xc5,0xf8,0xff,0xff,0xeb,0xc7,0xc8,0xe7,0xff,0xff,0xfc,0xd8,0xd1,0xe8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xfa,0xff,0xff,0xff,0xec,0xc7,0xc8,0xe7,0xff,0xff,0xff,0xfc,0xf4,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xd0,0xcf,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0x9c,0x92,0xee,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0xf4,0xff,0xff,0xff,0xd8,0x85,0x85,0xc8,0xff,0xff,0xff,0xf7,0xe6,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd0,0x8f,0x99,0xf3,0xff,0xff,0xd5,0x85,0x85,0xc5,0xff,0xff,0xfa,0x92,0x7b,0xb7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc4,0x8f,0x8e,0xb7,0xff,0xff,0xd5,0x85,0x85,0xc4,0xff,0xff,0xc1,0x7d,0x7b,0xaa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0x96,0x8e,0x8f,0xea,0xff,0xd5,0x86,0x85,0xc4,0xff,0xf2,0x83,0x7b,0x7e,0xe6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcc,0x8f,0x8e,0xa8,0xff,0xd5,0x86,0x85,0xc4,0xff,0xac,0x7d,0x7b,0xb1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xd1,0xc4,0xee,0xff,0xff,0xfc,0xa1,0x8e,0x8d,0xde,0xe7,0x86,0x85,0xd4,0xeb,0x7e,0x7b,0x83,0xf6,0xff,0xff,0xef,0xb5,0xb8,0xfc,0xff,0xff,0xff, + 0xff,0xff,0xff,0xf0,0x9c,0x99,0x99,0xc5,0xf8,0xff,0xdf,0x91,0x8f,0xd4,0xff,0xe3,0xdc,0xff,0xe2,0x7d,0x7b,0xc8,0xff,0xfb,0xbd,0x7d,0x76,0x76,0xd8,0xff,0xff,0xff, + 0xff,0xff,0xff,0xfc,0xaa,0x9c,0x9a,0x98,0x9e,0xd7,0xff,0xde,0xd0,0xfe,0xff,0xff,0xff,0xff,0xff,0xd3,0xcd,0xff,0xd5,0x86,0x76,0x76,0x76,0x82,0xf2,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xfb,0xcb,0x9d,0x9c,0x9a,0x98,0xd8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdc,0x76,0x76,0x76,0x75,0xa9,0xf4,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xbc,0x9c,0x9c,0xd1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd1,0x76,0x75,0x94,0xe4,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0xde,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd3,0xd9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xfa,0xdb,0xd9,0xd9,0xd9,0xd9,0xe2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xef,0xf8,0xf6,0xf4,0xf4,0xfc,0xff,0xff, + 0xff,0xff,0xb8,0xa5,0xa5,0xa5,0xa4,0xa4,0xa4,0xde,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xe3,0xe3,0xe2,0xe2,0xe2,0xe2,0xe6,0xff,0xff, + 0xff,0xff,0xb9,0xa6,0xa6,0xa6,0xa6,0xa6,0xa8,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfa,0xe2,0xe2,0xe2,0xe2,0xe2,0xe2,0xe4,0xff,0xff, + 0xff,0xff,0xf8,0xdc,0xdc,0xdc,0xdc,0xdc,0xe4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xf2,0xf3,0xf3,0xf3,0xf3,0xfb,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xe6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf6,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xf6,0xcb,0xae,0xb1,0xdc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xdc,0xdc,0xe7,0xfa,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xfc,0xd8,0xb1,0xb0,0xb1,0xb2,0xe3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf6,0xd9,0xdb,0xdc,0xdc,0xeb,0xfc,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xfc,0xbc,0xb1,0xb1,0xb1,0xb9,0xe3,0xff,0xeb,0xe3,0xfe,0xff,0xff,0xff,0xff,0xff,0xf0,0xf0,0xff,0xf3,0xde,0xdb,0xdb,0xdc,0xe0,0xfc,0xff,0xff,0xff, + 0xff,0xff,0xff,0xf2,0xb1,0xb1,0xb4,0xd5,0xfb,0xff,0xeb,0xbb,0xbd,0xe7,0xff,0xf3,0xf2,0xff,0xf4,0xd1,0xd4,0xee,0xff,0xfe,0xee,0xdb,0xdb,0xdb,0xf4,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xdc,0xd4,0xf3,0xff,0xff,0xfe,0xc4,0xbc,0xbf,0xee,0xf4,0xc5,0xc8,0xef,0xf7,0xd1,0xd1,0xd7,0xfc,0xff,0xff,0xfb,0xeb,0xec,0xfe,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xbb,0xbd,0xcf,0xff,0xea,0xc5,0xc8,0xe7,0xff,0xe0,0xd1,0xd1,0xe6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xbd,0xbd,0xc0,0xf3,0xff,0xeb,0xc7,0xc8,0xe7,0xff,0xfa,0xd3,0xd1,0xd4,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdb,0xbd,0xbd,0xd7,0xff,0xff,0xeb,0xc7,0xc8,0xe7,0xff,0xff,0xe8,0xd1,0xd3,0xe3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3,0xbd,0xc5,0xf8,0xff,0xff,0xeb,0xc7,0xc8,0xe7,0xff,0xff,0xfc,0xd8,0xd1,0xe8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0xfa,0xff,0xff,0xff,0xec,0xc7,0xc8,0xe7,0xff,0xff,0xff,0xfc,0xf4,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xd0,0xcf,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, }; diff --git a/pexpert/pexpert/i386/boot.h b/pexpert/pexpert/i386/boot.h index f911e64bc..b347de0e3 100644 --- a/pexpert/pexpert/i386/boot.h +++ b/pexpert/pexpert/i386/boot.h @@ -121,13 +121,16 @@ typedef struct boot_icon_element boot_icon_element; #define kBootArgsEfiMode32 32 #define kBootArgsEfiMode64 64 +#define kBootArgsFlagRebootOnPanic 1 +#define kBootArgsFlagHiDPI 2 + typedef struct boot_args { uint16_t Revision; /* Revision of boot_args structure */ uint16_t Version; /* Version of boot_args structure */ uint8_t efiMode; /* 32 = 32-bit, 64 = 64-bit */ uint8_t debugMode; /* Bit field with behavior changes */ - uint8_t __reserved1[2]; + uint16_t flags; char CommandLine[BOOT_LINE_LENGTH]; /* Passed in command line */ diff --git a/pexpert/pexpert/i386/protos.h b/pexpert/pexpert/i386/protos.h index b97cad5a9..854f8c42c 100644 --- a/pexpert/pexpert/i386/protos.h +++ b/pexpert/pexpert/i386/protos.h @@ -76,15 +76,6 @@ extern int sprintf(char * str, const char * format, ...); // from osfmk/console/panic_dialog.c extern void panic_ui_initialize(const unsigned char * clut); -//------------------------------------------------------------------------ -// from osfmk/i386/AT386/video_console.c - -extern void vc_progress_initialize( void * desc, - const unsigned char * data, - const unsigned char * clut ); - -extern void vc_display_icon( void * desc, const unsigned char * data ); - /* ------------------------------------------------------------------------ * from osfmk/i386/serial_io.h */ diff --git a/pexpert/pexpert/pe_images.h b/pexpert/pexpert/pe_images.h index 18b73d8d9..4a4cb6d3c 100644 --- a/pexpert/pexpert/pe_images.h +++ b/pexpert/pexpert/pe_images.h @@ -26,25 +26,9 @@ * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ */ +#include #include - -// XXX #warning shared video_console.c -struct vc_progress_element { - unsigned int version; - unsigned int flags; - unsigned int time; - unsigned char count; - unsigned char res[3]; - int width; - int height; - int dx; - int dy; - int transparent; - unsigned int res2[3]; -}; -typedef struct vc_progress_element vc_progress_element; - struct boot_progress_element { unsigned int width; unsigned int height; @@ -54,10 +38,11 @@ struct boot_progress_element { }; typedef struct boot_progress_element boot_progress_element; - -static const unsigned char * default_progress_data = gGearPict; static const unsigned char * default_noroot_data; +static const unsigned char * default_progress_data1x = gGearPict; +static const unsigned char * default_progress_data2x = gGearPict2x; + static vc_progress_element default_progress = { 0, 4|1, 1000 / kGearFPS, kGearFrames, {0, 0, 0}, kGearWidth, kGearHeight, 0, kGearOffset, diff --git a/pexpert/pexpert/pexpert.h b/pexpert/pexpert/pexpert.h index 1f714d32b..b57d59edb 100644 --- a/pexpert/pexpert/pexpert.h +++ b/pexpert/pexpert/pexpert.h @@ -220,17 +220,6 @@ extern int PE_initialize_console( extern void PE_display_icon( unsigned int flags, const char * name ); -#if !CONFIG_EMBEDDED - -extern void -vc_enable_progressmeter(int new_value); -extern void -vc_set_progressmeter(int new_value); -extern int vc_progress_meter_enable; -extern int vc_progress_meter_value; - -#endif /* !CONFIG_EMBEDDED */ - typedef struct PE_state { boolean_t initialized; PE_Video video; -- 2.45.2